ARINC 429 Protocol Tutorial ReAdapter Tel: (913)735-3784 www.readapter.com service@readapter.com Copyright 2015 ReAdapter, LLC Version Date 1.1 August 10, 2015 1.0 March 16, 2015 Author Aaron Taylor Andrew Langford Comment Initial Creation Additional content, formatting ARINC 429 Protocol Tutorial Page 2 Table of Contents Purpose ..................................................................................................................................... 4 Specification Overview and Use ................................................................................................. 4 Overview ................................................................................................................................ 4 Use......................................................................................................................................... 4 Physical Characteristics ............................................................................................................. 5 Label Format .............................................................................................................................. 5 Overview ................................................................................................................................ 5 Label Field – Bits 1-8 .............................................................................................................. 6 Source/Destination Identifier (SDI) – Bits 9-10........................................................................ 7 Sign/Status Matrix (SSM) – Bits 30-31.................................................................................... 7 Binary Labels (BNR) ........................................................................................................... 8 Discrete Labels ................................................................................................................... 8 Binary-Coded Decimal (BCD) ............................................................................................. 8 Data – Bits 11-29 .................................................................................................................... 9 Binary Data (BNR) .............................................................................................................. 9 Discrete Data .....................................................................................................................11 Binary Coded Decimal (BCD) Data ....................................................................................12 Parity .....................................................................................................................................12 Quick Reference .......................................................................................................................13 About ReAdapter ......................................................................................................................14 Page 3 ARINC 429 Protocol Tutorial Purpose This manual is designed to provide an overview of the ARINC 429 Specification along with typical characteristics and application. This is intended as a quick primer or reference guide, but not a complete document. The ARINC 429 Specification is a copy written document owned and distributed by Aeronautical Radio, Inc. A copy of the complete specification can be purchased at www.arinc.com. Disclaimer: All information below is provided as a guide, ReAdapter, LLC provides no guarantee to the accuracy or use of the information. Specification Overview and Use Overview The ARINC 429 Specification defines a protocol used to transfer data between systems on commercial aircraft. Electrical, timing, signal levels and other characteristics are defined to allow for wide interoperability across avionics subsystems. Manufacturers are encouraged to follow the standard data sets and definitions in the ARINC 429 Specification, though there is no requirement to do so. Following the data sets in the standard allows for greater interoperability across manufacturers and more standard interactions between equipment from different manufacturers. Use The current implementation of the ARINC 429 Specification, last updated in 1983, is composed of three parts: Specification Part Description ARINC Specification 429, Part 2-15: Discrete Word Data Standards Describes how discrete data is stored with bit fields ARINC Specification 429, Part 1-15: Functional Description, Electrical Interface, Label Assignments and Word Formats ARINC Specification 429, Part 3-15: File Data Transfer Techniques Describes physical and electrical components as well as labels, addresses, and word formats Describes the link layer protocol used for data and file transfer Standard formats are described in greater detail later in this tutorial. Page 4 ARINC 429 Protocol Tutorial Physical Characteristics The ARINC 429 Specification describes how avionic subsystems communicate and transfer data on commercial aircraft. ARINC 429 can be wired with only one transmitter per network, but supports up to 20 receivers. Data is half-duplex, meaning data only flows in one direction, from transmitter to receiver(s). Two channels are required for bi-direction communication. Each subsystem may contain any number of transmitters or receivers, and it is not uncommon to have a 'data concentrator' which can receive streams of data from multiple ARINC 429 transmitters. ARINC 429 data payloads are referred to as labels. Each ARINC 429 label is composed of 32 bits of data, each with a specific meaning. The standard requires at least 4 bit-times of zero voltage between sequential labels. There are two supported data rates 1. Low speed – 12.5 kilobits per second (tolerant in the range 12.0-14.5 kbps) 2. High speed – 100 kilobits per second ±1% Both speeds cannot be used on the same data bus, so LRUs typically pick one or the other, depending on bandwidth or latency requirements. Label Format Overview Each ARINC 429 label is made of 32-bits, with each bit having a specific meaning. Generally each label is composed of the following fields: 8-bit label ID 2-bit Source Data Indicator (SDI) 19-bit Data Section 2-bit Sign Status Matrix (SSM) 1-bit Parity 3 2 P 3 1 3 0 SSM 2 9 2 8 MSB 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Data 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 LSB 1 0 SDI 9 8 7 6 5 4 Label ID 3 2 Table 1-ARINC 429 Label Description Unlike most other protocols, ARINC describes each bit starting with 1. Most references to bit numbers in other protocols or computer science literature starts counting with bit 0. ARINC 429 is very consistent in counting from 1 to 32. Bit 32 is the most significant bit, Bit 1 is the least significant bit. The fields described show the typical uses of each bit, but the only required fields are the Parity and the Label fields. All other Page 5 ARINC 429 Protocol Tutorial 1 fields can be defined by the equipment manufacturer. While there is some variation, the vast majority of labels conform to this standard. Label Field – Bits 1-8 Labels are used to determine how the data in the label can be interpreted. In a data stream, each label is typically used to denote a specific type of data with a specific definition. For example, label 150 is commonly used to represent time of day. Each label on a bus for a specific device has a predefined meaning. The eight label bits are interpreted as ‘reverse octal.’ The reverse means that the MSB and LSB are reversed from the rest of the data in the label. The octal means that eight bits are interpreted as octal. The data is described in the following table. LSB Bit 8 Octal Digit 7 Ones 6 5 4 Tens Table 2-Label Field Description 3 MSB 2 1 Hundreds For example, Label 273 would be written with the following bits Page 6 ARINC 429 Protocol Tutorial LSB Bit 8 Octal Digit Binary 273 1 7 3 1 6 5 0 1 4 7 1 Table 3-Label Field Example 3 2 1 0 2 MSB 1 1 Another way to translate the data is to give each bit a value and add the values Bit 1 = 200 Bit 2 = 100 Bit 3 = 40 Bit 4 = 20 Bit 5 = 10 Bit 6 = 4 Bit 7 = 2 Bit 8 = 1 So, using the same example as above, Label 273 = (200) + (40 + 20 + 10) + (2 + 1) Using this encoding, labels can be in the range from 0 to 377, with no 8’s or 9’s. Source/Destination Identifier (SDI) – Bits 9-10 The SDI (Source Destination Identifier) is represented through bits 9 and 10 on a standard label. This field is optional. These bits are typically used when there is more than one instance of the same data on a data bus. For example, the same device may have two sensors for temperature, temperature_1 and temperature_2. The SDI bits could be used to distinguish which sensor was the source for a label by setting bits 9 and 10 to binary 1 (‘01’) for temperature_1 binary 2 (’10’) for temperature_2 This standard scheme limits the use of SDI to 4 values. This limitation has led some manufacturers to use an ‘extended SDI’ scheme where bits from the Data field are used to extend the available bits in the SDI field. Adding a bit, for example bit 11, doubles the number of available SDI sources. The SDI field can also be used to extend resolution for the data field. For higher precision, these bits can become part of the data field. Sign/Status Matrix (SSM) – Bits 30-31 The meaning of the Sign/Status Matrix (SSM) varies with the type of data the label contains. Generally this field contains the validity or state of the data. Each SSM may be set to Page 7 ARINC 429 Protocol Tutorial a valid value, indicating the data encoded is good a bad value, indicating the data cannot be used or the unit has failed No Computed Data (NCD), indicating the data cannot be computed currently, though the unit has not failed. Functional Test, indicating the unit is performing a test, and the data is representative of the test, not the normal functioning of the unit. There are three types of SSM, each with a slightly different encoding scheme, as described in this section. Binary Labels (BNR) Binary Labels use the SSM to describe the state of the data, as described by the table below. 31 30 Interpretation Failure 0 0 Data or unit has failed No Computed Data (NCD) 0 1 Data cannot be computed Functional Test 1 0 Data is from a test and is not normal data Valid 1 1 Data is valid, normal operation Discrete Labels Table 4-Binary (BNR) SSM Discrete Labels use the SSM to describe the state of the data, similar to Binary Labels, but with inverted states. 31 30 Interpretation Valid 0 0 Data is valid, normal operation No Computed Data (NCD) 0 1 Data cannot be computed Functional Test 1 0 Data is from a test and is not normal data Failure 1 1 Data or unit has failed Binary-Coded Decimal (BCD) Table 5-Discrete SSM Binary-Coded Decimal Labels (BCD) use the SSM to indicate the sign or direction of the BCD data in the data field as well as the status of the data. The meaning of the value fluctuates with the type of data encoded. Page 8 ARINC 429 Protocol Tutorial Plus No Computed Data (NCD) Test Minus Data – Bits 11-29 31 30 Interpretation 0 0 Positive, North, East, Right, To, Above 0 1 Data cannot be computed 1 0 Data is from a test and is not normal data 1 1 Negative, South, West, Left, From, Below Table 6-Binary-Coded Decimal (BCD) SSM Data is not transmitted as a series of integers or floating-point numbers as is more common with other data transmission protocols. This is often a source of confusion. Instead, ARINC 429 data is packed in one of three ways. Binary Data (BNR) Binary data starts are bit 29. This bit can be treated as the sign (±) bit, with a zero indicating positive and 1 indicating negative. Unsigned data typically leaves bit 29 as zero. The data is encoded as 2’s compliment data, not sign-magnitude. An easy way to interpret the data is to treat bit 29 as negative twice the value of bit 28. Examples to illustrate this are below. The next bit, bit 28, is then the Most Significant Bit (MSB) of the data. Typically this is picked to be a round number for convenience, though this is not required. Each bit from then on represents a value half that of the bit before it. This continues until an adequate level of precision is achieved. Remaining bits up to the SDI field, bit 10, are then pad bits unless otherwise defined. BNR labels typically encode both their Data and SSM fields using BNR formatting. Page 9 ARINC 429 Protocol Tutorial Examples The value of the data in this example is 512 + 1 + 0.5 + 0.25 = 513.75 1 8 9 10 1 Label ID 8 9 SDI 11 pad 0 13 pad 0 12 14 15 pad pad pad 0 0 18 0.5 1 19 20 21 22 1 1 4 0 2 8 23 16 25 64 24 32 26 128 28 512 27 29 30 31 32 1 256 +/- SSM Parity 0 15 16 17 Sign pad pad pad 0.703125 26 MSB pad 21 25 0 pad 0.175781 24 0 pad 19 23 0 0 pad 22 0 1 13 20 0 0 0 18 0 SDI pad 14 LSB Label ID 11 12 0 0.125 0.25 10 0 16 17 The value of the data in this example is -(2*90) + 90 + 45 = -45 27 28 29 30 31 32 Table 7-Binary Label Examples 0.351563 1.40625 2.8125 5.625 11.25 22.5 45 90 +/- 0 0 0 0 0 0 0 0 LSB 0 0 0 0 0 0 1 1 1 MSB Sign SSM Parity ARINC 429 Protocol Tutorial Page 10 Discrete Data In a Discrete label, each bit in the Data field represents a separate True/False condition. Typically bit 29 is not used in a discrete label, though its use is acceptable. The data in a discrete label is often used to represent information such as the status of a system, a fault, or a physical switch state. Labels in the 270s are typically used for discrete data. Discrete labels typically encode their Data and SSM fields using Discrete formatting. An example is below showing bit 28, “Receiver Fault,” set to True (1). 1 8 9 10 Label ID SDI 11 pad 0 13 pad 0 12 14 15 16 17 18 19 20 21 pad 0 pad 0 pad 0 pad 0 pad 0 pad 0 pad 0 pad 0 pad 0 22 Reserved 2 0 24 Weight on Wheels 0 26 Analog Fault 0 28 Receiver Fault 1 23 25 27 29 30 31 32 Reserved 1 Power Valid Digital Fault +/- LSB 0 0 0 0 MSB Sign (unused) SSM Parity Table 8-Discrete Label Example Page 11 ARINC 429 Protocol Tutorial Binary Coded Decimal (BCD) Data Binary Coded Decimal (BCD) labels are designed to provide a fixed precision up to a specific number of decimal digits. Where Binary labels can provide more precision, it is frequently only possible to represent a value within the resolution of the label and not an exact decimal value. BCD labels can provide an exact decimal representation at the expense of resolution. A BCD label splits the Data field up into 4-digit segments, each with a fixed precision. 3 2 P 3 1 3 0 SSM 2 9 2 8 Digit 1 2 7 2 6 2 5 2 4 Digit 2 2 3 2 2 2 1 2 0 Digit 3 1 9 1 8 1 7 1 6 Digit 4 1 5 1 4 1 3 1 2 Digit 5 1 1 Table 9-BCD Label Description 1 0 SDI 9 8 7 6 5 4 Label ID 3 2 1 A BCD label defines the value of each digit and how many digits are used. There is no standard. Each digit to the left is the next decimal digit, i.e. ten times the previous digit. Each four-bit digit can be in the range from 0 to 9, with values greater than 9 being invalid. BCD labels typically encode their Data and SSM fields using BCD formatting, meaning the SSM is used to describe the sign of the data. Examples In the example below, all five digits are used, with a resolution of 0.01. The value being encoded is 704.93. 3 2 P 3 1 3 0 SSM 0 0 + 2 9 2 8 2 7 Digit 1 1 1 1 7 2 6 2 5 2 4 2 3 Digit 2 0 0 0 0 0 2 2 2 1 2 0 1 9 Digit 3 0 1 0 0 4 1 8 1 7 1 6 1 5 Digit 4 1 0 0 1 9 1 4 1 3 1 2 1 1 Digit 5 0 0 1 1 3 1 0 SDI 9 8 7 6 5 4 Label ID 3 2 1 2 1 Table 10-BCD Label Example 1 In the example below, only four digits of precision are used, with a resolution of 1. The value encoded is -2800. 3 2 P 3 1 3 0 SSM 1 1 - Parity 2 9 2 8 2 7 pad 0 0 0 n/a 2 6 2 5 2 4 2 3 Digit 1 0 0 1 0 2 2 2 2 1 2 0 1 9 Digit 2 1 0 0 0 8 1 8 1 7 1 6 1 5 Digit 3 0 0 0 0 0 1 4 1 3 1 2 1 1 Digit 4 0 0 0 0 0 1 0 SDI 9 8 7 6 5 4 Label ID 3 Table 11-BCD Label Example 2 ARINC 429 labels use the most significant bit, bit 32, as a parity check for error detection. Labels use an odd parity, meaning bit 32 is always set or cleared to ensure the total number of bits at logic 1 in the label is an odd number. This check provides for very simple, efficient error detection. Page 12 ARINC 429 Protocol Tutorial Quick Reference This section is intended to provide the most used reference data for quick access. Print and pin this up to refer to. 3 2 P 3 1 3 0 SSM 2 9 2 8 MSB 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Data 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 LSB BCD 31 30 BNR Dis Valid Pos, N, E, Right, To 0 0 Fail NCD 0 1 Test 1 0 Neg, S, W, Left, From 1 1 Valid Fail 1 0 SDI 9 8 7 6 5 4 Label ID 3 2 1 Bit 8 7 6 5 4 3 2 1 Octal Digit Ones Tens Hundreds Page 13 ARINC 429 Protocol Tutorial About ReAdapter ReAdapter was started to create simple, user friendly tools and equipment. Our belief is tools should be available and intuitive. At ReAdapter we believe you need quality equipment to build quality products. We want to build the kind of tools we’d want to use. Our mission is to make your mission easier. If you like this document and want more information, please contact us. We accept product requests, custom flight-worthy hardware and software. Our mission is to make you mission easier, so if you have a request or any sort, please contact us. ReAdapter Tel: (913)735-3784 www.readapter.com service@readapter.com Page 14 ARINC 429 Protocol Tutorial