Lukáš Dolívka letní semestr školního roku 2003/2004 Semestrální práce do předmětu Speciální číslicové systémy Mikrokontroléry HC08 Základní popis mikrokontrolérů HC08 Mikrokontroléry HC08 vyrábí firma Motorola. Tyto mikrokontroléry jsou 8bitové, patří do druhu CISC (tj. s úplnou instrukční sadou) a mají Von Neumannovu architekturu. Jsou nabízeny se širokým výběrem modulů, velikostí a druhů pamětí a druhů pouzder. Značení mikrokontrolérů HC08 MC 68 HC 9 08 JK 3 A C DW druh součástky MC plně funkční XC částečně funkční PC inženýrský vzorek KMC sada obvodů MC KXC sada obvodů XC předpona druh mikrokontroléru HC běžný druh HSC s vysokou rychlostí HRC s RC oscilátorem HLC s nízkým příkonem druh programové paměti nic ROM 7 OTP nebo EPROM 8 EEPROM 9 FLASH skupina mikrokontrolérů rodina (podskupina) mikrokontrolérů přibližná velikost programové paměti v kb rozsah provozních teplot nic 0 C až 70 C I 0 C až 85 C C -40 C až 85 C V -40 C až 105 C M -40 C až 125 C verze mikrokontroléru nic první verze A nebo jiné písmeno přepracovaný nebo zmenšený čip označení pouzdra B SDIP DT TSSOP DW SOIC FA 7x7 mm QFP FB 10x10 mm QFP FC PQFP FE CQFP FG 14x20 mm PQFP FN PLCC FQ DFN FS CLCC FT 28x28 mm QFP FU 14x14 mm QFP FZ CQFP K Cersdip L Ceramic Sidebraze P DIP PB 10x10 mm QFP PU 14x14 mm LQFP PV 20x20 mm LQFP RC PGA S Cerdip SD SSOP VF MAPBGA ZP PBGA ZU TBGA Popis jednotlivých částí mikrokontrolérů HC08 Registry mikrokontrolérů HC08: 7 0 akumulátor (A) 15 8 7 0 indexový registr (H:X) (H horních 8 bitů, X dolních 8 bitů) 15 0 ukazatel zásobníku (SP) 15 0 programový čítač (PC) 7 0 V 1 1 H I N Z C registr příznaků (CCR) příznak přenosu/záporného přenosu (C) příznak nulového výsledku (Z) příznak záporného výsledku (N) maska přerušení (I) příznak polovičního přenosu (H) příznak přetečení dvojkového doplňku (V) Centrální procesorová jednotka (CPU08): plně slučitelný instrukční soubor se skupinou mikrokontrolérů HC05 pro možnost požití programů z HC05 na HC08 78 nových instrukcí kmitočet sběrnice 8 MHz při napájecím napětí 5 V, tj. nejmenší délka instrukčního cyklu 125 ns, 4 MHz při napájecím napětí 3 V 16bitový ukazatel zásobníku s novými instrukcemi pro manipulaci se zásobníkem 16bitový indexový registr s instrukcemi pro indexový registr přesuny z paměti do paměti bez užití akumulátoru rychlejší 8bitové násobení a nové instrukce pro celočíselné a zlomkové dělení zdokonalené řízení smyček zlepšené instrukce pro BCD kód celková velikost adresovatelného prostoru 64 kb, tento adresový prostor je rozdělen mezi paměť pro program a data předvídání instrukcí přináší úsporu počtu cyklů průměrně 20 až 30 % plně statický provoz s nízkým napájecím napětím a nízkým příkonem
16 adresovacích režimů instrukce optimalizované pro jazyk C Časovací modul: Časovací modul poskytuje různá uspořádání pro několik časovacích funkcí. Má stejné vlastnosti jako 16bitové časovací moduly skupiny mikrokontrolérů HC05 (obvody pro řízení vstupních vývodů (input capture), obvody pro řízení výstupních vývodů (output compare), vyvolání přerušení při přetečení) a navíc má ještě další funkce, například: každý nezávislý časovací kanál je programovatelný jako obvod input capture, obvod output compare, nebo pulsně-šířkový modulátor (PWM) bez vyrovnávací paměti v jakékoliv kombinaci je k dispozici ve 2-, 4- a 6kanálové verzi několik časovacích modulů může být sloučeno pro jakýkoliv požadovaný počet programovatelných časovacích kanálů dvojice časovacích kanálů může být spojena pro vytvoření pulsně-šířkových modulátorů s vyrovnávací pamětí lepší řízení časovače-čítače s příkazy pro zastavení a vynulování volba dělícího poměru děličky, včetně výběru vnějšího hodinového signálu 16bitový čítač může být volně běžící nebo s určitým dělicím poměrem přetečení může změnit stav jakéhokoliv vývodu časovače obvody input capture mohou spouštět pro obě hrany signálu na vstupním vývodu obvody output compare mohou změnit stav výstupního vývodu každé přerušení má svůj vlastní vektor Možnosti sériové komunikace mikrokontrolérů HC08 Skupina mikrokontrolérů HC08 obsahuje součástky s moduly pro asynchronní sériovou komunikaci (SCI), moduly pro synchronní sériovou komunikaci s perifériemi (SPI), moduly pro sběrnici CAN a řídicí moduly pro SAE J1850. Rozhraní pro sériovou komunikaci (SCI) Rozhraní SCI je sériový asynchronní komunikační systém typu UART. Může být užito pro komunikaci mezi mikrokontrolérem a terminálem, počítačem nebo v síti mikrokontrolérů. Typickým využitím rozhraní SCI je přenos dat na velkou vzdálenost (RS-232). Vlastnosti rozhraní SCI mikrokontrolérů HC08: standardní formát značka/mezera bez návratu k nule plně duplexní činnost dvojitá vyrovnávací paměť vysílače i přijímače odděleně spustitelný vysílač a přijímač programovatelná délka znaku 8 nebo 9 bitů zlepšená detekce chyb v 1/16 doby trvání jednoho bitu generátor přenosové rychlosti se 32 programovatelnými přenosovými rychlostmi metody spuštění přenosu při nevyužité lince a při příchodu adresové značky detekce chyb rámce v přijímači možnost přerušení vysílání volitelná kontrola a generování parity samostatné vektory přerušení vysílače, přijímače a chyb přenosu Sériové periferní rozhraní (SPI) Rozhraní SPI přenáší data synchronně na malé vzdálenosti (obvykle na jedné desce plošných spojů) při vysokých rychlostech. Umožňuje mikrokontroléru komunikovat se součástkami periferií, jako jsou například jednoduchý posuvný registr, sériová paměť RAM nebo EEPROM nebo celý podsystém hodin reálného času, zobrazovače LCD nebo A/D či D/A převodníku. Vlastnosti rozhraní SPI mikrokontrolérů HC08: plně duplexní třívodičový synchronní přenos výběr režimu řídící (master) nebo řízený (slave) obvod nejvyšší kmitočet v režimu master je polovina kmitočtu sběrnice, tj. 4 MHz při kmitočtu sběrnice 8 MHz nejvyšší kmitočet v režimu slave obvod je kmitočet sběrnice, tj. 8 MHz při kmitočtu sběrnice 8 MHz čtyři programovatelné bitové rychlosti pro režim master programovatelná polarita hodinového signálu a jeho fáze při konci přenosu se nastaví bit příznakového registru pro přerušení programovatelný režim uzlového logického součtu vyrovnávací paměť pro vysílání a příjem Analogově-číslicový převodník A/D převodník periodicky vzorkuje vnější analogový signál a na svém výstupu dává odpovídající číselné hodnoty. Typickými aplikacemi jsou měření napětí baterie, teploty, tlaku apod. A/D převodník v mikrokontrolérech HC08 má tyto vlastnosti: pracuje na principu postupné aproximace, rozlišení 8 bitů (rozlišení 10 bitů je ve vývoji), jednorázové nebo trvalé převádění, příznak nebo přerušení po dokončení převodu, volitelný hodinový kmitočet pro převodník, čas převodu 17 µs, analogový multiplexer dovoluje proměnný počet kanálů, jejichž napětí se může měřit s jedním převodníkem. Modul zamezující provozu mikrokontroléru při poklesu napájecího napětí (LVI) Tento modul sleduje napájecí napětí mikrokontroléru. Když toto napětí poklesne, je nastaven příznak umožňující programu periodicky upozorňovat na snížené napětí. Případně může uživatel dovolit samočinné resetování mikrokontroléru, když napětí poklesne pod nastavenou hodnotu. Jakmile se napájecí napětí navrátí nad nastavenou hodnotu, stav resetu bude trvat 4095 vnitřních cyklů sběrnice, aby se stabilizoval oscilátor, a potom pokračuje běžný provoz mikrokontroléru. Některé tyto moduly jsou zvláštní v tom, že obsahují více nastavených hodnot, s kterými se porovnává napájecí napětí, a pak je možné mikrokontrolér použít pro aplikace jak s nízkým, tak běžným napájecím napětím. Modul generátoru hodinového signálu Tento modul obsahuje obvod krystalového oscilátoru a fázový závěs s výstupním kmitočtem programovatelným v celistvých násobcích kmitočtu vnějšího krystalu. Modul umožňuje užití levnějších krystalů a omezení šumu, a přitom poskytuje kmitočet až 32 MHz.
Modul budiče zobrazovače LCD Tento modul umožňuje mikrokontroléru přímo ovládat mnohasegmentový zobrazovač LCD. Všechny napěťové úrovně potřebné pro napájecí průběhy zobrazovače jsou vytvářeny nábojovou pumpou na čipu, čímž se omezuje počet vnějších součástek připojených k mikropočítači, a tím i cena systému. Tabulka s parametry mikrokontrolérů HC08 Typ RAM ROM EEPROM FLASH kanálů časovače Nejvyšší kmitočet sběrnice [MHz] A/D převodník Napájecí napětí [V] Pulsně-šířkový modulátor kanálů bitů vstupů/ výstupů kanálů bitů 68HC08AB16A 512 512 8 8 8 8 5 8 16 51 68HC908AB32 1024 512 32768 8 8 8 8 5 8 16 51 68HC908AP8 1024 8192 2 8 8 10 3, 5 30, 32 68HC908AP16 1024 2 8 8 10 3, 5 30, 32 68HC908AP32 2048 32768 2 4, 8 8 10 3.3, 5 30, 32 68HC908AP64 2048 62368 2 4, 8 8 10 3.3, 5 30, 32 68HC08AS32 1024 32256 512 6 8 15 8 5, 6 40 68HC908AS32A 1024 512 32768 6 8 15 8 5 6 16 40 68HC908AS60 2048 1024 61440 61872 6 8.4 15 8 5 8 15 40 68HC908AS60A 2048 1024 61440 61872 6 8, 8.4 15 8 5 6, 15 8, 16 42, 52 68HC908AZ32A 1024 512 32768 2, 6 8.4 15 8 5 50 68HC908AZ60A 2048 1024 61440 8 8.4 15 8 5 8 16 52 68HC08BD24 512 25088 2 6 6 8 5 16 8 32 68HC908BD48 1024 48128 2 6 6 8 5 16 8 32 68HC908EY16 512 15872 2 8 8, 10 8, 10 5 2, 4 16 24 68HC908GP32 512 32768 2, 4 4.1, 8.2 8 8 3, 5 2, 4 16 29, 31, 33 68HC908GR4 384 4096 3 4.1, 8, 8.2 4, 6 8 3, 5 3 16 17, 21 68HC908GR8 384 7680 1, 2 8.2 6 8 3, 5 21 68HC908GR16 1000 16000 4.1, 8, 406 2 1024 8.1,8.2 8 10 3.3, 5 2 16 37 68HC908GT8 512 8192 2 4, 8 8 8 5 4 16 34, 36 68HC908GT16 512 720 2 4, 8 8 8 3, 5 2, 4 16 34, 36 68HC908GZ8 1024 406 8192 2 8 8 10 5.5 37 68HC908GZ16 1000 16000 406 1024 2 8 8 10 3.3, 5, 5.5 37 68HC08JB1 128 5632 1 3 3 1 16 13 68HC908JB16 384 2 6 21 68HC908JB8 256 8192 1, 2 3 5.25 1, 2 16 13, 21, 37 68HC08JB8 256 8192 2 3 3.6 1, 2 16 13, 21, 37 68HC908JG16 384 2 6 8 8 4, 5.5 20 68HC908JK1E 128 1536 2 4, 8 10 8 3, 5 2 16 14, 15 68HC908JK3E 128 4096 2 8 12 8 5 2 16 15 68HC08JK3E 128 4096 2 4, 8 10, 12 8 3 2 16 15 68HC908JK8 256 8192 2 4, 8 10 8 2.7, 3 2, 4 8, 16 15 68HC08JK8 256 8192 2 4, 8 10 8 3 2 16 15 68HC908JL3E 128 4096 2 4, 8 12 8 3 2 16 23 68HC08JL3E 128 4096 2 4, 8 12 8 3, 5 2 16 22 68HC908JL8 256 8192 2 4, 8 12, 13 8 3, 5 2 16 23, 26 68HC08JL8 256 8192 2 4, 8 12, 13 8 3, 5 2 16 23, 26 68HC08KH12 384 2 6 5 2 16 42 68HC908KX2 192 2048 2 4, 8 4 8 3, 5 2 16 13 68HC908KX8 192 8192 2 4, 8 4 8 5 2 16 13 68HC908LD64 2048 60928 2 6 6 8 3.3 8 8 39 68HC908LJ12 512 12288 2 4, 8 4, 6 10 5 2, 4 16 20, 32 68HC908LJ24 768 24576 2 4, 8 6 10 40, 48 68HC908LK24 768 24576 2 4, 8 6 10 40 68HC908MR8 256 8192 2 8.2 4, 7 10 5 6 12 12, 16 68HC908MR16 768 16128 2, 4 8.2 9, 10 10 5 6 12 36, 37, 44 68HC908MR32 768 32256 2, 4, 6 8.2 9, 10 10 5 6 12 36, 44 68HC908QT1 128 1536 2 3.2, 4, 8, 8.2 3, 5 2 16 5, 6 68HC908QT2 128 1536 2 3.2, 4, 8, 8.2 4 8 3, 5 2 16 5, 6 68HC908QT4 128 4096 2 3.2, 4, 8, 8.2 4 8 3, 5 2 16 5, 6 68HC908QY1 128 1536 2 3.2, 4, 8, 8.2 3, 5 2 16 13, 14 68HC908QY2 128 1536 2 3.2, 4, 8, 8.2 4 8 3, 5 2 16 13, 14 68HC908QY4 128 4096 2 3.2, 4, 8, 8.2 4 8 3, 5 2 16 6, 13, 14 68HC908RF2 128 2048 2 2, 4 2 12 68HC908RK2 128 2048 2 2, 4 3 2 16 14 68HC908SR12 512 12288 4 4, 8 11, 14 10 3, 5 3 8 30, 33
Popis rodin mikrokontrolérů HC08 Následující obrázky ukazují užití a vlastnosti rodin mikrokontrolérů HC08:
Možnosti sehnání mikrokontrolérů HC08 v České republice V České republice prodává nejvíce typů mikrokontrolérů HC08 firma Beta Control. Dále je prodávají firmy RS, GES electronics (17 typů, z toho jen 4 typy v množství od 1 kusu), GM electronic (jen 1 typ) a možná ještě jiné firmy. Pro představu, za jaké ceny se mikrokontroléry HC08 u nás prodávají, jsou dále uvedeny jejich ceny u firmy Beta Control: MC68HC908AB32CFU MC68HC908AZ60CFU MC68HC908BD48CFB MC68HC908EY16CFA MC68HC908GP32CFB MC68HC908GP32CP MC68HC908GR4CFA MC68HC908GR8CFA MC68HC908GT16CFB MC68HC908GZ16CFJ MC68HC908JB8ADW MC68HC908JB8JDW MC68HC908JK1CDW MC68HC908JK1CP 353.80 639.10 213.00 298.30 328.10 312.70 124.10 187.50 272.70 255.70 175.80 171.60 79.20 85.00 MC68HC908JK3CDW MC68HC908JK3CP MC68HC908JK8CP MC68HC908JL3CDW MC68HC908JL3CP MC68HC908KX2CDW MC68HC908KX8CDW MC68HC908KX8CP MC68HC908LD64CFU MC68HC908LJ12CFU MC68HC908MR16CFU MC68HC908MR32CFU MC68HC908MR8CFA 95.00 104.30 143.60 120.10 125.40 122.80 165.00 166.30 251.30 255.70 258.00 363.00 198.70 Ceny jsou uvedeny v Kč bez DPH v množství od 1 kusu a byly zjišťovány v březnu 2004. Zdroj informací pro tuto semestrální práci Internetové stránky firmy Motorola: http://www.motorola.com. Internetové stránky firmy Beta Control: http://www.betacontrol.cz. MC68HC908QT1CDW MC68HC908QT2CDW MC68HC908QT4CDW MC68HC908QT4CP MC68HC908QY1CDW MC68HC908QY1CP MC68HC908QY2CDW MC68HC908QY2CP MC68HC908QY4CDW MC68HC908QY4CP MC68HRC908JK1CP MC68HRC908JK3CDW MC68HRC908JL3CDW 47.70 56.40 64.90 52.80 45.30 45.30 53.30 53.30 69.30 70.90 84.70 112.20 125.40