SPRUJD3A
July 2025 – October 2025
F28E120SB
,
F28E120SC
1
Read This First
About This Manual
Notational Conventions
Glossary
Related Documentation From Texas Instruments
Support Resources
Trademarks
1
C2000â„¢ Microcontrollers Software Support
1.1
Introduction
1.2
C2000Ware Structure
1.3
Documentation
1.4
Devices
1.5
Libraries
1.6
Code Composer Studioâ„¢ Integrated Development Environment (IDE)
1.7
SysConfig and PinMUX Tool
2
C28x Processor
2.1
Introduction
2.2
C28X Related Collateral
2.3
Features
2.4
Floating-Point Unit (FPU)
3
System Control and Interrupts
3.1
Introduction
3.1.1
SYSCTL Related Collateral
3.1.2
LOCK Protection on System Configuration Registers
3.1.3
EALLOW Protection
3.2
Power Management
3.3
Device Identification and Configuration Registers
3.4
Resets
3.4.1
Reset Sources
3.4.2
External Reset (XRS)
3.4.3
Power-On Reset (POR)
3.4.4
Brown-Out-Reset (BOR)
3.4.5
Watchdog Reset (WDRS)
3.4.6
NMI Watchdog Reset (NMIWDRS)
3.4.7
Debugger Reset (SYSRS)
3.4.8
DCSM Safe Code Copy Reset (SCCRESET)
3.4.9
Simulate External Reset (SIMRESET.XRS)
3.4.10
Simulate CPU Reset (SIMRESET_CPU1RS)
3.5
Peripheral Interrupts
3.5.1
Interrupt Concepts
3.5.2
Interrupt Architecture
3.5.2.1
Peripheral Stage
3.5.2.2
PIE Stage
3.5.2.3
CPU Stage
3.5.3
Interrupt Entry Sequence
3.5.4
Configuring and Using Interrupts
3.5.4.1
Enabling Interrupts
3.5.4.2
Handling Interrupts
3.5.4.3
Disabling Interrupts
3.5.4.4
Nesting Interrupts
3.5.4.5
Vector Address Validity Check
3.5.5
PIE Channel Mapping
3.5.6
PIE Interrupt Priority
3.5.6.1
Channel Priority
3.5.6.2
Group Priority
3.5.7
System Error
3.5.8
Vector Tables
3.6
Exceptions and Non-Maskable Interrupts
3.6.1
Configuring and Using NMIs
3.6.2
Emulation Considerations
3.6.3
NMI Sources
3.6.3.1
Missing Clock Detection Logic
3.6.3.2
Flash Uncorrectable ECC Error
3.6.3.3
Software-Forced Error
3.6.4
Illegal Instruction Trap (ITRAP)
3.6.5
ERRORSTS Pin
3.7
Clocking
3.7.1
Clock Sources
3.7.1.1
Primary Internal Oscillator (SYSOSC)
3.7.1.2
Backup Wide-Range Oscillator (WROSC)
3.7.1.3
External Oscillator (XTAL)
3.7.2
Derived Clocks
3.7.2.1
Oscillator Clock (OSCCLK)
3.7.2.2
System PLL Output Clock (PLLRAWCLK)
3.7.3
Device Clock Domains
3.7.3.1
System Clock (PLLSYSCLK)
3.7.3.2
CPU Clock (CPUCLK)
3.7.3.3
CPU Subsystem Clock (SYSCLK)
3.7.3.4
Low-Speed Peripheral Clock (LSPCLK and PERx.LSPCLK)
3.7.3.5
CPU Timer2 Clock (TIMER2CLK)
3.7.4
XCLKOUT
3.7.5
Clock Connectivity
3.7.6
Clock Source and PLL Setup
3.7.7
Using an External Crystal or Resonator
3.7.8
Using an External Oscillator
3.7.9
Choosing PLL Settings
3.7.10
System Clock Setup
3.7.11
SYS PLL Bypass
3.7.12
Clock (OSCCLK) Failure Detection
3.7.12.1
Missing Clock Detection
3.8
32-Bit CPU Timers 0/1/2
3.9
Watchdog Timer
3.9.1
Servicing the Watchdog Timer
3.9.2
Minimum Window Check
3.9.3
Watchdog Reset or Watchdog Interrupt Mode
3.9.4
Watchdog Operation in Low Power-Modes
3.9.5
Emulation Considerations
3.10
Low-Power Modes
3.10.1
Clock-Gating Low-Power Modes
3.10.2
IDLE
3.10.3
STANDBY
3.10.4
HALT
3.11
Memory Controller Module
3.11.1
Dedicated RAM (Mx RAM)
3.11.2
Global Shared RAM (GSx RAM)
3.11.3
Access Arbitration
3.11.4
Memory Error Detection, Correction, and Error Handling
3.11.4.1
Error Detection and Correction
3.11.4.2
Error Handling
3.11.5
Application Test Hooks for Error Detection and Correction
3.11.6
RAM Initialization
3.12
JTAG
3.12.1
JTAG Noise and TAP_STATUS
3.13
System Control Register Configuration Restrictions
3.14
Software
3.14.1
SYSCTL Examples
3.14.1.1
Missing clock detection (MCD)
3.14.1.2
XCLKOUT (External Clock Output) Configuration
3.15
SYSCTRL Registers
3.15.1
SYSCTRL Base Address Table
3.15.2
CPUTIMER_REGS Registers
3.15.3
PIE_CTRL_REGS Registers
3.15.4
WD_REGS Registers
3.15.5
NMI_INTRUPT_REGS Registers
3.15.6
XINT_REGS Registers
3.15.7
SYNC_SOC_REGS Registers
3.15.8
DMA_CLA_SRC_SEL_REGS Registers
3.15.9
DEV_CFG_REGS Registers
3.15.10
CLK_CFG_REGS Registers
3.15.11
CPU_SYS_REGS Registers
3.15.12
SYS_STATUS_REGS Registers
3.15.13
MEM_CFG_REGS Registers
3.15.14
MEMORY_ERROR_REGS Registers
3.15.15
ROM_WAIT_STATE_REGS Registers
3.15.16
TEST_ERROR_REGS Registers
3.15.17
UID_REGS Registers
4
ROM Code and Peripheral Booting
4.1
Introduction
4.1.1
ROM Related Collateral
4.2
Device Boot Sequence
4.3
Device Boot Modes
4.3.1
Default Boot Modes
4.3.2
Custom Boot Modes
4.4
Device Boot Configurations
4.4.1
Configuring Boot Mode Pins
4.4.2
Configuring Boot Mode Table Options
4.4.3
Boot Mode Example Use Cases
4.4.3.1
Zero Boot Mode Select Pins
4.4.3.2
One Boot Mode Select Pin
4.4.3.3
Three Boot Mode Select Pins
4.5
Device Boot Flow Diagrams
4.5.1
Boot Flow
4.5.2
Emulation Boot Flow
4.5.3
Standalone Boot Flow
4.6
Device Reset and Exception Handling
4.6.1
Reset Causes and Handling
4.6.2
Exceptions and Interrupts Handling
4.7
Boot ROM Description
4.7.1
Boot ROM Configuration Registers
4.7.1.1
GPREG2 Usage and Configuration
4.7.2
Entry Points
4.7.3
Wait Points
4.7.4
Secure Flash Boot
4.7.4.1
Secure Flash CPU1 Linker File Example
4.7.5
Memory Maps
4.7.5.1
Boot ROM Memory Maps
4.7.5.2
Reserved RAM Memory Maps
4.7.6
ROM Tables
4.7.7
Boot Modes and Loaders
4.7.7.1
Boot Modes
4.7.7.1.1
Flash Boot
4.7.7.1.2
RAM Boot
4.7.7.1.3
Wait Boot
4.7.7.2
Bootloaders
4.7.7.2.1
SCI Boot Mode
4.7.7.2.2
SPI Boot Mode
4.7.7.2.3
I2C Boot Mode
4.7.7.2.4
Parallel Boot Mode
4.7.8
GPIO Assignments
4.7.9
Secure ROM Function APIs
4.7.10
Clock Initializations
4.7.11
Boot Status Information
4.7.11.1
Booting Status
4.7.12
ROM Version
4.8
Application Notes for Using the Bootloaders
4.8.1
Bootloader Data Stream Structure
4.8.1.1
Data Stream Structure 8-bit
4.8.2
The C2000 Hex Utility
4.8.2.1
HEX2000.exe Command Syntax
4.9
Software
4.9.1
BOOT Examples
5
Dual Code Security Module (DCSM)
5.1
Introduction
5.1.1
DCSM Related Collateral
5.2
Functional Description
5.2.1
CSM Passwords
5.2.2
Emulation Code Security Logic (ECSL)
5.2.3
CPU Secure Logic
5.2.4
Execute-Only Protection
5.2.5
Password Lock
5.2.6
JTAGLOCK
5.2.7
Link Pointer and Zone Select
5.2.8
C Code Example to Get Zone Select Block Addr for Zone1
5.3
Flash and OTP Erase/Program
5.4
Secure Copy Code
5.5
SecureCRC
5.6
CSM Impact on Other On-Chip Resources
5.6.1
RAMOPEN
5.7
Incorporating Code Security in User Applications
5.7.1
Environments That Require Security Unlocking
5.7.2
CSM Password Match Flow
5.7.3
C Code Example to Unsecure C28x Zone1
5.7.4
C Code Example to Resecure C28x Zone1
5.7.5
Environments That Require ECSL Unlocking
5.7.6
ECSL Password Match Flow
5.7.7
ECSL Disable Considerations for any Zone
5.7.7.1
C Code Example to Disable ECSL for C28x Zone1
5.7.8
Device Unique ID
5.8
Software
5.8.1
DCSM Examples
5.8.1.1
Empty DCSM Tool Example
5.9
DCSM Registers
5.9.1
DCSM Base Address Table
5.9.2
DCSM_Z1_REGS Registers
5.9.3
DCSM_Z2_REGS Registers
5.9.4
DCSM_COMMON_REGS Registers
5.9.5
DCSM_Z1_OTP Registers
5.9.6
DCSM_Z2_OTP Registers
6
Flash Module
6.1
Introduction to Flash and OTP Memory
6.1.1
FLASH Related Collateral
6.1.2
Features
6.1.3
Flash Tools
6.1.4
Default Flash Configuration
6.2
Flash Bank, OTP, and Pump
6.3
Flash Wrapper
6.4
Flash and OTP Memory Performance
6.5
Flash Read Interface
6.5.1
C28x-Flash Read Interface
6.5.1.1
Standard Read Mode
6.5.1.2
Prefetch Mode
6.5.1.3
Data Cache
6.5.1.4
Flash Read Operation
6.6
Flash Erase and Program
6.6.1
Erase
6.6.2
Program
6.6.3
Verify
6.7
Error Correction Code (ECC) Protection
6.7.1
Single-Bit Data Error
6.7.2
Uncorrectable Error
6.7.3
ECC Logic Self Test
6.8
Reserved Locations Within Flash and OTP
6.9
Migrating an Application from RAM to Flash
6.10
Procedure to Change the Flash Control Registers
6.11
Software
6.11.1
FLASH Examples
6.11.1.1
Flash Programming with AutoECC, DataAndECC, DataOnly and EccOnly
6.12
FLASH Registers
6.12.1
FLASH Base Address Table
6.12.2
FLASH_CTRL_REGS Registers
6.12.3
FLASH_ECC_REGS Registers
7
Dual-Clock Comparator (DCC)
7.1
Introduction
7.1.1
Features
7.1.2
Block Diagram
7.2
Module Operation
7.2.1
Configuring DCC Counters
7.2.2
Single-Shot Measurement Mode
7.2.3
Continuous Monitoring Mode
7.2.4
Error Conditions
7.3
Interrupts
7.4
Software
7.4.1
DCC Examples
7.4.1.1
DCC Single shot Clock verification
7.4.1.2
DCC Single shot Clock measurement
7.4.1.3
DCC Continuous clock monitoring
7.4.1.4
DCC Continuous clock monitoring
7.4.1.5
DCC Detection of clock failure
7.5
DCC Registers
7.5.1
DCC Base Address Table
7.5.2
DCC_REGS Registers
8
General-Purpose Input/Output (GPIO)
8.1
Introduction
8.1.1
GPIO Related Collateral
8.2
Configuration Overview
8.3
Digital Inputs on ADC Pins (AIOs)
8.4
Digital Inputs and Outputs on ADC Pins (AGPIOs)
8.5
Digital General-Purpose I/O Control
8.6
Input Qualification
8.6.1
No Synchronization (Asynchronous Input)
8.6.2
Synchronization to SYSCLKOUT Only
8.6.3
Qualification Using a Sampling Window
8.7
GPIO and Peripheral Muxing
8.7.1
GPIO Muxing
8.7.2
Peripheral Muxing
8.8
Internal Pullup Configuration Requirements
8.9
Open-Drain Configuration Requirements
8.10
Software
8.10.1
GPIO Examples
8.10.1.1
Device GPIO Setup
8.10.1.2
Device GPIO Toggle
8.10.1.3
Device GPIO Interrupt
8.10.1.4
External Interrupt (XINT)
8.10.2
LED Examples
8.11
GPIO Registers
8.11.1
GPIO Base Address Table
8.11.2
GPIO_CTRL_REGS Registers
8.11.3
GPIO_DATA_REGS Registers
8.11.4
GPIO_DATA_READ_REGS Registers
9
Crossbar (X-BAR)
9.1
Input X-BAR
9.2
MCPWM and GPIO Output X-BAR
9.2.1
MCPWM X-BAR
9.2.1.1
MCPWM X-BAR Architecture
9.2.2
GPIO Output X-BAR
9.2.2.1
GPIO Output X-BAR Architecture
9.2.3
X-BAR Flags
9.3
XBAR Registers
9.3.1
XBAR Base Address Table
9.3.2
INPUT_XBAR_REGS Registers
9.3.3
XBAR_REGS Registers
9.3.4
PWM_XBAR_REGS Registers
9.3.5
OUTPUT_XBAR_REGS Registers
10
Direct Memory Access (DMA)
10.1
Introduction
10.1.1
Features
10.1.2
Block Diagram
10.2
Architecture
10.2.1
Peripheral Interrupt Event Trigger Sources
10.2.2
DMA Bus
10.3
Address Pointer and Transfer Control
10.4
Pipeline Timing and Throughput
10.5
Channel Priority
10.5.1
Round-Robin Mode
10.5.2
Channel 1 High-Priority Mode
10.6
Overrun Detection Feature
10.7
Software
10.7.1
DMA Examples
10.7.1.1
DMA GSRAM Transfer (dma_ex1_gsram_transfer)
10.7.1.2
DMA GSRAM Transfer (dma_ex2_gsram_transfer)
10.8
DMA Registers
10.8.1
DMA Base Address Table
10.8.2
DMA_REGS Registers
10.8.3
DMA_CH_REGS Registers
11
Analog Subsystem
11.1
Introduction
11.1.1
Features
11.1.2
Block Diagram
11.2
Digital Inputs on ADC Pins (AIOs)
11.3
Digital Inputs and Outputs on ADC Pins (AGPIOs)
11.4
Analog Pins and Internal Connections
11.5
ASBSYS Registers
11.5.1
ASBSYS Base Address Table
11.5.2
ANALOG_SUBSYS_REGS Registers
12
Analog-to-Digital Converter (ADC)
12.1
Introduction
12.1.1
Features
12.1.2
ADC Related Collateral
12.1.3
Block Diagram
12.2
ADC Configurability
12.2.1
ADC Clock Configuration
12.2.2
Resolution
12.2.3
Voltage Reference
12.2.3.1
External Reference Mode
12.2.3.2
Internal Reference Mode
12.2.3.3
Selecting Reference Mode
12.2.4
Signal Mode
12.2.4.1
Expected Conversion Results
12.2.4.2
Interpreting Conversion Results
12.3
SOC Principle of Operation
12.3.1
SOC Configuration
12.3.2
Trigger Operation
12.3.2.1
Trigger Repeaters
12.3.2.1.1
Oversampling Mode
12.3.2.1.2
Re-trigger Spread
12.3.2.1.3
Trigger Repeater Configuration
12.3.2.1.3.1
Register Shadow Updates
12.3.2.1.4
Re-Trigger Logic
12.3.2.1.5
Multi-Path Triggering Behavior
12.3.3
ADC Acquisition (Sample and Hold) Window
12.3.4
Sample Capacitor Reset
12.3.5
ADC Input Models
12.3.6
Channel Selection
12.4
SOC Configuration Examples
12.4.1
Single Conversion from MCPWM Trigger
12.4.2
Multiple Conversions from CPU Timer Trigger
12.4.3
Software Triggering of SOCs
12.5
ADC Conversion Priority
12.6
EOC and Interrupt Operation
12.6.1
Interrupt Overflow
12.6.2
Continue to Interrupt Mode
12.6.3
Early Interrupt Configuration Mode
12.7
Post-Processing Blocks
12.7.1
PPB Offset Correction
12.7.2
PPB Error Calculation
12.7.3
PPB Limit Detection and Zero-Crossing Detection
12.8
Opens/Shorts Detection Circuit (OSDETECT)
12.8.1
Open Short Detection Implementation
12.8.2
Detecting an Open Input Pin
12.8.3
Detecting a Shorted Input Pin
12.9
Power-Up Sequence
12.10
ADC Calibration
12.10.1
ADC Zero Offset Calibration
12.11
ADC Timings
12.11.1
ADC Timing Diagrams
12.11.2
Post-Processing Block Timings
12.12
Additional Information
12.12.1
Choosing an Acquisition Window Duration
12.12.2
Result Register Mapping
12.12.3
Internal Temperature Sensor
12.12.4
Designing an External Reference Circuit
12.12.5
ADC-DAC Loopback Testing
12.12.6
Internal Test Mode
12.13
Software
12.13.1
ADC Examples
12.13.1.1
ADC Software Triggering
12.13.1.2
ADC MCPWM Triggering
12.13.1.3
ADC Temperature Sensor Conversion
12.13.1.4
ADC Continuous Conversions Read by DMA (adc_soc_continuous_dma)
12.13.1.5
ADC PPB Offset (adc_ppb_offset)
12.13.1.6
ADC PPB Limits (adc_ppb_limits)
12.13.1.7
ADC SOC Oversampling
12.13.1.8
ADC Trigger Repeater Oversampling
12.14
ADC Registers
12.14.1
ADC Base Address Table
12.14.2
ADC_LITE_RESULT_REGS Registers
12.14.3
ADC_LITE_REGS Registers
13
Comparator Subsystem (CMPSS)
13.1
Introduction
13.1.1
Features
13.1.2
CMPSS Related Collateral
13.1.3
Block Diagram
13.2
Comparator
13.3
Reference DAC
13.4
Digital Filter
13.4.1
Filter Initialization Sequence
13.5
Using the CMPSS
13.5.1
LATCHCLR, and MCPWMSYNCPER Signals
13.5.2
Synchronizer, Digital Filter, and Latch Delays
13.5.3
Calibrating the CMPSS
13.5.4
Enabling and Disabling the CMPSS Clock
13.6
CMPSS DAC Output
13.7
Software
13.7.1
CMPSS Examples
13.7.2
CMPSS_LITE Examples
13.7.2.1
CMPSSLITE Asynchronous Trip
13.8
CMPSS Registers
13.8.1
CMPSS Base Address Table
13.8.2
CMPSS_LITE_REGS Registers
14
Programmable Gain Amplifier (PGA)
14.1
Programmable Gain Amplifier (PGA) Overview
14.1.1
Features
14.1.2
Block Diagram
14.2
Linear Output Range
14.3
Gain Values
14.4
Modes of Operation
14.4.1
Buffer Mode
14.4.2
Standalone Mode
14.4.3
Non-inverting Mode
14.4.4
Subtractor Mode
14.5
External Filtering
14.5.1
Low-Pass Filter Using Internal Filter Resistor and External Capacitor
14.5.2
Single Pole Low-Pass Filter Using Internal Gain Resistor and External Capacitor
14.6
Error Calibration
14.6.1
Offset Error
14.6.2
Gain Error
14.7
Chopping Feature
14.8
Enabling and Disabling the PGA Clock
14.9
Lock Register
14.10
Analog Front-End Integration
14.10.1
Analog-to-Digital Converter (ADC)
14.10.1.1
Unfiltered Acquisition Window
14.10.1.2
Filtered Acquisition Window
14.10.2
Comparator Subsystem (CMPSS)
14.10.3
Alternate Functions
14.11
Examples
14.11.1
Non-Inverting Amplifier Using Non-Inverting Mode
14.11.2
Buffer Mode
14.11.3
Low-Side Current Sensing
14.11.4
Bidirectional Current Sensing
14.12
Software
14.12.1
PGA Examples
14.12.1.1
PGA CMPSSDAC-ADC External Loopback Example
14.13
PGA Registers
14.13.1
PGA Base Address Table
14.13.2
PGA_REGS Registers
15
Multi-Channel Pulse Width Modulator (MCPWM)
15.1
Introduction
15.1.1
PWM Related Collateral
15.1.2
Submodule Overview
15.2
Configuring Device Pins
15.3
MCPWM Modules Overview
15.4
Time-Base (TB) Submodule
15.4.1
Purpose of the Time-Base Submodule
15.4.2
Controlling and Monitoring the Time-Base Submodule
15.4.3
Calculating PWM Period and Frequency
15.4.3.1
Time-Base Period Shadow Register
15.4.3.2
Time-Base Clock Synchronization
15.4.3.3
Time-Base Counter Synchronization
15.4.3.4
MCPWM SYNC Selection
15.4.4
Phase Locking the Time-Base Clocks of Multiple MCPWM Modules
15.4.5
Time-Base Counter Modes and Timing Waveforms
15.4.6
Global Load
15.4.6.1
One-Shot Load Mode
15.5
Counter-Compare (CC) Submodule
15.5.1
Purpose of the Counter-Compare Submodule
15.5.2
Controlling and Monitoring the Counter-Compare Submodule
15.5.3
Operational Highlights for the Counter-Compare Submodule
15.5.4
Count Mode Timing Waveforms
15.6
Action-Qualifier (AQ) Submodule
15.6.1
Purpose of the Action-Qualifier Submodule
15.6.2
Action-Qualifier Submodule Control and Status Register Definitions
15.6.3
Action-Qualifier Event Priority
15.6.4
AQCTLA and AQCTLB Shadow Mode Operations
15.6.5
Configuration Requirements for Common Waveforms
15.7
Dead-Band Generator (DB) Submodule
15.7.1
Purpose of the Dead-Band Submodule
15.7.2
Dead-Band Submodule Additional Operating Modes
15.7.3
Operational Highlights for the Dead-Band Submodule
15.8
Trip-Zone (TZ) Submodule
15.8.1
Purpose of the Trip-Zone Submodule
15.8.2
Operational Highlights for the Trip-Zone Submodule
15.8.2.1
Trip-Zone Configurations
15.8.3
Generating Trip Event Interrupts
15.9
Event-Trigger (ET) Submodule
15.9.1
Operational Overview of the MCPWM Event-Trigger Submodule
15.10
PWM Crossbar (X-BAR)
15.11
Software
15.11.1
MCPWM Examples
15.11.1.1
MCPWM Basic PWM Generation and Updates
15.11.1.2
MCPWM Basic PWM Generation and Updates
15.11.1.3
MCPWM Basic PWM generation With DeadBand
15.11.1.4
MCPWM Basic PWM Generation and Updates without Sysconfig
15.11.1.5
MCPWM PWM Tripzone Feature Showcase
15.11.1.6
MCPWM Global Load Feature Showcase
15.11.1.7
MCPWM DMA Configuration for Dynamic PWM Control
15.12
MCPWM Registers
15.12.1
MCPWM Base Address Table
15.12.2
MCPWM_6CH_REGS Registers
15.12.3
MCPWM_2CH_REGS Registers
16
Enhanced Capture (eCAP)
16.1
Introduction
16.1.1
Features
16.1.2
ECAP Related Collateral
16.2
Description
16.3
Configuring Device Pins for the eCAP
16.4
Capture and APWM Operating Mode
16.5
Capture Mode Description
16.5.1
Event Prescaler
16.5.2
Edge Polarity Select and Qualifier
16.5.3
Continuous/One-Shot Control
16.5.4
32-Bit Counter and Phase Control
16.5.5
CAP1-CAP4 Registers
16.5.6
eCAP Synchronization
16.5.6.1
Example 1 - Using SWSYNC with ECAP Module
16.5.7
Interrupt Control
16.5.8
Shadow Load and Lockout Control
16.5.9
APWM Mode Operation
16.6
Application of the eCAP Module
16.6.1
Example 1 - Absolute Time-Stamp Operation Rising-Edge Trigger
16.6.2
Example 2 - Absolute Time-Stamp Operation Rising- and Falling-Edge Trigger
16.6.3
Example 3 - Time Difference (Delta) Operation Rising-Edge Trigger
16.6.4
Example 4 - Time Difference (Delta) Operation Rising- and Falling-Edge Trigger
16.7
Application of the APWM Mode
16.7.1
Example 1 - Simple PWM Generation (Independent Channels)
16.8
Software
16.8.1
ECAP Examples
16.8.1.1
eCAP APWM Example
16.8.1.2
eCAP Capture PWM Example
16.9
ECAP Registers
16.9.1
ECAP Base Address Table
16.9.2
ECAP_REGS Registers
17
Enhanced Quadrature Encoder Pulse (eQEP)
17.1
Introduction
17.1.1
EQEP Related Collateral
17.2
Configuring Device Pins
17.3
Description
17.3.1
EQEP Inputs
17.3.2
Functional Description
17.3.3
eQEP Memory Map
17.4
Quadrature Decoder Unit (QDU)
17.4.1
Position Counter Input Modes
17.4.1.1
Quadrature Count Mode
17.4.1.2
Direction-Count Mode
17.4.1.3
Up-Count Mode
17.4.1.4
Down-Count Mode
17.4.2
eQEP Input Polarity Selection
17.4.3
Position-Compare Sync Output
17.5
Position Counter and Control Unit (PCCU)
17.5.1
Position Counter Operating Modes
17.5.1.1
Position Counter Reset on Index Event (QEPCTL[PCRM]Â =Â 00)
17.5.1.2
Position Counter Reset on Maximum Position (QEPCTL[PCRM]Â =Â 01)
17.5.1.3
Position Counter Reset on the First Index Event (QEPCTL[PCRM] = 10)
17.5.1.4
Position Counter Reset on Unit Time-out Event (QEPCTL[PCRM] = 11)
17.5.2
Position Counter Latch
17.5.2.1
Index Event Latch
17.5.2.2
Strobe Event Latch
17.5.3
Position Counter Initialization
17.5.4
eQEP Position-compare Unit
17.6
eQEP Edge Capture Unit
17.7
eQEP Watchdog
17.8
eQEP Unit Timer Base
17.9
QMA Module
17.9.1
Modes of Operation
17.9.1.1
QMA Mode-1 (QMACTRL[MODE] = 1)
17.9.1.2
QMA Mode-2 (QMACTRL[MODE] = 2)
17.9.2
Interrupt and Error Generation
17.10
eQEP Interrupt Structure
17.11
Software
17.11.1
EQEP Examples
17.11.1.1
Frequency Measurement Using eQEP
17.11.1.2
Position and Speed Measurement Using eQEP
17.11.1.3
Frequency Measurement Using eQEP via unit timeout interrupt
17.11.1.4
Motor speed and direction measurement using eQEP via unit timeout interrupt
17.12
EQEP Registers
17.12.1
EQEP Base Address Table
17.12.2
EQEP_REGS Registers
18
Universal Asynchronous Receiver/Transmitter (UART)
18.1
Introduction
18.1.1
Features
18.1.2
Block Diagram
18.2
Functional Description
18.2.1
Transmit and Receive Logic
18.2.2
Baud-Rate Generation
18.2.3
Data Transmission
18.2.4
Serial IR (SIR)
18.2.5
9-Bit UART Mode
18.2.6
FIFO Operation
18.2.7
Interrupts
18.2.8
Loopback Operation
18.2.9
DMA Operation
18.2.9.1
Receiving Data Using UART with DMA
18.2.9.2
Transmitting Data Using UART with DMA
18.3
Initialization and Configuration
18.4
Software
18.4.1
UART Examples
18.4.1.1
UART Echoback
18.4.1.2
UART Loopback
18.4.1.3
UART Loopback with interrupt
18.4.1.4
UART Digital Loopback with DMA
18.5
UART Registers
18.5.1
UART Base Address Table
18.5.2
UART_REGS Registers
18.5.3
UART_REGS_WRITE Registers
19
Serial Peripheral Interface (SPI)
19.1
Introduction
19.1.1
Features
19.1.2
Block Diagram
19.2
System-Level Integration
19.2.1
SPI Module Signals
19.2.2
Configuring Device Pins
19.2.2.1
GPIOs Required for High-Speed Mode
19.2.3
SPI Interrupts
19.2.4
DMA Support
19.3
SPI Operation
19.3.1
Introduction to Operation
19.3.2
Controller Mode
19.3.3
Peripheral Mode
19.3.4
Data Format
19.3.4.1
Transmission of Bit from SPIRXBUF
19.3.5
Baud Rate Selection
19.3.5.1
Baud Rate Determination
19.3.5.2
Baud Rate Calculation in Non-High Speed Mode (HS_MODE = 0)
19.3.6
SPI Clocking Schemes
19.3.7
SPI FIFO Description
19.3.8
SPI DMA Transfers
19.3.8.1
Transmitting Data Using SPI with DMA
19.3.8.2
Receiving Data Using SPI with DMA
19.3.9
SPI High-Speed Mode
19.3.10
SPI 3-Wire Mode Description
19.4
Programming Procedure
19.4.1
Initialization Upon Reset
19.4.2
Configuring the SPI
19.4.3
Configuring the SPI for High-Speed Mode
19.4.4
Data Transfer Example
19.4.5
SPI 3-Wire Mode Code Examples
19.4.5.1
3-Wire Controller Mode Transmit
679
19.4.5.2.1
3-Wire Controller Mode Receive
681
19.4.5.2.1
3-Wire Peripheral Mode Transmit
683
19.4.5.2.1
3-Wire Peripheral Mode Receive
19.4.6
SPI STEINV Bit in Digital Audio Transfers
19.5
Software
19.5.1
SPI Examples
19.5.1.1
SPI Digital Loopback
19.5.1.2
SPI Digital Loopback with FIFO Interrupts
19.5.1.3
SPI Digital Loopback with DMA
19.5.1.4
SPI EEPROM
19.5.1.5
SPI DMA EEPROM
19.6
SPI Registers
19.6.1
SPI Base Address Table
19.6.2
SPI_REGS Registers
20
Inter-Integrated Circuit Module (I2C)
20.1
Introduction
20.1.1
I2C Related Collateral
20.1.2
Features
20.1.3
Features Not Supported
20.1.4
Functional Overview
20.1.5
Clock Generation
20.1.6
I2C Clock Divider Registers (I2CCLKL and I2CCLKH)
20.1.6.1
Formula for the Controller Clock Period
20.2
Configuring Device Pins
20.3
I2C Module Operational Details
20.3.1
Input and Output Voltage Levels
20.3.2
Selecting Pullup Resistors
20.3.3
Data Validity
20.3.4
Operating Modes
20.3.5
I2C Module START and STOP Conditions
20.3.6
Non-repeat Mode versus Repeat Mode
20.3.7
Serial Data Formats
20.3.7.1
7-Bit Addressing Format
20.3.7.2
10-Bit Addressing Format
20.3.7.3
Free Data Format
20.3.7.4
Using a Repeated START Condition
20.3.8
Clock Synchronization
20.3.9
Clock Stretching
20.3.10
Arbitration
20.3.11
Digital Loopback Mode
20.3.12
NACK Bit Generation
20.4
Interrupt Requests Generated by the I2C Module
20.4.1
Basic I2C Interrupt Requests
20.4.2
I2C FIFO Interrupts
20.5
Resetting or Disabling the I2C Module
20.6
Software
20.6.1
I2C Registers to Driverlib Functions
20.6.2
I2C Examples
20.6.2.1
C28x-I2C Library source file for FIFO interrupts
20.6.2.2
C28x-I2C Library source file for FIFO using polling
20.6.2.3
I2C Digital Loopback with FIFO Interrupts
20.6.2.4
I2C EEPROM
20.6.2.5
I2C EEPROM
20.6.2.6
I2C EEPROM
20.7
I2C Registers
20.7.1
I2C Base Address Table
20.7.2
I2C_REGS Registers
21
Serial Communications Interface (SCI)
21.1
Introduction
21.1.1
Features
21.1.2
SCI Related Collateral
21.1.3
Block Diagram
21.2
Architecture
21.3
SCI Module Signal Summary
21.4
Configuring Device Pins
21.5
Multiprocessor and Asynchronous Communication Modes
21.6
SCI Programmable Data Format
21.7
SCI Multiprocessor Communication
21.7.1
Recognizing the Address Byte
21.7.2
Controlling the SCI TX and RX Features
21.7.3
Receipt Sequence
21.8
Idle-Line Multiprocessor Mode
21.8.1
Idle-Line Mode Steps
21.8.2
Block Start Signal
21.8.3
Wake-Up Temporary (WUT) Flag
21.8.3.1
Sending a Block Start Signal
21.8.4
Receiver Operation
21.9
Address-Bit Multiprocessor Mode
21.9.1
Sending an Address
21.10
SCI Communication Format
21.10.1
Receiver Signals in Communication Modes
21.10.2
Transmitter Signals in Communication Modes
21.11
SCI Port Interrupts
21.11.1
Break Detect
21.12
SCI Baud Rate Calculations
21.13
SCI Enhanced Features
21.13.1
SCI FIFO Description
21.13.2
SCI Auto-Baud
21.13.3
Autobaud-Detect Sequence
21.14
Software
21.14.1
SCI Examples
21.14.1.1
Tune Baud Rate via UART Example
21.14.1.2
SCI FIFO Digital Loop Back
21.14.1.3
SCI Digital Loop Back with Interrupts
21.14.1.4
SCI Echoback
21.14.1.5
stdout redirect example
21.15
SCI Registers
21.15.1
SCI Base Address Table
21.15.2
SCI_REGS Registers
22
Revision History
Technical Reference Manual
F28E12x Real-Time Microcontrollers