Intel 8255
Author
Albert FloresIntel D8255 Rozložení pinů obvodu Intel 8255 Intel 8255 je integrovaný obvod z rodiny procesoru Intel, navržený pro procesor Intel 8085, používán byl ale i u procesorů Intel 8086 a jeho nástupců a u procesorů Zilog Z80. Jedná se obvod poskytující tři paralelní osmibitové brány (obvykle označované jako brána A, brána B a brána C). Podobným obvodem v rodině procesoru Z80 je obvod Z80 PIO.
Obvod je použit i v počítačích Amstrad CPC. Je také základem několika interfaců používaných u počítačů Sinclair ZX Spectrum a kompatibilních.
Režimy paralelních bran
Brány mohou pracovat v následujících režimech: * základní režim vstupní, * základní režim výstupní, * strobovaný režim vstupní, * strobovaný režim výstupní, * obousměrný strobovaný režim.
V základním režimu může pracovat kterákoli ze tří bran, brány mohou být nezávisle na sobě nastaveny jako výstupní nebo jako vstupní. U brány C je možné nezávisle na sobě nastavovat čtveřice bitů. +more Jsou-li brány nastaveny jako výstupní, data, která jsou poslána na jednotlivé brány, se zde objeví, jsou-li brány nastaveny jako vstupní, je čten aktuální stav příslušné brány.
V strobovaném režimu mohou pracovat pouze brány A a B, protože v tomto režimu používají i některé bity brány C jako signály STROBE a ACK. Pokud je v tomto režimu brána nastavena jako výstupní, po odeslání dat na bránu je automaticky generován signál STROBE, který periférii signalizuje, že jsou pro ni připravena data. +more Periférie potvrdí příjem dat aktivací signálu ACK. Po potvrzení příjmu obvod může vygenerovat signál INTR. Pokud je brána nastavena jako vstupní, obvod čeká na aktivaci signálu STROBE. Po jeho aktivaci přečte přítomná data a nastaví signál ACK. Podle nastavení obvodu se může opět vygenerovat signál INTR.
Obousměrný strobovaný režim je kombinací vstupního a výstupního strobovaného režimu. V tomto režimu může pracovat pouze brána A.
Využití bitů brány C ve strobovaných režimech brán A a B je uvedeno v následující tabulce:
režim brány A/B | brána A | brána B | |||
---|---|---|---|---|---|
bit brány C | vstupní | výstupní | obousměrný | vstupní | výstupní |
0 | INTR | INTR | |||
1 | ACK | STROBE | |||
2 | STROBE | ACK | |||
3 | INTR | INTR | INTR | ||
4 | STROBE | STROBE (z periférie) | |||
5 | ACK | ACK (z 8255) | |||
6 | ACK | ACK (z periférie) | |||
7 | STROBE | STROBE (z 8255) |
Ve strobovaném režimu bran A a B určuje nastavení některých bitů brány C, zda se bude generovat signál INTR či nikoliv. Pro bránu A je toto nastavováno bitem 6 pro vstupní režim a bitem 4 pro výstupní režim. +more V obousměrném režimu je tak možné nastavit nezávisle generování signálu pro vstupní data a výstupní data. Pro bránu B je povolování generování signálu INTR nastavováno bitem 2 brány C.
Konfigurace obvodu
Konfigurace obvodu probíhá pomocí konfigurační brány, která je společná pro všechny tři brány.
Nastavení režimu bran | ||||||||
---|---|---|---|---|---|---|---|---|
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
bit | 1 | režim brány A 00 - základní režim 01 - jednosměrný strobovaný režim 1x - obousměrný strobovaný režim | režim brány A 00 - základní režim 01 - jednosměrný strobovaný režim 1x - obousměrný strobovaný režim | brána A vstup/výstup 0 - výstup 1 - vstup | brána C (bity 4 - 7) vstup/výstup 0 - výstup 1 - vstup | režim brány B 0 - základní režim 1 - jednosměrný strobovaný režim | brána B vstup/výstup 0 - výstup 1 - vstup | brána C (bity 0 - 3) vstup/výstup 0 - výstup 1 - vstup |
Obvod umožňuje nezávislé nastavení jednotlivých bitů brány C. To je užitečné v případě, kdy se povoluje či zakazuje generování signálu INTR ve strobovaných režimech bran A a B.
Nezávislé nastavení jednotlivých bitů brány C | ||||||||
---|---|---|---|---|---|---|---|---|
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
bit | 0 | číslo nastavovaného bitu | číslo nastavovaného bitu | číslo nastavovaného bitu | hodnota bitu |
Analogické obvody
Tesla MHB8255A (Tesla Piešťany originál)MHB 8255 * MCY 7855 * NEC D8255AC-2 * NEC D8255AC-5 * Toshiba TMP8255AP-5 * +morejpg|alt=Tesla_MHB8255A_(OEM_výroba_Tungsram)|náhled'>Tesla MHB8255A (OEM výroba Tungsram)КР580ВВ55А.
Využití obvodu
Amstrad CPC
Obvod je použit v počítačích Amstrad CPC pro ovládání zvukového generátoru AY-3-8912, ukládání dat na magnetofon a ovládání magnetofonu a tiskárny a pro čtení klávesnice a čtení dat z magnetofonu. Obvod 8255 je v počítačích Amstrad CPC připojen k portům:
šestnáctkově | dekódování | význam |
---|---|---|
F4xx | xxxx0x00 xxxxxxxx | brána A |
F5xx | xxxx0x01 xxxxxxxx | brána B |
F6xx | xxxx0x10 xxxxxxxx | brána C |
F7xx | xxxx0x11 xxxxxxxx | řídicí registr |
Obvod je využit i v IDE interface k těmto počítačům, kdy je obvod 8255 připojen k portům:
šestnáctkově | význam |
---|---|
F8E6, FAE6, FCE6, FEE6 | brána A |
F9E6, FBE6, FDE6, FFE6 | brána B |
F8E7, FAE7, FCE7, FEE7 | brána C |
F9E7, FBE7, FDE7, FFE7 | řídicí registr |
Brány A a B slouží pro zápis a čtení dat.
IQ 151
Vestavěný obvod 8255A v počítačích IQ 151 je využit k ovládání klávesnice, zvukového výstupu a rozhranní pro komunikaci s magnetofonem. Klávesnice počítače je, co se týká elektrického zapojení, organizována do matice 8×8 kláves, řádkové vodiče klávesnice jsou připojeny k bráně A, sloupcové vodiče jsou připojeny k bráně B. +more Klávesy SHIFT, CONTROL, FA a FB jsou připojeny na vstupy 4 - 7 brány C.
MAŤO
Počítač MAŤO využívá zabudovaný obvod 8255 ke čtení klávesnice a pro ukládání a načítání dat z magnetofonu. K zápisu a čtení dat z magnetofonu se používají dva bity brány C. +more Pro čtení stavu klávesnice se používají brány A a B. Klávesnice počítače je, co se týklá elektrického zapojení, organizována do matice 7×7. Brána A slouží k nastavení bitové masky čteného sloupce klávesnice, na 7 bitech brány B pak lze přečíst, které klávesy byly stisknuty. Osmý bit brány B slouží ke čtení stavu klávesy EOL. Ke čtení stavu přeřaďovačů a klávesy STOP se používají bity brány C.
Sharp MZ-700
Počítač Sharp MZ-700 má zabudovaný obvod 8255 společně s obvodem 8253. Oba obvody jsou připojeny do paměťového prostoru procesoru. +more Obvod 8255 je připojen na adresy E000 - E003 (šestnáctkově).
Sinclair ZX Spectrum
Obvod 8255 je obsažen v různých interfacech k těmto počítačům. Je základem interface UR-4 a Interface M/P, vestavěný jej mají počítače Didaktik Gama a Didaktik Kompakt, disketové jednotky Didaktik 40 a Didaktik 80 a disketové řadiče MB02 a ZX Diskface Quick.
Obvykle je obvod 8255 k těmto počítačům připojován na porty:
desítkově | šestnáctkově | dekódování | význam |
---|---|---|---|
31 | 1F | 000xxxxx | brána A |
63 | 3F | 001xxxxx | brána B |
95 | 5F | 010xxxxx | brána C |
127 | 7F | 011xxxxx | řídicí registr |
Existují čtyři běžně používané způsoby, jak k počítači připojit prostřednictvím obvodu 8255 tiskárnu s rozhraním Centronics. Brána A může být při takovémto připojení použita pro připojení Kempston joysticku.
Existuje zapojení obvodu 8255, které používá porty 33, 35, 37 a 39 (šestnáctkově 21, 23, 25, 27).
Společně s obvodem 8251 je obvod 8255 použit v interface Skywave Forth, což je interface s vlastní pamětí ROM pro podporu programování v jazyce Forth. Dva obvody 8255 jsou použity v některých verzích hudebního interface Soundrive.
Reference
Externí odkazy
[url=https://web. archive. +moreorg/web/20090827134622/http://www. ic-on-line. cn/IOL/viewpdf/8255A_38897. htm]Intel 8255A/8255A-5 Programmable Peripheral Interface[/url] - datasheet obvodu * [url=http://8bit. yarek. pl/hardware/io. 8255/]8255 parallel interface[/url] - Přehled způsobů, kterými je obvod 8255 připojován k ZX Spectru a kompatibilním počítačům na 8bit. yarek. pl.
Kategorie:Vstupně/výstupní obvody Kategorie:Intel Kategorie:Amstrad CPC Kategorie:Hardware počítačů ZX Spectrum a kompatibilních