刘 龙,李智龙,代慧珍,蒋祖歆
(航空工业洪都,江西 南昌,330024)
GJB 289A 总线(数字式时分制指令/响应型多路传输数据总线)具有高可靠性、实时性、确定性[1]等突出优点,广泛运用于航空航天飞行器[2]的安全关键或任务关键系统[3]中,是系统可靠运行的基本保证。GJB 289A 总线主要由总线控制器(bus controller,BC)、总线监控器(bus monitor,BM)、远程终端(remote terminal,RT)组成。总线控制器是总线网络中组织信息传输的终端,负责总线的调度和管理;总线监控器用于监视总线的运行状况,远程终端(最多31 个)用于连接各子系统,并进行数据传输[4]。
随着各机载系统数字化、信息化程度的加深,用户对机载数据总线的吞吐率提出了更高要求。GJB 289A 总线的带宽仅1Mb/s,在使用GJB 289A 网络作为机载数据总线时,需重点关注其负载率和传输效率,以判断GJB 289A 总线网络的带宽余量是否满足设计要求。
基于以上分析,本文针对GJB 289A 总线网络负载率和传输效率计算的问题,提出一种负载率和传输效率计算的策略。根据GJB 289A 总线网络消息传输协议,在计算过程中考虑了影响GJB 289A 总线网络负载率和传输效率的消息格式、指令字、数据字、状态字、消息间隔、远程终端响应有效指令字的间隔时间和消息内的数据量等因素,给出了所有消息格式下总线网络负载的计算方法,实现了GJB 289A 总线网络的负载率和传输效率的准确计算,并对总线负载率和传输效率进行分析。
总线负载率即总线利用率,表示实际传输时间与最大可能允许传输时间之比值,反映了允许系统扩充的余量[5]。即:
式(1)中,LR 为总线负载率,T 为计算总线负载率时所取传输周期时间;M 为对应周期时间内处理的消息总数;Lj为某消息的传送时间。
总线传输效率为传输数据位所需的时间与总线上实际传输时间之比,即:
式(2)中,BE 为总线传输效率,Pj为某消息内传输数据位的时间。
由式(1)、(2)可知,为得出总线网络的负载率和传输效率,关键在于计算总线负载。在GJB 289A 总线网络中,共有总线控制器向远程终端的传输、远程终端向总线控制器的传输、远程终端向远程终端的传输、不带数据字的方式指令、带数据字的方式指令(发送)、带数据字的方式指令(接收)、总线控制器向各远程终端的传输(广播)、远程终端向各远程终端的传输(广播)、不带数据字的方式指令(广播)、带数据字的方式指令(广播)10 种消息通讯格式。
为方便计算总线网络的负载,设一条消息内的数据字数量为Q(1≤Q≤32)。
根据GJB 289A-97 要求,GJB 289A 数据总线带宽为1Mb/s[4],即1bit/μs。远程终端响应有效指令字的间隔时间为4.0~12.0μs,典型值为10μs,消息之间的典型间隔时间为50μs[6]。
总线控制器发出一个接收指令字及规定数目的数据字到远程终端,后者在核实消息之后,发回一个状态字给控制器,指令字和数据字应以没有字间间隔的连续形式发出[4]。详见图1。
图1 总线控制器向远程终端的传输过程
其中,根据GJB 289A-97 要求,传输各数据所需时间如下:
接收指令:20 μs;
数据字:20Q μs;
状态字:20 μs;
响应时间:10 μs;
消息间隔:50 μs。
故在GJB 289A 总线网络内传输一条总线控制器至远程终端的消息共需t1μs:
总线控制器向远程终端发出一个发送指令字,该远程终端在核实指令字之后,发回一个状态字给总线控制器,继之以规定数目的数据字。状态字和数据字应以没有字间间隔的连续形式发出[4]。详见图2。
图2 远程终端向总线控制器的传输过程
根据总线控制器至远程终端的消息传输时间计算方法和图2 所述,在GJB 289A 总线网络内传输一条远程终端至总线控制器的消息共需t2μs:
总线控制器向远程终端A 发出一个接收指令字,紧接着向远程终端B 发出一个发送指令字。远程终端B 在核实指令字之后,发送一个状态字,继之以规定数目的数据字。状态字和数据字以没有字间间隔的连续形式发送。远程终端B 发出的数据传输结束时及远程终端A 在接收到规定数目的数据字之后,发送一个状态字[4]。详见图3。
根据总线控制器至远程终端的消息传输时间计算方法和图3 所述,在GJB 289A 总线网络内传输一条远程终端至远程终端的消息共需t3μs:
图3 远程终端向远程终端的传输过程
总线控制器使用规定的方式代码向远程终端发出一个发送指令字,该远程终端在核实指令字之后,回送一个状态字[4]。详见图4。
图4 不带数据字的方式指令传输过程
根据总线控制器至远程终端的消息传输时间计算方法和图4 所述,在GJB 289A 总线网络内传输一条不带数据字的方式指令的消息共需t4μs:
总线控制器使用规定的方式代码向远程终端发出一个发送指令字,该远程终端在核实指令字之后,回送一个状态字,继之以一个数据字,状态字和数据字以没有字间间隔的连续形式发送[4]。详见图5。
图5 带数据字的方式指令(发送)的传输过程
根据总线控制器至远程终端的消息传输时间计算方法和图5 所述,在GJB 289A 总线网络内传输一条带数据字的方式指令(发送)的消息共需t5μs:
总线控制器使用规定的方式代码向远程终端发出一个发送指令字,继之以一个数据字。指令字和数据字以没有字间间隔的连续形式发送。该远程终端在核实指令字和数据字之后,回送一个状态字[4]。详见图6。
图6 带数据字的方式指令(接收)的传输过程
根据总线控制器至远程终端的消息传输时间计算方法和图6 所述,在GJB 289A 总线网络内传输一条带数据字的方式指令(接收)的消息共需t6μs:
总线控制器发出一个远程终端地址字段为11111 的接收指令字,继之以规定数目的数据字,指令字和数据字以没有字间间隔的连续形式发送。具有接收广播指令能力的各远程终端在核实消息之后,按照规定在状态字中将广播指令接收位置位,但不回送状态字[4]。详见图7。
图7 总线控制器向各远程终端的传输(广播)过程
根据总线控制器至远程终端的消息传输时间计算方法和图7 所述,在GJB 289A 总线网络内传输一条控制器向各远程终端的广播消息共需t7μs:
总线控制器发出一个远程终端地址字段为“11111”的接收指令字,继之以使用远程终端A 的专有地址向远程终端A 发出一个发送指令字。远程终端A 在核实指令字之后,回送一个状态字,继之以规定数目的数据字,状态字和数据字以没有字间间隔的连续形式发送。具有接收广播指令能力的各远程终端(除远程终端A 之外)均应在核实消息之后,按照规定在状态字中将广播指令接收位置位,但不回送状态字[4]。详见图8。
图8 远程终端向各远程终端的传输(广播)过程
根据总线控制器至远程终端的消息传输时间计算方法和图8 所述,在GJB 289A 总线网络内传输一条远程终端向各远程终端的广播消息共需t8μs:
总线控制器发出一个含有方式代码且远程终端地址字段为“11111”的发送指令字,具有接收广播指令能力的各远程终端在核实指令字之后,按照规定在状态字中将广播指令接收位置位,但不回送状态字[4]。详见图9。
图9 不带数据字的方式指令(广播)的传输过程
根据总线控制器至远程终端的消息传输时间计算方法和图9 所述,在GJB 289A 总线网络内传输一条不带数据字的方式指令的广播消息共需t9μs:
总线控制器发出一个含有方式代码且远程终端地址字段为“11111”的接收指令字,继之以一个数据字,指令字和数据字应以没有字间间隔的连续形式发送。具有接收广播指令能力的各远程终端应在核实消息之后,按照规定在状态字中将广播指令接收位置位,但不回送状态字[4]。详见图10。
图10 带数据字的方式指令(广播)的传输过程
根据总线控制器至远程终端的消息传输时间计算方法和图10 所述,在GJB 289A 总线网络内传输一条带数据字的方式指令的广播消息共需t10μs:
某系统的GJB 289A 总线网络中各消息格式的数据量如表1,因总线网络内非周期消息数据量小,对总线负载率的影响较小,故在下述计算过程中,将非周期消息等同于周期消息处理。
表1 某系统GJB 289A 总线网络内通讯数据
根据式(3)、(4)、(5)、(9)、(11)和表1 可知,该系统GJB 289A 总线网络的总线负载Load 为:
不考虑通讯出错和通讯重发的情况,可知一个50ms的通讯周期内,传输所有消息的时间为21700μs。根据式(1),某系统GJB 289A 总线网络负载率LR 为:
根据表1 和式(2)可知,一个通讯周期内传输数据位的时间为:
故,根据式(2)、(13)、(15),某系统GJB 289A 总线网络传输效率BE 为:
当表1 中每条消息均可传输32 个数据字时,则达到该总线网络的最大传输效率BEmax,即:
由式(1)、(14)可知,总线负载率与总线网络上的数据量和通讯周期有关,数据量越小,通讯周期越长,总线负载率越低。同时降低响应时间和消息间隔也可降低总线负载率。
由式(2)、(16)可知,总线传输效率与每条消息内传输的数据量的大小相关,每条消息内传输的数据字越多,总线传输效率越高。
总线负载率和传输效率的大小均与采用的消息格式密切相关,例如,一个RT 需要另一个RT 的数据,如采用RT 至RT 的消息格式比采用RT 至BC,BC至RT 的传输形式具有更低的总线负载率和更高的总线传输效率。同时,总线网络内选用传输数据的消息格式越多,总线传输效率也越高。
由式(17)可知,GJB 289A 总线网络的最大传输效率和负载率无必然联系,总线的最大传输效率只与采用的消息格式相关,消息格式选定后,每条消息最多传输32 个数据字,因此最大传输效率亦已确定。
本文针对GJB 289A 总线网络负载率和传输效率计算的问题,提出一种负载率和传输效率准确计算的策略。以GJB 289A 总线网络消息传输协议为基础,综合考虑消息内的数据量、消息传输格式、指令字、数据字、状态字、消息间隔、远程终端响应有效指令字的间隔时间等影响总线网络负载率和传输效率的因素,给出了所有消息格式下总线网络负载的计算策略,有效、准确地计算了GJB 289A 总线网络的负载率和传输效率,并对总线负载率和传输效率进行分析,以便更为准确、有效地评估GJB 289A 总线网络的带宽余量,提高其传输效率,为后续GJB 289A 总线网络组建和设计提供了理论依据。