Jednočipové mikropočítače


Brzy po vyzkoušení mikroprocesorů ve výpočetních aplikacích se ukázalo, že se jedná o součástku mnohem universálnější, která se uplatní nejen ve výpočetních, ale i v řídicích aplikacích, kde významným způsobem zjednoduší a zlevní návrh řídicího hardware. Ukázalo se rovněž, že sestava řídicího systému s mikropočítačem může být optimalizována, tj. minimalizována z hlediska rychlosti, šířky slova zpracovatelného pomocí RALU, kapacity operační paměti, množství vstupně-výstupních obvodů i rozsahu řídicího programu. Postupně se tak vyvíjel minimalizovaný systém řídicího mikropočítače, který pak výrobci začali integrovat do jednoho čipu. Vznikl tak mikrokontrolér, mikrořadič, jednočipový mikropočítač (anglicky embedded microcontroller), který je svou architekturou přizpůsoben speciálně pro monitorování a řízení různých mechanismů a procesů. Kromě vlastního mikroprocesoru jsou na čipu integrovány ještě operační paměť (RAM), pevná paměť (ROM, PROM nebo EPROM), kde je uložen řídicí program, vstupní a výstupní obvody, případně přímo potřebná rozhraní pro řízení periferií, například seriové rozhraní, časovač, A/D nebo D/A převodníky, výkonové budiče řídicích číslicových signálů apod. Jednočipové mikropočítače zpravidla obsahují oddělenou paměť programu (zpravidla užívaný název pro ROM, PROM nebo EPROM mikrořadiče) a paměť dat (zpravidla užívaný název pro RAM mikrořadiče) a časovače, které umožňují synchronizaci s vnějším okolím - s reálným světem. Proto se někdy jednočipovým mikropočítačům říká řídicí systémy v reálném čase. Aplikační rozsah těchto řídicích systémů je prakticky neomezený od běžných elektronických přístrojů používaných v domácnosti jako je videorekordér, automatická pračka, kuchyňský sporák, šicí stroj apod. až po nejnáročnější aplikace v automobilovém aleteckém průmyslu a ve vojenství. Vývoj a aplikace jednočipového mikropočítače je v číslicové technice jistou duální analogií k vývoji a aplikaci operačního zesilovače v technice analogové; i zde je obecný princip (v tomto případě univerzálního zesilovače) realizován v řadě modifikací, vhodných pro dané specifické aplikace.

Největšího rozšíření z hlediska aplikací doznaly mikrokontroléry dvou významných výrobců mikroprocesorů - firem Motorola a Intel (podobně jako v technice stolních mikropočítačů). Spektrum výrobců jednočipových mikropočítačů je však velmi široké, mimo již jmenované firmy jsou to například americké Texas Instruments, National Semiconductors, evropské Philips, Siemens, japonské OKI, NEC, Toshiba, Hitachi apod. Charakteristické pro historický vývoj mikrokontroléru však je, že se zde neprojevuje snaha o drastické zvýšení rychlosti a kapacity paměti jako u osobního počítače. Je to dáno zejména faktem, že nasazením řídicího mikropočítače v dané aplikaci musí dojít k podstatnému zjednodušení výroby a tím ke snížení ceny výsledného výrobku. Stačí-li proto například k vykonání specifického řídicího programu operační paměť 64 bytů, není výrobce ničím motivován, aby použil mikrokontrolér s pamětí 128 bytů, protože by tím jen zdražil výsledný výrobek. Obecně platí, že se pro aplikaci použije ten nejjednodušší mikrokontrolér, který pro danou aplikaci vyhovuje. Tato motivace je proto také důvodem k tomu, že výrobci jednočipových mikropočítačů nabízejí velmi široké spektrum konfigurací mikrokontrolérů, lišící se i drobnými změnami v kapacitě pamětí (RAM i ROM), počtů vstupů/výstupů, použitelných periferií apod. Přito záměr výrobce aplikace je co nejjednodušší (a tím nejlevněji vyrobitelná a nejspolehlivější) sestava potřebného řídicího hardware, nejlépe složená pouze z vlastního mikrokontroléru. Historické řady mikrokontrolérů se proto spíše liší šířkou nabízených modifikací periferních obvodů, než vlastní sestavou řídicího mikropočítače. Z rozšiřování řídicího systému mikrokontroléru je patrná snaha o rozšíření kapacity pevné paměti PROM na čipu, z původních 1-4 kB u řady MCS-48 fy Intel na současných 32 kB u řady MCS-96 téže firmy, adresovatelného prostoru paměti, z původních 64 kB (řada Intel MCS-51) na 16 MB (řada Intel MCS-251), zrychlení provádění instrukcí (z původních max. 24 hodinových cyklů na 2 hodinové cykly u těchže řad) a o komfort programování (zdrojové programy pro řadu MCS-251 mohou být v jazyce C). Snaha je též o zaintegrování specializovaných obvodů pro řízení periferií, které pak minimálně zatěžují centrální jednotku mikrokontroléru. Mezi takové specializované obvody patří například zrychlení obsluhy přerušení, tzv. jednotka zpracování událostí apod. Jednotlivé generace jednočipových mikropočítačů se tak liší počtem časovačů, počtem a druhy vstupně výstupních obvodů, počtem přerušovacích vstupů, přítomností A/D převodníku na čipu a jeho rozlišením, případně přítomností speciálních generátorů řídicích signálů (pulsní šířkově modulovaný výstup u řady MCS-96). K datu vydání skript byly autorům známy řady 8, 16 a 32bitových jednočipových mikropočítačů (poslední vyrábí například Motorola, Texas Instruments a Hitachi). Jednočipové mikropočítače jsou vyráběny, podobně jako mikroprocesory, buď technologií MOS (nebo jejími mutacemi HMOS, HMOS II apod.) nebo CMOS (nižší rychlost a spotřeba).

