6.3. C2000 Family
The C2000 family of digital signal processors (DSPs) is TI’s flagship platform for real-time industrial control applications.
6.3.1. Overview
C2000 devices feature:
High-performance DSP cores optimized for control algorithms
Integrated analog peripherals (ADCs, comparators)
PWM modules for motor control
Rich communication interfaces
These capabilities make C2000 ideal for predictive maintenance and real-time fault detection where ML inference runs alongside control loops.
6.3.2. Supported Devices
NPU-Enabled
Device |
Core |
Frequency |
Features |
|---|---|---|---|
F28P55 |
C28x + NPU |
150 MHz |
TINPU neural accelerator, ideal for complex models |
C28x Core Devices
Device |
Core |
Frequency |
Features |
|---|---|---|---|
F28P65 |
C28x |
150 MHz |
High-performance, no NPU |
F2837 |
Dual C28x |
200 MHz |
Dual-core, legacy support |
F28004 |
C28x |
100 MHz |
Mid-range, motor control |
F28003 |
C28x |
100 MHz |
Cost-optimized |
F280013 |
C28x |
100 MHz |
Entry-level |
F280015 |
C28x |
120 MHz |
Enhanced entry-level |
C29x Core Devices (64-bit)
Device |
Core |
Frequency |
Features |
|---|---|---|---|
F29H85 |
C29x |
300 MHz |
64-bit, high performance |
F29P58 |
C29x |
300 MHz |
64-bit, balanced |
F29P32 |
C29x |
300 MHz |
64-bit, cost-optimized |
6.3.3. F28P55 (Recommended)
The F28P55 is the recommended device for Tiny ML applications due to its integrated TINPU (Neural Processing Unit).
Key Specifications:
150 MHz C28x DSP core
TINPU neural accelerator
512 KB Flash
128 KB RAM
16-bit and 12-bit ADCs
Type-4 CLB (Configurable Logic Block)
NPU Capabilities:
8-bit and 4-bit quantized inference
Hardware-accelerated convolutions
Up to 25x faster than CPU inference
Support for models up to ~60k parameters
Configuration:
common:
target_device: 'F28P55'
training:
model_name: 'CLS_4k_NPU' # Use NPU-compatible models
compilation:
preset_name: 'compress_npu_layer_data'
6.3.4. F28P65
The F28P65 offers similar performance to F28P55 but without the NPU.
When to Use:
Existing F28P65 designs
Models that don’t fit NPU constraints
Projects not requiring fastest inference
Configuration:
common:
target_device: 'F28P65'
training:
model_name: 'CLS_4k' # Standard models (no _NPU suffix)
6.3.5. F2837
Legacy dual-core device for existing systems.
Features:
Dual C28x cores at 200 MHz
Large memory (1 MB Flash)
CLA (Control Law Accelerator)
Configuration:
common:
target_device: 'F2837'
6.3.6. C29x Family (F29H85, F29P58, F29P32)
The newest C2000 generation with 64-bit C29x cores.
Features:
64-bit native architecture
300 MHz operation
Enhanced floating-point performance
Backward compatibility with C28x code
Configuration:
common:
target_device: 'F29H85' # or F29P58, F29P32
6.3.7. Typical Applications
C2000 devices excel in these ML applications:
Motor Fault Detection
Bearing fault classification
Winding fault detection
Vibration anomaly detection
common:
task_type: 'generic_timeseries_classification'
target_device: 'F28P55'
dataset:
dataset_name: 'motor_fault_classification_dsk'
Arc Fault Detection
DC arc fault in solar/battery systems
AC arc fault in building wiring
common:
task_type: 'generic_timeseries_classification'
target_device: 'F28P55'
dataset:
dataset_name: 'dc_arc_fault_example_dsk'
Power Quality Monitoring
Harmonic analysis
Transient detection
Grid fault classification
6.3.8. Development Tools
Code Composer Studio (CCS)
TI’s official IDE for C2000 development:
Download from: https://www.ti.com/tool/CCSTUDIO
Version 12.x or later recommended
Install C2000 device support
C2000WARE SDK
Software development kit with:
Device drivers
Example projects
Documentation
controlSUITE
Legacy SDK (use C2000WARE for new projects)
6.3.9. Memory Considerations
C2000 devices have different memory architectures:
Device |
Flash |
RAM |
Max Model Size |
|---|---|---|---|
F28P55 |
512 KB |
128 KB |
~60k params (NPU) |
F28P65 |
512 KB |
128 KB |
~20k params (CPU) |
F2837 |
1 MB |
200 KB |
~30k params (CPU) |
Choose model sizes that fit within device constraints:
# F28P55 with NPU - can use larger models
training:
model_name: 'CLS_13k_NPU'
# F28004 - use smaller models
training:
model_name: 'CLS_1k'
6.3.10. Next Steps
Review NPU Guidelines for F28P55 model constraints
See CCS Integration Guide for device programming
Try Arc Fault Detection example on C2000