SPRACR3A april   2020  – may 2023 F29H850TU , F29H859TU-Q1 , TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   CRC Engines in C2000 Devices
  2.   Trademarks
  3. Introduction
    1. 1.1 Acronyms
  4. BGCRC
  5. GCRC
  6. VCU CRC
  7. ERAD CRC
  8. CLA CRC (PSA)
    1. 6.1 CLA PSA
      1. 6.1.1 PSA for PAB
      2. 6.1.2 PSA for DWDB
      3. 6.1.3 Considerations While Computing the PSA
  9. CLA-PROMCRC – CLA Program Integrity check
  10. CRC Calculation Using Software
  11. CRC Recommendation for Use-Cases
  12. 10CRC Modules Comparison
  13. 11CRC Engines vs Devices Mapping Table
  14. 12References
  15. 13Revision History

CRC Recommendation for Use-Cases

The different use cases and which CRC type can help in addressing the requirements are given in Table 9-1. The functional safety standards ISO 26262 and IEC 61508 require the integrity check of various hardware units. The different CRC blocks implemented in the device helps to address some of these requirements.

Table 9-1 Use Cases and Preferred CRC Modules
NoUse-casePreferred (1) CRC Type to be Used
1In order to ensure the integrity of code execution (for example, to detect unintended branches in the code, wrong program data due to a fault), use CRC on the program bus. CRC computed on the fetched program data will provide coverage to the fetch unit, address generation unit and memory interconnect.1. ERAD CRC for C28x
2. CLA-PSA for CLA
2Configuration registers hold important content that determine the device behavior. It is required to check the integrity of the configuration registers periodically. CRC modules can be used to complete this test faster.1. ERAD CRC for C28x
2. VCUCRC for C28x (for devices without support for ERAD CRC)
3. CLA PSA for CLA
4. GCRC for CM sub-system with fixed polynomial (0x04C11DB7)
3Similar to configuration registers, it is required to check the integrity of the static SRAM/ROM contents to make sure that they are free from faults.1. BGCRC for C28x and CLA
2. VCUCRC for C28x (for devices without support for ERAD CRC)
3. GCRC for CM sub-system (polynomial - 0x04C11DB7)
4. CLA PROMCRC can be used in devices where BGCRC is not available.
4Similar to configuration registers and SRAM/ROM memory, it is required to check the integrity of static flash contents1. ERAD CRC for C28x
2. GCRC for CM sub-system (polynomial: 0x04C11DB7)
3. VCUCRC for C28x (for devices without support for ERAD CRC)
5Many times, there might be use cases where the user may have to compute CRC using a polynomial which is not supported in hardware. The configurable CRC support available with VCUCRC and GCRC module help to implement this in an efficient manner.1. VCUCRC for C28x (configure appropriate polynomial)
2. If the polynomial is available in CLA-PSA, it can be used. Else, software needs to be used
3. GCRC with the appropriate polynomial configured
6Communication interfaces implement end to end safing as a back channel safing approach to provide integrity to the transmitted data. Hardware accelerators in the device can be used to implement this and reduce the impact on CPU MIPS.1. VCUCRC for C28x
2.Software-based computation for CLA
3. GCRC for CM sub-system
Other CRC modules can be used as appropriate, the options mentioned here are just the preferred options.