Aim AFDX / ARINC 664 User manual

AFDX / ARINC 664
Interface Module
reference manual
May 2011
V16.3x Rev. A
AIM GmbH
Sasbacher Str. 2
79111 Freiburg, Germany
Tel: +49-761-45229-0
Fax: +49-761-45229-33
www.aim-online.com


Reference Manual
API-FDX-2
AyC-FDX-2
fdxTap
APX-GNET-2/4
APU-FDX-2
Application Interface
Library
V16.3x Rev. A
May 2011
AIM No. 60-15900-36-163X-A

ii
AIM WORLDWIDE
AIM GmbH
Sasbacher Str. 2
79111 Freiburg, Germany
+49-761-45 22 90
Munich Sales Office
Terofalstrasse 23 a
80689 Muenchen
+49-89-70 92 92 92
AIM-USA
Seven Neshaminy Interplex
Suite 211
TREVOSE, PA 19053
267-982-2600
877-520-1553
salesusa@aim-online.com
AIM UK
Lincoln Rd, Cressex Business Park
Bucks HP12 3RB, England
+44-1494-44 68 44
Notice: The information that is provided in this document is believed to be accurate. No responsibility
is assumed by AIM for its use. No license or rights are granted by implication in connection therewith.
Specifications are subject to change without notice.
©Copyright 2004 - 2011 : AIM
www.aim-online.com

iii
D
DO
OC
CU
UM
ME
EN
NT
T
H
HI
IS
ST
TO
OR
RY
Y
The following table defines the history of this document. Section 6 provides a more comprehensive
list of changes made with each version.
Version Cover Date Created by Description
0.1 Preliminary 12.09.2001 R. Heitzmann See Section 6 for details
0.2 Preliminary 14.09.2001 J. Schuler See Section 6 for details
0.3 Preliminary 09.10.2001 R. Heitzmann See Section 6 for details
0.4 Preliminary 5.12.2001 J. Schuler See Section 6 for details
0.41 Preliminary 8.1.2002 J. Schuler See Section 6 for details
0.42 Preliminary 9.1.2002 J. Schuler See Section 6 for details
0.43 Preliminary 10.1.2002 J. Schuler See Section 6 for details
0.44 Preliminary 15.1.2002 J. Schuler See Section 6 for details
0.45 Preliminary 24.1.2001 J. Schuler See Section 6 for details
0.50 Preliminary 31.1.2001 J. Schuler See Section 6 for details
00.60 5.2.2002 J. Schuler See Section 6 for details
00.70 6.3.2002 J. Schuler See Section 6 for details
00.80 9.4.2002 M. Riedinger See Section 6 for details
00.90 19.04.2002 M. Riedinger See Section 6 for details
01.00 3.5.2002 M. Riedinger See Section 6 for details
1.01 10.05.02 M. Riedinger See Section 6 for details
1.02 24.05.02 J. Schuler See Section 6 for details
1.03 27.05.02 J. Schuler See Section 6 for details
02.00 04.06.2002 M. Riedinger See Section 6 for details
02.01 07.06.2002 M. Riedinger See Section 6 for details
2.02 17.07.2002 M. Riedinger See Section 6 for details
03.0x 25.10.2002 M. Riedinger See Section 6 for details
3.0x 10.01.2003 M. Riedinger See Section 6 for details
4.0x 21.02.2003 M. Riedinger See Section 6 for details
V05.0x 11.03.2003 M. Riedinger See Section 6 for details
V05.0x 18.03.2003 M. Riedinger See Section 6 for details
V06.0x 02.04.2003 M. Riedinger See Section 6 for details
V06.0x 02.05.2003 M. Riedinger See Section 6 for details
V07.0x 12.06.2003 R.Heitzmann See Section 6 for details
V07.0x 13.06.2003 M. Riedinger See Section 6 for details
V07.0x 25.06.2003 M. Riedinger See Section 6 for details
V07.2x 17.07.2003 M. Riedinger See Section 6 for details
V08.0x 28.08.2003 M. Riedinger See Section 6 for details
V0090x 30.10.2003 M. Riedinger See Section 6 for details
V0090 Rev.A See Section 6 for details
V10.0x
(preliminary)
20.02.2004 R. Heitzmann /
T. Troshynski /
M. Riedinger
See Section 6 for details
V10.0x A 04.03.2004 T. Troshynski /
M. Riedinger
See Section 6 for details
V10.0x B 15.04.2004 M. Riedinger See Section 6 for details
V10.0x C 23.04.2004 M. Riedinger See Section 6 for details
11.0x A 06.10.2004 J. Furgerson See Section 6 for details
11.1x A 04.11.2004 M. Riedinger See Section 6 for details
12.0x A 10.11.2004 M. Riedinger See Section 6 for details
12.0x D 14.03.2005 M. Riedinger See Section 6 for details
13.0x A 09.11.2005 M. Kammerer See Section 6 for details
13.0x B 27.02.2006 J. Pfaadt See Section 6 for details

