高速1553B总线控制器通信管理系统设计
2014-09-17李海军牟俊杰孙海文
李海军 牟俊杰 孙海文
摘 要: 针对目前1553B总线已渐渐达不到先进飞机对信息传输速度的要求,设计了高速1553B总线控制器通信管理系统,详细规划了总线控制器与主机间共享存储区的各个模块,运用双缓冲机制降低了消息传输延迟,通过对共享存储区的高效管理,缩短了总线传输多帧数据时的数据等待时间,加快了总线信息的传输速度,有效提高总线利用率。在配置有EXC?1553PCI/MCH板卡的工控机上验证得知,所设计的系统能够可靠地提高总线吞吐率,满足1553B总线向高速率发展的要求。
关键词: 1553B; 总线控制器; 系统设计; 传输速度
中图分类号: TN911.7?34 文献标识码: A 文章编号: 1004?373X(2014)17?0016?03
Abstract: A communication management system for the high?speed 1553B bus controller was designed because the avai?lable 1553B bus can not reach the requirement of the information transfer rate of advanced planes. Detailed Planning for each module in the shared memory region between bus controller and main engine was made. The information transmission delay is reduced by using the double buffering mechanism. By the high?efficiency management to shared memery region, the waiting time when the bus transmits multi?frame data is shortened and the transmission speed of bus information is quickened. The bus utilization ratio was effectively raised. By the validation in the industrial personal computer with EXC?1553PCI / MCH board card, the throughput rate of the designed bus can be raised reliably. The system can satisfy the development requirement of high?speed 1553B bus.
Keywords: 1553B; bus controller; system design; transmission speed
0 引 言
自GJB289A?97实施以来,1553B总线的应用领域越来越广泛,对1553B总线信息传输速度的要求越来越高,以往1 Mb/s传输速率的1553B总线系统越来越满足不了国防应用的需要,因此,设计高速1553B总线系统势在必行[1]。通过深入研究1553B总线的通信协议,参考国内外1553B总线接口模块的设计思路[2?3],设计了高速1553B总线控制器通信管理系统,实现了总线控制器对总线上传输的不同格式信息的高效存储与管理。
1 总线控制器通信管理系统的功能
1553B总线系统由总线控制器(BC)、远程终端(RT)和总线监控器(BM)组成,由多路总线接口(MBI)进行整合实现其功能[4]。总线控制器是在总线上惟一被指定执行启动信息传输任务的终端,它发出数据总线命令,参与数据传输,接受状态响应和监视系统的状态,对数据总线实行控制和仲裁[5]。在实际应用中总线控制器与一个称为主机的计算机相连接,总线控制器自身不能产生命令字和数据字。当其需要发送信息时,主机将待要发送的命令字和数据字按照协议要求转换成1553B总线系统能够识别的命令字和数据字,存储在共享存储器中,然后主机发送启动信号给总线控制器指示其读取共享存储器中的命令字与数据字,继而发送到总线上。通常总线控制器发送的数据流包含多条信息,因此需要建立合理高效的通信管理系统对共享存储器中存储的信息进行管理,以便总线控制器有序地读取信息。
在1553B总线系统工作时,通信管理系统用于判断双缓冲机制中的活动域,判断信息的条数,读取规定消息块中的控制字并判断信息的类型,读取规定数量的命令字存储到相应的命令字寄存器中,根据发送/接收信号的不同将规定数量的数据字发送到相应终端并存储,等待信息回应,并在信息发送过程中出现错误时按要求进行重发。
2 通信管理系统的分析与设计
总线控制器与主机之间设有共享存储器,通信管理系统的主要应用对象便是共享存储器。共享存储器存储空间的划分见表1。
2.1 双缓冲机制
共享存储器有A、B两个命令堆栈区,由此形成双缓冲机制。双缓冲机制是指通过配置寄存器将A区或B区置为活动域,余下的是非活动域,系统按照1553B总线通信协议进行信息传输时,总线控制器只能访问活动域,而主机对活动域和非活动域都有权访问。首先主机初始化存储器的各个模块和各控制寄存器,设置活动域,然后通信管理系统访问活动域,读取信息发送至总线上,继而交换活动域和非活动域,仍然读取活动域信息,如此便提高了消息处理的速度与连续性。
2.2 命令堆栈区
命令堆栈区用于存储消息的描述块。每条消息都有属于自己的描述块,每个描述块包含四部分:消息块状态字、时标、消息间间隔、消息块地址指针[6],每部分占用一个字节的存储空间。
消息块状态字表示所要处理的消息块的状态,其内容表征了当前所处理消息的完成程度,传输时所选择的通道,传输过程中是否发生错误,是否需要重新处理以及重发时的重发次数等。
时标信息表示消息传输的起始时间。
消息间间隔表示处理两则消息时的时间间隔。
消息块地址指针表示所要处理的信息在消息块堆栈区的起始地址指针。
2.3 消息块堆栈区
1553B总线所要传输的信息均存放在消息块堆栈区中。每个消息块的第一个字是BC控制字,其用来选择总线传输所选择的通道,并决定信息的格式(如BC→RT,RT→BC,RT→RT等),BC控制字不发送到总线上。
BC控制字的下一个字便是命令字(若是RT→RT消息,则有两个命令字)。通信管理系统读取命令字存储于命令字寄存器并发送到总线上。当发送的信息带有数据字时,通信管理系统将继续发送数据字,当最后一个字(命令字或数据字)发送完成后,通信管理系统接收返回字。总线控制器还需要预留存储地址用于存储远程终端返回的状态字和可能要接收的数据字。
2.4 固定地址空间
固定地址0100~0107中,0100存储A命令堆栈区中的首地址指针,0101存储一帧消息中消息块的数量,0102、0103用于帧自动重发模式下;类似的,0104~0107对于B命令堆栈区也有相同设置。消息处理时每处理一个消息块,则0101或0105中的值加1,当数值达到FFFF时表示本帧消息处理结束。
3 通信管理系统工作过程
1553B总线系统开始工作时,主机先对0100~0107这8个固定地址赋初值,总线控制器根据主机的指令判断活动域,读取相应固定地址中的值,找到命令堆栈区中的第一个描述块,查找描述块的第四个字所指示的首消息块,分析消息块的BC控制字,判断消息类型及采用的通道,读取命令字并发送到总线上,按照需要发送数据字,预留地址存储状态字和可能返回的数据字。当一则消息处理结束时,判断消息传输是否发生错误,如果发生错误,则重新处理消息,且命令字堆栈指针和消息数量计数器不变;若未发生错误,则消息数量计数器加1,继续处理下一个消息块,直到消息数量计数器达到FFFF,本帧消息发送完毕,向主机发送传输结束指令,等待新的消息传输命令。其流程如图1所示。
4 实验仿真
将设计的通信管理系统应用于配置有EXC?1553PCI/MCH板卡的工控机上,设置消息间间隔为3 500 μs,在信息中所含信息帧的数量相同的情况下,对比本系统与单区通信系统的信息发送时间,可以明显看出本系统所需的通信时间较短,仿真结果如图2所示。
参考文献
[1] 熊华钢,王中华.先进航空电子综合技术[M].北京: 国防工业出版社,2009.
[2] 国防科学技术工业委员会.GJB289A?97数字式时分制指令/响应型多路传输数据总线[S].北京:国防科学技术工业委员会,1997.
[3] 贾永来.基于FPGA的1553B总线接口技术研究及实现[D].成都:电子科技大学,2008.
[4] 支超有.机载数据总线技术及其应用[M].北京:国防工业出版社,2009.
[5] 吕亚洲.1553B总线信号接口定义反求技术研究[D].南京:南京航空航天大学,2012.
[6] 裴培.车载系统中MIL?STD?1553B总线接口的设计[D].南京:南京理工大学,2007.
消息块状态字表示所要处理的消息块的状态,其内容表征了当前所处理消息的完成程度,传输时所选择的通道,传输过程中是否发生错误,是否需要重新处理以及重发时的重发次数等。
时标信息表示消息传输的起始时间。
消息间间隔表示处理两则消息时的时间间隔。
消息块地址指针表示所要处理的信息在消息块堆栈区的起始地址指针。
2.3 消息块堆栈区
1553B总线所要传输的信息均存放在消息块堆栈区中。每个消息块的第一个字是BC控制字,其用来选择总线传输所选择的通道,并决定信息的格式(如BC→RT,RT→BC,RT→RT等),BC控制字不发送到总线上。
BC控制字的下一个字便是命令字(若是RT→RT消息,则有两个命令字)。通信管理系统读取命令字存储于命令字寄存器并发送到总线上。当发送的信息带有数据字时,通信管理系统将继续发送数据字,当最后一个字(命令字或数据字)发送完成后,通信管理系统接收返回字。总线控制器还需要预留存储地址用于存储远程终端返回的状态字和可能要接收的数据字。
2.4 固定地址空间
固定地址0100~0107中,0100存储A命令堆栈区中的首地址指针,0101存储一帧消息中消息块的数量,0102、0103用于帧自动重发模式下;类似的,0104~0107对于B命令堆栈区也有相同设置。消息处理时每处理一个消息块,则0101或0105中的值加1,当数值达到FFFF时表示本帧消息处理结束。
3 通信管理系统工作过程
1553B总线系统开始工作时,主机先对0100~0107这8个固定地址赋初值,总线控制器根据主机的指令判断活动域,读取相应固定地址中的值,找到命令堆栈区中的第一个描述块,查找描述块的第四个字所指示的首消息块,分析消息块的BC控制字,判断消息类型及采用的通道,读取命令字并发送到总线上,按照需要发送数据字,预留地址存储状态字和可能返回的数据字。当一则消息处理结束时,判断消息传输是否发生错误,如果发生错误,则重新处理消息,且命令字堆栈指针和消息数量计数器不变;若未发生错误,则消息数量计数器加1,继续处理下一个消息块,直到消息数量计数器达到FFFF,本帧消息发送完毕,向主机发送传输结束指令,等待新的消息传输命令。其流程如图1所示。
4 实验仿真
将设计的通信管理系统应用于配置有EXC?1553PCI/MCH板卡的工控机上,设置消息间间隔为3 500 μs,在信息中所含信息帧的数量相同的情况下,对比本系统与单区通信系统的信息发送时间,可以明显看出本系统所需的通信时间较短,仿真结果如图2所示。
参考文献
[1] 熊华钢,王中华.先进航空电子综合技术[M].北京: 国防工业出版社,2009.
[2] 国防科学技术工业委员会.GJB289A?97数字式时分制指令/响应型多路传输数据总线[S].北京:国防科学技术工业委员会,1997.
[3] 贾永来.基于FPGA的1553B总线接口技术研究及实现[D].成都:电子科技大学,2008.
[4] 支超有.机载数据总线技术及其应用[M].北京:国防工业出版社,2009.
[5] 吕亚洲.1553B总线信号接口定义反求技术研究[D].南京:南京航空航天大学,2012.
[6] 裴培.车载系统中MIL?STD?1553B总线接口的设计[D].南京:南京理工大学,2007.
消息块状态字表示所要处理的消息块的状态,其内容表征了当前所处理消息的完成程度,传输时所选择的通道,传输过程中是否发生错误,是否需要重新处理以及重发时的重发次数等。
时标信息表示消息传输的起始时间。
消息间间隔表示处理两则消息时的时间间隔。
消息块地址指针表示所要处理的信息在消息块堆栈区的起始地址指针。
2.3 消息块堆栈区
1553B总线所要传输的信息均存放在消息块堆栈区中。每个消息块的第一个字是BC控制字,其用来选择总线传输所选择的通道,并决定信息的格式(如BC→RT,RT→BC,RT→RT等),BC控制字不发送到总线上。
BC控制字的下一个字便是命令字(若是RT→RT消息,则有两个命令字)。通信管理系统读取命令字存储于命令字寄存器并发送到总线上。当发送的信息带有数据字时,通信管理系统将继续发送数据字,当最后一个字(命令字或数据字)发送完成后,通信管理系统接收返回字。总线控制器还需要预留存储地址用于存储远程终端返回的状态字和可能要接收的数据字。
2.4 固定地址空间
固定地址0100~0107中,0100存储A命令堆栈区中的首地址指针,0101存储一帧消息中消息块的数量,0102、0103用于帧自动重发模式下;类似的,0104~0107对于B命令堆栈区也有相同设置。消息处理时每处理一个消息块,则0101或0105中的值加1,当数值达到FFFF时表示本帧消息处理结束。
3 通信管理系统工作过程
1553B总线系统开始工作时,主机先对0100~0107这8个固定地址赋初值,总线控制器根据主机的指令判断活动域,读取相应固定地址中的值,找到命令堆栈区中的第一个描述块,查找描述块的第四个字所指示的首消息块,分析消息块的BC控制字,判断消息类型及采用的通道,读取命令字并发送到总线上,按照需要发送数据字,预留地址存储状态字和可能返回的数据字。当一则消息处理结束时,判断消息传输是否发生错误,如果发生错误,则重新处理消息,且命令字堆栈指针和消息数量计数器不变;若未发生错误,则消息数量计数器加1,继续处理下一个消息块,直到消息数量计数器达到FFFF,本帧消息发送完毕,向主机发送传输结束指令,等待新的消息传输命令。其流程如图1所示。
4 实验仿真
将设计的通信管理系统应用于配置有EXC?1553PCI/MCH板卡的工控机上,设置消息间间隔为3 500 μs,在信息中所含信息帧的数量相同的情况下,对比本系统与单区通信系统的信息发送时间,可以明显看出本系统所需的通信时间较短,仿真结果如图2所示。
参考文献
[1] 熊华钢,王中华.先进航空电子综合技术[M].北京: 国防工业出版社,2009.
[2] 国防科学技术工业委员会.GJB289A?97数字式时分制指令/响应型多路传输数据总线[S].北京:国防科学技术工业委员会,1997.
[3] 贾永来.基于FPGA的1553B总线接口技术研究及实现[D].成都:电子科技大学,2008.
[4] 支超有.机载数据总线技术及其应用[M].北京:国防工业出版社,2009.
[5] 吕亚洲.1553B总线信号接口定义反求技术研究[D].南京:南京航空航天大学,2012.
[6] 裴培.车载系统中MIL?STD?1553B总线接口的设计[D].南京:南京理工大学,2007.