A12 - 20190221_SWAR_- ISW_Embedment_Guide September 2018 V1.0.pdf

PDF 1 MB Posted

Attached to
W91CRB-20-R-0003 NEXT GENERATION HUB (NGH)
Solicitation number
W91CRB-20-R-0003
Issued by

View the file

Other files

File Type Posted
A02 - PRICING MATRIX - V2.xlsx XLSX spreadsheet
A13 - Questions and Government Responses to NGH Solicitation.docx DOCX document
D01 - W91CRB-20-R-0003.pdf PDF
A13 - Questions and Government Responses to NGH Solicitation.docx DOCX document
D01 - W91CRB-20-R-0003.pdf PDF
List of Attachments to Solicitation.docx DOCX document
D01 W91CRB-20-R-0003.pdf PDF
A13 - Questions and Government Responses to NGH Solicitation.docx DOCX document
A01 - System Performance Specification.docx DOCX document
A14 - 09212018_ISPDS-C_EUD_ICD_v3_3_final.pdf PDF
A13 - Questions and Government Responses to NGH Solicitation Amendment 3.docx DOCX document
A01 - System Performance Spec.pdf PDF
A11 - 09212018_ISPDS-C_EUD_ICD_v3_3_final.pdf PDF
A13 - Questions and Government Responses to NGH Solicitation Amendment.docx DOCX document
A01 - Revised NGH System Performance Specs.pdf PDF
A05 - DD 254.pdf PDF
A02 - Pricing Matrix.xls XLS spreadsheet
A07 - Work Directive Execution Plan.docx DOCX document
A09 - NW Security Classification Guide.pdf PDF
A03 - MIL-PRF-32383_4.pdf PDF
A04 - Past Performance Questionnaire.pdf PDF
A10 - ECP Form.docx DOCX document
A06 - Work Directive Request Form.docx DOCX document
A11-CDRLS.docx DOCX document
A08 - NW Corrosion Prevention Control Plan.pdf PDF
A01 - Performance Specifications.docx DOCX document
D01 W91CRB-20-R-0003.pdf PDF
Show all 27

On GovTribe

Work with this file

  • Download the original file
  • Contacts named in this file
  • Similar government files
  • Ask GovTribe AI about this file

Text version

ISW Embedment Guide

Version: 1.0

Date: September 2018 UNCLASSIFIED//FOR OFFICIAL USE ONLY

