Z80 - SIO U 856
################# __________
D0 <--->| 40 12 |<---- RxDA
D1 <--->| 1 | ____
D2 <--->| 39 13 |<---- RxCA
D3 <--->| 2 15 |----> TxDA K
D4 <--->| 38 | ____ A
D5 <--->| 3 14 |<---- TxCA N
D6 <--->| 37 | _____ Á
D7 <--->| 4 11 |<---- SYNCA L
| | ______
RESET ---->| 21 10 |<---> W/RDYA A
_ | | ____
B/A SEL ---->| 34 17 |----> RTSA -
_ | | ____ RIADENIE
C/D SEL ---->| 33 18 |<---- CTSA -
__ | | ____
CE ---->| 35 16 |----> DTRA -
__ | | ____ MODEMU
M1 ---->| 8 19 |<---- DCDA -
____ | |
IORQ ---->| 36 |
__ | 28 |<---- RxDB
RD ---->| 32 27 |<---- RxTxCB K
Ucc ---->| 9 26 |----> TxDB A
Uss ---->| 31 | _____ N
CP ---->| 20 29 |<---> SYNCB Á
IEI ---->| 6 | ______ L
IEO <----| 7 30 |----> W/RDYB
___ | | ____ B
INT <----| 5 24 |----> RSTB -
| | ____ RIADENIE
| 23 |<---- CSTB -
| | ____
| 25 |----> DRTB -
| | ____ MODEMU
| 22 |<---- DCDB -
|__________|
_
B/A SEL voľba kanálu A alebo B; 0-port A , 1-port B; pripája
_ sa na adresný vodič A0
C/D SEL rozlíšenie riadiaceho a datového slova;
__ 0-datové slovo; 1-riadiace slovo; pripája sa na A1
CE chip selekt; získa sa dekódovaním A2...A7
CP hodiny - úroveň 5V; slúži na vnútornú synchronizáciu
__
M1 od CPU; slúži na synchronizáciu logiky prerušenia
____ __
IORQ _ signál _od CPU__ktorý v spojení so signálmi PIO CE,
C/D SEL, B/A SEL RD slúži na rozpoznanie prenosu dát
__medzi CPU a SIO. Úroveň L spolu v spojení so signálom
M1 znamená, že CPU potvrdzuje požiadavku na prerušenie
__ cez jeden z kanálov. __ _ _ ____
RD v spojení so signálmi CE,C/D SEL,B/A SEL a IORQ riadi
prenos dat od SIO k CPU.
______ ______
W/RDYA, W/RDYB WAIT/READY A,B
____ ____
CTSA,CTSB clear to send A,B - úroveň L uvoľňuje vysielanie.
Vstupy sú opatrené Schmittovými klopnými obvodmi,
takže môžu spracovávať signály s veľkými nástupnými
____ ____ hranami. ___
DCDA,DCDB tieto vstupy sú modemovými vstupmi podobné CTS,
rozdiel je v tom, že môžu byť používané k uvoľneniu
prijímača.
RxDA,RxDB datový vstup pri sériovom prenose
TxDA,TxDB datový výstup pri sériovom prenose
____ ____
RxCB,RxCA vstup hodín (receiver)Pri asynchrónnej prevádzke možno použiť. Taktovací kmitočet má
byť 1,16,32, alebo 64 krát väčší ako prenosová Baudova rýchlosť.
___
Nástupnou hranou signálu RxC budú data na vstupe RxD, zapísané
do registru prijímača.Vstupy môžu byť priamo riadené cez CTC-Z80
Vstupy sú opatrené Schmitt. klopnými obvodmi, preto niesú žiadne
požiadavky, týkajúce sa nábežnej, resp. zostupnej hrany.
____ ____
RxCB a TxCB sú paralélne prepojené.
____ ____
TxCA,TxCB vstup hodín; rovnaké podmienky ako na prijímacej
strane. Treba dať pozor, že taktovacia frekfencia
korenšpondujúcich vysielačov a prijímačov musí sa
____ ____ zhodne naprogramovať.
RTSA,RTSB tieto výstupy slúžia na oznámenie požiadavky
vysielania. RTS signál bude 0, keď RTS bit bude
nastavený. V asynchrónnej prevádzke bude RTS bit
zosadený, vtedy RTS=H, čo znamená, že register
vysielača je prázdny. V synchronnej prevádzke bude
____ ____ RTS výstup priamo stavom RTS bitu
DTRA,DTRB tieto výstupy sledujú stav bitu DTR (data terminal
ready)
_____ _____
SYNCA,SYNCB synchronizácia A,B. Môžu byť použité ako vstupy,
alebo ako výstupy. V asynchrónnom prijímacom móde
sú vstupy podobné CTS a DCD DT CT
^ |
| v
| _______ _____
_!_|IIIIIII| | |
| |regist.|<-----------|_____|
| |vysiel.| ^
v |_______| __|__
_ ^ /\ ________ | | ____
genero-| | | || | |--->| |<---> SYNC
vanie | | | || |riadiaci|--->| r | ____ _____
CRC | | | || |register|--->| i |----> WAIT/READY
kódu |_| | || |________|--->| a |
|____| || /\ | d | ___
vnútorná || || | e |----> RTS
<==============||=====||=======>| n |
zbernica /\ /\ | i | ___
|| || | e |<---- CTS
|| __||___ | | ___
|| |stavový|<---| |----> DTR
|| |regist.|<---| | ___
|| |_______|<---| |<---- DCD
|| | |
|| | |
_______||_______________| |
| || |_____|
_ ___||__
kontro-| | |regist.|
la | | |prijím.| _____
CRC | | | | | |
kódu |_|<-|LLLLLLL|-+--------->| |
^ | |_____|
| |
CR DRSIO obsahuje dva kanály A,B pre synchrónnu, alebo asynchrónnu
prevádzku. Vo výstupnej prevádzke bude od CPU dodané 8-bitové
paralélne data vysielať sériove po bitoch, čiastočne, alebo
úplne, s alebo bez prídavných riadiacich informácií. Časový
priebeh sériového výstupu možno ovplyvňovať programovaním,
taktovacími a riadiacimi signálmi. Sériové data budú skladané do
bajtov. Kanál obsahuje sériový datový vstup DR a výstup DT,
jeden prijímačový a vysielací taktovací vstup CR,CT. Register
prijímača obsahuje ešte prídavný 3-bitový pomocný register na
zapamätanie. Register vysielača má jeden 1-bajtový register.
Pre rozpoznanie chyby pri synchrónne prijímaných alebo vysiela-
ných datách možno vytvoriť 16 miestne cyklické redundantné
skúšobné kódové slovo (CRC), ktoré sa na konci prenosu dát
porovnáva s rovnako vytvoreným kódovým slovom na protipólovej
stanici.
Asynchrónne prijímané data budú časované v jednotlivých alebo
viacnásobných periódach hodín prijímača. V synchrónnej prevádzke
sú hodiny prijímača a vysielača identické. Začiatok datového
prenosu bude označený synchronizačnými znakmi pred datovým
blokom (vnútorná synchronizácia), alebo prídavným riadiacim
signálom SYNC (externá synchronizácia).
Riadiacimi signálmi pre modem CTS a DCD možno vysielanie, alebo
prijímanie uvoľniť resp. zablokovať. Oznamovacie signály RTS
a DTR možno vysielať z CPU. V prípade prispôsobenia prenosovej
rýchlosti periférie ku CPU sa vytvorí pre kanál signál WAIT.
Nastavenie prevádzky kanálu sa deje pomocou 8-bitového riadiac.
registra. Prevádzkové stavy prenosu môžme získať testovaním
troch stavových signálov.
DRUHY PREVÁDZKY
ASYNCHRNNE VYSIELANIE
8 bitov vysielaných dát bude opatrených štartovacím bitom "0",
1, 1 1/2,2 bit-čas,stopbitom a prípadne voleným paritným bitom
__ _____ _____ _____ _____
|start| | | |parit|stop
| bit | D0 |<--->| D7 | bit |bit
|_____|_____| |_____|_____|
Jednotlivé bity informačných častí majú právoplatne prijaté
miesto. Časovanie je udané vysielacími hodinami CT, ktoré možno
faktorom 16,32, alebo 64 deliť. Tieto vlastnosti sú určené
programovaním riadiaceho registra. Sériový výstup začina štart-
bitom ak čo len jeden znak je zapísaný v registri vysielača
a ak je povolené vysielanie. Datové bity nasledujú za sebou
v programových časových okamihoch,synchrónne so zostupnou hranou
vysielacích hodín CT.
Výstup znakov móžé CPU zabezpečiť buď kontrolou stavového reg.
metódou prerušenia a riadením WAIT.
Pri metóde prerušenia bude CPU prerušený od SIO pri vyprázdnení
výstupného registra, za predpokladu, že vyvolanie požiadavky na
prerušenie bude povolené. Keď spojíme výstup WAIT obvodu SIO
so vstupom WAIT na CPU, možno programovaním riadiaceho registra
1 pripraviť, ža v čase, v ktorom je register vysielača plný,
bude CPU zotrvávať v stave WAIT.
ASYNCHRNNY PRÍJEM
Sériove prijímané znaky sa zapamätávajú bajtove v registri
prijímača. Nastavenie druhu prevádzky odpovedá nastaveniu
vysielacej časti. (paritný a stop bit)
Ďaľšie prevádzkové parametre obsahuje riadiaci register 3:
-uvoľnenie prijímania RE (receiver enable) D0
-počet spolusúvisiacich prijímaných bitov D7,D6
Po naprogramovaní bude kanál nastavený na prijímanie. Preto
prvá zostupná hrana na sériovom datovom vstupe bude braná ako
začiatok štart-bitu.
Približne v strede času bitu bude tento potvrdený (časovanie
s CR). Prijímačový register móže zobrať až 4 bajty, skór než ich
CPU prečíta. Vstup dat do CPU možno urobiť trojako:
-testovaním stavového registra 0 sa zistí, či vo vstupnom
registri sa nachádza aspoň jeden znak.
-možno vyhodnotiť požiadavku na prerušenie, ktoré bude vyvolané
hneď po príjme prvého znaku, alebo po príjme každého znaku.
-pomocou výstupu WAIT obvodu SIO možno podržať CPU v stave WAIT
a cyklický vstup sériovej informácie je možné blokom inštrukcií
spracovať.
Požiadavky na prerušenie môžu byť vyvolané okrem riadenia vstupu
aj pri zistení chyby prenášaných znakov. Patria sem:
-chyba parity; chyba tvaru slova pri odlišnej frekfencii
vysielača resp. prijímača alebo pri väčšom počte bitových miest.
-preplnenie registra prijímača, keď CPU-vstup má prijať viac ako
4 znaky za sebou.
V riadiacom registri 2 pre celý SIO zapísaný interrupt vektor
bude troma bitmi V1,V2,V3 doplnený informáciou, ktorá dáva
rozlíšenie kanálu A,B a druhu prerušenia.
Presná príčina chybového prerušenia sa určí testovaním stavového
registra 1 (D4,D5,D6)
SYNCHRNNE VYSIELANIE
V synchrónnom prenose možno začiatok datového bloku ohlásiť buď
1-bajtovým (MONO SYNC-MODE) alebo 2-bajtovým (BI SYNC-MODE)
synchronizačnými znakmi, alebo externým riadiacim signálom.
_____________________________________________
MONO SYNC | SYN | DATEN | CKC 1 | CKC 2 |
|_______|_____________________|_______|_______|
_____________________________________________
BI SYNC | SYN 1 | SYN 2 | DATEN | CKC 1 | CKC 2 |
|_______|_______|_____________|_______|_______|
_____________________________________________
EXTER. | DATEN | CRC 1 | CRC 2 |
SYNCHR. |_____________________________|_______|_______|Po naprogramivaní synchronyzačného módu v riadiacom registri 4
a synchronizačných znakov v riadiacom registri 6 a 7 a po
uvoľnení vysielania sa začne výstup synchronizačných znakov.
Na to nastáva v normálnej prevádzke výstup dat z registra
vysielača. Striedanie bitov nasleduje zostupnou hranou vysielača
taktovacích hodín CT. Pri externej synchronizácii odpadajú
synchronizačné znaky a sériový výstup dát začína zostupnou
hranou externého signálu SYNC. Pre riadenie výstupu dat z CPU
do SIO platia rovnaké možnosti ako pri asynchrónnej prevádzke.
Ak plnenie vysielacieho registra zo strany CPU nebude dostatočne
rýchle, nasleduje vedľa požiadavky na prerušenie automatický
výstup ďaľších synchronizačných znakov, keď kontrola chyby CRC
nebude nastavená. Kontrolu chyby možno zapojiť programovaním
riadiaceho registra 5 (D0,D2)
Toto nastavenie je tak dlho platné, že každý vysielaný znak bude
v 16-bitovom chybovom kódovom stave. (DLC alebo CRC-16-NORM)
započítaný a na konci prenosu dat (pri prázdnom registri
vysielača) automaticky vyslaný.
Chybové kódové slovo je tvorené v 16-bitovom posuvnom registri
ktorý pred výstupom dat sa nastaví na 0000H a každý vyslaný bit
bude na viacerých miestach zapísaný cez hradlo (antivalenčné)
Na prijímacej strane bude prevedená kontrola porovnaním
prijatého chybového kódového slova na rovnaký spôsob chybovým
kódovým slovom v prijímači.
SDLC FORMÁT
(platí k synchrónnemu príjmu)Zvláštnu formu BI SYNC datového formátu predstavuje SDLC formát.
Datový blok je uzavretý spredu i zozadu 1 bajtovým príznakom
s kódom 7EH.Za počiatočným flagom možno ako synchronizačné znaky
udať adresu bloku dát, ktorý je nutné vo vyhľadávacom režime
vyhľadať (alebo adresu tohto začiatku viz. *)
Prerušenie neplatného prenosu (ABORT) bude automatické.
SYNCHRNNY PRÍJEM
Po naprogramovaní synchrónnej prijímacej prevádzky
(synchronizačný mód, ynchronizačné znaky, uvoľnenie prijímania)
bude prijímací kanál vo vyhľadávacom móde, v ktorom u MONO resp.
BI SYNC MODE bude čakať na stretnutie s naprogramovným
synchronizačným znakom (8-bit alebo 16-bit). Po objavení
synchronizačného znaku sa na vývode SYNC kánálu objaví 0 impulz
(pri internom synchronizačnom móde pósobí ako výstup)
Potom nasleduje vstup dat bitovo nástupnou hranou prijímacích
hodín CR.
V externom synchronizačnom mode (SYNC pósobí ako vstup) bude
vstup dat so signálom 0 na SYNC vstupe odštartovaný.
Presun dat z registra prijímača do CPU možno previesť nasledovne
-prerušením pri zmene stavu (napr. vyhľadávanie synch. znaku)
-prerušením pri prvom prijatom znaku
-prerušením pri každom prijatom znaku
-systémom testovania alebo WAIT-riadením
?
Tvorenie CRC chybového kódu zahrňa všetky znaky, ktoré po
uvoľnení (riadiaci register 3/D3) budú prijímané. Po spätnom
vypočítaní CRC sa porovná automaticky s CRC kódovým slovom
dodaným od vysielača.
Výsledok porovnania bude označený oddelene pre obidva bajty
CRC slova v stavovom registri 1 (D6). Chyba v porovnaní môže
vyvolať požiadavku na prerušenie.
8-13 násobným opakovaním znaku 1 rozpoznané.
* Vedľa redundantného datového kódovania pracuje CRC kontrola
podobne ako v iných synch. modoch.Rozdiel je v počiatočnom stave
CRC posuvného registra FFFFH