ETHERNET
If the 68G5P operating system is BareMetal the Ethernet feature on the board will be used for 68G5P Motherboard and Module Firmware Field Programmability, only.
To program the 68G5P board:
- Turn off power
- Pull NVMRO to Ground
- Turn on power
- From the Serial Console Port, login in and invoke the Configurator Program.
- Transfer the new image over Ethernet using the Windows-based NAI Downloader Application
- Turn off power
- Release NVMRO
- Turn on power
If the 68G5P operating system is Petalinux, the Ethernet Interface Option allows communications and control access to all function modules either via the system BUS or Ethernet ports 1 or 2.
(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)
| 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
- The messaging protocol applies only to card products.
- 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- |
