Autor Wątek: Spectrum Backplane v2.00  (Przeczytany 731 razy)

jackfinch

  • ****
  • Wiadomości: 358
  • Miejsce pobytu:
    uk

KrisZX

  • *****
  • Wiadomości: 703
  • Miejsce pobytu:
    Wodzisław Śl
Odp: Spectrum Backplane v2.00
« Odpowiedź #1 dnia: 2019.09.22, 08:27:03 »
Ja jakiś czas temu zamówiłem sobie do tego płytki na razie tylko samą płytę Backpalane bez adapterka. Jakby ktoś chciał robić pociąg to można napisać mam 4 wolne.
Timex 2048, TI of TTL FDD35, Timex 2068, Chrome 128, Harlequin, Just Speccy 128

Klaud

  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Spectrum Backplane v2.00
« Odpowiedź #2 dnia: 2019.09.22, 09:22:44 »
Mnie zastanawia jedna sprawa. Czy linie danych/adresowe Z80 nie są przeciążane przy zastosowaniu takiego "pociągu", w którym siedzi kilka interfejsów?

Widziałem coś podobnego do ZX81, co prawda działa, ale może być różnie.

Skąd moje wątpliwości?
W innym komputerze z Z80 doprowadziłem do przeciążenia jednej linii danych, kiedy do złącza krawędziowego były podłączone dwa interfejsy, w sumie 4 układy RAM, ROM, AY i PIC.
« Ostatnia zmiana: 2019.09.22, 09:32:09 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1

trojacek

  • *****
  • Wiadomości: 5320
  • Miejsce pobytu:
    Warszawa
Odp: Spectrum Backplane v2.00
« Odpowiedź #3 dnia: 2019.09.22, 11:10:36 »
Backplane powinien mieć buforowanie, moim zdaniem.
I nie chodzi tylko o liczbę wejść obciążających,  ale również o długość ścieżek. Im dłuższa i bardziej rozgałęziona linia,  tym więcej zjawisk związanych z indukcyjnością. A taki backplane to grzebień anten, które są bardzo blisko siebie.
« Ostatnia zmiana: 2019.09.22, 12:23:11 wysłana przez trojacek »

Klaud

  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Spectrum Backplane v2.00
« Odpowiedź #4 dnia: 2019.09.22, 12:29:48 »
Równania telegrafistów oraz impedancja falowa dają o sobie znać ;)
KL
-----
R Tape loading error 0:1

trojacek

  • *****
  • Wiadomości: 5320
  • Miejsce pobytu:
    Warszawa
Odp: Spectrum Backplane v2.00
« Odpowiedź #5 dnia: 2019.09.22, 20:10:23 »
Myślę, że czytelniejsze jest określenie "równania linii długiej" :)
We wzorach pojawia się oczywiście częstotliwość i faktycznie jest ona kluczowa. Sygnały Z80 mają raczej niskie częstotliwości (w ZX Spectrum najwyższą ma CLK, nie licząc sygnałów wideo), jednak dość długie ścieżki z wieloma przepustami mogą powodować istotną impedancję. Podpinanie interfejsów jeszcze ją powiększy, plus szum cyfrowy - same nieszczęścia ;). Na szczęście są kondensatory blokujące.

Mimo to, wywlekanie linii adresowych oraz strobów /RD, /WR w jakąś pajęczynkę typu backplane + n interfejsów może powodować rozmaite "wyścigi" np. w cyklach dostępu do pamięci DRAM. Dlatego chętnie bym widział w takim backplane bufory dla A0..15, /RD, /WR, /IORQ, /MREQ, CLK. Z liniami danych jest gorzej, bo bufor musi być dwukierunkowy, a sterowanie kierunkiem na tyle inteligentne, by nie blokować np. interfejsu z układem DMA.

Inny problem, jaki pojawia się przy rozgałęziaczach szyny, to łańcuchowa obsługa sygnałów typu /ROMCS. Przecież kilka jednocześnie włożonych interfejsów może chcieć podkładać swoje ROM-y... Tu bym widział jakieś pstryczki lub zworki do określania, który interfejs ma prawo włączać swój ROM (bo np. divIDE/divMMC nie zawsze musi mieć taką możliwość), względnie - który fejs ma w tym temacie wyższy priorytet.

Ale może przekombinowuję ;)

Klaud

  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Spectrum Backplane v2.00
« Odpowiedź #6 dnia: 2019.09.22, 21:18:24 »
Niska częstotliwość to dla mnie 50Hz i okolice (max. do 51 harmonicznej), wszystko powyżej 2.5kHz traktuję, jako zło konieczne :P. U mnie na wydziale na równania linii długiej (uproszczona wersja równań Maxwella) mówiło się "równania telegrafistów" ;)

Wracając do buforowania sygnałów, w wielu przypadkach wystarczy na linii danych dać bufor dwukierunkowy typu 74LS245 sterowany linią /RD. OE układu do masy, a DIR do /RD. Przepływ do procesora tylko kiedy /RD w stanie niskim, a w drugą stronę kiedy procesor nic nie robi, albo wysyła dane.
KL
-----
R Tape loading error 0:1

trojacek

  • *****
  • Wiadomości: 5320
  • Miejsce pobytu:
    Warszawa
