• High-Performance Microcontroller for Safety• Two High-End Timer Modules (N2HET)
Critical Applications
– Dual CPUs running in lockstep
– ECC on flash and RAM interfaces
– Built-In Self Test for CPU and on-chip RAMsprotection each
– Error Signaling Module with Error Pin– Each includes Hardware Angle Generator
– Voltage and Clock Monitoring– Dedicated Transfer Units (HTU) on N2HETs
• ARM® Cortex™ – R4F 32-bit RISC CPU• Two 10/12-bit Multi-Buffered ADC Modules
– 1.66DMIPS/MHz with 8-stage pipeline– ADC1: 24 channels
– FPU with Single/Double Precision– ADC2: 16 channels
– 12-Region Memory Protection Unit– 16 shared channels
– Open Architecture with 3rd Party Support– 64 result buffers with parity protection each
• Operating Conditions• Multiple Communication Interfaces
– Up to 220MHz System Clock– 10/100 Mbps Ethernet MAC (EMAC)
– Core Supply Voltage (VCC): 1.14V - 1.32V•IEEE 802.3 compliant (3.3V-I/O only)
– I/O Supply Voltage (VCCIO): 3.0V - 3.6V•Supports MII, RMII and MDIO
• Integrated Memory– USB (revision 2.0 full-speed)
– 1.25MB Program Flash with ECC•2-port USB Specification, revision 2.0– 192KB RAM with ECC
– 64KB Flash for emulated EEPROM with ECC
• 16- bit External Memory Interface (EMIF)
• Common Platform Architecture
– Consistent memory map across family
– Real-Time Interrupt Timer (RTI) OS Timer
– 128-channel Vectored Interrupt Module (VIM)
– 2-channel Cyclic Redundancy Checker (CRC)
• Direct Memory Access (DMA) Controller
– 16 Channels and 32 Control Packets
– Parity protection for control packet RAM
– DMA Accesses Protected by Dedicated MPU
• Frequency-Modulated Phase-Locked-Loop
(FMPLL) with Built-In Slip Detector
• Separate Non-Modulating PLL
• IEEE 1149.1 JTAG, Boundary Scan and ARM
CoreSight Components
• Advanced JTAG Security Module (AJSM)
• Trace and Calibration Capabilities
– Parameter Overlay Module (POM)
• Enhanced Timing Peripherals for Motor Control
– 7 Enhanced Pulse Width Modulators (ePWM)
– 6 Enhanced Capture (eCAP)
– 2 Enhanced Quadrature Encoder Pulse
(eQEP)
1
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of
Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.
PRODUCT PREVIEW information concerns products in the formative or design phase of
development. Characteristic data and other specifications are design goals. Texas
Instruments reserves the right to change or discontinue these products without notice.
SPNS185 –SEPTEMBER 2012
Check for Samples: RM46L852
– N2HET1: 32 programmable channels
– N2HET2: 18 programmable channels
– 160 Word Instruction RAM with parity
compatible host controller, based on the
OHCI Specification for USB, release 1.0
•USB device compatible with the USB
Specification, revision 2.0 and USB
Specification, revision 1.1
– Three CAN Controllers (DCAN)
•64 mailboxes with parity protection each
•Compliant to CAN protocol version
2.0A/B
– Inter-Integrated Circuit (I2C)
– Three Multi-buffered Serial Peripheral
Interfaces (MibSPI)
•128 Words with Parity Protection each
•8 Transfer groups
– Up to two Standard Serial Peripheral
Interfaces (SPI)
– Two UART (SCI) interfaces, one with Local
Interconnect Network Interface (LIN 2.1)
Support
• Up to 101 general purpose I/O (GIO) capable
pins
•Industrial Safety Applications
– Industrial Automation
– Safe PLC’s (Programmable Logic Controllers)
– Power Generation and Distribution
– Turbines and Windmills
– Elevators and Escalators
•Medical Applications
– Ventilators
– Defibrillators
– Infusion and Insulin pumps
– Radiation therapy
– Robotic surgery
The RM46L852 is a high performance microcontroller family for safety systems. The safety architecture
includes Dual CPUs in lockstep, CPU and Memory Built-In Self Test (BIST) logic, ECC on both the Flash
and the data SRAM, parity on peripheral memories, and loop back capability on peripheral IOs.
The RM46L852 integrates the ARM® Cortex™-R4F Floating Point CPU which offers an efficient
1.66DMIPS/MHz, and has configurations which can run up to 220MHz providing up to 365 DMIPS.
The RM46L852 has 1.25MB integrated Flash and 192KB data RAM configurations with single bit error
correction and double bit error detection. The flash memory on this device is a nonvolatile, electrically
erasable and programmable, implemented with a 64-bit-wide data bus interface. The flash operates on a
3.3V supply input (same level as I/O supply) for all read, program and erase operations. When in pipeline
mode, the flash operates with a system clock frequency of up to 220MHz. The SRAM supports singlecycle read/write accesses in byte, halfword, and word modes throughout the supported frequency range..
The RM46L852 device features peripherals for real-time control-based applications, including two Next
Generation High End Timer (N2HET) timing coprocessors with up to 44 total IO terminals, seven
Enhanced PWM (ePWM) modules with up to 14 outputs, six Enhanced Capture Modules (eCAP), two
Enhanced Quadrature Encoders (eQEP) and two 12-bit Analog-to-Digital converters supporting up to 24
inputs.
The N2HET is an advanced intelligent timer that provides sophisticated timing functions for real-time
applications. The timer is software-controlled, using a reduced instruction set, with a specialized timer
micromachine and an attached I/O port. The N2HET can be used for pulse width modulated outputs,
capture or compare inputs, or general-purpose I/O. It is especially well suited for applications requiring
multiple sensor information and drive actuators with complex and accurate time pulses. A High End Timer
Transfer Unit (HET-TU) can perform DMA type transactions to transfer N2HET data to or from main
memory. A Memory Protection Unit (MPU) is built into the HET-TU.
SPNS185 –SEPTEMBER 2012
The enhanced pulse width modulator (ePWM) module is able to generate complex pulse width waveforms
with minimal CPU overhead or intervention. It is easy to use and supports both high side and low side
PWM and deadband generation. With integrated trip zone protection and synchronization with the on chip
MibADC, the ePWM module is ideal for digital motor control applications.
The enhanced Capture (eCAP) module is essential in systems where the accurately timed capture of
external events is important. The eCAP can also be used to monitor the ePWM outputs or for simple PWM
generation when not needed for capture applications.
The enhanced quadrature encoder pulse (eQEP) module is used for direct interface with a linear or rotary
incremental encoder to get position, direction, and speed information from a rotating machine as used in
high-performance motion and position-control systems.
The device has two 12-bit-resolution MibADCs with 24 total channels and 64 words of parity protected
buffer RAM each. The MibADC channels can be converted individually or can be grouped by software for
sequential conversion sequences. Sixteen channels are shared between the two MibADCs. There are
three separate groups. Each group can be converted once when triggered or configured for continuous
conversion mode.
The device has multiple communication interfaces: three MibSPIs, two SPIs, one LIN, one SCI, three
DCANs, one I2C, one Ethernet, and one USB module.. The SPI provides a convenient method of serial
interaction for high-speed communications between similar shift-register type devices. The LIN supports
the Local Interconnect standard 2.0 and can be used as a UART in full-duplex mode using the standard
Non-Return-to-Zero (NRZ) format. The DCAN supports the CAN 2.0B protocol standard and uses a serial,
multimaster communication protocol that efficiently supports distributed real-time control with robust
communication rates of up to 1 megabit per second (Mbps). The DCAN is ideal for applications operating
in noisy and harsh environments (e.g., automotive and industrial fields) that require reliable serial
communication or multiplexed wiring. The Ethernet module supports MII, RMII and MDIO interfaces. The
USB module includes a 2-port USB host controller and a USB device controller
The I2C module is a multi-master communication module providing an interface between the
microcontroller and an I2C compatible device via the I2C serial bus. The I2C supports both 100 Kbps and
400 Kbps speeds.
A frequency-modulated phase-locked loop (FMPLL) clock module is used to multiply the external
frequency reference to a higher frequency for internal use. The FMPLL provides one of the seven possible
clock source inputs to the global clock module (GCM). The GCM module manages the mapping between
the available clock sources and the device clock domains.
The device also has an external clock prescaler (ECP) module that when enabled, outputs a continuous
external clock on the ECLK terminal. The ECLK frequency is a user-programmable ratio of the peripheral
interface clock (VCLK) frequency. This low frequency output can be monitored externally as an indicator of
the device operating frequency.
The Direct Memory Access Controller (DMA) has 16 channels, 32 control packets and parity protection on
its memory. A Memory Protection Unit (MPU) is built into the DMA to protect memory against erroneous
transfers.
The Error Signaling Module (ESM) monitors all device errors and determines whether an interrupt or
external Error pin/ball is triggered when a fault is detected. The nERROR terminal can be monitored
externally as an indicator of a fault condition in the microcontroller.
The External Memory Interface (EMIF) provides a memory extension to asynchronous and synchronous
memories or other slave devices.
A Parameter Overlay Module (POM) is included to enhance the calibration capabilities of application code.
The POM can re-route Flash accesses to internal memory or to the EMIF, thus avoiding the reprogramming steps necessary for parameter updates in Flash.
With integrated safety features and a wide choice of communication and control peripherals, the
RM46L852 is an ideal solution for high performance real time control applications with safety critical
requirements.
The block diagram reflects the 337BGA package. Some pins are multiplexed or not available
in the 144QFP. Please see the Terminal functions table for details.
Section 2.3.1 and Section 2.3.2 identify the external signal names, the associated pin/ball numbers along
with the mechanical package designator, the pin/ball type (Input, Output, IO, Power or Ground), whether
the pin/ball has any internal pullup/pulldown, whether the pin/ball can be configured as a GIO, and a
functional pin/ball description. The first signal name listed is the primary function for that terminal. The
signal name in Bold is the function being described. Refer to the I/O Multiplexing Module (IOMM) User
Guide for information on how to select between different multiplexed functions.
NOTE
All I/O signals except nRST are configured as inputs while nPORRST is low and immediately
after nPORRST goes High.
All output-only signals are configured as inputs while nPORRST is low, and are configured
as outputs immediately after nPORRST goes High.
While nPORRST is low, the input buffers are disabled, and the output buffers are tri-stated.
MIBSPI1NCS[1]/N2HET1[17]/MII_COL/130Pull Up
USB1.SUSPEND/EQEP1S
N2HET1[18]/EPWM6A140Pull Down
MIBSPI1NCS[2]/N2HET1[19]/MDIO40Pull Up
N2HET1[20]/EPWM6B141Pull Down
N2HET1[22]/USB2.TXSE0/USB_FUNC.SE0O15
MIBSPI1NENA/N2HET1[23]/MII_RXD[2]/96Pull Up
USB1.VP/ECAP4
N2HET1[24]/MIBSPI1NCS[5]/MII_RXD[0]/RMII_RXD[0]91Pull Down
MIBSPI3NCS[1]/N2HET1[25]/MDCLK37Pull Up
N2HET1[26]/MII_RXD[1]/RMII_RXD[1]92Pull Down
MIBSPI3NCS[2]/I2C_SDA/N2HET1[27]4Pull Up
N2HET1[28]/MII_RXCLK/RMII_REFCLK/MII_RX_AVCLK4107Pull Down
MIBSPI3NCS[3]/I2C_SCL/N2HET1[29]/nTZ13Pull Up
N2HET1[30]/MII_RX_DV/USB1.SPEED/EQEP2S127Pull Down
MIBSPI3NENA/MIBSPI3NCS[5]/N2HET1[31]54Pull Up
GIOA[5]/EXTCLKIN/EPWM1A/N2HET1_PIN_nDIS14Pull Down
PGE
TypeState
20uA
www.ti.com
N2HET1timeinput
captureoroutput
compare, or GIO.
Each terminal has a
suppression filter that
ignoresinputpulses
smallerthana
programmable duration.
MIBSPI3CLK/AWM1_EXT_SEL[1]/EQEP1A53InputPull UpFixed, 20uAEnhanced QEP1 Input A
MIBSPI3NENA/MIBSPI3NCS[5]/N2HET1[31]/EQEP1B54InputEnhanced QEP1 Input B
MIBSPI3NCS[0]/AD2EVT/GIOB[2]/EQEP1I/N2HET2_PIN_nDI55I/OEnhanced QEP1 Index
S
MIBSPI1NCS[1]/N2HET1[17]/MII_COL130I/OEnhanced QEP1 Strobe
/USB1.SUSPEND /EQEP1S
N2HET1[01]/SPI4NENA/USB2.TXEN/23InputPull DownEnhanced QEP2 Input A
USB_FUNC.PUENO/N2HET2[8]/EQEP2A
N2HET1[03]/SPI4NCS[0]/USB2.SPEED/24InputEnhanced QEP2 Input B
USB_FUNC.PUENON/N2HET2[10]/EQEP2B
GIOA[2]/USB2.TXDAT/USB_FUNC.TXDO/N2HET2[0]/EQEP9I/OEnhanced QEP2 Index
MIBSPI3NCS[3]/I2C_SCL/N2HET1[29]/nTZ13InputPull UpFixed, 20uATrip Zone Inputs 1, 2 and
MIBSPI3NCS[2]/I2C_SDA/N2HET1[27]/nTZ24
N2HET1[10]/MII_TX_CLK/USB1.TXEN118Pull Down
/MII_TX_AVCLK4/nTZ3
SPNS185 –SEPTEMBER 2012
TypePull State
PGE
A
B
Pulse Output
A
B
A
B
A
B
A
B
A
B
3. These signals are
either connected
asynchronously to the
ePWMx trip zone inputs,
or double-synchronized
with VCLK4, or doublesynchronized and then
filtered with a 6-cycle
VCLK4-based counter
before connecting to the
ePWMx trip zone inputs.
MIBSPI3NCS[0]/AD2EVT/GIOB[2]/EQEP1I/N2HET2_PIN_nD55
IS
GIOB[3]USB2.RCV/USB_FUNC.RXDI1Pull Down
(1) GIOB[2] cannot output a level on to pin 55. Only the input functionality is supported so that the application can generate an interrupt
whenever the N2HET2_PIN_nDIS is asserted (driven low). Also, a pull up is enabled on the input. This is not programmable using the
GIO module control registers.
TypePull State
(1)
20uAAll GIO terminals are
capable of generating
interrupts to the CPU on
rising / falling / both
edges.
Pull Up
2.3.1.7Controller Area Network Controllers (DCAN)
Table 2-7. PGE Controller Area Network Controllers (DCAN)
TerminalSignalDefaultPull TypeDescription
Signal Name144
CAN1RX90I/OPull UpProgrammable,CAN1 receive, or GIO
CAN1TX89CAN1 transmit, or GIO
CAN2RX129CAN2 receive, or GIO
CAN2TX128CAN2 transmit, or GIO
CAN3RX12CAN3 receive, or GIO
CAN3TX13CAN3 transmit, or GIO
MIBSPI3NCS[2]/I2C_SDA/N2HET1[27]/nTZ24I/OPull UpProgrammable,I2C serial data, or GIO
MIBSPI3NCS[3]/I2C_SCL/N2HET1[29]/nTZ13I2C serial clock, or GIO
TypePull State
20uA
2.3.1.11 Standard Serial Peripheral Interface (SPI)
Table 2-11. PGE Standard Serial Peripheral Interface (SPI)
TerminalSignalDefaultPull TypeDescription
Signal Name144
N2HET1[0]/SPI4CLK/EPWM2B25I/OPull Down Programmable,SPI4 clock, or GIO
N2HET1[03]/SPI4NCS[0]/N2HET2[10]/EQEP2B24SPI4 chip select, or GIO
N2HET1[01]/SPI4NENA/N2HET2[8]/EQEP2A23SPI4 enable, or GIO
N2HET1[02]/SPI4SIMO/EPWM3A30SPI4 slave-input master-
/USB1.SUSPEND /EQEP1S
MIBSPI1NCS[2]/N2HET1[19]/MDIO40
N2HET1[15]/MIBSPI1NCS[4]/ECAP141Pull Down Programmable,MibSPI1 chip select, or
N2HET1[24]/MIBSPI1NCS[5]/MII_RXD[0]/RMII_RXD[0]91
MIBSPI1NENA/N2HET1[23]/MII_RXD[2]/96Pull UpProgrammable,MibSPI1 enable, or GIO
MIBSPI3CLK/AWM1_EXT_SEL[1]/EQEP1A53I/OPull UpProgrammable,MibSPI3 clock, or GIO
MIBSPI3NCS[0]/AD2EVT/GIOB[2]/EQEP1I/N2HET2_PIN_nD55MibSPI3 chip select, or
software-programmable
USB device
connect/disconnect
data input
D-minus
D-plus
zero
2.3.1.15 System Module Interface
TerminalSignalDefaultPull TypeDescription
Signal Name144
nPORRST46InputPull Down 100uAPower-on reset, cold reset
nRST116I/OPull Up100uASystem reset, warm reset,
Table 2-18. PGE System Module Interface
TypePull State
PGE
External power supply
monitor circuitry must
drive nPORRST low when
any of the supplies to the
microcontroller fall out of
thespecified range. This
terminal has a glitch filter.
See Section 4.8.
bidirectional.
The internal circuitry
indicates any reset
condition by driving nRST
low.
The external circuitry can
assert a system reset by
driving nRST low. To
ensure that an external
reset is not arbitrarily
generated, TI
recommends that an
external pull-up resistor is
connected to this terminal.
This terminal has a glitch
filter. See Section 4.8.
Table 2-18. PGE System Module Interface (continued)
TerminalSignalDefaultPull TypeDescription
Signal Name144
PGE
nERROR117I/OPull Down 20uAESM Error Signal
TypePull State
Indicates error of high
severity. See
Section 4.18.
2.3.1.16 Clock Inputs and Outputs
Table 2-19. PGE Clock Inputs and Outputs
TerminalSignalDefaultPull TypeDescription
Signal Name144
PGE
OSCIN18Input--From external
KELVIN_GND19InputKelvin ground for oscillator
OSCOUT20OutputTo external
ECLK119I/OPull Down Programmable,External prescaled clock
GIOA[5]/EXTCLKIN/EPWM1A /N2HET1_PIN_nDIS14InputPull Down 20uAExternal clock input #1
TypePull State
crystal/resonator, or
external clock input
crystal/resonator
20uAoutput, or GIO.
2.3.1.17 Test and Debug Modules Interface
TerminalSignalDefaultPull TypeDescription
Signal Name144
TEST34InputPull Down Fixed, 100uATest enable
nTRST109InputJTAG test hardware reset
RTCK113Output--JTAG return test clock
TCK112InputPull Down Fixed, 100uAJTAG test clock
TDI110InputPull UpJTAG test data in
TDO111OutputPull DownJTAG test data out
TMS108InputPull UpJTAG test select
2.3.1.18 Flash Supply and Test Pads
TerminalSignalDefaultPull TypeDescription
Signal Name144
VCCP1343.3V--Flash pump supply
FLTP17---Flash test pads. These
FLTP28
Table 2-20. PGE Test and Debug Modules Interface
TypePull State
PGE
Table 2-21. PGE Flash Supply and Test Pads
TypePull State
PGE
Power
terminals are reserved for
TI use only. For proper
operation these terminals
must connect only to a
test pad or not be
connected at all [no
connect (NC)].
MIBSPI3CLK/AWM1_EXT_SEL[1]/EQEP1AV9InputPull UpFixed, 20uAEnhanced QEP1 Input A
MIBSPI3NENA/MIBSPI3NCS[5]/N2HET1[31]/EQEP1BW9InputEnhanced QEP1 Input B
MIBSPI3NCS[0]/AD2EVT/GIOB[2]/EQEP1I/N2HET2_PIN_nDIV10I/OEnhanced QEP1 Index
S
MIBSPI1NCS[1]/N2HET1[17]/MII_COL/USB1.SUSPEND/EQF3I/OEnhanced QEP1 Strobe
EP1S
N2HET1[01]/SPI4NENA/USB2.TXEN/USB_FUNC.PUENO/NV2InputPull DownEnhanced QEP2 Input A
2HET2[8]/EQEP2A
N2HET1[03]/SPI4NCS[0]/USB2.SPEED/USB_FUNC.PUENOU1InputPull DownEnhanced QEP2 Input B
N/N2HET2[10]/EQEP2B
GIOA[2]/USB2.TXDAT/USB_FUNC.TXDO/N2HET2[0]/EQEPC1I/OPull DownEnhanced QEP2 Index
MIBSPI3NCS[3]/I2C_SCL/N2HET1[29]/nTZ1C3InputPull UpFixed, 20uATrip Zone Inputs 1, 2 and
MIBSPI3NCS[2]/I2C_SDA/N2HET1[27]/nTZ2B2
N2HET1[10]/MII_TX_CLK/USB1.TXEN//MII_TX_AVCLK4/nTD19Pull Down
Z3
SPNS185 –SEPTEMBER 2012
TypePull State
ZWT
A
B
Pulse Output
A
B
A
B
A
B
A
B
A
B
3These signals are either
connected
asynchronously to the
ePWMx trip zone inputs,
or double-synchronized
with VCLK4, or doublesynchronized and then
filtered with a 6-cycle
VCLK4-based counter
before connecting to the
ePWMx trip zone inputs.
(1) GIOB[2] cannot output a level on to terminal V10. Only the input functionality is supported so that the application can generate an
interrupt whenever the N2HET2_PIN_nDIS is asserted (driven low). Also, a pull up is enabled on the input. This is not programmable
using the GIO module control registers.
Table 2-31. ZWT Controller Area Network Controllers (DCAN)
TerminalSignalDefaultPull TypeDescription
Signal Name337
ZWT
CAN1RXB10I/OPull UpProgrammable,CAN1 receive, or GIO
CAN1TXA10CAN1 transmit, or GIO
CAN2RXH1CAN2 receive, or GIO
CAN2TXH2CAN2 transmit, or GIO
CAN3RXM19CAN3 receive, or GIO
CAN3TXM18CAN3 transmit, or GIO
N2HET1[15]/MIBSPI1NCS[4]N1Pull Down Programmable,MibSPI1 chip select, or
N2HET1[24]/MIBSPI1NCS[5]/MII_RXD[0]/RMII_RXD[0]P1
MIBSPI1NENA/N2HET1[23]/MII_RXD[2]/G19Pull UpProgrammable,MibSPI1 enable, or GIO
MIBSPI3CLK/AWM1_EXT_SEL[1]/EQEP1AV9I/OPull UpProgrammable,MibSPI3 clock, or GIO
MIBSPI3NCS[0]/AD2EVT/GIOB[2]/EQEP1I/N2HET2_PIN_nDV10MibSPI3 chip select, or
nPORRSTW7InputPull Down 100uAPower-on reset, cold reset
nRSTB17I/OPull Up100uASystem reset, warm reset,
nERRORB14I/OPull Down 20uAESM Error Signal
www.ti.com
Table 2-43. ZWT System Module Interface
TypePull State
ZWT
External power supply
monitor circuitry must
drive nPORRST low when
any of the supplies to the
microcontroller fall out of
thespecified range. This
terminal has a glitch filter.
See Section 4.8.
bidirectional.
The internal circuitry
indicates any reset
condition by driving nRST
low.
The external circuitry can
assert a system reset by
driving nRST low. To
ensure that an external
reset is not arbitrarily
generated, TI
recommends that an
external pull-up resistor is
connected to this terminal.
This terminal has a glitch
filter. See Section 4.8.
Indicates error of high
severity. See
Section 4.18.
2.3.2.17 Clock Inputs and Outputs
Table 2-44. ZWT Clock Inputs and Outputs
TerminalSignalDefaultPull TypeDescription
Signal Name337
ZWT
OSCINK1Input--From external
KELVIN_GNDL2InputKelvin ground for oscillator
OSCOUTL1OutputTo external
ECLKA12I/OPull Down Programmable,External prescaled clock
GIOA[5]/EXTCLKIN/EPWM1A/N2HET1_PIN_nDISB5InputPull Down 20uAExternal clock input #1
EXTCLKIN2R9InputExternal clock input #2
VCCPLLP111.2V-Dedicated core supply for
TESTU2InputPull Down Fixed, 100uATest enable
nTRSTD18InputJTAG test hardware reset
RTCKA16Output--JTAG return test clock
TCKB18InputPull Down Fixed, 100uAJTAG test clock
TDIA17InputPull UpJTAG test data in
TDOC18OutputPull DownJTAG test data out
TMSC19InputPull UpJTAG test select
TypePull State
2.3.2.19 Flash Supply and Test Pads
Table 2-46. ZWT Flash Supply and Test Pads
TerminalSignalDefaultPull TypeDescription
Signal Name337
ZWT
VCCPF83.3V--Flash pump supply
FLTP1J5---Flash test pads. These
FLTP2H5
TypePull State
Power
terminals are reserved for
TI use only. For proper
operation these terminals
must connect only to a
test pad or not be
connected at all [no
connect (NC)].
NCC11---No Connects. These balls
NCC12--NCC13--NCC14--NCC15--NCC16--NCC17--NCD6--NCD7--NCD8--NCD9--NCD10--NCD11--NCD12--NCD13--NCD14--NCD15--NCE4--NCF4--NCF16--NCF17--NCG4--NCK4--NCK16--NCL4--NCL16--NCM4--NCM16--NCN4--NCN16--NCN18--NCP4NCP15--NCP16--NCP17--NCR1--NCR10--NCR11--NCR12--NCR13--NCR14--NCR15---
www.ti.com
Table 2-47. No Connects (continued)
TypePull State
ZWT
are not connected to any
internal logic and can be
connected to the PCB
ground without affecting
the functionality of the
device.
NCT2---No Connects. These balls
NCT3--NCT4--NCT5--NCT6--NCT7--NCT8--NCT9--NCT10--NCT11--NCT13--NCT14--NCU3--NCU4--NCU5--NCU6--NCU7--NCU8--NCU9--NCU10--NCU11--NCU12--NCV3--NCV4--NCV11--NCV12--NCW4--NCW13---
TypePull State
are not connected to any
internal logic and can be
connected to the PCB
ground without affecting
the functionality of the
device.
2.3.2.21 Supply for Core Logic: 1.2V nominal
Table 2-48. ZWT Supply for Core Logic: 1.2V nominal
3.1Absolute Maximum Ratings Over Operating Free-Air Temperature Range,
(2)
V
CC
Supply voltage range:V
Input voltage range:
CCIO
V
CCAD
All input pins, with exception of ADC pins-0.3 V to 4.1 V
ADC input pins-0.3 V to 5.25 V
IIK(VI< 0 or VI> V
All pins, except AD1IN[23:0]
Input clamp current:IIK(VI< 0 or VI> V
AD1IN[23:0]
Total±40 mA
Operating free-air temperature range, TA:-40°C to 105°C
Operating junction temperature range, TJ:-40°C to 150°C
Storage temperature range, T
stg
(1) Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings
only, and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating
conditions” is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
(2) maximum-rated conditions for extended periods may affect device reliability. All voltage values are with respect to their associated
grounds.
, V
CCP
(2)
)±20 mA
CCIO
)±10 mA
CCAD
(1)
-0.3 V to 1.43 V
-0.3 V to 4.1 V
-0.3 V to 5.5 V
-65°C to 150°C
3.2Device Recommended Operating Conditions
V
CC
V
CCPLL
V
CCIO
V
CCAD
V
CCP
V
SS
V
SSAD
V
ADREFHI
V
ADREFLO
T
A
T
J
(1) All voltages are with respect to VSS, except V
Digital logic supply voltage (Core)1.141.21.32V
PLL Supply Voltage1.141.21.32V
Digital logic supply voltage (I/O)33.33.6V
MibADC supply voltage35.25V
Flash pump supply voltage33.33.6V
Digital logic supply ground0V
MibADC supply ground-0.10.1V
A-to-D high-voltage reference sourceV
A-to-D low-voltage reference sourceV
Operating free-air temperature-40105°C
Operating junction temperature-40150°C
(1) This specification does not account for any output buffer drive strength differences or any external capacitive loading differences. Check
Table 3-2 for output buffer drive strength information on each signal.
Delay between low to high, or high to low transition of general-purpose output signals6ns
that can be configured by an application in parallel, e.g. all signals in a GIOA port, or
all N2HET1 signals, etc.
The low-EMI output buffer has been designed explicitly to address the issue of decoupling sources of
emissions from the pins which they drive. This is accomplished by adaptively controlling the impedance of
the output buffer, and is particularly effective with capacitive loads.
This is not the default mode of operation of the low-EMI output buffers and must be enabled by setting the
system module GPCR1 register for the desired module or signal, as shown in . The adaptive impedance
control circuit monitors the DC bias point of the output signal. The buffer internally generates two
reference levels, VREFLOW and VREFHIGH, which are set to approximately 10% and 90% of VCCIO,
respectively.
Once the output buffer has driven the output to a low level, if the output voltage is below VREFLOW, then
the output buffer’s impedance will increase to hi-Z. A high degree of decoupling between the internal
ground bus and the output pin will occur with capacitive loads, or any load in which no current is flowing,
e.g. the buffer is driving low on a resistive path to ground. Current loads on the buffer which attempt to pull
the output voltage above VREFLOW will be opposed by the buffer’s output impedance so as to maintain
the output voltage at or below VREFLOW.
Conversely, once the output buffer has driven the output to a high level, if the output voltage is above
VREFHIGH then the output buffer’s impedance will again increase to hi-Z. A high degree of decoupling
between internal power bus ad output pin will occur with capacitive loads or any loads in which no current
is flowing, e.g. buffer is driving high on a resistive path to VCCIO. Current loads on the buffer which
attempt to pull the output voltage below VREFHIGH will be opposed by the buffer’s output impedance so
as to maintain the output voltage at or above VREFHIGH.
SPNS185 –SEPTEMBER 2012
The bandwidth of the control circuitry is relatively low, so that the output buffer in adaptive impedance
control mode cannot respond to high-frequency noise coupling into the buffer’s power buses. In this
manner, internal bus noise approaching 20% peak-to-peak of VCCIO can be rejected.
Unlike standard output buffers which clamp to the rails, an output buffer in impedance control mode will
allow a positive current load to pull the output voltage up to VCCIO + 0.6V without opposition. Also, a
negative current load will pull the output voltage down to VSSIO – 0.6V without opposition. This is not an
issue since the actual clamp current capability is always greater than the IOH / IOL specifications.
The low-EMI output buffers are automatically configured to be in the standard buffer mode when the
device enters a low-power mode.
Module or Signal NameControl Register to Enable Low-EMI Mode
The device core logic is split up into multiple power domains in order to optimize the power for a given
application use case. There are 6 core power domains in total: PD1, PD2, PD3, PD5, RAM_PD1, and
RAM_PD2. Refer to Section 1.4 for more information.
PD1 is an "always-ON" power domain, which cannot be turned off. Each of the other core power domains
can be turned ON/OFF one time during device initialization as per the application requirement. Refer to
the Power Management Module (PMM) chapter of the device technical reference manual for more details.
NOTE
The clocks to a module must be turned off before powering down the core domain that
contains the module.
NOTE
The logic in the modules that are powered down loses its power completely. Any access to
modules that are powered down results in an abort being generated. When power is
restored, the modules power-up to their default states (after normal power-up). No register or
memory contents are preserved in the core domains that are turned off.
www.ti.com
4.2Voltage Monitor Characteristics
A voltage monitor is implemented on this device. The purpose of this voltage monitor is to eliminate the
requirement for a specific sequence when powering up the core and I/O voltage supplies.
4.2.1Important Considerations
•The voltage monitor does not eliminate the need of a voltage supervisor circuit to guarantee that the
device is held in reset when the voltage supplies are out of range.
•The voltage monitor only monitors the core supply (VCC) and the I/O supply (VCCIO). The other
supplies are not monitored by the VMON. For example, if the VCCAD or VCCP are supplied from a
source different from that for VCCIO, then there is no internal voltage monitor for the VCCAD and
VCCP supplies.
4.2.2Voltage Monitor Operation
The voltage monitor generates the Power Good MCU signal (PGMCU) as well as the I/Os Power Good IO
signal (PGIO) on the device. During power-up or power-down, the PGMCU and PGIO are driven low when
the core or I/O supplies are lower than the specified minimum monitoring thresholds. The PGIO and
PGMCU being low isolates the core logic as well as the I/O controls during the power-up or power-down
of the supplies. This allows the core and I/O supplies to be powered up or down in any order.
When the voltage monitor detects a low voltage on the I/O supply, it will assert a power-on reset. When
the voltage monitor detects an out-of-range voltage on the core supply, it asynchronously makes all output
pins high impedance, and asserts a power-on reset. The voltage monitor is disabled when the device
enters a low power mode.
The VMON also incorporates a glitch filter for the nPORRST input. Refer to Section 4.3.3.1 for the timing
information on this glitch filter.
VCC low - VCC level below this0.80.91.0V
threshold is detected as too low.
V
MON
Voltage monitoringVCC high - VCC level above this1.401.72.1
thresholdsthreshold is detected as too high.
VCCIO low - VCCIO level below this1.92.42.9
threshold is detected as too low.
4.2.3Supply Filtering
The VMON has the capability to filter glitches on the VCC and VCCIO supplies.
The following table shows the characteristics of the supply filtering. Glitches in the supply larger than the
There is no timing dependency between the ramp of the VCCIO and the VCC supply voltage. The powerup sequence starts with the I/O voltage rising above the minimum I/O supply threshold, (see Table 4-4 for
more details), core voltage rising above the minimum core supply threshold and the release of power-on
reset. The high frequency oscillator will start up first and its amplitude will grow to an acceptable level. The
oscillator start up time is dependent on the type of oscillator and is provided by the oscillator vendor. The
different supplies to the device can be powered up in any order.
The device goes through the following sequential phases during power up.
Table 4-3. Power-Up Phases
Oscillator start-up and validity check1032 oscillator cycles
eFuse autoload1160 oscillator cycles
Flash pump power-up688 oscillator cycles
Flash bank power-up617 oscillator cycles
Total3497 oscillator cycles
The CPU reset is released at the end of the above sequence and fetches the first instruction from address
0x00000000.
www.ti.com
4.3.2Power-Down Sequence
The different supplies to the device can be powered down in any order.
4.3.3Power-On Reset: nPORRST
This is the power-on reset. This reset must be asserted by an external circuitry whenever the I/O or core
supplies are outside the specified recommended range. This signal has a glitch filter on it. It also has an
internal pulldown.
4.3.3.1nPORRST Electrical and Timing Requirements
NO ParameterMINMAXUnit
3t
6t
7t
8t
9t
V
CCPORL
V
CCPORH
V
CCIOPORL
V
CCIOPORH
V
IL(PORRST)
su(PORRST)
h(PORRST)
su(PORRST)
h(PORRST)
h(PORRST)
VCClow supply level when nPORRST must be active during power-0.5V
up
VCChigh supply level when nPORRST must remain active during1.14V
power-up and become active during power down
V
CCIO
power-up
V
CCIO
during power-up and become active during power down
Low-level input voltage of nPORRST V
Low-level input voltage of nPORRST V
Setup time, nPORRST active before V
during power-up
Hold time, nPORRST active after VCC> V
Setup time, nPORRST active before VCC< V
down
Hold time, nPORRST active after V
Hold time, nPORRST active after VCC< V
Table 4-4. Electrical Requirements for nPORRST
/ V
low supply level when nPORRST must be active during1.1V
CCP
/ V
high supply level when nPORRST must remain active3.0V
This is a bidirectional reset signal. The internal circuitry drives the signal low on detecting any device reset
condition. An external circuit can assert a device reset by forcing the signal low. On this terminal, the
output buffer is implemented as an open drain (drives low only). To ensure an external reset is not
arbitrarily generated, TI recommends that an external pullup resistor is connected to this terminal.
This terminal has a glitch filter. It also has an internal pullup
4.4.1Causes of Warm Reset
Table 4-5. Causes of Warm Reset
DEVICE EVENTSYSTEM STATUS FLAG
Power-Up ResetException Status Register, bit 15
Oscillator failGlobal Status Register, bit 0
PLL slipGlobal Status Register, bits 8 and 9
Watchdog exception / Debugger resetException Status Register, bit 13
CPU Reset (driven by the CPU STC)Exception Status Register, bit 5
Software ResetException Status Register, bit 4
External ResetException Status Register, bit 3
4.4.2nRST Timing Requirements
t
v(RST)
t
f(nRST)
(1) Specified values do NOT include rise/fall times. For rise and fall timings, see Table 3-4.
PARAMETERMINMAXUNIT
Valid time, nRST active after1160 t
nPORRST inactive
Valid time, nRST active (all other8t
System reset conditions)
Filter time nRST pin;
pulses less than MIN will be
filtered out, pulses greater than
MAX will generate a reset
•An integer unit with integral EmbeddedICE-RT logic.
•High-speed Advanced Microprocessor Bus Architecture (AMBA) Advanced eXtensible Interfaces (AXI)
for Level two (L2) master and slave interfaces.
•Floating Point Coprocessor
•Dynamic branch prediction with a global history buffer, and a 4-entry return stack
•Low interrupt latency.
•Non-maskable interrupt.
•A Harvard Level one (L1) memory system with:
– Tightly-Coupled Memory (TCM) interfaces with support for error correction or parity checking
memories
– ARMv7-R architecture Memory Protection Unit (MPU) with 12 regions
•Dual core logic for fault detection in safety-critical applications.
•An L2 memory interface:
– Single 64-bit master AXI interface
– 64-bit slave AXI interface to TCM RAM blocks
•A debug interface to a CoreSight Debug Access Port (DAP).
•A Performance Monitoring Unit (PMU).
•A Vectored Interrupt Controller (VIC) port.
SPNS185 –SEPTEMBER 2012
For more information on the ARM Cortex-R4F™ CPU please see www.arm.com.
4.5.2ARM Cortex-R4F™ CPU Features Enabled by Software
The following CPU features are disabled on reset and must be enabled by the application if required.
•ECC On Tightly-Coupled Memory (TCM) Accesses
•Hardware Vectored Interrupt (VIC) Port
•Floating Point Coprocessor
•Memory Protection Unit (MPU)
4.5.3Dual Core Implementation
The device has two Cortex-R4F cores, where the output signals of both CPUs are compared in the CCMR4 unit. To avoid common mode impacts the signals of the CPUs to be compared are delayed by 2 clock
cycles as shown in Figure 4-3.
The CPUs have a diverse CPU placement given by following requirements:
The CPU clock domain is split into two clock trees, one for each CPU, with the clock of the 2nd CPU
running at the same frequency and in phase to the clock of CPU1. See Figure 4-3.
4.5.5ARM Cortex-R4F™ CPU Compare Module (CCM) for Safety
This device has two ARM Cortex-R4F™ CPU cores, where the output signals of both CPUs are compared
in the CCM-R4 unit. To avoid common mode impacts the signals of the CPUs to be compared are delayed
in a different way as shown in the figure below.
www.ti.com
To avoid an erroneous CCM-R4 compare error, the application software must initialize the registers of
both CPUs before the registers are used, including function calls where the register values are pushed
onto the stack.
4.5.6CPU Self-Test
The CPU STC (Self-Test Controller) is used to test the two Cortex-R4F CPU Cores using the
Deterministic Logic BIST Controller as the test engine.
The main features of the self-test controller are:
•Ability to divide the complete test run into independent test intervals
•Capable of running the complete test as well as running few intervals at a time
•Ability to continue from the last executed interval (test set) as well as ability to restart from the
beginning (First test set)
•Complete isolation of the self-tested CPU core from rest of the system during the self-test run
•Ability to capture the Failure interval number
•Timeout counter for the CPU self-test run as a fail-safe feature
3. Configure the timeout period for the self-test run.
4. Enable self-test.
5. Wait for CPU reset.
6. In the reset handler, read CPU self-test status to identify any failures.
7. Retrieve CPU state if required.
For more information see the device Technical Reference Manual.
4.5.6.2CPU Self-Test Clock Configuration
The maximum clock rate for the self-test is 110MHz. The STCCLK is divided down from the CPU clock.
This divider is configured by the STCCLKDIV register at address 0xFFFFE108.
For more information see the device Technical Reference Manual.
4.5.6.3CPU Self-Test Coverage
Table 4-7 shows CPU test coverage achieved for each self-test interval. It also lists the cumulative test
cycles. The test time can be calculated by multiplying the number of test cycles with the STC clock period.
Note A: The values of C1 and C2 should be provided by the resonator/crystal vendor.
Kelvin_GND
Note B: Kelvin_GND should not be connected to any other GND.
(see Note B)
RM46L852
SPNS185 –SEPTEMBER 2012
4.6Clocks
4.6.1Clock Sources
The table below lists the available clock sources on the device. Each of the clock sources can be enabled
or disabled using the CSDISx registers in the system module. The clock source number in the table
corresponds to the control bit in the CSDISx register for that clock source.
The table also shows the default state of each clock source.
Table 4-8. Available Clock Sources
Clock
Source #
0OSCINMain OscillatorEnabled
1PLL1Output From PLL1Disabled
2ReservedReservedDisabled
3EXTCLKIN1External Clock Input #1Disabled
4LFLPOLow Frequency Output of Internal Reference OscillatorEnabled
5HFLPOEnabled
6PLL2Output From PLL2Disabled
7EXTCLKIN2External Clock Input #2Disabled
NameDescriptionDefault State
High Frequency Output of Internal Reference
Oscillator
www.ti.com
4.6.1.1Main Oscillator
The oscillator is enabled by connecting the appropriate fundamental resonator/crystal and load capacitors
across the external OSCIN and OSCOUT pins as shown in Figure 4-4. The oscillator is a single stage
inverter held in bias by an integrated bias resistor. This resistor is disabled during leakage test
measurement and low power modes.
TI strongly encourages each customer to submit samples of the device to the resonator/crystal
vendors for validation. The vendors are equipped to determine what load capacitors will best tune
their resonator/crystal to the microcontroller device for optimum start-up and operation over
temperature/voltage extremes.
An external oscillator source can be used by connecting a 3.3V clock signal to the OSCIN pin and leaving
the OSCOUT pin unconnected (open) as shown in the figure below.
The PLL is used to multiply the input frequency to some higher frequency.
The main features of the PLL are:
•Frequency modulation can be optionally superimposed on the synthesized frequency of PLL1. The
frequency modulation capability of PLL2 is permanently disabled.
•Configurable frequency multipliers and dividers.
•Built-in PLL Slip monitoring circuit.
•Option to reset the device on a PLL slip detection.
4.6.1.3.1 Block Diagram
Figure 4-6 shows a high-level block diagram of the two PLL macros on this microcontroller. PLLCTL1 and
PLLCTL2 are used to configure the multiplier and dividers for the PLL1. PLLCTL3 is used to configure the
multiplier and dividers for PLL2.
clock frequency
VCOCLK – PLL2 Output Divider (OD) input150550MHz
clock frequency
Figure 4-6. PLLx Block Diagram
Table 4-11. PLL Timing Specifications
Submit Documentation Feedback
(OSC_SQR)
(OSC_SQR)
MHz
MHz
Page 66
PRODUCTPREVIEW
RM46L852
SPNS185 –SEPTEMBER 2012
4.6.1.4External Clock Inputs
The device supports up to two external clock inputs. This clock input must be a square wave input. The
electrical and timing requirements for these clock inputs are specified below.
Table 4-12. External Clock Timing and Electrical Specifications
The table below lists the device clock domains and their default clock sources. The table also shows the
system module control register that is used to select an available clock source for each clock domain.
4.6.2.3Special Clock Source Selection Scheme for VCLKA4_DIVR_EMAC
Some applications may need to use both the of Ethernet interfaces. The MII interface requires
VCLKA4_DIVR_EMAC to be 25MHz and the RMII requires VCLKA4_DIVR_EAMC to be 50MHz.
These different frequencies are supported by adding special dedicated clock source selection options for
the VCLKA4_DIVR_EMAC clock domain. This logic is shown in .
Figure 4-8. VCLKA4_DIVR Source Selection Options
The PLL2 post_ODCLK is brought out as a separate output from the PLL wrapper module. There are two
additional dividers implemented at the device-level to divide this PLL2 post_ODCLK by 8 and by 16.
As shown in , the VCLKA4_SRC configured via the system module VCLKACON1 control register is used
to determine the clock source for the VCLKA4_S and VCLKA4_DIVR. An additional multiplexor is
implemented to select between the VCLKA4_DIVR and the two additional clock sources – PLL2
post_ODCLK/8 and post_ODCLK/16.
SPNS185 –SEPTEMBER 2012
The selection is done as shown in the following table.
The platform architecture defines a special mode that allows various clock signals to be brought out on to
the ECLK pin and N2HET1[12] device outputs. This mode is called the Clock Test mode. It is very useful
for debugging purposes and can be configured via the CLKTEST register in the system module.
SEL_ECP_PINSEL_GIO_PIN
=SIGNAL ON ECLK=SIGNAL ON N2HET1[12]
CLKTEST[3-0]CLKTEST[11-8]
0000Oscillator0000Oscillator Valid Status
0001Main PLL free-running clock output0001Main PLL Valid status
0010Reserved0010Reserved
0011EXTCLKIN10011Reserved
0100LFLPO0100Reserved
0101HFLPO0101HFLPO Valid status
0110Secondary PLL free-running clock output0110Secondary PLL Valid Status
0111EXTCLKIN20111Reserved
1000GCLK1000LFLPO
1001RTI Base1001Oscillator Valid status
1010Reserved1010Oscillator Valid status
1011VCLKA11011Oscillator Valid status
1100Reserved1100Oscillator Valid status
1101VCLKA3_DIVR1101VCLKA3_S
1110VCLKA4_DIVR1110VCLKA4_S
1111Reserved1111Oscillator Valid status
The LPO Clock Detect (LPOCLKDET) module consists of a clock monitor (CLKDET) and an internal low
power oscillator (LPO).
The LPO provides two different clock sources – a low frequency (LFLPO) and a high frequency (HFLPO).
The CLKDET is a supervisor circuit for an externally supplied clock signal (OSCIN). In case the OSCIN
frequency falls out of a frequency window, the CLKDET flags this condition in the global status register
(GLBSTAT bit 0: OSC FAIL) and switches all clock domains sourced by OSCIN to the HFLPO clock (limp
mode clock).
The valid OSCIN frequency range is defined as: f
4.7.1Clock Monitor Timings
For more information on LPO and Clock detection, refer to Table 4-10.
Figure 4-9. LPO and Clock Detection, Untrimmed HFLPO
HFLPO
/ 4 < f
OSCIN
< f
HFLPO
SPNS185 –SEPTEMBER 2012
* 4.
4.7.2External Clock (ECLK) Output Functionality
The ECLK pin can be configured to output a pre-scaled clock signal indicative of an internal device clock.
This output can be externally monitored as a safety diagnostic.
4.7.3Dual Clock Comparators
The Dual Clock Comparator (DCC) module determines the accuracy of selectable clock sources by
counting the pulses of two independent clock sources (counter 0 and counter 1). If one clock is out of
spec, an error signal is generated. For example, the DCC1 can be configured to use HFLPO as the
reference clock (for counter 0) and VCLK as the "clock under test" (for counter 1). This configuration
allows the DCC1 to monitor the PLL output clock when VCLK is using the PLL output as its source.
An additional use of this module is to measure the frequency of a selectable clock source, using the input
clock as a reference, by counting the pulses of two independent clock sources. Counter 0 generates a
fixed-width counting window after a preprogrammed number of pulses. Counter 1 generates a fixed-width
pulse (1 cycle) after a pre-programmed number of pulses. This pulse sets as an error signal if counter 1
does not reach 0 within the counting window generated by counter 0.
4.7.3.1Features
•Takes two different clock sources as input to two independent counter blocks.
•One of the clock sources is the known-good, or reference clock; the second clock source is the "clock
under test."
•Each counter block is programmable with initial, or seed values.
•The counter blocks start counting down from their seed values at the same time; a mismatch from the
expected frequency for the clock under test generates an error signal which is used to interrupt the
CPU.
4.9.3Special Consideration for CPU Access Errors Resulting in Imprecise Aborts
Any CPU write access to a Normal or Device type memory, which generates a fault, will generate an
imprecise abort. The imprecise abort exception is disabled by default and must be enabled for the CPU to
handle this exception. The imprecise abort handling is enabled by clearing the "A" bit in the CPU’s
program status register (CPSR).
4.9.4Master/Slave Access Privileges
The table below lists the access permissions for each bus master on the device. A bus master is a module
that can initiate a read or a write transaction on the device.
Each slave module on the main interconnect is listed in the table. A "Yes" indicates that the module listed
in the "MASTERS" column can access that slave module.
Write accesses to the Power Domain Management Module (PMM) control registers are limited to the CPU
(master id = 1). The other masters can only read from these registers.
A debugger can also write to the PMM registers. The master-id check is disabled in debug mode.
The device contains dedicated logic to generate a bus error response on any access to a module that is in
•The POM can map onto up to 8MB of the internal or external memory space. The starting address and
the size of the memory overlay are configurable via the POM control registers. Care must be taken to
ensure that the overlay is mapped on to available memory.
•ECC must be disabled by software via CP15 in case POM overlay is enabled; otherwise ECC errors
will be generated.
•POM overlay must not be enabled when the flash and internal RAM memories are swapped via the
MEM SWAP field of the Bus Matrix Module Control Register 1 (BMMCR1).
•When POM is used to overlay the flash on to internal or external RAM, there is a bus contention
possibility when another master accesses the TCM flash. This results in a system hang.
– The POM implements a timeout feature to detect this exact scenario. The timeout needs to be
enabled whenever POM overlay is enabled.
– The timeout can be enabled by writing 1010 to the Enable TimeOut (ETO) field of the POM Global
Control register (POMGLBCTRL, address = 0xFFA04000).
– In case a read request by the POM cannot be completed within 32 HCLK cycles, the timeout (TO)
flag is set in the POM Flag register (POMFLG, address = 0xFFA0400C). Also, an abort is
generated to the CPU. This can be a prefetch abort for an instruction fetch or a data abort for a
data fetch.
– The prefetch- and data-abort handlers must be modified to check if the TO flag in the POM is set. If
so, then the application can assume that the timeout is caused by a bus contention between the
POM transaction and another master accessing the same memory region. The abort handlers need
to clear the TO flag, so that any further aborts are not misinterpreted as having been caused due to
a timeout from the POM.
Flash Bank: A separate block of logic consisting of 1 to 16 sectors. Each flash bank normally has a
customer-OTP and a TI-OTP area. These flash sectors share input/output buffers, data paths, sense
amplifiers, and control logic.
Flash Sector: A contiguous region of flash memory which must be erased simultaneously due to physical
construction constraints.
Flash Pump: A charge pump which generates all the voltages required for reading, programming, or
erasing the flash banks.
Flash Module: Interface circuitry required between the host CPU and the flash banks and pump module.
All accesses to the program flash memory are protected by Single Error Correction Double Error Detection
(SECDED) logic embedded inside the CPU. The flash module provides 8 bits of ECC code for 64 bits of
instructions or data fetched from the flash memory. The CPU calculates the expected ECC code based on
the 64 bits received and compares it with the ECC code returned by the flash module. A single-bit error is
corrected and flagged by the CPU, while a multi-bit error is only flagged. The CPU signals an ECC error
via its Event bus. This signaling mechanism is not enabled by default and must be enabled by setting the
"X" bit of the Performance Monitor Control Register, c9.
MRC p15,#0,r1,c9,c12,#0;Enabling Event monitor states
ORR r1, r1, #0x00000010
MCR p15,#0,r1,c9,c12,#0;Set 4th bit (‘X’) of PMNC register
MRC p15,#0,r1,c9,c12,#0
The application must also explicitly enable the CPU's ECC checking for accesses on the CPU's ATCM
and BTCM interfaces. These are connected to the program flash and data RAM respectively. ECC
checking for these interfaces can be done by setting the B1TCMPCEN, B0TCMPCEN and ATCMPCEN
bits of the System Control coprocessor's Auxiliary Control Register, c1.
Figure 4-11 illustrates the connection of the Tightly Coupled RAM (TCRAM) to the Cortex-R4F™ CPU.
Figure 4-11. TCRAM Block Diagram
www.ti.com
4.11.1 Features
The features of the Tightly Coupled RAM (TCRAM) Module are:
•Acts as slave to the Cortex-R4F CPU's BTCM interface
•Supports CPU's internal ECC scheme by providing 64-bit data and 8-bit ECC code
•Monitors CPU Event Bus and generates single or multi-bit error interrupts
•Stores addresses for single and multi-bit errors
•Supports RAM trace module
•Provides CPU address bus integrity checking by supporting parity checking on the address bus
•Performs redundant address decoding for the RAM bank chip select and ECC select generation logic
•Provides enhanced safety for the RAM addressing by implementing two 36-bit wide byte-interleaved
RAM banks and generating independent RAM access control signals to the two banks
•Supports auto-initialization of the RAM banks along with the ECC bits
4.11.2 TCRAMW ECC Support
The TCRAMW passes on the ECC code for each data read by the Cortex-R4F CPU from the RAM. It also
stores the CPU's ECC port contents in the ECC RAM when the CPU does a write to the RAM. The
TCRAMW monitors the CPU's event bus and provides registers for indicating single/multi-bit errors and
also for identifying the address that caused the single or multi-bit error. The event signaling and the ECC
checking for the RAM accesses must be enabled inside the CPU.
For more information see the device Technical Reference Manual.
4.12Parity Protection for Accesses to peripheral RAMs
Accesses to some peripheral RAMs are protected by odd/even parity checking. During a read access the
parity is calculated based on the data read from the peripheral RAM and compared with the good parity
value stored in the parity RAM for that peripheral. If any word fails the parity check, the module generates
a parity error signal that is mapped to the Error Signaling Module. The module also captures the
peripheral RAM address that caused the parity error.
The parity protection for peripheral RAMs is not enabled by default and must be enabled by the
application. Each individual peripheral contains control registers to enable the parity protection for
accesses to its RAM.
SPNS185 –SEPTEMBER 2012
NOTE
The CPU read access gets the actual data from the peripheral. The application can choose
to generate an interrupt whenever a peripheral RAM parity error is detected.
(1) There are several memory testing algorithms stored in the PBIST ROM. However, TI recommends the March13N algorithm for
application testing.
26Dual Port4240
27Single Port66600
Table 4-26. PBIST RAM Grouping
triple readtriple read
ALGO MASKALGO MASKALGO MASKALGO MASK
0x10x20x40x8
Dual Port
Test Pattern (Algorithm)
March 13N
two portsingle port
(cycles)(cycles)
(1)
www.ti.com
March 13N
(1)
The PBIST ROM clock frequency is limited to 100MHz, if 100MHz < HCLK <= HCLKmax, or HCLK, if
HCLK <= 100MHz.
The PBIST ROM clock is divided down from HCLK. The divider is selected by programming the ROM_DIV
field of the Memory Self-Test Global Control Register (MSTGCR) at address 0xFFFFFF58.
This microcontroller allows some of the on-chip memories to be initialized via the Memory Hardware
Initialization mechanism in the System module. This hardware mechanism allows an application to
program the memory arrays with error detection capability to a known state based on their error detection
scheme (odd/even parity or ECC).
The MINITGCR register enables the memory initialization sequence, and the MSINENA register selects
the memories that are to be initialized.
For more information on these registers see the device Technical Reference Manual.
The mapping of the different on-chip memories to the specific bits of the MSINENA registers is shown in
N2HET1 RAM0xFF4600000xFF47FFFF3
HET TU2 RAM0xFF4C00000xFF4DFFFF16
HET TU1 RAM0xFF4E00000xFF4FFFFF4
DMA RAM0xFFF800000xFFF80FFF1
VIM RAM0xFFF820000xFFF82FFF2
USB Device RAMRAM is not CPU-Addressablen/a
Ethernet RAM (CPPI Memory
(1) The TCM RAM wrapper has separate control bits to select the RAM power domain that is to be auto-initialized.
(2) The MibSPIx modules perform an initialization of the transmit and receive RAMs as soon as the module is released from its local reset..
This is independent of whether the application chooses to initialize the MibSPIx RAMs using the system module auto-initialization
method. The MibSPIx module must be first brought out of its local reset in order to use the system module auto-initialization method.
The EMIF includes many features to enhance the ease and flexibility of connecting to external
asynchronous memories or SDRAM devices. The EMIF features includes support for:
•3 addressable chip select for asynchronous memories of up to 32kB each
•1 addressable chip select space for SDRAMs up to 128MB
•8 or 16-bit data bus width
•Programmable cycle timings such as setup, strobe, and hold times as well as turnaround time
(1) Setup before end of STROBE phase (if no extended wait states are inserted) by which EMIFnWAIT must be asserted to add extended
wait states. Figure Figure 4-13 and Figure Figure 4-15 describe EMIF transactions that include extended wait states inserted during the
STROBE phase. However, cycles inserted as part of this extended wait period should not be counted; the 4E requirement is to the start
of where the HOLD phase would begin if there were no extended wait cycles.
MEWC = Maximum external wait cycles. These parameters are programmed via the Asynchronous Bank and Asynchronous Wait Cycle
Configuration Registers. These support the following ranges of values: TA[4–1], RS[16–1], RST[64–1], RH[8–1], WS[16–1], WST[64–1],
WH[8–1], and MEWC[1–256]. See the EMIF User’s guide for more information.
(2) E = EMIF_CLK period in ns.
(3) EWC = external wait cycles determined by EMIFnWAIT input signal. EWC supports the following range of values. EWC[256–1]. Note
that the maximum wait time before timeout is specified by bit field MEWC in the Asynchronous Wait Cycle Configuration Register. See
The vectored interrupt manager (VIM) provides hardware assistance for prioritizing and controlling the
many interrupt sources present on this device. Interrupts are caused by events outside of the normal flow
of program execution. Normally, these events require a timely response from the central processing unit
(CPU); therefore, when an interrupt occurs, the CPU switches execution from the normal program flow to
an interrupt service routine (ISR).
4.15.1 VIM Features
The VIM module has the following features:
•Supports 128 interrupt channels.
– Provides programmable priority and enable for interrupt request lines.
•Provides a direct hardware dispatch mechanism for fastest IRQ dispatch.
•Provides two software dispatch mechanisms when the CPU VIC port is not used.
– Index interrupt
– Register vectored interrupt
•Parity protected vector interrupt table against soft errors.
USB DeviceUSB_FUNC.IRQISOON68
USB DeviceUSB_FUNC.IRQGENION69
USB DeviceUSB_FUNC.IRQNONISOON70
USB Devicenot (USB_FUNC.DSWAKEREQON)71
USB DeviceUSB_FUNC.USBRESETO72
Address location 0x00000000 in the VIM RAM is reserved for the phantom interrupt ISR
entry; therefore only request channels 0..126 can be used and are offset by 1 address in the
VIM RAM.
The EMIF_nWAIT signal has a pull-up on it. The EMIF module generates a "Wait Rise"
interrupt whenever it detects a rising edge on the EMIF_nWAIT signal. This interrupt
condition is indicated as soon as the device is powered up. This can be ignored if the
EMIF_nWAIT signal is not used in the application. If the EMIF_nWAIT signal is actually used
in the application, then the external slave memory must always drive the EMIF_nWAIT signal
such that an interrupt is not caused due to the default pull-up on this signal.
The lower-order interrupt channels are higher priority channels than the higher-order interrupt
channels.
The application can change the mapping of interrupt sources to the interrupt channels via the
interrupt channel control registers (CHANCTRLx) inside the VIM module.
The DMA controller is used to transfer data between two locations in the memory map in the background
of CPU operations. Typically, the DMA is used to:
•Transfer blocks of data between external and internal data memories
•Restructure portions of internal data memory
•Continually service a peripheral
4.16.1 DMA Features
•CPU independent data transfer
•One 64-bit master port that interfaces to the TMS570 Memory System.
•FIFO buffer(4 entries deep and each 64bit wide)
•Channel control information is stored in RAM protected by parity
•16 channels with individual enable
•Channel chaining capability
•32 peripheral DMA requests
•Hardware and Software DMA requests
•8, 16, 32 or 64-bit transactions supported
•Multiple addressing modes for source/destination (fixed, increment, offset)
•Auto-initiation
•Power-management mode
•Memory Protection with four configurable memory regions
The DMA module on this microcontroller has 16 channels and up to 32 hardware DMA requests. The
module contains DREQASIx registers which are used to map the DMA requests to the DMA channels. By
default, channel 0 is mapped to request 0, channel 1 to request 1, and so on.
Some DMA requests have multiple sources, as shown in Table 4-33. The application must ensure that
only one of these DMA request sources is enabled at any time.