Ich bin gerade dabei einen ausrangierten Psion 5MX/ Ericsson MC218 von 16 MB auf 32 MB RAM aufzurüsten.
Hauptplatine ist Rev. 2.0, wohl baugleich zum Psion Series 5MX/ Pro.
Mein Ziel ist es, dass das originale Ericsson-System (EPOC) die 32 MB in der Speicherübersicht erkennt.
Später soll optional ein PsiLinux per CompactFlash-Karte gebootet werden. Die passenden 8-MB-RAM-ICs (K4E641612E TSSOP-50) habe ich eingelötet.
Der MC218 bootet damit stabil in das originale OS, bleibt dort aber bei den standardmäßigen 16 MB stehen.
Allerdings verstehe ich die genaue Speicheradressierung und das Routing für meine ältere Revision 2.0 noch nicht komplett.
Laut dem Rev-3.0-Plan (Seite 5) sitzen direkt bei den RAM-Chips die Gatter IC20 (TC7SH00F) und IC21 (TC7SH02F) für die CAS-Signale. Auf meinem Rev. 2.0-Board sind diese 5-poligen SOT-Plätze komplett unbestückt/leer. Das deckt sich allerdings mit Fotos, die ich von originalen 32-MB-Pro-Platinen gesehen habe – dort sind die Plätze bei den RAMs ebenfalls leer.
Unter „Snowdrop Professional“ gibt es im Plan ein einzelnes NAND-Gatter (IC20) in der Nähe der MROM-Ecke (wo bei mir die beiden originalen Ericsson-System-ROMs „GEA4 V260“ sitzen). Ich habe versuchsweise dieses Gatter diskret mit zwei Dioden, einem NPN und Pull-Up) fliegend auf die Pads 3 (GND) und 5 (VCC) gesetzt. Das Gerät bootet damit einwandfrei mit 16 MB, schaltet aber nicht um.
In der Nähe des RS-232-Ports gibt es einen unbestückten 3-poligen SOT-23-Footprint. Da bin mir aber unsicher, was er genau tut.
Falls hier Psion-Experten unterwegs sind:
Würde beim originalen Ericsson-ROM überhaupt 32 MB RAM anzeigt werden? Oder ignoriert das unmodifizierte ROM stur alles über 16 MB, sodass ich zwingend direkt auf Linux gehen muss?
Müssen evtl. noch bestimmte Pads permanent gebrückt werden?
Ich würde mal RAS und CAS deines RAMs auf einen Oszi legen, und
einen Kaltstart des Systems machen. Eventuell hat der 5MX ja auch
eine eingebaute Diagnose, bei der man beim Kaltstart eine (any) Key
drücken muss, um sie zu aktivieren.
Die RAS und CAS-Signale des originalen RAMs, geben beim RAM-Test
sicher eine gute Referenz, wie die Zugriffsmuster aussehen müssten.
Du könntest das angedachte Linux ja auch jetzt schon auf eine
CF-Card schreiben, und den Körnel den RAM mal testen lassen.
Mein Psion Nachbau von Oregon Scientific hat nur 4 MB.
Alles was ich so an Software dafür habe, läuft damit ja auch.
Experte für Psions bin ich dadurch nicht geworden. ☺
Ich habe mal die LCAS Leitung von RAM3 ans Oszi gehängt. Beim Booten sieht man ziemlich wilde Nadeln, im Normalbetrieb sieht es viel ruhiger aus. Könnte das beim Booten eine Abfrage sein?
Die 4 RAMS sind wohl alle parallel geschaltet (Pin2/RAM1 hängt auf Pin2/RAM3… usw.)?
Vielleicht muss ich nur die beiden Gatter TC7SH00F/TC7SH02F einsetzen?
Hmm. Könnte es sein, dass das Oszi da nicht hinterherkommt? Ein 54501?
Eigentlich sollte man bei einem RAM-Zugriff eine ordentliche RAS-CAS-Sequenz sehen. Wenn es tatsächlich nur solche "Nadeln" sind, stimmt die
Ansteuerung noch nicht.
Auch bei einem RAM-Test wird "normal" zugegriffen.
Wenn du die passenden Gatter hast, dann bau sie doch ein.
Wenn der Schaltplanausschnitt IMG_7415.png die Bestückungsoption für mehr Speicher mit dem Codenamen "Windermere" zeigt, dann ist offensichtlich, daß die Gatter bestückt werden müssen, denn die erzeugen das Signal DRAMWEb4 ... ohne dieses wird ein Beschreiben des RAMs nicht funktionieren, und damit kann der Speichertest nicht herausfinden, daß da RAM vorhanden ist.
Wenn der Schaltplanausschnitt IMG_7415.png die Bestückungsoption für
mehr Speicher mit dem Codenamen "Windermere" zeigt, dann ist
offensichtlich, daß die Gatter bestückt werden müssen, denn die erzeugen
das Signal DRAMWEb4 ... ohne dieses wird ein Beschreiben des RAMs nicht
funktionieren, und damit kann der Speichertest nicht herausfinden, daß
da RAM vorhanden ist.
Auf dem Bild scheint aber R39 bestückt zu sein, damit dürfte IC20/21 entfallen und er hat die Windermere Rev2.
Hmm. Könnte es sein, dass das Oszi da nicht hinterherkommt? Ein
54501?
Bei einer Zeitablenkung von 50 µs/Skalenteil sind das nur wenige Pixel. Bei solchen alten Oszilloskopen gibt es noch keine ordentliche Überlagerung bzw. Minimum-Maximum-Erfassung. Bei z.B. 50 bis 500 ns/Skt. sähen die Impulse sicherlich halbwegs plausibel aus.
Hmm. Könnte es sein, dass das Oszi da nicht hinterherkommt? Ein
54501?
Bei einer Zeitablenkung von 50 µs/Skalenteil sind das nur wenige Pixel.
Bei solchen alten Oszilloskopen gibt es noch keine ordentliche
Überlagerung bzw. Minimum-Maximum-Erfassung. Bei z.B. 50 bis 500 ns/Skt.
sähen die Impulse sicherlich halbwegs plausibel aus.
Richtig,
Eine vernünftige Zeitbasis muss man schon einstellen. Bei 50 µs/div geht u.U. auch die Samplerate in den Keller im normalen Acquisitionmode.
Also die Signale sind schon ziemlich übel, da würde ich lieber erst mal dafür sorgen, dass das besser gemessen wird.
RAS und CAS kann an allen RAMs anliegen, auch wenn sie nicht angesprochen/verwendet werden (refresh). Ich würde mal bei OE und WE anfangen. Wenn OE nie high wird, dann wird auch nie gelesen, wenn WE nie high wird, dann wird nie geschrieben.
OE muss an einem Adressdecodierer hängen, verfolg mal den Weg.
RAS und CAS kann an allen RAMs anliegen, auch wenn sie nicht
angesprochen/verwendet werden (refresh). Ich würde mal bei OE und WE
anfangen. Wenn OE nie high wird, ...
Das wäre für einen Handheld, der sparsam mit Energie umgeht, ein
arger Designfehler. RAS, CAS sollten schon auf die einzelnen
Speicherbereiche des RAM ausdekodiert sein.
RAS, CAS sollten schon auf die einzelnen
Speicherbereiche des RAM ausdekodiert sein.
Wenn das RAM nicht bestückt ist, ist es eher egal.
Wenn das RAM bestückt ist, braucht man RAS und/oder CAS fürs refresh, unabhängig davon wo das RAM im Adressraum liegt.
RAS, CAS sollten schon auf die einzelnen
Speicherbereiche des RAM ausdekodiert sein.
Wenn das RAM nicht bestückt ist, ist es eher egal.
Wenn das RAM bestückt ist, braucht man RAS und/oder CAS fürs refresh,
unabhängig davon wo das RAM im Adressraum liegt.
Refresh ist ja eine Extrawurst für DRAMs, und wird üblicherweise
auch sonderbehandelt.
Trotzdem wäre es wohl ziemlich doof, wenn der erweiterte Speicher
seinen Energieappetit verdoppelt, nur weil der RAM-Zugriff über OE
ausdekodiert wird, und energetisch teure Zugriffe deshalb
verworfen werden.
Nicht bestückter RAM ist natürlich besonders sparsam. ☺
Das bringt alles nichts, wenn der TO weder willens noch in der Lage ist, die grundlegenden Signale der Speichererweiterung zu überprüfen.
Ich vermute, dass beim booten in den erweiterten Speicher geschrieben wird und wenn dann das Gleiche zurückkommt auch verwendet wird. Dann müsste zumindest einmal RAS, CAS, OE und WR wackeln. Fehlt eines der Signale, dann muss er rausfinden warum.
RAS sehe ich auch. Dann fehlt doch eigentlich kein Signal.
Ja, da hab ich mich nicht ordentlich ausgedrückt. Also, mir ist nicht klar, ob die Bilder vom erweiterten Speicher sind.
Ich beziehe mich auf den Schaltplanausschnitt oben. Da gibts zwei CAS, LCAS und UCAS. Die find ich nicht. Was am TP27 erscheint (wohl nichts) wäre auch interessant.
Es wäre auch schon sehr hilfreich zu wissen, ob das Signal von IMG_7531.jpeg wirklich so gruselig ist.
Ein Einkanal-Oszilloskop ist zur Funktionsprüfung von (S)DRAM nur wenig besser geeignet als ein Voltmeter.
Man kann zwar sehen, wie einzelne Signalverläufe dargestellt werden, aber schon das "gruselige" kann durchaus am verwendeten Tastkopf und vor allem dessen Masseverbindung liegen.
Ich habe nun versucht, das Ganze mit vier Tastköpfen zu messen.
WRITE, RAS, OE, LCAS (von oben nach unten, RAS ist ganz unten). Gemessen wurde am neu verbauten RAM Nr. 3.
Beim Booten sehe ich deutlich mehr Aktivität als im normalen Betrieb. Das letzte Bild zeigt den Normalbetrieb.
Ich habe nun versucht, das Ganze mit vier Tastköpfen zu messen.
Ein großer Schritt in die richtige Richtung. Noch schöner wäre eine einheitliche Einstellung von 5V/Div gewesen, dann lägen die Kurven nicht alle übereinander.
... eine
einheitliche Einstellung von 5V/Div gewesen, dann lägen die Kurven nicht
alle übereinander.
Die Wahl vernünftiger Ablenkfaktoren, ist fast nur ein kosmetisches
Detail. Eine viel wichtigere Einstellung ist auch falsch gewählt,
und dem Messzweck nicht angemessen.
Hoffentlich ist deine Glaskugel bei guter Gesundheit.
WRITE, RAS, OE, LCAS (von oben nach unten, RAS ist ganz unten).
wie denn nun? WR OE CAS RAS?
Sieht im Schaltplanausschnitt nach einem SDRAM aus: da braucht man noch den Takt. RAS, CAS, WE, OE/DQM bilden Commands. Wie auch immer, wenn die Leitung ganz unten RAS ist, wird der Chip nicht angesprochen. Im Zustand "activate" muss der 0 sein, bei "read" oder "write" 1. Der scheint aber immer auf einen Pegel zu sein, fängt sich nur das Geräusch wegen unzureichender Masse am Tastkopf ein.
Der VLC konnte es lesen: in dem 100 MByte-Video gibt es zwei Bilder, wo sich auf RAS etwas tut: Sekunde 10 und 14. Soll von einem SDRAM gelesen oder geschrieben werden, muss zuerst das ACTIVE-Command kommen. RAS=Low, CAS=High, WE=High
Das passiert im Video nie. Während RAS=low ist auch CAS=low. Müsste der Auto-Refresh sein.
Edit: du könntest auf die steigende Flanke von RAS triggern, da bekommst du sehr viel mehr nützliche Anzeige auf deinem Scope. Triggerposition weiter nach links, falls das geht. Dann siehst du noch die auf ACTIVE folgenden Commands. OE ist bei einem SDRAM nicht so spannend, eher schon CLK oder eine Datenleitung.
So wie es jetzt aussieht, wird das SDRAM nicht angesprochen. Kann aber auch an der lückenhaften Triggerung liegen. Da hilft kein Gigabyte-Video. Besser den oben genannten Trigger nutzen und falls möglich, noch mit CAS=high verknüpfen.
auch falsch gewählt,
und dem Messzweck nicht angemessen.
Und die richtige Einstellung wäre?
Was dir fehlt, ist ein komplettes Studium des Bedienhandbuchs.
Inklusive begleitender praktischer Messübungen.
Mit einem "Tipp" würdest du dich hier nur weiter "durchschnorren".
Die aufgenommen Oszillogramme sind in erster Linie für dich selbst
bestimmt. Um daraus die richtigen Schlussfolgerungen zu ziehen.
Was du bislang abgelieft hast, erinnert mich fatal an die Arbeitsweise
mancher Informatiker, deren Arbeitsergebnisse eben nur formal den
Anforderungen entsprechen, aber praktisch wertlos sind.
Denen die dir noch helfen, kann ich nur sagen, dass die Darstellungen
beliebig falsch sein können, und keinen Bezug zu tatsächlichen
Signalen haben müssen. Hilfe ist da eure vergeudete Zeit.