基于IVI规范的429驱动程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于I V I规范的429驱动程序设计
程明阳,陈锦利,琚保金
(中国空空导弹研究院,河南洛阳 471009)
摘 要:结合AR I N C429VX I模块,参照其他类的I V I规范,探讨了429驱动函数的规划方案,由于I V I有关429通讯类仪器尚未制定类驱动规范,本文实际上也就是尝试制定了一种简单通用的429仪器类驱动规范,按照这一类结构,已经成功实现三个公司429仪器的互换,同时,对比较关键的I V I驱动程序的编制方法和配置文件作出了详细的定义说明,该方法和规则对于其他的虚拟仪器驱动程序的开发具有参考与推广价值。
关键词:I V I规范;仪器互换;驱动程序;程序设计;仿真
中图分类号:TP311.11 文献标识码:A 文章编号:1673-5048(2007)02-0047-04 Desi gn of429Dr i ver Based on I VI Speci fi cati on
CHE NG M ing2yang,CHEN J in2li,JU Bao2jin
(China A irborne M issile Acade my,Luoyang471009,China)
Abstract:This paper intr oduces a design of the429driver which is used f or the AR I N C429VX I module.For the I V I f oundati on has not released429communicati on class,actually,this paper tries t o design a kind of si m p le429communicati on class s pecificati ons,refer t o other I V I class s pecificati ons. Based on this class s pecificati ons,the interchange of three429instruments made by different compa2 nies have comp leted.The s oft w are architecture,structure,and the p r ocedure of I V I driver is als o indi2 cated in detail.This method and I V I s pecificati ons are valuable t o devel op the driver of other virtual instru ments.
Key words:I V I s pecificati on;instrument interchangeable;driver;p r ogra mm ing design;si m ulati on
0 引 言
I V I技术是由I V I基金会(I nterchangeable V ir2 tual I nstruments Foundati on)在VX I Plug&Play(简称VPP)基础上为仪器驱动程序制定的编程接口规范。采用I V I规范编写的驱动程序进一步提高了仪器驱动的执行性能,达到了真正意义的仪器互换;应用程序可以实现完全独立于硬件,并具备仪器仿真的功能,对于延长应用程序的生存周期、增强软件的可维护性、加快TPS(Test Pr ogra m Set)的开
收稿日期:2006-02-16
作者简介:程明阳(1978-),男,河南南阳人,工程师,研究方向是测控技术、图像处理、计算机软件。发具有极其重要的作用。AR I N C429接收发送模块是一种基于VX I寄存器基的模块,主要用于飞机、机载武器系统等的Mark33数字信息传输系统(D I TS)上,实现数据的接收和发送。目前,有关AR I N C429的接口模块、板卡品种很多,为了实现各型429模块的互换使用,编写仪器驱动程序时采用I V I标准进行设计就显得十分必要。
1 I V I体系结构
图1是I V I体系结构框图,从图中可以看出, I V I驱动程序比VPP联盟制定的V I S A规范更高一层。它扩展了VPP仪器驱动程序的标准,并加上了仪器的可互换性、仿真和状态缓存等特点。测试程序可以直接调用仪器具体驱动,也可通过类驱
2007年第2期2007年4月
航空兵器
AERO W E AP ONRY
2007No.2
Ap r.2007
动来调用具体驱动。采用直接调用方式时,可以执行状态缓存、范围检查及简单的仿真,但是如果更换仪器,则需要修改测试程序。采用间接调用方式时,测试程序通过逻辑名调用类驱动中的函数,I V I 引擎通过逻辑名检查I V I 配置文件,以确定正在使用的具体仪器,并动态地调用具体仪器驱动中相应的函数,从而与仪器建立会话连接,并将会话句柄返回给类驱动程序,然后,类驱动程序其他函数通过句柄发送仪器控制命令和接收数据,这些函数同样被I V I 引擎映射到具体仪器驱动中的函数,以完成对硬件仪器的I/O 操作。更换仪器,只需要修改配置文件中的信息,使程序中的逻辑名指向新的仪器和仪器驱动程序,因此不用修改测试程序代码
。
图1 I V I 体系结构框图
2 429驱动函数规划
本文以自研AR I N C429VX I 模块为例,介绍429模块的驱动程序的编写。429模块主要用来模
拟载机传给被测产品的飞行任务,接收被测产品通过429总线发来的数据,并把数据传给主控计算机进行处理。该模块具有VX I 总线接口,能通过查询和中断两种方式与主机通讯。它有2个发送通道、4个接收通道,是VX I 总线专用测试模块。另外,为配合测试设备的自检功能要求,该模块还具有相应的自检功能。为了实现429模块的正常通讯,作为连接虚拟仪器物理硬件和测试应用程序的桥梁和纽带,将429驱动程序的函数规划如表1所示。
429VX I 模块的所有功能几乎都可以通过这些
函数得以实现,在测试程序使用时,可以按照功能
调用这组软件模块,而无需了解和掌握底层的仪器指令。在实际调试过程中可以先通过仪器的自发自收来验证硬件和软件的正确性,这一点在模块的软硬件融入大系统之前是十分必要和必须的。
即和其他通讯模块验证方法一样,在硬件上将发送端与接收端短接构成回路,软件的操作步骤可以按照图2所示流程图进行。
表1 429驱动函数规划表
序号
函数名
功能
1init 429仪器初始化
2cl ose 关闭429仪器
3self_test 429仪器自检4reset 429仪器系统复位
5I nput D ataT oBuf 将发送数据送往发送缓冲区6StartSend 设置发送模式并开始发送7St opSend 停止发送
8QueryReceiveEnable 创建/撤销(根据参数)查询方式
接收数据线程9QueryReceive 查询方式接收数据线程10Start Receive 设置接收方式并开始接收11St opReceive 停止接收
12Open I nterrup t 开中断,允许中断接收13Cl ose I nterrup t 关中断,停止中断接收14Out put D ataFr omBuf 读取接收数据15ReceiveReset 接收复位16SendReset 发送复位
17
RW _I nterrup t
1.读取中断个数,
2.中断数清零
18ReadDataFr omSH I SH I B uf 读接收实时缓冲区中的数据19
W riteToFile
将接收到的数据存入文件
在上述流程中,接收数据可以有两种方式,一种是查询方式,通过定时查询标志位进行实时接收;另一种方式是通过响应VX I 总线发出的中断信号来接收数据,这里称之为中断方式。QueryRe 2ceive 函数是被QueryReceiveEnable 创建或释放的
子线程,同时ReceiveReset 、SendReset 、R W _I nter 2rup 等函数是根据使用需要配合发送和接收的反复启停可以反复被调用的,从而保证收发准确无误地进行。
3 429模块I V I 驱动程序的具体实现
目前,I V I 基金会已经制定了示波器/数字化仪(I viScope )、数字万用表(I vi D mm )、任意波形发生器/函数发生器(I viFGen )、开关/多路复用器/矩阵(I viS witch )及电源(I vi D CP wr )、功率计(I viP 2wr M eter )、频谱分析仪(I viSpec An )、射频信号发生器(I vi RFSigGen )8类仪器的规范。像429通讯模块这样的仪器虽然没有现成的标准规范,但程序员只要参照其他仪器的I V I 规范开发自己仪器的类驱动程序和具体驱动程序,就可以实现仪器的互换性。I V I 驱动程序一般是以DLL 动态库的形式存
・
84・航空兵器 2007年第2期