Table of Contents

Advertisement

abaco systems CEI-100 Series User Manual

Advertisement

Table of Contents
loading

Summary of Contents for abaco systems CEI-100 Series

  • Page 1 Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment SERVICE CENTER REPAIRS WE BUY USED EQUIPMENT • FAST SHIPPING AND DELIVERY Experienced engineers and technicians on staff Sell your excess, underutilized, and idle used equipment at our full-service, in-house repair center We also offer credit for buy-backs and trade-ins •...
  • Page 2 User’s Manual CEI-100/CEI-200/CEI-x20 Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com...
  • Page 3 DISCLAIMED. Microsoft is a registered trademark of Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation. Abaco Systems, Inc. acknowledges the trademarks of other organizations for their respective products or services mentioned in this document. CEI-100/CEI-200/CEI-x20 User’s Manual (1500-011) Document Revision: 6.15...
  • Page 4: Table Of Contents

    Contents and Tables Contents Introduction ..............1 Chapter 1 Features ..................... 1 Hardware Specifications ................2 Installation ...............4 Chapter 2 Overview ....................4 Installing the Board .................. 4 Setting the ISA Bus Base Address............5 ARINC 429 Slew Rate Configuration for CEI-100/CEI-200 ....6 Configuring the CEI-820TX ..............
  • Page 5 CEI-420/420A Base Memory Address ..........26 CEI-420/420A Interrupts and Slew Rate ........... 26 CEI-420/420A Power ................ 26 CEI-420/420A ARINC Connector Pin Out ........27 Configuring the CEI-200 ................ 29 CEI-200 Outline Drawing ..............29 CEI-200 Base Memory Address ............29 CEI-200 Base I/O Address ..............
  • Page 6 BusTools/ARINC Demo Software ............54 Program Interface Library ........... 55 Chapter 5 Overview ....................55 DOS Programming ................. 57 Windows, VxWorks, and Linux Programming ........57 CEI-100/200 Programming ............... 57 CEI-x20 Programming ............... 58 Programming the ARINC Interface ............59 ARINC 429 Data Format ................
  • Page 7 AR_GET_ERROR .................. 85 AR_GET_LABEL_FILTER ..............86 AR_GET_LATEST ................87 AR_GET_RAW_MODE ................ 89 AR_GET_RX_COUNT ................90 AR_GET_TIMERCNT ................91 AR_GET_TIMERCNTL ................ 92 AR_GETBLOCK ................... 93 AR_GETFILTER ................... 95 AR_GETNEXT ..................97 AR_GETNEXTT ..................98 AR_GETWORD ..................99 ARINC 429 Receiver Buffer Data Format ........99 ARINC 573/717 Receiver Buffer Data Format .........
  • Page 8 CEI-100/200/x20 Values ..............133 CEI-x20 Values ................134 CEI-x20 Parametric Values ............. 135 AR_SET_CONTROL ................137 AR_SET_PRELOAD_CONFIG............138 AR_SET_RAW_MODE ............... 141 AR_SET_STORAGE_MODE ............. 142 AR_SET_TIMERRATE ............... 144 AR_SETCHPARMS ................146 AR_SETINTERRUPTS ............... 147 AR_SLEEP ................... 148 AR_TIMETAG_CONTROL ..............149 AR_VERSION..................151 AR_XMIT_SYNC ................
  • Page 9 AR_CHANNEL_PARMS ............... 169 Appendix C Parametric Voltage Programming ......174 Introduction ..................174 CEI-220 DAC Definitions ..............174 CEI-420/420A DAC Definitions ............175 CEI-520/520A DAC Definitions ............175 CEI-620 DAC Definitions ..............176 CEI-820 DAC Definitions ..............176 Appendix D Example CEI-x20 Programs ........
  • Page 10 Figures Figure 1. 68-pin Receptacle Connector (SCSI-3 compatible, view facing receptacles) ..6 Figure 2. CEI-820 Outline Drawing ..................8 Figure 3. 50-pin P1 connector (AMP Champ 0.8 mm receptacle connectors - AMP part number 787096-1) ......................8 Figure 4. CEI-620 Outline Drawing ..................12 Figure 5.
  • Page 11 Tables Table 1. Hardware Specifications .................... 2 Table 2. CEI-820TX Connector Definitions (P1 and P14) ............. 7 Table 3. CEI-820-xx and CEI-820-xxJ Connector Definitions (P1 and P14) ......8 Table 4. CEI-820-44L Connector Definitions (P1 and P14) ..........10 Table 5. Mating Connector for P1 ..................11 Table 6.
  • Page 12 Table 40. ARINC 429 Receive buffer ..................99 Table 41. ARINC 573/717 Receive Buffer ................99 Table 42. CSDB Receive Buffer ..................100 Table 43. ARINC 573/717 Transmit Buffer ................ 122 Table 44. CSDB Transmit Buffer ..................123 Table 45. Typical CSDB Message Lengths ................. 123 Table 46.
  • Page 13: Introduction

    CHAPTER Introduction Features The CEI-100, CEI-200, CEI-220, CEI-420, CEI-420A, CEI-520, CEI- 520A, CEI-620, CEI-820, and CEI-820TX are intelligent interfaces between multiple ARINC-429/575 data buses and a compatible host computer. The CEI-100, CEI-200, and the CEI-220 are ISA-bus interface boards. The CEI-420 interfaces with the host using the PC/104 bus. The CEI-420A uses the PC/104 bus and includes a PC/104Plus pass-through connector.
  • Page 14: Hardware Specifications

    Introduction Hardware Specifications that the only Windows platforms supported by the CEI-220 and CEI- 420/420A are Windows NT and 32-bit XP). The distribution includes source code for many sample programs, supporting ANSI C, C#.NET, Linux, VxWorks, and Visual Basic (VB6 and VB.NET). A LabWindows CVI function panel and sample program are also provided.
  • Page 15 Introduction Hardware Specifications Feature CEI-100 CEI-200 CEI-220 CEI-420 CEI-420A CEI-520/520A CEI-620 CEI-820 CEI-820TX On-board 8-bit 80C88 16-bit 80C186 32-bit 80960 32-bit 80960 32-bit 80960 32-bit 80960 @ 32-bit 80960 32-bit 80960 32-bit 80960 Processor @ 5 MHz @ 16 MHz @ 12 MHz @ 12 MHz @ 16 MHz...
  • Page 16: Installation

    CHAPTER Installation Overview Software for these products is distributed on CD-ROM. Updates are available on our web site (www.abaco.com/products/avionics). When installing a CEI-x20 device under Windows, you must install the Note: software before installing the hardware. When installing a CEI-x20 device under Linux, you must install the hardware first.
  • Page 17: Setting The Isa Bus Base Address

    Installation Setting the ISA Bus Base Address Setting the ISA Bus Base Address The base memory address of the board defines the base segment address of the dual-port memory. The host computer sees the board at this address. The default segment address for the CEI-100 is 0xCC00 (hex), which translates to a physical address of 0xCC000.
  • Page 18: Arinc 429 Slew Rate Configuration For Cei-100/Cei-200

    Installation ARINC 429 Slew Rate Configuration for CEI-100/CEI-200 ARINC 429 Slew Rate Configuration for CEI-100/CEI-200 Some jumpers may be installed on the CEI-100 and CEI-200 boards to allow proper selection of ARINC transmission slew rate. On CEI-x20 devices, slew rate selection is automatic. The slew rate refers to the rise and fall times for the ARINC signals.
  • Page 19: Table 2. Cei-820Tx Connector Definitions (P1 And P14)

    Installation Configuring the CEI-820TX Table 2. CEI-820TX Connector Definitions (P1 and P14) Signal P1 Pin P14 Pin Signal P1 Pin P14 Pin RX1A RX1B TX1A TX1B TX2A TX2B TX3A TX3B TX4A TX4B TX5A TX5B TX6A TX6B TX7A TX7B TX8A TX8B TX9A TX9B TX10A...
  • Page 20: Configuring The Cei-820

    Installation Configuring the CEI-820 Configuring the CEI-820 This section provides configuration information for the CEI-820. CEI-820 Outline Drawing Figure 2. CEI-820 Outline Drawing CEI-820 Input/Output Connector Pin Out To couple the CEI-820 to ARINC devices and discrete inputs and outputs, a front panel connector (P1) and a mezzanine PMC connector (P14) are provided.
  • Page 21 Installation Configuring the CEI-820 Signal P1 Pin P14 Pin Signal P1 Pin P14 Pin RX7A RX7B RX6A RX6B RX5A RX5B RX4A RX4B RX3A RX3B RX2A RX2B RX1A RX1B 17,19,23 41,47 42,44,48 42,48 Discrete Input/Output 1 Discrete Input/Output 2 Discrete Input/Output 3 Discrete Input/Output 4 Discrete Input/Output 5 Discrete Input/Output 6...
  • Page 22: Table 4. Cei-820-44L Connector Definitions (P1 And P14)

    Installation Configuring the CEI-820 Table 4. CEI-820-44L Connector Definitions (P1 and P14) Signal P1 Pin P14 Pin Signal P1 Pin P14 Pin reserved – do not connect 1 reserved – do not connect 26 reserved – do not connect 2 reserved –...
  • Page 23: Cei-820 Transition Cable Pin Out

    Installation Configuring the CEI-820 Table 5. Mating Connector for P1 Manufacturer: Connector: 787131-1 Metal backshell kit: 787233-1 Wire: 30 AWG CEI-820 Transition Cable Pin Out Table 6 defines the CONCEI-620 cable provided with each CEI-820. The cable is approximately three feet in length. There is a Champ 0.8mm 50- pin connector (AMP p/n 787131-1) at one end.
  • Page 24: Configuring The Cei-620

    Installation Configuring the CEI-620 Configuring the CEI-620 This section provides configuration information for the CEI-620. CEI-620 Outline Drawing J2 Connector (rear panel) P1 Connector (front panel) P2 Connector J1 Connector (front panel) (32 bit cPCI) Figure 4. CEI-620 Outline Drawing CEI-620 Input/Output Connector Pin Out Use the cPCI J2 back plane connector to couple the CEI-620 to ARINC devices and discrete inputs and outputs for rear panel configurations.
  • Page 25: Figure 5. 50-Pin Connector (Amp Champ 0.8 Mm Receptacle Connectors - Amp Part Number 787096-1)

    Installation Configuring the CEI-620 Row a Row b Row c Row d Row e RX13B RX13A RX5B RX5A RX12B RX12A RX4B RX4A RX11B RX11A RX3B RX3A RX10B RX10A RX2B RX2A RX9B RX9A RX1B RX1A TX16B TX16A TX8B TX8A TX15B TX15A TX7B TX7A TX14B...
  • Page 26: Table 8. Front View - Arinc 429 Input/Output Connector (P1 And P2)

    Installation Configuring the CEI-620 Table 8. Front View – ARINC 429 Input/Output Connector (P1 and P2) P1 Connector P2 Connector Signal Signal Signal Signal Discrete Output 7 Discrete Output 8 Discrete Output 15 Discrete Output 16 Discrete Output 5 Discrete Output 6 Discrete Output 13 Discrete Output 14 Discrete Output 3...
  • Page 27: Cei-620 Transition Cable Pin Out

    Installation Configuring the CEI-620 Protocol Receive channel(s) Transmit channel(s) ARINC 573/717 TX+: pin P1-1 Bipolar return-to-zero encoding TX-: pin P1-26 #1, #2 ARINC 573/717 TX+: pin P1-1 Harvard bi-phase encoding TX-: pin P1-2 For external wrap, connect each transmit signal to the corresponding receive signal (e.g., TX1+ to RX1+, TX1- to RX1-, etc.) In addition, connect each discrete output to the corresponding discrete input.
  • Page 28 Installation Configuring the CEI-620 P1 Connector P2 Connector Signal Signal RX8A RX16A RX7A RX15A RX6A RX14A RX5A RX13A RX4A RX12A RX3A RX11A RX2A RX10A RX1A RX9A TX8A TX16A TX7A TX15A TX6A TX14A TX5A TX13A TX4A TX12A TX3A TX11A TX2A TX10A TX1A TX9A Discrete Output 8...
  • Page 29: Configuring The Cei-520 And Cei-520A

    Installation Configuring the CEI-520 and CEI-520A P1 Connector P2 Connector Signal Signal TX5B TX13B TX4B TX12B TX3B TX11B TX2B TX10B TX1B TX9B Configuring the CEI-520 and CEI-520A This section provides configuration information for the CEI-520 and the CEI-520A. CEI-520/520A Outline Drawing Figure 6.
  • Page 30: Table 11. Front View - Standard Cei-520/520A Arinc 429 I/O Connector (P2)

    Installation Configuring the CEI-520 and CEI-520A Table 11. Front View – Standard CEI-520/520A ARINC 429 I/O Connector (P2) Signal Signal Signal Signal TX1+ TX1- RX1+ RX1- TX2+ TX2- RX2+ RX2- TX3+ TX3- RX3+ RX3- TX4+ TX4- RX4+ RX4- TX5+ TX5- RX5+ RX5- TX6+...
  • Page 31: Table 13. Front View - Cei-520-Xxxx-J/Cei-520A-Xxxx-J I/O Connector (P2)

    Installation Configuring the CEI-520 and CEI-520A Signal Signal Signal Signal CSDB TX2+ reserved RX10+ RX10- CSDB TX2- reserved RX11+ RX11- CSDB TX3+ reserved RX12+ RX12- CSDB TX3- reserved CSDB RX1+ CSDB RX1- CSDB TX4+ reserved CSDB RX2+ CSDB RX2- CSDB TX4- reserved CSDB RX3+ CSDB RX3-...
  • Page 32: Figure 8. 50-Pin Idc-Style Discrete I/O Connector (3M Part Number 2550-6002-Ub)

    Installation Configuring the CEI-520 and CEI-520A effectively implement a CEI-520/520A-xx channel mapping. The documentation for the AR_LOADSLV routine describes how to enable this mode of operation. The CEI-520/520A has a rear panel 68-pin receptacle connector (SCSI-3 compatible with rails and latch blocks). A mating connector (using a SCSI-3 cable plug connector with wire lacing termination) is shown in Table 14.
  • Page 33: Cei-520/520A Transition Cable Pin Out

    Installation Configuring the CEI-520 and CEI-520A Signal Signal Discrete Output 9 Discrete Output 10 Discrete Output 11 Discrete Output 12 Discrete Output 13 Discrete Output 14 Discrete Output 15 Discrete Output 16 For external wrap, connect each discrete output to the corresponding Note: discrete input.
  • Page 34: Configuring The Cei-220

    Installation Configuring the CEI-220 Configuring the CEI-220 This section provides configuration information for the CEI-220. CEI-220 Outline Drawing Figure 10. CEI-220 Outline Drawing CEI-220 Base Memory Address Jumpers A19-A12 set the base memory address for the CEI-220. An installed jumper selects that address bit as ‘0’. Table 17 demonstrates the mapping of switch positions to address bits and uses the default address of D000 (hex) as an example.
  • Page 35: Cei-220 Interrupts And Slew Rate

    Installation Configuring the CEI-220 CEI-220 Interrupts and Slew Rate The CEI-220 interrupts are software-controlled. See the “Hardware Interrupt Control” section for information on selecting interrupts. The CEI-220 slew rate is controlled automatically as a function of the selected bit rate. CEI-220 ARINC Connector Pin Out To couple the CEI-220 to ARINC devices, two, 37-pin Subminiature “D”...
  • Page 36: Figure 11. Cei-220 P3 Connector Pinout

    Installation Configuring the CEI-220 Signal Signal P3-16 TX8- P3-35 RX8- P3-17 TX9+ P3-36 RX9+ P3-18 TX9- P3-37 RX9- P3-19 GND (Note 1) Figure 11. CEI-220 P3 Connector Pinout See Table 18 for ARINC 561/568 configurations. Note For configurations with ARINC 561/568 (six-wire) capability, pin connections are made as follows: Table 18.
  • Page 37: Configuring The Cei-420 And Cei-420A

    Installation Configuring the CEI-420 and CEI-420A Function Function P4-6 TX12- P4-25 RX12- P4-7 DISOUT4 P4-26 DISINHI1 P4-8 P4-27 DISINLO1 P4-9 DISOUT3 P4-28 DISINHI2 P4-10 P4-29 DISINLO2 P4-11 DISOUT2 P4-30 DISINHI3 P4-12 P4-31 DISINLO3 P4-13 DISOUT1 P4-32 DISINHI4 P4-14 P4-33 DISINLO4 P4-15 **** P4-34...
  • Page 38: Cei-420/420A Base Memory Address

    Installation Configuring the CEI-420 and CEI-420A CEI-420/420A Base Memory Address Jumpers A19-A12 on header E1 set the base memory address. An installed jumper selects that address bit as ‘0’. The following table demonstrates the mapping of switch positions to address bits. It uses the default address of D000 (hex) as an example.
  • Page 39: Cei-420/420A Arinc Connector Pin Out

    Installation Configuring the CEI-420 and CEI-420A CEI-420/420A ARINC Connector Pin Out To couple the CEI-420/420A to ARINC devices use connector P3, a 40- pin IDC-style connector (AMP part number 102160-9). To connect the discrete I/O pins use connector P4, a 20-pin IDC-style connector (AMP part number 102160-4).
  • Page 40: Figure 14. Cei-420/420A P4 Front View

    Installation Configuring the CEI-420 and CEI-420A For configurations with ARINC 573/717 capability, pin connections are made as follows: Table 21. CEI-420/420A P3 Pin Connections Signal P3-37 ARINC 573/717 HBP transmit data + P3-38 ARINC 573/717 HBP transmit data - P3-15 ARINC 573/717 BPRZ transmit data + P3-16 ARINC 573/717 BPRZ transmit data -...
  • Page 41: Configuring The Cei-200

    Installation Configuring the CEI-200 Configuring the CEI-200 This section provides configuration information for the CEI-200. Jumper J1 is factory-set and must not be modified. CEI-200 Outline Drawing Figure 15. CEI-200 Outline Drawing CEI-200 Base Memory Address Switches 1 through 7 set the base memory address for the CEI-200. Switches 1 and 2 must be left in the ON position.
  • Page 42: Cei-200 Base I/O Address

    Installation Configuring the CEI-200 CEI-200 Base I/O Address Switches 8 through 12 set the base I/O address for the CEI-200. The following example demonstrates the default address of 380 (hex). Table 24. Default Address of 380 (hex) Example Switch Position Address Bit Switch Setting Base address...
  • Page 43: Cei-200 Arinc Connector Pin Out

    Installation Configuring the CEI-200 Jumper block J4 is used for interrupt control. To enable an interrupt, select one of the four-interrupt levels (IRQ3, IRQ4, IRQ5, or IRQ7) and install its corresponding jumper. For example, a jumper between locations 1 and 2 enables interrupts on IRQ3. Interrupts are not required for normal operation of the board.
  • Page 44: Configuring The Cei-100

    Installation Configuring the CEI-100 Function Function Receiver 8-A Receiver 8-B Transmitter 4-A Transmitter 4-B Ground Configuring the CEI-100 This section provides configuration information for the CEI-100. CEI-100 Outline Drawing Figure 17. CEI-100 Outline Drawing CEI-100 Base Memory Address Switches 1 through 6 on the dipswitch at U26 set the CEI-100 base address.
  • Page 45: Cei-100 Base I/O Address

    Installation Configuring the CEI-100 CEI-100 Base I/O Address Switches 7 through 10 set the base I/O address for the CEI-100. The following example demonstrates the default address of 380 (hex). Table 29. Default Address of 380 (hex) Example Switch Position Address Bit Switch Setting Base address...
  • Page 46: Cei-100 Arinc Connector Pin Out

    Installation Configuring the CEI-100 CEI-100 ARINC Connector Pin Out To couple the CEI-100 to ARINC devices, use the provided 15-pin Subminiature “D” type connector on the end panel. The connector pin numbers are defined in Figure 18 and Table 31. To build a loop back connector for the external wrap-around test, connect pins 1,3, and 5 and pins 2, 4, and 6.
  • Page 47: Cei-100/Cei-200 Software Installation

    Installation CEI-100/CEI-200 Software Installation CEI-100/CEI-200 Software Installation The software distributed with each CEI-100/200 board is called CEI-SW and is typically supplied on CD-ROM. A Quick Start, normally distributed with the CD, provides instructions for installation and testing on Windows NT/95/98 and DOS. The file INSTALL.TXT located in the README directory of the CD includes the same installation instructions and a detailed list of all included files.
  • Page 48: Cei-X20 Software Installation

    Installation CEI-x20 Software Installation CEI-x20 Software Installation The software distributed with each CEI-220, 420, 420A, 520, 520A, 620, 820, and 820TX board is called CEI-x20-SW and is typically supplied on CD-ROM. A Quick Start is distributed with the CD, providing instructions for installation and testing under Windows NT/XP/Vista/ Server 2008/7/8.0/8.1/Server 2012/10 (note that the only Windows platforms supported by the CEI-220 and CEI-420/420A are Windows NT...
  • Page 49: Cei-220/420/420A/520/520A/620/820/820Tx Self-Test

    Installation CEI-220/420/420A/520/520A/620/820/820TX Self-test CEI-220/420/420A/520/520A/620/820/820TX Self-test After installing a CEI-x20 board in a Windows system, you should perform a self-test to validate the interface. 1. Click the Start button. Then select Programs, then Abaco CEI-x20- SW, and then CEI-x20 Test Config. 2.
  • Page 50: Table 32. Typical Discrete Input Application

    Installation CEI-220 Discrete Inputs threshold and dividing by the LSB value from the Table 33, for your chosen mode. As you can see in Table 34, one value may be appropriate for various modes. The logical value of the discrete inputs is returned from the AR_GET_CONFIG API routine.
  • Page 51: Cei-420/420A/520/520A/620/820 Discrete Inputs

    Installation CEI-420/420A/520/520A/620/820 Discrete Inputs 3. All Four Inputs Discretes use the same threshold set by the AR_SET_CONFIG API routine. 4. Minimum Threshold value is 0 Volts with a code of 00h. Table 34. Programming Examples Signal Type General 28V Avionics TTL/CMOS Threshold (Volts) Programmed Value (Hex)
  • Page 52: Cei-220/420/420A/520/520A/620/820 Discrete Outputs

    Installation CEI-220/420/420A/520/520A/620/820 Discrete Outputs The CEI-420 has eight single-ended, unipolar discrete inputs. The CEI- 420A has 16 single-ended, unipolar discrete inputs, eight of which share the same lines as the eight discrete outputs. The CEI-520/520A/620 has up to sixteen single-ended, unipolar discrete inputs. The CEI-820 has 16 single-ended, bi-directional, unipolar discretes.
  • Page 53: Table 37. Discrete Output Specifications

    Installation CEI-220/420/420A/520/520A/620/820 Discrete Outputs When the control bit is set to a “0”, the discrete output is driven to ground. When the control bit is set to a “1”, the discrete output floats. The CEI- 220 supports four outputs. The CEI-420/420A support 8 outputs. The CEI-520/520A/620/820 supports up to 16 outputs.
  • Page 54: Cei-100/200 Arinc Test Program

    CHAPTER CEI-100/200 ARINC Test Program General Information The menu-driven control program, provided with the CEI-100 and CEI- 200 interface, is CONDOR.EXE. It is used to control the channels on one of these boards. It provides a basic level of functionality for test purposes. This program is NOT available for the CEI-220, CEI-420, CEI-420A, CEI-520, CEI-620, or CEI-820 and can be run only under DOS.
  • Page 55: Accessing The Program

    CEI-100/200 ARINC Test Program Accessing the Program Condor Engineering ARINC-429 Controller Rev 1.0 ARINC-429 Interface Control Program Condor Engineering, Inc. Santa Barbara, California (805) 965-8000 Copyright (c) 1992 Condor Engineering, Inc. Enter F1 for help at anytime Enter any key to start the main program 1 CEI-200 ARINC Controller(s) ready Figure 22.
  • Page 56: Example 1

    CEI-100/200 ARINC Test Program Hot Keys Loads the ARINC control program. The main program then exits without entering the menu-driven functions. /C name Loads a previously saved configuration of the specified name when the program starts. A name must be specified. All boards defined in the configuration (and only those boards.) are automatically initialized.
  • Page 57: Main Menu

    CEI-100/200 ARINC Test Program Main Menu Main Menu The Main Menu appears immediately following the Welcome Screen as shown Figure 23. In addition to a menu, each screen also contains information and message areas that apply to the current function. In the Main Menu screen shown below, you can see that the interface is properly installed because the status line summary shows one controller ready.
  • Page 58: Setup Menu

    CEI-100/200 ARINC Test Program Setup Menu Setup Menu The menu for setting up the interface is shown in Figure 24. A message at the bottom of the screen on the status line indicates whether a configuration has been loaded at this time. Condor Engineering ARINC-429 Controller Rev 1.0 Main Menu...
  • Page 59: Board Setup

    CEI-100/200 ARINC Test Program Setup Menu Board Setup When you select INITIALIZE/TEST BOARD from the Setup Menu the Board Setup menu appears, where you can select additional parameters. Condor Engineering ARINC-429 Controller Rev 1.0 Main Menu Setup Menu Board Setup Toggle xmitter bit rate Toggle receiver bit rate Toggle parity...
  • Page 60: Transmit Menu

    CEI-100/200 ARINC Test Program Transmit Menu Condor Engineering ARINC-429 Controller Rev 1.0 Main Menu Setup Menu Adapter Menu Self-test Menu Toggle xmitter bit rate Toggle receiver bit rate External self-test Toggle parity Internal self-test Execute self-test Return to setup menu Self-test Summary Number of test runs: Number of tests failed:...
  • Page 61: Defining A Message

    CEI-100/200 ARINC Test Program Transmit Menu and 23 bits of data. The remaining bit is parity and is set by the transmitter. See “Defining a Message” for more details.  REPEAT/STEP This function toggles the mode of operation between continuous repetition of the message and a single transmission.
  • Page 62: Transmitting A Message

    CEI-100/200 ARINC Test Program Receive Menu message can be sent out repetitively or once only by using the Repeat/Step toggle. The form shown in Figure 28 shows a message of 27 ARINC words. A message up to 60 words long can be defined. Transmitting a Message Once you have defined the desired messages and selected the parameters using the Transmit and Setup Menus, you can initiate message...
  • Page 63: Figure 30. Receive Menu

    CEI-100/200 ARINC Test Program Receive Menu Condor Engineering ARINC-429 Controller Rev 1.0 Main Menu Receive Menu Enter receive mode Toggle channel Setup triggering Toggle display format Examine current buffer Save buffer to disk Return to main menu Messages Enter a key to halt monitoring process. Channel 1 Running Triggering off...
  • Page 64: Triggering

    CEI-100/200 ARINC Test Program Receive Menu Triggering When you select, Setup triggering, the Triggering setup screen appears (see Figure 31). This screen displays the trigger, broken out bit-by-bit in logic analyzer format. Each bit position must have an X (don't care), a 1 (must be one), or a 0 (must be zero).
  • Page 65: Receiving Messages

    CEI-100/200 ARINC Test Program Receive Menu Receiving Messages After the trigger is set up, you can start reception from the Receive Menu. Received messages are stored in a buffer until the trigger bits are detected in a message, or the messages are stored after the trigger bits are detected. You can then examine the buffer and store it to a file from the Receive Menu.
  • Page 66: Bustools/Arinc Data Bus Analyzer

    CHAPTER BusTools/ARINC Data Bus Analyzer General Information BusTools/ARINC is an optional ARINC 429 analysis and simulation utility which runs under select versions of Windows. It enhances the utility of an underlying ARINC 429 interface board by expanding your scope of control and by providing additional instrumentation and analytical tools.
  • Page 67: Program Interface Library

    CHAPTER Program Interface Library Overview An extensive software Application Programmers Interface (API) to the CEI-100/200/x20 ARINC interface boards is supplied. Functions are supplied to setup the interface and to transmit/receive data. Data is transmitted by writing it into the transmit buffers. The ARINC interface continuously checks the transmit buffers for data, and when data is found, it is sent as soon as possible.
  • Page 68: Table 39. Cei-X20 Family Features

    Program Interface Library Overview Table 39 lists the transmitter and receiver buffer sizes for various members of the CEI-x20 family, and many of the other features of these boards. Table 39. CEI-x20 Family Features Feature CEI-220 CEI-420/420A CEI-520/520A CEI-620 CEI-820 CEI-820TX 64 KB 64 KB...
  • Page 69: Dos Programming

    Program Interface Library DOS Programming A library of utility routines provides the ability to write your own programs to interface with the ARINC boards. These routines are described in this chapter. They are written in C and are delivered in both Microsoft- and Borland-compiler-compatible formats.
  • Page 70: Cei-X20 Programming

    Program Interface Library Windows, VxWorks, and Linux Programming CEI-x20 Programming The software distribution includes a robust Application Programming Interface (API) library for each CEI-x20 device. The CEI-220, -420, and - 420A support the standard API, while the CEI-520, -520A, -620, -820, and -820TX support the enhanced API.
  • Page 71: Programming The Arinc Interface

    Program Interface Library Programming the ARINC Interface gcc –o test my_test_program.c –lceix2032 This creates a program called test by compiling and linking the user program my_test_program.c to the CEI-520/520A/620/820 build of the CEI-x20 Application Program Interface library. VxWorks support for the CEI-x20 boards is described in chapter 6. Programming the ARINC Interface Programming the board is simple.
  • Page 72: Arinc 429 Data Format

    Program Interface Library ARINC 429 Data Format The ARINC 573/717 software interface on the CEI-420-70J and CEI-420- xxJ is nearly identical to the ARINC 429 interface. It appears as channel 7 to the software (counting the first channel as channel 0). The 573 interface on the CEI-520/520A-xxJ, CEI-620-xxJ, and CEI-820-xxJ appears as the first channel.
  • Page 73: Arinc Parity

    Program Interface Library CEI-x20 Interrupt Support All of the CEI-x20 boards accept (and produce) ARINC 429 words in engineering format; there is no need to call AR_REFORMAT. In fact, if the CEI-x20 library function AR_REFORMAT is called, it performs no operation;...
  • Page 74: Utility Routines - Summary

    Program Interface Library Utility Routines – Summary When 'await data' mode is enabled for a particular receiver, calls to AR_GETWORD or AR_GETWORDT put the calling thread to sleep if no data word is available in the channel's sequential receive buffer. The sleeping thread is awakened when either (a) waiting is cancelled with a call to AR_CANCEL_DATA_WAIT, or (b) a word is received on the channel in question.
  • Page 75 Program Interface Library Utility Routines – Summary ar_close() Disables access to the specified board, and releases host addressing resources. ar_clr_rx_count() Zeros out count of received data words. ar_define_msg() Defines a message for scheduling by the ARINC board. ar_execute_bit() Execute the desired built-in test operation ar_get_boardname() Return the name of the board as an ASCII string ar_get_boardtype()
  • Page 76 Program Interface Library Utility Routines – Summary ar_init_dual_port() Initializes all ARINC queue structures, buffers and word counts. Calls ar_reset(), flushes all data words and clears scheduled mode setup ar_init_slave() Initializes data structures on host and ARINC interface ar_int_control() Enables or disables interrupts from slave ar_int_set() Sets the interrupt number used to interrupt the host (CEI-220/420 only)
  • Page 77: Utility Routines - By Function

    Program Interface Library Utility Routines – By Function ar_set_preload_config() Update a pre-load configuration setting (CEI- 520/520A/620/820/820TX-enhanced interface only). ar_set_raw_mode() Disables parity function on the interface ar_set_storage_mode() Sets the data storage mode on the slave ar_set_timerrate() Sets the resolution of the slave receive timer ar_setchparms() Sets ARINC channel configuration information (CEI-520/520A/620/820/820TX-enhanced...
  • Page 78: Error Reporting

    Program Interface Library Utility Routines – By Function Error Reporting ar_get_error() Returns a message string associated with a given error status code. Tick-Timer and Time Tag Functions ar_get_timercnt() Gets the number of timer ticks that have occurred on interface (16 bits). ar_get_timercntl() Gets the number of timer ticks that have occurred on interface (32 bits).
  • Page 79: Channel Parameter Read-Back

    Program Interface Library Utility Routines – By Function Channel Parameter Read-Back ar_get_config() Gets the value of a bit in the control word for the ARINC configuration. ar_get_raw_mode() Get raw mode (no parity) status. ar_get_rx_count() Returns count of received data words for a channel.
  • Page 80: Channel Data Write Functions

    Program Interface Library Utility Routines – By Function Channel Data Write Functions ar_define_msg() Defines a message for scheduled transmission by the board. ar_modify_msg() Modifies the data in a scheduled message. ar_putblock() Puts multiple ARINC words into a channels transmit buffer (CEI-520/520A/620/820/820TX- enhanced interface only).
  • Page 81: Miscellaneous Functions

    Program Interface Library Utility Routines – By Function ar_reset_int() Resets interrupt received from ARINC board. ar_setinterrupts() Sets ARINC channel interrupt mode (CEI- 520/520A/620/820/820TX-enhanced interface only). Miscellaneous Functions ar_cancel_data_wait() Cancel a pending wait operation. ar_execute_bit() Execute the desired built-in test operation. ar_recreate_parity() Recreate the parity bit for a received word.
  • Page 82: Ar _Cancel_Data_Wait

    Program Interface Library AR _CANCEL_DATA_WAIT AR _CANCEL_DATA_WAIT Syntax CEI_INT16 ar_cancel_data_wait (CEI_INT16 board, CEI_INT16 channel) Description If 'await data' mode is enabled for the given receive channel and a thread is currently asleep (in AR_GETWORD or AR_GETWORDT) waiting to receive a word on the channel in question, then calling this function cancels the pending wait operation and awakens the waiting thread.
  • Page 83: Ar _Close

    Program Interface Library AR _CLOSE AR _CLOSE Syntax CEI_INT16 ar_close (CEI_INT16 board) Description This routine should be called when the user application has finished using the board. This routine stops the on-board processor, releases memory mapping resources allocated by the host, and uninstalls the internal interrupt handler (if any).
  • Page 84: Ar_Clr_Rx_Count

    Program Interface Library AR_CLR_RX_COUNT AR_CLR_RX_COUNT Syntax void ar_clr_rx_count (CEI_INT16 board, CEI_INT16 channel) Description This routine resets the count of ARINC data words received by a particular channel to zero. The firmware maintains a count of ARINC data words received over the interface for each channel since the interface was initialized or since the count was reset.
  • Page 85: Ar_Define_Msg

    Program Interface Library AR_DEFINE_MSG AR_DEFINE_MSG Syntax CEI_INT16 ar_define_msg (CEI_INT16 board, CEI_INT16 channel, CEI_INT16 rate, CEI_UINT16 start, CEI_INT32 data) Description This routine defines a message to the ARINC interface for periodic re- transmission. It is applicable to scheduled transmission mode only (see AR_MSG_CONTROL).
  • Page 86 Program Interface Library AR_DEFINE_MSG You can change the scheduled mode label that responds to the SIGNAL by calling AR_MODIFY_MSG () with the new “msg_num” and a negative “rate”. Return Value ARS_INVBOARD The specified board is a CEI-100. (Supported by the CEI-200/x20 only). ARS_BRDNOTLOAD Board not loaded and initialized.
  • Page 87: Ar_Execute_Bit

    Program Interface Library AR_EXECUTE_BIT AR_EXECUTE_BIT Syntax CEI_INT16 ar_execute_bit (CEI_INT16 board, CEI_INT16 test_type) Description This routine executes a user-specified built-in-test operation. Only the CEI-x20 API supports this function. Return Value ARS_NORMAL Operation completed successfully. ARS_INVBOARD Invalid board number. ARS_BRDNOTLOAD The board must be launched before executing the requested test.
  • Page 88 Program Interface Library AR_EXECUTE_BIT AR_BIT_EXT_LOOPBACK Same as AR_BIT_INT_LOOPBACK, but an external loopback is executed instead. A properly-connected loopback adapter must be externally attached. Note: All built-in-test operations (with the exception of AR_BIT_PERIODIC) re- initialize the board, and should therefore only be used at startup. Built- in test operations that re-initialize the board return failure if the board is open in multi-process mode (if supported) and more than one process has loaded the board.
  • Page 89: Ar_Get_Boardname

    Program Interface Library AR_GET_BOARDNAME AR_GET_BOARDNAME Syntax CEI_CHAR * ar_get_boardname (CEI_UINT32 board, CEI_CHAR * boardName) Description This function is used to decode the board type and return a NULL- terminated ASCII string, suitable for printing that describes the board. Only the CEI-x20 API supports this function, for all CEI-x20 boards. If boardName is not a NULL pointer, the resulting ASCII string is copied to the buffer that boardName points to, which should be at least 120 characters long.
  • Page 90: Ar_Get_Boardtype

    Program Interface Library AR_GET_BOARDTYPE AR_GET_BOARDTYPE Syntax CEI_INT16 ar_get_boardtype (CEI_INT16 board) Description This function is used to decode the board type and return a numeric code that describes the board. Only the CEI-x20 API supports this function, for all CEI-x20 boards. Return Value A numeric code describing the specified board.
  • Page 91: Ar_Get_Config

    Program Interface Library AR_GET_CONFIG AR_GET_CONFIG Syntax CEI_INT32 ar_get_config (CEI_INT16 board, CEI_INT16 item) Description This routine reads configuration information about the ARINC interface. Use AR_SET_CONFIG to change device configuration information. See the ARU_* definitions in the file UTILDEFS.H for the most current list of parameters supported by this function and the most up-to-date description of their function and parameters.
  • Page 92: Cei-X20 Parameters

    Program Interface Library AR_GET_CONFIG If the item is ARU_Rn_SDI_FILTER (where “n” is the receiver  number 1-8), the return is: AR_ON SDI prefilter enabled AR_OFF SDI prefilter disabled For CEI-x20 boards, use ARU_RX_CHnn_SDI_FILTER instead.  If SDI pre-filtering is enabled, only data with an SDI value that matches the filter value (see below) is stored into the on-board buffers.
  • Page 93 Program Interface Library AR_GET_CONFIG AR_OFF Transmitter is configured for normal transmission If the requested CEI-x20 item is ARU_DISCRETE_INPUTS, this  function returns the current state of the 4/8/16 discrete inputs, as the lower 4/8/16 bits of the value. These discretes are active high sense. If the requested CEI-x20 item is ARU_DISCRETE_OUTPUTS, this ...
  • Page 94: Cei-100/200 Items

    Program Interface Library AR_GET_CONFIG Vdac = 5.0 Volts * n / 256; See AR_SET_CONFIG for discussion of CEI-220/520/520A/620/820 DAC settings and formulas. The following items reference the CEI-220 DAC values:  ARU_RX1_4_THRESH_VALUE: Receiver 1-4 threshold. ARU_RX5_8_THRESH_VALUE: Receiver 5-8 threshold. ARU_RX9_10_THRESH_VALUE: Receiver 9-10 threshold.
  • Page 95: Cei-X20 Items

    Program Interface Library AR_GET_CONFIG ARU_R12_RATE receive rate for receivers 1 & 2. ARU_R34_RATE receive rate for receivers 3 & 4. ARU_R56_RATE receive rate for receivers 5 & 6. ARU_R78_RATE receive rate for receivers 7 & 8. ARU_R12X1_PARITY parity for transmitter 1. ARU_R34X2_PARITY parity for transmitter 2.
  • Page 96 Program Interface Library AR_GET_CONFIG ARU_RX_CH01_SDI_VALUE – ARU_RX_CH32_SDI_VALUE receiver 1 - 32 SDI value (0-3). ARU_TX_CH01_SHUT_OFF – ARU_TX_CH32_SHUT_OFF transmitter 1- 32 shut off status. ARU_RX1_4_THRESH_VALUE receiver 1-4 threshold (220). ARU_RX5_8_THRESH_VALUE receiver 5-8 threshold (220). ARU_RX9_10_THRESH_VALUE receiver 9-10 threshold (220). ARU_RX11_12_THRESH_VALUE receiver 11-12 threshold (220). ARU_INPUT_THRESH_VALUE discrete onput threshold (220).
  • Page 97: Ar_Get_Error

    Program Interface Library AR_GET_ERROR AR_GET_ERROR Syntax CEI_CHAR * ar_get_error (CEI_INT16 status); Description Many of the ARINC functions return status values, which may indicate an error condition. This function, when passed such an error value, returns a pointer to a message string describing the error. Look at the file UTILDEFS.H for the current list of possible error codes and explanations.
  • Page 98: Ar_Get_Label_Filter

    Program Interface Library AR_GET_LABEL_FILTER AR_GET_LABEL_FILTER Syntax CEI_INT16 ar_get_label_filter (CEI_INT16 board, CEI_UINT16 label); Description This function may be called to determine if a specified label has been filtered out, or if normal reception has been enabled. Label filtering is enabled by the functions AR_LABEL_FILTER, or for the CEI- 520/520A/620/820/820TX enhanced API, the function AR_PUTFILTER.
  • Page 99: Ar_Get_Latest

    Program Interface Library AR_GET_LATEST AR_GET_LATEST Syntax void ar_get_latest (CEI_INT16 board, CEI_INT16 channel, CEI_UINT16 label, CEI_INT32 *data, CEI_CHAR *seqno); Description This routine retrieves ARINC data when “Dedicated” data storage mode is in effect (see AR_SET_STORAGE_MODE). It returns the most recently received data for a selected label and channel. It also returns an eight-bit sequence number that indicates the number of 32-bit ARINC words received for that combination of label and channel.
  • Page 100 Program Interface Library AR_GET_LATEST board (input) board number. Arguments channel (input) receive-channel number. label (input) label number. data (output) address of the location to receive the 32 bit ARINC word(s). The returned ARINC data is in normal ARINC format. seqno (output) address of the location to receive the 8-bit sequence number(s).
  • Page 101: Ar_Get_Raw_Mode

    Program Interface Library AR_GET_RAW_MODE AR_GET_RAW_MODE Syntax CEI_INT16 ar_get_raw_mode (CEI_INT16 board, CEI_INT16 direction, CEI_INT16 channel); Description This function is used to inquire about the parity enable status of a channel. Return Value AR_ON if raw-mode is on (parity is disabled), AR_OFF if raw-mode is off (parity is enabled).
  • Page 102: Ar_Get_Rx_Count

    Program Interface Library AR_GET_RX_COUNT AR_GET_RX_COUNT Syntax CEI_UINT32 ar_get_rx_count (CEI_INT16 board, CEI_INT16 channel); Description The software maintains a count of the number of ARINC data words received over the interface for each channel since the interface was initialized or since the count was reset (see AR _CLOSE). This routine returns that number.
  • Page 103: Ar_Get_Timercnt

    Program Interface Library AR_GET_TIMERCNT AR_GET_TIMERCNT Syntax CEI_UINT16 ar_get_timercnt (CEI_INT16 board); Description The ARINC interface is programmed to maintain an elapsed time count in “ticks”. This routine returns the number of ticks that have occurred since the timer was initialized (see AR_LOADSLV) or since the counter was reset to zero (see AR_RESET_TIMERCNT).
  • Page 104: Ar_Get_Timercntl

    Program Interface Library AR_GET_TIMERCNTL AR_GET_TIMERCNTL Syntax CEI_UINT32 ar_get_timercntl (CEI_INT16 board); Description The ARINC interface is programmed to maintain an elapsed time count in “ticks”. This routine returns the number of ticks that have occurred since the timer was initialized (see AR_LOADSLV) or since the counter was reset to zero (see AR_RESET_TIMERCNT).
  • Page 105: Ar_Getblock

    Program Interface Library AR_GETBLOCK AR_GETBLOCK Syntax CEI_INT32 ar_getblock (CEI_UINT32 board, CEI_UINT32 channel, CEI_INT32 MaxWords, CEI_INT32 Offset717, CEI_INT32 * ActualCount, CEI_INT32 * ARINCData, CEI_INT32 *TimeTag) Description This function is used to get multiple ARINC words from a channel’s receiver buffer. It is supported on the CEI-520/520A/620/820/820TX, using the enhanced interface only.
  • Page 106 Program Interface Library AR_GETBLOCK ActualCount (output) the number of words returned (only valid when AR_GETBLOCK returns ARS_GOTDATA). ARINCdata (output) address to receive the data words (data words are stored only when AR_GETBLOCK returns ARS_GOTDATA). TimeTag (output) address to receive the time tags (timetags are stored only when AR_GETBLOCK returns ARS_GOTDATA).
  • Page 107: Ar_Getfilter

    Program Interface Library AR_GETFILTER AR_GETFILTER Syntax CEI_INT32 ar_getfilter (CEI_UINT32 board, CEI_UINT32 channel, CEI_CHAR * Filter) Description Only the CEI-520/520A/620/820/820TX enhanced API supports this function. This function reads the label interrupt and filter buffer from the board for a specified channel. Each receiver channel has an 8K-byte filter buffer, which is used by the firmware to control storage of received labels and to determine if a particular label is to cause an interrupt.
  • Page 108 Program Interface Library AR_GETFILTER Return Value ARS_INVBOARD Board number invalid. ARS_BRDNOTLOAD Board not initialized. ARS_INVARG Non-implemented, ARINC 717 channel, CSDB channel or invalid mode. Board doesn’t support this function. ARS_NO_HW_SUPRT ARS_BOARD_MUTEX Failed to acquire/release the board lock. ARS_NORMAL Successful completion. Arguments board (input) board number.
  • Page 109: Ar_Getnext

    Program Interface Library AR_GETNEXT AR_GETNEXT Syntax CEI_INT16 ar_getnext (CEI_INT16 board, CEI_INT16 channel, CEI_INT32 *destination); Description This utility tries to get data from an input channel. If none is there, it continues trying for up to 1/4 of a second before giving up. The system clock is used to time out this function.
  • Page 110: Ar_Getnextt

    Program Interface Library AR_GETNEXTT AR_GETNEXTT Syntax CEI_INT16 ar_getnextt (CEI_INT16 board, CEI_INT16 channel, CEI_INT32 *destination, CEI_INT32 *timetag); Description This utility tries to get data with time tag from an input channel. If none is there, it continues trying for up to 1/4 of a second before giving up. This routine should only be used when time tags have been enabled by a previous call to AR_TIMETAG_CONTROL.
  • Page 111: Ar_Getword

    Program Interface Library AR_GETWORD AR_GETWORD Syntax CEI_INT16 ar_getword (CEI_INT16 board, CEI_INT16 channel, CEI_INT32 *destination); Description This routine gets the next available 32-bit ARINC word from the requested channel's buffer and puts it in the desired destination. If this routine successfully returns a word (status is ARS_GOTDATA), there may or may not be more words in the buffer.
  • Page 112: Csdb Receiver Buffer Data Format

    Program Interface Library AR_GETWORD The firmware reads all 32-bits from the FPGA, but stores only the lower Note: 16-bits into the dual-port RAM buffer if the channel is running in ARINC 573/717 mode. The upper 16 bits are set to the current time tag value. The firmware uses the Sync Word Flag and the Sub Frame fields to determine the location in the receive buffer to store the data words.
  • Page 113 Program Interface Library AR_GETWORD Arguments board (input) board number of interest. channel (input) channel from which to get the data. destination (output) address that is to receive the data. The returned ARINC data is in normal ARINC format. CEI-100/CEI-200/CEI-x20 User’s Manual Artisan Technology Group - Quality Instrumentation ...
  • Page 114: Ar_Getwordt

    Program Interface Library AR_GETWORDT AR_GETWORDT Syntax CEI_INT16 ar_getwordt (CEI_INT16 board, CEI_INT16 channel, CEI_INT32 *destination, CEI_INT32 *timetag); Description This routine gets the next available 32-bit ARINC word from the requested channel's buffer and puts it in the desired destination along with its timetag.
  • Page 115 Program Interface Library AR_GETWORDT board (input) board number of interest. Arguments channel (input) channel from which to get the data. destination (output) address in the caller's program that is to receive the data. The returned ARINC data is written to this location. The returned ARINC data is in normal ARINC format.
  • Page 116: Ar_Go

    Program Interface Library AR_GO AR_GO Syntax CEI_INT16 ar_go (CEI_INT16 board); Description Sends a command to the ARINC interface causing it to begin processing ARINC data. Once the interface is started, it goes into an endless loop processing ARINC data until the routine AR_RESET is executed (AR_RESET is called by AR _CLOSE).
  • Page 117: Ar_Init_Dual_Port

    Program Interface Library AR_INIT_DUAL_PORT AR_INIT_DUAL_PORT Syntax CEI_INT16 ar_init_dual_port (CEI_INT16 board); Description This function is defined for the CEI-x20 only. It doesn’t exist in the CEI- 100/200 libraries. This routine first calls AR_RESET. It then initializes all of the all ARINC related queue structures, buffers, and word counts. All data structures are initialized, for all channels.
  • Page 118: Ar_Init_Slave

    Program Interface Library AR_INIT_SLAVE AR_INIT_SLAVE Syntax CEI_INT16 ar_init_slave (CEI_INT16 board); Description This routine first calls AR_RESET. It then initializes all of the ARINC transmitter and receiver queue head and tail pointers. It has the side effect of flushing out the data buffers. If you are using scheduled transmission mode, this routine does not modify your message setup.
  • Page 119: Ar_Int_Control

    Program Interface Library AR_INT_CONTROL AR_INT_CONTROL Syntax CEI_INT16 ar_int_control (CEI_INT16 board, CEI_INT16 channel, CEI_INT16 flag); Description This routine enables or disables interrupts from the slave processor. Interrupts can be enabled for any or all of the receive channels. If enabled, the interface interrupts the host upon receiving an ARINC data word on one of the enabled channels.
  • Page 120 Program Interface Library AR_INT_CONTROL Arguments board (input) board number of interest. channel (input) receive channel of interest. flag (input) if equal to ARU_ENABLE_INT, enables interrupts for the board/channel combination. Otherwise, the interrupts are disabled. CEI-100/CEI-200/CEI-x20 User’s Manual Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com...
  • Page 121: Ar_Int_Set

    Program Interface Library AR_INT_SET AR_INT_SET Syntax CEI_INT16 ar_int_set (CEI_INT16 board, CEI_INT32 int_num); Description This routine is only available for the CEI-220/420. It specifies the interrupt number to be used by the board when interrupting the host. This routine may be invoked while the interface is running. To change the interrupt number used by the CEI-100/200 boards, you must change the jumpers on the board.
  • Page 122: Ar_Int_Slave

    Program Interface Library AR_INT_SLAVE AR_INT_SLAVE Syntax CEI_INT16 ar_int_slave (CEI_INT16 board); Description This function is intended to signal a hardware interrupt to the slave. This routine is only a placeholder. It has not been implemented. Return Value ARS_INVARG Non-implemented function. Arguments board (input) board number of interest.
  • Page 123: Ar_Label_Filter

    Program Interface Library AR_LABEL_FILTER AR_LABEL_FILTER Syntax CEI_INT16 ar_label_filter (CEI_INT16 board, CEI_INT16 channel, CEI_UINT16 label, CEI_INT16 action); Description The ARINC interface has the ability to filter data by label. This routine selects the labels to be filtered out. If filtering is enabled for a particular label, no received data on the specified channel with that label is stored in the ARINC buffer.
  • Page 124: Ar_Loadslv

    Program Interface Library AR_LOADSLV AR_LOADSLV Syntax CEI_INT16 ar_loadslv (CEI_INT16 board, CEI_UINT32 base_seg, CEI_INT32 base_port, CEI_UINT16 ram_size); Description This routine loads the firmware into dual-port RAM (the interface runs it's firmware out of dual-port RAM). In general, this must be the first utility subroutine executed; only AR_VERSION and AR_SET_PRELOAD_CONFIG may be called before calling AR_LOADSLV.
  • Page 125 Program Interface Library AR_LOADSLV ARS_HW_DETECT Failed to detect supported device. ARS_MEMWRERR Error testing dual-port memory. ARS_BRDNOTLOAD The i960 failed to start. ARS_NO_INT_SUPPORT Internal interrupt handling was requested, but is not supported by the board and/or operating system. ARS_INT_ISR Failed to install internal interrupt handler.
  • Page 126: Ar_Modify_Msg

    Program Interface Library AR_MODIFY_MSG AR_MODIFY_MSG Syntax CEI_INT16 ar_modify_msg (CEI_INT16 board, CEI_INT16 channel, CEI_INT16 msg_num, CEI_INT16 rate, CEI_INT32 data) Description This routine modifies the data and transmission rate of a message being scheduled by the ARINC interface. It is applicable only to Scheduled transmission mode (see AR_MSG_CONTROL).
  • Page 127 Program Interface Library AR_MODIFY_MSG Return Value ARS_INVBOARD The selected board is a CEI-100 or the board index is invalid. ARS_INVARG Scheduled transmission mode has not been previously selected, an invalid channel number has been specified or an invalid message number has been specified.
  • Page 128: Ar_Msg_Control

    Program Interface Library AR_MSG_CONTROL AR_MSG_CONTROL Syntax CEI_INT16 ar_msg_control (CEI_INT16 board, CEI_INT16 control) Description This routine selects the type of transmission logic used by the ARINC board. Two types of transmission logic are supported by the interface:  Burst mode (default) ...
  • Page 129 Program Interface Library AR_MSG_CONTROL ARS_INVBOARD The selected board is a CEI-100 or the Return Value board index is invalid. ARS_INVARG An invalid argument was used. ARS_NORMAL Normal successful return. ARS_BOARD_MUTEX Failed to acquire/release the board lock. Arguments board (input) The board number of interest. control (input) Flag to control transmission mode.
  • Page 130: Ar_Num_Rchans

    Program Interface Library AR_NUM_RCHANS AR_NUM_RCHANS Syntax CEI_INT16 ar_num_rchans (CEI_INT16 board) Description This function returns the number of receiver channels that are implemented on the specified board. This function is present only in the CEI-x20 API; the CEI-100/200 boards do not support this function. Return Value ARS_INVBOARD Board number out of range.
  • Page 131: Ar_Num_Xchans

    Program Interface Library AR_NUM_XCHANS AR_NUM_XCHANS Syntax CEI_INT16 ar_num_xchans (CEI_INT16 board) Description This function returns the number of transmitter channels that are implemented on the specified board. This function is present only in the CEI-x20 API; the CEI-100/200 boards do not support this function. Return Value ARS_INVBOARD Board number out of range...
  • Page 132: Ar_Putblock

    Program Interface Library AR_PUTBLOCK AR_PUTBLOCK Syntax CEI_INT32 ar_putblock (CEI_UINT32 board, CEI_UINT32 channel, CEI_INT32 maxWords, CEI_INT32 Offset717, CEI_INT32 * ARINCData, CEI_INT32 * ActualCount) Description This function puts multiple ARINC words into a specified channel’s transmitter buffer (CEI-520/520A/620/820/820TX enhanced interface only). The entry point, AR_PUTBLOCK, puts multiple words into a specified channel's sequential transmit buffer.
  • Page 133: Ar_Putfilter

    Program Interface Library AR_PUTFILTER AR_PUTFILTER Syntax CEI_INT32 ar_putfilter (CEI_UINT32 board, CEI_UINT32 channel, CEI_CHAR * Filter) Description Only the CEI-520/520A/620/820/820TX enhanced API supports this function. This function writes the label interrupt and filter buffer to the board. Each element of the filter buffer consists of a bit field defined by the call to AR_GETFILTER.
  • Page 134: Ar_Putword

    Program Interface Library AR_PUTWORD AR_PUTWORD Syntax CEI_INT16 ar_putword (CEI_INT16 board, CEI_INT16 channel, CEI_INT32 xmit_data); Description This routine puts an ARINC word in the transmit buffer for a particular channel. ARINC 429 Transmit Data Format For the CEI-100/200 the ARINC 429 word must be in the transmission format: 13 12 11 10 DATA...
  • Page 135: Csdb Transmit Data Format

    Program Interface Library AR_PUTWORD The firmware reads 16-bits from dual-port RAM, zero extended Note: (enhanced API) or 32-bits (standard API), and outputs the entire value to the FPGA, even through only the lower 12 bits contain useful data. The host is responsible for loading the transmit buffer with data at a rate such that the buffer never becomes empty, and must place the sync words in the data stream at the proper places, if a proper 573/717 data stream is to be maintained.
  • Page 136 Program Interface Library AR_PUTWORD Since ARINC data rates are relatively slow, a moderately fast PC can Note: generate data at a much faster rate than data is transmitted. Return Value ARS_NORMAL Success. ARS_INVBOARD Invalid board number. ARS_BRDNOTLOAD Board not initialized. ARS_INVARG Invalid argument value.
  • Page 137: Ar_Putword2X16

    Program Interface Library AR_PUTWORD2X16 AR_PUTWORD2X16 Syntax CEI_INT16 ar_putword2x16 (CEI_INT16 board, CEI_INT16 channel, CEI_INT16 lsw, CEI_INT16 msw); Description This routine is an alternate entry point to AR_PUTWORD that takes an ARINC word as two 16-bit quantities, rather than one 32-bit value. Return Value Refer to AR_PUTWORD return values.
  • Page 138: Ar_Recreate_Parity

    Program Interface Library AR_RECREATE_PARITY AR_RECREATE_PARITY Syntax void ar_recreate_parity (CEI_UCHAR * arinc_word); Description This function determines the parity bit (e.g., the MSB of the 32-bit ARINC word) based on the even/odd parity of each of the four bytes that make up the ARINC word.
  • Page 139: Ar_Reformat

    Program Interface Library AR_REFORMAT AR_REFORMAT Syntax void ar_reformat (void *lsword, void *msword); Description Converts an ARINC word to transmission format. It takes data in the conventional ARINC format: 31 30 10 9 DATA LABEL and converts it into transmission format: 13 12 11 10 DATA...
  • Page 140: Ar_Reset

    Program Interface Library AR_RESET AR_RESET Syntax CEI_INT16 ar_reset (CEI_INT16 board); Description This function causes the interface board to stop processing ARINC data. Care should be taken not to reset the interface if there is still data in the transmit buffer(s) to be sent. Use AR_XMIT_SYNC to determine if more ARINC data remains to be transmitted, and wait for it to be loaded into the transmitter.
  • Page 141: Ar_Reset_Int

    Program Interface Library AR_RESET_INT AR_RESET_INT Syntax CEI_INT16 ar_reset_int (CEI_INT16 board); Description This function resets an interrupt from the ARINC interface. This routine should be called from your interrupt handler. It is applicable only to interrupt-driven applications that have met the following conditions: ...
  • Page 142: Ar_Reset_Timercnt

    Program Interface Library AR_RESET_TIMERCNT AR_RESET_TIMERCNT Syntax void ar_reset_timercnt (CEI_INT16 board); Description This routine resets the count of timer ticks (i.e., back to zero) that is kept by the interface. For more information on timers, see AR_SET_TIMERRATE. Return Value None. Arguments board (input) board number of interest.
  • Page 143: Ar_Set_Config

    Program Interface Library AR_SET_CONFIG AR_SET_CONFIG Syntax CEI_INT16 ar_set_config (CEI_INT16 board, CEI_INT16 item, CEI_UINT32 value); Description This routine defines configuration information about the ARINC interface. See AR_GET_CONFIG to read configuration information. Multiple channel selections are provided for compatibility with the CEI- 100/200 only.
  • Page 144: Cei-X20 Items

    Program Interface Library AR_SET_CONFIG ARU_INTERNAL_WRAP internal wrap mode (all channels). ARU_R1_SDI_FILTER receiver 1 SDI prefilter enable. ARU_R2_SDI_FILTER receiver 2 SDI prefilter enable. ARU_R3_SDI_FILTER receiver 3 SDI prefilter enable. ARU_R4_SDI_FILTER receiver 4 SDI prefilter enable. ARU_R5_SDI_FILTER receiver 5 SDI prefilter enable. ARU_R6_SDI_FILTER receiver 6 SDI prefilter enable.
  • Page 145: Cei-100/200/X20 Values

    Program Interface Library AR_SET_CONFIG ARU_DAC_VALUE_01 – set DAC value (non-220/420 only). ARU_DAC_VALUE_16 ARU_OUTPUT_LEVEL_ADJ_01 – enable/disable variable transmitter ARU_OUTPUT_LEVEL_ADJ_32 voltage (520/520A/620 only). ARU_DISCRETE_OUTPUTS set value of discrete outputs. ARU_TX_CH01_HB_INJ – high-bit injection on/off. ARU_TX_CH32_HB_INJ ARU_TX_CH01_LB_INJ – low-bit injection on/off. ARU_TX_CH32_LB_INJ ARU_TX_CH01_GAP_INJ – transmit short gap enabled or ARU_TX_CH32_GAP_INJ disabled.
  • Page 146: Cei-X20 Values

    Program Interface Library AR_SET_CONFIG For the CEI-x20, internal wrap mode causes the transmit channel to be internally connected to the same-numbered receive channel. Transmit data is received as transmitted. If the item is ARU_Rn_SDI_FILTER (where “n” is the receiver  number), then valid values are: AR_ON SDI prefilter enabled...
  • Page 147: Cei-X20 Parametric Values

    Program Interface Library AR_SET_CONFIG If the requested CEI-x20 item is ARU_RX_CHnn_SDI_VALUE  where nn is the receiver channel (01 - 32), the valid values are the value of the SDI filter (0-3). If the requested CEI-x20 item is ARU_TX_CHnn_SHUT_OFF where ...
  • Page 148 Program Interface Library AR_SET_CONFIG Threshold = 10 * (2.5V – Vdac) CEI-220/520/520A/620 Threshold = 10 * (Vdac – 2.5V) CEI-820 The default DAC settings (threshold values) are defined as follows: n = 0x72 (threshold = 2.734V) CEI-220 n = 0x70 (threshold = +3.125V) CEI-520/520A/620 (pos) n = 0x90 (threshold = -3.125V) CEI-520/520A/620 (neg)
  • Page 149: Ar_Set_Control

    Program Interface Library AR_SET_CONTROL AR_SET_CONTROL Description This routine has been removed from the CEI-x20 API. See the new function AR_SETCHPARMS as a replacement function. CEI-100/CEI-200/CEI-x20 User’s Manual Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com...
  • Page 150: Ar_Set_Preload_Config

    Program Interface Library AR_SET_PRELOAD_CONFIG AR_SET_PRELOAD_CONFIG Syntax CEI_INT16 ar_set_preload_config (CEI_INT16 board, CEI_INT16 item, CEI_UINT32 value); Description Call this routine before calling AR_LOADSLV to update the value of a particular load configuration setting. This routine should not be called after the calling process has executed AR_LOADSLV. Only the CEI-520/520A/620/820/820TX enhanced API supports this function.
  • Page 151 Program Interface Library AR_SET_PRELOAD_CONFIG Some coordination is required when using multiple processes in conjunction with a single CEI-x20 device. A single "board" process should be launched first, followed later by one or more "channel" processes. The "board" process should load the board (AR_LOADSLV), configure board-specific parameters (e.g., AR_SET_TIMERRATE, AR_TIMETAG_CONTROL, etc.), and launch the board (AR_GO).
  • Page 152 Program Interface Library AR_SET_PRELOAD_CONFIG selected if internal interrupt handling is requested. If used in conjunction with multi-process mode, only the single "board" process should install the internal interrupt handler. If a process has enabled internal interrupt handling and successfully initialized the board (using AR_LOADSLV), the interrupt handler is automatically uninstalled when the process calls AR_CLOSE.
  • Page 153: Ar_Set_Raw_Mode

    Program Interface Library AR_SET_RAW_MODE AR_SET_RAW_MODE Syntax CEI_INT16 ar_set_raw_mode (CEI_INT16 board, CEI_INT16 direction, CEI_INT16 channel, CEI_INT16 control); Description Each transmit and receive channel can be configured to run in “raw” mode. In this mode, parity isn’t used, and each 32-bit ARINC word is transmitted or received with the parity (32nd) bit unchanged.
  • Page 154: Ar_Set_Storage_Mode

    Program Interface Library AR_SET_STORAGE_MODE AR_SET_STORAGE_MODE Syntax CEI_INT16 ar_set_storage_mode (CEI_INT16 board, CEI_INT16 flag); Description There are three possible methods for storage of received data on the ARINC interface. The default method is Buffered Mode, which puts the data in a circular buffer with all data received on a particular channel stored chronologically in that channel's buffer.
  • Page 155 Program Interface Library AR_SET_STORAGE_MODE Return Value ARS_NORMAL Operation completed successfully. ARS_INVBOARD Invalid board number. ARS_BRDNOTLOAD Board not initialized. ARS_INVARG Invalid flag argument. ARS_BOARD_MUTEX Failed to acquire/release the board lock. Arguments board (input) board number. flag (input) Flag indicating type of storage mode to set: ARU_BUFFERED enables Buffered mode.
  • Page 156: Ar_Set_Timerrate

    Program Interface Library AR_SET_TIMERRATE AR_SET_TIMERRATE Syntax void ar_set_timerrate (CEI_INT16 board, CEI_INT16 rate); Description The ARINC board contains an onboard timer that can be programmed to interrupt at various frequencies (ticks). A 32-bit integer is incremented for each of the ticks. This tick count assists the host computer in accurately timing message retransmission.
  • Page 157 Program Interface Library AR_SET_TIMERRATE When time tagging is enabled, a timer rate of 500 µsec may be used if only the two receivers are running. Otherwise, a timer rate of 100 µsec may be used if only one receiver is running and the transmitter is not. If all channels are running at the slow bit rate, any timer rate may be ...
  • Page 158: Ar_Setchparms

    Program Interface Library AR_SETCHPARMS AR_SETCHPARMS Syntax CEI_INT32 ar_setchparms (CEI_UINT32 cardnum, CEI_UINT32 channel, CEI_INT32 TransRcv, pAR_CHANNEL_PARMS def); Description This function is available both in the Standard library, and when you are using the Enhanced library for the CEI-520/520A/620/820/820TX. It is not available in the standard libraries for the CEI-100/200. The entry point AR_SETCHPARMS sets up and defines the operating parameters and modes for a receiver or transmitter.
  • Page 159: Ar_Setinterrupts

    Program Interface Library AR_SETINTERRUPTS AR_SETINTERRUPTS Syntax CEI_INT32 ar_setinterrupts (CEI_UINT32 cardnum, CEI_UINT32 channel, CEI_INT32 TransRcv, CEI_UINT32 Count, CEI_UINT32 Mask); Description This function is available only when you are using the Enhanced API for the CEI-520/520A/620/820/820TX. The entry point, AR_SETINTERRUPTS, is used to set the interrupt on “N”...
  • Page 160: Ar_Sleep

    Program Interface Library AR_SLEEP AR_SLEEP Syntax void ar_sleep (CEI_UINT32 sleep_ms); Description Execution of the calling thread is suspended for the given number of milliseconds. A platform-dependent thread delay routine is used to implement this operation (for example, Sleep() under Windows). Timing accuracy of this operation is dependent upon the accuracy of the underlying operating system call.
  • Page 161: Ar_Timetag_Control

    Program Interface Library AR_TIMETAG_CONTROL AR_TIMETAG_CONTROL Syntax CEI_INT16 ar_timetag_control (CEI_INT16 board, CEI_INT16 flag); Description The ARINC interfaces can generate a timetag for received data with a resolution equal to the timer rate that is programmed by the routine AR_SET_TIMERRATE, with a resolution of 32 bits. This timetag is stored in the receive buffer along with the data that it is tagging.
  • Page 162 Program Interface Library AR_TIMETAG_CONTROL Arguments board (input) board number of interest. flag (input) action to take with time tags. Valid values: ARU_ENABLE_TIMETAG enable tagging of data. ARU_DISABLE_TIMETAG disable tagging of data. CEI-x20: ARU_CH01_ENABLE_TIMETAG – ARU_CH32_ENABLE_TIMETAG Enable tagging of data on specified channel.
  • Page 163: Ar_Version

    Program Interface Library AR_VERSION AR_VERSION Syntax void ar_version (CEI_CHAR * verstr); Description This utility returns the API software and board firmware versions as an ASCII string. If verstr is a non-NULL pointer, the API copies the API software and board firmware version string to the caller’s buffer, which should be at least 120 characters long.
  • Page 164: Ar_Xmit_Sync

    Program Interface Library AR_XMIT_SYNC AR_XMIT_SYNC Syntax CEI_INT16 ar_xmit_sync (CEI_INT16 board, CEI_INT16 channel); Description This utility waits for all the data in the transmit buffer to be sent. It is useful in an application that is sending data out but doesn't want to halt the interface until everything has been sent.
  • Page 165: Vxworks Support

    CHAPTER VxWorks Support Overview VxWorks is an embedded real-time operating system supporting flexible hardware configuration. The CEI-x20 API compiles and runs under Motorola PowerPC and Intel x86 VxWorks Board Support Packages. The CEI-820 and CEI-820TX are supported on both x86 and PowerPC platforms, while the CEI-220/420/420A/520/520A/620 are supported only on the x86 platform.
  • Page 166 VxWorks Support Building a VxWorks Image The following steps describe how to update your VxWorks image. By default, ‘[ CEI-x20 Install Path ]’ corresponds to the path ‘c:\ Program Files \ Condor Engineering \ CEI-x20-SW’. 1. Copy the appropriate component installation file from the ‘[ CEI-x20 Install Path ] \ Source \ VxWorks \ Component Files’...
  • Page 167: X86 Pci Bios Configuration

    VxWorks Support Building a VxWorks Image parameters may be required for certain target systems and/or development environments. Details regarding usage of each configuration parameter are provided within the parameter description. 6. Open the C/C++ compiler parameter setup window. Remove the -ansi compiler option.
  • Page 168: Building The Cei-X20 Api

    VxWorks Support Building the CEI-x20 API Building the CEI-x20 API The CEI-x20 API is built as a downloadable application. The following steps explain how to build the CEI-x20 API. 1. Create a new downloadable application project. 2. Add the API source file(s) to the project. Use the following table to determine which file(s) to add to the API project for your board type.
  • Page 169: Building The Sample Program

    VxWorks Support Building the Sample Program After you have built and downloaded the API, carry out a basic board test by downloading and running the provided sample program. This is described in the next section, “Building the Sample Program”. Building the Sample Program The API distribution includes a sample program named vxw_wrap.c.
  • Page 170: Figure 32. Sample Application Trace

    VxWorks Support Building the Sample Program Figure 32. Sample Application Trace CEI-100/CEI-200/CEI-x20 User’s Manual Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com...
  • Page 171: Description Of Cei-100/200 Arinc Interface

    CHAPTER Description of CEI-100/200 ARINC Interface Overview If you need to write ARINC programs in a language or for an operating system other than that supported by the CEI application interface library, you may write your own utilities. This section documents the CEI-100 and the CEI-200 firmware interface.
  • Page 172: Loading The Board

    Description of CEI-100/200 ARINC Interface Loading the Board Loading the Board Prior to using a board, its firmware must be loaded. You do this by entering the following command at the DOS command line for each CEI- 100/200 board in the system. Typically, this would go in the AUTOEXEC.BAT file: CONDOR /SA [/M XXXX] [/I XXX] [/X] ...
  • Page 173: Programming The Arinc Channel Setup

    Description of CEI-100/200 ARINC Interface Programming the ARINC Channel Setup Programming the ARINC Channel Setup An integrated control chip set which controls 2 receive channels controls all ARINC channels and 1 transmit channel. Each chip set is programmed with a separate control word that is formatted as follows: Table 47.
  • Page 174: Controlling The Timers

    Description of CEI-100/200 ARINC Interface Controlling the Timers Controlling the Timers The ARINC boards have an on-board timer mechanism. The timer rate is determined by a programmable value, which is written at the timer control location: CEI-100 - 044Ch CEI-200 - 0494h To determine what timer value to use, see AR_SET_TIMERRATE.
  • Page 175: Enabling Interrupts

    Description of CEI-100/200 ARINC Interface Enabling Interrupts On the CEI-100 this is programmed using the slave status word at location: 0464h where if bit 2 is set, time tagging is enabled, otherwise it is disabled. This word contains other data that must be maintained when updating these bits.
  • Page 176 Description of CEI-100/200 ARINC Interface Receiving Data The buffer segment is the segment offset from the base of the board to the start of the buffer. For example, the buffer for a channel with a buffer segment value of 0C0h on a board based at segment CC00h would be addressed at segment CCC0h (real address CCC00h).
  • Page 177: Filtering Out Labels

    Description of CEI-100/200 ARINC Interface Filtering Out Labels Since it would be redundant to store the label portion of an ARINC word at the location for that label, the firmware maintains an eight-bit sequence number in the LSB instead of label number. The sequence number is incremented each time a word for that label is stored there.
  • Page 178 Description of CEI-100/200 ARINC Interface Transmitting Data channel are different, it knows it has to transmit data and does so. After each word is transmitted, the slave updates the tail pointer. Since it is very possible to stuff data in the transmit buffer faster than it can be sent, check to see if the head pointer catches up to the tail pointer before any data is put in the buffer.
  • Page 179: Appendix A Modifying Cei-200 Base Bit Rate

    APPENDIX Modifying CEI-200 Base Bit Rate Procedure The CEI-200 provides multiple ARINC 429 channels. Standard high (100Kbs) and low (12.5Kbs) bit rates are supported by default. To use the hardware at different bit rates, the following procedures may be used. You must know what base address the board has been configured to use.
  • Page 180 Modifying CEI-200 Base Bit Rate Procedure If the “Low” bit rate is programmed, the actual bit rate can be calculated by dividing the actual “High” bit rate by 8. The “Max” and “Min” values above represent the maximum calculated range within which the receivers detect valid data.
  • Page 181: Appendix Bcei-X20 Structure Definitions

    APPENDIX CEI-x20 Structure Definitions Structures This chapter defines the structures that are used by the CEI-x20 API. AR_CHANNEL_PARMS The AR_CHANNEL_PARMS structure is used to pass parameters to the AR_SETCHPARMS function. These parameters are used to initialize ARINC receivers and transmitters, and the API returns information about the channel to the caller in this structure.
  • Page 182 CEI-x20 Structure Definitions Structures The elements of the AR_CHANNEL_PARMS structure are defined as follows: BaudRate Defines the baud rate for the specified channel: For ARINC 573/717 channels, baud rate/sub frame size: ARU_717_SPEED_384 defines a sub frame size of 32 words. ARU_717_SPEED_768 defines a sub frame size of 64 words.
  • Page 183 CEI-x20 Structure Definitions Structures 200K bps. Simply specify the desired baud rate (in bps). For example, to set the baud rate of a particular transmit/receive channel to 98K bps, set ‘BaudRate’ to 98000. ChannelType The function returns the type of the specified channel: CHAN_NOT_IMPLEMENTED Channel is not implemented...
  • Page 184 CEI-x20 Structure Definitions Structures Sync1 Specifies the ARINC-573/717 receiver Sync word #1. This value is ignored for transmitters and non- 573/717 channels. Sync2 Specifies the ARINC-573/717 receiver Sync word #2. This value is ignored for transmitters and non- 573/717 channels. Sync3 Specifies the ARINC-573/717 receiver Sync word #3.
  • Page 185 CEI-x20 Structure Definitions Structures If this call is for ARU_RECEIVER, the value is 0xPPNN, where PP is the receiver positive threshold value and NN is the receiver negative threshold. On the CEI-820, the negative receiver threshold is ignored and automatically set to the additive inverse of PP (that is, NN = -PP).
  • Page 186: Appendix C Parametric Voltage Programming

    APPENDIX Parametric Voltage Programming Introduction Some members of the CEI-x20 family provide the option of adjusting the output voltage levels, and adjusting the input threshold levels for the serial communications channels. The parameters needed to program the DAC levels vary among the members of the CEI-x20 family;...
  • Page 187: Cei-420/420A Dac Definitions

    Parametric Voltage Programming CEI-420/420A DAC Definitions Table 49. CEI-220 DAC Register Scale Factors Function Scaling factor Receiver threshold channels 1 - 4 (sets symmetric Thres = 10 * (2.5V – Vdac) positive and negative thresholds) Receiver threshold channels 5 - 8 (sets symmetric Thres = 10 * (2.5V –...
  • Page 188: Cei-620 Dac Definitions

    Parametric Voltage Programming CEI-620 DAC Definitions Function Scale factor Receiver threshold channels 15 - 16 negative threshold Thres = 10 * (2.5V – Vdac) Transmit voltage for parametric testing (channels 9 - 16) Differential output voltage = 2 * Vdac Spare CEI-620 DAC Definitions Table 51.
  • Page 189: Appendix D Example Cei-X20 Programs

    APPENDIX Example CEI-x20 Programs Introduction The CEI-x20-SW distribution contains many example programs that can be used as templates for programming your own applications. Most of these example programs are written in “C” and assume ARINC 429 channels. Sample applications are provided to explain 573/717 and CSDB channel usage, and an example is also included that illustrates discrete input/output operation.
  • Page 190: Labwindows Cvi Support

    Example CEI-x20 Programs Introduction LabWindows CVI Support A LabWindows/CVI sample program is included with the distribution, as well as a LabWindows/CVI function panel (CEI22032.fp) and include file (CEI22032.h). You may use these files as the basis for creating your own CVI applications.
  • Page 191 Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment SERVICE CENTER REPAIRS WE BUY USED EQUIPMENT • FAST SHIPPING AND DELIVERY Experienced engineers and technicians on staff Sell your excess, underutilized, and idle used equipment at our full-service, in-house repair center We also offer credit for buy-backs and trade-ins •...

Table of Contents