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.

TMS320F2800157: CAN communication issue

Part Number: TMS320F2800157
Other Parts Discussed in Thread: TMDSCNCD2800157, C2000WARE

Dear Texas Instruments Support Team,

I have an issue regarding CAN communication that we have encountered with your hardware (TMDSCNCD2800157). We are experiencing TX errors where only one message, specifically the one with the highest priority object ID, is successfully transmitted. However, all other messages are being skipped.


Upon further investigation, we have found that introducing a delay of 250 microseconds resolves the issue, allowing the messages to be transmitted successfully. While this temporary solution mitigates the problem, it is not sustainable for our application's requirements.


We believe this issue may be related to the hardware or firmware of the Texas Instruments device (TMDSCNCD2800157) we are using for CAN communication. We have ensured that our software configuration adheres to industry standards and best practices, yet the problem persists.


Given the critical nature of this issue and its impact on our operations, we kindly request your immediate assistance in resolving it. Any insights, recommendations, or firmware updates you can provide to address this TX error and ensure proper transmission of all messages would be greatly appreciated.


If further information or diagnostic data is needed from our end to assist in troubleshooting, please do not hesitate to reach out. We are committed to collaborating with your team to swiftly resolve this issue and ensure the reliable operation of our CAN communication system.


Thank you, We look forward to your swift response and resolution.

  • Hi Prashant,

    Could you please provide more details of the issue?

    - Is this with the CAN or MCAN module?

    - What is the baud rate where this is happening?

    - What is your test environment?  You mentioned TMDSCNCD2800157, which is the control card.  This hardware does not have an on-board transceiver so you must be interfacing it with an external transceiver.  Or are you using your own hardware design and if so, what is the main clock source for the F2800157 device?

    - How many nodes are in the CAN bus and are there more than one node that is attempting to send a frame?

    - Did you test this with the C2000Ware examples or are you using your custom code?

    Thanks and regards,

    Joseph

  • Prashant,

              What is important is how you determine whether the previous transmission has completed before you initiate the next transmission. If you are using MCAN, please download my Application report http://www.ti.com/lit/SPRACU9 and look at the Debug tips provided. Most CAN issues can be resolved by going through this checklist. If you are using DCAN, use http://www.ti.com/lit/SPRACE5

  • Hi Joseph,

    This is CAN.

     The baud rate is 500k.

    Along With TMDSCNCD2800157 I'm using TCAN1042 which is tested.

    Only one node is there which is CANoe.

    I checked both C2000Ware examples & also custom code behavior is same for both.

    Thanks,

    Prashant

  • Prashant,

    Is the CANOe sending ACK when it sees the CAN frame?  Can you monitor the CAN_ES register to see what error flags were triggered and what is the LEC (last error code) encountered?  Maybe the transmitted frame is not acknowledged and the F2800157 reports that as an error after consecutive attempts to transmit.

    Regards,

    Joseph

  • Hi Joseph,

    I checked the CAN_ES register there is no flag is encountered & The LEC is also 000

    I think the acknowledge is happening properly.

    Actually we used the same controller series & same CAN stack in our other project, In that we are getting all messages correctly with same configurations, only difference is the controller we used in our other project is 64 pin package with custom developed hardware and here we are trying on 80 PIN evaluation board with external transceiver ( TCAN1042 ).

    Thanks,

    Prashant

  • Hello Prashant,

    Joseph is currently out-of-office, and as Monday is a holiday in the US he will not be able to respond until Tuesday.

  •  Prashant,

                The description of the problem is not clear. 

    Are you saying only the message from the "highest priority object ID" is successfully transmitted? If so, what is message object number that successfully transmits and what is the ARB ID of the message(s) that are successfully transmitted?  So, if you transmit from other message objects, it results in Transmit errors? This cannot happen. Error behavior is independent of the message object or ARB ID.

  • Hi Hareesh Janakiraman,

    The highest priority object ID means suppose, we are using 3 object id's using 1,2,3 message box then only 1 object id is transmitting & 2,3 are not but if I add delay of 250usec between each transmission then all the 3 messages are transmitting. 

    Thanks,

    Prashant

  • When multiple message objects are flagged for transmission, the numerically least object will have the priority. If you initiate back-to-back transmission from object 1, other objects may never get a chance to transmit. Before loading a new message, ensure all pending transmissions from other objects have been completed.

    22.10.2 Receive/Transmit Priority
    The receive/transmit priority for the message objects is attached to the message number, not to the CAN
    identifier. Message object 1 has the highest priority, while message object 32 has the lowest priority. If more than
    one transmission request is pending, the requests are serviced due to the priority of the corresponding message
    object, so for example, messages with the highest priority can be placed in the message objects with the lowest
    numbers.