当前位置:无忧公文网 >范文大全 > 征文 > 某型船舶控制系统1553B总线数据监测与分析研究

某型船舶控制系统1553B总线数据监测与分析研究

时间:2022-03-23 09:24:46 浏览次数:

zoޛ)j馝ypuמw^y^y3}ם9߀5N7u^tM8Nܨ֭jj'+x֧j\מwv*\{k[2צGPP6u�bjvMjRxz工作环境及其特殊的战术技术指标,网络的可靠性和实时性的要求特别高。

1553B总线是由美国提出的飞机内部电子系统联网的标准,由于其可靠性高、传输率较高、技术成熟、易于扩展等优点,在航空航天、军事装备等方面得到了广泛应用。

在某引进型舰船控制系统中,数据总线及网络通信系统就采用了1553B总线技术,其中央控制系统与众多分系统相互联接,联接关系十分复杂。由于其具体通信协议未知,系统一旦出现故障,很难对其进行定位与排除,严重影响到装备作战效能的发挥,不利于舰船遂行海上任务。为了使系统在备件测试、维修检测等过程中,对发生的故障或技术问题能够准确定位、及时排除,从而保证系统的正常运行,迫切需要对其1553B通信协议进行分析解码。

本文通过对该型舰船控制系统结构和1553B总线技术的研究,在对远程终端、总线控制器、总线监视器进行分别设计的基础上,构建了1553B数据监测与分析硬件平台,开发了数据监测软件,以导航系统为例对其通信信号进行了监测与分析,得到了通信数据格式、编码规律和具体含义,为协议的解码奠定了基础。

1 1553B通信系统的组成及数据传输指令

1553B总线系统通常由若干子系统通过嵌入式总线接口,经过总线介质互联而成,各个子系统操作独立,资源和功能则可通过网络共享。1553B总线有三种终端:一个总线控制器(BC)来管理和控制总线上的信息传输;一个总线监视器(MT)来接收总线上的信息用于总线的测试;其余的都是远程终端(RT)。每个终端被分配了惟一的总线地址。典型的双冗余1553B数据总线系统如图1所示。

BC发起总线上的数据传输,只有当BC向某RT发出总线指令后,该RT才能参与数据传输。总线指令分为发送指令、接收指令和方式指令,这些指令分别用来命令某RT发送、接收、或执行由方式指令指定的某个动作。BC通过RT回答的状态字来检验传输是否成功。总线上的信息是以消息的形式调制成曼彻斯特码进行传送的。总共有10种消息定义,如BC至RT传输定义、RT至BC传输定义、不带数据字的方式指令定义等。消息由指令字、数据字和状态字组成,其中指令字结构如图2所示。

由如上结构可以看出,一个BC最多带30个RT,每个RT又可以分为30个子地址,并且通过此字结构就可区分是发送指令、接收指令还是方式指令。

2 控制系统数据监测总体设计

2.1 数据监测系统设计原则

要实现对该控制系统数据传输网络有效地监测,必须开发出智能化的、易用的、易维护、高可靠性且能够满足实际需求的监测系统。在系统设计中,需要满足以下要求:

(1) 数据采集方式的便利性。由于舰船空间的限制,不能安装大量的传感器和测试设备,而且对系统主干网络不能改动。

(2) 数据接收的实时性。数据监测的一个重要特征就是在对总线数据监测期间,能实时接收到总线数据并保存。

(3) 可靠性和容错技术。监测系统的一个重要特性就是长时间可靠工作,还要避免系统瘫痪、数据丢失、漏采误报等情况,而且系统本身的故障不能对被测设备产生影响。

(4) 良好的人机交互性。要求操作界面简洁明了,易于操作,减少现场的软、硬件的维护,提高系统的智能化和使用的灵活性。

2.2 数据监测系统硬件结构

该控制系统通过1553B 总线进行联系的设备有中央控制台、数据交换仪和导航系统中的部分设备,结构简图如图3所示。各设备通过数据交换仪连接组成系统的1553B网络结构,采用便携式工控机作为监控计算机,利用1553B总线三端耦合器接入网络。

便携式工控机和EP⁃H6273 PCI板卡如图4所示。EP⁃H6273是一款高性能的MIL⁃STD⁃1553B接口模块,可以应用于1553B总线系统的测试、仿真。该板卡提供了双通道的多功能模块,允许在同一时刻运行BC、BM和RTs的任意组合,可用于系统的测试或仿真等多种功能。

3 系统软件设计

3.1 软件流程及部分软件模块设计

1553B总线数据监测软件主要完成两个方面的工作,一是实现1553B总线数据的模拟通信,二是对总线数据进行监测并保存。软件采用Borland C++ Builder编制。

根据1553B总线的特点,软件设计首要实现的是最基本的通信功能,既能在工控机上实现BC、BM、RT功能,又能实现各功能模块的通信。软件设计总体框图如图5所示。

图5 软件设计总体框图

软件的主程序部分,通过中断判断诸如BC、BM或RT等需要响应的事件,对板卡的功能进行选择。

3.1.1 1553B总线远程终端RT

