Mérés laboratórium II. 2-3. mérés 2007-02-22
2-3. mérés Mikrokontrolleres rendszer fejlesztése I.-II. A mérés céljai: A mérésnek többféle célja van, ezek a célok röviden a következőképpen foglalhatók össze: • Egy korszerű, a jellegzetes integrált perifériákkal rendelkező mikrokontroller bemutatása • Egy egyszerű processzormag működésének bemutatása assembly programok segítségével • Hardver-közeli programozás gyakorlása • Mikrokontrolleres ill. beágyazott rendszerek fejlesztésére szolgáló eszközök bemutatása • Számítástechnikai egység ill. periféria működésének megértése eredeti adatlapok alapján • Feladat-megoldó készségek fejlesztése Nagyon sok berendezés vezérlését egy beágyazott számítógép végzi. (Gyakran a felhasználó előtt rejtve marad, hogy az egyszerűbb vagy bonyolultabb funkciók végrehajtását a háttérben egy számítógép-szerű elektronika vezérli.) Ha a beágyazott számítógép viszonylag egyszerű, akkor hagyományosan mikrovezérlőnek, mikrokontrollernek (microcontroller) nevezik, a szokásos funkciójára utalva. A eszközt általában pontosabban jellemzi az egylapkás mikorszámítógép vagy a system on chip meghatározás. A mérés során a mikrokontrolleres rendszert assembly programok segítségével fogjuk vezérelni. A műszaki gyakorlatban az assembly programozást az alábbi körülmények esetén használják: • Egy jó programozó assembly nyelven rövidebb tárgykódot tud készíteni, mint magas szintű nyelven. A rövidebb tárgykód kisebb ROM-kapacitású és ezért olcsóbb mikrovezérlő alkalmazását teszi lehetővé. Ez nagy sorozatban gyártott, költségérzékeny készülékeknél lehet lényeges szempont. • A beágyazott alkalmazásokban gyakran gyors válaszidőre van szükség, sok esetben a vezérlésnél szoftveres időzítést alkalmaznak a költségek csökkentésére. Assembly programmal az időzítések jobban kézben tarthatók. • Nagyobb SW rendszerekben is előfordul, hogy sebességkritikus részeket assembly betét formájában programoznak. Sebességnövekedést a mai compilerekhez képest csak ügyes és gyakorlott programozó tud elérni. Magas szintű nyelven viszont egyszerűbb programozni, kisebb időráfordítást igényel, és a program is jobban áttekinthető. Ez nemcsak a SW elkészítésének idejét csökkenti, hanem a költségeit is.
Hivatkozások, felkészüléshez ajánlott irodalom [1] Az AVR ATmega128 mikrokontroller, rövid leírás Pdf formátumban a Mérés laboratórium II. c. tárgy weblapján [2] Az ATmega128 programozása assembly nyelven., Pdf formátumban a Mérés laboratórium II. c. tárgy weblapján [3] A szoftver-élesztés eszközei; Pdf formátumban a Mérés laboratórium II. c. tárgy weblapján [4] Az AVR mérőpanel leírása (AVR-ExperimentBoard, Műszaki kézikönyv) Pdf formátumban a Mérés laboratórium II. c. tárgy weblapján; Forrás: www.eposz.co.hu [5] Bevezető az AVRStudio 4 használatához; 1/5
Mérés laboratórium II. 2-3. mérés 2007-02-22 Pdf formátumban a Mérés laboratórium II. c. tárgy weblapján [5] AVR-Stamp2.0, Leírás, használati útmutató, AVR-Stamp2.pdf (312 kB) Pdf formátumban a Mérés laboratórium II. c. tárgy weblapján Forrás: www.eposz.co.hu [6] Assembly program váz: avrblank*.asm További hivatkozások találhatók a Mérés laboratórium II. c. tárgy weblapján.
Felkészülés a 2. számú mérésre A mérést megelőző otthoni felkészülésként végezze el az alábbiakat önállóan. 1. Tanulmányozza át az [1], [2] és [3] irodalmat! 2. Olvassa el és gondolja végig a Mérési feladatokat! 3. Válaszolja meg a (mérési feladatok után található) Ellenőrző kérdéseket!
Felkészülés a 3. számú mérésre 1. Tanulmányozza át a 2. mérés alkalmával kapott házi feladattal kapcsolatos adatlapokat és az esetleges példaprogramokat! 2. Készítse el a kijelölt feladatot megvalósító SW folyamatábráját! (A folyamatábrát csak annyira részletezze, hogy az férjen el egy A4 lapon, de még legyen jól olvasható.) 3. A folyamatábra alapján írja meg a forrásprogramot! Ellenőrizze, hogy a forráskód szintaktikailag helyes-e?
Alkalmazandó műszerek és eszközök Oszcilloszkóp Logikai analizátor PC Mikrokontrolleres mérőpanel
Agilent 54622A Agilent LogicWave NEC TM600 AVR Experiment Board + JTAG-ICE
Mérési feladatok a 2. mérés alkalmával Elővigyázatossági rendszabályok A PC-n futó AVRStudio4 v.4.10 fejlesztő rendszer egy JTAG-ICE készülékkel kapcsolódik az AVR mikrokontrolleres mérőpanelhez. A programletöltés is a JTAG-ICE egységgel történik. A mérőhelyen ez a kapcsolat össze van állítva, a csatlakozásokat megbontani tilos. A mérőpanellel gondosan kell bánni, a mérőpanelen az alkatrészek nincsenek lefedve. Egy véletlenül ráejtett mérőzsinór, toll vagy egyéb fémtárgy olyan zárlatot hozhat létre, mely meghibásodást okoz. A panel áramköreit az elektrosztatikus kisülésektől is óvni kell! A fejlesztő rendszerrel a mikrovezérlő speciális, a fejleszthetőséget befolyásoló konfigurációs bitjei is átégethetők. Ezekkel a bitekkel a "szellemi tulajdon védelme érdekében" a mikrovezerélő
2/5
Mérés laboratórium II. 2-3. mérés 2007-02-22 fejleszthetősége teljesen letiltható, és ezután a mérőpanel a laboratóriumban használhatatlanná válik. Ezért ezeknek a biteknek a vizsgálata, módosítása szigorúan tilos. A mikrovezérlő fejleszthetőségének letiltása szándékos rongálásnak minősül, és kártérítési kötelezettséget von maga után.
1. A fejlesztői környezet üzembe helyezése és alapvető funkcióinak áttekintése Indítsa el az AVR Studio 4 fejlesztői rendszert, például a [5] alapján! Nézze át az ablakok funkcióit, és azt, hogy az egyes menükben milyen parancsok találhatók.
1. ábra Az AVR mérőpanel és kapcsolódása a JTAG-ICE készülékhez 2. Az első assembly program elkészítése Hozzon létre egy új projektet! A projektben írjon egy assembly programot az alábbi funkció megvalósítására: A program bekapcsolja az AVR mérőpanel egyik LED-jét, majd kioltja és egyidejűleg bekapcsolja a szomszédos LED-et. A léptetés szemmel jól követhető, frekvenciája legyen 1 - 4 Hz nagyságú. A program első változatában az SW időzítést (várakozó hurkok) alkalmazzon. Fordítsa le a programot(Build), az esetleges hibákat javítsa ki! 3. A program működésének ellenőrzése Az elkészült programot töltse le. Indítsa el (Run), és szemmel ellenőrizze a működést. Ezután állítsa le a futást (Break), majd különböző Debug parancsok felhasználásával nézze meg a működést. A feltétlenül kipróbálandó Debug funkciók: Run, Break, Breakpoint, Autostep, Step in, Step over, Watch.
3/5
Mérés laboratórium II. 2-3. mérés 2007-02-22 4. A program funkcióinak bővítése Bővítse ki a programot a mérésvezető által megadott funkciókkal! Példák a lehetséges bővítésekre, módosításokra: A léptetés iránya a kijelölt kapcsoló állásától függ. A kijelölt gomb megnyomása a léptetést leállítja, újbóli megnyomása hatására a léptetés folytatódik. A gomb kezelésénél meg kell oldani a pergésmentesítést. Az időzítést SW hurok helyett az egyik Timer/Counter egység végezze 5. Interrupt használata Alakítsa át úgy a programot, hogy az időzítéshez használja Timer0 integrált perifériát. A timer egységet interrupttal kezelje. 6. Decimális másodperc számláló - Valósítson meg egy másodpercenként lépő, 2 digites decimális számlálót, jelezze ki az értéket a fejlesztő panelen található LCD kijelzőn. Az LCD kezeléshez használja a tárgy honlapján található assembly kódot. - Egészítse ki a programot a következő funkciókkal. A BT0 gomb megnyomása a számlálót alaphelyzetbe állítja (00), míg a BT1 gomb megnyomásával a számlálás leállítható. A BT1 gomb újbóli megnyomására a számlálás folytatódik. Ügyeljen a gombok pergésmentesítésére! 7. A házi feladatok kiadása, a megvalósítandó funkciók megbeszélése A 3. mérésre otthon megírandó program elvárt terjedelme: 50-100 utasítássor. (Az assembly váz előre megírt utasítássorai ebbe nem számítanak bele.) Feladat-példa: Közlekedési jelzőlámpa egy útkereszteződésnél. A jelzőlámpákat a panel LED-jei modellezik. A jelzőlámpáknak legalább kétféle programja (időzítése) van. Váltás a programok közt: pl. kapcsolóval, pl. a megvilágítás függvényében stb.
Ellenőrző kérdések a 2. mérésre 1. Az ATmega128 mikrokontroller Neumann-architektúrájú-e? A válaszát indokolja is meg! 2. Van-e egy kitüntetett funkciójú akkumlátor-regiszter az AVR architektúrájú processzorokban? 3. Milyen memória-tartományai vannak az ATmega128 mikrokontrollernek? 4. Milyen fő csoportjai vannak az utasításoknak? 5. Vázolja fel az általános digitális I/O portok felépítését? Hány regiszter tartozik egy porthoz, és mi az egyes regiszterek feladata. 6. Mikor szokás egy perifériát interrupttal kezelni? Mi az interruptos kezelés előnye? 7. Mit takar az az elnevezés, hogy keresztfejlesztő rendszer (csross-development system)? 8. Milyen célt szolgál az ún. töréspont? 9. Mi a különbség a szoftver és a hardver töréspont között? 10. Létrehozható-e szoftver töréspont ICE nélkül?
4/5
Mérés laboratórium II. 2-3. mérés 2007-02-22
Mérési feladatok a 3. mérés alkalmával 1. A házi feladatként készített program lefordítása és letöltése A mérés megkezdésének feltételei: - az elkészített házi feladat szintaktikailag helyes, fordítható - a szimulációval ellenőrizhető részek szimulációs eredményei megfelelőek A 2. mérésnél megismert módon hozzon létre egy új projektet, és a projekthez adja hozzá az otthon előre elkészített forrásfájlt. Fordítsa le a programot és a tárgykódot programozza be a mikrovezérlőbe. 2. A program működésének ellenőrzése, a funkciónak megfelelés demonstrálása Értelemszerűen ellenőrizze a program működését. Mutassa meg a mérésvezetőnek, hogy minden funkciót helyesen valósított meg. 3. Az elkészült projekt dokumentálása A dokumentumokat elektronikus formában kell beadni! A mérésről készített jegyzőkönyvnek ill. a projekt-dokumentumnak az alábbiakat feltétlenül tartalmaznia kell: • A feladat részletes szöveges specifikációja, beleértve a feladat megvalósítása során szükséges pontosításokat • Az otthon készített folyamatábra beszkennelve • Az otthon készített forrásállomány mellékletként • A mérés során kijavított, esetleg kibővített forrásállomány mellékletként • A működés ellenőrzésének leírása (Mit, milyen funkciót ellenőrzött, hogyan stb.) • Ha a mérőcsoport két hallgatójának feladata szorosan kapcsolódott, akkor az egyetlen projektnek is tekinthető, és ennek megfelelően dokumentálható. Az azért tűnjön ki, hogy ki mit csinált.
5/5