Szyna RC80

przez | 2 marca 2020

Obecnie obowiązujący standard szyny RC80 wywodzący się bezpośrednio z rozszerzonego RC2014.

OznaczenieBAOznaczenie
11A15
22A14
33A13
44A12
55A11
66A10
77A9
88A8
A2399A7
A221010A6
A211111A5
A201212A4
A191313A3
A181414A2
A171515A1
A161616A0
GND1717GND
VCC1818VCC
RFSH1919/M1
/RST2;PAGE2020/RST
CLK22121CLK
/BUSACK2222/INT
/HALT2323/MREQ
/BUSRQ2424/WR
/WAIT2525/RD
/NMI2626/IORQ
D82727D0
D92828D1
D102929D2
D113030D3
D123131D4
D133232D5
D143333D6
D153434D7
Tx23535Tx
Rx23636Rx
USR5; IRQ23737USR1; IRQ1
USR63838USR2; IEI module
USR73939USR3; IEO module
USR8; IEI backplane4040USR4; IEO backplane

Na przedstawionym rysunku blok A zawiera podstawową wersję standardu RC2014, z wyłączeniem dodatkowych znaczeń pinów 38-40. W rozszerzonym RC2014 pojawiło się dziesięć dodatkowych pinów (B17-B26) brakujących sygnałów procesora Z80.

Umownie przyjęto, że sygnał /INT (A22) jest wejściem oraz że istnieje jeden moduł generujący sygnał RESET (A20) dla którego jest on wyjściem. Niestety z tym brakiem usystematyzowania borykają się generalnie wszystkie pasywne szyny dla tego procesora.

Sygnały Tx (A35) i Rx (A36) oraz Tx2 (B35) i Rx2 (B36) służą do wprowadzenia sygnałów transmisji szeregowej od nadajnika (modułu portu szeregowego) do odbiornika na szynie RC2014/80. Umożliwia to korzystanie przez niektóre, specyficzne moduły z transmisji szeregowej bez użycia dodatkowych połączeń przewodami.

Końcowa sekcja zawiera piny do wykorzystania przez użytkownika USR1-8. Steve Cousins w swoich modułach wykorzystuje piny A38-39 do propagacji zilogowskiej kaskady priorytetów przerwań IEI-IEO, co stało się de facto standardem stosowanym przez innych konstruktorów. Pojawia się tu też niekonsekwencja stosowana w popularnych backplane, kolejne sloty nie mają “przeplotu” dla tych sygnałów. Na rysunku możemy zauważyć, że wspomniane sygnały również powielają się na ostatnich pinach A40, B40. Warto zwrócić uwagę na to, że te piny nie są przewidziane do wykorzystania przez moduły RC2014/80, dla których złącze kończy się na pinie 39. Często są one stosowane do połączeń pomiędzy pobliskimi slotami (np. SC112) do połączeń [Slot n] IEO -> [Slot n+1] IEI. Alternatywnie piny 37 są też używane do zgłaszania przerwań przez układy które nie obsługują wektorowych przerwań IM2, do jego realizacji wymagany jest moduł CTC, który pracuje na swoich dwóch kanałach jako kontroler przerwań.

Sygnał CLK (A21) jest zegarem systemowym, zaś CLK2 (B21) przeważnie używany jest dla zegara transmisji szeregowej.

Zalety: Omawiany tu standard RC2014/80 zdobył popularność ze względu na zastosowane w nim tanie i powszechnie dostępne złącza goldpin. Usystematyzowanie sygnałów przez Spencera Owena, umożliwiło społeczności na dalszy rozwój szerokiego wachlarza modułów zgodnych z tym standardem. Posiada ona kilka wad, lecz jest ogólnie przyjęta i jest nadal rozwojowa.

Braki: W omawianej szynie brakuje sygnałów pomocniczych kanałów DMA, niektórzy użytkownicy podnoszą również brak sygnałów I2C i SPI na podobieństwo do istniejących Rx, Tx, oraz napięcia 3v3 stosowanego w obecnych układach (tu jednak trochę odchodzimy od retro).

Wady: Przyjęcie za standard pasywnej backplane, sygnały RST, CLK, stabilizowane zasilanie to powinno się znaleźć w każdym backplane. Kolejna sprawa to kaskada priorytetów przerwań (oraz nieistniejących na szynie sygnałów kanałów DMA) powinna zostać unormowana. Ostatni i chyba najbardziej bolesny problem to przypisanie roli dla każdego modułu obsługi dekodowania adresu chip select, który zajmuje sporą część niewielkiego obszaru PCB, na którym stosowane są jednak duże układy w obudowach DIP. Tu widzę spore pole do popisu dla konstruktorów, przyznam, że mnie również chodzi po głowie pewien pomysł wykorzystania pierwszych sześciu pinów pierwszej sekcji B dla implementacji globalnego na backplane sygnału wyboru slotu i zwrotnej informacji o włożonym module w dany slot za pomocą I2C – takie “RC80 PnP” to brzmi dumnie 😉 Może kiedyś.