Komputery z Z80 > TIMEX
FDD35 rev.3
pear:
Od pierwszego podejścia do klona stacji Timex FDD3/3000 minęło już ponad 7 lat. Jak ten czas leci :o
Żeby nie przeciągać więc tamtego wątku założę nowy, bo jest "trochę" zmian w projekcie.
Główną przyczyną nowego podejścia jest problem, z którym walczę od kilku lat i straciłem już nadzieję na jego rozwiązanie.
Kolega hsimpson zadał mi podłączenie trzech napędów jednocześnie. Niby prosta sprawa, bo stacja może obsłużyć do czterech napędów.
Okazuje się, że proste to jest jedynie w teorii.
Do podłączenia dostałem napęd 3" od CPC, napęd 3,5" od PC oraz HxC. Dowolne 2 z tych napędów podłączone na jednej taśmie pracują bez problemu.
Podłączenie wszystkich trzech jednocześnie powoduje, że nie działa komunikacja z żadnym.
Najprawdopodobniej przyczyną są wbudowane terminatory wewnątrz napędów, a nie chcę w nich grzebać.
Każdy z napędów inaczej obciąża linie i póki są 2, to jeszcze jakoś to działa (HxC i stary napęd z CPC pracują niezbyt stabilnie, ale pracują).
Przy trzech napędach tolerancja poziomów na liniach się kończy.
Dlatego w końcu przeprojektowałem FDD35 tak, aby miała niezależne 2 kanały dla napędów (po 2 napędy na kanał).
Na każdym z kanałów można użyć innej taśmy - z przeplotem lub bez.
A że już i tak rysuję na nowo, to zrobiłem "trochę" modyfikacji:
- z płytki wyleciał GAL, dzielnik LS393, rejestr pomocniczy FDC LS273 i trochę logiki - teraz cała logika jest w jednym CPLD Xillinx XC9572-10PC84,
- zamiast ROM jest 512 KB FlashROM, zamiast dwóch kostek RAM jest jedna, ale też 512 KB,
- obszar pamięci dla procesora został podzielony na 4 segmenty po 16 KB każdy, dla każdego segmentu jest w CPLD zdefiniowany rejestr banku, w którym można zapisać adres jednego z 32 dostępnych banków RAM lub 32 banków ROM,
- banki ROM są z cieniem w RAM, czyli można odczytać zawartość ROM i zapisać RAM "pod spodem" w tym samym numerze banku, a potem bezkolizyjnie przełączyć bank z ROM na RAM,
- dzielnik zegara jest konfigurowalny - można podwoić częstotliwość dla procesora (Turbo 8 MHz) i/lub układu WD1772 (obsługa dysków HD, wymaga napisania oprogramowania),
- dodana została obsługa przerwań z kontrolera UART (ze względu na ograniczoną pojemność CPLD nie udało mi się rozdzielić kanałów i przerwania albo są wszystkie albo wcale, również wymagane napisanie oprogramowania do obsługi),
- pod adresem rejestru pomocniczego FDC (#E0) można odczytać status zgłoszonego przerwania UART (po 4 bity na każdy kanał, wszystkie bity wyzerowane oznaczają przerwanie z kontrolera FDC),
- dodane dwa nowe porty do zapisu rejestrów konfiguracji (#D0) i banków (#F0), w związku z czym dekodowanie pozostałych portów ma dodaną linię A4 (w oryginale dekodowane są tylko A5..A7),
- rejestr konfiguracji można odczytać - zawiera informacje o domyślnych (zworki) oraz zachowanych ustawieniach Turbo, HD i obsługi przerwań UART,
- podwójny układ resetowania - jeden reset jest na stałe od załączenia zasilania i kasuje rejestry konfiguracyjne, drugi reset to ten z przycisku działa jak w oryginalnej stacji, ale nie kasuje rejestru konfiguracji (Turbo, HD i obsługa przerwań UART mogą być włączane/wyłączane programowo, na zworkach jest ustawienie domyślne po włączeniu zasilania),
- żaden z układów reset nie zatrzymuje dzielnika zegara, drobiazg, ale to właśnie zostało popsute w SAM Coupe,
- wyprowadzone złącze Expansion Bus, z drobnymi odstępstwami - zegar jest tylko wyjściem (jest bufor i zworka, którą można sygnał odłączyć) oraz można wybrać zworką, czy IROM odłącza tylko ROM, czy całą pamięć w stacji,
- gniazda portów interfejsu oraz RS-232 można zamontować bezpośrednio na PCB albo wyprowadzić taśmą IDC na zewnątrz płytki,
- każdy sygnał wyboru napędu A, B, C, D może być dowolnie przezworkowany do dowolnego napędu w dowolnym z dwóch kanałów,
- wyprowadzone sygnały dla LED Turbo, HD oraz InUse (świeci, gdy stacja rzeczywiście coś czyta z napędu, a nie tylko został wybrany).
Koncepcyjnie projekt jest zamknięty (nie ma więcej miejsca w CPLD). Projekt CPLD jest gotowy, schemat przerysowany. Teraz czas na płytkę.
Prawdopodobnie PCB będzie nieco dłuższe niż poprzednie (nie będzie już pasować do oryginalnej obudowy FDD3), a to dlatego, że napęd 3,5" jest dłuższy od poprzedniej wersji płytki i źle wyglądały gniazda RS-232 wciśnięte pod spodem (napędy nadal będą montowane nad płytką).
Co wyjdzie w praniu, to się jeszcze okaże.
Maryjan:
Stale podnosisz poprzeczkę :)
skoti:
:o WOW. To jest News na który warto było czekać. Już czuję zapach topnika unoszący się nad płytką. ;D
trojacek:
Fiu, fiu, fajnie :)
Tylko wybór CPLD mnie zastanawia, bo chyba będzie go dość ciężko kupić? Nie widzę nigdzie u "normalnych" sprzedawców.
Ale rozumiem jego atuty, 5V i obudowa do podstawki.
KWF:
Super, ale XC9572 jest archaiczny i to bardzo. Wersje XL można upolować na Ali za rozsądne pieniądze. Może Altera Max7000 (7064S na 5 V i PLCC), są dostępne jej odpowiedniki z Atmela.
Nawigacja
[#] Następna strona
Idź do wersji pełnej