Tester für 2114 RAMs auf Arduino Basis

  • Hallo Leute,


    weil ich gerade dabei bin einen PET 2001 zu reparieren, brauchte ich auf die Schnelle einen RAM Tester, um die 16 Stück 2114 Käferchen zu checken. Da ich im Netz nichts finden konnte, was sich auf die Schnelle mit den bei mir vorhandenen Mitteln nachbauen lies, habe ich kurzerhand selbst einen solchen Tester gebaut.


    Damit kann man momentan einzig und allein 2114 RAM Chips testen. Die sind bekannt aus CBM Rechnern, dem VC20, C64 (Farbram) und sicher noch vielen weiteren 8-Bit Rechnern und Konsolen älterer Bauart. Die Unterstützung anderer RAM-Bausteine ist denkbar, ist aber eine momentan ungelöste Software-Frage.


    Der Test nimmt nur wenige Sekunden in Anspruch. Das Ergebnis wird per Blinkcode mitgeteilt. Wer es genauer wissen will kann per USB auch eine serielle Konsole anschließen und bekommt dann die fehlerhaften Speicherzellen angezeigt.


    Das Teil basiert auf einem Arduino Nano 3, welcher als Clon für wenige Euro bei eBay zu haben ist. Die Adapterplatine ist bei mir per Lochraster realisiert. Eine "richtige" Platine ist in der Mache.


    Im Forum 64 findet sich eine genauere Beschreibung und auch ein Interessensbekundungsthread, damit wir heraus finden, wie groß das Interesse für eine Sammelbestellung wäre. Preise liegen wegen fehlender Stückzahlangaben noch nicht vor, aber das wird sicher nicht so teuer.


    Wer Interesse an dem Teil hat, der sollte sich in dem oben verlinkten Thread melden. Bei genug Zuspruch gibt es das Teil dann bald in einer Sammelbestellung. :-)

  • Einen Stand-Alone Tester finde ich eine prima Idee.

    Vielleicht macht sich jemand die Arbeit, das Teil noch auf weitere SRAMs zu erweitern?

    6116 (2K x 8 ) und 6264 (8K x 8 ) sind in diversen alten Rechnern anzutreffen, bei etwas neueren auch 62256 (32K x 8 ).


    DRAM wäre natürlich auch was feines, aber das ist eine ganz andere Baustelle.

  • Über Handy kann ich hier schlecht links rein kopieren. Aber ich kenne mind. Zwei weitere Seiten dazu. Auch mit Arduino. Eins mit Mega2650 und auch für 2114.

    Eins war für 2111/2.


    Sollten sich ergoogeln lassen.


    Der TL866 kann auch einige Srams testen.


    Peter

  • Ich glaube diese Links habe ich bei meiner Suche auch gefunden. Der auf Basis des mega256 hat mich am meisten inspiriert. Aber da ich hier nur einen Nano hatte, war sowieso alles neu zu machen.

    Der zweite Link beinhaltete leider nur warme Luft. Kein Schaltplan, keine Software, nichts.

    Stimmt: Für die großen RAMs geht auch ein tl866. Leider kann der aber die 2114er nicht.

  • Der hinter dem ersten Link unterstützt ja sogar MOS 6550.

    Das finde ich mal richtig gut, da diese Dinger Phi2 benötigen.

    Außer direkt im PET war mir dafür bisher nichts bekannt.


    Bei 'Testing DRAM, One Byte At A Time' hatte ich sofort Zweifel, weil man ein DRAM so nicht sinnvoll testen kann.

    Trotzdem habe ich ein paar Zeilen gelesen, und siehe da, das kommt dort noch schlimmer:

    Die Jungs schreiben und lesen in einem durch und sparen sich so den Refresh.

    Daß man für DRAM auch einen Refresh Test macht, haben die total verpeilt.


    Ein ordentlicher DRAM Test erfordert einigen Aufwand.

    Ob das in diesem Projekt mit unterzubringen ist, ist eine ganz andere Frage.

  • Bezüglich (D)RAM Tester habe ich angefangen, denn auf Seite 33 im Anhang befindlichen Tester nachzubauen. Ob das Sinn macht oder nicht sei mal dahin gestellt. Ich fand/finde das spannend.


    Allerdings stimmt zumindest bei dem einen PAL das Equation Listing nicht. Ich habe zwar versucht den Fehler zu bereinigen, mangels PAL Brenner das aber noch nicht getestet. Vielleicht gibt es ja hier einen PAL/GAL Spezi, der schauen könnte ob meine Anpassungen Sinn ergeben und somit korrekt sind.


    Radio_Electronics_May_1991.pdf

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    ::matrix::

  • Allerdings stimmt zumindest bei dem einen PAL das Equation Listing nicht. Ich habe zwar versucht den Fehler zu bereinigen, mangels PAL Brenner das aber noch nicht getestet. Vielleicht gibt es ja hier einen PAL/GAL Spezi, der schauen könnte ob meine Anpassungen Sinn ergeben und somit korrekt sind.

    Kann ich gerne mal versuchen.

    Aber vielleicht erklaerst du mal genauer, was nicht stimmt.


    Unabhaengig vom dem solltest du GAL16V8 statt den PALs verwenden. Ich weiss nicht, ob du die PALs noch beschaffen kannst.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • PALs gibt's ziemlich sicher nirgendwo mehr, und wenn doch (z.B. hier), muss man genau den Typen erwischen, der jeweils kombinatorische oder Register-Logik kann. Sollte aber ein GAL16V8 alles können - Ausserdem kann man sich mit dem auch noch ein paar Probeschüssse erlauben.....

    Das Datenblatt vom 16V8 hat viele Beispiele, wie man das GAL dazu bringt, ein bestimmtes PAL zu imitieren. Davon kann man auch gleich 10 Stück kaufen, die kann man immer brauchen.


    Tobias

  • Also PALs habe ich bekommen... aber das ist ein anderes Thema. Zu den Equations schreibe ich funkenzupfer mal direkt per Kommunikation an.

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    ::matrix::

  • Ich habe mich mal mit Helmut zu dem Thema ausgetauscht.

    Fazit: Ein total kaputtes RAM wird man damit zwar finden, um einem RAM zu bescheinigen, daß es in Ordnung ist, ist das ganze nicht geeignet.


    Man kann damit nicht erkennen, ob das RAM gültige Pegel liefert. Hier könnte man mit Pullup-/Pulldownwiderständen evtl. noch was machen.

    Das größere Problem ist aber, daß mit einem Mikrocontroller das Timingverhalten des RAMs nicht geprüft werden kann. Dafür ist der viel zu langsam.

    Mit zusätzlichem Schaltungsaufwand wäre da evtl. was zu machen.

  • Weshalb meinst du, haben damals schon (zu 4164 Zeiten) anstaendige RAM-Tester 4-stellige Betraege gekostet?

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Man kann damit nicht erkennen, ob das RAM gültige Pegel liefert. Hier könnte man mit Pullup-/Pulldownwiderständen evtl. noch was machen.

    Also, die Pegel der Datenleitungstreiber sind nicht wirklich ein Problem. Beim 2114 sind es eh nur vier Datenleitungen, die mit

    wenigen Bitkombinationen und einem Vierkanaler-Oszi gecheckt werden könnten. Lese-und Chipselect-Leitungen aktiviert lassen,

    was mittels Port-Ansteuerung natürlich einfach möglich ist.

  • Mit einem Oszi geht das natürlich. Aber wenn ich das dazu brauche, macht das ganze Ding für kaum mehr Sinn.

    Denn dann bin ich eh in der 'Werkstatt', und kann den Test im entsprechenden Rechner durchführen.

    So ein Mini-Tester hätte aus meiner Sicht nur den Vorteil, daß er leicht transportabel wäre, und sich somit auch für den Test 'unterwegs' geeignet wäre, am besten noch mit Batteriebetrieb.

  • Dann vielleicht sowas.


    Quick and Dirty:


    Sehr schneller Prozessor z.B WDC 65C02 mit 14MHz mit Adressraum, schnelles Eprom (35-45ns Zugriffszeit), Sockel

    für alle RAM-Typen im Adressbereich unterbringen, aktivieren über Jumper, Prozessor manipuliert

    den eigenen Clock (PLL, sychronisiertes Umschalten) und damit die Zugriffszeiten auf das RAM, Testroutinen im Eprom, Ergebnissausgabe über Latch- Einfache-LED-Anzeige, Batteriebetrieb.


    Kam mir gerade so in den Sinn :idea:.

  • Oder man steckt sie einfach auf eine C64- oder PET-Platine mit Sockel.

    Wenn ich für jeden Chip, der sich hier auf meinen diversen Commodore-Boards findet, so einen Aufwand treiben wöllte, wird's kostspielig.


    Ich nutze solche einfachen Testadapter, um Bausteine vorzutesten, bevor ich sie auf ein Board draufstecke. Damit ich mir nicht das Board mit defekten Chips oder China-Dummys ruiniere. Ob das Timing und andere Parameter passen, sehe ich dann im Betrieb oder mit einem RAM-Test auf dem jeweiligen Board.

  • Weil hier ja auch gewisses interesse vorhanden war nochmal als Hinweis:


    Der RAM-Tester ist mittlerweile fertig und wird ausgeliefert. Ein zweites Batch wird auch noch aufgelegt. Man kann sich also noch auf die Liste setzen lassen.


    Der Tester kann jetzt neben den urspruenglichen 2114 RAMs (4x1k SRAM z.B. fuer PET oder C64 Farbram) kann er jetzt auch DRAMs der Typen 1x64k, 12x256k, 4x16k und 4x64k durchklingeln. Der DRAM Test ist sicherlich kein vollwertiger RAM-Test, aber gut genug, um zu checken, ob das fragliche Teil noch irgend was macht.


    Da die Sourcen offen verfuegbar sind kann ja jeder, der sich berufen fuehlt, einen besseren Test programmieren. ;-)