AFDXNode

Parent Previous Next

Block Name: AFDXNode
Code Location: VisualSim/actor/arch/Buses/AFDX/AFDXNode

Table of Content
Description
Block Dependency
Examples
Parameters

Description

VisualSim AFDX modeling library provides the system-level modeling environment to evaluate the performance, power consumption and reliability of this aerospace network protocol. This template is an extension to the Ethernet protocol library and allocates dedicated bandwidth for each node with guaranteeing Quality of Service. The six primary aspects of AFDX include full duplex, redundancy, deterministic response times, high speed performance, switched and profiled network. The library can be connected to the hardware and the software blocks of the architecture library to assemble the full system. The AFDX switch can operate in any topology including a star.

The main elements of AFDX network library are as follows
1. AFDX End-System/ AFDX_Tx_Rx
2. AFDX Switch
3. AFDX Traffic Generator
4. AFDX Configuration

Each VisualSim AFDXSwitch has filtering, policing, and forwarding functions with more than 4096 Virtual Links. In a network with multiple switches (cascaded star topology), the total number of Virtual Links is nearly limitless. The user can limit the number of Virtual Links that can be handled by each End System. The switch is also non-blocking and the data rates can be specified by each system integrator.
The AFDX libraries of VisualSim supports fault injection to simulate the system under certain components failure, data loss or malfunctioning of devices on the board. An example scenario would be injecting faults to AFDX and A429 package and analyze the impact on network communication. 

AFDXNode module or AFDX End System module has interface to Network A and Network B defined in AFDXSwitch block. The Rx and Tx buffers are capable of storing multiple incoming and outgoing packets in FIFO order. VLAN (Virtual LAN) slot is associated with multiple destination nodes implemented using VisualSim multicast block.

Dependency

AFDXNode block must be used alongside with AFDXConfig, AFDX Switch and AFDX Traffic Generator blocks. AFDX Node requires certain mandatory data structure fields, such as Task_Source, Task_Destination, Task_Type, Task_Size, etc. For ease of use, we have added all required data structure fields in AFDX_Traffic Generator block. The sequence Number is also generated inside the AFDX Traffic Generator Block which is used for integrity checking in the AFDX_RX.
It is necessary to use the AFDX_Config Block when using the AFDX_Node. The Multicast List specified in the AFDX_Config block is used by the Multicast Module in the AFDX_Node Block.

AFDX TX:

            It  is responsible for sending messages to AFDX port. AFDX TX block adds the UDP header and VLAN information. VLAN information helps in determining the destination. The destinations are mapped from the VLAN number to the Multicast. Each VLAN can correspond to multiple destinations. In this model, the Destinations are entered by the End Systems. The UDP Multicast block modifies the Destination field. The IP network layer in TX block receives the UDP packet and determines whether it needs to be fragmented. IP network layer uses the appropriate virtual links LMax to determine whether fragmentation is necessary. We  also have the Ethernet layer which adds Ethernet header and enqueue’s the Ethernet frame in the appropriate sub Virtual Link queue.

The virtual link layer that comes right after the Ethernet layer is responsible for scheduling the Ethernet frames for transmissions. A Virtual Link can be composed of a number of  Sub - Virtual Links. Each Sub- VL has a dedicated FIFO Queue.

The redundancy management unit replicates the frames and sends the frames to separate networks A and B. There are two independent switched networks in an AFDX system, the A and B networks. Each packet transmitted by an End system is sent on both networks.

Redundancy Network


Tables Used

The AFDX Node block uses the VLAN Table  and Routing Table in the AFDX_Config Block.

VLAN Table:

The VLAN table is used in the AFDX_TX. The VLAN Table has the following Fields:

ID     VLAN    BAG         LMax        ;      
 1       1           1.0e-3        256          ;
 2       2           4.0e-3        512          ;
 3       3           8.0e-3       1024         ;
 4       4           16.0e-3     1024         ;

BAG :

    It is Bandwidth Allocation Gap. It is the minimum interval (in milliseconds) between Ethernet frames transmitted on the Virtual Link.  The value should be a power of 2 in the range [1,128].

LMax :

    The Max Bytes that can be transmitted in the Virtual Link.

AFDX RX:

             It  performs the reverse operation to that of AFDX Tx. It also checks for Frame check sequence to make sure that the Ethernet frame is  correct. The receiving End System
checks whether the sequence numbers on successive frames are in order.

AFDX_TX

The process starts with the reception of an Ethernet frame, which is checked for correctness using the Frame Check Sequence (FCS). If there is no error, the FCS is stripped and the AFDX frame is passed through Integrity Checking and Redundancy Management. These steps are carried out at the (virtual) link level. The resulting IP packet is passed on to the IP network level. The network level is responsible for checking the IP checksum field and the UDP packet reassembly, if necessary. Then it is passed to the UDP layer.


Debug Message:
    When the Skew_Max value is exceeded (ie) the time difference between the arrival of two redundant frames of an End System exceeds the Skew_Max value, the AFDX shows the warning message as
" The redundant packet of VLAN:1 Sequence:5 of Network exceeded the Skew_Max time "



Examples

1. AFDX Network with Single Switch (Note: AFDXSwitch by default has two redundant switches, in VisualSim we consider that as a single entiry)

2. AFDX Network with Two Switches

Parameters

Parameter Name

Type

Description

VLAN_Name

String
Ex: "VLAN1"

Name of the VLAN Table

AFDX_Switch_ID

Integer
Ex: 1

Indentifier of the Connected AFDX Switch

Tx_Rx_Name

String
Ex: "AFDX_1"

Name of the AFDX End System. Name should start with AFDX succeded with Integer value.

Skew_Max eg: 1.0e-3 Time Difference between the arrival of two redundant frames.
Port_Name Description
AFDX_In
This port is the input to the AFDX_Node block.  It should be connected to the net_tg_out  port of the AFDX Traffic Block
Latency
The data through this port is the Latency of the End to End communication for each data. It should be connected to the port of the AFDX_Traffic Block.





Created with the Personal Edition of HelpNDoc: Easy Qt Help documentation editor