ARINC 664 / AFDX EDE support. MX-Foundation 4 API MAXIM AIR GUI TECHNOLOGIES. Version 2.1

Similar documents
SWITCHED ETHERNET TESTING FOR AVIONICS APPLICATIONS. Ken Bisson Troy Troshynski

DESIGN AND IMPLEMENTATION OF AN AVIONICS FULL DUPLEX ETHERNET (A664) DATA ACQUISITION SYSTEM

Developing and Testing Networked Avionics Systems and Devices By Troy Troshynski, Avionics Interface Technologies

CIS-331 Exam 2 Fall 2014 Total of 105 Points. Version 1

CIS-331 Final Exam Spring 2018 Total of 120 Points. Version 1

CIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1

CIS-331 Spring 2016 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1

Protocol Layers & Wireshark TDTS11:COMPUTER NETWORKS AND INTERNET PROTOCOLS

cs144 Midterm Review Fall 2010

AFDX/ARINC 664 Protocol

Data Acquisition in High Speed Ethernet & Fibre Channel Avionics Systems

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1

CIS-331 Final Exam Spring 2015 Total of 115 Points. Version 1

Communication and Networks. Problems

BIT RATE CALCULATION WITH BARIX DEVICES

A Common Solution to Custom Network Applications

STEVEN R. BAGLEY PACKETS

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

CIS-331 Final Exam Fall 2015 Total of 120 Points. Version 1

ECE4110 Internetwork Programming. Introduction and Overview

Network Layer: Control/data plane, addressing, routers

Process-to-Process Delivery:

Timestamp Provisioning in IEEE 802.3

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

EP2120 Internetworking/Internetteknik IK2218 Internets Protokoll och Principer

EE 610 Part 2: Encapsulation and network utilities

Computer Networks Security: intro. CS Computer Systems Security

HAI Network Communication Protocol Description

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

1-1. Switching Networks (Fall 2010) EE 586 Communication and. October 25, Lecture 24

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Lecture 8. Network Layer (cont d) Network Layer 1-1

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Summary of MAC protocols

Introduction to Computer Networks. CS 166: Introduction to Computer Systems Security

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Network Layer PREPARED BY AHMED ABDEL-RAOUF

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

CIS-331 Final Exam Spring 2016 Total of 120 Points. Version 1

Networking Background

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

AFDX Training Emulator

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

Chapter 4: Network Layer

PART X. Internetworking Part 1. (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution)

ECE 461 Internetworking Fall Quiz 1

internet technologies and standards

Network Security Fundamentals. Network Security Fundamentals. Roadmap. Security Training Course. Module 2 Network Fundamentals

Course Contents. The TCP/IP protocol Stack

CE3005: Computer Networks Laboratory 3 SNIFFING AND ANALYSING NETWORK PACKETS

Review of Important Networking Concepts

Telematics. 5rd Tutorial - LLC vs. MAC, HDLC, Flow Control, E2E-Arguments

Networking Technologies and Applications

Your Name: Your student ID number:

Lecture 3. The Network Layer (cont d) Network Layer 1-1

Switching & ARP Week 3

Ethereal Exercise 2 (Part A): Link Control Protocol

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Internet II. CS10 : Beauty and Joy of Computing. cs10.berkeley.edu. !!Senior Lecturer SOE Dan Garcia!!! Garcia UCB!

TSIN02 - Internetworking

(ICMP), RFC

CS61C Machine Structures Lecture 37 Networks. No Machine is an Island!

ECE 650 Systems Programming & Engineering. Spring 2018

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Scribe Notes -- October 31st, 2017

University of New Hampshire InterOperability Laboratory Ethernet in the First Mile Consortium

AN ENGINEER S GUIDE TO TMoIP

Network Model. Why a Layered Model? All People Seem To Need Data Processing

Network Layer/IP Protocols

Generic term for using the Ethernet standard in automation / industrial applications

II. Principles of Computer Communications Network and Transport Layer

Hands-On Network Security: Practical Tools & Methods

Chapter 20 Network Layer: Internet Protocol 20.1

Lecture 9: Internetworking

CS 421: COMPUTER NETWORKS SPRING FINAL May 16, minutes

ARINC 818 on Copper The Successor to HOTLink II Video Links? A White Paper by Jon Alexander

CSCI-1680 Link Layer Reliability Rodrigo Fonseca

IN THE FIRST MILE CONSORTIUM. Clause 65 Test Suite v1.1 Technical Document. Last Updated: March 23, :43pm

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

CS 43: Computer Networks. 16: Reliable Data Transfer October 8, 2018

