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 nevyužity. 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 použit 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řerušení

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 každé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 použit pro komunikaci s PC.

Obr. 5 Propojovací možnosti 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 spuště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

Rozložení součástek

Obr. 7 Rozložení součástek na hlavní desce. Číslování vývodů konektorů vylisované na jejich těle nemusí být správné.

Obr. 8 Rozložení 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. Protože max. rychlost vysílání a příjmu v synchronním režimu 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 použit 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říslušným vinutím motoru). Vstupy jsou udržová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 spouště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 udržová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říslušný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, protože na sloupcovém vodiči je napětí dané elektrickým propojením úrovně L a úrovně H na dvou výstupech portu B. Protože 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