APP下载

弹内高速1553B总线RT端软件设计与应用

2016-09-07贾金艳陈海峰丁炳源

计算机测量与控制 2016年1期
关键词:堆栈指针寄存器

贾金艳,陈海峰,丁炳源,胡 纯

(北京机电工程研究所,北京 100074)



弹内高速1553B总线RT端软件设计与应用

贾金艳,陈海峰,丁炳源,胡纯

(北京机电工程研究所,北京100074)

随着导弹功能性能复杂性的不断提高,弹载设备间的信息交换量日益增加,对1553B总线系统数据传输速率的要求越来越高;1 Mbps 1553B总线已经无法满足现代航空、航天和地面车辆系统应用中各项数据交换的基本需求;目前,高速1553B总线产品应运而生;通过对高速1553B总线通讯特性进行研究,结合弹内高速1553B总线不同远程终端(RT)的通讯需求,给出了弹内高速1553B总线RT端软件的中断与查询两种设计方案;这两种设计方案已成功应用于某系列导弹弹内的各个RT端设备,通过了该导弹武器的研制与定型阶段的各项工程试验验证,结果表明中断与查询两种设计方案满足该导弹系统的不同RT端的应用需求,具有一定的推广价值。

导弹;高速1553B总线;远程终端;软件设计

0 引言

1553B总线是飞机内部时分制指令响应式多路传输数据总线。由其传输速率高,设备之间连接简单灵活,噪声容限高,通信效率高而且可靠。从推出到现在,经过二三十年的发展,1553B总线技术也在不断的改进。目前1553B总线已经成为在航空航天领域占统治地位的总线标准[1-4],预计在未来十年1553B总线还将得到广泛的应用。

现代战争中,导弹武器已经成为体系化防务对抗系统的一部分。随着导弹功能性能复杂性的不断提高,弹载设备间的信息交换量日益增加,对1553B总线系统数据传输速率的要求越来越高。目前,1Mbps的传输速率已经无法满足现代航空、航天和地面车辆系统应用中各项数据交换的基本需求[5]。近年来,国内多家高速1553B总线产品应运而生。本文给出弹内高速1553B总线RT端通讯软件的两种设计方案,已在某系列导弹武器上应用,具有一定的推广价值。

1 高速1553B总线

1.1系统组成简介

导弹采用高速1553B总线作为弹内骨干通讯网络,完成导弹发控、测试、飞控等阶段的控制数据和遥测数据通讯功能。

制导计算机作为总线控制器(BC),是启动总线数据传输任务的唯一终端,负责发送指令字,参与数据传输,接收状态响应和监控系统状态。测控系统兼作远程终端(RT)/总线监视器(MT),MT用于监听和收集来自总线上的所有消息,完成总线上数据信息的记录和分析,但不参与任何总线数据传输。其它设备作为RT,对来自总线控制器的指令做出响应,按指令要求完成数据传输和其他操作。每个RT被指定一个专用总线地址,从1到30均可采用,不采用地址0作为RT的专用地址,RT地址31为所有远程终端的公用地址。弹内高速1553B总线通讯拓扑结构如图1所示。

图1 弹上高速1553B总线通讯拓扑结构

1.2总线消息特性分析

1553B标准定义了十种消息格式:BC->RT Transfer、RT->BC Transfer、RT->RT Transfer、Mode Code No Data、Tx Mode Code With Data、Rx Mode Code With Data、Broadcast、RT-to-RTs(Broadcast) Transfer、Broadcast Mode Code No Data、Broadcast Mode Code With Data,实现BC到RT、RT到BC、RT到RT以及广播方式和系统控制方式。高速1553B总线控制器发出的最小消息间隔为1.0 μs(4 M 1553B)/0.8 μs(5 M 1553B)/0.7 μs(6 M 1553B)。远程终端响应有效指令字的间隔时间为1.0 ~3.0 μs(4 M)/0.8~2.4 μs(5 M)/0.7~2.0 μs(6 M)。总线控制器在一路总线上启动传输后,6.0 μs 内未收到RT端状态字,则认为远程终端无响应超时。上述最小消息间隔、响应时间、无响应超时3个性能指标不同于1 M1553B,在RT端软件设计中要注意最小消息间隔,避免处理不当造成消息丢失。

2 传输通讯协议设计

1553B标准定义的十种消息格式中BC->RT Transfer、Mode Code No Data、Tx Mode Code With Data、Rx Mode Code With Data、Broadcast、Broadcast Mode Code No Data、Broadcast Mode Code With Data按照协议约定BC主动进行,RT->BC Transfer、RT->RT Transfer、RT-to-RTs(Broadcast) Transfer通过矢量字方式握手机制。以矢量字握手方式下的RT→BC通讯传输示例如下:

