王奎龍
摘 要:為了解決過程控制和自動(dòng)化過程中時(shí)序控制的問題,較為詳細(xì)地介紹了基于LabVIEW和數(shù)據(jù)采集卡的虛擬脈沖信號(hào)產(chǎn)生方法,采用多路數(shù)字信號(hào)序列同步輸出的方式,設(shè)計(jì)并實(shí)現(xiàn)一種通用的多路時(shí)序控制脈沖信號(hào)發(fā)生器。相比于傳統(tǒng)的時(shí)序信號(hào)發(fā)生器,具有路數(shù)多,參數(shù)調(diào)節(jié)方便,精度較高,容易升級(jí)等特點(diǎn)。實(shí)際測(cè)試和應(yīng)用表明,可以廣泛應(yīng)用于各種過程控制和自動(dòng)化過程中。
關(guān)鍵詞:LabVIEW;時(shí)序脈沖;信號(hào)發(fā)生器;過程控制
中圖分類號(hào):TP273.5文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004-373X(2009)20-181-03
Design of Multi-channel Sequential Controlling Pulse Generator Based on LabVIEW
WANG Kuilong
(Hangzhou Normal University,Hangzhou,310036,China)
Abstract:To resolve the sequential control problem in the process control and automated process.The method of virtual pulse signal generator based on LabVIEW and data acquisition card are introduced in detail.Using the way of multi-channel digital signal sequence synchronization output,a kind of general multi-channel sequential controlling pulse signal generator is developed and designed.Comparing to traditional sequential signal generator,it has more channels to output pulse signal,and its parameters can be adjusted easily,its precision is higher,and update easily.The result of measurement and application shows that it can be widely applied to many kinds of process control and the automated process.
Keywords:LabVIEW;sequence pulse;signal generator;process control
0 引 言
在過程控制和自動(dòng)測(cè)量中,經(jīng)常需要一些時(shí)序控制脈沖來觸發(fā)和關(guān)閉不同的控制單元和功能部件的工作。時(shí)序脈沖信號(hào)的產(chǎn)生,傳統(tǒng)上一般采用硬件方式實(shí)現(xiàn),早期大多采用計(jì)數(shù)器和寄存器進(jìn)行設(shè)計(jì),近年普遍采用可編程邏輯器件(PFGA)或數(shù)字信號(hào)處理器(DSA)[1]。采用硬件方式實(shí)現(xiàn)的時(shí)序脈沖信號(hào)發(fā)生器存在儀器功能單一,信號(hào)輸出通道路數(shù)較少,參數(shù)調(diào)節(jié)不方便,儀器的升級(jí)換代困難等缺點(diǎn);而采用基于LabVIEW的“虛擬儀器”概念設(shè)計(jì)制作的時(shí)序脈沖發(fā)生器卻具有界面直觀、功能多樣、參數(shù)調(diào)節(jié)方便、容易升級(jí)換代等特點(diǎn)。
1 LabVIEW簡(jiǎn)介
實(shí)驗(yàn)室虛擬儀器集成環(huán)境[2,3](Laboratory Virtual Instrument Engineering Workbench,LabVIEW)是美國(guó)國(guó)家儀器(National Instruments,NI)公司推出的一種基于“圖形”方式的虛擬儀器開發(fā)軟件。它具備強(qiáng)大的信號(hào)采集、信號(hào)發(fā)生、數(shù)據(jù)分析與存儲(chǔ)顯示等功能,集開發(fā)、調(diào)試、運(yùn)行于一體,廣泛應(yīng)用于測(cè)試測(cè)量和過程控制系統(tǒng)中?;贚abVIEW軟件和計(jì)算機(jī)的數(shù)據(jù)采集卡,通過簡(jiǎn)單編程,可以方便地實(shí)現(xiàn)信號(hào)的采集和產(chǎn)生、分析和處理等功能,即“計(jì)算機(jī)+軟件”等于儀器,比如:可以實(shí)現(xiàn)虛擬的信號(hào)發(fā)生器、數(shù)據(jù)記錄儀、示波器等功能,具有設(shè)計(jì)靈活,界面直觀,通用性強(qiáng),升級(jí)方便等特點(diǎn)。
LabVIEW程序稱為“虛擬儀器”或簡(jiǎn)稱為VI,一個(gè)LabVIEW程序由前面板和程序框圖兩部分組成。前面板用圖形方式模擬傳統(tǒng)儀器的操作面板,包含各種控件和指示器,用來為程序提供輸入值,并接受輸出值;程序框圖包含以圖形方式表示的程序代碼。
LabVIEW還為編程、查錯(cuò)、調(diào)試提供簡(jiǎn)單、方便、完整的環(huán)境和工具。除了具備其他語言所提供的常規(guī)函數(shù)功能外,LabVIEW中還集成了大量生成圖形界面的模板,豐富實(shí)用的數(shù)值分析和數(shù)字處理功能,以及多種硬件設(shè)備驅(qū)動(dòng)功能。
LabVIEW面向的是沒有編程經(jīng)驗(yàn)的用戶,而不是編程專家,尤其適合從事科研開發(fā)的科學(xué)家和工程技術(shù)人員,所以被譽(yù)為“工程師和科學(xué)家的語言”。
在此,基于LabVIEW軟件和NI PCI-6229數(shù)據(jù)采集卡設(shè)計(jì)制作了多路時(shí)序控制脈沖信號(hào)發(fā)生器,可以應(yīng)用于各種過程的自動(dòng)控制中。
2 硬件介紹[4,5]
基于LabVIEW軟件和多功能數(shù)據(jù)采集卡,可以實(shí)現(xiàn)模擬和數(shù)字信號(hào)的采集,以及信號(hào)產(chǎn)生等多種功能,性價(jià)比較高。NI公司提供了大量不同接口和不同檔次能與LabVIEW軟件很好結(jié)合的數(shù)據(jù)采集卡,使用者可以根據(jù)實(shí)際需要進(jìn)行選擇。這里選擇NI公司的M系列多功能數(shù)據(jù)采集卡NI PCI-6229。采用NI公司的產(chǎn)品,配合NI-DAQmx測(cè)量服務(wù)軟件可以省去硬件驅(qū)動(dòng)程序兼容性等麻煩。NI PCI-6229數(shù)據(jù)采集卡基于PCI接口,共有4路16位模擬輸出,輸出速率達(dá)833 kS/s,輸出電壓范圍為-10~+10 V;32路單通道或16路雙通道16位的模擬輸入,通道采樣頻率可達(dá)250 kS/s;48路數(shù)字輸入/輸出通道,輸出為TTL電平,板載10 MHz時(shí)鐘的硬件定時(shí)數(shù)字輸入/輸出,能以硬件定時(shí)精度來同步數(shù)字和模擬功能;兩個(gè)80 MHz,32位的計(jì)數(shù)器/定時(shí)器;采用兩個(gè)DMA通道,能同時(shí)執(zhí)行多個(gè)功能。該板卡具有輸入/輸出路數(shù)較多,配備板載硬件時(shí)鐘源,分辨率較高,穩(wěn)定性好,性價(jià)比較高,時(shí)鐘精度可滿足大多數(shù)系統(tǒng)的要求。
3 時(shí)序脈沖信號(hào)產(chǎn)生的方法
基于LabVIEW的虛擬時(shí)序脈沖信號(hào)產(chǎn)生一般采用定時(shí)翻轉(zhuǎn)輸出狀態(tài)的方法。具體有:
3.1 狀態(tài)延時(shí)法
如圖1所示,先輸出低電平,然后保持低電平并延時(shí),再輸出高電平,再保持高電平并延時(shí),一個(gè)過程可以產(chǎn)生一個(gè)周期脈沖信號(hào)。循環(huán)上述過程,就可以周期性地輸出脈沖信號(hào)。
圖1 狀態(tài)延時(shí)法流程圖
這種產(chǎn)生方法的脈寬和延時(shí)精度決定于高低電平的延時(shí)精度。軟件延時(shí)通過調(diào)用延時(shí)函數(shù)(即Wait函數(shù))來實(shí)現(xiàn),而LabVIEW中的Wait延時(shí)函數(shù)最小只能到毫秒級(jí),并且受Windows操作系統(tǒng)中多任務(wù)運(yùn)行的影響,在同時(shí)運(yùn)行其他程序時(shí),延時(shí)時(shí)間不穩(wěn)定。因此,這種方法只有在延時(shí)和脈寬調(diào)節(jié)精度不高的場(chǎng)合可以適用,而對(duì)穩(wěn)定性和精度要求較高的場(chǎng)合,并不適用。
3.2 時(shí)鐘信號(hào)法
利用數(shù)據(jù)采集卡自帶的時(shí)鐘信號(hào)發(fā)生器直接產(chǎn)生周期性的脈沖波形。這種方法可以結(jié)合NI公司的DAQ Insistant(助手)方便地設(shè)置參數(shù),產(chǎn)生所需的脈沖波形。由于采用板卡的時(shí)鐘信號(hào)發(fā)生器是完全基于硬件定時(shí)的,所以延時(shí)時(shí)間和脈寬調(diào)節(jié)精度及穩(wěn)定性較高,具體參數(shù)取決于板卡的時(shí)鐘頻率。但這種方法受數(shù)據(jù)采集卡的時(shí)鐘信號(hào)發(fā)生器個(gè)數(shù)和輸出的路數(shù)限制,一個(gè)時(shí)鐘信號(hào)的發(fā)生器只能輸出一路信號(hào),而普通的數(shù)據(jù)采集卡只有一個(gè)或幾個(gè)時(shí)鐘信號(hào)發(fā)生器,所以產(chǎn)生信號(hào)路數(shù)較少。
3.3 數(shù)字波形法
先通過軟件產(chǎn)生波形(模擬波形),再轉(zhuǎn)換成數(shù)字波形,然后從數(shù)字通道輸出,循環(huán)上述過程,就可以連續(xù)產(chǎn)生一路周期性的TTL脈沖信號(hào)。如果需要產(chǎn)生多路的時(shí)序脈沖信號(hào),只要采用多路數(shù)字信號(hào)序列同步輸出的方法產(chǎn)生即可。比如:需要產(chǎn)生如圖2所示的兩路脈沖信號(hào)波形,可以同步地以1 kS/s的樣本輸出速率,分別在兩個(gè)數(shù)字通道輸出如圖3所示的兩列數(shù)字波形。
圖2時(shí)序脈沖波形圖
圖3 數(shù)字波形圖
如果是多路時(shí)序脈沖,只需要增加同步輸出路數(shù)就可以實(shí)現(xiàn)。然而時(shí)序脈沖信號(hào)的延時(shí)精度和脈寬精度調(diào)節(jié)取決于每個(gè)數(shù)字通道的樣本輸出速率,如采用1 MS/s的樣本輸出速率,則可以實(shí)現(xiàn)1 μs(1 s/1 MHz)的調(diào)節(jié)精度,延時(shí)時(shí)間和脈沖寬度調(diào)節(jié)則通過改變延時(shí)數(shù)字樣本數(shù)和脈寬數(shù)字樣本數(shù)實(shí)現(xiàn),具體關(guān)系為:
延時(shí)時(shí)間=精度×延時(shí)數(shù)字個(gè)數(shù),
脈沖寬度=精度×脈沖寬度數(shù)字個(gè)數(shù)
采用數(shù)字波形法來產(chǎn)生時(shí)序脈沖波形。由于NI PCI-6229數(shù)據(jù)采集卡數(shù)字I/O的同步時(shí)鐘采用板卡自帶的硬件時(shí)鐘定時(shí),所以不受計(jì)算機(jī)操作系統(tǒng)多任務(wù)運(yùn)行時(shí)的影響,穩(wěn)定性好。PCI-6229 共有48路DIO通道,因此時(shí)序脈沖輸出路數(shù)擴(kuò)充方便。
在此,采用數(shù)字波形法和PCI-6229數(shù)據(jù)采集卡,實(shí)現(xiàn)了多路時(shí)序脈沖信號(hào)發(fā)生器,其延時(shí)和脈寬調(diào)節(jié)精度可以穩(wěn)定地達(dá)到微秒數(shù)量級(jí)。
4 軟件編程
4.1 程序框圖[6]
圖4為兩路脈沖信號(hào)發(fā)生器的程序框圖,多路脈沖發(fā)生器只需增加相應(yīng)的輸入端即可。
先用Pulse Pattern.vi子模板產(chǎn)生一個(gè)模擬脈沖波形,其中延時(shí)、脈寬、周期(即樣本數(shù))用控件調(diào)節(jié),再用Analog to Digital Waveform.vi子模板將模擬脈沖波形轉(zhuǎn)換成數(shù)字波形,同時(shí)設(shè)定正負(fù)邏輯轉(zhuǎn)換開關(guān)。再把各單路數(shù)字波形用bundle函數(shù)進(jìn)行捆綁,再通過DAQmx Write.vi子模板從選定的數(shù)字I/O通道寫出,故在各個(gè)數(shù)字輸出通道產(chǎn)生脈沖波形。然而時(shí)序脈沖信號(hào)的周期性通過For Loop循環(huán)實(shí)現(xiàn),一次循環(huán)產(chǎn)生一個(gè)脈沖波形,即實(shí)現(xiàn)一次控制過程,如果需要進(jìn)行多次控制,只要設(shè)定循環(huán)次數(shù)即可。
數(shù)字信號(hào)輸出過程中的關(guān)鍵是數(shù)字通道的樣本輸出速率。樣本輸出速率通過一個(gè)樣本時(shí)鐘控制,在本發(fā)生器中由計(jì)數(shù)器/定時(shí)器通過編程輸出設(shè)定頻率的連續(xù)矩形脈沖,再?gòu)臄?shù)據(jù)采集卡的PFI12接口輸入,作為控制各路數(shù)字波形輸出的同步時(shí)鐘,控制各數(shù)字通道同步輸出波形。其中,同步時(shí)鐘脈沖的周期就是時(shí)序脈沖延時(shí)和脈寬調(diào)節(jié)精度。實(shí)際測(cè)量表明,在該數(shù)據(jù)采集卡中最小可達(dá)到0.5 μs的調(diào)節(jié)精度。
圖4 兩路時(shí)序脈沖發(fā)生器程序框圖
4.2 前面板圖
圖5所示為四路時(shí)序脈沖發(fā)生器的前面板圖。其中,時(shí)鐘頻率為延時(shí)和脈寬調(diào)節(jié)精度,也就是數(shù)字通道的樣本輸出速率,如頻率為1 kHz,即為1 ms,在該發(fā)生器中最大可以穩(wěn)定達(dá)到2 MHz,即最小延時(shí)可達(dá)0.5 μs。其中,各通道的周期在本發(fā)生器中相同,設(shè)定為統(tǒng)一調(diào)整(也可以設(shè)定為不同的周期)。每個(gè)通道的延時(shí)時(shí)間,脈沖寬度可調(diào),并設(shè)有正負(fù)邏輯開關(guān),可以輸出正脈沖或負(fù)脈沖波形。信號(hào)周期數(shù)為過程控制的次數(shù)。同時(shí)設(shè)有產(chǎn)生波形的圖形顯示(圖示為一個(gè)周期的波形),所見即所得,非常直觀。
5 脈沖信號(hào)的硬件輸出
信號(hào)發(fā)生器產(chǎn)生的脈沖信號(hào)通過數(shù)據(jù)采集卡的相應(yīng)數(shù)字I/O通道輸出,可以使用專用連接電纜連接到接線盒,再由接線盒從相應(yīng)的端口輸出到相關(guān)控制設(shè)備。其中,輸出為TTL信號(hào)電平,如不能直接驅(qū)動(dòng)設(shè)備,則需要根據(jù)具體設(shè)備情況連接相應(yīng)的接口電路。
圖5 時(shí)序脈沖發(fā)生器前面板圖
設(shè)計(jì)開發(fā)完成的時(shí)序脈沖發(fā)生器產(chǎn)生的時(shí)序脈沖信號(hào)經(jīng)示波器實(shí)際測(cè)試,信號(hào)的延時(shí)最小值可以穩(wěn)定地達(dá)到0.5 μs,而脈沖信號(hào)的上升沿可以達(dá)到50 ns。完全能滿足大多數(shù)控制的要求。
6 結(jié) 語
基于LabVIEW軟件和數(shù)據(jù)采集卡可以方便地實(shí)現(xiàn)虛擬的多路時(shí)序脈沖信號(hào)發(fā)生器,具有一定的通用性,可以廣泛地應(yīng)用到各種自動(dòng)測(cè)量和過程控制中,與傳統(tǒng)基于硬件設(shè)計(jì)的脈沖信號(hào)發(fā)生器相比,具有時(shí)序脈沖延時(shí)和脈寬調(diào)節(jié)精度高,脈沖上升沿時(shí)間短,路數(shù)較多,界面友好,調(diào)節(jié)方便等優(yōu)點(diǎn)。選用不同功能的數(shù)據(jù)采集卡,還可以實(shí)現(xiàn)更復(fù)雜的控制場(chǎng)合。另外,利用數(shù)據(jù)采集卡的模擬I/O,還可以產(chǎn)生同步的模擬控制信號(hào),控制不同的設(shè)備。因此,基于LabVIEW的時(shí)序信號(hào)發(fā)生器不失為一種實(shí)現(xiàn)自動(dòng)控制的好方法。
參考文獻(xiàn)
[1]秦明.應(yīng)用TMS20F240芯片設(shè)計(jì)高精度可控信號(hào)發(fā)生器[J].國(guó)外電子測(cè)量技術(shù),2002(3):1-3.
[2][美]Robert H Bishop.LabVIEW 7實(shí)用教程[M].喬瑞萍,譯.北京:電子工業(yè)出版社,2005.
[3]侯國(guó)屏.LabVIEW 7.1編程與虛擬儀器設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[4]National Instruments:DAQ M Series User Manual[Z].2004.
[5]National Instruments:M Series Whitepaper[Z].2004.
[6]National Instruments:Data Acquisition Basics Manual[Z].1996.
[7]陳志斌,卓家靖.基于單片機(jī)CPLD的嵌入式脈沖發(fā)生器設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005,21(2):107-108.
[8]Job C,Pearson R M,Brown M F.A Personal Computer-based Nuclear Magnetic Resonance Spectrometer[J].Rev.Sci.Instrum.,1994,65:33-54.
[9]Toyoda T,Yoshida H,Oishi O,et al.Personal Computer Controlled 16 Channel Versatile Pulse Generator for Nuclear Magnetic Resonance[J].Rev.Sci.Instrum.,1997,68:31-40.
[10]李曼義,劉丹菲,李星,等.時(shí)序脈沖發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[J].云南師范大學(xué)學(xué)報(bào),2003,12(2):26-28.