片上ADC/DAC實(shí)現(xiàn)精度可調(diào)ADC的方案
2.4 硬件設(shè)計(jì)說明
U100是由運(yùn)放OPA177F組成的電壓跟隨器,具有輸入阻抗高,輸出阻抗低的特點(diǎn),在本系統(tǒng)中的作用是實(shí)現(xiàn)匹配U101的輸入電阻和提高對輸入電壓分壓的精確度。R101和R100第二級減法運(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的電容,去除高頻信號,提高輸入信號的穩(wěn)定性。
3 系統(tǒng)軟件設(shè)計(jì)
軟件部分主要功能是對輸入電壓的測量。因?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ì)算出較為精確的輸入電壓值。
3.1 軟件實(shí)現(xiàn)過程
軟件設(shè)計(jì)過程主要包括MCU的ADC進(jìn)行初始化,建立輸入電壓校正表,計(jì)算表達(dá)式(5)的值,拉格朗日插值計(jì)算輸入電壓,顯示輸入電壓值。軟件設(shè)計(jì)流程如3所示。
設(shè)X為MCU的DAC數(shù)字量十進(jìn)制的值,Y為MCU的ADC數(shù)字量十進(jìn)制的值。
由式(4)可得式(5):
評論