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 Dual Ethernet 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 68PPC2 3U OpenVPX Single Board Computer supports a variety of input and output capabilities, including analog and digital I/O, signal generation and acquisition, and communication interfaces. Powered by a NXP® PowerPC™ QorIQ® T2080 quad-core e6500 @ 1.8 GHz processor, the 68PPC2 provides a feature-rch, low power/low cost SBC solution for rugged military-aero, SWaP-constrained embedded applications.

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:

Automatically supports +3.3V-AUX OpenVPX bus

Power (Motherboard):

+VS3 (all) @ +5 VDC @ 4 A (typical), (5 A peak)

±12V-AUX @ ±12 V @ 0 mA (not required)

+3.3V_AUX @ <100 mA (typical)

RTC_STDBY must be +1.5 V – +5 V (3 V @ 5 uA typ.) (optional RTC standby)

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.74" meets at 0.8” pitch / 20.3 mm (4HP)

     Depth:

6.3“ / 160 mm deep, with connectors 6.717” / 170.6 mm

Weight:

11.6 oz. (329 g) unpopulated

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

add 2 oz. (57 g) for wedgelocks (conduction cooled)

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

68PPC2 OVERVIEW

The 68PPC2 is a 3U OpenVPX, low-power and high performance Single Board Computer (SBC). The 68PPC2 offers on-board I/O expansion through two (2) Generation-5 (GEN5) NAI smart I/O function modules. Powered by the NXP T2080 @ 1.5 GHz Power Architecture® processor, the 68PPC2 provides a balanced performance vs. power dissipation SBC solution, for today’s demanding, space constrained and resource limited embedded systems.

The 68PPC2 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 68PPC2 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 68PPC2 card provides high‐density front or 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 68PPC2 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. Front I/O is limited to Expansion Module I/O.NXP QorIQ® T2080 Quad Core e6500 Processor.

The 68PPC2 utilizes the T2080 Quad Core e6500 processor with the following capabilities (Note: all processor capabilities may not be user accessible features at the end item level).

  • Four e6500 cores sharing a 2MB L2 cache

  • 8GB of DDR3L 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

  • Four PCIe interfaces

    • 1x4 and 4x1 PCIe ports for VPX communication

    • 1x1 PCIe to Module interface 1

    • 1x1 PCIe to the Zynq to R/W to module registers

  • Two SATA 2.0 controllers

    • 32GB onboard ROM

    • SATA switch for external storage or storage through Module Slot-2 (factory configured).

  • Two high-speed USB 3.0 ports (Contact Factory)

  • I2C port to the VPX backplane

  • RS232 Serial debug port

  • On-board TTL Digital I/O

  • 256 MB NOR Flash

  • 64 Kb FRAM

I/O Modules

Two I/O module slots enable integrators to mix-n-match a variety I/O and communication functions. The 68PPC2 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 68PPC2 supports options for Power-On-Self-Test (POST) testing (memory, peripherals, etc.). The 68PPC2 also supports function modules with NAI’s flexible, leading-edge, fully programmable and continuous background built-in-test (BIT) enabled function. BIT tests both 68PPC2 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 a number of 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.x and HVP, DDC-I Deos

Contact NAI for availability of other operating systems.

Mechanicals

Heat Sink

CAUTION: The 68PPC2 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 68PPC2 becomes is inoperable, please return the unit to the factory for service.

68PPC2 Connector Interfaces

The 68PPC2 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).

68PPC2 img5

Figure 1. 68PPC2 Connectors

The 68PPC2 may also be provided in an air-cooled version with front panel I/O accessibility. Please refer to part numbering options and contact factory for available mechanical options.

68PPC2 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%

4 A typical

+12 V-AUX

±10%

*

-12 V-AUX

±10%

*

3.3 V-AUX

±10%

100 mA typical

RTC_STDBY

1.5 V to 5 V ±10%

5 µA @ 3 V Typical

*The 68PPC2 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.

68PPC2 OUTLINE DIMENSIONS

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

68PPC2 img2

68PPC2 ON BOARD RESOURCES

Memory

DDR3L SDRAM

The 68PPC2 provides a total of 8 GB of ECC DDR3L memory. This memory is organized as 8 1Gb x 8 MT41K1G8 devices (parts may vary), with a ninth device providing storage for ECC data. The T2080 has an on chip 64-bit DDR3 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 DDR3 device specific details.

NOR Flash

Connected through the local bus, the 68PPC2 supports 256 Mbytes of flash. The Flash consists of a single soldered in Micron® Flash device MT28FW02GBBA1HPC device. Flash is configured as a 16-bit wide device, using the 16-bit asynchronous data access interface. The 256 MB flash is divided into two logical banks, one standard bank and one for recovery. The FPGA Local Bus controls which bank is accessible by setting the top bits of the address seen by the flash. The NOR Flash has an erase capacity of 100,000 cycles per sector and typical data retention of 20 years.

Banks

  1. The first bank (bank 0) is reserved for a recovery boot-loader. If the second bank is not accessible the first bank stores a full image for recovery of the system.

  2. The second bank (bank 1) is reserved for the boot-loader. In the default configuration, the SBC will boot from this area. The customer can modify the boot-loader if they want to and flash it in this area.

FRAM

The FM25CL64B 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 68PPC2 FRAM 64K bits are organized as 8,192 x 8 bits random access memory, connected to the T2080 CPU through the SPI controller, SPI_CS [0].

SATA

The T2080 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 68PPC2 SATA port 2 is connected to an on board SATA 2 Solid

