• High-Efficiency 32-Bit CPU (TMS320C28x™)• Peripheral Interrupt Expansion (PIE) Block That
– 80 MHz (12.5-ns Cycle Time)
– 16 x 16 and 32 x 32 MAC Operations
– 16 x 16 Dual MAC
– Harvard Bus Architecture
– Atomic Operations
– Fast Interrupt Response and Processing
– Unified Memory Programming Model
– Code-Efficient (in C/C++ and Assembly)
• Floating-Point Unit
– Native Single-Precision Floating-Point
Operations
• Programmable Control Law Accelerator (CLA)
– 32-Bit Floating-Point Math Accelerator
– Executes Code Independently of the Main
CPU
• Viterbi, Complex Math, CRC Unit (VCU)
– Extends C28x™ Instruction Set to Support
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.
ADVANCE INFORMATION concerns new products in the sampling
or preproduction phaseof development. Characteristic dataand other
specifications are subjectto change without notice.
TMS320F28062
Supports All Peripheral Interrupts
• Three 32-Bit CPU Timers
• Advanced Control Peripherals
• Up to 8 Enhanced Pulse Width Modulator
(ePWM) Modules
– 16 PWM Channels Total (8 HRPWM-Capable)
– Independent 16-Bit Timer in Each Module
• 3 Input Capture (eCAP) Modules
• 4 High-Resolution Input Capture (HRCAP)
Modules
• 2 Quadrature Encoder (eQEP) Modules
• 12-Bit ADC, Dual Sample-and-Hold
– Up to 3 MSPS
– Up to 16 Channels
The F2806x Piccolo™ family of microcontrollers provides the power of the C28x™ core and Control Law
Accelerator (CLA) coupled with highly integrated control peripherals in low pin-count devices. This family
is code-compatible with previous C28x-based code, as well as providing a high level of analog integration.
An internal voltage regulator allows for single-rail operation. Enhancements have been made to the
HRPWM module to allow for dual-edge control (frequency modulation). Analog comparators with internal
10-bit references have been added and can be routed directly to control the PWM outputs. The ADC
converts from 0 to 3.3-V fixed full scale range and supports ratio-metric V
ADC interface has been optimized for low overhead/latency.
This data sheet revision history highlights the technical changes made to the SPRS698 device-specific
data sheet to make it an SPRS698A revision.
Scope: Added 80-pin PN package and 100-pin PZ package.
Added "T" temperature range (–40°C to 105°C).
Added new sections.
Information/data on the TMS320F2806x devices is now Advance Information.
ADVANCE INFORMATION concerns new products in the sampling or preproduction phase of
development. Characteristic data and other specifications are subject to change without notice.
•Table 3-1, Hardware Features:
–6-Channel DMA: Added "0" to TYPE column
–High-resolution capture modules (HRCAP): Added "0" to TYPE column
–Multi-Channel Buffered Serial Port (McBSP): Added "1" to TYPE column
–Updated "Temperature options"
(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) "Q" refers to Q100 qualification for automotive applications.
(2) See Section 4.3, Device and Development Support Tool Nomenclature, for descriptions of device stages. The "TMX" product status denotes an experimental device that is not necessarily
representative of the final device's electrical specifications.
In Figure 3-1 through Figure 3-7, 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.
•Certain memory ranges are EALLOW protected against spurious writes after configuration.
•Locations 0x3D 7C80–0x3D 7CC0 contain the internal oscillator and ADC calibration routines. These
locations are not programmable by the user.
Table 3-2. Addresses of Flash Sectors in F28069/28068/28067/28066
ADDRESS RANGEPROGRAM AND DATA SPACE
0x3D 8000 – 0x3D BFFFSector H (16K x 16)
0x3D C000 – 0x3D FFFFSector G (16K x 16)
0x3E 0000 – 0x3E 3FFFSector F (16K x 16)
0x3E 4000 – 0x3E 7FFFSector E (16K x 16)
0x3E 8000 – 0x3E BFFFSector D (16K x 16)
0x3E C000 – 0x3E FFFFSector C (16K x 16)
0x3F 0000 – 0x3F 3FFFSector B (16K x 16)
0x3F 4000 – 0x3F 7F7FSector A (16K x 16)
0x3F 7F80 – 0x3F 7FF5
0x3F 7FF6 – 0x3F 7FF7
0x3F 7FF8 – 0x3F 7FFF
Table 3-3. Addresses of Flash Sectors in F28065/28064/28063/28062
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)
www.ti.com
ADDRESS RANGEPROGRAM AND DATA SPACE
0x3E 8000 – 0x3E 9FFFSector H (8K x 16)
0x3E A000 – 0x3E BFFFSector G (8K x 16)
0x3E C000 – 0x3E DFFFSector F (8K x 16)
0x3E E000 – 0x3E FFFFSector E (8K x 16)
0x3F 0000 – 0x3F 1FFFSector D (8K x 16)
0x3F 2000 – 0x3F 3FFFSector C (8K x 16)
0x3F 4000 – 0x3F 5FFFSector B (8K x 16)
0x3F 6000 – 0x3F 7F7FSector A (8K x 16)
0x3F 7F80 – 0x3F 7FF5
0x3F 7FF6 – 0x3F 7FF7
0x3F 7FF8 – 0x3F 7FFF
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)
NOTE
•When the code-security passwords are programmed, all addresses between 0x3F 7F80
and 0x3F 7FF5 cannot be used as program code or data. These locations must be
programmed to 0x0000.
•If the code security feature is not used, addresses 0x3F 7F80 through 0x3F 7FEF may
be used for code or data. Addresses 0x3F 7FF0 – 0x3F 7FF5 are reserved for data and
should not contain program code.
Table 3-4 shows how to handle these memory locations.
Table 3-4. Impact of Using the Code Security Module
ADDRESS
0x3F 7F80 – 0x3F 7FEFApplication code and data
0x3F 7FF0 – 0x3F 7FF5Reserved for data only
CODE SECURITY ENABLEDCODE SECURITY DISABLED
Fill with 0x0000
FLASH
Peripheral Frame 1 and Peripheral Frame 2 are grouped together to enable these blocks to be write/read
peripheral block protected. The protected mode makes sure that all accesses to these blocks happen as
written. Because of the 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 CPU supports a block
protection mode where a region of memory can be protected so that operations occur as written (the
penalty is extra cycles are added to align the operations). This mode is programmable and by default, it
protects 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
AREAWAIT-STATES (CPU)COMMENTS
M0 and M1 SARAMs0-waitFixed
Peripheral Frame 00-wait
Peripheral Frame 10-wait (writes)Cycles can be extended by peripheral generated ready.
2-wait (reads)Back-to-back write operations to Peripheral Frame 1 registers will incur
Peripheral Frame 20-wait (writes)Fixed. Cycles cannot be extended by the peripheral.
2-wait (reads)
Peripheral Frame 30-wait (writes)Assumes no conflict between CPU and CLA/DMA cycles. The wait
2-wait (reads)
L0 SARAM0-wait data and programAssumes no CPU conflicts
L1 SARAM0-wait data and programAssumes no CPU conflicts
L2 SARAM0-wait data and programAssumes no CPU conflicts
L3 SARAM0-wait data and programAssumes no CPU conflicts
OTPProgrammableProgrammed via the Flash registers.
1-wait minimum1-wait is minimum number of wait states allowed.
FLASHProgrammableProgrammed via the Flash registers.
0-wait Paged min
1-wait Random min
Random ≥ Paged
FLASH Password16-wait fixedWait states of password locations are fixed.
Boot-ROM0-wait
a 1-cycle stall (1-cycle delay).
states can be extended by peripherals generated ready.
Table 3-6 describes the signals. With the exception of the JTAG pins, the GPIO function is the default at
reset, unless otherwise mentioned. The peripheral signals that are listed under them are alternate
functions. Some peripheral functions may not be available in all devices. See Table 3-1 for details. Inputs
are not 5-V tolerant. 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 the PWM
pins are not enabled at reset. The pullups on other GPIO pins are enabled upon reset. The AIO pins do
not have an internal pullup.
NOTE: When the on-chip VREG is used, the GPIO19, GPIO34, GPIO35, GPIO36, GPIO37, and GPIO38
pins could glitch during power up. If this is unacceptable in an application, 1.8 V could be supplied
externally. There is no power-sequencing requirement when using an external 1.8-V supply. However, if
the 3.3-V transistors in the level-shifting output buffers of the I/O pins are powered prior to the 1.9-V
transistors, it is possible for the output buffers to turn on, causing a glitch to occur on the pin during power
up. To avoid this behavior, power the VDDpins prior to or simultaneously with the V
the VDDpins have reached 0.7 V before the V
Table 3-6. Terminal Functions
TERMINAL
NAME
TRST1210Inormal device operation. An external pull-down resistor is required on this pin. The
TCKSee GPIO38ISee GPIO38. JTAG test clock with internal pullup. (↑)
TMSSee GPIO36I
TDISee GPIO35I
TDOSee GPIO37O/Zregister (instruction or data) are shifted out of TDO on the falling edge of TCK.
V
DD3VFL
TEST24536I/OTest Pin. Reserved for TI. Must be left unconnected.
(1) I = Input, O = Output, Z = High Impedance, OD = Open Drain, ↑ = Pullup, ↓ = Pulldown
PZ/PZPPN/PFP
PIN #PIN #
46373.3-V Flash Core Power Pin. This pin should be connected to 3.3 V at all times.
I/O/ZDESCRIPTION
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
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. (↓)
See GPIO36. JTAG test-mode select (TMS) with internal pullup. This serial control
input is clocked into the TAP controller on the rising edge of TCK. (↑)
See GPIO35. JTAG test data input (TDI) with internal pullup. TDI is clocked into the
selected register (instruction or data) on a rising edge of TCK. (↑)
See GPIO37. JTAG scan out, test data output (TDO). The contents of the selected
(8-mA drive)
ADCINA716–IADC Group A, Channel 7 input
ADCINA61714IADC Group A, Channel 6 input
COMP3AIComparator Input 3A
AIO6I/ODigital AIO 6
ADCINA51815IADC Group A, Channel 5 input
ADCINA41916IADC Group A, Channel 4 input
COMP2AIComparator Input 2A
AIO4I/ODigital AIO 4
ADCINA320–IADC Group A, Channel 3 input
ADCINA22117IADC Group A, Channel 2 input
COMP1AIComparator Input 1A
AIO2I/ODigital AIO 2
ADCINA12218IADC Group A, Channel 1 input
ADCINA02319INOTE: V
PZ/PZPPN/PFP
PIN #PIN #
See GPIO19 and
GPIO38
I/O/ZDESCRIPTION
CLOCK
See GPIO18. 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 1:0 (XCLKOUTDIV) in the XCLK register. At reset, XCLKOUT =
SYSCLKOUT/4. The XCLKOUT signal can be turned off by setting XCLKOUTDIV to 3.
The mux control for GPIO18 must also be set to XCLKOUT for this signal to propogate
to the pin.
See GPIO19 and GPIO38. External oscillator input. Pin source for the clock is
controlled by the XCLKINSEL bit in the XCLK register, GPIO38 is the default selection.
This pin feeds a clock from an external 3.3-V oscillator. In this case, the X1 pin, if
available, must be tied to GND and the on-chip crystal oscillator must be disabled via
bit 14 in the CLKCTL register. If a crystal/resonator is used, the XCLKIN path must be
NOTE: Designs that use the GPIO38/XCLKIN/TCK pin to supply an external clock for
normal device operation may need to incorporate some hooks to disable this path
during debug using the JTAG connector. This is to prevent contention with the TCK
signal, which is active during JTAG debug sessions. The zero-pin internal oscillators
may be used during this time to clock the device.
On-chip crystal-oscillator input. To use this oscillator, a quartz crystal or a ceramic
resonator must be connected across X1 and X2. In this case, the XCLKIN path must
be disabled by bit 13 in the CLKCTL register. If this pin is not used, it must be tied to
GND.
On-chip crystal-oscillator output. A quartz crystal or a ceramic resonator must be
connected across X1 and X2. If X2 is not used, it must be left unconnected.
RESET
Device Reset (in) and Watchdog Reset (out). Piccolo devices have a built-in
power-on-reset (POR) and brown-out-reset (BOR) circuitry. As such, no external
circuitry is needed to generate a reset pulse. During a power-on or brown-out condition,
this pin is driven low by the device. See Section 5.3, Electrical Characteristics, for
thresholds of the POR/BOR block. This pin is also 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. If need be, an external circuitry may
also drive this pin to assert a device reset. In this case, it is recommended that this pin
be driven by an open-drain device. An R-C circuit must be connected to this pin for
noise immunity reasons. Regardless of the source, a device reset causes the device to
terminate execution. The program counter points to the address contained at the
location 0x3FFFC0. When reset is deactivated, execution begins at the location
designated by the program counter. The output buffer of this pin is an open-drain with
an internal pullup.
ADC, COMPARATOR, ANALOG I/O
ADC Group A, Channel 0 input.
their use is mutually exclusive to one another.
and ADCINA0 share the same pin on the 80-pin PN/PFP device and
NOTE: V
their use is mutually exclusive to one another.
and ADCINA0 share the same pin on the 80-pin PN/PFP device and
REFHI
is always connected to V
REFLO
SSA
CPU AND I/O POWER
Analog Ground Pin.
NOTE: V
is always connected to V
REFLO
SSA
CPU and Logic Digital Power Pins – no supply source needed when using internal
VREG. Tie with 1.2 µF (minimum) ceramic capacitor (10% tolerance) to ground when
using internal VREG. Higher value capacitors may be used, but could impact
supply-rail ramp-up time.
Digital I/O and Flash Power Pin – Single Supply source when VREG is enabled.
VREGENZ9071IInternal VREG Enable/Disable – pull low to enable VREG, pull high to disable VREG.
GPIO08769I/O/ZGeneral-purpose input/output 0
EPWM1AOEnhanced PWM1 Output A and HRPWM channel
GPIO18668I/O/ZGeneral-purpose input/output 1
EPWM1BOEnhanced PWM1 Output B
COMP1OUTODirect output of Comparator 1
GPIO28467I/O/ZGeneral-purpose input/output 2
EPWM2AOEnhanced PWM2 Output A and HRPWM channel
GPIO38366I/O/ZGeneral-purpose input/output 3
EPWM2BOEnhanced PWM2 Output B
SPISOMIAI/OSPI-A slave out, master in
COMP2OUTODirect output of Comparator 2
GPIO497I/O/ZGeneral-purpose input/output 4
EPWM3AOEnhanced PWM3 output A and HRPWM channel
GPIO5108I/O/ZGeneral-purpose input/output 5
EPWM3BOEnhanced PWM3 output B
SPISIMOAI/OSPI-A slave in, master out
ECAP1I/OEnhanced Capture input/output 1
GPIO65846I/O/ZGeneral-purpose input/output 6
EPWM4AOEnhanced PWM4 output A and HRPWM channel
EPWMSYNCIIExternal ePWM sync pulse input
EPWMSYNCOOExternal ePWM sync pulse output
GPIO75745I/O/ZGeneral-purpose input/output 7
EPWM4BOEnhanced PWM4 output B
SCIRXDAISCI-A receive data
ECAP2I/OEnhanced Capture input/output 2
GPIO85443I/O/ZGeneral-purpose input/output 8
EPWM5AOEnhanced PWM5 output A and HRPWM channel
Reserved–Reserved
ADCSOCAOOADC start-of-conversion A
(1) The GPIO function (shown in bold italics) is the default at reset. The peripheral signals that are listed under them are alternate functions.
For JTAG pins that have the GPIO functionality multiplexed, the input path to the GPIO block is always valid. The output path from the
GPIO block and the path to the JTAG block from a pin is enabled/disabled based on the condition of the TRST signal. See the
TMS320x2806x Piccolo System Control and Interrupts Reference Guide (literature number SPRUH15).
GPIO94939I/O/ZGeneral-purpose input/output 9
EPWM5BOEnhanced PWM5 output B
SCITXDBO
ECAP3I/OEnhanced Capture input/output 3
GPIO107460I/O/ZGeneral-purpose input/output 10
EPWM6AOEnhanced PWM6 output A and HRPWM channel
Reserved–Reserved
ADCSOCBOOADC start-of-conversion B
GPIO117359I/O/ZGeneral-purpose input/output 11
EPWM6BOEnhanced PWM6 output B
SCIRXDBI
ECAP1I/OEnhanced Capture input/output 1
GPIO124435I/O/ZGeneral-purpose input/output 12
TZ1ITrip Zone input 1
SCITXDAOSCI-A transmit data
SPISIMOBI/OSPI-B slave in, master out
GPIO139575I/O/ZGeneral-purpose input/output 13
TZ2ITrip Zone input 2
Reserved–Reserved
SPISOMIBI/OSPI-B slave out, master in
GPIO149676I/O/ZGeneral-purpose input/output 14
TZ3ITrip zone input 3
ECAP1I/OEnhanced Capture input/output 1
EQEP2AIEnhanced QEP2 input A.
SPISIMOBI/OSPI-B slave in, master out
GPIO253931I/O/ZGeneral-purpose input/output 25
ECAP2I/OEnhanced Capture input/output 2
EQEP2BI
SPISOMIBI/OSPI-B slave out, master in
PZ/PZPPN/PFP
PIN #PIN #
I/O/ZDESCRIPTION
SCI-B transmit data.
NOTE: SCI-B is only available in the PZ and PZP packages.
one-half the frequency, or one-fourth the frequency of SYSCLKOUT. This is controlled
by bits 1:0 (XCLKOUTDIV) in the XCLK register. At reset, XCLKOUT =
SYSCLKOUT/4. The XCLKOUT signal can be turned off by setting XCLKOUTDIV to 3.
The mux control for GPIO18 must also be set to XCLKOUT for this signal to propogate
to the pin.
mux function of this pin. Care must be taken not to enable this path for clocking if it is
being used for the other peripheral functions.
SCI-B receive data.
NOTE: SCI-B is only available in the PZ and PZP packages.
SCI-B transmit data.
NOTE: SCI-B is only available in the PZ and PZP packages.
SCI-B receive data.
NOTE: SCI-B is only available in the PZ and PZP packages.
NOTE: eQEP2 is only available in the PZ and PZP packages.
Enhanced QEP2 input B.
NOTE: eQEP2 is only available in the PZ and PZP packages.
GPIO285040I/O/ZGeneral-purpose input/output 28
SCIRXDAISCI-A receive data
SDAAI/ODI2C data open-drain bidirectional port
TZ2ITrip zone input 2
GPIO294334I/O/ZGeneral-purpose input/output 29
SCITXDAOSCI-A transmit data
SCLAI/ODI2C clock open-drain bidirectional port
TZ3ITrip zone input 3
GPIO304133I/O/ZGeneral-purpose input/output 30
CANRXAICAN receive
EQEP2II/O
EPWM7AOEnhanced PWM7 Output A and HRPWM channel
EQEP2SI/O
EPWM8AOEnhanced PWM8 Output A and HRPWM channel
GPIO329979I/O/ZGeneral-purpose input/output 32
SDAAI/ODI2C data open-drain bidirectional port
EPWMSYNCIIEnhanced PWM external sync pulse input
ADCSOCAOOADC start-of-conversion A
GPIO3310080I/O/ZGeneral-purpose input/output 33
SCLAI/ODI2C clock open-drain bidirectional port
EPWMSYNCOOEnhanced PWM external synch pulse output
ADCSOCBOOADC start-of-conversion B
GPIO346855I/O/ZGeneral-purpose input/output 34
COMP2OUTODirect output of Comparator 2
COMP3OUTODirect output of Comparator 3
GPIO357157I/O/ZGeneral-purpose input/output 35
TDIIJTAG test data input (TDI) with internal pullup. TDI is clocked into the selected register
GPIO367258I/O/ZGeneral-purpose input/output 36
TMSIJTAG test-mode select (TMS) with internal pullup. This serial control input is clocked
GPIO377056I/O/ZGeneral-purpose input/output 37
TDOO/ZJTAG scan out, test data output (TDO). The contents of the selected register
PZ/PZPPN/PFP
PIN #PIN #
I/O/ZDESCRIPTION
Enhanced QEP2 index.
NOTE: eQEP2 is only available in the PZ and PZP packages.
Enhanced QEP2 strobe.
NOTE: eQEP2 is only available in the PZ and PZP packages.
Enhanced QEP2 index.
NOTE: eQEP2 is only available in the PZ and PZP packages.
Enhanced QEP2 strobe.
NOTE: eQEP2 is only available in the PZ and PZP packages.
(instruction or data) on a rising edge of TCK.
into the TAP controller on the rising edge of TCK.
(instruction or data) are shifted out of TDO on the falling edge of TCK (8 mA drive).
The 2806x (C28x) family is a member of the TMS320C2000™ microcontroller (MCU) platform. The
C28x-based controllers have the same 32-bit fixed-point architecture as existing C28x MCUs. It is a very
efficient C/C++ engine, enabling users to develop not only their system control software in a high-level
language, but also enabling development of math algorithms using C/C++. The device is as efficient at
MCU 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.
3.5.2Control Law Accelerator (CLA)
The C28x control law accelerator is a single-precision (32-bit) floating-point unit that extends the
capabilities of the C28x CPU by adding parallel processing. The CLA is an independent processor with its
own bus structure, fetch mechanism, and pipeline. Eight individual CLA tasks, or routines, can be
specified. Each task is started by software or a peripheral such as the ADC, an ePWM, or CPU Timer 0.
The CLA executes one task at a time to completion. When a task completes the main CPU is notified by
an interrupt to the PIE and the CLA automatically begins the next highest-priority pending task. The CLA
can directly access the ADC Result registers and the ePWM+HRPWM registers. Dedicated message
RAMs provide a method to pass additional data between the main CPU and the CLA.
The C28x VCU enhances the processing power of C2000™ devices by adding additional assembly
instructions to target complex math, Viterbi decode, and CRC calculations. The VCU instructions
accelerate many applications, including the following:
•Orthogonal frequency-division multiplex (OFDM) used in the PRIME and G3 standards for power line
communications
•Short-range radar complex math calculations
•Power calculations
•Memory and data communication packet checks (CRC)
The VCU features include:
•Instructions to support Cyclic Redundancy Checks (CRCs), which is a polynomial code checksum.
– CRC8
– CRC16
– CRC32
•Instructions to support a flexible software implementation of a Viterbi decoder
– Branch metric calculations for a code rate of 1/2 or 1/3
– Add-Compare Select or Viterbi Butterfly in 5 cycles per butterfly
– Traceback in 3 cycles per stage
– Easily supports a constraint length of K = 7 used in PRIME and G3 standards
•Complex math arithmetic unit
– Single-cycle Add or Subtract
– 2-cycle multiply
– 2-cycle multiply and accumulate (MAC)
– Single-cycle repeat MAC
•Independent register space
www.ti.com
3.5.4Memory 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 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 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
memory bus.)
Program Writes(Simultaneous data and program writes cannot occur on the
memory bus.)
Data Reads
Program Reads(Simultaneous program reads and fetches cannot occur on the
memory bus.)
Lowest:Fetches(Simultaneous program reads and fetches cannot occur on the
To enable migration of peripherals between various Texas Instruments (TI) MCU family of devices, the
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).
3.5.6Real-Time JTAG and Analysis
The devices implement the standard IEEE 1149.1 JTAG
Additionally, the devices support real-time mode of operation allowing modification of the contents of
memory, peripheral, and register locations 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 28x family of devices, requiring no software
monitor. Additionally, special analysis hardware is provided that allows setting of hardware breakpoint or
data/address watch-points and generating various user-selectable break events when a match occurs.
These devices do not support boundary scan; however, IDCODE and BYPASS features are available if
the following considerations are taken into account. The IDCODE does not come by default. The user
needs to go through a sequence of SHIFT IR and SHIFT DR state of JTAG to get the IDCODE. For
BYPASS instruction, the first shifted DR value would be 1.
The F28069/68/67/66 devices contain 128K x 16 of embedded flash memory, segregated into eight
16K x 16 sectors. The F28065/64/63/62 devices contain 64K x 16 of embedded flash memory, segregated
into eight 8K x 16 sectors. All devices also contain a single 1K x 16 of OTP memory at address range
0x3D 7800 – 0x3D 7BFF. 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. Addresses 0x3F 7FF0 –
0x3F 7FF5 are reserved for data variables and should not contain program code.
NOTE
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 TMS320x2806x Piccolo System Control and Interrupts Reference Guide (literature
number SPRUH15).
(1) IEEE Standard 1149.1-1990 Standard Test Access Port and Boundary Scan Architecture
All devices contain these two blocks of single-access memory, each 1K x 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.
3.5.9L4 SARAM, and L0, L1, L2, L3, L5, L6, L7, and L8 DPSARAMs
The device contains up to 48K x 16 of single-access RAM. To ascertain the exact size for a given device,
see the device-specific memory map figures in Section 3.2. This block is mapped to both program and
data space. L0 is 2K in size. L1 and L2 are each 1K in size. L3 is 4K in size. L4, L5, L6, L7, and L8 are
each 8K in size. L0, L1, and L2 are shared with the CLA, which can utilize these blocks for its data space.
L3 is shared with the CLA, which can utilize this block for its program space. L5, L6, L7, and L8 are
shared with the DMA, which can utilize these blocks for its data space. DPSARAM refers to the dual-port
configuration of these blocks.
3.5.10 Boot 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.
Table 3-7. Boot Mode Selection
www.ti.com
MODEGPIO37/TDOTRSTMODE
3110GetMode
2100Wait (see Section 3.5.11 for description)
1010SCI
0000Parallel IO
EMUxx1Emulation Boot
GPIO34/COMP2OUT/
COMP3OUT
3.5.10.1 Emulation Boot
When the emulator is connected, the GPIO37/TDO pin cannot be used for boot mode selection. In this
case, the boot ROM detects that an emulator is connected and uses the contents of two reserved SARAM
locations in the PIE vector table to determine the boot mode. If the content of either location is invalid,
then the Wait boot option is used. All boot mode options can be accessed in emulation boot.
3.5.10.2 GetMode
The default behavior of the GetMode option is to boot to flash. This behavior can be changed to another
boot option by programming two locations in the OTP. If the content of either OTP location is invalid, then
boot to flash is used. One of the following loaders can be specified: SCI, SPI, I2C, CAN, or OTP.
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 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 that 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, or L0
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
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.
The solution is to use the Wait boot option. This will sit in a loop around a software breakpoint to allow an
emulator to be connected without tripping security. Piccolo devices do not support a hardware
wait-in-reset mode.
NOTE
•When the code-security passwords are programmed, all addresses between 0x3F 7F80
and 0x3F 7FF5 cannot be used as program code or data. These locations must be
programmed to 0x0000.
•If the code security feature is not used, addresses 0x3F 7F80 through 0x3F 7FEF may
be used for code or data. Addresses 0x3F 7FF0 – 0x3F 7FF5 are reserved for data and
should not contain program code.
The 128-bit password (at 0x3F 7FF8 – 0x3F 7FFF) must not be programmed to zeros. Doing
so would permanently lock the device.
Disclaimer
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.
www.ti.com
3.5.12 Peripheral Interrupt Expansion (PIE) Block
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 F2806x, 72 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.
The devices support three masked external interrupts (XINT1–XINT3). Each of the interrupts can be
selected for negative, positive, or both negative and positive edge triggering and can also be
enabled/disabled. These interrupts 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.
There are no dedicated pins for the external interrupts. XINT1, XINT2, and XINT3 interrupts can accept
inputs from GPIO0–GPIO31 pins.
3.5.14 Internal Zero Pin Oscillators, Oscillator, and PLL
The device can be clocked by either of the two internal zero-pin oscillators, an external oscillator, or by a
crystal attached to the on-chip oscillator circuit. A PLL is provided supporting up to 16 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 Section 5, Electrical Specifications, for timing
details. The PLL block can be set in bypass mode. A second PLL (PLL2) feeds the HRCAP module.
3.5.15 Watchdog
Each device contains two watchdogs: CPU-Watchdog that monitors the core and NMI-Watchdog that is a
missing clock-detect circuit. The user software must regularly reset the CPU-watchdog counter within a
certain time frame; otherwise, the CPU-watchdog generates a reset to the processor. The CPU-watchdog
can be disabled if necessary. The NMI-Watchdog engages only in case of a clock failure and can either
generate an interrupt or a device reset.
SPRS698A–NOVEMBER 2010–REVISED JANUARY 2011
3.5.16 Peripheral Clocking
The clocks to each individual peripheral can be enabled/disabled to reduce power consumption when a
peripheral is not in use. Additionally, the system clock to the serial ports (except I2C) can be scaled
relative to the CPU clock.
3.5.17 Low-power Modes
The devices are full static CMOS devices. Three low-power modes are provided:
IDLE:Places CPU in 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:This mode basically shuts down the device and places it in the lowest possible
power-consumption mode. If the internal zero-pin oscillators are used as the clock
source, the HALT mode turns them off, by default. To keep these oscillators from
shutting down, the INTOSCnHALTI bits in CLKCTL register may be used. The
zero-pin oscillators may thus be used to clock the CPU-watchdog in this mode. If the
on-chip crystal oscillator is used as the clock source, it is shut down in this mode. A
reset or an external signal (through a GPIO pin) or the CPU-watchdog can wake the
device from this mode.
The CPU clock (OSCCLK) and WDCLK should be from the same clock source before attempting to put
the device into HALT or STANDBY.
The device segregates peripherals into four sections. The mapping of peripherals is as follows:
PF0:PIE:PIE Interrupt Enable and Control Registers Plus PIE Vector Table
Flash:Flash Waitstate Registers
Timers:CPU-Timers 0, 1, 2 Registers
CSM:Code Security Module KEY Registers
ADC:ADC Result Registers
CLA:Control Law Accelrator Registers and Message RAMs
PF1:GPIO:GPIO MUX Configuration and Control Registers
eCAN:Enhanced Control Area Network 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
Comparators:Comparator Modules
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 Configuration Registers
I2C:Inter-Integrated Circuit Module and Registers
XINT:External Interrupt Registers
PF3:McBSP:Multichannel 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.5.20 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 0 is for general use and is connected to the PIE block. CPU-Timer 1 is also for general use
and can be connected to INT13 of the CPU. CPU-Timer 2 is reserved for DSP/BIOS. 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 2 can be clocked by any one of the following:
generation, adjustable dead-band generation for leading/trailing edges,
latched/cycle-by-cycle trip mechanism. Some of the PWM pins support the
HRPWM high resolution duty and period features. The type 1 module found on
2806x devices also supports increased dead-band resolution, enhanced SOC and
interrupt generation, and advanced triggering including trip functions based on
comparator outputs.
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. It has up to 13 single-ended channels pinned
out, depending on the device. It contains two sample-and-hold units for
simultaneous sampling.
Comparator:Each comparator block consists of one analog comparator along with an internal
10-bit reference for supplying one input of the comparator.
The devices support the following serial communication peripherals:
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 4-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 4-level receive and transmit FIFO
for reducing interrupt servicing overhead.
I2C:The inter-integrated circuit (I2C) module provides an interface between a 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 4-level
receive-and-transmit FIFO for reducing interrupt servicing overhead.
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.
(0 wait read only)
CPU–TIMER0/1/2 Registers0x00 0C00 – 0x00 0C3F64No
PIE Registers0x00 0CE0 – 0x00 0CFF32No
PIE Vector Table0x00 0D00 – 0x00 0DFF256No
DMA Registers0x00 1000 – 0x00 11FF512Yes
CLA Registers0x00 1400 – 0x00 147F128Yes
CLA to CPU Message RAM (CPU writes ignored)0x00 1480 – 0x00 14FF128NA
CPU to CLA Message RAM (CLA writes ignored)0x00 1500 – 0x00 157F128NA
(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).
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-13.
Table 3-13. Device Emulation Registers
www.ti.com
NAMESIZE (x16)DESCRIPTION
DEVICECNF2Device Configuration RegisterYes
PARTID0x3D 7E801Part ID RegisterTMS320F28069PZP/PZ0x009E
Although the core and I/O circuitry operate on two different voltages, these devices have an on-chip
voltage regulator (VREG) to generate the VDDvoltage from the V
space of a second external regulator on an application board. Additionally, internal power-on reset (POR)
and brown-out reset (BOR) circuits monitor both the VDDand V
3.8.1On-chip Voltage Regulator (VREG)
SPRS698A–NOVEMBER 2010–REVISED JANUARY 2011
supply. This eliminates the cost and
DDIO
rails during power-up and run mode.
DDIO
A linear regulator generates the core voltage (VDD) from the V
supply. Therefore, although capacitors
DDIO
are required on each VDDpin to stabilize the generated voltage, power need not be supplied to these pins
to operate the device. Conversely, the VREG can be disabled, should power or redundancy be the
primary concern of the application.
3.8.1.1Using the On-chip VREG
To utilize the on-chip VREG, the VREGENZ pin should be tied low and the appropriate recommended
operating voltage should be supplied to the V
DDIO
and V
pins. In this case, the VDDvoltage needed by
DDA
the core logic will be generated by the VREG. Each VDDpin requires on the order of 1.2 mF (minimum)
capacitance for proper regulation of the VREG. These capacitors should be located as close as possible
to the VDDpins.
3.8.1.2Disabling the On-chip VREG
To conserve power, it is also possible to disable the on-chip VREG and supply the core logic voltage to
the VDDpins with a more efficient external regulator. To enable this option, the VREGENZ pin must be tied
high.
3.8.2On-chip Power-On Reset (POR) and Brown-Out Reset (BOR) Circuit
Two on-chip supervisory circuits, the power-on reset (POR) and the brown-out reset (BOR) remove the
burden of monitoring the VDDand V
to create a clean reset throughout the device during the entire power-up procedure. The trip point is a
looser, lower trip point than the BOR, which watches for dips in the VDDor V
operation. The POR function is present on both VDDand V
power-up, the BOR function is present on V
enabled (VREGENZ pin is tied low). Both functions tie the XRS pin low when one of the voltages is below
their respective trip point. Additionally, when the internal voltage regulator is enabled, an over-voltage
protection circuit will tie XRS low if the VDDrail rises above its trip point. See Section 5 for the various trip
points as well as the delay time for the device to release the XRS pin after the under/over-voltage
condition is removed. Figure 3-10 shows the VREG, POR, and BOR. To disable both the VDDand V
BOR functions, a bit is provided in the BORCFG register. Refer to the TMS320x2806x Piccolo SystemControl and Interrupts Reference Guide (literature number SPRUH15) for details.
supply rails from the application board. The purpose of the POR is
The F2806x devices contain two independent internal zero pin oscillators. By default both oscillators are
turned on at power up, and internal oscillator 1 is the default clock source at this time. For power savings,
unused oscillators may be powered down by the user. The center frequency of these oscillators is
determined by their respective oscillator trim registers, written to in the calibration routine as part of the
boot ROM execution. See Section 6, Peripheral and Electrical Specifications, for more information on
these oscillators.
3.9.2Crystal Oscillator Option
The typical specifications for the external quartz crystal (fundamental mode, parallel resonant) are listed in
Table 3-15. Furthermore, ESR range = 30 to 150 Ω.
www.ti.com
Table 3-15. Typical Specifications for External Quartz Crystal
FREQUENCY (MHz)Rd(Ω)CL1(pF)CL2(pF)
522001818
104701515
1501515
2001212
(1) C
should be less than or equal to 5 pF.
shunt
(1)
Figure 3-13. Using the On-chip Crystal Oscillator
NOTE
1. CL1and CL2are the total capacitance of the circuit board and components excluding the
IC and crystal. The value is usually approximately twice the value of the crystal's load
capacitance.
2. The load capacitance of the crystal is described in the crystal specifications of the
manufacturers.
3. TI recommends that customers have the resonator/crystal vendor characterize the
operation of their device with the MCU 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 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, which takes
1 ms. The input clock and PLLCR[DIV] bits should be chosen in such a way that the output frequency of
the PLL (VCOCLK) is at least 50 MHz.
The PLL-based clock module provides four modes of operation:
•INTOSC1 (Internal Zero-pin Oscillator 1): This is the on-chip internal oscillator 1. This can provide
the clock for the Watchdog block, core and CPU-Timer 2
•INTOSC2 (Internal Zero-pin Oscillator 2): This is the on-chip internal oscillator 2. This can provide
the clock for the Watchdog block, core and CPU-Timer 2. Both INTOSC1 and INTOSC2 can be
independently chosen for the Watchdog block, core and CPU-Timer 2.
•Crystal/Resonator Operation: The on-chip (crystal) oscillator enables the use of an external
crystal/resonator attached to the device to provide the time base. The crystal/resonator is connected to
the X1/X2 pins. Some devices may not have the X1/X2 pins. See Table 3-6 for details.
•External Clock Source Operation: If the on-chip (crystal) oscillator is not used, this mode allows it to
be bypassed. The device clocks are generated from an external clock source input on the XCLKIN pin.
Note that the XCLKIN is multiplexed with GPIO19 or GPIO38 pin. The XCLKIN input can be selected
as GPIO19 or GPIO38 via the XCLKINSEL bit in XCLK register. The CLKCTL[XCLKINOFF] bit
disables this clock input (forced low). If the clock source is not used or the respective pins are used as
GPIOs, the user should disable at boot time.
Before changing clock sources, ensure that the target clock is present. If a clock is not present, then that
clock source must be disabled (using the CLKCTL register) before switching clocks.
Table 3-18. Possible PLL Configuration Modes
www.ti.com
PLL MODEREMARKSPLLSTS[DIVSEL]
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
PLLAchieved by writing a non-zero value n into the PLLCR register. Upon writing to the
Enable
(1) PLLSTS[DIVSEL] should not be set to /1 mode while the PLL is enabled.
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.
(1)
PLLCR the device will switch to PLL Bypass mode until the PLL locks.
0, 1OSCCLK/4
3OSCCLK/1
0, 1OSCCLK * n/4
2OSCCLK * n/2
3OSCCLK * n/1
CLKIN AND
SYSCLKOUT
3.9.4Loss of Input Clock (NMI Watchdog Function)
The2806xdevicesmaybeclockedfromeitheroneoftheinternalzero-pinoscillators
(INTOSC1/INTOSC2), the on-chip crystal oscillator, or from an external clock input. Regardless of the
clock source, in PLL-enabled and PLL-bypass mode, if the input clock to the PLL vanishes, the PLL will
issue a limp-mode clock at its output. This limp-mode clock continues to clock the CPU and peripherals at
a typical frequency of 1–5 MHz.
When the limp mode is activated, a CLOCKFAIL signal is generated that is latched as an NMI interrupt.
Depending on how the NMIRESETSEL bit has been configured, a reset to the device can be fired
immediately or the NMI watchdog counter can issue a reset when it overflows. In addition to this, the
Missing Clock Status (MCLKSTS) bit is set. The NMI interrupt could be used by the application to detect
the input clock failure and initiate necessary corrective action such as switching over to an alternative
clock source (if available) or initiate a shut-down procedure for the system.
If the software does not respond to the clock-fail condition, the NMI watchdog triggers a reset after a
preprogrammed time interval. Figure 3-15 shows the interrupt mechanisms involved.
The CPU-watchdog module on the 2806x device is similar to the one used on the 281x/280x/283xx
devices. This 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 must disable the counter
or the software must periodically write a 0x55 + 0xAA sequence into the watchdog key register that resets
the watchdog counter. Figure 3-16 shows the various functional blocks within the watchdog module.
Normally, when the input clocks are present, the CPU-watchdog counter decrements to initiate a
CPU-watchdog reset or WDINT interrupt. However, when the external input clock fails, the CPU-watchdog
counter stops decrementing (i.e., the watchdog counter does not change with the limp-mode clock).
NOTE
The CPU-watchdog is different from the NMI watchdog. It is the legacy watchdog that is
present in all 28x devices.
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. Such a circuit would also help in
detecting failure of the flash memory.
A.The WDRST signal is driven low for 512 OSCCLK cycles.
Figure 3-16. CPU-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 CPU-watchdog. This 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.10, 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, the CPU-watchdog can be used to wake up the device through a device reset.
(1) The Exit column lists which signals or under what conditions the low power mode is exited. A low signal, on any of the signals, exits 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 JTAG port can still function even if the CPU clock (CLKIN) is turned off.
(3) The WDCLK must be active for the device to go into HALT mode.
1XPLL turned off, zero-pin oscillatorOffOff
(CPU-watchdog still running)Port A signal, debugger
(on-chip crystal oscillator and
and CPU-watchdog state
dependent on user code.)
The various low-power modes operate as follows:
IDLE Mode:This mode is exited by any enabled interrupt that is recognized by the
STANDBY Mode:Any GPIO port A signal (GPIO[31:0]) can wake the device from STANDBY
HALT Mode:CPU-watchdog, XRS, and any GPIO port A signal (GPIO[31:0]) can wake
OnXRS, CPU-watchdog interrupt, GPIO
Off
processor. The LPM block performs no tasks during this mode as long as
the LPMCR0(LPM) bits are set to 0,0.
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.
the device from HALT mode. The user selects the signal in the
GPIOLPMSEL register.
SPRS698A–NOVEMBER 2010–REVISED JANUARY 2011
(1)
XRS, CPU-watchdog interrupt, any
enabled interrupt
(2)
XRS, GPIO Port A signal, debugger
CPU-watchdog
(2)
,
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 TMS320x2806x Piccolo System Control and Interrupts Reference Guide (literature
number SPRUH15) for more details.
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 MCU Development and Experimenter's Kits (http://www.ti.com/f28xkits)
4.2Development Support
Texas Instruments (TI) offers an extensive line of development tools for the C28x™ generation of MCUs,
including tools to evaluate the performance of the processors, generate code, develop algorithm
implementations, and fully integrate and debug software and hardware modules.
The following products support development of 2806x-based applications:
Software Development Tools
•Code Composer Studio™ Integrated Development Environment (IDE)
– C/C++ Compiler
– Code generation tools
– Assembler/Linker
– Cycle Accurate Simulator
4.3Device and Development Support Tool Nomenclature
To designate the stages in the product development cycle, TI assigns prefixes to the part numbers of all
TMS320™ MCU devices and support tools. Each TMS320™ MCU commercial family member has one of
three prefixes: TMX, TMP, or TMS (e.g., TMX320F28069). Texas Instruments recommends two of three
possible prefix designators for its support tools: TMDX and TMDS. These prefixes represent evolutionary
stages of product development from engineering prototypes (TMX/TMDX) through fully qualified
production devices/tools (TMS/TMDS).
Device development evolutionary flow:
TMXExperimental device that is not necessarily representative of the final device's electrical
specifications
TMPFinal silicon die that conforms to the device's electrical specifications but has not
−40°C to 125°C
(Q refers to Q100 qualification for automotive applications.)
−40°C to 105°C
T
S
Q
=
=
=
www.ti.com
Support tool development evolutionary flow:
TMX and TMP devices and TMDX development-support tools are shipped against the following
disclaimer:
"Developmental product is intended for internal evaluation purposes."
TMS devices and TMDS development-support tools have been characterized fully, and the quality and
reliability of the device have been demonstrated fully. TI's standard warranty applies.
Predictions show that prototype devices (TMX or TMP) have a greater failure rate than the standard
production devices. Texas Instruments recommends that these devices not be used in any production
system because their expected end-use failure rate still is undefined. Only qualified production devices are
to be used.
TI device nomenclature also includes a suffix with the device family name. This suffix indicates the
package type (for example, PZP) and temperature range (for example, S). Figure 4-1 provides a legend
for reading the complete device name for any family member.
Extensive documentation supports all of the TMS320™ MCU family generations of devices from product
announcement through applications development. The types of documentation available include: data
sheets and data manuals, with design specifications; and hardware and software applications.
Table 4-1 shows the peripheral reference guides appropriate for use with the devices in this data manual.
See the TMS320x28xx, 28xxx DSP Peripheral Reference Guide (literature number SPRU566) for more
information on types of peripherals.
TMS320x2806x Piccolo System Control and InterruptsSPRUH15–X
TMS320x2806x Piccolo Boot ROMSPRUH05–X
TMS320x2806x Piccolo Viterbi, Complex Math and CRC Unit (VCU) Type 0SPRUGI70X
(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
peripheral reference guides.
(1)
www.ti.com
28069, 28068,
28067, 28066,
28065, 28064,
28063, 28062
The following documents can be downloaded from the TI website (www.ti.com):
TMS320F28064, TMS320F28063, TMS320F28062 Piccolo MCU Silicon Errata describes
known advisories on silicon and provides workarounds.
CPU User's Guides
SPRU430TMS320C28x CPU and Instruction Set Reference Guide describes the central processing
unit (CPU) and the assembly language instructions of the TMS320C28x fixed-point digital
signal processors (DSPs). It also describes emulation features available on these DSPs.
Peripheral Guides
SPRUH15TMS320x2806x Piccolo System Control and Interrupts Reference Guide describes the
various interrupts and system control features of the 2806x microcontrollers (MCUs).
SPRU566TMS320x28xx, 28xxx DSP Peripheral Reference Guide describes the peripheral reference
guides of the 28x digital signal processors (DSPs).
SPRUH05TMS320x2806x Piccolo Boot ROM Reference Guide describes the purpose and features
of the boot loader (factory-programmed boot-loading software) and provides examples of
code. It also describes other contents of the device on-chip boot ROM and identifies where
all of the information is located within that memory.
SPRUGI7TMS320x2806x Piccolo Viterbi, Complex Math and CRC Unit (VCU) Type 0 Reference
SPRU513TMS320C28x Assembly Language Tools v5.0.0 User's Guide describes the assembly
language tools (assembler and other tools used to develop assembly language code),
assembler directives, macros, common object file format, and symbolic debugging directives
for the TMS320C28x device.
TMS320C28x™ C/C++ compiler. This compiler accepts ANSI standard C/C++ source code
and produces TMS320 DSP assembly language source code for the TMS320C28x device.
SPRU608TMS320C28x Instruction Set Simulator Technical Overview describes the simulator,
available within the Code Composer Studio for TMS320C2000 IDE, that simulates the
instruction set of the C28x™ core.
4.5Community Resources
The following links connect to TI community resources. Linked contents are provided "AS IS" by the
respective contributors. They do not constitute TI specifications and do not necessarily reflect TI's views;
see TI's Terms of Use.
TI E2E Community TI's Engineer-to-Engineer (E2E) Community. Created to foster collaboration
among engineers. At e2e.ti.com, you can ask questions, share knowledge, explore ideas and
help solve problems with fellow engineers.
TI Embedded Processors Wiki Texas Instruments Embedded Processors Wiki. Established to help
developers get started with Embedded Processors from Texas Instruments and to foster
innovation and growth of general knowledge about the hardware and software surrounding
these devices.
Supply voltage range, V
Supply voltage range, V
Analog voltage range, V
(I/O and Flash)with respect to V
DDIO
DD
DDA
(1) (2)
with respect to V
with respect to V
SS
SS
SSA
–0.3 V to 4.6 V
–0.3 V to 2.5 V
–0.3 V to 4.6 V
Input voltage range, VIN(3.3 V)–0.3 V to 4.6 V
Output voltage range, V
O
Input clamp current, IIK(VIN< 0 or VIN> V
Output clamp current, IOK(VO< 0 or VO> V
stg
(4)
J
(4)
Junction temperature range, T
Storage temperature range, T
(3)
)
DDIO
)±20 mA
DDIO
–0.3 V to 4.6 V
±20 mA
–40°C to 150°C
–65°C to 150°C
(1) Stresses beyond those listed under Absolute Maximum Ratings may cause permanent damage to the device. These are stress ratings
only, and functional operation of the device at these or any other conditions beyond those indicated under Section 5.2 is not implied.
Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
(2) All voltage values are with respect to VSS, unless otherwise noted.
(3) Continuous clamp current per pin is ± 2 mA.
(4) Long-term high-temperature storage and/or extended use at maximum temperature conditions may result in a reduction of overall device
life. For additional information, see IC Package Thermal Metrics Application Report (literature number SPRA953) and Reliability Data for
TMS320LF24xx and TMS320F28xx Devices Application Report (literature number SPRA963).
5.2Recommended Operating Conditions
MINNOMMAXUNIT
Device supply voltage, I/O, V
Device supply voltage CPU, VDD(When internal1.711.81.995
VREG is disabled and 1.8 V is supplied externally)
Supply ground, V
Analog supply voltage, V
Analog ground, V
Timing parameter symbols used are created in accordance with JEDEC Standard 100. To shorten the
symbols, some of the pin names and other related terminology have been abbreviated as follows:
Lowercase subscripts and theirLetters and symbols and their
meanings:meanings:
aaccess timeHHigh
ccycle time (period)LLow
ddelay timeVValid
ffall timeX
hhold timeZHigh impedance
rrise time
susetup time
ttransition time
vvalid time
wpulse duration (width)
Unknown, changing, or don't care
level
www.ti.com
6.1.2General Notes on Timing Parameters
All output signals from the 28x devices (including XCLKOUT) are derived from an internal clock such that
all output transitions for a given half-cycle occur with a minimum of skewing relative to each other.
The signal combinations shown in the following timing diagrams may not necessarily represent actual
cycles. For actual cycle examples, see the appropriate cycle description section of this document.
6.2Test Load Circuit
This test load circuit is used to measure all switching characteristics provided in this document.
A.Input requirements in this data sheet are tested with an input slew rate of < 4 Volts per nanosecond (4 V/ns) at the
device pin.
B.The data sheet provides timing at the device pin. For output timing analysis, the tester pin electronics and its
transmission line effects must be taken into account. A transmission line with a delay of 2 ns or longer can be used to
produce the desired transmission line effect. The transmission line is intended as a load only. It is not necessary to
add or subtract the transmission line delay (2 ns or longer) from the data sheet timing.
This section provides the timing requirements and switching characteristics for the various clock options
available on the 2806x MCUs. Table 6-1 lists the cycle times of various clocks.
Table 6-1. 2806x Clock Table and Nomenclature (80-MHz Devices)
t
, Cycle time16.67500ns
SYSCLKOUT
LSPCLK
ADC clock
(1) Lower LSPCLK will reduce device power consumption.
(2) This is the default reset value if SYSCLKOUT = 80 MHz.
Internal zero-pin oscillator 1 (INTOSC1) at 30°C
Internal zero-pin oscillator 2 (INTOSC2) at 30°C
Step size (coarse trim)55kHz
Step size (fine trim)14kHz
Temperature drift
Voltage (VDD) drift
(1) In order to achieve better oscillator accuracy (10 MHz ± 1% or better) than shown, refer to the Oscillator Compensation Guide
Application Report (literature number SPRAB84).
(2) Frequency range ensured only when VREG is enabled, VREGENZ = VSS.
(3) Output frequency of the internal oscillators follows the direction of both the temperature gradient and voltage (VDD) gradient. For
example:
• Increase in temperature will cause the output frequency to increase per the temperature coefficient.
• Decrease in voltage (VDD) will cause the output frequency to decrease per the voltage coefficient.
(3)
(3)
(1)(2)
(1)(2)
Frequency10.000MHz
Frequency10.000MHz
3.034.85 kHz/°C
175Hz/mV
www.ti.com
Figure 6-2. Zero-Pin Oscillator Frequency Movement With Temperature
There is no power sequencing requirement needed to ensure the device is in the proper state after reset
or to prevent the I/Os from glitching during power up/down. However, it is recommended that no voltage
larger than a diode drop (0.7 V) should be applied to any pin prior to powering up the device. Voltages
applied to pins on an unpowered device can bias internal p-n junctions in unintended ways and produce
unpredictable results.
www.ti.com
A.Upon power up, SYSCLKOUT is OSCCLK/4. Since the XCLKOUTDIV bits in the XCLK register come up with a reset
state of 0, SYSCLKOUT is further divided by 4 before it appears at XCLKOUT. XCLKOUT = OSCCLK/16 during this
phase.
B.Boot ROM configures the DIVSEL bits for /1 operation. XCLKOUT = OSCCLK/4 during this phase. Note that
XCLKOUT will not be visible at the pin until explicitly configured by user code.
C. After reset, the boot ROM code samples Boot Mode pins. Based on the status of the Boot Mode pin, the boot code
branches to destination memory or boot code function. If boot ROM code executes after power-on conditions (in
debugger environment), the boot code execution time is based on the current SYSCLKOUT speed. The SYSCLKOUT
will be based on user environment and could be with or without PLL enabled.
D. Using the XRS pin is optional due to the on-chip power-on reset (POR) circuitry.
over operating free-air temperature range (unless otherwise noted)
t
w(RSL1)
t
w(WDRS)
t
d(EX)
t
INTOSCST
(1)
t
OSCST
(1) Dependent on crystal/resonator and board design.
Hold time for boot-mode pins1000t
Pulse duration, XRS low on warm reset32t
Table 6-8. Reset (XRS) Switching Characteristics
PARAMETERTEST CONDITIONSMINTYPMAXUNIT
Pulse duration, XRS driven by device600ms
Pulse duration, reset pulse generated by
watchdog
Delay time, address/data valid after XRS high32t
Start up time, internal zero-pin oscillator3ms
On-chip crystal-oscillator start-up time110ms
SPRS698A–NOVEMBER 2010–REVISED JANUARY 2011
MINNOMMAXUNIT
c(SCO)
c(OSCCLK)
512t
c(OSCCLK)
c(OSCCLK)
cycles
cycles
cycles
cycles
A.After reset, the Boot ROM code samples BOOT Mode pins. Based on the status of the Boot Mode pin, the boot code
branches to destination memory or boot code function. If Boot ROM code executes after power-on conditions (in
debugger environment), the Boot code execution time is based on the current SYSCLKOUT speed. The
SYSCLKOUT will be based on user environment and could be with or without PLL enabled.
Figure 6-6 shows an example for the effect of writing into PLLCR register. In the first phase, PLLCR =
0x0004 and SYSCLKOUT = OSCCLK x 2. The PLLCR is then written with 0x0008. Right after the PLLCR
register is written, the PLL lock-up phase begins. During this phase, SYSCLKOUT = OSCCLK/2. After the
PLL lock-up is complete, SYSCLKOUT reflects the new operating frequency, OSCCLK x 4.
Figure 6-6. Example of Effect of Writing Into PLLCR Register
Table 6-9. TMS320F2806x Current Consumption at 80-MHz SYSCLKOUT
VREG ENABLEDVREG DISABLED
MODETEST CONDITIONSI
TYP
The following peripheral clocks
are enabled:
•ePWM1/2/3/4/5/6/7/8
•eCAP1/2/3
•eQEP1/2
•eCAN
•CLA
•HRPWM
•SCI-A/B
Operational
(Flash)
IDLE21 mA300 µA18 mA400 µA300 µA
STANDBY7 mA300 µA6 mA400 µA300 µA
HALTPeripheral clocks are off.3 mA300 µA2 mA120 µA300 µA
(1) I
DDIO
(2) In order to realize the I
writing to the PCLKCR0 register.
•SPI-A/B
•ADC
•I2C
•COMP1/2/3
•CPU-TIMER0/1/2
•McBSP
•HRCAP
All PWM pins are toggled at
60 kHz.
All I/O pins are left
unconnected.
Code is running out of flash
with 2 wait-states.
XCLKOUT is turned off.
Flash is powered down.
XCLKOUT is turned off.
All peripheral clocks are turned
off.
Flash is powered down.
Peripheral clocks are off.
Flash is powered down.
Input clock is disabled.
(4) (5)
(7)
140 mA
current is dependent on the electrical loading on the I/O pins.
currents shown for IDLE, STANDBY, and HALT, clock to the ADC module must be turned off explicitly by
DDA
(1)
DDIO
(3)
(6)
MAXTYP
16 mA130 mA
(3) The TYP numbers are applicable over room temperature and nominal voltage.
(4) The following is done in a loop:
• Data is continuously transmitted out of SPI-A/B, SCI-A, eCAN-A, McBSP-A, and I2C ports.
• The hardware multiplier is exercised.
• Watchdog is reset.
• ADC is performing continuous conversion.
• COMP1/2 are continuously switching voltages.
• GPIO17 is toggled.
(5) CLA is continuously performing polynomial calculations.
(6) For F2806x devices that do not have CLA, subtract the IDDcurrent number for CLA (see Table 6-10) from the IDD(VREG disabled)/I
(VREG enabled) current numbers shown in Table 6-9 for operational mode.
(7) If a quartz crystal or ceramic resonator is used as the clock source, the HALT mode shuts down the on-chip crystal oscillator.
(2)
I
DDA
(3)
MAXTYP
SPRS698A–NOVEMBER 2010–REVISED JANUARY 2011
(3)
(6)
I
DD
MAXTYP
(1)
I
DDIO
(3)
MAXTYP
7 mA16 mA
(2)
I
DDA
(3)
MAX
DDIO
NOTE
The peripheral - I/O multiplexing implemented in the device prevents all available peripherals
from being used at the same time. This is because more than one peripheral function may
share an I/O pin. It is, however, possible to turn on the clocks to all the peripherals at the
same time, although such a configuration is not useful. If this is done, the current drawn by
the device will be more than the numbers specified in the current consumption tables.
The 2806x devices incorporate a method to reduce the device current consumption. Since each peripheral
unit has an individual clock-enable bit, significant reduction in current consumption can be achieved by
turning off the clock to any peripheral module that is not used in a given application. Furthermore, any one
of the three low-power modes could be taken advantage of to reduce the current consumption even
further. Table 6-10 indicates the typical reduction in current consumption achieved by turning off the
clocks.
www.ti.com
Table 6-10. Typical Current Consumption by Various
Peripherals (at 80 MHz)
PERIPHERALIDDCURRENT
MODULE
COMP/DAC1
HRPWM3
CPU-TIMER1
Internal zero-pin oscillator0.5
(1) All peripheral clocks (except CPU Timer clock) are disabled upon
reset. Writing to/reading from peripheral registers is possible only
after the peripheral clocks are turned on.
(2) For peripherals with multiple instances, the current quoted is per
module. For example, the 2 mA value quoted for ePWM is for one
ePWM module.
(3) This number represents the current drawn by the digital portion of
the ADC module. Turning off the clock to the ADC module results in
the elimination of the current drawn by the analog portion of the ADC
(I
) as well.
DDA
(2)
ADC2
I2C3
ePWM2
eCAP2
eQEP2
SCI2
SPI2
CAN2.5
CLA20
McBSP6
(1)
REDUCTION (mA)
(3)
NOTE
I
current consumption is reduced by 15 mA (typical) when XCLKOUT is turned off.
DDIO
NOTE
The baseline IDDcurrent (current when the core is executing a dummy loop with no
peripherals enabled) is 40 mA, typical. To arrive at the IDDcurrent for a given application, the
current-drawn by the peripherals (enabled by that application) must be added to the baseline
IDDcurrent.
Following are other methods to reduce power consumption further:
•The flash module may be powered down if code is run off SARAM. This results in a current reduction
of 18 mA (typical) in the VDDrail and 13 mA (typical) in the V
6.7Emulator Connection Without Signal Buffering for the MCU
Figure 6-7 shows the connection between the MCU and JTAG header for a single-processor configuration.
If the distance between the JTAG header and the MCU is greater than 6 inches, the emulation signals
must be buffered. If the distance is less than 6 inches, buffering is typically not needed. Figure 6-7 shows
the simpler, no-buffering situation. For the pullup/pulldown resistor values, see Section 3.4, Signal
Descriptions.
SPRS698A–NOVEMBER 2010–REVISED JANUARY 2011
A.See Figure 6-46 for JTAG/GPIO multiplexing.
Figure 6-7. Emulator Connection Without Signal Buffering for the MCU
NOTE
The 2806x devices do not have EMU0/EMU1 pins. For designs that have a JTAG Header
on-board, the EMU0/EMU1 pins on the header must be tied to V
(typical) resistor.
Eight PIE block interrupts are grouped into one CPU interrupt. In total, 12 CPU interrupt groups, with
8 interrupts per group equals 96 possible interrupts. Table 6-11 shows the interrupts used by 2806x
devices.
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 96 possible interrupts, some interrupts are not used. These 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:
• No peripheral within the group is asserting interrupts.
• No peripheral interrupts are assigned to the group (e.g., PIE group 7).
Table 6-12. 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 –6Reserved
0x0CFF
(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 TMS320x2806x Piccolo System Control and InterruptsReference Guide (literature number SPRUH15).
(1) For an explanation of the input qualifier parameters, see Table 6-67.
(2) This timing is applicable to any GPIO pin configured for ADCSOC functionality.
The control law accelerator extends the capabilities of the C28x CPU by adding parallel processing.
Time-critical control loops serviced by the CLA can achieve low ADC sample to output delay. Thus, the
CLA enables faster system response and higher frequency control loops. Utilizing the CLA for time-critical
tasks frees up the main CPU to perform other system and communication functions concurently. The
following is a list of major features of the CLA.
•Clocked at the same rate as the main CPU (SYSCLKOUT).
•An independent architecture allowing CLA algorithm execution independent of the main C28x CPU.
– Complete bus architecture:
•Program address bus and program data bus
•Data address bus, data read bus, and data write bus
– Independent eight-stage pipeline.
– 12-bit program counter (MPC)
– Four 32-bit result registers (MR0–MR3)
– Two 16-bit auxillary registers (MAR0, MAR1)
– Status register (MSTF)
•Instruction set includes:
– IEEE single-precision (32-bit) floating-point math operations
– Floating-point math with parallel load or store
– Floating-point multiply with parallel add or subtract
– 1/X and 1/sqrt(X) estimations
– Data type conversions.
– Conditional branch and call
– Data load/store operations
•The CLA program code can consist of up to eight tasks or interrupt service routines.
– The start address of each task is specified by the MVECT registers.
– No limit on task size as long as the tasks fit within the CLA program memory space.
– One task is serviced at a time through to completion. There is no nesting of tasks.
– Upon task completion, a task-specific interrupt is flagged within the PIE.
– When a task finishes, the next highest-priority pending task is automatically started.
•Task trigger mechanisms:
– C28x CPU via the IACK instruction
– Task1 to Task7: the corresponding ADC, ePWM, eQEP, or eCAP module interrupt. For example:
•Task1: ADCINT1 or EPWM1_INT
•Task2: ADCINT2 or EPWM2_INT
•Task4: ADCINT4 or EPWM4_INT or EQEPx_INT or ECAPx_INT
•Task7: ADCINT7 or EPWM7_INT or EQEPx_INT or ECAPx_INT
– Task8: ADCINT8 or by CPU Timer 0 or EQEPx_INT or ECAPx_INT.
•Memory and Shared Peripherals:
– Two dedicated message RAMs for communication between the CLA and the main CPU.
– The C28x CPU can map CLA program and data memory to the main CPU space or CLA space.
– The CLA has direct access to the ADC Result registers, comparator registers, and the eCAP,
MIER0x14251YesInterrupt Enable Register
MIRUN0x14261YesInterrupt RUN Register
MIPCTL0x14271YesInterrupt Priority Control Register
(2)
MPC
(2)
MAR0
(2)
MAR1
(2)
MSTF
(2)
MR0
(2)
MR1
(2)
MR2
(2)
MR3
(1) All registers in this table are CSM protected
(2) The main C28x CPU has read only access to this register for debug purposes. The main CPU cannot perform CPU or debugger writes
to this register.
CLA1EALLOW
ADDRESSPROTECTED
0x14281–CLA Program Counter
0x142A1–CLA Aux Register 0
0x142B1–CLA Aux Register 1
0x142E2–CLA STF Register
A 12-bit ADC core is implemented that has different timings than the 12-bit ADC used on F280x/F2833x.
The ADC wrapper is modified to incorporate the new timings and also other enhancements to improve the
timing control of start of conversions. Figure 6-12 shows the interaction of the analog module with the rest
of the F2806x system.
The core of the ADC contains a single 12-bit converter fed by two sample-and-hold circuits. The
sample-and-hold circuits can be sampled simultaneously or sequentially. These, in turn, are fed by a total
of up to 16 analog input channels. The converter can be configured to run with an internal bandgap
reference to create true-voltage based conversions or with a pair of external voltage references
(V
REFHI/VREFLO
Contrary to previous ADC types, this ADC is not sequencer-based. It is easy for the user to create a
series of conversions from a single trigger. However, the basic principle of operation is centered around
the configurations of individual conversions, called SOCs, or Start-Of-Conversions.
Functions of the ADC module include:
•12-bit ADC core with built-in dual sample-and-hold (S/H)
•Simultaneous sampling or sequential sampling modes
•Full range analog input: 0 V to 3.3 V fixed, or V
analog voltage is derived by:
– Internal Reference (V
external reference modes.)
) to create ratiometric-based conversions.
= V
REFLO
SSA
. V
REFHI/VREFLO
must not exceed V
REFHI
SPRS698A–NOVEMBER 2010–REVISED JANUARY 2011
ratiometric. The digital value of the input
when using either internal or
DDA
– External Reference (V
REFHI/VREFLO
connected to external references. V
REFHI
when using either internal or external reference modes.)
•Runs at full system clock, no prescaling required
•Up to 16-channel, multiplexed inputs
•16 SOCs, configurable for trigger, sample window, and channel
•16 result registers (individually addressable) to store conversion values
It is recommended that the connections for the analog power pins be kept, 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
•V
•V
•ADCINAn, ADCINBn, V
When the ADC module is used in an application, unused ADC input pins should be connected to analog
ground (V
NOTE: Unused ADCIN pins that are multiplexed with AIO function should not be directly connected to
analog ground. They should be grounded through a 1-kΩ resistor. This is to prevent an errant code from
configuring these pins as AIO outputs and driving grounded pins to a logic-high state.
When the ADC is not used, be sure that the clock to the ADC module is not turned on to realize power
savings.
Overall gain error with internal reference10LSB
Overall gain error with external reference10LSB
Channel-to-channel offset variation±4LSB
Channel-to-channel gain variation±4LSB
ADC temperature coefficient with internal reference–50ppm/°C
ADC temperature coefficient with external reference–20ppm/°C
ANALOG INPUT
Analog input voltage with internal reference03.3V
Analog input voltage with external referenceV
V
input voltage
REFLO
V
input voltage
REFHI
Input capacitance5pF
Input leakage current±2mA
(1) INL will degrade when the ADC input voltage goes above V
(2) 1 LSB has the weighted value of full-scale range (FSR)/4096. FSR is 3.3 V with internal reference and V
reference.
(3) Periodic self-recalibration will remove system-level and temperature dependencies on the ADC zero offset error.
(4) V
(5) V
is always connected to V
REFLO
must not exceed V
REFHI
PN/PFP device, the input signal on ADCINA0 must not exceed V
(1)
40-MHz clock (3 MSPS)±2LSB
Executing Device_Cal10LSB
function
Executing periodic10
self-recalibration
(4)
(5)
with V
REFLO
.
DDA
on the 80-pin PN/PFP device.
SSA
when using either internal or external reference modes. Since V
Bandgap On (ADCBGPWD = 1)
Reference On (ADCREFPWD = 1)
ADC Powered Up (ADCPWRDN = 1)
Mode B – Quick Wake ModeADC Clock Enabled4mA
Bandgap On (ADCBGPWD = 1)
Reference On (ADCREFPWD = 1)
ADC Powered Up (ADCPWRDN = 0)
Mode C – Comparator-Only ModeADC Clock Enabled1.5mA
Bandgap On (ADCBGPWD = 1)
Reference On (ADCREFPWD = 0)
ADC Powered Up (ADCPWRDN = 0)
Mode D – Off ModeADC Clock Enabled0.075mA
Bandgap On (ADCBGPWD = 0)
Reference On (ADCREFPWD = 0)
ADC Powered Up (ADCPWRDN = 0)
DDA
UNITS
6.10.1.3.1 Internal Temperature Sensor
Table 6-23. Temperature Sensor Coefficient
PARAMETER
T
SLOPE
T
OFFSET
(1) The temperature sensor slope and offset are given in terms of ADC LSBs using the internal reference of the ADC. Values must be
adjusted accordingly in external reference mode to the external reference voltage.
(2) ADC temperature coeffieicient is accounted for in this specification
(3) Output of the temperature sensor (in terms of LSBs) is sign-consistent with the direction of the temperature movement. Increasing
temperatures will give increasing ADC values relative to an initial value; decreasing temperatures will give decreasing ADC values
relative to an initial value.
Degrees C of temperature movement per measured ADC LSB change0.18
of the temperature sensor
ADC output at 0°C of the temperature sensor1750LSB
(1)
MINTYPMAXUNIT
(2)(3)
°C/LSB
6.10.1.3.2 ADC Power-Up Control Bit Timing
Table 6-24. ADC Power-Up Delays
PARAMETER
t
d(PWD)
(1) Timings maintain compatibility to the ADC module. The 2806x ADC supports driving all 3 bits at the same time t
conversion.
Delay time for the ADC to be stable after power up1ms
The ADC channel and Comparator functions are always available. The digital I/O function is available only
when the respective bit in the AIOMUX1 register is 0. In this mode, reading the AIODAT register reflects
the actual pin state.
The digital I/O function is disabled when the respective bit in the AIOMUX1 register is 1. In this mode,
reading the AIODAT register reflects the output latch of the AIODAT register and the input digital I/O buffer
is disabled to prevent analog signals from generating noise.
On reset, the digital function is disabled. If the pin is used as an analog input, users should keep the AIO
function disabled for that pin.
Integral nonlinearity refers to the deviation of each individual code from a line drawn from zero through full
scale. The point used as zero occurs one-half LSB before the first code transition. The full-scale point is
defined as level one-half LSB beyond the last code transition. The deviation is measured from the center
of each particular code to the true straight line between these two points.
Differential Nonlinearity
An ideal ADC exhibits code transitions that are exactly 1 LSB apart. DNL is the deviation from this ideal
value. A differential nonlinearity error of less than ±1 LSB ensures no missing codes.
Zero Offset
The major carry transition should occur when the analog input is at zero volts. Zero error is defined as the
deviation of the actual transition from that point.
Gain Error
The first code transition should occur at an analog value one-half LSB above negative full scale. The last
transition should occur at an analog value one and one-half LSB below the nominal full scale. Gain error is
the deviation of the actual difference between first and last code transitions and the ideal difference
between first and last code transitions.
www.ti.com
Signal-to-Noise Ratio + Distortion (SINAD)
SINAD is the ratio of the rms value of the measured input signal to the rms sum of all other spectral
components below the Nyquist frequency, including harmonics but excluding dc. The value for SINAD is
expressed in decibels.
Effective Number of Bits (ENOB)
For a sine wave, SINAD can be expressed in terms of the number of bits. Using the following
formula,it is possible to get a measure of performance expressed as N, the effective
number of bits. Thus, effective number of bits for a device for sine wave inputs at a given input frequency
can be calculated directly from its measured SINAD.
Total Harmonic Distortion (THD)
THD is the ratio of the rms sum of the first nine harmonic components to the rms value of the measured
input signal and is expressed as a percentage or in decibels.
Spurious Free Dynamic Range (SFDR)
SFDR is the difference in dB between the rms amplitude of the input signal and the peak spurious signal.
The device includes the four-pin serial peripheral interface (SPI) module. Up to two SPI modules 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 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.
SPRS698A–NOVEMBER 2010–REVISED JANUARY 2011
•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.
Delay time, SPICLK high to SPISIMO1010ns
valid (clock polarity = 0)
Delay time, SPICLK low to SPISIMO1010
valid (clock polarity = 1)
Valid time, SPISIMO data valid after0.5t
SPICLK low (clock polarity = 0)
Valid time, SPISIMO data valid after0.5t
SPICLK high (clock polarity = 1)
– 100.5t
c(SPC)M
– 100.5t
c(SPC)M
c(SPC)M
c(SPC)M
+ 0.5t
+ 0.5t
– 10ns
c(LCO)
– 10
c(LCO)
Setup time, SPISOMI before SPICLK3535ns
low (clock polarity = 0)
Setup time, SPISOMI before SPICLK3535
high (clock polarity = 1)
Valid time, SPISOMI data valid after0.25t
SPICLK low (clock polarity = 0)
Valid time, SPISOMI data valid after0.25t
SPICLK high (clock polarity = 1)
– 100.5t
c(SPC)M
– 100.5t
c(SPC)M
c(SPC)M
c(SPC)M
– 0.5t
– 0.5t
– 10ns
c(LCO)
– 10
c(LCO)
(1) The MASTER / SLAVE bit (SPICTL.2) is set and the CLOCK PHASE bit (SPICTL.3) is cleared.
(2) t
(3) t
(4) Internal clock prescalers must be adjusted such that the SPI clock speed is limited to the following SPI clock rate:
= SPI clock cycle time = LSPCLK/4 or LSPCLK/(SPIBRR +1)
(clock polarity = 1)
Setup time, SPISIMO data valid0.5t
before SPICLK high
c(SPC)M
c(SPC)M
c(SPC)M
c(SPC)M
c(SPC)M
c(LCO)
– 100.5t
– 100.5t
– 100.5t
– 100.5t
128t
c(LCO)
c(SPC)M
c(SPC)M
c(SPC)M
c(SPC)M
0.5t
0.5t
0.5t
0.5
c(SPC)M
c(SPC)M
c(SPC)M
tc(SPC)M
– 0.5t
– 0.5t
+ 0.5t
+ 0.5t
– 100.5t
5t
c(LCO)
– 100.5t
c (LCO)
– 100.5t
c (LCO)
– 100.5t
c(LCO)
– 100.5t
c(LCO)
– 10ns
c(SPC)M
c(SPC)M
c(SPC)M
c(SPC)M
c(SPC)M
127t
– 0.5t
– 0.5t
+ 0.5t
+ 0.5t
c(LCO)
c(LCO)
c(LCO
c(LCO)
c(LCO)
(clock polarity = 0)
t
su(SIMO-SPCL)M
Setup time, SPISIMO data valid0.5t
before SPICLK low
– 100.5t
c(SPC)M
c(SPC)M
– 10
(clock polarity = 1)
7t
10t
11t
v(SPCH-SIMO)M
t
v(SPCL-SIMO)M
su(SOMI-SPCH)M
t
su(SOMI-SPCL)M
v(SPCH-SOMI)M
t
v(SPCL-SOMI)M
Valid time, SPISIMO data valid after0.5t
SPICLK high (clock polarity = 0)
Valid time, SPISIMO data valid after0.5t
SPICLK low (clock polarity = 1)
– 100.5t
c(SPC)M
– 100.5t
c(SPC)M
– 10ns
c(SPC)M
– 10
c(SPC)M
Setup time, SPISOMI before3535ns
SPICLK high (clock polarity = 0)
Setup time, SPISOMI before3535
SPICLK low (clock polarity = 1)
Valid time, SPISOMI data valid after0.25t
SPICLK high (clock polarity = 0)
Valid time, SPISOMI data valid after0.25
SPICLK low (clock polarity = 1)
– 100.5t
c(SPC)M
– 100.5
tc(SPC)M
– 10ns
c(SPC)M
– 10
tc(SPC)M
(1) The MASTER/SLAVE bit (SPICTL.2) is set and the CLOCK PHASE bit (SPICTL.3) is set.
(2) t
(3) Internal clock prescalers must be adjusted such that the SPI clock speed is limited to the following SPI clock rate:
= SPI clock cycle time = LSPCLK/4 or LSPCLK/(SPIBRR + 1)
Delay time, SPICLK high to SPISOMI valid (clock polarity = 0)35ns
Delay time, SPICLK low to SPISOMI valid (clock polarity = 1)35
Valid time, SPISOMI data valid after SPICLK low (clock polarity = 0)0.75t
Valid time, SPISOMI data valid after SPICLK high (clock polarity = 1)0.75t
c(SPC)S
c(SPC)S
Setup time, SPISIMO before SPICLK low (clock polarity = 0)35ns
Setup time, SPISIMO before SPICLK high (clock polarity = 1)35
Valid time, SPISIMO data valid after SPICLK low (clock polarity = 0)0.5t
Valid time, SPISIMO data valid after SPICLK high (clock polarity = 1)0.5t
– 10ns
c(SPC)S
– 10
c(SPC)S
(1) The MASTER / SLAVE bit (SPICTL.2) is cleared and the CLOCK PHASE bit (SPICTL.3) is cleared.
(2) t
(3) Internal clock prescalers must be adjusted such that the SPI clock speed is limited to the following SPI clock rate:
= SPI clock cycle time = LSPCLK/4 or LSPCLK/(SPIBRR + 1)