Datasheet
SAM9G45 [DATASHEET]
Atmel-6438O-ATARM-SAM9G45-Datasheet_08-Dec-15
232
21.4.3 DDR2-SDRAM Initialization
The initialization sequence is generated by software. The DDR2-SDRAM devices are initialized by the following
sequence:
1. Program the memory device type into the Memory Device Register (see Section 21.8.8 on page 267). 
2. Program the features of DDR2-SDRAM device into the Timing Register (asynchronous timing (trc, tras, 
etc.)), and into the Configuration Register (number of columns, rows, CAS latency and output drive strength) 
(see Section 21.8.3 on page 258, Section 21.8.4 on page 261 and Section 21.8.5 on page 263). 
3. An NOP command is issued to the DDR2-SDRAM. Program the NOP command into the Mode Register, the 
application must configure the MODE field value to 1 in the Mode Register (see Section 21.8.1 on page 
256). Perform a write access to any DDR2-SDRAM address to acknowledge this command. Now clocks 
which drive DDR2-SDRAM device are enabled.
Note: A minimum pause of 200 µs must be observed to precede any signal toggle.
4. An NOP command is issued to the DDR2-SDRAM. Program the NOP command into the Mode Register, the 
application must configure the MODE field value to 1 in the Mode Register (see Section 21.8.1 on page 
256). Perform a write access to any DDR2-SDRAM address to acknowledge this command. Now CKE is 
driven high.
5. An all banks precharge command is issued to the DDR2-SDRAM. Program all banks precharge command 
into the Mode Register, the application must configure the MODE field value to 2 in the Mode Register (See 
Section 21.8.1 on page 256). Perform a write access to any DDR2-SDRAM address to acknowledge this 
command
6. An Extended Mode Register set (EMRS2) cycle is issued to chose between commercial or high temperature 
operations. The application must configure the MODE field value to 5 in the Mode Register (see Section 
21.8.1 on page 256) and perform a write access to the DDR2-SDRAM to acknowledge this command. The 
write address must be chosen so that BA[1] is set to 1 and BA[0] is set to 0. For example, with a 16-bit 128 
MB DDR2-SDRAM (12 rows, 9 columns, 4 banks) bank address, the DDR2-SDRAM write access should be 
done at the address 0x20800000.
Note: This address is for example purposes only. The real address is dependent on implementation in the product. 
7. An Extended Mode Register set (EMRS3) cycle is issued to set the Extended Mode Register to “0”. The 
application must configure the MODE field value to 5 in the Mode Register (see Section 21.8.1 on page 256) 
and perform a write access to the DDR2-SDRAM to acknowledge this command. The write address must be 
chosen so that BA[1] is set to 1 and BA[0] is set to 1. For example, with a 16-bit 128 MB DDR2-SDRAM (12 
rows, 9 columns, 4 banks) bank address, the DDR2-SDRAM write access should be done at the address 
0x20C00000.
8. An Extended Mode Register set (EMRS1) cycle is issued to enable DLL. The application must configure the 
MODE field value to 5 in the Mode Register (see Section 21.8.1 on page 256) and perform a write access to 
the DDR2-SDRAM to acknowledge this command. The write address must be chosen so that BA[1] is set to 
0 and BA[0] is set to 1. For example, with a 16-bit 128 MB DDR2-SDRAM (12 rows, 9 columns, 4 banks) 
bank address, the DDR2-SDRAM write access should be done at the address 0x20400000.
Note: An additional 200 cycles of clock are required for locking DLL.
9. Program DLL field into the Configuration Register (see Section 21.8.3 on page 258) to high (Enable DLL 
reset).
10. A Mode Register set (MRS) cycle is issued to reset DLL. The application must configure the MODE field 
value to 3 in the Mode Register (see Section 21.8.1 on page 256) and perform a write access to the DDR2-
SDRAM to acknowledge this command. The write address must be chosen so that BA[1:0] bits are set to 0. 
For example, with a 16-bit 128 MB DDR2-SDRAM (12 rows, 9 columns, 4 banks) bank address, the SDRAM 
write access should be done at the address 0x20000000.
11. An all banks precharge command is issued to the DDR2-SDRAM. Program all banks precharge command 
into the Mode Register, the application must configure the MODE field value to 2 in the Mode Register (See 










