1553B 总线数据传输仿真软件的设计与实现
2022-01-06刘晓阳江志东高伟伟杨明钦
刘晓阳,江志东,高伟伟,杨明钦
(1.海军航空大学青岛校区,山东青岛 266041;2.中国人民解放军91504 部队,浙江台州 318000)
近年来,1553B 总线已经成为中国现役空中力量最主要的先进航空电子系统数据总线,广泛作为三代机的主干网络,在四代机中也有重要的局部应用[1]。1553B 总线具有双向传输特性,实时性和可靠性高,不仅广泛用于航空、航天领域[2],也可应用于舰艇、潜艇、坦克和战车上[3-4]。由于1553B 总线应用的广泛性[5],对其的学习和研究就变得至关重要。但是目前院校实际教学中,由于院校没有专用的1553B总线教学实验室,1553B 试验箱价格昂贵,软硬设施与教学目标存在一定差距,欠缺合适的教学工具和学员自主学习工具,令1553B 总线的教学往往停留在概念性认识阶段[6]。
该文在研究1553B 总线数据传输的基础上,开发了一款满足院校培训教学的1553B 总线仿真软件,目标是满足教学培训与自主学习需求,提高学员的航空电子设备维护水平。
1 1553B总线与开发工具简介
1.1 1553B总线简介
MIL-STD-1553B 总线全称为数字时分制命令/响应型多路传输数据总线[7-8],主要由四部分组成:总线控制器(BC)、总线监视器(BM)、远程终端(RT)[9]和余度电缆(物理媒介)[10]。在总线上传输的数据码应是曼彻斯特Ⅱ型码。总线上的协议字分为三类:命令字、数据字、状态字[11]。命令字传输的是BC 的命令,数据字、状态字传输的分别是数据和状态信息[12]。
1.2 开发工具简介
该软件在Windows 操作系统下,使用Visual Basic 6.0 集成开发工具,面向用户,界面丰富,接口方便[13]。Visual Basic 6.0 简称VB 6.0,紧密联系Windows 操作系统[14],具有可视化的设计工具、结构化的程序设计语言与简明的程序集成开发环境[15],极大提高了该软件的开发效率[16]。
2 数据通信需求分析
针对实际教学培训中学员较难理解的问题,该软件选择3个1553B总线实验进行仿真,如图1所示。
图1 软件总体框架
2.1 基础通信需求
1553B 总线基础通信实验是学习1553B 总线的基础,可视化要求可在时间轴上显示传输的命令字、状态字、数据字。命令字要求配置的内容应该设置为4 项:1)RT 地址(可选31 个,当选择广播模式默认为11111);2)T/R 位(选择接收命令字或者发送命令字);3)子地址/方式(可选30 个,当上一步中选择了方式控制模式,默认为00000 或11111,则无法更改);4)数据字计数和方式代码(发送或接收的数据字个数为0~32 个,若启用了方式控制,则代表需要执行的方式命令,默认填入无法更改)。
真实航空电子系统上的数据传输是按照大周期进行,大周期内又有多个小周期,小周期内又有多个消息。所以,文中进一步提出关于1553B 的总线消息调度实验。
2.2 总线消息调度需求
为了教学的实用性和设计的便捷性,该文只根据刷新频率(传输周期)安排消息传输。在所有消息中,取最长的周期传输时间间隔(即刷新频率最低)作为大周期的参考,取最短的周期传输时间间隔(即刷新频率最高)作为小周期的参考。该实验模拟的是用户自定的航电系统消息情况,而真实航电总线上的各RT 消息频率是按照ICD 调度表进行传输的,因此由概况具体过渡到基于ICD 的消息调度实验。
2.3 基于ICD的消息调度需求
接口控制文件(Interface Control Document,ICD)是定义和描述组成航电各分系统或电子设备之间接口性能、技术特性及使用说明的技术文件[13]。该实验模拟一个小型航电系统的运行过程,是对该教学仿真软件实验内容的综合提炼与升级。对ICD 消息传输的可视化需求有在时间轴上显示总线ICD 消息块,实时显示小周期时间与进度,根据用户操作触发非周期消息,查看或者隐藏指定发送设备在时间轴上所有的消息小块,以此直观地认识周期消息的传输情况。
3 可视化设计与实现
用户启动软件,弹出学习模式对话框,对应实际教学需求,选择3 种实验模式。软件实现步骤:在Microsoft Visual Basic 6.0 平台上建立标准exe 工程文档;按照方法新建窗体、对话框、模块以及各种所需的控件,并对照软件逻辑流程图提出的需要,在建立的窗体、对话框、模块、控件中写入实现功能所需的代码,按当前指定的目标功能实时调试纠错;整体完成后编译生成exe 文件,对整体进行调试并记录问题;修改工程文件;编译生成可执行文件;投入使用获取用户反馈并根据实际情况进行优化。
3.1 1553B总线基础通信实验
该实验实现了1553B 总线的基础数据通信,能够仿真一则消息的具体传输情况。如图2、图3 所示,为RT->RT 传输模式下的操作界面,大致把界面功能划分为:1)学习说明类内容;2)字格式配置区功能;3)传输过程可视化的功能操作与实现。
图2 学习说明类内容与字格式配置区
图3 传输过程可视化的功能操作与实现
3.1.1 学习说明类内容
学习说明类内容对应学习说明、命令字配置表、数据字格式表、状态字格式表。学习说明按钮用于打开存有点对点传输模式学习说明文件的窗体;命令字配置表按钮用于打开命令字1 的配置表,此表的分类办法思路新颖,将不同项的分类和配置命令字1 的顺序相对应,直观性更强,帮助用户快速选择查阅;数据字格式表和状态字格式表按钮分别用于打开对应的字格式表。重选学习模式除了关闭窗口外,还可清除当前显示内容与初始化操作。
3.1.2 字格式配置区功能
在配置过程中消息模式标题跟随配置命令字1框的内容实时更新变化;启用方式命令时,配置命令字1 框方式代码的项根据前面RT 地址、T/R 位和子地址/模式框的所选项实时改变;如果进入RT->RT、RT->RT(广播)这两种消息模式,激活配置命令字2框,那么配置命令字2 框会依据协议规范,关联随动配置命令字1 框;根据不同的消息模式激活对应的数据字配置框。
3.1.3 传输过程可视化
传输过程可视化的实现依赖于数据字配置区下方的4 个功能类按钮:完成配置、生成字码和MII 波形、执行传输流程演示、拓扑图示意流程。对应的主要功能:计算和配置输入信息、生成对应的二进制、十六进制码以及曼彻斯特Ⅱ型编码波形图、识别消息模式并且对应执行文字以及视图流程演示、识别消息模式并显示对应拓扑示意图。
3.2 1553B总线消息调度实验
1553B 总线消息调度实验根据用户输入的频率参数调度安排周期传输内容,模拟总线消息传输的大致过程。图4、图5 为消息调度实验界面,图4 中为绘制分段有序的小周期,按顺序将小周期连接,即可组成当前自定频率下数据传输的一个大周期;图5中为大周期消息传输演示,在这个部分将显示一个完整的大周期,并设置运行指针来表示大周期运行的情况。
图4 1553B消息调度小周期部分界面
图5 1553B消息调度大周期消息传输部分界面
3.3 基于ICD的消息调度实验
实验较为完善地模拟了一个小型航电系统在一次空空火力打击时总线上消息的传输情况,是对1553B 总线数据传输实验内容设计的一个总结和提高。
主要开发流程:设计ICD 表,根据ICD 表消息内容计算安排周期消息调度分配;实现周期消息传输模拟;实现非周期消息实时插入模拟;实现单独显示指定发送设备消息功能。周期消息传输可视化实现思路为设置PictureBox 控件,合理划分显示空间,根据数组内存储的所有RT 消息内容,在PictureBox 控件上绘制周期传输的小块,以及显示时间指针符,需要实时显示的代码应该放置在定时器控件内。用户单击全部运行按钮,并启动定时器。单击暂停则将定时器的使能属性设置为禁用(False),单击继续则设置为启用(True),定时器继续运行。在一个周期传输完成之后,应当清空当前的PictureBox 内容,并将定时器使能属性设置为禁用,使得能够用Call 方法调用全部运行按钮中的过程函数,实现一个循环演示的效果。图6 为总线ICD 消息序列运行的主要实现结构。
图6 总线消息序列运行实现结构
4 结束语
该文在详细分析1553B 总线数据传输的基础上,用Visual Basic 6.0 设计开发了一款应用于教学的1553B 总线仿真软件。结合院校教学实际,详细分析了软件开发需求,实现了1553B 总线基础通信实验、1553B 总线消息调度实验、基于ICD 的消息调度实验。通过交互式的实验设计,提高了实验操作自由程度与纠错能力,可更好地发挥用户的主观能动性,通用性强,较好地满足了当前1553B 总线培训教学中的实际需求。