State Drive. SATA2 is connected to Module Slot 2 (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 T2080 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 external write protect signal HDW_WP. This signal is pinned out as rear I/O on connector P2. The HDW_WP signal must be switched to ground to enable any write to the SSD. The HDW_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 68PPC2 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 T2080 CPU is connected directly to a high-speed connector for Module Slot 2 or to an external storage device via a programmable switch. An optional SATA Flash drive is available for the 68PPC2; please consult the Factory for availability.

Peripheral I/O

Ethernet

The T2080 supports two 10/100/1000Base-TX or two 1000Base-KX Ethernet ports. The 68PPC2 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 68PPC2 supports two USB 3.0 ports. Contact factory for availability.

USB port 0 is available at the front of 68PPC2, 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 T2080 CPU contains three identical I2C controllers. The 68PPC2, I2C port 1 of the T2080 is connected to the die temperature monitor. I2C port 2 is connected to the real-time clock, and I2C port 3 is connected to the OpenVPX connector P2, and is available as rear I/O

T2080 CPU I2C port

Assignment

I2C addresses

Device

Port 1

Onboard Devices

0x08 & 0x70

Power Supply

0x4C

Temperature

0x50 & 0x51

EEPROM

0x57 & 6F

RTC

0x68

PCIe Switch

Port 2

Rear I/O

User Configurable

Port 3

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.

Temperature Sensor

The T2080 processor has two pins that are connected to a thermal body diode on the processors die. This diode allows for direct die temperature measurements. The ADT7461 I2C device is used to measure the change in forward bias voltage (VBE) of the body diode. The ADT7461and thermal body diode together allow for direct reading of the die temperature, to an accuracy of ±1°C.

Device:

On Semi, ADT7461ARMZ

I2C address:

0x4C

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 T2080 CPU has one SPI controller with four device select pins (SPI_CS [3:0]). SPI_CS [0] is attached to an FRAM. SPI_C [1,2,3] are unconnected.

Linux device drivers are available to access FRAM features.

T2080 CPU SPI CS

Assignment

Device

SPI_CS0

FRAM

FM25CL64

SPI_CS1

Not used

SPI_CS2

Not used

SPI_CS3

Not used

Serial Ports

The 68PPC2 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 68PPC2 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

Onboard TTL I/O is available as a configuration option (see pin-outs/P/N configuration).

TTL I/O Specifications

Note
The TTL I/O signals are non-isolated. All grounds are common and are connected to a single Digital Ground and power return.

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 @ 24 mA (sink)

Vout L (max): 0.55 V max @ 24 mA (sink)

Vout H (min): 2.4 V @ 24 mA (source)

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

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

REGISTER DESCRIPTIONS

The register descriptions provide the Register Name, Function Address Offset, Type, Data Range, Read or Write information, Initialized Value, a description of the function and, in most cases, a data table. Refer also to the FPGA Local Bus Register Map.

FPGA Local Bus Register Map

Base address of FPGA Local Bus = 0xFFDF 0000 Register address = Base 0xFFDF 0000 + Register Offset

Register Offset

Name

R/W

Default

0x00

SPARE

N/A

0x12

SPARE

N/A

0x02

SATA_MUX_SEL

R/W

1

0x04

BANK_SEL

R/W

0

0x06

FW_REV

R

REVISION

0x08

TTL_DIR

R/W

0x"00"

0x0A

TTL_LPBK

R

0x"00"

0x0C

TTL_DATA

R

0x"XX"

0x0C

TTL_DATA

R/W

0x"00"

0x0E

EN_PROC_RST

W

0

0x14

TTL_INT_EN

W

0x"00"

0x16

TTL_INT_DIR

W

0x"00"

0x18

TTL_INT_STAT

R/W

0x"00"

0x1A

TEMP_ALARM_OVD

W

0

0x1C

PWR_DWN_CMD

W

0x"0000"

0x1E

TEMP_INT_STAT

R/W

0

0x20

TEMP_INT_EN

W

0

0x20

TEMP_INT_EN

W

0

0x22

WDT_ENABLE_STATUS

R/W

0

0x24

WDT_TIME_1_SET

R/W

0

0x26

WDT_RESET

W

0

0x28

WDT_TIME_2_SET

R/W

0

0x2A

WDT_OUTPUT_BEHAVIOR

68PPC2 VxWorks Address Map

OFFSET (Byte)

Name

Size

Function/Notes

0x0000 0000

DDR3

2 GB

DDR3 SDRAM

0x7F40 0000

Reserved

8 MB

8 MB reserved memory for QMAN hardware

0x7FC0 0000

Reserved

4 MB

4 MB reserved memory for BMAN hardware

0x8000 0000

PCIe 1 prefetchable memory

64 MB

PCIe 1 prefetchable memory

*0x8400 0000

PCIe non-prefetchable memory

64 MB

PCIe non-prefetchable memory

0x8800 0000

PCIe 1 IO

64 MB

PCIe 1 I/O

0x8C00 0000

PCIe 1 IO 32

64 MB

PCIe 1 I/O 32

*0x9000 0000

PCIe 2 non-prefetchable memory

512 MB

PCIe 2 non-prefetchable memory

0xB000 0000

PCIe 3 prefetchable memory

64 MB

PCIe 3 prefetchable memory

*0xB400 0000

PCIe 3 non-prefetchable memory

128 MB

PCIe 3 non-prefetchable memory

0xBC00 0000

PCIe 3 I/O

32 MB

PCIe 3 I/O

*0xBE00 0000

PCIe 3 I/O 32

32 MB

PCIe 3 I/O 32

0xC000 0000

PCIe 4 prefetchable memory

64 MB

PCIe 4 prefetchable memory

*0xC400 0000

PCIe non-prefetchable memory

64 MB

PCIe non-prefetchable memory

0xC800 0000

PCIe 4 I/O

64 MB

PCIe 4 I/O

0xCC00 0000

PCIe 4 I/O 32

64 MB

PCIe 4 I/O 32

0xE000 0000

BMAN

32 MB

0xE200 0000

QMAN

32 MB

0xE400 0000

DCSR

4 MB

0xEA00 0000

FPGA Registers

4 KB

0xEE00 0000

CCSBAR

16 MB

0xF800 0000

Note
*Unassigned n/u

68PPC2 U-boot/Physical Address Map

OFFSET (Byte)

Name

Size

Function/Notes

0x0000'0000

DDR3

2GB

Main T2080 CPU Memory

0xE800 0000

NOR FLASH

128 MB

128 MB of NOR FLASH per bank

0xFFDF 0000

FPGA Registers

4 KB

FPGA Registers

0x8000 0000

PCIE 1 Mem

512 MB

*0xF800 0000

PCIe 1 I/O

64 KB

0xA000 0000

PCIe 2 Mem

256 MB

0xF801 0000

PCIe 2 I/O

64 KB

*0xB000 0000

PCIe 3 Mem

256 MB

0xF802 0000

PCIe 3 I/O

64 KB

*0xC000 0000

PCIe 4 Mem

256 MB

0xF803 0000

PCIe 4 I/O

64 KB

*0xF400 0000

BMAN

32 MB

0xF600 0000

QMAN

32 MB

*0xF000 0000

DCSR

4 MB

0xFE00 0000

CCSRBAR

16 MB

Note
*Unassigned n/u

Hardware Interrupts

The 68PPC2 uses eight external hardware interrupts. IRQ06, IRQ07, IRQ08, and IRQ09 are not available (n/a), these pins are used to support the USB ports. The T2080 hardware interrupts are assigned as indicated below.

T2080 CPU Hardware Interrupt

Assignment

Source

IRQ00

unused

Zynq

IRQ01

unused

Zynq

IRQ02

WDT

Zynq

IRQ03/GPIO1_23

Temperature warning

ADT7461 (Alert#)

IRQ04/GPIO1_24

RTC (real time clock)

MCP79410 (MFP)

IRQ05/GPIO1_25

Over Temp & TTL I/O

CLPD (temp-alarm) & TTL I/O

IRQ06/GPIO1_26

Ethernet PHY 1

88E1512

IRQ07/GPIO1_27

n/a

IRQ08/GPIO1_28

Ethernet PHY 2

88E1512

IRQ09/GPIO1_29

n/a

IRQ10/GPIO1_30

n/a

IRQ11/GPIO1_31

TMP

SLB9670XQ2

TTL Registers

Attached to the T2080 CPU via local bus is a portion of the FPGA. This logic provides miscellaneous “glue” functions and 4 programmable TTL I/O channels (TTL_CH [4: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 T2080 CPU.

The 68PPC2 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 [4:1] signals are pinned out as rear I/O on connector P2. As a factory option, the four TTL_CH 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 per TTL channel.

Function Address Offset(s): 0x08

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0x02

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

Table 1. TTL Direction

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

X

X

X

X

X

Ch.4

Ch.3

Ch.2

Ch.1

Channel

0

0

0

0

0

D

D

D

D

D=DATA BIT

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 per TTL channel.

Function Address Offset(s): 0x0C

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0x00

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

When TTL_DIR register has channel configured as an output (1): Write 0 for Low output; write 1 for High output.

When TTL_DIR register has channel configured as an input (0): Read corresponding bit for the state of the TTL input.

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 Loop Back register.
Table 2. TTL Data

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

X

X

X

X

X

Ch.4

Ch.3

Ch.2

Ch.1

Channel

0

0

0

0

0

D

D

D

D

D=DATA BIT

TTL Loop Back

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

Function Address Offset(s): 0x0A

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 3. TTL Loop Back

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

X

X

X

X

X

Ch.4

Ch.3

Ch.2

Ch.1

Channel

0

0

0

0

0

D

D

D

D

D=DATA BIT

TTL IRQ Enable

Function: To configure a channel as an interrupt, its corresponding TTL_DIR register bit must be set for inputs (0). Setting the channel’s bit in this register selects the channel to be enabled for interrupt. Bitmapped per TTL channel.

When generated, the interrupt will be invoked on T2080 IRQ05 (see Hardware Interrupts section).

Function Address Offset(s): 0x14

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 4. TTL IRQ Enable

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

X

X

X

X

X

Ch.4

Ch.3

Ch.2

Ch.1

Channel

0

0

0

0

0

D

D

D

D

D=DATA BIT

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. Bitmapped per TTL channel.

Sense on edge setting: Generates interrupt on a rising edge.

Sense on level setting: Generates interrupt when input is at a high level.

Function Address Offset(s): 0x16

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0x00

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

Table 5. TTL IRQ Polarity

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

X

X

X

X

X

Ch.4

Ch.3

Ch.2

Ch.1

Channel

0

0

0

0

0

D

D

D

D

D=DATA BIT

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 per TTL channel.

Function Address Offset(s): 0x18

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 6. TTL IRQ Status

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

X

X

X

X

X

Ch.4

Ch.3

Ch.2

Ch.1

Channel

0

0

0

0

0

D

D

D

D

D=DATA BIT

Temperature Sensing

Temperature Alarm Override Select

Function: Overrides temperature alarm auto shutdown.

Function Address Offset(s): 0x1A

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0x0000

Operational Settings: Write a 1 to override the temperature alarm automatic shutdown. Default value = 0.

Table 7. Temperature Alarm Override Select D: [1 = Temperature Alarm Shutdown Disabled; 0 = Temperature Alarm Shutdown Enabled]

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

0

0

0

0

0

D

D=DATA BIT

Temperature Alarm Interrupt Status Select

Function: Clears latched temperature alarm status.

Function Address Offset(s): 0x1E

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0x0000

Operational Settings: Bit is set to a 1 if temperature alarm interrupt occurs. Write a 1 to clear the interrupt status. Default value = 0.

Table 8. Temperature Alarm Override Select D: [1 = Clear Interrupts; 0 = Default]

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

0

0

0

0

0

D

D=DATA BIT

Temperature Alarm Interrupt Enable

Function: Enables temperature alarm interrupt.

Function Address Offset(s): 0x20

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0x0000

Operational Settings: Write a 1 to enable the temperature alarm interrupt. Default value = 0.

Table 9. Temperature Alarm Override Select D: [1 = Enable Interrupts; 0 = Default]

D15-D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

0

0

0

0

0

D

D=DATA BIT

Power Shutdown

Power Down Command

Function: Shuts down power to the board.

Function Address Offset(s): 0x1C

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0x000

Operational Settings: Write the proper sequence of words “0xDEAD” followed by "0xC0DE" to initiate a power shutdown.

Table 10. Power Down Command

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D=DATA BIT

Bank Select

Function: Selects the Bank to boot from.

Function Address Offset(s): 0x04

Type: binary word (16-bit)

*Read/Write: *R/W

Initialized Value: 0

Operational Settings: The T2080 will boot from the first bank (bank 0) if the NOR Flash jumper is not installed, and the external NVMRO signal is left floating. If the NOR Flash jumper is installed, or if NVMRO is grounded then the T2080 will boot from the second bank (bank 1). After boot, writing a 0 to this register will switch to the first bank (bank 0). You cannot write 1 to this register to return to the second bank (bank 1).

Note
For NOR location refer to Appendix B: Jumpers.

Please view the flowchart for an overview of the motherboard boot operation.

68PPC2 img3
Table 11. Bank Select

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

D

D=DATA BIT

Processor Restart Enable

Function: Selects whether the Processor can restart the board.

Function Address Offset(s): 0x0E

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0

Operational Settings: Write a 1 to this register to enable processor restarts. If the Reset jumper is installed a reset cannot occur. Please view this flowchart to see how the setting of this register affects the operation of the board.

Note
For RESET location, refer to Appendix B: Jumpers
68PPC2 img4
Table 12. Processor Restart Enable

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

D

D=DATA BIT

SATA Location Select

Function: Selects whether to use external SATA storage through the backplane or module two SATA storage.

Function Address Offset(s): 0x02

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0

Operational Settings: Write a 0 to this register to use module two SATA storage. Write a 1 to use external SATA storage through the backplane.

Table 13. SATA Location Select

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

D

D=DATA BIT

Watchdog Timer

For Watchdog Timer register definitions, see Appendix C.

68PPC2 SOFTWARE LIBRARIES / ASSOCIATED DOCUMENTS

68PPC2 BSP Processor Module Library

The 68PPC2 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

NAI Documents

*Programmer’s Reference Guide for NAI 68PPC2 Single Board Computer (TBD)

*68PPC2 Ethernet Download (TBD)

*68PPC2 USB Download (TBD)

*Standalone documents “pending/TBD”; currently, all reference documentation required are embedded within the specific OS 68PPC2 BSP/Support documentation (i.e. BSPx.x.x \ layers \ nai_bsp \ templates \ board \ nai68PPC2 \ (README) files (where x.x.x is the BSP version/revision available).

Processor

T2080 QorIQ Integrated Processor Hardware Specifications

T2080 QorIQ Integrated Multicore Communication Processor Family Reference Manual

e500mc Core Reference Manual

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

68PPC2

0x6884

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.

68PPC2 2modules addressing

Figure 1. Register Memory Map Addressing for Motherboards with 2 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 base register address offset.

Motherboard Address =

Base Address + Motherboard Address Offset

= 0x0000 0400

0x0000 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

= 0x0000 5000

0x0000 0000

0x4000

0x1000

MOTHERBOARD COMMON REGISTER DESCRIPTIONS

Module Information Registers

The Module Slot Addressing Ready, Module Slot Address, Module Slot Size and Module Slot ID registers 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 14. 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)

PPC

0x0043 5050

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

68PPC2

2

NXP QorIQ T2080 Quad-Core e6500 Processor

Xilinx Zynq 7015

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

Table 15. 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

68PPC2

2

Xilinx X2 = 3

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

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 17. 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 18. Motherboard Firmware Build Time (Note: little-endian order in register)

Word 1 - Build Date (ex. 0x030C 07E2 = 2018-12-03)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Day (ex: 0x03 = 3)

Month (ex: 0x0C = 12)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Year (ex: 0x07E2 = 2018)

Word 2 - Build Time (ex. 0x001B 3B0A = 10:59:27)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

null (0x00)

Seconds (ex: 0x1B = 27)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

Minutes (ex: 0x3B = 59)

Hours (ex: 0x0A = 10)

Motherboard Monitoring Registers

The registers in this provide motherboard temperature measurement information.

Motherboard Software Initialization Status

Function: Indicates the status of the motherboard software (MBCore) initialization.

Type: unsigned binary word (32-bit)

Data Range: 0 to 1

Read/Write: R

Initialized Value: 0

Operational Settings: Indicates whether the motherboard software initialization has not occurred (0) or has been completed (1). Any other value will indicate an error code.

Note
This register will be available beginning with MBCore version 4.129 and OpBM version 4.503.

Temperature Readings Register

The temperature registers provide the current, maximum (from power-up) and minimum (from power-up) for the processor and PCB for Zynq 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 0x6955 0000:

Example:

Table 19. Word 3 (Max Zynq Temperatures)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Max Zynq Core Temperature

Max Zynq 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)

Max Zynq Core Temperature

D31:D24

0x69

+105°

Max Zynq PCB Temperature

D23:D16

0x55

+85°

Temperature Readings

Table 20. Word 1 (Current Zynq Temperatures)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Zynq Core Temperature

Zynq 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 Zynq Temperatures)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Max Zynq Core Temp

Max Zynq PCB Temp

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 Zynq Temperatures)

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

D21

D20

D19

D18

D17

D16

Min Zynq Core Temperature

Min Zynq 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

0

Higher Precision Temperature Readings Register

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

Higher Precision Zynq Core Temperature

Function: Specifies the Higher Precision Measured Zynq Core temperature on Interface 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 Zynq Core temperature on Interface 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 Zynq Core Temperature = 43.625° Celsius, and value 0xFFF6 0177 represents -10.375° Celsius.

Table 26. Higher Precision Zynq 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

Zynq 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

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.

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

Module Control Command Registers

Function: Provides the ability to command individual Modules to Reset, Power-down, or Power-up.

Type: unsigned binary word (32-bit)

Data Range: 0x0000 0000 to 0xFFFF FFFF

Read/Write: R/W

Operational Settings: The Module Control Commands registers provide the ability to request individual Modules to perform one of the following functions – Reset, Power-down, Power-up. Only one command can be requested at a time per Module. For example, one can’t request a Reset and a Power-down at the same time for the same Module. Once the command is recognized and handled, the bit will be cleared.

Note
Clearing of the command request bit only indicates the command has been recognized and initiated, it does not indicate that the command action has been completed.

There is one Control Command Request register per Module. Each register is Bit-mapped as shown in the table below:

Table 30. Module Command Requests

Bit(s)

Description

D31:D3

Reserved

D2

Module Power-up

D1

Module Power-down

D0

Module Reset

Modules Health Monitoring Registers

Module Communications Status

Function: Provides the ability to monitor factors may effect communication status of a Module.

Type: unsigned binary word (32-bit)

Data Range: 0x0000 0000 to 0xFFFF FFFF

Read/Write: R

Operational Settings: The Module Communications registers provide the ability to monitor factors that may effect the Communications Status of individual Modules. There is one register per Module. Each communication factor is bit mapped to the register as shown in the table below:

Table 31. Module Communications Status

Bit(s)

Description

D31:D5

Reserved

D4

Module Communications Error Detected

D3

Module Firmware Not Ready

D2

Module LinkInit Not Done

D1

Module Not Detected

D0

Module Powered-down

Module Powered-down: The user can request an individual Module be powered-down (see Module Control Command Requests). Once the request is detected and acted upon, this bit will be set. Once powered-down, you will not be able to communicate with the Module.

Module Not Detected: If a Module in this slot has not been detected, you will not be able to communicate with the Module.

Module LinkInit Not Done: Module communications is accomplished via SERDES. LinkInit is required to establish a connection to the Module. If the LinkInit has not been successfully completed, you will not be able to communicate with the Module.

Module Firmware Not Ready: Each Module has Firmware that is ready from Module QSPI and loaded for execution. If this Firmware was not loaded and started successfully, you may not be able to communicate with the Module.

Module Communications Error Detected: If at some point during run-time, communications with the Module has failed, this bit will be set.

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 in any bit field indicates BIT failure for the Module in that slot.

Table 32. Module BIT Status

Bit(s)

Description

D31:D19

Reserved

D18

Module Slot 2 BIT Failure (current value)

D17

Module Slot 1 BIT Failure (current value)

D16

Reserved

D15:D3

Reserved

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

0x0430

Module Slot 1 Size

R

0x0434

Module Slot 2 Size

R

0x0460

Module Slot 1 ID

R

0x0464

Module Slot 2 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

Motherboard Firmware Information Registers

Motherboard Core Information

0x0100

MBCore Major/Minor Version

R

0x0104

MBCore Minor 2/3 Version

R

0x0108

MBCore Build Date

R

Motherboard Monitoring Registers

0x0124

MB SW Init Status

R

Temperature Readings

0x0200

Current Zynq Temperatures

R

0x0204

Reserved

R

0x0208

Max Zynq Temperatures

R

0x020C

Reserved

R

0x0210

Min Zynq Temperatures

R

0x0214

Reserved

R

Higher Precision Temperature Readings

0x0230

Current Zynq Core Temperature

R

0x0234

Current Motherboard PCB Temperature

R

Motherboard Health Monitoring Registers

0x20F8

Motherboard Sensor Summary Status

R

health

Interrupt Vector and Steering

0x0500 - 0x057C

Module 1 Interrupt Vector 1 - 32

R/W

0x0600 - 0x067C

Module 1 Interrupt Steering 1 - 32

R/W

0x0700 - 0x077C

Module 2 Interrupt Vector 1 - 32

R/W

0x0800 - 0x087C

Module 2 Interrupt Steering 1 - 32

R/W

Module Control Command Requests

0x01D8

Module Slot 1 Command Request

R/W

0x01DC

Module Slot 2 Command Request

R/W

Modules Health Monitoring Registers

Module Communications Status

0x01B8

Module Slot 1 Communications Status

R

0x01BC

Module Slot 2 Communications Status

R

Module BIT Status

0x0128

Module BIT Status (current and latched)

R

Scratchpad Area

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

The default IP address:

192.168.1.16

192.168.2.16

The default subnet:

255.255.255.0

255.255.255.0

The default gateway:

192.168.1.1

192.168.2.1

Note
Actual "as shipped" card Ethernet default IP addresses may vary based upon final ATP configuration(s).) Ethernet Port IP addresses may be field re-flashed to new default programmed addressed via use of the “IP Configuring for Ethernet Supported Boards” FLASH software support kit, available/documented from the specific product web page.

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-

