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
– –
– –
42 43
The Command Data Interface
The HumPRO
TM
Series transceiver has a serial Command Data Interface
(CDI) that is used to configure and control the transceiver through
software commands. This interface consists of a standard UART with a
serial command set. The CMD_DATA_IN and CMD_DATA_OUT lines are
the interface to the module’s UART. The UART is configured for 1 start
bit, 1 stop bit, 8 data bits, no parity and a serial data rate set by register
UARTBAUD (default 9,600bps). The CMD line tells the module if the data
on the UART is for configuration commands (low) or data transmission
(high).
The module has a 256 byte buffer for incoming data. The module starts
transmitting when the buffer reaches a specified limit or when the time
since the last received byte on the UART reaches a specified value. This
allows the designer to optimize the module for fixed length and variable
length data.
If the buffer gets nearly full (about 224 bytes), the module pulls the CTS line
high, indicating that the host should not send any more data. Data sent by
the host while the buffer is full is lost, so the CTS line provides a warning
and should be monitored. When there is outgoing data waiting to be
transmitted or acknowledged the BE line is low, otherwise BE is high.
Configuration settings are stored in two types of memory inside the
module. Volatile memory is quick to access, but it is lost when power is
removed from the module. Non-volatile memory takes longer to access,
but is retained when power is removed. When a configuration parameter
has both a non-volatile and volatile register, the volatile register controls the
operation. The non-volatile register is the default value that is loaded into
the volatile register on power-up.
Configuration settings are read from non-volatile memory on power up
and saved in volatile memory since it is faster to read and write the volatile
memory locations. The volatile and non-volatile registers have different
address locations, but the same read and write commands. The two
locations can be changed independently.
The general serial command format for the module is:
[FF] [Length] [Command]
The Length byte is the number of bytes in the Command field. The
Command field contains the register address that is to be accessed and,
in the case of a write command, the value to be written. Neither Length nor
Command can contain a 0xFF byte.
Byte values of 128 (0x80) or greater can be sent as a two-byte escape
sequence of the format:
0xFE, [value - 0x80]
For example, the value 0x83 becomes 0xFE, 0x03. The Length count
includes the added escape bytes.
A response is returned for all valid commands. The first response byte is
CMD_ACK (0x06) or CMD_NACK (0x15). Additional bytes may follow, as
determined by the specific command.
Reading from Registers
A register read command is constructed by placing an escape character
(0xFE) before the register number. The module responds by sending an
ACK (0x06) followed by the register number and register value. The register
value is sent unmodified, so if the register value is 0x83, 0x83 is returned.
If the register number is invalid, the module responds with a NACK (0x15).
The command and response are shown in Figure 35.
Figure 35: HumPRO
TM
Series Read from Configuration Register Command and Response
HumPRO
TM
Series Read From Configuration Register
Command
Header Size Escape Address
0xFF 0x02 0xFE REG
Response
ACK Address Value
0x06 REG V
Command for an Address greater than 128 (0x80)
Header Size Escape Addr1 Addr2
0xFF 0x03 0xFE 0xFE REG-80
Response
ACK Address Value
0x06 REG V