Integrator Resources

The official home for NAI Support

Not sure where to start? Try Quick Start Guide or ask a question below!

Toggle Components with Visual Button
JavaScript Form Processing

3U OpenVPX ARM SBC

INTRODUCTION

North Atlantic Industries (NAI) is a leading independent supplier of rugged COTS embedded computing products for industrial, commercial aerospace, and defense markets. Aligned with MOSA, SOSA and FACE standards, NAI’s Configurable Open System Architecture™ (COSA®) accelerates a customer’s time-to-mission by providing the most modular, agile, and rugged COTS portfolio of embedded smart modules, I/O boards, Single Board Computers (SBCs), Power Supplies and Ruggedized Systems of its kind. COSA products are pre-engineered to work together, enabling easy changes, reuses, or repurposing down the road. By utilizing FPGAs and SoCs, NAI has created smart modules that enable the rapid creation of configurable mission systems while reducing or eliminating SBC overhead.

NAI’s 68ARM2 3U OpenVPX Single Board Computer supports a wide range of input and output capabilities, including analog and digital I/O, signal generation and acquisition, and communication interfaces. Powered by a Xilinx Zynq® Ultrascale+™ dual- or quad-core ARM® Cortex™A53 MPCore™ @ 1.3 GHz MP SoC processor, the 68ARM2 provides a balanced performance vs. power dissipation SBC solution for harsh, SWaP-constrained environments.

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.

SPECIFICATIONS

General for the Motherboard

Signal Logic Level:

Supports LVDS PCIe ver. 2.0 bus (x1)

Power (Motherboard):

+5 VDC @ 2.5 A (typical)

+3.3V_AUX @ <100 mA (typical)

±12 V @ 0 mA (certain modules may require +/-12 V for operation)

Then add power for each individual module

Temperature, Operating:

"C" =0° C to +70° C, "H" =-40° C to +85° C (see part number)

Storage Temperature:

-55° C to +105° C

Temperature Cycling:

Each board is cycled from -40° C to +85° C for option “H”

General size

     Height:

3.94" / 100 mm (3U)

     Width:

0.8” / 20.3 mm (4HP) or 1.0" / 25.4 mm (5 HP) air cooled front panel options

     Depth:

6.3“ / 160 mm deep

Weight:

12.5 oz. (354 g) unpopulated (approx.) (convection or conduction cooled)

>> then add weight for each module (typically 1.5 oz. (42 g) each)

Specifications are subject to change without notice.

Environmental

Unless otherwise specified, the following table outlines the general Environmental Specifications design guidelines for board level products of North Atlantic Industries. All our cPCI, VME and OpenVPX boards are designed for either air or conduction cooling. All boards also incorporate appropriate stiffening to ensure performance during shock and vibration but also to assure reliable operation (lower fatigue stresses) over the service life of the product.

Parameters

Level

1 / Commercial-AC (Air Cooled)

2 / Rugged-AC (Air Cooled)

3 / Rugged-CC (Conduction Cooled)

Temperature - Operating

0° C to 70° C, AmbientH

-40° C to 85° C, AmbientI

-40° C to 85° C, at wedge lock thermal interface

Temperature - Storage

-40° C to 85° C

-55° C to 105° C

-55° C to 105° C

Humidity - Operating

0 to 95%, non-condensing

0 to 95%, non-condensing

0 to 95%, non-condensing

Humidity - Storage

0 to 95%, non-condensing

0 to 95%, non-condensing

0 to 95%, non-condensing

Vibration - SineA

2 g peak, 15 Hz - 2 kHzB

6 g peak, 15 Hz - 2 kHzB

10 g peak, 15 Hz - 2 kHzC

Vibration - RandomD

.002 g2 /Hz, 15 Hz - 2 kHz

0.04 g2 /Hz, 15 Hz - 2 kHz

0.1 g2 /Hz, 15 Hz - 2 kHzE

ShockF

20 g peak, half-sine, 11 ms

30 g peak, half-sine 11 ms

40 g peak, half-sine, 11 ms

Low PressureG

Up to 15,000 ft.

Up to 50,000 ft.

Up to 50,000 ft.

Notes:

  1. Based on sweep duration of ten minutes per axis on each of the three mutually perpendicular axes.

  2. Displacement limited to 0.10 D.A. from 15 to 44 Hz.

  3. Displacement limited to 0.436 D.A. from 15 to 21 Hz.

  4. 60 minutes per axis on each of the three mutually perpendicular axes.

  5. Per MIL-STD-810G, Method 5.14.6 Procedure I, Fig.514.6C-6 Category 7 tailored (11.65 Grms): 15 Hz - 2 kHz; ASD (PSD) at 0.04 g2/Hz between 15 Hz - 150 Hz, increasing @ 4 dB/octave from 0.04 g2/Hz to 0.1 g /Hz between 150 Hz - 300 Hz, 0.1 g2/Hz between 300 Hz - 1000 Hz, decreasing @ 6 dB/octave from 0.1 g2/Hz to 0.025 g2/Hz between 1000 Hz - 2000 Hz. Three hits per direction per axis (total of 18 hits).

  6. Three hits per direction per axis (total of 18 hits).

  7. For altitudes higher than 50,000 ft., contact NAI.

  8. High temperature operation requires 350 lfm minimum air flow across cover/heatsink (module dependent).

  9. High temperature operation requires 600 lfm minimum air flow across cover/heatsink (module dependent).

Specifications subject to change without notice

68ARM2 OVERVIEW

The 68ARM2 is a 3U OpenVPX, low-power and high-performance Single Board Computer (SBC). The 68ARM2 offers on-board I/O expansion through three (3) Generation-5 (GEN5) NAI smart I/O function modules. Powered by the Xilinx Zynq® UltraScale+™ dual- or quad-core ARM® Cortex™-A53 MPCore™ @ 1.3 GHz MP SoC processor, the 68ARM2 provides a balanced performance vs. power dissipation SBC solution, for today’s demanding, space constrained and resource limited embedded systems.

The 68ARM2 SBC, supplemented with a full complement of software I/O libraries and drivers, is ideally suited for integration within a multitude of commercial and rugged, military embedded processing and I/O systems. The 68ARM2 SBC provides a PCIe bus root-complex and/or Gigabit Ethernet (GbE) capability and may be utilized with other NAI high-density multifunction I/O boards to provide a complete, expandable, low power, high performance and programmable solution for sensor and communication data acquisition, management, processing and distribution. All I/O sensor data is available on the PCIe bus or GbE.

The 68ARM2 card provides high-density rear I/O for systems requiring closed chassis operation (i.e. embedded, conduction cooled applications) and simple card replacement. Using rear I/O minimizes the effort required to remove cards from a chassis improving maintainability and reliability.

The 68ARM2 card uses OpenVPX P0, P1, and P2 rear connectors. Rear I/O connectivity, via the P2 and P1 connectors, includes Ethernet, asynchronous serial, I2C, programmable TTL, USB and access to the on-board add-on Module I/O.

The 68ARM2 utilizes the UltraScale+™ dual- or quad-core ARM® Cortex™-A53 MPCore™ processor with the following capabilities. Note: all processor capabilities may not be user accessible features at the end item level.

  • Four ARM® Cortex™-A53 cores

  • 8GB of DDR4 SDRAM (plus ECC)

  • 2 Ethernet interfaces, supporting combinations of:

    • Up to two 1 Gbps KX Ethernet MACs

    • Up to two 1 Gbps TX Ethernet MACs

  • Two PCIe interfaces

    • 6x1 PCIe ports for VPX communication (default)

    • 1x1 PCIe to Module interface 2

  • Two SATA 2.0 controllers

    • 32GB onboard ROM

    • SATA interface for storage through Module Slot-3 (factory configured).

  • One high-speed USB 3.0 port

  • I2C port to the VPX backplane

  • RS232 Serial debug port

  • On-board TTL Digital I/O

  • Quad SPI Flash controller

  • 8 Kb FRAM

