INTRODUCTION

This manual provides information about the North Atlantic Industries, Inc. (NAI) NIU3R System. The NIU3R is a “Nano Interface Unit”; self-contained Multifunction I/O System preconfigured with 8-CH programmable Discrete I/O, 4-CH Discrete Isolated Switching, 10-CH Serial, and 1-CH MIL-STD-1760 functions. The NIU3R boasts a dual ARM ®Cortex®-A53 processor for customer application and I/O and communications management.

For a brief description of the system and complete list of features, click here for the NIU3R data sheet.

SOFTWARE SUPPORT

The ENAIBL Software Support Kit (SSK) is supplied with all system platform based board level products. This platform’s SSK contents include html format help documentation which defines board specific library functions and their respective parameter requirements. A board specific library and its source code is provided (module level ‘C’ and header files) to facilitate function implementation independent of user operating system (O/S). Portability files are provided to identify Board Support Package (BSP) dependent functions and help port code to other common system BSPs. With the use of the provided help documentation, these libraries are easily ported to any 32-bit O/S such as RTOS or Linux.

The latest version of a board specific SSK can be downloaded from our website www.naii.com in the software downloads section. A Quick-Start Software Manual is also available for download where the SSK contents are detailed, Quick-Start Instructions provided and GUI applications are described therein. For other operating system support, contact factory.

CONVENTIONS USED IN THIS MANUAL

Note

An operating procedure, practice, or condition, etc., that is essential to emphasize.

All numbers are expressed in decimal format unless otherwise noted.

Website

http://www.naii.com/

GENERAL SAFETY NOTICES

The following general safety notices supplement the specific warnings and cautions appearing elsewhere in the manual. They are recommended precautions that must be understood and applied during operation and maintenance of the instrument covered herein.

Death or serious injury may result if personnel fail to observe safety precautions. Dependent on configuration, some modules (e.g. Synchro / Resolver or AC signal sources) can generate output signals with high voltages. Be careful not to contact high-voltage connections when installing, operating or maintaining this instrument.

The NIU3R is delivered as a standalone system with no accessible or serviceable parts.

Repair

DO NOT ATTEMPT REPAIR. Under no circumstances should repair of this instrument be attempted. All repairs to this chassis must be accomplished at the factory.

High Voltage

HIGH VOLTAGE may be used in the operation of this equipment.

Input Power Always On

Note

The design of the model NIU3R is such that DC input power is continuously supplied to internal circuits when connected to a main power source. To disconnect the NIU3R from external power, the external power source should first be de-energized. The power input cable can then be disconnected.

SYSTEM SPECIFICATIONS & DETAILS

Introduction

The Nano Interface Unit (NIU3R) is an integrated, compact, “nano-sized” subsystem with I/O capability configurations. The NIU3R connects to existing platform Ethernet networks, making data available to any system on the network. Additionally, the NIU3R is delivered with ARM® Cortex®-A53 access support for standalone or other processor related capability. The NIU3R easily adds sensor data acquisition and distribution and communication interfaces to mission computers without expensive chassis and backplane redesign. It has been designed with rugged embedded industrial, military and aerospace applications in mind.

This approach provides unprecedented flexibility for supporting existing or new applications where there are specific interfacing requirements.

Significant application benefits include:

  • Independent (pre-processed) I/O functionality targeted to specific data acquisition/control areas

  • Additional capabilities, technology insertion and sensor interfacing to existing fielded applications

  • Minimal integration risk based on current field-proven, deployed technologies

  • Only ~6.2” x 5.8” x 1.6” @ ~2.5 lbs. (1.13 kg) conduction cooled

  • 4x Ethernet

    • 10/100/1000Base-T (GbE) (default)
    • 1 Gb Fiber Optic 850 nm (option)

Objectives

This manual provides the user with basic hardware implementation and information regarding the operation and interface of the NIU3R. Each NIU3R is fitted with, four embedded module functions, dual-core processor and an integrated motherboard, power supply unit (PSU) and interface connectors.

Scope

This manual covers the basic operation of the NIU3R as a standalone I/O subsystem with pertinent/specific details relating to the operation/communications from/to the NIU3R with the available function module(s) fitted within the NIU3R.

ON BOARD RESOURCES

Memory

DDR4 SDRAM

The NIU3R provides a total of 4 GB of LPDDR4 memory. This memory is organized as 1 1Gb x 16 MT53E1G32D2 device (parts may vary). The Ultrascale+™ has an on chip 64-bit DDR4 memory controller. The controller has full ECC error-correction support, with the ability to detect multi-bit errors and correct single-bit errors within a nibble. Please consult the Micron data sheet for DDR4 device specific details.

NOR Flash

Connected through the local bus, the NIU3R supports 2 x 2 gigabytes of flash. The Flash consists of a stacked (four 512Mb die) Micron® Flash MT25QL02GCBB8E12-0SIT device. Flash features a high-speed SPI-compatible bus interface that utilizes dual QSPI via a two-input logic gate to increase I/O throughput rates four times for each device. The NOR Flash has an erase capacity of 100,000 cycles per sector and typical data retention of 20 years

FRAM

The FM24CL64B is a 64-kilobit nonvolatile memory employing an advanced ferroelectric process. The ferroelectric random-access memory or FRAM is nonvolatile and performs reads and writes like a RAM. It provides reliable data retention for 38 years. The NIU3R FRAM 64K bits are organized as 8,192 x 8 bits random access memory, connected to the Ultrascale+™ CPU through the I2C controller.

SATA

The Ultrascale+™ CPU is directly connected to an onboard Solid-State Drive (SSD). The SSD contains a single level cell NAND Flash together with a controller in a single Multi-Chip package. The Multi-Chip packaged device is soldered directly to the printed circuit board for reliable electrical and mechanical connection.

The SSD has an internal write protect signal SATA_WP. The SATA_WP signal must be connected or switched to ground to enable any write to the SSD. The SATA_WP signal is pulled up on card by a 4.7 KΩ resistor to the internal 3.3 V supply.

The onboard SATA drive conforms to the follow specifications:

  • Complies with Serial ATA 2.5 Specification
  • Supports speeds: 1.5 Gbps (first-generation SATA), 3 Gbps (second-generation SATA and eSATA)
  • Supports advanced technology attachment packet interface (ATAPI) devices
  • Contains high-speed descriptor-based DMA controller
  • Supports native command queuing (NCQ) commands

The standard ordering code for the NIU3R includes a 32GB SSD drive. Larger devices are available; please consult the factory for availability.

Peripheral I/O

Ethernet

The NIU3R supports four 10/100/1000Base-TX Ethernet connections using one Broadcom BCM54240 Ethernet PHY device and the Xilinx Gigabit Ethernet MACs. The PHY-to-MAC interface employs a Reduced Gigabit Media Independent Interface (RGIII) connection using four data lines at 250 Mbps each for a connection speed of 1 Gbps. The NIU3R contains internal magnetics and can directly drive copper CAT5e or CAT6 twisted pairs.

The NIU3R Ethernet ports support:

  • Detection and correction of pair swaps (MDI crossover), and pair polarity
  • MAC-side and line-side loopback
  • Auto-negotiation

Ethernet Port 1 can be routed as 10/100/1000Base-TX Ethernet as a build option.

Ethernet Port 2 can be routed as 10/100/1000Base-TX Ethernet as a build option.

I/O pin outs can be found in the Pinout Details section of this document.

Serial Port

The NIU3R has a single, asynchronous serial port. The interface uses a two-wire, TXD, RXD interface (system/power GND referenced). The SER-TXD and SER-RXD RS-232 signals are routed to J2 on the NIU3R.

Tamper Detect Interface and Action Circuit

NAI is developing an optional Tamper Detect Interface and Action Circuit for improved Security/Cybersecurity requirements. This circuit will offer FIPS 140-3 Level 3 Design Support, Crypto-Key Storage (with Battery-Backed RAM), Secure Boot and Anti-Tamper/Tamper Detect & Sanitize functions. For further information, please contact NAI.

Software Libraries/Associated Documents