Internet Protocol (IP)

3. Provide the routing table of host H located in LAN E, assuming that the host s network interface is called i1. ARes/ComNet

Computer Networks A Simple Network Analyzer Decoding Ethernet and IP headers

Communication Systems DHCP

DetNet. Flow Definition and Identification, Features and Mapping to/from TSN. DetNet TSN joint workshop IETF / IEEE 802, Bangkok

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 8

The Internet Protocol. IP Addresses Address Resolution Protocol: IP datagram format and forwarding: IP fragmentation and reassembly

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Monitoring Ports. Port State

Hardware Telemetry. About Streaming Statistics Export (SSX) Packet Format. About Streaming Statistics Export (SSX), on page 1

Network Security. Introduction to networks. Radboud University, The Netherlands. Autumn 2015

Session Exam 1. EG/ES 3567 Worked Solutions. (revised)

Cubro Packetmaster EX32100

CS61C : Machine Structures

Lecture 16: Network Layer Overview, Internet Protocol

Business Data Networks and Security 10th Edition by Panko Test Bank

The Network Layer Forwarding Tables and Switching Fabric

Transcription:

ARINC 664 / AFDX EDE support MX-Foundation 4 API MAXIM AIR GUI TECHNOLOGIES Version 2.1

Table of Contents I - AFDX / EDE 3 I - 1. AFDX frame layout. 3 I - 2. EDE Message format. 5 II - MX-Foundation 4 - API. 7 II - 1. Work with AFDX on MX-Foundation 4 7 II - 2. Work with AFDX-EDE on MX-Foundation 4.. 9 II - 2.a. EDE support in AFDX COM mode 10 II - 2.b. EDE error detection support in AFDX COM mode. 12 II - 2.c. EDE support in Raw mode > 13 III - MAXIM AIR 14 Conclusion 15 2

I - AFDX / EDE AFDX is an avionics protocol supported by MAX Technologies. AFDX is a protocol over Ethernet with added security to avoid data collisions and reach a deterministic form of Ethernet. As AFDX is over Ethernet, some specifications of AFDX are similar to the ones for regular Ethernet. EDE is a feature added to AFDX to enhance the communication reliability. This section's goal is to clarify some of the most important points of how frames are built. I - 1. AFDX frame layout As shown in Figure 1, the AFDX Message (Payload) is encapsulated in 3 main other layers: - UDP layer - IP layer - MAC layer (header and footer) PAYLOAD UDP PAYLOAD IP UDP PAYLOAD MAC header IP UDP PAYLOAD MAC footer Figure 1 - Message encapsulation 3

Each layer is reserved for defined fields. Only main fields are detailed below. # UDP: 8 bytes UDP source port: Port used by the sending unit UDP destination port: Port to be used by the receiving unit # IP: 20 bytes IP source: IP address of the unit sending the frame IP destination: IP address of the unit that has to receive Fragmentation: An IP Datagram can be fragmented into multiple packets, for example, when the message size is too long for one datagram. If the message is fragmented, a flag is raised in the IP layer. Length: Size in bytes of [IP + UDP + Message] # MAC Header: 14 bytes MAC source: MAC address of the sending unit MAC destination: MAC address of the unit that has to receive the frame Virtual Link ID: The Virtual Link (VL) is a key component of AFDX. A VL is a communication canal between two units. A VL has a specified bandwidth, a maximum frame size and minimum time gap between two frames. It is because of the VL specifications that the AFDX is a deterministic Ethernet protocol. # MAC Footer: 5 bytes MAC FCS: Frame check sequence MAC SN: Sequence number Figure 2 is an example of AFDX frame. The bold digits correspond to the fields detailed above. 03 00 00 00 90 12 02 00 00 3A 30 29 08 00 45 00 00 34 1A 17 00 00 01 11 0B 5B 0A 2A 29 29 E0 E0 80 14 F3 D3 F3 D3 00 20 00 00 26 E5 00 02 52 18 A7 81 42 53 00 0C 11 00 00 01 00 00 00 01 21 1D 9D AD 7A 76 EE 0C E4 Figure 2 - Frame layout Layer Field Example in hex Example in decimal, when relevant Payload Useful data Blue UDP Source Port F3D3 62419 UDP Destination Port F3D3 62419 IP Source Address 0A.2A.29.29 10.42.41.41 4