68PPC2 CONNECTOR/PIN-OUT INFORMATION

Front and Rear Panel Connectors

The 68PPC2 3U OpenVPX SBC & multifunction I/O board is available in two configurations: convection or conduction-cooled. The 6PPC2 follows the OpenVPX “Payload Slot Profile” configured as:

Slot profile:

SLT3-PAY-2F2T-14.2.3

Module profile:

MOD3-PAY-2F2T-16.2.3-3

User I/O is available through the (J3, J4) front panel connectors when card is configured with front panel I/O and through the OpenVPX user defined rear I/O connectors P1, P2 (see part number and pin-out information).

68PPC2 Connector Notes

Front and Rear Panel Connectors J3, J4 (Convection-Cooled)

44-pin male connectors, 2mm, Harwin P/N M80-5114422.

Mate kit: "Custom Hood Kit" part # M80C108448C (or equivalent); Includes connector, backshell, pins & jackscrews. This mating connector kit may be purchased separately as NAI P/N 05-0119 (contact factory).

Connectors P0, P1, P2

P0 - OpenVPX and Bus Controller interface only / 2mm 5x22 w/key, standard OpenVPX (AMP 352068-1 or equivalent).

P1 - Bus Controller and configured I/O / 2mm 5x22 wo/key, standard OpenVPX (AMP 5352152-1 or equivalent). See mod slot pin-out.

