基于PC/104脉冲高度表综合检测系统的研制
扫描二维码
随时随地手机看文章
关键词:脉冲高度表 PC/104 可编程逻辑器件 多线程
1 引言
高度表综合检测系统是国产和俄制军用体制脉冲高度表的自动检测系统。该检测系统可对机载高度表系统(包括PB-21型高度表系统和双座机WG-6高度表系统)进行综合性能检查和调试,是飞机大修厂必备的检测设备。它既可以将飞机上高度表系统的通电检查转移到实验台上进行,便于采用多种手段实施全方位系统测试;又可以对单个设备进行定性检查和排故,为部队和工厂提供了方便的测试手段。
2 高度表综合检测系统的简介
高度表综合检测系统以PC/104工业控制计算机为核心,通过PC机的地址总线和数据总线联接不同功能的接口板进行自动与人工相结合的检测完成整个测试过程。检测系统功能如方框图1。
图1 检测系统功能方框图
两个高度表有许多检测项目是相同或相近的,设计的重点和难点应该放在РВ-21高度表检测部分的设计上。两个检测设计中的有些部分可以复用,如速度/范围模拟单元模块和电压测量的A/D模块。在软件设计中则分别设计了两个检测界面,并根据测试项目和测试流程的不同而编写了检测程序。检测设计方面,在完成所有单项检测的基础上增加了多个检测项目的连续检测,并对检测结果提供了保存、查阅和打印等功能。
3 系统硬件电路的设计
3.1系统的组成及功能
检测仪硬件部分主要由PC/104核心控制系统、串并行码转换单元、检验组合单元、速率/范围模拟单元、电压测量单元等几部分组成。
串并行码转换单元功能主要是将来自PB-21高度表的32位串行码(或者是由检验组合单元产生的32位模拟串行码)转换城并行的二进制码,一路经PC/104处理后,送入显示单元显示,另一路送检查码位电平的检查孔做人工检查。
检验组合单元由串行码模拟电路和译码电路两部分组成,串行码模拟电路的功用是模拟PB-21高度表工作时产生的32位串行码,译码电路的功用是把从串并行码转换单元过来的并行二进制“地址”码送到地址信号译码器形成地址信号。
速率/范围模拟单元主要用于模拟PB-21高度表(或WG-6高度表)输出测距脉冲延迟变化的速率和高度范围。
电压测量单元的功能主要是将被测电压信号取样后,送入模数转换电路,经转换后,数据由PC-104总线送入PC/104控制系统,经相应优化处理,送到显示单元按数字方式直接显示。
3.2 串并行码转换的CPLD实现
串并行码转换单元电路主要是将来自РВ-21高度表或者是由综合检测仪产生的32位双极性串行码转换成并行的二进制码,串并行码转换单元电路包括节拍脉冲产生模块、码型变换模块、分频模块、进位脉冲和清零脉冲进提取模块、移位寄存器和存储寄存器等几部分。如图4所示,32位双极性码经电路滤波成单极性码a码和b码后,a码和b码相或形成50KHz的连续节拍脉冲。在节拍脉冲的触发下依次将输入数据送入移位寄存器,在进位脉冲的触发下数据经移位寄存器存放至存储寄存器中,然后数据经数据总线送入PC/104处理后到显示单元显示。
图2 串并转换单元设计结构图
其中jpmc(节拍脉冲)和fzmc(辅助脉冲)在“进位脉冲和清零脉冲提取模块”中将4位间歇期用8位计数器计数,在计数的第5位形成jwmc(进位脉冲)、第8位形成qlmc(清零脉冲)。在jpmc触发下将32位串行数据依次送入移位寄存器中,而后在jwmc触发下将移位寄存器中的数据一次并行送入存储寄存器中,形成32位并行码。最后在jpmc和qlmc触发下将“移位寄存器”清零,等候下一个32位数据的输入。图3显示了串并码转换仿真波形。
3.3速率/范围模拟单元的设计
调整范围实现高度表测距范围程控距离调整。对速率进行模拟时,采用可编程器件和数模转换器产生频率可调的三角波电压发生器,通过调整三角波的频率,就可调整测距脉冲延迟变化的速率。速率和范围模拟电路设计中共用了一个D/A数模转换器件(美国AD公司的AD569)。图4为控制电路的设计框图。整个控制电路的设计思想主要是把模拟信号设计数字化。
图3 串并码转换仿真图
图4 控制电路的设计框图
电路进行范围模拟时,D/A转换电路接收计算机16位程控数据输入;进行速率模拟时,D/A转换电路接收计数器16位数据输入。
3.4电压测量单元的设计
电压测量单元主要用于完成对PB-21高度表(或WG-6高度表)规定需检测电压的测量,并将测量数据及时准确的返回给PC/104核心控制系统,经PC/104处理后,送入显示单元实时显示。电压测量单元。图5为电压测量原理图。
图5 电压测量原理图
以测量交流115V电压为例,对测量流程做简要说明。当对交流115V电压进行测量时,首先由计算机发出指令,控制继电器组把115V电压接入测量电路,然后,由计算机进行交直流判断,并发出接通交流开关指令,交流115V电压被接入交流取样电路,取样后的交流电压被送入交直流转换电路完成交直转换和滤波,转换后的直流电压送入A/D转换器进行模数转换,模数转换后的数据经PC-104总线接口送入计算机进行修正和处理,最后送到显示单元实时显示。
4 软件系统的设计
采用Borland公司C++Builder 6.0软件开发环境,在面向对象的开发思想下,着重强化软件的可靠性,有效性,智能性和自动化的特点,并在覆盖了大修检测设备全部设备的基础上,增加了一些重要的辅助检测功能,比如报表打印,操作权限机制,工艺参数标准定义等。
4.1 人机交互部分
进入调度主程序后,针对РВ-21高度表和WG-6高度表检测而分别设计了两个检测界面。每个管理主程序大致可分为操作界面设计、状态信号检测模块、控制信号产生模块、数据库管理模块、显示管理模块、硬件操作模块等若干部分,具体组成见图6所示。
图6 检测软件结构图
按检测要求,在每个主模块下面设计功能选项。对软件中的各个模块进行功能编写,为每个模块中的功能检测项分配PC/104地址、数据端口,形成子程序。然后在主程序中采取调用子程序的方法完成整个软件。
4.2多线程检测设计
软件编写采用了多线程的结构体系,让外部检测始终运行,数据通过子线程的执行来进行测量、显示。从TThread类继承而来的新类TThreadReadMeter,并新建一个实例对象,然后编写函数完成检测РВ-21高度表传来的32位串行码(或16位并行码)信息和РВ-21(或WG-6)高度表状态信息实时显示;同样从TThread类继承而来的新类TThreadReadVol,并新建一个实例对象,编写函数完成对检测项目中对需测电压信号实时测量和显示,所以在检测过程设计三个线程:
(1)主线程:提供友好的人机对话界面,响应用户的操作指令,集中显示测量的各种信息;
(2)高度、状态信息测量线程:通过数据接口板接收来自转换后的高度表32位串行码和16位并行码以及状态指令,将其按一定各式转换成高度、状态信息,并实时在操作面板上显示;
(3)电压、电流测量显示检测线程:在检测中对各各需要测量的电压信号实时测量并在操作面板上显示。
4.3 接口设计
考虑到本检测系统对硬件访问的复杂度,本文采用了基本的C语言进行对硬件的端口访问。这是因为软件中对硬件的操作仅止于对端口的读写,而没有DMA,中断等复杂的操作。所以只要地址正确,就可保证访问的安全性。读写I/O端口总线的程序如下:
写I/O端口:端口地址为380,nData380为所要写到端口的数据变量:
_Outp(0x380,nData380);
读I/O端口:端口地址为386,从端口所读的数据赋给变量nData386:
_Inp(0x386,nData386);
5 结束语
综合检测仪以PC/104嵌入式计算机为平台,采用PC-104总线技术使系统具有软、硬件设计易于扩展和易于升级等优点。硬件电路中数字电路部分的设计采用VHDL语言和FPGA器件来实现,降低了电路设计的复杂性,提高了系统集成度和抗干扰能力。利用C++ Builder 6.0先进的技术在完成单项单项检测的基础上,实现了对多个检测项目的连续自动检测,提高了检测的效率。
参考文献
[1] 揭华. WG-6高度表检测仪数字电路和检测软件的设计与实现[D]. 西安:空军工程学院,2003.
[3] 李建海,毕笃彦,陈高平.综合无线电导航系统(上册)[M]. 西安:空军工程学院,2002.
[3] 邓明武,邓勇等.无线电设备原理(WG-6型雷达高度表)[M]. 西安:空军工程学院,1996.
[4] 赵曙光等.可编程逻辑器件原理、开发与应用[M]. 西安:西安电子科技大学出版社,2001.
[5] 赵世霞,杨丰,刘揭生.VHDL与微机接口设计[M]. 北京:清华大学出版社,2004.
[6] 程展鹏.Borland C++Builder 6.0应用开发技术解析[M]. 北京:清华大学出版社,2003.
[7] 夏万林,李 擎,刘志东.基于嵌入式计算机PC/104的某火箭弹自动测试仪[J]. 微计算机信息2006,2(2):P109-110