I/O Modules

Three I/O module slots enable integrators to mix-n-match a variety I/O and communication functions. The 68ARM2 uses a GEN5 high-speed SerDes Modbus. Some of the new modules are currently under development. Please consult the factory for updates on the availability of certain functions. Module I/O signals are available as both front and rear I/O.

Software

Built-In Test

The 68ARM2 supports options for Power-On-Self-Test (POST) testing (memory, peripherals, etc.). The 68ARM2 also supports function modules with NAI‘s flexible, leading-edge, fully programmable and continuous background built-in-test (BIT) enabled function. BIT tests both 68ARM2 on board functions and functions contained on expansion modules, making it a useful field service tool.

U-Boot Firmware (Boot Utility/Linux®)

The U-boot firmware provides a foundation layer to interface between the raw board hardware. U-boot has programmable device set-up, setup flexibility, and supports booting supported Operating Systems with a straight-forward user interface. U-boot also allows booting from several different devices (check part numbering options).

Boot ROM (VxWorks®)

VxWorks utilizes the WindRiver VxWorks Boot ROM. When specified/configured with VxWorks as an OS, a VxWorks Boot ROM image (with utilities) is pre-flashed at the factory supporting VxWorks development and FLASH download (check part numbering options).

Operating System Support

Wind River VxWorks 7.0 and HVP, Xilinx PetaLinux, DDC-I Deos

Contact NAI for availability of other operating systems.

Mechanicals

Heat Sink

Caution
The 68ARM2 contains an integrated heat sink and cover. Do not remove the heat sink. There are no user serviceable components, switches, or programming jumpers under the heat sink. In the unlikely event the 68ARM2 becomes is inoperable, please return the unit to the factory for service.

68ARM2 Connector Interfaces

The 68ARM2 conduction cooled version has four I/O connectors P0, P1, P2 and J5. Connectors P1, and P2 at the rear of the module, are used for the OpenVPX interface and for user I/O. Connector J5 is utilized for GbE Ethernet interface option & RS-232 Serial debug/console access. J5 uses a Mini-HDMI connector for USB port1, asynchronous serial (debug port) and optionally Ethernet port 1. A J5 connector adapter cable/breakout board P/N 75SBC4-BB optional accessory kit is available for quick connect (contact factory).

68ARM2 Img05

Figure 1. 68ARM2 Connectors

While only available in a conduction cooled option, the 68ARM2 may also be installed in a commercial air-cooled system chassis via a CC-to-AC chassis rail conversion kit. Please refer to part numbering options and contact factory for additional details.

68ARM2 ENVIRONMENTAL/POWER SPECIFICATIONS

Conduction-Cooled/Rugged

Operating temperature

-40 to 85° C (measured at card edge/rail)

Storage temperature

-55 to 105° C

Relative humidity

5 to 95% non-condensing

MTBF

TBD

(see NAI card-level Environmental Specifications for other ruggedization & application environment levels)

Power Requirements

Power

Tolerance

Current requirement

5 V

±10%

2.5 A typical

+12 V-AUX

±10%

*

-12 V-AUX

±10%

*

*The 68ARM2 without modules does not derive any power from the +12V and -12V backplane rail supplies. When calculating total power supply consumption, remember to add the +12, -12, and 5V power consumption for two optional modules.

68ARM2 OUTLINE DIMENSIONS

The 68ARM2 is compatible with the OpenVPX ANSI Vita 46 Specification. Conduction cooled 68ARM2 cards comply with ANSI/VITA 30.1‐2002. The following diagram is for reference only. All dimensions are in inches.

dim

Figure 2. 68ARM2 Dimensions (conduction cooled)

68ARM2 ON BOARD RESOURCES

Memory

DDR4 SDRAM

The 68ARM2 provides a total of 8 GB of ECC DDR4 memory. This memory is organized as 4 1Gb x 16 MT40A1G16 devices (parts may vary), with a fifth device providing storage for ECC data. 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.

QSPI Flash

The 68ARM2 supports one Micron MT25QL02GCBB8E12-0SIT 2Gb, Quad-SPI (QSPI) flash device. This device is used for nonvolatile storage of the ARM boot code, user data, and program. The device connects to the APU dedicated interface. The device interface may contain a secondary boot code. The device supports the Common Flash Interface (CFI). This 4-bit data memory interface can sustain burst read operations.

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 68ARM2 FRAM 64K bits are organized as 8,192 x 8 bits random access memory, connected to the Ultrascale+™ CPU through the I2C.

SATA

The Ultrascale+™ CPU has two available on-chip SATA 2 type controllers. SATA port 1 is supported with SerDes12, and SATA port 2 is supported with SerDes13. The 68ARM2 SATA port 2 is connected to an on-board SATA 2 Solid State Drive. SATA2 is connected to Module Slot 3 (supports direct SATA 2 solid-state FLASH module, if fitted) or to an external storage device via a programmable switch.

SATA Port 1

The SATA port 1 controller interface on the Ultrascale+™ CPU is directly connected to an on-board, solid-state drive. The SSD contains a single level cell NAND Flash together with a controller in a single multi-chip package. This 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. This signal is pinned out as rear I/O on connector P2. The SATA-WP signal must be 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 68ARM2 includes a 32GB SSD drive. Larger devices are available; please consult the factory for availability.

SATA Port 2

The SATA port 2 interface on the Ultrascale+™ CPU is connected directly to a high-speed connector for Module Slot 3. An optional SATA Flash drive is available for the 68ARM2; please consult the Factory for availability.

Peripheral I/O

Ethernet

The Ultrascale+™ supports two 10/100/1000Base-TX or two 1000Base-KX Ethernet ports.

The 68ARM2 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 to the front, 10/100/1000Base-TX to the rear, or KX-Ethernet to the rear as build options.

Ethernet Port 2 can be routed as 10/100/1000Base-Tx to the rear or KX-Ethernet to the rear as build options.

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

USB

The 68ARM2 supports one USB 3.0 port on the backplane and one USB 2.0 port on the front. Do not populate both interfaces at the same time. Contact factory for availability.

USB port 0 is available at the front of 68ARM2, on connector J5. The USB port can operate as a standalone host.

  • Compatible with USB specification, Rev. 2.0

  • Supports high-speed (480 Mbps), full-speed (12 Mbps), and low-speed (1.5 Mbps) operations

  • Supports operation as a standalone USB host controller

  • Supports USB root hub with one downstream-facing port

  • Enhanced host controller interface (EHCI)-compatible

  • One controller supports operation as a standalone USB device

  • Supports one upstream-facing port

  • Supports six programmable USB endpoints

I2C

I2C is a two-wire, bidirectional single ended serial bus that provides efficient method of exchanging data between a master and slave device. The 68ARM2 has one device for communicating with onboard devices, as shown in the table below.

Assignment

I2C addresses

Device

Onboard Devices

0x13-0x1F & 0x43-0x4F

Power Supply

0x38

PCIe Switch

0x50

FIPS

0x53

FRAM

0x56

EEPROM

0x57 & 6F

RTC

Real-Time Clock

Real-Time Clock/Calendar (RTCC) is used to provide a system time and date function or can be used as an event timer. In addition, the MCP79410 includes:

  • 64 Bytes SRAM, Battery Backed

  • 1 Kbits EEPROM (128x8)

  • Power-Fail Time-Stamp for Battery Switchover

To maintain the RTCC and SRAM functions when the 5 V power is off, the RTC_STDBY pin must be connected to an external battery or power supply. The RTC_STDBY supply voltage should be between 1.4 V to 5.0 V. A typical RTC_STDBY supply requirement is 3.0 V @ 5 µA.

Caution
5.5 V is the maximum allowable RTC_STDBY input voltage. Any voltage larger than 5.5 V on the RTC_STDBY pin will damage the RTCC.

SPI

Serial Peripheral Interface Bus or SPI is a synchronous serial data link standard. SPI operates in full duplex mode. SPI devices communicate in master/slave mode where the master device starts a frame and sources the clock. The Ultrascale+™ CPU has one SPI controller with four device select pins (SPI_CS [3:0]). SPI_CS [0] is attached to an TPM. SPI_C [1,2,3] are unconnected.

Linux device drivers are available to access TPM features.

Ultrascale+™ CPU SPI CS

Assignment

Device

SPI_CS0

TPM

SLB9670XQ2

SPI_CS1

Not used

SPI_CS2

Not used

SPI_CS3

Not used

Serial Ports

The 68ARM2 has one serial port to the front and to the rear of the card. Do not plug into the serial port from both the front and rear of the card at the same time. This will cause errors when communicating to the card through the serial port.

For U-boot, the console port is selected at compile time. The 68ARM2 is configured to use the first serial port (SER1), which is routed to the OpenVPX P0 connector at rear of the card.

For Linux, the console port is passed as a kernel parameter by U-boot when it loads Linux and so can be selected at run-time.

Onboard TTL

TTL I/O are available as a configuration options (see pin-outs/P/N configuration).

TTL I/O Specifications

TTL Input

Input levels: TTL and CMOS compatible, single ended inputs

Input levels:

Vin L (min): 0 V

Vin L (max): 0.8 V

Vin H (min): 2.0 V

Vin H (max): 5.0 V

TTL Output

Output levels: TTL/CMOS, single ended outputs

Drive Capability:

Vout L (min): 0 V min @ 16 mA (sink)

Vout L (max): 0.45 V max @ 16 mA (sink)

Vout H (min): 2.1 V @ 400 uA (source)

Vout H (max): 3.3 V VCC, (unloaded)

Rise/Fall time: 10 ns into a 50pf load

TTL Register Descriptions

Attached to the Ultrascale+™ CPU via local bus is a portion of the FPGA. This logic provides miscellaneous “glue” functions and 8 programmable TTL I/O channels (TTL_CH [8:1]). (These TTL channels may be programmed as inputs or outputs as needed. Channels that are programmed as inputs may generate interrupts. Interrupts on input pins can be programmed to occur on (high to low) or (low to high) input pin transitions. TTL interrupts occur on the IRQ10 input of the Ultrascale+™ CPU.

The 68ARM2 utilizes level shifting single ended bus transceivers, allowing the I/O pins to be 5 V tolerant. Each I/O pin is individually pulled up on card by a 4.7 KΩ resistor to the internal 3.3 V supply rail. External pull ups are not required for open collector operation. The TTL_CH [8:1] signals are pinned out as rear I/O on connector P2. As a factory option, the TTL_CH [8:5] pins may be disconnected and their associated P2 pins used to support additional module I/O signals.

TTL Direction

Function: TTL direction. Sets channels as inputs or outputs. Bitmapped.

Function Address Offset(s): 0x83C1 0314

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value:0xFF (all channels to Input)

Operational Settings: Write 0 for input; 1 for output: Default is configured for Input. Data bits [7:0] correspond to one of eight channels TTL_CH [8:1] respectively.

Table 1. TTL Direction

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

D

D

D

D

D

D

D

D

TTL Data

Function: Reads the TTL output of a specific channel’s I/O pin. Write to this register to set the channel to drive high or low. Bitmapped.

Function Address Offset(s): 0x83C1 0318

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value:0x00

Operational Settings: TTL_DIR register must be set for input (0). Write 0 for Low output; write 1 for High output: Data bits [7:0] correspond to one of eight channels TTL_CH [8:1] respectively.

Note
Reading this register returns the output to the I/O pin of a specific channel and does not return the value set to the register. Because of this, if there is impedance to the pin it may not return the proper setting. For example, if the channel is set to drive high and some impedance causes it to drive low, then this register will read low (0). To guarantee the correct setting is read, please refer to the TTL Loopback register.
Table 2. TTL Data

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

D

D

D

D

D

D

D

D

SATA Register

Function: Sets the bit to be either writable or write protected. Bitmapped.

Function Address Offset(s): 0x83C1 0094

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value:0x00

Operational Settings: Write a 1 to set the bit to Write Protected, and a 0 to set the bit to Writable.

Note
There are other bits in this register such as Quick erase and Dataflush, so read/modify writes must be used.
Table 3. SATA Register

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

D

D

D

D

D

D

D

D

TTL IRQ Status

Function: When an interrupt for a channel or channels occurs, the corresponding bit for that channel will be set High in this register. Bitmapped.

Function Address Offset(s): 0x83C1 0328

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value:0x00

Operational Settings: When a TTL input channel generates an interrupt, the corresponding bit in the TTL_IRQ_STAT is set High (1). Once a bit is set by a transition on the input pin, the bit remains set until cleared by a register write. Writing a (1) to the corresponding bit resets the interrupt status to (0).

Table 4. TTL IRQ Status

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

D

D

D

D

D

D

D

D

TTL IRQ Polarity

Function: When the TTL IRQ Enable register is enabled, this register determines whether the interrupt will be generated for either “rising edge” or “falling edge” event detection.

Function Address Offset(s): 0x83C1 0324

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value:0x00

Operational Settings: Write a 1 to sense on a rising edge and a 0 to sense on a falling edge.

Table 5. TTL IRQ Polarity

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

D

D

D

D

D

D

D

D

TTL IRQ Enable

Function: TTL_DIR register must be set for inputs (0). Selects channels to be enabled for interrupts. Bitmapped.

Function Address Offset(s): *0x83C1 0320

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0x00

Operational Settings: Write 1 to enable interrupts for selected channel. Write 0 for interrupts not enabled, is default.

Table 6. TTL IRQ Enable

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

D

D

D

D

D

D

D

D

TTL Loopback

Function: Reads back TTL output channel(s) register contents. Bitmapped.

Function Address Offset(s): 0x83C1 031C

Type: binary word (16-bit)

Read/Write: R

Initialized Value:0x00

Operational Settings: Reads the state of output register for each channel, regardless of the state of the I/O channel.

Note
This provides the last commanded/written output value, which may differ from the TTL Data 'read' status (if there is a problem, can be used for BIT status).
Table 7. TTL Loopback

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

D

D

D

D

D

D

D

D

68ARM2 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-2 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.

68ARM2 SOFTWARE LIBRARIES/ASSOCIATED DOCUMENTS

68ARM2 BSP Processor Module Library

The 68ARM2 Processor library package provides function interfaces to the on-module functionality as well as the OpenVPX interface. 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 Wind River Linux or other supported operating systems similar. 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.

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 Boards

Device ID

Bus

Motherboard and Module Register Access

Motherboard and Module Firmware Updates

Controller/Master Boards

68ARM2

0x6886

PCIe

BAR 1

Size: Module Dependent (minimum 64K Bytes)

BAR 2

Size: 1M Bytes

Module Slot and Function Addresses

The memory map for the modules are dependent on the types of modules on the board and the order in which the modules are installed on the board as well as the firmware installed on the motherboard. The function modules are enumerated allowing for dynamic memory space allocation and therefore the “start” address of the module function register area is factory pre-defined (and read from) the Module Address register. Refer to Figure 1 for an example.

68G5 Img05

Figure 3. Register Memory Map Addressing for Motherboards with 3 Modules

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 = 0x0400):

  1. Start with the base address for the board.

  2. Add the motherboard register address offset.

Motherboard Address =

Base Address + Motherboard Address Offset

= 0x9000 0400

