理解了一個(gè)模擬信號(hào)路徑后,,數(shù)字系統(tǒng)開(kāi)發(fā)者就可以從各種應(yīng)用中,,更精確地捕捉傳感器數(shù)據(jù)。
要點(diǎn)
即使同一家制造商的類似傳感器也可能有不同的輸出,,而這些差異會(huì)給系統(tǒng)設(shè)計(jì)者帶來(lái)麻煩,。
噪聲來(lái)自于多種原因,包括電路板布局,、射頻,、熱元件,甚至傳感器自身,。
要使用傳感器濾波后的信號(hào),,必須用ADC,將模擬信號(hào)量化為數(shù)字信號(hào),。
可以選擇采用外接ADC,,也可以采用內(nèi)置ADC的微控制器。外接ADC有較高的精度,,在速度與分辨率方面有更好的性能,。
傳感器越來(lái)越多地應(yīng)用于嵌入式系統(tǒng)中。雖然長(zhǎng)期以來(lái)工業(yè)產(chǎn)品一直將其用于制造控制系統(tǒng),,但消費(fèi)設(shè)備現(xiàn)在也開(kāi)始采用傳感器,。制造商們正在消費(fèi)產(chǎn)品中集成傳感器,以創(chuàng)造出更好的用戶體驗(yàn),,如在手機(jī)中增加加速度計(jì),,以及在微波爐中加入蒸汽傳感器等。以前僅在數(shù)字域中工作的系統(tǒng)設(shè)計(jì)者現(xiàn)在發(fā)現(xiàn),,自己必須要與模擬傳感器打交道了,。
圖1,一只傳感器的模擬信號(hào)路徑可以分為幾級(jí):放大,、濾波和數(shù)字化,。
傳感器的模擬信號(hào)必須經(jīng)過(guò)數(shù)字化才能供系統(tǒng)使用,并且信號(hào)要經(jīng)過(guò)放大,、濾波和數(shù)字化(圖1),。每一級(jí)通常都涉及一只圍繞著一些無(wú)源元件的器件,以正確地實(shí)現(xiàn)一個(gè)應(yīng)用,。一旦對(duì)信號(hào)做了數(shù)字化,,就可以將其送給微處理器上的控制系統(tǒng),或整理數(shù)據(jù)后通過(guò)一個(gè)通信協(xié)議送至一只主處理器,。協(xié)議可以根據(jù)需要使用傳感器數(shù)據(jù),。
每個(gè)傳感器有不同的輸出信號(hào)和范圍,。輸出的信號(hào)可以是電壓、電流,、電阻,、電容或頻率,但幾乎不存在什么標(biāo)準(zhǔn),,只有專用的工業(yè)系統(tǒng)在使用它們,。即使同一制造商的類似傳感器也可以有不同的輸出,而這些差異會(huì)給系統(tǒng)設(shè)計(jì)者帶來(lái)一些麻煩,。設(shè)計(jì)者選擇傳感器時(shí)必須滿足系統(tǒng)的需求,。然而,如果在設(shè)計(jì)期間這種需求出現(xiàn)變化,,則傳感器也要做出修改,。另外,一款輸出略有不同的新傳感器必須對(duì)放大級(jí)和濾波級(jí)作出改動(dòng),。
大多數(shù)傳感器都輸出一個(gè)低電平的電流或電壓信號(hào),,因此一個(gè)簡(jiǎn)單的電阻網(wǎng)絡(luò)就能將任何電流信號(hào)變?yōu)橐粋€(gè)電壓,。本文簡(jiǎn)單描述了一些概念和元件選擇過(guò)程,。
幅度
一只傳感器的輸出可以低至數(shù)毫伏,也可以高達(dá)數(shù)伏特,。為做到正確的數(shù)字化,,對(duì)ADC來(lái)說(shuō)信號(hào)必須足夠大,才能有效地讀出,。大多數(shù)情況下,,傳感器信號(hào)都需要放大。例如,,一個(gè)典型的K型熱電偶輸出為41μV/°C,,如果你的設(shè)計(jì)需要1°C的粒度,就需要做相當(dāng)?shù)姆糯?。因此,,必須考慮到ADC的分辨率,以確保能將信號(hào)放大到能滿足所需粒度,。
對(duì)放大器的選擇主要取決于需要的類型,,例如是儀表放大器、差分放大器,、運(yùn)算放大器,,還是PGA(可編程增益放大器)。另外還必須確定放大器需要的增益大小,。放大器周圍的電阻網(wǎng)絡(luò)(帶反饋)決定了放大器的增益,。理想情況下,,標(biāo)準(zhǔn)放大器的最大增益是無(wú)限的。給器件的數(shù)字信號(hào)通常就設(shè)定了PGA的增益,。這個(gè)信號(hào)改變了內(nèi)部電阻網(wǎng)絡(luò),。一只PGA的最大可能增益為傳統(tǒng)放大器的千分之一至二分之一,但大多數(shù)情況下這個(gè)區(qū)間是可以接受的,。
對(duì)于放大器還必須考慮另外一個(gè)重要規(guī)格:偏移電壓,。偏移電壓是一個(gè)信號(hào)通過(guò)放大器時(shí)改變的電壓量。例如,,如果將一個(gè)500 mV信號(hào)送給一個(gè)單位增益(即增益為1)的放大器,,偏移電壓為10 mV,則得到的輸出就是510 mV,。如果傳感器的輸出范圍為0至900 mV,,而系統(tǒng)不需要非常精密的傳感器讀數(shù),那么這個(gè)偏移就可以忽略不計(jì),。如果傳感器的范圍為450 mV至550 mV,,這個(gè)偏移可能就不可接受了。偏移電壓越小,,放大器就越貴,。所有放大器都有偏移,但你需要知道系統(tǒng)是否能容忍它,??梢杂孟嚓P(guān)雙采樣方法來(lái)降低或消除偏移電壓。
濾波
所有系統(tǒng)都會(huì)在傳感器信號(hào)上疊加一些噪聲,。噪聲來(lái)源有各個(gè)方面,,包括電路板布局、射頻,、熱元件,,甚至傳感器自身。信號(hào)噪聲會(huì)使ADC的讀數(shù)不精確和不穩(wěn)定,,噪聲電平在放大器中會(huì)得到增強(qiáng),,因?yàn)榉糯笃髂芊糯笮盘?hào)中的誤差。信號(hào)噪聲可以分為低頻,、高頻或某個(gè)已知頻率,。通常最需要解決的是高頻噪聲問(wèn)題?! ?br />
圖2,,傳感器的信號(hào)路徑中包括放大器、濾波器和ADC,。濾波器的設(shè)計(jì)用于去除信號(hào)中的噪聲,,限制帶寬,。
用無(wú)源模擬濾波器、濾波器IC和數(shù)字濾波器都可以濾除噪聲(圖2),。最常見(jiàn)的方法是無(wú)源濾波,,這要用電阻、電容和電感建立一個(gè)無(wú)源網(wǎng)絡(luò),。不過(guò),,你必須設(shè)計(jì)無(wú)源的濾波器,并且無(wú)法簡(jiǎn)單地改變它們,。濾波器設(shè)計(jì)的復(fù)雜度可能與你所需濾波器等級(jí)一樣大,;一個(gè)一階Chebyshev濾波器的設(shè)計(jì)工作量要比一個(gè)八階Bessel濾波器小得多。因此你應(yīng)確定需要的濾波器階數(shù),,然后再選擇自己采用的濾波方法,。
某些IC允許你用數(shù)字編程方法,確定需要的濾波器類型,。這些IC用內(nèi)部的模擬電路建立濾波器,,并可能有與之相關(guān)的偏移電壓。它們也可以讓你將濾波步驟移到ADC量化的后面,。數(shù)字濾波器設(shè)計(jì)可以很復(fù)雜,,但有很多能幫助做出高階濾波器的簡(jiǎn)便設(shè)計(jì)。數(shù)字濾波是去除噪聲的一個(gè)理想方式,,但是,,它通常需要很多CPU周期,,增加了功耗,。系統(tǒng)通常會(huì)引起高頻噪聲,因此需要采用低通濾波器,。這種濾波器可衰減高于所設(shè)定截止頻率的信號(hào)部分,。有些傳感器信號(hào)要求采用相互串聯(lián)的多種類型濾波器。大多數(shù)傳感器數(shù)據(jù)表中都指定了一個(gè)基本的接口電路,,但并未提及所需要的濾波形式,。系統(tǒng)設(shè)計(jì)者必須在徹底了解需要的濾波形式以后,再建立系統(tǒng),。
數(shù)字轉(zhuǎn)換
為了使用傳感器濾波后的信號(hào),,必須用一只ADC對(duì)模擬信號(hào)作量化,使之進(jìn)入數(shù)字域,。ADC的選擇主要是考慮系統(tǒng)對(duì)采樣速度和分辨率的要求,。所需采樣速度與傳感器的帶寬以及系統(tǒng)需要刷新的速度有關(guān)。分辨率的決定因素是需要ADC響應(yīng)傳感器信息的間隔時(shí)間,。系統(tǒng)的使用模型決定了這個(gè)速度以及分辨率要求,。例如,,一個(gè)普通陀螺儀會(huì)以0.67mV/(°)測(cè)量360°的旋轉(zhuǎn),獲得241mV的輸出量程,。為保持垂直,,一個(gè)直升機(jī)愛(ài)好者需要以1°的粒度獲得陀螺儀信息,但吞吐量只有10k采樣/秒,。這個(gè)需求就要用一個(gè)10bit ADC,,提供0.35°/bit。不過(guò)要注意,,信號(hào)上仍然有噪聲,,±1 bit是可接受的。反之,,一款防抖數(shù)碼相機(jī)可能需要0.02°的粒度,,但吞吐量為5k采樣/秒,從而在相機(jī)振動(dòng)時(shí)調(diào)整圖像傳感器,。這種要求可能需要采用16位ADC,,提供0.005°/位。
圖3,,將INL誤差 (a),、DNL誤差 (b)、增益誤差 (c),、偏移誤差 (d) 以及總誤差相結(jié)合,,就能了解一個(gè)理想ADC (f) 與實(shí)用ADC。
制造商以INL(整體非線性),、DNL(差分非線性),、偏移誤差、增益誤差和SNR(信噪比)等指標(biāo)來(lái)量度ADC的精度,。當(dāng)把這些術(shù)語(yǔ)聯(lián)合起來(lái)時(shí),,就提供了對(duì)ADC總誤差的一個(gè)了解(圖3)。對(duì)于多數(shù)應(yīng)用,,沒(méi)有必要細(xì)究這些ADC的規(guī)格,,但工程師應(yīng)充分理解這些值對(duì)所用ADC的意義。你可以選擇使用外接ADC,,或一款內(nèi)置ADC的微處理器,。外接ADC有較高的精度,在速度和分辨率方面都有較高的性能,。不過(guò),,大多數(shù)傳感器的應(yīng)用要求都能很好地適合于微控制器內(nèi)置的ADC。
另外一種選擇是采用可配置ADC,,它是微控制器中包含的可編程邏輯塊,。集成的數(shù)字與模擬可編程塊可以為每種傳感器應(yīng)用動(dòng)態(tài)地定義可配置外設(shè),。這些塊包括計(jì)數(shù)器、PWM(脈沖寬度調(diào)制器),、UART,、SPI(串行外設(shè)接口)、放大器,、濾波器,、ADC和DAC。開(kāi)發(fā)者還可以在一只器件內(nèi)實(shí)現(xiàn)放大與濾波級(jí),,從而集成整個(gè)模擬信號(hào)鏈(圖4),。采用可配置ADC可以得到比無(wú)源元件方法更干凈的設(shè)計(jì)。另外,,可以動(dòng)態(tài)地重新配置這些塊,,這些就可以選擇將這些系統(tǒng)資源重新利用于其它功能。
圖4,,開(kāi)發(fā)者可以在一只器件內(nèi)實(shí)現(xiàn)放大級(jí)與濾波級(jí),,集成整個(gè)模擬信號(hào)鏈。
傳感器在繼續(xù)向很多市場(chǎng)滲透,,為人們帶來(lái)更多的控制與更大的靈活性,。傳感器通過(guò)對(duì)環(huán)境的管理例如溫度監(jiān)控提高了可靠性,通過(guò)反饋機(jī)制改進(jìn)了性能,,并實(shí)現(xiàn)了新型用戶接口,。對(duì)于很多這些設(shè)計(jì)來(lái)說(shuō),微控制器中集成的ADC提供了足夠的粒度和精度,。不熟悉模擬設(shè)計(jì)的開(kāi)發(fā)人員可能會(huì)在傳感器與微處理器之間的模擬信號(hào)鏈上遇到麻煩,。
多級(jí)模擬信號(hào)路徑的實(shí)現(xiàn)似乎很復(fù)雜,尤其是對(duì)那些主要在數(shù)字域做設(shè)計(jì)的工程師們,。不過(guò),,將模擬信號(hào)域分隔為多個(gè)放大、濾波和ADC級(jí)后,,數(shù)字系統(tǒng)開(kāi)發(fā)者就可以更容易和更精確地捕捉一系列工業(yè)與消費(fèi)應(yīng)用中的傳感器數(shù)據(jù)。另外,,不斷涌現(xiàn)的IC,、可配置ADC和濾波器設(shè)計(jì)工具等都可以大大簡(jiǎn)化傳感器的設(shè)計(jì)。