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: 16045, Oldal olvasási idő: kb. 3 perc
Az ADC alrendszer felépítéseAz MSP430G2xxx mikrovezérlők ADC alrendszerének felépítése az alábbi ábrán látható. Az áttekinthetőség érdekében nem tüntettünk fel minden részletet.
Az ADC10 főbb jellemzői:
Az ADC10 alrendszer regisztereiAz egyszerű ADC mérésekhez az alábbi regisztereket kell beállítani: ADC10AE0 - Az analóg bemenetek engedélyezése. Az analóg bemeteket használatuk előtt engedélyezni kell. A mikrovezérlő adatlaplának végén, a Port Schematics részben találjuk meg azt az információt, hogy az egyes portlábak különböző funkcióit hogyan választhatjuk ki. Az analóg funkció kiválasztásához az ADC10AE0 8 bites regiszter megfelelő bitjébe '1'-et kell írni. BIT0 az AN0 (P1.0) bemenetet, BIT1 az AN1 (P1.1) bemenet engedélyezi, és így tovább... ADC10CTL0 - vezérlő regiszter. Ebben a 16 bites regiszterben áííthatjuk be a referenciaforrás választását, a belső referenciát, az ADC mintavételezési idejét. Ebben a regiszterben engedélyezhetjük az ADC10 megszakításkérést, és ebben indíthatjuk szoftveresen a mintavételezést és konverziót az ADC10SC bit '1'-be állításával. ADC10CTL1 - vezérlő regiszter. Ebben a 16 bites regiszterben adhatjuk meg a kiválasztott analóg csatorna sorszámát, itt választhatjuk ki a mintavételezést indító jelforrást és a konvenrzióhoz szükséges órajel forrását és annak utólagos leosztását. Ebben a regiszterben állíthatjuk be az ADC bonyolultabb funkcióit (többszörös mérés, csatornapásztázás). ADC10MEM - ebből a 16 bites regiszterből olvashatjuk ki a konverzió eredményét, ami jobbra igazítva kerül beírásra (az alsó 10 bit tartalmazza a konverzió eredményét). ADC10DTC0, ADC10DTC1 és ADC10SA - ezek a regiszterek csak az autonóm adatátvitellel kapcsolatos üzemmódokhoz kellenek, az egyzserű ADC méréseknél ezekkel a regiszterekkel nem foglalkozunk.
Az ADC10CTL0 regiszterSREFx – Referencia források kiválasztása (VDD/VSS, belső-, vagy külső referencia) ADC10SHTx – ADC10 mintavétel ideje (4, 8, 16 vagy 64 ADC10CLK óraütés) ADC10SR – ADC10 mintavételi sebességtartomány választás (0: 200 ksps-ig, 1: 50 ksps-ig) REFOUT – Referencia kimenet engedélyezése (0: tiltás, 1: engedélyezés) REFBURST – A belső referencia időszakos mód (0: folyamatos mód, 1: csak átalakításkor) MSC – Többszörös mintavétel és konverzió mód engedélyezése. Csak pásztázó vagy ismételt mérés módban játszik szerepet! REF2_5V – Referencia választás (0 :1.5 V, 1: 2.5 V). REFON is legyen bekapcsolva! REFON – Belső referenciaforrás bekapcsolása (0: kikapcsolva, 1: bekapcsolva) ADC10ON – ADC10 engedélyezése (0: kikapcsolva, 1: bekapcsolva) ADC10IE – ADC10 interrupt engedélyezés (0: tiltva, 1: engedélyezve) ADC10IFG – ADC10 megszakításkérő bit ENC – A konverzió engedélyezése (0: tiltva, 1: engedélyezve) ADC10SC – Konverzió szoftveres indítása
Az ADC10CTL1 regiszterINCHx – Bemeneti csatorna választása ( 0 – 11) SHSx – Mintavételt indító jelforrás választása (00: ADC10SC bit, 01: Timer_A.OUT1, 10: Timer_A.OUT0, 11: Timer_A.OUT2) ADC10DF – ADC10 adatformátum (0: bináris, 1: 2-es komplemens) ISSH – A mintavételezett jel invertálása (0: nincs invertálás, 1: van invertálás) ADC10DIVx – ADC10 órajel leosztás (n = 0-7, ami 1: (n+1) arányú leosztást eredményez) ADC10SSELx – ADC10 órajel forrás választása (00: ADC10OSC, 01: ACLK, 10: MCLK, 11: SMCLK) CONSEQx – Konverziós mód választása (00: Egyszeri, egycsatornás konverzió, 01: Csatorna pásztázó mód, 10: Ismételt egycsatornás konverzió, 11: Ismételt csatorna pásztázó konverziós mód) ADC10BUSY – Foglaltság jelzése (0: nem aktív, 1: mintavételezés vagy konverzió zajlik) Az adatkonverzió képleteiA konverzió digitális értéke (NADC):
Ahol: NADC a konverzió eredménye (esetünkben 0 és 1023 közötti szám) VR+ a pozitív referencia (esetünkben 3,5 V, 2,5 V vagy 1,5 V lesz) VR- a negatív referencia (esetünkben 0 V lesz) VIN a bemenő feszültség, amit meg akarunk mérni
A mért feszültség meghatározásaBennünket többnyire nem az érdekel hogy egy adott feszültség esetén milyen számot ad kiaz ADC, hanem megfordítva: a konverzió NADC eredményéből a VIN bemenő feszültséget kell meghatározni volt, vagy millivolt egységekben. Az NADC= 1023 * (VIN - VR-)/(VR+ - VR-) képletből kifejezve, ezt kapjuk: VIN = (VR+ - VR-) * NADC/1023 + VR+
A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |