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.

TCAN1043G-Q1: Question about CAN Error response

Part Number: TCAN1043G-Q1
Other Parts Discussed in Thread: TCAN1043

Hi Team,

 

This is CAN protocol related question rather than CAN driver question.

My customer is now evaluating CAN system behavior under specific error condition shown below with TCAN1043.

 

Initial state:

  • Consist of only 2 node, Node A and Node B.

  • Node A is sender, Node B is receiver.

  • Node A periodically send message to Node B.

  • Node A and Node B are in Normal Mode.

 

Step1 :

  • Set Node B to “Go-to-Sleep Mode” by toggling NSTB=L.

  • Node A keeps periodically sending message to Node B.

 

Step2:

  • Provably due to CAN message fitting to WUP, INH of Node B is kept High.

 

Step3:

  • Set Node B state to Normal mode by toggling NSTB=Low to High.

  • Set Node B state to Go-to-Sleep mode by toggling NSTB=High to Low.

 

Test Result:

Node A becomes BUS OFF with Transmit Error counter =255.

In most of the time Node B is in one of three mode, Go-to-Sleep mode, Sleep mode or Standby mode, so it is assumed Node B can’t send Ack to Node A.

 

Q.1) When Node B is in Go-to-Sleep mode or Sleep mode or Standby mode, is it correct to think that Node B does not send Ack to Node A?

Q.2) If Node B doesn’t send ACK, Node A stays in Error Passive state and never count up to 255. Is it correct?

 

Best regards,

  • Hello Fujihara-san,

    When Node B is not in normal mode, it is unable to acknowledge the messages from Node A. This should cause Node A's transmit error count to increment until Node A reaches the error passive state. Once it reaches this point, though, the transmit error count would not increment further due to acknowledgement errors. It is strange, then, that Node A is entering a bus off condition. Is Node B transmitting anything when in the normal state? (Or, is the TXD pin for the Node B at a low state when in normal mode so that it is transmitting a dominant bit)? Do you notice any errors in the receive error counter for Node A?

    If you leave Node B in normal mode for a longer period of time, does Node A operate normally? I wonder if the issue is due to Node B waking up while a frame transmission is in progress, causing Node B to register the first frame as improper (since the first segment is not detected). If this is happening frequently without the link remaining in a normal operational state it may explain this result.

    Regards,
    Max Robertson
  • Hi Max-san,

     

    Thanks a lot for your reply.

    I shared your suggestion with customer, and wait for the feedback.

    If customer asks further question, I will active this thread,

     

    Best regards,

    Nobuo