Layer Field Example in hex Example in decimal, when relevant IP Destination Adress E0.E0.80.14 224.224.128.20 IP Fragmentation 00 00 IP Length 00 34 52 bytes MAC Source 02:00:00:3A:30:29 MAC Destination 03:00:00:00:90:12 MAC VL ID (last two bytes of MAC destination) 9012 36882 MAC FCS 76EE0CE4 MAC SN 7A I - 2. EDE Message format The Error Detection Encoding (EDE) has been introduced to add more reliability on the communication level. On a network supporting EDE Message format, only some Virtual Links are EDE enabled. EDE is not a layer as MAC, IP and UDP are layers. EDE is enclosed in the payload itself. It comprises of a header and a footer. MAC header IP UDP PAYLOAD MAC footer EDE header PAYLOAD EDE footer Figure 3 - EDE Message layout 5

The EDE section contains 4 fields: # EDE Header SN: Sequence number Timestamp: This is the timestamp of when the frame has been sent # EDE Footer CRC X: CRC check using a polynomial CRC Y: CRC check using a second polynomial 6

II - MX-Foundation 4 - API MX-Foundation 4 is the C API that leverages the FlexMulti family. MX-Foundation 4 is a powerful API that supports all of the protocols available on the FlexMultis: ARINC 664 / AFDX ARINC 429 ARINC 825 / CAN ARINC 717 / FDR ARINC 708 / Wx Radar ASYNC RS-232/422/485 MIL-STD-1553 Discrete HDLC/SDLC MX-Foundation 4 can be used for host and embedded applications. MX-Foundation 4 documentation is available online here: www.maxt.com/mxf. A chapter is dedicated to AFDX here. Many examples are included in the documentation as well. II - 1. Work with AFDX on MX-Foundation 4 This section does not intend to replace the actual documentation available online at www.maxt.com/ mxf. This section will only present the main key steps a user has to have in mind when starting with AFDX and AFDX-EDE on MX-Foundation 4. # Raw mode vs. AFDX COM mode Raw mode receive: In Raw mode the acquisition buffer get the data directly from the physical port. This port handle is used for acquisition and no COM/SAP port is required. In this mode the application will read all the physical frames received on the port (including the MAC, IP, UDP layers and the payload). Raw mode transmit: A Raw port can be used to send aperiodic messages from the physical port handle. With a Raw port, the application must supply all the headers (MAC, IP, UDP) and the payload. By default, only the NetID, MAC CRC and IP Checksum will be computed before transmission. AFDX COM mode receive: Reception with an AFDX COM port uses the handle of the COM port to receive messages. Only the payload is returned to the application. The MAC, IP and UDP layers are checked against errors and are not returned to the application. AFDX COM mode transmit: Transmission with an AFDX COM port uses the handle of the COM port for sending messages. Messages will be placed in a subvl queue and transmitted according to the VL BAG. Only the payload needs to be given, the protocol stack will fill up the headers (MAC, IP, UDP) based on the VL creation parameters. 7

# Error injections and detections Error detections: Errors are automatically detected by MX-Foundation 4. Errors that can be automatically detected depend on the acquisition mode. In Raw mode, the API will check errors against the frame itself, as the Raw mode does not parse the headers from the payload. In Raw mode, the available errors are: Data received on physical port B Frame CRC32 error detected Preamble too short or too long SFD error Frame too long In AFDX COM mode, the error detection mechanism allows any receive protocol stack error and events to be reported to a calling application. A receive error can be detected on any layer of the stack depending of the frame type received; COM/SAP Layer, VL Layer, IP/UDP Layer, EDE Layer, Physical Ports Layer. Use Raw mode to work with entire frame (MAC, IP, UDP, payload). Use AFDX COM mode to work with the payload only. MAC, IP and UDP will be validated by the API for you. # Virtual Link definition Virtual Links (VL) have to be defined by the user to work in AFDX COM mode. VL s parameters are: Transmission specs Reception specs Frame Type Maximum Frame Size Specifies subvl ID and bag time Specifies skew time Choice of: - Standard Ethernet frame - ARINC 664 frame - Airbus 664 frame - Boeing 664 frame Largest VL frame size that can be transmitted on the VL. Bandwidth is calculated by dividing the Maximum Frame Size with the bag time 8