P2 - Configured I/O / 2mm 5x22 wo/key, standard OpenVPX (AMP 5352152-1 or equivalent). See mod slot pin-out.

Utility Connector J5

Industry standard mini-HDMI (Type C receptacle).

Panel LEDs

Front Panel LEDs indications (only available on air-cooled units).

LED

ILLUMINATED

EXTINGUISHED

GRN:

Blinking: Initializing

Steady On: Power-On / Ready

Power off

RED:

Module BIT error

No BIT fault

YEL: (flash)

Card access (bus or Gig-E activity)

No card activity

Front Panel System (Power/Signal) Ground Reference

Front Panel: J3, J4 pin 23.

Front Panel Chassis Ground

Front Panel: J3, J4 pin 1 and screw insert(s).

Front I/O Utility Connector J5

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

  • USB (port1)

  • Serial (port 1) (console/debug)

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

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

Front J5

Standard Configuration

Option

J5-01

N/C

N/C

J5-02

N/C

ETH1-TP0+

J5-03

N/C

ETH1-TP0-

J5-04

N/C

N/C

J5-05

N/C

ETH1-TP1+

J5-06

N/C

ETH1-TP1-

J5-07

N/C

N/C

J5-08

N/C

ETH1-TP2+

J5-09

N/C

ETH1-TP2-

J5-10

N/C

N/C

J5-11

N/C

ETH1-TP3+

J5-12

N/C

ETH1-TP3-

J5-13

GND

GND

J5-14

USB1+5V

USB1+5V

J5-15

USB1-DP

USB1-DP

J5-16

USB1-DN

USB1-DN

J5-17

SER1-RXD

SER1-RXD

J5-18

SER1-TXD

SER1-TXD

J5-19

GND

GND

68PPC2 img8

Signal Descriptions J5

Signal Name

Description

ETH1-TPx

Ethernet port 1 signals (4 pair) 10/100/1000 twisted pair signals (Optional)

USB1-DP

USB port 1 differential Data

USB1-DN

USB port 1 differential Data -

USB1+5V

USB port 1 + 5 V output power, Current limited to 500mA.

SER1-TXD

Asynchronous transmit serial data port 1 (out)

SER1-RXD

Asynchronous received serial data port 1 (in)

GND

Digital Ground and power (5, +12, -12) return

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

The 68G5 3U OpenVPX multifunction I/O board provides interface via the rear VPX connectors.

Rear I/O Summary

P0 - Utility plane. Contains the following signal definitions:

Power

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

Geographical Address Pins

GA0# - GA4#, GAP#

Card reset

SYSRST# signal

VPX AUX/REF CLK/IPMB

(as/if applicable)

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

High Speed Switched Fabric Interface

Root-complex ultra-thin pipes; four (4) PCIe GEN 2.0(x1) ports.

Ethernet

Dual Gig-E port option(s) are available and defined

(See Part Number Designation section)

P2 - User defined I/O (primary)

68PPC2 VPX

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 and a parallel SYSRST# signal. Signals defined as N/C currently have no functionality associated and is not required for general operation.

68PPC2 P0pinouts
68PPC2 P0layout

Rear I/O Data/Control Planes (P1)

The 68PPC2 is a root-complex SBC with four (4) PCIe ver. 2.0 x1 high-speed serial interface fabric bus lanes. As defined in the OpenVPX payload slot specifications, the 68PPC2 provides two ‘fat pipes’ (one Tx and one Rx differential pair), which provides additional user I/O definition opportunity. Additionally, the 68PPC2 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.

68PPC2 P1layout
68PPC2 P1pinouts

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 68PPC2 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.

68PPC2 P2layout
68PPC2 P2pinouts

Front Panel (J3/J4) Connectors Layout

Each connector provides 44 pins of I/O.

Note
Front panel I/O only available on air-cooled versions (verify part numbering, contact factory)
68PPC2 img6

Front (J3/J4) & Rear (P2) User I/O Mapping (Global)

Front/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

Module Signal (Ref Only)

Front I/O (J3)

Rear I/O (J2)

Global (MB)

Front I/O (J4)

Rear I/O (J2)

Global (MB)

DATIO1

J3-2

D9

J4-2

B10

DATIO2

J3-24

E9

J4-24

C10

DATIO3

J3-3

A9

J4-3

E10

DATIO4

J3-25

B9

J4-25

F10

DATIO5

J3-5

E8

J4-5

A11

DATIO6

J3-27

F8

J4-27

B11

DATIO7

J3-7

B8

J4-7

D11

DATIO8

J3-29

C8

J4-29

E11

DATIO9

J3-8

D7

J4-8

B12

DATIO10

J3-30

E7

J4-30

C12

DATIO11

J3-10

A7

J4-10

E12

DATIO12

J3-32

B7

J4-32

F12

DATIO13

J3-12

E6

J4-12

A13

DATIO14

J3-34

F6

J4-34

B13

DATIO15

J3-13

B6

J4-13

D13

DATIO16

J3-35

C6

J4-35

E13

DATIO17

J3-15

D5

J4-15

B14

DATIO18

J3-37

E5

J4-37

C14

DATIO19

J3-17

A5

J4-17

E14

DATIO20

J3-39

B5

J4-39

F14

DATIO21

J3-18

E4

J4-18

A15

DATIO22

J3-40

F4

J4-40

B15

DATIO23

J3-20

B4

J4-20

D15

DATIO24

J3-42

C4

J4-42

E15

DATIO25

J3-4

33

J4-4

B16

DATIO26

J3-26

E3

J4-26

C16

DATIO27

J3-9

A3

J4-9

E16

DATIO28

J3-31

B3

J4-31

F16

DATIO29

J3-14

E2

J4-14

G15

DATIO30

J3-36

F2

J4-36

G13

DATIO31

J3-19

B2

J4-19

G11

DATIO32

J3-41

C2

J4-41

G9

DATIO33

J3-6

J4-6

G7*

DATIO34

J3-28

J4-28

G5*

DATIO35

J3-11

J4-11

G3*

DATIO36

J3-33

J4-33

G1*

DATIO37

J3-16

J4-16

DATIO38

J3-38

J4-38

DATIO39

J3-21

J4-21

DATIO40

J3-43

J4-43

J3-1

SYS GND

J4-1

SYS GND

J3-23

CHASSIS

J4-23

CHASSIS

J3-22, 44

N/C

J4-22, 44

N/C

Notes:

Gx*

Available when Module 2 special option (DATIO 33-36) selected (see part number designation)

Ethernet (Rear I/O)

Commercial Equivalent RJ45-type Ethernet cabling/wiring (for reference only):

RM1 img17

Connector Signal/Pin-Out Notes

NAI Synchro/Resolver Naming Convention

Signal

Resolver

Synchro

S1

SIN(-)

X

S2

COS(+)

Z

S3

SIN(+)

Y

S4

COS(-)

No connect

Additional Pin-Out 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.

68PPC2 PART NUMBER DESIGNATION

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

APPENDIX A: 68PPC2 BOOT INSTRUCTIONS (NEED FOR 68PPC2)

VxWorks Boot ROM

Sample VxWorks system boot - console print:

(items highlighted in red indicate user intervention for re-directing boot parameters)

boot device : memac

unit number : 2

processor number : 0

host name : host

file name : C:\WindRiver\workspace\68ppc2\default\vxWorks

inet on ethernet (e) : 192.168.1.22:ffffff00

host inet (h) : 192.168.1.5

user (u) : winner

ftp password (pw) : winner

flags (f) : 0x8

target name (tn) :

other (o) : memac2

Loading... 2241716 + 300 + 644 + 440584

Starting at 0x100000…​

Adding 8355 symbols for standalone.

]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
  ]]]]]]]]]]] ]]]]   ]]]]]]]]]]    ]]       ]]]]     (R)
]   ]]]]]]]]] ]]]]]]   ]]]]]]]]    ]]        ]]]]
]]   ]]]]]]] ]]]]]]]]   ]]]]]] ]   ]]        ]]]]
]]]   ]]]]] ]  ]]] ]   ]]]] ]]]  ]]]]]]]]] ]]]] ]] ]]]] ]]  ]]]]]
]]]]   ]]] ]]  ] ]]]   ]] ]]]]] ]]]]]]  ]] ]]]]]]] ]]]] ]]  ]]]]
]]]]]   ] ]]]]   ]]]]]   ]]]]]]]] ]]]]  ]] ]]]]  ]]]]]]]  ]]]]
]]]]]]   ]]]]]   ]]]]]]  ] ]]]]] ]]]]  ]] ]]]]  ]]]]]]]]  ]]]]
]]]]]]]  ]]]]] ]  ]]]]]] ]  ]]]  ]]]]  ]] ]]]]  ]]]] ]]]]  ]]]]
]]]]]]]] ]]]]] ]]]  ]]]]]]]   ]   ]]]]]]] ]]]]  ]]]] ]]]] ]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]    Development System
]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]    VxWorks 6.9
]]]]]]]]]]]]]]]]]]]]]]]]]]    KERNEL: WIND version 2.13
]]]]]]]]]]]]]]]]]]]]]]]]]    Copyright Wind River Systems, Inc., 1984-2018

CPU: NAI 68PPC2 Freescale QorIQ T2080

Runtime Name: VxWorks

Runtime Version: 6.9