(1) 在设置RT模式时要求先对全局参数进行设置,全局设置包含:Eph6273_SetBroadcast()和Eph6273_SetSa31()。

(2) 调用API函数Eph6273_RT_Init()初始化RT操作模式,初始化操作设置RT的初始值和分配存储器。

(3) RT设置

① 设置RT地址Buffer,在Eph6273_RT_AbufWrite()函数中设置BUSA、BUSB允许位,同时设置RT状态字和BIT字;

② 设置RT控制Buffer,调用函数Eph6273_RT_ CbufWrite();

③ 初始化RT数据Buffer,Eph6273_RT_MessageWrite()函数设置中断允许位和写入发送数据。

(4) 调用函数Eph6273_RT_StartStop()开始RT仿真。

(5)应用程序在RT开始仿真后,调用函数Eph6273_GetMessageid()将memory地址转换成RT Buffer地址。利用函数Eph6273_RT_MessageRead()从Memory Buffer读RT消息。

(6) 利用函数Eph6273_RT_StartStop()停止所有RT的仿真。

3.1.2 1553B总线控制器BC

总线上所有消息的传输都由BC激励和控制,是总线通信的开关。因此,其软件设计的好坏关系到整个系统的性能。其设计思路为:

(1) Eph6273板卡初始化

调用API函数Eph6273_Init()。

(2) 初始化BC

调用API函数Eph6273 _BC_Init()初始化BC设置,并进行Minor Frame频率设置、不响应时间设置、最迟响应时间和重试条件设置。

(3) 初始化BC消息

调用API函数Eph6273_ BC_MessageWrite()初始化消息队列。

(4) 定义帧

(5) 启动BC

通过调用函数Eph6273_BC_StartStop()开始BC操作,flag为1时开始BC操作。

BC也可以执行简单的OneShot模式,在OneShot模式中只发送一次指定的消息队列。在执行OneShot模式时要求设置OneShot参数Eph6273_BC_OneShotInit()和执行OneShot消息Eph6273_BC_OneShotExecute()。

(6) 组织RT发送及接收信息

通过调用函数Eph6273_BC_MessageRead()和Eph6273_BC_MessageWrite()读写信息。

(7) 停止BC操作

调用Eph6273_BC_StartStop()函数结束BC操作。

(8) 停止线程运行

通过调用函数Eph6273_Close()停止所有正在运行的线程。

3.1.3 1553B总线监视器BM

BM模式提供了监视和记录所有消息的功能,也可以过滤掉某些消息。同时BM提供了消息的时间标记和命令、数据、状态的错误信息。

BM记录所有出现在总线上的消息。BM存储所有收到的命令、数据和状态到BM数据存储区,每个BM Buffer可以存储10 240个BM消息,BM Buffer是一个首尾相连的存储空间,当存储到Buffer尾时自动从头开始,此时将覆盖原来的消息。Microcode根据消息状态和BM中断允许WORD,判断是否将消息指针加入中断队列。BM可以在中断控制下工作,Windows在响应中断时可以获得中断类型和存储器地址,用Eph6273_BM_GetMessageid()函数将存储器地址转换为BM Buffer消息地址,应用程序用Eph6273_BM_MessageRead()从存储器读BM消息。

Microcode在存储BM消息到BM Buffer时,不判断存储器是否有数据和是否已被读出,在应用程序中要考虑消息接收速度和BM消息访问速度,如果消息访问速度远小于消息接收速度,将会出现丢失消息的可能。

在BM初始化时,默认是记录所有消息,也可以过滤掉不关心的数据。过滤是基于命令字处理的(在RT to RT是基于第一个命令字的)。Microcode可以禁止/允许各类消息存储到BM Buffer中,另外过滤选项可以设置记录指定消息的第几条。

应用程序也可以指定一个或多个触发条件。在BM触发之前,Microcode不记录1553B总线上的消息,当触发条件满足时,Microcode开始记录BM消息。

对于每个BM消息,Microcode存储以下几项到BM Buffer中:消息中的每一个WORD(命令字、数据字、状态字);消息时间标记(命令字的Parity Bit出现时的时间点);消息传输中的错误信息,另外,BM测量RT的响应时间,同时存入到BM Buffer。

BM接收的消息是以命令字开始的,不同的消息类型在命令字后的内容不同,可能是数据字、状态字,甚至命令字。在此设备中,所有这些都在Microcode中处理,对于应用程序来说处理都是统一长度和固定格式的数据块API_BM_MBUF。

BM软件的设置如下:

(1) 用Eph6273_Init或Eph6273_AutoConnectFirst函数初始化模块,在调用所有的函数之前,都需要先初始化模块。

(2) 调用Eph6273_BM_Init()函数,此函数设置BM操作。

在默认操作下Microcode记录所有消息,可以根据需要过滤掉不关心的问题。利用函数Eph6273_BM_FilterWrite()可编辑过滤消息,此函数可以过滤掉RT address/Sub address/ receive⁃transmit flag相匹配的消息。默认情况下BM记录所有信息,而不必调用Eph6273_BM_FilterWrite()函数。可以通过API函数Eph6273_BM_TriggerWrite()改变触发条件,当触发后Microcode开始记录消息。默认的触发条件是从第一条消息开始记录。

