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: 16044, Oldal olvasási idő: kb. 4 perc
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.
2_1. ábra: Az analóg világ és a digitális mikrovezérlő kapcsolataHa 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 elemeiEgy 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. 2_2. ábra: egy tipikus adatgyűjtő rendszer sematikus vázlataAnaló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. 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. 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őiA 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ágSokan ö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.
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. 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! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |