Speichertester für SRAM und DRAM Chips mit ATmega2560/2561 (Rev. 6)

Seit einem halben Jahr entwickle ich an meinen SRAM- und DRAM-Testern für den Arduino Mega 2560. Jetzt bin ich dazu gekommen die sechste Inkarnation aufzubauen, die folgende Features aufweist:

  • Es ist kein Arduino mehr notwendig.
  • SRAMs und DRAMs können auf einem Board getestet werden.
  • Versorgungsspannungen (12V, 5V und -5V), z.B. für den 4116, werden auf dem Board erzeugt.

Da der ATmega2560 in einem TQFP-100A Gehäuse ausgeliefert wird, habe ich mich entschlossen zwei Designs anzufertigen, eines für einen ATmega2560 und eines für einen ATmega2561. Letzterer wird in einem TQFP-64 Gehäuse geliefert, welches sehr viel einfacher von Hand zu lösten ist.

SRAM-DRAM Tester

Getestet werden können folgende SRAMs:

1k x 1: 2102
1k x 4: 2114, 2148, 2149, 4045, 5114, 6514, C214, U224
1k x 4: 6550
1k x 8: 4118, 4801
2k x 8: 2016, 4016, 4802, 4812, 6116, 6512
8k x 8: 2064, 2464, 6264, 2465
32k x 8: 20256, 61256, 62256, 71256

und diese DRAMs:

4k x 1: 2104A, 4015, 4027, 7027
8k x 1: 4108-x0, 4108-x1
16k x 1: 4116, 2117, 6116, 8116, 416, 2116, 3716, U256
16k x 1: 2118, K565RU6
16k x 4: 4416, 2620
32k x 1: 3732H (4532-L4) und 3732L (4532-L3), 4532
64k x 1: 4164, 2600, K565RU5, 8264, 3764
64k x 4: 4464, 41464, 50464
256k x 1: 41256, 53256, 81256, MT1259 883C
256k x 4: 44256, 514256
1024k x 1: 41024, 411000

Test eines 4416 DRAM

Als Bonus kann über den Inhalt von EPROMs der Typen 2716, 2732, 2764, 27128, 27256 und 27512 eine CRC32 angezeigt werden. Diese kann mit einem vorliegenden ROM-Image verglichen werden, um zu sehen ob der Inhalt identisch ist.

Mehr Informationen zu diesem Projekt sind hier zu finden.

TheC64: Die Auslieferung beginnt

In den 1980er Jahren war er der Renner: Der Commodore 64. Er wurde auf der CES 1982 vorgestellt und Commodore knackt mit ihm den Jackpot. In nur zwei Jahren nach Markteinführung, bricht Commodore alle Rekorde mit 4 Mio. verkauften Rechner weltweit und sogar bis heute ist der C64 der bestverkaufte Heimcomputer mit über 17 Millionen Geräten. Selbst heute noch gibt es zahlreiche Entwicklungen rund um den C64 und im voll im Retro sind derzeit Neuauflagen im Mini-Format, wie das NES Mini, SNES Mini und VCS Mini.

Am 29. März 2018 erschien eine weitere (Mini-)Neuauflage unter dem Namen TheC64 mini. Entstanden war der Mini aus einer fehlgeschlagenen indiegogo Kampagne. Trotz verfehltem Finanzierungsziel veröffentlicht nun der Entwickler Retro Games – wenn auch etwas verspätet – zusammen mit dem Distributor Koch Media die kleine Konsole.

Weiter >

Speichertester für DRAM Chips für Arduino Mega 2560 (Rev. 4)

Vor drei Monaten stellte ich die Rev. 3 meines Speichertesters für DRAMs vor. Diese benötigte noch ein externes Netzteils um die drei Versorgungsspannungen +12V, +5V und -5V für die 4116 Chips zu erzeugen.

Die Rev. 4 erzeugt die benötigten Versorgungsspannungen nun selbst aus einer Eingangsspannung von ca. 5-12V. Hierzu werden aus der Eingangsspannung zunächst ungefähr 16V und -16V erzeugt, die dann mit Linarreglern auf +12V, +5V und -5V reduziert werden.

Eine weitere Revision ist bereits in Entwicklung: Diese soll komplett auf den Arduino Mega 2560 verzichten, die gesamte Elektronik auf einer Platine haben und zudem SRAMs und DRAMs gleichermaßen testen können (es entfallen also die zwei separaten Platinen für SRAMs und DRAMs).

Es gibt allerdings einen Haken: Das TQFP-100A Gehäuse ist nicht leicht von Hand zu löten.

ATmega328P Development Board

Für kleinere Basteleien habe ich ein eigenes günstiges ATmega328P Board entwickelt. Es werden nur wenige Komponenten benötigt, so dass das Board nur ein paar Euro kostet. Die Pin-Leisten sind zwar kompatibel zum Arduino Uno, da aber kein USB-auf-Seriell Chip verwendet wird, muss der ATmega per ISP programmiert werden. Es gibt hierzu etliche günstige Programmierer zu kaufen (z.B. diesen hier bei Amazon), die von der Arduino IDE unterstützt werden (anstelle von „Hochladen“ wird „Hochladen mir Programmer“ verwendet).

