7.1.1 Error Handling

The block identifies the following errors:

  • Parity error in the received control field
  • Bad start sequence in received control field
  • Incomplete message where the RX line is stuck at 0 or stuck at 1
  • CRC mismatch between data in received CRC field, and calculated CRC
  • Transmit Errors such as parity error or delimiter error in transmitted CF, as read from bit 6 and bit 7 of the status field (see Tamagawa datasheet).

These errors, when identified by the block, result in a fault counter getting incremented. When the fault counter value exceeds the configured threshold value (configured using g_FAULT_THRESHOLD), the alarm_o output is asserted. The alarm output is deasserted when the alarm_clr_i input is high for one sys_clk_i period. The tf_error_o signal is used to display the type of error that has occurred. This data is reset to 0, when the next transaction begins (start_i is ‘1’).

The following table describes various errors and their corresponding bit position in the tf_error_o register.

Table 7-4. tf_error_o Register Description
BitFunction
5TX delimiter error – as indicated in bit 7 of status field
4TX parity error – as indicated in bit 6 of status field
3CRC mismatch between CRC field received from slave and calculated CRC data
2Incomplete message – delimiter error resulting in timeout
1Bad start sequence in received control field – “0010” not received before timeout
0Parity Error in received control field