1

Witam wszystkich serdecznie:-)

Chciałbym przedstawić opis mojej wersji rozszerzenia pamięci SIMM 1MB wg schematu Pasia. Oryginalny opis tego rozszerzenia z kompletem wszystkich potrzebnych rzeczy jest tutaj:
http://hardware.atari8.info/simm.php

Pierwotny plan był taki, że chciałem opracować wersję wg pewnych założeń i podzielić się ze wszystkimi, którzy by chcieli coś takiego również sobie w podobny sposób zbudować.
Rzeczywistość jednak okazała się mniej pomyślna niż zakładałem, cały projekt posiada wady, które wyniknęły w trakcie uczenia się na własnych błędach.

W związku z powyższym wątek posłuży jedynie temu, żeby się pochwalić co sobie zbudowałem i przestrzec innych przed błędami, które popełniłem projektując swoją wersję rozszerzenia.

Założenia projektu były następujące:
1. Projekt do 65XE w wersji bez ECI (taki egzemplarz Atari posiadam od dzieciństwa).
2. Płytki z laminatu jednostronnego, żeby dało się wyprodukować ręcznie metodą pisaka i trawienia.
3. Pozostawienie blach ekranujących.
4. Wyprowadzenie wszystkich potrzebnych sygnałów wraz z zasilaniem na jednym złączu poza blachę ekranującą (na jej wierzch).
5. Możliwość wpinania i wypinania całego rozszerzenia w w/w złącze.
6. Ułożenie sygnałów w złączu tak, żeby po wypięciu rozszerzenia móc wpiąć w to złącze kilka zworek łączących sygnały przecięte na płycie Atari (czyli zworki zamiast rozszerzenia przywracają oryginalne Atari).

Rozszerzenie składa się z dwóch płytek:

1. Pierwsza płytka zawiera opisane złącze 40pin (jak do hdd) i jest umieszczona na płycie Atari na kołkach wkręconych w wolnych miejscach. Do tej płytki doprowadzone są wszystkie sygnały z płyty Atari, wycięta jest dziura w blasze ekranującej na ową złączkę, blacha zamknięta i to koniec modyfikacji.

2. Druga płytka zawiera cały sterownik oraz SIMM-a.
Na tej płytce są również złącza 40pin do podłączenia taśmy. Zastosowałem skróconą do minimum taśmę hdd.
Połowa złącza jest wykorzystana po jednej stronie płytki i zawiera wszystkie sygnały dla SIMM-a, a druga połowa jest wykorzystana po drugiej stronie płytki i zawiera pozostałe sygnały. Takie rozwiązanie przyjąłem ze względu na laminat jednostronny, na którym ciągnięcie wszystkich sygnałów do jednego złącza 40pin było by nierealne (zwłaszcza przy użyciu pisaka).
Zasilanie doprowadzone jest na złączce podwójnymi kabelkami -dwa skrajne z jednej strony to masa, a dwa skrajne z drugiej to 5V.
Płytka rozszerzenia jest montowana na kołkach plastikowych na wierzchu blachy ekranującej.

Zerowe uruchomienie zrobiłem jeszcze bez rozszerzenia, wpinając zworki wg założeń -wszystko działało poprawnie.

Po złożeniu wszystko wyglądało pięknie, dokładnie tak jak sobie zaplanowałem wcześniej.

Pierwsze uruchomienie i... jest sukces!
Komputer wstał, basic działa, selftest działa.
Programy testujące pokazywały banki w różnych trybach poprawnie, bity portB również ale tu się zaczęły problemy.
Przy co którymś odświeżeniu niektóre banki były niewidoczne w ogóle, a nawet jeśli wszystkie były widoczne, to i tak pokazywały się wszystkie jako uszkodzone.

Przez kolejny około miesiąc czasu przeczytałem cały internet na temat sygnałów O1, O2, RAS, CAS itd., opóźnianie negatorami, zamienianie, podmienianie, sra... (za przeproszeniem:-)).
Wypróbowałem chyba wszystkie kombinacje i modyfikacje jakie opisywali ludzie na forach, konsultowałem z osobami, które budowały rozszerzenie, sprawdziłem syndrom procków meksykańskich itd.
W tym miejscu dziękuję wszystkim, z którymi nawiązałem kontakty poprzez forum, i którzy mi pomagali.