iv
14.0x A 03.21.2006 T. Troshynski See Section 6 for details
14.0x B 07.07.2006 T.Troshynski See Section 6 for details
14.1x A 07.21.2006 T.Troshynski See Section 6 for details
14.2x A 08.21.2006 T. Troshysnki See Section 6 for details
14.3x A 15.09.2006 R. Heitzmann See Section 6 for details
14.3x B 07.11.2006 M. Riedinger See Section 6 for details
14.3x C 31.07.2007 S. Riedinger See Section 6 for details
15.0x A 02.10.2006 R. Heitzmann See Section 6 for details
16.1x A 19.08.2010 R. Heitzmann See Section 6 for details
16.2x A 22.12.2010 R. Heitzmann See Section 6 for details
16.3x A 17.05.2011 T. Jahn See Section 6 for details

v
Table of Contents
1
1.
.
I
In
nt
tr
ro
od
du
uc
ct
ti
io
on
n.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.1
1
1.1 General..................................................................................................................1
1.2 Applicable Documents.........................................................................................2
2
2.
.
S
So
of
ft
tw
wa
ar
re
e
a
an
nd
d
H
Ha
ar
rd
dw
wa
ar
re
e
S
St
tr
ru
uc
ct
tu
ur
re
e.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.3
3
2.1 AFDX Software Structure ....................................................................................3
2.2 Hardware Structure..............................................................................................4
2.3 Client-Server Structure in a Network Environment (Windows
Environment)........................................................................................................ 5
2.4 Host-to-Target Communication........................................................................... 6
3
3.
.
A
Ap
pp
pl
li
ic
ca
at
ti
io
on
n
I
In
nt
te
er
rf
fa
ac
ci
in
ng
g.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.7
7
3.1 General..................................................................................................................7
3.2 Platform VME........................................................................................................8
3.3 Error Reporting..................................................................................................... 9
3.4 Necessary Files and Defines...............................................................................9
3.5 Files of the FDX High Level Interface ............................................................... 10
3.5.1 Include Files ................................................................................................... 10
3.5.2 Libraries and Files .......................................................................................... 10
3.5.3 System Level Driver Files............................................................................... 10
4
4.
.
F
Fu
un
nc
ct
ti
io
on
n
R
Re
ef
fe
er
re
en
nc
ce
e.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.1
11
1
4.1 Library Administration Functions.....................................................................11
4.1.1 Platform Independent Functions..................................................................... 12
4.1.1.1 FdxDelIntHandler ..................................................................................... 12
4.1.1.2 FdxInit....................................................................................................... 13
4.1.1.3 FdxInstIntHandler ..................................................................................... 15
4.1.1.4 FdxLogin................................................................................................... 21
4.1.1.5 FdxLogout ................................................................................................ 23
4.1.1.6 FdxQueryResource .................................................................................. 24
4.1.1.7 FdxInstallServerConfigCallback ............................................................... 26
4.1.1.8 FdxQueryServerConfig............................................................................. 28
4.1.2 Platform Dependent Functions – Platform VME ............................................. 30
4.1.2.1 AiFdxAviDelVmeInt .................................................................................. 30