(U//FOUO) Intra-Soldier Wireless (ISW)

(U//FOUO) Embedment Guide

Version 1.0

September 2018

DISTRIBUTION STATEMENT D: Distribution authorized to the Department of Defense and U.S. DoD contractors For Official Use Only or for Administrative or Operational Use, 28 September 2018. Other requests for this document shall be referred to U.S.

Army Product Manager Ground Soldier, Building 1024, 5966 12th Street, Ft Belvoir, VA 22060

ISW Embedment Guide

Version: 1.0

Date: September 2018 UNCLASSIFIED//FOR OFFICIAL USE ONLY

(U) Revision History

Date Version Description

September 2018 1.0 Initial document

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page i

(U) Table of Contents

1. (U) Document Purpose and Scope

2. (U) Disclaimers

3. (U) References

4. (U) Definitions

5. (U) Acronyms and Abbreviations

6. (U) Overview

7. (U) Physical Integration

7.1 (U) Parallel-Attached Module

7.2 (U) USB-Attached Module

7.3 (U) Serial-Attached Module

8. (U) Application Data Wire Interface Integration

8.1 (U) Parallel-Attached Module

8.2 (U) USB-Attached Module

8.3 (U) Serial-Attached Module

9. (U) ISW API Integration

9.1 (U) Overview

9.2 (U) General Operation

9.2.1 (U) API Integration

9.2.2 (U) API General Rules

9.2.3 (U) Autonomous Indications

9.2.4 (U) Node Security

9.2.5 (U) Node Identity Fields

9.2.6 (U) Network Association

9.2.7 (U) Network Join

9.2.8 (U) Optional Node Management

9.3 (U) Typical Use Cases

9.3.1 (U) Start-Up

9.3.2 (U) Network Association

9.3.3 (U) Stream Management

9.3.3.1 (U) Unicast Streams

9.3.3.2 (U) Multicast Streams

9.3.3.3 (U) Broadcast Stream

9.3.4 (U) Firmware Update

9.3.5 (U) FCC System Certification

10. (U) SolNet Integration

11. (U) Other Peripheral Interfaces

11.1 (U) LED

11.2 (U) PPS

12. (U) Antenna Integration

12.1 (U) Antenna Selection

12.2 (U) Antenna Placement

12.2.1 (U) Antenna Location

12.2.2 (U) Antenna Connection Loss

12.2.3 (U) Antenna Orientation

Appendix A. (U) SolNet Descriptor Examples

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page ii

A.1. (U//FOUO) Weapon Sight to Heads-up-Display

A.1.1 (U//FOUO) Weapon Sight Descriptor Set A.1.2 (U//FOUO) Heads-Up-Display Descriptor Set

Appendix B. (U//FOUO) FWS to ISW Porting Guidance

B.1. (U) Overview B.2. (U) Wire Interface

B.2.1 (U) Word-Aligned API Enforcement B.2.2 (U) Peer Indexing Change

B.3. (U) Initialization and Reset

B.3.1 (U) Autonomous Indications B.3.2 (U) Reset Indication and Start-up Sequence

B.4. (U) Device Identity B.5. (U) Network Association B.6. (U) Idle Scan Frequency

B.7. (U) New Capabilities

B.8. (U) Discovery and Registration (SolNet)

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page iii

(U) List of Figures

Figure 7-1: (U) Parallel-Attached Module Block Diagram Figure 7-2: (U) AL5930 Commander Rev2 Mechanical Dimensions Figure 7-3: (U) AL5930 Commander Rev2 60-Pin Connector Pinout Figure 7-4: (U) USB-Attached Module Block Diagram Figure 7-5: (U) AL5934 Combat Rev1 Mechanical Dimensions Figure 7-6: (U) AL5934 Combat Rev2 USB Pinout Figure 7-7: (U) Serial-Attached Module Block Diagram Figure 7-8: (U) AL5955 Camouflage Rev2 Mechanical Dimensions Figure 7-9: (U) AL5955 Camouflage Rev2 60-Pin Connector Pinout Figure 7-10: (U) AL5955 Camouflage Rev2 I2C Stake-pin Connections Figure 7-11: (U) AL5955 Camouflage Rev2 RS232 Stake-pin Connections Figure 8-1: (U) Parallel Interface Stack Figure 8-2: (U) USB Stack Figure 8-3: (U) Serial Stack Figure 9-1: (U) API Actions Figure 12-1: (U) Antenna Radiation Plane Figure 12-2: (U) Improper Antenna Placement Figure 12-3: (U) Proper Antenna Placement Figure 12-4: (U) TRDA Chip Antenna Figure 12-5: (U) X/Z Radiation Pattern at 3.96 GHz Figure 12-6: (U) X/Y Radiation Pattern at 3.96 GHz

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page iv

(U) List of Tables

(U) Table 3-1: References

(U) Table 4-1: Definitions

(U) Table 5-1: Acronyms and Abbreviations Table 9-1: (U) API Classes Table 9-2: (U) ISW-Compliant API Elements Table 9-2: (U) ISW-Compliant API Elements - Continued Table 9-2: (U) ISW-Compliant API Elements - Continued Table 10-1: (U) ISW-Compliant SolNet Command/Response Support Table 12-1: (U) WS Label Descriptor Table 12-2: (U) WS Video Descriptor Set Table 12-3: (U) WS Positioning Descriptor Set Table 12-4: (U) WS Protocol Descriptor Set Table 12-5: (U) WS Service Advertisement Table 12-6: (U) HUD Label Descriptor Table 12-7: (U) HUD Protocol Descriptor Set Table 12-8: (U) HUD Service Advertisement Table 12-9: (U) Peer Indexes Table 12-10: (U) GP_HOST and GP_MAC Register, New

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 1

1. (U) Document Purpose and Scope

(U//FOUO) This specification describes the general areas to consider when integrating an ISW module.

Wherever possible, this document refers to the ISW Protocol Specification for details, or to the vendor to obtain vendor-specific information.

2. (U) Disclaimers

(U) NOTE: This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications.

Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own expense.

3. (U) References

Table 3-1: (U) References

(U)

Ref # Title

[R1] ECMA-368, High Rate Ultra-Wideband PHY and MAC Standard, 3rd

Edition. Also coded as ISO/IEC 26907.

[R2] ISW Protocol Specification

(U)

4. (U) Definitions

Table 4-1: (U) Definitions

(U)

Term Definition

Application Application that uses ISW-Mac/ECMA-368 to transport data

Endpoint Logical flow of data arriving from an application over a wired interface

Node The hardware, firmware and software that constitutes an ISW implementation

Peer Node connected to the local node over the air

Stream Collection of sub-streams between two peers in a network

Sub-Stream

Logical flow that maps to a logical wired interface endpoint

(U)

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 2

5. (U) Acronyms and Abbreviations

Table 5-1: (U) Acronyms and Abbreviations

(U)

Acronym Abbreviation

AFE Analog Front End

AL Alereon

ASCII American Standard Code for Information Interchange

ATECC Microchip ATECC608A Security Processor

API Application Programming Interface

BBP Baseband Processor

BPF Bandpass Filter

C4ISR Command, Control, Communications, Computers, Intelligence, Surveillance and Reconnaissance

CERDEC Communications, Electronics Research, Development & Engineering Center

CF+ Compact Flash Plus

DAGR Defense Advanced GPS Receiver

ECMA-369 European Computer Manufacturers Association - 369

ENVG-III Enhanced Night Vision Goggle-III

ENVG-B Enhanced Night Vision Goggle-Binocular

EUI-48 End User Identifier, 48 bits

FCC Federal Communications Commission

FPGA Field Programmable Gate Array

FOUO For Official Use Only

FWS-CS Family of Weapon Sights-Crew Served

FWS-I Family of Weapon Sight-Individual

GPIO General Purpose Input/Output

GSSIP GPS Standard Serial Interface Protocol

I2C Inter-Integrated Circuit (pronounced "I-squared-C")

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 3

Acronym Abbreviation

IMU Inertial Measurement Unit

I/O Input/Output

ISW Intra-Soldier Wireless

LED Light Emitting Diode

LSB Least Significant Bits

MAC Media Access Control

MCU Microcontroller Unit

MSB Most Significant Bits

NIST National Institute of Standards and Technology

NVRAM Non-volatile RAM

PGDP Pretty Good Device Protocol

PHY Physical Layer

PPS Pulse Per Second

QoS Quality of Service

SBP Smart Battery Pack

SPI Serial Peripheral Interface

SolNet Intra-Solider Wireless Networking

SWIM Simple Wire Interface Mux/De-mux

TWS Thermal Weapon Sight

UART Universal Asynchronous Receiver Transmitter

USB Universal Serial Bus

UWB Ultra-Wideband

WS Weapon Sight

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 4

6. (U) Overview

(U) To embed an ISW module, the integrator must:

(U//FOUO) Physically embed the module

(U//FOUO) Logically integrate the appropriate application data wire interface used for sending data to and receiving data from the module

(U//FOUO) Support the required subset of ISW API functions to control the module

(U//FOUO) Support the required subset of SolNet protocol to control discovery and service registration

(U//FOUO) Integrate the antenna appropriately

(U//FOUO) Integrate other peripheral interfaces

(U) The remaining sections of the document describe these tasks relative to three ISW modules:

(U//FOUO) Parallel-attached module

(U//FOUO) USB-attached module

(U//FOUO) Serial-attached module

(U//FOUO) For ISW compliance, the integrator must support a required subset of ISW API commands and a required subset of SolNet protocol commands. ISW API compliance is described in the ISW API

Integration section. ISW SolNet compliance is described in the SolNet Integration section. Appendix A shows an example of creating a compliant system. Appendix B gives guidance for porting from legacy

FWS systems to ISW.

7. (U) Physical Integration

(U//FOUO) On delivery from the vendor, each module has been calibrated and verified operational. How the module is integrated depends on the module type and the nature of the system that uses the module.

The module includes conformal coating over the security elements. The integrator must take care to avoid damaging the coating when embedding the module.

(U//FOUO) For each module, a GPIO line is brought out to a resistor to support PPS operation. Contact the module vendor for the location or the resistor. Refer to the Other Peripheral Interfaces section for PPS operation.

(U//FOUO) Each module includes an LED. The LED visually illustrates certain module operational states. The integrator may remove the LED or bring the LED out from the board. Refer to the Other

Peripheral Interfaces section for LED operation.

7.1 (U) Parallel-Attached Module

(U//FOUO) The parallel-attached module exposes a 60-pin connector (Hirose DF40C). This connector brings out 3.3V power, parallel interface lines, the power-on-reset pin, and calibration pins. The host system must connect up the power, parallel interface lines, and power-on-reset pins only.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 5

(U//FOUO) The following diagram shows the basic blocks of the module.

Figure 7-1: (U) Parallel-Attached Module Block Diagram

(U//FOUO)

(U//FOUO) This module supports a u.fl connector for an external antenna. Refer to the Antenna

Integration section for details.

(U//FOUO) The following figure shows the mechanical layout, dimensions, and pinout.

AL5350

MAC/BBP

AL5301

AFE

60-Pin Connector

B

P

F u.fl

ATECC

608A

Flash

LED

I2C

SPI

GPIO

ECMA-369

Parallel Power

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 6

Figure 7-2: (U) AL5930 Commander Rev2 Mechanical Dimensions

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 7

Figure 7-3: (U) AL5930 Commander Rev2 60-Pin Connector Pinout

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 8

7.2 (U) USB-Attached Module

(U//FOUO) The USB-attached module exposes a USB Type A male connector with D+, D-, 5V, and ground. The connector may be removed for integration into an embedded system. The USB ID pin is pulled high, which causes the module to connect to a host system as a USB device. The following diagram shows the basic blocks of the module.

Figure 7-4: (U) USB-Attached Module Block Diagram

(U//FOUO)

(U//FOUO)

(U//FOUO) Each module supports an on-board chip antenna and a u.fl connector for an external antenna.

Refer to the Antenna Integration section for details.

AL5301

AFE

ATECC

608A

Flash LED

I2C

ECMA-369

GPIO SPI

USB

PHY

UTMI USB

Type

A

USB

Power

B

P

F u.fl

Chip

Antenna

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 9

(U) The following figure shows the mechanical layout, dimensions, and pinout.

Figure 7-5: (U) AL5934 Combat Rev1 Mechanical Dimensions

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 10

Figure 7-6: (U) AL5934 Combat Rev2 USB Pinout

(FOUO)

7.3 (U) Serial-Attached Module

(U//FOUO) The serial-attached module exposes a 60-pin connector (Hirose DF40C). This connector brings out power, I2C/UART lines, RS232 lines, a GPIO line, the power-on-reset pin, and calibration pins. In addition to the connector, the module exposes individual through holes for 3.3V power, I2C/UART lines, RS232 lines, and a GPIO line. The integrator may use the 60-pin connector to integrate to a mother board or may integrate directly via the through-hole interfaces.

(U//FOUO) Because the I2C and UART lines are shared, the integrator may use these lines as I2C or

UART, but not both at the same time. If the RS232 interface is in use, then the I2C/UART lines are not available.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 11

(U) The following diagram shows the basic blocks of the module.

Figure 7-7: (U) Serial-Attached Module Block Diagram

(U) This module supports a u.fl connector for an external antenna. Refer to the Antenna Integration section for details.

AL5301

AFE

ATECC

608A

Flash LED

I2C

ECMA-369

GPIO SPI

I2C

UART

Pins

Power

B

P

F u.fl

60-

Pin

I/F

Pins

GPIO

Pins

RS232

Pins

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 12

(U) The following figure shows the mechanical layout, dimensions, and pinout.

Figure 7-8: (U) AL5955 Camouflage Rev2 Mechanical Dimensions

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 13

Figure 7-9: (U) AL5955 Camouflage Rev2 60-Pin Connector Pinout

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 14

Figure 7-10: (U) AL5955 Camouflage Rev2 I2C Stake-pin Connections

Figure 7-11: (U) AL5955 Camouflage Rev2 RS232 Stake-pin Connections

8. (U) Application Data Wire Interface Integration

(U//FOUO) Every ISW module supports one application data wire interface. This interface supports application data exchange with the ISW module. Application data is sent to or received from a peer. Sent data is automatically encrypted by the ISW node, placed on air, and decrypted by the receiving node before sending to the receiving application over the wire interface. Each packet references a particular peer via a peer index, and a particular endpoint. The application may send application data over any or all of four endpoints numbered 0 – 3. Packets over endpoint 0 must be encoded with a SolNet header.

Packets over endpoints 1 – 3 may optionally be encoded with SolNet headers at the integrator's discretion.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 15

8.1 (U) Parallel-Attached Module

(U//FOUO) The parallel-attached module attaches through a memory-mapped interface based on a subset of the CompactFlash Plus (CF+) specification. This interface may be integrated to an application system via an FPGA or a MCU that supports programmable I/O state machines or a hardware-based memory mapped interface. Contact the module vendor for documentation on the pinout, registers, timing, and states of the interface.

(U//FOUO) The parallel-attached Node requires enumeration before use. The enumeration begins when the Node alerts the Host that the Node is ready for enumeration. The Host performs enumeration, which consists solely of writing a set of values to the attribute registers. Following enumeration, the Host may write and read control packets or application data packets using Node interrupts to determine when reading/writing of packets is allowed. When writing packets, the Host sets the peer index and endpoint of the recipient. The peer index determines if the packet is an application data packet or a control packet.

Refer to the module vendor documentation for how to set this information. When reading packets, the

Host determines the peer index and endpoint of the sender, where peer index may identify a packet from a peer or a control packet from the Node. Refer to the module vendor documentation for how to determine this information. The following figure describes the Host side of the parallel interface stack.

Figure 8-1: (U) Parallel Interface Stack

(U) The stack elements are:

(U//FOUO) Host Hardware Interface – The parallel interface pins physically connecting to the corresponding pins of the Node.

(U//FOUO) Attribute State Machine – The state machine that controls state and timing for accessing the Node's attribute registers. The attribute registers are accessed during interface enumeration. The real-time nature of the interface requires implementation in hardware, such as an FPGA, programmable gates, or MCU memory-mapped interface.

Host

Side

Application

Attribute State

Machine

Hardware Interface

Enumeration

I/O State Machine

Control Transfer

Hardware Interface

Data Transfer

ISW-Mac

Parallel Interface Driver

Node

Side

Interrupt Monitoring

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 16

(U//FOUO) I/O State Machine – The state machine that controls state and timing for accessing the Node's I/O registers. The I/O registers are accessed for sending and receiving application data and application control commands. The real-time nature of the interface requires implementation in hardware, such as an FPGA, programmable gates, or MCU memory-mapped interface.

(U//FOUO) Interrupt Monitoring – The logic that monitors the interrupt line that indicates when a packet has arrived for reading and when a new packet may be written. This can be done in software.

(U//FOUO) Enumeration – The logic that controls the enumeration process. This can be done in software.

(U//FOUO) Control Transfer – The logic that sends ISW API command packets to the Node and receives ISW API responses and indications from the Node. This block sets or decodes the peer index and endpoint. This can be done in software.

(U//FOUO) Data Transfer – The logic that sends application data packets to the Node and receives application data packets from the Node. This block sets or decodes the peer index and endpoint. This can be done in software.

8.2 (U) USB-Attached Module

(U//FOUO) the USB-attached module attaches through a standard USB bus. The Host serves as a USB

Host while the Node operates as a Vendor USB Device. This interface may be integrated to an application system via an FPGA or a MCU that implements a USB Host. Contact the module vendor for documentation on the descriptors and detailed operation of the USB Device.

(U//FOUO) The USB Device requires enumeration before use. The Node responds to standard USB enumeration, presenting itself as a Vendor-defined USB Device. The device descriptors describe two endpoints: a Bulk IN and a Bulk OUT. Following enumeration, the Host may write control packets or application data packets over the OUT endpoint and read them over the IN endpoint. When writing packets, the Host prepends a SWIM header to indicate the peer index and endpoint of the recipient. The peer index determines if the packet is an application data packet or a control packet. When reading packets, the Host decodes the SWIM header to determine the sending peer index and endpoint, where peer index may identify a packet from a peer or a control packet from the Node. Refer to the ISW

Protocol Specification for the format of the SWIM header.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 17

(U) The following figure describes the Host side of the USB stack.

Figure 8-2: (U) USB Stack

(U//FOUO) USB Host Controller – The Host controller hardware and Host controller driver.

(U//FOUO) USB Host Driver – The USB Host driver that performs enumeration and manages data transfers.

(U//FOUO) USB Host API – The API to the USB Host Driver as presented by the particular USB

Host stack.

(U//FOUO) ISW Class – ISW Class specification/driver. This block sets or decodes the peer index and endpoint (SWIM header).

8.3 (U) Serial-Attached Module

(U//FOUO) The Serial-attached module attaches through a standard UART or I2C interface. In the case of the I2C interface, the Host is master. Contact the module vendor for documentation on the serial settings.

(U//FOUO) The Host may send or receive control packets or application data packets over the serial interface. When sending packets, the Host prepends a SWIM header to indicate the peer index and endpoint of the recipient. The peer index determines if the packet is an application data packet or a control packet. When receiving packets, the Host decodes the SWIM header to determine the sending peer index and endpoint, where peer index may identify a packet from a peer or a control packet from the

Node. Refer to the ISW Protocol Specification for the format of the SWIM header.

Host

Application

USB Host Controller

USB Host Driver

USB Device Controller

ISW-Mac

USB Device Driver

Node

Side

USB Host API

ISW Class

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 18

(U) The following figure describes the Host side of the serial interface.

Figure 8-3: (U) Serial Stack

(U//FOUO) Serial Interface – The hardware interface (UART or I2C master).

(U//FOUO) Serial Driver – The driver that sends or receives characters or packets.

(U//FOUO) Serial API – The API to the Serial Driver. This block sets or decodes the peer index and endpoint (SWIM header).

9. (U) ISW API Integration

9.1 (U) Overview

(U//FOUO) The ISW node implements a low-touch control model where the application need not control the node at real-time rates. The ISW API allows the application to perform certain infrequent operations, set values that are used by real-time processes in the node, and monitor status of the node and connected nodes. The API includes commands, responses to commands, and autonomous indications.

Host

Application

Serial Interface

Serial Driver

Serial Interface

ISW-Mac

Serial Driver

Node

Serial API

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 19

(U) The following table lists the classes of API commands.

Table 9-1: (U) API Classes

(U//FOUO)

Class Description

Firmware Update The application may query the firmware version(s) and upgrade firmware.

Identity The application may get or set identity fields.

Security The application may perform operations related to a secure module.

Association The application may initiate the joining of a network.

Streams The application may monitor the status of streams (connected peers), establish multicast groups, and set QoS parameters for streams.

Link The application may set parameters for system level link operation, including scan characteristics and service intervals.

Metrics The application may get wired or wireless statistics.

System The application may set system modes and reset the node.

(U//FOUO)

(U//FOUO) The ISW Protocol Specification describes the APIs in detail. The APIs apply to all module types.

(U//FOUO) For ISW compliance, the following table shows the commands, responses, and indications that are required to support ISW-compliant operation, versus those that are optional. Those marked as

'conditional' indicate elements that may be required depending on the application implementation.

Table 9-2: (U) ISW-Compliant API Elements

(U//FOUO)

Compliance Note

Firmware Update

Get Image Version Required

Load Image, Read Image, Run

Image

Optional Supports over-the-wire firmware update

Identity

Set Device Type, Get Device Type Required

Set Coordinator, Get Coordinator Required

Set MAC Address, Get MAC

Address

Optional MAC address should not be changed typically

Security

Authenticate Role Required

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 20

Table 9-3: (U) ISW-Compliant API Elements - Continued

Compliance Note

Start Crypto Session Required

Associations

Start Association Required

Clear Association Required

Association Indication Required

Streams

Set Stream Spec, Get Stream Spec Optional Supports quality of service for the network

Get Streams Status Optional Superseded by Get Extended Streams Status

Get Extended Streams Status Conditional Use this if polling for status; otherwise, use

Streams Status Indication

Start Multicast Group, Join

Multicast Group, Leave Multicast

Group

Required

Modify Multicast Group Optional Supports setting PHY rate of multicast transmits

Get Multicast Groups Status Conditional Use this if polling for status; otherwise, use

Multicast Groups Status Indication

Get Peer Firmware Version Optional Supports getting firmware version from peers

Connection Indication Optional Info contained by Get Extended Streams Status response and Streams Status Indication

Streams Status Indication Conditional Use this for autonomous status; otherwise, use

Get Extended Streams Status

Multicast Activity Indication Optional Info contained by Get Multicast Groups Status response and Multicast Groups Status Indication

Multicast Groups Status Indication Conditional Use this for autonomous status; otherwise, use

Get Multicast Groups Status

Link

Set Scan Duty Cycle, Get Scan

Duty Cycle

Optional Supports power management for non-coordinator nodes

Set Idle Scan Frequency, Get Idle

Scan Frequency

Required

Set Maximum Service Interval Optional Supports quality of service

Reset Service Interval Optional Supports quality of service

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 21

Table 9-4: (U) ISW-Compliant API Elements - Continued

(U//FOUO)

Metrics

Get Wired Metrics Optional Supports performance reporting

Get Wireless Metrics Optional Supports performance reporting

System

Reset Required

Set Indications, Get Indications Optional Supports suppression of indications

Reset Radio Optional Supports recovery from power-saving mode

Idle Radio Optional Supports initiation of power-saving mode

Reset Indication Required

(U//FOUO)

(U//FOUO) The General Operation section describes the basic API concepts and operations. The Typical

Use Cases section describes how the API should be used for typical operation, including sequence.

9.2 (U) General Operation

9.2.1 (U) API Integration

(U//FOUO) When integrating the API to the wired interface, the integrator should verify operation using the Get Firmware Version command. This command returns an ASCII string that produces a readable firmware version. This command can be used to verify endianness of the command and response, has a low likelihood of being mistaken for a different command, and has no lasting effect on the node.

Endianness rules are defines in the ISW Protocol Specification.

9.2.2 (U) API General Rules

(U//FOUO) The ISW API views the interface in terms of commands, responses, and indications.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 22

(U) The general picture is shown in the following figure.

Figure 9-1: (U) API Actions

(U//FOUO)

(U//FOUO)

(U//FOUO) Every command results in a quick response (usually within milliseconds, but perhaps up to one second). Some commands initiate long-running operations, such as the Start Association command.

The node returns an immediate response to such commands, and then returns an association indication when the operation completes (e.g. Association Indication).

(U//FOUO) Every response and indication includes a result code. Any value other than zero indicates an error.

(U//FOUO) The ISW API supports up to five outstanding commands at one time. This restriction prevents the application from overwhelming the node's memory with commands.

9.2.3 (U) Autonomous Indications

(U//FOUO) By default, the ISW node sends autonomous indications to the application. At power-up, the node issues a Reset Indication packet to the application. It then issues a once-per-second status of all streams as a Streams Status Indication version 2 packet. On first power-up, the Streams Status Indication will show no peer nodes. After a node is part of a network, it issues Connection Indication packet each time a node connects to or disconnects from the network. When the node joins a network for the first time, it issues an Association Indication packet to the application. The application may disable or enable which indications it wishes to see at any time using the Set Indications packet.

9.2.4 (U) Node Security

(U//FOUO) To support node security, the ISW node requires the application to provide a password and a role before executing security-related commands. The login command is Authenticate Role.

(U//FOUO) To initiate security functions, the ISW node requires the application to start cryptographic operation. The command to start cryptographic operation is Crypto Session Start.

(U//FOUO) These two commands must be run as soon as possible after receipt of any Reset Indication.

9.2.5 (U) Node Identity Fields

(U//FOUO) The ISW node contains three forms of identity:

(U//FOUO) Device type – A general tag that allows the integrator to define different types of nodes.

Host

Side

Application

ISW-Mac

Node

Side

Command

Indication Response

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 23

(U//FOUO) EUI-48 address – The MAC address of the node. Note: This is set at the factory, so overwriting the address is not recommended.

(U//FOUO) Coordinator Role – A specification of the node's ability to act as a coordinator.

(U//FOUO) By default, the EUI-48 address is set to a unique value, device type is set to an unspecified value, and the coordinator role is not set. On first power-up, the application should get the device type using a Get Device Type packet. If the device type is not the desired value, the application should set it to the desired value using the Set Device Type packet. The new device type is automatically stored in non-volatile memory.

(U//FOUO) Every device type exhibits a default behavior in terms of whether or not it can serve as a coordinator and what its coordinator precedence is. If the default behavior of the device type is not acceptable, the application can override the default behavior using the Set Coordinator packet. The application may optionally specify if this override should be stored in non-volatile memory. Before setting the override, the application can determine if the override has already been written by sending a

Get Coordinator packet.

(U//FOUO) To prevent flash fatigue, the application should get the device type and coordinator role and only write them if the stored values are not the desired values.

9.2.6 (U) Network Association

(U//FOUO) By default, an ISW node is not part of a network. On first power-up, it generates a random

Network ID and Network Password. The Network ID is 32 bits, so the odds of adjacent nodes generating the same Network ID is infinitesimally small. The application may cause a node to join an existing network by issuing to the node a Start Association packet with a type field of 'search'. At the same time, the application on a node that is already part of the target network must issue a Start Association packet with a type field of 'invite'. The searching node scans the channel map to find the inviting node. Upon finding the one another, the two nodes perform a process whereby the searching node joins the network of the inviting node. The searching node adopts the Network ID of the new network, and is given the

Network Password over a secure tunnel. When association completes, each node issues an Association

Indication packet to its application. The result code of the packet indicates success, failure, or timeout.

The node remains joined to the network after association.

(U) To remove a node from a network, the application can either:

(U//FOUO) Issue a Start Association packet with a type field of 'search' to join it to a new network. The initiation of this operation immediately clears the existing Network ID. If the node does not find another network with which to associate before the association timeout, it generates a new random Network ID.

(U//FOUO) Issue a Clear Association packet to immediately clear the existing Network ID. The node automatically generates a new random Network ID.

9.2.7 (U) Network Join

(U//FOUO) Once a node is associated with a network, after each power-up, the node automatically searches for an already established network advertising its Network ID. The application need take no action to cause this operation to occur. Upon finding a network advertising its Network ID, the node automatically joins the found network. If the node does not find an already established network within one sweep of the channel map and is coordinator-capable, it forms a network on a clear channel with itself as the only member. Other nodes may join the new network later. If the node is not coordinator-capable, it continues scanning for a network to join. While searching for an already established network, the node ignores networks that do not advertise its Network ID.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 24

(U//FOUO) Members of a network are called peers. The ISW node reports peer connections to the application as Connection Indications and once-per-second Streams Status Indications. The application processes these messages to determine when nodes join and leave the network. Every time the ISW node detects a new node, it assigns a local peer index to the node. The peer index is simply a temporary shorthand address that allows the application to target the peer for sent data or determine which peer sent received data. The peer index is assigned first-come, first-served after joining a network. As a result, the peer index for a particular peer may change between power cycles or leave/join cycles. The peer index is only meaningful to the local node.

9.2.8 (U) Optional Node Management

(U//FOUO) The ISW API provides a number of optional commands to manage, configure, or monitor the node. These include:

(U//FOUO) Setting the scan duty cycle. When a node is not coordinator-capable, it will scan indefinitely for a network to join. This can consume power if no network is available. The Set

Scan Duty Cycle packet causes the searching node perform a duty cycle between searching and sleeping.

(U//FOUO) Setting the idle scan frequency. When a node is acting as the coordinator, it periodically scans background channels to a) maintain a list of clear channels to which to escape in the event of sudden jamming and b) search for members of its network on other channels so that the two networks might merge. The background scan consumes power. The Set Idle Scan

Frequency packet allows the application to balance power consumption and background scan aggressiveness.

(U//FOUO) Setting per-stream and per-substream quality of service (QoS) behavior. By default, streams and substreams are processed round robin. In the event of local congestion, nodes do not discard packets already received. The Set Stream Spec command allows the application to limit the service latency per stream, where a stream is a connection to a particular peer. The same command also allows the application to specify the service priority of sub-streams within a stream, and whether or not to discard packets in the event of local congestion.

(U//FOUO) Managing multicast groups. The ISW API provides a set of commands and indications that allow the application to start a multicast group, join a multicast group, leave a multicast group, and monitor for multicast groups.

(U//FOUO) Managing system behavior. The ISW API provides a set of system commands that allow constraining of the service interval for the entire network, placing the radio into an idle state, resuming the radio from the idle state, and hard resetting the node.

(U//FOUO) Updating firmware. The ISW API provides a set of commands that allow the application to query and update firmware on the node.

(U//FOUO) Performing security operations. The ISW API provides security commands associated with security certified products.

9.3 (U) Typical Use Cases

9.3.1 (U) Start-Up

(U//FOUO) Assuming that a set of ISW nodes have already been associated, the typical start-up sequence is as follows:

(U//FOUO) The Host initializes the wire interface (enumeration).

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 25

(U//FOUO) By default the ISW node sends autonomous indications to the application. If the application does not wish to receive certain indications, it issues a Set Indications packet. At minimum, the application should keep the following indications enabled: Wire Bus Enable, Reset

Indication. The primary reason for disabling any indication is the turning off of Connection

Indication in lieu of solely using the Streams Status Indication.

(U//FOUO) After initializing the wireless interface, the application waits for a Reset Indication with a result code of success. This indicates that the module has initialized and has passed all of the security and integrity self-tests.

(U//FOUO) As soon as possible, the application logs in as the crypto officer by issuing an

Authenticate Role packet with the appropriate password and the crypto officer role. Contact the vendor for the password.

(U//FOUO) As soon as possible after logging in, the application start cryptographic operation by issuing a Crypto Session Start command. This notifies the module that it may begin using cryptographic functions, including key agreement and encryption. The module will not function until this command is entered. This command may not be entered until the application has logged in.

(U//FOUO) The application reads the device type (Get Device Type) and coordinator role (Get

Coordinator). If the values are not appropriate, the application sets the device type (Set Device

Type) and/or coordinator role (Set Coordinator).

(U//FOUO) Even though Streams Status Indication is enabled by default, it only outputs once per second. On initial power-up, the application may issue a Get Extended Streams Status packet to immediately learn the state of the system. If the status shows at least one peer and it is connected, at least one stream is present. The application may begin sending data to that peer using the assigned peer index to target the peer. If the status shows that no peers are connected, no peer is connected. The application must wait for an autonomous Connection Indication from the node or a Streams Status Indication showing at least one connected peer. Upon receiving that indication, the system may begin sending data to that peer using the appropriate peer index. Note:

Integrators have found the once-per-second Streams Status Indication to be the most reliable and simplest to process mechanism, and often use this instead of Connection Indication to track current status of all links.

(U//FOUO) The application continues monitor the streams status. As peers join, the application uses the assigned peer index to send data to that peer or determine that data has arrived from that peer. As peers leave, the application stops sending data to the departed peer. When a peer departs, the ISW node automatically flushes any data queued for the peer.

9.3.2 (U) Network Association

(U//FOUO) Assuming two systems, A and B, which have different Network IDs, and System B wishes to join System A's network:

(U//FOUO) System A application issues Start Association packet with type = invite and association timeout of T. Node returns response.

(U//FOUO) System B application issues Start Association packet with type = search and association timeout of T. Node returns response.

(U//FOUO) Note: The order of placing systems into association mode does not matter as long as the second is placed into association mode at least 6 – 8 seconds before the association timeout of the first system.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 26

(U//FOUO) Upon successful association, both nodes return Association Indication with result code of success to respective applications.

(U//FOUO) If a node does not detect one another before association timeout, it returns

Association Indication with result code of timeout to application.

(U//FOUO) If a node begins the association sequence with another node, but fails due to poor RF conditions or a security violation, the node returns Association Indication with result code of general failure to application.

(U//FOUO) For robust association, the lowest allowed timeout is 30 seconds. Under typical user scenarios, associations of longer than 60 seconds are excessive.

9.3.3 (U) Stream Management

9.3.3.1 (U) Unicast Streams

(U//FOUO) After initializing the ISW node, secure unicast connections form automatically amongst associated nodes. The active streams are reported by the Streams Status Indication. The application tracks which peer index is used by which peer node. The Streams Status Indication includes the EUI-48 address and device type to help the application uniquely identify the peer.

9.3.3.2 (U) Multicast Streams

(U//FOUO) Multicast streams are not automatically established. They must be started/stopped and joined/left by the application. The application may start one multicast group and join one multicast group

(different groups). For each of the two groups, the application may send or receive data on the group.

(U//FOUO) The application starts a multicast group using the Start Multicast Group command. This command assigns a multicast address that is advertised to all peers in a Multicast Activity Indication with a status of "found". The Multicast Group Status shows available groups to peers. If no peers are connected, the application reports a status of paused. Regardless, the application may begin sending multicast data using the multicast peer index returned by the start command. If the group is paused, the data is discarded at the local node.

(U//FOUO) The application joins an available multicast group using the Join Multicast Group command.

Once it joins the multicast group, the application begins receiving data from the group, where the source is identified by the multicast peer index returned by the join command. The application may also send data to the joined multicast group, again using the peer index returned by the join command.

(U//FOUO) The application may stop a started multicast group or leave a multicast group using the Leave

Multicast Group command. If the originator stops a multicast group, all nodes that have joined the group leave the group automatically, and the application receives a Multicast Activity Indication indicating the group has been left.

9.3.3.3 (U) Broadcast Stream

(U//FOUO) Each node automatically establishes a broadcast stream at power-up. The application may issue a broadcast data packet by using the peer index reserved for broadcast data.

9.3.4 (U) Firmware Update

(U//FOUO) The ISW node stores firmware in flash. The flash contains two firmware banks: active and standby. The node executes the firmware in the active slot. The application may retrieve the version of either the active or standby image using the Get Image Version packet.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 27

(U//FOUO) At any time after power-up, the application may download new firmware to the ISW node.

The application loads firmware by issuing a serial sequence of Load Image packets. The ISW node stores this image in the standby location of flash. Once the image is loaded, the application issues a Run Image packet to cause the new image to become the active image. However, the new image does not take effect until the application performs a reset. The reset can be performed by power cycling the ISW node or by issuing a Reset packet. The sequence, then, is:

(U//FOUO) Application issues Get Image Version for active slot, then verifies that the new image is actually different from the old image.

(U//FOUO) Application issues Load Image packet number 1. Node returns response.

(U//FOUO) Application issues Load Image packet number 2 … N – 1. Node returns response.

(U//FOUO) Application issues Load Image packet number N, which contains the image label.

Node returns response.

(U//FOUO) If all responses indicate success, application issues Run Image for standby slot. Node returns response.

(U//FOUO) Application issues Reset. Node resets.

9.3.5 (U) FCC System Certification

(U//FOUO) FCC system certification requires the measurement of unintentional emitters in a system. The

ISW node's PHY is an intentional emitter, so it must be disabled during FCC testing. To disable all wireless emissions, the application must issue an Idle Radio packet to the node. To resume normal operation, the application can power cycle the node, issue a Reset Radio packet, or issue a Reset packet.

10. (U) SolNet Integration

(U//FOUO) The basic ISW mechanism used for identifying a class of devices is device type. However, this mechanism is not extensible and does not distinguish between different devices with same device type. For example, the device type TWS (thermal weapon sight) does not distinguish between different kinds of sights that emit differently encoded video. To bridge that gap, the ISW Protocol Specification describes the ISW Networking Protocol (SolNet).

(U//FOUO) SolNet consists of a set of over-the-air peer-to-peer commands used for discovering and subscribing to services. Some commands are mandatory, others are optional. SolNet also describes a tool chest of descriptors that can be used to describe provided services. These include vendor-defined fields to allow integrators flexibility in defining descriptors. Integrators are expected to create descriptors that suitably describe their application, and work with other integrators to ensure peer-to-peer interoperability.

(U//FOUO) SolNet nodes fall into three categories:

(U//FOUO) Nodes that provide and consume services.

(U//FOUO) Nodes that only consume services.

(U//FOUO) Nodes that only provide services.

(U//FOUO) In the context of ISW, a service generally correlates to the sending of data from the offering device, and often the receiving of data associated with controlling the service.

(U//FOUO) For ISW compliance, the following table shows the commands and responses that are required for nodes that consume services versus nodes that only offer services. The columns denote if a node must be able to create and/or parse the various messages. The table shows consumer versus provider

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 28 requirements. A node that consumes and provides services must support all of the required messages for consumer and provider columns.

Table 10-1: (U) ISW-Compliant SolNet Command/Response Support

(U//FOUO)

Consumer Provider

Create Parse Create Parse

Discovery Messages

Browse Service Request Required Required Optional Required

Service Advertisement Required Required Required Optional

Capture Timestamp Optional Optional Optional Optional

Flow Messages

Get Status Request Required N/A N/A Required

Get Status Response N/A Required Required N/A

Register Request Required N/A N/A Required

Register Response N/A Required Required N/A

Deregister Request Required N/A N/A Required

Deregister Response N/A Required Required N/A

Revoke Registration Request N/A Required Optional N/A

Revoke Registration Response Required N/A N/A Optional

Poll Data Request Required N/A N/A Required

Poll Data Response N/A Required Required N/A

Autonomous Start/Stop Request Required N/A N/A Required

Autonomous Start/Stop Response N/A Required Required N/A

(U//FOUO)

(U//FOUO) A particular device may expect to consume only particular services. Each service descriptor includes a Service ID. A service may contain child services. The SolNet descriptor topography allows the consumer to skip or ignore unknown or unwanted services. When parsing a Service Advertisement, the consumer may quickly decide whether or not the device offers services it needs. The device need only establish a flow with the services it needs.

(U//FOUO) To extend the concept of device type, the integrator may use the Label service descriptor.

When applied at the top level, the 16-byte Label descriptor may specifically identify a product. For example, "FWS-I", "FWS-CS", "SBP ENVG III", or "SBP ENVG-B" distinguish among specific types of weapons sights and smart battery packs for existing programs. The same Label descriptor applied as a child descriptor can identify specific sub-services of an integrated device. For example, "DAGR GPS", "GSSIP-153", "IMU A", or "IMU B" distinguish among specific types of positioning devices or positioning protocols. This flexibility allows new programs to identify new devices and services without needing to extend the ISW Protocol Specification.

UNCLASSIFIED//FOR OFFICIAL USE ONLY Page 29

11. (U) Other Peripheral Interfaces

(U) Each module supports two additional peripheral interfaces:

(U//FOUO) LED

(U//FOUO) PPS (Pulse Per Second)

11.1 (U) LED

(U//FOUO) The LED resides on the module. Under normal conditions the LED is turned off. The LED lights when the application performs network association. When in association invite mode, the LED blinks once per second until association completes or times out. When in association search mode, the

LED stays on steadily until association completes or times out.

11.2 (U) PPS

(U//FOUO) A single I/O line is available for pulse per second operation. A PPS signal may be fed to the pin as input, or a PPS signal may be obtained from the pin. The pin operates as follows:

(U//FOUO) After power up, the pin remains idle.

(U//FOUO) When the node completes its first connection to a peer, the node samples the pin for two seconds. If it detects a pulse, the pin becomes a PPS input. If it does not detect a pulse, it becomes a PPS output.

(U//FOUO) Because the node only samples on first connection, a PPS input signal must be present at that time for a node to operate as a PPS source.

(U//FOUO) When operating as a PPS output, the pin only pulses if a peer is serving as a PPS source. Any given network can only have one PPS input. The output pulse is 20 microseconds in length, and pulses with a jitter of +/- 4 microseconds.

(U//FOUO) Refer to the Physical Integration section for more information about the PPS pin.

12. (U) Antenna Integration

(U//FOUO) For any system, the antenna selection and antenna placement have a greater effect on performance than any other factor. For this reason, the integrator should involve the module vendor during mechanical design to determine antenna selection and antenna placement.

12.1 (U) Antenna Selection

(U//FOUO) All modules include a u.fl connector. The USB-attached module also supports an on-board chip antenna. A 0 ohm resistor is used to enable the chip antenna or the u.fl connector. The integrator must determine if the on-board antenna is sufficient and appropriately placed. If not, the integrator must use the u.fl connector to attach an external antenna.

(U) When considering external antennas, UWB supports three antenna types:

(U//FOUO) Dipole (whip)

(U//FOUO) Chip

(U//FOUO) Patch

(U//FOUO) Because UWB covers such a wide range of frequencies, omnidirectional antenna design across that range is difficult. There are a number of antennas on the market that claim UWB coverage.

However, they differ widely in consistency across the…

This is the start of the file's text. The full file is on GovTribe.

File details come from the government source that posted it. Updated .