预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

BC存储器组织结构(BCMEMORYORGANIZATION) 表-33说明了一个标准ACE总线控制器(BC)的内存映射。注意其中的8个固定存储器位置。 对于每个区域(A和B),都包含堆栈指针、消息计数器、初始堆栈指针和初始消息计数器。在主处 理器开始处理单帧前必须初始化堆栈指针和消息计数器。在帧自动重复模式,在初始化单个帧前主 处理器需设置初始堆栈指针和初始消息计数器。 表33-标准BC存储器组织结构(4KRAM) ADDRESSDESCRIPTION 0000-00FF堆栈A(StackA) 0100堆栈指针A(StackPointerA)(固定) 0101消息计数器A(MessageCountA)(固定) 0102初始堆栈指针A(InitialStackPointerA)(固定)(帧自动重复) 0103初始消息计数A(InitialMessageCountA)(固定)(帧自动重复) 0104堆栈指针B(StackPointerB)(固定) 0105消息计数器B(MessageCountB)(固定) 0106初始堆栈指针B(InitialStackPointerB)(固定)(帧自动重复) 0107初始消息计数B(InitialMessageCountB)(固定)(帧自动重复) 0108-012D消息块0(MessageBlock0) 012E-0153消息块1(MessageBlock1) 0154-0179消息块2(MessageBlock2) ·· ·· ·· 0ED6-0EFB消息块93(MessageBlock93) 0EFC-0EFF未使用 0F00-0FFF堆栈B(StackB) 注:(1)4个初始内容只在带帧自动重复的增强BC模式下使用。 (2)用户可以自由地在ACE地址任何地方定义BC栈和BC消息块。 256字边界 应注意,BC(RT同样)堆栈区在边界时会发生回滚,堆栈大小由配置寄存器#3位14、13设 置,可选大小为256字(64消息)、512、1024和2048字(512消息),默认256字。也就是说, 堆栈指针值将由XXFF增至XX00而非(XX+1)00。如果配置寄存器#2位10(256字边界无效位) 置“0”,则256字边界对BC消息块同样有效。 然而,如果256字边界无效位置“1”,BC消息块地址在256字边界不会回滚,这可以更有效 的为存储BC消息块分配共享RAM地址空间。 对于BC模式,强烈推荐256字边界无效位置“1”。 为说明方便,表-33的标准BC存储器映射为每个BC消息块分配了最大消息大小。注意,最大 -1- 消息为38字:带32数据字的RT-RT传输指令(控制字+2指令字+回送字+2状态字+32数据字)。 表-33的定义需要将256字边界无效位置“1”。 活动区双缓冲 活动区机制将共享RAM部分区域区分为“活动”和“非活动”的。在任何时刻,内部1553 存储器管理逻辑只能访问处在“活动”区的一些数据结构。需要注意的是,然而,任意时刻主处理 器都可以访问“活动”区以及“非活动”区。 需要注意,如果一个BC帧正在被处理,此时主处理器改变了活动区(通过配置寄存器#1位13), 活动区直到当前帧完成才会实际切换。 -2- BC消息帧编程(PROGRAMMINGOFBCMESSAGEFRAMES) BC存储器管理 图3为BC模式存储器管理图解概述。BC可以发送包含最多512消息的帧,要处理的消息数通 过共享RAM中固定位置的消息计数器设置。另外,主处理器必须初始化另外一个固定位置的堆栈 指针,在每条消息被处理前,该指针指向一个4字消息块描述符(在堆栈中)。该指针必须在处理消 息前由主处理器加载。每条BC消息的第一个字是BC控制字。 ACE的全局双缓冲特性为保证数据连贯性提供了一种简便机制,这种技术也消除了对共享RAM 访问争夺的可能性。主处理器通过配置寄存器#1位13选择当前活动区。当1553协议逻辑访问“活 动”区时,主处理器的一般操作是访问“非活动”区。当前帧在“活动”区处理完成后,主处理器 应切换活动区和非活动区。 在处理单帧前,主CPU初始化“活动区”堆栈指针和消息计数器。在帧自动重复模式,还需初 始化初始堆栈指针和初始消息计数器。初始堆栈指针和初始消息计数器只需要初始化一次,在处理 第一个消息帧之前执行。 任何时刻,堆栈指针总是指向当前消息的块描述符的第一个字。如图3所示,每个BC消息的 块描述符都包含4个字。头两个字分别为块状态字和时间标签字,这两个字是在每条消息开始和结 束时由ACEBC协议逻辑写入的。BC块状态字位表示消息状态、完成情况、有效性以及总线通道。 时间标签字反映消息开始和结束时ACE时间标签寄存器的内容。 BC块描述符剩下两个字必须