vi
4.1.2.2 AiFdxAviInitVmeInt ................................................................................... 31
4.1.2.3 AiFdxModuleCheck .................................................................................. 33
4.1.2.4 AviFdxVMEBoardIni ................................................................................. 34
4.2 System Functions (Board level functions)....................................................... 35
4.2.1 FdxCmdBITETransfer .................................................................................... 36
4.2.2 FdxCmdBoardControl..................................................................................... 37
4.2.3 FdxCmdIrigTimeControl ................................................................................. 42
4.2.4 FdxCmdStrobeTriggerLine ............................................................................. 44
4.2.5 FdxReadBSPVersion ..................................................................................... 45
4.3 Transmitter Functions ....................................................................................... 48
4.3.1 Global Transmitter Functions ......................................................................... 50
4.3.1.1 FdxCmdTxControl .................................................................................... 50
4.3.1.2 FdxCmdTxModeControl ........................................................................... 52
4.3.1.3 FdxCmdTxPortInit .................................................................................... 53
4.3.1.4 FdxCmdTxStaticRegsControl ................................................................... 55
4.3.1.5 FdxCmdTxStatus...................................................................................... 57
4.3.1.6 FdxCmdTxTrgLineControl ........................................................................ 58
4.3.1.7 FdxCmdTxVLControl................................................................................ 59
4.3.2 Generic and Replay Transmitter Functions .................................................... 60
4.3.2.1 FdxCmdTxQueueCreate .......................................................................... 60
4.3.2.2 FdxCmdTxQueueStatus ........................................................................... 62
4.3.2.3 FdxCmdTxQueueUpdate.......................................................................... 64
4.3.2.4 FdxCmdTxQueueWrite............................................................................. 66
4.3.2.5 FdxCmdTxQueueControl.......................................................................... 80
4.3.2.6 FdxCmdTxQueueAcyclic .......................................................................... 84
4.3.3 Individual (UDP Port oriented )Transmitter Functions .................................... 86
4.3.3.1 FdxCmdTxCreateVL................................................................................. 86
4.3.3.2 FdxCmdTxCreateHiResVL ....................................................................... 88
4.3.3.3 FdxCmdTxSAPBlockWrite........................................................................ 90
4.3.3.4 FdxCmdTxSAPCreatePort ....................................................................... 92
4.3.3.5 FdxCmdTxSAPWrite ................................................................................ 94
4.3.3.6 FdxCmdTxUDPBlockWrite ....................................................................... 96
4.3.3.7 FdxCmdTxUDPChgSrcPort...................................................................... 98
4.3.3.8 FdxCmdTxUDPControl............................................................................. 99

vii
4.3.3.9 FdxCmdTxUDPCreatePort ..................................................................... 101
4.3.3.10 FdxCmdTxUDPDestroyPort ................................................................. 104
4.3.3.11 FdxCmdTxUDPWrite............................................................................ 105
4.3.3.12 FdxCmdTxUDPGetStatus .................................................................... 107
4.3.3.13 FdxCmdTxUDPWriteIndexed ............................................................... 108
4.3.3.14 FdxCmdTxVLWrite ............................................................................... 110
4.3.3.15 FdxCmdTxVLWriteEx........................................................................... 112
4.3.4 Data Buffer Functions................................................................................... 116
4.3.4.1 FdxCmdTxBufferQueueAlloc.................................................................. 116
4.3.4.2 FdxCmdTxBufferQueueFree .................................................................. 119
4.3.4.3 FdxCmdTxBufferQueueRead ................................................................. 120
4.3.4.4 FdxCmdTxBufferQueueWrite ................................................................. 122
4.3.4.5 FdxCmdTxBufferQueueCtrl .................................................................... 124
4.3.5 Generic Transmitter Sub-Queue-Functions.................................................. 126
4.3.5.1 FdxCmdTxSubQueueCreate .................................................................. 126
4.3.5.2 FdxCmdTxSubQueueDelete .................................................................. 127
4.3.5.3 FdxCmdTxSubQueueWrite .................................................................... 128
4.3.6 Theorie of Generic Transmitter..................................................................... 129
4.4 Receiver Functions.......................................................................................... 133
4.4.1 Global Receiver Commands......................................................................... 134
4.4.1.1 FdxCmdRxControl.................................................................................. 134
4.4.1.2 FdxCmdRxGlobalStatistics..................................................................... 135
4.4.1.3 FdxCmdRxModeControl ......................................................................... 138
4.4.1.4 FdxCmdRxPortInit .................................................................................. 141
4.4.1.5 FdxCmdRxStatus ................................................................................... 143
4.4.1.6 FdxCmdRxTrgLineControl...................................................................... 144
4.4.1.7 FdxCmdRxVLControl ............................................................................. 145
4.4.1.8 FdxCmdRxVLControlEx ......................................................................... 151
4.4.1.9 FdxCmdRxVLGetActivity ........................................................................ 153
4.4.1.10 FdxCmdRxVLSetHwFilter..................................................................... 157
4.4.2 VL oriented Receiver Functions ................................................................... 160
4.4.2.1 FdxCmdRxSAPBlockRead ..................................................................... 160
4.4.2.2 FdxCmdRxSAPCreatePort ..................................................................... 162
4.4.2.3 FdxCmdRxSAPRead.............................................................................. 164

