Basic CAN Protocol Controller Core

The Controller Area Network (CAN) bus, originally developed for the car industry, is a fast, reliable and cost-effective data bus for multi-master and real-time applications. In addition to automotive applications, it is widely used in applications such as factory automation, machine control, building automation, maritime, medical, railway and avionics. The iniCAN core first was introduced to the market in 1994 and since then is used in a lot of different applications.

The iniCAN core contains all the low-level CAN protocol handling. The core contains the complete data link layer, including the framer, transmit and receive control, error handling, error reporting and bit synchronization. Simple message level transmit and receive interfaces facilitate smooth system integration. The core provides status on error counts and events as well as a low-level frame reference pointer which identifies the current bit position within a CAN frame. This feature comes in handy when developing CAN protocol analyzers or if detailed reporting on the bit-level is required.

Block Diagram

Block Diagram


  • Implementation of CAN protocol version 2.0A/B, ISO-11898-1
  • Supports standard and extended identifiers
  • Maximum bus speed of 1 Mbps
    • Programmable pre-scaler (1-256)
    • Programmable bit sampling settings according to CAN standard
  • Access to internal frame reference pointer
    • Indicates which bit of a CAN frame is currently on the bus
  • Built-in CAN error handling
    • Access to receive and transmit error counters
    • Bus state: Error active, error passive, bus-off
    • Interrupts for CRC error, bit stuffing error, bit error, format error, arbitration loss, and overload frame
  • Parallel message level interface
    • Simplifies system integration
  • Test modes
    • Listen only mode (controller doesn't send any messages to the bus)
    • Internal loop-back (controller receives only its own messages)
    • External loop-back (controller receives a copy of sent message)
  • Register based design
    • Technology independent
    • Full synchronous design


  • Low-level CAN protocol engine
  • Message buffers and filters are application specific add-ons
  • Register based
  • Technology independent


iniCAN data sheet