CAN Error Injection

A Simple but Versatile Approach

Nowadays, CAN buses are standard building blocks, not only in automotive area and industrial automation, but to an increasing degree in safety sensitive areas, including medical environments, aircraft industry and even in space. With the elevated safety requirements there's a rising need for verification, simulation and testing.

In general, CAN controllers available on the market are unable to generate CAN traffic containing errors or violating CAN ISO 11898 standard. This paper describes a simple and effective approach using flexible FPGA technology to inject errors into CAN buses. Adding rather small error injection units to a CAN controller within an FPGA provides means to not only generate all kinds of errors on CAN bus, but also to interact with and modify ongoing CAN traffic, at the cost of little more than standard CAN hardware.

Error injection units feature several injection modes, such as CAN arbitration, time triggered or pattern matching, and can be combined to accommodate more complex scenarios.

esd offers an esdACC Error Injection GUI Tool for free to control the error injection units. The manual of the tool can be downloaded by registered users: esdACC Error Injection GUI Tool Manual (.pdf)

Name Short description
CAN-PCI/400 PCI-CAN interface CAN-PCI/400 by esd 2 or 4 Channel PCI-CAN Interface with esdACC (Layer 2, CANopen®, J1939 or ARINC825)
  • PCI Board for up to 4xCAN
  • Real-time OS Support and Higher Layer Protocols CANopen, J1939, ARINC825
  • Advanced CAN Diagnostics
CAN-PCIe/400 PCI Express CAN interface board (Layer 2, CANopen®, J1939): CAN-PCIe/400 2 or 4 Channel PCI Express® CAN Interface Board with esdACC (Layer 2, CANopen®, J1939 or ARINC825)
  • PCI Express Board for up to 4x CAN
  • Real-time OS Support and Higher Layer Protocols CANopen, J1939, ARINC825
  • Advanced CAN Diagnostics
CAN-USB/400 USB-CAN bus interface: CAN-USB/400 by esd 2x CAN (Layer 2, CANopen®, J1939 or ARINC 825)
  • Two High-Speed CAN Interfaces for USB
  • Robust and Easy to Handle
  • Advanced Diagnostics and Timestamping
CAN-USB/400-IRIG-B USB-CAN bus interface with IRIG-B Input: CAN-USB/400-IRIG-B by esd electronic system desig 2x CAN (Layer 2, CANopen®, J1939 or ARINC 825, IRIG-B Input)
  • Two High-Speed CAN Interfaces for USB
  • Robust and Easy to Handle
  • Advanced Diagnostics and Timestamping
PMC-CAN/400-4 4x CAN with ARINC 825 Protocol + IRIG-B: PMC-CAN/400-4 by esd 4x CAN: Layer 2, CANopen®, J1939 or ARINC 825, optional IRIG-B
  • PMC Board with FPGA for 4x CAN via DSUB25
  • Wide Range of Operating System Support and advanced CAN Diagnostic
  • Variety of Hardware Designs