Projects/tigris
Projects
/
tigris
Archived
5
0
Fork 0
This repository has been archived on 2024-07-04. You can view files and clone it, but cannot push or open issues or pull requests.
tigris/reference/parallell.txt

117 lines
4.3 KiB
Plaintext
Raw Permalink Normal View History

Parallellporter i TIKI-100 Rev C
--------------------------------
TIKI-100 inneholder en Z80 PIO krets med 2 stk. 8-bits I/O porter
(hver med kvitteringssignalene RDY og STB).
Begge disse er koblet opp til parallellport P3. Se portbeskrivelsen
for mer informasjon om pinnetilordning.
Z80 PIO kontrolleres gjennom 4 I/O porter:
I/O-port 08H: Parallellport A, dataord
Her leses og skrives data for parallellport A.
I/O-port 09H: Parallellport B, dataord
Her leses og skrives data for parallellport B.
I/O-port 0AH: Parallellport A, styreord
Her skrives kontrollregisteret til parallellport A.
I/O-port 0BH: Parallellport B, styreord
Her skrives kontrollregisteret til parallellport B.
Operasjonsmodi
Parallellportene kan settes til en av 4 modi:
Modus 0: Data ut. Data skrevet til dataregisteret blir satt rett ut p<>
porten. De kan ogs<67> leses tilbake. N<>r gyldige data settes ut
p<> porten, g<>r RDY h<>y. STB kan settes h<>y av eksternt utstyr
for <20> indikere at data er lest.
Modus 1: Data inn. Porten klokker inn data utenfra n<>r det eksterne
utstyret setter STB h<>y. Data kan hentes inn til CPU ved <20>
lese dataregisteret. Da blir samtidig RDY h<>y, og indikerer
til det eksterne utstyret at porten er klar for en ny byte.
N<>r STB settes h<>y, g<>r RDY lav, og kretsen kan gi interrupt.
Modus 2: Bidireksjonal (b<>de inn og ut). Bare port A kan fungere i
modus 2. N<>r port A settes til modus 2, m<> samtidig port B
settes til modus 2 og port B m<> settes til <20> ikke generere
interrupts.
Data ut er lik modus 0, bortsett fra at data bare settes ut
n<>r ASTB er lav.
Data inn er lik modus 1, bortsett fra at kvitteringssignalene
og interruptmulighetene til port B benyttes.
Modus 3: Bit kontroll. Individuelle bits i parallellporten kan settes
enten til inn eller ut. RDY og STB er ikke brukt. I stedet
genereres en interrupt hvis interruptbetingelsene til
input-pinnene bestemt under programmering av porten er
oppfyllt.
Programmering
Programmering av porten foreg<65>r ved skriving til portens
kontrollregister.
F<EFBFBD>lgende styreord kan skrives til kontrollregisteret:
Mode Control Word:
Bit 6-7: Velger modus:
Bit 7 Bit 6
0 0 Modus 0
0 1 Modus 1
1 0 Modus 2
1 1 Modus 3
N<>r modus 3 velges, M<> etterf<72>lgende ord skrevet til
kontrollregisteret v<>re et retningsord, der en ener i en
bitposisjon medf<64>rer at tilsvarende I/O-pinne vil bli en
inngang, mens en nuller vil medf<64>re at I/O-pinnen blir en
utgang.
Bit 4-5: Ubrukt
Bit 0-3: M<> settes til 1111 (identifiserer at dette er Mode Control
Word).
Interrupt Control Word:
Bit 7 = 1: Skrur p<> interruptfunksjonen
Bit 7 = 0: Skrur av interruptfunksjonen
Bit 6 = 1: OG funksjon, alle bit med i interruptbetingelsen m<> g<> til
den definerte tilstanden for at interrupt skal genereres.
Bit 6 = 0: ELLER funksjon, interrupt genereres n<>r minst ett bit g<>r
til den definerte tilstanden.
Bit 5 = 1: Definert tilstand er h<>y
Bit 5 = 0: Definert tilstand er lav
Bit 4 = 1: Kun utvalgte bit er med i interruptbetingelsen. Neste byte
skrevet til kontrollregisteret m<> v<>re et maskeord. Dersom
et utvalgt bit i maskeordet er satt vil den tilsvarende
pinnen i parallellporten IKKE monitoreres for interrupt.
Dersom bit 4 er satt, M<> det alts<74> skrives et slikt
maskeord til kontrollregisteret umiddelbart etterp<72>.
Uansett modus, ved <20> sette bit 4 til 1 vil alle ventende
interrupts bli slettet.
Bit 0-3: M<> settes til 0111 (identifiserer at dette er Interrupt
Control Word).
Interrupt Disable Word:
Bit 7 = 1: Skrur p<> interrupts
Bit 7 = 0: Skrur av interrupts
Bit 4-6: Ubrukt
Bit 0-3: M<> settes til 0011 (identifiserer at dette er Interrupt
Disable Word).
Interrupt Vector Word:
Bit 1-7: Setter interrupt vektoren som skal benyttes ved interrupts
(med implisitt 0 i minst signifikante bit).
Bit 0: M<> settes til 0 (identifiserer at dette er Interrupt Vector
word).
---
18 august 2002
Asbj<EFBFBD>rn Djupdal, djupdal@stud.ntnu.no