IMX6 - DDR3 Calibration Issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6 - DDR3 Calibration Issue

1,728 Views
gopus
Contributor II

Hello,

We are using imx6 (cortex- A9) board with the following configuration

CPU configuration :

Cores enabled : one
DDR3 Clock : 528MHz
ARM Core clock : 996MHz

mmu configuration for ARM:

mmu   - enabled
L1 data cache - enabled
L1 instruction cache - enabled
D-side prefetch - enabled
Branch prediction - enabled
L2 cache - disabled


We also used DDR calibration data from the sabre board sdk. With the above configuration system is not stable. The system works only when ARM core clock is reduced to 900 MHz. We are not able to increase the ARM core clock from 900MHz to 996Mhz.

We again, calibrated the DDR using the stress test tool, with the following configuration for the device and the system.


Input provided through GUI :
DDR frequency : 528Mhz
MR Value(Hex) : 0004

Device Information

Manufacturer : Micron
Memory part number : MT41K256M16HA-125 XIT:E
Memory type : DDR3-1600
DRAM density (Gb) 4
DRAM Bus Width 16
Number of Banks 8
Number of ROW Addresses 15
Number of COLUMN Addresses 10
Page Size (K) 2
Self-Refresh Temperature (SRT) Normal
tRCD=tRP=CL (ns) 13.75
tRC Min (ns) 48.75
tRAS Min (ns) 35

System Information

i.Mx Part i.Mx6D
Bus Width 64
Density per chip select (Gb) 16
Number of Chip Selects used 1
Total DRAM Density (Gb) 16
DRAM Clock Freq (MHz) 528
DRAM Clock Cycle Time (ns) 1.894
Address Mirror (for CS1) Disable

SI Configuration

DRAM DSE Setting - DQ/DQM (ohm) 48
DRAM DSE Setting - ADDR/CMD/CTL (ohm) 48
DRAM DSE Setting - CK (ohm) 48
DRAM DSE Setting - DQS (ohm) 48
System ODT Setting (ohm) 120


With the above configuration system is still not stable, when ARM core clock is set to 996MHz. The system works only when ARM core clock is reduced to 900 MHz. We are not able to increase the ARM core clock from 900MHz to 996Mhz.

Kindly find attached the script file, which is used to calibrate the DDR.

Thanks,

Gopu

Original Attachment has been moved to: DDR_Script.inc.zip

Labels (1)
0 Kudos
3 Replies

945 Views
igorpadykov
NXP Employee
NXP Employee

Hi Gopu

failing with high frequncies may be related to board noise and layout.

One can try to tweak drive strength settings both i.MX6 and ddr memory.

Also recommended to check power supplies, ripples should be <5%

as defined in Table 2-6. Power and decouple recommendations i.MX6 System

Development User’s Guide

http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

945 Views
gopus
Contributor II

Hello,
              Thanks for the valuable information. We ensured that these conditions are taken care.

Here are some addition to our observation.

            We set the ARM core clock to 950Mhz, and used the calibrated values for DDR configuration. 
            With the calibrated values we tested at temperature chamber for -20 degee celcius to +85 degee celcius.
But the system aborts at negative temperature (around -5 degree Celsius ).
Does these calibrated values have any impact for the temperature ?
Do we need to calibrate the board, after bringing it to a certain temperature ?


Thanks and regards,
Gopu

0 Kudos

945 Views
igorpadykov
NXP Employee
NXP Employee

aborts at negative temperature may mean that drive strength

is too high.

Best regards
igor

0 Kudos