viii
4.4.2.4 FdxCmdRxUDPBlockRead..................................................................... 167
4.4.2.5 FdxCmdRxUDPControl .......................................................................... 169
4.4.2.6 FdxCmdRxUDPChgDestPort ................................................................. 171
4.4.2.7 FdxCmdRxUDPCreatePort..................................................................... 172
4.4.2.8 FdxCmdRxUDPDestroyPort ................................................................... 174
4.4.2.9 FdxCmdRxUDPGetStatus ...................................................................... 175
4.4.2.10 FdxCmdRxUDPRead ........................................................................... 176
4.4.3 Chronological Monitor .................................................................................. 179
4.4.3.1 FdxCmdMonCaptureControl................................................................... 179
4.4.3.2 FdxCmdMonGetStatus........................................................................... 181
4.4.3.3 FdxCmdMonQueueControl..................................................................... 183
4.4.3.4 FdxCmdMonQueueRead........................................................................ 185
4.4.3.5 FdxCmdMonQueueSeek ........................................................................ 191
4.4.3.6 FdxCmdMonQueueTell .......................................................................... 193
4.4.3.7 FdxCmdMonQueueStatus ...................................................................... 194
4.4.3.8 FdxCmdMonTCBSetup .......................................................................... 196
4.4.3.9 FdxCmdMonTrgIndexWordIni ................................................................ 200
4.4.3.10 FdxCmdMonTrgIndexWordIniVL .......................................................... 201
4.4.3.11 FdxCmdMonTrgWordIni ....................................................................... 202
4.4.4 Continuous Capture Second Edition Functions ............................................ 203
4.4.4.1 FdxCmdMonQueueContCapControl ...................................................... 204
4.4.4.2 FdxCmdMonContCapProvideMemory.................................................... 207
4.4.4.3 FdxCmdMonContCapInvalidateMemory ................................................ 209
4.4.4.4 FdxCmdMonContCapForceDateTransfer............................................... 211
4.5 Target Independent Administration Functions.............................................. 212
4.5.1 FdxAddIrigStructIrig and FdxSubIrigStructIrig .............................................. 213
4.5.2 FdxCmdFreeMemory ................................................................................... 214
4.5.3 FdxFwIrig2StructIrig ..................................................................................... 215
4.5.4 FdxInitTxFrameHeader ................................................................................ 217
4.5.5 FdxProcessMonQueue................................................................................. 219
4.5.6 FdxStructIrig2FwIrig ..................................................................................... 220
4.5.7 FdxTranslateErrorWord................................................................................ 221
4.5.8 GNetTranslateErrorWord.............................................................................. 223
4.5.9 FdxCreateRecIndex ..................................................................................... 224

ix
4.5.10 FdxSkipRecFileHeader .............................................................................. 226
5
5.
.
N
No
ot
te
es
s.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.2
22
27
7
5.1 Abbreviations ................................................................................................... 227
5.2 Definition of Terms........................................................................................... 229
6
6.
.
D
Do
oc
cu
um
me
en
nt
t
H
Hi
is
st
to
or
ry
y.
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
.2
23
31
1
6.1 Modification Function List compared with previous versions..................... 231
6.1.1 Library Administration Functions .................................................................. 231
6.1.2 VME Initialization Functions ......................................................................... 231
6.1.3 System Functions......................................................................................... 231
6.1.4 Transmitter Functions................................................................................... 232
6.1.5 Receiver Functions....................................................................................... 233
6.1.6 Target Independent Administration Functions .............................................. 233
6.2 Document History Details................................................................................ 234

