Hi,
I am currently using the FlexCAN on an MCF52259. The problem is that I keep receiving what I have sent. I know from reading the manual that if I set the ID of a message buffer to the ID of the node to which the message is sent then I shouldn't receive my the message back. However, we are running the DeviceNET protocol over CAN. With DeviceNET the identifier changes according to the type of message being sent to a node and the message id of that message. Therefore, for one node you can have many different identifiers. I do not have enough messages buffers to cover all the permutations for the nodes on our bus.
To me it looks like a I will have to handle this in the CAN driver, but I was wondering if anyone knows of a way to prevent this. The previous CAN chip we used (MPC2515) didn't do this i.e. receive frames that it sent.
Hi Fenz,
Have you resolve your problem?
I currently have the same problem with MCF52259. The flexcan is in normal mode and messages are acked correctly, but i receive all frames that i send (when the ID sent match the receive ID of course)
I work with CAN from a long time and never got this problem on other devices.
is there another solution that filtering by software?
Setup a mask so you don't receive your own frames.
I can't do this as stated above, so had to handle it in software.