APP下载

基于RS 422与1553B总线的数据转换传输方案

2023-11-22曹艳梅漆旭平王瑜嘉

物联网技术 2023年11期
关键词:校验数据包消息

曹艳梅,漆旭平,宋 丫,王瑜嘉

(中国航空工业集团公司西安航空计算技术研究所,陕西 西安 710119)

0 引 言

针对系统提出的新需求,显示设备需要通过1553B总线获取数据采集设备采集的各类信息,通过获取的信息判断状态并向数据采集设备下发指令。但数据采集设备最初并未设计1553B总线接口,仅存在多路RS 422总线接口,重新针对该需求改造数据采集设备将耗费较大的成本。因此,为解决该问题,提出设计一个总线数据转换设备进行数据转换传输的方案。具体来说,显示设备与数据采集设备通过1553B总线与RS 422总线进行数据转换传输,总线数据转换设备完成1553B总线与RS 422总线的双向数据格式转换;对于周期、事件、条件数据包,RS 422总线进行数据发送或接收时需要进行不同的处理,本文将具体介绍这种数据转化传输方案。

1 总线简介

1.1 1553B总线介绍

1553B总线是MIL-STD-1553总线的简称,它是飞机内部时分控制命令/响应式多路复用数据总线,1553B总线可以双向输出,具有较高的实时性和可靠性,目前在工业控制领域得到了广泛应用[1]。1553B总线能挂31个远置终端,采用指令/响应型通信协议,它有3种终端类型:总线控制器(BC)、远程终端(RT)和总线监视器(BM)[2]。1553B总线上消息传输的过程是:总线控制器向某一终端发布一个接收/发送指令,终端在给定的响应时间范围内发回一个状态字并执行消息的接收/发送[3]。BC通过验收RT回答的状态字来检验传输是否成功并做后续的操作。每个RT划分了不同消息逻辑号去接收/发送不同消息[4-5]。在本文考虑的问题中,显示设备是BC,总线数据转换设备是RT。

1.2 RS 422总线介绍

RS 422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性[6]。RS 422接收器采用高输入阻抗和发送驱动器,故允许在相同传输线上连接多个接收节点[7]。一个主设备,其余为从设备,从设备之间不能通信,所以RS 422总线支持点对多的双向通信[8]。RS 422接口的收与发是分开的,可以同时收与发(全双工)。RS 422适用于两个站之间通信,星型网、环网不可用于总线网[9]。

2 问题分析

1553B总线的数据传输与RS 422总线有以下不同:(1)有效数据位不同,1553B总线传输的有效数据位是16位,而RS 422总线数据位通常设为8位;(2)数据包大小不同:1553B总线可传输的数据包大小可以通过通信数据表来配置,RS 422总线可传输的数据包大小由其FIFO大小决定,最大不能超过FIFO深度[10];(3)数据包校验方式不同,1553B总线通过不同的消息逻辑号传输不同的数据包,只需要收发端统一通信协议即可正确收发,而且可以通过查询状态信息来确定是否有新数据需要接收。RS 422总线可以在一个通道内传输多个数据包,为了提高可靠性,每个数据包通常添加包头与校验;为了区分不同数据包,可以为不同的数据包添加不同的包序号,接收到数据后,需要按照包头、校验和与包序号等校验信息进行解码。

基于以上分析,为了实现RS 422总线与1553B总线的数据转化传输,需要设计总线数据转换方案进行总线数据转换。

3 总线数据转换传输方案的设计

总线数据转换设备的功能为:(1)通过1553B总线接收来自显示设备的数据包,包括周期数据包、事件数据包(只在特定事件下发送一次的数据包)、条件周期数据包(满足条件后周期发送的数据包),将这些数据进行格式转换,组成包序号不同的RS 422数据包并发送给数据采集设备;(2)通过RS 422总线接收来自数据采集设备的三类数据包,将这些数据提取至数据区进行格式转换,通过不同的1553B消息逻辑号发送给显示设备。

在总线数据转换设备软件中,数据格式转换除了进行数据有效位的转换外还须对不同类型数据包进行不同处理。主要原因是:当总线数据转换设备将接收到的1553B总线数据包通过RS 422总线转发时,对于只发一次的事件数据包,若同样只发一次,则极有可能丢包,因此需要特殊处理。1553B总线可以通过配置不同的消息逻辑号及数据包长度来控制不同数据包的发送,各消息逻辑号之间的数据互不影响。1553B总线接收数据时可以查询消息逻辑号下是否有新的数据有待接收,当状态位反馈有新数据时,再调用接收驱动去接收数据,从而直接确定是否存在事件数据包或条件周期数据包。这种通信方式的优点是:对于条件周期数据包或事件数据包,在硬件无故障的情况下,不会存在数据丢失的情况,有效保证了通信系统的可靠性。但是,RS 422总线只有在解包后才能确定是否收到新的数据。

基于以上原因,针对本文设计的总线数据转换设备软件,在RS 422总线数据结构体中,添加心跳字,见表1所列。对周期数据包,周期发送数据,每发送一次,心跳字加1;对条件周期及事件数据包,周期发送数据,只有当1553B总线在各自消息逻辑号下查询到新的数据包时,数据更新,心跳字加1;无新数据时,发送先前数据,心跳字不变,这样数据采集设备收到数据时可以通过心跳字来判断是否收到新的事件数据包或条件数据包。同样地,对于总线数据转换设备通过RS 422总线收到来自数据采集设备的三类数据包,数据包发送时需要设置类似的处理机制。总线数据转换设备收到来自数据采集设备的数据包时,通过包头包序号校验和解码出不同数据包并将其转换成1553B总线可以传输的数据格式;根据心跳字的变化,总线数据转换设备判断是否将数据包上传到1553B总线。这样,总线数据转换设备可以按照协议要求完成RS 422总线数据与1553B总线数据间的数据转发。具体的数据传输过程如图1所示。

图1 总线数据转换传输过程

表1 RS 422总线数据传输格式

4 结 语

本文主要设计了一种将1553B总线数据转换到RS 422总线数据传输的方案。首先,针对RS 422与1553B总线的区别做了分析,并对传输的数据包格式进行设计;其次,针对传输数据的不同类型,增加了心跳处理,使其在RS 422总线下传输也能区分其类型及数据是否刷新;最后,给出了整个总线数据转化传输的处理流程。

猜你喜欢

校验数据包消息
SmartSniff
炉温均匀性校验在铸锻企业的应用
大型电动机高阻抗差动保护稳定校验研究
基于加窗插值FFT的PMU校验方法
锅炉安全阀在线校验不确定度评定
消息
消息
消息
视觉注意的数据包优先级排序策略研究
移动IPV6在改进数据包发送路径模型下性能分析