DRAM teszter kerestetik

Ha az ember sokat javít processzoros rendszereket, bizony sokszor fut bele RAM meghibásodásba legyen szó régi 8 bites retro gépekről, vagy akár egyedi építésű dolgokról, vagy PC-ről. A hosszú évek gyűjtői munkájának eredménye az a pár marék DRAM chip is ami összegyűlt innen-onnan, persze mind teszteletlen. A hiba felderítésnél is jól jönne egy készülék amivel tesztelni lehet a memóriákat valóban hibásak-e? Persze ha van egy jó teszt gépünk, abba be lehet rakni egy diagnosztikai programmal tesztelni lehet, de ez meglehetősen macera, és a sokféle RAM chip se egyszerűsíti a dolgunkat. Beépítés előtt is célszerű lenne tesztelni hogy tuti jó-e a chip még mielőtt hibás következtetést vonunk le.

Száz szónak is egy a vége, kell egy memória teszter készülék ami megkönnyíti a dolgunkat, és teszteli a gyakori 1, és 4 bites DRAM chipeket: 4116…41256, 41464…414256! Node milyet, melyiket, és honnan? Ezeket a kérdéseket jártam körbe, és adom át az eredményeimet.

Gyári megoldások

Először a gyári megoldásokat vettem nagyító alá, kezdve a fiókomban lévő dolgokkal:

MiniPRO TL-866A

(Kép: AliExpress)

A MiniPro programozó és teszter egy nagyon sokoldalú készülék, alapvetően EPROM/EEPROM programozó, de tud mindenféle mikrokontrollert is égetni, valamint TTL/CMOS logikai chipeket tesztelni, de RAM memóriát is, összesen kb. 14000 chipet ismer.
Sajnos DRAM-ot nem tud tesztelni, csak néhány alap SRAM-ot ismer: 6116-628512. Ez sajnos nem jó jelen esetben, kerestem tovább!

Megjegyzés: Van egy hegynyi SRAM chipem, főleg 32-64KB méretűek, ezeket sikeresen teszteltem a Minipro-val, ezekhez nagyon jó!

Professzionális teszterek

Néztem néhány profi tesztert is, de ezek főleg az újabb SD/DDRx memóriákat tesztelték, és drágák voltak (1000-3000$) szóval nem jöttek számításba.

Egyedi tervezésű DIY

Egyedi tervezésű teszterből már akad bőven, szét is néztem milyen alapvető tervek vannak, hátha megépíteném valamelyiket. Mind mikrokontrolleres alapú, az egyik tábor PIC kontrollerrel csinálja, ezek szoftvere elég minimalista, és általában csak egyetlen egy típusú chipet tesztel, és elég kiforratlan a szoftvere. A másik népesebb tábor az Arduino fejlesztőpanelt használja, amin Atmel chip van, és C alapú fejlesztői környezetet ad, sok kódkönyvtárral, így a fejlesztés is sokkal könnyebb, viszont ezen a téren ebből adódik a hátránya is, mert sok alaprutint szúr bele a kódba a fordító, így az I/O kezelése sajnos sokkal lassabb mint a PIC assemblerrel.

Ígéretesebb tervek Arduinoval

C64 Test Tools (jamarju)
https://github.com/jamarju/c64_test_tools

Ez egy komplex, több tesztből álló Arduino alapú próbapanelos terv. Nem csak 4164, hanem 41464-et is képes tesztelni Arduino Mega-val, valamint ROM/PLA chipet is tesztel.
Kipróbáltam a 41464 tesztert, de sajnos nekem nem működött, az I/O kezelése nem volt megfelelő, lehet hogy a kínai Mega board nem volt kompatibilis. A szoftverében még nem kerestem hibát, esetleg a jövőben sor kerülhet rá.

Amiga DRAM chip tester for HYB-514256B with Arduino UNO
https://github.com/ProjectDRAM/514256B

Ez egy érdekes terv, hasonló az előzőhöz, de még nem próbáltam, a szerző szerint is elég kezdeti stádiumban van a szoftvere, valamint mint később kiderült a technológia nem hozza az elvárt eredményt. Az I/O-t nem teszteli, hibás RAM esetén akár tönkre is mehet az Arduino. Szintén próbapanelos.

DRAMDuino
https://forum.defence-force.org/viewtopic.php?p=15035&sid=17bf402b9c2fd97c8779668b8dde2044

Egy gyakorlati megvalósítás (Kép: eBay)

Jelenleg ez a terv a legelterjedtebb, 4164-41256 chipeket tesztel, és egy nagyon olcsó Arduino Uno alaplapot használ a szintén eredetileg próbapanelos terv. A szoftvere nagyon összeszedett, letisztult, úgyhogy adtam neki egy esélyt. Ezt a tervet használják a legtöbb eBay-en árult memória teszternél is. Már létezik 4116-4132 chipet tesztelő változat is, ami előállítja a szükséges -5V, és -12V feszültségeket is a chipnek.

Számos változat elérhető (Kép: eBay)

Gyakorlati tesztelése

