cancel
Showing results for 
Search instead for 
Did you mean: 

FD_CAN - Protocol Error - ACK Error

TSola.1
Associate II

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


Troubleshooting Steps Already Performed

  1. Physical wiring check
    • Verified connector seating and cable condition
    • Applied glue to prevent vibration-related disconnection
    • Confirmed correct 120-ohm termination at both ends

  2. Error counter monitoring
    • ACK errors observed in protocol error counters
    • No error-warning, error-passive, or bus-off states reported

  3. Timing verification
    • Checked nominal bit timing settings
    • Ensured both nodes use identical configurations
    • Bitrate switching is disabled on both sides

  4. Bus recovery logic
    • Bus-off recovery is implemented
    • Never triggered during these events

  5. Environmental factors
    • Units run 24×7
    • Errors occur randomly across different devices and locations


CAN Topology Summary

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.

 

1 REPLY 1
mƎALLEm
ST Employee

Hello,

What is the source clock of FDCAN? a crystal or an internal RC clock source? so you should use an external crystal.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.