在過(guò)程控制和自動(dòng)測量中,經(jīng)常需要一些時(shí)序控制脈沖來(lái)觸發(fā)和關(guān)閉不同的控制單元和功能部件的工作。時(shí)序脈沖信號的產(chǎn)生,傳統上一般采用硬件方式實(shí)現,早期大多采用計數器和寄存器進(jìn)行設計,近年普遍采用可編程邏輯器件(PFGA)或數字信號處理器(DSA)。采用硬件方式實(shí)現的時(shí)序脈沖信號發(fā)生器存在儀器功能單一,信號輸出通道路數較少,參數調節不方便,儀器的升級換代困難等缺點(diǎn);而采用基于LabVIEW的“虛擬儀器”概念設計制作的時(shí)序脈沖發(fā)生器卻具有界面直觀(guān)、功能多樣、參數調節方便、容易升級換代等特點(diǎn)。 1 LabVIEW簡(jiǎn)介 實(shí)驗室虛擬儀器集成環(huán)境(Laboratory Virtual Instrument Engineering Workbench,LabVIEW)是美國國家儀器(National Instruments,NI)公司推出的一種基于“圖形”方式的虛擬儀器開(kāi)發(fā)軟件。它具備強大的信號采集、信號發(fā)生、數據分析與存儲顯示等功能,集開(kāi)發(fā)、調試、運行于一體,廣泛應用于測試測量和過(guò)程控制系統中;贚abVIEW軟件和計算機的數據采集卡,通過(guò)簡(jiǎn)單編程,可以方便地實(shí)現信號的采集和產(chǎn)生、分析和處理等功能,即“計算機+軟件”等于儀器,比如:可以實(shí)現虛擬的信號發(fā)生器、數據記錄儀、示波器等功能,具有設計靈活,界面直觀(guān),通用性強.升級方便等特點(diǎn)。 LabVIEW程序稱(chēng)為“虛擬儀器”或簡(jiǎn)稱(chēng)為VI,一個(gè)LabVIEW程序由前面板和程序框圖兩部分組成。前面板用圖形方式模擬傳統儀器的操作面板,包含各種控件和指示器,用來(lái)為程序提供輸入值,并接受輸出值;程序框圖包含以圖形方式表示的程序代碼。 LabVlEW還為編程、查錯、調試提供簡(jiǎn)單、方便、完整的環(huán)境和工具。除了具備其他語(yǔ)言所提供的常規函數功能外,LabVIEW中還集成了大量生成圖形界面的模板,豐富實(shí)用的數值分析和數字處理功能,以及多種硬件設備驅動(dòng)功能。 LabVIEW面向的是沒(méi)有編程經(jīng)驗的用戶(hù),而不是編程專(zhuān)家,尤其適合從事科研開(kāi)發(fā)的科學(xué)家和工程技術(shù)人員,所以被譽(yù)為“工程師和科學(xué)家的語(yǔ)言”。 在此,基于LabVIEW軟件和NI PCI-6229數據采集卡設計制作了多路時(shí)序控制脈沖信號發(fā)生器,可以應用于各種過(guò)程的自動(dòng)控制中。 2 硬件介紹 基于LabVIEW軟件和多功能數據采集卡,可以實(shí)現模擬和數字信號的采集,以及信號產(chǎn)生等多種功能。性?xún)r(jià)比較高。NI公司提供了大量不同接口和不同檔次能與LabVIEW軟件很好結合的數據采集卡,使用者可以根據實(shí)際需要進(jìn)行選擇。這里選擇NI公司的M系列多功能數據采集卡NI PCI-6229。采用NI公司的產(chǎn)品,配合NI-DAQmx測量服務(wù)軟件可以省去硬件驅動(dòng)程序兼容性等麻煩。NI PCI-6229數據采集卡基于PCI接口,共有4路16位模擬輸出,輸出速率達833 kS/s,輸出電壓范圍為-10~+10 V;32路單通道或16路雙通道16位的模擬輸入,通道采樣頻率可達250 kS/s;48路數字輸入/輸出通道,輸出為T(mén)TL電平,板載10 MHz時(shí)鐘的硬件定時(shí)數字輸入/輸出,能以硬件定時(shí)精度來(lái)同步數字和模擬功能;兩個(gè)80 MHz,32位的計數器/定時(shí)器;采用兩個(gè)DMA通道,能同時(shí)執行多個(gè)功能。該板卡具有輸入/輸出路數較多,配備板載硬件時(shí)鐘源,分辨率較高,穩定性好,性?xún)r(jià)比較高,時(shí)鐘精度可滿(mǎn)足大多數系統的要求。 3 時(shí)序脈沖信號產(chǎn)生的方法 基于LabVIEW的虛擬時(shí)序脈沖信號產(chǎn)生一般采用定時(shí)翻轉輸出狀態(tài)的方法。具體有: 3.1 狀態(tài)延時(shí)法 如圖1所示,先輸出低電平,然后保持低電平并延時(shí),再輸出高電平,再保持高電平并延時(shí),一個(gè)過(guò)程可以產(chǎn)生一個(gè)周期脈沖信號。循環(huán)上述過(guò)程,就可以周期性地輸出脈沖信號。 這種產(chǎn)生方法的脈寬和延時(shí)精度決定于高低電平的延時(shí)精度。軟件延時(shí)通過(guò)調用延時(shí)函數(即Wait函數)來(lái)實(shí)現,而LabVIEW中的Wait延時(shí)函數最小只能到毫秒級,并且受Windows操作系統中多任務(wù)運行的影響,在同時(shí)運行其他程序時(shí),延時(shí)時(shí)間不穩定。因此,這種方法只有在延時(shí)和脈寬調節精度不高的場(chǎng)合可以適用,而對穩定性和精度要求較高的場(chǎng)合,并不適用。 3.2 時(shí)鐘信號法 利用數據采集卡自帶的時(shí)鐘信號發(fā)生器直接產(chǎn)生周期性的脈沖波形。這種方法可以結合NI公司的DAQ Insistant(助手)方便地設置參數,產(chǎn)生所需的脈沖波形。由于采用板卡的時(shí)鐘信號發(fā)生器是完全基于硬件定時(shí)的,所以延時(shí)時(shí)間和脈寬調節精度及穩定性較高,具體參數取決于板卡的時(shí)鐘頻率。但這種方法受數據采集卡的時(shí)鐘信號發(fā)生器個(gè)數和輸出的路數限制,一個(gè)時(shí)鐘信號的發(fā)生器只能輸出一路信號,而普通的數據采集卡只有一個(gè)或幾個(gè)時(shí)鐘信號發(fā)生器,所以產(chǎn)生信號路數較少。 3.3 數字波形法 先通過(guò)軟件產(chǎn)生波形(模擬波形),再轉換成數字波形,然后從數字通道輸出,循環(huán)上述過(guò)程,就可以連續產(chǎn)生一路周期性的TTL脈沖信號。如果需要產(chǎn)生多路的時(shí)序脈沖信號,只要采用多路數字信號序列同步輸出的方法產(chǎn)生即可。比如:需要產(chǎn)生如圖2所示的兩路脈沖信號波形,可以同步地以1 kS/s的樣本輸出速率。分別在兩個(gè)數字通道輸出如圖3所示的兩列數字波形。 如果是多路時(shí)序脈沖,只需要增加同步輸出路數就可以實(shí)現。然而時(shí)序脈沖信號的延時(shí)精度和脈寬精度調節取決于每個(gè)數字通道的樣本輸出速率,如采用1 MS/s的樣本輸出速率,則可以實(shí)現1μs(1 s/1 MHz)的調節精度,延時(shí)時(shí)間和脈沖寬度調節則通過(guò)改變延時(shí)數字樣本數和脈寬數字樣本數實(shí)現,具體關(guān)系為: 延時(shí)時(shí)間一精度×延時(shí)數字個(gè)數, 脈沖寬度一精度×脈沖寬度數字個(gè)數 采用數字波形法來(lái)產(chǎn)生時(shí)序脈沖波形。由于NIPCI-6229數據采集卡數字I/O的同步時(shí)鐘采用板卡自帶的硬件時(shí)鐘定時(shí),所以不受計算機操作系統多任務(wù)運行時(shí)的影響,穩定性好。PCI-6229共有48路DIO通道,因此時(shí)序脈沖輸出路數擴充方便。在此,采用數字波形法和PCI-6229數據采集卡,實(shí)現了多路時(shí)序脈沖信號發(fā)生器,其延時(shí)和脈寬調節精度可以穩定地達到微秒數量級。 4 軟件編程 4.1 程序框圖 圖4為兩路脈沖信號發(fā)生器的程序框圖,多路脈沖發(fā)生器只需增加相應的輸入端即可。 先用Pulse Pattern.vi子模板產(chǎn)生一個(gè)模擬脈沖波形,其中延時(shí)、脈寬、周期(即樣本數)用控件調節,再用Analog toDigital Waveform.vi子模板將模擬脈沖波形轉換成數字波形,同時(shí)設定正負邏輯轉換開(kāi)關(guān)。再把各單路數字波形用bundle函數進(jìn)行捆綁,再通過(guò)DAQmx Write.vi子模板從選定的數字I/O通道寫(xiě)出,故在各個(gè)數字輸出通道產(chǎn)生脈沖波形。然而時(shí)序脈沖信號的周期性通過(guò)For Loop循環(huán)實(shí)現,一次循環(huán)產(chǎn)生一個(gè)脈沖波形,即實(shí)現一次控制過(guò)程,如果需要進(jìn)行多次控制,只要設定循環(huán)次數即可。 數字信號輸出過(guò)程中的關(guān)鍵是數字通道的樣本輸出速率。樣本輸出速率通過(guò)一個(gè)樣本時(shí)鐘控制,在本發(fā)生器中由計數器/定時(shí)器通過(guò)編程輸出設定頻率的連續矩形脈沖,再從數據采集卡的PFI12接口輸入,作為控制各路數字波形輸出的同步時(shí)鐘,控制各數字通道同步輸出波形。其中,同步時(shí)鐘脈沖的周期就是時(shí)序脈沖延時(shí)和脈寬調節精度。實(shí)際測量表明,在該數據采集卡中最小可達到0.5μs的調節精度。 4.2 前面板圖 圖5所示為四路時(shí)序脈沖發(fā)生器的前面板圖。其中,時(shí)鐘頻率為延時(shí)和脈寬調節精度,也就是數字通道的樣本輸出速率,如頻率為1 kHz,即為1 ms,在該發(fā)生器中最大可以穩定達到2 MHz,即最小延時(shí)可達0.5μs。其中,各通道的周期在本發(fā)生器中相同,設定為統一調整(也可以設定為不同的周期)。每個(gè)通道的延時(shí)時(shí)間,脈沖寬度可調,并設有正負邏輯開(kāi)關(guān),可以輸出正脈沖或負脈沖波形。信號周期數為過(guò)程控制的次數。同時(shí)設有產(chǎn)生波形的圖形顯示(圖示為一個(gè)周期的波形),所見(jiàn)即所得,非常直觀(guān)。 5 脈沖信號的硬件輸出 信號發(fā)生器產(chǎn)生的脈沖信號通過(guò)數據采集卡的相應數字I/O通道輸出,可以使用專(zhuān)用連接電纜連接到接線(xiàn)盒,再由接線(xiàn)盒從相應的端口輸出到相關(guān)控制設備。其中,輸出為T(mén)TL信號電平,如不能直接驅動(dòng)設備,則需要根據具體設備情況連接相應的接口電路。 設計開(kāi)發(fā)完成的時(shí)序脈沖發(fā)生器產(chǎn)生的時(shí)序脈沖信號經(jīng)示波器實(shí)際測試,信號的延時(shí)最小值可以穩定地達到0.5 μs,而脈沖信號的上升沿可以達到50 ns。完全能滿(mǎn)足大多數控制的要求。 6 結 語(yǔ) 基于LabVIEW軟件和數據采集卡可以方便地實(shí)現虛擬的多路時(shí)序脈沖信號發(fā)生器,具有一定的通用性,可以廣泛地應用到各種自動(dòng)測量和過(guò)程控制中,與傳統基于硬件設計的脈沖信號發(fā)生器相比,具有時(shí)序脈沖延時(shí)和脈寬調節精度高,脈沖上升沿時(shí)間短,路數較多,界面友好,調節方便等優(yōu)點(diǎn)。選用不同功能的數據采集卡,還可以實(shí)現更復雜的控制場(chǎng)合。另外,利用數據采集卡的模擬I/O,還可以產(chǎn)生同步的模擬控制信號,控制不同的設備。因此,基于LabVIEW的時(shí)序信號發(fā)生器不失為一種實(shí)現自動(dòng)控制的好方法。 |