BSP version: 6.9/0

Created: Aug 14 2018 10:41:19

ED&R Policy Mode: Deployed

WDB Comm Type: WDB_COMM_END

WDB: Ready.

 -> Instantiating /ata0:0 as rawFs, device = 0x10001
dosFsVolFormat "/ata0:0",0x20
Formatting /ata0:0 for DOSFS
Instantiating /ata0:0 as rawFs, device = 0x10001
Formatting...Retrieved old volume params with %38 confidence:
Volume Parameters: FAT type: FAT32, sectors per cluster 0
 0 FAT copies, 0 clusters, 0 sectors per FAT
 Sectors reserved 0, hidden 0, FAT sectors 0
 Root dir entries 0, sysId (null) , serial number 41e0000
 Label:"      " ...
Disk with 15465744 sectors of 512 bytes will be formatted with:
Volume Parameters: FAT type: FAT32, sectors per cluster 8
 2 FAT copies, 1929438 clusters, 15104 sectors per FAT
 Sectors reserved 32, hidden 63, FAT sectors 30208
 Root dir entries 0, sysId VX5DOS32, serial number 41e0000
 Label:"      " ...
OK.
value = 0 = 0x0
-> copy "nai75sbc4/vxWorks","/ata0:0/vxWorks"
value = 0 = 0x0
-> Target Name: vxTarget

Press any key to stop auto-boot…​

7

[VxWorks Boot]: c

'.' = clear field; '-' = go to previous field; ^D = quit

boot device : dtsec3 fs

processor number : 0

host name : apexlab42

file name : c:/tftp32/NAI75sbc4/vxworks /ata0:0/vxWorks

inet on ethernet (e) : 10.0.8.181:FF000000

inet on backplane (b):

host inet (h) : 10.0.1.239

gateway inet (g) :

user (u) : winner

ftp password (pw) (blank = use rsh): winner

flags (f) : 0x0

target name (tn) :

startup script (s) :

other (o) : dtsec3

[VxWorks Boot]: @

boot device : fs

unit number : 0

processor number : 0

host name : apexlab42

file name : /ata0:0/vxWorks

inet on ethernet (e) : 10.0.8.181:FF000000

host inet (h) : 10.0.1.239

user (u) : winner

ftp password (pw) : winner

flags (f) : 0x0

other (o) : dtsec3

Loading /ata0:0/vxWorks…​1847668 + 300 + 604 + 4657956

Starting at 0x100000…​

Target Name: vxTarget

Adding 6433 symbols for standalone.

]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
  ]]]]]]]]]]] ]]]]   ]]]]]]]]]]    ]]       ]]]]     (R)
]   ]]]]]]]]] ]]]]]]   ]]]]]]]]    ]]        ]]]]
]]   ]]]]]]] ]]]]]]]]   ]]]]]] ]   ]]        ]]]]
]]]   ]]]]] ]  ]]] ]   ]]]] ]]]  ]]]]]]]]] ]]]] ]] ]]]] ]]  ]]]]]
]]]]   ]]] ]]  ] ]]]   ]] ]]]]] ]]]]]]  ]] ]]]]]]] ]]]] ]]  ]]]]
]]]]]   ] ]]]]   ]]]]]   ]]]]]]]] ]]]]  ]] ]]]]  ]]]]]]]  ]]]]
]]]]]]   ]]]]]   ]]]]]]  ] ]]]]] ]]]]  ]] ]]]]  ]]]]]]]]  ]]]]
]]]]]]]  ]]]]] ]  ]]]]]] ]  ]]]  ]]]]  ]] ]]]]  ]]]] ]]]]  ]]]]
]]]]]]]] ]]]]] ]]]  ]]]]]]]   ]   ]]]]]]] ]]]]  ]]]] ]]]] ]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]    Development System
]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]    VxWorks 6.9
]]]]]]]]]]]]]]]]]]]]]]]]]]    KERNEL: WIND version 2.13
]]]]]]]]]]]]]]]]]]]]]]]]]    Copyright Wind River Systems, Inc., 1984-2013
CPU: NXP QorIQ® T2080 Quad Core e6500 Processor. Processor #0.
Memory Size: 0x7fd00000 (2045Mb). BSP version V_01_01/00.
Created: Jan 10 2014, 14:14:49
ED&R Policy Mode: Deployed
WDB Comm Type: WDB_COMM_END
WDB: Ready.

APPENDIX B: JUMPERS

The 68PPC2 contains two jumpers that affect normal board operations.

The NOR Flash jumper dictates what bank the 68PPC2 can boot from on start up. When this jumper is installed the board will always attempt to boot from Bank 1 even if the setting in the Select Bank register is set for Bank 0. If the jumper is removed, then other signals and registers determine the boot bank. Refer to the Bank Select section for details.

The Reset Jumper determines if the processor can issue a board reset. While the Reset Jumper is installed, if the processor issues a reset request the board will continue normal operation. Attempting to program the FPGA or T2080 over JTAG while the reset jumper is not installed will cause the program to fail and the board to reset. After programming concludes, the board must be power cycled by the user.

68PPC2 Jumpers

APPENDIX C: FPGA WATCHDOG TIMER IMPLEMENTATION

This section provides background and details regarding the implementation of an FPGA watchdog timer (WDT) on the 68PPC2 processor card.

Watchdog Timer Principle of Operation

The Watchdog timer (WDT) is implemented within the Zynq as a two-counter operation. The primary counter controls the WDT timeout as set by the user. The secondary counter triggers the expiry behavior actions. Since possible expiry actions include processor reset and shutdown, it is necessary to allow time between WDT trip and action(s) taken. This time is used to give the Zynq ARM time to write to FRAM to log the WDT trip. This time is currently set to 20 mSec.

The watchdog functionality generally performs these operations:

  • The WDT is configured and then enabled to run.

  • Periodically, at an interval shorter than the WDT timeout, the target application resets the timer so that it does not expire. This is known colloquially as either “petting the dog” or “kicking the dog”.

  • If the timer is not reset before it expires the designated watchdog trip actions are performed. A detailed description follows in the following paragraphs.

The NAI Software Support Kit (SSK) provides an API which accesses and controls the functions described below.

An overview of the WDT basic operations sample program is provided, along with the underlying register descriptions.

Watchdog Configuration

To Configure the watchdog timer for operation the user must supply two parameters: the duration for WDT expiration and the designated actions to take when the watchdog is tripped.

Watchdog Expiration Interval The target application can set this interval within the range of 655 uSec to 21.462385 Sec, with a resolution of 655 uSec. The max interval represents a count of 32767 times the 655 uSec resolution. This is accomplished by writing the countdown value to the Watchdog Time 1 Set register.

Note
Although the Watchdog time Set register is 16 bits, the WDT Library API limits the WDT trip time to less than the maximum register amount possible. This allows time for ARM processor overhead tasks to complete (eg. FRAM write) before the WDT2 counter expires. At that time, the specified output behavior actions are triggered. This overhead time is configurable but is currently set by the API to 20 mSec.

Watchdog Output Behavior (Trip) Actions

One or more of the desired trip actions can be enabled by setting the appropriate bit(s) in the Watchdog Output Behavior register. The possible trip actions are as follows:

Board Shutdown

Shuts down power to the 68PPC2 Board

PPC Reset

A hardware reset is performed on the T2080 processor

Backplane Reset

A VPX reset via PCIe backplane is issued to all other cards

PPC Interrupt

An interrupt is sent to the T2080 on IRQ02

Note
The PPC Interrupt option is not currently compatible with DDC-I Deos

Watchdog Operation Control

The following control functions are currently available. Each function is commanded by setting the appropriate values to a specified register during run time.

Enable or Disable Watchdog Timer

The WDT is enabled by writing the Watchdog Enable register with data = 0x01.

The WDT is disabled by writing the Watchdog Enable register with data = 0x00.