II - 2. Work with AFDX-EDE on MX-Foundation 4 EDE is supported by MX-Foundation 4 and the FlexMultis. The support for EDE is fundamentally different depending on the selected mode. AFDX COM mode Raw Mode EDE enabled EDE disabled In AFDX COM mode with EDE enabled, the user works with the payload only. The MAC, IP, UDP, EDE are calculated automatically. The EDE is seen as a layer. In AFDX COM mode with EDE disabled, the user works with the EDE+payload. The MAC, IP, UDP are calculated automatically. The EDE is not seen as a layer. In Raw mode, the user works with the entire frame. The MAC, IP, UDP and EDE have to be calculated by the user. Transmit The user only needs to create the payload to be sent. The EDE header and footer are computed and added to the frame automatically. UDP, IP and MAC are also added automatically. EDE errors can voluntarily be injected as well. Not possible as the application does not know when packets is transmitted (depends on the BAG). Additionally, fragmentation can also cause multiple packets to be sent BAG rate but with only one transmit call. To transmit and respect EDE specs, the program has to include the EDE timetag, EDE CRC X and Y and EDE Sequence number at the right place. As the FlexMulti has a 10ns timing accuracy, the EDE timetag can easily be inserted by the programmer with a great time accuracy for transmission occurring in the future. Receive When frames are received, MAC, IP, UDP and EDE are removed and computed. The API checks for errors on all four layers. The payload only is provided to the user. MAC, IP, UDP and EDE error types and details are also provided. When frames are received, MAC, IP and UDP are removed and computed. The API checks for errors on these three layers. The EDE+payload is provided to the user. MAC, IP and UDP error types and details are also provided. Raw mode provides all layers and payload to the user, including EDE layer. Just as for the MAC, IP, UDP layers, the EDE header and footer are not checked against EDE errors. 9

II - 2.a. EDE support in AFDX COM mode Section II-1 introduced the most important points for AFDX. For EDE support in AFDX COM mode, three other points have to be set properly: - EDE CRC polynomials - VL EDE enabling / disabling - Port SID # EDE CRC Polynomials There are two CRC checks in AFDX-EDE (see section I-2). They are called CRC X and CRC Y. Important: By default, the FlexMultis use the polynomials as in the EDE specs from Boeing (see MXF_A664_FRAME_TYPE_BOEING example below). Alternatively, the users can also enter their own polynomials for CRC X and CRC Y. Once the polynomials are downloaded into the FlexMultis, they will be used for transmit and receive services. vlparam.frametype = MXF_A664_FRAME_TYPE_BOEING; # VL EDE enabling / disabling All Virtual Links (VLs) are not necessarily EDE enabled in a system. It is only two lines to add to the VL definition. vlparam.dir.tx.ede.enable = TRUE vlparam.dir.rx.ede.enable = TRUE Enabling or disabling EDE on a VL lets the API know if the EDE header and footer should be seen as a layer (like MAC, IP, UDP) or not (and be part of the payload) When transmitting with EDE enabled, the API and the FlexMulti automatically compute the EDE header and footer and add them to the payload. When receiving, the EDE header and footer are removed and errors are checked on the EDE layer. When transmitting with EDE disabled, the API and the FlexMulti do not do anything with EDE header and footer. The user needs to create the EDE header and footer theirselves. However, as the MAC, IP, UDP headers are automatically computed, it is not possible at this stage to determine the EDE Timetag, nor the EDE Sequence Number and EDE CRC X and Y in the case of fragmentation. When receiving, the EDE header and footer remain in the payload and are not checked against EDE errors. The user has to do it. # Port SID The Source Identifier Defined for COM port has to be provided for each port. portparam.ede.sid = 0x0013 Once the Frame Type, the VL EDE Enabled and the Port SID are set, the application will compute the EDE header and footer. 10

Figure 5 - AFDX-EDE Message read in AFDX-COM mode with EDE enabled Figure 6 - AFDX-EDE Message read in AFDX-COM mode with EDE disabled Figure 5 and Figure 6 show the consoles displayed by the same application when receiving AFDX- EDE frames in AFDX COM mode. On Figure 5, EDE is enabled. Even though the received frames have a EDE header and footer, they are not displayed. The EDE header and footer have been checked against EDE errors and removed to show only the payload to the user. The blue section shows the payload. On Figure 6, EDE is disabled. The EDE header and footer are displayed. The EDE header and footer have not been checked against EDE errors. - Blue is payload - Red is EDE header, with first the EDE Sequence Number (SN), and second the EDE Timetag - Green is the footer, with first the EDE CRC X, and second the EDE CRC Y 11

