Other Parts Discussed in Thread: TCAN334, , MMWAVE-L-SDK
Tool/software:
Hello experts,
I posted this question to the CAN transceiver people but was rightly directed here. I have a couple of clarification questions about how MCAN operates.
Context:
We have the TCAN334 transceiver in use with the IWRL6432 on a custom board. We have done extensive testing on our CAN communications and the devices work as far as we can tell, indefinitely on a network with a small number of other nodes. These controlled networks have relatively low traffic.
We recently received a trace containing typical network traffic. This trace is replayed onto our network with a single device on the other end. The device operates as expected for what seems to be a random amount of time usually from 5-20 minutes. At some point in the trace the device enters the error passive state.
Questions:
Based off of my investigation and reading through the TRM I have the following clarification questions.
- We are using the RX FIFO mode with 32 available configured elements in each buffer. When a full buffer receives another message, the new message is ignored, and the message lost interrupt is triggered. Does the message lost interrupt result in an error message on the bus? In other words, does a full FIFO have any ripple effects on other parts of the CAN system?
- We have observed an ACK error frame on the bus when we are getting into the passive error state. To my understanding this error occurs when the rest of the bus does not ACK a message TX'd from the device. What might randomly cause a single message to not be ACK'd by the other node? If this was the problem, it would indicate that 128 messages are not ACK'd, so the problem would seem to be something persistent rather than a single bad message (The error counters go from 0 to 128 all at once, not over time).
- The device does not need to be power-cycled to recover, simply disconnecting the CAN bus and reconnecting it will solve the problem. This indicates that we might have a more graceful method of recovery. Do you have any recommendations on what we might leverage in the MCAN library to monitor and recover from this and other related problems in the future?
Thank you for your time.