GJB289A,总线具有很高的可靠性和灵活性,广泛应用于航空航天等领域。本文提出基于Aeroflex公司UT1553BCRTM协议芯片实现的GJB289A通信接口,完成了BC和RT的基本功能,支持同步通信和异步通信。文中对同步通信采用传统的静态总线控制协议,采用一种改进的静态总线控制技术,对非周期消息的异步通讯进行了详细说明。本设计有效地改善了GJB289A总线中非周期消息的传输延迟,保证了消息通讯的实时性。
0 引言
国内从第三代战斗机航空电子系统开始,在相当长的一段时间里,GJB289A总线占据了统治地位,由于其实时性、数据完整性、可靠性和余度管理等特性都是专门针对军用航空电子系统要求而设计的,因此在第三代战斗机联合式航空电子系统中得到了广泛的应用。
GJB289A是面向军用的数字式时分制指令/响应型多路传输数据总线标准,用来为各电子系统之间的数据和信息的交换提供共享总线,它规定了MILSTD-1553B的技术要求,其基本结构如图1所示,还规定了总线的操作方式和总线上的信息流格式,总线上的通信设备-终端按其作用可分为三种类型:总线控制器(BC)、远程终端(RT)和总线监控器(BM)。BC是指在数据总线上被指定执行启动信息传输任务的终端。RT是指所有不作为BC或BM操作的终端。BM是被指定执行接收总线上传输的信息和提取经选择的信息以备后用的终端。
1 改进的静态总线控制技术
在GJB289A总线的传输过程中,大多数消息的处理按照固定的顺序、周期和相位出现,这类消息称为周期消息,对于周期消息的传输采用静态时间表进行,即同步通讯。对于系统中随机突发的事件或者其他事件的请求消息,这些消息称为非周期消息,非周期消息的传输称为异步通讯,异步通讯是在有服务请求的情况下插入同步通讯中的,具有很高的实时性,因此,能够根据用户的需要在同步通讯的同时实现异步通讯具有非常重要的意义。
BC是在总线上唯一被安排为执行建立和启动数据传输任务的终端,总线上所有的消息传输都是由BC来控制,为了处理非周期消息,必须对BC原有的静态总线控制协议进行改进,这种改进的静态总线控制技术主要特点是:当消息被更新后才进行传输,其工作机制为更新检测传输。改进的静态总线控制技术实现更新数据传输的机制有两种方法:异步服务请求方式和BC周期查询方式。异步请求方式对于非周期消息的响应必须要在请求RT获得总线使用权时,BC才能响应RT非周期消息的传输,即对消息的及时响应不能保证。相反,BC周期查询方式是BC以某一特定频率定时查询RT是否存在非周期消息的传输,采用该方法可以保证非周期消息响应的确定性和及时性,且由于使用更新检测传输方式,查询开销并不会很大。GJB289A总线主要应用于实时性要求很高的系统中,这类系统主要考虑消息传输的实时性问题,所以本文采用BC周期查询方式实现非周期消息的异步通讯。
2 系统硬件设计
本文设计的GJB289A通信接口采用TI公司出品的TMS320F2812款DSP作为传输层软件运行的平台,采用的1553协议芯片为AerofleX公司的
UT1553BCRTM,该芯片为系统设计者提供了一种智能的MIL-STD-1553B多路数据总线设计解决方案,并在单个芯片上实现了MIL-STD-1553B定义的三种功能-总线控制器BC、远程终端RT以及总线监控器BM。通过VME总线与子系统主机连接,使用双端口存储器DPRAM完成系统之间的数据交互。基于UT1553BCRTM协议芯片实现的GJB289A通信接口硬件结构如图2所示,实现了模块的小型化和通用化设计。
3 系统软件设计
本文设计的软件分为传输层软件和驱动层软件。传输软件驻留在DSP内部FLASH存储器中,主要完成对不同类型消息的处理、出错消息处理、同步、启动测试等功能。
本文设计的传输层软件主要实现了BC和RT的基本功能,下文将着重以BC为例,介绍传输层软件对于不同类型消息传输方式的处理方法。
对于周期消息的同步通信采用传统的静态总线控制协议,对于非周期消息的异步通信采用BC周期查询方式实现更新数据的传输,具体实现方法为:BC周期利用“发送矢量字”方式命令,实现RT仅传输刷新数据的功能,实现更新消息的伪实时传输。
该协议在总线表中周期插入矢量字的查询命令,及时地获知RT数据是否被更新,从而减小总线负载,提高新数据消息的更新周期,使得1553B这样的静态被动式总线协议在一定程度上获得近似于其他实时消息传输协议的性能。
由于矢量字有效数据位为16位,故本软件仅支持RT中16个子地址消息的更新,软件主要处理分为以下两方面:
(1)RT产生的数据:即RT与RT,或RT与BC之间有更新的消息数据,在整个总线通信过程中,BC周期使用查询矢量字对每个RT的16个子地址是否有新数据进行查询,获知消息的更新情况,若被查询的RT有非周期消息需要传输,即将矢量字的相应位置位通知BC组织非周期消息传输。子地址1~16在该RT的专用矢量字中都有相应的位来表示,每位表示该子地址的消息数据的更新状态,矢量字的最低比特位(bit15)与子地址#16相对应,最高比特位(bit0)与子地址#1相对应,详见图3。
(2)BC产生的数据:即BC有新数据传输给RT,如果传输数据是由BC产生的,BC只需检查该数据块是否刷新,如果被刷新,该消息应立即被组织进行发送。
驱动软件驻留在主机上,为使各个设备的主机方便使用GJB289A总线,驱动层提供统一、标准的驱动服务,以API函数库形式提供透明的应用接口,协助应用软件按照系统的顶层设计与接口控制文件规定的应用层协议,完成通信任务。
4 结语
本文主要介绍了一种采用TI公司的TMS320F2812款DSP作为传输层软件运行的平台,结合Aeroflex公司的UT1553BCRTM 1553协议处理器,完成GJB289A通信接口的软硬件设计,实现了BC和RT的主要功能。结合改进的静态总线控制技术,本文对不同类型消息传输的实现方式进行详细介绍,经测试,此设计有效提高了GJB289A总线上消息传输的实时性。