0x9000 0000 + 0x0400

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., @ 0x0400) = 0x4000.

  3. Then add the specific module function Register Offset of interest (i.e., A/D Reading Ch 1 @ 0x1000)

(Function Specific) Address =

Base Address

Module Base Address Offset

Function Register Offset

= 0x9000 5000

0x9000 0000

0x4000

0x1000

Module Information Registers

The Module Slot Addressing Ready, 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. Module IDs are in little-endian order with a single space following the first three characters. For example, 'TL1' is '1LT', 'SC1' is '1CS' and so forth. Example below is for “TL1” (MSB justified). All value of 0000 0000 indicates no Module found.

Table 8. Module Slot ID

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

ASCII Character (ex: 'T' - 0x54)

ASCII Character (ex: 'L' - 0x4C)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

ASCII Character (ex: '1' - 0x31)

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: unsigned binary word (32-bit)

Data Range: See table below.

Read/Write: R

Initialized Value: ASCII code is for the Platform Identifier of the board

Operational Settings: Valid NAI platform and the associated value for the platform is shown below:

NAI Platform

Platform Identifier

ASCII Binary Values (Note: little-endian order of ascii values)

3U VPX

68

0x0000 3836

Model

Function: Specifies the Board Model Identifier. Value is for the ASCII characters for the NAI valid model.

Type: unsigned binary word (32-bit)

Data Range: See table below.

Read/Write: R

Initialized Value: ASCII code is for the Model Identifier of the board

Operational Settings: Example of NAI model and the associated value for the model is shown below:

NAI Model

ASCII Binary Values (Note: little-endian order of ascii values)

ARM

0x004D 5241

Generation

Function: Specifies the Board Generation. Identifier values are for the ASCII characters for the NAI valid generation identifiers.

Type: unsigned binary word (32-bit)

Data Range: See table below.

Read/Write: R

Initialized Value: ASCII code is for the Generation Identifier of the board

Operational Settings: Example of NAI generation and the associated value for the generation is shown below:

NAI Generation

ASCII Binary Values (Note: little-endian order of ascii values)

2

0x0000 0032

Processor Count/Ethernet Count

Function: Specifies the Processor Count and Ethernet Count

Type: unsigned binary word (32-bit)

Data Range: See table below.

Read/Write: R

Operational Settings:

     Processor Count - Integer: indicates the number of unique processor types on the motherboard.

NAI Board

Processor Count

Description

3U-VPX

68ARM2

1

Xilinx Zynq UltraScale+

     Ethernet Interface Count - Indicates the number of Ethernet interfaces on the product motherboard. For example, Single Ethernet = 1; Dual Ethernet = 2.

Table 9. Processor/Ethernet Interface Count

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Processor Count (See Table)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Ethernet Count (Based on Part Number Ethernet Options)

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 - Indicates the number of modules that can be installed on the product.

     ARM Platform - Altera = 1; Xilinx X1 = 2; Xilinx X2 = 3; UltraScale = 4

NAI Board

Maximum Module Slot Count

ARM Platform Type

3U-VPX

68ARM2

3

UltraScale+ = 4

Table 10. Maximum Module Slot Count / ARM Platform Type

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Maximum Module Slot Count (See Table)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

ARM Platform Type (See Table)

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.

Table 11. Processor Platform (Note: 8-character ASCII string) (“aarch64”)

Word 1 (0x6372 6161 = “craa”)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

'c' (0x63)

'r' (0x72)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

'a' (0x61)

'a' (0x61)

Word 2 (0x0034 3668 = “ 46h”)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

null (0x00)

'4' (0x34)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

'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', …​)

Table 12. Processor Platform (Note: 12-character ASCII string) (“Linux”)

Word 1 (0x756E 694C = “uniL”)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

'u' (0x75)

'n' (0x6E)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

'i' (0x69)

'L' (0x4C)

Word 2 (0x0000 0078 = “ x”)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

null (0x00)

null (0x00)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

null (0x00)

null (0x00)

Word 3 (0x0000 0000 = “ ”)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

null (0x00)

null (0x00)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

null (0x00)

null (0x00)

Processor Operating System Version

Function: Specifies the Version of Operating System installed for the host processor.

Type: 8-character ASCII string - Two (2) unsigned binary word (32-bit)

Data Range: N/A

Read/Write: R

Operational Settings: ASCII, 8 characters

Processor Platform (Note: little-endian order of ascii values) (ex. “4.14.0”)
Table 13. Word 1 (Ex. 0x3431 2E34 = “41.4”)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

ex: '4' (0x34)

ex: '1' (0x31)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

ex: '.' (0x2E)

ex: '3' (0x33)

Table 14. Word 2 (Ex.0x 0000 302E = “ 0.”)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

null (0x00)

null (0x00)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

ex: '0' (0x30)

ex: '.' (0x2E)

Motherboard Firmware Information Registers

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

Motherboard Core (MBCore) 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.

Table 15. Motherboard Core Firmware Version (Note: little-endian order in register) (ex. 4.7.0.0)

Word 1 (Ex. 0007 0004 = 4.7 (Major.Minor)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Minor (ex: 0x0007 = 7)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Major (ex: 0x0004 = 4)

Word 2 (Ex. 0x0000 0000 = 0000 = 0.0 (Minor2.Minor3))

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Minor 3 (ex: 0x000 = 0)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Minor 2 (ex: 0x000 = 0)

Motherboard Firmware Build Time/Date

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.

Note
On some builds the the Date/Time fields are fixed to 0000 0000 to maintain binary consistency across builds.
Table 16. Motherboard Firmware Build Time (Note: little-endian order in register)

Word 1 - Build Date (ex. 0x1704 07E5 = 2021-4-23)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Day (ex: 0x17 = 23)

Month (ex: 0x04 = 4)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Year (ex: 0x07E5 = 2021)

Word 2 - Build Time (ex. 0x0002 030D = 13:03:02)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

null (0x00)

Seconds (ex: 0x02 = 2)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Minutes (ex: 0x03 = 3)

Hours (ex: 0x0D = 13)

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.

Table 17. Motherboard FPGA Firmware Version (ex. 0x0005 0008 = 5.8)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Major (ex: 0x0005 = 5)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Minor (ex: 0x0008 = 8)

Motherboard FPGA 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:

Table 18. Motherboard FPGA Compile Time (ex. B9AA FB00 = 03/23/21 15:44:00)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Day (D31:D27)

Month (D26:D23)

Year (D22:D17)

ex. 0xB

ex. 0x9

0xA

0xA

1

1

0

1

0

0

1

0

0

0

1

0

1

0

1

1

Day = 0x17 = 23

Month = 0x3 = 3

Year = 0x15 = 21

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Hour (D16:D12)

Minutes (D11:D6)

Seconds (D5:D0)

ex. 0xF

ex. 0xB

ex. 0x0

ex. 0x0

1

1

1

1

1

0

1

1

0

0

0

0

0

0

0

0

Hour = 0xF = 15

Minutes = 0x2C = 44

Seconds = 0x00 = 00

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 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).

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 0x2B2B 0000:

Example:

Table 19. Word 1 (UltraScale Temperatures)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

UltraScale Core Temperature

UltraScale PCB Temperature

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0x00

0x00

The values would represent the following temperatures:

Temperature Measurements

Data Bits

Value

Temperature (Celsius)

UltraScale Core Temperature

D31:D24

0x2B

+43°

UltraScale PCB Temperature

D23:D16

0x2B

+43°

Temperature Readings
Table 20. Word 1 (UltraScale Temperatures)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

UltraScale Core Temperature

UltraScale PCB Temperature

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0x00

0x00

Table 21. Word 2 (Reserved)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

0x00

0x00

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0x00

0x00

Table 22. Word 3 (Max UltraScale Temperatures)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Max UltraScale Core Temperature

Max UltraScale PCB Temperature

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0x00

0x00

