Cvičný modul Z80
Základní popis
Celková koncepce
Cvičný modul je postaven na bázi obvodů Z80. Plně osazená deska obsahuje tyto základní obvody:
Jeden obvod Z80 PIO a oba obvody Z80 SIO jsou vyvedeny na konektory pro připojení přídavných zařízení a obvodů.
Obr. 1 Blokové schéma cvičného modulu
Bázové adresy periferních obvodů
Výběrové signály pro jednotlivé periferní obvody jsou generovány na základě dekódování adresních vodičů A3 A7. Vodiče A0 A2 jsou podle potřeby vyuívány jednotlivými IO nebo jsou nevyuity. Bázové adresy jednotlivých IO jsou v Tab. 1 .
Typ IO |
Bázová adresa |
Označení IO |
DMA0 |
88h |
U21 |
DMA1 |
90h |
U22 |
PIO0 |
80h |
U23 |
PIO1 |
A8h |
U36 |
SIO0 |
98h |
U35 |
SIO1 |
A0h |
U34 |
CTC0 |
B0h |
U33 |
CTC1 |
B8h |
U32 |
Tab. 1 Bázové adresy periferních obvodů
Blokové přenosy
Pro blokové přenosy lze pouít DMA kanály DMA0 a DMA1. Pro SIO0 a SIO1 lze dále vyuít vývody W/RDYB ve funkci WAIT synchronizují blokové přenosy, řízené procesorem při provádění instrukce OTIR nebo INIR.
Signál READY pro řízení kanálů DMA0 a DMA1 můe být generován různými zdroji. Jejich přepínání je řízeno vývody PB2 a PB3 obvodu PIO0 (viz Tab. 2). Je-li jako zdroj signálu pouit obvod PALPIO, musí být v patici P2 zasazen patřičně naprogramovaný GAL (16V8). Schematické uspořádání signálů pro blokové přenosy je na obr. 2 signály pro řízení blokových přenosů. na obrázku není respektována polarita signálů.
Obr. 2 Signály pro řízení blokových přenosů. Na obrázku není respektována polarita signálů.
stav výstupů PIO0:PB3,PB2 |
00 |
01 |
10 |
11 |
DMA0 |
PALPIO:DRQ |
SIO0:ARDY |
SIO0:ARDY |
SIO1:ARDY |
DMA1 |
SIO0:ARDY |
PALPIO:DRQ |
SIO1:ARDY |
SIO0:ARDY |
Tab. 2 Přepínání zdroje signálu READY pro DMA
PALPIO
PALPIO je GAL 16V8. Je určeno pro zpracování resp. generování signálů RDY a STB od PIO1. Dále generuje signál DRQ zavedený do přepínače zdrojů signálu READY pro DMA kanály.
Obr. 3 Vstupy a výstupy obvodu PALPIO
Priority přeruení
Signál DIR je výstup z PIO0:PB1 a určuje uspořádání prioritního řetězce. Signál IEO Ž IEI je předáván následujícím způsobem:
DIR=0: SIO0 Ž SIO1 Ž DMA0 Ž DMA1 Ž CTC0 Ž CTC1 Ž PIO0 Ž PIO1
DIR=1: SIO1 Ž SIO0 Ž DMA0 Ž DMA1 Ž CTC0 Ž CTC1 Ž PIO0 Ž PIO1
Priority přidělení sběrnice
Signál BAO Ž BAI je předáván z procesoru následujícím způsobem:
CPU Ž DMA0 Ž DMA1
Čítače
Propojení čítačů CTC0 a CTC1:
Část čítačů slouí jako generátory hodin RXTXCB pro SIO0 a SIO1. Ostatní vstupy a výstupy jsou vyvedeny na konektory.
Signály RXTXCA a RXTXCB jsou připojeny přímo na odpovídající vývod obvodů SIO0 a SIO1. Signály TRXCA a TRXCB jsou vyvedeny na konektory K1 a K2 pro připojení kodéru / dekodéru a budičů sériové linky.
Obr. 4 Propojení čítačů / časovačů CTC0 a CTC1
Budiče sériových kanálů
Kanál B kadého modulu je trvale vyveden přes budiče rozhraní RS232 na konektor CN12. Kanál A lze podle konfigurace připojit přes budiče RS232 na konektor CN11 nebo přes kodér, resp. dekodér (U1 resp U2 + U3, GAL 16V8 resp. 2´ 22V10) na konektor CN13 buď přímo, nebo přes budiče / přijímače symetrického vedení 75110PC a 75107PC. Vysílací a přijímací hodiny pro kanál A mohou být odvozeny ze signálů TRXCA resp. TRXCB nebo mohou být generovány kodérem a dekodérem.
Kanál B obvodu SIO1 je pouit pro komunikaci s PC.
Obr. 5 Propojovací monosti na desce budičů sériových kanálů
Mapa paměti
Adresování pamětí je řízeno vývodem PB0 obvodu PIO0. Tento vývod umoňuje mapovat adresy 0000 3FFF do paměti EPROM (PB0 = H) nebo RAM (PB0 = L). Výběrové signály pro paměti EPROM a řídicí signálu pro dynamické RAM jsou generovány obvodem PALPIO (GAL 16V8).
Po RESETU je na adresách 0000 3FFF namapována pamě EPROM. Přesouvací program postupně přemístí některé oblasti (s programem ZSLAP a CDOS) z EPROM do RAM. Následuje přepnutí paměti na adresách 0000 3FFF na RAM a přesun ZSLAP na adresu 0100. Po sputění se ZSLAP sám přesune do paměti pod program CDOS (viz popis tohoto programu).
Obr. 6 Mapa paměti v průběhu inicializace systému
Rozloení součástek
Obr. 7 Rozloení součástek na hlavní desce. Číslování vývodů konektorů vylisované na jejich těle nemusí být správné.
Obr. 8 Rozloení součástek na desce budičů sériových linek.
Synchronní přenos dat
Při synchronním přenosu jsou hodiny TxC a RxC generovány v obvodech GAL16V8 resp. GAL22V10. Na hodinový vstup obou GAL je zaveden signál 14 Mhz. Protoe max. rychlost vysílání a příjmu v synchronním reimu je pro Z80 SIO povolena 550 kHZ, musí být základní frekvence 14 Mhz dělena alespoň v poměru 1 : 32.
Zakódovaná data mohou být vysílána v úrovni TTL nebo po symetrické lince s budičem 75110PC; v tomto případě je na vstupu pouit převodník 75107PC pro převod ze symetrického signálu na úroveň TTL.
Pozn.: Hodinový signál pro GAL22V10 je zaváděn na jeho vstup z výstupu 13 obvodu GAL16V8.
Obr. 9 Uspořádání pro synchronní přenos dat
Připojení kávesnice Consul 262.3 (paralelní)
Klávesnice je připojena ke konektoru K3. Datové vodiče -D0 -D7 jsou připojeny na port A, signál STROBE z klávesnice je zaveden na pin SCI konektoru K3. Celkové propojení je znázorněno na Obr. 8.
Obr. 10 Připojení klávesnice Consul (paralelní)
Připojení klávesnice Consul 262.4 (sériová)
Klávesnice vysílá kód stisknuté klávesy po sériové lince ve formátu:
Obr. 11 Připojení sériové klávesnice Consul
Připojení Colorgrafu
Z Colorgrafu jsou vyvedeny signály pro přímé řízení krokových motorů. Aktivní úroveň je H (tj. při úrovni H teče proud přísluným vinutím motoru). Vstupy jsou udrovány na úrovni H pomocí kolektorových odporů zabudovaných přímo v Colorgrafu.
Signály z koncových spínačů jsou vyvedeny na konektor. Aktivní úroveň je L. Dále je na konektor vyveden signál pro spoutění pera.
Obr. 12 Připojení Colorgrafu na konektor PIO 1
Připojení maticové klávesnice
Maticová klávesnice 4´ 4 je připojena na PIO1. Vývody PB3, PB2, PB1 a PB0 jsou připojeny na jednotlivé řádky. Port B musí být naprogramován jako výstupní. Vývody PA3, PA2, PA1 a PA0 jsou připojeny na sloupce klávesnice. Port A musí být naprogramován jako vstupní. Na jednotlivých sloupcových vodičích je udrována úroveň H pomocí odporů 10k, připojených na +5V. Schematicky je připojení maticové klávesnice znázorněno na Obr. 13.
Obr. 13 Připojení maticové klávesnice
Poznámka: U Z80PIO nelze konfigurovat výstupní porty jako otevřené kolektory. Při současném stisku dvou tlačítek ve stejném sloupci dochází k nepřímému propojení přísluných řádkových vodičů. Jsou-li na těchto vodičích rozdílné logické úrovně, dochází ke zkratu a detekce stisknutých tlačítek nemůe nefungovat, protoe na sloupcovém vodiči je napětí dané elektrickým propojením úrovně L a úrovně H na dvou výstupech portu B. Protoe výstupy Z80PIO jsou v tomto případě nadměrně namáhány, je lépe současné stisky dvou a více tlačítek v jednom sloupci nepouívat.
Poslední změna stránky byla provedena 04.10.2001