x
List of Tables
Table 3.5.2-I: Necessary Application Interface Level Files................................................................10
Table 3.5.3-I: Necessary System Level Driver Files..........................................................................10
Table 4.1-I: Library Administration Functions..................................................................................11
Table 4.2-I: System Functions.........................................................................................................35
Table 4.3-I: Transmitter Functions ..................................................................................................49
Table 4.4-I: Receiver Functions ....................................................................................................133
Table 4.5-I: Target Independent Administration Functions...........................................................212
Table 6.1.1-I: Library Admin. Function Changes between several versions....................................231
Table 6.1.2-I: VME Initialization Function Changes between several versions ...............................231
Table 6.1.3-I: System Function Changes between several versions...............................................231
Table 6.1.4-I: Transmitter Functions Changes between several versions.......................................232
Table 6.1.5-I: Receiver Functions Changes between several versions...........................................233
Table 6.1.6-I: Target Independent Administration Functions Changes between several versions..233
Table 6.2-I: Document History Details...........................................................................................234
List of Figures
Figure 2.1-1: Partitioning of the AFDX Driver Software.........................................................................3
Figure 1.2-1: Simplified AyI-FDX Hardware Structure............................................................................4
Figure 2.3-1: ACI-FDX Network Structure ..............................................................................................5
Figure 2.4-1: Host-to-Target Communication .........................................................................................6
Figure 4.2.2.1 Rx Verification Data and Mask ......................................................................................39
Figure 4.4.1.6-1: Mechanism of second level Filter............................................................................149
Figure 4.4.2.3-1: RX SAP Message Buffer Layout .............................................................................165
Figure 4.4.2.8-1: RX UDP Message Buffer Layout.............................................................................177
Figure 4.4.3.2-1: States of the Chronological Monitor........................................................................182
Figure 4.4.3.4-1: Monitor Queue Entry Structure of a standard AFDX Frame ...................................187
Figure 4.4.3.4-1: Monitor Buffer Entry Layout (APX-GNET)...............................................................187
Figure 4.4.3.4-2: AFDX Frame Layout................................................................................................190
Figure 4.4.3.7-1: Trigger Engine Dependencies................................................................................199

Reference Manual AFDX / ARINC 664 Application Interface Library 1
Section 1 - Introduction
1. INTRODUCTION
1.1 General
The AIM-AFDX High Level Application Interface Library provides a comprehensive set of 'C'
functions for interfacing application programs to the AIM AFDX Interface Modules listed below.
The ‘y’ in the ‘AyC’is an AIM standard placeholder for encoding the module’s platform (where
‘y’ can be replaced with either C, V, or M as shown below).
C: ACC-FDX-2/4 Compact PCI (cPCI) 6U
V: AVC-FDX-2/4 VME
M: AMC-FDX-2 PMC-Module
Other Standard Modules are:
API-FDX-2 PCI-Module
APM-FDX-2 PC-Card Module (with limited simulation functionality)
fdXTap USB Module for monitor only
APU-FDX-2 USB Module (full function)
The AIM AFDX High Level Application Interface encapsulates operating system specific
handling of Host-to-Target communication in order to support the platform independent
implementation of the user's applications by providing a unique set of functions for hardware
communication to the AFDX target.
To access the boards and also the resources on the boards a client server interface for a
network environment is supported. The AIM AFDX Application Interface currently supports all
32-bit Windows®platforms (XP and newer). All other systems, e.g. embedded VME with
VxWorks, LINUX, LynxOS etc. currently support ‘local’ servers.
The AIM AFDX High Level Application Interface for PCI and cPCI is available as Dynamic Link
Libraries (DLLs) for the platforms mentioned above (Microsoft compatible). The AFDX High
Level Application Interface DLL can be used by each programming tool having the capability of
interfacing DLLs (32-Bit). Also a dynamic Library for LINUX is available.
For embedded VME applications (e.g. AMC mounted on a VME Carrier ACC), the
Application Interface Library is provided with the source code, in order to support integration
into a customer specific Operating System Environment. Support for the more popular
embedded Operating Systems, like VxWorks and LynxOS is built in per Standard.
Each command to the Interface Library will be translated to AFDX Target commands. Long
parameter lists of some driver commands are substituted by specific data types (C-structures)
in order to reduce the number of function parameters. In addition to the target access
functions, a set of administration functions are provided for handling general driver
communication, and the client server interface and login mechanism to gain access to the
hardware resources. Due to the common core architecture of the AIM bus interface modules,
the Driver Software rubs On-Board on the Application Support Processor, with Real-Time-
Operating System support. Therefore the command set, provided by the Application Interface
does not show significant differences between the platforms.
Since it is possible to have concurrent access to the AIM AFDX High Level Application
Interface, (e.g. using multiple thread/task techniques), the AFDX High Level Application
Interface handles those conditions via operating system specific capabilities, using Mutexes
and Semaphores.
The number of AFDX boards accessible through the High Level Application Interface Library is
only limited by memory.

