CAN FD Protocol Analysis for Automotive Electronics
CAN FD vs CAN 2.0B: What Changed
CAN FD (Flexible Data-rate) extends the classic CAN 2.0B protocol in two important ways. First, it increases the maximum payload from 8 bytes to 64 bytes per frame. Second, it allows the data phase of a frame to transmit at a higher bit rate than the arbitration phase — typically 2, 5, or 8 Mbit/s for data versus 500 kbit/s for arbitration.
The frame format changes are straightforward. CAN FD frames use two new control bits: FDF (FD Format indicator, always recessive) distinguishes FD frames from classic frames, and BRS (Bit Rate Switch) signals the transition to the higher data-phase bit rate. The DLC field is reinterpreted for values above 8 to encode payloads of 12, 16, 20, 24, 32, 48, and 64 bytes.
CAN FD retains the same physical layer, arbitration mechanism, and 11-bit or 29-bit identifier structure as CAN 2.0B. This backward compatibility means FD and classic nodes can coexist on the same bus, though classic nodes will flag FD frames as errors and discard them.
Why CAN FD Matters for Modern Vehicles
Modern vehicles generate far more data than classic CAN can carry. Advanced driver assistance systems (ADAS), over-the-air (OTA) update payloads, diagnostic data, and sensor fusion outputs all demand higher throughput. CAN FD provides a 4-8x throughput improvement without replacing the physical bus infrastructure — a significant cost advantage over migrating to Automotive Ethernet for every ECU link.
Most new vehicle platforms use CAN FD as the primary communication backbone, with CAN 2.0B retained only for legacy ECUs. Debug and validation tools must handle both protocols seamlessly.
Setting Up Differential Probe Connections
CAN uses a differential bus with CANH and CANL signals. You have two options for connecting Acute instruments:
Option 1: Differential Probe (Recommended)
Use a differential probe connected across CANH and CANL. This provides the true differential signal and rejects common-mode noise. Connect the probe output to a single analog channel on a TravelBus or MSO instrument. The Acute software’s CAN decoder accepts single-ended input from a differential probe.
Option 2: Single-Ended via Transceiver
If you have access to the CAN transceiver’s TXD and RXD pins (the digital-side signals between the MCU and transceiver), connect logic analyzer channels directly. TXD shows what the local node transmits; RXD shows everything on the bus. For full bus monitoring, connect to RXD. Set the threshold voltage to match the transceiver’s logic level (typically 3.3V CMOS, so 1.5V threshold).
Option 3: BusFinder Direct Connection
The Acute BusFinder protocol analyzer is designed for direct bus connection. It includes built-in CAN/CAN FD physical-layer interface circuitry, eliminating the need for external probes. Connect its bus interface directly to CANH and CANL.
Decode Configuration
In the Acute software:
- Open Protocol > CAN FD Decode.
- Assign the input channel (differential probe or RXD signal).
- Set the arbitration bit rate (commonly 500 kbit/s or 250 kbit/s).
- Set the data bit rate (commonly 2 Mbit/s or 5 Mbit/s). If analyzing CAN 2.0B only, these are the same value.
- Configure the sample point for both arbitration and data phases. The default of 75% works for most configurations, but match your network’s actual settings if known. Incorrect sample-point configuration is the most common cause of decode failures.
- Optionally load a DBC file to map arbitration IDs to signal names and apply scaling/offset to data fields.
Trigger on Arbitration ID and Error Frames
ID Filter Trigger
On a busy CAN bus with hundreds of unique message IDs, capturing everything produces enormous datasets. Configure the Acute trigger to fire on a specific 11-bit or 29-bit arbitration ID. This captures only the frames you care about. You can specify an ID mask to trigger on a range of IDs (e.g., all IDs from 0x600-0x6FF by masking the lower 8 bits).
Error Frame Trigger
CAN error frames are special 6-bit sequences that indicate a protocol violation detected by a node. Triggering on error frames is essential for diagnosing intermittent bus problems. Configure the trigger to detect the error flag pattern (6+ consecutive dominant bits, which violates CAN’s bit-stuffing rule).
In the Acute software, select Trigger > Protocol > CAN FD > Error Frame. The analyzer waits indefinitely until an error frame appears, then captures the surrounding traffic for analysis.
Overload Frame Trigger
Less common than error frames, overload frames indicate a node needs extra time between frames. Triggering on these helps identify slow nodes that are impeding bus throughput.
Bit Rate Switching Analysis
CAN FD’s dual-bit-rate operation introduces a debugging challenge: the transition between arbitration and data bit rates must be clean, with the transmitter and all receivers switching at exactly the BRS bit. Timing margin at the switch point is often tighter than within either phase.
To analyze the bit rate switch:
- Capture the CAN FD frame on an analog channel (MSO or TravelBus) at a high sample rate — at least 10x the data-phase bit rate, so 50 MS/s for a 5 Mbit/s data phase.
- Zoom in to the BRS bit and the first few data-phase bits. Measure the actual bit time and compare it to the expected value.
- Check for ringing or overshoot at the transition. The bus’s termination and stub lengths affect signal quality more at higher bit rates.
- Verify that the bit time is consistent across the entire data phase. Jitter exceeding 5% of the bit time suggests oscillator tolerance or transceiver timing issues.
Common Automotive Debug Scenarios
Intermittent Error Frames During Vehicle Start
Vehicle start-up causes large supply voltage transients. CAN transceivers with marginal common-mode rejection may produce bit errors during cranking. Use the error-frame trigger combined with long pre-trigger capture to observe the bus state and supply voltage (on a separate analog channel) leading up to the error.
Bus-Off Recovery Failures
When a CAN node accumulates 256+ error counts, it enters bus-off state and must wait 128 occurrences of 11 consecutive recessive bits before rejoining. If the bus is heavily loaded, the node may never see enough idle time to recover. Capture the bus continuously at a low sample rate (100 kS/s) for several seconds and analyze the idle gaps between frames.
DBC Mismatch After ECU Software Update
After flashing new firmware, an ECU may transmit frames with different data layout than the DBC file specifies, causing incorrect signal interpretation at other nodes. Load both the old and new DBC files in the Acute software and compare decoded signal values side by side.
Impedance Mismatches and Reflections
On CAN FD buses operating at 5+ Mbit/s, unterminated stubs longer than 30 cm cause reflections visible as ringing on the analog waveform. These reflections reduce noise margin and can cause intermittent bit errors. Use an MSO’s analog channel to capture the bus waveform and measure reflection amplitude relative to the differential voltage levels.
Summary
CAN FD protocol analysis requires tools that handle dual-bit-rate decoding, differential bus connections, and protocol-specific triggering. Acute instruments — from the portable TravelBus and TravelLogic to the bench-grade LA4000 and dedicated BusFinder — provide the sample rate, decode capability, and trigger flexibility needed for automotive CAN FD development and validation.
Produits associes
Besoin d'aide pour choisir le bon instrument ?
Notre équipe d'ingénieurs peut vous aider à trouver la meilleure solution pour votre application. Contactez-nous pour une recommandation personnalisée ou pour planifier une démo.