Odp: Spectrum Backplane v2.00
« Odpowiedź #7 dnia: 2019.09.22, 21:36:35 »
Wracając do buforowania sygnałów, w wielu przypadkach wystarczy na linii danych dać bufor dwukierunkowy typu 74LS245 sterowany linią /RD.

Pisałem o tym wcześniej.  W ten sposób blokujesz możliwość używania zewnętrznego interfejsu np. z układem DMA.

Klaud

  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Spectrum Backplane v2.00
« Odpowiedź #8 dnia: 2019.09.22, 21:55:05 »
Wiesz, jeśli ma być prosto, to trzeba liczyć się z kompromisami. Jeśli ktoś chce pociąg, nikt nie zagwarantuje, że wszystko, co podepnie, zadziała i nie pogryzie się, z tym co już jest w innym wagonie.

Osobiście wolałbym nawet najprostszy bufor, niż jego brak
KL
-----
R Tape loading error 0:1

trojacek

  • *****
  • Wiadomości: 5320
  • Miejsce pobytu:
    Warszawa
Odp: Spectrum Backplane v2.00
« Odpowiedź #9 dnia: 2019.09.22, 22:11:35 »
Jasne, że lepszy jakikolwiek, niż brak. Ale lepsze rozwiązanie nie musi być bardzo skomplikowane - być może tylko trzeba uwzględnić stan linii /BUSACK.

Gryzor

  • *****
  • Wiadomości: 1687
  • Miejsce pobytu:
    Warszawa
Odp: Spectrum Backplane v2.00
« Odpowiedź #10 dnia: 2019.09.23, 12:06:15 »
Bufory szyn sa nie ZXowe,  tak to jest w PC.  Temat backplane nie jest nowy, ale w praktyce trudny do zastosowania.
Dlatego najlepsze sa kombajny typu divMMC+AY zaxxona. Inaczej i tak nie da sie uniknac konfliktow.
Swoja droga nawet najnowsze plyty PC nie sa idealne - wkladasz M2 to przestaje dzialac jakies SATA itp. Wkladasz drugie M2, to przestaje dzialac jedno USB3.1.
Na PCI i ISA byly zawsze problemy z konfliktami przerwan i DMA.

trojacek

  • *****
  • Wiadomości: 5320
  • Miejsce pobytu:
    Warszawa
Odp: Spectrum Backplane v2.00
« Odpowiedź #11 dnia: 2019.09.23, 12:24:14 »
Dlatego najlepsze sa kombajny typu divMMC+AY zaxxona. Inaczej i tak nie da sie uniknac konfliktow.

Kombajny są OK, bo zwykle oznaczają brak "pociągu" i również więcej zostaje w portfelu :) Ale jest to zamykanie się w pewnej puli rozwiązań, a w tym wypadku chodzi o użycie posiadanych interfejsów w dowolnej kombinacji. Bo inaczej to dojdziemy do wniosku, że najlepszym rozwiązaniem jest mieć wszystko na płycie i nie chcieć nic więcej. I wyjdzie... Next ;)

Cytuj
Na PCI i ISA byly zawsze problemy z konfliktami przerwan i DMA.

Na ISA 8/16 zgoda, na VLB i EISA również, ale nie na PCI. Nigdy nie miałem problemu z przerwaniami, o ile wszystko było ładnie ustawione na PnP.

A wracając do buforów, moim zdaniem najlepszym rozwiązaniem byłoby mieć po prostu zbuforowane złącza na płycie, czyli mieć płytę w formacie np. mini ATX/ITX. Czyli znów się okazuje, że Rosjanie byli szybsi ;)

jackfinch

  • ****
  • Wiadomości: 358
  • Miejsce pobytu:
    uk
Odp: Spectrum Backplane v2.00
« Odpowiedź #12 dnia: 2019.09.23, 15:58:50 »
W RC2014 Backplane Pro jest 12 slotów i tam nie ma żadnych buforów i to chyba działa bo ludzie kupują.
Link: https://rc2014.co.uk/modules/backplane-pro/

Klaud

  • *****
  • Wiadomości: 4433
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Spectrum Backplane v2.00
« Odpowiedź #13 dnia: 2019.09.23, 16:19:05 »
Zauwaz, ze nawet Zilog w instrukcji do Z80 (dok. nr UM008011-0816) pisze:

Cytuj
Address buffers and data bus buffers are generally required for larger systems.

Brak buforow w innych konstrukcjach z Z80, nie oznacza, ze problem nie ma.
KL
-----
R Tape loading error 0:1

tdu

  • *****
  • Wiadomości: 866
  • Miejsce pobytu:
    Gdansk
    • Nasze Wędrowanie
Odp: Spectrum Backplane v2.00
« Odpowiedź #14 dnia: 2019.09.23, 17:07:53 »
Coś w tym stylu zrobiłem w 2017 roku, na trzy interfejsy i dodatkowy z tyłu.
Szczegóły w wątku https://www.speccy.pl/forum/index.php?topic=2951.msg46249#msg46249

Interfejsów do tego za dużo nie zrobiłem, bo mi się koncepcja zmieniła, ale mogę potwierdzić że działa.
ZX81/ZX 48k/Zx48k+/ZX +2/ZX +2A/+3/TC2048/FDD3000/FDD5000/3"/3,5'/5,25'/Beta 48k Apina/D+/GP50s/DIVIDE CF/Masterface/Polbasic SamCoupe QL CPC6128/N100 MSX-SVI738  MSX2-VG8235