Váení zákazníci, dovolujeme si Vás upozornit, e na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, e ukázka má slouit výhradnì pro osobní potøebu potenciálního kupujícího (aby ètenáø vidìl, jakým zpùsobem je titul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda titul koupí èi ne). Z toho vyplývá, e není dovoleno tuto ukázku jakýmkoliv zpùsobem dále íøit, veøejnì èi neveøejnì napø. umisováním na datová média, na jiné internetové stránky (ani prostøednictvím odkazù) apod. redakce nakladatelství BEN technická literatura
[email protected]
NATIONAL SEMICONDUCTOR Americký výrobce polovodièových souèástek - firma National Semiconductor výraznì ovlivòuje trh s jednoèipovými mikropoèítaèi. Jeho pøínos je nejen v technických inovacích s nimi pøiel, ale i cenová politika, kterou prosazuje. Sniování cen nejjednoduích mikroøadièù pod 1 $ a pak i pod 0,5 $ urychlilo jejich hromadné nasazení. V produkci National Semiconductor jsou zastoupeny mikroøadièe od nejjednoduích 4bitových a po velmi výkonné 16bitové typy.
Ètyøbitová rodina COP400 Výrobce oznaèuje rodinu COP400 jako optimalizovanou na efektivní øízení pøi nejniích cenách mikroøadièù. Není to nejnovìjí øada, stále se vak pouívá. Dùvodem je její univerzálnost. Je mono vybírat z øady obvodù s pamìtmi RWM u od 32x4 bity a ROM od 0,5 KB. Kadý typ obsahuje stejné procesorové jádro a má obdobné zapojení vývodù, take je snadné pøecházet na jiný typ. Mikroøadièe mohou nahrazovat standardní logické obvody ve spotøebních výrobcích s masivní produkcí, ale i v malosériových prùmyslových zaøízeních. Mezi oblasti nejèastìjího nasazení patøí: - spotøební elektronika, - prùmyslové øízení, - hraèky, - telefony.
COP444C Pro pøiblíení vlastností mikroøadièù COP400 popíeme typ COP444C. Je to plnì statický jednoèipový CMOS mikroøadiè. Jednoúrovòový napájecí zdroj mùe mít napìtí od 2,4 do 5,5 V. Instrukèní soubor a vnitøní architektura jsou navreny pøedevím pro práci s BCD èísly. Vstupy a výstupy, které má, umoòují jeho pouití ve funkci øadièe meního displeje a klávesnice (viz obr. 63). Pamì ROM adresovaná 11bitovým èítaèem instrukcí PC má velikost 2 KB. Hardwarový zásobník, do nìho se ukládá obsah PC, má pouze 3 úrovnì. Pamì dat má velikost 512 bitù a je organizována jako 8 zápisníkù, z nich kadý má 16 ètyøbitových èíslic. Pro její adresování je vyhrazen sedmibitový registr B. Jeho nejvýznamìjí 3 bity (BR) vybírají 1 z 8 zápisníkù a nejménì významné 4 bity (BD) vybírají èíslici v rámci zápisníku. Ke zpracování dat procesor vyuívá akumulátor A. Dalí registry zobrazené na obr. 63 jsou spojeny s periferním podsystémem a øízením celého mikroøadièe. Èítaè T je osmibitový èítaè nahoru, jeho obsah je moné èíst (a plnit) ze støadaèe A spojeného s pamìovým místem M urèeným registrem B. Èítaè T dokáe pracovat ve funkci èasovaèe z vnitøního zdroje hodinového signálu nebo èítaèe vnìjích událostí. Vývody IN0 a IN3 vytváøejí univerzální 4bitový vstup, jeho alternativní funkcí jsou øídicí signály sbìrnice Microbus (viz dále). Registr D obsahuje hodnotu 4bitového výstupu pro veobecné pouití D0 a D3. Malý poèet vývodù pouzdra se projevil v alternativním obsazení vývodu D0 pro vstup druhého hodinového oscilátoru. Na vstup D0 staèí pøipojit èlánek RC nebo pøivést vnìjí hodinový signál a nastavením datového bitu D0 registru D lze pøepínat zdroj hodinového signálu pro mikroøadiè.
134
Stanislav Pechal: Monolitické mikropoèítaèe - BEN technická literatura
Stanislav Pechal: Monolitické mikropoèítaèe - BEN technická literatura
135
,1
,1
,1
,1
=È62%1Ë.
,/ 5(*
%,7
//
%8',ý(/
45(*,675
$/8
$.808/È725
3&
6$ 6% 6&
5:0 [
,16757$.7
' /,ý
520 .%
Obr. 63 Blokové schéma COP444C
967839é67
Ë=(1Ë
(1
'(.2'e5 ,16758.&Ë
ýË7$ý 7
&.,
&
%5 %'
+2',129é *(1(5È725
6./
Ë=(1Ë +$/7
5(*,675
'
/2*,.$ 5(6(7
* 5(*,675
6e5,29é 326891é 5(*,675
&.2
**
62
6,
6.
'
'
'
'
5(6(7
Registr G je spojen s obousmìrnou 4bitovou bránou. Je také vyuit pro podporu sbìrnice Microbus. I kdy je celý øadiè 4bitový, má jednu obousmìrnou 8bitovou bránu L0 a L7. Bránu L lze pøímo èíst nebo plnit z A a pamìové buòky M. Druhou moností pouití je datová èást sbìrnice Microbus. Funkce registru SIO je pøepínatelná - buï je vyuit pro pøenos na sériové sbìrnici MICROWIRE, nebo jako 4bitový binární èítaè. Posledním registrem je øídicí registr EN. Kadý z jeho bitù øídí èinnost periferií v mikroøadièi - registr SIO, bránu L a pøeruovací podsystém. COP444C má jednoduchý pøeruovací podsystém reagující na negovaný signál na vstupu IN1. Jednoduchost pøeruovacího podsystému je omezena øadou podmínek, které je nutno dodret, aby pøeruení fungovalo správnì. Na obr. 64 je znázornìno pøipojení mikroøadièe COP444C pøes sbìrnici Microbus k nadøízenému poèítaèi. Jde o paralelní 8bitovou sbìrnici, pomocí ní je moné pøedávat pøíkazy a data. Tato vlastnost mikroøadièù COP400 je vyuívána k jejich pouití ve funkci inteligentních øadièù periferií. Programové vybavení vloené do COP444C z nìj vytvoøí napø. samostatnì pracující øadiè LED displeje. Zákazník má monost vytvoøit si vlastní programovatelné periferní obvody, které se k øídicímu mikroprocesoru pøipojí podobnì jako standardní obvody nabízené v rámci univerzálních mikropoèítaèových stavebnic. Nízká cena a snadná zmìna funkce zámìnou programového vybavení znamenají výhodný, vysoce flexibilní prvek systému. Ze zbylých blokù na obr. 63 je zajímavý obvod hodinového generátoru. Mùe pracovat ve 4 rùzných konfiguracích: a) s krystalovým oscilátorem, b) s externím zdrojem kmitoètu, c) RC oscilátor, d) dvojitý oscilátor vyuívající i vývod D0. Úsporný reim (IDLE) je nastaven instrukcí IT (Idle till Timer), není-li èítaè zapojen
&23& 3 (58â(1Ë
*
%,729È // Ë',&Ë 0,.52352&(625
'$729È6% 51,&( 5'
,1
&6
,1
:5
,1
5(6(7
5(6(7
5(6(7
Obr. 64 Pøipojení COP444C na sbìrnici MICROBUS
136
Stanislav Pechal: Monolitické mikropoèítaèe - BEN technická literatura
pro èítání vnìjích událostí. Úplné zastavení èinnosti pak nastane v reimu HALT. Odbìr proudu je kritický pøedevím u bateriovì napájených pøístrojù. Výrobce umoòuje konstruktérùm pøedbìnì spoèítat odbìr. Napø. pro výpoèet odebíraného proudu pøi externím budícím signálu platí: I = IQ + V . 40 . Fi + V . 1400 . Fi/DV kde IQ je klidový zbytkový proud (pøiblinì 20 µA pro napájení 5 V), V je napájecí napìtí, Fi je vstupní kmitoèet v MHz a DV je dìlicí pomìr dìlièe.
Osmibitové mikroøadièe COP800 Støednì výkonné øadièe jsou u National Semiconductor zastoupeny rodinou COP800, která nachází úspìnì pouití v: - automobilových systémech, - robotech, - telekomunikacích, - øízení stejnosmìrných a støídavých motorù, - øadièích klávesnic a modemù. Výrobce charakterizuje COP800 jako optimalizovanou na jejich hodnotu, tj. vysoký pomìr výkon/cena. Jako vzorek pro popis byl zvolen typ COP840C. Je to plnì statický monolitický mikroøadiè postavený na základì jádra spoleèného rodinì COP800. Jeho instrukèní cyklus je 1 µs a pøes 70 % instrukcí jsou jednobajtové a jednocyklové. Mimo procesorové jádro s modifikovanou harvardskou architekturou jsou na èipu pamìti ROM, RWM, øídicí obvody a periferní moduly (viz obr. 65). Programátorské schéma registrù na obrázku nezachycuje strukturu pøesnì, protoe registry kromì A a PC jsou mapovány v rámci bloku datové pamìti RWM podobnì jako øídicí registry periferií. Registry B a X mají funkci podobnou ukazateli SP, slouí jako ukazatele do pamìti RWM. Aritmetické operace se tedy neprovádìjí s obsahem A a B, ale s obsahem A a pamìového místa, na které B ukazuje. Instrukèní soubor umoòuje testovat, nastavit nebo nulovat libovolný bit pamìti. To znamená, e v registrech je moné pracovat s jednotlivými bity. Orientace na práci s ukazateli se projevila v sestavì adresových módù instrukèního souboru: - registrové nepøímé adresování je základní zpùsob. Operand v pamìti je adresován B nebo X, - registrové nepøímé adresování s automatickým inkrementováním nebo dekrementováním obsahu ukazatele. Jde o modifikaci pøedcházejícího zpùsobu. Obsah ukazatele je o 1 zvýen nebo sníen po provedení instrukce, - pøímé adresování - instrukce obsahuje adresu operandu, - bezprostøední - operand je obsaen v instrukci, - relativní - pouze pro skokové instrukce. Zdrojem synchronizaèních impulzù pro COP840C je oscilátor, který lze volit mezi RC, krystalovým nebo vnìjím. Pomìrnì vysoký kmitoèet (a 20 MHz) je dìlen 10 Stanislav Pechal: Monolitické mikropoèítaèe - BEN technická literatura
137
138
Stanislav Pechal: Monolitické mikropoèítaèe - BEN technická literatura
Obr. 65 Blokové schéma COP840C
'(.2'e5 ,16758.&Ë
36:
&175/
63
;
%
$/8
'
/
9é6783
Ë=(1Ë +$/7
*(1 +2',1
96783 9é6783
5(*$'5(6<
3&
$
5:0
520
&.,
*
6.
3/86
,
96783
3 (58â(1Ë
62 0,&52:,5( 6,
%,729é ýË7$ý ý$629$ý
96783 9é6783
5(6(7
Stanislav Pechal: Monolitické mikropoèítaèe - BEN technická literatura
139
,
&/.
5(*,675
326
Obr. 66 Blokové schéma zapojení COP840C v ROMLESS reimu
,
,
'
&/.
5(*,675
'
'
326
&/.
5(*,675
326
'
,
&23&
1È+5$'$ ' %5$1 ,
5(*
&(
2(
(3520
&/.
5(*
ýË7$ý
&/5
08;
08;
nebo 20, aby byla vytvoøena èasová základna instrukèního cyklu. Z periferních modulù je sériové rozhraní zastoupeno modulem MICROWIRE/PLUS. Je to synchronní obousmìrné rozhraní s velmi jednoduchou blokovou strukturou, které má slouit k pøipojení externích periferií - napø. A/D pøevodníku, øadièe displejù, pamìti EEPROM apod. Rozhraní vyuívá 3 vodièe - výstup sériových dat (SO), vstup sériových dat (SI) a zdroje synchronizace pro posuv (SK). 16bitový èítaè/èasovaè dokáe pracovat v rùzných reimech: - èasovaè s automatickým obnovením obsahu z 16bitového registru, - 16bitový èítaè vnìjích událostí, - èasovaè s 16bitovým záchytným registrem. Øadiè pøeruení obsluhuje ádosti z vnìjího zdroje signálu, z jednotky èítaèe/èasovaèe nebo tzv. softwarové pøeruení. Velmi zajímavý je systém pracovních reimù mikroøadièe COP840C. Standardní je jednoèipový reim, v nìm je vyuívána vnitøní pamì programu o velikosti 2 KB. Pro ladìní a roziøování pamìti nad 2 KB je moné pøepnout mikroøadiè do tzv. ROM-less reimu. Je-li v prùbìhu RESET signálu vývod D2 dren na úrovni log. 0, zaène COP840C vybírat instrukce z vnìjí pamìti, která mùe mít a 32 KB. Tato pamì je ale pøipojena sloitým zpùsobem a informace jsou z ní vybírány pomocí posuvných registrù a dalích pomocných obvodù (viz obr. 66). Hlavním dùvodem tohoto øeení je malý poèet vývodù pozdra (28), které by nevystaèily na pøipojení externí pamìti a souèasnì na ovládání øízeného zaøízení. V uvedeném zapojení je poèet vstupních/ výstupních vývodù plnì zachován. Firma National Semiconductor povauje za perspektivní pøedevím rodinu 8bitových mikroøadièù, v ní se objevují stále nové typy. Vylepení se týkají nejen technologických postupù a obvodového zapojení, ale roziøuje se i poèet rùzných periferních modulù. Mezi nové moduly, které se objevily v poslední dobì patøí napø.: - øadiè sbìrnice CAN odpovídající specifikaci sbìrnice CAN 2.0 èást B, - Brown-out detektor monitoruje napájecí napìtí a komparuje je s minimálním definovaným napìtím. Je navren tak, aby provedl RESET, jestlie napájecí napìtí poklesne pod hlídanou mez. Pro zaøízení, v nich se pøedpokládá práce s irím rozsahem napájecího napìtí, je nutné Brown-out detektor pøi programování obvodu vypnout, - generátor skupin impulzù je modul umoòující vysílat z mikroøadièe série impulzù. Dobu periody a poèet vyslaných pulzù je moné nastavit v registrech modulu. Generuje pulzy se støídou 1 : 1, - Hardwarová násobièka a dìlièka provádí operace násobení v rozsahu 1 a 2 bajty pro operandy a 3 bajty pro výsledek. Pøi dìlení je èíslo o rozsahu 3 bajty dìleno èíslem dvoubajtovým a výsledek je rovnì dvoubajtový. Pro zpracování analogového signálu mohou být mikroøadièe COP800 vybaveny moduly od nejjednoduího analogového komparátoru a po komplexní analogový funkèní blok. - komparátor je reprezentován jednoduchým diferenèním komparátorem s typickým ofsetem asi 10 mV. Výstup komparátoru je moné pøivést na jeden z vývodù mikroøadièe. Celý komparátor lze programovì zapnout nebo vypnout, - A/D pøevodník je osmibitový s postupnou aproximací,
140
Stanislav Pechal: Monolitické mikropoèítaèe - BEN technická literatura