![]() | ![]() |
Standard złącza YABUS opracował Jarosław Adamski, najświeższe informacja zawsze są na stronie http://www.yarek.com
Opis sygnałów:
GND | masa, dwie nóżki |
+5V | zasilanie, dwie nóżki |
+12V | zasilanie (np. dla RS232 lub programatora EPROM) |
-12V | zasilanie (dla RS232) |
A0...A15 | linie adresowe, wyjścia, buforowane lub nie |
D0...D7 | linie danych, wejścia/wyjścia, buforowane lub nie |
/P0.../P7 | dekodowane A5..A7 dla A4=1, wyjścia |
/RD | read device strobe, wyjście, /IORQ + /RD dla Z80 |
/WR | write device strobe, wyjście, /IORQ + /WR dla Z80 |
/RES | wejście/wyjście RESET |
/SEL | device acknowledge (wyłącza wewnętrzne porty we/wy), wejście |
/DMA | żądanie DMA, wejście, nie zawsze podłączone do DMA |
/INT | żądanie przerwania, wejście |
Urządzenia podłączane do YABUS są nazywane YAMOD
Sygnały /P0.../P7 są po to, by uprościć konstrukcję modułów YAMOD. Gdy A4=1 dekodowane są linie adresowe A5...A7, a wynik jest wystawiany na liniach /P0.../P7. W module wystarczy więc zwykły 8-bitowy komparator, by dekodować adres. Np. /P0 = 0 tylko dla adresów xx1x (hex), /P1 dla xx3x (hex), /P2 dla xx5x (hex) itd. do /P7 =0 dla adresów xxFx (hex), gdzie x jest dowolną liczbą 0...F (hex).
Podsumowując, gdy moduł YAMOD zostanie aktywowany przez wyzerowanie jednej z linii /Pn powinien jeszcze zdekodować linie adresowe A0..A3, by ustalić jeden adres. Jak widać, linie A0..A7 są dekodowane w taki sposób, że A4 oznacza odwołanie do modułu YAMOD, linie A5..A7 wybierają jedną z 16 grup modułów, zaś konkretny moduł dekoduje już tylko 4 linie adresowe. Dzięki takiemu, trochę pogmatwanemu, sposobowi adresowania każdy z modułów ma uproszczony dekoder adresów. Autor zastrzega, że moduł na etapie projektowania należy przyporządkować do jednej z 16 grup:
#10..#1E nie przydzielone
#30..#3E interfejsy na bazie 8255 (np. YAMOD.EPROG)
#50..#57 łącza szeregowe na 8250 (wybór starszym bajtem)
#58..#5E łącza równoległe na 8211 (wybór starszym bajtem)
#70..#77 kontroler dyskietek na 765A
#90..#9F nie przydzielone
#B0..#BF multiplekser dysku twardego YAMOD.ATBUS
#D0..#D3 przełączanie pamięci (typu Z88 - sekcje po 16kB)
#D4..#DE nie przydzielone
#F0..#FF rozszerzenia pamięci i interfejsy sprzętowo zależne
Gdy adres zostanie poprawnie zdekodowany, linia /SEL musi być ustawiona na 0 (low), zaś dla portów tylko do zapisu musi być ustawiona w stan wysokiej impedancji (Z), by dla /RD=0 nie blokować portów tylko do zapisu o tym samym adresie w innym module.
Na koniec mała uwaga do schematu - na rysunku oprócz samego złącza YABUS jest również moduł pamięci "zxmem 006".