CAN Controller DO-254 IP Core

Overview

The CAN Controller implements a Controller Area Network as specified in the ISO 11898 Part 1 and in the CAN Specification Version 2.0.

The Controller Area Network (CAN) is a serial communications protocol which efficiently supports distributed real-time control with a very high level of security.

Its domain of application ranges from high speed networks to low cost multiplex wiring. In automotive electronics, engine control units, sensors, anti-skid-systems, etc. are connected using CAN with bit rates up to 1 Mbit/s. At the same time it is cost effective to build into vehicle body electronics, e.g. lamp clusters, electric windows etc. to replace the wiring harness otherwise required.

The CAN Controller has been developed to DAL A according to the DO-254 / ED-80 and is accompanied by a Certification Kit. For lower DAL levels reduced documentation sets are available. The core is also available as a netlist for DAL D or projects not needing the full RTL source.

The CAN Controller is already being used in two programs: a civil rotorcraft and a civil large airplane, both as DAL A.

Implementation Details

 

The following tables show some examples of implementing the CAN Controller in different technologies and devices. Note that the CAN Controller is technology independent, and therefore it can be implemented in any technology/device as long as it contains enough resources (Flip-Flops, gates, pins, etc.).

Unless otherwise specified all the runs have been performed with the default options of the respective tool. Register placement on the IO has been disabled.

No constraints were added, so the results listed under the column “Maximum ‘clk’ Frequency” are the worst case scenario (no multicycle, false paths, etc. defined).

The results are provided for a CAN Core with TTC counters of 16 bits (‘g_TTC_COUNTER_SIZE’ = 16) and without TMR (Triple Module Redundancy). If TMR is used the number of registers will be triplicated, the combinatorial logic will also increase and there might be a penalty on the Maximum ‘clk’ Frequency.

ACTEL / MICROSEMI

FPGA Type Maximum ‘clk‘ Frequency Logic Modules (CORE)
ProASIC3

 

(A3P1000 484FBGA I Std)

53.5 MHz 2604
IGLOO

 

(AGL1000V5 484FBGA I Std)

50.49 MHz 2604
Fusion

 

(AFS1500 676FBGA I Std)

53.47 MHz 2637
Axcelerator

 

(RTAX1000S 352CQFP Mil Std)

66.35 MHz SEQUENTIAL (R-cells): 663

 

COMB (C-cells): 1432

ALTERA

FPGA Type Maximum ‘clk’ Frequency Flip-Flops ALUTs ALMs Logic Cells
MAX II

 

(EPM2210FF324I5)

59.59 MHz 610 1394
Cyclone III

 

(EP3C16F484I7)

120 MHz 610 1303
Stratix II

 

(EP2S60F484I4)

173 MHz 610 783 566
Stratix III

 

(EP3SE110F780I3)

> 220 MHz 610 779 548
Stratix IV

 

(EP4SGX70HF35C2)

> 240 MHz 610 797 547

XILINX

FPGA Type Maximum ‘clk‘ Frequency Flip-Flops 4-LUTs Slices Macrocells
CoolRunnerII

 

(XC2C128-6-TQ144)

NA NA NA
Spartan3

 

(XC3S1000-5FG456)

104 MHz 617 1377 846
Virtex2

 

(XC2V1000-6BG575)

128 MHz 616 1344 825
Virtex4

 

(XC4VLX15-12SF36

182 MHz 615 1384 847
Virtex5

 

(XC5VLX30-3FF676)

234 MHz 564 430

Key Features

  • Design Assurance Level A according to RTCA DO-254/ED-80 (April, 2000)
  • Fully compliant to Bosch’s CAN Specification 2.0 (Sep 1991)
  • Time Triggered Communication (TTC) support according to ISO 11898-1 (2003-12-01)
  • Tested as specified in the ISO 16845 (2004-03-15)
  • Single clock domain fully synchronous design
  • Configurable data rate up to 1 Mbit/s
  • Interfaces to standard transceivers without additional logic
  • Simple interface to user’s logic
  • TMR coded for SEU immunity (optional)
  • Technology independent (can be synthesized to any FPGA/CPLD vendor)

Block Diagram

CAN Controller DO-254 IP Core Block Diagram

Technical Specifications

Foundry, Node
All
Maturity
Integrated and Flying in aircraft.
Availability
Immediate
×
Semiconductor IP