Hello,
This topic has been discussed in various threads on this forum, yet I haven't found a satisfactory solution.
My Setup:
- A custom board based on the IWR6843AOP.
- OOB firmware used to utilize CAN-FD for data transfer (detections, side info).
- Several sensor boards (ranging from 1 to 10) connected to a CPU board that collects the data
- Hard-coded configuration with a frame periodicity of approximately 200ms.
Problem Description:
- With only one sensor connected to the CPU board, the system operates relatively well. However, Error -3502 occurs frequently even in this scenario.
- Adding more sensors to the bus increases the error rate.
- In certain configurations (number of sensors on the bus, etc.), some or occasionally all sensors stop transmitting data.
- The cessation of sensor activity is usually accompanied by CAN ERR reason callback 7, 6, and 5:
- CANFD_Reason_PROTOCOL_ERR_ARB_PHASE 0x7
- CANFD_Reason_PROTOCOL_ERR_DATA_PHASE 0x6
- CANFD_Reason_BUSOFF 0x5
- Subsequently, an [Error code -3502] is observed. A stopped sensor does not resume operation upon disconnecting other devices; it requires a restart.
- The cessation of sensor activity is usually accompanied by CAN ERR reason callback 7, 6, and 5:
I attempted to integrate the recommended solution (e2e.ti.com/.../4895269 directly into the CANFD driver (specifically into CANFD_transmitData
in canfd.c
), but the behavior appears unchanged (though I'm unsure if this modification is reflected in the build).
Could you please confirm whether you have tested multiple devices on the CAN bus?
Could you provide more detailed documentation regarding CAN configuration (specifically in MCANAppInitParams
)?
Do you have any suggestions on what else I could check?
Thank you for your assistance,
Adam