Ďaľšia možnosť pozostáva v tom, že ako plné znaky sú použité
synchronizačné znaky. To má nasledujúci význam:
SIO obvod prerušuje, keď je nastavený bit "bufer vysielača
prázdny". Dozorom nad vnútorným programovým stavom rozpozná CPU,
že bol vyslaný uz posledný znak ku SIO. Tým SIO vysiela CRC,CPU
zhadzuje príkazom bit S/N (WR0) a používa prerušenie zhodením
oznamu pre prerušenie vysielania. (to bude dosiahnuté, keď SIO
žiadne ďaľšie data nepožaduje.) Prevedenie SENDERUNTER spôsobí
začiatok vysielania CRC informácie. Práve tak SIO spôsobí
extern/status interrupt, keď bit S/N je nastavený. CPU urobí
zadosť tomuto prerušeniu, v ktorom plné znaky ležia v bufri
vysielača a bit pre extern/st. interrupt je zhodený.
Týmto spôsobom sa dosiahne , že bude CRC vsunuté namiesto
synchronizačných znakov ako plnoznaky. Treba dať pritom pozor,že
SIO odpovedá prerušením pri prázdnom bufri vysielača, keď CRC
bolo celkom vyslané a že plnoznaky sú naplnené v vysielačovom
posuvnom registri. Potom môže CPU vysielať ďaľšie plnoznaky,
alebo synchronizačné znaky. Nastavením bitu uvoľnenie vysielania
CRC (WR5, D0) bude inicializované prepočítavanie CRC, keď
prostredníctvom programu bude vyslaný prvý znak ku SIO.Je vhodné
pred každou správou, resp. pred uvoľnením vysielania CRC, vyslať
viaceré synchr. znaky, hoci obvod SIO automatocky vsunie jeden
alebo dva synchr. znaky. Tým je zabezpečené, že prijímač bude
správne zosynchronizovaný. S určeným znakom spočítaným z CRC
možno výpočet CRC ukončiť, alebo v ňom zotrvať, vtedy sa môže
bit pre uvoľnenie vysielania CRC v každom čase meniť. Keď
vysielací znak bude prenesený z bufra vysielača do posuvného
registra vysielača, potom je nutné v tomto časovom okamihu
želaný stav tohto bitu pre uvoľnenie vysielania CRC predložiť.
Aby sa to dosiahlo, musí CPU bit pre uvoľnenie vysielania CRC
pevne určiť, prv než sú dta ku SIO odoslané.
V BI SYNC protokole je transparentný mód udržovaný, čím je možné
aby vysielač CRC bolo možno v každom čase uvoľniť, prípadne
zablokovať a v ďaľšom môžu byť vsunuté 16 bitové synchr. znaky.
Zakončenie vysielania možno urobiť s SIO rôzne: tým rovno
zabezpečiť platnosť dat. Keď bude vysielač zablokovaný počas
prenosu dat alebo synchr. znakov, bude vysielanie týchto znakov
poporiadku ukončené. Nasledovne bude výstup vysielača na známku
zapnutý, namiesto CRC alebo synchr. znakov budú vyslané.
Ak vysielač bude zablokovaný, zostáva posledny znak v buferi
vysielača.Keď zablokovanie príde počas vysielania CRC,vysielanie
bude uzavreté 16 bit. informáciou, nasledujúcou synchr. znakmi
namiesto CRC. Takisto prerušenie môže byť programované zápisom
do odpovedajúceho riadiaceho registra. Informácie v buferi a v
posuvnom registri vysielača budú stratené.
Vo všetkých môdoch nasleduje najprv vyslanie najnižšieho bitu
LSB. To vyžaduje aby vysielacie data pri datových slovách s
menej ako 8 bitmi boli posunuté na prvú stranu tak aby najnižší
bit bol na úrovni D0. Ak dľžka slova činí 5 a menej bitov, musí
nasledovať odpovedajúce programovanie zápis. registra.
Stav ostatných nevyužitých bitov v datovom slove je irrelevantný
mimo naposledy spomínaného módu.
Keď bit pre uvoľnenie Extern/Status interrupts je nastavený,
vzniknú podmienky:
a) začiatok vysielania CRC
b) začiatok vysielania synchr. znakov
c) zmena vlastností vysielania (CTC)
Ak bit pre ovplyvnenie vektora je nastavený, nastáva prerušenie
s príslušným vektorom. Všetky prerušenia môžu byť zablokované,
keď sa má pracovať v Polingu alebo na základe programového
prevedenia sa možno prerušeniu vyhnúť.
                             PRÍJEM
