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.

TMS320F28379D: If CAN arbitation fieild is complely same to another node

Expert 2961 points
Part Number: TMS320F28379D

Hi

May I have a question about F2837xD CAN peripheral?

My customer is testing CAN peripheral.

I think CAN data frame has arbitration fieild for notice data collision.

If one node and one other node has completly same arbitation fieild, and start transmit same timing,

I think arbitation may will has been in data transmit. If lost the arbitation, peripheral will "error occurred during the transmission" state?

In this case, CAN_ES.TxOk register will be 0 and CAN_ES.LEC will be 0x5?

Thanks,

GR

  • If one node and one other node has completly same arbitation fieild, and start transmit same timing,

    That is not permitted. Two nodes cannot transmit with the same Message ID (MSGID) and at the same time. If that happens, both nodes will "win" arbitration and continue to transmit. However, during the data phase, there will be an error since both nodes will very likely be transmitting different data. When this happens, the ongoing transmission will be destroyed and after a pause, both nodes will again re-start  the transmission and this cycle will go on and on.

    In this case, CAN_ES.TxOk register will be 0 and CAN_ES.LEC will be 0x5?

    Likely LEC will be 0x4.

  • Hi Hareesh,

    Thanks for your information.

    I understand.

    I will check LEC register.

    Best regards,

    GR