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