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.

TMS320F28335: CANbus engine behavior if 3rd party device attempts to xmit immediately after Intermission.

Part Number: TMS320F28335

TI's SLOA101B Application Report describes the behavior of TI's CANbus interface.

Paragraph 3.1.1 states that "IFS–This 7-bit interframe space (IFS) contains the time required by the controller to move a correctly

received frame to its proper position in a message buffer area."

Bosch 2.0 describes the IFS as a 3 bit Intermission and an N bit Bus Idle time.

As I understand Bosch 2.0 a 3rd party device on the bus can attempt a transmission as soon as the 3 bit Intermission has completed.

How does the CANbus engine handle the need for a 7 bit IFS?  Does it generate OVERLOAD frame(s) to provide the additional

required delay?

Thx,

Dan

   

  • Dan,

    I referred to the ISO spec (ISO 11898-1:2015(E)). It says "Each DF and RF shall be delimited by a flag sequence consisting of seven recessive bits forming the EOF" (DF & RF referring to Data Frame and Remote Frame respectively). IFS consists of the Intermission and Bus Idle time. It does say Intermission is 3-bits and bus-idle may be of arbitrary length. However. I don’t see the connection between EOF (which it clearly says is 7 bits) and the IFS, which could be as low as 3 bits. I don’t know if the CANbus engine "needs" a 7-bit IFS. It could be that the spec was written when MCUs didn’t run as fast they run now. Once a message is successfully received in the i/p shift register, I would think shifting it to the Mailbox RAM should take a couple of CPU cycles. Even a low-speed MCU running at, say, 60 MHz has 60 CPU cycles in 1 uS bit-time. Are you aware of a MCU that only generates a 3-bit IFS?

  • Hi Hareesh,

    Thank you for the reply to my query.

    As it turns out, I believe the answer lies in a fuller understanding of the CAN bus protocol.

    It took me a while to get to that fuller understanding.

    The protocol allows a CAN bus engine to issue an Overload Frame if more time is needed

    for its receiver to process a message.  Given that the TMS' CANbus engine meets the

    requirements of the protocol it must issue an Overload Frame if more time is required

    to process the incoming message than allowed by the 3 bit Intermission.

    Rgds,

    Dan