1. 导言
跟着计算机软硬件技能和信号处理技能的迅速开展,不只使得现已提出多年的虚拟仪器成为实践,并且逐渐得到日益广泛的运用和广阔科学作业者以及工程人员的喜爱。虚拟仪器技能便是运用高功用的模块化硬件,结合高效灵敏的软件来完结各种测验、丈量和主动化的运用。自1986年面世以来,国际各国的工程师和科学家们都已将NI LabVIEW图形化开发东西用于产品规划周期的各个环节,然后改进了产品质量、缩短了产品投放市场的时刻,并进步了产品开发和出产功率。运用集成化的虚拟仪器环境与实践国际的信号相连,剖析数据以获取实用信息,同享信息作用,有助于在较大规模内进步出产功率。虚拟仪器供给的各种东西能满意咱们任何项目需求。完结了克己虚拟仪器的可行性、经济性、快速性和便携性。
2. 全体规划
虚拟仪器技能是在PC技能的根底上开展起来的,所以彻底”承继”了以现成即用的PC技能为主导的最新商业技能的长处,包含功用超卓的处理器和文件I/O,使您在数据高速导入磁盘的一起就能实时地进行杂乱的剖析。此外,不断开展的因特网和越来越快的计算机网络使得虚拟仪器技能展示其更强壮的优势。在细心研讨了虚拟仪器的规划制造后,不难发现虚拟仪器选用了现代计算机的外围接口和数据处理软件外,其数据收集部分硬件规划和传统的仪器制造进程是相同的。总的来说,虚拟仪器的规划分硬件部分和软件部分两大块规划。
无论是传统的仪器仍是虚拟仪器都少不了信号收集部分,传统的仪器把信号收集后加以信号处理并直接显现出来,没有和计算机交互的进程。虚拟仪器是将信号收集后的成果运用计算机接口技能送往计算机进行后期的处理和显现。所以咱们的虚拟仪器的硬件规划包含数据收集板卡和板卡接口的规划。假如板卡接口选用并行总线(PCI、ISA等),那么板卡装卸费事,易遭到机箱内环境的搅扰,并且受计算机插槽数量、电源功率以及地址、中止资源的约束;假如运用专用的仪器总线,其本钱和时刻上受约束。在此咱们选用USB总线作为硬件板卡接口,USB总线处理了一般通用总线的缺陷,具有速度快、连线少、即插即用、自带电源以及支撑热插拔等特性,并且其开发时刻较短,能够完结便携式的要求。因而咱们拟规划的虚拟仪器的硬件板卡是带有USB接口的数据收集卡。
虚拟仪器的硬件体系一般分为计算机硬件渠道和测控功用硬件。计算机硬件渠道可所以各种类型的计算机,如台式计算机、便携式计算机、作业站、嵌入式计算机等。它办理着虚拟仪器的软件资源,是虚拟仪器的硬件根底。因而,计算机技能在显现、存储才能、处理器功用、网络、总线规范等方面的开展,导致了虚拟仪器体系的快速开展。
A) 硬件的规划
虚拟仪器的好坏关键是硬件部分的规划,而硬件的关键是数据收集卡的规划。硬件部分首要是数据收集卡及其接口电路规划硬件部分完结信号的承受及模仿信号的预处理和转化,经模/数转化的数据送至计算机进行处理及成果显现等硬件功用。数据收集卡是虚拟仪器的重要部件和仅有需求开发的硬件电路,其元件特性、电路结构是决议虚拟仪器功用指标的首要因素。依据需规划的虚拟仪器的用处和功用要求,拟规划的数据收集板卡功用指标如下:①最大数据收集率为1MSPS;②信号输入规模为+40伏~-40伏。咱们选用了美信MAXIM公司的数模转化器 MAXIM114,它的最大信号收集数率为1MSPS。关于USB接口芯片,咱们选用Philips公司的PDIUSBD12芯片,PDIUSBD12芯片是高功用USB接口芯片,集成了SIE、FIFO存储器、收发器以及电压调整器,它契合USB1.1版别规范,在批量形式和同步形式下均可完结 1MB/S的数据传输速率,能够满意拟规划的虚拟仪器的要求。整个板卡首要的电路原理规划如图一所示。
图 一
数据收集卡的作业原理:
数据收集(DAQ),是指从传感器和其它待测设备等模仿和数字被测单元中主动采非电量或许电量信号,送到上位机中进行剖析,处理。数据收集体系是结合依据计算机或许其他专用测验渠道的丈量软硬件产品来完结灵敏的、用户自定义的丈量体系。 数据收集卡,即完结数据收集(DAQ)功用的计算机扩展卡,能够经过USB、PXI、PCI、PCI Express、前方(1394)、PCMCIA、ISA、CompactFlash、485、232、以太网、各种无线网络等总线接入个人计算机。
首要,PC机上宣布发动数据收集的恳求,MAXIM114开端进行信号采样以及模数转化,模数转化后的成果存储到双端口存储器IDT7024 中,IDT7024的存储深度为2K,单片机SST89E564经过轮询计数器54HC4040的BA10位,一旦发现此位变为高电位,便从双端口数据存储器中读出数据,并把数据传给USB接口送往PC机。其间,当双端口存储器IDT7024存满2K个数据时便给计数器54HC4040宣布清零信号,从此双端口存储器IDT7024进行下一轮的2K数据存储的进程。USB接口中的数据传输办法有操控传输、中止传输、批量传输和同步传输。依据USB接口芯片 PDIUSBD12的特色,在此,USB数据传输选用非同步的批量传输办法,单片机SST89E564一次只能发送64字节的数据给USB接口芯片 PDIUSBD12。
运用时,数据收集体系置于被监控的设备处,经过传感器对设备的电压或许电流信号进行采样、坚持,并送入A/D转化器变成数字信号,然后将该信号送到FIFO中。当FIFO中寄存的数据到了必定数目时,由ARM7从FIFO中读出,然后经过ARM7的以太网接口或许RS232送给上位机。考虑到要监控的设备可能会许多,所以规划了多路收集通道,他们经过模仿开关后再进入A/D转化器。CPLD是整个体系的操控中心,他操控收集通道的切换、A/D转化器的启/停、转化后的数据在FIFO中的寄存地址发生器、发生中止恳求以告诉ARM7读取寄存在FIFO中的数据等。
B) 软件规划
软件部分的规划分为:数据收集板卡底层固件开发、板卡的驱动程序的开发和上层运用程序的开发。
(1)关于带有USB接口的数据收集板卡的固件开发,首要有主循环程序(发送USB恳求、处理USB总线事情和自定义功用处理)、硬件提取层程序(对单片机的I/O口、数据总线等硬件接口进行操作)、PDIUSBD12指令接口程序(对PDIUSBD12器材进行操作的模块子程序集)、中止服务程序(当PDIUSBD12向单片机宣布中止恳求时,读取PDIUSBD12的中止传输来的数据,并设定事情标志和Setup包数据缓冲区传输给主循环程序)和规范恳求处理程序(对USB的规范设备恳求进行处理)。悉数的程序都是用C51编写的,在这不列出详细的程序。
(2)在编好了单片机中的固件程序今后,进行USB板卡的驱动程序编写。开发驱动程序的东西有windriver、微软供给的DDK和 Compuware的DriverStudio东西包,咱们运用DriverStudio驱动程序开发东西,关于了解面向对象编程的软件开发员,DriverStudio是一个杰出的驱动开发东西,并且开发时刻比较短。DriverStudio东西包中的DriverWorks供给了三个类:KDriver、KPnpDevice和KPnpLowerDevice,这三个类用于完结WDM驱动程序的框架结构。
在用到以上类外,开发USB驱动程序还用到了DriverWorks供给的三个用于完结USB设备操作的类:KUsbLowerDevice、 KUsbInterface和KUsbPipe类。其间,KPnpLowerDevice实例代表端点0,答应USB驱动程序经过默许操控管道操控USB 设备,如装备USB设备,传输各种操控和状况恳求;KusbInterface类的作用更多是结构上的而非功用上的,其成员函数简直不与实践物理设备交互作用,驱动程序用这个类获取接口和管道信息;KusbPipe类对应与管道,管道是主机和一个端点的信息衔接,这个类用于初始化管道信息和管道操作操控。驱动程序代码在此略。
(3)虚拟仪器软面板的开发在LABWINDOWS供给的CVI环境下完结的。这种图形开发环境比其它高档言语(C和VC)开发的图形界面不只简单并且作用更好。并且这个东西供给了许多信号处理算法的功用模块。假如有C或许VC编程根底,能够在较短时刻编写出比较完美的所要的运用程序。在这不列写出详细的程序。
3. 泛论
克己便携式虚拟仪器规划现已完结,基本上能满意咱们所需的工程项目的测验要求,并且运转杰出。证明了一种快速的、经济的和有用的虚拟仪器规划办法。便携式虚拟仪器具有精度高、运转安稳、实时性好、抗搅扰才能强、性价比高的特色。