This document describes the DDR2 memory controller in the TMS320C6455/C6454 digital signal
processors (DSPs).
Notational Conventions
This document uses the following conventions.
•Hexadecimal numbers are shown with the suffix h. For example, the following number is 40
hexadecimal (decimal 64): 40h.
•Registers in this document are shown in figures and described in tables.
– Each register figure shows a rectangle divided into fields that represent the fields of the register.
Each field is labeled with its bit name, its beginning and ending bit numbers above, and its
read/write properties below. A legend explains the notation used for the properties.
– Reserved bits in a register figure designate a bit that is used for future device expansion.
Related Documentation From Texas Instruments
Preface
SPRU970G–December 2005–Revised June 2011
Read This First
The following documents describe the C6000™ devices and related support tools. Copies of these
documents are available on the Internet. Tip: Enter the literature number in the search box provided at
www.ti.com.SPRU189 — TMS320C6000 DSP CPU and Instruction Set Reference Guide. Describes the CPU
architecture, pipeline, instruction set, and interrupts for the TMS320C6000 digital signal processors
(DSPs).
SPRU198 — TMS320C6000 Programmer's Guide. Describes ways to optimize C and assembly code for
the TMS320C6000™ DSPs and includes application program examples.
SPRU301 — TMS320C6000 Code Composer Studio Tutorial. Introduces the Code Composer Studio™
integrated development environment and software tools.
SPRU321 — Code Composer Studio Application Programming Interface Reference Guide.
Describes the Code Composer Studio™ application programming interface (API), which allows you
to program custom plug-ins for Code Composer.
SPRU871 — TMS320C64x+ Megamodule Reference Guide. Describes the TMS320C64x+ digital signal
processor (DSP) megamodule. Included is a discussion on the internal direct memory access
(IDMA) controller, the interrupt controller, the power-down controller, memory protection, bandwidth
management, and the memory and cache.
C6000, TMS320C6000, Code Composer Studio are trademarks of Texas Instruments.
All other trademarks are the property of their respective owners.
The DDR2 memory controller is used to interface with JESD79-2B standard compliant DDR2 SDRAM
devices. Memory types such as DDR1 SDRAM, SDR SDRAM, SBSRAM, and asynchronous memories
are not supported. The DDR2 memory controller SDRAM can be used for program and data storage.
1.2Features
The DDR2 memory controller supports the following features:
•JESD79-2B standard compliant DDR2 SDRAM
•512M byte memory space
•Data bus width of 32 or 16 bits
•CAS latencies: 2, 3, 4, and 5
•Internal banks: 1, 2, 4, and 8
•Burst length: 8
•Burst type: sequential
•1 CE signal
•Page sizes: 256, 512, 1024, and 2048
•SDRAM autoinitialization
•Self-refresh mode
•Prioritized refresh
•Programmable refresh rate and backlog counter
•Programmable timing parameters
•Little endian and big endian transfers
User's Guide
SPRU970G–December 2005–Revised June 2011
C6455/C6454 DDR2 Memory Controller
1.3Functional Block Diagram
The DDR2 memory controller is the main interface to external DDR2 memory (see Figure 1). Master
peripherals, such as the EDMA controller and the CPU can access the DDR2 memory controller through
the switched central resource (SCR). The DDR2 memory controller performs all memory-related
background tasks such as opening and closing banks, refreshes, and command arbitration.
SPRU970G–December 2005–Revised June 2011C6455/C6454 DDR2 Memory Controller
C6455/C6454 DDR2 Memory ControllerSPRU970G–December 2005–Revised June 2011
Submit Documentation Feedback
www.ti.com
2Peripheral Architecture
The DDR2 memory controller can gluelessly interface to most standard DDR2 SDRAM devices and
supports such features as self-refresh mode and prioritized refresh. In addition, it provides flexibility
through programmable parameters such as the refresh rate, CAS latency, and many SDRAM timing
parameters.
The following sections describe the architecture of the DDR2 memory controller as well as how to
interface and configure it to perform read and write operations to DDR2 SDRAM devices. Also, Section 3
provides a detailed example of interfacing the DDR2 memory controller to a common DDR2 SDRAM
device.
2.1Clock Control
The DDR2 memory controller is clocked directly from the output of the second phase-locked loop (PLL2)
of C6455/C6454 devices. The PLL2 multiplies its input clock by 20. This clock is divided by 2 to generate
DDR2CLKOUT. The frequency of DDR2CLKOUT can be determined by using the following formula:
DDR2CLKOUT frequency = (PLL2 input clock frequency × 20)/2 = PLL2 input clock frequency×10
The second output clock of the DDR2 memory controller, DDR2CLKOUT, is the inverse of
DDR2CLKOUT. For more information on the PLL2, see the device-specific data manual.
2.2Memory Map
For information describing the device memory map, see the device-specific data manual.
Peripheral Architecture
2.3Signal Descriptions
The DDR2 memory controller signals are shown in Figure 2 and described in Table 1. The following
features are included:
•The maximum width for the data bus (DED[31:0]) is 32-bits.
•The address bus (DEA[13:0]) is 14-bits wide with an additional 3 bank address pins (DBA[2:0]).
•Two differential output clocks (DDR2CLKOUT and DDR2CLKOUT) driven by internal clock sources.
•Command signals: Row and column address strobe (DSDRAS and DSDCAS), write enable strobe
(DSDWE), data strobe (DSDDQS[3:0] and DSDDQS[3:0]), and data mask (DSDDQM[3:0]).
•One chip select signal (DCE0).
•One clock enable signal (DSDCKE).
•Two on-die termination output signals (DEODT[1:0]). (These pins are reserved for future use.)
SPRU970G–December 2005–Revised June 2011C6455/C6454 DDR2 Memory Controller
Table 1. DDR2 Memory Controller Signal Descriptions
PinDescription
DED[31:0]Bidirectional data bus. Input for data reads and output for data writes.
DEA[13:0]External address output.
DCE0Active-low chip enable for memory space CE0. DCE0 is used to enable the DDR2 SDRAM memory
DSDDQM[3:0]Active-low output data mask.
DDR2CLKOUTDifferential clock outputs.
DSDDQS[3:0]
DEODT[1:0]On-die termination signals to external DDR2 SDRAM. These pins are reserved for future use and
DBA[2:0]Bank-address control outputs.
DSDDQGATE[3:0]Data strobe gate pins. These pins are used as a timing reference during memory reads. The
V
REFSSTL
DDRSLRATEPulling the DDRSLRATE input pin low selects the normal slew rate. If pulled high, the slew rate is
12
C6455/C6454 DDR2 Memory ControllerSPRU970G–December 2005–Revised June 2011
device during external memory accesses. The DCE0 pin stays low throughout the operation of the
DDR2 memory controller; it never goes high. Note that this behavior does not affect the ability of the
DDR2 memory controller to access DDR2 SDRAM memory devices.
should not be connected to the DDR2 SDRAM.
DSDDQGATE0 and DSDDQGATE2 pins should be routed out and connected to the DSDDQGATE1
and DSDDQGATE3 pins, respectively. For more routing requirements on these pins, see the
device-specific data manual.
DDR2 Memory Controller reference voltage. This voltage must be supplied externally. For more details,
see the device-specific data manual.
reduced by 33%. For normal full-speed operation, the DDRSLRATE should be pulled low.This pin
needs to be pulled low or high at all times (it is not latched).
The DDR2 memory controller supports the DDR2 SDRAM commands listed in Table 2. Table 3 shows the
signal truth table for the DDR2 SDRAM commands.
CommandFunction
ACTVActivates the selected bank and row.
DCABPrecharge all command. Deactivates (precharges) all banks.
DEACPrecharge single command. Deactivates (precharges) a single bank.
DESELDevice Deselect.
EMRSExtended Mode Register set. Allows altering the contents of the mode register.
MRSMode register set. Allows altering the contents of the mode register.
NOPNo operation.
Power DownPower down mode.
READInputs the starting column address and begins the read operation.
READ withInputs the starting column address and begins the read operation. The read operation is followed by a
autoprechargeprecharge.
REFRAutorefresh cycle.
SLFREFRSelf-refresh mode.
WRTInputs the starting column address and begins the write operation.
WRT withInputs the starting column address and begins the write operation. The write operation is followed by a
DDR2 SDRAM contains mode and extended mode registers that configure the DDR2 memory for
operation. These registers control burst type, burst length, CAS latency, DLL enable/disable, single-ended
strobe, etc.
The DDR2 memory controller programs the mode and extended mode registers of the DDR2 memory by
issuing MRS and EMRS commands. When the MRS or EMRS command is executed, the value on
DBA[1:0] selects the mode register to be written and the data on DEA[12:0] is loaded into the register.
Figure 3 shows the timing for an MRS and EMRS command.
The DDR2 memory controller only issues MRS and EMRS commands during the DDR2 memory controller
initialization sequence. For more information, see Section 2.11.
Figure 3. DDR2 MRS and EMRS Command
www.ti.com
14
C6455/C6454 DDR2 Memory ControllerSPRU970G–December 2005–Revised June 2011
The DDR2 memory controller issues refresh commands to the DDR2 SDRAM device (Figure 4). REFR is
automatically preceded by a DCAB command, ensuring the deactivation of all CE spaces and banks
selected. Following the DCAB command, the DDR2 memory controller begins performing refreshes at a
rate defined by the refresh rate (REFRESH_RATE) bit in the SDRAM refresh control register (SDRFC).
Page information is always invalid before and after a REFR command; thus, a refresh cycle always forces
a page miss. This type of refresh cycle is often called autorefresh. Autorefresh commands may not be
disabled within the DDR2 memory controller. See Section 2.8 for more details on REFR command
scheduling.
Peripheral Architecture
Figure 4. Refresh Command
SPRU970G–December 2005–Revised June 2011C6455/C6454 DDR2 Memory Controller