Fórum témák
» Több friss téma |
Cikkek » Launchpad: ismerkedés az MSP430 mikrovezérlőkkel III. Launchpad: ismerkedés az MSP430 mikrovezérlőkkel III.
Szerző: icserny, idő: Jún 19, 2012, Olvasva: 20567, Oldal olvasási idő: kb. 6 perc
Az MSP430G2452 mikrovezérlő bemutatásaAz új kiadású (Rev 1.5) Launchpad kártyához kapott másik mikrovezérlő a Texas Instruments MSP430G2xx2 típuscsaládjának legnagyobb tudású tagja. Ahogy a típusszám is jelzi, valahol a korábbi cikkekben ismertetett MSP430G2231 és az előző oldalon bemutatott MSP430G2553 között helyezkedik el. Ez is 20 lábú, tehát két, teljesen kiépített portja van, de a memóriája kisebb, mint az MSP430G2553 mikrovezérlőé, csak egy időzítő számlálót tartalmaz, s nincs hardveres UART támogatás (nem USCI, hanem az MSP430G2231 mikrovezérlőhöz hasonlóan USI egységet tartalmaz). Az MSP430G2452 mikrovezérlő lábkiosztásaAz alábbi ábrán az MSP430G2452 mikrovezérlő lábkiosztását láthatjuk (ez az az IC, amelyet gyárilag előre programozottan (a hőmérő demó) és a kártya foglalatába dugva kapunk meg).
Amint a kivezetések mellé írt elnevezések tömkelegéből is látható, a mikrovezérlő jóval több funkció ellátására képes, mint amennyihez egyidejűleg kivezetést tudunk rendelni. A feliratok egy részét így is törölnünk kellett hogy az ábra elférjen az itt rendelkezésre álló hasáb keretei között. Ezért minden program elején az inicializás során be kell állítanunk, hogy melyik lábat milyen funkció ellátására kívánunk használni. Az általános célú ki/bemeneti portok kivezetéseit színezéssel jelöltük: a zöld jelzésű kivezetések a P1 porthoz, a piros jelzésűek a P2 porthoz tartoznak. Amint látjuk, a bitek számozása 0-val kezdődik. Mindegyik bit egyedileg beállítható, hogy kimenet vagy bemenet legyen. A P1.0-P1.7, P2.0-P2.7 elnevezések jelentése tehát már tisztázott. Nézzük, mit fed a többi név! CA0...CA7 az analóg komparátor bemenetei. CAOUT az analóg komparátor kimenete. Megjegyzések:
Elektromos jellemzők
Az MSP430G2452 mikrovezérlő blokkvázlataAz előzőekben "kívülről nézve" vizsgáltuk az MSP430G2452 mikrovezérlőt. Most nézzük meg "belülről" is, lássuk, mi van benne! A pirossal keretezett analóg komparátor a korábbi cikkekben ismertetett MSP430G2231 mikrovezérlőben nincsen, tehát ennyivel bővült a perifériakészlet, A régebbi kiadású Launchpad kártyához kapott mikrovezérlőknél az egyikben analóg komparátor volt, a másikban ADC, itt most egyszerre van mindkettő. Piros aláhúzással kiemeltem azokat a paramétereket, amelyekben az új kártya MSP430G2452 mikrovezérlője meghaladja a korábbi cikkekben használt (MSP430G2231) mikrovezérlőt: nagyobb memória, több I/O kivezetés, és TIMER0 három Capture/Compare modult tartalmaz. A lábkiosztás ismertetésében szereplő TA0.0 ... TA0.1 jeleknél az első szám a számláló/időzítő egység sorszáma (0: Timer0), a második szám pedig a Capture/Compare regiszter sorszáma (0: TACCR0, 1: TACCR1, 2: TACCR2), melyek közül TACCR2-höz nem tartozik kivezetés. 2_2. ábra: Az MSP430G2452 mikrovezérlő belső felépítésének blokkvázlataAz órajel generátor többféle órajelet szolgáltat: MCLK a központi egység (CPU) működtető órajele, ACLK és SMCLK pedig a perifériák működtetésére szolgálnak. A központi egység (Central Processing Unit, CPU), amely 16-bites felépítésű, és 0 - 16 MHz között tetszőleges frekvenciájú órajellel használható, feladata az utasítások elővétele, és végrehajtása. A CPU 16 db. regisztert is tartalmaz, amelyek közül négy speciális célt szolgál, a többi általános célra felhasználható, pl. átmeneti adattárolásra, operandusként, vagy memória címzéshez. Az emulációs egység hardveres nyomkövetésnél két töréspontot képes kezelni, s ide tartozik a JTAG, illetve a Spy-bi-Wire programozó/nyomkövető illesztő is. A Brownout Protection (BOR) a tápfeszültség esetleges leesését figyeli, s RESET állapotba kényszeríti a mikrovezérlőt, ha a tápfeszültség nem elegendő a mikrovezérlő működéséhez. Ez a védelem arra jó, hogy a mikrovezérlő "félálmában" (amikor az alacsony tápfeszültség miatt az utasítások felismerése és végrehajtása már bizonytalanná válik) nehogy valami nem kívánt dolgot tegyen (pl. felülírja vagy kitörli a memória egy részét). Az "őrkutya" (WDT+, Watchdog Timer) szerepe az, hogy bizonyos időközönként (beállítástól függően) megszakítsa, vagy újraindítsa a programot. Ez például arra használható, hogy a program elakadását (például egy perifériára való eredménytelen várakozást) észlelje és megszakítsa a program. Ehhez a normális futás közben rendszeresen nullázni kell a WDT számlálóját, s akkor nem csordul túl. Ha viszont egy kritikus részen elakad a program, akkor nem jut el a nullázó részhez, s akkor a számláló túcsordulása RESET-eli a mikrovezérlőt, újraindítja a programot. Alapértelmezetten a CPU 1 MHz-en fut, így a WDT 15 bites számlálója kb. 32 ms elteltével csordul túl. A Timer0 időzítő/számláló egy 16 bites számlálóval és három, független Capture/Compare (jelrögzítő/digitális komparátor) regiszterrel rendelkezik. Az univerzális soros illesztő (USI) a szinkron soros perifériákkal történő, I2C vagy SPI módú kommunikációra szolgál. Port1 és Port2 az általános célú digitális ki/bemenetek kezelésére szolgálnak. Az analóg-digitális átalakító (ADC) 10-bites felbontású, szukcesszív megközelítést alakalmazó periféria, melynek bemenete előtt egy 8 csatornás analóg multiplexer is található. Az egyes csatornák jelét tehát egyenként lehet megmérni. Másodpercenként max. kb. 200 000 mérés végezhető. A memóriaAz MSP430G2452 mikrovezérlő 8 kB FLASH memóriában tárolja a beégetett programot, s 256 bájt RAM memória áll a változók rendelkezésére. Az MSP430G2452 mikrovezérlő memória címterületének beosztása az alábbi ábrán látható: 2_3. ábra: Az MSP430G2452 mikrovezérlő memóriatérképe Bekapcsoláskor vagy újraindításkor az első utasítás címét a legmagasabb szócímről (0xFFFE) veszi elő a mikrovezérlő, ez tehát az ún. RESET vektor. Alatta helyezkednek el a programmegszakítási vektorok, amelyek az egyes perifériák vagy "kivételek" esetén aktiválódnak. A programmemória fennmaradó területre (0xE000-0xFFBF címtartományban) helyezhetjük el a programkódot. A programmemória FLASH, nem felejtő memória, kb. 100 000-szer írható újra. Az 0x1000-0x10FF címtartományban elhelyezkedő 256 bájtnyi FLASH információs memória olyan adatok tárolásra szolgál, amelyek a mikrovezérlő kikapcsolása után is megőrződnek (pl. kalibrációs vagy konfigurációs adatok, egyedi sorszám, vagy azonosító). A 256 bájt 4 lapra van osztva, s a legfelsőben gyári beállítások találhatók, mint pl. a gyárilag kalibrált frekvenciák beállításhoz szükséges paraméterek. A változók és a veremtár a RAM adatmemóriát használják (a változók alulról, a veremtár felülről lefelé bővül. A legalsó 16 bájton az ún. speciális funkciójú regisztereket találjuk, amelyek többek között a programmegszakítással kapcsolatos jelzőbiteket és engedélyező biteket tartalmazzák. A perifériák elérése is memóracímzéssel történik. A 0x0010-0x00FF közötti címtartományban a bájtként címezhető, a 0x0100-0x01FF címtartományban pedig a szavankénti elérésű periféria regiszterek találhatók. Bájt elérésűek például az általános célú digitális ki/bemeneti portok regiszterei. Szavanként elérésűek például a flash memória elérésével, az ADC-vel és a Timer0-val kapcsolatos regiszterek. A bájt- és szavak szerinti elérésű periféria regiszterek teljeskörű felsorolása (névvel, címmel) az MSP430G2452 adatlap 12. és 13. táblázataiban található meg. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |