CIU3 Getting Started
Edit this on GitLab
Overview
The CIU3 is a versatile, compact, low-power, self-contained multifunction I/O system, preconfigured with four serial RS-232/422/485 communications channels, a four-channel A/D converter, twelve-channel programmable discrete I/O, four-channel ARINC 429/575, two-channel CANBus, and one-channel MIL-STD-1553 functionality. The CIU3 can also be configured with up to three smart Configurable Open Systems Architecture™ (COSA®) function modules. It features a dual-core ARM® Cortex®-A53 processor for customer applications, as well as I/O and communications management. The CIU3 is equipped with two 10/100/1000BASE-T (GbE) Ethernet ports and an RS-232 serial debug port for maintenance, diagnostics, or configuration. Ideally suited for rugged applications and development, the CIU3 delivers off-the-shelf solutions that accelerate the deployment of SWaP-optimized systems across air, land, and sea platforms. This scalable platform empowers your development process, reduces risk, and accelerates product deployment.
The goal of this guide is to provide a complete step-by-step setup instruction, from opening the box to developing and deploying applications. This will include an unboxing guide, steps for getting connected and cabling your hardware, and software development steps that detail booting, communicating with your unit, and writing application code in your target environment using the NAI Software Support Kit.
Unboxing
This section provides a breakdown of all items included in your CIU Dev Kit and what they’ll be used for, including the CIU Breakout Board, which will host much of your unit’s input & output.
CIU Dev Kit Contents
The CIU Development Kit includes all the necessary components that you’ll need to immediately start development with the CIU3 and its modules. The contents are as follows:
-
P1 Power Cable
-
USB-A to RS-232 Adapter
-
CIU Kit Screwdriver & Hex Key
-
Onboard Module Pinout Overlay Cards
-
Jumper Wire Kit
-
CIU Breakout Board & Legs
-
CIU3 Integration Unit
CIU Breakout Board
-
The CIU breakout board is a development tool that consolidates and simplifies access to the unit, its inboard functionality, and any onboard function modules to accelerate the development process. It accomplishes this by engaging both the J2 & J3 connectors of the unit, allowing it to bring out I/O that is handled by each set of pins.
-
As you can see, the board has a section of pins that are already separated and labeled for the appropriate inboard functionality. The other section consists of three identical columns of pins labeled with an IO#. These are the pins that you will use to communicate with any function modules that you have requested to be placed in the three onboard slots.
-
Also contained in the CIU Dev Kit is a set of onboard module pinout overlay cards. If your CIU3 has been populated with one or more onboard function modules, locate the overlay cards labeled with each of the corresponding module names and place them over the pins of the appropriate module slot. Each pin is now labeled by the card with the corresponding IO for the module.
-
The remaining connectors on the breakout board are as follows:
-
SER0 will start as your primary method of communicating with your board via a serial debug terminal
-
USB0 allows for the inclusion of any additional peripheral devices that are needed in your configuration & OS
-
ETH0/1 provide networking capability and another means of transporting data to/from your unit
-
Getting Started with Hardware
Now that we’ve covered the contents of your CIU Dev Kit, the first thing you’ll need to do is get connected. This section provides detailed steps on how to cable these components to get your unit running, as well as how the wiring of all modules & peripherals will be handled during development.
Cabling the Board
-
What you’ll need:
-
P1 power cable
-
Hex Key
-
CIU breakout board
-
Serial cable
-
Ethernet cable
-
|
Note
|
For rugged development and deployment, P2 & P3 cables can be made from the connector pinouts to replace the CIU breakout board |
-
Connections
-
Attach the breakout board legs to the two corner slots on the edge of the board that is opposite the J2 & J3 connectors.
-
Align the two connectors on the bottom of the CIU breakout board with the CIU3’s J2 & J3 connectors and press it down. The attached legs allow the board to stand level when plugged in.
-
Connect the included serial cable from a USB port of your host computer to the SER0 (J9) port on the breakout board.
-
Connect an ethernet cable from your host computer to the ETH0 (J7) port on the breakout board.
-
With the other end unplugged, plug the power cable into the P1 connector of the board and secure it by screwing either end in using the included hex key. Do not supply power yet. You will be instructed to supply power in the Connecting to Board section below.
-
Cabling Modules & Peripherals
-
What you’ll need:
-
CIU breakout board
-
Onboard module pinout overlay cards
-
Jumper wire kit
-
Peripherals specific to your modules
-
-
In the CIU Breakout Board section of Unboxing, we outlined how the different sections of the breakout board provide labeled pins for both the inboard and onboard functionality of your unit.
-
This section also highlights that the pins connected to the three configurable module slots are labeled with generic IO numbers on the breakout board. These pin numbers can be mapped to the specific IO of your configured onboard modules using the module manuals, or you can locate the appropriate onboard module pinout overlay cards and lay them over their associated MOD# pins on the breakout board. As you can see, the overlay cards display the modules' IO pins and eliminate the need for pin mapping.
-
For an overview of the functionality available on the Cosa Integration Unit, please consult the CIU Functions section of the guide.
-
Once you are ready to start wiring and configuring your inboard and onboard modules, locate the desired module manual on the Manuals page for additional details on module functionality and pinouts.
Getting Started with Software
Once you’ve familiarized yourself with the CIU3’s hardware components, the next steps are to power on the unit and begin interfacing with it and its inboard/onboard modules. Here are some of the resources that will be used to accelerate that process:
-
CIU3 Motherboard Manual - Register descriptions, memory layout, and details regarding onboard functionality will be essential to monitoring board health & operating status.
-
NAI Software Support Kit - Make use of API libraries, quick start documentation, and sample applications to inform application development before having to write your first line of code.
Connecting to Board
-
Communication with your CIU3 during development will take place primarily via your serial connection to the board. To initiate this connection, open a serial console for the COM port that you connected to earlier and configure it with the following settings:
-
115200 Baud rate
-
8 Data bits
-
1 Stop bit
-
No Parity bit
-
-
Power on the CIU3. You should now see the board’s boot sequence being printed to the console.
Booting
-
NAI currently has support for PetaLinux 2023.2 with support pending for VxWorks 7 & Deos. The environment variables in U-Boot require modifications depending on the operating system being targeted by the user. The default boot option for U-Boot is PetaLinux 2023.2 from SATA.
-
Power on your unit and hit the ESC key repeatedly in the serial console until you see the U-Boot prompt:
-
To check how your unit is currently configured to boot, type printenv in the console and hit enter:
-
The contents of the bootcmd variable determine the default boot method that is entered on power-on, or by typing boot in U-Boot. This is likely initialized with something to boot from your SATA drive, like run sataboot. In turn, the sataboot is assigned all the necessary commands for booting the PetaLinux image that is already located on the drive. Type boot in the console to start this process.
-
Once PetaLinux has finished booting, enter root for both the username and password. You have now completed the boot process.
ESP 2.0
-
The NAI Embedded Soft Panel is a graphical interface that allows you to interact with your CIU3’s function modules before you’ve started the software development process. Now that you’ve got your unit connected, use this tool to get better acquainted with all of the functionality that your board has to offer. ESP 2.0 can be found on the Downloads page accompanied by some resources that detail what it includes and how to get connected to any NAI hardware.
-
Following the Embedded Soft Panel 2 Quick Start Guide, use "New Configuration Simple/Advanced" to connect to your CIU3 over ethernet. The resulting window will look similar to the following:
-
As you can see, the bottom of the window is lined with tabs that represent all of the inboard functions and COSA function modules that are populated on your CIU3. Navigate to the tab pertaining to which functions you’ve wired or prepared in the Cabling Modules & Peripherals section of this guide. You can use this tab to test your wiring and explore other module capabilities.
Development and Deployment with SSK 2.x
-
Getting Started
-
The NAI Software Support Kit contains our API library, device drivers, example code, and documentation to explain its contents. The SSK’s API calls are common across all supported operating systems, while low-level BSP code handles the differences between operating systems and the hardware.
-
For details on getting started with the SSK, consult the Software Development Guide. This includes instructions for building and running NAI sample applications on your target, and subsequently developing your own library and application code.
-
-
Opening a Handle to the CIU3
-
The NAI SSK includes support for several modes of connection to your target hardware. The sample applications in the SSK showcase these modes via the NAIAPP common library, which queries the user on how to connect the software to the hardware with a menu-based approach. For details on which connections are supported and instructions on how to configure them when developing your own code, consult the Connecting to Boards page.
-
The SSK 2.x API Library contains a description and parameters for the NAI API calls that you will be using to interface with your motherboard and modules. Any parameter types referenced in the API library are defined and listed in the associated naibrd library files contained in your SSK.
-
CIU3 Functions
Inboard Function Modules
The CIU3 is preconfigured with four serial RS-232/422/485 communications channels, a four-channel A/D converter, twelve-channel programmable discrete I/O, four-channel ARINC 429/575, two-channel CANBus, and one-channel MIL-STD-1553 (A/B redundant) functionality. The sections below provide a brief overview for each of these inboard functions, allowing users to begin experimenting with module functionality and software development immediately.
|
Note
|
NAI inboard function modules may differ in certain specifications and number of channels from configurable onboard modules. Overview materials are intended to introduce NAI module families, but content and specifications may not pertain to all modules in a family. |
Analog-to-Digital
Analog to Digital (A/D) modules translate analog electrical signals for data processing purposes. NAI offers nine A/D smart function modules. The ADx smart function modules provide fast, accurate and reliable conversion performance ideally suited for military, industrial, and commercial applications. A variety of A/D converters with available channels, architecture type and sampling rates are available to meet your circuit design needs.
Serial
NAI’s serial communication smart function modules provide up to 8 high-speed, programmable RS-232, RS-422, RS-485, non-isolated communication channels. Each channel is programmable for either Serial Communications (SC) protocol or General Purpose I/O (GPIO) modes as either RS-422/485 (differential) or RS-232 (single ended) hardware level interfaces. Each channel has one Transmit and one Receive signal pair (±) available as applicable. Synchronous (SYNC) communications mode (added feature) automatically configures the clock (clk) signal(s) on the companion pair channel: CH1-CH4 clk companion channels are CH5-CH8, respectively.
Discrete I/O
Discrete I/O multichannel programmable modules provide interfacing solutions for almost any embedded or test application. NAI’s discrete I/O modules are offered in two versions: Standard Functionality (SF) modules and Enhanced Functionality (EF) modules. All the modules feature unparalleled programming flexibility, a wide range of operating characteristics, and a unique design that eliminates the need for pull-up resistors or mechanical jumpers. The EF Modules add built-in operational functionality to provide Pulse/Frequency Period Measurements of the incoming signal (Input) and/or Pulse/Frequency arbitrary signal generation (Output).
ARINC-429
NAI’s ARINC 429/575 smart function modules provide up to twelve programmable channels. ARINC 429 is a data transfer standard for aircraft avionics. ARINC 575 is an equipment characteristic for a Digital Air Data System (DADS) that provides essential air-data information for displays, autopilots, and other flight controls and instrumentation on commercial and transport-type aircraft. ARINC 568/579 smart function modules provides a communications interface with 2 channels. ARINC 568 is an equipment characteristic for Distance Measurement Equipment (DME). ARINC 579 is an equipment characteristic for a VHF Omnidirectional Radio range (VOR) short range navigation system
CANBus
NAI’s CANBus smart function modules provide independent, isolated channels of CAN serial data bus links, conforming to the ISO 11898 International Standard. All CAN nodes can transmit data and several CAN nodes can request the bus simultaneously. NAI offers three CANBus smart function module models with different levels of support for CANBus 2.0 A and B protocols and CANBus SAE J1939 protocols – offering features including: Fully compliant ANSI C network: Transport and DataLink layers, Adjustable baud rate with speeds up to 1 Mbit/sec and MilCAN compliance.
MIL-STD-1553
MIL-STD-1553 is a military standard published by the United States Department of Defense that defines the mechanical, electrical, and functional characteristics of a serial data bus. It features a dual, redundant, balanced-line, physical layer; a (differential) network interface; time division multiplexing; half-duplex command/response protocol; and up to 31 remote terminals (devices). NAI’s MIL-STD-1553 communication smart function modules provide programmable 1, 2 or 4-channel and dual-redundant in transformer-coupled or direct-coupled interfaces and possess an improved assisted mode.
COSA Function Modules
In addition to the CIU3’s inboard functionality, NAI’s Configurable Open Systems Architecture™ (COSA®) offers the most modular, agile and rugged COTS portfolio of smart modules of its kind. With 3 configurable module slots and over 100 smart modules to choose from, the CIU3 allows users to effortlessly customize their system to meet specific requirements.
For details on which NAI modules are available for configuration on the CIU3, visit the 'Function Modules' page of our product website.
Once those module slots are configured, users can find the documentation for their specific function modules under the 'Manuals' tab on this site.