PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of the Texas
Instruments standard warranty. Production processing does not
necessarily include testing of all parameters.
Check for Samples: TMS320C28346, TMS320C28345, TMS320C28344, TMS320C28343, TMS320C28342, TMS320C28341
1TMS320C2834x ( Delfino™) MCUs
1.1Overview
The TMS320C2834x (C2834x) Delfino™ microcontroller (MCU) devices build on TI's existing F2833x
high-performance floating-point microcontrollers. The C2834x delivers up to 300 MHz of floating-point
performance, and has up to 516KB of on-chip RAM. Designed for real-time control applications, the
C2834x is based on the C28x™ core, making it code-compatible with all C28x microcontrollers. The
on-chip peripherals and low-latency core make the C2834x an excellent solution for performance-hungry
real-time control applications.
1.2Features
1234
• High-Performance Static CMOS Technology
– Up to 300 MHz (3.33-ns Cycle Time)
– 1.1-V/1.2-V Core, 3.3-V I/O , 1.8-V
PLL/Oscillator Design
• High-Performance 32-Bit CPU (TMS320C28x)
– IEEE-754 Single-Precision Floating-Point
Unit (FPU)
– 16 x 16 and 32 x 32 MAC Operations
– 16 x 16 Dual MAC
– Harvard Bus Architecture
– Fast Interrupt Response and Processing
– Code-Efficient (in C/C++ and Assembly)
• Six-Channel DMA Controller (for McBSP,
XINTF, and SARAM)
• 16-Bit or 32-Bit External Interface (XINTF)
– Over 2M x 16 Address Reach
• On-Chip Memory
– Up to 258K x 16 SARAM
– 8K x 16 Boot ROM
• Clock and System Control
– Dynamic PLL Ratio Changes Supported
– On-Chip Oscillator
– Watchdog Timer Module
• Peripheral Interrupt Expansion (PIE) Block That
Supports All 64 Peripheral Interrupts
• Enhanced Control Peripherals
– Eighteen Enhanced Pulse Width Modulator
(ePWM) Outputs
•Dedicated 16-Bit Time-Based Counter
With Period and Frequency Control
•Single-Edge, Dual-Edge Symmetric, or
Dual-Edge Asymmetric Outputs
•Dead-Band Generation
•PWM Chopping by High-Frequency
Carrier
•Trip Zone Input
•Up to 9 HRPWM Outputs With 55-ps MEP
Resolution at VDD= 1.1 V (65 ps at 1.2 V)
– Six 32-Bit Enhanced Capture (eCAP)
Modules
•Configurable as 3 Capture Inputs or
3 Auxiliary Pulse Width Modulator
Outputs
•Single-Shot Capture of up to Four Event
Time-Stamps
– Three 32-Bit Quadrature Encoder Pulse
(QEP) Modules
– Six 32-Bit Timers/Nine 16-Bit Timers
• Three 32-Bit CPU Timers
• Serial Port Peripherals
– Up to 2 CAN Modules
– Up to 3 SCI (UART) Modules
– Up to 2 McBSP Modules (Configurable as
SPI)
– Up to 2 SPI Module s
– One Inter-Integrated-Circuit (I2C) Bus
• External ADC Interface
• Up to 88 Individually Programmable,
Multiplexed GPIO Pins With Input Filtering
• Advanced Emulation Features
– Analysis and Breakpoint Functions
– Real-Time Debug via Hardware
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.
2Delfino, MicroStar BGA, C28x, TMS320C54x, TMS320C55x, Code Composer Studio, TMS320C28x are trademarks of Texas Instruments.
31-Wire is a registered trademark of Maxim Integrated Products, Inc.
4All other trademarks are the property of their respective owners.
PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of the Texas
Instruments standard warranty. Production processing does not
necessarily include testing of all parameters.
• 2834x Package Options:• Community Resources
– MicroStar BGA™ (ZHH)– TI E2E Community
– Plastic BGA (ZFE)– TI Embedded Processors Wiki
1.3Getting Started
This section gives a brief overview of the steps to take when first developing for a C28x device. For more
detail on each of these steps, see the following:
•Getting Started With TMS320C28x Digital Signal Controllers (literature number SPRAAM0).
•C2000 Getting Started Website (http://www.ti.com/c2000getstarted)
•TMS320F28x Development and Experimenter's Kits (http://www.ti.com/f28xkits)
TheTMS320C28346, TMS320C28345, TMS320C28344,TMS320C28343, TMS320C28342,and
TMS320C28341 devices, members of the Delfino™ MCUgeneration, are highly integrated,
high-performance solutions for demanding control applications.
Throughout this document, the devices are abbreviated as C28346, C28345, C28344, C28343, C28342,
and C28341, respectively. Table 2-1 provides a summary of features for each device.
32-bit Capture inputs or auxiliary PWM outputs0666644
32-bit QEP channels (four inputs/channel)0333322
Watchdog timer–YesYesYesYesYesYes
External ADC Interface–YesYesYesYesYesYes
32-bit CPU timers–333333
Multichannel Buffered Serial Port (McBSP)/SPI1222211
Serial Peripheral Interface (SPI)0222222
Serial Communications Interface (SCI)0333333
Enhanced Controller Area Network (eCAN)0222222
Inter-Integrated Circuit (I2C)0111111
General-Purpose Input/Output (GPIO) pins
(shared)
External interrupts–888888
(1)
–888888888888
(1) A type change represents a major functional feature difference in a peripheral module. Within a peripheral type, there may be minor differences between devices that do not affect the
basic functionality of the module. These device-specific differences are listed in the TMS320x28xx, 28xxx DSP Peripheral Reference Guide (literature number SPRU566) and in the
peripheral reference guides.
(2) TMX samples will come with the ZEP designator. The designator will change to ZFE after TMS.
(3) Custom secure versions of these devices are available. See Section 3.2.9, Security, for more details.
The 179-ball ZHH ball grid array (BGA) terminal assignments are shown in Figure 2-1 through Figure 2-4.
The 256-ball ZFE plastic ball grid array (PBGA) terminal assignments are shown in Figure 2-5 through
Figure 2-8. Table 2-2 describes the function(s) of each pin.
Table 2-2 describes the signals. The GPIO function (shown in Italics) is the default at reset. The peripheral
signals that are listed under them are alternate functions. Some peripheral functions may not be available
in all devices. See Table 2-1 for details. Inputs are not 5-V tolerant. All XINTF pins have a drive strength
of 4 mA (typical). All GPIO pins are I/O/Z, 4-mA drive typical and have an internal pullup, which can be
selectively enabled/disabled on a per-pin basis. This feature only applies to the GPIO pins. The pullups on
GPIO0–GPIO11 and GPIO58–GPIO63 pins are not enabled at reset. The pullups on GPIO12–GPIO57
and GPIO64–GPIO87 are enabled upon reset.
Table 2-2. Signal Descriptions
NAMEDESCRIPTION
TRST
TCK
TMS
TDI
TDO
EMU0
EMU1
XCLKOUT
XCLKINthe X1 pin must be tied to V
X1
X2
ZHHZFE
BALL # BALL #
JTAG
M7R8JTAG test reset with internal pulldown. TRST, when driven high, gives the scan system control of
P9T11JTAG test clock. An external pullup resistor is required on this pin. A 2.2-kΩ resistor generally offers
M8P9JTAG test-mode select (TMS) with internal pullup. This serial control input is clocked into the TAP
L6T8JTAG test data input (TDI) with internal pullup. TDI is clocked into the selected register (instruction
N7P8JTAG scan out, test data output (TDO). The contents of the selected register (instruction or data)
N9P10Emulator pin 0. When TRST is driven high, this pin is used as an interrupt to or from the emulator
L9R10Emulator pin 1. When TRST is driven high, this pin is used as an interrupt to or from the emulator
B14D16Output clock derived from SYSCLKOUT. XCLKOUT is either the same frequency, one-half the
D9A12External Oscillator Input. This pin is to feed a clock from an external 3.3-V oscillator. In this case,
C8A7Internal/External Oscillator Input. To use the internal oscillator, a quartz crystal may be connected
A8A9Internal Oscillator Output. A quartz crystal may be connected across X1 and X2. If X2 is not used it
the operations of the device. If this signal is not connected or driven low, the device operates in its
functional mode, and the test reset signals are ignored.
NOTE: TRST is an active high test pin and must be maintained low at all times during normal
device operation. An external pulldown resistor is recommended on this pin. The value of this
resistor should be based on drive strength of the debugger pods applicable to the design. A 2.2-kΩ
resistor generally offers adequate protection. Since this is application-specific, it is recommended
that each target board be validated for proper operation of the debugger and the application. (I, ↓)
adequate protection.(I)
controller on the rising edge of TCK. (I, ↑)
or data) on a rising edge of TCK. (I, ↑)
are shifted out of TDO on the falling edge of TCK.
system and is defined as input/output through the JTAG scan. This pin is also used to put the
device into boundary-scan mode. With the EMU0 pin at a logic-high state and the EMU1 pin at a
logic-low state, a rising edge on the TRST pin would latch the device into boundary-scan mode.
NOTE: An external pullup resistor is recommended on this pin. The value of this resistor should be
based on the drive strength of the debugger pods applicable to the design. A 2.2-kΩ to 4.7-kΩ
resistor is generally adequate. Since this is application-specific, it is recommended that each target
board be validated for proper operation of the debugger and the application.
system and is defined as input/output through the JTAG scan. This pin is also used to put the
device into boundary-scan mode. With the EMU0 pin at a logic-high state and the EMU1 pin at a
logic-low state, a rising edge on the TRST pin would latch the device into boundary-scan mode.
NOTE: An external pullup resistor is recommended on this pin. The value of this resistor should be
based on the drive strength of the debugger pods applicable to the design. A 2.2-kΩ to 4.7-kΩ
resistor is generally adequate. Since this is application-specific, it is recommended that each target
board be validated for proper operation of the debugger and the application.
Clock
frequency, one-fourth the frequency, or one-eighth the frequency of SYSCLKOUT. This is controlled
by bit 19 (BY4CLKMODE), bits 18:16 (XTIMCLK), and bit 2 (CLKMODE) in the XINTCNF2 register.
At reset, XCLKOUT = SYSCLKOUT/8. The XCLKOUT signal can be turned off by setting
XINTCNF2[CLKOFF] to 1. Unlike other GPIO pins, the XCLKOUT pin is not placed in
high-impedance state during a reset.
. If a crystal/resonator is used (or if an external 1.8-V oscillator is
used to feed clock to X1 pin), this pin must be tied to VSS. (I)
across X1 and X2. The X1 pin is referenced to the 1.8-V core digital power supply. A 1.8-V external
oscillator may be connected to the X1 pin. In this case, the XCLKIN pin must be connected to VSS.
If a 3.3-V external oscillator is used with the XCLKIN pin, X1 must be tied to V
Device Reset (in) and Watchdog Reset (out).
Device reset. XRS causes the device to terminate execution. The PC will point to the address
contained at the location 0x3FFFC0. When XRS is brought to a high level, execution begins at the
location pointed to by the PC. This pin is driven low by the MCU when a watchdog reset occurs.
During watchdog reset, the XRS pin is driven low for the watchdog reset duration of 512 OSCCLK
cycles. (I/OD, ↑)
The output buffer of this pin is an open-drain with an internal pullup. It is recommended that this pin
be driven by an open-drain device.
XRS I/O Control (I) - This pin must be connected to the XRS pin on the target board. When XRS is
mode.
Trip Zone input 3/External Hold Request. XHOLD, when active (low), requests the external interface
(XINTF) to release the external bus and place all buses and strobes into a high-impedance state. To
prevent this from happening when TZ3 signal goes active, disable this function by writing
H5J3
K2K2active (low) when the XINTF has granted an XHOLD request. All XINTF buses and strobe signals
K4L1
J5L2
L1M1
P3T4
goes low. On the ePWM side, TZn signals are ignored by default, unless they are enabled by the
code. The XINTF will release the bus when any current access is complete and there are no
pending accesses on the XINTF. (I)
Trip Zone input 4/External Hold Acknowledge. The pin function for this option is based on the
direction chosen in the GPADIR register. If the pin is configured as an input, then TZ4 function is
chosen. If the pin is configured as an output, then XHOLDA function is chosen. XHOLDA is driven
will be in a high-impedance state. XHOLDA is released when the XHOLD signal is released.
External devices should only drive the external bus when XHOLDA is active (low). (I/O)
GPIO48General-Purpose Input/Output 48 (I/O/Z)
ECAP5Enhanced Capture input/output 5 (I/O)
XD31External Interface Data Line 31 (O)
SPISIMODSPI-D slave in, master out (I/O)
GPIO49General-Purpose Input/Output 49 (I/O/Z)
ECAP6Enhanced Capture input/output 6 (I/O)
XD30External Interface Data Line 30 (O)
SPISOMIDSPI-D slave out, master in (I/O)
GPIO50General-Purpose Input/Output 50 (I/O/Z)
EQEP1AEnhanced QEP 1input A (I)
XD29External Interface Data Line 29 (O)
SPICLKDSPI-D Clock input/output (I/O)
GPIO51General-Purpose Input/Output 51 (I/O/Z)
EQEP1BEnhanced QEP 1input B (I)
XD28External Interface Data Line 28 (O)
SPISTEDSPI-D slave transmit enable input/output (I/O)
GPIO52General-Purpose Input/Output 52 (I/O/Z)
EQEP1SM11P12Enhanced QEP 1Strobe (I/O)
XD27External Interface Data Line 27 (O)
GPIO53General-Purpose Input/Output 53 (I/O/Z)
EQEP1IL11T13Enhanced QEP1 lndex (I/O)
XD26External Interface Data Line 26 (O)
GPIO54General-Purpose Input/Output 54 (I/O/Z)
SPISIMOASPI-A slave in, master out (I/O)
XD25External Interface Data Line 25 (O)
EQEP3AEnhanced QEP3 input A (I)
GPIO55General-Purpose Input/Output 55 (I/O/Z)
SPISOMIASPI-A slave out, master in (I/O)
XD24External Interface Data Line 24 (O)
EQEP3BEnhanced QEP3 input B (I)
GPIO56General-Purpose Input/Output 56 (I/O/Z)
SPICLKASPI-A clock (I/O)
XD23External Interface Data Line 23 (O)
EQEP3SEnhanced QEP3 strobe (I/O)
GPIO57General-Purpose Input/Output 57 (I/O/Z)
SPISTEASPI-A slave transmit enable (I/O)
XD22External Interface Data Line 22 (O)
EQEP3IEnhanced QEP3 index (I/O)
GPIO58General-Purpose Input/Output 58 (I/O/Z)
MCLKRAMcBSP-A receive clock (I/O)
XD21External Interface Data Line 21 (O)
EPWM7AEnhanced PWM 7 output A and HRPWM channel (O)
GPIO59General-Purpose Input/Output 59 (I/O/Z)
MFSRAMcBSP-A receive frame synch (I/O)
XD20External Interface Data Line 20 (O)
EPWM7BEnhanced PWM 7 output B (O)
GPIO60General-Purpose Input/Output 60 (I/O/Z)
MCLKRBMcBSP-B receive clock (I/O)
XD19External Interface Data Line 19 (O)
EPWM8AEnhanced PWM 8 output A and HRPWM channel (O)
GPIO61General-Purpose Input/Output 61 (I/O/Z)
MFSRBMcBSP-B receive frame synch (I/O)
XD18External Interface Data Line 18 (O)
EPWM8BEnhanced PWM8 output B (O)
GPIO62General-Purpose Input/Output 62 (I/O/Z)
SCIRXDCSCI-C receive data (I)
XD17External Interface Data Line 17 (O)
EPWM9AEnhanced PWM9 output A and HRPWM channel (O)
GPIO63General-Purpose Input/Output 63 (I/O/Z)
SCITXDCSCI-C transmit data (O)
XD16External Interface Data Line 16 (O)
EPWM9BEnhanced PWM9 output B (O)
In Figure 3-2 through Figure 3-4, the following apply:
•Memory blocks are not to scale.
•Peripheral Frame 0, Peripheral Frame 1, Peripheral Frame 2, and Peripheral Frame 3 memory maps
are restricted to data memory only. A user program cannot access these memory maps in program
space.
•Protected means the order of "Write followed by Read" operations is preserved rather than the pipeline
order. See the TMS320x2834x Delfino System Control and Interrupts Reference Guide (literature
number SPRUFN1) for more details.
•Certain memory ranges are EALLOW protected against spurious writes after configuration.
•If the eCAN module is not used in an application, the RAM available (LAM, MOTS, MOTO, and
mailbox RAM) can be used as general-purpose RAM. The CAN module clock should be enabled for
this.
Peripheral Frame 1, Peripheral Frame 2, and Peripheral Frame 3 are grouped together to enable these
blocks to be write/read peripheral block protected. The protected mode ensures that all accesses to these
blocks happen as written. Because of the C28x pipeline, a write immediately followed by a read, to
different memory locations, will appear in reverse order on the memory bus of the CPU. This can cause
problems in certain peripheral applications where the user expected the write to occur first (as written).
The C28x CPU supports a block protection mode where a region of memory can be protected so as to
make sure that operations occur as written (the penalty is extra cycles are added to align the operations).
This mode is programmable and by default, it will protect the selected zones.
The wait-states for the various spaces in the memory map area are listed in Table 3-1 .
Peripheral Frame 30-wait (writes)0-wait (writes)Assumes no conflicts between CPU and DMA.
Peripheral Frame 10-wait (writes)Cycles can be extended by peripheral generated ready.
Peripheral Frame 20-wait (writes)Fixed. Cycles cannot be extended by the peripheral.
L0 SARAM0-wait data andAssumes no CPU conflicts
L1 SARAM
L2 SARAM
L3 SARAM
L4 SARAM1-waitAssumes no conflicts between CPU and DMA
L5 SARAM
L6 SARAM1-wait
L7 SARAM
XINTFProgrammableProgrammed via the XTIMING registers or extendable via
H0 SARAM1-waitA program-access prefetch mechanism is enabled on these
H1 SARAM
H2 SARAM
H3 SARAM
H4 SARAM
H5 SARAM
Boot-ROM1-waitNo access
(1) The DMA has a base of 4 cycles/word.
WAIT-STATESWAIT-STATES
(CPU)(DMA)
1-wait (reads)0-wait (reads)
2-wait (reads)1-wait (reads)
2-wait (reads)Consecutive writes to the CAN will experience a 1-cycle
2-wait (reads)
program
1-wait minimum1-wait is minimum wait states allowed on external waveforms
0-wait minimum writes0-wait data (write)0-wait minimum for writes assumes write buffer enabled and
with write buffer0-wait data (read)not full.
enabledAssumes no conflicts between CPU and DMA. When DMA
(1)
No access
pipeline hit.
No access
external XREADY signal.
for both reads and writes on XINTF.
and CPU attempt simultaneous conflict, 1-cycle delay is
added for arbitration.
memories to improve instruction fetch performance for linear
code execution.
The C2834x (C28x+FPU) family is a member of the TMS320C2000™ microcontroller (MCU) platform. The
C28x+FPU based controllers have the same 32-bit fixed-point architecture as TI's existing C28x MCUs,
but also include a single-precision (32-bit) IEEE 754 floating-point unit (FPU). It is a very efficient C/C++
engine, enabling users to develop their system control software in a high-level language. It also enables
math algorithms to be developed using C/C++. The device is as efficient at DSP math tasks as it is at
system control tasks. This efficiency removes the need for a second processor in many systems. The 32 x
32-bit MAC 64-bit processing capabilities enable the controller to handle higher numerical resolution
problems efficiently. Add to this the fast interrupt response with automatic context save of critical registers,
resulting in a device that is capable of servicing many asynchronous events with minimal latency. The
device has an 8-level-deep protected pipeline with pipelined memory accesses. This pipelining enables it
toexecuteat highspeedswithoutresortingtoexpensive high-speedmemories.Special
branch-look-ahead hardware minimizes the latency for conditional discontinuities. Special store conditional
operations further improve performance.
3.2.2Memory Bus (Harvard Bus Architecture)
As with many MCU type devices, multiple busses are used to move data between the memories and
peripherals and the CPU. The C28x memory bus architecture contains a program read bus, data read bus
and data write bus. The program read bus consists of 22 address lines and 32 data lines. The data read
and write busses consist of 32 address lines and 32 data lines each. The 32-bit-wide data busses enable
single cycle 32-bit operations. The multiple bus architecture, commonly termed Harvard Bus, enables the
C28x to fetch an instruction, read a data value and write a data value in a single cycle. All peripherals and
memories attached to the memory bus will prioritize memory accesses. Generally, the priority of memory
bus accesses can be summarized as follows:
SPRS516B–MARCH 2009–REVISED JULY 2010
Highest:Data Writes(Simultaneous data and program writes cannot occur on the
Program Writes (Simultaneous data and program writes cannot occur on the
Data Reads
Program(Simultaneous program reads and fetches cannot occur on the
Readsmemory bus.)
Lowest:Fetches(Simultaneous program reads and fetches cannot occur on the
3.2.3Peripheral Bus
To enable migration of peripherals between various Texas Instruments (TI) MCU family of devices, the
C2834x devices adopt a peripheral bus standard for peripheral interconnect. The peripheral bus bridge
multiplexes the various busses that make up the processor Memory Bus into a single bus consisting of
16 address lines and 16 or 32 data lines and associated control signals. Three versions of the peripheral
bus are supported. One version supports only 16-bit accesses (called peripheral frame 2). Another version
supports both 16- and 32-bit accesses (called peripheral frame 1). The third version supports DMA access
and both 16- and 32-bit accesses (called peripheral frame 3).
The C2834x devices implement the standard IEEE 1149.1 JTAG interface. Additionally, the devices
support real-time mode of operation whereby the contents of memory, peripheral and register locations
can be modified while the processor is running and executing code and servicing interrupts. The user can
also single step through non-time critical code while enabling time-critical interrupts to be serviced without
interference. The device implements the real-time mode in hardware within the CPU. This is a feature
unique to the C2834x device, requiring no software monitor. Additionally, special analysis hardware is
provided that allows setting of hardware breakpoint or data/address watch-points and generate various
user-selectable break events when a match occurs.
3.2.5External Interface (XINTF)
This asynchronous interface consists of 20 address lines, 32 data lines, and three chip-select lines. The
chip-select lines are mapped to three external zones, Zones 0, 6, and 7. Each of the three zones can be
programmed with a different number of wait states, strobe signal setup and hold timing and each zone can
be programmed for extending wait states externally or not. The programmable wait-state, chip-select and
programmable strobe timing enables glueless interface to external memories and peripherals.
3.2.6M0, M1 SARAMs
All C2834x devices contain these two blocks of single access memory, each 1K × 16 in size. The stack
pointer points to the beginning of block M1 on reset. The M0 and M1 blocks, like all other memory blocks
on C28x devices, are mapped to both program and data space. Hence, the user can use M0 and M1 to
execute code or for data variables. The partitioning is performed within the linker. The C28x device
presents a unified memory map to the programmer. This makes for easier programming in high-level
languages.
The Boot ROM is factory-programmed with boot-loading software. Boot-mode signals are provided to tell
the bootloader software what boot mode to use on power up. The user can select to boot normally or to
download new software from an external connection or to select boot software that is programmed in the
internal ROM. The Boot ROM also contains standard tables, such as SIN/COS waveforms, for use in math
related algorithms.
(1) All four GPIO pins have an internal pullup.
(2) This mode is available on secure devices only. See Section 3.2.9, Security.
(2)
(1)
3.2.9Security
The 128-bit password locations on these devices will always read back 0xFFFF. To preserve compatibility
with other C28x designs with code security, the password locations at 0x33FFF8–0x33FFFF must be read
after a device reset; otherwise, certain memory locations will be inaccessible. The Boot ROM code
performs this read during startup. If during debug the Boot ROM is bypassed, then it is the responsibility of
the application software to read the password locations after a reset.
Custom Encryption: Activating the Code Security Module (CSM) and Emulation Code Security
Logic (ECSL)
Custom secure versions of these devices are available which enable the CSM and ECSL logic on these
devices. In the custom version, the 128-bit password locations are set to a customer-chosen value,
activating the Code Security Module (CSM), which protects the Hx RAM memories from unauthorized
access. Additionally, a TI-generated AES decryption routine is embedded into an on-chip secure ROM,
providing a method to secure application code that is stored externally. Contact TI at support@ti.com for
more details.
The PIE block serves to multiplex numerous interrupt sources into a smaller set of interrupt inputs. The
PIE block can support up to 96 peripheral interrupts. On the C2834x, 64 of the possible 96 interrupts are
used by peripherals. The 96 interrupts are grouped into blocks of 8 and each group is fed into 1 of
12 CPU interrupt lines (INT1 to INT12). Each of the 96 interrupts is supported by its own vector stored in a
dedicated RAM block that can be overwritten by the user. The vector is automatically fetched by the CPU
on servicing the interrupt. It takes 8 CPU clock cycles to fetch the vector and save critical CPU registers.
Hence the CPU can quickly respond to interrupt events. Prioritization of interrupts is controlled in
hardware and software. Each individual interrupt can be enabled/disabled within the PIE block.
3.2.11 External Interrupts (XINT1–XINT7, XNMI)
The devices support eight masked external interrupts (XINT1–XINT7, XNMI). XNMI can be connected to
the INT13 or NMI interrupt of the CPU. Each of the interrupts can be selected for negative, positive, or
both negative and positive edge triggering and can also be enabled/disabled (including the XNMI). XINT1,
XINT2, and XNMI also contain a 16-bit free running up counter, which is reset to zero when a valid
interrupt edge is detected. This counter can be used to accurately time stamp the interrupt. Unlike the
281x devices, there are no dedicated pins for the external interrupts. XINT1 XINT2, and XNMI interrupts
can accept inputs from GPIO0–GPIO31 pins. XINT3–XINT7 interrupts can accept inputs from
GPIO32–GPIO63 pins.
3.2.12 Oscillator and PLL
www.ti.com
The device can be clocked by an external oscillator or by a crystal attached to the on-chip oscillator circuit.
A PLL is provided supporting up to 31 input-clock-scaling ratios. The PLL ratios can be changed on-the-fly
in software, enabling the user to scale back on operating frequency if lower power operation is desired.
Refer to the Electrical Specification section for timing details. The PLL block can be set in bypass mode.
3.2.13 Watchdog
The devices contain a watchdog timer. The user software must regularly reset the watchdog counter
within a certain time frame; otherwise, the watchdog will generate a reset to the processor. The watchdog
can be disabled if necessary.
3.2.14 Peripheral Clocking
The clocks to each individual peripheral can be enabled/disabled so as to reduce power consumption
when a peripheral is not in use. Additionally, the system clock to the serial ports (except I2C and eCAN)
blocks can be scaled relative to the CPU clock. This enables the timing of peripherals to be decoupled
from increasing CPU clock speeds.
3.2.15 Low-Power Modes
The devices are full static CMOS devices. Three low-power modes are provided:
IDLE:Place CPU into low-power mode. Peripheral clocks may be turned off selectively and
only those peripherals that need to function during IDLE are left operating. An
enabled interrupt from an active peripheral or the watchdog timer will wake the
processor from IDLE mode.
STANDBY: Turns off clock to CPU and peripherals. This mode leaves the oscillator and PLL
functional. An external interrupt event will wake the processor and the peripherals.
Execution begins on the next valid cycle after detection of the interrupt event
HALT:Turns off the internal oscillator. This mode basically shuts down the device and
places it in the lowest possible power consumption mode. A reset or external signal
can wake the device from this mode.
GPIO:GPIO MUX Configuration and Control Registers
ePWM:Enhanced Pulse Width Modulator Module and Registers
eCAP:Enhanced Capture Module and Registers
eQEP:Enhanced Quadrature Encoder Pulse Module and Registers
PF2:SYS:System Control Registers
SCI:Serial Communications Interface (SCI) Control and RX/TX Registers
SPI:Serial Port Interface (SPI) Control and RX/TX Registers
ADC:External ADC Interface
I2C:Inter-Integrated Circuit Module and Registers
XINTExternal Interrupt Registers
PF3:McBSPMultichannel Buffered Serial Port Registers
Most of the peripheral signals are multiplexed with general-purpose input/output (GPIO) signals. This
enables the user to use a pin as GPIO if the peripheral signal or function is not used. On reset, GPIO pins
are configured as inputs. The user can individually program each pin for GPIO mode or peripheral signal
mode. For specific inputs, the user can also select the number of input qualification cycles. This is to filter
unwanted noise glitches. The GPIO signals can also be used to bring the device out of specific low-power
modes.
3.2.18 32-Bit CPU-Timers (0, 1, 2)
CPU-Timers 0, 1, and 2 are identical 32-bit timers with presettable periods and with 16-bit clock
prescaling. The timers have a 32-bit count down register, which generates an interrupt when the counter
reaches zero. The counter is decremented at the CPU clock speed divided by the prescale value setting.
When the counter reaches zero, it is automatically reloaded with a 32-bit period value. CPU-Timer 2 is
reserved for Real-Time OS (RTOS)/BIOS applications. It is connected to INT14 of the CPU. If DSP/BIOS
is not being used, CPU-Timer 2 is available for general use. CPU-Timer 1 is for general use and can be
connected to INT13 of the CPU. CPU-Timer 0 is also for general use and is connected to the PIE block.
generation, adjustable dead-band generation for leading/trailing edges,
latched/cycle-by-cycle trip mechanism. Some of the PWM pins support HRPWM
features.
eCAP:The enhanced capture peripheral uses a 32-bit time base and registers up to four
programmable events in continuous/one-shot capture modes.
This peripheral can also be configured to generate an auxiliary PWM signal.
eQEP:The enhanced QEP peripheral uses a 32-bit position counter, supports low-speed
measurement using capture unit and high-speed measurement using a 32-bit unit
timer.
This peripheral has a watchdog timer to detect motor stall and input error detection
logic to identify simultaneous edge transition in QEP signals.
3.2.20 Serial Port Peripherals
The devices support the following serial communication peripherals:
eCAN:This is the enhanced version of the CAN peripheral. It supports 32 mailboxes, time
stamping of messages, and is CAN 2.0B-compliant.
McBSP:The multichannel buffered serial port (McBSP) connects to E1/T1 lines,
phone-quality codecs for modem applications or high-quality stereo audio DAC
devices. The McBSP receive and transmit registers are supported by the DMA to
significantly reduce the overhead for servicing this peripheral. Each McBSP module
can be configured as an SPI as required.
SPI:The SPI is a high-speed, synchronous serial I/O port that allows a serial bit stream of
programmed length (one to sixteen bits) to be shifted into and out of the device at a
programmable bit-transfer rate. Normally, the SPI is used for communications
between the MCU and external peripherals or another processor. Typical
applications include external I/O or peripheral expansion through devices such as
shift registers, display drivers, and ADCs. Multi-device communications are
supported by the master/slave operation of the SPI. The SPI contains a 16-level
receive and transmit FIFO for reducing interrupt servicing overhead.
SCI:The serial communications interface is a two-wire asynchronous serial port,
commonly known as UART. The SCI contains a 16-level receive and transmit FIFO
for reducing interrupt servicing overhead.
I2C:The inter-integrated circuit (I2C) module provides an interface between an MCU and
other devices compliant with Philips Semiconductors Inter-IC bus (I2C-bus)
specification version 2.1 and connected by way of an I2C-bus. External components
attached to this 2-wire serial bus can transmit/receive up to 8-bit data to/from the
MCU through the I2C module. The I2C contains a 16-level receive and transmit
FIFO for reducing interrupt servicing overhead.
(1) Registers in Frame 0 support 16-bit and 32-bit accesses.
(2) If registers are EALLOW protected, then writes cannot be performed until the EALLOW instruction is executed. The EDIS instruction
disables writes to prevent stray code or pointers from corrupting register contents.
These registers are used to control the protection mode of the C28x CPU and to monitor some critical
device signals. The registers are defined in Table 3-7.
www.ti.com
Table 3-7. Device Emulation Registers
NAMESIZE (x16)DESCRIPTION
DEVICECNF2Device Configuration Register
PARTID0x08821Part ID RegisterTMS320C283460xFFD0
REVID0x08831Revision ID
PROTSTART0x08841Block Protection Start Address Register
PROTRANGE0x08851Block Protection Range Address Register
Eight PIE block interrupts are grouped into one CPU interrupt. In total, 12 CPU interrupt groups, with
Figure 3-6. External Interrupts
8 interrupts per group equals 96 possible interrupts. On the C2834x devices, 64 of these are used by
peripherals as shown in Table 3-8.
The TRAP #VectorNumber instruction transfers program control to the interrupt service routine
corresponding to the vector specified. TRAP #0 attempts to transfer program control to the address
pointed to by the reset vector. The PIE vector table does not, however, include a reset vector. Therefore,
TRAP #0 should not be used when the PIE is enabled. Doing so will result in undefined behavior.
When the PIE is enabled, TRAP #1 through TRAP #12 will transfer program control to the interrupt service
routine corresponding to the first vector within the PIE group. For example: TRAP #1 fetches the vector
from INT1.1, TRAP #2 fetches the vector from INT2.1, and so forth.
(1) Out of the 96 possible interrupts, 64 interrupts are currently used. The remaining interrupts are reserved for future devices. These
interrupts can be used as software interrupts if they are enabled at the PIEIFRx level, provided none of the interrupts within the group is
being used by a peripheral. Otherwise, interrupts coming in from peripherals may be lost by accidentally clearing their flag while
modifying the PIEIFR. To summarize, there is one sage case when the reserved interrupts could be used as software interrupts:
1) No peripheral within the group is asserting interrupts.
Table 3-9. PIE Configuration and Control Registers
NAMEADDRESSSIZE (x16)DESCRIPTION
PIECTRL0x0CE01PIE, Control Register
PIEACK0x0CE11PIE, Acknowledge Register
PIEIER10x0CE21PIE, INT1 Group Enable Register
PIEIFR10x0CE31PIE, INT1 Group Flag Register
PIEIER20x0CE41PIE, INT2 Group Enable Register
PIEIFR20x0CE51PIE, INT2 Group Flag Register
PIEIER30x0CE61PIE, INT3 Group Enable Register
PIEIFR30x0CE71PIE, INT3 Group Flag Register
PIEIER40x0CE81PIE, INT4 Group Enable Register
PIEIFR40x0CE91PIE, INT4 Group Flag Register
PIEIER50x0CEA1PIE, INT5 Group Enable Register
PIEIFR50x0CEB1PIE, INT5 Group Flag Register
PIEIER60x0CEC1PIE, INT6 Group Enable Register
PIEIFR60x0CED1PIE, INT6 Group Flag Register
PIEIER70x0CEE1PIE, INT7 Group Enable Register
PIEIFR70x0CEF1PIE, INT7 Group Flag Register
PIEIER80x0CF01PIE, INT8 Group Enable Register
PIEIFR80x0CF11PIE, INT8 Group Flag Register
PIEIER90x0CF21PIE, INT9 Group Enable Register
PIEIFR90x0CF31PIE, INT9 Group Flag Register
PIEIER100x0CF41PIE, INT10 Group Enable Register
PIEIFR100x0CF51PIE, INT10 Group Flag Register
PIEIER110x0CF61PIE, INT11 Group Enable Register
PIEIFR110x0CF71PIE, INT11 Group Flag Register
PIEIER120x0CF81PIE, INT12 Group Enable Register
PIEIFR120x0CF91PIE, INT12 Group Flag Register
Reserved0x0CFA – 0x0CFF6Reserved
(1) The PIE configuration and control registers are not protected by EALLOW mode. The PIE vector table
Each external interrupt can be enabled/disabled or qualified using positive, negative, or both positive and
negative edge. For more information, see the TMS320x2834x Delfino System Control and InterruptsReference Guide (literature number SPRUFN1).
This section describes the oscillator, PLL and clocking mechanisms, the watchdog function and the low
power modes. shows the various clock and reset domains that will be discussed.
www.ti.com
There is a 2-SYSCLKOUT cycle delay from when the write to PCLKCR0/1/2 registers
(enables peripheral clocks) occurs to when the action is valid. This delay must be taken into
account before attempting to access the peripheral configuration registers.
The PLL, clocking, watchdog and low-power modes, are controlled by the registers listed in Table 3-11.
Table 3-11. PLL, Clocking, Watchdog, and Low-Power Mode Registers
NAMEADDRESSSIZE (x16)DESCRIPTION
PLLSTS0x00 70111PLL Status Register
Reserved0x00 7012 – 0x00 70187Reserved
PCLKCR20x00 70191Peripheral Clock Control Register 2
HISPCP0x00 701A1High-Speed Peripheral Clock Pre-Scaler Register
LOSPCP0x00 701B1Low-Speed Peripheral Clock Pre-Scaler Register
PCLKCR00x00 701C1Peripheral Clock Control Register 0
PCLKCR10x00 701D1Peripheral Clock Control Register 1
LPMCR00x00 701E1Low Power Mode Control Register 0
Reserved0x00 701F1Reserved
PCLKCR30x00 70201Peripheral Clock Control Register 3
PLLCR0x00 70211PLL Control Register
SCSR0x00 70221System Control and Status Register
WDCNTR0x00 70231Watchdog Counter Register
Reserved0x00 70241Reserved
WDKEY0x00 70251Watchdog Reset Key Register
Reserved0x00 7026 – 0x00 70283Reserved
WDCR0x00 70291Watchdog Control Register
Reserved0x00 702A – 0x00 702 C3Reserved
EXTSOCCFG0x00 702D1External ADC SOC Configuration Register
Reserved0x00 702E1Reserved
3.6.1OSC and PLL Block
Figure 3-9 shows the OSC and PLL block.
Figure 3-9. OSC and PLL Block Diagram
The on-chip oscillator circuit enables a crystal/resonator to be attached to the C2834x devices using the
X1 and X2 pins. If the on-chip oscillator is not used, an external oscillator can be used in either one of the
following configurations:
unconnected and the X1 pin tied to V
2. A 1.8-V external oscillator can be directly connected to the X1 pin. The X2 pin should be left
1. A 3.3-V external oscillator can be directly connected to the XCLKIN pin. The X2 pin should be left
unconnected and the XCLKIN pin tied to VSS. The logic-high level in this case should not exceed
V
The on-chip oscillator requires an external crystal to be connected across the X1 and X2 pins.
The connection of the required circuit, consisting of the crystal and two load capacitors, is shown in
Figure 3-12. The load capacitors, C1and C2, must be chosen such that the equation below is satisfied
(typical values are on the order of C1 = C2 = 10 pF). CLin the equation is the load specified for the
crystal. All discrete components used to implement the oscillator circuit must be placed as close as
possible to the associated oscillator pins (X1, X2, and V
The external crystal load capacitors must be connected only to the oscillator ground pin
(V
). Do not connect to board ground (VSS).
SSK
Where: CLequals the crystal load capacitance.
TI recommends that customers have the crystal vendor characterize the operation of their device with the
MCU chip. The crystal vendor has the equipment and expertise to tune the crystal circuit. The vendor can
also advise the customer regarding the proper component values that will produce proper start up and
stability over the entire operating range.
The devices have an on-chip, PLL-based clock module. This module provides all the necessary clocking
signals for the device, as well as control for low-power mode entry. The PLL has a 5-bit ratio control
PLLCR[DIV] to select different CPU clock rates. The watchdog module should be disabled before writing
to the PLLCR register. It can be re-enabled (if need be) after the PLL module has stabilized. The input
clock and PLLCR[DIV] bits should be chosen in such a way that the output frequency of the PLL
(VCOCLK) falls between 400 MHz and 600 MHz. The PLLSTS[DIVSEL] bit should be selected such that
SYSCLKOUT(CLKIN) does not exceed the maximum operating frequency allowed for the device
(300 MHz or 200 MHz). For example, suppose it is desired to operate a 300-MHz device at 100 MHz
using a 20-MHz OSCCLK input (i.e., for power savings). The PLL should be configured for OSCCLK * 20,
which produces VCOCLK = 400 MHz. PLLSTS[DIVSEL] should then be configured for /4 mode, resulting
in the desired 100-MHz CLKIN to the CPU. The PLL should not be configured for OSCCLK * 10 with
PLLSTS[DIVSEL] set for /2 mode. This combination would produce VCOCLK = 200 MHz, which does not
fall within the required 400 MHz to 600 MHz range.
(1) PLLSTS[DIVSEL] must be 0 before writing to the PLLCR and must be set only to 1 or 2 after PLLSTS[PLLLOCKS] = 1. At reset,
PLLSTS[DIVSEL] is configured for /8. The boot ROM changes this to /2 or /1, depending on the boot option.
(2) The PLL control register (PLLCR) and PLL Status Register (PLLSTS) are reset to their default state by the XRS signal or a watchdog
reset only. A reset issued by the debugger or the missing clock detect logic have no effect.
(3) This register is EALLOW protected. See the TMS320x2834x Delfino System Control and Interrupts Reference Guide (literature number
SPRUFN1) for more information.
(4) PLLSTS[DIVSEL] = 3 should be used only when the PLL is bypassed or off.
PLLSTS[DIVSEL] = 0PLLSTS[DIVSEL] = 1
(OSCCLK * 32)/8(OSCCLK * 32)/4(OSCCLK * 32)/2
(1)
SYSCLKOUT (CLKIN)
PLLSTS[DIVSEL] = 2PLLSTS[DIVSEL] = 3
(4)
Table 3-13. CLKIN Divide Options
PLLSTS [DIVSEL]CLKIN DIVIDE
0/8
1/4
2/2
3/1
The PLL-based clock module provides two modes of operation:
•Crystal-operation - This mode allows the use of an external crystal/resonator to provide the time base
to the device.
•External clock source operation - This mode allows the internal oscillator to be bypassed. The device
clocks are generated from an external clock source input on the X1 or the XCLKIN pin.
Invoked by the user setting the PLLOFF bit in the PLLSTS register. The PLL block
PLL Offpower operation. The PLLCR register must first be set to 0x0000 (PLL Bypass)
PLL Bypass
PLL Enable
(1) PLLSTS[DIVSEL] must be 0 before writing to the PLLCR and must be set to 1 or 2 only after PLLSTS[PLLLOCKS] = 1. See the
TMS320x2834x Delfino System Control and Interrupts Reference Guide (literature number SPRUFN1) for more information.
(2) PLLSTS[DIVSEL] should not be set to /1 mode while the PLL is enabled and not bypassed.
is disabled in this mode. This can be useful to reduce system noise and for low
before entering this mode. The CPU clock (CLKIN) is derived directly from the
input clock on either X1/X2, X1 or XCLKIN.
PLL Bypass is the default PLL configuration upon power-up or after an external0OSCCLK/8
reset (XRS). This mode is selected when the PLLCR register is set to 0x0000 or1OSCCLK/4
while the PLL locks to a new frequency after the PLLCR register has been2OSCCLK/2
modified. In this mode, the PLL itself is bypassed but the PLL is not turned off.3OSCCLK/1
Achieved by writing a non-zero value n into the PLLCR register. Upon writing to the1OSCCLK*n/4
PLLCR the device will switch to PLL Bypass mode until the PLL locks.2OSCCLK*n/2
0OSCCLK/8
1OSCCLK/4
2OSCCLK/2
3OSCCLK/1
0OSCCLK*n/8
3–
(1)
SYSCLKOUT
3.6.1.3Loss of Input Clock
Applications in which the correct CPU operating frequency is absolutely critical should implement a
mechanism by which the MCU will be held in reset, should the input clocks ever fail. For example, an R-C
circuit may be used to trigger the XRS pin of the MCU, should the capacitor ever get fully charged. An I/O
pin may be used to discharge the capacitor on a periodic basis to prevent it from getting fully charged.
The watchdog block on the C2834x device is similar to the one used on the 240x and 281x devices. The
watchdog module generates an output pulse, 512 oscillator clocks wide (OSCCLK), whenever the 8-bit
watchdog up counter has reached its maximum value. To prevent this, the user disables the counter or the
software must periodically write a 0x55 + 0xAA sequence into the watchdog key register which will reset
the watchdog counter. Figure 3-13 shows the various functional blocks within the watchdog module.
www.ti.com
A. The WDRST signal is driven low for 512 OSCCLK cycles.
Figure 3-13. Watchdog Module
The WDINT signal enables the watchdog to be used as a wakeup from IDLE/STANDBY mode.
In STANDBY mode, all peripherals are turned off on the device. The only peripheral that remains
functional is the watchdog. The WATCHDOG module will run off OSCCLK. The WDINT signal is fed to the
LPM block so that it can wake the device from STANDBY (if enabled). See Section 3.7, Low-Power
Modes Block, for more details.
In IDLE mode, the WDINT signal can generate an interrupt to the CPU, via the PIE, to take the CPU out of
IDLE mode.
In HALT mode, this feature cannot be used because the oscillator (and PLL) are turned off and hence so
is the WATCHDOG.
The low-power modes on the C2834x devices are similar to the 240x devices. Table 3-15 summarizes the
various modes.
Table 3-15. Low-Power Modes
(3)
, XNMI
(1)
MODELPMCR0(1:0)OSCCLKCLKINSYSCLKOUTEXIT
IDLE00OnOnOn
STANDBY01OffOff
HALT1X(oscillator and PLL turned off,OffOff
(1) The Exit column lists which signals or under what conditions the low power mode will be exited. A low signal, on any of the signals, will
exit the low power condition. This signal must be kept low long enough for an interrupt to be recognized by the device. Otherwise, the
low-power mode will not be exited and the device will go back into the indicated low power mode.
(2) The IDLE mode on the C28x behaves differently than on the 24x/240x. On the C28x, the clock output from the CPU (SYSCLKOUT) is
still functional while on the 24x/240x the clock is turned off.
(3) On the C28x, the JTAG port can still function even if the CPU clock (CLKIN) is turned off.
(watchdog still running)signal, debugger
watchdog not functional)
OnXRS, Watchdog interrupt, GPIO Port A
Off
(2)
XRS, Watchdog interrupt, any enabled
interrupt, XNMI
XRS, GPIO Port A signal, XNMI,
debugger
(3)
The various low-power modes operate as follows:
IDLE Mode:This mode is exited by any enabled interrupt or an XNMI that is recognized
by the processor. The LPM block performs no tasks during this mode as
long as the LPMCR0(LPM) bits are set to 0,0.
STANDBY Mode:Any GPIO port A signal (GPIO[31:0]) can wake the device from STANDBY
mode. The user must select which signal(s) will wake the device in the
GPIOLPMSEL register. The selected signal(s) are also qualified by the
OSCCLK before waking the device. The number of OSCCLKs is specified in
the LPMCR0 register.
HALT Mode:Only the XRS and any GPIO port A signal (GPIO[31:0]) can wake the
device from HALT mode. The user selects the signal in the GPIOLPMSEL
register.
NOTE
The low-power modes do not affect the state of the output pins (PWM pins included). They
will be in whatever state the code left them in when the IDLE instruction was executed. See
the TMS320x2834x Delfino System Control and Interrupts Reference Guide (literature
number SPRUFN1) for more details.
There are three 32-bit CPU-timers on the devices (CPU-TIMER0/1/2).
Timer 2 is reserved for DSP/BIOS™. CPU-Timer 0 and CPU-Timer 1 can be used in user applications.
These timers are different from the timers that are present in the ePWM modules.
NOTE: If the application is not using DSP/BIOS, then CPU-Timer 2 can be used in the
application.
www.ti.com
NOTE
Figure 4-2. CPU-Timers
The timer interrupt signals (TINT0, TINT1, TINT2) are connected as shown in Figure 4-3.
A. The timer registers are connected to the memory bus of the C28x processor.
B. The timing of the timers is synchronized to SYSCLKOUT of the processor clock.
Figure 4-3. CPU-Timer Interrupt Signals and Output Signal
The general operation of the timer is as follows: The 32-bit counter register "TIMH:TIM" is loaded with the
value in the period register "PRDH:PRD". The counter register decrements at the SYSCLKOUT rate of the
C28x. When the counter reaches 0, a timer interrupt output signal generates an interrupt pulse. The
registers listed in Table 4-1 are used to configure the timers. For more information, see the
TMS320x2834x Delfino System Control and Interrupts Reference Guide (literature number SPRUFN1).
Table 4-1. CPU-Timers 0, 1, 2 Configuration and Control Registers
NAMEADDRESSSIZE (x16)DESCRIPTION
TIMER0TIM0x0C001CPU-Timer 0, Counter Register
TIMER0TIMH0x0C011CPU-Timer 0, Counter Register High
TIMER0PRD0x0C021CPU-Timer 0, Period Register
TIMER0PRDH0x0C031CPU-Timer 0, Period Register High
TIMER0TCR0x0C041CPU-Timer 0, Control Register
Reserved0x0C051
TIMER0TPR0x0C061CPU-Timer 0, Prescale Register
TIMER0TPRH0x0C071CPU-Timer 0, Prescale Register High
TIMER1TIM0x0C081CPU-Timer 1, Counter Register
TIMER1TIMH0x0C091CPU-Timer 1, Counter Register High
TIMER1PRD0x0C0A1CPU-Timer 1, Period Register
TIMER1PRDH0x0C0B1CPU-Timer 1, Period Register High
TIMER1TCR0x0C0C1CPU-Timer 1, Control Register
Reserved0x0C0D1
TIMER1TPR0x0C0E1CPU-Timer 1, Prescale Register
TIMER1TPRH0x0C0F1CPU-Timer 1, Prescale Register High
TIMER2TIM0x0C101CPU-Timer 2, Counter Register
TIMER2TIMH0x0C111CPU-Timer 2, Counter Register High
TIMER2PRD0x0C121CPU-Timer 2, Period Register
TIMER2PRDH0x0C131CPU-Timer 2, Period Register High
TIMER2TCR0x0C141CPU-Timer 2, Control Register
Reserved0x0C151
TIMER2TPR0x0C161CPU-Timer 2, Prescale Register
TIMER2TPRH0x0C171CPU-Timer 2, Prescale Register High
Reserved0x0C18 – 0x0C3F40
The devices contain up to nine enhanced PWM Modules (ePWM). Figure 4-4 shows a block diagram of
multiple ePWM modules. Figure 4-4 shows the signal interconnections with the ePWM.
Table 4-2 and Table 4-3 show the complete ePWM register set per module.
The HRPWM module offers PWM resolution (time granularity) which is significantly better than what can
be achieved using conventionally derived digital PWM methods. The key points for the HRPWM module
are:
•Significantly extends the time resolution capabilities of conventionally derived digital PWM
•Typically used when effective PWM resolution falls below ~ 9–10 bits. This occurs at PWM frequencies
greater than ~500 kHz when using a CPU/System clock of 300 MHz or ~375 kHz when using a
CPU/system clock of 200 MHz.
•This capability can be utilized in both duty cycle and phase-shift control methods.
•Finer time granularity control or edge positioning is controlled via extensions to the Compare A and
Phase registers of the ePWM module.
•HRPWM capabilities are offered only on the A signal path of an ePWM module (i.e., on the EPWMxA
output). EPWMxB output has conventional PWM capabilities.
The eCAP modules are clocked at the SYSCLKOUT rate.
The clock enable bits (ECAP1/2/3/4/5/6ENCLK) in the PCLKCR1 register are used to turn off the eCAP
modulesindividually (forlowpoweroperation). Uponreset,ECAP1ENCLK,ECAP2ENCLK,
ECAP3ENCLK, ECAP4ENCLK, ECAP5ENCLK, and ECAP6ENCLK are set to low, indicating that the
peripheral clock is off.
0x6A120x6A320x6A520x6A720x6A920x6AB2
ECCTL10x6A140x6A340x6A540x6A740x6A940x6AB41Capture Control Register 1
ECCTL20x6A150x6A350x6A550x6A750x6A950x6AB51Capture Control Register 2
Table 4-5 provides a summary of the eQEP registers.
Table 4-5. eQEP Control and Status Registers
NAMESIZE(x16)/REGISTER DESCRIPTION
QPOSCNT0x6B000x6B400x6B802/0eQEP Position Counter
QPOSINIT0x6B020x6B420x6B822/0eQEP Initialization Position Count
QPOSMAX0x6B040x6B440x6B842/0eQEP Maximum Position Count
QPOSCMP0x6B060x6B460x6B862/1eQEP Position-compare
QPOSILAT0x6B080x6B480x6B882/0eQEP Index Position Latch
QPOSSLAT0x6B0A0x6B4A0x6B8A2/0eQEP Strobe Position Latch
QPOSLAT0x6B0C0x6B4C0x6B8C2/0eQEP Position Latch
QUTMR0x6B0E0x6B4E0x6B8E2/0eQEP Unit Timer
QUPRD0x6B100x6B500x6B902/0eQEP Unit Period Register
QWDTMR0x6B120x6B520x6B921/0eQEP Watchdog Timer
QWDPRD0x6B130x6B530x6B931/0eQEP Watchdog Period Register
QDECCTL0x6B140x6B540x6B941/0eQEP Decoder Control Register
QEPCTL0x6B150x6B550x6B951/0eQEP Control Register
QCAPCTL0x6B160x6B560x6B961/0eQEP Capture Control Register
QPOSCTL0x6B170x6B570x6B971/0eQEP Position-compare Control
QEINT0x6B180x6B580x6B981/0eQEP Interrupt Enable Register
QFLG0x6B190x6B590x6B991/0eQEP Interrupt Flag Register
QCLR0x6B1A0x6B5A0x6B9A1/0eQEP Interrupt Clear Register
QFRC0x6B1B0x6B5B0x6B9B1/0eQEP Interrupt Force Register
QEPSTS0x6B1C0x6B5C0x6B9C1/0eQEP Status Register
QCTMR0x6B1D0x6B5D0x6B9D1/0eQEP Capture Timer
QCPRD0x6B1E0x6B5E0x6B9E1/0eQEP Capture Period Register
QCTMRLAT0x6B1F0x6B5F0x6B9F1/0eQEP Capture Timer Latch
QCPRDLAT0x6B200x6B600x6BA01/0eQEP Capture Period Latch
Reserved0x6B21 - 0x6B3F0x6B61 - 0x6B7F 0x6BBA1 - 0x6BBF31/0
The external ADC interface operation is configured, controlled, and monitored by the External SoC
Configuration Register (EXTSOCCFG) at address 0x702E.
4.8Multichannel Buffered Serial Port (McBSP) Module
The McBSP module has the following features:
•Compatible to McBSP in TMS320C54x™/ TMS320C55x™ DSP devices
•Full-duplex communication
•Double-buffered data registers that allow a continuous data stream
•Independent framing and clocking for receive and transmit
•External shift clock generation or an internal programmable frequency shift clock
•A wide selection of data sizes including 8-, 12-, 16-, 20-, 24-, or 32-bits
•8-bit data transfers with LSB or MSB first
•Programmable polarity for both frame synchronization and data clocks
•Highly programmable internal clock and frame generation
•Direct interface to industry-standard CODECs, Analog Interface Chips (AICs), and other serially
connected A/D and D/A devices
•Works with SPI-compatible devices
•The following application interfaces can be supported on the McBSP:
– T1/E1 framers
– IOM-2 compliant devices
– AC97-compliant devices (the necessary multiphase frame synchronization capability is provided.)
– IIS-compliant devices
– SPI
•McBSP clock rate,
www.ti.com
where CLKSRG source could be LSPCLK, CLKX, or CLKR. Serial port performance is limited by I/O
buffer switching speed. Internal prescalers must be adjusted such that the peripheral speed is less
than the I/O buffer speed limit.
Table 4-7 provides a summary of the McBSP registers.
Table 4-7. McBSP Register Summary
NAMETYPERESET VALUEDESCRIPTION
DRR20x50000x5040R0x0000McBSP Data Receive Register 2
DRR10x50010x5041R0x0000McBSP Data Receive Register 1
DXR20x50020x5042W0x0000McBSP Data Transmit Register 2
DXR10x50030x5043W0x0000McBSP Data Transmit Register 1
SPCR20x50040x5044R/W0x0000McBSP Serial Port Control Register 2
SPCR10x50050x5045R/W0x0000McBSP Serial Port Control Register 1
RCR20x50060x5046R/W0x0000McBSP Receive Control Register 2
RCR10x50070x5047R/W0x0000McBSP Receive Control Register 1
XCR20x50080x5048R/W0x0000McBSP Transmit Control Register 2
XCR10x50090x5049R/W0x0000McBSP Transmit Control Register 1
SRGR20x500A0x504AR/W0x0000McBSP Sample Rate Generator Register 2
SRGR10x500B0x504BR/W0x0000McBSP Sample Rate Generator Register 1
MCR20x500C0x504CR/W0x0000McBSP Multichannel Register 2
MCR10x500D0x504DR/W0x0000McBSP Multichannel Register 1
RCERA0x500E0x504ER/W0x0000McBSP Receive Channel Enable Register Partition A
RCERB0x500F0x504FR/W0x0000McBSP Receive Channel Enable Register Partition B
XCERA0x50100x5050R/W0x0000McBSP Transmit Channel Enable Register Partition A
XCERB0x50110x5051R/W0x0000McBSP Transmit Channel Enable Register Partition B
PCR0x50120x5052R/W0x0000McBSP Pin Control Register
RCERC0x50130x5053R/W0x0000McBSP Receive Channel Enable Register Partition C
RCERD0x50140x5054R/W0x0000McBSP Receive Channel Enable Register Partition D
XCERC0x50150x5055R/W0x0000McBSP Transmit Channel Enable Register Partition C
XCERD0x50160x5056R/W0x0000McBSP Transmit Channel Enable Register Partition D
RCERE0x50170x5057R/W0x0000McBSP Receive Channel Enable Register Partition E
RCERF0x50180x5058R/W0x0000McBSP Receive Channel Enable Register Partition F
XCERE0x50190x5059R/W0x0000McBSP Transmit Channel Enable Register Partition E
XCERF0x501A0x505AR/W0x0000McBSP Transmit Channel Enable Register Partition F
RCERG0x501B0x505BR/W0x0000McBSP Receive Channel Enable Register Partition G
RCERH0x501C0x505CR/W0x0000McBSP Receive Channel Enable Register Partition H
XCERG0x501D0x505DR/W0x0000McBSP Transmit Channel Enable Register Partition G
XCERH0x501E0x505ER/W0x0000McBSP Transmit Channel Enable Register Partition H
MFFINT0x50230x5063R/W0x0000McBSP Interrupt Enable Register
MFFST0x50240x5064R/W0x0000McBSP Pin Status Register
4.9Enhanced Controller Area Network (eCAN) Modules (eCAN-A and eCAN-B)
The CAN module has the following features:
•Fully compliant with CAN protocol, version 2.0B
•Supports data rates up to 1 Mbps
•Thirty-two mailboxes, each with the following properties:
– Configurable as receive or transmit
– Configurable with standard or extended identifier
– Has a programmable receive mask
– Supports data and remote frame
– Composed of 0 to 8 bytes of data
– Uses a 32-bit time stamp on receive and transmit message
– Protects against reception of new message
– Holds the dynamically programmable priority of transmit message
– Employs a programmable interrupt scheme with two interrupt levels
– Employs a programmable alarm on transmission or reception time-out
•Low-power mode
•Programmable wake-up on bus activity
•Automatic reply to a remote request message
•Automatic retransmission of a frame in case of loss of arbitration or error
•32-bit local network time counter synchronized by a specific message (communication in conjunction
with mailbox 16)
•Self-test mode
– Operates in a loopback mode receiving its own message. A "dummy" acknowledge is provided,
thereby eliminating the need for another node to provide the acknowledge bit.
NOTE
For a SYSCLKOUT of 300 MHz, the smallest bit rate possible is 11.719 kbps.
For a SYSCLKOUT of 200 MHz, the smallest bit rate possible is 7.8125 kbps.
The CAN has passed the conformance test per ISO/DIS 16845. Contact TI for test report and exceptions.
SN65HVD230Q3.3 VStandbyAdjustableYes––40°C to 125°C
SN65HVD231Q3.3 VSleepAdjustableYes––40°C to 125°C
SN65HVD232Q3.3 VNoneNoneNone––40°C to 125°C
SN65HVD2333.3 VStandbyAdjustableNoneDiagnostic Loopback–40°C to 125°C
SN65HVD2343.3 VStandby and SleepAdjustableNone––40°C to 125°C
SN65HVD2353.3 VStandbyAdjustableNoneAutobaud Loopback–40°C to 125°C
If the eCAN module is not used in an application, the RAM available (LAM, MOTS, MOTO,
and mailbox RAM) can be used as general-purpose RAM. The CAN module clock should be
enabled for this.
The CAN registers listed in Table 4-9 are used by the CPU to configure and control the CAN controller
and the message objects. eCAN control registers only support 32-bit read/write operations. Mailbox RAM
can be accessed as 16 bits or 32 bits. 32-bit accesses are aligned to an even boundary.
Table 4-9. CAN Register Map
REGISTER NAMEDESCRIPTION
CANME0x60000x62001Mailbox enable
CANMD0x60020x62021Mailbox direction
CANTRS0x60040x62041Transmit request set
CANTRR0x60060x62061Transmit request reset
CANRML0x600E0x620E1Receive message lost
CANRFP0x60100x62101Remote frame pending
CANGAM0x60120x62121Global acceptance mask
CANMC0x60140x62141Master control
CANBTC0x60160x62161Bit-timing configuration
CANES0x60180x62181Error and status
CANTEC0x601A0x621A1Transmit error counter
CANREC0x601C0x621C1Receive error counter
CANGIF00x601E0x621E1Global interrupt flag 0
CANGIM0x60200x62201Global interrupt mask
CANGIF10x60220x62221Global interrupt flag 1
CANMIM0x60240x62241Mailbox interrupt mask
CANMIL0x60260x62261Mailbox interrupt level
CANOPC0x60280x62281Overwrite protection control
CANTIOC0x602A0x622A1TX I/O control
CANRIOC0x602C0x622C1RX I/O control
CANTSC0x602E0x622E1Time stamp counter (Reserved in SCC mode)
CANTOC0x60300x62301Time-out control (Reserved in SCC mode)
CANTOS0x60320x62321Time-out status (Reserved in SCC mode)
(1) These registers are mapped to Peripheral Frame 1.
4.10 Serial Communications Interface (SCI) Modules (SCI-A, SCI-B, SCI-C)
The devices include three serial communications interface (SCI) modules. The SCI modules support
digital communications between the CPU and other asynchronous peripherals that use the standard
non-return-to-zero (NRZ) format. The SCI receiver and transmitter are double-buffered, and each has its
own separate enable and interrupt bits. Both can be operated independently or simultaneously in the
full-duplex mode. To ensure data integrity, the SCI checks received data for break detection, parity,
overrun, and framing errors. The bit rate is programmable to over 65000 different speeds through a 16-bit
baud-select register.
NOTE: Both pins can be used as GPIO if not used for SCI.
– Baud rate programmable to 64K different rates:
NOTE
See Section 6 for maximum I/O pin toggling speed.
•Data-word format
– One start bit
– Data-word length programmable from one to eight bits
– Optional even/odd/no parity bit
– One or two stop bits
•Four error-detection flags: parity, overrun, framing, and break detection
•Two wake-up multiprocessor modes: idle-line and address bit
•Half- or full-duplex operation
•Double-buffered receive and transmit functions
•Transmitter and receiver operations can be accomplished through interrupt-driven or polled algorithms
with status flags.
– Transmitter: TXRDY flag (transmitter-buffer register is ready to receive another character) and TX
EMPTY flag (transmitter-shift register is empty)
– Receiver: RXRDY flag (receiver-buffer register is ready to receive another character), BRKDT flag
(break condition occurred), and RX ERROR flag (monitoring four interrupt conditions)
•Separate enable bits for transmitter and receiver interrupts (except BRKDT)
•NRZ (non-return-to-zero) format
NOTE
All registers in this module are 8-bit registers that are connected to Peripheral Frame 2.
When a register is accessed, the register data is in the lower byte (7-0), and the upper byte
(15-8) is read as zeros. Writing to the upper byte has no effect.
4.11 Serial Peripheral Interface (SPI) Module (SPI-A , SPI-D)
The device includes the four-pin serial peripheral interface (SPI) module. Two SPI modules (SPI-A and
SPI-D) are available. The SPI is a high-speed, synchronous serial I/O port that allows a serial bit stream of
programmed length (one to sixteen bits) to be shifted into and out of the device at a programmable
bit-transfer rate. Normally, the SPI is used for communications between the MCU controller and external
peripherals or another processor. Typical applications include external I/O or peripheral expansion through
devices such as shift registers, display drivers, and ADCs. Multidevice communications are supported by
the master/slave operation of the SPI.
NOTE: All four pins can be used as GPIO if the SPI module is not used.
•Two operational modes: master and slave
Baud rate: 125 different programmable rates.
SPRS516B–MARCH 2009–REVISED JULY 2010
NOTE
See Section 6 for maximum I/O pin toggling speed.
•Data word length: one to sixteen data bits
•Four clocking schemes (controlled by clock polarity and clock phase bits) include:
– Falling edge without phase delay: SPICLK active-high. SPI transmits data on the falling edge of the
SPICLK signal and receives data on the rising edge of the SPICLK signal.
– Falling edge with phase delay: SPICLK active-high. SPI transmits data one half-cycle ahead of the
falling edge of the SPICLK signal and receives data on the falling edge of the SPICLK signal.
– Rising edge without phase delay: SPICLK inactive-low. SPI transmits data on the rising edge of the
SPICLK signal and receives data on the falling edge of the SPICLK signal.
– Rising edge with phase delay: SPICLK inactive-low. SPI transmits data one half-cycle ahead of the
falling edge of the SPICLK signal and receives data on the rising edge of the SPICLK signal.
•Simultaneous receive and transmit operation (transmit function can be disabled in software)
•Transmitter and receiver operations are accomplished through either interrupt-driven or polled
algorithms.
•Nine SPI module control registers: Located in control register frame beginning at address 7040h.
NOTE
All registers in this module are 16-bit registers that are connected to Peripheral Frame 2.
When a register is accessed, the register data is in the lower byte (7–0), and the upper byte
(15–8) is read as zeros. Writing to the upper byte has no effect.
The device contains one I2C Serial Port. Figure 4-15 shows how the I2C peripheral module interfaces
within the device.
www.ti.com
A. The I2C registers are accessed at the SYSCLKOUT rate. The internal timing and signal waveforms of the I2C port are
also at the SYSCLKOUT rate.
B. The clock enable bit (I2CAENCLK) in the PCLKCR0 register turns off the clock to the I2C port for low power
operation. Upon reset, I2CAENCLK is clear, which indicates the peripheral internal clocks are off.
Figure 4-15. I2C Peripheral Module Interfaces
The I2C module has the following features:
•Compliance with the Philips Semiconductors I2C-bus specification (version 2.1):
– Support for 1-bit to 8-bit format transfers
– 7-bit and 10-bit addressing modes
– General call
– START byte mode
– Support for multiple master-transmitters and slave-receivers
– Support for multiple slave-transmitters and master-receivers
– Combined master transmit/receive and receive/transmit mode
– Data transfer rate from 10 kbps up to 400 kbps (I2C Fast-mode rate)
•One 16-word receive FIFO and one 16-word transmit FIFO
•One interrupt that can be used by the CPU. This interrupt can be generated as a result of one of the
following conditions:
I2CRSR–I2C receive shift register (not accessible to the CPU)
I2CXSR–I2C transmit shift register (not accessible to the CPU)
4.13 GPIO MUX
On the 2834x devices, the GPIO MUX can multiplex up to three independent peripheral signals on a
single GPIO pin in addition to providing individual pin bit-banging I/O capability. The GPIO MUX block
diagram per pin is shown in Figure 4-16. Because of the open drain capabilities of the I2C pins, the GPIO
MUX block diagram for these pins differ. See the TMS320x2834x Delfino System Control and InterruptsReference Guide (literature number SPRUFN1 ) for details.
NOTE
There is a 2-SYSCLKOUT cycle delay from when the write to the GPxMUXn and GPxQSELn
registers occurs to when the action is valid.
A. x stands for the port, either A or B. For example, GPxDIR refers to either the GPADIR and GPBDIR register
depending on the particular GPIO pin selected.
B. GPxDAT latch/read are accessed at the same memory location.
C. This is a generic GPIO MUX block diagram. Not all options may be applicable for all GPIO pins. See the
TMS320x2834x Delfino System Control and Interrupts Reference Guide (literature number SPRUFN1 ) for
The device supports 88 GPIO pins. The GPIO control and data registers are mapped to Peripheral
Frame 1 to enable 32-bit operations on the registers (along with 16-bit operations). Table 4-16 shows the
GPIO register mapping.
Table 4-16. GPIO Registers
NAMEADDRESSSIZE (x16)DESCRIPTION
GPIO CONTROL REGISTERS (EALLOW PROTECTED)
GPACTRL0x6F802GPIO A Control Register (GPIO0 to 31)
GPAQSEL10x6F822GPIO A Qualifier Select 1 Register (GPIO0 to 15)
GPAQSEL20x6F842GPIO A Qualifier Select 2 Register (GPIO16 to 31)
GPAMUX10x6F862GPIO A MUX 1 Register (GPIO0 to 15)
GPAMUX20x6F882GPIO A MUX 2 Register (GPIO16 to 31)
GPADIR0x6F8A2GPIO A Direction Register (GPIO0 to 31)
GPAPUD0x6F8C2GPIO A Pull Up Disable Register (GPIO0 to 31)
Reserved0x6F8E – 0x6F8F2
GPBCTRL0x6F902GPIO B Control Register (GPIO32 to 63)
GPBQSEL10x6F922GPIO B Qualifier Select 1 Register (GPIO32 to 47)
GPBQSEL20x6F942GPIOB Qualifier Select 2 Register (GPIO48 to 63)
GPBMUX10x6F962GPIO B MUX 1 Register (GPIO32 to 47)
GPBMUX20x6F982GPIO B MUX 2 Register (GPIO48 to 63)
GPBDIR0x6F9A2GPIO B Direction Register (GPIO32 to 63)
GPBPUD0x6F9C2GPIO B Pull Up Disable Register (GPIO32 to 63)
Reserved0x6F9E – 0x6FA58
GPCMUX10x6FA62GPIO C MUX1 Register (GPIO64 to 79)
GPCMUX20x6FA82GPIO C MUX2 Register (GPIO80 to 87)
GPCDIR0x6FAA2GPIO C Direction Register (GPIO64 to 87)
GPCPUD0x6FAC2GPIO C Pull Up Disable Register (GPIO64 to 87)
Reserved0x6FAE – 0x6FBF18
GPIO DATA REGISTERS (NOT EALLOW PROTECTED)
GPADAT0x6FC02GPIO A Data Register (GPIO0 to 31)
GPASET0x6FC22GPIO A Data Set Register (GPIO0 to 31)
GPACLEAR0x6FC42GPIO A Data Clear Register (GPIO0 to 31)
GPATOGGLE0x6FC62GPIO A Data Toggle Register (GPIO0 to 31)
GPBDAT0x6FC82GPIO B Data Register (GPIO32 to 63)
GPBSET0x6FCA2GPIO B Data Set Register (GPIO32 to 63)
GPBCLEAR0x6FCC2GPIO B Data Clear Register (GPIO32 to 63)
GPBTOGGLE0x6FCE2GPIOB Data Toggle Register (GPIO32 to 63)
GPCDAT0x6FD02GPIO C Data Register (GPIO64 to 87)
GPCSET0x6FD22GPIO C Data Set Register (GPIO64 to 87)
GPCCLEAR0x6FD42GPIO C Data Clear Register (GPIO64 to 87)
GPCTOGGLE0x6FD62GPIO C Data Toggle Register (GPIO64 to 87)
Reserved0x6FD8 – 0x6FDF8
GPIO INTERRUPT AND LOW POWER MODES SELECT REGISTERS (EALLOW PROTECTED)
GPIOXINT1SEL0x6FE01XINT1 GPIO Input Select Register (GPIO0 to 31)
GPIOXINT2SEL0x6FE11XINT2 GPIO Input Select Register (GPIO0 to 31)
GPIOXNMISEL0x6FE21XNMI GPIO Input Select Register (GPIO0 to 31)
GPIOXINT3SEL0x6FE31XINT3 GPIO Input Select Register (GPIO32 to 63)
GPIOXINT4SEL0x6FE41XINT4 GPIO Input Select Register (GPIO32 to 63)
GPIOXINT5SEL0x6FE51XINT5 GPIO Input Select Register (GPIO32 to 63)
The user can select the type of input qualification for each GPIO pin via the GPxQSEL1/2 registers from
four choices:
•Synchronization To SYSCLKOUT Only (GPxQSEL1/2 = 0, 0): This is the default mode of all GPIO pins
•Qualification Using Sampling Window (GPxQSEL1/2 = 0, 1 and 1, 0): In this mode the input signal,
SPRS516B–MARCH 2009–REVISED JULY 2010
at reset and it simply synchronizes the input signal to the system clock (SYSCLKOUT).
after synchronization to the system clock (SYSCLKOUT), is qualified by a specified number of cycles
before the input is allowed to change.
Figure 4-17. Qualification Using Sampling Window
•The sampling period is specified by the QUALPRD bits in the GPxCTRL register and is configurable in
groups of 8 signals. It specifies a multiple of SYSCLKOUT cycles for sampling the input signal. The
sampling window is either 3-samples or 6-samples wide and the output is only changed when ALL
samples are the same (all 0s or all 1s) as shown in Figure 4-17 (for 6-sample mode).
•No Synchronization (GPxQSEL1/2 = 1,1): This mode is used for peripherals where synchronization is
not required (synchronization is performed within the peripheral).
Due to the multi-level multiplexing that is required on the device, there may be cases where a peripheral
input signal can be mapped to more then one GPIO pin. Also, when an input signal is not selected, the
input signal will default to either a 0 or 1 state, depending on the peripheral.