1553总线测试仿真系统设计与实现
1.2.4 实时测试软件界面设计
实时测试软件界面设计原则是界面友好,为用户传递的信息准确无二意性,可操作性要强。实时测试和事后回放主界面中右侧表格中奇数行,显示消息中每个元素的名称,是从ICD数据库中读取的内容,偶数行显示每个元素总线数据的解算结果。由于采用了多线程设计,用户在测试和回放过程中可以随时增加需要测试显示的数据块,处理软件会立即响应,而不会出现单线程软件中的死机现象。测试主界面如图3所示。
1.3 1553B信号仿真软件设计与实现
1.3.1 仿真软件结构设计
仿真软件由消息配置、消息发送和停止发送3个模块组成。其中,消息配置包括消息块信息的增、删、改等消息编辑功能,消息编辑包括消息名称定义、消息格式选择、消息选项设置、指令字配置和数据字配置共5部分,软件结构示意图如图4所示。
仿真软件的设计思想是要准确地控制总线多功能解调卡,要深入了解并掌握每个API函数的意义和使用方法,如何将API函数和实验室需要的总线数据紧密结合,使板卡的功能发挥到极致,是在软件设计中比较关键的技术环节,该板卡的所有API函数都封装在动态链接库(同时提供了常规函数库)中,因此在软件设计时必须确定采用哪种函数库,和采用哪种调用方法,从而在软件实现方法上实现突破。针对这些情况下,通过对动态链接库和常规函数库的比较分析,调用方法的比较分析,最终确定本系统开发所采用的API函数调用技术。
1.3.2 动态链接库技术
动态链接库与常规函数库的区别在于:常规函数库,连接器复制它需要的所有库函数,并把确切的函数地址传给调用这些函数的程序。而对于动态链接库,函数存储在一个独立的DLL文件中。在创建Windows程序时,链接过程并不把DLL链接到程序中。直到程序运行并调用其中的一个函数时,该程序才要求给出这个函数的地址。
根据以上对2种不同函数库技术特点的分析,本系统软件在设计时,采用了板卡供应商所提供的API函数的动态链接库。
调用一个存储在动态链接库中的过程或函数有静态和动态2种方式。静态调用指在单元的Interface部分用External指示字列出要从DLL中调用的过程,DLL和DLL中的函数在程序执行前被加载。静态调用所需要的代码量少,但它有2个缺点:一是当要加载的动态链接库不存在或在动态链接库中没有找到要调用的函数时,程序就会停止运行;二是一旦动态链接库加载,就一直停留在应用程序的地址空间。
动态调用不需要单元的Interface部分把要调用的所有函数列出,只要调用前引入,用Loadlibrary函数指定需要加载的DLL,用GerProc Address函数指定需要调用的函数。如果指定的DLL出错,最多时API调用失败,不会导致程序终止。
基于对动态链接库2种调用方式的分析、对比实验,1553总线测试仿真软件采用动态调用动态链接库的方式,实现API函数的调用。
1.3.3 1553B仿真软件实现方法
仿真软件算法根据国军标《飞机内部时分制指令/响应式多路传输数据总线》中的消息格式,以及不同格式的消息结构特点,仿真出总线控制器和各个远程终端之间的总线工作状态。总线系统中消息格式分为总线控制器向远程终端的传输BC RT,远程终端向总线控制器的传输RT BC,远程终端向远程终端的传输RTRT共3种格式。
仿真软件算法实现步骤如下:
(1)采用动态调用板卡控制函数的动态链接库,用Loadlibrary进行加载;
(2)采用GerProcAddress函数指定需要调用函数的地址,仿真系统作为1553总线系统中的BC进行信号仿真;
(3)对1553B多功能卡进行设置,包括板卡初始化、板卡;
(4)根据用户需要仿真的消息结构、周期、时间间隔、通道号(A、B总线)和消息内容组建消息包;
(5)根据用户需要仿真的总消息中各个消息包的结构,建立消息链标;
(6)启动BC,对1553B信号进行仿真输出,如果是周期消息就一直输出,直到用户给出停止操作,如果是非周期函数,执行一次发送后就不再发送。
仿真软件的逻辑流程图如图5所示。
仿真软件用户界面主要是消息配置和消息编辑界面,分别如图6,图7所示。
2 系统测试与结果分析
2.1 系统测试方法
系统功能和性能的测试是在实验室进行的,利用成熟的1553B信号源,采取先进行单独的航电子系统测试,然后再进行综合航电系统测试的方法来进行该系统的实时采集、实时处理、实时记录等功能,用现有飞机的飞行数据测试了事后回放和事后处理模块的性能。
首选测试方法是与其他系统进行实例对比,通过不同系统之间测试结果的一致性来判断结果的准确性,例如:总线控制器给雷达发一个消息,将本系统监测到的消息与信号源发出的消息进行一致性对比。
第2种方法是采用理论衡量法,总线上的某个子系统执行了某条指令之后,按照国标军标的规定,理论上本系统应该出现一种测试结果,然后将本系统实际的测试结果和理论测试结果进行对比,确定双方的一致性。
第3种方法是采用不同的分析处理方式对总线数据进行分析处理,将结果进行对比,对于本系统来说,将实时测试模块的测试结果与事后处理软件的分析处理结果进行对比。
2.2 系统测试结果分析
通过对整个系统性能进行的测试,均达到了实际工作要求的指标,ICD管理软件对ICD信息的分解和管理达到100%的准确率,满足用户需求;系统时延的测试结果是小于等于60 ms,完全满足用户提出的测试仿真系统小于等于70 ms的时延;在消息采集完整性测试中,通过对记录数据进行随机查找指令字和事后分析处理的方法进行测试,测试结果都表明,总线上的消息百分之百地的被采集并记录下来,没有丢消息的现象。仿真消息能够准确地传输到用户所设定的实验室总线终端中,而且消息内容准确无误;系统连续开机8 h测试,系统运行非常稳定。
3 结语
根据试飞测试需求,选用以1553B总线信号解调板AEC1553-PCI-FBC31RT-2/S2为硬件基础,设计和开发的1553B总线测试仿真系统,采用通用化、标准化、模块化的设计思想,具有良好的实用价值,可以作为运输机上百分之百地1553B信号采集、记录装置、试飞数据地面处理系统、作为进行排故实验时的信号源,目前已应用到各个重点型号中。具有良好的扩展性,可以通过技术改造后,形成体积小巧的百分之百地1553B信号采集、记录单元,应用到歼击机和直升机上。
- 通用1553B总线的信息监控系统的设计(04-06)
- 1553B电缆网络测试方法研究(06-22)
- MIL-STD-1553A/B数据总线自动测试仪的设计(03-06)
- CAN总线系统测试技术(05-11)
- 可以处理6.4Gbps以上数据率的创新型串行总线测试方法(06-23)
- 基于CAN总线的GaAs光电阴极制备测控系统(07-27)