Z80 SIO
Z80 SIO (Z80 Serial Input/Output) je integrovaný obvod z rodiny procesoru Z80. Jedná se obvod poskytující dvě sériové brány (označované jako brána A a brána B). Protože se jedná obvod z rodiny procesoru Z80, umožňuje plně využívat možnosti přerušovacího systému procesoru Z80. Podobný obvod v rodině procesoru Intel je obvod Intel 8251.

Obvod je použit např. společně s obvody WD2797, Z80 CTC a Z80 PIO v univerzální I/O kartě EXIO k počítačům Sharp. Může také být základem interface MIDI.

Varianty obvodu 
Obvod existuje v několika provedeních, Z80 SIO/0, Z80 SIO/1 a Z80 SIO/2 jsou provedeny ve 40pinovém pouzdru DIP, Z80 SIO/3 ve 44pinovém pouzdru QFP a Z80 SIO/4 ve 44pinovém pouzdru PLCC.

Existence tří variant obvodu v pouzdru DIP je způsobena nedostatečným počtem pinů v těchto pouzdrech, tyto varianty se tak vzájemně liší tím, které signály brány B jsou vyvedeny:
 Z80 SIO/0 má vyvedeny všechny signály brány B s tím, že signály /TxCB a /RxCB sdílejí stejný pin,
 Z80 SIO/1 nemá vyveden signál /DTRB,
 Z80 SIO/2 nemá vyveden signál /SYNCB.

Režimy sériových bran 
Brány mohou pracovat v následujících režimech:
 režim pollingu,
 režim přenosu řízený přerušením,
 blokový režim přenosu.

Specifikace sériového přenosu 
 vstupy a výstupy v logice TTL,
 duplexní přenos,
 5, 6, 7 nebo 8 bitů na znak,
 1, 1,5, nebo 2 stop bity,
 sudá, lichá, nebo žádná parita.

Konfigurace obvodu 
Obvod je možné konfigurovat pomocí osmi registrů pro zápis a stav obvodu může být čten pomocí tří registrů pro čtení.

Kromě zápisu do registru WR0 je zápis do registrů prováděn zápisem dvou po jdoucích bajtů, kdy první bajt obsahuje číslo registru, pro který je určen následující bajt. Stejným způsobem jsou vybírány registry pro čtení. Pokud neproběhne výběr registru pro čtení, je čten registr RR0.

Přerušení 
Obvod může generovat přerušení při následujících událostech:
 při přijmutí prvního znaku,
 při přijmutí každého znaku,
 při splnění speciálních podmínek.

Priorita událostí pro generování přerušení:
 příjem znaku/prvního znaku kanálem A,
 vyslání všech znaků kanálem A,
 výskyt speciální podmínky vzniku přerušení na kanále A,
 příjem znaku/prvního znaku kanálem B,
 vyslání všech znaků kanálem B,
 výskyt speciální podmínky vzniku přerušení na kanále B.

Vektor přerušení je možné nastavit a číst pomocí registrů WR2 a RR2 pouze v řídicích registrech kanálu B.

Poznámky

Reference

Literatura

Externí odkazy 
 Zilog Z80 CPU Peripherals user manual na z80.info

Z80
Vstupně/výstupní obvody