1553B总线ACE芯片BC操作

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-BC存储器组织结构(BCMEMORYORGANIZATION)表-33说明了一个标准ACE总线控制器(BC)的内存映射。注意其中的8个固定存储器位置。对于每个区域(A和B),都包含堆栈指针、消息计数器、初始堆栈指针和初始消息计数器。在主处理器开始处理单帧前必须初始化堆栈指针和消息计数器。在帧自动重复模式,在初始化单个帧前主处理器需设置初始堆栈指针和初始消息计数器。表33-标准BC存储器组织结构(4KRAM)ADDRESSDESCRIPTION0000-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消息块。应注意,BC(RT同样)堆栈区在边界时会发生回滚,堆栈大小由配置寄存器#3位14、13设置,可选大小为256字(64消息)、512、1024和2048字(512消息),默认256字。也就是说,堆栈指针值将由XXFF增至XX00而非(XX+1)00。如果配置寄存器#2位10(256字边界无效位)置“0”,则256字边界对BC消息块同样有效。256字边界然而,如果256字边界无效位置“1”,BC消息块地址在256字边界不会回滚,这可以更有效的为存储BC消息块分配共享RAM地址空间。对于BC模式,强烈推荐256字边界无效位置“1”。为说明方便,表-33的标准BC存储器映射为每个BC消息块分配了最大消息大小。注意,最大-2-消息为38字:带32数据字的RT-RT传输指令(控制字+2指令字+回送字+2状态字+32数据字)。表-33的定义需要将256字边界无效位置“1”。活动区机制将共享RAM部分区域区分为“活动”和“非活动”的。在任何时刻,内部1553存储器管理逻辑只能访问处在“活动”区的一些数据结构。需要注意的是,然而,任意时刻主处理器都可以访问“活动”区以及“非活动”区。活动区双缓冲需要注意,如果一个BC帧正在被处理,此时主处理器改变了活动区(通过配置寄存器#1位13),活动区直到当前帧完成才会实际切换。-3-BC消息帧编程(PROGRAMMINGOFBCMESSAGEFRAMES)图3为BC模式存储器管理图解概述。BC可以发送包含最多512消息的帧,要处理的消息数通过共享RAM中固定位置的消息计数器设置。另外,主处理器必须初始化另外一个固定位置的堆栈指针,在每条消息被处理前,该指针指向一个4字消息块描述符(在堆栈中)。该指针必须在处理消息前由主处理器加载。每条BC消息的第一个字是BC控制字。BC存储器管理ACE的全局双缓冲特性为保证数据连贯性提供了一种简便机制,这种技术也消除了对共享RAM访问争夺的可能性。主处理器通过配置寄存器#1位13选择当前活动区。当1553协议逻辑访问“活动”区时,主处理器的一般操作是访问“非活动”区。当前帧在“活动”区处理完成后,主处理器应切换活动区和非活动区。在处理单帧前,主CPU初始化“活动区”堆栈指针和消息计数器。在帧自动重复模式,还需初始化初始堆栈指针和初始消息计数器。初始堆栈指针和初始消息计数器只需要初始化一次,在处理第一个消息帧之前执行。任何时刻,堆栈指针总是指向当前消息的块描述符的第一个字。如图3所示,每个BC消息的块描述符都包含4个字。头两个字分别为块状态字和时间标签字,这两个字是在每条消息开始和结束时由ACEBC协议逻辑写入的。BC块状态字位表示消息状态、完成情况、有效性以及总线通道。时间标签字反映消息开始和结束时ACE时间标签寄存器的内容。BC块描述符剩下两个字必须由主处理器加载。消息间隔时间字只有在增强模式(配置寄存器#3位15置“1”),并且消息间隔时间使能(配置寄存器#1位5置“1”)时才被访问。消息间隔时间指,从当前消息开始到序列中下一条消息开始的时间,设置分辨率1us。消息块地址字是指向消息块第一个字(BC控制字)的指针。活动区堆栈指针值在BC处理消息结束时加4。-4-消息计数器(或初始消息计数器)必须由CPU初始化为一个消息帧里将要处理的消息数的补码。例如,如果一个消息帧包含一条消息,(初始)消息计数器应被加载为FFFE。每个消息处理结束时(初始)消息计数器的值加1。如图4所示,每个BC消息块的首字的都是BC控制字(字号“0”)。BC控制字不在1553总线上发送。图4说明了所有可能的BC消息格式。相应字按照在BC消息块中的出现顺序发送和接收。BC控制字包含信息涉及消息格式、总线通道、中断使能、1553A及1553B出错处理、离线自测、重试以及状态字位屏蔽。如果处于增强BC模式,即ACE处于增强模式(配置寄存器#3位15置“1”)并且扩展BC控制字使能(配置寄存器#4位12置“1”),则BC控制字所有15位(位15为保留)都是可用的。如果不处于增强BC模式,只有位7、6、5、2、1、0可用。BC控制字包含7个状态屏蔽位。这些位用来屏蔽RT状态字相应位,置“0”则BC受RT状态字相应位影响,置“1”则屏蔽RT状态字相应位,不受其影响。如果BC控制字中屏蔽位置“0”而RT状态字相应位为“1”则以下情况(1)会发生,情况(2)、(3)、(4)可能发生:(1)BC块状态字中“状态置位”位(位11)置“1”。(2)如果中断屏蔽寄存器位1(BC状态置位)为“1”,将触发一个中断请求。(3)如果中断屏蔽寄存器位1(BC状态置位)为“1”或者处增强中断模式(增强模式下配置寄存器#2位15置“1”),则中断状态寄存器位1置“1”。(4)如果配置寄存器#1位4置“1”(重试使能),并且配置寄存器#4位9置“1”(状态置位重试使能),并且BC控制字位8置“1”(重试使能),消息将重试。主CPU在BC控制字之后写入(首个)指令字,在这之后可能是第二个指令字(对于RT-RT传送),然后是需要主机加载的BC将要发送的数据字。在地址分配中,回送字和接收状态字及接收数据字的位置需保留。在BC模式,ACE支持所有MIL-STD-1553B消息格式。对于每个1553消息格式,BC消息块中字分配都有特定的顺序。这些字包括:控制字、指令、(发送)数据字(由主处理器加载到RAM然后由BC协议逻辑从中读取),另外,序列中必须留出位置存储接收到的回送字、RT状态字和数据字。表-34和表-35分别说明了指令字和状态字的位映射。图4说明了各种MIL-STD-1553B消息格式的BC消息块结构。注意,对于所有消息格式,BC控制字都是消息块的首字。消息块格式-5-表34-MIL-STD-1553B指令字(COMMANDWORD)BITDESCRIPTION15(MSB)RT地址(RTADDRESS)位414RT地址(RTADDRESS)位313RT地址(RTADDRESS)位212RT地址(RTADDRESS)位111RT地址(RTADDRESS)位010发送/接收(TRANSMIT/RECEIVE)9子地址/方式(SUBADDRESS/MODE)位48子地址/方式(SUBADDRESS/MODE)位37子地址/方式(SUBADDRESS/MODE)位26子地址/方式(SUBADDRESS/MODE)位15子地址/方式(SUBADDRESS/MODE)位04数据字计数/方式码(DATAWORDCOUNT/MODECODE)位43数据字计数/方式码(DATAWORDCOUNT/MODECODE)位32数据字计数/方式码(DATAWORDCOUNT/MODECODE)位21数据字计数/方式码(DATAWORDCOUNT/MODECODE)位10(LSB)数据字计数/方式码(DATAWORDCOUNT/MODECODE)位0表35-MIL-STD-1553BRT状态字(RTSTATUSWORD)BITDESCRIPTION15(MSB)RT地址(RTADDRESS)位414RT地址(RTADDRESS)位313RT地址(RTADDRESS)位212RT地址(RTADDRESS)位111RT地址(RTADDRESS)位010消息错误(MESSAGEERROR)9仪表设备(INSTRUMENTATION)8服务请求(SERVICEREQUEST)7保留6保留5保留4广播指令接收(BROADCASTCOMMANDRECEIVED)3“忙”(BUSY)2子系统标志(SUBSYSTEMFLAG)1接受动态总线控制(DYNAMICBUSCONTROLACCEPT)0(LSB)终端标志(TERMINALFLAG)-6--7-BC控制字(BCCONTROLWORD)对于任意一种消息格式,BC消息块首字都是BC控制字。BC控制字不在1553总线上发送。BC控制字可以选择总线和消息格式、使能离线自测、定义RT状态字广播指令接收位期望值。BC控制字位映射定义如表36所示:表36-BC控制字寄存器(BCCONTROLWORDREGISTER)(RD/WR04H)BITDESCRIPTION15(MSB)保留14屏蔽消息错误位(MESSAGEERRORBITMASK)13屏蔽服务请求位(SERVICEREQUESTBITMASK)12屏蔽子系统“忙”位(SUBSYSBUSYBITMASK)11屏蔽子系统标志位(SUBSYSFLAGBITMASK)10屏蔽终端标志位(TERMINALFLAGBITMASK)9屏蔽保留位(RESERVEDBITSMASK)8重试使能(RETRYENABLED)7总线通道A/B*(BUSCHANNELA/B*)6离线自测(OFFLINESELFTEST)5屏蔽广播位(MASKBROADCASTBIT)4消息结束中断使能(EOMINTERRUPTENABLE)31553A/B*选择(1553A/B*SELECT)2方式码格式(MODECODEFORMAT)1广播格式(BROADCASTFORMAT)0(LSB)RT-RT格式(RT-RTFORMAT)注:位14-8和位4、3只有在增强模式(配置寄存器#位15置“1”)并且扩展BC控制字使能(配置寄存器#4位12置“1”)。若上述两个条件没有满足,则ACE只能使用非扩展BC控制字,只包含位7、6、5、2、1、0。如果使用非扩展BC控制字,“状态置位”条件可以是RT状态字的RT地址域不匹配,也可以是8位非保留位中有任何位置位。有个例外情况是,对于广播指令接收位(RT状态字位4),“状态置位”条件是其值与屏蔽广播位(BC控制字位5)值不同。当使用扩展BC控制字时,“状态置位”条件可以是RT状态字的RT地址域不匹配,也可以是8位非保留位中有任何位置位并且其在BC控制字中相应屏蔽位置“0”。在扩展BC控制字模式,如果相应屏蔽位置“1”,则忽略收到的RT状态字相应位,进而对“状态置位”条件产生影响。(位14)屏蔽消息错误位(MESSAGEERRORBITMASK):该位只在增强模式使能(配置寄存器#3位15置“1”)并且扩展BC控制字使能(配置寄存器#4位12置“1”)时适用。如果该位为“0”,则当RT状态字

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功