Ostatecznie osiągnąłem zadowalający mnie efekt, chociaż nie jest do końca idealny.
Mam działające rozszerzenie, które działa stabilnie całymi godzinami (dema, gry itd.), ale któreś parametry sygnałów są na granicy i na zimnym komputerze mam błędne banki, a dopiero po rozgrzaniu procka i pamięci po kilku minutach osiągam stabilność.
W dodatku powyższy efekt uzyskałem tylko na jednej parze procesor-SIMM spośród całego szeregu sprawdzonych kombinacji.
W stosunku do pierwotnego projektu jest też jedna zmiana: sygnał RAS opóźniony przez dwa negatory LS04 nalutowany na płycie Atari.
Tu trzeba dopisać, że sygnał RAS jeśli musi zostać opóźniony, to zarówno do SIMM-a, jak i do LS157, jak i do GAL-a -czyli do całego rozszerzenia -tej informacji nigdzie nie znalazłem, wszędzie jest napisane o opóźnianiu do SIMM-a, ale samo to nie działa poprawnie.

Zostawiam jak jest, bo działa i jestem zadowolony, ale mam świadomość, że nie jest do końca dobrze.
Może kiedyś wrócę do tematu i poprawię coś jak się nadarzy okazja sprawdzenia oscyloskopem w czym tkwi problem.

Wnioski dla osób, które będą się zmagać z tym samym:
- każdy procek powoduje inne timingi i spore tolerancje w sygnałach zegarowych (i w następstwie wszystkich pozostałych sygnałach) oraz z każdym simmem układ inaczej współpracuje
- kabelki powinny być jak najkrótsze: u mnie prawdopodobnie są zbyt długie i bardzo możliwe, że ich skrócenie wszystko by naprawiło. No ale to by oznaczało, że cały projekt jest do d... i należy zrobić go inaczej -dlatego nie radzę mojego projektu powielać, tylko zbudować wszystko niżej, bliżej, krócej.
Skrócenie kabelków u mnie nie jest proste, ale dla testów mogłem je wydłużyć -zamiast mojej króciutkiej taśmy 40pin podpiąłem długą taśmę od hdd -od razu połowa banków zniknęła -stąd wniosek, że dalsze skrócenie kabelków poprawiło by całą sytuację.
Krótko mówiąc: lutujcie SIMM-a jak najbliżej miejsc, z których pobieracie sygnały i nie bawcie się z wyciąganiem rozszerzenia tak daleko jak ja to zrobiłem. Najlepiej też projektować płytki tak, żeby SIMM był na osobnej, lub bez płytki, a reszta sterownika na osobnej płytce.

Załączam kilka zdjęć. Przepraszam za średnią ich jakość, ale w trakcie montowania robiłem tylko byle jakie fotki telefonem.

Post's attachments

1.plyta.jpg 143.83 kb, nikt jeszcze nie pobierał tego pliku. 

2.rozszerzenie.jpg 91.45 kb, nikt jeszcze nie pobierał tego pliku. 

3.calosc otwarta.jpg 161.81 kb, nikt jeszcze nie pobierał tego pliku. 

4.blacha.jpg 83.43 kb, nikt jeszcze nie pobierał tego pliku. 

5.klawiatura.jpg 84.16 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

2

Mq napisał/a:

Skrócenie kabelków u mnie nie jest proste, ale dla testów mogłem je wydłużyć -zamiast mojej króciutkiej taśmy 40pin podpiąłem długą taśmę od hdd -od razu połowa banków zniknęła -stąd wniosek, że dalsze skrócenie kabelków poprawiło by całą sytuację.
Krótko mówiąc: lutujcie SIMM-a jak najbliżej miejsc, z których pobieracie sygnały i nie bawcie się z wyciąganiem rozszerzenia tak daleko jak ja to zrobiłem.


Miałem właśnie dla odmiany podobny problem z U1MB który objawił się dopiero w nieco rozbudowanej konfiguracji i związany był z długością taśm. Jeśli więc macie zestaw typu: Rapidus, VBXE, U1MB, IDE+ i coś tam, to ... no właśnie. Pewien znany tu elektronik poprawił mi całość tak, że wszystko działa, może uda mi się go namówić by upublicznił poprawki, może się to komuś do czegoś przyda.

Kontakt: pin@usdk.pl

3 Ostatnio edytowany przez Mq (2017-04-28 19:36:08)

No właśnie przydało by się żeby ktoś mądry napisał np. które to kabelki są istotne w skróceniu, a które nie, bo takiej informacji znaleźć nigdzie nie mogę. Linie danych i adresowe? A może sterujące? Ale które, wszystkie? No właśnie gdzie jest ten punkt krytyczny (jeżeli to o to chodzi w ogóle).
Ja już moje rozszerzenie tak zamontowałem, jak zamontowałem i na razie działa, ale z pewnym uniedogodnieniem (muszę rozgrzać trochę kompa). Spodziewam się jednak, że jak coś jeszcze dołożę to problem powróci.

4

Podeślę info "zainteresowanemu" ;)

Kontakt: pin@usdk.pl