1)当RT某子地址数据就绪后,设置矢量字的相应位,其中矢量字D0位(低)为1,表示子地址1数据就绪。D1位为1,表示子地址2数据就绪,依次类推,D15位为子地址16数据就绪。

2)BC向RT发送“方式指令字(发送)”,RT返回状态字和一个矢量字。

3) 如果BC检查矢量字的相应位已置“1”,则完成RT→BC的相应子地址数据传输。

4)BC取走某一子地址数据后,由RT自动清除矢量字的相应位,避免BC端重复读取该子地址数据。

RT->RT Transfer、RT-to-RTs(Broadcast) Transfer通讯协议同RT->BC Transfer。

3 高速1553B远程终端软件设计

3.1HT-61843GB/L简介

HT-61843GB/L 高速1553B总线控制模块支持BC/RT/MT3种工作模式,软件操作兼容DDC公司BU-61580。HT-61843GB/L为主机提供了一个内存映射软件接口,地址空间是4 K*16bit的内部RAM,同时还包括17个通用操作寄存器。寄存器定义、RT存储映射和管理都与BU-61580兼容。其强大功能简化了1553B总线接口终端复杂协议逻辑的软件设计过程,其软件设计重点为对总线控制系统初始化配置,以及应用层消息处理,而不需要过多关注1553B总线的底层传输的设计。

3.2 RT端软件设计

3.2.1 寄存器初始化

寄存器初始化步骤如下:

1)设置中断屏蔽寄存器为0x01,复位控制器。

Bit00:RESET。

2)设置配置寄存器3为0x8000,增强模式。

Bit15:ENHANCED MODE ENABLE。

3)初始化中断屏蔽寄存器为0x11。

bit04:RT SUBADDRESS CONTROL WORD EOM。

bit00;END OF MESSAGE。

4)设置ConfigReg2为0x3816。

bit01:Enhanced RT Memory Management enabled。

bit02:Clear Service Request。

bit04:interrupt status Auto Clear。

bit11:Overwrite Invalid Data。

bit12:Rx SA Double Buffer Enabled。

bit13:Busy Lookup Table Enabled。

5)设置ConfigReg3为0x801D。

Bit00:ENHANCED MODE CODE HANDLING。

bit02:RT FAIL Flag WRAP Enable。

bit03:Busy Transfer Disable。

bit04:Illegal Rx Transfer Disable。

bit15:Set Enhanced Mode。

6)ConfigReg4 = 0x2000。

bit13:Mode Command Override BUSY。

7)设置ConfigReg5 为 0x0900。

bit8:GAP Check Enabled。

bit11:Expanded Crossing Enabled。

3.2.2内存初始化

内存初始化步骤如下:

1)初始化内存,写0到整个内存区。

2)初始化接收子地址查询指针表140 H~15 FH:双缓冲,每个子地址指针递增40 H。

3)初始化发送子地址查询指针表160 H~17 FH:单缓冲,每个子地址指针递增20 H。

4)初始化子地址控制字表1A0H~1BFH为C200H。15(MSB)接收:双缓冲使能;14发送:消息结束中断;9接收:消息结束中断。

内存初始完成后设置ConfigReg1为0x8f80;

Set RT Mode,bit13为0:Current Area is A。

3.2.3RT端处理消息程序设计

1)RT端采用中断方式处理消息:

该方式下总线控制器模块的EOM接到RT端处理器的外部中断管脚。当消息传输完毕(EOM:End Of Message )会触发RT端DSP外部中断,通过设计合理的中断服务程序来处理消息:无论RT接收或发送消息,均需要及时地提取当前堆栈指针指向对应的消息块状态字的相应信息(发送/接收指令、子地址),若是RT发送消息,还需要清除对应子地址的矢量字相应位,避免BC端重复读取消息;若是RT接收,则还需要提取接收字长、接收数据块指针。

中断服务程序设计如图2所示。

图2 中断服务程流程图

2)RT端采用查询方式处理消息:

高速总线消息最小间隔为1.0 μs(4 M 1553B)/0.8 μs(5 M 1553B)/0.7 μs(6 M 1553B),对于消息密集的RT设备,若还采用中断处理方式时,当第1个消息的EOM触发进入中断服务程序开始处理第1个消息,而第2个消息的命令堆栈寄存器的内容是在第2个消息SOM序列尾部更新,这就意味着第1个消息的中断服务程序需要在第二个消息堆栈指针更新前取走第1个消息的堆栈指针,否则第1个消息的中断服务程序直接取到第2个消息的堆栈指针,即丢失了第1个消息。为防止丢失消息,需采用查询的方式来处理消息。查询方式下RT端消息处理程序设计如图3所示。

图3 基于堆栈指针查询的RT端软件设计

查询方式的设计要点如下:

