Mikrořadiče ZiLOG Z8 se u nás objevily ve druhé polovině 80tých let poté, co polovodičový průmysl NDR na přelomu sedmdesátých a osmdesátých let převzal část výrobního programu amerického výrobce ZiLOG, Inc.. Po roce 1980 se objevily obvody Z80 a Z80A-CPU,DMA,PIO,SIO,CTC a DART, označované jako UA8xx pro kmitočet 4 MHz, UBxx pro kmitočet 2,5 MHz a VBxx pro kmitočet 2,5 MHz a rozšířený teplotní rozsah. Pro amatérské použití se vyráběly IO S880 pro kmitočet 1 MHz. Po nich následovaly 16ti bitové CPU Z8001,2,3 a 4 a další obvody pro sběrnici Z-BUS, označované jako UB80xx a po roce 1985 osmibitové mikrořadiče Z86xx pod označením UB, UC, UD88xx, podle hodinového kmitočtu. Základní typ mikrořadiče v pouzdru DIL40 byl vybaven vnitřní ROM 2/4 kB nebo byl bez paměti. Vývojová varianta v pouzdru QIL64 měla doplňkové vývody pro připojení vnější paměti ROM či EPROM 2/4kB. MCU však mohl adresovat za hranicí vnitřní ROM pomocí portů 1 a 0 dva adresové prostory, jeden pro program a data, druhý pouze pro data. Tedy 2x62kB / 2x60kB. V případě odpojení vnitřní ROM byla adresace prováděna od nuly, tedy dva prostory
2x64kB. Na tehdejší dobu obrovský adresovací prostor, Z8 však nebyl předurčen pro funkci centrálního procesoru, ale především k řešení malých úloh a např. koncernový podnik ROBOTRON jej montoval do svých tiskáren. Jednou z nich byla tepená tiskárna tisknoucí na faxový papír a
komunikující přes rozhraní V.24, po záměně šuplíčku CENTRONICS. Žádná velká sláva, 64 znaků na řádek v neproporcionálním písmu, ale byla malá, tichá a za tisícovku. Vadná byla k mání za 150 Kčs. MCU a EPROM 2kB byly v paticích, což byla trefa. Tehdy jsem dělal na počítači SHARP MZ800 s operačním systémem CP/M 2.2 a kdo zná šarpa, dobře ví, že pro kódování znaků používá několik odlišných kódů, vzdáleně připomínající ASCII. Tiskárna-ploter 1P16 má řídící kód takový, tiskárna
jehličková MK80 makový a tiskárny ostatních výrobců onaký, většinou EPSON. Pro konvertor, který by vyřešil mé problémy s většinou tiskáren a převodem paralelního rozhraní na sériové se obvod UB8870 docela dobře hodil. Obsahoval sice ROM ve které byl malý BASIC s německými příkazy,
ale ROMka se dala odpojit. Ostatně tak obvod makal i v tiskárně. K disposici byl adresovací prostor 4kB pro program a data, 4kB pro data, UART, 2xTIMER, řadič přerušení a 12 I/O pro ENTRONICS. Vše ale nakonec zhatil křížový asembler pro Z8, který se mi pod CP/M nepodařilo rozjet. Nakonec jsem použil Z80 a asembler MACRO 80. Program jsem vždy po zapnutí nahrál z diskety do RAM přes CENTRONICS. A MCU i EPROM 2 kB skončily zpátky v tiskárně.
S příchodem Z8F Encore se situace radikálně změnila. ROMku nahradila FLASHka v rozsahu 2-64kB a původních 236 registrů sada RAM od 512 do 3840 bajtů. Počet periferií se zvětšil o nové druhy, u stávajících se zvětšil počet a možnosti, přibyly AD a DA převodníky. Rozšířil se instrukční soubor o nové instrukce, u stávajících došlo k rozšíření možností, zejména adresovacích režimů. A zde se nachází kámen úrazu v podobě dvou relikvií a to instrukcí pro obsluhu externí paměti dat. O tomto paměťovém prostoru sice ZiLOGové hovoří, ale v zápětí upozorňují na skutečnost, že obvody Z8F vnější paměť pro data nepodporují. Otázkou zůstává, co se stane, když bude taková instrukce použita. Při čtení LDE či LDEI ji bude CPU buď ignorovat nebo načte data do příslušného registru v podobě osmi jedniček, osmi nul nebo náhodné hodnoty. Jestli v případě instrukce LDEI provede zvětšení adresovacího registru o jedničku je otázkou. V případě zápisu do vnější paměti pro data však mohou mít instrukce nejen nulový účinek, ale také těžko předvídatelné důsledky. Tohle nikdo neví. Proto je vhodné se těmto pozůstatkům doby minulé raději vyhnout. S příchodem nového mikrořadiče se objevily i vývojové kity pro jednotlivé řady. Věc hezká, ale za cenu, která hezká rozhodně není. Dvanáct stovek je prostě moc. Na ceně se totiž rozhodující měrou podílí USB programovací kabel za 750 Kčs. Uvnitř pouzdra je totiž namačkán mikropočítač, kterému vévodí mikroprocesor eZ80 a dalších šest IO s celkovým počtem okolo pěti set vývodů. Zbytek kitu je vlastně za cenu součástek. To byla ta špatná zpráva. A teď ta dobrá. Vývojový kit je věc, kterou uživatel potřebuje pouze k tomu, aby konečně pochopil, že ji vůbec nepotřebuje. Výhody vývojového kitu vyniknou při použití vývojové základny, do které se modul připojí. Ta je za 5000,-. Našinci postačí když, si pořídí zapichovací bord, do kterého umístí říslušný MCU. Postačí Z8F0822 v pouzdru DIL28 s pamětí FLASH 8 kB a RAM 1 kB. Dále stabilizátor 3,3 V velikosti KC307 a několik odporů a blokovacích kondenzátorů. K tomu síťový stabilizovaný adaptér 5V z kontejnerových zásob. Poslední záležitostí je náhrada USB programovacího kabelu. Je možné vyrobit za 45 Kčs a jeden den práce kabel s připojením na COM, a nebo objednat za 45 Kčs a měsíc čekání na zásilku z rudé Číny kabel s připojením na USB. Celkové materiálové náklady při zakoupení dvou MCU a dvou zapichovacích bordů, které je nutno přirazit k sobě, činí u společnosti ECOM asi 250 Kčs. Pro vývoj aplikace není třeba pořizovat žádné vývojové moduly jako to dělají Arduinisté, kteří si pořídí modul ARDUINO UNO, DUO, TRE (Karel nese asi thé) a potom ho dráty propojí se zapichovacím bordem. Místo toho, aby si za pár pětek koupily ATMELácký šváb a zapíchli ho doprostřed zkušební desky. Vše proto, aby rozblikali červenou LED, obvyklá to činnost Arduinistů. Přestože jsou dnes k mání Arduina s MCU Z8F nebo Z16F, od společností ZiLOG, WTA a dalších, nejsou zapotřebí. Vývoj zapojení a odlaďení programu se provádí přímo na zkušební desce a přímo na čipu.Teprve po když je ukončen vývoj HW a SW dojde k přenosu aplikace do finální podoby na DPS. K vývoji SW slouží program Zilog Developer Studio II - ZDS2. Vývojové prostředí jek disposici zdarma po registraci na
www.zilog.com. Vyžaduje OS WIN-98 a vyšší a je dostupné též pro OS LINUX. Práce s ním a možnosti jsou podobné jako v případě vývojových prostředí jiných výrobců mikroprocesorů a mikrořadičů a umožňuje programování v makroasembleru a jazyku C++.
Vašek