rozbudowa układu
rozbudowa układu
Planowałem zastosować układ 74HCT138 (dekoder adresowy) aby można było dobudować więcej układów do jednego procka. Ale mam jeden problem. Nie mogę znealeść układu podobnego do ULN2003 który sprawdzałby czy na dodatkowej linii jest logiczna 1. Zna ktoś taki układ??
hej,
niech Cię to co w załączniku nie przerazi...to taki I/O expander
potrojone wejście i potrojone wyjście...sumarycznie 24 bity IN i 24 bity OUT
bez dekodera adresowego
jak działa ta zabawka...
jak widzisz, na schemacie jest narysowana taka jakby lokalna
magistrala do niej zapięte są:
- zatrzaski LATCH pracujące jako wyjścia
- trójstanowe bufory pracujące jako wejścia
linie wejściowe układów U1,U2,U3 oraz __wyjściowe__ U4,U5,U6
połączone są ze sobą i podpięte do np. jednego z portów procesora (Z1)
Linie sterujące sygnałami LOAD rejestrów Latch, a także
zezwoleniami /G buforów są zapięte na osobne łącze (Z2) - to do drugiego
portu procesora - w sumie potrzeba 8+6 bitów...
aby zapisać dowolną wartość do rozszerzonego portu,
port I/O procesora nalezy przestawić na OUT (zmieniając zawartość
odpowiedniego DDR-a), wystawić na porcie daną, a następnie
na chwilkę wystawić 1 na odpowiedniej linii load (któregoś z U1,U2,U3),
potem znowu 0...
aby odczytać coś z rozszerzonego portu - należy port procesora
przestawić na input (znowu zmieniając DDR-a), potem aktywować
jeden z układów U4,U5,U6 zmieniając stan jego linii /G z 1 na 0,
gdy będzie tam 0 - odczytać port procka i ustawić z powrotem linię /G na 1.
to spowoduje, że bufor wejdzie w stan odcięcia i nie będzie
przeszkadzać na naszej lokalnej magistrali
tu masz data-sheet do '573 (latch)
http://jpkc.hfut.edu.cn/2006/singlechip ... 4LS573.pdf
można też użyć '574 - rejestr D
http://eshop.engineering.uiowa.edu/NI/p ... 009815.pdf
ale należy pamiętać, że do niego zapisuje narastające zbocze
sygnału zegarowego...tak naprawdę to możesz wstawić jakikolwiek z nich
jedyne różnice będą w sposobie oprogramowania tego modułu
no, a tu dokument o '541:
http://www.electronballet.com/DataSheet ... /74541.pdf
te kostki, które wstawiłam na schemat są o tyle miłe w użyciu,
że posiadają ładnie poukładane wyprowadzenia - z jednej strony wejścia,
z drugiej wyjścia... taki np. '373 ma wszystko pomieszane
no, więc może tak spróbuj...
te kostki są bardzo tanie, pcb będzie prosta do zrobienia...
aha, no oczywiście do wyjść Q układów U1,U2,U3 zapinasz
te swoje ULN...ale może 2804 a nie 2003 ponieważ ULN2804 ma __osiem__ wyjść,
będzie akurat na osiem bitów portu
uff, no to tak mniej więcej...ale jak szaleć to szaleć, co nie?
tasza
ps.
schemacik malowany w KiCAD
niech Cię to co w załączniku nie przerazi...to taki I/O expander
potrojone wejście i potrojone wyjście...sumarycznie 24 bity IN i 24 bity OUT
bez dekodera adresowego
jak działa ta zabawka...
jak widzisz, na schemacie jest narysowana taka jakby lokalna
magistrala do niej zapięte są:
- zatrzaski LATCH pracujące jako wyjścia
- trójstanowe bufory pracujące jako wejścia
linie wejściowe układów U1,U2,U3 oraz __wyjściowe__ U4,U5,U6
połączone są ze sobą i podpięte do np. jednego z portów procesora (Z1)
Linie sterujące sygnałami LOAD rejestrów Latch, a także
zezwoleniami /G buforów są zapięte na osobne łącze (Z2) - to do drugiego
portu procesora - w sumie potrzeba 8+6 bitów...
aby zapisać dowolną wartość do rozszerzonego portu,
port I/O procesora nalezy przestawić na OUT (zmieniając zawartość
odpowiedniego DDR-a), wystawić na porcie daną, a następnie
na chwilkę wystawić 1 na odpowiedniej linii load (któregoś z U1,U2,U3),
potem znowu 0...
aby odczytać coś z rozszerzonego portu - należy port procesora
przestawić na input (znowu zmieniając DDR-a), potem aktywować
jeden z układów U4,U5,U6 zmieniając stan jego linii /G z 1 na 0,
gdy będzie tam 0 - odczytać port procka i ustawić z powrotem linię /G na 1.
to spowoduje, że bufor wejdzie w stan odcięcia i nie będzie
przeszkadzać na naszej lokalnej magistrali
tu masz data-sheet do '573 (latch)
można też użyć '574 - rejestr D
ale należy pamiętać, że do niego zapisuje narastające zbocze
sygnału zegarowego...tak naprawdę to możesz wstawić jakikolwiek z nich
jedyne różnice będą w sposobie oprogramowania tego modułu
no, a tu dokument o '541:
te kostki, które wstawiłam na schemat są o tyle miłe w użyciu,
że posiadają ładnie poukładane wyprowadzenia - z jednej strony wejścia,
z drugiej wyjścia... taki np. '373 ma wszystko pomieszane
no, więc może tak spróbuj...
te kostki są bardzo tanie, pcb będzie prosta do zrobienia...
aha, no oczywiście do wyjść Q układów U1,U2,U3 zapinasz
te swoje ULN...ale może 2804 a nie 2003 ponieważ ULN2804 ma __osiem__ wyjść,
będzie akurat na osiem bitów portu
uff, no to tak mniej więcej...ale jak szaleć to szaleć, co nie?
tasza
ps.
schemacik malowany w KiCAD
- Załączniki
-
- io_exp.GIF
- (22.26 KiB) Pobrany 245 razy