Nosza, össze is raktam egy próbapanelon, és felprogramoztam az UNO-t. A tesztek igen ígéretesek voltak, de később találtam szoftverfrissítést is hozzá, így már megbízhatóbban működött. Leteszteltem az összes 4164-es chipemet, úgy néz ki jók.
A kezelése egyszerű, a chip behelyezése után célszerű tápfeszültséget adni a készüléknek, mert állandóra van kötve a RAM tápfesz lába. Ezután elkezd villogni a zöld LED, valamint a soros terminálon (amennyiben rádugjuk PC-re) kiírja a teszt állapotát, meg hogy melyik tesztet milyen tartományban végzi. Ha talál hibát a piros LED világít, a terminál pedig kiírja a hiba helyét. Ha nincs hiba a zöld LED világít folyamatosan. 1 tesztciklus 1-1,5 perc.

Munkaasztalom, készül a szerkezet
Memória tesztelése…

Üröm az örömben

Az összes eddigi készülék közül ez bizonyult eddig a legjobbnak, teszi a dolgát, viszont -ahogy azt a szerző is kiemeli- nem hajtja ki a RAM-ot a legnagyobb sebességgel, sőt! Méréseim szerint igencsak az alján botlatozik, ezért ennél a teszternél azt lehet megállapítani, hogy a DRAM működőképes, hiba, felejtés nincs alacsony sebességnél.
Van egy logikai analizátorom amivel kimértem, hogy kb. 15KHz-es cikussal ír/olvas, ami a C64 1MHz-éhez képest is harmatos, de a 4MHz-es Z80-al is elketyegnek ezek a RAM-ok…

Szerintem ebben a fejlesztőkörnyezetben nem nagyon lehet növelni a sebességet, csak ha átírjuk Atmel assemblerre az egészet, és optimalizáljuk… Alapvetően azért ad némi eredményt, ha jónak veszi a teszter a chipet, nagy a valószínűsége hogy működni fog a célkészülékben is. Szóval ha hirtelen kell egy memóriateszter, ezt javasolom összerakni ha van a fiókban egy 5$ Arduino meg némi drót.
A terveket itt találjátok:

Egyéb mikrokontrolleres készülék

ST ARM MCU alapú 4116/4532/4164/41256 DRAM Tester
https://www.ebay.com/itm/4116-4532-4164-41256-DRAM-Tester-for-ZX-Spectrum-C64-other-retro-computers/124630456320?hash=item1d048dd800:g:VQEAAOSwNwpgV4a4

Kép: eBay

Ezt a készüléket a eBay-en találtam, azt írták róla, hogy 60MHz-es MCU van benne, és kihajtja a RAM chipeket közel maximális sebességig ami az adatlapon van, ezen felül sokféle chipet ismer. Valami ilyesmit képzelek el magamnak is, csak még kéne 4 bites memóriákat is tesztelnie, mert Amigába meg az kell :).

Megjegyzés: Megérkezett a készülék Angliából, rögtön ki is próbáltam! Nagyon gyorsan, és alaposan teszteli a memóriát, automatikusan detektálja a RAM méretét, és kialakítását (ROW-COL méretek) és 16KB-os szeletekben teszteli. Minden zöld LED egy-egy 16KB-os szelet. Ezzel a részlegesen hibás chipek is kiszűrhetőek. Nekem tetszik!

4 bites DRAM barkács tesztelése

Hamarosan Amigát akarok bővíteni, és az alaplapba sajnos nem fér bele foglalatostól a RAM, mert túl magas lesz, és az árnyékolólemezt nem lehet visszarakni, valamint a burkolat is nyomhatja. Emiatt nagyon fontos, hogy tesztelt, garantáltan jó RAM kerüljön bele, mert nehéz kiszedni újra sérülés nélkül.
Erre találtam megoldást, hogy teszter nélkül is tudjam “tesztelni”. Csupán egy készülék kell, amibe a 434256 típusú chip kerülhet, és van teszt program is hozzá. Ilyen készülék lehet egy 286-os alaplap, egy Amiga, vagy egy ISA VGA kártya is.

Teszt konfig P-II ISA VGA kártyával

Volt is egy olyan VGA kártyám amibe jók ezek a chipek, nosza össze is dobtam egy teszt konfigot az asztalon, majd teleraktam RAM-al (1MB) majd indítottam DOS alól egy Univbe drivert amivel VESA kompatibilissé vállik a kártya, így tudom tesztelni egyszerre az összes RAM-ot az x-vesa.com nevű programmal, amiben van videomemória teszt funkció is.

RAM-ok a helyükön csücsülnek!

A teszt során látható a képernyőn a 64KB memóriabokk amit éppen tesztel: szép csíkosan rohangál, láthatóak a bitek. A végén kiírja ha valami nem volt jó.

Ha nincs VESA kompatibilis kártya, akkor 256KB (2db chip) tesztelhető egyszerre, mert a szabvány VGA kártya annyit tud kezelni egyszerre, és a Check It! programmal tesztelhető ennyi VRAM egyszerre.

Konklúzió

Felvázoltam az igényeket, bemutattam számos készüléket, és megoldást, remélem lesz aki tud választani magának valami szépet. Ha találtok jobbakat, írjatok!