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.

TMS570LC4357: CAN interfacing of Hercules with other can hardwares

Part Number: TMS570LC4357

Hello !

I have been studying can functionalities of TMS570lc43x. I have been successful in transmitting can messages form one TMS570lc43x to another at a rate of 10ms  (using rti) using 5v CAN transceivers and publishing it using sci module. Unfortunately, even after trying several times i have been unable to transmit/receive messages to a  different can node (for example:Vector's CAN hardware) using my Hercules board. The error it shows is  acknowledgement error. Is there something i am doing wrong from hercules side to acknowledge the can nodes message or is the problem something else?? I have kept the bit rate same too.

Also the vector hardware I am using has also been tested and its transmitting CAN messages successfully. I am able to interface with other TMS570lc43x boards but not receive or transmit messages to other can nodes.

  • Hello Sarthake,

    The ACK is part of the HW layer of CAN2.0B it isn't anything to do with your code. If you are able to communicate between two TMS570 devices you should be able to communicate with the Vector tool as long as you have matching baud rates including proper configuration of the Vector tool. You should also take care that you have the correct termination resistance on each node including the TMS570s in the network and that the cabling is correct for CAN communications.
  • Hello Chuck,

    Thanks for replying.

    I have successfully interfaced my hercules with my vector tool ie  I am able to send 6 can messages at a rate of 10ms (using rti) and view it from vector software.Also i am making my vector tool send data at 10ms to hercules simultaneously. The problem is that i am not able to capture those messages and print it(using sci) .For eg the vector sent a message with id 76D and i set hercules to capture messages with id 0x76D ,hercules wasn't  able to capture those messages.Later i realized why. I sent messages to vector with id 76E and what i saw through the software was that messages of id 76Ex was received and not 76E. What i understood was that hercules sets the id as 76Ex and not 76E. Same problem with receiving messages from other can nodes as well.

    Can you help me with this? What does the 'x' signify? In what format are hercules id represented ?

  • Hello Sarthake,

    What you are seeing is, most likely, a reference to the extended MSGID format. Normal IDs are 11-bits in length but the CAN2.0B also specifies am extended ID of 23 bits that can be used. Most likely, you are seeing a reference to the extended IDs. Is the CAN configuration you are using configured for extended IDs? If not, then the shorter ID should be fine.
  • Hi Chuck!

    Thanks to your advice i am able to interface hercules with my vector tool as per my requirements !

    Thanks a lot :)