ADC技術(shù)幫助實現(xiàn)更精確測量
任何計量和醫(yī)療測量應(yīng)用的一個關(guān)鍵考慮和成功因素就是模數(shù)轉(zhuǎn)換器(ADC)模塊。儀表和監(jiān)視器將真實世界中的信號,即(定義上所說的)模擬信號,轉(zhuǎn)換到數(shù)字電子領(lǐng)域來處理、記錄和應(yīng)對。用微控制器(MCU)讀取并由ADC模塊進(jìn)行轉(zhuǎn)換的最常見的測量信號是電壓和電流,因為所有傳感器都能夠轉(zhuǎn)換到這一電子領(lǐng)域。系統(tǒng)設(shè)計人員為其應(yīng)用選擇一款帶有最合適ADC模塊的MCU,并不像尋找信號粒度那樣簡單。分辨率只是部分考慮因素,除此之外,還要分析速度、線性度、噪聲和其他導(dǎo)致測量誤差的因素,并了解它們的影響。首先要找到一款合適的MCU產(chǎn)品,其次是了解ADC模塊并使用該模塊,以最大程度地減少不利影響,甚至將這些因素轉(zhuǎn)化為系統(tǒng)的優(yōu)勢。
電表、高精度醫(yī)療設(shè)備等應(yīng)用需要測量非常小的信號,因此,在為應(yīng)用設(shè)計選擇MCU時,ADC的分辨率通常是一個關(guān)鍵性的參數(shù)(即10位、12位或16位分辨率)和考量因素。需要記住的是,所有ADC都存在固有的誤差,因為它們需要對真實世界的信息進(jìn)行轉(zhuǎn)換,以離散的步長將信號進(jìn)行數(shù)字化,這個過程被稱為量子化。因此,數(shù)字輸出不能完美地表示模擬輸入信號。例如,對于5V的最大輸入電壓,一個16位轉(zhuǎn)換器將提供的最低有效位(LSB)步長為76uV。因此,ADC只能以76uV的步長(76uV、152uV、228uV等)對數(shù)值進(jìn)行數(shù)字化。對于這種情況,這意味著在最理想的情況下,測量結(jié)果的精度絕不會優(yōu)于±0.5LSB(±38uV)。
電表必須能夠準(zhǔn)確地測量一個比較大的電流范圍。一款典型的美國電表需要以1%的精度讀取從0.25A到200A范圍的電流。這相當(dāng)于800個精度為1%的等級(200/0.25),即80,000(800*100),等價于16位。橫跨這一電流范圍的電表最大電壓非常小(<1V=,因此,使用了差分對輸入將電壓精度降低到5uV左右的水平。
類似地,在一個高精度醫(yī)療器件中,如小型血樣葡萄糖測定儀(0.3μl),也需要很高的ADC精度??s小可測量的電壓帶差分輸入,將可比單端輸入提供更好的抗噪聲性能。ADC輸入信號線相當(dāng)于天線,收集環(huán)境電活動(噪聲)。使用單端輸入時無法分辨信號和噪聲,但是差分輸入的兩種輸入具有相同的噪聲,從而有效地消除了噪聲。在實踐中,差分輸入放大器并未實現(xiàn)完美的匹配,因此轉(zhuǎn)換結(jié)果可能會出現(xiàn)小部分的噪聲電壓。差分輸入放大器與理想情況的接近程度用共模抑制比(CMRR)表示。
不同類型的ADC具有不同的速度(轉(zhuǎn)換時間)。轉(zhuǎn)換時間與通道數(shù)成正比。對于一個逐次逼近型ADC(可在飛思卡爾支持16位ADC的9S08MM、MCF51MM、MCF51EM和9S08LH MCU系列中找到),轉(zhuǎn)換時間將隨著通道數(shù)的對數(shù)而變化。由于模擬技術(shù)本質(zhì)上較數(shù)字技術(shù)慢,因此隨著通道數(shù)的增加,所需的轉(zhuǎn)換時間也將增加。在速度與精度之間需要進(jìn)行一定程度的權(quán)衡。這些逐次逼近型ADC包含獲取輸入電壓(VIN)的采樣和保持電路、一個比較器、一個逐次逼近型寄存器子電路和一個內(nèi)部參考電容數(shù)模轉(zhuǎn)換器(DAC)(圖1)。DAC為比較器提供一個模擬電壓,它等值于從逐次逼近型寄存器(SAR)輸出的數(shù)字代碼,這個模擬電壓是為了和VIN相比較。
再次以電表為例,市電電壓/電流信號有一個基本的頻率(50/60Hz,因國家而異)。所需的ADC采樣頻率通常被作為測量電源頻率(50/60Hz)的21次諧波所需頻率。這要求采樣頻率達(dá)到2*21*60,即2.52kHz或約400us。這意味著所有必需的測量都必須在400us內(nèi)完成。但是,由于電流互感器線圈或類似的系統(tǒng)電路會使電路測量失真,從而產(chǎn)生滯后,這將導(dǎo)致更嚴(yán)格的頻率要求。這種滯后意味著,在規(guī)定時間內(nèi)進(jìn)行電流轉(zhuǎn)換之前,必須先完成前一個電壓轉(zhuǎn)換。針對每個CT對這種延遲進(jìn)行了校準(zhǔn),但是轉(zhuǎn)換速度可能會降低到所需的5us以下??扇〉慕鉀Q辦法是使用具有可編程同步硬件觸發(fā)機(jī)制的多個獨(dú)立的ADC模塊。飛思卡爾的9S08MM、MCF51MM和MCF51EM微控制器提供了一種可編程延遲模塊(PDB)來完成這一任務(wù)。
一些ADC器件具有可設(shè)置的轉(zhuǎn)換時間。任何縮短采樣時間的方法都會對轉(zhuǎn)換精度產(chǎn)生負(fù)面影響,因為這將增加采集誤差,誤差產(chǎn)生的原因是采集電路無法在分配的時間內(nèi)為ADC的輸入端充滿電荷。如果不能及時確定結(jié)果,縮短SAR保持時間也將增加誤差的機(jī)率。這些誤差的嚴(yán)重程度取決于ADC和實現(xiàn)方案,但總的原則是允許ADC擁有應(yīng)用能夠處理的足夠長的比較時間。
不幸的是,其他一些嵌入式ADC特性引入了誤差并降低了精度,包括偏移、增益、溫度漂移和非線性性能。一些ADC,如飛思卡爾最新產(chǎn)品中的16位ADC,具有通過校準(zhǔn)減小偏移和增益誤差的能力。校準(zhǔn)過程分為三個步驟:采樣、比較和取近似值,可用于調(diào)整轉(zhuǎn)換結(jié)果。許多ADC在端點(diǎn)處表現(xiàn)出一些非線性特性,因為很難測量與參考相同的信號。通常在產(chǎn)品電氣特性中規(guī)定的零標(biāo)度和滿量程誤差可以應(yīng)用于轉(zhuǎn)換結(jié)果標(biāo)度的極端情況。僅考慮這兩個誤差,就可以計算出地電勢與電源之間調(diào)整后的傳遞函數(shù)(圖2中的綠色虛線)。另一種查看這些誤差的方法是借助偏移和增益。一些ADC模塊能夠通過預(yù)定的增益調(diào)整和偏移調(diào)整來調(diào)整結(jié)果(通過校準(zhǔn)),這些調(diào)整改進(jìn)了調(diào)整后的傳遞函數(shù),從而能夠更好地表示理想的傳遞函數(shù)(圖2中的藍(lán)線)。
ADC的非線性特性無法由系統(tǒng)糾正,必須由模塊設(shè)計人員解決。存在兩種類型的非線性特性,即差分非線性和積分非線性。對很多控制應(yīng)用來說,差分非線性(DNL)是ADC最關(guān)鍵的性能測量指標(biāo),因為它代表了ADC將輸入電壓的微小變化與代碼轉(zhuǎn)換的正確變化相關(guān)聯(lián)的能力。DNL指每次轉(zhuǎn)換的當(dāng)前代碼寬度(CCW)與理想代碼寬度(ICW)之差。積分非線性(INL)通過凸顯當(dāng)前和理想的轉(zhuǎn)換電壓之差來表示實際傳遞函數(shù)中的曲率。很多的ADC都能夠通過一個與ADC通道內(nèi)部相連的片上溫度傳感器測量芯片的溫度,如果溫度補(bǔ)償曲線已知,則允許包含溫度補(bǔ)償,一般通過產(chǎn)品開發(fā)期間所控制的環(huán)境表征來實現(xiàn)。
這些誤差可以被匯總并表示為總的未調(diào)整誤差(TUE)數(shù),通常在一些LSB中引用。TUE指最大誤差(大于或小于理想的直接傳遞函數(shù)),包括前述的DNL、INL、零標(biāo)度和滿量程誤差,或者指實際傳遞函數(shù)與理想ADC之間的最大偏離。
一個ADC的有效位數(shù)(BNOB)是分辨率和精度的真實指標(biāo)。這個數(shù)值表明了在一個給定系統(tǒng)中有多少位提供了準(zhǔn)確信息,即結(jié)果中有多少部分表示噪聲,多少部分表示信號。可以通過以下公式計算:
ENOB=(SINAD-1.76dB)/6.02dB
其中,信號噪聲及失真比(SINAD)是指有用信息(信號)和背景噪聲(噪聲或誤差)之間的比率。SINAD值不僅受到ADC設(shè)計和芯片集成的影響,還受到PCB的布局和設(shè)計,以及所選附加分立元器件的影響。較大的SINAD值意味著較多的信號是數(shù)據(jù)并且誤差很小,這能改進(jìn)測量微伏級變化的信號時測量結(jié)果的精度。較小的SINAD值意味著信號被系統(tǒng)中的噪聲干擾,精度受到影響。
了解ADC模塊電氣規(guī)范中的數(shù)據(jù),將有助于根據(jù)系統(tǒng)需求作出明智的決策,但是除此以外,還可以應(yīng)用一些技術(shù)來改善轉(zhuǎn)換結(jié)果的分辨率和準(zhǔn)確性。第一種技術(shù)稱為抖動。在一個ADC的輸入端添加少量的受控噪聲(0.5LSB高斯白噪聲),可強(qiáng)制信號處于最接近的分辨率步長之上或之下,從而可避免必須向下舍入到該值以下。轉(zhuǎn)換的LSB狀態(tài)將在0和1之間隨機(jī)振蕩,而不是維持在一個固定值上。通過引入微小噪聲,我們擴(kuò)展了ADC能夠轉(zhuǎn)換的信號的有效范圍,而不是簡單地去除了在這個低電平上的所有信號(僅被量化成一位的分辨率)。事實上,此量化誤差涵蓋了一系列的噪聲值。抖動僅增加了采樣電路的分辨率,改善了線性度,但并沒有提高精度。不過,通過在信號上增加1~2位LSB噪聲并采用過采樣的技術(shù)卻可以提高精度。
在向信號添加人工噪聲時,一定要注意噪聲的平均值必須為0。但許多系統(tǒng)具有來自其他噪聲源的白噪聲,包括熱噪聲、CPU核、開關(guān)端口和電源的變化。血壓監(jiān)測儀尤其容易受白噪聲影響,因為血液脈動會產(chǎn)生電磁干擾和振蕩等,它們將被PCB吸收,進(jìn)而進(jìn)入到微控制器。
過采樣是指采樣頻率遠(yuǎn)遠(yuǎn)高于被采樣信號的尼奎斯特(Nyquist)頻率的信號采樣過程。實際上,過采樣用于實現(xiàn)成本更低、分辨率更高的ADC轉(zhuǎn)換。例如,要實現(xiàn)16位轉(zhuǎn)換器,只需要使用12位轉(zhuǎn)換器以目標(biāo)采樣率的256倍頻率運(yùn)行。對每一個附加分辨率位,信號必須以4倍頻率過采樣。對一組256個連續(xù)的12位采樣數(shù)據(jù)取平均值,可使結(jié)果的分辨率增加4位,這樣就產(chǎn)生一個16位的分辨率。因為現(xiàn)實世界的ADC并不能瞬間完成轉(zhuǎn)換,所以輸入值應(yīng)當(dāng)在轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換期間保持恒定。采樣和保持電路通過用一個電容儲存輸入端的模擬電壓,并用一個電子開關(guān)將電容從輸入端斷開的方式來完成這一任務(wù)。使用設(shè)置好最適合輸入信號的采樣和保持時間的ADC,將幫助改進(jìn)轉(zhuǎn)換結(jié)果的精度。
可以將以上兩種方法(噪聲注入和過采樣)結(jié)合起來,更進(jìn)一步地改善精度。這一技術(shù)通常被認(rèn)為是過采樣和抽取。通過增加1~2個噪聲LSB,同時進(jìn)行的采樣不會產(chǎn)生相同的結(jié)果。這個方法增加了SINAD并且提高了ENOB。通過在輸入信號處增加1~2個噪聲LSB和過采樣,結(jié)果被平均后可以提供一個更精確的值。從ADC測量中獲得的平均數(shù)據(jù)還能使輸入信號中的毛刺變平,從而具有減小信號波動和噪聲的優(yōu)點(diǎn)。普通噪聲的平均值將一直保持為0,因此,通過平均同時進(jìn)行的采樣結(jié)果,可以減弱噪聲的影響。系統(tǒng)所應(yīng)用的平均數(shù)量取決于信號變化的速率和所需的采樣間隔。一些ADC模塊內(nèi)置有取平均值的能力(圖3)。
以上概念都被融入到系統(tǒng)的軟件設(shè)計之中,但是還有一些硬件改進(jìn)技術(shù)也可以提高轉(zhuǎn)換精度。許多電路(特別是電池電壓和溫度檢測電路)使用高值電阻分壓器生成模擬參考。通常,電容器被放置于輸入端,這將使模擬交流電源的源阻抗降低,因此,ADC將能夠恰當(dāng)?shù)孬@取到信號。PCB本身的固有電阻小于1MΩ。模擬輸入端的漏電流(IIN)通常要求不超過1μA,其典型值一般在25nA左右。這種漏電流將會產(chǎn)生誤差(EIL):
EIL=IIN*RAS
其中,RAS是ADC電壓源的模擬源電阻。消除這種誤差的最佳方式是,在系統(tǒng)可控范圍內(nèi)減少RAS和任何形式的漏電流(如PCB漏電)。
系統(tǒng)電源也會以噪聲形式影響轉(zhuǎn)換精度。如果ADC使用噪聲較大的電源(包括ADC電壓參考),那么將無法準(zhǔn)確地表示傳感器正在輸出的電平。有幾種ADC設(shè)計方法可以去除一些電源噪聲,但是消除電源噪聲的最佳方式是為轉(zhuǎn)換營造一個安靜的環(huán)境。MCU提供的一些模式可以暫停CPU和各種外設(shè)。飛思卡爾Flexis模式就被稱為WAIT模式。在這種環(huán)境下,器件沒有驅(qū)動輸出,但是ADC轉(zhuǎn)換仍然會發(fā)生并中斷CPU,即快速喚醒器件,完成轉(zhuǎn)換后將恢復(fù)所有的操作和通信。
最難消除的噪聲是同步噪聲,這種噪聲的參數(shù)與轉(zhuǎn)換調(diào)度相同。這類噪聲可以偽裝成增益或偏移誤差。減少這種影響的唯一方法就是針對同步噪聲來改變轉(zhuǎn)換時間,這種做法只有在噪聲源具有較低頻率時才有效。許多隨機(jī)噪聲很難預(yù)防,如EMC事件、線路噪聲和白噪聲,因為它們具有隨機(jī)性,但是通過過采樣取平均值可以起到一定的作用。
能源計量已經(jīng)成為一種示例應(yīng)用,這類應(yīng)用要求準(zhǔn)確的模擬信號轉(zhuǎn)換。另一個應(yīng)用是醫(yī)療設(shè)備,在下面的例子中,家用便攜式血糖測計儀具有MMS功能。所有這些便攜式家用醫(yī)療產(chǎn)品都要求具有較長的電池壽命、快速的響應(yīng)時間、強(qiáng)大的數(shù)據(jù)處理及有線和無線通信接口。基于微機(jī)電系統(tǒng)(MEMS)的壓力和加速度傳感器可用于采集物理參數(shù),這些參數(shù)提供自然、連續(xù)的信號電壓或電流的精密和準(zhǔn)確轉(zhuǎn)換,從而使MCU能夠通過ADC模塊來處理它們(圖4)。
糖尿病患者需要隨時監(jiān)控身體的血糖含量并采取相應(yīng)的措施。因此,家用醫(yī)療市場開發(fā)了家用醫(yī)療產(chǎn)品,從而使患者能夠更輕松地完成上述行為。這些設(shè)備均由電池供電,帶有相對簡單的用戶界面?,F(xiàn)在的儀表都帶有日期/時間時鐘和存儲器,許多儀表能夠?qū)?shù)據(jù)傳輸?shù)接嬎銠C(jī)中,甚至通過手機(jī)網(wǎng)絡(luò)傳送到醫(yī)生的診療室。一些血糖檢測儀具有直流馬達(dá),可以將刺血針插入到皮膚中來收集血樣。血樣發(fā)生的化學(xué)反應(yīng)將產(chǎn)生電流。電流的大小與血樣中的葡萄糖含量相對應(yīng)。這些葡萄糖含量在1毫克/分升范圍內(nèi)。葡萄糖含量的讀數(shù)只需花幾秒鐘時間就達(dá)到其最大值,此時要求具有穩(wěn)定的參考電壓。家用血糖檢測儀的準(zhǔn)確度是大家都比較關(guān)心的一個問題,因為它們必須滿足國際標(biāo)準(zhǔn)組織(ISO)15197精度標(biāo)準(zhǔn),標(biāo)準(zhǔn)規(guī)定,對于濃度超過75mg/dl或更低濃度的絕對水平,血糖檢測儀的檢測結(jié)果在95%的情況下都必須在實驗室標(biāo)準(zhǔn)的20%以內(nèi)。影響儀表精度的因素包括儀表校準(zhǔn)、環(huán)境溫度、血樣容量和質(zhì)量、血液中含量較高的其他物質(zhì)、血細(xì)胞比容、儀表中的污垢、濕度,以及測試條的老化。
這些要求是針對整個系統(tǒng)而言。如果所有有源電子系統(tǒng)元件都有精度要求,則ADC所需規(guī)格通常為16位分辨率,ENOB>13.5位,最少4個差分成對輸入(兩個差分對),速率大于100kHz。每個血糖儀廠家都會根據(jù)使用的組件和特殊算法以自己的方式來劃分精度,但是以上參數(shù)統(tǒng)一被市場所用。
本文小結(jié)
對于任何的醫(yī)療測量或計量系統(tǒng)來說,最大的挑戰(zhàn)就是將真實世界的模擬信號精確地轉(zhuǎn)換到嵌入式控制器的數(shù)字域。高分辨率的ADC提供了高粒度的結(jié)果(LSB表示nV的變化),但是不一定能提供應(yīng)用所需的精度。許多引起誤差的因素不可避免,因為無法實現(xiàn)完美的模數(shù)轉(zhuǎn)換。不過,不同的ADC技術(shù),例如取平均值、過采樣和抽取、校準(zhǔn)、泄漏控制、噪聲降低和溫度補(bǔ)償,可以被用來提高轉(zhuǎn)換精度(TUE)和ADC ENOB。
飛思卡爾公司的Flexis微控制器MM256/128和JE256/128器件在一個可互換的8位或32位微控制器上實現(xiàn)了超低功率操作、USB連接、圖形顯示支持和出色的測量精度,允許器件設(shè)計人員以較低的成本設(shè)計出功能豐富的產(chǎn)品。此類器件適用于工業(yè)控制、儀表和醫(yī)療應(yīng)用,或其他任何需要大量高精度模擬的應(yīng)用。器件為設(shè)計者提供了高分辨率ADC和DAC模塊兩種選擇,并且JE256/128器件還將通用的運(yùn)算放大器和跨阻放大器集成到了微控制器中。這些高度集成的微控制器具有豐富的外設(shè)集合,包括一個USB 2.0控制器、多個串行接口和一個外部總線接口。與飛思卡爾控制器系列中的其他USB微控制器一樣,MM256/128器件也得到醫(yī)療應(yīng)用USB棧支持。這種免費(fèi)贈送的USB棧目前支持MSD、HID、CDC和個人醫(yī)療器件類應(yīng)用(PHDC),而醫(yī)療設(shè)備連接庫支持設(shè)備間的通信(符合IEEE11073)。此外,飛思卡爾的MQX軟件能夠支持實時的操作系統(tǒng)(RTOS)功能和USB棧。