(3) 所有设置完成以后调用Eph6273_BM_StartStop()开始记录BM消息(根据触发条件),当收到消息时根据中断条件产生中断。消息记录从触发后开始,一直到调用[Eph6273_BM_StartStop()]停止记录或Eph6273_API_ Close()。

总线监视器(BM)软件设计流程图如图6所示。

图6 总线监视器(BM)软件工作流程图

3.2 用户界面设计

用户界面包含界面管理。界面管理是将系统中各个子系统功能模块之间有机结合起来的“纽带”,负责系统中各个子系统之间的协调控制和调度。用户可以通过友好的人机界面,自然语言环境下利用键盘、鼠标向系统、计算机发出各种指令完成对总线上的信号的监测,并在硬盘上进行存储。所设计的软件主界面如图7所示。

图7 1553B总线监测软件主界面

软件启动后,进入图7所示界面。在当前界面单击“连接设备”,若弹出对话框显示“Connect Successfully”,则代表设备连接成功,接下来即可进行数据监测。用鼠标单击“BM初始化”,开始监测总线数据。在BM显示窗口里显示监测到的总线数据,而在右侧BM小窗口显示的是消息类型、命令字、中断状态、RT状态、时间等信息。

4 数据监测与分析实例

实船数据的获取是检验所研究的1553B数据监测与分析软件工作正常与否的重要方面之一。利用1553B总线三端耦合器,将安装有EP⁃H6273 PCI板卡的便携式工控机置于实船被监测系统网络中,通过上述数据分析软件对采集到的1553B数据进行采集、显示及保存。试验流程图如图8所示。

由于选用的EP⁃H6273板卡是多功能的,通过软件还可以在便携式工控机上实现1553B总线数据的仿真传输功能,即同时实现BC、BM、RT间的数据通信。

以某采集过程为例:通过在中央控制台手动输入参数,获得导航系统经由数据交换仪与中央控制台之间进行通信的数据包A1,A20。由相关资料可知,数据包A1是以1 Hz的频率发送的,其内容为:日期、定位时间、本船纬度、本船经度、流速、流向、位置误差、航向误差、绝对速度误差、相对速度误差、龙骨水下深度等;数据包A20是以20 Hz的频率发送的,其内容为:本船航向、航迹、横倾、纵倾、指北速度分量、指东速度分量、绝对速度、相对速度、定位时间、校验码。试验通过改变某一参数来确定与之对应的代码,之后多次改变输入参数,进行多次采样。所采集到的数据以文本格式导出并保存,便于利用相关软件进行数据处理。

由监测到的数据得知:以0200为标志符的数据包出现20次后,紧接着出现一个以0100为标识符的数据包,由此知以0200为标志符的数据包就是A20数据包,以0100为标志符的数据包就是A1数据包。

总线数据代码与实际参数的对应关系包括许多数据常数,可分为经纬度常数、角度常数、距离常数、速度常数、时间常数等。从数据格式的表示可知,数据的范围为0~ffff。对不同类别的数据可通过一定的比例因子进行转换表示。如下式所示:

[y=a⋅i=14xi⋅116i]

式中:[a]为比例因子;[xi]为十六进制数据的从左边起第[i]位数;[y]为十进制数。

通过对键盘输入参数与相应存储器的数据比较进行分析。比如,求取纬度与其总线数据代码关系的方法时,根据采集到的数据,利用Matlab工具编程可得到比例因子[a=180°×2-31。]依次类推,可计算出大部分常数的比例因子,如纬度、经度、流速、流向、位置误差、航向误差、绝对速度误差、航向、航迹、横倾、纵倾等。

5 结 语

本文通过对1553B通信系统的组成及数据传输指令的分析,设计了一种1553B总线数据监测与分析的方法,在此基础上研制了数据监测与分析软件。以某型船舶控制系统为实例,对其1553B总线数据进行了监测、显示及保存。通过分离出有效数据并加以分析研究,得到了通信数据的报文格式、编码规律和具体含义,有助于实现系统各分设备之间的信号调试与检测等工作,并为处理其他类似问题提供了有益借鉴。

参考文献

[1] 熊鹰.MIL⁃STD⁃1553B总线控制器在SST中的应用[D].北京:中国科学院研究生院,2002.

[2] 杨春英.1553B数据总线的设计[J].舰船科学技术,1998(5):61⁃65.

[3] 石红梅.用FPGA实现1553B总线接口中的曼彻斯特编码器[J].单片机与嵌入式系统应用,2004(4):42⁃46.

[4] 侯青剑,缪栋.1553B总线及其在测控网络中的实现[J].计算与测量技术,2005,32(3):24⁃26.

[5] 刘云峰,缪栋,刘凡军.1553B总线及其在电液伺服系统中的应用[J].机床与液压,2004(9):106⁃108.

[6] 王锦超,李飞,沈明玉.网络数据包的协议分析算法设计与实现[J].计算机技术与发展,2006,16(4):30⁃32.

推荐访问: 分析研究 总线 控制系统 船舶 监测