NIU3R BSP Processor Module Library

The NIU3R Processor library package provides function interfaces to the on-module functionality. This package contains Help documentation (in html format) that explains all the functions available in the library. The package also contains the source code (**.h, **.c) files as well as the files needed to build the library using any of the supported operating systems. Example programs are also provided to demonstrate the usage of the libraries in typical applications of the module.

Associated Documents

Check the NAI website or contact factory for the latest downloads and documentation.

SPECIFICATIONS

The NIU3R is designed to meet the following general specifications.

General

Ethernet Data Transfer:Data transfers within 1 ms (typical)
Input Voltage:18 to 36 VDC (28 VDC nominal)
Power (Base unit):~30 W @ 28 V VDC nominal plus module(s) power (see specific module(s) specifications) I/O Signal GND reference is isolated from main power source return and chassis.
Power/Heat Dissipation:~30 watts (maximum) when properly mounted to a cold-plate, which must be maintained at a temperature not to exceed 71°C. Note: The total NIU3R power dissipation is dependent on the configuration of the modules fitted in the NIU3R.
Temperature, Operating:-40°C to 71°C (conduction cooled - measured at cold plate interface)
Temperature, Storage:-55°C to 105°C
Size:Height: ~1.6” (41 mm)
Depth: ~5.8” (147 mm)
Width: ~6.2” (157 mm)
Weight:The approximate weight of a typical fully configured NIU3R (model #) is ~2.5 lbs. (1.13 kg).
Environmental MIL-STD-810(F-H) (*1)
No.DescriptionProcedure
(for ref.)
Cycles
(for ref.)
Table
(for ref.)
Figure
(for ref.)
Comments
514VibrationI514.8-IMethod 514.8, 4.4G 10 minutes all axis operational
501Temp (High)I501.7-IPHS&T (2 hour soak @ 71C), Non-op, performance check @ end of soak
501Temp Variation (Diurnal Hot Day)I501.7-I3X 24 Hour cycles of 35C>71C>35C NO SUN EXPOSURE REQUIRED, Non-op, performance check @ end of third cycle
501Temp Variation (Captive Carriage Thermal Soak)II501.7-II85C for 2 hours, 95C for 5 minutes operational
502Temp (Low)I502.7-IPHS&T (2 hour soak @ -40C), Non-op, performance check @ end of soak
502Temp (Low – Captive Carriage)I502.7-II54C for 2 hours
503Temp (Shock)1-D3Room>-40C, stabilize>Room, >+49C, stabilize. Chamber switch/Temp change in less than 1 min, Non-op, performance check @ end of soak
503Temp (Shock – Captive Carriage)1-D341C>+66C in less than 5 minutes>Room>-54C in less than 1 minute, operational
507HumidityII10507.6-II10X 24 Hour cycles 100%>95%>100% humidity at room temp, op checks @ end of 5th & 10th Cycles
500PressureII1500.6-IIn/a108,000 Pa (15.7 psia) until stable, operational
513AccelerationII1513.8-IIn/a30G for 5 seconds, all directions for total of 8 runs
516Shock – EjectionI516.8-In/a18 total SRS shocks, operational
520Combined Environment – Conditioning Cycle3520.5n/a3 cycles of 40k feet @ -54C for 2 hours > 32C @ 90% humidity for 2 hours, op checks @ end of 1st and 3rd cycles
Ingress Protection IEC 60529 (*1)
No.DescriptionProcedureCyclesTableFigureComments
IP54Dust Protection
IP54Water Splashing
IP65Dust Tight
IP65Water Jets

EMC/EMI

EMC / MIL-STD-461 (*1, *2)
MIL-STD-461(G)Method/Curve/ProcedureComments
CE102Conducted emissions, Power Leads, 10 kHz to 10 MHz.
CS101Conducted Susceptibility Power Leads, 30 Hz to 150 kHz
CS106Conducted susceptibility, Power Leads, 30 Hz to 150 kHz.
CS114Conducted susceptibility, Bulk Cable Injection, 10 kHz to 200 MHz, Curve 5
CS115Conducted susceptibility, bulk cable injection, Impulse Excitation
CS116Conducted susceptibility, Damped Sinusoidal Transients, Cables & Power Leads, 10 kHz to 100 MHz
RE101Radiated emissions, magnetic field, 30 Hz to 100 kHz.
RE102Radiated emissions, Electric Field 2 MHz to 18 GHz, limit: fixed wing internal <25m
RS101Radiated emissions, electric field, 10 kHz to 18 GHz.
RS103Radiated, susceptibility, Electric Field External 200 V/M from 2 MHz to 40 GHz
CS118Personnel Borne Electrostatic Discharge, 16kV

Notes:
*1 - Designed to meet / Generic Test Reports (contact factory for availability).
*2 - Utilizing proper shielded cables and system practices.

Note

Specifications are subject to change without notice.

MTBF

The Mean Time between Failures is configuration, environment, and temperature dependent. Please contact factory regarding calculations based on the specific configuration and program requirements.

UNPACKING & INSPECTION

Figure 1. NIU3R

Unpacking

The NIU3R packing materials were designed specifically for transport protection of the NIU3R. When receiving the shipment container, inspect packaging for any evidence of physical damage. If damage is evident, it is recommended that the carrier agent is present when opening the shipping container. It is further recommended that all packing material is retained in the event the NIU3R needs to be shipped elsewhere.

System/Chassis Identification

An identification label, indicating part number, unique serial number, and Ethernet PHY MACs / default IP address(es) is affixed to the front of the system chassis.

Figure 2. Unit Identification

Inspection

Inspect the chassis and connectors to ensure that they were not damaged during transit.

MECHANICAL INTERFACE

Mechanical Description

The NIU3R is a rugged, aluminum (6061-T6) alloy, conduction-cooled system. It must be mounted to a cold plate. The system thermal management design considerations should ensure that the chassis thermal interface (NIU3R bottom surface) does not exceed 71°C. Mounting holes are provided on the chassis bottom housing flanges (as depicted). See the outline drawing below.

Mounting Requirements

Refer to NIU3R Outline and Installation Drawing (OID) for details on mounting and installing the NIU3R. It is available for download from NAI’s website. The NIU3R is conduction cooled and must be mounted in accordance with the drawing. The OID provides recommended hardware, torque, cold-plate flatness and surface finish specifications, and thermal conductivity requirements.

Figure 3. NIU3R Outline Dimensions/Cold Plate Mounting Pattern (Reference Only)

Note

  1. For reference only (refer to the product web page for the latest revision NIU3R Outline and Installation Drawing (OID).
  2. Unless otherwise specified, dimensions are in inches (mm); tolerances are:
      2 PL DEC ±0.01; 3 PL DEC ±0.005
      FRACT ±1/64 (0.4); ANGLES ±1/2 (12.7)

CONNECTOR DESIGNATION & DESCRIPTION

The Power, I/O Interface and Ethernet connectors are located on the NIU3R front panel housing.

Figure 4. NIU3R (Front Panel Connector Placement)

Table 1. NIU3R Connector Designation and Description

Connector DesignationDescription
J1I/O Connector, Inboard I/O
J24x GbE, Maintenance, Debug (RS-232, System Reset) & extended processor option signals (RS-232, Hardware SATA Write Protect)
J3Primary Power Connector, VDC

Connector Details and Pinout

Generic pinout. See module I/O section or contact factory regarding any special module I/O configuration.

J1, Inboard Functions

The NIU3R is preconfigured with 16-CH programmable Discrete I/O, 4-CH Discrete Isolated Switching, 10-CH Serial, and 1-CH MIL-STD-1760 functions.

Figure 5. J1 I/O Inboard Functions Connector Detail

Parts Identification

Table 2. J1 I/O Inboard Functions Connector Definition

Chassis (Box-level)Mating Cable Connector
DesignationMIL-DTL
Equivalent Reference
Rows / Socket SizePin-countMIL-DTL
Equivalent Reference
NAI P/N
(for reference)
J1MK-4C2-100-225-66004 / 22100MM-412-100-161-81UM07-0162
Pinout

Generic pinout. See module I/O section or contact factory regarding any special module I/O configuration.

Table 3. J1 I/O Inboard Functions Connector Pinout

J1 Connector PinSignalNotes
1TXDHI-CH10/CLKOUT-CH9
2TXDLO-CH10/CLKOUT-CH9
3RXDHI-CH10/CLKIN-CH9
4RXDLO-CH10/CLKIN-CH9
5GND_D
6TXDHI_CH7
7TXDLO_CH7
8RXDHI_CH7
9RXDLO_CH7
10GND_D
11STORE_MATED
12GND_D
13TXDHI_CH2
14TXDLO_CH2
15RXDLO_CH2
16RXDHI_CH2
17SPARE2
18DT2_CH2_N
19DT2_CH2_P
20DT2_CH1_P
21DT2_CH1_N
22GND_DTSignal/System Ground
23DT1_IN_CH16
24DT1_IN_CH15
25DT1_IN_CH14
26DT1_IN_CH13
27GND_DSignal/System Ground
28SER0_TXD
29SER0_RXD
30GND_DSignal/System Ground
31GND_DSignal/System Ground
32TXDHI_CH6
33TXDLO_CH6
34RXDHI_CH6
35RXDLO_CH6
36GND_DSignal/System Ground
37TXDLO_CH4
38TXDHI_CH4
39RXDHI_CH4
40RXDLO_CH4
41GND_DSignal/System Ground
42DT2_CH4_P
43DT2_CH4_N
44DT2_CH3_P
45DT2_CH3_N
46SPARE1
47DT1_OUT_CH4
48DT1_OUT_CH3
49DT1_OUT_CH2
50DT1_OUT_CH1
51VCC1
52RXDLO_CH9
53RXDHI_CH9
54TXDLO_CH9
55TXDHI_CH9
56GND_DSignal/System Ground
57RXDLO_CH8
58RXDHI_CH8
59TXDLO_CH8
60TXDHI_CH8
61GND_DSignal/System Ground
62TXDHI_CH3
63TXDLO_CH3
64RXDHI_CH3
65RXDLO_CH3
66GND_DSignal/System Ground
67RXDLO_CH1
68RXDHI_CH1
69TXDLO_CH1
70TXDHI_CH1
71GND_DSignal/System Ground
72DT1_OUT_CH8
73DT1_OUT_CH7
74DT1_OUT_CH5
75DT1_OUT_CH6
76+3V3
77GND_DSignal/System Ground
781760_BUSB_N
791760_BUSB_P
801760_BUSA_N
811760_BUSA_P
82GND_DSignal/System Ground
83TXDHI_CH5
84TXDLO_CH5
85RXDLO_CH5
86RXDHI_CH5
87GND_DSignal/System Ground
88CARRIAGE_MATED
89PLATFORM_CLASS
90SAFETY_EN
91GND_DSignal/System Ground
92JTAG_TDI
93JTAG_TMS
94JTAG_TCK
95JTAG_TDO
96GND_DSignal/System Ground
97DT1_IN_CH11
98DT1_IN_CH9
99DT1_IN_CH12
100DT1_IN_CH10

J2, Ethernet Communication & Debug

The NIU3R supports up to four 10/100/1000Base-T ports (when appropriately configured) and debug/maintenance signals. The debug/maintenance signals provided are an RS-232 console port and System Reset (for a soft reset/reload). There are also signals provided for Battery-Backed Key Storage and access/changes to the FPGA

Figure 6. J2 Ethernet Communications & Debug Connector Detail

Parts Identification

Table 4. J2 Ethernet Communications & Debug Connector Definition

Chassis (Box-level)Mating Cable Connector
DesignationMIL-DTL Equivalent ReferenceRows / Socket SizePin-countMIL-DTL Equivalent ReferenceNAI P/N + (for reference)
J2MK-3C2-051-225-26003 / 2251MM-312-051-161-41UM07-0161
Pinout

Table 5. J2 Ethernet Communications & Debug Connector Pinout

J2 Connector PinSignalNotes
1TAMPER_DET_IN*6
2SER0_RXD*2
3SER0_TXD*2
4"+VBAT_IN"*7
5GND_D*4
6ETH3_TP3_N*5
7ETH3_TP3_P*5
8ETH3_TP2_N*5
9ETH3_TP2_P*5
10ETH3_TP1_N*5
11ETH3_TP1_P*5
12ETH3_TP0_P*5
13ETH3_TP0_N*5
14SYSRSTN*1
15PT1_IN*8
16PT1_OUT*8
17+3V3*8
18GND_D*4
19ETH4_TP3_N*5
20ETH4_TP3_P*5
21ETH4_TP2_N*5
22ETH4_TP2_P*5
23ETH4_TP1_N*5
24ETH4_TP1_P*5
25ETH4_TP0_N*5
26ETH4_TP0_P*5
27GND_D*4
28ETH1_TP3_P*5
29ETH1_TP3_N*5
30ETH1_TP2_N*5
31ETH1_TP2_P*5
32ETH1_TP1_P*5
33ETH1_TP1_N*5
34ETH1_TP0_N*5
35ETH1_TP0_P*5
36SPARE_IO_2*9
37SPARE_IO_1*9
38NVMRO*4
39JTAG_TDO*10
40JTAG_TMS*10
41JTAG_TDI*10
42JTAG_TCK*10
43GND_D*4
44ETH2_TP3_N*5
45ETH2_TP3_P*5
46ETH2_TP2_N*5
47ETH2_TP2_P*5
48ETH2_TP1_N*5
49ETH2_TP1_P*5
50ETH2_TP0_N*5
51ETH2_TP0_P*5

Notes

1.SYSRSTn: An active “low” or GND logic level (as referenced to System GND of the NIU3R) assertion of the SYSRST# signal (internally pulled ‘high’) on the NIU3R processor and module card will initiate an NIU3R system reset.
2.Debug: RS-232 Serial Communications Console port
3.NVMRO: Used for SATA Flash write enable/disable on the processor of the NIU3R. OPEN for Write Protect, GND for Write Enable.
4.GND: All the identified GNDs are referenced to the same internal signal GND (System GND).
5.ETHx-TPyz: Standard NIU3R configuration provides 4x 10/100/1000Base-T Ethernet ports: x = port number; y = twisted par/differential signal number (0/1/2/3); z = differential signal polarity (p = positive(+) and n = negative(-)).
6.TAMPER DETECT: Key storage for FIPS 140-2 level 3.
7.VBAT: Battery voltage for Tamper Detect.
8.PT1: Access to US+ FPGA pins for future custom I/O expansion
9.SPARE_IO_X: Spare I/O (currently inactive).
10.JTAG: Allows for reprogramming of the QSPI memory and changes to the FPGA.

J3, Primary Power Connector

Primary input power is supported on the NIU3R via the J3 connector. Connectors used are as follows:

Figure 7. J3 Primary Power Connector Detail

Parts Identification

Table 6. J3 Primary Power Connector Definition

Chassis (Box-level)Mating Cable Connector
DesignationMIL-DTL Equivalent ReferenceRows / Socket SizePin-countMIL-DTL Equivalent ReferenceNAI P/N + (for reference)
J3MK-2C2-009-225-26002 / 229MM-212-009-161-41UM07-0160
Pinout

Table 7. J3 Primary Power Connector Pinout

J3 Connector PinSignal
128VDC-IN
228VDC-IN
328VDC-IN
428VDC-IN
528VDC-RTN
628VDC-RTN
728VDC-RTN
828VDC-RTN
9Chassis GND

OPERATIONAL DESCRIPTION

Basic Operations

Primary SBC/host/mission computer communications interface to the NIU3R is via the Gig-E port(s). Full command/control/register data query is requested and sent as a TCP/IP or UDP type message to the NIU3R via NAI Ethernet protocol structure, i.e. the NIU3R receives a message command and replies accordingly. In addition to direct read/write function module register access, once initialized the protocol can also support multi-register block read/writes as well as generate interrupt driven output messages or timed interval data ‘dump’ messages. For detailed supplement, please visit the NAI web-site specific product page and refer to:

NAI Ethernet Interface for Generation 5 SBC and Embedded IO Boards Software Specification

The Software Support Kit (SSK) supplied with the NIU3R includes a full suite of NAI sample applications that enables the user to interact with the function modules fitted within the NIU3R unit. For additional details on the sample applications, please refer to the ‘Sample Applications’ tab on the NAI website.

REGISTER MEMORY MAP ADDRESSING

The register map address consists of the following:

  • cPCI/PCIe BAR or Base Address for the Board
  • Module Slot Base Address
  • Function Offset Address

Board Base Address

The table below lists the BAR used for access to the motherboard and module registers. The second BAR is used internally for motherboard and module firmware updates. The other cPCI/PCIe BARs not listed are not used.

NAI BoardsDevice IDBusMotherboard and Module Register AccessMotherboard and Module Firmware Updates
Slave Boards
NIU3RN/AN/ADirect Memory AccessInternal Direct Memory Access

Module Slot and Function Address

The NIU3R includes (4) basic preconfigured IO functions embedded within the motherboard (onboard functions). These functions are like the standard NAI COSA® smart functions identified as:

  1. DT1 = 1. DT1 = Support function ID for 8-CH Discrete I/O
  2. DT2 = Support function ID for 4-CH Discrete Switch
  3. SC3 = Support function ID for 8-CH Serial Communications (Async only)
  4. CMJ = Support function ID for 2-CH Serial communications (Async or Sync) & 1-CH MIL-STD-1760

The following depicts the memory structure allocated for the (4) onboard function IDs.

NIU3R function/module structure/order:
Function #1:Onboard Function DT1-type (Discrete I/O)
Function #2:Onboard Function DT2-type (Discrete Switch)
Function #3:Onboard Function SC3-type (Serial Comm)
Function #4:Onboard Function CMJ-type (Serial Comm, MIL-STD-1760)

The “start” address of the function(s) on the CIU3 are factory pre-defined (and read from)) the Module Address register (refer to the figure below).

Figure 8. Register Memory Map Addressing Example for NIU3R

Address Calculation

Motherboard Registers:

Read/Write access to the motherboard registers starts with the base address for the board and then the motherboard base offset address.

For example, to address Module Slot 1 Start Address register (i.e. register address = 0x4000):

  1. Start with the base address for the board.
  2. Add the motherboard base register address offset.
Motherboard Address =Base Address +Motherboard Address Offset= 0x9000 0400
0x9000 00000x0400

Module Registers:

Read/Write access to the Function module’s registers start with the base address of the board. Add the “content” for the Module Start Address and then, add the specific module function register offset.

For example, to address an appropriate/specific function module with a register offset:

  1. Start with the base address for the board.
  2. Add the value (contents) from the module base address offset register (contents/value of Motherboard Memory register for Module 1 (i.e., @ 0x4000) = 0x4000.
  3. Then add the specific module function Register Offset of interest (i.e., 0x1000)
(Function Specific) Address =Base Address +Module Base Address Offset +Function Register Offset= 0x9000 5000
0x9000 00000x40000x1000

REGISTER DESCRIPTIONS

Module Information Registers

The Module Slot Address, Module Slot Size and Module Slot ID provide information about the modules detected on the board.

Module Slot Addressing Ready
Function:Indicates that the module slots are ready to be addressed.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:0xA5A5A5A5
Operational Settings:This register will contain the value of 0xA5A5A5A5 when the module addresses have been determined.
Module Slot Address
Function:Specifies the Base Address for the module in the specific slot position.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Based on board's module configuration.
Operational Settings:0x0000 0000 indicates no Module found.
Module Slot Size
Function:Specifies the Memory Size (in bytes) allocated for the module in the specific slot position.
Type:unsigned binary word (32-bit)
Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Assigned by factory for the module.
Operational Settings:0x0000 0000 indicates no Module found.
Module Slot ID
Function:Specifies the Model ID for the module in the specified slot position.
Type:4-character ASCII string
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Assigned by factory for the module.
Operational Settings:The Module ID is formatted as four ASCII bytes: three characters followed by a space. A value of 0000 0000 indicates no Module found.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
ASCII Character (ex: 'A' - 0x41)ASCII Character (ex: 'D' - 0x44)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
ASCII Character (ex: '5' - 0x35)ASCII Space (' ' - 0x20)

Hardware Information Registers

The registers identified in this section provide information about the board’s hardware.

Product Serial Number
Function:Specifies the Board Serial Number.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Serial number assigned by factory for the board.
Operational Settings:N/A
Platform
Function:Specifies the Board Platform Identifier. Values are for the ASCII characters for the NAI valid platforms (Identifiers).
Type:4-character ASCII string
Data Range:See table below.
Read/Write:R
Initialized Value:ASCII code is for the Platform Identifier of the board
Operational Settings:NAI platform for this board is shown below:
NAI PlatformPlatform Identifier4-character ASCII string
NIU000x0000 0000
Model
Function:Specifies the Board Model Identifier. Values are for the ASCII characters for the NAI valid models.
Type:4-character ASCII string
Data Range:See table below.
Read/Write:R
Initialized Value:ASCII code is for the Model Identifier of the board
Operational Settings:NAI model for this board is shown below:
NAI Model4-character ASCII string
NIU0x0055 494E
Generation
Function:Specifies the Board Generation. Identifier values are for the ASCII characters for the NAI valid generation identifiers.
Type:4-character ASCII string
Data Range:See table below.
Read/Write:R
Initialized Value:ASCII code is for the Generation Identifier of the board
Operational Settings:NAI generation for this board is shown below:
NAI Generation4-character ASCII string
3R0x0000 5233
Processor Count/Ethernet Interface Count
Function:Specifies the Processor Count and Ethernet Interface Count
Type:unsigned binary word (32-bit)
Data Range:See table below.
Read/Write:R
Operational Settings:Processor Count - Indicates the number of unique processor types on the motherboard = 1 Ethernet Interface Count - Indicates the number of Ethernet interfaces on the product motherboard.

For NIU3R, the Ethernet Interface Count is set for Dual Ethernet = 2.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Processor Count (0x0001)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Ethernet Interface Count (0x0002)
Maximum Module Slot Count/ARM Platform Type
Function:Specifies the Maximum Module Slot Count and ARM Platform Type.
Type:unsigned binary word (32-bit)
Data Range:See table below.
Read/Write:R
Operational Settings:Maximum Module Slot Count = 4
ARM Platform Type - UltraScale+ = 3
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Maximum Module Slot = 0x0004
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
ARM Platform Type = 0x0003 (UltraScale)

Processor Operating System Registers

The registers in this section provide information about the Operating System that is running on the host processor on the motherboard. For boards that have more than one processor (ex. 75PPC1, 75INT2, 68PPC2, etc), the host processor would be the Power-PC or Intel processor.

ARM Processor Platform
Function:Specifies the ARM Processor on the motherboard. Values are for the ASCII characters for the NAI host processor platforms specified by the Operating System.
Type:8-character ASCII string - Two (2) unsigned binary word (32-bit)
Data Range:N/A
Read/Write:R
Initialized Value:ASCII code is for the Host Platform Identifier of the board
Operational Settings:Valid NAI platforms based on Operating System loaded to host processor.
Processor Platform (Note: 8-character ASCII string) (“aarch64”)
Word 1 (0x6372 6161 = “craa”)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
'c' (0x63)'r' (0x72)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
'a' (0x61)'a' (0x61)
Word 2 (0x0034 3668 = “ 46h”)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
null (0x00)'4' (0x34)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
'6' (0x36)'h' (0x68)
Processor Operating System
Function:Specifies the Operating System installed for the host processor. Values are for the ASCII characters for the NAI supported operating systems.
Type:12-character ASCII string - Three (3) unsigned binary word (32-bit)
Data Range:N/A
Read/Write:R
Operational Settings:ASCII, 12 characters; ('Linux', 'VxWorks', 'RTOS', ...)
Processor Platform (Note: 12-character ASCII string) (“Linux”)
Word 1 (0x756E 694C = “uniL”)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
'u' (0x75)'n' (0x6E)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
'i' (0x69)'L' (0x4C)
Word 2 (0x0000 0078 = “ x”)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
null (0x00)null (0x00)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
null (0x00)'x' (0x78)
Word 3 (0x0000 0000 = “ ”)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
null (0x00)null (0x00)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
null (0x00)null (0x00)

Motherboard Firmware Information Registers

The registers in this section provide information on the revision of the firmware installed on the motherboard.

Motherboard Core Firmware Version
Function:Specifies the Version of the NAI factory provided Motherboard Core Application installed on the board.
Type:Two (2) unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Operational Settings:The motherboard firmware version consists of four components: Major, Minor, Minor 2 and Minor 3.
Motherboard Core Firmware Version (Note: little-endian order in register) (ex. 4.50.0.0)
Word 1 (Ex. 0050 0004 = 4.50 (Major.Minor)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Minor (ex: 0x0050 = 50)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Major (ex: 0x0004 = 4)
Word 2 (Ex. 0x0000 0000 = 0000 = 0.0 (Minor2.Minor3))
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Minor 3 (ex: 0x000 = 0)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor 2 (ex: 0x000 = 0)
Motherboard Firmware Build Date/Time
Function:Specifies the Build Date/Time of the NAI factory provided Motherboard Core Application installed on the board.
Type:Two (2) unsigned binary word (32-bit)
Data Range:N/A
Read/Write:R
Operational Settings:The motherboard firmware time consists of the Build Date and Build Time.
Motherboard Firmware Build Time (Note: little-endian order in register)
Word 1 - Build Date (ex. 0x1006 07E5 = 2021-6-16)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Day (ex: 0x10 = 1624)Month (ex: 0x06 = 6)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Year (ex: 0x07E5 = 2021)
Word 2 - Build Time (ex. 0x001A 1A10 = 16:26:26)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
null (0x00)Seconds (ex: 0x1A = 26)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minutes (ex: 0x1A = 26)Hours (ex: 0x10 = 16)
Motherboard FPGA Firmware Version
Function:Specifies the Version of the NAI factory provided Motherboard FPGA installed on the board.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Operational Settings:The motherboard FPGA firmware version consists of two components: Major, Minor
Motherboard FPGA Firmware Version (ex. 0x0005 0009 = 5.9)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Major (ex: 0x0005 = 5)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor (ex: 0x0009 = 9)
Motherboard FPGA Firmware Compile Date/Time
Function:Specifies the Compile Date/Time of the NAI factory provided Motherboard FPGA installed on the board.
Type:unsigned binary word (32-bit)
Data Range:N/A
Read/Write:R
Operational Settings:The motherboard firmware time consists of the Build Date and Time in the following format:
Motherboard FPGA Compile Time (ex. 0xC32B 2923 = 06/24/21 18:36:35)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Day (D31:D27)Month (D26:D23)Year (D22:D17)
ex. 0xCex. 0x30x20xB
11000011001010110
Day = 0x18 = 24Month = 0x6 = 6Year = 0x15 = 21
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Hour (D16:D12)Minutes (D11:D6)Seconds (D5:D0)
ex. 0x2ex. 0x9ex. 0x2Bex. 0x3
0010100100100011
Hour = 0x12 = 18Minutes = 0x24 = 36Seconds = 0x23 = 35

Motherboard Monitoring Registers

The registers in this provide motherboard temperature measurement information.

Temperature Readings Register

The temperature registers provide the current, maximum (from power-up) and minimum (from power-up) for the processor and PCB for the UltraScale processor.

These registers are only available on Xilinx Generation 5 platforms, and are periodically populated by the motherboard core application, which only runs in Petalinux and BareMetal. For other operating systems, refer to the naibrd Software Support Kit (SSK) naibsp_system_Monitor_Temperature_Get() routine to manually retrieve the temperature (NOTE: this feature is typically utilized for development/factory use only; contact the factory for additional details on potential use, if required).

Temperature Readings Register
Function:Specifies the Measured Temperatures on Motherboard.
Type:signed byte (8-bits) for each temperature reading - Six (6) 32-bit words
Data Range:0x0000 0000 to 0xFFFF 0000
Read/Write:R
Initialized Value:Value corresponding to the measured temperatures based on the table below.
Operational Settings:The 8-bit temperature readings are signed bytes. For example, if the following register contains the value 0x0000 2B2B:

Example:

Word 1 (Current UltraScale Temperatures)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
UltraScale Core TemperatureUltraScale PCB Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0x000x00

The values would represent the following temperatures:

Temperature MeasurementsData BitsValueTemperature (Celsius)
UltraScale Core TemperatureD31:D240x2B+43°
UltraScale PCB TemperatureD23:D160x2B+43°
Temperature Readings
Word 1 (Current UltraScale Temperatures)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
UltraScale Core TemperatureUltraScale PCB Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0x000x00
Word 2 (Reserved)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0x000x00
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0x000x00
Word 3 (Max UltraScale Temperatures)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Max UltraScale Core TemperatureMax UltraScale PCB Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0x000x00
Word 4 (Reserved)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0x000x00
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0000000000000000
Word 5 (Min UltraScale Temperatures)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Min UltraScale Core TemperatureMin UltraScale PCB Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0000000000000000
Word 6 (Reserved)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0x000x00
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0000000000000000

Higher Precision Temperature Readings Registers

These registers provide higher precision readings of the current UltraScale Core and PCB temperatures.

Higher Precision UltraScale Core Temperature
Function:Specifies the Higher Precision Measured UltraScale Core temperature on Motherboard Board.
Type:signed word (16-bits) for integer part and unsigned word (16-bits) for fractional part
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Measured UltraScale Core temperature on Motherboard Board
Operational Settings:The upper 16-bits represent the signed integer part of the temperature and the lower 16-bits represent the fractional part of the temperature with the resolution of 1/1000 of degree Celsius. For example, if the register contains the value 0x002B 02FF, this represents UltraScale Core Temperature = 43.767° Celsius, and value 0xFFF6 0177 represents -10.375° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Signed Integer Part of Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Fractional Part of Temperature
Higher Precision Motherboard PCB Temperature
Function:Specifies the Higher Precision Measured Motherboard PCB temperature.
Type:signed word (16-bits) for integer part and unsigned word (16-bits) for fractional part
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Measured Motherboard PCB temperature
Operational Settings:The upper 16-bits represent the signed integer part of the temperature and the lower 16-bits represent the fractional part of the temperature with the resolution of 1/1000 of degree Celsius. For example, if the register contains the value 0x002B 02FF, this represents Interface PCB Temperature = 43.767° Celsius, and value 0xFFE8 036B represents -24.875° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Signed Integer Part of Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Fractional Part of Temperature

Motherboard Health Monitoring Registers

The registers in this section provide a summary of motherboard temperature sensors and their corresponding bits. Additionally, this section provides an overview of the registers allocated to those sensors, which are used to monitor current/minimum/maximum temperature readings, upper & lower critical/warning temperature thresholds, and whether or not a programmed temperature threshold has been exceeded.

These registers are only available on Xilinx Generation 5 platforms, and are periodically populated by the motherboard core application, which only runs in Petalinux and BareMetal. For other operating systems, refer to the naibrd Software Support Kit (SSK) naibsp_system_Monitor_Temperature_Get() routine to manually retrieve the temperature (NOTE: this feature is typically utilized for development/factory use only; contact the factory for additional details on potential use, if required).

Motherboard Sensor Summary Alarm
Function:The corresponding sensor bit is set if the sensor has crossed any of its thresholds.
Type:unsigned binary word (32-bits)
Data Range:See table below
Read/Write:R
Initialized Value:0
Operational Settings:This register provides a summary for motherboard sensors. When the corresponding sensor bit is set, the Sensor Threshold Status register for that sensor will indicate the threshold condition that triggered the event.
Bit(s)Sensor
D31:D5Reserved
D4Motherboard PCB Temperature
D3US+ Core Temperature
D2:D0Reserved

Motherboard Sensor Registers

The registers listed in this section apply to each module sensor listed for the Motherboard Sensor Summary Status register. Each individual sensor register provides a group of registers for monitoring motherboard temperatures readings. From these registers, a user can read the current temperature of the sensor in addition to the minimum and maximum temperature readings since power-up. Upper and lower critical/warning temperature thresholds can be set and monitored from these registers. When a programmed temperature threshold is crossed, the Sensor Threshold Status register will set the corresponding bit for that threshold. The figure below shows the functionality of this group of registers when accessing the Zynq Core Temperature sensor as an example.

Sensor Threshold Status
Function:Reflects which threshold has been crossed
Type:unsigned binary word (32-bits)
Data Range:See table below
Read/Write:R
Initialized Value:0
Operational Settings:The associated bit is set when the sensor reading exceed the corresponding threshold settings.
Bit(s)Description
D31:D4Reserved
D3Exceeded Upper Critical Threshold
D2Exceeded Upper Warning Threshold
D1Exceeded Lower Critical Threshold
D0Exceeded Lower Warning Threshold
Sensor Current Reading
Function:Reflects current reading of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:The register represents current sensor reading as a single precision floating point value. For example, for a temperature sensor, register value 0x41C6 0000 represents temperature = 24.75° Celsius.
Sensor Minimum Reading
Function:Reflects minimum value of temperature sensor since power up
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:The register represents minimum sensor value as a single precision floating point value. For example, for a temperature sensor, register value 0x41C6 0000 represents temperature = 24.75° Celsius.
Sensor Maximum Reading
Function:Reflects maximum value of temperature/voltage/current sensor since power up
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:The register represents maximum sensor value as a single precision floating point value. For example, for a temperature sensor, register value 0x41C6 0000 represents temperature = 24.75° Celsius.
Sensor Lower Warning Threshold
Function:Reflects lower warning threshold of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:Default lower warning threshold (value dependent on specific sensor)
Operational Settings:The register represents sensor lower warning threshold as a single precision floating point value. For example, for a temperature sensor, register value 0xC220 0000 represents temperature = -40.0° Celsius.
Sensor Lower Critical Threshold
Function:Reflects lower critical threshold of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:Default lower critical threshold (value dependent on specific sensor)
Operational Settings:The register represents sensor lower critical threshold as a single precision floating point value. For example, for a temperature sensor, register value 0xC25C 0000 represents temperature = -55.0° Celsius.
Sensor Upper Warning Threshold
Function:Reflects upper warning threshold of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:Default upper warning threshold (value dependent on specific sensor)
Operational Settings:The register represents sensor upper warning threshold as a single precision floating point value. For example, for a temperature sensor, register value 0x42AA 0000 represents temperature = 85.0° Celsius.
Sensor Upper Critical Threshold
Function:Reflects upper critical threshold of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:Default upper critical threshold (value dependent on specific sensor)
Operational Settings:The register represents sensor upper critical threshold as a single precision floating point value. For example, for a temperature sensor, register value 0x42FA 0000 represents temperature = 125.0° Celsius.

Ethernet Configuration Registers

The registers in this section provide information about the Ethernet Configuration for the two ports on the board.

Important

Regardless if the board is configured for one or two Ethernet ports, the second IP address cannot be on the same Subnet as the First IP Address. The table below provides examples of valid and invalid IP Addresses and Subnet Mask Addresses.

First Port (A) IP AddressFirst Port (A) Subnet MaskSecond Port (B) IP AddressSecond Port (B) Subnet MaskResult
192.168.1.5255.255.255.0192.168.2.5255.255.255.0Good
192.168.1.5255.255.0.0192.168.2.5255.255.0.0Conflict
192.168.1.5255.255.0.0192.168.2.5255.255.255.0Conflict
10.0.0.15255.0.0.0192.168.1.5255.255.255.0Good
Ethernet MAC Address and Ethernet Settings
Function:Specifies the Ethernet MAC Address and Ethernet Settings for the Ethernet port.
Type:Two (2) unsigned binary word (32-bit)
Data Range:See table.
Read/Write:R
Operational Settings:The Ethernet MAC Address consists of six octets. The Ethernet Settings are defined in table.
BitsDescriptionValues
D31:D23Reserved0
D22:D21Duplex00 = Not Specified
01 = Half Duplex
10 = Full Duplex
11 = Reserved
D20:D18Speed000 = Not Specified
001 = 10 Mbps
010 = 100 Mbps
011 = 1000 Mbps
100 = 2500 Mbps
101 = 10000 Mbps
110 = Reserved + 111 = Reserved
D17Auto Negotiate0 = Enabled
1 = Disabled
D16Static IP Address0 = Enabled
1 = Disabled
Ethernet MAC Address and Ethernet Settings (Note: little-endian order in register)
Word 1 (Ethernet MAC Address (Octets 1-4)) (ex: aa:bb:cc:dd:ee:ff)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
MAC Address Octet 4 (ex: 0xDD)MAC Address Octet 3 (ex: 0xCC)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
MAC Address Octet 2 (ex: 0xBB)MAC Address Octet 1 (ex: 0xAA)
Word 2 (Ethernet MAC Address (Octets 5-6) and Ethernet Settings)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Ethernet Settings (See table)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
MAC Address Octet 6 (ex: 0xFF)MAC Address Octet 5 (ex: 0xEE)
Ethernet Interface Name
Function:Specifies the Ethernet Interface Name for the Ethernet port.
Type:8-character ASCII string
Data Range:See table.
Read/Write:R
Operational Settings:The Ethernet Interface Name (eth0, eth1, etc) for the Ethernet port.
Ethernet Interface Name (Note: ascii string in register) (ex. “eth0”)
Word 1 (Bit 0-31) (ex: 0x3068 7465 = “0hte”)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
ASCII Character (ex: '0' - 0x30)ASCII Character (ex: 'h' - 0x68)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
ASCII Character (ex: 't' - 0x74)ASCII Character (ex: 'e' - 0x65)
Word 2 (Bit 32-63) (ex: 0x0000 0000)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
ASCII Character (ex: null - 0x00)ASCII Character (ex: null - 0x00)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
ASCII Character (ex: null - 0x00)ASCII Character (ex: null - 0x00)
Ethernet IPv4 Address
Function:Specifies the Ethernet IPv4 Address for the Ethernet port.
Type:Three (3) unsigned binary word (32-bit)
Data Range:See table.
Read/Write:R
Operational Settings:The Ethernet IPv4 Address consists of three parts: IPv4 Address, IPv4 Subnet Mask and IPv4 Gateway.
Ethernet IPv4 Address (Note: little-endian order in register)
Word 1 (Ethernet IPv4 Address) (ex: 0x1001 A8C0 = 192.168.1.16)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
IPv4 Address Octet 4 (ex: 0x10 = 16)IPv4 Address Octet 3 (ex: 0x01 = 1)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
IPv4 Address Octet 2 (ex: 0xA8 = 168)IPv4 Address Octet 1 (ex: 0xC0 = 192)
Word 2 (Ethernet IPv4 Subnet) (ex: 0x00FF FFFF = 255.255.255.0)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
IPv4 Subnet Octet 4 (ex: 0x00 = 0)IPv4 Subnet Octet 3 (ex: 0xFF = 255)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
IPv4 Subnet Octet 2 (ex: 0xFF = 255)IPv4 Subnet Octet 1 (ex: 0xFF = 255)
Word 3 (Ethernet IPv4 Gateway) (ex: 0x0101 A8C0 = 192.168.1.1)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
IPv4 Gateway Octet 4 (ex: 0x01 = 1)IPv4 Gateway Octet 3 (ex: 0x01 = 1)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
IPv4 Gateway Octet 2 (ex: 0xA8 = 168)IPv4 Gateway Octet 1 (ex: 0xC0 = 192)
Ethernet IPv6 Address
Function:Specifies the Ethernet IPv6 Address for the Ethernet port.
Type:Five (5) unsigned binary word (32-bit)
Data Range:See table.
Read/Write:R
Operational Settings:The IPv6 Prefix length indicates the network portion of an IPv6 address using the following format:
  • IPv6 address/prefix length
  • Prefix length can range from 0 to 128
  • Typical prefix length is 64

The following is an illustration of IPv6 addressing with IPv6 Prefix length of 64.

64 bits64 bits
PrefixInterface ID
Prefix 1Prefix 2Prefix 3Subnet IDInterface ID 1Interface ID 2Interface ID 3Interface ID 4
Example: 2002:c0a8:101:0:7c99:d118:9058:1235/64
2002C0A8010100007C99D11890581235
Ethernet IPv6 Address (Note: little-endian order within 32-bit and 16-bit words in register) (ex. IPv6 Address: 2002:c0a8:201:0:7c99:d118:9058:1235 IPv6 Prefix: 64)
Word 1 (Ethernet IPv6 Address (Prefix 1-2)) (ex:0xA8C0 0220 = 2002 C0A8)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Prefix 2 (ex: 0xA8C0 = C0A8)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Prefix 1 (ex: 0x0220 = 2002)
Word 2 (Ethernet IPv6 Address (Prefix 3/Subnet ID)) (ex:0x000 0201 = 0201 0000)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Subnet ID (ex: 0x0000 = 0000)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Prefix 3 (ex: 0x0201 = 0201)
Word 3 (Ethernet IPv6 Address (Interface ID 1-2)) (ex: 0x18D1 997C = 7C99 D118)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Interface ID 2 (ex: 0x18D1 = D118)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Interface ID 1 (ex: 0x997C = 7C99)
Word 4 (Ethernet IPv6 Address (Interface ID 3-4)) (ex: 0x3512 5890 = 9058 1235)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Interface ID 4 (ex: 0x3512 = 1235)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Interface ID 3 (ex: 0x5890 = 9058)
Word 5 (Ethernet IPv6 Prefix Length) (ex:0x0000 0040)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Prefix Length (ex: 0x0040 = 64)

Interrupt Vector and Steering

When interrupts are enabled, the interrupt vector associated with the specific interrupt can be programmed (typically with a unique number/identifier) such that it can be utilized in the Interrupt Service Routine (ISR) to identify the type of interrupt. When an interrupt occurs, the contents of the Interrupt Vector registers is reported as part of the interrupt mechanism. In addition to specifying the interrupt vector, the interrupt can be directed (“steered”) to the native bus or to the application running on the onboard ARM processor.

Note

The Interrupt Vector and Interrupt Steering registers are mapped to the Motherboard Common Memory and these registers are associated with the Module Slot position (refer to Function Register Map).

Interrupt Vector
Function:Set an identifier for the interrupt.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:When an interrupt occurs, this value is reported as part of the interrupt mechanism.
Interrupt Steering
Function:Sets where to direct the interrupt.
Type:unsigned binary word (32-bit)
Data Range:See table
Read/Write:R/W
Initialized Value:0
Operational Settings:When an interrupt occurs, the interrupt is sent as specified:
Direct Interrupt to VME1
Direct Interrupt to ARM Processor (via SerDes)
(Custom App on ARM or NAI Ethernet Listener App)
2
Direct Interrupt to PCIe Bus5
Direct Interrupt to cPCI Bus6

Modules Health Monitoring Registers

Module BIT Status
Function:Provides the ability to monitor the individual Module BIT Status.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Operational Settings:The Module BIT Status registers provide the ability to monitor individual Module BIT results as Latched and current value. A 1 is any bit field indicates BIT failure for the Module in that slot.
Bit(s)Description
D31:D21Reserved
D20Module Slot 4 BIT Failure (current value)
D19Module Slot 3 BIT Failure (current value)
D18Module Slot 2 BIT Failure (current value)
D17Module Slot 1 BIT Failure (current value)
D16MB
D15:D5Reserved
D4Module Slot 4 BIT Failure - Latched
D3Module Slot 3 BIT Failure - Latched
D2Module Slot 2 BIT Failure - Latched
D1Module Slot 1 BIT Failure - Latched
D0MB BIT
Scratchpad Area
Function:Registers reserved as scratch pad for customer use. Note, this area is also used to copy results from FRAM so that data can be read via the PCIe bus.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R/W
Operational Settings:This area in memory is reserved for customer use or POST FRAM results.

MOTHERBOARD FUNCTION REGISTER MAP

KEY

Configuration/Control
Measurement/Status/Board Information
MODULE INFORMATION REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x03FCModule Slot Addressing ReadyR
0x0400Module Slot 1 AddressR0x0430Module Slot 1 SizeR
0x0404Module Slot 2 AddressR0x0434Module Slot 2 SizeR
0x0408Module Slot 3 AddressR0x0438Module Slot 3 SizeR
0x040CModule Slot 4 AddressR0x043CModule Slot 4 SizeR
0x0460Module Slot 1 IDR
0x0464Module Slot 2 IDR
0x0468Module Slot 3 IDR
0x046CModule Slot 4 IDR
HARDWARE INFORMATION REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x0020Product Serial NumberR
0x0024PlatformR0x0030Processor Count/Ethernet CountR
0x0028ModelR0x0034Maximum Module Slot Count/ARM Platform TypeR
0x002CGenerationR
0x0038Processor Platform (Bit 0-31)R0x0040Processor Operating System (Bit 0-31)R
0x003CProcessor Platform (Bit 32-63)R0x0044Processor Operating System (Bit 32-63)R
0x0048Processor Operating System (Bit 64-95)R
0x004CProcessor Operating System Version (Bit 0-31)R
0x0050Processor Operating System Version (Bit 32-63)R
MOTHERBOARD FIRMWARE INFORMATION REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
Motherboard Core InformationMotherboard FPGA Information
0x0100MB Core Major/Minor VersionR0x0270MB FPGA RevisionR
0x0104MB Core Minor 2/3 VersionR0x0274MB FPGA Compile Date/TimeR
0x0108MB Core Build Date (Bit 0-31)R
0x010CMB Core Build Date (Bit 32-63)R
MOTHERBOARD MONITORING REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
Temperature ReadingsHigh Precision Temperature Readings
0x0200Current UltraScale TemperaturesR0x0230Current UltraScale Core TemperatureR
0x0204ReservedR0x0234Current UltraScale PCB TemperatureR
0x0208Max UltraScale TempR
0x020CReservedR
0x0210Min UltraScale TemperaturesR
0x0214ReservedR
MOTHERBOARD HEALTH MONITORING REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x20F8Motherboard Sensor Summary StatusR

ETHERNET CONFIGURATION REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
Ethernet AEthernet B
0x0070Ethernet A MAC (Octets 1-4)R0x00A0Ethernet B MAC (Octets 1-4)R
0x0074Ethernet A MAC (Octets 5-6)/Misc SettingsR0x00A4Ethernet B MAC (Octets 5-6)/Misc SettingsR
0x0078Ethernet A Interface Name (Bit 0-31)R0x00A8Ethernet B Interface Name (Bit 0-31)R
0x007CEthernet A Interface Name (Bit 32-63)R0x00ACEthernet B Interface Name (Bit 32-63)R
0x0080Ethernet A IPv4 AddressR0x00B0Ethernet B IPv4 AddressR
0x0084Ethernet A IPv4 Subnet MaskR0x00B4Ethernet B IPv4 Subnet MaskR
0x0088Ethernet A IPv4 GatewayR0x00B8Ethernet B IPv4 GatewayR
0x008CEthernet A IPv6 Address (Prefix 1-2)R0x00BCEthernet B IPv6 Address (Prefix 1-2)R
0x0090Ethernet A IPv6 Address (Prefix 3/Subnet ID)R0x00C0Ethernet B IPv6 Address (Prefix 3/Subnet ID)R
0x0094Ethernet A IPv6 Address (Interface ID 1-2)R0x00C4Ethernet B IPv6 Address (Interface ID 1-2)R
0x0098Ethernet A IPv6 Address (Interface ID 3-4)R0x00C8Ethernet B IPv6 Address (Interface ID 3-4)R
0x009CEthernet A IPv6 Prefix LengthR0x00CCEthernet B IPv6 Prefix LengthR
INTERRUPT REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x0500 -
0x057C
Module 1 Interrupt Vector 1 - 32R/W0x0600 -
0x067C
Module 1 Interrupt Steering 1 - 32R/W
0x0700 -
0x077C
Module 2 Interrupt Vector 1 - 32R/W0x0800 -
0x087C
Module 2 Interrupt Steering 1 - 32R/W
0x0900 -
0x097C
Module 3 Interrupt Vector 1 - 32R/W0x0A00 -
0x0A7C
Module 3 Interrupt Steering 1 - 32R/W
0x0B00 -
0x0B7C
Module 4 Interrupt Vector 1 - 32R/W0x0B00 -
0x0B7C
Module 4 Interrupt Steering 1 - 32R/W
MODULES HEALTH MONITORING REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x0128Module BIT Status (current and latched)R
SCRATCHPAD REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x3800 -
0x3BFF
Scratchpad RegistersR/W

ETHERNET

(For detailed supplement, please visit the NAI web-site specific product page and refer to: Ethernet Interface for Generation 5 SBC and Embedded IO Boards Specification)

Note

For products capable of 10/100/1000Base-KX functionality - the product Ethernet PHY supports 1000BASE-X. Product interoperability with 10/100/1000BASE-KX is supported with 1000BASE-X (provided that auto-negotiation is disabled).

The Ethernet Interface Option allows communications and control access to all function modules either via the system BUS or Ethernet ports 1 or 2.

Ethernet 1Ethernet 2Ethernet 3*Ethernet 4*
(REF PORT A)(REF PORT B)(REF PORT C)(REF PORT D)
The default IP address:192.168.1.16192.168.2.16192.168.3.16192.168.4.16
The default subnet:255.255.255.0255.255.255.0255.255.255.0255.255.255.0
The default gateway:192.168.1.1192.168.2.1192.168.3.1192.168.4.1

*see Part Number Designation for applicability.

Note

Actual “as shipped” card Ethernet default IP addresses may vary based upon final ATP configuration(s).

The NAI interface supports IPv4 and IPv6 and both the TCP and UDP protocols. The Ethernet Operation Mode Command Listener application running on the motherboard host processor implements the operation interface. The listener is operational on startup through the nai_MBStartup process and listen on specific ports for commands to process. The default ports are listed below:

  • TCP1 - Port 52801
  • TCP2 - Port 52802
  • UDP1 - Port 52801
  • UDP2 - Port 52802

While the listener is active, note that interrupts from the motherboard do not trigger. The listener can be disabled by turning off the nai_MBStartup process through the Motherboard EEPROM. To turn off nai_MBStartup use the command mbeeprom_util set MBStartupInitOnlyFlag 1 in the console, either by serial port or telnet to the motherboard, and then reboot the system. To turn on the nai_MBStartup use the command mbeeprom_util set MBStartupInitOnlyFlag 0 in the console, either by serial port or telnet to the motherboard, and then reboot the system.

Ethernet Message Framework

The interface uses a specific message framework for all commands and responses. All messages begin with a Preamble code and end with a Postamble code. The message framework is shown below.

Preamble
2 bytes
Always
0xD30F
SequenceNo
2 bytes
Type Code
2 byte
Message Length
(2 bytes)
Payload
(0..1414 bytes)
Postamble
2 bytes
Always
0xF03D

Message Elements

PreambleThe Preamble is used to delineate the beginning of a message frame.
The Preamble is always 0xD30F.
SequenceNoThe SequenceNo is used to associate Commands with Responses.
Type CodeType Codes are used to define the type of Command or Response the message contains.
Message LengthThe Message Length is the number of bytes in the complete message frame starting with and including the
Preamble and ending with and including the Postamble.
PayloadThe Payload contains the unique data that makes up the command or response.
Payloads vary based on command type.
PostambleThe Postamble is use to delineate the end of a message frame.
The Postamble is always 0xF03D.

Notes

  1. The messaging protocol applies only to card products.
  2. Messaging is managed by the connected (client) computer. The client computer will send a single message and wait for a reply from the card. Multiple cards may be managed from a single computer, subject to channel and computer capacity.

Board Addressing

The interface provides two main addressing areas: Onboard and Off-board.

Onboard addressing refers to accessing resources located on the board that is implementing the operation interface (including its modules).

Off-board addressing refers to accessing resources located on another board reachable via VME, PCI, or other bus. Off-board addressing requires a Master/Slave configuration.

The user must always specify if a particular address is Onboard or Off-board. See the command descriptions for the onboard and off-board flags.

Within a particular board (Onboard or Off-board), the address space is broken up into two areas: Motherboard Common Address Space and Module Address Space. All addresses are 32-bit.

Motherboard Common Address Space starts at 0x00000000 and ends at 0x00004000. This is a 4Kx32-bit address space (16 kbytes).

Module Address Space starts at 0x00004000. Module addressing is dynamically configured at startup. NAI boards support between 1 and 6 modules. The minimum module address space size is 4Kx32 (16 kbytes) and module sizes are always a multiple of 4Kx32.

Module addressing is dynamic and cumulative. The first detected module (starting with Slot 1) is given an address of 0x00004000. The 2nd detected Module is given an address of:

First_Detected_Module_Address + First_Detected_Module_Size

Note

Slots do not define addresses.

If no module is detected in a module slot, that slot is not given an address. Therefore, if the first detected Module is in Slot 2, then that module address will be 0x00004000. If the next detected module is in Slot 4, then the address of that Module will be:

Second_Detected_Module_Address = First_Detected_Module_Address + First_Detected_Module_Size

If a 3rd Module is detected in Slot 6, then the address of that Module will be:

Third_Detected_Module_Address = Second_Detected_Module_Address + Second_Detected_Module_Size

Note

Module addresses are calculated at each board startup when the modules are detected. Therefore, if a module should fail to be detected due to malfunction or because it was removed from the motherboard, the addresses of the modules that follow it in the slot sequence will be altered. This is important to note when programming to this interface.

Users can always retrieve the Module Addresses, Module Sizes and Module IDs from the fixed Motherboard Common address area. This data is set upon each board startup. While the Module Addressing is dynamic, the address where these addresses are stored is fixed. For example, to find the startup address of the module location in Slot 3, refer to the MB Common Address 0x00000408 from the Motherboard Common Addresses table that follows.

Ethernet Wiring Convention

RJ-45 PinT568A ColorT568B Color10/100Base-T1000BASE-TNAI wiring convention
1white/green stripewhite/orange stripeTX+DA+ETH-TP0+
2greenorangeTX-DA-ETH-TP0-
3white/orange stripewhite/green stripeRX+DB+ETH-TP1+
4blueblueDC+ETH-TP2+
5white/blue stripewhite/blue stripeDC-ETH-TP2-
6orangegreenRX-DB-ETH-TP1-
7white/brown stripewhite/brown stripeDD+ETH-TP3+
8brownbrownDD-ETH-TP3-

DOCS.NAII REVISIONS

Revision DateDescription
2026-06-24Initial publication of NIU3R manual.

NAI Cares

North Atlantic Industries (NAI) is a leading independent supplier of Embedded I/O Boards, Single Board Computers, Rugged Power Supplies, Embedded Systems and Motion Simulation and Measurement Instruments for the Military, Aerospace and Industrial Industries. We accelerate our clients’ time-to-mission with a unique approach based on a Configurable Open Systems Architecture™ (COSA®) that delivers the best of both worlds: custom solutions from standard COTS components.

We have built a reputation by listening to our customers, understanding their needs, and designing, testing and delivering board and system-level products for their most demanding air, land and sea requirements. If you have any applications or questions regarding the use of our products, please contact us for an expedient solution.

Please visit us at: www.naii.com or select one of the following for immediate assistance:

Documentation

https://www.docs.naii.com

FAQ

http://www.naii.com/faqs

Application Notes

http://www.naii.com/applicationnotes

Calibration and Repairs

http://www.naii.com/calibrationrepairs

Call Us

(631) 567-1100

Link to original