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.

TMS570LS3137 DCAN RTR

Hi, If I set a message to transmit with RmtEn =0, the device sends out the message correctly. If I use CANalyser to send a data message with the same ID, the TMS570 receives this and instead of sending the data frame out (as originally configured) it sends a frame with the RTR bit set. There is no receive message object set up with this ID.

Can you explain how this happens.

Best Regards,

Andy

  • Hi Andy,

     

    I saw the older thread where we couldn’t find the reason . I’ll ask around for some clarification and reply soon.

     

    Thanks and Regards,

    Vineeth

  •  

    Hi Andy,

     

    I need some clarifications.

     

    1.      As I understand, this is the procedure you are following. Is this correct?

                                                        i.     Transmit Data frame from TMS570 with ID “x”. [This is observed correctly on the bus]

                                                       ii.     Transmit Data frame from CANalyser with ID “x” [This is observed correctly on the bus]

                                                      iii.     Transmit Data frame from TMS570 with ID “x” [ Instead of Data frame, a Remote frame is observed]

    2.      There is no Remote frame used in your setup(CAN bus) at all?

    3.      As mentioned in the older thread, is this happening only during high bus load? Is this happening consistently or only sometimes?

     

    Thanks and Regards,

    Vineeth

  • Hi Vineeth,

    Your understanding in 1 is correct, You can additionally add that if I use CANalyser to send a remote frame request when the TMS570 is transmitting a remote frame request then the TMS570 reverts to sending the data frame

    2) We have no configuration for a remote frame

    3) The busloading is only about 10% so low

    4) I can repeatedly use canalyser to alternately (manual control rather than cyclic) to transmit a data frame and then a remote frame request and the TMS570 will toggle its transmit mode from remote frame to data frame. i.e. it is consistent.

    Best Regards,

    Andy

  • Hi,

     

    I will try to reproduce the issue here and let you know the results.

     

    Thanks and Regards,

    Vineeth

     

    PS:- Please expect delays in response due to the weekend

  • Hi Andy,

     

    I was not able to detect any stray RTRs in the CAN bus. The following was my setup.

    The TMS570 CAN transceiver was connected to an IXXAT(USB-CAN) interface(connected to PC). The Rx interrupt notification was enabled and configured to transmit a message with ID=1. Also, the main() function was configured to transmit a message with ID=1 and wait. As soon as a data frame with ID=1 is sent from IXXAT to TMS, a data frame is sent(with cleared RTR bit) from TMS to IXXAT with ID=1 (as configured in the Rx Interrupt). I repeated this with other IDs and mailboxes but did not find a deviation from the expected behavior.

     

    I don’t have an answer for this I’m afraid. You should try using a different mailbox, or switching to Standard IDs.

    Did the CANalyser pick up the RTR or did you observe it with an oscilloscope?

     

    Thanks and Regards,

    Vineeth