User's Guide
Table Of Contents
- Description
- Features
- Ordering Information
- Absolute Maximum Ratings
- Electrical Specifications
- Typical Performance Graphs
- Pin Assignments
- Pin Descriptions
- Pre-Certified Module Pin Assignments
- Module Dimensions
- Theory of Operation
- Module Description
- Overview
- Addressing Modes
- Automatic Addressing
- Address Register Use
- Acknowledgements and Assured Delivery
- Frequency Hopping Spread Spectrum
- Compatibility with the 250 Series
- Networking
- Transmitting Packets
- Receiving Packets
- Using the Buffer Empty (BE) Line
- Exception Engine
- Carrier Sense Multiple Access (CSMA)
- Using the Command Response (CRESP) Line
- Using the CMD Line
- External Amplifier Control
- AES Encryption
- Using the MODE_IND Line
- Using the PB Line
- Restore Factory Defaults
- Using the Low Power Features
- The Command Data Interface
- Reading from Registers
- Writing to Registers
- Command Length Optimization
- Example Code for Encoding Read/Write Commands
- The Command Data Interface Command Set
- Typical Applications
- Usage Guidelines for FCC Compliance
- Additional Testing Requirements
- Information to the user
- Product Labeling
- FCC RF Exposure Statement
- Antenna Selection
- Castellation Version Reference Design
- Power Supply Requirements
- Antenna Considerations
- Interference Considerations
- Pad Layout
- Microstrip Details
- Board Layout Guidelines
- Helpful Application Notes from Linx
- Production Guidelines
- Hand Assembly
- Automated Assembly
- General Antenna Rules
- Common Antenna Styles
- Regulatory Considerations
– –
– –
28 29
The header and data structures for explicit encrypted packets are shown
in Figure 24. The header and data blocks returned by the module are the
decrypted message contents.
The Tag, Header Length and Frame Type fields are the same as for
unencrypted packets.
The Hop Key field uses the first three low-order bits to indicate the Hop
Sequence number, which is the same as unencrypted packets. The upper
two bits indicate which key is being used. Either the factory-set key that is
used to securely transfer the network key or a network key that has been
written or created by the JOIN process. This is shown in Figure 25.
The Sequence bytes contain a counter that is incremented for each new
transmitted message. The initial value is randomized when the module
is reset. The extended sequence becomes part of an initialization vector
which is used to vary the encrypted contents of identical packets. A
received packet is discarded if the sequence byte matches the previously
received packet to prevent delivering duplicate copies of an automatically
retransmitted packet.
Tag
0x11
Frame
Type
1
Header
Length
1
Hop Key
1
Sequence
6
Dest DSN
4
Source
DSN
4
EBlock
Length
1
Encrypted DSN Address Packet Header
Encrypted Packet Data
Tag
0x12
Data
Data Length Bytes
Data
Length
1
Tag
0x11
Frame
Type
1
Header
Length
1
Hop Key
1
Sequence
6
Dest Addr
2 or 4
Source
Addr
2 or 4
Source
DSN
4
Encrypted User Address Packet Header
EBlock
Length
1
Payload
Type
1
Payload
Type
1
Figure 24: HumPRO
TM
Series Transceiver Encrypted Packet Header and Data Structure
HumPRO
TM
Series HopKey Byte Values
HopKey Bit Value
0 - 3 Hop Sequence Number, 1 to 5
4 - 5 = 0
6 - 7
Encryption key
0 = factory
1 = user network
Figure 25: HumPRO
TM
Series HopKey Byte Values
The Dest DSN, Source DSN, Dest Addr and Source Addr fields are the
source and destination addresses, the same as in unencrypted packets.
The EBlock length filed is the total number of bytes of data in the encrypted
payload block. This length includes the Payload Type byte.
The Payload Type byte indicates what data is contained in the payload.
0x00 indicates that the payload is user data. 0x01 indicates that the
payload is the 16-byte AES key followed by any user data. This is used for
transferring the network encryption key during the JOIN process.
For the Encrypted Packet Data packet, the Data Length byte indicates the
number of bytes of data payload that follow. This value is one less than the
EBlock length in the header. The reason for this is that the Payload Type
byte is included in the encrypted block, but is reported with the header
since it is not user data.
Using the Buffer Empty (BE) Line
The BE line indicates the state of the module’s UART buffer. It is high to
indicate that the UART input buffer is empty, indicating that all data has
been transmitted. When the module receives data on the CMD_DATA_IN
line and the CMD line is high, the BE line is lowered until all data in the
buffer has been processed by the protocol engine. If acknowledgement
is not enabled, the BE line is raised as soon as the module transmits the
outgoing packets. If acknowledgement is enabled, the buffer is not updated
until either the data transmissions are acknowledged by the remote end or
delivery fails after the maximum number of retries. When the BE line returns
high, the EX line may be sampled, or the EXCEPT or EEXFLAG register
polled to determine if an error occurred during transmission.
The state of the BE line can be read in the LSTATUS register, reducing the
number of hardware connections that are needed.