Vývojová doska na báze CPU Zilog Z80 a MCU Zilog Z8

Prečo?

Impulzom ku vzniku tejto vývojovej dosky bol dopodrobna rozobratý topic "NOVY MODEL SPECTRA" (link dostupný len registrovaným a prihláseným užívateľom) v konferencii Speccy na Pandora.cz.

Spojením sily starého-dobrého a overeného Z80 a pozitívnych vlastností novej rady Z8Encore! sa dá vytvoriť zaujímavý celok oplývajúci nevídanými možnosťami. V neposlednej rade možno vyzdvihnúť (zatiaľ nie úplne dokonalú) kompatibilitu s legendárnym ZX Spectrom.

Architektúra

Funkčné bloky dosky sú uvedené na nasledovnom blokovom diagrame:


Kliknite pre plný PDF

Na zabezpečenie jeho prehľadnosti nie sú znázornené tieto periférie:

Základom dosky je MCU Z8Encore!, ktorý riadi všetky ostatné časti dosky.
Po vlastnej inicializácii a počiatočnom nastavení portov (I2C, display, SRAM):
  1. uvedie Z80CPU do stavu RESET - všetky 3-state zbernice do Z, riadiace signály do Z
  2. naplní prvých 16kB SRAM zmysluplným kódom pre Z80CPU (v súčasnosti ROM ZX Spectra 48K)
  3. zinicializuje svoj interný čítač Timer0 ako generátor signálu prerušenia (/INT) pre Z80CPU (priebeh signálu totožný s ULA)
  4. uvoľní riadiace signály pre pamäť SRAM
  5. odovzdá riadenie zbernice Z80CPU
  6. ukončí reset Z80CPU (signál /RESET Z80CPU do úrovne log.1)

Z8Encore! riadi tieto zbernicové signály Z80CPU:

Z8Encore tiež riadi prístup Z80CPU do pamäti SRAM (signály /CS a /WR).
V úlohe zobrazovača je použitý grafický LCD display s rozlíšením 84*48 bodov (zhruba 1/3 bodov v horizontálnom smere a 1/4 bodov vo vertikálnom smere z rozlíšenia ZX Spectra).

Po inicializácii Z8Encore! vykonáva aktualizáciu informácií zobrazených na LCD displeji v stanovených intervaloch. Počas čítania infomácií so SRAM, je aktivovaný signál /BUSREQ Z80CPU. Vtedy Z80CPU uvoľní zbernice a umožní DMA kontroléru (v tomto prípade Z8Encore!) priamy prístup do SRAM. Na display sa zobrazuje kópia časti obrazových informácií, ktoré sú uložené v oblasti VRAM ZX Spectra (adresy posledných 6 riadkov).

Schéma

V súčasnej verzii schémy nie je zachytený MAX232 (štandardné katalógové zapojenie) pripojený k UART0 Z8Encore!

Schéma zapojenia vo formáte Eagle 4.09 je k dispozícii na stiahnutie. Pokiaľ nemáte nainštalovaný Eagle, stiahnite si schému v PDF alebo ako obrázok PNG.

Vyhotovenie

Prvá varianta je v súčasnosti realizovaná na univerzálnej DPS. Rozmiestnenie súčiastok je nasledovné.


Kliknite pre plný PDF

V archíve pre Eagle je pribalený aj autoroutovaný DPS (k dispozícii je aj náhľad v PNG).

Software

Software pre Z8Encore verzia 0.1 z 27.03.2004 (úplný projekt v ZDS II).

Galéria

Fotky:
  1. Protoyp dosky
  2. Plný vývojový systém
  3. Dva Zilogy
  4. Spustenie inicializácie
  5. Ukončenie inicializácie
  6. Z80CPU beží

Vývojové prostriedky

Na rozchodenie prototypu dual-Zilog dosky som použil tieto vývojové nástroje:

Možné/očakávané vylepšenia

  • Pripojenie MMC karty prostredníctom SPI ako pamäťového média pre sofware CPU Z80
  • Náhrada Z8F6401 za typ s viacerými vstupno/výstupnými bránami (eliminácia generátora adries z posuvných registrov)
  • Pridanie možnosti prístupu Z80CPU na periférie Z8Encore (na sériový port, infra, I2C, SPI, timery, ...) = Z8Encore v úlohe inteligentnej periférie.
  • Nejaké inteligentné stránkovanie pamäti (128k + CP/M) resp. plné využitie použitej 512kB SRAM
  • Iný spôsob zobrazovania (minimálne celý ZX Screen)
  • Podpora klávesnice (membrána alebo PS/2)

    Pripomienky a námety

    Popisovaná vývojová doska nie je zatiaľ vo finálnej verzii a predpokladám, že jej podoba bude konečná až po niekoľkých nasledujúcich mesiacoch. Svoje námety na vylepšenia prípadne otázky a pripomienky smerujte na môj e-mail.


    Posledná úprava: 14.04.2004