2 Reference Manual AFDX / ARINC 664 Application Interface Library
Section 1 - Introduction
1.2 Applicable Documents
The following documents shall be considered to be part of this document to the extent that they
are referenced herein.
[1] PCI Local Bus Specification, Revision 2.1, June 1991
[2] AFDX End System Detailed Functional Specification
AIRBUS Issue: 4.0, Date: 24/10/2001, Ref.:L42D1515045801
[3] AFDX Switch Detailed Functional Specification
AIRBUS Issue: 2.0, Date: 14/09/2001, REF.:515.0519/2001
[4] AIM Reference Manual “VME Generic Interface Library”
[5] AFDX Programmer’s Guide
[6] AFDX Getting Started for Windows
[7] AFDX Getting Started for Linux

Reference Manual AFDX / ARINC 664 Application Interface Library 3
Section 2
–
Software and Hardware Structure
2. SOFTWARE AND HARDWARE STRUCTURE
2.1 AFDX Software Structure
Figure 2.1-1: Partitioning of the AFDX Driver Software
Application
Interface
Library
Host-Target Interface
Unique 'C' function call /
High Level Interface
Operating System
independent (Described
within this document)
Operating System
dependent communication
Serial Interface
System Level
Application
Level
Host
Target
Target Level
Backplane
Application
Support software:
- monitor software
- LCA-Boot
software
UART / HW init
Debug interface Driver-host interface
Operating System Nucleus Plus
(running on MIPS ID T-R4640)
AFDX BIU Firmware
(running on BIP Strong ARM)
Board Hardware / AFDX specific Hardware
AFDX ASP
Driver Software
Application
System Driver
(OS Dependent Device Driver)

4 Reference Manual AFDX / ARINC 664 Application Interface Library
Section 2 - Software and Hardware Structure
2.2 Hardware Structure
Figure 1.2-1: Simplified AyI-FDX Hardware Structure
Explanation
ASP Application Support Processor
- RISC Processor Intel XScale 80200 (ARM-family)
BIU Bus Interface Unit
RISC Processor Intel XScale 80200 (ARM-family)
PSC - PCI and System Controller
- AIM PCI-LCA
Global RAM Static RAM module
Shared between BIU, ASP and PCI bus
Local ASP RAM - Bank 0 used for ASP local programs
(ASP Driver Software, Monitor)
- Bank 1 used as Shared RAM area for Host-to-Target
communication
Flash-PROM Board Configuration Memory
BIU1 Global
RAM
ASP
PCI-Bus
BIU2
Local ASP
RAM (Bank 0)
(Program RAM)
Local ASP
RAM (Bank 1)
(Shared RAM)
Flash-PROM
PSC GT
Registers

Reference Manual AFDX / ARINC 664 Application Interface Library 5
Section 2
–
Software and Hardware Structure
2.3 Client-Server Structure in a Network Environment
(Windows Environment)
It is possible to have several ACI-FDX cards in one computer, but it is also possible to have the
cards distributed to several computers in a Network. A sample configuration is shown in Figure
2.3-1.
Each computer, which has ACI-FDX hardware installed acts as Server. The server
computer provides board functionality to the connected clients. To access the hardware
from a client it is necessary to run the AIM Network Server (ANS) on the Server computer.
The computer which contains the application software acts as Client. A client does not
require ACI-FDX hardware.
However, ACI-FDX hardware can be installed on the computer which contains the
application software (a Client). In this configuration, local access from the application to
the hardware is provided. Therefore, it is not necessary to run the ANS.
Figure 2.3-1: ACI-FDX Network Structure
Client 1
Client 2
Server 6
Server 1 Server 2 Server 3 Server 4
Server 5 Client 3
Server 7
Server 8
Ethernet Ethernet

