片上ADC/DAC實現精度可調ADC的方案
這里給出一種利用MCU自帶ADC和DAC,并結合運放、電容、電阻等元件搭建外圍硬件電路,實現10~20位測量精度可調的ADC的方法。
1 高精度ADC設計原理
輸入電壓經過電阻分壓產生電壓U入,送入由運放和電阻組成的減法運算電路的同相端,分壓的原因是輸入電壓最大值大于運放的最大輸入電壓。MCU的DAC輸出經過同相比例運算電路放大之后產生與U入相近的電壓U近,送入減法電路的反相端。同相比例運算電路的作用是擴大DAC的輸出電壓范圍,使U入和U近的最大值近似相等。經過減法運算電路之后的電壓差值U差經過箝位電路送入MCU的ADC,通過讀ADC寄存器的值可得U差的值。箝位電路是防止ADC的輸入電壓超過量程,而導致燒毀MCU。
在測量時,由軟件控制改變DAC寄存器的值,從而改變DAC輸出電壓值,使U差的電壓值在量程范圍(0~3 V)之內。此時通過讀DAC和ADC的寄存器的值,可得DAC輸出電壓與送入ADC的電壓U差的值。根據DAC的輸出電壓和同相比例運算電路公式可得U近電壓值,根據減法電路公式、U差和U近的值可得輸入電壓值。
系統硬件框圖如圖1所示。

2 系統硬件設計
圖2為實現17位ADC原理圖。U101、R100、R101、R102、R103組成減法電路,U102、R108、R109、R116組成同相比例運算電路。VD100
組成箝位電路。VR是由基準電壓源產生的3 V的基準電壓。R117和R118組成分壓電路,在R118上的電壓為45 mV可抵消運放的零漂。ADO是MCU的ADC通道0的輸入端。
圖2所示的電路雖然只是實現17位ADC,但通過修改幾個特定的電阻阻值就可實現調節測量輸入電壓范圍和ADC測量分辨率。通過修改同相比例運算電路中R109與R116比例值,可實現調節輸入電壓的測量范圍;通過修改減法電路中的R103與R100比例值,可實現調節ADC的分辨率。下面結合實現17位ADC硬件設計電路圖,具體說明如何實現17位高精度ADC、調節測量輸入電壓范圍和實現10~20位精度可調的ADC。
2.1 17位ADC的實琨過程
對于一個n位的ADC,其分辨率為可測量最大輸入電壓值與2n的比值。因此,此電路圖可實現的ADC的位數可以通過輸入電壓的最大值和分辨率計算得出。

評論