Implementation of Delta-Sigma ADCs using the Microchip AVR-DB family of microcontrollers
Abstract
AVR® MCU DB er en ny mikrokontrollerfamilie, som inkludere bruker-konfigurerbare op-amper som periferifunksjoner. Disse op-ampene gjør det mulig å implementere op-amp kretser med moderat kompleksitet, uten eksterne aktive komponenter. Dette åpner muligheten for analog signalprosessering i applikasjoner med lav kostnad og liten størrelse.
I dette prosjektet benyttes disse op-ampene, sammen med andre tilgjengelige periferifunksjoner, til å implementere en integrerende AD-omsetter (ADC), for å forsøke å oppnå et alternativ til den integrerte 12-bit ADCen, med høyere oppløsning. Det ble implementert tre varianter av en Delta-Sigma ADC, og en dual-slope type ADC. Alle implementasjonene ble så karakterisert, for å måle linearitet og effektiv oppløsning.
Det beste ytelsen ble oppnådd med en førsteordens Delta-Sigma ADC med et digitalt glidende gjennomsnittsfilter, implementert uavhengig av CPUen i mikrokontrolleren. Denne ADCen oppnådde en nær 12-bit brukbar måling. Selv om dette bare tangerer den integrerte ADCens ytelse, er det muligheter for forbedring. I tillegg kan teknikken muligens også benyttes med andre mikrokontrollere, i situasjoner uten en integrert ADC, eller hvor denne har lavere oppløsning. AVR® MCU DB is a new family of microcontrollers from Microchip, which includes user-configurable op-amps as peripherals. These op-amps makes it possible to implement moderately complex op-amp circuits, without external active components, which opens the door for low-cost and small-size applications involving analog signal processing.
This project uses these op-amps, together with other available peripherals, to implement an integrating analog-to-digital converter (ADC), in pursuit of a higher-resolution alternative to the 12-bit on-chip ADC. Three variations of a Delta-Sigma ADC were implemented, as well as a dual-slope type ADC. These were then characterized to measure the linearity, and effective resolution.
Among the implementations, the best performing is a first-order Delta-Sigma type ADC, with a moving-average digital filter, implemented in a core-independent way, using timer/counter peripherals. This ADC achieved close to a 12-bit usable measurement. While this only matches the on-chip ADC, there are opportunities for improvement. Additionally, the technique could also be viable with other, lower-cost, microcontrollers, where a on-chip might be lower resolution, or absent.