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: TMS320F28335, TMS320F28334, TMS320F28332, TMS320F28235, TMS320F28234, TMS320F28232
1TMS320F2833x, TMS320F2823x DSCs
1.1Features
123
• High-Performance Static CMOS Technology• Enhanced Control Peripherals
– Up to 150 MHz (6.67-ns Cycle Time)– Up to 18 PWM Outputs
– 1.9-V/1.8 -V Core, 3.3-V I/O Design– Up to 6 HRPWM Outputs With 150 ps MEP
• High-Performance 32-Bit CPU (TMS320C28x)
– IEEE-754 Single-Precision Floating-Point
Unit (FPU) (F2833x only)– Up to 2 Quadrature Encoder Interfaces
– 16 x 16 and 32 x 32 MAC Operations– Up to 8 32-Bit/Nine 16-Bit Timers
– 16 x 16 Dual MAC• Three 32-Bit CPU Timers
– Harvard Bus Architecture• Serial Port Peripherals
– Fast Interrupt Response and Processing– Up to 2 CAN Modules
– Unified Memory Programming Model– Up to 3 SCI (UART) Modules
– Code-Efficient (in C/C++ and Assembly)– Up to 2 McBSP Modules (Configurable as
• Six-Channel DMA Controller (for ADC, McBSP,
ePWM, XINTF, and SARAM)– One SPI Module
• 16-Bit or 32-Bit External Interface (XINTF)– One Inter-Integrated-Circuit (I2C) Bus
– Over 2M x 16 Address Reach• 12-Bit ADC, 16 Channels
• On-Chip Memory– 80-ns Conversion Rate
– F28335/F28235: 256K x 16 Flash, 34K x 16– 2 x 8 Channel Input Multiplexer
SARAM
– F28334/F28234: 128K x 16 Flash, 34K x 16
SARAM
– F28332/F28232: 64K x 16 Flash, 26K x 16
SARAM
– 1K x 16 OTP ROM
• Boot ROM (8K x 16)
– With Software Boot Modes (via SCI, SPI,
CAN, I2C, McBSP, XINTF, and Parallel I/O)
– Standard Math Tables
• Clock and System Control
– Dynamic PLL Ratio Changes Supported
– On-Chip Oscillator
– Watchdog Timer Module
• GPIO0 to GPIO63 Pins Can Be Connected to
One of the Eight External Core Interrupts
• Peripheral Interrupt Expansion (PIE) Block That
Supports All 58 Peripheral Interrupts
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.
3All 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.
Resolution
– Up to 6 Event Capture Inputs
SPI)
– Two Sample-and-Hold
– Single/Simultaneous Conversions
– Internal or External Reference
• Up to 88 Individually Programmable,
Multiplexed GPIO Pins With Input Filtering
• JTAG Boundary Scan Support
(1)
• Advanced Emulation Features
– Analysis and Breakpoint Functions
– Real-Time Debug via Hardware
• Development Support Includes
– ANSI C/C++ Compiler/Assembler/Linker
– Code Composer Studio™ IDE
– DSP/BIOS™
– Digital Motor Control and Digital Power
Software Libraries
• Low-Power Modes and Power Savings
– IDLE, STANDBY, HALT Modes Supported
– Disable Individual Peripheral Clocks
(1) IEEE Standard 1149.1-1990 Standard Test Access Port and
• Package Options:• Temperature Options:
– Lead-free, Green Packaging– A: –40°C to 85°C (PGF, ZHH, ZJZ)
– Low-Profile Quad Flatpack (PGF, PTP)– S: –40°C to 125°C (PTP, ZJZ)
– MicroStar BGA™ (ZHH)– Q: –40°C to 125°C (PTP, ZJZ)
– Plastic BGA (ZJZ)
1.2Getting 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 DSC Development and Experimenter's Kits (http://www.ti.com/f28xkits)
TheTMS320F28335,TMS320F28334,TMS320F28332,TMS320F28235,TMS320F28234,and
TMS320F28232 devices, members of the TMS320C28x™/ Delfino™ DSC/MCU generation, are highly
integrated, high-performance solutions for demanding control applications.
Throughout this document, the devices are abbreviated as F28335, F28334, F28332, F28235, F28234,
and F28232, respectively. Table 2-1 and Table 2-2 provide a summary of features for each device.
Conversion time80 ns80 ns80 ns
32-Bit CPU timers–333
Multichannel Buffered Serial Port
(McBSP)/SPI
Serial Peripheral Interface (SPI)0111
Serial Communications Interface (SCI)03 (A/B/C)3 (A/B/C)2 (A/B)
Enhanced Controller Area Network (eCAN)02 (A/B)2 (A/B)2 (A/B)
Inter-Integrated Circuit (I2C)0111
General Purpose I/O pins (shared)–888888
External interrupts–888
176-Pin PGF–YesYesYes
Packaging
TemperatureS: –40°C to 125°C–(PTP, ZJZ)(PTP, ZJZ)(PTP, ZJZ)
options
176-Pin PTP–YesYesYes
179-Ball ZHH–YesYesYes
176-Ball ZJZ–YesYesYes
A: –40°C to 85°C–(PGF, ZHH, ZJZ)(PGF, ZHH, ZJZ)(PGF, ZHH, ZJZ)
Q: –40°C to 125°C
(Q100 Qualification)
(1)
–1K1K1K
–YesYesYes
0eCAP1/2/3/4/5/6eCAP1/2/3/4eCAP1/2/3/4
12 (A/B)2 (A/B)1 (A)
–(PTP, ZJZ)(PTP, ZJZ)(PTP, ZJZ)
F28335 (150 MHz)F28334 (150 MHz)F28332 (100 MHz)
ePWM1A/2A/3A/4A/5A/
6A
(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.
(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) See Section 5.1, Device and Development Support Tool Nomenclature, for descriptions of device stages.
176-Pin PTP–YesYesYes
179-Ball ZHH–YesYesYes
176-Ball ZJZ–YesYesYes
A: –40°C to 85°C–(PGF, ZHH, ZJZ)(PGF, ZHH, ZJZ)(PGF, ZHH, ZJZ)
The 176-pin PGF/PTP low-profile quad flatpack (LQFP) pin assignments are shown in Figure 2-1. The
179-ball ZHH ball grid array (BGA) terminal assignments are shown in Figure 2-2 through Figure 2-5. The
176-ball ZJZ plastic ball grid array (PBGA) terminal assignments are shown in Figure 2-6 through
Figure 2-9.Table 2-3 describes the function(s) of each pin.
The powerpad on the bottom side of the PTP package is not connected to the ground (GND)
of the die. Proper thermal management of the PowerPAD™ package requires PCB
preparation. A thermal land is required on the surface of the PCB directly underneath the
body of the PowerPAD package. The size of the thermal land should be as large as needed
to dissipate the required heat. Note that the PowerPAD package with exposed pad down
must be soldered to the PCB. Refer to the PowerPAD™ Thermally Enhanced PackageApplication Report (literature number SLMA002) for more details on using the PowerPAD
package.
Table 2-3 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 and Table 2-2 for details. Inputs are not 5-V tolerant. All pins capable of
producing an XINTF output function have a drive strength of 8 mA (typical). This is true even if the pin is
not configured for XINTF functionality. All other pins have a drive strength of 4-mA drive typical (unless
otherwise indicated). All GPIO pins are I/O/Z 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 pins are not enabled at reset. The pullups on GPIO12–GPIO87 are enabled upon reset.
Table 2-3. Signal Descriptions
PIN NO.
NAMEDESCRIPTION
TRST78M10L11normal device operation. An external pulldown resistor is required on this pin. The value of
TCK87N12M14JTAG test clock with internal pullup (I, ↑)
TMS79P10M12
TDI76M9N12
TDO77K9N13
EMU085L11N7
EMU186P12P8
V
DD3VFL
TEST181K10M7Test Pin. Reserved for TI. Must be left unconnected. (I/O)
TEST282P11L7Test Pin. Reserved for TI. Must be left unconnected. (I/O)
PGF/
PTP
PIN #
ZHHZJZ
BALL #BALL #
JTAG
JTAG test reset with internal pulldown. TRST, when driven high, gives the scan system
control of 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
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, ↓)
JTAG test-mode select (TMS) with internal pullup. This serial control input is clocked into
the TAP controller on the rising edge of TCK. (I, ↑)
JTAG test data input (TDI) with internal pullup. TDI is clocked into the selected register
(instruction or data) on a rising edge of TCK. (I, ↑)
JTAG scan out, test data output (TDO). The contents of the selected register (instruction or
data) are shifted out of TDO on the falling edge of TCK. (O/Z 8 mA drive)
Emulator pin 0. When TRST is driven high, this pin is used as an interrupt to or from the
emulator 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. (I/O/Z, 8 mA drive ↑)
NOTE: An external pullup resistor is required 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.
Emulator pin 1. When TRST is driven high, this pin is used as an interrupt to or from the
emulator 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. (I/O/Z, 8 mA drive ↑)
NOTE: An external pullup resistor is required 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.
FLASH
84M11L93.3-V Flash Core Power Pin. This pin should be connected to 3.3 V at all times.
XCLKIN105J14G13case, the X1 pin must be tied to GND. If a crystal/resonator is used (or if an external 1.9-V
X1104J13G141.9-V core digital power supply. A 1.9-V external oscillator may be connected to the X1 pin.
X2102J11H14
XRS80L10M13
ADCINA735K4K1ADC Group A, Channel 7 input (I)
ADCINA636J5K2ADC Group A, Channel 6 input (I)
ADCINA537L1L1ADC Group A, Channel 5 input (I)
ADCINA438L2L2ADC Group A, Channel 4 input (I)
ADCINA339L3L3ADC Group A, Channel 3 input (I)
ADCINA240M1M1ADC Group A, Channel 2 input (I)
ADCINA141N1M2ADC Group A, Channel 1 input (I)
ADCINA042M3M3ADC Group A, Channel 0 input (I)
ADCINB753K5N6ADC Group B, Channel 7 input (I)
ADCINB652P4M6ADC Group B, Channel 6 input (I)
ADCINB551N4N5ADC Group B, Channel 5 input (I)
ADCINB450M4M5ADC Group B, Channel 4 input (I)
ADCINB349L4N4ADC Group B, Channel 3 input (I)
ADCINB248P3M4ADC Group B, Channel 2 input (I)
ADCINB147N3N3ADC Group B, Channel 1 input (I)
ADCINB046P2P3ADC Group B, Channel 0 input (I)
ADCLO43M2N2Low Reference (connect to analog ground) (I)
ADCRESEXT57M5P6ADC External Current Bias Resistor. Connect a 22-kΩ resistor to analog ground.
ADCREFIN54L5P7External reference input (I)
PGF/
PTP
PIN #
ZHHZJZ
BALL #BALL #
CLOCK
Output clock derived from SYSCLKOUT. XCLKOUT is either the same frequency, one-half
the frequency, or one-fourth the frequency of SYSCLKOUT. This is controlled by bits 18:16
(XTIMCLK) and bit 2 (CLKMODE) in the XINTCNF2 register. At reset, XCLKOUT =
SYSCLKOUT/4. 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. (O/Z, 8 mA drive).
External Oscillator Input. This pin is to feed a clock from an external 3.3-V oscillator. In this
oscillator is used to feed clock to X1 pin), this pin must be tied to GND. (I)
Internal/External Oscillator Input. To use the internal oscillator, a quartz crystal or a
ceramic resonator may be connected across X1 and X2. The X1 pin is referenced to the
In this case, the XCLKIN pin must be connected to ground. If a 3.3-V external oscillator is
used with the XCLKIN pin, X1 must be tied to GND. (I)
Internal Oscillator Output. A quartz crystal or a ceramic resonator may be connected
across X1 and X2. If X2 is not used, it must be left unconnected. (O)
RESET
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 DSC
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.
Internal Reference Positive Output. Requires a low ESR (under 1.5 Ω) ceramic bypass
capacitor of 2.2 μF to analog ground. (O)
NOTE: Use the ADC Clock rate to derive the ESR specification from the capacitor data
sheet that is used in the system.
Internal Reference Medium Output. Requires a low ESR (under 1.5 Ω) ceramic bypass
capacitor of 2.2 μF to analog ground. (O)
NOTE: Use the ADC Clock rate to derive the ESR specification from the capacitor data
sheet that is used in the system.
CPU AND I/O POWER PINS
34K2K4ADC Analog Power Pin
33K3P1ADC Analog Ground Pin
45N2L5ADC Analog I/O Power Pin
44P1N1ADC Analog I/O Ground Pin
31J4K3ADC Analog Power Pin
32K1L4ADC Analog Ground Pin
59M6L6ADC Analog Power Pin
58K6P2ADC Analog Ground Pin
4B1D4
15B5D5
23B11D8
29C8D9
61D13E11
101E9F4
109F3F11CPU and Logic Digital Power Pins
117F13H4
126H1J4
139H12J11
146J2K11
154K14L8
167N6
9A4A13
71B10B1
93E7D7
107E12D11
121F5E4Digital I/O Power Pin
143L8G4
159H11G11
170N14L10
GPIO16General purpose input/output 16 (I/O/Z)
SPISIMOASPI slave in, master out (I/O)
CANTXBEnhanced CAN-B transmit (O)
TZ5Trip Zone input 5 (I)
PGF/
PTP
PIN #
ZHHZJZ
BALL #BALL #
13E1F1
16F2F2
17F1F3
18G5G1
19G4G2
20G2G3
21G3H1
24H3H2
25H2H3
26H4J1
27H5J2
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,
will go into high impedance anytime TZ3 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.
buses and strobe signals 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)
GPIO34Enhanced Capture input/output 1 (I/O)
ECAP1142D10A9External Interface Ready signal. Note that this pin is always (directly) connected to the
XREADYXINTF. If an application uses this pin as a GPIO while also using the XINTF, it should
GPIO35General-Purpose Input/Output 35 (I/O/Z)
SCITXDA148A9B9SCI-A transmit data (O)
XR/WExternal Interface read, not write strobe
GPIO36General-Purpose Input/Output 36 (I/O/Z)
SCIRXDA145C10C9SCI receive data (I)
XZCS0External Interface zone 0 chip select (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 TMS320x2833x, 2823x System Control and Interrupts Reference Guide (literature
number SPRUFB0) for more details.
•Certain memory ranges are EALLOW protected against spurious writes after configuration.
•Locations 0x38 0080–0x38 008F contain the ADC calibration routine. It is not programmable by the
user.
•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.
Table 3-1. Addresses of Flash Sectors in F28335/F28235
ADDRESS RANGEPROGRAM AND DATA SPACE
0x30 0000 - 0x30 7FFFSector H (32K x 16)
0x30 8000 - 0x30 FFFFSector G (32K x 16)
0x31 0000 - 0x31 7FFFSector F (32K x 16)
0x31 8000 - 0x31 FFFFSector E (32K x 16)
0x32 0000 - 0x32 7FFFSector D (32K x 16)
0x32 8000 - 0x32 FFFFSector C (32K x 16)
0x33 0000 - 0x33 7FFFSector B (32K x 16)
0x33 8000 - 0x33 FF7FSector A (32K x 16)
0x33 FF80 - 0x33 FFF5
0x33 FFF6 - 0x33 FFF7
0x33 FFF8 - 0x33 FFFF
Program to 0x0000 when using the
Code Security Module
Boot-to-Flash Entry Point
(program branch instruction here)
Security Password
(128-Bit) (Do Not Program to all zeros)
Table 3-2. Addresses of Flash Sectors in F28334/F28234
ADDRESS RANGEPROGRAM AND DATA SPACE
0x32 0000 - 0x32 3FFFSector H (16K x 16)
0x32 4000 - 0x32 7FFFSector G (16K x 16)
0x32 8000 - 0x32 BFFFSector F (16K x 16)
0x32 C000 - 0x32 FFFFSector E (16K x 16)
0x33 0000 - 0x33 3FFFSector D (16K x 16)
0x33 4000 - 0x33 7FFFFSector C (16K x 16)
0x33 8000 - 0x33 BFFFSector B (16K x 16)
0x33 C000 - 0x33 FF7FSector A (16K x 16)
0x33 FF80 - 0x33 FFF5Program to 0x0000 when using the
0x33 FFF6 - 0x33 FFF7Boot-to-Flash Entry Point
0x33 FFF8 - 0x33 FFFFSecurity Password (128-Bit)
Code Security Module
(program branch instruction here)
(Do Not Program to all zeros)
Table 3-3. Addresses of Flash Sectors in F28332/F28232
ADDRESS RANGEPROGRAM AND DATA SPACE
0x33 0000 - 0x33 3FFFSector D (16K x 16)
0x33 4000 - 0x33 7FFFFSector C (16K x 16)
0x33 8000 - 0x33 BFFFSector B (16K x 16)
0x33 C000 - 0x33 FF7FSector A (16K x 16)
0x33 FF80 - 0x33 FFF5Program to 0x0000 when using the Code Security Module
0x33 FFF6 - 0x33 FFF7Boot-to-Flash Entry Point (program branch instruction here)
0x33 FFF8 - 0x33 FFFFSecurity Password (128-Bit) (Do Not Program to all zeros)
•When the code-security passwords are programmed, all addresses between 0x33FF80
and 0x33FFF5 cannot be used as program code or data. These locations must be
programmed to 0x0000.
•If the code security feature is not used, addresses 0x33FF80 through 0x33FFEF may be
used for code or data. Addresses 0x33FFF0–0x33FFF5 are reserved for data and should
not contain program code. .
Table 3-4 shows how to handle these memory locations.
Table 3-4. Handling Security Code Locations
ADDRESSFLASH
0x33FF80 – 0x33FFEFApplication code and data
0x33FFF0 – 0x33FFF5Reserved for data only
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-5 .
Table 3-5. Wait-states
AREACOMMENTS
M0 and M1 SARAMs0-waitFixed
Peripheral Frame 00-wait (writes)0-wait (reads)
Peripheral Frame 30-wait (writes)0-wait (writes)Assumes no conflicts between CPU and DMA.
Peripheral Frame 10-wait (writes)No accessCycles can be extended by peripheral generated ready.
Peripheral Frame 20-wait (writes)No accessFixed. Cycles cannot be extended by the peripheral.
L0 SARAM0-waitNo accessAssumes no CPU conflicts
L1 SARAM
L2 SARAM
L3 SARAM
L4 SARAM0-wait data (reads)0-waitAssumes no conflicts between CPU and DMA.
L5 SARAM0-wait data (writes)
L6 SARAM1-wait program
L7 SARAM1-wait program
XINTFProgrammableProgrammableProgrammed via the XTIMING registers or extendable via
OTPProgrammableNo accessProgrammed via the Flash registers.
FLASHProgrammableNo accessProgrammed via the Flash registers.
FLASH Password16-wait fixedNo accessWait states of password locations are fixed.
Boot-ROM1-waitNo access0-wait speed is not possible.
(1) The DMA has a base of 4 cycles/word.
WAIT-STATESWAIT-STATES
(CPU)(DMA)
1-wait (reads)No access (writes)
2-wait (reads)1-wait (reads)
2-wait (reads)Consecutive (back-to-back) writes to Peripheral Frame 1
2-wait (reads)
(reads)
(writes)
0-wait minimum writes0-wait minimum writes0-wait minimum for writes assumes write buffer enabled and
with write bufferwith write buffer enabled not full.
enabledAssumes no conflicts between CPU and DMA. When DMA and
1-wait minimum1-wait is minimum number of wait states allowed. 1-wait-state
1-wait Paged min0-wait minimum for paged access is not allowed
1-wait Random min
Random ≥ Paged
(1)
registers will experience a 1-cycle pipeline hit (1-cycle delay)
external XREADY signal to meet system timing requirements.
1-wait is minimum wait states allowed on external waveforms
for both reads and writes on XINTF.
CPU attempt simultaneous conflict, 1-cycle delay is added for
arbitration.
The F2833x (C28x+FPU)/F2823x (C28x) family is a member of the TMS320C2000™ digital signal
controller (DSC) platform. The C28x+FPU based controllers have the same 32-bit fixed-point architecture
as TI's existing C28x DSCs, 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 that typically are handled by microcontroller devices. 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 to execute at
high speeds without resorting to expensive high-speed memories. Special branch-look-ahead hardware
minimizes the latency for conditional discontinuities. Special store conditional operations further improve
performance.
The F2823x family is also a member of the TMS320C2000™ digital signal controller (DSC) platform but it
does not include a floating-point unit (FPU).
3.2.2Memory Bus (Harvard Bus Architecture)
www.ti.com
As with many DSC 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:
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) DSC family of devices, the
2833x/2823x 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 2833x/2823x 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 2833x/2823x 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.6Flash
The F28335/F28235 devices contain 256K × 16 of embedded flash memory, segregated into eight 32K ×
16 sectors. The F28334/F28234 devices contain 128K × 16 of embedded flash memory, segregated into
eight 16K × 16 sectors. The F28332/F28232 devices contain 64K × 16 of embedded flash, segregated into
four 16K × 16 sectors. All the devices also contain a single 1K × 16 of OTP memory at address range
0x380400–0x3807FF. The user can individually erase, program, and validate a flash sector while leaving
other sectors untouched. However, it is not possible to use one sector of the flash or the OTP to execute
flash algorithms that erase/program other sectors. Special memory pipelining is provided to enable the
flash module to achieve higher performance. The flash/OTP is mapped to both program and data space;
therefore, it can be used to execute code or store data information. Note that addresses
0x33FFF0–0x33FFF5 are reserved for data variables and should not contain program code.
SPRS439I–JUNE 2007–REVISED MARCH 2011
The Flash and OTP wait-states can be configured by the application. This allows applications
running at slower frequencies to configure the flash to use fewer wait-states.
Flash effective performance can be improved by enabling the flash pipeline mode in the
Flash options register. With this mode enabled, effective performance of linear code
execution will be much faster than the raw performance indicated by the wait-state
configuration alone. The exact performance gain when using the Flash pipeline mode is
application-dependent.
For more information on the Flash options, Flash wait-state, and OTP wait-state registers,
see the TMS320x2833x, 2823x System Control and Interrupts Reference Guide (literature
number SPRUFB0).
3.2.7M0, M1 SARAMs
All 2833x/2823x 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 F28335/F28235 and F28334/F28234 each contain 32K × 16 of single-access RAM, divided into
8 blocks (L0–L7 with 4K each). The F28332/F28232 contain 24K × 16 of single-access RAM, divided into
6 blocks (L0–L5 with 4K each). Each block can be independently accessed to minimize CPU pipeline
stalls. Each block is mapped to both program and data space. L4, L5, L6, and L7 are DMA-accessible.
3.2.9Boot ROM
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 Flash/ROM. The Boot ROM also contains standard tables, such as SIN/COS waveforms, for use
in math related algorithms.
91001Jump to XINTF x16
81000Jump to XINTF x32
70111Jump to OTP
60110Parallel GPIO I/O boot
50101Parallel XINTF boot
40100Jump to SARAM
30011Branch to check boot mode
20010Branch to Flash, skip ADC calibration
10001Branch to SARAM, skip ADC
calibration
00000Branch to SCI, skip ADC calibration
(1) All four GPIO pins have an internal pullup.
(1)
www.ti.com
NOTE
Modes 0, 1, and 2 in Table 3-6 are for TI debug only. Skipping the ADC calibration function
in an application will cause the ADC to operate outside of the stated specifications
The devices support high levels of security to protect the user firmware from being reverse engineered.
The security features a 128-bit password (hardcoded for 16 wait-states), which the user programs into the
flash. One code security module (CSM) is used to protect the flash/OTP and the L0/L1/L2/L3 SARAM
blocks. The security feature prevents unauthorized users from examining the memory contents via the
JTAG port, executing code from external memory or trying to boot-load some undesirable software that
would export the secure memory contents. To enable access to the secure blocks, the user must write the
correct 128-bit KEY value, which matches the value stored in the password locations within the Flash.
In addition to the CSM, the emulation code security logic (ECSL) has been implemented to prevent
unauthorized users from stepping through secure code. Any code or data access to flash, user OTP, L0,
L1, L2, or L3 memory while the emulator is connected will trip the ECSL and break the emulation
connection. To allow emulation of secure code, while maintaining the CSM protection against secure
memory reads, the user must write the correct value into the lower 64 bits of the KEY register, which
matches the value stored in the lower 64 bits of the password locations within the flash. Note that dummy
reads of all 128 bits of the password in the flash must still be performed. If the lower 64 bits of the
password locations are all ones (unprogrammed), then the KEY value does not need to match.
When initially debugging a device with the password locations in flash programmed (i.e., secured), the
emulator takes some time to take control of the CPU. During this time, the CPU will start running and may
execute an instruction that performs an access to a protected ECSL area. If this happens, the ECSL will
trip and cause the emulator connection to be cut. Two solutions to this problem exist:
1. The first is to use the Wait-In-Reset emulation mode, which will hold the device in reset until the
emulator takes control. The emulator must support this mode for this option.
2. The second option is to use the “Branch to check boot mode” boot option. This will sit in a loop and
continuously poll the boot mode select pins. The user can select this boot mode and then exit this
mode once the emulator is connected by re-mapping the PC to another address or by changing the
boot mode selection pin to the desired boot mode.
•When the code-security passwords are programmed, all addresses between 0x33FF80
and 0x33FFF5 cannot be used as program code or data. These locations must be
programmed to 0x0000.
•If the code security feature is not used, addresses 0x33FF80 through 0x33FFEF may be
used for code or data. Addresses 0x33FFF0–0x33FFF5 are reserved for data and should
not contain program code.
The 128-bit password (at 0x33 FFF8–0x33 FFFF) must not be programmed to zeros. Doing
so would permanently lock the device.
Code Security Module Disclaimer
THE CODE SECURITY MODULE (CSM) INCLUDED ON THIS DEVICE WAS DESIGNED
TO PASSWORD PROTECT THE DATA STORED IN THE ASSOCIATED MEMORY
(EITHER ROM OR FLASH) AND IS WARRANTED BY TEXAS INSTRUMENTS (TI), IN
ACCORDANCE WITH ITS STANDARD TERMS AND CONDITIONS, TO CONFORM TO
TI'S PUBLISHED SPECIFICATIONS FOR THE WARRANTY PERIOD APPLICABLE FOR
THIS DEVICE.
TI DOES NOT, HOWEVER, WARRANT OR REPRESENT THAT THE CSM CANNOT BE
COMPROMISED OR BREACHED OR THAT THE DATA STORED IN THE ASSOCIATED
MEMORY CANNOT BE ACCESSED THROUGH OTHER MEANS. MOREOVER, EXCEPT
AS SET FORTH ABOVE, TI MAKES NO WARRANTIES OR REPRESENTATIONS
CONCERNING THE CSM OR OPERATION OF THIS DEVICE, INCLUDING ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL TI BE LIABLE FOR ANY CONSEQUENTIAL, SPECIAL, INDIRECT,
INCIDENTAL, OR PUNITIVE DAMAGES, HOWEVER CAUSED, ARISING IN ANY WAY
OUT OF YOUR USE OF THE CSM OR THIS DEVICE, WHETHER OR NOT TI HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. EXCLUDED DAMAGES INCLUDE,
BUT ARE NOT LIMITED TO LOSS OF DATA, LOSS OF GOODWILL, LOSS OF USE OR
INTERRUPTION OF BUSINESS OR OTHER ECONOMIC LOSS.
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 2833x/2823x , 58 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.12 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.13 Oscillator and PLL
SPRS439I–JUNE 2007–REVISED MARCH 2011
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 10 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.14 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.15 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)
and the ADC 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.16 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 (dual mapped)
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:ADC Status, Control, and Result Register
I2C:Inter-Integrated Circuit Module and Registers
XINTExternal Interrupt Registers
PF3:McBSPMultichannel Buffered Serial Port Registers
ePWM:Enhanced Pulse Width Modulator Module and Registers (dual mapped)
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.19 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. The ePWM registers are supported by the DMA to reduce the overhead
for servicing this peripheral.
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.
ADC:The ADC block is a 12-bit converter, single ended, 16-channels. It contains two
sample-and-hold units for simultaneous sampling. The ADC registers are supported
by the DMA to reduce the overhead for servicing this peripheral.
SPRS439I–JUNE 2007–REVISED MARCH 2011
3.2.21 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 DSC 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. On the 2833x/2823x, 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 a DSC 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
DSC through the I2C module. On the 2833x/2823x, 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.
(3) The Flash Registers are also protected by the Code Security Module (CSM).
(1) The ePWM/HRPWM modules can be re-mapped to Peripheral Frame 3 where they can be accessed by the DMA module. To achieve
this, bit 0 (MAPEPWM) of MAPCNF register (address 0x702E) must be set to 1. This register is EALLOW protected. When this bit is 0,
the ePWM/HRPWM modules are mapped to Peripheral Frame 1.
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-12.
Table 3-12. Device Emulation Registers
NAMESIZE (x16)DESCRIPTION
DEVICECNF2Device Configuration Register
PARTID0x3800901Part ID RegisterTMS320F283350x00EF
CLASSID0x08821TMS320F2833xTMS320F283350x00EF
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 2833x/2823x devices , 58 of these are used
by peripherals as shown in Table 3-13 .
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, 58 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 are two safe cases when the reserved interrupts could be used as software interrupts:
1) No peripheral within the group is asserting interrupts.
2) No peripheral interrupts are assigned to the group (example PIE group 11).
Table 3-14. 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 TMS320x2833x, 2823x System Control and InterruptsReference Guide (literature number SPRUFB0).
This section describes the oscillator, PLL and clocking mechanisms, the watchdog function and the low
power modes. Figure 3-8 shows the various clock and reset domains that will be discussed.
www.ti.com
A.CLKIN is the clock into the CPU. It is passed out of the CPU as SYSCLKOUT (that is, CLKIN is the same frequency
as SYSCLKOUT). See Figure 3-9 for an illustration of how CLKIN is derived.
Figure 3-8. Clock and Reset Domains
NOTE
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-16.
Table 3-16. PLL, Clocking, Watchdog, and Low-Power Mode Registers
NAMEADDRESSSIZE (x16)DESCRIPTION
PLLSTS0x00 70111PLL Status Register
Reserved0x00 7012 – 0x00 70187Reserved
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 702D4Reserved
MAPCNF0x00 702E1ePWM/HRPWM Re-map Register
3.6.1OSC and PLL Block
Figure 3-9 shows the OSC and PLL block.
The on-chip oscillator circuit enables a crystal/resonator to be attached to the 2833x/2823x 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:
1. A 3.3-V external oscillator can be directly connected to the XCLKIN pin. The X2 pin should be left
unconnected and the X1 pin tied low . The logic-high level in this case should not exceed V
2. A 1.9-V (1.8-V for 100 MHz devices) external oscillator can be directly connected to the X1 pin. The X2
pin should be left unconnected and the XCLKIN pin tied low . The logic-high level in this case should
not exceed .
The three possible input-clock configurations are shown in Figure 3-10 through Figure 3-12.
Figure 3-10. Using a 3.3-V External Oscillator
Figure 3-11. Using a 1.9 -V External Oscillator
www.ti.com
Figure 3-12. Using the Internal Oscillator
3.6.1.1External Reference Oscillator Clock Option
The typical specifications for the external quartz crystal for a frequency of 30 MHz are listed below:
•Fundamental mode, parallel resonant
•CL(load capacitance) = 12 pF
•CL1= CL2= 24 pF
•C
shunt
= 6 pF
•ESR range = 25 to 40 Ω
TI recommends that customers have the resonator/crystal vendor characterize the operation of their
device with the DSC chip. The resonator/crystal vendor has the equipment and expertise to tune the tank
circuit. The vendor can also advise the customer regarding the proper tank 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 4-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, which takes
131072 OSCCLK cycles. The input clock and PLLCR[DIV] bits should be chosen in such a way that the
output frequency of the PLL (VCOCLK) does not exceed 300 MHz.
(1) By default, PLLSTS[DIVSEL] is configured for /4. (The boot ROM changes this to /2.) PLLSTS[DIVSEL] must be 0 before writing to the
PLLCR and should be changed only after PLLSTS[PLLLOCKS] = 1.
(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 TMS320x2833x, 2823x System Control and Interrupts Reference Guide (literature
numberSPRUFB0 ) for more information.
(4) A divider at the output of the PLL is necessary to ensure correct duty cycle of the clock fed to the core. For this reason, a DIVSEL value
of 3 is not allowed when the PLL is active.
(2) (3)
PLLSTS[DIVSEL] = 0 or 1
PLLSTS[DIVSEL] = 2PLLSTS[DIVSEL] = 3
(1)
SYSCLKOUT (CLKIN)
(4)
Table 3-18. CLKIN Divide Options
PLLSTS [DIVSEL]CLKIN DIVIDE
0/4
1/4
2/2
3/1
(1) This mode can be used only when the PLL is bypassed or off.
(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)2OSCCLK/2
PLL Bypass2OSCCLK/2
PLL Enable
is disabled in this mode. This can be useful to reduce system noise and for low0, 1OSCCLK/4
before entering this mode. The CPU clock (CLKIN) is derived directly from the3OSCCLK/1
input clock on either X1/X2, X1 or XCLKIN.
PLL Bypass is the default PLL configuration upon power-up or after an external
reset (XRS). This mode is selected when the PLLCR register is set to 0x0000 or
while the PLL locks to a new frequency after the PLLCR register has been
modified. In this mode, the PLL itself is bypassed but the PLL is not turned off.
Achieved by writing a non-zero value n into the PLLCR register. Upon writing to the0, 1OSCCLK*n/4
PLLCR the device will switch to PLL Bypass mode until the PLL locks.2OSCCLK*n/2
0, 1OSCCLK/4
3OSCCLK/1
CLKIN AND
SYSCLKOUT
3.6.1.3Loss of Input Clock
In PLL-enabled and PLL-bypass mode, if the input clock OSCCLK is removed or absent, the PLL will still
issue a limp-mode clock. The limp-mode clock continues to clock the CPU and peripherals at a typical
frequency of 1–5 MHz. Limp mode is not specified to work from power-up, only after input clocks have
been present initially. In PLL bypass mode, the limp mode clock from the PLL is automatically routed to
the CPU if the input clock is removed or absent.
Normally, when the input clocks are present, the watchdog counter decrements to initiate a watchdog
reset or WDINT interrupt. However, when the external input clock fails, the watchdog counter stops
decrementing (i.e., the watchdog counter does not change with the limp-mode clock). In addition to this,
the device will be reset and the “Missing Clock Status” (MCLKSTS) bit will be set. These conditions could
be used by the application firmware to detect the input clock failure and initiate necessary shut-down
procedure for the system.
NOTE
Applications in which the correct CPU operating frequency is absolutely critical should
implement a mechanism by which the DSC 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 DSC, 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. Such a circuit would also help in
detecting failure of the flash memory and the V
The watchdog block on the 2833x/2823x 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.
SPRS439I–JUNE 2007–REVISED MARCH 2011
A.TheWDRST 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 2833x/2823x devices are similar to the 240x devices. Table 3-20
summarizes the various modes.
Table 3-20. 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
IDLE 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 TMS320x2833x, 2823x System Control and Interrupts Reference Guide (literature
number SPRUFB0) for more details.
•Up to two enhanced controller area network (eCAN) modules (eCAN-A, eCAN-B)
•Up to three serial communications interface modules (SCI-A, SCI-B, SCI-C)
•One serial peripheral interface (SPI) module (SPI-A)
•Inter-integrated circuit module (I2C)
•Up to two multichannel buffered serial port (McBSP-A, McBSP-B) modules
•Digital I/O and shared pin functions
•External Interface (XINTF)
4.1DMA Overview
Features:
•6 Channels with independent PIE interrupts
•Trigger Sources:
– ePWM SOCA/SOCB
– ADC Sequencer 1 and Sequencer 2
– McBSP-A and McBSP-B transmit and receive logic
– XINT1–7 and XINT13
– CPU Timers
– Software
•Data Sources/Destinations:
– L4–L7 16K × 16 SARAM
– All XINTF zones
– ADC Memory Bus mapped RESULT registers
– McBSP-A and McBSP-B transmit and receive buffers
– ePWM registers
•Word Size: 16-bit or 32-bit (McBSPs limited to 16-bit)
•Throughput: 4 cycles/word (5 cycles/word for McBSP reads)
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.
SPRS439I–JUNE 2007–REVISED MARCH 2011
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
TMS320x2833x, 2823x System Control and Interrupts Reference Guide (literature number SPRUFB0) .
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 2833x/2823x devices contain up to six 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 show the complete ePWM register set per module and Table 4-3 shows the remapped register
configuration.
SPRS439I–JUNE 2007–REVISED MARCH 2011
A.ADCSOCxO is sent to the DMA as well when the ePWM registers are remapped to PF3 (through bit 0 of the
MAPCNF register).
B.By default, ePWM/HRPWM registers are mapped to Peripheral Frame 1 (PF1). Table 4-2 shows this configuration. To
re-map the registers to Peripheral Frame 3 (PF3) to enable DMA access, bit 0 (MAPEPWM) of MAPCNF register
(address 0x702E) must be set to 1. Table 4-3 shows the remapped configuration.
Figure 4-4. Multiple PWM Modules in an 2833x/2823x System
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 ~200 kHz when using a CPU/System clock of 100 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(for lowpoweroperation).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
QPOSCNT0x6B000x6B402/0eQEP Position Counter
QPOSINIT0x6B020x6B422/0eQEP Initialization Position Count
QPOSMAX0x6B040x6B442/0eQEP Maximum Position Count
QPOSCMP0x6B060x6B462/1eQEP Position-compare
QPOSILAT0x6B080x6B482/0eQEP Index Position Latch
QPOSSLAT0x6B0A0x6B4A2/0eQEP Strobe Position Latch
QPOSLAT0x6B0C0x6B4C2/0eQEP Position Latch
QUTMR0x6B0E0x6B4E2/0eQEP Unit Timer
QUPRD0x6B100x6B502/0eQEP Unit Period Register
QWDTMR0x6B120x6B521/0eQEP Watchdog Timer
QWDPRD0x6B130x6B531/0eQEP Watchdog Period Register
QDECCTL0x6B140x6B541/0eQEP Decoder Control Register
QEPCTL0x6B150x6B551/0eQEP Control Register
QCAPCTL0x6B160x6B561/0eQEP Capture Control Register
QPOSCTL0x6B170x6B571/0eQEP Position-compare Control Register
QEINT0x6B180x6B581/0eQEP Interrupt Enable Register
QFLG0x6B190x6B591/0eQEP Interrupt Flag Register
QCLR0x6B1A0x6B5A1/0eQEP Interrupt Clear Register
QFRC0x6B1B0x6B5B1/0eQEP Interrupt Force Register
QEPSTS0x6B1C0x6B5C1/0eQEP Status Register
QCTMR0x6B1D0x6B5D1/0eQEP Capture Timer
QCPRD0x6B1E0x6B5E1/0eQEP Capture Period Register
QCTMRLAT0x6B1F0x6B5F1/0eQEP Capture Timer Latch
QCPRDLAT0x6B200x6B601/0eQEP Capture Period Latch
Reserved0x6B21 –0x6B61 –31/0
A simplified functional block diagram of the ADC module is shown in Figure 4-8. The ADC module
consists of a 12-bit ADC with a built-in sample-and-hold (S/H) circuit. Functions of the ADC module
include:
•12-bit ADC core with built-in S/H
•Analog input: 0.0 V to 3.0 V (Voltages above 3.0 V produce full-scale conversion results.)
•Fast conversion rate: Up to 80 ns at 25-MHz ADC clock, 12.5 MSPS
•16 dedicated ADC channels. 8 channels multiplexed per Sample/Hold
•Autosequencing capability provides up to 16 "autoconversions" in a single session. Each conversion
can be programmed to select any 1 of 16 input channels
•Sequencer can be operated as two independent 8-state sequencers or as one large 16-state
sequencer (i.e., two cascaded 8-state sequencers)
•Sixteen result registers (individually addressable) to store conversion values
– The digital value of the input analog voltage is derived by:
www.ti.com
•Multiple triggers as sources for the start-of-conversion (SOC) sequence
– S/W - software immediate start
– ePWM start of conversion
– XINT2 ADC start of conversion
•Flexible interrupt control allows interrupt request on every end-of-sequence (EOS) or every other EOS.
•Sequencer can operate in "start/stop" mode, allowing multiple "time-sequenced triggers" to
synchronize conversions.
•SOCA and SOCB triggers can operate independently in dual-sequencer mode.
•Sample-and-hold (S/H) acquisition time window has separate prescale control.
The ADC module in the 2833x/2823x devices has been enhanced to provide flexible interface to ePWM
peripherals. The ADC interface is built around a fast, 12-bit ADC module with a fast conversion rate of up
to 80 ns at 25-MHz ADC clock. The ADC module has 16 channels, configurable as two independent
8-channel modules. The two independent 8-channel modules can be cascaded to form a 16-channel
module. Although there are multiple input channels and two sequencers, there is only one converter in the
ADC module. Figure 4-8 shows the block diagram of the ADC module.
The two 8-channel modules have the capability to autosequence a series of conversions, each module
has the choice of selecting any one of the respective eight channels available through an analog MUX. In
the cascaded mode, the autosequencer functions as a single 16-channel sequencer. On each sequencer,
once the conversion is complete, the selected channel value is stored in its respective RESULT register.
Autosequencing allows the system to convert the same channel multiple times, allowing the user to
perform oversampling algorithms. This gives increased resolution over traditional single-sampled
conversion results.
To obtain the specified accuracy of the ADC, proper board layout is very critical. To the best extent
possible, traces leading to the ADCIN pins should not run in close proximity to the digital signal paths.
This is to minimize switching noise on the digital lines from getting coupled to the ADC inputs.
Furthermore, proper isolation techniques must be used to isolate the ADC module power pins ( V
V
DD2A18
, V
DDA2
, V
DDAIO
) from the digital supply.Figure 4-9 shows the ADC pin connections for the devices.
NOTE
1. The ADC registers are accessed at the SYSCLKOUT rate. The internal timing of the
ADC module is controlled by the high-speed peripheral clock (HSPCLK).
2. The behavior of the ADC module based on the state of the ADCENCLK and HALT
signals is as follows:
– ADCENCLK: On reset, this signal will be low. While reset is active-low (XRS) the
clock to the register will still function. This is necessary to make sure all registers and
modes go into their default reset state. The analog module, however, will be in a
low-power inactive state. As soon as reset goes high, then the clock to the registers
will be disabled. When the user sets the ADCENCLK signal high, then the clocks to
the registers will be enabled and the analog module will be enabled. There will be a
certain time delay (ms range) before the ADC is stable and can be used.
– HALT: This mode only affects the analog module. It does not affect the registers. In
this mode, the ADC module goes into low-power mode. This mode also will stop the
clock to the CPU, which will stop the HSPCLK; therefore, the ADC register logic will
be turned off indirectly.
Figure 4-9 shows the ADC pin-biasing for internal reference and Figure 4-10 shows the ADC pin-biasing
for external reference.
www.ti.com
A.TAIYO YUDEN LMK212BJ225MG-T or equivalent
B.External decoupling capacitors are recommended on all power pins.
C. Analog inputs must be driven from an operational amplifier that does not degrade the ADC performance.
Figure 4-9. ADC Pin Connections With Internal Reference
A.TAIYO YUDEN LMK212BJ225MG-T or equivalent
B.External decoupling capacitors are recommended on all power pins.
C. Analog inputs must be driven from an operational amplifier that does not degrade the ADC performance.
D. External voltage on ADCREFIN is enabled by changing bits 15:14 in the ADC Reference Select register depending on
the voltage used on this pin. TI recommends TI part REF3020 or equivalent for 2.048-V generation. Overall gain
accuracy will be determined by accuracy of this voltage source.
Figure 4-10. ADC Pin Connections With External Reference
NOTE
The temperature rating of any recommended component must match the rating of the end
product.
It is recommended to keep the connections for the analog power pins, even if the ADC is not used.
Following is a summary of how the ADC pins should be connected, if the ADC is not used in an
application:
•V
DD1A18/VDD2A18
•V
•V
, V
DDA2
SS1AGND/VSS2AGND
DDAIO
•ADCLO – Connect to V
•ADCREFIN – Connect to V
•ADCREFP/ADCREFM – Connect a 100-nF cap to V
•ADCRESEXT – Connect a 20-kΩ resistor (very loose tolerance) to VSS.
•ADCINAn, ADCINBn – Connect to V
When the ADC is not used, be sure that the clock to the ADC module is not turned on to realize power
savings.
When the ADC module is used in an application, unused ADC input pins should be connected to analog
ground (V
SS1AGND/VSS2AGND
ADC parameters for gain error and offset error are specified only if the ADC calibration
routine is executed from the Boot ROM. See Section 4.7.3 for more information.
The ADC operation is configured, controlled, and monitored by the registers listed in Table 4-6.
Table 4-6. ADC Registers
0x711B
0x711F
(1)
ADDRESS
NAMEADDRESS
ADCTRL10x71001ADC Control Register 1
ADCTRL20x71011ADC Control Register 2
ADCMAXCONV0x71021ADC Maximum Conversion Channels Register
ADCCHSELSEQ10x71031ADC Channel Select Sequencing Control Register 1
ADCCHSELSEQ20x71041ADC Channel Select Sequencing Control Register 2
ADCCHSELSEQ30x71051ADC Channel Select Sequencing Control Register 3
ADCCHSELSEQ40x71061ADC Channel Select Sequencing Control Register 4
ADCASEQSR0x71071ADC Auto-Sequence Status Register
ADCRESULT00x71080x0B001ADC Conversion Result Buffer Register 0
ADCRESULT10x71090x0B011ADC Conversion Result Buffer Register 1
ADCRESULT20x710A0x0B021ADC Conversion Result Buffer Register 2
ADCRESULT30x710B0x0B031ADC Conversion Result Buffer Register 3
ADCRESULT40x710C0x0B041ADC Conversion Result Buffer Register 4
ADCRESULT50x710D0x0B051ADC Conversion Result Buffer Register 5
ADCRESULT60x710E0x0B061ADC Conversion Result Buffer Register 6
ADCRESULT70x710F0x0B071ADC Conversion Result Buffer Register 7
ADCRESULT80x71100x0B081ADC Conversion Result Buffer Register 8
ADCRESULT90x71110x0B091ADC Conversion Result Buffer Register 9
ADCRESULT100x71120x0B0A1ADC Conversion Result Buffer Register 10
ADCRESULT110x71130x0B0B1ADC Conversion Result Buffer Register 11
ADCRESULT120x71140x0B0C1ADC Conversion Result Buffer Register 12
ADCRESULT130x71150x0B0D1ADC Conversion Result Buffer Register 13
ADCRESULT140x71160x0B0E1ADC Conversion Result Buffer Register 14
ADCRESULT150x71170x0B0F1ADC Conversion Result Buffer Register 15
ADCTRL30x71181ADC Control Register 3
ADCST0x71191ADC Status Register
Reserved2
ADCREFSEL0x711C1ADC Reference Select Register
ADCOFFTRIM0x711D1ADC Offset Trim Register
Reserved2
(1) The registers in this column are Peripheral Frame 2 Registers.
(2) The ADC result registers are dual mapped. Locations in Peripheral Frame 2 (0x7108–0x7117) are 2 wait-states and left justified.
Locations in Peripheral frame 0 space (0x0B00–0x0B0F) are 1 wait-state for CPU accesses and 0 wait state for DMA accesses and
right justified. During high speed/continuous conversion use of the ADC, use the 0 wait-state locations for fast transfer of ADC results to
user memory.
The ADC_cal() routine is programmed into TI reserved OTP memory by the factory. The boot ROM
automatically calls the ADC_cal() routine to initialize the ADCREFSEL and ADCOFFTRIM registers with
device specific calibration data. During normal operation, this process occurs automatically and no action
is required by the user.
If the boot ROM is bypassed by Code Composer Studio during the development process, then
ADCREFSEL and ADCOFFTRIM must be initialized by the application. For working examples, see the
ADC initialization in the C2833x, C2823x C/C++ Header Files and Peripheral Examples (literature number
SPRC530). Methods for calling the ADC_cal() routine from an application are described in
TMS320x2833x, F2823x Analog-to-Digital Converter (ADC) Module Reference Guide (literature number
SPRU812).
NOTE
FAILURE TO INITIALIZE THESE REGISTERS WILL CAUSE THE ADC TO FUNCTION
OUT OF SPECIFICATION.
If the system is reset or the ADC module is reset using Bit 14 (RESET) from the ADC Control
Register 1, the routine must be repeated.
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
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 100 MHz, the smallest bit rate possible is 7.812 kbps.
For a SYSCLKOUT of 150 MHz, the smallest bit rate possible is 11.719 kbps.
The F2833x/F2823x CAN has passed the conformance test per ISO/DIS 16845. Contact TI for test report
and exceptions.
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:
www.ti.com
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 )
The device includes the four-pin serial peripheral interface (SPI) module. One SPI module (SPI-A) is
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 DSC 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.
www.ti.com
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-17 shows how the I2C peripheral module interfaces
within the device.
SPRS439I–JUNE 2007–REVISED MARCH 2011
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-17. 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)
www.ti.com
Table 4-14. I2C-A Registers
4.13 GPIO MUX
On the 2833x/2823x 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-18. Because of the open drain capabilities of the I2C pins, the GPIO
MUX block diagram for these pins differ. See the TMS320x2833x, 2823x System Control and InterruptsReference Guide (literature number SPRUFB0 ) 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.