Wykorzystanie układu ekspandera 8243
Układ ekspandera wejścia-wyjścia 8243 jest
specjalnie zaprojektowany do współpracy z mikrokomputerami
rodziny MCS-48. Na liście ich rozkazów znajdują się rozkazy
umożliwiające przesyłanie danych między akumulatorem a
portami ekspandera. Rozkład sygnałów na
końcówkach obudowy układu 8243 pokazano na rys.
Znaczenie sygnałów jest następujące:
P40 - P44
P50 - P54
P60 - P64
P70 - P74 - cztery 4-bitowe porty wejścia-wyjścia
P20 - P24 - 4-bitowy port do komunikacji z mikrokomputerem
PROG - sygnał sterujący przesyłaniem sterowania i danych
przez port P2
/CS - wejście wybierające (aktywny stan niski)
Ucc - zasilanie (5 V + - 10%)
GND - masa (0 V)
Porty ekspandera są pseudodwukierunkowe, podobnie jak porty P1
i P2 mikrokomputera 8048. Linie portów od P4 do P6, pracujące
jako wyjściowe, mogą być obciążone prądem do 4,5 mA (przy
Uol = 0,45 V), a linie portu P7 - prądem do 20 mA (przy Uol = 1,0
V). Prąd obciążenia linii wyjściowych może być zwiększony
nawet do 11mA, ale przy organiczeniu łącznego obciążenia
wszystkich linii wyjściowych, zgodnie z wykresem z rys.
Sposób dołączenia układu 8243 do mikrokomputera
pokazano na rys.
Przesyłanie danych między procesorem a
ekspanderem dokonuje się poprzez port P23-0 i jest sterowane za
pomocą sygnału PROG.
Przebiegi czasowe sygnałów w cyklu maszynowym
komunikacji z ekspanderem pokazano na rys.
Cykl ten jest
wykonywany jako drugi w cyklu rozkazowym przy realizacji
rozkazów MOVD, ORLD i AND. Do portu P23-0 najpierw jest
wysyłane słowo sterujące, określające operację ekspandera.
Jest to sygnalizowane opadającym zboczem sygnału PROG.
Następnie, jeśli jest realizowane przesłanie do ekspandera, to do
portu P2 3-0 zostają wpisane dane, strobowane narastającym
zboczem sygnału PROG. Jeżeli zaś jest wykonane przesłanie
do akumulatora, to przy PROG = 0 ekspander musi wysłać dane,
które będą wczytane w chwili narastania zbocza sygnału PROG.
Wykonanie cyklu komunikacji z ekspanderem niszczy
poprzednią zawartość bitów od 0 do 3 portu P2. Nie przeszkadza
to w komunikacji mikrokomputera z zewnętrzną pamięcią
programu (przesłania są wykonywane w innych cyklach), ale
utrudnia wykorzystanie tych bitów do innych celów. Na przykład,
w układzie z rys.
z dodatkowo dołączonym ekspanderem,
odwołanie do ekspandera niszczy ostatnio wysyłany numer
bloku pamięci RAM. Należy zatem wysłać go ponownie i to
przed kolejnym odwołaniem do pamięci.
Można dołączyć większą liczbę ekspanderów 8243,
stosując technikę przełączania bloków.
Odwołanie do portu odpowiedniego ekspandera musi być
poprzedzone uaktywnieniem układu, czyli wysłaniem do portu
wybierającego (tu P27-4) zera na odpowiednim bicie (rysunek poniżej)
lub numeru układu (w układzie z rys poniżej)
przykład:
OUTL P2,#1101xxxx ; uaktywnienie układu 1 z rys. 3.14a
; x - wartość obojętna
MOV A,#xxxx1001
MOVD P5,A ; zapisanie liczby 9H do portu P5 z układu 1
Oczywiście jako port wybierający może być także użyty port
P1.
Darmowy hosting zapewnia PRV.PL