CAN-Bus

Updated: 24 April 2017

 

Avionics_ArchitectureThis page contains the information about implementation of CAN for interconnecting Experimental Avionics devices.

Interconnecting all the avionics through CAN opens up a lot of opportunities to create very flexible and open architecture.

CAN is very reliable and relatively simple network protocol for connecting devices via a pair of twisted wires developed by Bosch in 1980s..

CAN has become an industry standard in automotive and aviation for communication between devices and controllers.
If it is good for Toyota and Airbus, then it is good enough for me. Avionics leaders such as Dynon, Garmin, NGT ect also use some form of CAN to interconnect their devices.

Here is a good short article about CAN and aviation: http://www.aviationtoday.com/2009/05/01/can-bus-in-aviation/


General notes

Advertising


CAN is used to deliver information from various sensors (EMS, ADAHRS) to display units.

Hardware implementation of CAN is based on NiRen breakout board built on MCP2515 chip.

Current network speed – 1Mbit/sec.

Terminating resistors are available on the breakout boards. Two devices connected at the ends of the bus should have the terminating resistors enabled by shortening (connecting together) the relevant pins on the MCP2515 board.

All the devices use 9 pin D-SUB connectors with female connector on the device side and male connector on the cable side.

D-SUB connectors on the device side connected to their PCB boards via flat IDC cable.

Power supplied to the devices via the CAN cable through a separate pair. In order to match current’ rating of CAN cable with IDC cable, three separate conductors of IDC connected to supply the power to the boards. See the pinout of the D-SUB and IDC connectors below.

CAN_IDC_Pinout

Messages sent “blind”.
In other words sensor sends a messages on regular intervals and doesn’t care whether anyone asked for it.
In some cases devices can “request” the information and expect a “response”. The response will be sent with high priority message ID and the requesting device waits for the “response” ignoring other messages. This is done only for configuration tasks such as time synch ect. This type of data exchange should not be performed in-flight.

All messages use standard 11 bit ID.

All messages are standard length – between 1 and 8 bytes.

Each message contains 1 or more pieces of information. For example engine temperature information EGT and CHT for cylinder 1 and 2 will come in one 8 byte message – 2 bytes for each temperature.

CAN Masks

Each display unit listens to the information relevant to it. So, EFIS ignores engine data, EMS Display ignores flight information data. Some data can be addressed to both display units. Main purpose of this arrangement is to increase display’s information throughput. So, CAN adapters on the display units have the following filter masks:
EFIS CAN mask: 0000 1000
EMS CAN mask: 0001 0000

In other words if the sensor is sending a message to EMS Display, the message id (CAN ID) should have the fifth bit set to 1. See the Message ID allocation chart below for more details.

EMS CAN IDs and message structure

ID Bytes
Message description BIN DEC HEX 1 2 3 4 5 6 7 8
EMS. RPM, Fuel Flow, Fuel Pressure 00 0011 0010 050 032 RPM F. Press F. Flow
EMS. Fuel Level 1, Fuel Level 2 00 0101 0000 080 050 Fuel Lvl1 Fuel Lvl2
EMS. Oil Temp. Oil Pres 00 0101 0001 081 051 Oil Temp Oil Press
EMS. EGT 1,2, CHT 1,2 00 0101 0010 082 052 EGT1 EGT2 CHT1 CHT2
EMS. EGT 3,4, CHT 3,4 00 0101 0011 083 053 EGT3 EGT4 CHT3 CHT4
EMS. EGT 5,6, CHT 5,6 00 0101 0100 084 054 EGT5 EGT6 CHT5 CHT6
EMS. Volts and Amps 00 0101 0101 085 055 Volt Amps
EMS. Engine Time 00 0111 0000 112 070 TT_RPM TT_Clock

 

EFIS CAN IDs and message structure

Coming soon

 

Message ID allocation chart

Priority 1 Priority 2 Priority 3 Priority 4
OTHER 00 0000 0000 000 00 0010 0000 032 00 0100 0000 064 00 0110 0000 096
00 0000 0001 001 00 0010 0001 033 00 0100 0001 065 00 0110 0001 097
00 0000 0010 002 00 0010 0010 034 00 0100 0010 066 00 0110 0010 098
00 0000 0011 003 00 0010 0011 035 00 0100 0011 067 00 0110 0011 099
00 0000 0100 004 00 0010 0100 036 00 0100 0100 068 00 0110 0100 100
00 0000 0101 005 00 0010 0101 037 00 0100 0101 069 00 0110 0101 101
00 0000 0110 006 00 0010 0110 038 00 0100 0110 070 00 0110 0110 102
00 0000 0111 007 00 0010 0111 039 00 0100 0111 071 00 0110 0111 103
EFIS 00 0000 1000 008 00 0010 1000 040 00 0100 1000 072 00 0110 1000 104
00 0000 1001 009 00 0010 1001 041 00 0100 1001 073 00 0110 1001 105
00 0000 1010 010 00 0010 1010 042 00 0100 1010 074 00 0110 1010 106
00 0000 1011 011 00 0010 1011 043 00 0100 1011 075 00 0110 1011 107
00 0000 1100 012 00 0010 1100 044 00 0100 1100 076 00 0110 1100 108
00 0000 1101 013 00 0010 1101 045 00 0100 1101 077 00 0110 1101 109
00 0000 1110 014 00 0010 1110 046 00 0100 1110 078 00 0110 1110 110
00 0000 1111 015 00 0010 1111 047 00 0100 1111 079 00 0110 1111 111
EMS 00 0001 0000 016 00 0011 0000 048 00 0101 0000 080 00 0111 0000 112
00 0001 0001 017 00 0011 0001 049 00 0101 0001 081 00 0111 0001 113
00 0001 0010 018 00 0011 0010 050 00 0101 0010 082 00 0111 0010 114
00 0001 0011 019 00 0011 0011 051 00 0101 0011 083 00 0111 0011 115
00 0001 0100 020 00 0011 0100 052 00 0101 0100 084 00 0111 0100 116
00 0001 0101 021 00 0011 0101 053 00 0101 0101 085 00 0111 0101 117
00 0001 0110 022 00 0011 0110 054 00 0101 0110 086 00 0111 0110 118
00 0001 0111 023 00 0011 0111 055 00 0101 0111 087 00 0111 0111 119
BOTH 00 0001 1000 024 00 0011 1000 056 00 0101 1000 088 00 0111 1000 120
00 0001 1001 025 00 0011 1001 057 00 0101 1001 089 00 0111 1001 121
00 0001 1010 026 00 0011 1010 058 00 0101 1010 090 00 0111 1010 122
00 0001 1011 027 00 0011 1011 059 00 0101 1011 091 00 0111 1011 123
00 0001 1100 028 00 0011 1100 060 00 0101 1100 092 00 0111 1100 124
00 0001 1101 029 00 0011 1101 061 00 0101 1101 093 00 0111 1101 125
00 0001 1110 030 00 0011 1110 062 00 0101 1110 094 00 0111 1110 126
00 0001 1111 031 00 0011 1111 063 00 0101 1111 095 00 0111 1111 127

 

One comment on “CAN-Bus
  1. Oleg Oleg says:

    Thank you the link. I’ll check it out

Leave a Reply

Your email address will not be published. Required fields are marked *

*