Synchrónny príjem bude prevedený vo vzťahu k svojim podmienkam
podobne ako synchrónne vysielanie. Preto budú registre pre
špecifikáciu môdu vo väčšine prípadov používané takisto pre
prijímač ako aj pre vysielač. Prijímač ma za úlohu preniesť
správnu synchronizáciu vysielaných znakov a prúd vysielaných dat
jednorázove pripojiť ku ďaľšiemu spracovaniu. Pod tým sa rozumie
uvedenie parametrov parity,synchr.znakov (8,16 bit),CRC polynóm,
dľžka slova vo fáze inicálne. Synchronizačné znaky sú teda
zapísané v registroch WR6,WR7. Je treba upozorniť, že prijímač
bude uvoľnený až vtedy keď sú špecifikované všetky potrebné
parametre prijímača.Pritom musí byť najprv register WR4 naplnený
a až potom registre WR1,3,5,6 a 7. Po zosynchronizovaní budú
v posuvnom registri prijímača poskladané znaky preložené do
zásobníkovej pamäti prijímača. Odtiaľ môžu byť prečítané
prostredníctvom CPU. To sa môže udiať prostredníctvom Polingu
alebo viacerými prípadmi cez prerušenie. Sú tri možnosti
interrupt módu:
- prerušenie iba pri prvom znaku
- prerušenie pri každom znaku
- prerušenie pri špeciálnych podmienkach príjmu
K prenosu bloku dát možno vo všeobecnosti zvoliť prvú možnosť,
t.j. stretnutie vopred určeného znaku v danom časovom okamihu.
Ak sú vysielané sporadické správy,volí sa druhá možnosť,s ktorou
možno reagovat na každý jednotlivý znak.
Tretia možnosť sa musí využívať v spojení s prvou možnosťou.
K zabezpečeniu želaného výpočtu CRC musí byť odpovedajúci bit
uvoľnenia jednoznačný prv, než znak naplní posuvný register.
SIO spočíta CRC s oneskorením 8 bitov, takže CPU má dostatok
času na určíté prenášané znaky reagovať.
V Módoch MONO SYNC, BI SYNC, EXTERN SYNC obsahuje bit pre CRC
prípadne formát chyby (RR1, D6) výsledok porovnania, avšak
o 16 bitové časové oneskorenie. (8 bit oneskorenie + 8 bit
posuvný čas pre CRC) a síce použitý na prenos z posuvného reg.
prijímača do bufru. Výsledok porovnania má byť 0, čo znamená,
že nebola chyba prenosu a CRC.
V SDLC mode začína prenos dát prvým znakom, ktorý nepredstavuje
flag, potom najmenej jeden flag (7EH) bol vyslaný, keď adresový
vyhľadávací kód je zablokovaný. Keď tento modus je uvoľnený,
musí flag buď programovanou adresou alebo všeobecnou adresou
nasledovať (FFH), prv než sa začne prenos dat. - Keď prerušenia
sú zablokované, prípadne pri Polingu, môže pohotovosť znakov
v bufri prijímača prostredníctvom zabezpečenia odpovedajúceho
bitu v čítacom registri RR0 nasledovať.
-Keď bol naprogramovaný CRC modus, môž nastať spustenie prenosu
bloku dat.
-keď dľžka prenosu informácie nie je známa pred prevedením možno
naprogramovať prerušenie na konci správy, pričom možno vychádzať
z programovej slučky. Prv než môže vzniknúť prerušenie
prostredníctvom prvého znaku nasledujúceho bloku dat, musí sa
inštrukciou pri prvom znaku zablokovať prerušenie.
-Flagy nebudú prenášané. Prenos prípadne vsunutých núl bude
automaticky vypustený
-keď je najmenej 7 jednotiek v pohotovosti, bude prerušenie
rozpoznané a vyrobený status interrupt, keď bolo preto uvoľnenie
Pritom bude nastavený bit Unterrechug/Abbiuch v RR0. Po preve-
dení príkazu "zhodenie extern/status interrupt" možno ďaľsie
prerušenie vyvolať, keď trvalé vystupovanie jednotiek sa končí.
V SDLC môde nasleduje riadenie CRC preskúšania prijímača
automaticky. Bajt, ktorý obsahuje bit pre koniec správy,obsahuje
výsledok CRC preskúšania. Ak bit pre CRC formát chybu nie je
nastavený, svedčí CRC o správnej platnosti správy. Špeciálne
preskúšanie bude ku SDLC kontrole pre stretnutie iba jednotiek
používané. Konečný výsledok musí byť 1D0FH.
Dľžka znaku sa môže hocikedy meniť. Ak sú riadiace a adresové
informácie zlúčené ako 8 bitové znaky, možno prijímač prepnúť
na menšiu dľžku znaku počas doby preberania prvého informačného
znaku. Avšak prepnutie musí nasledovať tak rýchlo, ako je to
možné, prv než želaný počet bitov je práve prijatý.
                               ***
Týmto sa končí popis pomocných obvodov systému Z80.
Prepis bol robený zo zle čitateľných materiálov,ktoré boli podľa
všetkého priamym prekladom z angličtiny a gramatická stavba
viet nebola kôli možnosti následných technických chýb upravovaná
Výskyt chýb v prepise nie je vylúčený!!!  (najmä u SIO)
Rád by som sa dozvedel ďaľše informácie o systéme s Z80, preto
ak máte záujem napíšte na adresu:
                Matej Čurko
                Výstavby 3
                04011 Košice
                                      Košice  20-24.2.1987