Tim Stansifer

MCF5485 SDRAM controller failures at low temperatures

Discussion created by Tim Stansifer on Aug 28, 2009
Latest reply on Jun 2, 2011 by TomE

I have a design that uses three independent MCF5485's, each with a 32MBx32 SDR SDRAM part connected.  The board was designed to work at temperatures down to -40C and in our production test about 30% of the boards have SDRAM failures with at least one of the processors.


The problem manifests itself in a couple of ways but is often associated with a movel instruction to the SDRAM.  When the failure occurs no exceptions are generated.  The debug port just dies and we are unable to view the stack contents so we have almost no information about why the failure occurred.  The temperature limit varies somewhat from board to board, but most of the boards fail at temperatures between -20C and -30C.


My software engineers and I have been through the configuration many times and do not believe it is config related.  I have included the initialization script below.


;// SDRAM Initialization
;// SDRAMDS - 8mA drive strength
data.set sd:0xf0000004 %long 0x000002A2
;//CS0CFG - Enable CS0 at 0x00 address CS Size of 32MB
data.set sd:0xf0000020 %long 0x10000018
;data.set sd:0xf0000108 %long 0xC2311600
data.set  sd:0xf0000108 %long 0xC2311700
data.set sd:0xf000010C %long 0x88C70000
data.set sd:0xf0000104 %long 0xC04A0002
;//Two refresh cycles are required before the load mode register command
data.set sd:0xf0000104 %long 0x504A0004
data.set sd:0xf0000104 %long 0x504A0004
data.set sd:0xf0000104 %long 0xD04A0000
;//SDMR set BANKAD bits
data.set sd:0xf0000100 %long 0x00CD0000
;//enable automatic refreshing
data.set sd:0xf0000104 %long 0x504A0000


We have seen this with three different vendors of SDRAM parts, ISSI, Winbond and Micron and while we have had quality problem in the past with these parts, I am ready to rule out the SDRAM part as the problem.


Has anyone out there seen similar problems?  Has anyone successfully interfaced an SDR part to the MCF5485 SDRAM controller?