Intel 8255

Intel 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ů. 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. 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/Bbrána Abrána B
bit brány Cvstupnívýstupníobousměrnývstupnívýstupní
0INTRINTR
1ACKSTROBE
2STROBEACK
3INTRINTRINTR
4STROBESTROBE (z periférie)
5ACKACK (z 8255)
6ACKACK (z periférie)
7STROBESTROBE (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. 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
bit76543210
1rež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
(v obousměrném režimu na hodnotě nezáleží)
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
bit76543210
0   číslo nastavovaného bituhodnota bitu

Analogické obvody

  • Tesla MHB8255A (Tesla Piešťany originál)
    Tesla MHB8255A (Tesla Piešťany originál)
    MHB 8255
  • MCY 7855
  • NEC D8255AC-2
  • NEC D8255AC-5
  • Toshiba TMP8255AP-5
  • Tesla MHB8255A (OEM výroba Tungsram)
    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.[1] Obvod 8255 je v počítačích Amstrad CPC připojen k portům:

šestnáctkovědekódovánívýznam
F4xxxxxx0x00 xxxxxxxxbrána A
F5xxxxxx0x01 xxxxxxxxbrána B
F6xxxxxx0x10 xxxxxxxxbrána C
F7xxxxxx0x11 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:[2][3]

šestnáctkověvýznam
F8E6, FAE6, FCE6, FEE6brána A
F9E6, FBE6, FDE6, FFE6brána B
F8E7, FAE7, FCE7, FEE7brá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.[4] 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.[4] Klávesy SHIFT, CONTROL, FA a FB jsou připojeny na vstupy 4 - 7 brány C.[4]

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.[5] 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.[5] Osmý bit brány B slouží ke čtení stavu klávesy EOL.[5] Ke čtení stavu přeřaďovačů a klávesy STOP se používají bity brány C.[5]

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.[6] 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.[7][8]

Obvykle je obvod 8255 k těmto počítačům připojován na porty:[8]

desítkověšestnáctkovědekódovánívýznam
311F000xxxxxbrána A
633F001xxxxxbrána B
955F010xxxxxbrána C
1277F011xxxxxří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.[9] Brána A může být při takovémto připojení použita pro připojení Kempston joysticku.[10]

Existuje zapojení obvodu 8255, které používá porty 33, 35, 37 a 39 (šestnáctkově 21, 23, 25, 27).[11]

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.[12] Dva obvody 8255 jsou použity v některých verzích hudebního interface Soundrive.

Reference

  1. 8255 na CPCWiki
  2. IDE8255 na CPCWiki
  3. YABUS.IDE8255 Archivováno 4. 3. 2016 na Wayback Machine. na 8bit.yarek.pl
  4. a b c TIŠNOVSKÝ, Pavel. Legendární školní mikropočítač IQ-151. Root.cz [online]. 2010-03-30 [cit. 2018-01-08]. Dostupné online. ISSN 1212-8309. ((česky)) 
  5. a b c d TIŠNOVSKÝ, Pavel. Československé osmibitové počítače: aplikace a emulátory PMD 85. Root.cz [online]. 2010-03-23 [cit. 2018-01-08]. Dostupné online. ISSN 1212-8309. ((česky)) 
  6. Memory mapped I/O Archivováno 20. 2. 2012 na Wayback Machine. na sharpmz.org
  7. UR-4 (paralelní port s 8255A) na cygnus.speccy.cz
  8. a b Jan Smrž (MSP) a Jaromír Krejčí. Tipy na čipy. ZX Magazín. 1995, čís. 1/95, s. 20–21. ISSN 1210-4833. 
  9. Připojení tiskárny (Centronics) na cygnus.speccy.cz
  10. Интерфейсы принтера - параллельный интерфейс принтера. In: Периферия своими руками. [s.l.]: Инфорком, 1993. Dostupné online. (rusky)
  11. ZX Spectrum 24-lines Input/Output Interface Archivováno 5. 3. 2014 na Wayback Machine. na bneven.com
  12. FORTH - David Husband. ZX Computing. December 1983/January 1984 1984, roč. 1, čís. 10, s. 101. Dostupné online. 

Externí odkazy

Média použitá na této stránce

Ic-photo-Intel--D8255.JPG
Autor: Myself User:ZyMOS, Licence: CC BY-SA 4.0
IC photo
8255.svg
(c) Miguel Durán, CC BY-SA 2.5
Patillaje del Intel 8255 / 82C55A en encapsulado DIP 40 pines
MHB8255A(TS).jpg
Autor: Karlovarak, Licence: CC BY-SA 4.0
PPI Tesla MHB8255A (OEM výroba Tungsram Maďarsko)
MHB8255A.jpg
Autor: Karlovarak, Licence: CC BY-SA 4.0
PPI Tesla MHB8255A (originál výroba Tesla Piešťany)