Pro ilustraci, jak se liší harwarové sestavy jednotlivých historicky vzniklých řad jednočipových mikropočítačů uvedeme tři řady fy Intel: MCS-48 (vznikla v roce 1976), MCS-51 (vznikla v roce 1980) a MCS-96 (vznikla v roce 1983).

Řada Intel MCS-48

(integrováno na čipu)

8bitová CPU

1/2/4 kB ROM

64/128/256 bytů RAM

1 čítač/časovač

paralelní vstup/výstup

8bitový převodník A/D

Řada Intel MCS-51

(integrováno na čipu)

8bitová CPU

4/8 kB ROM

128/256 bytů RAM

2 čítače/časovače

paralelní vstup/výstup

seriový vstup/výstup

až 6 zdrojů přerušení

Řada Intel MCS-96

(integrováno na čipu)

16bitová CPU

až 32kB ROM

až 744 bytů RAM

2 čítače/časovače a hlídací časovač (watchdog)

až 64 bitů číslicových vstupů/výstupů

až 5 seriových linek vstupu/výstupu

A/D převodník 8/10 bitů s multiplexerem

jednotka zpracování událostí

jednotka zrychlené obsluhy přerušení

až 14 zdrojů přerušení

Srovnáme-li vnitřní struktury jednotlivých řad mikrokontrolérů najde v nich části, které jsou analogické vzájemně i ve srovnání s obecnou strukturou mikropočítače na obrázku 9.1 a části specifické pro příslušnou skupinu jednočipových mikropočítačů. Jako příklad uvádíme na obrázku 9.9 zjednodušenou vnitřní strukturu 8bitového a na obrázku 9.10 zjednodušenou vnitřní strukturu 16bitového mikrořadiče. I když jsou uvedená schemata základem určitých konkrétních jednočipových mikropočítačů, budeme je vykládat jako příklady možné architektury mikrořadičů.

../images/kap8a9/7_10.gif

Obr. 9.9

