采用數字信號進行通信是計算機和外設、儀器以及其他電子設備之間最常見的通信方式,因為這是計算機工作的基本元素。任何信號,都必須轉換為數字信號之后,才能輸入計算機,并進行處理。
數字信號流入或流出系統時,或是單個信號,或是一串脈沖,可以只經過單一端口,也可以經過多個并行端口,并行端口上每根信號線代表字符中的一個bit。計算機的數字輸出信號線往往用于控制繼電器,以間接控制其他設備的開關。類似地,數字輸入信號線可以代表某個傳感器或開關的兩種狀態之一,而一串脈沖序列可以指示某個設備的當前位置或瞬時速度。輸入信號可能來自繼電器或其他固態設備。
大電流、高電壓數字IO
通過繼電器,可控制超出計算機內部處理范圍的電壓或電流,但信號或狀態的響應速度受限于線圈的頻率響應和觸點移動。同時,當電感負載由閉合切換至斷開時,兩端的反向自感電動勢必須被抑制,可將續流二極管反接在負載兩端,為脈沖電流提供通路,以釋放能量。如果沒有這個二極管,繼電器兩端的電弧會縮短自身使用壽命(見圖11.01)。
TTL和CMOS設備通常用于連接高速低壓信號,例如速度或位置傳感器的輸出信號。但是在需要用計算機去激勵繼電器線圈的應用中,TTL或CMOS設備也許無法滿足電壓和電流需求。因此需要在TTL信號和繼電器之間接入一級緩沖,以提供30V,100mA的驅動能力。
這種系統的一個例子是用于數字IO儀器的板卡,板載放大/衰減單元,由一個PNP晶體管、一個續流二極管和一個電阻組成(見圖11.02)。為了控制標準的24V繼電器,需要從外部引入24V電源。內部TTL輸出高電平時,三極管導通,輸出低電平(約0.7V);TTL輸出低電平時,三極管進入截止區,輸出被拉到24V。因為繼電器線圈是感性負載,所以需要反接一個續流二極管,用于在開關切換時保護繼電器。
圖11.03演示了高壓數字輸入的降壓電路。這使得TTL電路可以處理高達48V的電壓。高壓信號接入電阻分壓電路,得到衰減。選取一個阻值適當的電阻R,用于處理不同程度的高壓信號。圖11.04中的表格提供一些常用方案。
數字輸入
計算機處理數字輸入的方法各種各樣,有難有易。這一章節簡要討論軟件觸發,單字節讀取;硬件控速,數字輸入;外部觸發,數字輸入。
數字輸入的異步讀取
當計算機周期性的采樣數字引腳時,需要使用軟件觸發的異步讀取方式。有時,讀取數字輸入的速度和時機至關重要,但是采用軟件觸發的單字節讀取方式,讀取間隔很難保持穩定,尤其是當應用程序運行在多任務操作系統下的時候,例如在PC機上運行。原因是讀取間隔受計算機的運行速度和其他并發任務的影響。讀取間隔的不穩定可用軟件定時器進行補償,但是小于10ms的時間分辨率在PC上很難得到保證。
數字輸入的同步讀取
有些系統提供硬件控速的數字輸入讀取方式,用戶可以設置數字輸入端口的讀取頻率。例如,某系統能夠以100kHz的頻率讀取16位IO口,某些系統可以達到1MHz的速度。硬件控制的讀取,最大優點就是可以做到比軟件快得多的速度。最后,此類設備可以在讀取模擬輸入的同時讀取數字輸入,使得模擬輸入和數字輸入的數據具有緊密的關聯性。
數字輸入的外部觸發讀取
某些外部設備以獨立于數據采集系統的速率,產生以比特、字節或字為單位的數據。只有當新數據可讀時才進行讀數,并非以預先設置好的速率讀數。因此,這些外部設備通常采用信號交換技術進行數據傳輸。當新的事件發生,例如外部數據就緒或門控信號輸入時,外部設備在單獨一根信號線上產生電平翻轉。為了與這些設備交互,數據采集系統必須具備可被外部信號控制的輸入鎖存功能。這樣,一個邏輯信號會提交到主控計算機,提示新數據準備就緒,可從鎖存器中讀取。
舉例來說,一個以此方式工作的設備,在其6根控制信號線中有一根線用來通知外部設備主機正在讀取輸入鎖存器中的數據。這個動作使外部設備能夠保持住新數據,直到本次讀取完成。
數字隔離
由于多種原因,數字信號往往需要被隔離,比如保護系統一端免受另一端隨時可能出現的高壓信號的損害、使得不共地的兩個設備之間正常通信或保證醫學應用中用戶的安全。常見的隔離方案是光耦。光耦包含一個用于發射數字信號的LED或激光二極管,和一個用于接收信號的光電二極管或光電三極管(見圖11.05)。光耦體積雖小,但可以隔離500V高壓,這種技術還可以用于控制并監控不共地的設備。
脈沖序列信號調理
在許多測量頻率的應用中,脈沖信號被計數或與某個固定的時基單元做比較。脈沖也可作為一種數字信號,因為只有上升沿或下降沿會被計數。在很多情況下,脈沖序列甚至可能來自模擬信號源,比如電磁拾波器(magnetic pickup)。
舉例來說,數據采集系統中應用廣泛的頻率采集卡,提供4路頻率輸入通道,并包含2個獨立的前端電路,一個用于數字信號輸入,另一個用于模擬信號輸入。采集卡將數字輸入劃分為不同邏輯狀態,將模擬輸入轉換成一個隨時間變化的純凈的數字脈沖序列。
圖11.06演示了原理框圖:總共模擬輸入和信號調理兩部分。前端RC網絡提供交流耦合,允許高于25Hz的信號通過。衰減比例可調的衰減器降低了波形的整體幅度,削弱了不必要的低壓噪聲的影響。當需要使用來自繼電器閉合時的脈沖序列時,此電路單元為用戶提供了軟件可配置去抖時間的功能。數字電路監控著被調節的脈沖序列,保持高電平或低電平。如果沒有去抖動環節,信號中額外的邊沿將導致過高的、不穩定的頻率讀數。
大量傳感器輸出調頻信號,而不是調幅信號。比如用于測量轉動和流體流速的傳感器,通常屬于這一類。光電倍增管(photomultiplier tubes)和帶電粒子探測器(charged-particle detectors)常用于測量領域,并輸出頻率信號。原則上,這些信號也可以用AD采集,但這個方法將產生大量冗余數據,使得分析工作難以進行。直接進行頻率測量效率則高得多。
頻率 - 電壓轉換
數據采集系統可通過多種途徑測量頻率:對連續的AC信號或脈沖序列做積分,產生與頻率成比例關系的DC電壓,或用AD將交流電壓轉換成二進制的數字信號,或對數字脈沖計數。
脈沖序列積分
一種常見的用于單通道的轉換技術,模塊化的信號調節:對輸入脈沖做積分,并輸出與頻率成比例的電壓信號。首先, AC信號經過一系列電容耦合,濾除超低頻和DC分量,此輸入信號每次經過零點,比較器產生一個恒定寬度的脈沖,脈沖再經過積分電路,如低通濾波器,然后輸出一個變化緩慢的信號,信號電壓將正比于輸入信號頻率(見圖11.08)。
頻壓轉換器的響應時間比較慢,約為低通濾波器截止頻率的倒數。截止頻率必須遠低于待測信號頻率,又要足夠高,以保證所需的響應時間。若待測信號頻率接近于截止頻率,明顯的紋波將會成為一個嚴重的問題,如圖11.09所示。
外部電容決定了專用頻壓轉換的IC時間常數,使得電路可測量較寬頻率范圍內的信號,但頻率改變時,電容也必須隨之改變。不幸的是,這種頻壓轉換器在頻率低于100Hz時,表現得很差,因為截止頻率低于10Hz的低通濾波器需要超級電容器。
數字脈沖計數
另一種用于測量數字脈沖或AC耦合模擬信號頻率的技術。可輸出正比于輸入信號頻率的DC電壓,類似上面提到的積分法,只不過這里的DC電壓來源于DAC。前端電路將輸入的模擬或數字信號轉換成純凈的脈沖序列,使其在進入DAC之前,不會帶有來自繼電器的毛刺,高頻噪聲以及其他多余信號(見圖11.10)。
舉例來說,一個標準的帶有頻率輸入的數據采集卡,模擬輸入通道前置低通濾波器,截止頻率可設置為100kHz、300Hz或30Hz,測頻范圍1Hz至100kHz,信號峰峰值50mV至80V。數字輸入部分直流耦合至TTL電平的施密特觸發器,可測量0.001Hz至950kHz,±15VDC的信號。采集卡通常具有上拉電阻,用于繼電器或開關應用。
微控制器準確測量幾個脈沖的周期之和,頻率分辨率取決于用戶可配置的最小脈沖寬度。從測得的周期數據中可換算出頻率,再根據頻率值,控制DAC向數據采集系統輸出相應的模擬信號,信號流入DC調理電路,最后,軟件再將此電壓轉換成頻率值。這種方法可以測量幅值和頻率范圍很寬的信號,且響應迅速。程序可控的頻率量程可以最佳匹配ADC的量程,提高測量性能。
DAC輸出范圍±5V,用戶配置的最低頻率對應-5V,最高頻率對應+5V。實際上,用戶可任意配置頻帶范圍,如500Hz-10kHz、59.5Hz-60.5Hz。但ADC固定為12位分辨率,不管頻寬如何,-5V至+5V的電壓都會被按比例劃分為4096個等級,所以設置的頻寬越窄,頻率分辨率越高。例如1Hz的頻寬劃分為4096份,分辨率高達1/4096Hz(0.00244Hz),而100Hz的頻寬,分辨率則降至24.41Hz。
雖然不同量程下,分辨率都是固定的12位,但測量速度卻有所不同。從1Hz至自定義的頻率上限,電壓轉換時間2至4ms,最長不超過輸入信號的周期。0至10kHz范圍內的信號,更新速率2至4ms;0至60Hz,則需要16.6ms。隨著輸入量程越來越窄,例如49至51Hz,12位分辨率去處理2Hz的帶寬,消耗時間越來越長,轉換時間大約59ms。
除了低通濾波器,內置的遲滯功能也可防止由于高頻噪聲導致的錯誤計數。去抖時間可被軟件配置為0.6ms至10ms,用于處理機電設備,如開關、繼電器等切換狀態時會產生毛刺的設備。
基于門控脈沖計數的頻率測量
門控脈沖計數相對于頻壓轉換法精準度更高。門控脈沖計數法記錄在指定時間內出現的脈沖個數,除以計數時間即頻率值,頻率誤差可以低至計數時間的倒數,例如以2s作為計數時間,頻率誤差低至0.5Hz。
許多數據采集系統包含TTL電平兼容的計數器/定時器IC,可以產生門控脈沖、測量數字輸入,然而并不適用于未經調理的模擬信號。所幸多數頻率輸出設備可以輸出TTL電平。有些產品上的一個計數器/定時器IC,包含了5個計數器/定時器,而且通常使用數據采集系統的內部晶振,或外部晶振。這些IC通常使用多個通道配合完成計數功能,每路通道都包含一個輸入部分,一個門控部分和一個輸出部分。最簡單的計數只需使用輸入部分,PC以一定的周期讀取計數值并復位計數器,這種方法的不足之處是讀取周期不確定,函數執行過程中突然出現的情況可能隨時啟動或停止計數。另外,延時函數,例如延時50ms,依賴于不精確的軟件定時器。這兩點原因致使計數時間較短的頻率測量毫無意義,但是,這種技術足以應對計數時間超過1秒的頻率測量。
門控信號控制著計數時間,所以改變門控信號可以獲得更高的精準度。這樣,頻率測量就變得與軟件方面的時間問題無關。可以配置門控信號,在其高電平時才進行脈沖計數。同樣的,也可以配置成在檢測到一個脈沖時開始計數,檢測到另一個脈沖時停止計數。
這種方法的一個缺點是需要額外的計數器用于控制。但在多通道頻率采集的應用中,一個計數器可以控制多個通道。例如在5個通道的系統中,4通道用于計數,1通道用于控制。
計時應用
計數器/定時器同樣可用于需要計時/定時的應用場合。將連接至輸入通道的時鐘信號作為門控信號是不錯的選擇,當信號為高電平時,使能計數。同樣的方法可用于測量兩個脈沖之間的時間間隔,只需配置成在第一個脈沖到來時開始計數,下一個脈沖到來時停止計數。
由于16位計數器在計數到65535時,即將發生溢出,所以以1MHz的時鐘頻率計數時,可測脈寬不超過65.535ms,更寬的脈沖將會導致計數器溢出,除非降低時鐘頻率。
-
計算機
+關注
關注
19文章
7496瀏覽量
88002 -
數字信號
+關注
關注
2文章
970瀏覽量
47554
發布評論請先 登錄
相關推薦
評論