基于LabVIEW的多路时序控制脉冲发生器设计
扫描二维码
随时随地手机看文章
在过程控制和自动测量中,经常需要一些时序控制脉冲来触发和关闭不同的控制单元和功能部件的工作。时序脉冲信号的产生,传统上一般采用硬件方式实现,早期大多采用计数器和寄存器进行设计,近年普遍采用可编程逻辑器件(PFGA)或数字信号处理器(DSA)。采用硬件方式实现的时序脉冲信号发生器存在仪器功能单一,信号输出通道路数较少,参数调节不方便,仪器的升级换代困难等缺点;而采用基于LabVIEW的“虚拟仪器”概念设计制作的时序脉冲发生器却具有界面直观、功能多样、参数调节方便、容易升级换代等特点。
1 LabVIEW简介
实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench,LabVIEW)是美国国家仪器(National Instruments,NI)公司推出的一种基于“图形”方式的虚拟仪器开发软件。它具备强大的信号采集、信号发生、数据分析与存储显示等功能,集开发、调试、运行于一体,广泛应用于测试测量和过程控制系统中。基于LabVIEW软件和计算机的数据采集卡,通过简单编程,可以方便地实现信号的采集和产生、分析和处理等功能,即“计算机+软件”等于仪器,比如:可以实现虚拟的信号发生器、数据记录仪、示波器等功能,具有设计灵活,界面直观,通用性强.升级方便等特点。
LabVIEW程序称为“虚拟仪器”或简称为VI,一个LabVIEW程序由前面板和程序框图两部分组成。前面板用图形方式模拟传统仪器的操作面板,包含各种控件和指示器,用来为程序提供输入值,并接受输出值;程序框图包含以图形方式表示的程序代码。
LabVlEW还为编程、查错、调试提供简单、方便、完整的环境和工具。除了具备其他语言所提供的常规函数功能外,LabVIEW中还集成了大量生成图形界面的模板,丰富实用的数值分析和数字处理功能,以及多种硬件设备驱动功能。
LabVIEW面向的是没有编程经验的用户,而不是编程专家,尤其适合从事科研开发的科学家和工程技术人员,所以被誉为“工程师和科学家的语言”。
在此,基于LabVIEW软件和NI PCI-6229数据采集卡设计制作了多路时序控制脉冲信号发生器,可以应用于各种过程的自动控制中。
2 硬件介绍
基于LabVIEW软件和多功能数据采集卡,可以实现模拟和数字信号的采集,以及信号产生等多种功能。性价比较高。NI公司提供了大量不同接口和不同档次能与LabVIEW软件很好结合的数据采集卡,使用者可以根据实际需要进行选择。这里选择NI公司的M系列多功能数据采集卡NI PCI-6229。采用NI公司的产品,配合NI-DAQmx测量服务软件可以省去硬件驱动程序兼容性等麻烦。NI PCI-6229数据采集卡基于PCI接口,共有4路16位模拟输出,输出速率达833 kS/s,输出电压范围为-10~+10 V;32路单通道或16路双通道16位的模拟输入,通道采样频率可达250 kS/s;48路数字输入/输出通道,输出为TTL电平,板载10 MHz时钟的硬件定时数字输入/输出,能以硬件定时精度来同步数字和模拟功能;两个80 MHz,32位的计数器/定时器;采用两个DMA通道,能同时执行多个功能。该板卡具有输入/输出路数较多,配备板载硬件时钟源,分辨率较高,稳定性好,性价比较高,时钟精度可满足大多数系统的要求。
3 时序脉冲信号产生的方法
基于LabVIEW的虚拟时序脉冲信号产生一般采用定时翻转输出状态的方法。具体有:
3.1 状态延时法
如图1所示,先输出低电平,然后保持低电平并延时,再输出高电平,再保持高电平并延时,一个过程可以产生一个周期脉冲信号。循环上述过程,就可以周期性地输出脉冲信号。
这种产生方法的脉宽和延时精度决定于高低电平的延时精度。软件延时通过调用延时函数(即Wait函数)来实现,而LabVIEW中的Wait延时函数最小只能到毫秒级,并且受Windows操作系统中多任务运行的影响,在同时运行其他程序时,延时时间不稳定。因此,这种方法只有在延时和脉宽调节精度不高的场合可以适用,而对稳定性和精度要求较高的场合,并不适用。
3.2 时钟信号法
利用数据采集卡自带的时钟信号发生器直接产生周期性的脉冲波形。这种方法可以结合NI公司的DAQ Insistant(助手)方便地设置参数,产生所需的脉冲波形。由于采用板卡的时钟信号发生器是完全基于硬件定时的,所以延时时间和脉宽调节精度及稳定性较高,具体参数取决于板卡的时钟频率。但这种方法受数据采集卡的时钟信号发生器个数和输出的路数限制,一个时钟信号的发生器只能输出一路信号,而普通的数据采集卡只有一个或几个时钟信号发生器,所以产生信号路数较少。
3.3 数字波形法
先通过软件产生波形(模拟波形),再转换成数字波形,然后从数字通道输出,循环上述过程,就可以连续产生一路周期性的TTL脉冲信号。如果需要产生多路的时序脉冲信号,只要采用多路数字信号序列同步输出的方法产生即可。比如:需要产生如图2所示的两路脉冲信号波形,可以同步地以1 kS/s的样本输出速率。分别在两个数字通道输出如图3所示的两列数字波形。
如果是多路时序脉冲,只需要增加同步输出路数就可以实现。然而时序脉冲信号的延时精度和脉宽精度调节取决于每个数字通道的样本输出速率,如采用1 MS/s的样本输出速率,则可以实现1μs(1 s/1 MHz)的调节精度,延时时间和脉冲宽度调节则通过改变延时数字样本数和脉宽数字样本数实现,具体关系为:
延时时间一精度×延时数字个数,
脉冲宽度一精度×脉冲宽度数字个数
采用数字波形法来产生时序脉冲波形。由于NIPCI-6229数据采集卡数字I/O的同步时钟采用板卡自带的硬件时钟定时,所以不受计算机操作系统多任务运行时的影响,稳定性好。PCI-6229共有48路DIO通道,因此时序脉冲输出路数扩充方便。在此,采用数字波形法和PCI-6229数据采集卡,实现了多路时序脉冲信号发生器,其延时和脉宽调节精度可以稳定地达到微秒数量级。
4 软件编程
4.1 程序框图
图4为两路脉冲信号发生器的程序框图,多路脉冲发生器只需增加相应的输入端即可。
先用Pulse Pattern.vi子模板产生一个模拟脉冲波形,其中延时、脉宽、周期(即样本数)用控件调节,再用Analog to Digital Waveform.vi子模板将模拟脉冲波形转换成数字波形,同时设定正负逻辑转换开关。再把各单路数字波形用bundle函数进行捆绑,再通过DAQmx Write.vi子模板从选定的数字I/O通道写出,故在各个数字输出通道产生脉冲波形。然而时序脉冲信号的周期性通过For Loop循环实现,一次循环产生一个脉冲波形,即实现一次控制过程,如果需要进行多次控制,只要设定循环次数即可。
数字信号输出过程中的关键是数字通道的样本输出速率。样本输出速率通过一个样本时钟控制,在本发生器中由计数器/定时器通过编程输出设定频率的连续矩形脉冲,再从数据采集卡的PFI12接口输入,作为控制各路数字波形输出的同步时钟,控制各数字通道同步输出波形。其中,同步时钟脉冲的周期就是时序脉冲延时和脉宽调节精度。实际测量表明,在该数据采集卡中最小可达到0.5μs的调节精度。
4.2 前面板图
图5所示为四路时序脉冲发生器的前面板图。其中,时钟频率为延时和脉宽调节精度,也就是数字通道的样本输出速率,如频率为1 kHz,即为1 ms,在该发生器中最大可以稳定达到2 MHz,即最小延时可达0.5μs。其中,各通道的周期在本发生器中相同,设定为统一调整(也可以设定为不同的周期)。每个通道的延时时间,脉冲宽度可调,并设有正负逻辑开关,可以输出正脉冲或负脉冲波形。信号周期数为过程控制的次数。同时设有产生波形的图形显示(图示为一个周期的波形),所见即所得,非常直观。
5 脉冲信号的硬件输出
信号发生器产生的脉冲信号通过数据采集卡的相应数字I/O通道输出,可以使用专用连接电缆连接到接线盒,再由接线盒从相应的端口输出到相关控制设备。其中,输出为TTL信号电平,如不能直接驱动设备,则需要根据具体设备情况连接相应的接口电路。
设计开发完成的时序脉冲发生器产生的时序脉冲信号经示波器实际测试,信号的延时最小值可以稳定地达到0.5 μs,而脉冲信号的上升沿可以达到50 ns。完全能满足大多数控制的要求。
6 结 语
基于LabVIEW软件和数据采集卡可以方便地实现虚拟的多路时序脉冲信号发生器,具有一定的通用性,可以广泛地应用到各种自动测量和过程控制中,与传统基于硬件设计的脉冲信号发生器相比,具有时序脉冲延时和脉宽调节精度高,脉冲上升沿时间短,路数较多,界面友好,调节方便等优点。选用不同功能的数据采集卡,还可以实现更复杂的控制场合。另外,利用数据采集卡的模拟I/O,还可以产生同步的模拟控制信号,控制不同的设备。因此,基于LabVIEW的时序信号发生器不失为一种实现自动控制的好方法。