forum speccy.pl
ZX Spectrum => HARDWARE => Wątek zaczęty przez: jackfinch w 2019.09.21, 21:36:26
-
@Klaud kiedyś wspomniał o tym na forum. Znalezione na: http://projectspeccy.com/projects/ (http://projectspeccy.com/projects/).
Może się komuś przyda, nie widziałem tego na forum. Projekt w KiCad-zie.
Spectrum Backplane v2.00 Schematic -http://projectspeccy.com/Backplane/Spectrum_Backplane_v2.00.pdf (http://projectspeccy.com/Backplane/Spectrum_Backplane_v2.00.pdf)
Spectrum Backplane v2.00 KiCad files - http://projectspeccy.com/Backplane/Spectrum_Backplane_v2.00_KiCad.zip (http://projectspeccy.com/Backplane/Spectrum_Backplane_v2.00_KiCad.zip)
Spectrum Backplane v2.00 Gerbers - http://projectspeccy.com/Backplane/Spectrum_Backplane_v2.00_Gerbers.zip (http://projectspeccy.com/Backplane/Spectrum_Backplane_v2.00_Gerbers.zip)
Spectrum Backplane v2.00 Images - http://projectspeccy.com/Backplane/Spectrum_Backplane_v2.00_Images.zip (http://projectspeccy.com/Backplane/Spectrum_Backplane_v2.00_Images.zip)
Spectrum Backplane IDC-Edge adaptor Gerbers - http://projectspeccy.com/Backplane/IDC_to_Edge_Gerbers.zip (http://projectspeccy.com/Backplane/IDC_to_Edge_Gerbers.zip)
Horizontal Adaptor
Horizontal Adaptor Schematic - https://projectspeccy.com/Projects/Horiz_Ext/Spectrum_Backplane_Horizontal_Adaptor_Schematic.pdf (https://projectspeccy.com/Projects/Horiz_Ext/Spectrum_Backplane_Horizontal_Adaptor_Schematic.pdf)
Horizontal Adaptor KiCad files - https://projectspeccy.com/Projects/Horiz_Ext/Spectrum_Backplane_Horizontal_Adaptor-KiCad.zip (https://projectspeccy.com/Projects/Horiz_Ext/Spectrum_Backplane_Horizontal_Adaptor-KiCad.zip)
Horizontal Adaptor Gerbers - https://projectspeccy.com/Projects/Horiz_Ext/Spectrum_Backplane_Horizontal_Adaptor_Gerbers.zip (https://projectspeccy.com/Projects/Horiz_Ext/Spectrum_Backplane_Horizontal_Adaptor_Gerbers.zip)
Horizontal Adaptor Images - https://projectspeccy.com/Projects/Horiz_Ext/Spectrum_Backplane_Horizontal_Adaptor_Images.zip (https://projectspeccy.com/Projects/Horiz_Ext/Spectrum_Backplane_Horizontal_Adaptor_Images.zip)
-
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.
-
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.
-
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.
-
Równania telegrafistów oraz impedancja falowa dają o sobie znać ;)
-
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ę ;)
-
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.
-
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.
-
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
-
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.
-
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.
-
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 ;)
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 ;)
-
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/ (https://rc2014.co.uk/modules/backplane-pro/)
(http://rc2014.co.uk/wp-content/uploads/2017/04/Backplane-Pro.png)
-
Zauwaz, ze nawet Zilog w instrukcji do Z80 (dok. nr UM008011-0816) pisze:
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.
-
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.