Reset Watchdog Timer Countdown

The WDT timer counters are reset to their full configured interval by writing the Watchdog Reset register with data = 0x01. Following reset, countdown continues normally.

Watchdog Event Logging

Regardless of any Trip Actions taken, the expiration of the WDT is logged to FRAM (permanent storage on the motherboard). Upon power-up, the host processor can determine if the last reset (possibly due to power down) was caused by a WDT event. This is the primary reason for the dual-counter implementation (to ensure that there is enough time to complete the FRAM write before possible shutdown or reset).

When WDT expiry occurs, an interrupt is issued to the on-chip ARM processor. When the ARM detects the expiry, it writes a 1 to offset 0x794 in platform FRAM.

When the WDT is disabled, then enabled again - the ARM writes a 0 to the same offset to clear the log event.

Watchdog Active Monitoring

As all WDT registers except for the Reset Register can be read during runtime, an active monitor can be created if desired. This could be achieved by monitoring the counter (Watchdog Time Set 1 register) and the counter expiry status (Watchdog Enable/Status register).

Note
This function is not provided in the WDT sample application.

Watchdog Timer Register Definitions

The register descriptions provide the Register Name, Function Address Offset, Type, Data Range, Read or Write information, Initialized Value, a description of the function and, in most cases, a data table. To resolve the absolute address of a particular register:

      Base address of FPGA Local Bus = 0xFFDF 0000

      Register address = Base 0xFFDF 0000 + Register Offset

Watchdog Enable/Status

Function: Enables or disables both hardware Watchdog Timers. Provides current enable status and expiry state for both WDTs.

Function Address Offset(s): 0x22

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0

Operational Settings: Write a 0 to this register to disable the Watchdog Timer. Write a 1 to enable the Watchdog Timer. Read register for WDT enable and expiry status.

Table 33. Watchdog Enable/Status

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

0

0

0

0

0

0

0

0

0

D

D

0

D

D=DATA BIT

D3:

WDT1 Status (1 = WDT1 expired; 0 = not expired)

D2:

WDT2 Status (1 = WDT1 expired; 0 = not expired)

D0:

WDT Enable (1 = enable both WDT1 and WDT2; 0 = disable both WDT1 and WDT2)

Watchdog Time 1 Set

Function: Set the duration of the hardware Watchdog Timer 1 (WDT1) in “counts”. (655uS per count)

Function Address Offset(s): 0x24

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0

Operational Settings: Write a 16-bit value to this register to set the “count” for WDT1.

Table 34. Watchdog Time 1

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D=DATA BIT

D15:D0

16-bit word containing WDT1 count setting

Watchdog Reset

Function: Resets the hardware Watchdog elapsed time for both WDT1 and WDT2.

Function Address Offset(s): 0x26

Type: binary word (16-bit)

Read/Write: Write Only

Initialized Value: 0

Operational Settings: Write a 1 to this register to reset the Watchdog elapsed time. This will “pet” the watchdog.

Table 35. Watchdog Reset

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

D

D=DATA BIT

D0

1 resets WDT1 and WDT2 counters

Watchdog Time 2 Set

Function: Set the duration of the hardware Watchdog Timer 2 (WDT2) in “counts”. (655uS per count)

Function Address Offset(s): 0x28

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0

Operational Settings: Write a 16-bit value to this register to set the “count” for WDT2.

Table 36. Watchdog Time 2

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D=DATA BIT

D15:D0

16-bit word containing WDT2 count setting

Watchdog Output Behavior

Function: Specifies the desired hardware behavior (actions taken) when either WDT1 or WDT2 count expires.

Function Address Offset(s): 0x2A

Type: binary word (16-bit)

Read/Write: R/W

Initialized Value: 0

Operational Settings: Write a 1 to a behavior data bit to enable the action. Write 0 to the bit to disable it.

Table 37. Watchdog Output Behavior

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

FUNCTION

0

0

0

D

D

D

D

D

0

0

0

D

D

D

D

D

D=DATA BIT

D12

WDT2-Shutdown

D11

WDT2-PPC Reset

D10

WDT2-Backplane Reset

D9

WDT2-PPC Interrupt

D8

WDT2-FPGA Interrupt

D4

WDT1-Shutdown

D3

WDT1-PPC Reset

D2

WDT1-Backplane Reset

D1

WDT1-PPC Interrupt

D0

WDT1-FPGA Interrupt

Action Definitions (performed when specified WDT count expires):

Shutdown:

Power Down command is executed (reference: operators manual Power Shutdown register)

PPC Reset:

T2080 PPC is reset

Backplane Reset:

Backplane Reset issued to all external cards

PPC Interrupt:

T2080 PPC Interrupt on IRQ02 is issued

FPGA Interrupt:

Interrupt issued to Zynq SoC processor

Note
as described herein, not all output behaviors are available (or recommended for use).

WDT Sample Application

Application Program Description

The sample application program is named wdt_basic_ops (after source file name). Its purpose is to illustrate the methods to call in the naidev library to configure the watchdog timer, load the timer with a countdown value, pet it, and stop it - as well as select among various trigger behavior options.

To operate the watchdog timer, you need to:

  • Configure it: This initializes the timer in the NAIDEV and NAIBSP and connects the user ISR to the interrupt. A new thread will be spawned. Select the desired actions to be taken if the WDT is triggered.

  • Load it: Load the timer with a value. The desired expiration time is converted to “counts” and loaded into the timer register(s).

  • Start it: Starts counting down from the loaded value.

  • Pet it: Pet the watchdog before the expiration time. If it expires, it will cause an interrupt and call the user ISR function. If the watchdog expires, pet it to reset.

  • Stop it: Stops counting down the timer, disconnects the user ISR and kills the spawned ISR thread.

Application Program Menu Options and Associated Call Tree

A basic description of each of the sample app menu options is given below, along with the calling tree from the sample app into the SSK library code. The calling tree only shows the primary function calls of interest.

Note
the calling tree is color coded - blue indicates sample app code; black indicates WDT library code.
Configure Watchdog Timer

Selecting this option from the sample app menu configures the WDT by installing the FPGA interrupt service routine (starts a separate thread) and by writing the Watchdog Output Behavior register (offset 0x2A) with the desired WDT trip behavior.

Note
Although the sample app only queries the user for a single output behavior, the user can adjust this to combine multiple behaviors using a bitwise OR of the desired behavior bits.

Calling tree:

main

→ Load_WDT

   → naidev_Watchdog_ConnectISR

   → naidev_Watchdog_SetExpiryBehavior

      → naibsp_timer_Watchdog_SetExpiryBehavior

         → naibsp_timer_Watchdog_SetExpiryBehavior_Imp

            → naibsp_system_PPC_CPLD_WriteRegU16_Imp

Load Watchdog w/Timer Value

Selecting this option from the sample app menu loads the WDT trip time as specified by the user in milliseconds. The user specified trip time is loaded into the WDT1 counter; that count plus 20mSec (for ARM overhead) is loaded into the WDT2 counter.

Calling tree:

main

→ Configure_WDT

   → naidev_Watchdog_LoadMSeconds

      → naibsp_timer_Watchdog_Load_Mseconds

         → naibsp_timer_Watchdog_Load_Useconds

            → naibsp_timer_Watchdog_Load_USeconds_Imp

               → naibsp_system_PPC_CPLD_WriteRegU16_Imp

Start the Watchdog Timer

Selecting this option from the sample app menu causes the Watchdog Enable register (offset 0x22) to be written with data = 0x01. This enables both WDT1 and WDT2 counters - and they will begin counting .

Calling tree:

main

→ Pet_WDT

   → naidev_Watchdog_Pet

      → naibsp_timer_Watchdog_Pet

         → naibsp_timer_Watchdog_Pet_Imp

            → naibsp_system_PPC_CPLD_WriteRegU16_Imp

