MultiCAN Controller

Overview

Since its introduction in the mid-1980s, the Controller Area Network (CAN) has become a standard network protocol for automotive applications. Cars manufactured today use CAN for powertrain networks, electronic stability control, diagnostics, and a variety of comfort and convenience features. The success of CAN in the automotive domain has also led to its widespread use in other applications such as industrial control and medical instrumentation where reliability and safety are critical.

MultiCAN improves upon previous CAN implementations, including TwinCAN, by adding features such as additional CAN nodes, more message objects, linked list management of message objects, and support for TTCAN level 2. For backward compatiblity, you can configure MultiCAN to provide features and functionality similar to TwinCAN.

MultiCAN is available in technology-independent, fully synthesizable source code with your choice of host processor bus interfaces: Infineon FPI, XBus, or AMBA APB.

Full CAN Support

MultiCAN provides full CAN support as opposed to basic CAN. In a basic CAN implementation, the CAN interface provides very limited message filtering and storage, typically only enough buffering for one transmit message and one or two receive messages. The host CPU must deal with each transmitted and received CAN message on an individual basis, which results in frequent interrupts and a high processing load on the CPU. In a full CAN implementation like MultiCAN, the CAN interface minimizes CPU load and interrupts by implementing more extensive masking, filtering, and buffering services for CAN messages.

Message Objects

All six CAN nodes share a common set of up to 256 message objects. Each message object can be individually allocated to one of the CAN nodes. In addition to serving as storage containers for incoming and outgoing frames, message objects can be combined to build gateways between CAN nodes or to set up a FIFO buffer. The message objects are organized in double-chained linked lists, where each CAN node has its own list of message objects. A CAN node stores frames only into message objects that are allocated to it, and transmits only messages belonging to its message object list.

  • Transmitting or receiving
  •  Standard (11-bit) or Extended (29-bit) format frames
  •  Message acceptance filtering

Each message object also has a frame counter which can be programmed for either frame counting or frame timestamp monitoring.

Automatic Gateway Support

Message objects can be linked to form a gateway to automatically transfer frames between 2 different CAN buses. A single gateway can link any two CAN nodes, which allows frames (data frames or remote frames) received on one node to to be automatically transmitted on another node. For data frames, the gateway can be configured as a FIFO.

An arbitrary number of gateways may be defined. Once the host CPU sets up a gateway, the operation of the gateway is automatic; no CPU intervention is needed.

Time-Triggered CAN Support

By default, each configured MultiCAN node supports TTCAN level 1 (software-driven) by way of the frame counter. You can also configure the MultiCAN IP to provide complete TTCAN level 1 and 2 support on Node 0. TTCAN support is compliant with ISO 11898-4 and fully conforms to the existing CAN protocol.

With TTCAN support, Node 0 can be programmed for either eventdriven or time-triggered mode. TTCAN related features include:

  •  Full support of basic cycle and system matrix functionality
  •  Usable as time master
  •  Arbitration window support
  •  Global time information available
  •  Built-in scheduler mechanism and timing synchronization unit
  •  External time trigger inputs can be used as transmit triggers for reference messages
  •  Timing-related interrupt
  •  Write protection for scheduler timing data memory
  •  Parity protection for scheduler memory

CAN Analysis Features

  •  CAN analyzer mode for monitoring bus traffic
  •  CAN loopback mode for testing and software development without access to a CAN bus
  •  Bit timing analysis for automatic baud rate detection, synchronization, and driver delay measurement

Key Features

  • Full-CAN support with CAN 2.0B active for each CAN node (supports Standard (11-bit) and Extended (29-bit) frame formats)
  • ISO 11898 compliant
  • Configurable number of independent CAN nodes (1–6)
  • Data transfer rate up to 1 Mbps, individually programmable for each node
  • Configurable number of message objects (16, 32, 64, 128, or 256)
  • Programmable acceptance filtering
  • Time Triggered CAN (TTCAN) support
  • FIFO data handling support: message objects can be combined to build FIFO message buffers of arbitrary size
  • Gateway support: message objects can be linked to form a gateway to automatically transfer frames between 2 different CAN buses
  • Flexible interrupt handling: up to 272 interrupt sources on 16 interrupt nodes
  • CAN analysis support
  • Flexible host processor interface: Infineon FPI, XBus, or AMBA APB
  • Scalable Architecture:
    • Up to 6 CAN Nodes
    • Up to 256 message objects
    • Optional TTCAN Level 2 on Node 0

Block Diagram

MultiCAN Controller Block Diagram

Deliverables

  • Test bench with test suites
  • Documentation including User’s Guide and Integration Guide
  • Technology-independent synthesis constraints

Technical Specifications

Maturity
Silicon Proven
Availability
Now
×
Semiconductor IP