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