User:Arches01/Sandbox

C2000 is a family of 32-bit microcontrollers from Texas Instruments. The C2000 devices are built for and primarily used in real-time control applications such as digital motor control, digital power, LED lighting, and power line communication. The C2000 family consists of several generations, most notably the Piccolo and Delfino series of devices. The key enabler of the family's success are the high-performance CPU core as well as the very configurable integrated PWM and ADC modules.

C2000 part numbers are named TMS320x2xxx.

Generations
The nomenclature for the C2000 family of devices is TMS320wxxxxx-yyy-z  w = Technology type - F (Flash) or C (ROM/RAM) xxxx = Device Number yyy = Package Type z = Temperature Specification In the part numbers below the TMS320 prefix and temperature designator are omitted for convenience. *The PWM generator modules on the F281x and LF24x are significantly different and less configurable than newer C2000 devices.

Piccolo microcontrollers
Piccolo microcontrollers are the low-cost line of C2000 microcontrollers. They provide several integrated features including an on-chip voltage regulator and on-chip resonator for device clocking.

Delfino microcontrollers
Delfino is the high performance series of C2000 microcontrollers. All devices are floating point and contain many integrated peripherals.

C2000 CPU

 * Harvard architecture (memory bus)
 * 32-bit

The CPU is a low-cost 32-bit fixed-point processor. This device draws from the best features of digital signal processing; reduced instruction set computing (RISC); and microcontroller architectures, firmware, and tool sets. The CPU features include a modified Harvard architecture and circular addressing. The RISC features are single-cycle instruction execution, register-to-register operations, and modified Harvard architecture (usable in Von Neumann mode). The microcontroller features include ease of use through an intuitive instruction set, byte packing and unpacking, and bit manipulation. The modified Harvard architecture of the CPU enables instruction and data fetches to be performed in parallel. The CPU can read instructions and data while it writes data simultaneously to maintain the single-cycle instruction operation across the pipeline. The CPU does this over six separate address/data buses.

The 2803x (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.

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 memory bus.)

The Delfino series of C2000 microcontrollers has the same 32-bit fixed-point architecture as TI's other C28x MCUs, but also includes a single-precision (32-bit) IEEE 754 floating-point unit (FPU).

Control Law Accelerator (CLA) is also found on many C2000 MCUs such as the F2803x series.

PWM

 * Type 1 PWM/HRPWM


 * Type 0 PWM/HRPWM

ADC and Comparators

 * Type 3 ADC


 * Type 1&2 ADC


 * Type 0 Comparator

Other Control Peripherals

 * CAP (Capture Module) - The capture module's primary function is to accurately measure the time between edges. Each CAP module can capture up to 4 rising or falling edges with either an absolute or difference-mode time-stamp reference.  This operation allows the CAP module to easily connect up to various sensors (such as Hall-effect sensors) or measure the duty cycle and period of an external signal.  The C2000's CAP module can alternatively be used as a PWM generator.
 * QEP (Quadrature Encoder Pulse Module) - The QEP is a module designed to interact with a linear or rotary incremental encoder to get position, direction, and speed information from a rotating machine for use in a motion and position-control systems.

Communication Peripherals
C2000 devices contain multiple peripherals that can be used to communicate with other parts of a system. Some of the protocols supported are: SPI - synchronous SCI (UART) I2C McBSP CAN LIN

Support
C2000 website

Texas Instruments C2000 Wiki - Contains a list of useful FAQs and more information

C2000 E2E Support Forum - Texas Instrument hosted support forum

IDE and Development Tools (IDE, Compiler, DSP/BIOS) Forums

controlSUITE installer - single source for C2000 example software

C2000 Tools Page

C2000 Training