Table 23. Word 4 (Reserved)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

0x00

0x00

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Table 24. Word 5 (Min UltraScale Temperatures)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Min UltraScale Core Temperature

Min UltraScale PCB Temperature

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Table 25. Word 6 (Reserved)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

0x00

0x00

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

00

Higher Precision Temperature Readings Registers

These registers provide higher precision readings of the current UltraScale 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 0271, this represents UltraScale Core Temperature = 43.625° Celsius, and value 0xFFF6 0177 represents -10.375° Celsius.

Table 26. Higher Precision UltraScale Core Temperature

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Signed Integer Part of Temperature

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

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 0x0020 007D, this represents Interface PCB Temperature = 32.125° Celsius, and value 0xFFE8 036B represents -24.875° Celsius.

Table 27. Higher Precision Motherboard PCB Temperature

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Signed Integer Part of Temperature

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

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 Status

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.

Table 28. Motherboard Sensor Summary Status

Bit(s)

Sensor

D31:D5

Reserved

D4

Motherboard PCB Temperature

D3

US+ Core Temperature

D2:D0

Reserved

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.

MB Sensor Registers US
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.

Table 29. Sensor Threshold Status

Bit(s)

Description

D31:4

Reserved

D3

Exceeded Upper Critical Threshold

D2

Exceeded Upper Warning Threshold

D1

Exceeded Lower Critical Threshold

D0

Exceeded 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 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 Address

First Port (A) Subnet Mask

Second Port (B) IP Address

Second Port (B) Subnet Mask

Result

192.168.1.5

255.255.255.0

192.168.2.5

255.255.255.0

Good

192.168.1.5

255.255.0.0

192.168.2.5

255.255.0.0

Conflict

192.168.1.5

255.255.0.0

192.168.2.5

255.255.255.0

Conflict

10.0.0.15

255.0.0.0

192.168.1.5

255.255.255.0

Good

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.

Table 30. Ethernet Settings

Bits

Description

Values

D31:D23

Reserved

0

D22:D21

Duplex

00 = Not Specified, 01 = Half Duplex, 10 = Full Duplex, 11 = Reserved

D20:D18

Speed

000 = Not Specified, 001 = 10 Mbps, 010 = 100 Mbps, 011 = 1000 Mbps, 100 = 2500 Mbps, 101 = 10000 Mbps, 110 = Reserved, 111 = Reserved

D17

Auto Negotiate

0 = Enabled, 1 = Disabled

D16

Static IP Address

0 = Enabled, 1 = Disabled

Table 31. 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)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

MAC Address Octet 4 (ex: 0xDD)

MAC Address Octet 3 (ex: 0xCC)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

MAC Address Octet 2 (ex: 0xBB)

MAC Address Octet 1 (ex: 0xAA)

Word 2 (Ethernet MAC Address (Octets 5-6) and Ethernet Settings)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Ethernet Settings (See table)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

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.

Table 32. Ethernet Interface Name (Note: little-endian order in register) (ex. “eth0”)*

Word 1 (Bit 0-31) (ex: 0x3068 7465 = “0hte”)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

ASCII Character (ex: '0' - 0x30)

ASCII Character (ex: 'h' - 0x68)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

ASCII Character (ex: 't' - 0x74)

ASCII Character (ex: 'e' - 0x65)

Word 2 (Bit 32-63) (ex: 0x0000 0000)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

ASCII Character (ex: null - 0x00)

ASCII Character (ex: null - 0x00)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

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.

Table 33. Ethernet IPv4 Address (Note: little-endian order in register)

Word 1 (Ethernet IPv4 Address) (ex: 0x1001 A8C0 = 192.168.1.16)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

IPv4 Address Octet 4 (ex: 0x10 = 16)

IPv4 Address Octet 3 (ex: 0x01 = 1)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

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)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

IPv4 Subnet Octet 4 (ex: 0x00 = 0)

IPv4 Subnet Octet 3 (ex: 0xFF = 255)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

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)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

IPv4 Gateway Octet 4 (ex: 0x01 = 1)

IPv4 Gateway Octet 3 (ex: 0x01 = 1)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

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 bits

64 bits

Prefix

Interface ID

Prefix 1

Prefix 2

Prefix 3

Subnet ID

Interface ID 1

Interface ID 2

Interface ID 3

Interface ID 4

Example: 2002:c0a8:101:0:7c99:d118:9058:1235/64

2002

C0A8

0101

0000

7C99

D118

9058

1235

Table 34. Ethernet IPv6 Address (Note: little-endian order within 32-bit and 16-bit words in register) (ex. IPv6 Address: 2002:c0a8:101:0:7c99:d118:9058:1235 IPv6 Prefix: 64)

Word 1 (Ethernet IPv6 Address (Prefix 1-2)) (ex:0xA8C0 0220 = 2002 C0A8)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Prefix 2 (ex: 0xA8C0 = C0A8)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Prefix 1 (ex: 0x0220 = 2002)

Word 2 (Ethernet IPv6 Address (Prefix 3/Subnet ID)) (ex:0x000 0101 = 0101 0000)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Subnet ID (ex: 0x0000 = 0000)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Prefix 3 (ex: 0x0101 = 0101)

Word 3 (Ethernet IPv6 Address (Interface ID 1-2)) (ex: 0x18D1 997C = 7C99 D118)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Interface ID 2 (ex: 0x18D1 = D118)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Interface ID 1 (ex: 0x997C = 7C99)

Word 4 (Ethernet IPv6 Address (Interface ID 3-4)) (ex: 0x3512 5890 = 9058 1235)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Interface ID 4 (ex: 0x3512 = 1235)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Interface ID 3 (ex: 0x5890 = 9058)

Word 5 (Ethernet IPv6 Prefix Length) (ex:0x0000 0040)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

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 VME

1

Direct Interrupt to ARM Processor (via SerDes) (Custom App on ARM or NAI Ethernet Listener App)

2

Direct Interrupt to PCIe Bus

5

Direct Interrupt to cPCI Bus

6

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.

Table 35. Module BIT Status

Bit(s)

Description

D31:D20

Reserved

D19

Module Slot 3 BIT Failure (current value)

D18

Module Slot 2 BIT Failure (current value)

D17

Module Slot 1 BIT Failure (current value)

D16

Reserved

D15:D4

Reserved

D3

Module Slot 3 BIT Failure - Latched

D2

Module Slot 2 BIT Failure - Latched

D1

Module Slot 1 BIT Failure - Latched

D0

Reserved

Scratchpad Area

Function: Registers reserved as scratch pad for customer use.

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.

MOTHERBOARD FUNCTION REGISTER MAP

Key:

Bold Underline = Measurement/Status/Board Information

Bold Italic = Configuration/Control

Module Information Registers

0x03FC

Module Slot Addressing Ready

R

0x0400

Module Slot 1 Address

R

0x0404

Module Slot 2 Address

R

0x0408

Module Slot 3 Address

R

0x0430

Module Slot 1 Size

R

0x0434

Module Slot 2 Size

R

0x0438

Module Slot 3 Size

R

0x0460

Module Slot 1 ID

R

0x0464

Module Slot 2 ID

R

0x0468

Module Slot 3 ID

R

Hardware Information Registers

0x0020

Product Serial Number

R

0x0024

Platform

R

0x0028

Model

R

0x002C

Generation

R

0x0030

Processor Count/Ethernet Count

R

0x0034

Maximum Module Slot Count/ARM Platform Type

R

0x0038

Processor Platform (Bit 0-31)

R

0x003C

Processor Platform (Bit 32-63)

R

0x0040

Processor Operating System (Bit 0-31)

R

0x0044

Processor Operating System (Bit 32-63)

R

0x0048

Processor Operating System (Bit 64-95)

R

0x004C

Processor Operating System Version (Bit 0-31)

