基于片上ADC/DAC實(shí)現(xiàn)精度可調(diào)ADC的方法
2.1 17位ADC的實(shí)琨過程
對(duì)于一個(gè)n位的ADC,其分辨率為可測量最大輸入電壓值與2n的比值。因此,此電路圖可實(shí)現(xiàn)的ADC的位數(shù)可以通過輸入電壓的最大值和分辨率計(jì)算得出。
1)計(jì)算輸入電壓測量范圍的方法 由圖2可知,ADC的輸入電壓計(jì)算公式如下:
由式(1)可推導(dǎo)出輸入電壓
式中,VIN是輸入電壓,VDAOUT是當(dāng)ADC的輸入電壓處于量程范圍之內(nèi)時(shí)DAC電壓,VDAO是ADC輸入電壓。
由式(2)可知,當(dāng)DAC的輸出電壓和ADC的輸入電壓剛好達(dá)到最大值3 V時(shí),輸入電壓為59.1 V,此電壓值為系統(tǒng)可測量的最大輸入電壓值。由此可見輸入電壓的測量范圍是0~59.1 V。
2)ADC分辨率的計(jì)算方法 當(dāng)DAC的輸出為零時(shí),即VDAOUT=0時(shí),由式(2)可知輸入電壓VIN與VADO的電壓的關(guān)系為:
VIN=VADO/10。MCU的ADC位數(shù)是1O位、最大輸入電壓是3 V。因此,ADC分辨率為0.292 mV。
3)實(shí)現(xiàn)17位ADC根據(jù)輸入電壓最大值與ADC分辨率的比值計(jì)算出此電路圖實(shí)現(xiàn)的ADC的位數(shù)。由59.1/(0.292x10-3)=202 397=217.6,可以看出此電路實(shí)現(xiàn)了17位的ADC。
2.2 調(diào)節(jié)測量輸入電壓范圍的方法
因?yàn)閂ADO和VDAOUT的最大值都是3 V,由式(2)可知,可測量的最大輸入電壓值是由R100、R103、R116、R109決定的。改變R100與R103的比值會(huì)影響ADC的測量精度,因此,調(diào)節(jié)測量輸入電壓范圍主要是通過調(diào)節(jié)R116與R109的比值。由式(2)容易看出,當(dāng)R116增加時(shí),測量電壓輸入范圍增加,R109增加時(shí)測量電壓輸入范圍減小。
2.3 實(shí)現(xiàn)10~20位精度可調(diào)ADC的方法
由17位ADC的實(shí)現(xiàn)過程可知,此電路實(shí)現(xiàn)ADC的位數(shù)是由測量輸入電壓最大值和ADC的分辨率決定的。所以在改變ADC的位數(shù)時(shí),要通過改變測量輸入電壓范圍或者ADC分辨率。但是,系統(tǒng)測量輸入電壓范圍是固定的。因此,可通過改變ADC分辨率實(shí)現(xiàn)ADC的位數(shù)改變。
1)調(diào)節(jié)ADC分辨率的方法當(dāng)DAC的輸出電壓為零時(shí),將式(2)化簡為式(3):
由式(3)可知,當(dāng)MCU的ADC變化一個(gè)電壓刻度值時(shí),VIN變化6R100/R103。ADC位數(shù)是10位、最大輸入電壓是3 V。因此,ADO分辨率為3 V/1 024=2.92 mV,ADC的分辨率為2.92x10-3x6R100/R103。由此可見,R100增加時(shí),分辨率下降;R103增加時(shí),分辨率提高。
2)實(shí)現(xiàn)10~20位精度可調(diào)ADC通過可測量的輸入電壓最大值與要實(shí)現(xiàn)的ADC的位數(shù)可計(jì)算出ADC的分辨率,再通過式(3)可求出R100與R103的比例關(guān)系。按照R100與R103的比例關(guān)系修改其阻值,即可實(shí)現(xiàn)要得到的ADC的位數(shù)。例如將本系統(tǒng)修改為20位ADC,則ADC測量精度應(yīng)該為59.1 V/220=0.056 mV。由式(3)可知0.056=6x0.292xR100/R103,所以修改R103與R100的比值為312.8,即可以實(shí)現(xiàn)20位的ADC。通過此方法可實(shí)現(xiàn)10~20位精度可調(diào)的ADC。
2.4 硬件設(shè)計(jì)說明
U100是由運(yùn)放OPA177F組成的電壓跟隨器,具有輸入阻抗高,輸出阻抗低的特點(diǎn),在本系統(tǒng)中的作用是實(shí)現(xiàn)匹配U101的輸入電阻和提高對(duì)輸入電壓分壓的精確度。R101和R100第二級(jí)減法運(yùn)算電路的輸入匹配電阻,其阻值不宜小于10 kΩ,太小會(huì)影響ADC的測量精度。R104為限流電阻,防止電流超過VD100的最大額定電流。
R117和R118組成分壓電路,在R118上的電壓為45 mv,可抵消運(yùn)放的零漂。若不加此分壓電路且DAC輸出為零時(shí),經(jīng)過實(shí)際測量TP102點(diǎn)的電壓約為120 mV,這是由運(yùn)放的零漂造成的,會(huì)影響ADC的測量精度。在每一個(gè)運(yùn)放輸入端添加了0.1 μF的電容,去除高頻信號(hào),提高輸入信號(hào)的穩(wěn)定性。
3 系統(tǒng)軟件設(shè)計(jì)
軟件部分主要功能是對(duì)輸入電壓的測量。因?yàn)橛布O(shè)計(jì)中,運(yùn)放和電阻本身的參數(shù)存在誤差,所以它們組成的放大電路的放大倍數(shù)存在誤差,從而造成ADC測量產(chǎn)生誤差。因此,傳統(tǒng)方法直接利用它們組成的放大電路的計(jì)算公式(式(2))計(jì)算出的輸入電壓值誤差比較大,電壓跳動(dòng)明顯。因此,在系統(tǒng)第一次測量輸入電壓前,首先通過軟件設(shè)計(jì)建立輸入電壓校正表校正的方法實(shí)現(xiàn)減小誤差。
校正表是在第一次測量之前建立的數(shù)據(jù)表,作用是通過此表觀察輸入電壓值與測量值之間滿足何種曲線關(guān)系。在測量輸入電壓時(shí),通過得到的曲線關(guān)系選擇拉格朗日插值算法,并將測量的值代入選擇的拉格朗日插值公式,計(jì)算出較為精確的輸入電壓值。
評(píng)論