6 Reference Manual AFDX / ARINC 664 Application Interface Library
Section 2 - Software and Hardware Structure
2.4 Host-to-Target Communication
For Host-to-Target communication a small area of the ASP Shared RAM is used and
partitioned as shown in Figure 2.4-1.
The FDX High Level Application Interface System Level Drivers for the applicable operating
system communicate with the FDX Target Software by writing command information to the
Target Command Array (send message). Acknowledge information is returned in the Target
Acknowledge Array (receive Message) from the FDX Target Software.
Figure 2.4-1: Host-to-Target Communication
Target Communication
Control Register Area
Command Array Area
00001F00h
00082000h
00002000h
Target
Communication
RAM relative
Byte
Address
Shared RAM
Acknowledge Array Area
00042000h

Reference Manual AFDX / ARINC 664 Application Interface Library 7
Section 3 – Application Interfacing
3. APPLICATION INTERFACING
3.1 General
To interface the user's application program to the target hardware, the application program is
required to call the basic functions of the FDX Application Interface Library.
Before any driver function can be executed the FDX Application Interface Library must be
initialized using the following function:
FdxInit( ... )
This function performs the basic initialization of the library and returns a list of servers found in
the network environment. The basic case is to find the server named ‘local’ which describes
the computer where the application is running (can also be a stand alone system without any
network). FdxInit shall be called as the first function.
Note: Using the Interface Modules in an environment, which does not support an automatic mapping and resource
assign, like PCI Plug&Play, specific Initialization functions are necessary, before the application can continue with the
FdxInit.
To get the number of boards and their configuration the following command should be
performed:
FdxQueryServerConfig( ... )
This function returns a list of available resources of one server, where a resource can be a
board or a physical port of one board.
To establish target communication for a specific resource the following function shall be called:
FdxLogin( ... )
This function must be called as part of the FDX device initialization procedure. FdxLogin
returns a unique handle which identifies the selected resource for the calling application and
initializes an internal structure for communication. Upon successful execution of the FdxLogin
function all driver functions related to the selected resource can be called in order to control the
required operation. So functionality is distinguished between board related and port related.
To execute board functionality the user must be logged in to a board resource. To execute port
functionality the user must be logged in to a port resource.
Any application program shall finish communication to a resource with the following function:
FdxLogout ( ... )
This function performs a cleanup of the specified FDX device and must be called as the last
function to shut-down communication for the specified resource. After calling this function, the
handle is invalid and it is not possible to use it for further function calls.

8 Reference Manual AFDX / ARINC 664 Application Interface Library
Section 3 – Application Interfacing
3.2 Platform VME
For VME based FDX modules (AMC-FDX-2 on AVC carrier) the following initialization has to be
done before general initialization defined in chapter 3.1.
To get a list of available VME-modules in system the following function shall be used (Not
contained in this document. Please refer to Applicable documents [4]):
AiVMEModuleListBuild()
To check for valid AMC FDX module use the function:
AiFdxModuleCheck()
To map the memory of the module the following shall be used (Not contained in this document.
Please refer to Applicable documents [4]):
AiVMEMemoryMap()
To initialize an AIM-FDX-VME module (initialize a shared memory area for host-to-target
communication.) the following function shall be called:
AviFdxVMEBoardIni(ul_VMEModuleId)
Table of contents
Other Aim Control Unit manuals
Popular Control Unit manuals by other brands

Siemens
Siemens VVI46/2 Series Mounting instructions

Bardiani
Bardiani B935 Use and maintenance manual

Baxi
Baxi KH2ZPC Installation instruction

Burkert
Burkert 6038 quick start guide

Motorline professional
Motorline professional MC15BA User& installer's manual

Midland
Midland A-1076 Series Installation, operation & maintenance manual