1)通过RT存储映射的Stack Pointer A(B) 0x100(104)和命令堆栈指针寄存器 “COMMAND STACK POINTER REG”均能找到当前最新消息的描述符堆栈。 二者的指针内容作差为4,即第1个消息SOM(START OF MESSAGE)序列后二者的内容分别为4和0,第2个消息SOM序列后二者的内容分别为8和4。中断处理方式时用命令堆栈指针寄存器“COMMAND STACK POINTER REG“访问最新消息的描述符堆栈。查询方式时,我们定义了RT_STACKPT(初值为0)指向待处理消息描述符堆栈,用其跟随RT存储映射的Stack Pointer A(B),确保逐一处理所有已经产生的消息,避免遗漏。处理完一个消息后该值加4,256后回零。

2)由于Stack Pointer的内容是在SOM序列后更新的,而不是在EOM序列后更新的,所以在根据堆栈指针逐一处理消息前,需要判断该消息的EOM(避免消息内容为半新半旧),若EOM已经产生,则继续处理该消息。若没产生,需要区分两种情况:1)若该消息是当前最新消息,则暂不处理,说明该消息正在传输中,待下一周期查询时再判断处理。2)若该消息的下一个消息已经开始了,则说明该消息为RT->RTS广播消息,或其它不期望处理的消息,则可根据需求处理该消息或直接跳过该消息去查询下一个消息,避免出现死等该消息EOM的局面。

4 工程应用与分析

本文提出的高速1553B总线的远程终端中断与查询两种消息处理方案,作为通用方案已成功应用于某系列导弹武器的各个RT端。对于消息种类单一、通讯消息稀疏的RT端如某高度测量、发动机控制器等设备采用中断方式处理消息,RT端软件设计简单可靠易用。对于消息种类多,消息相对密集的RT端如惯导、导引头等设备采用查询的方式来处理消息,RT端软件设计相对复杂,但功能完备适应性强。目前这两种方案已通过了研制阶段与定型阶段的各项试验验证。试验中RT端设备通讯应答稳定可靠,满足系统的通讯需求。

5 结论

本文针对弹上高速1553B总线上RT端设备的不同需求,提出了中断与查询两种消息处理软件方案,已成功应用于某系列导弹武器上的各个RT端设备,并通过了研制与定型阶段的各项工程试验验证,结果表明中断与查询两种设计完全满足该导弹系统的通讯需求,具有一定的推广价值。

[1]陈春燕,等.基于1553总线的飞行器电气综合系统管理设计[J].计算机测量与控制,2014,22(6):1865-1867.

[2]徐贵贤.1553B 总线简介及其实现[J].通信技术 ,2011,44(5): 166-168.

[3]刘士全,等.1553B总线应用发展研究[J].电子与封装,2013,13(12):12-15.

[4]陈亮,等.基于1553B协议的导弹控制系统信息流设计探讨[J].计算机测量与控制,2012,20(8):2180-2182.

[5]杨兵,等.一种10 Mb/s1553B总线接口的设计[J].微电子学, 2012,42(6):783-787.

Design and Application of 1553b Bus RT Soft on Missile

Jia Jinyan,Chen Haifeng,Ding Bingyuan,Hu Chun

(Beijing Electro-Mechanical Engineering Institute,Beijing100074,China)

As the complexity of missile increases continually, the communication between the devices in the missile becomes more and more frequent, which requires faster and faster transfer speed of 1553B bus. The traditional 1 M1553B bus is not fast enough to transfer information in modern aeronautics, astronautics and ground vehicle system. High speed 1553B bus appears at present. This paper researched the communication character of high speed 1553B, and proposed two design approaches of interrupt and query for Remote Terminal (RT) software based on the demand of different RTs in the missile. The two approaches were successfully utilized in the RTs of one series missile, and passed various tests. during the development stage, the experimental results demonstrated that the interrupt and query methods met the requirements of the different RTs, which could be used in other missiles.

missile;high-speed-1553B bus;RT;soft design

2015-07-16;

2015-09-11。

贾金艳(1974-),女,辽宁北票人,高级工程师,主要从事嵌入式软件设计方向的研究。

1671-4598(2016)01-0162-03

10.16526/j.cnki.11-4762/tp.2016.01.045

TB114.3

A

猜你喜欢

堆栈指针寄存器
基于行为监测的嵌入式操作系统堆栈溢出测试*
STM32和51单片机寄存器映射原理异同分析
Lite寄存器模型的设计与实现
为什么表的指针都按照顺时针方向转动
基于堆栈自编码降维的武器装备体系效能预测
基于改进Hough变换和BP网络的指针仪表识别
ARM Cortex—MO/MO+单片机的指针变量替换方法
高速数模转换器AD9779/AD9788的应用
一种用于分析MCS-51目标码堆栈深度的方法
一种可重构线性反馈移位寄存器设计