C2000 real-time control MCUs – Design & development
LaunchPad™ development kits
LaunchPad development kits are the lowest cost way to evaluate a C2000™ MCU. They include the C2000 MCU, isolated JTAG emulation, a standard pin-out to headers, as well as various additional connectors, LEDs, and buttons. LaunchPad development kits can be used completely standalone for device evaluation or they can be connected to application-specific BoosterPack™ plug-in modules. LaunchPad kits are often used in reference designs as a flexible way to demonstrate the needed control capability for the application.
controlCARDs are robust, modular plug-in cards with a standardized pin-out and include the C2000 MCU, common support circuitry, and often an isolated JTAG connector. Most signals are brought out to the card edge, allowing for more extensive device evaluation and use in multiple application evaluation boards. controlCARDs typically give access to a wider range of the microcontroller’s pins, when compared with the LaunchPad development kit.
Applications can be evaluated through BoosterPack modules paired with LaunchPad kits, controlCARDs paired with evaluation modules (EVMs), or in some cases EVMs with the MCU soldered directly to the board. Some application kits are aimed at experimentation and concept education, while others provide more real-world power levels similar to the end application. All application kits contain software examples, extensive user’s guides, and a hardware development package to enable rapid customization for your product.
C2000Ware is a cohesive set of development tools for C2000 real-time controllers. It includes device-specific drivers, bit-fields, libraries (math, DSP, Control, Signal Generation), peripheral examples, utilities, hardware files, and documentation. Application specific software and hardware files are delivered through additional Software Development Kits (SDK).
C2000 software framework
The programming model for C2000 MCUs offers flexibility with various layers of abstraction. While C is the prevalent language, software methods are provided that allow for assembly instructions with direct access to the registers, a #define header file system with easy to interpret bit-fields, or a classical API driver.
Registers and addresses
- Baseline assembly communication to all hardware registers and addresses
- Can be manipulated without masking
- Flexibility to access a register as a whole or by bits
- Advanced Code Composer Studio™ IDE features for ease-of-use
- C functions that automatically set register bit fields
- Reduces learning curve for new embedded programmers
- Common tasks and peripheral modes supported
- State Machine / ISR Based OS
- Function-based device initialization
- Built-in task management
Historically controlSUITE has been a repository for device support, as well as for application software and hardware. As more libraries and examples were created, special application-specific packages were developed (DesignDRIVE, MotorWare). With the release of C2000Ware, application-specific packages will now be released as C2000Ware Software Development Kits (SDKs) using C2000Ware as a common device-level software infrastructure.
DigitalPower SDK for C2000 MCUs is a cohesive set of software infrastructure, tools, and documentation designed to minimize the design time of C2000 MCU-based digital power system development for various AC-DC, DC-DC and DC-AC power supply applications.
MotorControl SDK for C2000™ microcontrollers (MCU) is a cohesive set of software infrastructure, tools, and documentation targeted for various three-phase motor control applications. Includes latest DesignDRIVE and InstaSPIN-FOC solutions.
The DesignDRIVE platform combines software solutions with development kits to make it easy to develop and evaluate solutions for many industrial drives and servo topologies. (included in controlSUITE and MotorControl SDK)
Third party software stacks
|CAN||ssCAN is a real-time CAN device driver with sub-microsecond interrupt||Simma Software|
|CANopen||ssCANopen is a high-performance hard real-time CANopen protocol stack supporting a data throughput of 15 Mbps. This product is optimized specifically for the C28x based microcontrollers which include C2000 real-time control microcontrollers.|
|SAE J1939||ssJ1939 is an extreme performance SAE J1939 protocol stack supporting a data throughput of 20 Mbps. This product is optimized specifically for the C28x based microcontrollers which include C2000 real-time control microcontrollers.|
|ISO 15765||ssI15765 is an extreme performance ISO 15765 protocol stack supporting a data throughput of 20 Mbps. This product is optimized specifically for the C28x based microcontrollers which include C2000 real-time control microcontrollers.|
|NMEA 2000||ssNMEA2000 is an extreme performance NMEA 2000 protocol stack supporting a data throughput of 20 Mbps. This product is optimized specifically for the C28x based microcontrollers which include C2000 real-time control microcontrollers.|
|ssl14229||ssI14229 is an ISO 14229 protocol stack supporting Unified Diagnostic Services (UDS) such as in-field programmability. This product is optimized specifically for the C28x based microcontrollers. ISO 14229 is used for automotive electronics.|
|ssBL||ssBL is a flash bootloader used for in-field programming of ECUs. ssBL can be extended to support proprietary requirements such as AES 256 encryption. Interfaces include CAN, J1939, CANopen, UDS, Bluetooth, USB, and RS-232.|
|TCP/IP||Ethernet daughter cards and optimized TCP/IP Network Protocol Stacks||D.SignT|
The C2000 software applications above work together with IDE, compilers and RTOS as well as third party code development tools in order to provide a full development solution for real-time control applications.
Code Composer Studio IDE
TI’s integrated software development environment
- Includes a debugger, compiler, editor, and more
Based on the Eclipse open source software framework
- Extended by TI to support device capabilities
Added functionality with key development tools
- OS application development tools (TI-RTOS, Linux, Android)
- Code analysis, source control, controlSUITE integration
All C2000 devices include a real-time debugging feature which is better than traditional debugging for the following reasons.
- Real-time, non-intrusive, continuous
- Does not require the use of target memory, special interrupts, or SW intrusiveness
- Allows time critical interrupts to be marked for special treatment (high priority)
- Allows time-critical interrupts to be serviced while background program execution is suspended
For enhanced debug and system analysis, the latest C2000 MCU series include Embedded Real-Time Analysis And Diagnostic Unit (ERAD).
Third-party code development tools
There are several companies who produce C2000 MCU customized interface, simulation (controller, plant, hardware, processor-in-the-loop), and code-generation toolsets for visual / block diagram / model-based design. These products can enable rapid control system prototyping, system modeling and can be used for debug / test / conformance and speed time to production.
MathWorks® with Embedded Coder®
Embedded Coder provides engineers using Model-Based Design with fine grain control of software interfaces, execution performance optimizations, and RAM/ROM memory consumption options.
Lets users easily create graphical block diagrams that will simulate and generate efficient fixed and floating point C code for C2000 MCUs. Layered on top of Code Composer Studio IDE.
Powersim - Simulation and Embedded Code Generation
Supports the full dev. cycle of digital power converter and motor drive projects, from simulation to embedded code generation. PSIM offers a complete sensorless motor drive solution for C2000 MCUs.
Programmers and debuggers
JTAG debug probes (emulators) allow you to program the memories and communicate with the C2000 Real-time MCU during development. While almost all C2000 Tools include JTAG emulation on the controlCARD, LaunchPad, baseboard, or application board, once you build your own board you will need external debug probe. These debug probes are offered at different price points and include different features, comparative performance, and CCS IDE compatibility.
|XDS110||Preferred low-cost debug-probe. Performance is roughly equivalent to the XDS100V2. Supported only by CCS version 7 and greater.|
|XDS100V2||Low-cost debug-probe, specifically recommended for older device series or older versions of CCS. The design is open and may be copied to create your own debug-probe.|
|XDS200||Preferred mid-class external debug probe for C2000 users. Supports new 2-pin cJTAG mode for use with Piccolo F28004x series.|
|XDS510USB||Mid-class debug-probe for C2000, but replaced by the XDS200, so no longer recommended. Does not support CLA Type 2.|
|XDS560||Preferred advanced debug-probe with increased performance over XDS200.|
|Isolation adapters||Provides electrical isolation to any debug probe.|
|Flash FAQ||C2000 Flash Programming Frequently Asked Questions||Texas Instruments|
|SPRABV4||C2000 Serial Flash Programming Application Note||Texas Instruments|
|CCS On-Chip Flash programmer||CCS has an inbuilt On-chip Flash programmer GUI to program the flash memory on TI MCUs during development.||Texas Instruments|
|UniFlash||Uniflash is a standalone tool used to program flash memory on TI MCUs. Uniflash has a GUI, command line, and scripting interface. Code Composer Studio IDE Uniflash is available free of charge. SM motor with a built in encoder used with TMDSHVMTRPFCKIT and TMDXIDDK379D.||Texas Instruments|
|C2000-GANG||Multi-device programmer that programs up to 8 C2000 real-time control devices at a time. The C2000 real-time control gang programmer connects to a host PC using a standard RS-232 or USB connection and provides flexible programming options that allow the user to fully customize the process. C2000-GANG can be used in standalone mode as well.||Elprotronic|
|FlashPro 2000||FlashPro2000 is an automated USB Flash procution Programmer for Texas Instruments C2000 real-time control series MCUs. FlashPro2000 allows serialization - Connect up to 64 programmers to one PC and control simulataneous programming from one software.||Elprotronic|
|C2Prog||C2Prog is a secure, scriptable, industrial grade flash programming tool for TI performance MCUs. In addition to supporting the JTAG interface, C2Prog also permits re-flashing over RS-232, RS-485, TCP/IP, USB and CAN (Controller Area Network). Firmware images can be encrypted and password protected. The programmer is, therefore, well suited for deployment in the field, especially when IP protection is important.||codeskin|
|BP Microsystems Programming||BPM Microsystems provides a complete ecosystem of manual and automated universal programming solutions:Low cost single socket manual programmers for first article and engineeringMulti-socket manual programmers support low to medium volume productionFlexible Automated Programming Systems to support medium to high volume production.||BP Microsystems|
|Data I/O Programming||Data I/O provides complete device programming solutions to customers worldwide. The company offers a full line of single site device programmers & universal, and multi-site concurrent programming systems.||Data I/O|
|Starprog-U||StarProg-U is a palm-sized universal programmer which supports a variety of integrated circuits. StarProg-U provides command line interface for user software development.||Dediprog Technology|
|TMDSADAP180TO100||Adapter card to allow HSEC180 controlCARDs to plug-into DIMM100 baseboards|
|TMDSDIM100CON5PK||Package of 5 DIM100 (called DIMM 100 by DigiKey and Mouser) connectors for use with any C2000 real-time controlCARD tools. Molex part number 87630-1001 or equivalent|
|TMDSHSECDOCK||Baseboard that provides header pin access to key signals on compatible HSEC180-based controlCARDs|
|HVPMSMMTR||High voltage 3-ph PMSM motor with a built in encoder used with TMDSHVMTRPFCKIT and TMDXIDDK379D|
|HVBLDCMTR||High voltage 3-ph BLDC motor with built in hall sensors used with TMDSHVMTRPFCKIT|
|LVACIMTR||Low voltage 3-ph ACI motor typically used with low voltage InstaSPIN-FOC enabled kits|
|LVBLDCMTR||Low voltage 3-ph BLDC (sinusoidal) motor typically used with low voltage InstaSPIN-FOC enabled kits|
|LVSERVOMTR||Low voltage 3-ph PMSM motor with built in encoder and hall sensors typically used with low voltage InstaSPIN-FOC enabled kits|
|2MTR-DYNO||Two LVSERVOMTR, shaft couplings, and mounting block for motor under test and motor under load evaluation|