
Transcription
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚBRNO UNIVERSITY OF TECHNOLOGYFAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCHTECHNOLOGIÍÚSTAV RADIOELEKTRONIKYFACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATIONDEPARTMENT OF RADIO ELECTRONICSDEMO APLIKACE S PROCESOREM ATMEL AVR32 UCDEMO APPLICATIONS WITH ATMEL AVR32 UC PROCESORDIPLOMOVÁ PRÁCEMASTER’S THESISAUTOR PRÁCEBc. Jakub ZajícVEDOUCÍ PRÁCEIng. Zbyněk Fedra, Ph.D.AUTHORSUPERVISORBRNO, 2010
LICENČNÍ SMLOUVAPOSKYTOVANÁ K VÝKONU PRÁVA UŽÍT ŠKOLNÍ DÍLOuzavřená mezi smluvními stranami:1. Pan/paníJméno a příjmení:Bytem:Narozen/a (datum a místo):Bc. Jakub Zajíc1. Máje 520, Velim, 281 0125. června 1986 v Bruntále(dále jen „autor“)a2. Vysoké učení technické v BrněFakulta elektrotechniky a komunikačních technologiíse sídlem Údolní 53, Brno, 602 00jejímž jménem jedná na základě písemného pověření děkanem fakulty:prof. Dr. Ing. Zbyněk Raida, předseda rady oboru Elektronika a sdělovací technika(dále jen „nabyvatel“)Čl. 1Specifikace školního díla1. Předmětem této smlouvy je vysokoškolská kvalifikační práce (VŠKP): disertační prácediplomová prácebakalářská prácejiná práce, jejíž druh je specifikován jako .(dále jen VŠKP nebo dílo)Název VŠKP:Vedoucí/ školitel VŠKP:Ústav:Datum obhajoby VŠKP:Demo Aplikace s procesorem AVR32 UCing. Zbyněk Fedra, PhD.Ústav radioelektronikyVŠKP odevzdal autor nabyvateli*: v tištěné formě – počet exemplářů: 2 v elektronické formě–počet exemplářů: 22. Autor prohlašuje, že vytvořil samostatnou vlastní tvůrčí činností dílo shora popsané a specifikované.Autor dále prohlašuje, že při zpracovávání díla se sám nedostal do rozporu s autorským zákonem apředpisy souvisejícími a že je dílo dílem původním.3. Dílo je chráněno jako dílo dle autorského zákona v platném znění.4. Autor potvrzuje, že listinná a elektronická verze díla je identická.*hodící se zaškrtněte
Článek 2Udělení licenčního oprávnění1. Autor touto smlouvou poskytuje nabyvateli oprávnění (licenci) k výkonu práva uvedené dílonevýdělečně užít, archivovat a zpřístupnit ke studijním, výukovým a výzkumným účelům včetněpořizovaní výpisů, opisů a rozmnoženin.2. Licence je poskytována celosvětově, pro celou dobu trvání autorských a majetkových práv k dílu.3. Autor souhlasí se zveřejněním díla v databázi přístupné v mezinárodní síti ihned po uzavření této smlouvy1 rok po uzavření této smlouvy3 roky po uzavření této smlouvy5 let po uzavření této smlouvy10 let po uzavření této smlouvy(z důvodu utajení v něm obsažených informací)4. Nevýdělečné zveřejňování díla nabyvatelem v souladu s ustanovením § 47b zákona č. 111/ 1998 Sb.,v platném znění, nevyžaduje licenci a nabyvatel je k němu povinen a oprávněn ze zákona.Článek 3Závěrečná ustanovení1. Smlouva je sepsána ve třech vyhotoveních s platností originálu, přičemž po jednom vyhotovení obdržíautor a nabyvatel, další vyhotovení je vloženo do VŠKP.2. Vztahy mezi smluvními stranami vzniklé a neupravené touto smlouvou se řídí autorským zákonem,občanským zákoníkem, vysokoškolským zákonem, zákonem o archivnictví, v platném znění a popř.dalšími právními předpisy.3. Licenční smlouva byla uzavřena na základě svobodné a pravé vůle smluvních stran, s plnýmporozuměním jejímu textu i důsledkům, nikoliv v tísni a za nápadně nevýhodných podmínek.4. Licenční smlouva nabývá platnosti a účinnosti dnem jejího podpisu oběma smluvními stranami.V Brně dne: 21. května 2010 .Nabyvatel Autor
ABSTRAKTTato diplomová práce vytváří stručný přehled architektury procesoru AtmelAVR32 UC. Zabývá se především procesorem AVR32 UC3A což je mikroarchitekturaprocesoru AVR32 UC. Z mikroarchitektury AVR32 UC3A je odvozen procesorAT32UC3A0512. Tento procesor je použit na vývojové desce EVK1100. Možnosti tétodesky jsou také zkoumány.Jsou uvedeny základní informace o programovacím a vývojovém prostředíAVR32 Studio pro tyto procesory. Po osvojení ovládání vývojového prostředí a studiupřipojených ukázkových aplikací byl vytvořen jednoduchý program.Tento program byl v podobě úlohy začleněn operačního systému FreeRTOS spolus několika dalšími úlohami.KLÍČOVÁ SLOVAAVR32 UC, Atmel, EVK1100, AT32UC3A0512, AVR32 Studio, FreeRTOSABSTRACTThe diploma thesis provides a brief overview of the architecture Atmel AVR32UC. Project deals mainly AVR32 processor UC3A and processor AVR32 UCmicroarchitecture. From The Microarchitecture AVR32 UC3A was derived processorAT32UC3A0512. This processor is used for the development board EVK1100. Optionsof this plate are also investigated.Basic information about programming and AVR32 Studio developmentenvironment for these processors are given. After the acquisition of control of the IDEand study the attached sample application a simple program was created.This program was integrated as a task operating system FreeRTOS along withseveral another tasks.KEYWORDSAVR32 UC, Atmel, EVK1100, AT32UC3A0512, AVR32 Studio, FreeRTOS
ZAJÍC, J. Demo aplikace s procesorem Atmel AVR32 UC. Brno: Vysoké učenítechnické v Brně, Fakulta elektrotechniky a komunikačních technologií. Ústavradioelektroniky, 2010. 44 s., 20 s. příloh. Diplomová práce. Vedoucí práce:Ing. Zbyněk Fedra, Ph.D.
PROHLÁŠENÍProhlašuji, že svoji diplomovou práci na téma Demo aplikace s procesorem AtmelAVR32 UC jsem vypracoval samostatně pod vedením vedoucího diplomové práce as použitím odborné literatury a dalších informačních zdrojů, které jsou všechnycitovány v práci a uvedeny v seznamu literatury na konci práce.Jako autor uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvořenímtéto diplomové práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhlnedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědomnásledků porušení ustanovení § 11 a následujících autorského zákona č. 121/2000 Sb.,o právu autorském, o právech souvisejících s právem autorským a o změně některýchzákonů (autorský zákon), ve znění pozdějších předpisů, včetně možných trestněprávníchdůsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníkuč. 40/2009 Sb.V Brně dne .(podpis autora)PODĚKOVÁNÍDěkuji vedoucímu diplomové práce ing. Zbyňku Fedrovi, Ph.D. za účinnoumetodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování médiplomové práce.V Brně dne .(podpis autora)
OBSAHSeznam obrázkůxiSeznam tabulekxiiÚvod1122345základní informace o Procesoru AVR321.1Přehled vlastností architektury AVR32.21.2Mikroarchitektura AVR32A .21.3Mikrokontrolery řady AT32UC3A .3Deska EVK110042.1Napájení desky EVK 1100 .42.2Blokové schéma desky .42.3Rozmístění součástek na desce .62.4Zapojení tlačítek.82.5Zapojení joysticku.82.6Zapojení LED diod.92.7Zapojení LCD .92.8Zapojení senzorů .10JTAGICE mk ii113.1Signalizační LED programátoru JTAGICE mk II .113.2Propojení programátoru JTAGICE mk II s počítačem.123.3Propojení programátoru JTAGICE mk II s deskou.14Software154.1AVR32 GNU Toolchain.154.2AVR32 Studio.15FreeRtos165.1Základní vlastnosti FreeRTOS.165.2Úlohy (Tasks).165.2.1Vytvoření úlohy (xTaskCreate).18viii
5.2.2Mazání úloh (xTaskDelete) .195.2.3Proměnná xTaskHandle.205.3Datové typy.205.4Typická struktura demoaplikací FreeRTOS .205.5Funkce systému pro řízení běhu úloh.215.5.1Zpoždění (vTaskDelay) .215.5.2Zpoždění do určité doby (vTaskDelayUntil) .225.5.3Změna priority úlohy (vTaskPrioritySet) .235.5.4Pozastavení úlohy (vTaskSuspend).235.5.5Obnovení běhu úlohy (vTaskResume) .245.66Zdrojové kódy operačního systému FreeRTOS.24Demoaplikace6.1Demo aplikace pro LCD display.256.2Demoaplikace Control Panel .256.2.17Webový server aplikace Control Panel .26Vlastní jednoduchý program7.1827Ovládání LED diod .277.1.1Funkce blinking slower.287.1.2Funkce blinking faster .297.1.3Hlavní funkce.30Začlenění programu do aplikace Control Panel318.1Konstanty.318.2Proměnné .318.3Stavový automat.328.3.1Stav Right .328.3.2Stav Left.338.4Vytvoření úlohy .338.4.1925Tělo vytvořené úlohy.34Další úlohy9.135Úloha A/D převodníku .359.1.1Definice konstant a hlavičkových souborů.359.1.2Potřebné proměnné.369.1.3Inicializace úlohy .36ix
9.1.4Smyčka úlohy.379.1.5Funkce bar graph ( ) .399.2Úloha zobrazení data a času.409.2.1Hlavičkové soubory.409.2.2Proměnné .409.2.3Inicializace úlohy .419.2.4Smyčka úlohy.4110 Začlenění všech úloh do „Čistého“ systému Freertos4210.1Modul časových funkcí (cptime) .4210.2Modul uživatelského rozhraní (MMI).4311 Závěr44Literatura45Seznam symbolů, termínů a zkratek47Seznam příloh49x
SEZNAM OBRÁZKŮObr. 2.1:Blokové schéma desky EVK 1100.5Obr. 2.2:Osazení desky EVK 1100.6Obr. 2.3:Zapojení tlačítek na desce EVK 1100 (převzato z [10]). .8Obr. 2.4:Zapojení joysticku na desce EVK 1100 (převzato z [10]). .8Obr. 2.5:Zapojení LED diod LED1 – LED6 (převzato z [10]). .9Obr. 2.6:Zapojení LCD displeje na desce EVK 1100 (převzato z [10]). .9Obr. 2.7:Zapojení senzorů na desce EVK 1100 (převzato z [10]).10Obr. 3.1:Programátor JTAGICE mk II .11Obr. 3.2:Popis konektoru Molex, dodávaný napájecí kabel .12Obr. 3.3:Průvodce instalací hardware .13Obr. 3.4:Průvodce instalací hardware-zvolení umístění .13Obr. 3.5:Chybové hlášení při špatném propojení .14Obr. 5.1:Přechod mezi jednotlivými stavy úlohy [převzato z 13].17Obr. 6.1:Předdefinované hlášení LCD.25xi
SEZNAM TABULEKTab. 6.1:Organizace LED diod.29xii
ÚVODTato diplomová práce uvádí stručný přehled architektury mikrokontrolerů řadyAVR32. Hlavní zájem je směřován na mikrokontroler AVR 32 UC3A0512. Tytomikrokontrolery jsou zkoumány především z hlediska architektury.Tyto procesory se mohou uplatnit například na vývojových deskách. Tento projektzkoumá vlastnosti vývojové desky EVK1100 osazené procesorem AT32UC3A0512.Projekt také seznamuje s programovacím prostředím pro 32-bitové procesory firmyAtmel. Toto prostředí se skládá ze souboru nástrojů GNU Toolchain a programovacíhoprostředí AVR32 Studio. Je využíván programátor a debuger JTAGICE mkII.Po osvojení ovládání programovacího prostředí byly prostudovány ukázkovéprogramy (demoaplikace) pro danou desku. Na základě tohoto studia byl sestavenjednoduchý program ovládající LED diody umístěné na vývojové desce.Tento jednoduchý program byl začleněn do operačního systému FreeRTOS spolus dalšími jednoduchými úlohami. Mezi další úlohy patří měření teploty a zobrazováníaktuálního data a času. Pro docílení současného běhu úloh je užito principumultitaskingu.1
1ZÁKLADNÍ INFORMACE O PROCESORUAVR32Informace v této kapitole jsou čerpány především z [2]. Procesory AVR32 nejsoubinárně kompatibilní s dřívějšími procesory AVR (8-bitové procesory). Avšak zdrojovýkód ve vyšším jazyce (např. C) samozřejmě kompatibilní je. Pokud by bylykompatibilní, nebylo by možné plně využít potenciál 32-bitové architektury.1.1 Přehled vlastností architektury AVR32- 32 bitová architektura RISC- více než 15 32-bitových účelových registrů- 32-bitový ukazatel zásobníku- plně ortogonální instrukční sada- podpora pipelinigu, který umožňuje vykonat většinu instrukcí za jeden hodinovýimpulz- přístup k paměti pomocí Bajtu, poloviny slova, slova nebo dvojnásobku slova- rychlé přerušení, více úrovní přerušení- nastavitelné předvídání odskočení do podprogramu pro zmenšení zpoždění- možnost volby mezi efektivním a bezpečným operačním systémem- vylepšená instrukční sada s proměnnou délkou instrukce- nastavitelná DSP nástavba pro aritmetiku a široké možnosti mnohonásobnýchinstrukcí- nástavba pro JAVU, SIMD, čtení-úpravu-zápis do paměti a koprocesory pouze uněkterých mikroarchitektur- podpora odlaďování aplikací přímo na čipu (OCD)- jednotka MPU nebo MMU pro pokročilé operační systémy pouze u některýchmikroarchitektur1.2 Mikroarchitektura AVR32AJedná se o jednu z několika mikroarchitektur 32-bitových procesorů AVR. Jenavržena pro vytvoření programového kódu s velkou hustotu, což snižuje potřebnouvelikost paměti a zvyšuje rychlost. Toho je docíleno využitím proměnné délkyinstrukce. Často používané instrukce mají kompaktní 16-bitový formát. Instrukcepoužívané málo, mají prodloužený 32-bitový formát. Překladač je potom schopenzajistit nejmenší možnou velikost kódu.2
Procesor umožňuje práci s daty o různé velikosti dat bez snížení rychlosti vykonáníprogramu nebo zvětšení kódu. Nabízí pokročilý systém pro ladění přímo na desce(OCD) a jednotku ochrany paměti (MPU). Neobsahuje paměti typu cache ahardwarovou podporu Javy. Oblast registrů je rozdělena na šestnáct 32-bitovýchregistrů, programový čítač, linkový registr a ukazatel na zásobník.Mikroarchitektura AVR32A je navržena pro méně náročné aplikace. To znamená,že se používá především v levných méně výkonných aplikacích. Klasickým příklademvyužití jsou malé mikrokontrolery. Místo hardwarových registrů užívá zásobník. Tozmenší a zlevní čip, ale obsluha přerušení je pomalejší.1.3 Mikrokontrolery řady AT32UC3AJe to kompletní mikrokontroler založený na architektuře AVR32 UC. Maximálnítaktovací frekvence je 66 MHz. Pro taktování procesoru lze použít integrovaný RCoscilátor nebo jiný vnější oscilátor. Obvod reálného času s přidruženým časovačemudržují systémový čas. Obsahuje procesorové jádro architektury AVR32 A.Mikrokontroler obsahuje jednotku MPU a velmi pružnou kontrolu přerušení. Toumožňuje použití moderních operačních systémů reálného času (viz kapitola 5). PamětiFlash a SRAM zajišťují rychlý přístup k datům a instrukcím. Kontroler pro přenos datmezi periferiemi a pamětmi bez účasti procesoru snižuje zatížení procesoru.Mikrokontroler AVR32UC3A také obsahuje mnoho komunikačních rozhraní. Kroměběžných sériových rozhraní UART, SPI nebo TWI to je USB, síťové rozhraní Ethernetnebo synchronní sériový řadič. Ten umožňuje snadné používání běžných protokolůsériové komunikace a zvukových standardů (např.: I2S).Mikrokontroler AT32UC3A0512 osazený na vývojové desce EVK 1100 má paměťFlash o velikosti 512 kB a pamětí SRAM o velikosti 64 kB. Umožňuje připojení dalšíchpaměťových modulů.3
2DESKA EVK1100Jedná se o vývojovou desku s mikrokontrolerem řady AT32UC3A. Je vybavenavelkým množstvím periferií a pamětí což umožňuje jednoduše otestovat schopnostimikrokontroleru před navržením desky plošného spoje pro konkrétní účel.Poměrně podrobný popis desky je uveden v programu AVR32 Studio. Tento popisje umístěn v menu: „Help - Help Contents“ v „EVK1100 Hardware Reference“.2.1 Napájení desky EVK 1100Desku je možno napájet pomocí USB konektoru nebo z vnějšího zdroje pomocínapájecího konektoru. V případě vnějšího zdroje je možné použít napětí v rozsahu 8 –20V (např.: viz kapitola 3.2). Živý vodič je vyveden na střed napájecího konektoru.Výběr způsobu napájení se provede přepnutím přepínače „Power Switch“ do příslušnépolohy (USB/EXT). Jednodušší je napájení napětím 5V pomocí USB konektoru. Deskavyužívá napětí 5V, 3,3V pro napájení periferií a 1,8V pro napájení jádra CPU.2.2 Blokové schéma deskyDeska je osazena mikrokontrolerem AT32UC3A0512 (viz obr. 2.1). K němu jsoupřipojeny paměti typu Flash a SDRAM. Paměť Flash má velikost 8 Mbajtů a paměťSDRAM má velikost 32 Mbajtů. Paměť může být rozšířena pomocí MMC nebo SDkarty vložené do slotu. Slot pro paměťové karty je na spodní straně vývojové desky. Prokomunikaci s jinými zařízeními jsou vyvedeny porty pro Ethernet, USB a RS 232(UART). Dále je deska vybavena kontaktními body (Wraping Area). Pomocí nich jemožný přístup k periferiím a rozhraním, které mikrokontroler podporuje, ale na descenejsou osazeny jejich konektory. Pomocí těchto bodů je také možné sledovat časovéprůběhy signálů nebo připojit přídavné desky vyvinuté pro konkrétní účely.Pro programování a ladění je deska vybavena konektorem JTAG. Emulátory vyššíúrovně používají rozhraní NEXUS, kterým je deska také vybavena. Před jeho použitímvšak může být nutné konektor rozhraní NEXUS připájet.Vývojová deska EVK 1100 samozřejmě obsahuje i uživatelské rozhraní. Vstupnímzařízením je tří tlačítková klávesnice, joystick a několik senzorů. Výstupním zařízenímje LCD displej a LED diody. LCD displej je čtyřřádkový s dvaceti znaky v každémřádku. Pozadí zobrazované zprávy je modré a znaky jsou bílé. Jas displeje lze regulovatpomocí potenciometru ADJ2 (pod levým dolním rohem displeje). Pod displejem jeumístěno šest LED diod určených pro jednoduchou signalizaci. Čtyři z nich jsou zelené,zbylé dvě jsou dvoubarevné (červená/zelená). Signály ze senzorů lze použít jakoanalogový vstup A/D převodníku. Pro tyto operace je deska vybavena potenciometrem,teplotním čidlem a světelným senzorem.4
Obr. 2.1:Blokové schéma desky EVK 11005
2.3 Rozmístění součástek na desceObr. 2.2:Osazení desky EVK 11001. Ethernetový konektor RJ – 45: pro propojení desky se síťovou kartou PC2. Konektor USB mini: slouží k napájení desky napětím 5V, lze použít ik přenosu dat3. Konektor RS 232: rozhraní UART 04. Konektor RS 232: rozhraní UART 15. Napájecí konektor: používá se při napájení z externího zdroje napětí6
6. Přepínač napájení: slouží k výběru mezi napájením z USB nebo externího zdroje7. Přepínač napájení TPS 2020D: slouží jako přepěťová ochrana8. Indikační LED dioda: signalizuje připojení napájecího napětí k desce9. Stabilizátor LMS8117: vytváří napětí 3,3 V z napětí 5 V10. Převodník MAX3241: převádí napětí logických úrovní TTL na CMOSu rozhraní UART 1; obsahuje pět přijímačů a tři vysílače11. Převodník MAX3232: převádí napětí logických úrovní TTL na CMOSu rozhraní UART 0; obsahuje dva přijímače a dva vysílače12. Konektor JTAG: používá se pro připojení programátoru JTAGICE mkII13. Síťový řadič DP83848VV: umožňuje komunikaci rychlostí 10 nebo 100 Mb/s14. LCD displej: lze zobrazit dvacet znaků na každém ze čtyř řádků15. Konektor NEXUS: používá se pro připojení programátoru AVR ONE, tentokonektor může být dodáván neosazený16. Oscilátor CFPS 73B: křemenný integrovaný oscilátor, pracovní kmitočet50 MHz, možnost uvedení do stavu vysoké impedance17. LED diody 1 – 5: LED diody 1 – 3 jsou jednobarevné zelené, LED diody 4 a 5jsou dvoubarevné zelené a červené18. Kontrolní body: pomocí nich lze sledovat různé datové i řídící signály mezimikrokontrolerem a periferiemi.19. Tlačítko RESET20. Mikrokontroler UC3AT051221. Senzor intenzity světla: je realizován fototranzistorem TEMT 600022. Potenciometr: slouží jako analogový vstup A/D převodníku23. Tlačítko PB024. Tlačítko PB125. Tlačítko PB226. Joystick SKRHABE01027. Senzor teploty: NTC termistor NCP18WF104, měří teploty v rozsahu -40 C až125 C28. Datová paměť Flash7
2.4 Zapojení tlačítekObr. 2.3:Zapojení tlačítek na desce EVK 1100 (převzato z [10]).Tlačítka jsou připojena na vstupně výstupní piny portu X mikrokontroleruAT32UC3A0512 (PB0 – pin 16, PB1 – pin 19, PB2 – pin 22). Stiskem tlačítka sepříslušný pin uzemní. Na stejné piny jsou připojeny i pull-up rezistory 10 kΩ. Toznamená, že stisk tlačítka vytvoří logickou nulu na příslušném pinu. Nestisknutétlačítko odpovídá logické jedničce.2.5 Zapojení joystickuObr. 2.4:Zapojení joysticku na desce EVK 1100 (převzato z [10]).Joystick se skládá z jednoho spínače a jednoho přepínače. Spínač je sepnutv okamžiku stisku joysticku. Přepínač má čtyři kontakty, které se spínají při vykloněníjoysticku do jednoho ze čtyř směrů. Jedná se tedy o několikanásobný spínač s pákovýmovladačem. Tomu odpovídá i zapojení, které je stejné jako u tlačítek (stisk – log. 0,nestisknuto – log. 1)8
2.6 Zapojení LED diodObr. 2.5:Zapojení LED diod LED1 – LED6 (převzato z [10]).Diody LED1 až LED4 (označení odpovídá potisku na desce) jsou jednobarevnézelené. Diody LED5 a LED6 jsou dvoubarevné červeno zelené (dvě diody v jednompouzdře). Anody diod jsou připojeny na napájecí napětí 3,3 V. Katody LED diod jsoupřes rezistory 150 Ω připojeny k pinům portu B (piny 19 – 22 a piny 27 – 30)mikrokontroleru (celkem osm pinů). To znamená, že se dioda rozsvítí pokud jepříslušný pin nastaven na logickou nulu.2.7 Zapojení LCDObr. 2.6:Zapojení LCD displeje na desce EVK 1100 (převzato z [10]).9
Jas LCD displeje je možné manuálně doladit pomocí trimru. K Displeji jepřivedeno jak napájecí napětí 3,3V tak 5V. Napětím 3,3V jsou pravděpodobněnapájeny řídící obvody a napětím 5V je pravděpodobně napájeno podsvícení LCD.Displej je řízen pomocí sběrnice SPI.2.8 Zapojení senzorůVšechny senzory umístěné na desce EVK 1100 jsou napájeny napětím 3,3V.Teplotní senzor je zapojen v napěťovém děliči zatíženém prvním kanálem A/Dpřevodníku. Rezistor 100 kΩ nastavuje měřící proud protékající teplotním senzorem.Jako teplotní čidlo je použit termistor NCP z řady 18. Jedná se o termistor NTCs negativním teplotním součinitelem odporu. První kanál A/D převodníku (ADC0) jevyveden na pin číslo 21 portu A. Tímto způsobem (při doplnění příslušného softwaru)lze vytvořit jednoduchý digitální teploměr.Mezi senzory je zařazen potenciometr, který lze pokládat za napěťový děličs proměnlivým dělícím poměrem. Jedná se o uhlíkový potenciometr s odporem 100 kΩ.Jezdec potenciometru je připojen na druhý kanál A/D převodníku. Druhý kanál A/Dpřevodníku (ADC1) je vyveden na pin číslo 22 portu A. Tato aplikace je praktickyvyužitelná např. pro indikaci hlasitosti na displeji autorádia.Na desce je také osazen světlocitlivý senzor. Funkci světlocitlivého senzoru plnífotodioda. Ta je zapojena v napěťovém děliči s rezistorem 200 kΩ, který nastavujeproud protékající diodou. Dělič je zatížen třetím kanálem A/D převodníku jehož vstup(ADC2) je vyveden na pin číslo 23 portu A. Tento senzor lze v praxi použít např. proautomatickou regulaci jasu displeje mobilního telefonu.Obr. 2.7:Zapojení senzorů na desce EVK 1100 (převzato z [10]).10
3JTAGICE MK IIJTAGICE mk II je adaptér, který slouží pro programování mikrokontrolerů AVR aladění vyvíjených aplikací. Tento adaptér podporuje odlaďování pomocí rozhraní JTAGnebo debugWIRE. Propojení s počítačem je možné pomocí rozhraní RS-232 nebo USB.Mimo tohoto adaptéru je k programování a ladění třeba software: AVR32 Studio(alespoň verze 2.0), AVR32 GNU Toolchain (alespoň verze 2.0). Následující popis platípro operační systém MS Windows XP Professional.3.1 Signalizační LED programátoru JTAGICE mk IIPrvní LED dioda slouží k signalizaci stavu propojení programátoru s deskou.Pokud LED dioda nesvítí, je deska vypnuta nebo odpojena. Úspěšné propojení jesignalizováno zeleným svitem diody. (dioda je označena LED1 viz obr. 3.5)Druhá LED dioda signalizuje aktivní stav programátoru. Po zapnutí spínačena zadní straně programátoru se dioda červeně rozsvítí a svítí nepřetržitě až do vypnutíprogramátoru. (prostřední dioda na programátoru viz obr. 3.5)Třetí LED dioda signalizuje činnost programátoru. Při programování cílovéhozařízení dioda zeleně svítí. Při přenosu krátkého kódu může několikrát bliknout. Přidetekování programátoru programem AVR32 Studio se dioda rozsvítí oranžově a přiúspěšné detekci svítí červeně. (viz obr. 3.5)Obr. 3.1:Programátor JTAGICE mk II11
3.2 Propojení programátoru JTAGICE mk II s počítačemPropojení s počítačem je možné realizovat pomocí sériového rozhraní RS-232. Připoužití tohoto datového připojení je nutné programátor napájet z externího zdrojenapětí. Napětí externího zdroje se může pohybovat v rozmezí 9 – 12 V. Pro napájení lzepoužít např.: dvanácti voltovou větev zdroje stolního počítače viz obr. 3.2 vlevo.Obr. 3.2:Popis konektoru Molex, dodávaný napájecí kabelK připojení externího napájecího zdroje dodává výrobce napájecí kabel. Z jednéstrany je zakončený konektorem viz obr. 3.2. vpravo, z druhé strany je zakončen dvojicí„oholených“ a pocínovaných vodičů. Značený vodič (černo-bílý) je třeba připojitke kolíku konektoru molex na pozici 2 nebo 3. Tento vodič je propojen s vnější částíkonektoru. Černý vodič je propojen se středem (dutinou) konektoru. Tento vodič jenutné připojit ke kolíku na pozici 1 konektoru molex.Výhodnější je však připojení pomocí rozhraní USB. Toto rozhraní zajišťuje nejenkomunikaci s počítačem, ale i napájení napětím 5 V. Pro rozpoznání programátoru musíbýt nainstalována sada nástrojů GNU Toolchain (viz kapitola 4.1), která obsahujeovladače USB. I přes nainstalování nástrojů GNU Toolchain se může stát, že systémWindows nerozpozná programátor JTAGICE mk II. V takovém případě je nutnéovladač nainstalovat ručně.Ruční nainstalování ovladače lze provést dvojklikem na ikonu „nový hardware“v oznamovací oblasti. Tím je vyvolán „Průvodce instalací hardware“. V prvním okně jenutné zvolit možnost „Ne, nyní ne“ (viz obr. 3.3) a potvrdit tlačítkem „Další“.12
Obr. 3.3:Průvodce instalací hardwareV dalším okně je nutné zvolit „Instalovat ze seznamu nebo daného umístění“ a opětpotvrdit tlačítkem „Další“. Dále bude vybrána možnost „Vyhledat nejlepší ovladačv těchto umístěních“ se současným zatržením pole „Při hledání zahrnout toto umístění:“a stiskem tlačítka „Procházet“ zvolit umístění: „C:\Program Files\Atmel\AVRTools\usb“ (viz obr. 3.4). Stiskem tlačítka „Další“ je ovladač nalezen a nainstalován.Po stisku tlačítka „Dokončit“ je průvodce ukončen. Jako signalizace úspěšnéhopropojení se uvnitř programátoru (poblíž konektoru USB) rozsvítí zelená LED dioda.Obr. 3.4:Průvodce instalací hardware-zvolení umístění13
3.3 Propojení programátoru JTAGICE mk II s deskouPropojení se provede pomocí kabelu programátoru JTAGICE mk IIs desetipinovou koncovkou. Tato koncovka se připojí na piny konektoru JTAG nadesce. Na desce i na konektoru jsou piny označeny čísly 1 a 10 takže by při pozornémpřipojení nemělo dojít k špatnému propojení. Po propojení s deskou EVK 1100 nenítřeba v programu AVR32 Studio (verze 2.0 a vyšší) nic nastavovat, aby rozhranní ISPfungovalo. V nižších verzích pro
prost ředí AVR32 Studio. Je využíván programátor a debuger JTAGICE mkII. Po osvojení ovládání programovacího prost ředí byly prostudovány ukázkové programy (demoaplikace) pro danou desku. Na základ ě tohoto studia byl sestaven jednoduchý program ovládající LED diody umíst ěné na vývojové desce.