R

0x0050

Processor Operating System Version (Bit 32-63)

R

Motherboard Firmware Information Registers

Motherboard Core Information

0x0100

MBCore Major/Minor Version

R

0x0104

MBCore Minor 2/3 Version

R

0x0108

MBCore Build Date (Bit 0-31)

R

0x010C

MBCore Build Date (Bit 32-63)

R

Motherboard FPGA Information

0x0270

MB FPGA Revision

R

0x0274

MB FPGA Compile Date/Time

R

Motherboard Monitoring Registers

Temperature Readings

0x0200

Current Host & UltraScale Temperatures

R

0x0204

Max Host Temperatures & Current Slave Zynq Temp

R

0x0208

Min Host Temperatures & Max UltraScale Temp

R

0x020C

Max Slave Zynq Temperatures

R

0x0210

Min UltraScale Temperatures

R

0x0214

Min Slave Zynq Temperatures

R

Higher Precision Temperature Readings

0x0230

Current UltraScale Core Temperature

R

0x0234

Current Motherboard PCB Temperature

R

Motherboard Health Monitoring Registers

0x20F8

Motherboard/Power Supply Sensor Summary Status

R

67PPC2 Img11

Ethernet Configuration Registers

0x0070

Ethernet A MAC (Octets 1-4)

R

0x0074

Ethernet A MAC (Octets 5-6)/Misc Settings

R

0x0078

Ethernet A Interface Name (Bit 0-31)

R

0x007C

Ethernet A Interface Name (Bit 32-63)

R

0x0080

Ethernet A IPv4 Address

R

0x0084

Ethernet A IPv4 Subnet Mask

R

0x0088

Ethernet A IPv4 Gateway

R

0x008C

Ethernet A IPv6 Address (Prefix 1-2)

R

0x0090

Ethernet A IPv6 Address (Prefix 3/Subnet ID)

R

0x0094

Ethernet A IPv6 Address (Interface ID 1-2)

R

0x0098

Ethernet A IPv6 Address (Interface ID 3-4)

R

0x009C

Ethernet A IPv6 Prefix Length

R

0x00A0

Ethernet B MAC (Octets 1-4)

R

0x00A4

Ethernet B MAC (Octets 5-6)/Misc Settings

R

0x00A8

Ethernet B Interface Name (Bit 0-31)

R

0x00AC

Ethernet B Interface Name (Bit 32-63)

R

0x00B0

Ethernet B IPv4 Address

R

0x00B4

Ethernet B IPv4 Subnet Mask

R

0x00B8

Ethernet B IPv4 Gateway

R

0x00BC

Ethernet B IPv6 Address (Prefix 1-2)

R

0x00C0

Ethernet B IPv6 Address (Prefix 3/Subnet ID)

R

0x00C4

Ethernet B IPv6 Address (Interface ID 1-2)

R

0x00C8

Ethernet B IPv6 Address (Interface ID 3-4)

R

0x00CC

Ethernet B IPv6 Prefix Length

R

Interrupt Vector and Steering

0x0500 - 0x057C

Module 1 Interrupt Vector 1 - 32

R/W

0x0700 - 0x077C

Module 2 Interrupt Vector 1 - 32

R/W

0x0900 - 0x097C

Module 3 Interrupt Vector 1 - 32

R/W

0x0600 - 0x067C

Module 1 Interrupt Steering 1 - 32

R/W

0x0800 - 0x087C

Module 2 Interrupt Steering 1 - 32

R/W

0x0A00 - 0x0A7C

Module 3 Interrupt Steering 1 - 32

R/W

Modules Health Monitoring Registers

0x0128

Module BIT Status (current and latched)

R

Scratchpad Registers

0x3800 - 0x3BFF

Scratchpad Registers

R/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)

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 1

Ethernet 2

Ethernet 3*

Ethernet 4*

(REF PORT A)

(REF PORT B)

(REF PORT C)

(REF PORT D)

The default IP address:

192.168.1.16

192.168.2.16

192.168.3.16

192.168.4.16

The default subnet:

255.255.255.0

255.255.255.0

255.255.255.0

255.255.255.0

The default gateway:

192.168.1.1

192.168.2.1

192.168.3.1

192.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

Preamble

The Preamble is used to delineate the beginning of a message frame. The Preamble is always 0xD30F.

SequenceNo

The SequenceNo is used to associate Commands with Responses.

Type Code

Type Codes are used to define the type of Command or Response the message contains.

Message Length

The 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.

Payload

The Payload contains the unique data that makes up the command or response. Payloads vary based on command type.

Postamble

The 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 Pin

T568A Color

T568B Color

10/100Base-T

1000BASE-T

NAI wiring convention

1

white/green stripe

white/orange stripe

TX+

DA+

ETH-TP0+

2

green

orange

TX-

DA-

ETH-TP0-

3

white/orange stripe

white/green stripe

RX+

DB+

ETH-TP1+

4

blue

blue

DC+

ETH-TP2+

5

white/blue stripe

white/blue stripe

DC-

ETH-TP2-

6

orange

green

RX-

DB-

ETH-TP1-

7

white/brown stripe

white/brown stripe

DD+

ETH-TP3+

8

brown

brown

DD-

ETH-TP3-

68ARM2 CONNECTOR/PIN-OUT INFORMATION

Front and Rear Panel Connectors

The 68ARM2 3U OpenVPX SBC and Multifunction I/O board is available in a conduction-cooled configuration. The 68ARM2 follows the OpenVPX “Payload Slot Profile” configured as:

Slot profile: SLT3-PAY-1F2U-14.2.12

Module profile: MOD3-PAY-1F2U-16.2.11-2

User I/O is available through the OpenVPX user defined rear I/O connectors P1, P2 (see part number and pin-out information).

Note
The following notes apply unless otherwise specified
68ARM2 pinout notes

Front Panel Connector

Utility Connector J5

Industry standard mini-HDMI type (type-C receptacle).

j5

Chassis Ground

Rear connector key guides are chassis ground.

Front I/O Utility Connector J5 (Convection and Conduction-Cooled)

The 68ARM2 utilizes a Mini-HDMI type card edge connector J5, available on either convection or conduction-cooled configurations that provides the following signals:

  • Serial (port 1)

  • Ethernet port 1 (factory configuration option - Ethernet port1 may be redirected to rear I/O J1)

NAI also provides an optional “breakout” adapter board (NAI P/N 75SBC4-BB) with a mini-HDMI to mini-HDMI type cable. The “breakout” adapter board and a Micro-HDMI cable (NAI P/N 75SBC4-BB) allow for standard I/O connections to Ethernet and asynchronous serial (DB9). Consult the factory for availability.

frontj5

Signal Descriptions J5

Signal Name

Description

ETH1-TPx

