VMIC5565,PCI5565反射内存和xPC下的分布式实时仿真与测试系统设计
VMIC5565,PCI5565反射内存和xPC下的分布式实时仿真与测试系统设计
黄 誉,王新民,姚从潮
(西北工业大学自动化学院,西安 710129)
摘要:提出了一种基于PCI5565反射内存网和xPC的分布式半物理实时仿真与测试系统;采用xPC建立实时环境,通过PCI5565反射内存卡组成实时网络,由AD、DA、DI/O、RS422等板卡组成信号采集与处理系统,来实现控制系统的快速原型化和硬件在回路仿真与测试;详细介绍了系统的功能及分布式布局设计,测试系统设计,xPC环境下S-Function的编写、PCI总线的基本概念以及xPC环境下编写驱动的关键问题,在此基础上实现了测试系统板卡在xPC环境下的驱动开发;最终实现了半物理仿真与测试系统的集成;仿真结果表明,板卡都能稳定工作,系统通讯稳定,数据误差小,具有较强的开放性和参考性。
关键词:仿真与测试系统;PCI5565反射内存网;xPC;驱动开发;分布式; PCI-5565
0 引言
半物理仿真又称硬件在回路仿真对于系统的设计和控制律验证是必不可少的。它是一种在仿真系统中接入实物,以取代替相应部分的数学模型的仿真。在进行半物理仿真以及测试时与硬件相互通讯的I/O板卡是必不可少的,而且数据的交换要求具有强实时性。PCI5565反射内存网(REFLECTIVE MEMORY)
是一种有效基于共享存储器技术,具有严格的传输确定性和可预知性是一种有效的实时通信解决方案。一个先进的系统需要同时具备半物理仿真,硬件在回路实时测试,实时通信三大功能时。而且需要实现在进行半物理仿真的同时进行对硬件的实时监测,那么测试系统就需要与仿真系统相互交联。本文对基于VMIPCI5565和xPC环境下如何建立分布式的半物理仿真和测试系统分别进行了研究,对研究过程中的难点进行重点阐述,最总将两个系统进行集成,并通过在某飞控半物理实时仿真与测试中的成功应用,验证了方案的可行性。1 飞控实时仿真与测试系统总体设计
1.1 系统总体功能设计
飞控实时仿真与测试系统针对飞控系统设计开发的需要而建,提供飞控系统半物理仿真环境,能够对整个飞控系统进行半物理综合试验:包括飞控系统接口兼容性试验、静态特性试验、动态特性试验、故障模式影响试验、机内自检测试验,与其他系统交联试验等。具备对飞控系统设备部件的验收和测试,具有飞控计算机、飞控放大器、姿态传感器、速率陀螺组、伺服作动器、飞控操纵台等开环检测功能。能够进行人在回路的飞行仿真试验。
1.2 系统总体方案设计
飞控实时仿真与测试系统的基本结构如图1所示,由图可知系统采用分布式网络结构,构建一个通用的飞控实时仿真及测试环境。系统可分为3个分系统。
(1)仿真系统:为系统的主体部分之一,突破传统的一对一Host-Target模式实现了一对多的模式,完成控制律的设计,模型的搭建与下载管理,各部件的数学模拟,进行实时仿真以及半物理仿真,包括仿真主计算机、仿真目标计算机。
(2)测试系统:为系统的主体部分之一,完成实时半物理仿真时的信号采集与处理和信号转换功能,实时检测时对硬件进行检测。包括信号转化计算机、信号转化控制计算机、信号调理机箱、接线盒及附件(包括工作台、机柜、电源、电缆等)。
(3)模拟座舱及仪表系统:是仿真中用户和系统可以交互的设备,使系统可支持人在回路的飞行仿真试验,操纵人员可
通过驾驶盘、脚蹬、油门等对飞机进行操纵控制,并通过虚拟仪表显示,对飞机的参数进行监控。
图1 系统总体结构图
2 实时仿真与测试系统实现
2.1 实时仿真系统
实时性是半物理仿真中最需要关注和最重要的特性。作为一个通用的仿真系统,采用一套可靠、成熟且易于实现的操作系统是本系统稳定运行的关键。飞行控制系统作为一种强实时性系统,其相应的仿真必须是实时仿真。Mathworks公司开发的Matlab及其工具箱RTW(Real-Time Workshop)为实时仿真提供了一体化的解决方案。本系统构建时引入分布式布局的思想,不同于传统一对一的宿主机-目标机模式,设计一对多的分布式模式。基本结构如图2所示。采用RTW-xPC作为实时仿真的框架(仿真主计算机-仿真目标计算机模式),在半物理仿真系统中,飞机无法以物理部件的形式出现,为了保证实时性,飞机模型需要运行在实时仿真目标机上。同时,飞控系统中其他部件的实现方式均有物理和数字两种方式。当缺少该部件时,可借助实时操作系统保证部件模型仿真的实时性,将运行该代码的仿真目标计算机代替真实部件在半物理仿真系统中的位置。物理信号和数字信号之间的转换以及物理部件在系统中的接口均是通过信号转化计算机实现的。
2.2 实时网络设计
飞控计算机每10ms读取一帧数据,这要求仿真测试系统的仿真周期远小于10ms,因此,系统用于通讯的时间必须尽可能小。PCI5565反射内存网作为一种快速的实时网络,实时性强、可靠性高、使用简单,通常两结点数据传输时延迟为纳秒级或微秒级,比通用局域网快2个数量级,可以有效降低通讯时间。本方案中,PCI5565反射内存网的拓扑结构与仿真测试系统的分布
式结构易于结合。将仿真测试系统中的每个控制计算机作为PCI5565反射内存网的一个节点,每个节点配备一块美国GE公司的VMIPCI-5565反射卡作为强实时通讯接口。所有节点通过
GE公司的智能型HUB VMIACC-5595接入局域网,实现数据交互。这一方案不对XPC系统本身做任何修改,使系统获得微秒级的实时特性,并且可以完全利用xPC平台的优点构成一个基于PCI5565反射内存网通讯的测试仿真系统。PCI5565反射内存网连接示意图如图3所示。
图3 PCI5565反射内存网的连接示意图
2.3 实时测试系统设计中关键问题研究
本系统中选用xPC来实现测试系统的操作系统,那么在这个系统下对板卡的操作就显得尤为重要,也是测试系统与仿真系统融合的难点所在。测试机箱里I/O板卡为ADLINK的PCI-9114A作为模拟量采集卡(AD),PCI-6208V为模拟量输出卡(DA),PCI-7442作为DI/O板卡。数据的传递采用GE的PCI5565反射内存卡PCI-5565及RS422板卡QSCLP200-300。其关键点就在于如何在xPC环境下让这些板卡正常工作。文章详细介绍xPC环境下板卡驱动编写要点。(1)I/O板卡接口及访问方式
xPC目标中识别PCI板卡有2种方式:通过Vendor ID、Device ID(生产商编号、设备编号)和通过总线和插槽号。第一种方法更便于驱动程序的终端用户的使用,这是因为驱动程序能根据比编号自动查找PCI板卡。每一个PCI设备制造商都有一个唯一的16位制造商识别号VendorID,同样的各个制造商为他们生产的每一款板卡分配了一个唯一的1 6位设备识别号DeviceID。因此通过VendorID和DeviceID这两个编号就能自动P C I板卡并返回其P C I结构空间[3]。可以利用函数:rl32eGetPCIInfo((uint16_T)vendorID,(uint16_T)deviceId,&pciInfo)和basead= pciInfo.BaseAddress [*]
获取设备的基地址,并根据设备使用手册中提供的寄存器定义,通过对寄存器的读写来完成各种所需的功能。
(2)I/O板卡地址映射方式
I/O板卡地址映射方式有两种:内存映射和I/O映射。根据设备提供的用户使用手册及相应的PCI芯片数据手册,确定好板卡的映射方式。如果是I/O映射方式,则在编写驱动时需调用“io_xpcimport.h”中的I/O读写函数对板卡寄存器进行操作。函数见表1。
表1 I/O空间读写函数
I/O空间的读写函数
命令含义uint32_T rl32eInpDW(uint16_T port)读32位的双字uint16_T rl32eInpW(uint16_T port)读16位的字uint8_T rl32eInpB(uint16_T port)读8位的字节void rl32eOutpDW(uint16_T port,uint32_T value)写32位的双字void rl32eOutpW(uint16_T port,uint16_T value)写16位的字void rl32eOutpB(uint8_T port,uint8_T value)写8位的字节驱动程序通过这些函数对板卡寄存器进行操作。板卡寄存器由设备使用手册中给定,通常为:“基地址+偏移量”。
(3)内嵌与非内嵌式设备驱动
内嵌是在应用程序中生成例程的显式代码,消除了调用过程的开销,提高了性能却大大增加了开发和维护的开销;非内嵌是基于例程的调用,编写灵活方便,移植性好,因而得到了广泛的使用。本文编写的为非内嵌式设备驱动。
3 仿真结果与分析
3.1 驱动测试仿真模型搭建
以凌华PCI-6208V和PCI-9114A为例,进行驱动测试。AD板采4路电压,其中3和4两路送入DA板进行DA转换,DA板进行4路DA转换仿真模型如图4所示。
图4 驱动测试仿真模型
3.2 驱动测试仿真结果分析
驱动仿真中,AD板卡采集思路电压值为:AI0(+3.28V)、AI1(+2.45V)、AI2(+5.02V)、AI3(-2.48V)。其中,AI2与AI3作为DA板卡的输入信号进行DA转换,DA板卡的AO0转换10V/10Hz的方波信号,AO1转换5V/10Hz的真弦波信号,AO2,AO3来源于AI2,AI3。仿真结果如图5所示。
图5 DA转换结果
AD采样结果分析如表2。表2表明在本文自行开发的驱动下。AD板卡在xPC环境下工作正常,采样误差均在5‰范围之内。DA板卡转换结果参见图6(示波器截图)。图中CH1采集显示DA板卡的AO0(10V/10Hz)的方波,CH2采集显示DA板卡的AO1(5V/10Hz)的正弦波,CH3采集显示DA板卡的AO2 (+5.02
V),CH4采集显示DA板卡的AO3(-2.48V),由图六中的波形采集结果可表明,DA板卡在本文自行开发的驱动下,板卡在xPC环境下工作正常,误差小,波形连续,光滑,无畸变。
3.3 实时仿真结果分析
以某型飞行器非线性模型为被控对象,做协调转弯分布式数字仿真和转台在回路的半物理仿真。给定初始高度为2 000m,初始速度为200m/s。模型封装如图7,接入转台半物理仿真速度仿真结果如图6所示。
图6 硬件在回路实时仿真速度仿真结果
本文构建的分布式实时仿真结果和硬件在回路仿真的结果表明,在给定飞行初始值的情况下,飞机速度最终稳定在200m/s,飞行高度误差为2m,侧滑角误差很小,近似于0,调
节过程平稳无剧烈变化。实时仿真波形连续,无畸变。
4 结束语
本文构建的仿真与测试系统实现了分布式仿真思想和实时仿真技术,使用PCI5565反射内存网络技术不仅克服了传统局域网数据传输的缺点,而且在数据传输速度和处理速度上有了显著提高,测试系统采用xPC作为操作系统,实现了测试系统与仿真系统融为一体。实现了自定义I/O板卡的驱动开发,解决了xPC工具箱自带驱动不足的问题。测试结果表明,所开发的驱动程序稳定可靠,数据误差小,可移植性好。系统已经在工程投入了应用。实践表明本系统具有设计合理,通信稳定,数据(4)根据支持向量机预测模型对系统未来状态的预测结果进行残差阈值检验,做出故障预报。在libsvm-3.11软件[8]的基础上,利用ε-SVR算法进行预测。默认核函数为径向基核函数,C和径向基宽度γ 进行反复交叉比对测试,预测精度用均方误差Mse表示:
Mse= 1l
Σl
i=1
f(xi)-yi
2(9)
某单格电压预测曲线如图5所示。图中○表示实际值,△
表示预测值。
图5 单格电压预测曲线
对单格电压数据训练,最终确定C=89.77,γ=0.012,训练集Mse=0.0032,测试集Mse=0.0049。总电压预测曲线如图6所示。对总电压数据训练,最终确定C=97.66,γ=0.011,训练集Mse=0.0037,测试集Mse=0.0035。图6 总电压预测曲线对温度数据训练,最终确定C=89.84,γ=0.014,训练集Mse=0.0042,测试集Mse=0.0025。预测曲线如图7所示。由系统运行界面和预测曲线可以看出,系统能实时显示各监测单元数据,并准确地预测参数变化趋势,实现故障早期(4)根据支持向量机预测模型对系统未来状态的预测结果进行残差阈值检验,做出故障预报。在libsvm-3.11软件[8]的基础上,利用ε-SVR算法进行预测。默认核函数为径向基核函数,C和径向基宽度γ 进行反复交叉比对测试,预测精度用均方误差Mse表示:
Mse= 1l
Σl
i=1
f(xi)-yi
2(9)
某单格电压预测曲线如图5所示。图中○表示实际值,△
表示预测值。
图5 单格电压预测曲线
对单格电压数据训练,最终确定C=89.77,γ=0.012,训练集Mse=0.0032,测试集Mse=0.0049。总电压预测曲线如图6所示。对总电压数据训练,最终确定C=97.66,γ=0.011,训练集Mse=0.0037,测试集Mse=0.0035。
图6 总电压预测曲线
对温度数据训练,最终确定C=89.84,γ=0.014,训练集Mse=0.0042,测试集Mse=0.0025。预测曲线如图7所示。由系统运行界面和预测曲线可以看出,系统能实时显示各监测单元数据,并准确地预测参数变化趋势,实现故障早期
评论