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
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.
No | Use-case | Preferred (1) CRC Type to be Used |
---|---|---|
1 | In 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 |
2 | Configuration 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) |
3 | Similar 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. |
4 | Similar to configuration registers and SRAM/ROM memory, it is required to check the integrity of static flash contents | 1. ERAD CRC for C28x 2. GCRC for CM sub-system (polynomial: 0x04C11DB7) 3. VCUCRC for C28x (for devices without support for ERAD CRC) |
5 | Many 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 |
6 | Communication 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 |