Ethernet port 1 signals (4 pair) 10/100/1000 twisted pair signals (Optional - available only if NOT re-directed to rear I/O (see part number configuration options)

USB-DP

Front Panel USB Data Plus

USB-DM

Front Panel USB Data Minus

SER1-TXD

Asynchronous transmit serial data port 1 (out) / RS232 debug/console port only

SER1-RXD

Asynchronous received serial data port 1 (in) / RS232 debug/console port only

GND

System Ground (return)

Rear I/O VPX Connectors P0-P2 (Conduction-Cooled)

The 68ARM2 3U OpenVPX SBC and Multifunction I/O board provides interface via the rear VPX connectors.

Rear I/O Summary

Signals defined as N/C currently have no functionality associated and are not required for general operation.

P0 - Utility plane. Contains the following signal definitions:

Power:

Primary +5V, +3.3_AUX, +/- 12V and System GND

Geographical Address Pins:

GA0# - GA4#, GAP#

Card reset:

SYSRST# signal

Non-Volatile Memory Read Only:

NVMRO

IPMC:

IMPB-SDA-A, IMPB-SDA-B, IMPB-SCL-A, IMPB-SCL-B

VPX AUX/REF CLK:

(Not used)

P1 - Defined as Data/Control Planes (User defined I/O secondary)

High Speed Switched Fabric Interface:

6 x1 PCIe (Root-Complex ultra-thin PCIe 2.0)

Ethernet:

Dual Gig-E port option(s) are available and defined (See Part Number Designation section)

P2 - User defined I/O (primary)

68ARM2 Img11

Figure 14.2.12-1 Payload Slot Profile SLT3-PAY-1F2U-14.2.12 (ref: ANSI/VITA 65-2010 (R2012))

Rear I/O Utility Plane (P0)

The P0 (Utility) Plane contains the primary power, bus and utility signals for the OpenVPX board. Additionally, several of the user defined pins can be utilized for Geographical Addressing, NVMRO, and a parallel SYSRST# signal. Signals defined as N/C currently have no functionality associated and is not required for general operation.

68ARM2 P0 table
68ARM2 Img12

Rear I/O Data/Control Planes (P1)

The 68ARM2 is a root-complex SBC which has six PCIe ver 2.0 Ultra-Thin pipes. As defined in the OpenVPX payload slot specifications, the 68ARM2 provides six 'ultra-thin pipe' (one Tx and one Rx differential pair), which provides additional user I/O definition opportunity. Additionally, the 68ARM2 can be commanded/controlled via dual port Gig-E (options for either 10/100/1000Base-T and/or 1000Base-KX (SerDes) Interfaces). Additional module I/O is also defined on the P1 user defined plane. Signals defined as N/C currently have no functionality associated or are considered optional and are not required for general operation.

reario
68ARM2 P1 table

USER I/O - Defined Area (User Defined I/O) (P2)

The following pages contain the 'user defined' I/O data area front and rear panel pin-outs with their respective signal designations for all module types currently offered/configured for the 68ARM2 platform. The card is designed to route the function module I/O signals to the front and rear I/O connector. The following I/O connector pin-out is based upon the function module designated in the module slot. Signals defined as N/C currently have no functionality associated or are considered optional and are not required for general operation.

p2
68ARM2 P2 table

Rear User I/O Mapping

Rear User I/O Mapping (for reference) is shown below, with respect to DATAIO. Additional information on pin-outs can be found in the Module Operational Manuals.

Slot 1

Slot 2

Slot 3

Module Signal (Ref Only)

Rear I/O P1

Rear I/O P2

Global (MB)

Rear I/O P1

Rear I/O P2

Global (MB)

Rear I/O P1

Rear I/O P2

Global (MB)

DATIO1

A1

A7

A9

DATIO2

B1

B7

B9

DATIO3

D1

D7

D9

DATIO4

E1

E7

E9

DATIO5

B2

B8

B10

DATIO6

C2

C8

C10

DATIO7

E2

E8

E10

DATIO8

F2

F8

F10

DATIO9

A3

A9

A11

DATIO10

B3

B9

B11

DATIO11

D3

D9

D11

DATIO12

E3

E9

E11

DATIO13

B4

B10

B12

DATIO14

C4

C10

C12

DATIO15

E4

E10

E12

DATIO16

F4

F10

F12

DATIO17

A5

A11

A13

DATIO18

B5

B11

B13

DATIO19

D5

D11

D13

DATIO20

E5

E11

E13

DATIO21

B6

B12

B14

DATIO22

C6

C12

C14

DATIO23

E6

D12

E14

DATIO24

F6

F12

F14

DATIO25

A7

A15

DATIO26

B7

B15

DATIO27

D7

D15

DATIO28

E7

E15

DATIO29

B8

B16

DATIO30

C8

C16

DATIO31

E8

E16

DATIO32

F8

F16

DATIO33

DATIO34

DATIO35

DATIO36

DATIO37

DATIO38

DATIO39

DATIO40

N/A

*

SYS GND

*

SYS GND

*

SYS GND

High Speed I/O Modules

Slot 2

Module Signal (Ref Only)

Rear I/O P1

Global (MB)

DATIO1

A7

ETH1 TP0P

DATIO2

B7

ETH1 TP0N

DATIO3

D7

ETH1 TP1P

DATIO4

E7

ETH1 TP1N

DATIO5

B8

ETH1 TP2P

DATIO6

C8

ETH1 TP2N

DATIO7

E8

ETH1 TP3P

DATIO8

F8

ETH1 TP3N

DATIO9

A9

ETH2 TP0P

DATIO10

B9

ETH2 TP0N

DATIO11

D9

ETH2 TP1P

DATIO12

E9

ETH2 TP1N

DATIO13

B10

ETH2 TP2P

DATIO14

C10

ETH2 TP2N

DATIO15

E10

ETH2 TP3P

DATIO16

F10

ETH2 TP3N

DATIO17

A11

ETH3 TP0P

DATIO18

B11

ETH3 TP0N

DATIO19

D11

ETH3 TP1P

DATIO20

E11

ETH3 TP1N

DATIO21

B12

ETH3 TP2P

DATIO22

C12

ETH3 TP2N

DATIO23

D12

ETH3 TP3P

DATIO24

F12

ETH3 TP3N

DATIO25

ETH4 TP0P

DATIO26

ETH4 TP0N

DATIO27

ETH4 TP1P

DATIO28

ETH4 TP1N

DATIO29

ETH4 TP2P

DATIO30

ETH4 TP2N

DATIO31

ETH4 TP3P

DATIO32

ETH4 TP3N

Ethernet (Rear I/O)

eth

Connector Signal/Pin outs Notes

NAI Synchro/Resolver Naming Convention

Signal

Resolver

Synchro

S1

SIN(-)

X

S2

COS(+)

Z

S3

SIN(+)

Y

S4

COS(-)

No connect

Additional Pinout Notes

1. Isolated Discrete Module (DT2)

For 'differential' A/D; “P” designation considered 'positive' input pin, “N” pin designation considered 'negative' input pin.

2. Discrete I/O Module (DT1)

All GND pins are common within the module, but, isolated from system/power GND. Each pin should be individually wired for optimal power current distribution.

3. TTL I/O Module (TL1)

I/O referenced to system power GND.

4. CMRP - A/D Module(s) (ADx)

The Common Mode Reference Point (CMRP) is an isolated reference connection for all the A/D channels. For expected high common mode voltage applications, it is recommended that the pin designated as CMRP be referenced (direct or resistor coupled) to the signal source GND reference (must have current path between CMRP and signal source generator) to minimize common mode voltage within the acceptable specification range. All channels within the module are independent but share a CMRP, which is isolated from system/power GND.

SYNCHRO/RESOLVER AND LVDT/RVDT SIMULATION MODULE CODE TABLES

Select the Digital-to-Synchro (DSx), Digital-to-Resolver (DRx) or Digital-to-LVDT/RVDT (DLx) module ID corresponding to the application operating parameters required from the following code table (where x = the specific module ID designator). Customer should indicate the actual frequency applicable the design to assure that the correct default band width is set at the factory. All Input and Reference voltages are auto ranging. Frequency/voltage band tolerances +/- 10%. For availability and ranges other than those listed contact the factory. Specifications may be subject to change.

  • Single Channel module pending availability (contact factory)

Module ID

Format

Channel(s)

Output Voltage VL-L (Vrms)

Reference Voltage (Vrms)

Frequency Range (Hz)

Power / CH maximum (VA)

Notes

DS1

SYN

1*

2 - 28

2 - 115

47 - 1 K

3

DR1

RSL

DL1

LVDT/RVDT

DS2

SYN

1*

2 - 28

2 - 115

1 K - 5 K

3

DR2

RSL

DL2

LVDT/RVDT

DS3

SYN

1*

2 - 28

2 - 115

5 K - 10 K

3

DR3

RSL

DL3

LVDT/RVDT

DS4

SYN

1*

2 - 28

2 - 115

10 K - 20 K

3

DR4

RSL

DL4

LVDT/RVDT

DS5

SYN

1*

28 - 90

2 - 115

47 - 1 K

3

DR5

RSL

DL5

LVDT/RVDT

DSX

SYN

1*

X

X

X

X

X = TBD; special configuration, requires special part number code designation, contact factory

DRX

RSL

DLX

LVDT/RVDT

DSA

SYN

2

2 - 28

2 - 115

47 - 1 K

1.5

DRA

RSL

DLA

LVDT/RVDT

DSB

SYN

2

2 - 28

2 - 115

1 K - 5 K

1.5

DRB

RSL

DLB

LVDT/RVDT

DSC

SYN

2

2 - 28

2 - 115

5 K - 10 K

1.5

DRC

RSL

DLC

LVDT/RVDT

DSD

SYN

2

2 - 28

2 - 115

10 K - 20 K

1.5

DRD

RSL

DLD

LVDT/RVDT

DSE

SYN

2

28 - 90

2 - 115

47 - 1 K

2.2

DRE

RSL

DLE

LVDT/RVDT

DSY

SYN

2

Y

Y

Y

Y

Y = TBD; special configuration, requires special part number code designation, contact factory

DRY

RSL

DLY

LVDT/RVDT

DSJ

SYN

3

2 - 28

2 - 115

47 - 1 K

0.5

DRJ

RSL

DLJ

LVDT/RVDT

DSK

SYN

3

2 - 28

2 - 115

1 K - 5 K

0.5

DRK

RSL

DLK

LVDT/RVDT

DSL

SYN

3

2 - 28

2 - 115

5 K - 10 K

0.5

DRL

RSL

DLL

LVDT/RVDT

DSM

SYN

3

2 - 28

2 - 115

10 K - 20 K

0.5

DRM

RSL

DLM

LVDT/RVDT

DSN

SYN

3

28 - 90

2 - 115

47 - 1 K

0.5

DRN

RSL

DLN

LVDT/RVDT

DSZ

SYN

3

Z

Z

Z

Z

Z = TBD; special configuration, requires special part number code designation, contact factory

DRZ

RSL

DLZ

LVDT/RVDT

SYNCHRO/RESOLVER AND LVDT/RVDT MEASUREMENT MODULE CODE TABLES

SYN/RSL Four-Channel Measurement (Field Programmable SYN/RSL)

Select the Synchro/Resolver-to-Digital (SDx) module ID corresponding to the application operating parameters required from the following code table (where x = the specific module ID designator). Customer should indicate the actual frequency applicable to the design to assure that the correct default band width is set at the factory. All Input and Reference voltages are auto ranging. For availability and ranges other than those listed contact the factory. Specifications may be subject to change.

Frequency/voltage band tolerances +/- 10%.

Module ID

Input Voltage V (Vrms)

Reference Voltage (Vrms)

Frequency Range (Hz)

Notes

SD1

2 - 28

2 - 115

47 - 1 K

SD2

2 - 28

2 - 115

1K - 5 K

SD3

2 - 28

2 - 115

5K - 10 K

SD4*

2 - 28

2 - 115

10K - 20 K

SD5

28 - 90

2 - 115

47 - 1 K

SDX*

X

X

X

X = TBD; special configuration, requires special part number code designation, contact factory

*Consult factory for availability

LVDT/RVDT Four-Channel Measurement (Field Programmable 2, 3 or 4-Wire)

Select the LVDT/RVDT-to-Digital (LDx) module ID corresponding to the application operating parameters required from the following code table (where x = the specific module ID designator). Customer should indicate the actual frequency applicable to the design to assure that the correct default band width is set at the factory. All Input and Excitation voltages are auto ranging. For availability and ranges other than those listed contact the factory. Specifications may be subject to change.

Frequency/voltage band tolerances +/- 10%.

Module ID

Input Signal Voltage V (Vrms)

Excitation Voltage (Vrms)

Frequency Range (Hz)

Notes

LD1

2 - 28

2 - 115

47 - 1 K

LD2

2 - 28

2 - 115

1K - 5 K

LD3

2 - 28

2 - 115

5K - 10 K

LD4*

2 - 28

2 - 115

10K - 20 K

LD5

28 - 90

2 - 115

47 - 1 K

LDX*

X

X

X

X = TBD; special configuration, requires special part number code designation, contact factory

*Consult factory for availability

Revision History

Motherboard Manual - 68ARM2 Revision History

Revision

Revision Date

Description

C

2023-07-26

ECO C10563, transition to docbuilder format. Pg.6, changed 'Quad-core' to 'dual- or quad-core' in general description. Pg.6, updated product image. Pg.6, updated block diagram to remove PCIe x1 line to Function #2; changed ZU4CG/EG to ZU5CG/EG; changed SoC MASTER to MPSoC. Pg.6, reorganized Features bullets; changed 'Quad-core' to 'dual- or quad-core' in Processor/Memory bullet; changed 2x TTL to 4x TTL in MB Peripheral I/O bullet. Pg.6, removed air-cooled spec from Mechanical Options bullet. Pg.9, updated Introduction. Pg.9, added '+3.3_AUX' power spec to 'General for the Motherboard'. Pg.9, removed option C from Temp Cycling. Pg.9, corrected General Size from (6U) to (3U); remove 5 HP/1.0" pitch dimension from Width. Pg.13, updated board mechanical option verbiage to reference CC-to-AC rail conversion kit. Pg.17-20, added Onboard TTL section. Pg.24, added Module Slot Addressing Ready offset. Pg.44, added Module Slot Addressing Ready offset. Pg.51, remove Panel LEDs section. Pg.52, update J5 pinout table to remove 'pending' from USB pins; added USB-DP/USB-DM. Pg.53, changed +3.3V to +3.3_AUX in P0 summary. Pg.54-56, revised P0/P1/P2 pinout table layouts to meet VPX Standard format; updated P0/P1/P2 slot profile images. Pg.55-56, added (*) option note to pinout table. Pg.57-58, removed module pinouts from Rear User I/O Mapping section. Pg.60, updated option 1 description for PCIe Configuration; added options 2/3/4. Pg.60, Removed option K from Mechanical Options. Pg.60, Changed Security option to 'Enhanced Security'; updated option 0/S descriptions; added options B/T. Pg.61, added note 5; updated notes 3-4 to add more detailed information. Pg.62, added Single Channel note. Pg.62, changed DSE/DRE/DLE Power/CH maximum (VA) value from '1.5' to '2.2'.

C1

2023-08-09

ECO C10641, pg.60, updated special options 0/1/2/5 to add parenthetical info for clarity.

C2

2023-10-26

ECO C10893, pg.6, added 'QSPI' label to QSPI Flash-to-Processor signal line for clarification; clarified VxWorks OS. Pg.12, updated OS support; removed BSP statement.

C3

2024-05-09

ECO C11510, pg.6, updated product image. Pg.7, added DLx/DSx(DRx)/SDx modules to available modules table. Removed US Core/Aux Voltage register descriptions. Pg.39, updated MB Sensor Summary Status register to add PS references; updated Bit table to change voltage/current bits to 'reserved'. Pg.39, updated MB Sensor Registers description to better describe register functionality and to add figure. Pg.40, added 'Exceeded' to threshold bit descriptions. Pg.40-41, removed voltage/current references from sensor descriptions. Pg.44, removed US Core/Aux Voltage register offsets. Pg.46, updated MB Health Monitoring Registers offset tables. Pg.53, updated NVMRO pinout on P0 table (removed 'N/C').

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:

Application Notes

Calibration and Repairs

Call Us

(631) 567-1100

Help Bot

X