Canas 17
Canas 17
Canas 17
Copyright statement
Front cover photograph: NASA test pilot Rogers Smith flying the X-29 research aircraft
over Mojave Desert, California
Section Page
1 Introduction 4
2 Message data types and identifier assignment 4
2.1 Message types 4
2.2 Data types 5
3 Message structure 7
3.1 General message format 8
3.2 Emergency event data (EED) format 9
3.3 Normal operation data (NOD) message format 9
3.4 Node service data (NSH/NSL) message format 9
3.5 Debug service data (DSD) message format 9
3.6 User-defined data (UDH/UDL) message format 9
4 Node service protocol 10
4.1 Identification service (IDS) 13
4.2 Node synchronisation service (HSS) 14
4.3 Data download service (DDS) 15
4.4 Data upload service (DUS) 16
4.5 Simulation control service (SCS) 17
4.6 Transmission interval service (TIS) 17
4.7 FLASH programming service (FPS) 18
4.8 State transmission service (STS) 19
4.9 Filter setting service (FSS) 19
4.10 Test control service (TCS) 19
4.11 Baudrate setting service (BSS) 20
4.12 Node-ID setting service (NIS) 20
4.13 Module information service (MIS) 21
4.14 Module configuration service (MCS) 21
4.15 CAN-ID setting service (CSS) 22
4.16 CAN-ID distribution setting service (DIS) 22
5 CANaerospace default identifier distribution 24
5.1 Flight state/air data 26
5.2 Flight controls data 28
5.3 Aircraft engine/fuel system data 31
Section Page
2.1 Message types The data format definition specifies 6 basic message types, which are
used for different network services. Each message type has an asso-
ciated CAN-ID range defining the message priority. Generally, the
identifier distribution within the specified ranges is at the users discre-
tion. A standard CANaerospace identifier distribution addressing com-
monly used data objects and devices in aerospace applications is
made in section 5, however. The use of this standard distribution sche-
me is highly encouraged for interoperability reasons.
CAN-ID
Message Type Explanation
Range
2.2 Data types For data representation, the most commonly used basic data types
are defined. Additionally, combined data types (i.e. two, three and four
16 bit and 8 bit data types in one CAN message) and aggregate data
types (64-bit double float) are supported. Other data types can be ad-
ded to the type list as required. The type number in the range of 0-255
is used for data type specification as described in section 3.1.
3 Message structure
The coding of the data into the CAN message bytes is according to the
Big Endian definition as used by Motorola 68K, SPARC, PowerPC,
MIPS and other major processor architectures. All CAN messages
consist of 4 header bytes for identification and between 1 and 4 data
bytes for the actual data.
Message header
3.3 Normal Operati- Normal Operation Data (NOD) is transmitted during normal operation,
on Data (NOD) either cyclic or asynchronously. The data type (and therefore the mes-
message format sage byte count) is taken from the data type list:
3.4 Node Service Node Service Data (NSH/NSL) is data associated to the node service
Data (NSH/NSL) protocol as specified in section 4. The message format is similar to
message format NOD. Node service data, however, is transmitted on specific identi-
fiers only:
3.5 Debug Service The Debug Service Data message format is entirely user-defined be-
Data (DSD) mes- cause of the specific requirements resulting from the various host/tar-
sage format get communication protocols. Aside from using the specified identifier
range, no restrictions apply. To maximize flexibility, the message layout
and the data types must not follow any of the CANaerospace definiti-
ons. It is encouraged, however, to use the proposed standard.
3.6 User-Defined User-Defined Data message formats may be created for specific pur-
Data (UDL/UDH) poses. Aside from using the specified identifier range, no restrictions
message format apply. To maximize flexibility, the message layout and the data types
must not follow any of the CANaerospace definitions. It is encouraged,
however, to use the proposed standard.
This is the identifier assignment for the low priority node service chan-
nels:
Distribution ID (Byte 2
Identifier Distribution
of IDS response)
0 CANaerospace standard
2 Service 0 0
Code
4.2 Node Synchroni- The node synchronisation service is a connectionless service (no ser-
sation Service vice response required) used to perform time synchronisation of all
(NSS) nodes attached to the network. Therefore, the node-ID is set to 0. The
time stamp may be used to submit a 32 bit value for clock settings:
0 Node-ID 0
2 Service 1
Code
3 Message 0
Code
2 Service 2 2
Code
The addressed node now accepts data until the final message number
has been reached. To control download speed, the addressed node
may send a service response at any time during the download pro-
cess, specifying the current message number and XOFF or XON. By
specifying ABORT or INVALID, the download is cancelled immediately
without further action. The transmitting station has to react correspon-
dingly by stopping or resuming data transmission.
After the last message has been received, the addressed node trans-
mits a service response with a checksum calculated from summing up
all received data. This allows the requesting node to determine if all
data has been received properly:
2 Service 2 2
Code
4.4 Data Upload Ser- The data upload is a connection-oriented service and is used to recei-
vice (DUS) ve a block of data from another node. The size of the data block may
be in the range of 1-1020 bytes, specified by the message number
field of the header. To initiate the service, the requesting station sends
a start upload request message to the addressed node, specifying
the source memory identifier and the number of messages which is
expected to be received. It then waits up to 100ms for a service re-
sponse. After having transmitted the service response, the addressed
station waits 10ms and then transmits the requested number of data
messages:
2 Service 3 3
Code
0 Node-ID <node-ID>
2 Service 3
Code
4.5 Simulation Con- The simulation control service is a connection-oriented service and is
trol Service used to change the behaviour of the addressed node by controlling in-
(SCS) ternal simulation software functions. Those functions are usually im-
plemented to support the use of the equipment in a simulated
environment where not all external interfaces are available and vary
widely between systems. Consequently, the format of this service is
mostly user-defined:
2 Service 4 4
Code
4.6 Transmission In- The transmission interval service is a connection-oriented service and
terval Service is used to set the transmission rate of a specific CAN message trans-
(TIS) mitted by the addressed node. This is accomplished by specifying the
corresponding CAN identifier and the desired transmission rate for this
data in milliseconds. The allowed range for the CAN identifier and the
2 Service 5 5
Code
3 Message 0 0 = OK
Code -6 = CAN identi-
fier or transmissi-
on rate out of
range
2 Service 6 6
Code
0 Node-ID <node-ID>
2 Service 7
Code
3 Message 0
Code
4.9 Filter Setting Ser- The filter setting service is a connection-oriented service used to set
vice (FSS) the limit frequency for node-internal highpass, lowpass or bandpass
filter functions:
2 Service 8 8
Code
4.10 Test Control Ser- The test control is a connection-oriented service and is used to control
vice (TCS) internal test functions of the addressed node. Such functions are
usually implemented to support in-service testing of the equipment
and vary widely between systems. Consequently, the format of this
service is mostly user-defined:
2 Service 9 9
Code
4.11 Baudrate Setting The baudrate setting service is a (normally) connectionless service
Service (BSS) that modifies the CAN baudrate of the addressed node. The baudrate
change becomes effective immediately and therefore no response to
this service is transmitted in case of success. In case of failure, howe-
ver, the node maintains its original baudrate and returns an error code:
Service
Response
Message Data Field Service
(not transmitted
Data Byte Description Request
when request
was successful)
2 Service 10 10
Code
3 Message 0 -1 = baudrate
Code code unknown
4.12 Node-ID Setting The Node-ID setting service is a connection-oriented service used to
Service (NIS) set the ID of the addressed node. The new ID becomes effective im-
2 Service 11 11
Code
4.13 Module Informati- The module information service is a connection-oriented service that
on Service (MIS) returns information about modules installed in the addressed node.
The nature of these modules varies widely between systems. Conse-
quently, the format of this service is mostly user-defined:
2 Service 12 12
Code
4.14 Module Configu- The module configuration service is a connection-oriented service that
ration Service configures modules installed in the addressed node. The nature of
(MCS) these modules varies widely between systems. Consequently, the
format of this service is mostly user-defined:
2 Service 13 13
Code
4.15 CAN Identifier The CAN identifier setting service is a connection-oriented service
Setting Service used to set the CAN identifier of a specific CAN message transmitted
(CSS) by the addressed node. This is accomplished by specifying the mes-
sage through a unique message number together with the desired
CAN identifier for this message. The allowed range for the message
number and the CAN identifier is user-defined:
2 Service 14 14
Code
3 Message 0 0 = OK
Code -6 = message
number or CAN
identifier out of
range
2 Service 15 15
Code
Example: AnalogFactor
EGT range: 0-1500K
AnalogScale = 1500 ($05DC)
AnalogFactor = 32767/1500 = 21.84
AnalogValue = 16384 ($4000)
SensorValue = 16384/21.84 = 750K
airflow
Symbol Definition
V Velocity vector
A Lift vector
We Drag vector
Angle of attack
Angle of sideslip
These axis systems define the signs used for flight state data. The
signs used for the cockpit flight controls are not specified in ISO 1151
and therefore defined according to international conventions.
5.2 Flight controls The flight controls section also contains aircraft engine controls. This
data data is divided into sections A and B to support dual redundant engine
control systems (ECS). All engine data is available with two different
CAN identifiers so that it may be transmitted on the same bus without
interference.
In case this feature is not used, ECS channel A may also be interpre-
ted as starboard engines and ECS channel B as port engines so
that in total, up to eight engines per aircraft may be supported.
5.9 Miscellaneous
data
CAN Miscellaneous Suggested
Units Notes
identifier parameter name data types
CAN Suggested
Parameter name Units Notes
identifier data types
6.1 Baseline system The baseline system reflects the avionic system as installed in a IFR-
equipped single engine general aviation aircraft using flat panel prima-
ry flight and navigation displays. This architecture was chosen as it
can potentially support highway in the sky (HITS) technology. Even
though it was kept rather simple, however, to better serve its purpose
as explanatory example:
CANaerospace
System Description
Node-ID
Number of
Parameters/ Transmission
Transmission Transmission
Transmission Slot
interval Slots (equalling
Slot Identification
100% bus load)
Trans-
Tx Data
Parameter Name Unit mission CAN-ID
Slot Type
Interval
A0 A1 A2 A3 A4 A5 A6 A7 A8 D0 D1 D2 D3 G0
minor time frame 12.5ms
..... .....
The CAN bus data frame (11-bit identifier) has the following outline:
6.3 Bus load compu-
tation The CAN bus data frame (11-bit identifier) has the following outline:
1 11 1 6 15 111 7
end of frame
ACK delimiter
ACK slot
CRC delimiter
CRC sequence field
data field (0 ... 8 data bytes)
control field (number of data bytes)
RTR (remote transmission request) bit
message identifier
start of frame
interframe space (>= 3 bits)
Most
Most CANaerospace
CANaerospace messages
messages use use all
all 8
8 bytes
bytes of
of the
the data
data field
field which
which
results
results in a message length of 44bits + 64bits = 108bits. To compute
in a message length of 44bits + 64bits = 108bits. To compute
the
the maximum
maximum bus bus capacity,
capacity, we
we have
have toto add
add the
the interframe
interframe space
space
(3bits)
(3bits) and a number of stuff bits (a maximum of 18 additional bits,
and a number of stuff bits (a maximum of 18 additional bits, we
we
assume
assume an average of 14) which gives a message length of 108bits +
an average of 14) which gives a message length of 108bits +
3bits
3bits +
+ 14bits
14bits == 125bits.
125bits. Assuming
Assuming the the maximum
maximum datadata transfer
transfer rate
rate of
of
1Mbit/s,
1Mbit/s, aa CANaerospace
CANaerospace message
message takes
takes 125s
125s toto transmit.
transmit. Hence,
Hence,
the CANaerospace bus capacity is 8.000 messages/second.
the CANaerospace bus capacity is 8.000 messages/second.
Defining
Defining a
a minor
minor time
time frame
frame of
of 12.5ms
12.5ms (80Hz)
(80Hz) results
results in
in 100
100 parame-
parame-
ters
ters which can be transmitted during this interval. This number can
which can be transmitted during this interval. This number can be
be
considered 100% bus load:
considered 100% bus load:
CANaerospace
CANaerospace message
message time:time: 125s
125s
Selected minor time frame:
Selected minor time frame: 12.5ms
12.5ms
100%
100% bus load: 12.5ms/125s = 100 messages
Byte bus load:1 Byte 2 Byte 3 Byte
0 Byte 12.5ms/125s
4 Byte 5 =Byte 100 6messages
Byte 7
For 29-bit identifier CAN messages (CAN 2.0B), the message time is
For 29-bit
145s, identifier
which resultsCAN messages
in 16% less bus(CAN 2.0B),
capacity thefor
than message time is
11-bit identifier
145s, Message
which results
CAN messages. Header
in 16%
If both 11-bitless
andbus capacity
29-bit than for
messages are11-bit
used identifier
at the
CAN messages. If both 11-bit and 29-bit messages
same time, the calculation should be done for each identifierare used type
at the
se-
same time, the calculation should be done for each identifier
perately and combined afterwards to assemble the resulting bus sche- type se-
perately and
dule data. combined afterwards to assemble the resulting bus sche-
dule data.
Our baseline system uses the following parameter/transmission inter-
Our baseline system uses the following parameter/transmission inter-
val matrix:
val matrix:
12.5ms 9 9 1
100ms 36 5 (4.5) 8 (0.1s/12.5*10-3s)
1s 10 1 (0.125) 80 (1s/12.5*10-3s)
total 55 15 (13.625)
13.625%
Keeping in mind that asynchronous event data or node service data
might require additional bus capacity, we should leave some margin
for this (around 20%). Therefore, our system should not continously
exceed 80% bus load. Even though, this analysis shows that CANae-
rospace offers adequate growth capability for general aviation aircraft
avionics.
Bus 1
Bus 2
0 0 304 $130
1 65536 65840 $10130
2 131072 131376 $20130
3 196608 196912 $30130
n 65536 * n 65536 * n + 304 $[10*n]130
7.2 System redun- Unlike other buses like ARINC429, ARINC629 or MIL-STD-1553B,
dancy and the CANaerospace is a dynamic network with a bus schedule that varies
CANaerospace within certain limits. Certification in flight safety critical applications,
header however, requires to demonstrate the proper function of the data trans-
mission under all conditions. Monitoring CANaerospace messages
during normal operation and processing the header information deli-
vers the required information for certification. Additionally, the header
information improves flexibility and supports dynamic network reconfi-
guration. Power down/up situations are handled gracefully, units may
be added to the network without software changes. Taking advantage
of the header information, CANaerospace bus analyzers and simula-
tors can be inserted even into a running network and will immediately
have all information about network structure, units and data. This en-
sures fast and cost-effective maintenance:
Message Header
CAN
DC DC
DC DC
improper CAN shielding
using CAN ground shield
CAN
DC DC
DC DC
proper CAN shielding
without CAN ground
Power +12-36VDC 1
CAN Low 2 6 RS-232 RxD
CAN Ground 3 7 CAN High
RS-232 TxD 4 8 Shield
Power Gnd 5 9 RS-232 Gnd
A
F B
C
E
D
1
2 11 10
3 9
12 13
4
8
5
6 7
1
5
6
2 4
Note: The RS-232 lines defined for this connector type are optional
and may be used for device programming, configuration, etc. They
have no relationship to CAN or CANaerospace.
CAN High
CAN Low