II - 2.b. EDE error detection support in AFDX COM mode EDE error detection is available only in AFDX COM mode with EDE enabled. The API checks EDE errors in the EDE header and footer. Details on available are given below. The EDE specifications are respected by the FlexMultis. The EDE specifications specify four steps of error checking: - CRC X and CRC Y error checks - Ordinal check - Age check - Redundancy check (only for redundant A/B ports) These steps can be enhanced by using a EDE offset table. This requires an EDE time manager on the AFDX system and a table of definition on the FlexMulti. If you would like to see the EDE offset table supported by the FlexMultis, please let us know now. With no EDE offset table, the FlexMultis still support the EDE error detections as specified in the EDE specs for Unknown Offset. Purpose Checks Supported by FlexMulti CRC Checks if CRC X and CRC Y are valid CRC X validity CRC Y validity EDE timestamp increment Ordinal Check Checks if packets are received in the right order EDE Sequence Number increment EDE Ordinal Offset consistency Only if Offset table is known Age Checks if packets are not expired EDE Timetag Offset consistency Only if Offset table is known Redundancy Management Checks if both redundant ports A/B received coherent packets Timetag A vs B delay compared to Skew rate acceptation Timetag A vs B delay compared to EDE Offset acceptation Only if Offset table is known 12

II - 2.c. EDE support in Raw mode In Raw mode, no layers are computed by the FlexMultis, nor the API. # Receiving When receiving, it means that all of the frame is retrieved and available. The MAC, IP, UDP and EDE + payload is handed to the user. The user has to check errors on the layer themselves. # Transmitting When transmitting, the user has to create the MAC, IP, UDP and EDE + payload and send this via the API. The section below shows how a user can format the EDE layer. If a user is looking for an automated creation of the MAC, IP, UDP and EDE layers, the user should be using AFDX COM mode with EDE enabled. As mentioned in section I-2, EDE is a part of the payload. EDE is split in a header and a footer. Headlines are suggested below to create the header and the footer. Header Footer Sequence Number (SN) Timetag CRC X and CRC Y Definition Sequence number is a value that increments itself by 1 at each new frame Timetag when the frame has been transmitted Two CRC checks relating to the EDE + Payload Size 2 bytes 6 bytes 2 bytes for each CRC Position From bytes 0 to 1 From bytes 2 to 7 4 last bytes of the payload Suggested implementation Counter adds 1 for each frame. Frames have to be sent in the future, on timetag. The FlexMulti will send the frames with a 10 ns accuracy with respect to the timetag asked. Simply use the expected transmit timetag as your EDE timetag. CRC calculations according to the CRC specs. On Figure 7, AFDX-EDE packets are read in Raw mode. The MAC, IP, UDP, EDE and the payload are displayed and are available to the user. - Dark blue is payload - Light blue is EDE header and footer - Orange is UDP layer - Red is IP layer - Purple is MAC layer Figure 7 - AFDX-EDE Message read in Raw mode 13

III - MAXIM AIR MAXIM AIR is the Graphic User Interface to leverage the FlexMultis when using AFDX and AFDX- EDE. MAXIM AIR is a powerful interface that helps you read AFDX-EDE frames. Using a definition file makes MAXIM AIR even more helpful. The definition file specifies the VLs that are EDE-enabled and provides the SID of the ports. It also contains the CRC X and CRC Y polynomials used in the given system/aircraft. With the definition file, the EDE layers in the relevant EDE messages are automatically decoded and EDE errors are checked. MAXIM AIR automatically decodes AFDX-EDE frames. There is no action required from the user. Figure 8: This message is EDE enabled. MAXIM AIR automatically decodes the EDE layer and displays results in detailed view. If the SN or the CRC X/Y are not as expected, MAXIM AIR prints the record in red and triggers an EDE error. 14

Conclusion AFDX frames, including AFDX-EDE frames, are supported by the FlexMultis and leveraged by MAXIM AIR and MX-Foundation 4. Depending on the approach the user prefers, we have different solutions. A summary is provided below. MX-Foundation 4 MAC, IP, UDP layers are EDE header and footer are Payload is Transmit Raw to be created manually to be created manually AFDX COM, EDE disabled created automatically to be created manually to be passed to the API at the same time as the whole frame to include the EDE bytes when passed to the API AFDX COM, EDE enabled created automatically created automatically to be passed alone Raw available to the user for manual error checks available to the user for manual error checks available to the user, inside the whole frame Receive AFDX COM, EDE disabled Automatically checked for errors and not handed to user available to the user for manual error checks available to the user and includes the EDE bytes AFDX COM, EDE enabled Automatically checked for errors and not handed to user Automatically checked for errors and not handed to user available to the user alone MAXIM AIR MAC, IP, UDP layers are EDE header and footer are Payload is Receive With Definition Always displayed both decoded and raw Always displayed raw Also decoded if VL is EDE enabled Always displayed raw. Also decoded into engineering values (Altitude, speed, etc.) Without definition Always displayed both decoded and raw Never decoded Always displayed raw, never decoded into engineering values 15