SPRUIW3 October   2021 TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1

 

  1.   Trademarks
  2. 1Feature Differences Between F28004x and F28003x
    1. 1.1 F28004x and F28003x Feature Comparison
  3. 2PCB Hardware Changes
    1. 2.1 PCB Hardware Changes for the 100-Pin PZ Package
      1. 2.1.1 100-Pin PZ Migration for Existing PCB
      2. 2.1.2 100-Pin PZ Migration for New PCB Design
    2. 2.2 PCB Hardware Changes for the 64-Pin PM Package
      1. 2.2.1 64-Pin PM Migration for New and Existing PCB
  4. 3Feature Differences for System Consideration
    1. 3.1 New Features in F28003x
      1. 3.1.1  TMU Type1
      2. 3.1.2  Fast Integer Division (FINTDIV)
      3. 3.1.3  Host Interface Controller (HIC)
      4. 3.1.4  Background CRC (BGCRC)
      5. 3.1.5  Standby Low Power Mode
      6. 3.1.6  X1 GPIO Functionality
      7. 3.1.7  Diagnostic Features (PBIST/HWBIST)
      8. 3.1.8  Advance Encryption Standard (AES)
      9. 3.1.9  Secure Boot/JTAG Lock
      10. 3.1.10 Modular Controller Area Network (MCAN)
      11. 3.1.11 Embedded Pattern Generator (EPG)
      12. 3.1.12 Live Firmware Update (LFU)
    2. 3.2 Communication Module Changes
    3. 3.3 Control Module Changes
    4. 3.4 Analog Module Differences
    5. 3.5 Other Device Changes
      1. 3.5.1 XTAL Module
      2. 3.5.2 PLL
      3. 3.5.3 PIE Channel Mapping
      4. 3.5.4 Bootrom
      5. 3.5.5 CLB and Motor Control Libraries
      6. 3.5.6 ERAD
      7. 3.5.7 GPIO
      8. 3.5.8 AGPIO
      9. 3.5.9 ERROR Status
    6. 3.6 Power Management
      1. 3.6.1 LDO/VREG
      2. 3.6.2 DCDC
      3. 3.6.3 POR/BOR
      4. 3.6.4 Power Consumption
    7. 3.7 Memory Module Changes
    8. 3.8 GPIO Multiplexing Changes
    9. 3.9 Analog Multiplexing Changes
  5. 4Application Code Migration From F28004x to F28003x
    1. 4.1 C2000Ware Header Files
    2. 4.2 Linker Command Files
    3. 4.3 Minimum Compiler Version Requirement for TMU Type 1
    4. 4.4 C2000Ware Examples
  6. 5Specific Use Cases Related to F28003x New Features
    1. 5.1 HIC
    2. 5.2 FINTDIV
    3. 5.3 TMU Type1
    4. 5.4 AES
    5. 5.5 MCAN
    6. 5.6 EPG
  7. 6EABI Support
    1. 6.1 Flash API
    2. 6.2 NoINIT Struct Fix (Linker Command)
    3. 6.3 Pre-Compiled Libraries
  8. 7References

Analog Multiplexing Changes

Table 3-19 and Table 3-20 outline the differences and similarities that exist in the analog mux between F28003x and F28004x for the 100-Pin PZ and 64-Pin PM respectively. The legend for the tables is Table 3-18. The main changes are the absence of the PGA and the reduction of the number of CMPSS modules in F28003x from the seven that exist in F28004x to four.

