基于LabVIEW的多路時序控制脈沖發(fā)生器設計
這種產生方法的脈寬和延時精度決定于高低電平的延時精度。軟件延時通過調用延時函數(即Wait函數)來實現,而LabVIEW中的Wait延時函數最小只能到毫秒級,并且受Windows操作系統(tǒng)中多任務運行的影響,在同時運行其他程序時,延時時間不穩(wěn)定。因此,這種方法只有在延時和脈寬調節(jié)精度不高的場合可以適用,而對穩(wěn)定性和精度要求較高的場合,并不適用。
3.2 時鐘信號法
利用數據采集卡自帶的時鐘信號發(fā)生器直接產生周期性的脈沖波形。這種方法可以結合NI公司的DAQ Insistant(助手)方便地設置參數,產生所需的脈沖波形。由于采用板卡的時鐘信號發(fā)生器是完全基于硬件定時的,所以延時時間和脈寬調節(jié)精度及穩(wěn)定性較高,具體參數取決于板卡的時鐘頻率。但這種方法受數據采集卡的時鐘信號發(fā)生器個數和輸出的路數限制,一個時鐘信號的發(fā)生器只能輸出一路信號,而普通的數據采集卡只有一個或幾個時鐘信號發(fā)生器,所以產生信號路數較少。
3.3 數字波形法
先通過軟件產生波形(模擬波形),再轉換成數字波形,然后從數字通道輸出,循環(huán)上述過程,就可以連續(xù)產生一路周期性的TTL脈沖信號。如果需要產生多路的時序脈沖信號,只要采用多路數字信號序列同步輸出的方法產生即可。比如:需要產生如圖2所示的兩路脈沖信號波形,可以同步地以1 kS/s的樣本輸出速率。分別在兩個數字通道輸出如圖3所示的兩列數字波形。
如果是多路時序脈沖,只需要增加同步輸出路數就可以實現。然而時序脈沖信號的延時精度和脈寬精度調節(jié)取決于每個數字通道的樣本輸出速率,如采用1 MS/s的樣本輸出速率,則可以實現1μs(1 s/1 MHz)的調節(jié)精度,延時時間和脈沖寬度調節(jié)則通過改變延時數字樣本數和脈寬數字樣本數實現,具體關系為:
延時時間一精度×延時數字個數,
脈沖寬度一精度×脈沖寬度數字個數
采用數字波形法來產生時序脈沖波形。由于NIPCI-6229數據采集卡數字I/O的同步時鐘采用板卡自帶的硬件時鐘定時,所以不受計算機操作系統(tǒng)多任務運行時的影響,穩(wěn)定性好。PCI-6229共有48路DIO通道,因此時序脈沖輸出路數擴充方便。在此,采用數字波形法和PCI-6229數據采集卡,實現了多路時序脈沖信號發(fā)生器,其延時和脈寬調節(jié)精度可以穩(wěn)定地達到微秒數量級。
4 軟件編程
4.1 程序框圖
圖4為兩路脈沖信號發(fā)生器的程序框圖,多路脈沖發(fā)生器只需增加相應的輸入端即可。
先用Pulse Pattern.vi子模板產生一個模擬脈沖波形,其中延時、脈寬、周期(即樣本數)用控件調節(jié),再用Analog to Digital Waveform.vi子模板將模擬脈沖波形轉換成數字波形,同時設定正負邏輯轉換開關。再把各單路數字波形用bundle函數進行捆綁,再通過DAQmx Write.vi子模板從選定的數字I/O通道寫出,故在各個數字輸出通道產生脈沖波形。然而時序脈沖信號的周期性通過For Loop循環(huán)實現,一次循環(huán)產生一個脈沖波形,即實現一次控制過程,如果需要進行多次控制,只要設定循環(huán)次數即可。
數字信號輸出過程中的關鍵是數字通道的樣本輸出速率。樣本輸出速率通過一個樣本時鐘控制,在本發(fā)生器中由計數器/定時器通過編程輸出設定頻率的連續(xù)矩形脈沖,再從數據采集卡的PFI12接口輸入,作為控制各路數字波形輸出的同步時鐘,控制各數字通道同步輸出波形。其中,同步時鐘脈沖的周期就是時序脈沖延時和脈寬調節(jié)精度。實際測量表明,在該數據采集卡中最小可達到0.5μs的調節(jié)精度。
評論