程进军,刘 帅,王 丽,谭洋波
(空军工程大学 航空航天工程学院,西安 710038)
VXI总线多通道压力传感器仿真模块设计与实现
程进军,刘帅,王丽,谭洋波
(空军工程大学 航空航天工程学院,西安710038)
某型发动机系统主要由综控器、传感器、电机泵、电磁阀等部件组成,综控器是整个系统的核心控制部件,为测试综控器的性能是否符合要求,需要为综控器提供各种工况下的传感器(主要为压力传感器)数据进行仿真试验;采用真实的压力传感器开展上述工作,一方面需要构建复杂的工作环境,难度大、数据精确度难以保证,另一方面地面环境下的传感器信号变化难以实时调整,难以满足数据快速变化的需要;基于以上因素考虑,给出了一种基于VXI总线的多通道压力传感器仿真模块的设计方法,模块共有24路压力传感器电路,每路独立配置输出;模块以“VXI总线接口电路+VXI总线功能电路”的结构进行布局,VXI总线接口电路主要包括“CPLD+双口RAM”,对VXI总线指令进行解释、译码;VXI总线功能电路主要包括“96系列单片机+DA输出电路+两线压力传感器电路”,完成对真实传感器输出信号的电气特性仿真模拟;模块的驱动程序在LabWindows/CVI6.0的环境下编制,供用户进行程序调用和快速操作使用;该模块已在VXI总线测试系统中得到应用,实际情况表明,模块的输出精度高、信号调整方便、响应快,满足了综控器仿真深度测试的要求。
传感器;仿真测试;VXI总线;多通道
某型发动机系统主要由综控器分系统、传感器分系统、试验参数测量分系统、电机泵、热油阀门、冷油阀门和点火器等分系统、组件组成。综控器分系统是全系统的核心,它对传感器分系统和试验参数测量分系统采集的各测试点数据进行分析计算,按照预先指令和时序指令要求,控制电机泵、热油与冷油阀门和点火器等组件执行相应动作。在发动机系统地面试验过程中,需要向综控器注入各种状态变化的传感器数据,对综控器进行深度考核测试,以确保试验后的综控器在空中能够正常工作。
发动机系统中的传感器主要由18路各自独立的压力传感器组成,该传感器为两线制形式,电流输出范围4~20 mA,压力测量范围0~10 MPa。在综控器测试过程中,如把18路传感器全部接入测试回路中,一方面,搭建0~10 MPa的工作环境将会是一项非常复杂的工作,同时数据的精度难以保证,测试的可信性达不到要求;另一方面,传感器数据大范围的变化难以实现,难以形成动态变化的数据,达不到仿真深度测试要求。
综上,研制一套压力传感器仿真模块,代替真实传感器参与综控器的测试工作,显得非常必要。
当前,可选择的测试系统类型有:基于LXI的自动测试系统和基于PXI的自动测试系统[1-2]。上述两型系统存在测试资源不足难以满足系统测试需求的问题[3]。为此,基于VXI总线构建了发动机自动测试系统,多通道压力传感器仿真模块也是在VXI总线的基础上进行开发。
压力传感器仿真模块采用“VXI总线接口电路+VXI总线功能电路”的结构布局,如图1所示。图1中虚线的左边为VXI总线接口电路,虚线的右边为VXI总线功能电路。
图1 压力传感器仿真模块结构框图
系统的工作原理为:VXI总线接口电路中译码控制逻辑芯片选用Lattice公司生产的ISP1048在系统可编程芯片,负责将VXI总线的数据传输周期和中断周期的各个指令信号进行译码。ISP1048如果检测到VXI总线对本模块进行读写操作,则译码产生双口RAM芯片的控制逻辑,将本模块的各种数据放置到VXI总线上或将VXI总线上的数据下载到双口RAM中。模块中的CPU选用87C196KC 16位单片机,其功能是:1)对本模块执行VXI总线的初始化配置过程,将模块的厂商、模块ID、自检状态等信息传输到VXI总线中;2)循环读取VXI总线向本模块下达的控制指令,将该指令转换为对24路传感器仿真电路的驱动,产生相应的传感器信号;3)与ISP1048一起产生功能电路AD9764所需的时钟信号,以便在AD9764的数据线上数据稳定后产生上升边沿信号,将该数据锁存到AD9764中;4)实时采集24路传感器仿真输出电路的电流值,在产生异常紧急事件时(定义为24路传感器功能电路中任意一路出现过流情形),与ISP1048芯片一起向VXI总线申请总线中断,等待系统的处理。
VXI总线功能电路中模拟输出芯片选用AD9764,该芯片的数据位为14位,满足DA输出精度要求,转换速率最高可达100 MHz[4],满足综控器测试过程中传感器数据变化速率要求。发动机系统的压力传感器工作制式为两线制,4~20 mA电流输出,24 V电压源。考虑到该种信号特性要求,在AD9764输出的下一级加上电压转电流芯片XTR101,并增加外围调理电路[5],使电路输出满足4~20 mA标准要求。
系统的关键电路包括:VXI总线中断电路; AD9764时钟电路;传感器输出电路等。下面对上述电路进行介绍:
2.1VXI总线中断电路
压力传感器工作过程中,如果回路中有过流情形出现,容易烧毁芯片和电路,那么该种状况应该立刻进行处理,在模块中设置了电流监控电路(在输出端口回采串入电路的360 Ω电阻两端的电压)和VXI总线中断申请电路,VXI总线中断申请电路如图2所示。
图2 VXI总线中断申请电路
图2中,单片机的4个AD端口分时采集24路传感器电路中的电流,当发现电流超过20 mA时,单片机的P1口由低变高,该状态经74LS06变换后传输到ISP1048,同时单片机向ISP1048写入相应的故障状态字。ISP1048按照VXI总线中断申请服务协议向总线申请中断服务,部分VHDL代码如下所示:
REST<=SRES; -----本地CPU复位信号
DTACK<=DTACK1 OR DTACK2; -----数据传输周期和中断周期的数据传输应答信号
IACKOUT<=IACKIN OR DTACK2; -----中断许可菊花链输出信号
INTERSET<=(NOT SRES) OR (DTACK1 AND WRITE AND PQ3); -----本地CPU中断源置位信号
INTER<=DTACK1 AND (NOT WRITE); -----本地CPU中断源驱动信号
IRQSET<=(NOT SRES) OR DTACK2; -----中断请求置位信号
---中断事件产生进程段
PROCESS(SIGNAL1,IRQEVENTFREE)
BEGIN
IF(IRQEVENTFREE='1')THEN ----上电初始化或对06寄存器进行读操作释放VXI总线中断信号标志位
IRQEVENT<='0';
ELSIF(SIGNAL1'EVENT AND SIGNAL1='0') THEN ----外部输入信号的下降沿产生VXI总线中断信号标志位
IRQEVENT<='1';
END IF;
END PROCESS;
----中断请求信号驱动进程段
PROCESS(IRQSET,SIGNAL1)
BEGIN
IF(IRQSET='1') THEN
IRQ7<='0';
ELSIF(SIGNAL1='0' AND SIGNAL1'EVENT)THEN
IRQ7<='1';
END IF;
END PROCESS;
----逻辑地址和状态识别码驱动进程段
PROCESS(SRES,DTACK2)
BEGIN
IF(SRES='0') THEN
D00<='0';D01<='0';D02<='0';D14<='0'; ---在初始状态驱动数据线为低
ELSIF(DTACK2='1')THEN ---在中断允许时驱动数据线D00表明本模块的地址,D08,D09,D14表明状态识别码
D00<=NOT K6;D01<=NOT K7;D02<=NOT K8;D14<='0';
ELSE
D00<='0';D01<='0';D02<='0';D14<='0'; ---在DTACK2的上升沿过后及时释放掉数据线
END IF;
END PROCESS;
2.2AD9764时钟产生电路
24路压力传感器电路独立设置,每路的AD9764的时钟电路的上升沿的起始点都不相同,单片机难以提供如此多的IO口,在论文中,将单片机与ISP1048结合起来,充分利用ISP1048大容量门电路的优势,以此产生24路不同的上升下降沿波形。方法如下:单片机首先按照地址编排的规则向ISP1048和AD9764写入16位的数据(高两位不用),ISP1048延迟一定时间后产生时钟上升沿,尔后传输到AD9764,完成一次数据写入过程。时钟沿产生信号如图3所示。
图5 模块软件运行流程图
2.3传感器输出电路
压力传感器的信号输入电路如图4所示,该电路与两线制24V供电的真实传感器电气特性完全相同。
图3 时钟上升沿产生信号图
图4 传感器输出电路
图4中,外部负载电路的360 Ω电阻RL提供一个信号采集点,模块实时监控其上的电压值,如发生过流情形,按照图2的顺序,申请VXI总线中断。R1的增益电阻经过计算与实际试验,选定为2.5 kΩ。AD9764的两个输出端经过25 Ω电阻的偏置后,接入到XTR101的4脚和3脚,作为信号的输入,XTR101及外围电路将电路的输出变换为两线制。
系统的上位机驱动程序在Lab Windows/CVI6.0的平台上进行编写,按照模块的寄存器设置规则和物理量-数字量的对应关系,编制驱动函数,分别向24路传感器的寄存器中写入相对应的二进制代码,每路寄存器对应一路传感器的输出,寄存器从0x10开始编排,直到0x27。驱动程序中专门编写中断服务函数,以动态连接库形式进行发布,供应用程序进行调度。系统的软件运行过程如图5所示。
图5中,软件运行分为上位机和下位机两个部分,上位机程序用来响应用户操作,向VXI总线和模块发送通道指令代码,下位机程序则用来在VXI总线指令到来后执行压力传感器通道控制动作,向AD9764写入数据和时钟指令,产生压力传感器仿真信号。在上位机与下位机软件运行过程中,监控通道电流的中断服务程序被加载,实时处理通道电流输出过流异常事件,中断服务程序中的0xffff中为状态识别码。
图6 压力传感器仿真模块输出数据结果
压力传感器仿真模块研制调试完毕后,将其装入VXI总线机箱中,运行上位机控制软件,按照0.05 V一个步长的变化规则设置AD9764的输出,XTR101的外围接入24 V电压,负载接入360 Ω的电阻,检测360 Ω负载电阻上的对应电压,两者之间的关系曲线如图6所示。采用最小二乘法拟合曲线数据,经过计算,计算值与实测值最大误差为0.01%,满足实际测试过程中的精度要求。
论文提出的VXI总线多通道压力传感器仿真模块输出精度高、控制响应速度快、通道路数多、异常监控处理措施有效,满足发动机系统中综控器部件的深度测试的信号注入需求。该型压力传感器的信号接口具有通用性,可在各种类型的两线制压力传感器模拟测试场合中使用。
[1] 程进军,肖明清. 基于LXI的多总线融合的自动测试系统[J].微计算机信息,2008,1:130-132.
[2] 苟新宇,肖明清,王承孝.LXI总线自动测试系统拓扑结构研究[J].电子测量技术,2007,11:126-128.
[3] 张丽花,马捷中,翟正军.基于VXI、PXI和LXI的网络化混合测试系统设计[J].计算机测量与控制,2008,16:1059-1061.
[4]王幸之,王雷,翟成,等.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,2003.
[5]刘书明,刘斌.高性能模数与数模转换器件[M].西安:西安电子科技大学出版社,2000.
Design and Implementation of a Pressure Sensor Simulation Module Based on VXI bus
Cheng Jinjun, Liu Shuai, Wang Li, Tan Yangbo
(Aeronantics and Astronantics Engineering College, Air Force Engineering University,Xi′an710038,China)
The system of a certain type of engine consists of an integrated controller, sensors, a motor pump and solenoid valves, and the integrated controller device is the core of the whole system. To assess the performance of the integrated control device whether meets the requirements, simulation experiments were done based on all kinds of operating mode data of the sensors (mainly are pressure sensors). On one hand, using real pressure sensor to carry out the above work, it needs to build a complex working environment so that the workload is tremendous, and data precision is difficult to ensure. On the other hand, it is difficult to adjust the sensor signal in real time. Considering the above considerations, the paper presents a design of multi-channel pressure sensor simulation module based on VXI bus, which consists of 24 pressure sensor circuits that every single is an independent output. The module is based on VXI bus interface circuit and VXI bus functional circuit, and VXI bus interface circuit is mainly composed of CPLD and dual-port RAM with interpretation and decoding of VXI bus instruction; VXI bus functional circuit includes 96 series single chip microprocessor, DA output circuit and a dual-line pressure sensor circuit, completing real sensor output signal electrical characteristics simulation. The module driver compiling in Lab Windows/CVI6.0 environment is prepared for the user to carry out the procedure call and fast operation. The module has been applied in the VXI bus test system, and the practice shows that the module's output accuracy is high, the signal adjustment is easy to act, and the response is fast. It meets the requirements of the simulation deep test of the controller.
sensor; simulation test; VXI bus; multi-channel
1671-4598(2016)04-0241-03< class="emphasis_italic">DOI
:10.16526/j.cnki.11-4762/tp.2016.04.069
TP391.9
A
2016-01-19;
2016-02-26。
程进军(1979-),男,湖北枣阳人,副教授,硕士生导师,主要从事武器系统检测、故障与健康管理等方面的研究。