2025-12-03 4:48 AM
Hello,
We are facing an intermittent CAN-FD issue in the field and would appreciate guidance from the community.
Our system has two devices on the bus (no other device on the bus) using a request–response architecture. The master sends a request every 30 ms and the slave responds. This setup is deployed in hundreds of units running continuously (24 hours). Out of these, around 3 to 5 units per day show acknowledgement errors, which we track through the CAN protocol error counters.
The behaviour is unusual:
• The issue appears randomly on any unit.
• No bus-off condition is ever reported.
• Despite no bus-off, communication between the two nodes temporarily stops.
• Communication recovers automatically after a few seconds without any intervention.
Initially, we suspected a physical wiring problem. We re-checked all connectors and even secured them with glue. The bus has 120-ohm termination at both ends. However, the issue still appears randomly.
Below are the system details:
Microcontroller: STM32G0B1CBT6
Baudrate: 125 kbps
CAN bus length: ~100 cm
Termination: 120 ohms at both ends
FD-CAN Core Clock: 50 MHz
ClockDivider: 1
Bitrate Switching: Disabled
AutoRetransmission: Disabled
TransmitPause: Disabled
ProtocolException: Disabled
Nominal Bit Timing:
• Prescaler = 10
• SyncJumpWidth = 8
• TimeSeg1 = 31
• TimeSeg2 = 8
Data Bit Timing (BRS disabled, same as nominal):
• Prescaler = 10
• SyncJumpWidth = 8
• TimeSeg1 = 31
• TimeSeg2 = 8
Filters:
• StdFiltersNbr = 1
• ExtFiltersNbr = 0
Physical wiring check
• Verified connector seating and cable condition
• Applied glue to prevent vibration-related disconnection
• Confirmed correct 120-ohm termination at both ends
Error counter monitoring
• ACK errors observed in protocol error counters
• No error-warning, error-passive, or bus-off states reported
Timing verification
• Checked nominal bit timing settings
• Ensured both nodes use identical configurations
• Bitrate switching is disabled on both sides
Bus recovery logic
• Bus-off recovery is implemented
• Never triggered during these events
Environmental factors
• Units run 24×7
• Errors occur randomly across different devices and locations
Master Device
↕ (approx. 100 cm cable)
Slave Device
Termination resistors (120 ohms) are present at both ends. No other nodes are connected.
Any insights or suggestions on what could cause intermittent ACK errors without bus-off would be greatly appreciated.
2025-12-03 5:20 AM
Hello,
What is the source clock of FDCAN? a crystal or an internal RC clock source? so you should use an external crystal.