CAN Analysis Tools & Debugging
Essential CAN Tools
| Tool | Vendor | Cost | Best For |
|---|---|---|---|
| CANalyzer | Vector | ~€3,000+ | Professional bus analysis, industry standard |
| CANoe | Vector | ~€6,000+ | Full simulation + analysis + CAPL scripting |
| PCAN-View | PEAK-System | Free (with ~€250 hardware) | Budget-friendly monitoring |
| BusMaster | RBEI (open source) | Free | Open-source with scripting |
| SavvyCAN | Open source | Free | Cross-platform, reverse engineering |
| python-can | Open source | Free | Python scripting and automation |
Reading a CAN Trace (.asc format)
0.000000 1 100 Rx d 8 1A 2B 00 00 00 00 00 00
0.010000 1 120 Rx d 4 05 32 A0 00
0.020000 1 380 Rx d 2 0F 03
| Field | Value | Meaning |
|---|---|---|
| Timestamp | 0.000000 | Seconds since trace start |
| Channel | 1 | CAN bus channel |
| ID | 100 | Message identifier (hex) |
| Direction | Rx | Received by logger |
| Type | d | Data frame |
| DLC | 8 | Data length code |
| Data | 1A 2B 00... | Payload bytes (hex) |
Systematic Debugging Approach
1. Physical layer first: Measure termination (should be 60Ω). Probe CAN_H/CAN_L with oscilloscope.
2. Check for error frames: Filter trace for errors. Continuous errors = physical fault.
3. Check TEC/REC counters: Climbing TEC = local transmit problem. Climbing REC = incoming traffic issues.
4. Check bus load: Above 70%, latency increases and lower-priority messages miss deadlines.
5. Compare against DBC: Decode raw data. Verify signal values make physical sense.
Exercise: Connect a PCAN adapter or ELM327 to your vehicle's OBD-II port. Capture 30 seconds of traffic. Count unique message IDs, find the most frequent one, and check for error frames.