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