Pet Watchdog Timer

Selecting this option from the sample app menu causes the Watchdog Reset register (offset 0x26) to be written with data = 0x01. This causes both WDT1 and WDT2 counters to reset.

Calling tree:

main

→ Pet_WDT

   → naidev_Watchdog_Pet

      → naibsp_timer_Watchdog_Pet

         → naibsp_timer_Watchdog_Pet_Imp

            → naibsp_system_PPC_CPLD_WriteRegU16_Imp

Stop the Watchdog Timer

Selecting this option from the sample app menu causes the Watchdog Enable register (offset 0x22) to be written with data = 0x00. This disables both WDT1 and WDT2 counters. The FPGA interrupt service routine is stopped (thread terminated).

Calling tree:

main

→ Stop_WDT

   → naidev_Watchdog_Stop

      → naibsp_timer_Watchdog_Stop

         → naibsp_timer_Watchdog_Stop_Imp

            → naibsp_system_PPC_CPLD_WriteRegU16_Imp

   }→ naidev_Watchdog_DisconnectISR

Get WDT Expired Flag

Selecting this option from the sample app menu causes the last WDT expired status to be retrieved from FRAM.

Calling tree:

main

→ GetWDTExpiredFlag

   → naibrd_Log_GetLastWDTExpiredStatus

      → naibrd_POST_SendFRAMCommand

         → naibrd_Write32

         → naibrd_Read32

      → naibrd_Read32

Application Program File Locations within the Installed Code Tree

WDT Sample Application

The WDT sample application provides a simple user interface to accesses the various WDT functions and shows calling convention and usage. Within the SSK folder hierarchy, the location is here:

…\base\nai_sample_apps\naiapp_src\devices\wdt\src\wdt_basic_ops.c

WDT Library Code Files

The sample application utilizes WDT library code located in the following source files:

…\base\nai_libs\naidev\src\naidev_watchdog.c

…\base\nai_bsp\naibsp\drivers\timer\naibsp_timer.c

…\base\nai_bsp\naibsp\drivers\timer\imps\ppc\naibsp_timer_imp_ppc.c

Miscellaneous

WDT Expiry Behavior Selection

The WDT dual-counter implementation is accomplished in the FPGA using identical IP for each counter. This can be seen in the WDT Output Behavior register as identical actions are selectable for each counter.

As inspection of the sample application and associated library code show, access is not provided to portions of this register. The restrictions are as follows:

  • The WDT1 counter controls the user programmed trip interval. The only output behavior selected is for an FPGA Interrupt. This allows the additional overhead interval necessary for the ARM to log the event to FRAM. The other behavior bits are not exposed by the API.

  • The WDT2 counter is used to trigger the output behavior. All output behavior bits are exposed to the API except for the FPGA IRQ - as the associated ISR for it is already allocated to the function above.

Note
There are no safeguards in place that prevent the user from directly manipulating the bits of the WDT Output Behavior register. It is therefore possible to set bits to invoke actions directly upon WDT1 counter expiration. Some of these behaviors may prevent the event logging to FRAM.

ARM Overhead Period

The ARM overhead period between the trip of WDT1 and WDT2 is currently set in the SSK to 20 mSec, allowing time to complete the event logging to FRAM. This period can be changed by NAI - but requires a modification to the SSK.

If a WDT Reset (i.e. petting the dog) occurs within this interval it will reset the WDT2 counter and thus prevent selected trip actions from executing.

It is unlikely that application code, having failed to pet the dog for enough time to trip WDT1, will suddenly pet it to prevent the trip of WDT2. The application code should be designed with this possibility in mind, however.

68PPC2 Module Reset

No hardware reset is provided to 68PPC2 on-board modules. Software commands are available that can accomplish this action.

Power Shutdown Expiry Action

The mechanism for board power shutdown is the same as if the Power Shutdown Command was issued - as described in the 68PPC2 Manual. This is issued by accessing register offset 0x1C with two write commands. The first with data = 0xDEAD; followed by a second with data = 0xC0DE.

Revision History

Revision

Date

Description

Draft

A

02/05/2019

ECO C06319 / Initial Release.

SL

A1

11/20/2019

ECO C07136 / Update 3-Ch D/S® & addition of 3-Ch D/L®VDT, DA5 & SG1. Updated part number designation with the addition of Software Option “A" for Deos

MC

A2

01/09/2020

ECO C07250 / Update, correct and reformat module signal User I/O Mapping (Global) pin-out tables.

ARS

A3

03/23/2020

ECO C07466, Update to DA5 and AC1-3 I/O Mapping. Added SC3 4-CH Sync I/O Mapping. Updated part number designation with new features that require new part number option designations: Software, clarified options A & B refer to Deos 653

MC

A4

02/11/2021

ECO C08277 / Corrected 68PPC2 Jumper references in figure on pages 16 & 55

MC

C

2023-10-16

ECO C10687, transition to docbuilder format. Pg.7, updated from 'Over 70 different functions' to 'Over 100 different modules'. Pg.7, updated product image. Pg.7, updated block diagram to add Zynq FRAM. Pg.7, updated general description. Pg.7, updated processor clock speed from '1.5 GHz' to '1.8 GHz'. Pg.7, updated block diagram for revised processor clock speed. Pg.7, changed Slot Profile to 'SLT3-PAY-2F2U-14.2.3'. Pg.7, added Module Profile. Pg.7, updated BSP/OS support bullet. Pg.8-9, updated available module functions table. Pg.10, updated Introduction. Pg.10, added '+3.3_AUX' power spec to 'General for the Motherboard'. Pg.10, changed Op Temp option from 'E' to 'H'. Pg.10, removed option 'E' from Temp Cycling. Pg.13, updated OS support. Pg.13, removed BSP statement. Pg.16, revised Banks & FRAM sections. Pg.17, revised I2C section paragraph. Pg.18, added 2nd & 3rd paragraph to temp sensor section. Pg.20, changed Temp Alarm Override default to 1. Pg.20, added WDT offsets. Pg.22, updated HW Interrupts section. Pg.23, changed HW register to IRQ05 in TTL Registers. Pg.23, changed TTL I/O Select initialized value to 0x00. Pg.23, updated TTL Data function & op settings. Pg.24, updated Loop Back op settings. Pg.24, changed TTL Enable Interrupts to TTL IRQ Enable and updated function. Pg.24, changed TTL Enable Interrupts HW interrupt to IRQ05. Pg.24, changed TTL Set Edge/Level to TTL IRQ Polarity and updated function/op settings. Pg.25, changed TTL Interrupt Status to TTL IRQ Status. Pg.25, updated Temp Sensing descriptions. Pg.25, changed Temp Alarm Override Select initialized value to 0x0001. Pg.26, updated Temp Alarm Interrupt Status function & op settings. Pg.27, updated Bank Select register descriptions & flowchart. Pg.28, added Appendix B reference to Processor Restart Enable. Pg.29, added WDT section reference. Pg.30-50, reformatted Addressing/Register Descriptions/Function Map sections. Pg.54, added Slot & Module profile configurations. Pg.56, added Rear I/O Summary section. Pg.57-59, revised P0/P1/P2 pinout tables to meet VPX Standard format. Pg.57-59, added 68PPC2 profile images. Pg.61, revised Front/Rear User I/O Mapping table to remove function modules. Pg.62, added Ethernet Rear I/O. Pg.63, updated processor option '0' processor clock speed from '1.5 GHz' to '1.8 GHz'. Pg.63, changed Special Option 1 from 'pending' to 'contact factory'. Pg.64, added Single Channel note. Pg.64, changed DSE/DRE/DLE Power/CH maximum (VA) value from '1.5' to '2.2'. Pg.70, updated NOR Flash Jumper paragraph. Pg.71-78, added WDT appendix.

DG

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