电子测量仪器主要用于电子产品电信号和数字信号的测量。当需要对电子产品的多个特性进行测量时,需组建电子测量系统。传统电子测量系统以独立仪器为单元,以GPIB总线等方式联接在一起,组成多机测量系统。由于传统仪器均采用独立设计方式,仪器间存在通讯同步问题,不同仪器测量不确定度难以统一评估,不适宜于测量移动性、随机性较强的测量目标。
随着虚拟仪器的发展(虚拟仪器技术是日益发展的计算机技术、仪器技术、信息技术密切结合的产物,它就是在通用计算机上加上软件和(或)硬件,使用者在操作这台计算机时,就像是在操作一台用户自己设计的专用电子仪器),电子测量仪器在集成测量方面有了新的突破。采用统一的软件控制平台,根据所选择的测量功能,完成多项测量任务。不过其功能模块仍然相互独立,并未实现不同模块之间的“联动”。在实际应用中,比如使用存储示波器观测信号波形时,还想同时观察信号频谱,现有电子测量系统将不得不在两个程序窗口之间进行切换,或进行功能变换,导致示波器所观测到的信号与频谱仪所观测到的信号不同步,带来测量误差。
设计硬件集成、关联测量模块联动的电子测量系统,已成为电子测量行业新的发展趋势。本文顺应这一发展趋势,设计和实现了基于虚拟仪器的嵌入式电子测量系统。该系统将众多电子测量仪器的功能、参数和精度指标等集成在一个的电子测量系统中,通过配置相应的软硬件模块,在一台工作站或个人计算机上实现多个电子测量仪器的功能[1]。由于功能模块众多,如果均采用硬件实现,成本较高,灵活性不够。因此采用虚拟仪器体系结构,实现多种测量功能的集成,具有成本低、使用和系统升级方便等优势[2]。
本文实现的电子测量系统测量数据量较大,对设备与主机之间的通讯速率要求较高。在GPIB、Serial、IEEE 1394(FireWire)、USB2.0 这几种通讯方式中,GPIB与Serial接口的传输速率较慢,而IEEE 1394成本较高,且占用资源多;相对来说,USB2.0在通讯速率、成本及通用性上都是不错的选择[3,4]。
2 硬件设计
系统采用Lattice LCMXO 640C的FPGA,将本振扫频,混频,放大,触发、低通滤波等工作全部数字化实现。控制方面,由USB单片机C541作为控制核心,实现最后与PC机之间的交互。
系统构造框图如下:
图1 系统整体构造图
模拟信号采集模块包括48个模拟信号输入端口,加上6个内部电压测量通道、1个万用表测量通道、4个输出电流测量通道,共计为59通道, 输入通道使用的A/D转换器为AD08100,转换精度8-Bit,20Msps到130Msps。系统的48个模拟信号输入端口同时也是模拟信号输出端口,每个模拟端口都具有双向功能。每个模拟端口可以单独控制允许或禁止,端口的输出电压量程为±10V,通过8个AD5318产生,AD5318的转换精度为12-Bit。
设备与主机的通讯模块选用Cypress 68013 USB2.0 8位通讯平台。该平台具有增强型8051CPU,最高工作频率为48MHz,8051有内置RAM,支持有弹性的固件存储。固件存储在主机上,在连接设备时,再将其加载到芯片内。使用该通讯平台,设备与主机的通讯速度可以达到150Mbps。由于68013只封装了I2C通讯接口,而设备里许多器件是SPI接口,因此配备了LPC932芯片。LPC932通过I2C通讯总线与68013连接,它接受68013的命令,操作各个SPI接口的器件,并发出位控制信号。
存储器分布于各个硬件模块,包括7片IS61LV6416-10B 64K X 16与两片IS61LPS25636A-200TQI 512K X 18 静态RAM (SRAM)。各模块存储深度不一,其中示波器、逻辑分析仪、频谱分析仪最大存储深度为2M,失真度分析仪/精密电压表最大存储深度为1M,信号发生器的存储深度最大为256K。这样7片-10B分别给频率计、电压表、信号发生器等存储深度要求较少的测量模块使用,而两片-200TQI供数字存储示波器、逻辑分析仪及频谱分析仪等存储深度要求较高的模块使用。
3 软件设计
该电子测量系统软件是基于Windows操作系统开发,编程环境是LabWindows/CVI8.0,从总体上分为通信过程设计和设备控制过程。
通信过程
通信设计过程是指软件与硬件驱动连接的过程,模块如下:
图2 通信模块设计图
CVI Control(CVI控件):CVI控件是用户和软件进行交互的元件,通过调用CVI CallBack过程来将动作发送给指令发生器。
CVI CallBack(CVI回调过程):CVI CallBack是CVI控件和软件逻辑的接口。
Cmd Creator(指令发生器):Cmd Creator负责对界面CVI Control发送过来的动作进行分析,按照设计要求生成对硬件的操作指令,并将结果指令发送至Cmd EventQueue。
Cmd Creator发送出来的指令分为即时执行指令和定时激励指令两种,以下分别说明。
即时执行指令是指用户通过界面控件操作,希望立即执行的操作,此类型的操作会将已经存在的同类型的指令进行清除,并且将优先执行此指令。
定时激励指令是指需要定时执行的指令,例如定时采样,定时查询状态等,此类指令需要指令发生器根据设备的需要定时激励。可以通过设置各个设备的激励参数来调整各个设备优先级。
Cmd EventQueue(指令队列):Cmd EventQueue作为队列的存储器,将指令传输至设备通信过程。
Device Conmmunications(设备通信模块):Device Conmmunications从Cmd EventQueue获取指令,进行硬件操作,并将硬件返回的结果和数据放入Data Event Queue。
Data Dispatcher(数据分发过程):Data Dispatcher从Data Event Queue获取数据,根据数据的类型,将数据分发至各个CVI控件进行显示。
设备控制过程
设备控制设计过程是指通过对软件界面的调节实现硬件的触发和控制,流程图如下:
图3 设备控制模块设计流程图
通过查询硬件操作指南,在VC++6.0环境下编写驱动程序,以实现对硬件指令的操作,并最后以DLL形式提供给应用层。
实现过程
鉴于本系统包含多种测量仪器,功能繁杂,故采用模块化编程实现。第一、将公共模块以控件形式编写完成,便于不同仪器模块的动态调用,比如对表格操作模块,我们对表格控件进行应用封装,封装了单击选择,连续调节,双击弹出菜单等操作。第二、将各仪器模块以动态加载面板的形式,做成一个个独立的模块,可以实现不同仪器之间的任意组合,以功能相对单一、界面比较简单的信号发生器为例,信号发生器的操作部分,我们做成了一个动态的控件,这样可以实现该信号发生器以不同方式加载,在角区加载模式下,界面内容只是一个简单的表格,但里面涵盖了电流源、电压源选择框,该信号发生器能发出正弦波、方波、阶梯波、调频、扫频、噪声等波形信号,用户可通过双击信号设置表格的第一行,在弹出的快捷菜单中选择波形类型;也可单击该行后,用上下键或点击调节器的向上/向下按钮选择波形类型,此时表格的其它行变成该波形的对应参数。这里单元格的鼠标双击、键盘上下键及调节器按键事件可以调用前面所述的表格控件实现。需要注意的是,在Windows环境下,这些事件的识别及处理自动以线程方式进行,而这里为取得表格中各项参数值并生成定制的波形信号,我们开辟了专门的线程,并赋予较高优先级,避免在取值或波形数据生成过程中其它线程的影响。
信号发生器生成数据后,通过调用驱动程序提供的DLL将数据发往硬件,以控制硬件工作。
4 实验结果
经过硬件设计与调试、驱动程序的封装与测试、仪器功能模块的编写、模块集成与测试、用户界面设计,最终实现了基于LabWindows/CVI的电子测量系统。系统界面图如下所示:
图4 电子测量系统界面图
连接上硬件后,任意信号发生器选择振幅为3V,频率为10MHz的正弦信号,此时的采样深度为1K,采样频率为100MSa/s,点确认就能显示如上图所示波形。该系统能够提供的最大采样频率为100Msa/s,根据采样定理,正弦信号最大带宽大约10MHz,还可以选择方波、三角波、锯齿波等。该系统还提供了频率计、频谱分析仪模块,频率计模块上实时显示被测信号的频率 ,频谱分析仪可根据需要在状态一栏里选择打开或关闭。
5 结论
该系统能稳定工作在Windows系列的操作系统环境中。在配备了特定的适配器后,该系统能对各种测量目标进行多功能的综合测量,实现了相互关联的功能模块之间的同步与“联动”,可以顺利地完成各种测量任务,达到了预期目标[5]。
电子测量系统特别适用于教学研究领域,以电子测量系统作为测量工具,建立新型的电子测量教学实验室,将传统实验室使用单功能仪器的工作方式推进到使用多功能仪器集群进行多点综合测量的工作方式[6];也可用于各类大型目标的电控中心,对电子控制中心信号总线和相关节点进行多点综合测量。
参考文献
[1] 秦树人,张思复等 “集成测试技术与虚拟式仪器——面向21世纪的仪器系统[J]”.《中国机械工程》, Vol.9 No.6.pp.14~17.
[2] N. Ertugrul “Towards Virtual Laboratories: a Survey of LabVIEW-based Teaching/Learning Tools and Future Trends” - International Journal of Engineering Education. 2000.Vol. 16, No. 3. pp. 171-180.
[3] H Li, X Luo, C Liu, et al. “Multi-channel electrochemical detection system based on LabVIEW” Proceedings of 2004 International Conference on Information Acquisition. Hefei, China, (2004) pp.224-227.
[4] Chung-Ping Young, Devaney, M.J. Shyh-Chyang Wang. “Universal serial bus enhances virtual instrument-based distributed power monitoring”. Instrumentation and Measurement. IEEE Transactions on, Publication Date: Dec 2001. Vol.50 No.6 pp.1692-1697.
[5] Shi Guangfan, Yan Guangming, Li Jigang, et al. “The design and implement of virtual instrument based on computing technique and USB platform” Proceedings of the Third International Conference on Information Technology and Applications (ICITA’05) Publication Date: 4-7 July 2005. vol.1.pp. 291- 294.
[6] I.A. Neag “Supporting hardware independence in the next generation of automatic test equipment” - Autotestcon, 2005. IEEE, P. 248- 254.