This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F2812: Action when CANGIF and CANES error flags are set

Part Number: TMS320F2812

I´d like to know if the software has to perform any action regarding to the eCAN module to recover from a failure when an error flag in CANGIF0/CANGIF1 or CANES is set:

AAIF (Abort-acknowledge interrupt flag)
RMLIF (Receive-message-lost interrupt flag),
FE (Form error flag)
BE (Bit error flag)
SA1 (Stuck at dominant error)
CRCE (CRC error).
SE (Stuff error).
ACKE (Acknowledge error)
BO (Bus-off status)
EP (Error-passive state)
EW (Warning status)
SMA Suspend mode acknowledge.


Thanks,

  • Marcio, 

    We are looking into it and will get back to you soon.

    Thanks.

  • Marcio,

                    As to how to handle an error condition is completely up to the application. In a properly designed/configured network, communication errors should be rare. It could happen due to external noise, but the bus should recover on its own once the disturbances vanish. That is how the protocol is designed. If the errors become frequent, you should investigate the root-cause of the errors during transmission. I have classified the errors below, but exactly how you want to handle each error condition is up to you. 

    Serious errors:

    • BO (Bus-off status)
    • EP (Error-passive state)
    • EW (Warning status)
    • FE (Form error flag)
    • BE (Bit error flag)
    • SA1 (Stuck at dominant error)
    • CRCE (CRC error)
    • SE (Stuff error)

    Non-serious errors:

    • AAIF (Abort-acknowledge interrupt flag)
    • RMLIF (Receive-message-lost interrupt flag),
    • ACKE (Acknowledge error)
    • SMA Suspend mode acknowledge.
  • In fact i was talking about actions need to put the eCAN back in service again (like clearing a register, software reset, etc). By your response I understand that these kind of actions are not requires. Thank you.

  • Mario,

                    The only error that would take the eCAN "out-of-service" is the bus-off error. Other errors are likely transient, in which case the module will continue to function once the error condition vanishes. For bus-off, you could either choose automatic recovery (by setting ABO=1) or manual recovery (ABO=0). Regardless, you do want to clear the error flag in all circumstances, so that you can identify the error condition the next time. Beyond that, any other action is up to you. This is what I mentioned in my previous post.