Všimněme si nejprve obrázku 9.9. Základním prvkem jednočipového, tak jako i běžného, mikropočítače je centrální procesorová jednotka CPU (na obrázku 9.1 označena jako m P), tvořená řadičem instrukcí, ALU, registry pro zápis dat, instrukcí a stavu, a paměťovým rozhraním. Vnitřní adresová sběrnice je 8vodičová, multiplexovaná a slouží též jako (obousměrná) datová sběrnice. Řídicí sběrnice není v obrázcích 9.9 a 9.10 zakreslena. Paměť programu (ROM) může mít kapacitu 64 kB právě tak jako paměť dat (RAM). To je kapacita, kterou je tento jednočipový mikropočítač schopen adresovat ať se jedná o paměť na čipu nebo externí paměť. Na čipu je však umístěno jen max. 256 bytů paměti dat a max. 32 kB paměti programu. Tento vzájemný poměr kapacity paměti programu a operační paměti je charakteristický pro řídicí softwarové aplikace, neboť ty neobsahují programové operace náročné na operační paměť. Mikrořadič má čtyři 8bitové obousměrné paralelní porty pro vstup/výstup číslicových logických signálů a jeden sériový port pro asynchronní a synchronní sériovou komunikaci a pro komunikaci v multiprocesorových systémech. Je schopen zpracovat logický signál přerušení z celkem 6 zdrojů. Může mít až tři programovatelné 16bitové čítače/časovače, použitelné buď odděleně pro komunikaci s vnějším prostředím, nebo lze jeden z nich využít pro generaci přenosové rychlosti sériového kanálu. Pracovní kmitočet hodinového signálu se může pohybovat v rozmezí od 0 do 16 MHz. Paměť programu může být v provedení ROM, PROM nebo EPROM. (V literatuře popisující mikrořadiče se vyskytuje často název OTPROM, což je zkratka pro One-Time-Programmable ROM; tento název je ekvivalentní označení PROM.) Mikrořadič má dva režimy snížené spotřeby, “idle”, kdy se spotřeba z původních 70 mA na napájecím napětí 5 V sníží na cca 30 mA, a “power-down”, kdy je jeho spotřeba pouze cca 50 μA.

../images/kap8a9/7_9.gif

Obr. 9.10

Na obrázku 9.10 je příklad vnitřního uspořádání rychlejšího 16bitového jednočipového mikropočítače. Řada jeho součástí je shodná jako na obrázku 9.9, proto je nebudeme opakovat. Adresová sběrnice je oddělena od datové a má 8 vodičů; řádková a sloupcová adresa jsou časově multiplexovány. Adresovatelný prostor je proto 64 kB, z otho na čipu může být až 32 kB. Datová sběrnice má plnou šířku 16 vodičů, přenos dat mezi CPU, pamětí a periferiemi je proto rychlejší než v předchozím případě. Aritmeticko-logická jednotka má zabudovanou hardwarovou násobičku (16x16 bitů za 1,75 μs při taktovací frekvenci 16 MHz) a děličku (32/16 bitů za 3 μs při taktovací frekvenci 16 MHz). Mikrořadič obsahuje systém pro zrychlení obsluhy přerušení, označený na obrázku jako PTS, a jednotku pro zpracování událostí, označenou jako EPA. Tato jednotka “předzpracovává” číslicové signály z periferních čidel z hlediska splnění potřebných podmínek (například komparace, časová následnost, apod.) a šetří tak procesoru čas, o který je pak odezva na konkrétní stav vnějších čidel rychlejší. Kromě toho obsahuje mikrořadič na čipu ještě převodník A/D s programovatelným rozlišením 10 nebo 12 bitů (nižší rozlišení znamená kratší dobu převodu), který je vybaven 8-14 kanálovým multiplexerem rovněž na čipu. Mikrokontrolér je tak schopen reagovat i na analogové signály z vnějších čidel bez dodatečných součástek. Číslicových logických vstupů může mikrokontrolér využít až 53 a obsahuje rovněž dva programovatelné čitače/časovače a hlídací časovač (watchdog). Sběrnice mikrořadiče jsou vyvedeny pro připojení vnější paměti nebo dalších vstupně-výstupních obvodů.

Z uvedených příkladů je zřejmé, že jednočipový mikropočítač je a zůstane široce používanou elektronickou součástkou v jednoúčelových aplikacích, kde je rozsah řídicích funkcí předem znám. Velký výběr mikrořadičů nabízených různými výrobci umožňuje nalézt typ, jaký je pro danou aplikaci nejvhodnější. Vlastní nasazení pak vyžaduje vyvinout řídicí program a vyzkoušet jej buď na zařízení simulujícím funkci jednočipového mikropočítače (emulátoru) nebo na mikrořadiči osazeném pamětí EPROM, kterou je možné v případě chyby v programu přeprogramovat. Tyto mikrokontroléry jsou opatřeny, podobně jako paměti EPROM, okénkem, kterým je možné obsah celé paměti programu smazat. V současné době nabízí celá řada prodejců vývojové prostředky pro programování jednočipových mikropočítačů, jejich popis a použití však již přesahuje rámec těchto skript.


Další ... Závěr