DRAM Tester

Download pre-release library modules and new examples to use with Astrobe for Cortex-M7. Forum members can also upload their own source code examples.

DRAM Tester

Postby cfbsoftware » Sun Sep 02, 2018 6:56 am

A 1983 Sage II 68000 computer I acquired last year was failing to boot with a RAM test error. Unfortunately the diagnostic only identified which of four 256K blocks was the first to fail. As there are 18 DRAM chips in each block it was not feasible to identify the bad chips(s) just by swapping them around. An internet search for a solution came up with a DRAM chip tester implemented on an Arduino. Using that as an example I implemented an equivalent DRAM tester in Oberon on an STM32 development board and within a few hours had identified nine bad chips and replaced them with good ones.

The attached example source code has been implemented on an STM32F767 Nucleo-144 board and uses the following connections:

DRAM4164.jpg
DRAM4164.jpg (30.84 KiB) Viewed 758 times

Using a 16-pin ZIF socket mounted on Veroboard / stripboard, all of the connections (with the exception of PF13, Vdd and GND) line up directly with the corresponding pins on the Arduino-compatible connectors on the Nucleo board so only 4 jumper leads are required:

Nucleo144.jpg
Nucleo144.jpg (71.04 KiB) Viewed 754 times

A slide switch is used to control the 5v connection to the chip. It only takes a few seconds to test each chip. Insert the chip in the socket, slide the switch to connect power to the chip and press the reset button. The green LED blinks a number of times corresponding to which of each of the four tests it is running. As soon as any test fails, the red led is lit continuously. If all tests pass the green LED is lit continuously.
Attachments
DramTest.zip
Dramtest.mod source code
(2.11 KiB) Downloaded 114 times
cfbsoftware
Site Admin
 
Posts: 355
Joined: Fri Dec 31, 2010 12:30 pm

Re: DRAM Tester

Postby cfbsoftware » Sat Oct 27, 2018 11:13 am

The Sage was still failing intermittently so I have now added a couple more tests (Walking Zero and Walking One) to detect if any of the address lines are faulty. This adds about 20 seconds to each test but it was worth it as it identified a further eight faulty DRAM chips. The updated source code module is attached.
Attachments
DramTest.zip
(2.31 KiB) Downloaded 61 times
cfbsoftware
Site Admin
 
Posts: 355
Joined: Fri Dec 31, 2010 12:30 pm


Return to Cortex-M7

cron