Wer Interesse an dem Board hat, findet hier die Gerber-Dateien.

Z80 CPU Tester als Arduino-Shield

Vor ein paar Wochen stolperte ich über Goran Devics Website. Goran beschriebt dort eine Möglichkeit mit einem Arduino eine Z80 CPU zu steuern. Die Idee fand ich so interessant, dass ich ein Arduino-Shield für den Mega 2560 entwarf, seine Software entsprechend anpasste und um einige Funktionen erweiterte, z.B. kann die Länge des Taktzyklus eingestellt werden und vorgegebene Testprogramme können geladen werden. Damit auch ein Betrieb ohne serielle Konsole möglich ist, kann zusätzlich ein LCD Display angeschlossen werden.

Das folgende Video zeigt, wie die CPU ein kleines Programm schrittweise abarbeitet (200msec pro Taktzyklus).

Z80 CPU Tester

Das Display wird aktuell noch nicht verwendet. Anstelle eines teuren ZIF-Sockels kann auch ein Präzisionssockel verwendet werden. Die Bauteilkosten liegen jeweils bei ca. 5-6 EUR zzgl. Platine. Sofern ich noch Platinen übrig habe, gebe ich die gerne zum Selbstkostenpreis ab. Über eine Rückmeldung würde ich mich sehr freuen. Auch Verbesserungsvorschläge sind sehr willkommen.

Update 24.1.2020

Ab der Version 2.1 kann in einem simulierten Videospeicher geschrieben werden, dessen Inhalt dann auf einem LCD2004 angezeigt wird. Zusätzlich können die beiden Taster abgefragt werden.

Z80 CPU Tester mit Display

Wer den Z80 CPU Tester nachbauen möchte findet hier die Gerber-Daten und den Quellcode zum Download.

Z80 / 6502 CPU NOP-Generator zum Selberbauen

Oft steht man vor dem Problem schnell die CPU eines nicht funktionierenden Computers testen zu wollen. Zwar kann man diese auch in einen anderen Computer einbauen und so prüfen, ob dieser mit der CPU startet, aber bequem ist anders.

Z80 NOP Generator

Mit einem NOP-Generator ist es möglich schnell optisch zu prüfen, ob eine CPU generell noch in der Lage ist Kommandos auszuführen. Der Generator liefert der CPU bei jedem Speicherzugriff ein NOP („No Operation“) Kommando, d.h. im Idealfall zählt die CPU einfach die Adressen hoch. Durch LEDs wird dabei der Zustand der Adressleitungen visualisiert. Zählen die Adressen binär hoch, was gut an den LEDs zu verfolgen ist, ist die CPU mit hoher Wahrscheinlichkeit in Ordnung. Leuchten nach einem Reset einige LEDs dauerhaft (oder auch gar nicht), ist die CPU sehr wahrscheinlich defekt.

Das folgende Video zeigt, wie der Test für eine funktionsfähige CPU aussieht.

Z80 CPU NOP-Generator

Weiter >

Speichertester für DRAM Chips für Arduino Mega 2560

Nachdem mein Speichertester für SRAMs wie gewünscht funktioniert, ging es an mein zweites Arduino Shield zum Testen von DRAMs. Mit dem können die folgenden DRAMs getestet werden:

4k x 1: 2104A, 4015, 4027, 7027
16k x 1: 4116, 2117, 6116, 8116, 416, 2116, 3716, U256
16k x 1: 2118
16k x 4: 4416, 2620
32k x 1: 3732H (4532-L4) und 3732L (4532-L3)
64k x 1: 4164, 2600, K565RU5, 8264, 3764
64k x 4: 4464, 41464, 50464
256k x 1: 41256, 53256, 81256, MT1259 883C
256k x 4: 44256, 514256
1024k x 1: 41024, 411000

Theoretisch sollten auch alle anderen DRAMs getestet werden können, die eine identische Pinbelegung besitzen. Das folgende Video zeigt die Funktionsweise des Testers mit einem fehlerhaften 4116.

Fehlgeschlagener Speichertest eines 4116

Damit auch 4116 Chips getestet werden können, besitzt das Shield eine Pfostenleiste für die Versorgungsspannungen +5V, +12V und -5V. In dem Video kommt ein umgebautes ATX-Netzteil zum Einsatz, welches diese Versorgungsspannungen stabil liefert.

Speichertester für SRAM Chips für Arduino Mega 2560

Die überarbeitete Version meines Speichertesters ist nun fertig. Getestet werden können die folgenden SRAMs:

1k x 1: 2102
1k x 4: 2114, 2148, 2149, 5114, 6514, C214, U224
1k x 4: 6550
1k x 8: 4118, 4801
2k x 8: 2016, 4016, 4802, 4812, 6116, 6512
8k x 8: 2064, 2464, 6264, 2465
32k x 8: 20256, 61256, 62256, 71256

Theoretisch sollten auch alle anderen SRAMs getestet werden können, die eine identische Pinbelegung besitzen. Das folgende Video zeigt die Funktionsweise des Testers mit einem fehlerfreien 2102.

Erfolgreicher Speichertest eines 2102

Weiter >