文献标识码:A
DOI:10.16157/j.issn.0258-7998.2016.07.040
中文引用格式:淮治华,王鑫,楼晓强,等. GJB289A数据总线系统设计研究[J].电子技术应用,2016,42(7):159-163.
英文引用格式:Huai Zhihua,Wang Xin,Lou Xiaoqiang,et al. Research and design of the GJB289A data bus system[J].Application of Electronic Technique,2016,42(7):159-163.
0 引言
本系统设计包括系统顶层设计、系统设计实施和系统验证测试三个阶段[1]。总线系统设计优化工作主要针对系统的综合化程度、可重用性、易用性、通信效率和系统鲁棒性[2]。综合比较分析,采用SoC设计技术能同时满足系统以上要求,采用SoC芯片的系统级解决方案使系统继承了高度集成芯片带来的诸多优点(如图1所示),最大程度提高了GJB289A数据总线系统的可靠性、集成度并显著降低总线系统的重量及功耗[4-5]。总线通信处理SoC芯片为总线系统终端的研发及应用提供了一种全新的解决方案。该方案提供了一种基于专用芯片的MBI模块化应用方案,能够实现总线终端产品高度集成、高可靠性以及低功耗的设计目标[3]。
1 系统设计
GJB289A数据总线系统功能包括:实现2 Mb/s速率的GJB289A数据总线通信,总线配置工具支持总线通信控制表的设计和优化,总线控制器实现事件、周期消息处理,所有终端实现双冗余通道备份,备份总线控制器实现主备控制器切换等功能,支持总线中继,为远程终端远距离信号传输提供支持。支持总线通信数据监控、分析。本系统中所有节点均采用可替换单元进行设计,除MT节点外,所有终端的物理层、传输层和驱动层均通用,可互相替换。
1.1 架构设计
系统架构设计决定了系统的基础架构,很大程度上决定了系统的效率、响应时间、可扩展性和系统容量。本系统节点数量较少,总线通信所需带宽低于总线带宽,采用总线式拓扑结构设计,结构简单明了,设备连接与维护方便,可以满足系统需求。系统架构设计如图2所示。
1.2 系统关键设计
系统关键设计包括终端设计和系统调度控制设计。
本系统中所有终端的硬件、软件和逻辑设计均采用总线通信处理SoC芯片进行设计,在芯片中,所有需要重用的部分均进行可编程处理,保证所有使用总线通信处理SoC芯片进行设计的标准MBI模块能够满足系统中所有终端的功能需求。终端使用的软件按照通用可编程原则进行设计,可满足所有终端类型及所有总线系统的应用要求。
本系统通信过程中涉及到数据消息、系统控制、系统调度、同步、终端状态查询和数据更新状态查询等,在系统设计时,充分考虑了总线控制消息在整个总线通信过程中所占的比例。系统采用50 Hz的查询频率,满足了最小周期消息20 ms延迟的要求,同时因查询带来的负载增加只有5%,充分平衡总线延迟与总线负载间的关系,使系统达到最佳通信状态。数据更新状态查询消息频率与总线负载的关系如图3所示。
2 终端设计
2.1 BC设计
2.1.1 一般设计要求
BC通过发送指令字启动总线上的通信,总线数据通信包括三种基本通信消息。
对于RT到BC的消息,BC首先向总线发送携带有目标RT地址、目标RT子地址、数据字个数和收发控制等信息的命令字,总线中所有RT均可接收到该命令,但仅当RT地址和命令字中包含的RT地址字段匹配时,RT才会响应该命令,并向总线发送数据。BC接收响应指令字的所有数据字,并把它们传送给子系统。消息通信过程如图4所示。
对于BC到RT消息,BC首先向总线发送携带有目标RT地址、目标RT子地址、数据字个数和收发控制等信息的命令字,随后发送从子系统传递的规定个数的数据字,总线中所有RT均可接收到该命令,但仅当RT地址和命令字中包含的RT地址字段匹配时,RT才会响应该命令,并接收命令字后的数据字。消息通信过程如图5所示。
对于RT到RT消息,BC首先向总线发送携带有目标RT1地址、目标RT1子地址、数据字个数和收发控制等信息的接收命令字,然后向总线发送携带有目标RT2地址、目标RT2子地址、数据字个数和收发控制等信息的发送命令字,RT1接收到命令后等候总线数据,RT2收到命令后响应状态字并发送数据字,RT1接收完数据字后响应状态字。BC在RT-RT通信过程中,可对总线通信实施监控。消息通信过程如图6所示。
2.1.2 备份BC设计
总线系统中以RT的身份挂接在总线系统中,在规定的情况下,可成为总线上的BC终端,称作备份总线控制器。默认控制数据总线的控制器称为主控制器,所有其他可承担数据总线控制的终端称为备份BC。
在图2所示系统中,BC定期向BBC以带数据字的同步方式命令发送WDT加载值,BBC接收到WDT加载数据后加载本地WDT计时器中。当WDT中断发生时,表示BC无法和BBC通信,BBC即启动切换,自动换为BC功能执行总线控制。
2.1.3 总线终端控制机制
在总线系统中,终端控制一般包括:终端状态查询、终端状态管理、终端状态控制。
终端状态查询是BC获取整个网络状态的有效手段,一般使用单播命令后RT响应的状态字进行判断,BC可获取整个总线系统中共多少个终端,有多少终端正常在线,是否需要继续查询等信息。终端状态管理用于将终端分门别类,一种RT可以正常通信,一种RT需要继续查询,并向子系统提供终端状态信息供子系统使用。终端状态控制用于消息传输出错过程,当消息传输出错后,BC将对出错消息进行重试,当超过重试次数后,BC控制通信失败终端下线,禁止相关通信命令,并启动对该终端的状态查询。
2.2 RT设计
2.2.1 终端地址设计
在总线系统中,每个RT必须有一个且只有一个指定的终端地址,能够实现广播的RT也应识别终端地址字段为11111的指令。在总线上最多可以有31个RT,但是在GJB289A中并没有规定如何把终端地址赋给RT。在方案设计中可通过两种方式来实现。第一种方式是使用硬件方式实现,即可用的集成电路器件通常有5个离散输入设定它们的终端地址,在实际使用时,这些引脚按照希望得到的终端地址被拉高或拉低;第二种方式是通过软件方式实现,在设计中另一些RT没有引脚,但是含有内部寄存器,在软件控制下(通常在上电时)可以通过设置寄存器来将需要的终端地址赋给RT。
2.2.2 协议控制单元设计
在设计时RT必须能够检测到总线上对它的指令,并且按要求响应。当检测到指令时,RT在4~12 μs后必须对该指令响应。这个时间是从BC传送消息的最后一个字的奇偶位中间过零点算起,到响应的第一个字同步头波形的中间过零点结束。RT不能接收任何无效的指令,若指令字以有效的同步头波形开始,并有16个数据位,且有指示奇校验的奇偶位,各位都是有效的曼彻斯特码,同时若指令字中的终端地址与RT的终端地址(若RT实现广播选项,则广播终端地址为11111)相匹配,则该命令为对应RT的有效指令。若指令有效且在RT规定的指令集中,则该指令合法。RT不要求实现非法指令的检测,但所有有效且合法的指令且必须按GJB289A要求的方式被响应。大多数RT在总线上检测的消息并不是发给自己的消息,而是发给另一个RT的消息。检测了字的前五位仍为有效的字,必须被完整读入。若命令有效,则RT必须做出正确的反应。响应(若被要求)必须在要求的4~12 μs内启动。为了能响应快些,当接收到字的同时,译码器逐位开始进行命令有效性测试。
2.2.3 主机接口设计
通过RT传送的数据必须被发送到子系统或从子系统中取出,这些数据必须保持完整。RT功能只是按GJB289A要求的格式组织信息(即把数据在GJB289A格式和子系统可读的格式之间互相转换)。
RT在总线上传送的数据是由在总线上接收到的命令控制的,而不是由子系统控制的。依据RT的智能化程度,需要设计一种机制让RT通知子系统接收到有效指令或消息,该机制一般采用中断实现。本系统设计为中断方式向主机通知新消息。
2.2.4 非法指令处理
系统中允许有非法指令,GJB289A总线协议不要求RT检测非法指令,仅要求RT使用消息错状态字响应非法指令。非法指令是规定RT不用的指令,但它是有效指令。非法指令在子系统级定义,而不是在RT级定义,所以不应由RT硬件确定哪些是非法指令。如果实现非法指令的检测,RT的非法指令集由子系统来指定,且在系统规范中将非法指令定义清楚。在本系统中使用子系统可访问的寄存器对RT非法子地址进行控制,RT接收到非法命令后仅响应消息错的状态字。
2.3 1553B总线配置工具
总线配置工具应用于系统设计与应用过程,用于按照ICD中消息的特性生成用于总线中BC节点进行通信控制的总线配置表,其中包含1553B总线运行过程中所需的节点数、命令块、命令序列等各种信息。该工具支持拓扑/ICD图形化配置,可简化命令序列表构建过程,并对命令序列进行优化,实现广播消息配置,自动生成配置文件,并支持.h/XML等多种类型配置文件。总线配置工具解决了配置表自动编排、总线系统配置/仿真技术难题。该工具已成功应用于某无人机航电系统设计,在应用过程中,编排了多个版次的总线表,并成功应用。
3 总线系统性能评估
数据总线负载和总线效率是衡量一个总线系统性能的重要标准。总线负载反映了总线中数据吞吐量,总线效率反映了总线中理想数据吞吐量与实际数据吞吐量之间的比例关系,在总线命令等待响应期间是无法进行总线通信的,所以严格来讲,总线响应时间也应计入总线负载计算中。数据总线负载的通用计算方式如式(1)所示,总线效率的通用计算方式如式(2)所示。
在系统中,往往将总线数据进行采集,然后将总线数据进行分类,统计数据字、状态字、命令字的个数和响应时间累计值,最终得到总线负载。如:某系统总线监控数据中,有命令字289 600个,状态字289 600个,数据字5 792 000个,总线响应时间共1 737 600 μs,总线监控时长600 s,总线负载即为(((289600+289600+5792000)×20+1737600)/(600000000)×100%=21.527%)。
总线系统设计过程中必须保证一定的总线负载余量,一般要求总线负载不超过80%。若总线负载较高,超过余量要求,则需要考虑增加总线,以降低单条总线负载,满足负载余度要求。
若总线激活时间为1 s,则总线激活时间内最大可能信息传输量为1×106 bit,传输信息量为数据字、状态字和指令字之和,1553B数据总线中所有类型的消息字长都为20,所以传输信息量为数据字、状态字和指令字个数之和乘以20,总线负载即可按照式(3)进行计算。总线上有效的数据是指总线上传输的数据字中数据位部分,因为每个数据字长为20,其中有效数据字长16 bit,所以总线效率计算方式如式(4)所示。
总线效率是总线通信效率的重要指标。假设某总线每秒仅发送一次BC-RT数据,若总线中数据字长为1,则总线效率为26.7%,若总线中数据字长为32,则总线效率为75.3%。假设某总线每秒发送一次RT-RT数据,若总线中数据字长为1,则总线效率为16%;若总线中数据字长为32,则总线效率为71.1%。由此可见,单条命令字中携带的数据字越长,总线效率越高,RT-BC/BC-RT消息传输时的总线效率高于RT-RT消息。在满足总线设计要求的前提下,尽量减少短小数据包的消息数,尽量减少RT-RT消息通信数。某机载总线系统中,消息数量如表1所示。
如上所述,该总线效率为:
(((122+45+70)*50+(196+286+150)*25)+(384+396+210)*12.5+(40+10+32)*6.25)*16)/(((5+3+4*2)*2*50+(7+11+6*2)*2*25+(24+22+7*2)*2*12.5+(2+1+4*2)*2*6.25+((122+45+70)*50+(196+286+150)*25)+(384+396+210)*12.5+(40+10+32)*6.25))*20)*100%=73.04%。
4 系统验证
系统验证遵循由终端到系统、由功能到性能、由基础到全面的原则,要求所有系统功能均能被验证。
4.1 系统终端功能验证
在系统终端功能验证阶段,设计了验证用例对系统各终端功能进行验证,验证用例如表2所示。
经验证,所有终端均可完成独立的RT、BC、BBC功能设置;所有终端的通用功能(方式命令执行/发送)均正常;所有终端数据处理功能(数据接收、数据发送)正常;所有终端主机接口功能(主机→终端的命令下发、终端→主机的数据上报和中断上报)正常;所有终端均可对数据进行正确解析。
经验证,所有终端均可完成独立的RT、BC、BBC功能设置;所有终端的通用功能(方式命令执行/发送)均正常;所有终端数据处理功能(数据接收、数据发送)正常;所有终端主机接口功能(主机→终端的命令下发、终端→主机的数据上报和中断上报)正常;所有终端均可对数据进行正确解析。
4.2 系统功能及性能验证
当终端功能测试完成后需要进行系统功能测试,这个过程需要系统中的所有终端共同参与。系统进行系统功能测试时采用的验证项如表3所示。
经测试,所有终端单独存在的情况下,可正常完成数据的接收、发送和解析,所有数据均正确反映在应用层界面上,所有终端的数据均符合设计要求;系统所有终端均工作的情况下,所有终端可正常完成数据的接收、发送和解析,所有数据均正确反映在应用层界面上,所有终端的数据均符合设计要求,系统中的数据方向、数据格式、数据长度与总线ICD一致。
系统负载是通过Alta卡观察和软件分析得到的,总线负载测试结果为70%,与理论值一致。系统效率分析是通过自编软件按照总线系统效率分析公式对Alta卡捕获的总线数据文件进行分析进行,最终总线系统效率测试分析结果为60%。
4.3 系统的兼容性
本系统中的所有终端均采用同一设计方案进行设计,所以系统集成时排除不兼容终端对系统的影响。若系统中存在不同的终端设计,则必须考虑不兼容终端对系统的影响,比如:系统中存在响应时间为12 μs的RT,则在总线系统调度时,必须考虑该RT的命令延时对总线通信调度的影响。系统设计中,在条件允许的情况下尽量使用同一种总线标准,可减少大量的系统集成问题。
5 总结
GJB289A数据总线系统具备完整的总线系统结构,其备份BC和双冗余总线的设置有效地增加了总线系统的可靠性,完全满足航空机载数据总线的实时性、可靠性要求。本文介绍了GJB289A数据总线的系统拓扑结构,详细分析及研究了GJB289A数据总线系统设计的关键技术,并通过系统验证,为其在航空、航天、兵器等防务领域的广泛应用提供了技术支撑。
参考文献
[1] 陈永奇,马迎建,石多.1553B总线应用[J].电子测量技术,2006(5).
[2] 支超有.机载数据总线技术及其应用[M].北京:国防工业出版社,2009:40-42.
[3] DDC.MIL-STD-1553 designer′s guide[M].6thed.ILC Data Device Corporation,1998.
[4] Advanced Communication Engine(ACE).MIL-STD-1553A/B notice 2 RT and BC/RT/MT[P].New York:Data Device Corporation,1999.
[5] 中航工业总公司.GJB 289A-97.数字式时分制指令/响应型多路传输数据总线[S].北京:中国航空工业总公司615所和301所,1997.