Fórum témák

» Több friss téma
Cikkek » Launchpad: ismerkedés az MSP430 mikrovezérlőkkel IV.
Launchpad: ismerkedés az MSP430 mikrovezérlőkkel IV.
Szerző: icserny, idő: Jan 14, 2013, Olvasva: 15116, Oldal olvasási idő: kb. 4 perc
Lapozás: OK   2 / 8

Adatgyűjtés, adatkonverzió

Az MSP430 mikrovezérlőnk (legalábbis amit eddig megismertünk belőle) digitális eszköz, csak alacsony (ez felel meg a '0'-nak) és magas (ez pedig az '1'-nek) jelszintet tud megkülönböztetnie. A körülöttünk levő világ fizikai jellemzői azoban többnyire folytonosan változó mennyiségek. Ha az ilyen folytonosan változó mennyiségeket elektromos jellé alakítjuk (itt lépnek a képbe a szenzorok), akkor az eredeti mennyiséggel arányos (idegen szóval analóg) folytonosan változó jelet kapunk.

Ha a mikrovezérlőnkkel (MCU) ilyen analóg jelet szeretnén feldolgozni, akkor azt digitalizálni kell. Ha egy igen-nem válasz is elegendő (például meghalad-e a jel egy bizonyos szintet), akkor analóg komparátort használunk. Ha azonban a bejövő jelet számszerűsíteni kell, akkor analóg-digitális átalakítóra (ADC) van szükségünk.

 analogworld.png

2_1. ábra: Az analóg világ és a digitális mikrovezérlő kapcsolata

Ha pedig a mikrovezérlővel analóg, vagy kvázi analóg kimenő jelet kell előállítanunk (például vezérléshez, szabályozáshoz), akkor vagy digitális-analóg átalakítót (DAC) kell használnunk, vagy a cikksorozat második részében röviden ismertetett impulzusszélesség-modulációt (PWM) használhatjuk.

Az adatgyűjő rendszer elemei

Egy tipikus adatgyűjtő rendszer az alábbi elemkből áll:

Szenzor: A folytonos fizikai mennyiségeket (pl. hőmérséklet, nyomás, páratartalom, sebesség, áramlási sebesség, elmozdulás, gyorsulás, szöggyorsulás) elektromos jellé alakítja, feszültséggé vagy árammá.

Jel kondicionálás: A mérendő mennyiség elektromos jellé alakítása után még szűrésre, jel erősítésre, impedancia illesztésre is szükség lehet, hogy  az analóg-digitális átalakító (ADC) bemeneti tartományába transzformáljuk az átalakítandó jelet.

Analóg-Digitális Átalakító (ADC): bemenet a mérendő jel, kimenet a mérendő jellel arányos  számot reprezentáló digitális kód.

 
adatgyujtes.png

2_2. ábra: egy tipikus adatgyűjtő rendszer sematikus vázlata

Analóg-digitális átalakító (ADC)

Az ADC feladata, hogy diszkrét digitális kóddá alakítsa a bejövő folytonos (analóg) jelet. Az alábbi ábrán egy 3-bites ADC ideális átviteli függvényét mutatjuk be. A digitalizálást úgy kell elképzelni, hogy a bemenő jel lehetséges értékeit magába foglaló tartományt sávokra osztjuk (N bites ADC esetén 2N a sávok száma), a sávokat 0-tól kezdve sorszámozzuk, s megállapítjuk, hogy melyik sávba esik az aktuális bemenő jel. A kimenet az adott sáv sorszáma lesz.

 

adc_idealis.png

2_3. ábra: Egy 3-bites ADC ideális átviteli függvénye

Felépítésük és működésük szerint az ADC áramkörök sokfélék lehetnek. A gyorsaság, a felbontás és a pontosság egymásnak olykor ellentmondó követelményeihez igazodóan az alábbi típusok a legelterjedtebbek: flash, SAR, Delta-Szigma.

adc_tipusok.png

2_4. ábra: A különféle igényekhez alkalmazkodó ADC típusok (Texas Instruments nyomán)

A Flash ADC egyetlen lépésben értékeli ki a bemenő jelet,  2N-1 komparátort tartalmaz. ennek megfelelően a nagysebességű, de korlátozott felbontású alkalmazásokhoz gazdaságos a használata.

A SAR ADC a fokozatos megközelítés alapján, bitenként dönti el, hogy a mintavételezett jel a mérési tartomány felénél, negyedénél, nyolcadánál, stb. nagyobb-e, vagy sem. Ez a megközelítés a bináris keresésre emlékeztető, közepesen gyors (10 000 - 2 millió mintavétel/s) és közepes felbontást (általában 8-12 bit) biztosít. A mikrovezérlők beépített perifériájaként előszeretettel használják ezt a típust. A régebbi kiadású (v1.4) Launchpad kártyához kapott mikrovezérlők közül csak az MSP430G2231 tartalmaz ADC perifériát. Az újabb kiadású (v1.5) Launchpad kártyához kapott mikrovezérlők mindegyike tartalmaz ADC-t, ami SAR felépítésű és 10 bites felbontású. Az adatlapok és a Family User's Guide ADC10 néven hivatkozik rá.

