Psion 5MX/ MC218 - 32MB RAM Upgrade

OP #8109207

Hallo Leute,

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.

Ich versuche gerade, das Ganze anhand des bekannten Rev-3.0-Schaltplans nachzuvollziehen (https://variable1471.github.io/snowdrop/Psion_Series_5_HW_schematic_V3.00.pdf)

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?

Viele Grüße, Alex

Angehängte Dateien:

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. ☺

OP

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?

Angehängte Dateien:

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.

Harald K. schrieb:

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.

(Firma: Schweigstill IT) Persönliche Seite

Cartman E. schrieb:

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.

Andreas S. schrieb:

Cartman E. schrieb:

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.

Alexander H. schrieb:

Ich nutze ein 54512B. Hab das jetzt mal auf 200ns eingestellt - beim Booten sehe ich auf LCAS drei Pulse, im Betrieb meistens nur einen.

Hast du einen 10:1-Tastkopf benutzt? Solltest du.

Leider hast du nicht dazu geschrieben an welchem LCAS.

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.

Nick schrieb:

Alexander H. schrieb:

So, ich hab nun nochmal mit 10:1 Tastkopf gemessen (50ns).

Und auch abgeglichen? Das Geklingle in IMG_7532 würde mir Sorge machen. Ja, ich kenne TTL-Signale von gefädelten Platinen ...

Wenn das GND weit weg vom PE kommt, klingelts halt. ☺
Man muss halt mit einem TK auch umgehen können.

Nick schrieb:

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.

Nick schrieb:

Cartman E. schrieb:

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.

Alexander H. schrieb:

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.

Harald K. schrieb:

Ein Einkanal-Oszilloskop ist zur Funktionsprüfung von (S)DRAM nur wenig besser geeignet als ein Voltmeter.

Ein 54512B hat wie das 54501 vier Kanäle. Es ist nur ein wenig fixer. Kaum zu glauben das man auch früher schon Geräte mit vier Kanälen gebaut hat.

Aber vmtl. hat der TO nur einen Tastkopf. ☺

Das der TO scheinbar grundsätzlich immer die Orte der Signalentnahme geheimhält, hatte ich schon bemängelt.

OP

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.

Angehängte Dateien:
: Bearbeitet durch User

Wulf D. schrieb:

... 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.

Cartman E. schrieb:

Hoffentlich ist deine Glaskugel bei guter Gesundheit.

wirklich schwer zu lesen.

Alexander H. schrieb:

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.

OP

Cartman E. schrieb:

auch falsch gewählt, und dem Messzweck nicht angemessen.

Und die richtige Einstellung wäre? Ich nutze 4x 10:1 Tastköpfe (intern auch umgestellt). Hab mal ein Video vom Einschaltvorgang gemacht.

RAS (nun in korrekter Reihenfolge WRITE, RAS, OE, LCAS von oben nach unten) ist high, geht ab und zu auf low.

Angehängte Dateien:

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.

Angehängte Dateien:
: Bearbeitet durch User

Alexander H. schrieb:

Cartman E. schrieb:

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.

Antwort schreiben

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.