文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.07.039
中文引用格式: 杨峰,廖寅龙,王鑫,等. GJB289A总线应用层协议分析及研究[J].电子技术应用,2016,42(7):154-158,170.
英文引用格式: Yang Feng,Liao Yinlong,Wang Xin,et al. Analysis and research of the GJB289A bus application layer protocol[J].Application of Electronic Technique,2016,42(7):154-158,170.
0 引言
依据GJB289A数据总线在国内外使用的情况,其标准GJB289A数据总线协议体系从总线行为、测试方法及应用方案等多个方面对总线进行了规约,整个协议体系包括9个协议文件,其中应用协议为GJBZ 209-2002,主要规定了数据总线的系统设计、终端设计及介质设计等系统设计详细内容[1]。
GJB289A数据总线应用于航空、航天、弹载、空间站等众多领域[2-3],在总线应用过程中,为了解决总线数据更新查询问题,多数系统采用了改进型静态总线控制协议(ISBC)进行系统设计,该协议为总线控制提供了一种可靠、实时、安全的控制策略[4-5]。总线控制机制的设计优化对提高总线通信的实时性、稳定性和可靠性有重大意义[6-7]。
GJBZ209中对GJB289A总线协议进行了解释说明及补充,提供了数据字格式及消息格式准则,并对总线系统中介质设计、终端设计和系统设计进行说明,介绍了多路传输系统实例。下面就从系统拓扑架构设计、总线终端设计方法、总线控制设计和系统性能分析等方面对总线应用层协议进行研究,同时对ISBC协议的详细内容进行讲解。
1 系统拓扑架构设计
总线系统拓扑设计取决于总线系统规模、系统数据通信带宽和系统安全性需求。若系统规模超过了单总线所能容纳的节点数目时,则需要通过级联总线拓扑的模式对系统容量进行扩展。若系统数据通信带宽要求超过了总线带宽,则需要采用并联的拓扑结构,增加总线带宽。若系统安全性需求较高,则需要采用增加冗余备份链路的方式提高系统可靠性。拓扑设计很大程度上决定了系统的效率、响应时间、可扩展性和系统容量,若系统容量、带宽较小且无特殊需求,一般采用总线式拓扑结构设计,结构简单明了,设备连接与维护方便,其拓扑结构如图1所示。
2 终端设计方法
系统中所有终端设计均需要在总线通信标准和接口控制文件的双重规范下进行。总线标准规定了总线接口的电气特性、编码标准和消息处理方式,系统接口控制文件规定了消息的内容、消息的属性和终端对总线数据的处理和响应。这两者的共同作用保证了系统设计的一致性,如图2所示。
在系统设计之前充分考虑了系统中所有使用的数据通信和系统控制内容,并制定出系统接口控制文件。系统接口控制文件对总线终端的通信子地址、消息长度、消息频率、广播消息和方式命令消息的处理进行规定,所有的终端设计必须严格遵循系统接口控制文件进行设计和开发。系统接口控制文件约定了整个系统的通信内容需求,所以系统接口控制文件设计完成后需要在总线仿真系统中进行仿真模拟,做大量充分的实验,并对实验数据进行分析、讨论,对不符合系统要求的部分进行修改,然后重新进行实验,多次迭代后方能保证系统接口控制文件中所有项正确无误。
系统中所有终端的硬件、软件和逻辑设计均应具有可重用性,在不改变原有设计的情况下,通过软件对寄存器进行编程,即可实现不同的总线角色或不同的终端。所有的终端实现了功能可编程、远程终端地址可编程、远程终端子地址控制可编程和方式命令控制可编程。
系统通信过程中涉及到数据消息、系统控制、系统调度、同步、终端状态查询和数据更新状态查询等,在系统设计时,充分考虑了总线控制消息在整个总线通信过程中所占的比例。总线系统通信效率是指通信过程中,总线上的数据所占用带宽与总线使用带宽之间的比值。数据更新状态查询频率决定了消息发送的延迟,但是数据更新状态查询频率过高会在很大程度上增加总线负载,降低总线通信效率。
系统采用标准的总线式拓扑,降低系统设计的复杂性有助于降低系统设计难度,提高系统的易用性、可维护性。在总线式拓扑能够满足应用需求的情况下,不采用并联拓扑或级联拓扑,采用并联拓扑或级联拓扑是为了满足系统对带宽和总线容量更高的要求。系统采用静态总线控制机制进行总线控制器设计,动态总线控制器使总线控制变得更加复杂,且在总线控制器切换过程中,必然导致总线通信中断,影响总线通信稳定性,所以不采用动态总线控制机制。
系统鲁棒性是衡量系统性能的一个重要指标,决定系统鲁棒性因素有很多,在GJB289A数据总线系统中,总线物理传输路径是双冗余的,这是总线系统标准规定的提高鲁棒性的方法,在实际系统应用过程中,有些关键节点会实现节点备份(比如BC节点),如图3所示。为提高总线系统鲁棒性,系统中所有节点要做好边界处理,防止系统意外崩溃。除此之外,所有终端应具备完善、可靠的异常处理机制,当异常发生时,应能迅速处理异常并恢复通信。
3 总线控制设计
机载总线在设计和运行时应该考虑以下几点:
(1)单一链路上的检错和纠错能力;
(2)链路的冗余链接;
(3)总线系统的故障终端识别、隔离和系统重构能力;
(4)物理层满足高带宽,传输线缆的低延迟特性;
(5)数据链路层协议能够保证消息传输延迟的确定性;
(6)数据包大小应在首先满足控制命令和状态等短信息的前提下,满足冗长消息的传输。
由于机载总线在设计上具备开放性、互可操作性、对环境的适应性、通信的实时性、可靠性以及确定性等特点,使得在航空电子系统的设计、安装、投运和检修维护上更加方便。机载总线具有以下特点:
(1)节省硬件数量与投资;
(2)节省安装和维护费用;
(3)用户具有系统的集成的主动权;
(4)提高了系统的主动性和可靠性。
GJB289A数据总线在高层协议上针对系统的大小和复杂程度也存在很大不同,但各种高层协议的规定和总线控制方法都有以下原则:
(1)数据流均匀原则。作为总线一切活动的控制者,BC必须综合考虑所有的数据传输,对于不同频率产生的数据,按照流量进行合理的控制安排,尤其是对于一些多级总线结构需要经过数层系统下传输数据的总线系统,应该以较均匀的数据流避免给数传系统增加负担,造成总线过载。
(2)终端兼顾原则。总线上的终端大多数工作在实时工作状态中,尤其对于终端对时间要求比较严格的设备,通信的畅通和及时是至关重要的,因而必须按照各终端的最小要求频率制订高层通信协议,总线控制则要按照各个终端的通信频率安排好通信周期。
(3)可靠性原则。GJB289A的可靠性措施保证了整个系统安全有效的进行工作。但在总线控制中,能否用好协议提供的可靠性措施,是提高总线系统可靠性的关键。
(4)统一处理原则。总线控制必须考虑到可实现性和实现处理的统一性,在实际中,过多的特殊要求将给总线的控制带来麻烦,如各终端的数据包大小都有各自的要求,如果满足所有终端的要求,必将使高层协议极为复杂。规定统一、合适的数据包大小,让所有终端都按此进行通信,将对总线处理和后续的其他工作带来方便,这也是在设计高层协议中必须考虑的。
(5)避免冲突原则。总线控制必须考虑到各终端的响应及处理,因而在安排通信时,应避免对同一个终端地址安排连续的总线消息(针对同一子地址的连续数据传输消息除外)。总线控制要给予同一个终端地址足够的消息响应处理时间,采用合理安全的数据传输和读写操作握手机制。
各种高层协议的规定和总线控制方法都是为了提高GJB289A数据总线的利用率,提供稳定的、安全的、可靠性的多路数据传输总线,总线控制器能够展开合理的差错控制措施和特有的方式命令调度保证各个远程终端在总线控制器的作用下完成数据的传输,并保证数据传输的完整性。
根据以上的总线控制原则,总线控制可以有多种灵活的方法。总线控制的设计十分灵活,只要可行、可靠,都是适用的。下面根据应用背景介绍一种总线控制方法。
有些总线系统的结构较为单一,终端数量较少,传输的数据种类不多,总线上消息活动不是很频繁,总线控制便可以在单活动区下进行。根据各终端的数据通信频率,定义一个大的轮询周期。对某个终端的消息安排可以直接在一个周期内,不必考虑其他终端。同时可以在该周期结束后直接进行处理,并按协议继续对该终端安排消息活动,依次对各个终端进行如上处理后,便完成一次轮询。轮询的时间周期需要靠软件控制好。
如果有终端要求的频率较高,可以在大的轮询周期内多安排几次,如图4所示,整个轮询周期为1 s,其中终端2为较高数据率终端,因而可以在总的周期内安排2次服务。
这种方式的优点是控制流程简单,避免了软件的可靠性问题。该种方式针对整个系统数据流量不大的情况,总线消息的安排不需要提前写入消息块中,可以动态的方式进行安排,如果功能较多,可以采用主、次周期的方式。示意图如图5所示。
4 ISBC协议
4.1 ISBC协议概述
在航空电子综合系统中,数据消息传输的最重要的参数之一是该消息的允许延迟时间。延迟时间定义为数据从消息源产生的瞬间到接收端可获取数据所经历的时间总量。确定一个消息的传输速率,取决于它的延迟时间,而不是它的产生(或更新)速率。
总线控制器(BC)是总线上的重要组成。总线上所有消息的传输都由BC来激励和控制,是总线进行通信的开关。为了处理非周期消息,在总线上必须对BC原有的静态总线控制协议进行改进,改进后的协议称为ISBC(刷新数据传输机制),其特点为:
(1)仅当消息被更新后才进行传输,其工作机理为更新检测传输(UPD&T);
(2)消息传输周期是变化的。一个周期消息完成后立即开始新的周期,即大周期和小周期是可变的;
(3)总线控制器根据各消息块的延迟时间要求按照事先定义的速率向各个RT发送方式指令并读取矢量字。BC将根据矢量字的置位情况来判断是否有新的消息产生,如果矢量字的某一位置1说明有新的消息产生,则BC按照总线表在要传输此消息时便组织此消息的传输;否则便不组织此消息的传输。在消息块被传输之后,远程终端复位矢量字中的相应位,当有新数据块产生时,远程终端置位矢量字中的相应位。
采用可变化传输周期的模式既能保证具有最长的最大延迟时间的消息的实施传输,也能保证具有最短最大延迟时间的消息的实时传输。另一方面,这一协议适用于既有同步传输又有异步传输的通信系统。这一协议的应用降低了通信系统的负载和平均延迟时间,大大改善了子系统的性能。
具有遵守ISBC协议能力的RT,其每一个子地址在用于该RT的专用矢量字中皆有一个相对应的位,用于表示该子地址的消息数据的更新状态,矢量字的最低比特位(bit 15)与子地址#1相对应,最高比特位(bit 0)与子地址#16相对应。
实际上,RT的输出子地址的个数最多可达30,只有子地址1-16可使用ISBC协议。输出过程如下:
(1)子系统将消息块放入共享存储器,如果该消息块的子地址在子地址#1--#16的范围内,则与该子地址对应的矢量字位将被置位为1;
(2)BC使用“发送矢量字”方式指令查询终端RT;
(3)RT向BC传送其矢量字;
(4)BC在根据总线表控制执行总线数据消息传递的过程中,检查与总线表指令相关的RT矢量字的对应位,如果该位已被置为1,BC则将组织该RT发送更新消息,同时该位被复位。
如果传输数据是由BC产生的,BC只需检查该数据块是否刷新,如果数据被刷新,该消息即被组织发送。
4.2 ISBC传输模式
ISBC(刷新数据传输机制)是改进的静态总线控制器协议,仅传输刷新消息。该机制用于以下几种传输模式:
(1)RT产生的数据:RT—BC,RT—RT;
(2)BC产生的数据:BC—RT。
若RT遵守ISBC协议,其每一个子地址在用于该RT的专用矢量字中皆有一个相对应的位,用于表示该子地址的消息数据的更新状态,矢量字的最低比特位(bit 0)与子地址#1相对应,最高比特位(bit 15)与子地址#16相对应。
RT的输出子地址的个数最多可达30,只有子地址1-16可使用ISBC协议。输出过程如下:
(1)子系统将消息块放入MBI双口共享存储器,如果该消息块的子地址在子地址#1--#16的范围内,则与该子地址对应的矢量字位将被置位为1;
(2)BC使用“发送矢量字”方式指令查询终端RT;
(3)RT向BC传送其矢量字;
(4)BC在根据总线表控制执行总线数据消息传递的过程中,检查与总线表指令相关的RT矢量字的对应位,如果该位已被置为1,BC则将组织该RT发送更新消息,同时该位被复位。
如果传输数据是由BC产生的,BC只需检查该数据块是否刷新,如果数据被刷新,相关命令即被使能,该消息即被组织发送。
4.3 ISBC协议通信延时分析
总线延迟与总线系统调度有关,由于本系统中采用了ISBC协议来进行调度,所以总线中的延时与消息类型有关。数据在总线上传输的延时主要包含:应用层与驱动层间数据延时、驱动层与传输层间数据延时,传输层与物理层间数据延时。数据在一个完整的单向传输过程中历经两次延时过程,延时过程示意图如图6所示。
由调度策略引起的延时包含获取矢量字延时、命令发送延时。
BC→RT的消息延时主要由发送子系统主机与BC终端间数据交互延时、命令调度延时、发送终端发送消息延时、数据传输延时、接收终端接收消息延时、接收子系统主机与RT终端数据交互延时组成。
RT→BC的消息延时主要由BC命令调度延时、终端发送消息延时、消息传输延时、BC接收消息延时、子系统主机与BC终端数据交互延时组成。
RT→RT消息延时由命令调度延时、子系统与发送RT终端数据交互延时,发送消息延时、传输延时、接收消息延时、子系统与接收RT终端数据交互延时组成,矢量字延时包含于命令调度延时之中。
综合系统的特性,决定采用标准总线拓扑结构进行系统设计。这种总线具有适合于对总线可靠性要求不高的系统,本系统用于进行系统传输验证和新的总线系统系统开发,对总线系统可靠性没有特别的要求。标准总线的传输控制较为简单,系统传输故障率较低,适合本系统使用。
5 系统性能分析
系统负载和效率测试分析的基本思想为:总线负载为总线时间中已使用总线时间所占用的比率,因为总线中的通信速率为2 Mb/s,所以每一位数据所占用的时间为500 ns,已使用总线时间等效于单位时间(1 s)内总线上指令字、状态字和数据字所传输位数总和。总线负载即:((单位时间(1 s)内总线上数据位数/2000000)×100)%。示意图如图7所示。
数据总线负载和总线效率是衡量一个总线系统性能的重要标准。总线负载反映了总线中数据吞吐量,总线效率反映了总线中理想数据吞吐量与实际数据吞吐量之间的比例关系。总线系统通信过程中涉及到数据消息、系统控制、系统调度、同步、终端状态查询和数据更新状态查询等,在系统设计时,需要充分考虑总线控制消息在整个总线通信过程中所占的比例。数据更新状态查询频率决定了消息发送的延迟,但是数据更新状态查询频率过高会很大程度上增加总线负载,降低总线通信效率,所以在总线设计时,需要平衡总线延迟与总线负载间的关系,使系统达到最佳通信状态。
6 总结
本文对GJB289A总线应用层协议进行了分析,主要研究了其系统拓扑架构设计、终端设计方法、总线控制技术、系统性能分析和应用及ISBC协议。ISBC协议适用于基于查询总线调度策略的GJB289A数据总线系统,简化了数据传输控制机制,降低了总线消息延迟,增强了总线的使用率。该协议目前已被使用在多个领域GJB289A数据总线系统中。通过对ISBC协议的应用进行研究,可更加深入地对总线系统控制机制进行理解,可优化系统设计,为GJB289A数据总线系统的广泛应用奠定了坚实的理论基础。
参考文献
[1] GJBZ209-2002.数字式时分制指令/响应型多路传输数据总线应用手册[S].2002.
[2] MIL-STD-1553B-1989.飞机内部时分制指令/响应式多路传输数据总线[S].1989.
[3] 陈永奇,马迎建,石多.1553B总线应用[J].电子测量技术,2006(5).
[4] GJB 289A-97.数字式时分制指令/响应型多路传输数据总线[S].北京:中国航空工业总公司615所和301所,1997.
[5] 郭泽仁.1553B总线系统优化及可靠性设计[J].山东理工大学学报(自然科学版),2008,22(1):67-70.
[6] 田泽,韩炜,赵强,等.1553B总线接口SoC设计与实现[J].航空计算技术,2008(9):15-21.
[7] 支超有.机载数据总线技术及其应用[M].北京:国防工业出版社,2009.