Table 3-18 Mux Legend
Color Description
mux function common for both devices
mux function applicable only for F28004x
mux function applicable only for F28003x
Table 3-19 F28004x and F28003x 100-Pin PZ Analog Mux Table Differences
(F28004x Pin Name) F28004x Group Name PKG Always Connected (NO MUX) Comparator Subsystem (MUX) AIO Input
F28003x Pin Name 100 PZ ADCA ADCB ADCC PGA DAC High Positive High Negative Low Positive Low Negative
( VREFHIA ) VREFHIABC - 25
( VREFHIB, VREFHIC ) VREFHIABC 24
( VREFLOA ) VREFLOABC - 27 A13
( VREFLOB, VREFLOC ) VREFLOABC 26 B13
C13
F28004x Analog Group 1 F28004x CMP1
( A3 ) G1_ADCAB 10 A3 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO233
( A2/B6/PGA1_OF ) PGA1_OF 9 A2 B6 PGA1_OF HPMXSEL = 0 LPMXSEL = 0 AIO224
( C0 ) G1_ADCC 19 A14 B14 C0 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO237
A14/B14/C4 C4 CMP3_HPMXSEL = 4 CMP3_LPMXSEL = 4 AIO239
( PGA1_IN ) PGA1_IN 18 A3 B9 C7 PGA1_IN HPMXSEL = 2 LPMXSEL = 2 AIO229
A3, B9, C7 CMP3_HPMXSEL = 5 CMP3_LPMXSEL = 5
( PGA1_GND ) PGA1_GND 14 A6 PGA1_GND HPMXSEL = 2 LPMXSEL = 2 AIO228
A6
( - ) PGA1_OUT A11 B7 PGA1_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 2 F28004x CMP2
( A5 ) G2_ADCAB 35 A5 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO234
A5 HPMXSEL = 5 LPMXSEL = 5 AIO249
( A4/B8/PGA2_OF ) PGA2_OF 36 A4 B8 PGA2_OF HPMXSEL = 0 LPMXSEL = 0 AIO225
A4/B8
( C1 ) G2_ADCC 29 C1 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO238
C1 CMP4_HPMXSEL = 2 CMP4_LPMXSEL = 2 AIO248
( PGA2_IN ) PGA2_IN 30 PGA2_IN HPMXSEL = 2 LPMXSEL = 2
B11 B11 CMP4_HPMXSEL = 5 CMP4_LPMXSEL = 5 AIO251
( PGA2_GND ) PGA2_GND 32 B5 PGA2_GND CMP1_HPMXSEL = 5 CMP1_LPMXSEL = 5 AIO252
B5
( - ) PGA2_OUT A12 B9 PGA2_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 3 F28004x CMP3
( B3/VDAC ) G3_ADCAB 8 B3 VDAC HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO242
( B2/C6/PGA3_OF ) PGA3_OF 7 B2 C6 PGA3_OF HPMXSEL = 0 LPMXSEL = 0 AIO226
( C2 ) G3_ADCC 21 B12 C2 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO244
B12/C2
( PGA3_IN ) PGA3_IN 20 A11 B10 C0 PGA3_IN HPMXSEL = 2 CMP1_HNMXSEL = 1 LPMXSEL = 2 CMP1_LNMXSEL = 1 AIO237
A11, B10, C0 CMP1_HPMXSEL = 1 CMP1_LPMXSEL = 1
( PGA3_GND ) PGA3_GND 15 B2 C6 PGA3_GND HPMXSEL = 0 LPMXSEL = 0 AIO226
B2, C6
( - ) PGA3_OUT B10 PGA3_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 4 F28004x CMP4
( B5 ) G4_ADCAB B5 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO243
( B4/C8/PGA4_OF ) PGA4_OF 39 B4 C8 PGA4_OF HPMXSEL = 0 LPMXSEL = 0 AIO227
B4/C8 AIO236
( C3 ) G4_ADCC 31 A7 C3 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO245
A7, C3
( PGA4_IN ) PGA4_IN PGA4_IN HPMXSEL = 2 LPMXSEL = 2
( PGA4_GND ) PGA4_GND 32 PGA4_GND
( - ) PGA4_OUT B11 C9 PGA4_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 5 F28004x CMP5
( A7 ) G5_ADCAB A7 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO235
( A6/PGA5_OF ) PGA5_OF 6 A6 PGA5_OF HPMXSEL = 0 LPMXSEL = 0 AIO228
( C4 ) G5_ADCC 17 A2 B6 C4 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO239
A2/B6/C9 C9 CMP1_HPMXSEL = 0 CMP1_LPMXSEL = 0 AIO224
( PGA5_IN ) PGA5_IN 16 B3 PGA5_IN VDAC HPMXSEL = 2 CMP3_HNMXSEL = 0 LPMXSEL = 2 CMP3_LNMXSEL = 0 AIO242
B3, VDAC CMP3_HPMXSEL = 0 CMP3_LPMXSEL = 0
( PGA5_GND ) PGA5_GND 13 PGA5_GND
( - ) PGA5_OUT A14 PGA5_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 6 F28004x CMP6
( A9 ) G6_ADCAB 38 A9 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO236
A9 CMP2_HPMXSEL = 2 CMP2_LPMXSEL = 2 AIO227
( A8/PGA6_OF ) PGA6_OF 37 A8 PGA6_OF HPMXSEL = 0 LPMXSEL = 0 AIO229
A8 CMP4_HPMXSEL = 4 CMP4_LPMXSEL = 4 AIO240
( C5 ) G6_ADCC 28 A12 C5 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO240
A12/C5 CMP2_HPMXSEL = 1 CMP2_HNMXSEL = 1 CMP2_LPMXSEL = 1 CMP2_LNMXSEL = 1 AIO238
( PGA6_IN ) PGA6_IN PGA6_IN HPMXSEL = 2 LPMXSEL = 2
( PGA6_GND ) PGA6_GND 32 PGA6_GND
( - ) PGA6_OUT A15 PGA6_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 7 F28004x CMP7
( B0 ) G7_ADCAB 41 B0 C11 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO241
B0, C11 CMP2_HPMXSEL = 4 CMP2_LPMXSEL = 4 AIO253
( A10/B1/C10/PGA7_OF ) PGA7_OF 40 A10 B1 C10 PGA7_OF HPMXSEL = 0 CMP2_HNMXSEL = 0 LPMXSEL = 0 CMP2_LNMXSEL = 0 AIO230
A10/B1/C10 CMP2_HPMXSEL = 3 CMP2_LPMXSEL = 3
( C14 ) G7_ADCC 44 C14 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO246
( PGA7_IN ) PGA7_IN 43 PGA7_IN HPMXSEL = 2 LPMXSEL = 2
( PGA7_GND ) PGA7_GND 42 C14 PGA7_GND CMP4_HPMXSEL = 3 CMP4_HNMXSEL = 0 CMP4_LPMXSEL = 3 CMP4_LNMXSEL = 0 AIO247
C14
( - ) PGA7_OUT B12 C11 PGA7_OUT HPMXSEL = 4 LPMXSEL = 4
Other F28004x Analog
( A0/B15/C15/DACA_OUT ) 23 A0 B15 C15 DACA_OUT CMP3_HPMXSEL = 2 CMP3_LPMXSEL = 2 AIO231
A0/B15/C15/DACA_OUT
( A1/DACB_OUT ) 22 A1 B7 DACB_OUT CMP1_HPMXSEL = 4 CMP1_LPMXSEL = 4 AIO232
A1/B7/DACB_OUT
( C12 ) C12 AIO247
- TempSensor B14 C12
Table 3-20 F28004x and F28003x 64-Pin PM Analog Mux Table Differences
(F28004x Pin Name) F28004x Group Name PKG Always Connected (NO MUX) Comparator Subsystem (MUX) AIO Input
F28003x Pin Name 64 PM ADCA ADCB ADCC PGA DAC High Positive High Negative Low Positive Low Negative
( VREFHIA, VREFHIB, VREFHIC ) VREFHIABC - 16
( VREFLOA, VREFLOB, VREFLOC ) VREFLOABC - 17 A13
B13
C13
F28004x Analog Group 1 F28004x CMP1
( A3 ) G1_ADCAB A3 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO233
( A2/B6/PGA1_OF ) PGA1_OF 9 A2 B6 C9 PGA1_OF HPMXSEL = 0 LPMXSEL = 0 AIO224
A2/B6/C9
( C0 ) G1_ADCC 12 A11 B10 C0 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO237
A11/B10/C0
( PGA1_IN ) PGA1_IN PGA1_IN HPMXSEL = 2 LPMXSEL = 2
( PGA1_GND ) PGA1_GND 10 A15 B9 C7 PGA1_GND HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO233
A15/B9/C7
( - ) PGA1_OUT A11 B7 PGA1_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 2 F28004x CMP2
( A5 ) G2_ADCAB A5 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO234
( A4/B8/PGA2_OF ) PGA2_OF 23 A4 B8 C14 PGA2_OF HPMXSEL = 0 CMP4_HNMXSEL = 0 LPMXSEL = 0 CMP4_LNMXSEL = 0 AIO225
A4/B8/C14 CMP4_HPMXSEL = 3 CMP4_LPMXSEL = 3
( C1 ) G2_ADCC 18 A12 C1 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO238
A12/C1 CMP4_HPMXSEL = 2 CMP4_LPMXSEL = 2 AIO248
( PGA2_IN ) PGA2_IN PGA2_IN HPMXSEL = 2 LPMXSEL = 2
( PGA2_GND ) PGA2_GND 20 A8 B0 C11 PGA2_GND HPMXSEL = 4 LPMXSEL = 4 AIO241
A8/B0/C11 CMP4_HPMXSEL = 4 CMP4_LPMXSEL = 4
( - ) PGA2_OUT A12 B9 PGA2_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 3 F28004x CMP3
( B3/VDAC ) G3_ADCAB 8 A3 B3 C5 VDAC HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO242
A3/B3/C5/VDAC HPMXSEL = 5 LPMXSEL = 5
( B2/C6/PGA3_OF ) PGA3_OF 7 B2 C6 PGA3_OF HPMXSEL = 0 LPMXSEL = 0 AIO226
B2/C6
( C2 ) G3_ADCC 13 A5 B12 C2 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO244
A5/B12/C2 CMP2_HPMXSEL = 5 CMP2_LPMXSEL = 5
( PGA3_IN ) PGA3_IN PGA3_IN HPMXSEL = 2 LPMXSEL = 2
( PGA3_GND ) PGA3_GND 10 PGA3_GND
( - ) PGA3_OUT B10 PGA3_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 4 F28004x CMP4
( B5 ) G4_ADCAB B5 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO243
( B4/C8/PGA4_OF ) PGA4_OF 24 A9 B4 C8 PGA4_OF HPMXSEL = 0 LPMXSEL = 0 AIO227
A9/B4/C8 CMP2_HPMXSEL = 2 CMP2_LPMXSEL = 2 AIO236
( C3 ) G4_ADCC 19 A7 C3 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO245
A7/C3
( PGA4_IN ) PGA4_IN PGA4_IN HPMXSEL = 2 LPMXSEL = 2
( PGA4_GND ) PGA4_GND 20 PGA4_GND
( - ) PGA4_OUT B11 C9 PGA4_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 5 F28004x CMP5
( A7 ) G5_ADCAB A7 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO235
( A6/PGA5_OF ) PGA5_OF 6 A6 PGA5_OF HPMXSEL = 0 LPMXSEL = 0 AIO228
A6 CMP1_HPMXSEL = 2 CMP1_LPMXSEL = 2
( C4 ) G5_ADCC 11 A14 B14 C4 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO239
A14/B14/C4 CMP3_HPMXSEL = 4 CMP3_LPMXSEL = 4
( PGA5_IN ) PGA5_IN PGA5_IN HPMXSEL = 2 LPMXSEL = 2
( PGA5_GND ) PGA5_GND 10 PGA5_GND
( - ) PGA5_OUT A14 PGA5_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 6 F28004x CMP6
( A9 ) G6_ADCAB A9 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO236
( A8/PGA6_OF ) PGA6_OF A8 PGA6_OF HPMXSEL = 0 LPMXSEL = 0 AIO229
( C5 ) G6_ADCC C5 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO240
( PGA6_IN ) PGA6_IN PGA6_IN HPMXSEL = 2 LPMXSEL = 2
( PGA6_GND ) PGA6_GND 20 PGA6_GND
( - ) PGA6_OUT A15 PGA6_OUT HPMXSEL = 4 LPMXSEL = 4
F28004x Analog Group 7 F28004x CMP7
( B0 ) G7_ADCAB B0 HPMXSEL = 3 HNMXSEL = 0 LPMXSEL = 3 LNMXSEL = 0 AIO241
( A10/B1/C10/PGA7_OF ) PGA7_OF 25 A10 B1 C10 PGA7_OF HPMXSEL = 0 CMP2_HNMXSEL = 0 LPMXSEL = 0 CMP2_LNMXSEL = 0 AIO230
A10/B1/C10 CMP2_HPMXSEL = 3 CMP2_LPMXSEL = 3
( C14 ) G7_ADCC C14 HPMXSEL = 1 HNMXSEL = 1 LPMXSEL = 1 LNMXSEL = 1 AIO246
( PGA7_IN ) PGA7_IN PGA7_IN HPMXSEL = 2 LPMXSEL = 2
( PGA7_GND ) PGA7_GND PGA7_GND
( - ) PGA7_OUT B12 C11 PGA7_OUT HPMXSEL = 4 LPMXSEL = 4
Other F28004x Analog
( A0/B15/C15/DACA_OUT ) 15 A0 B15 C15 DACA_OUT CMP3_HPMXSEL = 2 CMP3_LPMXSEL = 2 AIO231
A0/B15/C15/DACA_OUT
( A1/DACB_OUT ) 14 A1 B7 DACB_OUT CMP1_HPMXSEL = 4 CMP1_LPMXSEL = 4 AIO232
A1/B7/DACB_OUT
( C12 ) C12 AIO247
- TempSensor B14 C12