A Delta-Szigma ADC-k a visszacsatolt ADC-k egy speciális csoportját alkotják. Főként nagy felbontásával tűnik ki, de felépítéséből adódóan többnyire lassú működésű. A magas bitszámot (24 bites felbontás sem ritka) ugyanis nem nagy felbontású AD és DA konverterek felhasználásával éri el, hanem a bemenet igen gyakori, a kimeneti órajelnél lényegesen magasabb frekvenciájú mintavételezésével. Általában speciális igényeket elégít ki, ezért csak különleges alkalmazásokhoz (például digitális energiamérő) fejlesztett mikrovezérlőkben vagy különálló periféria IC formájában találkozhatunk vele.

Az ADC jellemzői

A valóságban az ADC tulajdonságai eltérnek az ideálistól, ezért szükséges, hogy az ADC jellemző paramétereinek jelentésével tisztában legyünk, hogy az adatlapban közölt paraméterek alapján el tudjuk dönteni, hogy az adott ADC megfelel-e az alkalmazáshoz.

Felbontás és pontosság

Sokan összekeverik az angol precision és accuracy  fogalmát, mintha szinonomák volnának. Pedig a precision inkább a resolution, azaz a felbontás szinonimája: azt jellemzi, hogy milyen részletességel tudunk mérni. Az N-bites ADC felbontása R = 1/(2N-1). A SAR típusú ADC-k esetében ez tipikusan 10 - 12 bit, a Delta-Szigma típusú ADC-k esetében pedig tipikusan 16-24 bit.

Az accuracy jelentése ezzel szemben a pontosság, azaz a mérendő jel digitálissá alakításának megfelelősége, az „igazság mértéke”. Az tehát, hogy nagy felbontással mérünk, nem jelent automatikusan nagy pontosságot. A pontosság mértékét egyenfeszültség mérése esetén az integrális és a differenciális nonlinearitás, az offszet- és az erősítés hiba jellemzi.

Differenciális nonlinearitás (DNL):Azt mondja meg, hogy az átalakításból kapott kódok eltérése a szomszédos értékektől mennyire szór. A maximális eltérés mértékét a legkisebb bithez tartozó feszültség (LSB) többszöröseként szokás megadni. Például ±0.5 LSB. Megjegyzés: ha a DNL hiba < ± 1 LSB, akkor nincs kieső kód (angol kifejezéssel: no missing code), tehát egy folyamatosan változtatott feszültség esetén a kimenő kód minden lehetséges értéket felvesz.

Integrális nonlinearitás (INL): A differenciális nonlinearitások (DNL) integrálja. Az integrális nonlinearitás az aktuális és az ideális átviteli függvény eltérésének maximumát adja meg.

 adc_dnl_inl.png

2_5. ábra: A differenciális és az integrális nonlinearitást szemléltető diagramok

Offszet hiba: Az a paraméterrel jellemezhető offszet hiba a nullapont eltolódását jelenti (lásd a 2_6. ábrán).

Erősítés hiba: A b paraméterrel jellmezhető erősítési hiba azt jelenti, hogy a bemeneti feszültség és a kimeneti kód számértéke közötti arányosság tényezője eltér az ideálistól.

adc_gain_offset.png

2_6. ábra: Az offszet és az erősítési hibát szemléltető diagramok

Az erősítés és az offszethiba korrigálható az y = a + (1+b) x lineáris összefüggés szerint, ahol x a konverzióból kapott számérték, y ennek korrigált értéke, a és b pedig az offszet- és erősítési hiba mértéke.

Az MSP430G2452 és MSP430G2553 mikrovezérlők információs memóriája az ADC-re vonatkozóan is tartalmaz gyári kalibrációs adatokat (Lásd az MSP430x2xx Family User's Guide 24. fejezetében!):

CAL_ADC_OFFSET az offszethiba korrigálásához szükséges a paraméter értékét tartalmazza, 16 bites, előjeles, kettes komplemens ábrázolású szám formájában. A paraméter a 0x10DE címen található.

CAL_ADC_GAIN_FACTOR az erősítéshiba korrigálásához szükséges (1+b) szorzó 215-szeresét tartalmazza, a memória 0x10D2 címén. A 215-szeres felszorzásra azért van szükség, hogy a korrekció egész aritmetikával elvégezhető legyen.

Az ADC-ből kiolvasott konverzió eredménye az alábbi képlet alapján korrigálható:

      ADCkorrigált = CAL_ADC_OFFSET + ADCkiolvasott * CAL_ADC_GAIN_FACTOR/215

 

 


A cikk még nem ért véget, lapozz!
Következő: »»   2 / 8
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem