- Distributions of AES source code include the above copyright notice, this list of
conditions and disclaimer.
- Distributions in binary form include the above copyright notice, this list of conditions and disclaimer in the documentation and/or oth
ed or reproduced in any form or
er associated materials.
- The copyright holder's name is not used to endorse products built using this
ware without specic permission.
Alternatively, provided that this notice is retained in full, this product may be distributed under the terms of the GNU General Public License (GPL), in which case
the provisions of the GPL apply INSTEAD OF those given above.
Disclaimer - This AES so
ranties in respect of its properties, including, but not limited to, correctness and/or
for purpose.
Technical Support: Phone: (801) 765-9885
ware is provided 'as is' with no explicit or implied war-
The 9XTend OEM RF Module was engineered to provide OEMs an
easy-to-use RF solution that provides reliable delivery of critical
data between remote devices. The module transfers a standard
asynchronous serial data stream, operates within the ISM 900 MHz
frequency band and sustains up to 115.2 Kbps data throughput.
Key Features
Long Range Data Integrity
1 Watt Power Output (variable 1mW - 1W)
Range (@9,600 bps throughput data rate):
Indoor/Urban: up to 3000’ (900 m)
Outdoor RF line-of-sight:
up to 14 miles (22 km) w/dipole antenna
Outdoor RF line-of-sight:
up to 40 miles (64 km) w/high-gain antenna
Range (@115,200 bps throughput data rate):
Indoor/Urban: up to 1500’ (450 m)
Outdoor RF line-of-sight:
up to 7 miles (11 km) w/dipole antenna
Outdoor RF line-of-sight:
up to 20 miles (32 km) w/high-gain antenna
Continuous RF data stream up to 115,200 bps
Receiver Se
–100 dBm (@ 115200 baud)
Advanced Networking & Security
True Peer-to-Peer (no Master device required),
Point-to-Point, Point-to-Multipoint & Multidrop
Retries and Acknowledgements
FHSS (Frequency Hopping Spread Spectrum)
10 hopping channels, each with over 65,000
unique network addresses available
256-bit AES Encryption
128-bit AES for international variant
nsitivity: -110 dBm (@ 9600 baud),
Low Power
2.8 - 5.5 V Supply Voltage
Pin, Serial Port and Cyclic
software sleep modes supported
Shutdown pin enables hardware sleep m
that draws only 5 μA (typical)
Easy-to-Use
No configuration necessary for out-of box
RF communications
Free X-CTU Software
(Testing and configuration software)
RF Modules easily configured using
standard AT & binary commands
Transparent Operation
(Wireless links replace serial wires)
API Operation
(Frame-based communications)
Portable
(small form-factor easily designed into
a wide range of data systems)
Software-selectable I/O interfacing rates
Multiple data formats supported
(parity, start and stop bits, etc.)
XII™ Interference Immunity
No Master/Slave setup dependencies
ode
Worldwide Acceptance
FCC Approved (USA) Refer to Appendix A [p66] for FCC Requirements.
Systems that include XTend RF Modules inherit MaxStream’s Certifications.
ISM (Industrial, Scientific & Medical) license-free 902-928 MHz frequency band
Manufactured under ISO 9001:2000 registered standards
Transmit Current (5 V) typical110 mA140 mA270 mA500 mA730 mA
Transmit Current (3.3 V) typical90 mA110 mA260 mA600 mA**
* If the supply voltage for a given power se ing is lower than the minimum supply voltage requirement (as shown in Table 1-02), the
TX Power Output will decrease to the highest power level se
** 1W Power Output is not supported when using a 3.3 supply voltage.
(Low-asserted signals distinguished with a horizontal line over signal name.)
MnemonicI/O
1GND- -yesGround
2VCCI-yesPower: 2.8 - 5.5 VDC
3
4 TX
5DII yes yes
6DOOyes-
7 SHDN
8GPI2 / SLEEPIyes-
9
GPO2 /
RX LED
_PWROyes-
GPO1 / CTS
RS-485 TX_EN
GPI1 / RTS
/
/
CMD
/ RSSI
High Impedance
during Shutdown
Oyes-
Ino yes
Oyes-
Iyes-
I*no-
O*no-
Must
Connect
General Purpose Output 2: <Default (CD=2)> Pin is driven low. Refer to the CD
Command [p24] for other configuration options.
RX LED: Pin is driven high during RF data reception; otherwise, the pin is driven
low. Refer to the CD Command [p24] to enable.
Transmit_Power: Pin pulses low during RF transmission; otherwise, the pin is
driven high to indicate power is on and the module is not in Sleep or Shutdown
Mode.
Data In: Serial data entering the module (from the UART host). Refer to the Serial
Communications [p9] section for more information.
Data Out: Serial Data exiting the module (to the UART host). Refer to the Serial
Communications [p9] section for more information.
Shutdown: Pin is driven high during operation and low during Shutdown.
Shutdown enables the lowest power mode (~5 μA) available to the module. Refer
to the Shutdown Mode [p14] section for more information.
General Purpose Input 2: reserved for future use
SLEEP: By default, SLEEP is not used. To configure this pin to enable Sleep
Modes, refer to the Sleep Mode [p14], SM Command [p37] & PW Command [p32]
sections.
General Purpose Output 1: reserved for future use
(Clear-to-Send): <Default (CS=0)> When pin is driven low, the UART host
CTS
is permitted to send serial data to the module. Refer to the Serial Communications
[p9] & CS Command [p25] sections for more information.
RS-485 Transmit Enable: To configure this pin to enable RS-485 half and fullduplex communications. Refer to the Serial Communications [p9] & CS Command
[p25] sections.
General Purpose Input 1: reserved for future use
(Request-to-Send): By default, is not used. To configure this pin to
RTS
regulate the flow of serial data exiting the module, refer to the Serial
Communications [p9] & RT Command [p36] sections.
CMD (Command): By default, CMD is not used. To configure this pin to enable
binary command programming, refer to the Binary Commands [p17] & RT
Command [p36] sections.
Configuration: Pin can be used as a backup method for entering Command
Mode during power-up. Refer to the Command Mode [p17] section for more
information.
Receive Signal Strength Indicator: By default, pin is used as an RSSI PWM
output after at the conclusion of the power-up sequence. Refer to the RP
Command [p35] for more information. The PWM output is 2.8V-level.
Function
tcennoc ton od / devreser02-21
* RF module has 10K internal pull-up resistor
Note: When integrating the module with a Host PC board, all lines not used should be left disconnected (floating).
The data flow sequence is initiated when the first byte of data is received in the DI Buffer of the
transmitting module (XTend RF Module A). As long as XTend RF Module A is not already receiving
RF data, data in the DI Buffer is packetized then transmitted over-the-air to XTend RF Module B.
Timing Specifications
Figure 1-03. Timing Specations (‘A’ and ‘B’ refer to Figure 1-02)
Table 1-04. AC Characteristics (Symbols correspond with Figure 1-02 and Figure 1-03, ATSY Parameter = 0)
WARNING: When operating at 1 Watt power output, observe a minimum separation distance of 2' (0.6m) between
modules. Transmitting in close proximity of other modules can damage module front ends.
Serial Communications
The XTend OEM RF Modules interface to a host device through a TTL-level asynchronous serial
port. Through its serial port, the module can communicate with any UART voltage compatible
device or through a level translator to any serial device (For example: RS-232/485/422 or USB
interface board).
UART Data Flow
Devices that have a UART interface can connect directly to the pins of the RF module as shown in
the figure below.
Figure 2-01. System Data Flow Diagram in a UART-interfaced environment
(Low-asserted signals distinguished with horizontal line over signal name.)
Serial Data
Data enters the module UART through the pin 5 as an asynchronous serial signal. The signal
should idle high when no data is being transmitted.
Each data byte consists of a start bit (low), 8 data bits (least significant bit first) and a stop bit
(high). The following figure illustrates the serial bit pattern of data passing through the module.
Figure 2-02. UART data packet 0x1F (decimal number "31") as transmied through the RF module
The module UART performs tasks, such as timing and parity chec
communications. Serial communications depend on the two UARTs to be configured with compatible settings (baud rate, parity, start bits, stop bits, data bits).
Example Data Format is 8-N-1 (bits - parity - # of stop bits)
Figure 2-03. Internal Data Flow Diagram (The ve most commonly-used pin signals shown)
DI (Data In) Buffer and Flow Control
When serial data enters the module through the DI pin (pin 5), the data is stored in the DI Buffer
until it can be processed.
When the RB and RO parameter thresholds are satisfied (refer to ‘Transmit Mode’ section for more
information), the module attempts to initialize an RF connection. If the module is already receiving
RF data, the serial data is stored in the module's DI Buffer. The DI buffer stores at least 2.1 KB. If
the DI buffer becomes full, hardware or software flow control must be implemented in order to
prevent overflow (loss of data between the host and RF module).
How to eliminate the need for flow control:
1. Send messages that are smaller than the DI buffer size. The size of the DI buffer varies
according to the packet size (PK parameter) and the parity setting (NB parameter) used.
2. Interface at a lower baud rate (BD parameter) than the RF data rate (BR parameter).
Two cases in which the DI Buffer may become full and possibly overflow:
1. If the serial interface data rate is set higher than the RF data rate of the module, the module will recei
2. If the module is receiving a continuous stream of RF data or if the module is monitoring
data on a network, any serial data that arrives on the DI pin (pin 5) is placed in the DI
Buffer. The data in the DI buffer will be transmitted over-the-air when the module no longer
detects RF data in the network.
Hardware Flow Control (CTS
the module de-asserts CTS
(Flow Control Threshold) and CS (GPO1 Configuration) Commands]. CTS
DI Buffer has 34 bytes of memory available.
Software Flow Control (XON). XON/XOFF software flow control can be enabled using the FL
(Software Flow Control) Command. This option only works with ASCII data.
DO (Data Out) Buffer
When RF data is received, the data enters the DO buffer and is sent out the serial port to a host
device. Once the DO Buffer reaches capacity, any additional incoming RF data is lost. The DO
buffer stores at least 2.1 KB.
Two cases in which the DO Buffer may become full and possibly overflow:
1. If the RF data rate is set higher than the interface data rate of the module, the module will
receive data from the transmitting module faster than it can send the data to the h
2.If the host does not allow the module to transmit data out from the DO buffer because of
being held off by hardware or software flow control.
ve data from the host faster than it can transmit the data over-the-air.
). When the DI buffer is 17 bytes away from being full; by default,
(high) to signal to the host device to stop sending data [refer to FT
is re-asserted after the
ost.
Hardware Flow Control (RTS
not be sent out the DO Buffer as long as RTS
Software Flow Control (XOFF). XON/XOFF software flow control can be enabled using the FL
(Software Flow Control) Command. This option only works with ASCII data.
). If RTS is enabled for flow control (RT Parameter = 2), data will
By default, XTend RF Modules operate in Transparent Mode. The modules act as a serial line
replacement - all UART data received through the DI pin is queued up for RF transmission. When
RF data is received, the data is sent out the DO pin.
When the RO (Packetization Timeout) parameter threshold is satisfied, the module attempts to initialize an RF transmission. If the module cannot immediately transmit (for instance, if it is already
receiving RF data), the serial data cont
sent at any RO timeout or when the maximum packet size is received.
The module operates as described above unless the Command Mode Sequence is detected. The
Command Mode Sequence consists of three copies of the command sequence character [CC
parameter] surrounded by the before and after guard times [BT & AT parameters].
If the DI buffer becomes full, hardware or software flow control must be implemented in order to
prevent overflow (loss of data between the host and module).
API Operation
API (Application Programming Interface) Operation is an alternative to the default Transparent
Operation. The API is frame-based and extends the level to which a host application can interact
with the networking capabilities of the module. When in API mode, all data entering and leaving
the RF module is contained in frames that define operations or events within the module.
Transmit Data Frames (received through the DI (Data In) pin) include:
16-bit address
Receive Data Frames (sent out the DO (D
Showing a received RF packet (16 bits only)
Response to a TX (Transmit) packet
Showing events such as hardware reset, watchdog reset, asynchronous events, etc.
The module will send data frames to the application containing status packets; as well as source,
RSSI and payload information from received data packets.
API operation option facilitates many operations such as the examples cited below:
-> Change destination addresses without having to enter command mode
-> Receive success/failure status of each RF packet
-> Identify the source address of each received packet
inues to be stored in the DI Buffer. Data is packetized and
ata Out) pin) include:
To implement API operations, refer to ‘API Operation’ sections [p40].
DigiMesh Operation
XTend OEM RF Modules containing firmware version 8020 (or above) now feature DigiMesh mesh
networking support. Mesh networking allows messages to be routed through several different
9XTend nodes to a final destination node. This firmware load allows OEMs and system integrators
to bolster their networks with the self-healing attributes of mesh networking. In the event that
one RF connection between nodes is lost (due to power-loss, environmental obstructions, etc.)
critical data can still reach its destination due to mesh networking capabilities embedded
module. Transparent or API operations can be used in conjunction with the mesh networking
topology.
When not receiving or transmitting data, the RF module is in Idle Mode. The module shifts into the
other modes of operation under the following conditions:
Transmit Mode: Serial data is received in the DI Buffer
Receive Mode: Valid RF data is received through the antenna
Shutdown Mode: Shutdown condition is met
Sleep Mode: Sleep Mode condition is met
Command Mode: Command Mode Sequence is issued
The module automatically transitions back to Idle Mode after responding to these conditions.
(RF modules can only be in one mode at a time)
Transmit Mode
When the first byte of serial data is received from the UART in the DI buffer, the module attempts
to shift to Transmit Mode and initiate an RF connection with other modules. After transmission is
complete, the module returns to Idle Mode.
RF transmission begins after either of the following criteria is met:
1.RB bytes have been received by the UART and are pending for RF transmission.
[Refer to the RB (Packetization Threshold) Command]
2.At least one character has been received by the UART and is pending for RF transmission;
and RO character times of silence been observed on the UART.
[Refer to the RO (Packetization Timeout) Command]
Figure 2-05. Transmit Mode Data Flow
The character timeout trigger can be
disabled by setting RO to zero. In this
case, transmission will not begin until
RB bytes have been received
pending for RF transmission. The RB
parameter may be set to any value
between 1 and the RF packet size [refer
to PK (Max RF Packet Size) parameter],
inclusive. Note that transition to Transmit Mode cannot take place during RF
reception; the RF reception must complete before the radio can transition into
Transmit Mode.
If RB or RO conditions are met, the
module initializes a communications channel. Serial data in the DI buffer is grouped into RF packets (up to 2048 bytes in each pa
ted over-the-air until the DI buffer is empty.
and are
cket, refer to PK Command), converted to RF data and is transmit-
Channel initialization is the process of sending an RF initializer that synchronizes receiving modules with the transmitting module. During channel initialization, incoming serial data accumulates
in the DI buffer.
RF data, which includes the payload data, follows the RF initializer. The payload includes up to the
maximum packet size (PK Command) bytes. As the TX module nears the end of the transmission,
it inspects the DI buffer to see if more data exists to be transmitted. This
than PK bytes were originally pending in the DI buffer or if more bytes arrived from the UART after
the transmission began. If more data is pending, the transmitting module assembles a subsequent
packet for transmission.
Refer to the ‘RF Communication Modes’ section to view state diagrams that illustrate channel initialization and the sequence of events that follow.
RF Packet
Figure 2-06. RF Packet Components
could be the case if more
* When streaming multiple RF packets, the RF Initializer is only sent in front of the first packet.
RF Initializer
An RF initializer is sent each time a new connection sequence begins. The RF initializer contains
channel information that notifies receiving modules of information such as the hopping pattern
used by the transmitting module. The first transmission always sends an RF initializer.
An RF initializer can be of various lengths depending on the amount of time determined to be
required to prepare a receiving module. For example, a wake
used to wake remote modules from Sleep Mode (Refer to the FH, LH, HT and SM Commands for
more information). The length of the wake-up initializer should be longer than the length of time
remote modules are in cyclic sleep.
Header
The header contains network addressing information that filters incoming RF data. The receiving
module checks for matching a Hopping Channel, VID and Destination Address. Data that does not
pass through all three network filter layers is discarded.
Refer to the ‘Addressing’ section of the “RF Communication Modes
CRC (Cyclic Redundancy Check)
To verify data integrity and provide built-in error checking, a 16-bit CRC (Cyclic Redundancy
Check) is computed for the transmitted data and attached to the end of each RF packet. On the
receiving end, the receiving module computes the CRC on all incoming RF data. Received data that
has an invalid CRC is discarded [refer to the ‘Receive Mode’ section].
-up initializer is a type of RF initializer
” chapter for more information.
Receive Mode
If a module detects RF data while operating in Idle Mode, the module transitions to Receive Mode
to start receiving RF packets. Once a packet is received, the module checks the CRC (cyclic redundancy check) to ensure that the data was transmitted without error. If the CRC data bits on the
incoming packet are invalid, the packet is discarded. If the CRC is valid, the packet proceeds to the
DO Buffer.
* Refer to the ‘Address Recognition’ section for more information regarding
address recognition.
The module returns to Idle Mode
when valid RF data is no longer
detected or after an error is
detected in the received RF data. If
serial data is stored in the DI
buffer while the module is in
Receive Mode, the serial data will
be transmitted after the module is
finished receiving data and returns
to Idle Mode.
Shutdown Mode
Hardware Sleep
For applications where power consumption must be kept to a minimum during idle periods, Shutdown Mode offers the lowest power mode available to the module.
When the SHDN
nication in progress (transmit or receive) will be halted and any buffered data will be lost. For any
other mode of operation, SHDN
ule's VCC pin draws 5 μA (typical).
Immediately after the SHDN
there is a delay that must be observed. Delay time is <100ms.
While SHDN
TX_PWR, RX LED, DO and CTS
RSSI indication) is driven low during shutdown.
The following input pins may continue to be driven by external circuitry when in shutdown mode:
PIN_PWR_DWN, RTS
Note: Because the DO pin also goes high impedance, if the XTend RF Module is connected to a processor, the UART receive pin could be floating. A weak pull-up should be placed between the module
and the microcontroller so that data is not interpreted as being transmitted to the microprocessor.
pin (pin 7) is driven low, the module is forced into shutdown mode. Any commu-
must be driven or pulled high. While in shutdown mode, the mod-
pin changes state from low to high, the module resets. After reset,
pin is driven low, the following pins are set to high impedance by the module: DCD,
(See pin signal descriptions, p6). The SHDN line (also used for
, DI and SHDN.
Sleep Mode
Software Sleep
Sleep Modes enable the module to enter states of low-power consumption when not in use. Three
software Sleep Modes are supported:
Pin Sleep (Host Controlled)
Serial Port Sleep (Wake on Serial Port activity)
In order to enter Sleep Mode, one of the following conditions must be met (in addition to the module having a non-zero SM parameter value):
1.The module is idle (no data transmission or reception) for the amount of time defined by
the ST (Time before Sleep) parameter. [NOTE: ST is only active when SM = 4-5.]
2.SLEEP (pin 8) is asserted (only for the ‘Pin Sleep’ option).
When in Sleep Mode, the module will not transmit or receive data until the module first transitions
to Idle Mode. All Sleep Modes are enabled and disabled using SM Command. Transitions into and
out of Sleep Modes are triggered by various mechanisms as shown in the table below.
Table 2-01. Summary of Sleep Mo
Sleep Mode
(Setting)
Pin Sleep
(SM = 1)
Serial Port Sleep
(SM = 2)
Cyclic Sleep
(SM = 4 - 8)
Transition into
Sleep Mode
Assert (high) SLEEP pin - A micro
controller can shut down and wake
modules via the SLEEP pin.
Note: The module will complete a
transmission or reception before
activating Pin Sleep.
Automatic transition to Sleep Mode
occurs after a user-defined period of
inactivity (no transmitting or receiving of
data).
Period of inactivity is defined by the ST
(Time before Sleep) Command.
RF module transitions in and out of
wake-up interval of time is set using the SM command). The cyclic sleep
interval of time must be shorter than the interval of time that is defined by the
LH (Wake-up Initializer TImer) command.
Note: The module can be forced into Idle Mode using the SLEEP pin if the PW
(Pin Wake-up) command is issued.
de Courations
Transition out of Sleep
Mode (wake)
De-assert (low) SLEEP pin(SM)< 147 μA
When a serial byte is received on
the DI pin
Sleep Mode in cycles (user-selectable
Related
Commands
(SM), ST< 10 mA
(SM), ST, HT,
LH, PW
Power
Consumption
< 1.6 mA
when sleeping
(SM=4, 1 sec.,
@120K baud)
The SM (Sleep Mode) command is central to setting all Sleep Mode configurations. By default,
Sleep Modes are disabled (SM = 0) and the module remains in Idle/R
state, the module remains constantly ready to respond to serial or RF activity.
Refer to the ‘Hardware Sleep’ section of the ‘Shutdown Mode’ section [previous page] to enable the
module's lowest power-consuming state (5 μA typical power-down current).
Pin Sleep (SM = 1)
Pin/Host-controlled
Typical power-down current: < 147 μA
This mode is voltage level activated. When the SLEEP pin is asserted, the module will finish any
transmitting or receiving activity; enter Idle Mode; then enter a state of sleep. When in Pin Sleep
Mode, the module will not respond to serial or RF activity.
After enabling Pin Sleep, the SLEEP pin controls whether the module is active or sleep
SLEEP is de-asserted, the module is fully operational. When SLEEP is asserted, the module transitions to Sleep Mode and remains in its lowest power-consuming state until the pin is de-asserted.
This pin is only active if the module is setup to operate in this mode; otherwise the pin is ignored.
Once in Pin Sleep, CTS
module. The PWR pin is also de-asserted (low) when the module is in Pin Sleep Mode.
Note: The module will complete a transmission or reception before activating Pin Sleep.
Serial Port Sleep (SM = 2)
Wake on serial port activity
Typical power-down current: < 10 mA
Serial Port Sleep is a Sleep Mode in which the module runs in a low power state until serial data is
detected on the DI pin.
(GPO1) is de-asserted (high), indicating that data should not be sent to the
The period of time the module sleeps is determined by ST (Time before Sleep) Command. Once a
character is received through the DI pin, the module returns to Idle Mode and is fully operational.
Cyclic Sleep (SM = 4-8)
Typical Power-down Current: < 1.6 mA (when asleep)
Cyclic Sleep Modes allow modules to periodically wake and check for RF data. The module wakes
according to the times designated by the Cyclic sleep settings. If the module detects a wake-up
initializer during the time it is awake, the module synchronizes with the transmitting module and
receives data after
Sleep Mode and continues to cycle in and out of activity until a wake-up initializer is detected.
While the module is in Cyclic Sleep Mode, CTS
should not be sent to the module. When the module awakens to listen for data, GPO1 is asserted
and any data received on the DI Pin is transmitted. The PWR pin is also de-asserted (low) when
the module is in Cyclic Sleep Mode.
The module remains in Sleep Mode for a user-defined period of time ranging from 0.5 seconds to
16 seconds (SM parameters 4 through 8). After this interval of time, the module returns to Idle
Mode and listens for a valid data packet for 100 ms. If the module does no
any frequency), the module returns to Sleep Mode. If valid data is detected, the module transitions into Receive Mode and receives the incoming RF packets. The module then returns to Sleep
Mode after a period of inactivity determined by the ST "Time before Sleep" parameter.
The module can also be configured to wake from cyclic sleep when the SLEEP pin is de-asserted.
To configure a module to operate in this manner, PW (Pin Wake-up) Command must be issued.
Once the SLEEP pin is de-asserted, the module is forced into Idle Mode and can begin transmitting
or receiving da
by the ST Command, at which point it resumes its low-power cyclic state.
Cyclic Scanning. Each RF transmission consists of an RF Initializer and payload. The RF initializer
contains initialization information and all receiving modules must wake during the wake-up initializer portion of data transmission in order to be synchronized with the transmitting module and
receive the data.
the wake-up initializer runs its duration. Otherwise, the module returns to
ta. It remains active until data is no longer detected for the period of time specified
(GPO1) is de-asserted (high) to indicate that data
t detect valid data (on
The cyclic interval time defined by the SM (Sleep Mode) command must be shorter than the interval
time defined by LH (Wake-up Initializer Timer) command.
Figure 2-08. Correct Couration (LH > SM):
The length of the wake-up initializer exceeds the time interval of Cyclic Sleep. The receiver is
guaranteed to detect the wake-up initializer and receive the accompanying payload data.
Command Mode
To modify or read module parameters, the module must first enter into Command Mode (state in
which incoming characters are interpreted as commands). Two command types are supported:
AT Commands
Binary Commands
For modified parameter values to persist in the module registry, changes must be saved to nonvolatile memory using the WR (Write) command. Otherwise, parameters are restored to previously
saved values when the module is powered off and then on again.
1.Send the 3-character command sequence "+++" and observe guard times before and after
the command characters. [refer to ‘Default AT Command Mode Sequence’ below.] The ‘Terminal’ tab (or other serial communications software) of the X-CTU Software can be used to
enter the sequence.
[OR]
2.Assert (low) the CONFIG
pulse the SHDN
[If the module is mounted to a Digi RS-232/485 Interface Board, the result can be achieved
by pressing the configuration switch down for 2 seconds.]
Default AT Command Mode Sequence (for transition to Command Mode):
No characters sent for one second [refer to the BT (Guard Time Before) Command]
Input three plus characters (“+++”) within one second
[refer to the CC (Command Sequence Character) Command.]
No characters sent for one second [refer to the AT (Guard Time After) Command.]
All of the parameter values in the sequence can be modified to reflect user preferences.
To Send AT Commands:
Send AT commands and parameters using the syntax shown below.
Figure 2-09. Syntax for sending AT Commands
pin and turn the power going to the module off and back on (or
pin).
To read a parameter value stored in the module register, leave the parameter field blank.
The preceding example would change the module’s Destination Address to "0x1F". To store the
new value to non-volatile (long term) memory, the Write (ATWR) command must subsequently be
sent before powering off the module.
System Response. When a command is sent to the module, the module will parse and execute
the command. Upon successful execution of a command, the module returns an “OK” message. If
execution of a command results in an error
To Exit AT Command Mode:
1.If no valid AT Commands are received within the time specified by CT (Command Mode
Timeout) Command, the module automatically returns to Idle Mode.
[OR]
2.Send ATCN (Exit Command Mode) Command.
For an example of programming the RF module using AT Commands and descriptions of each configurable parameter, refer to the "RF Module Configuration" chapter [p19].
Binary Command Mode
Sending and receiving parameter values using binary commands is the fastest way to change
operating parameters of the module. Binary commands are used most often to sample signal
strength [refer to DB (Received Signal Strength) parameter] and/or error counts; or to change
module addresses and channels for polling systems when a quick response is necessary. Since the
sending and receiving of parameter values takes place through the same serial data path as 'live'
data (received RF payload), interference between the two types of data can be a concern.
Common questions about us
What are the implications of asserting CMD while live data is being sent or received?
After sending serial data, is there a minimum time delay before CMD can be asserted?
Is a time delay required after CMD is de-asserted before payload data can be sent?
How does one discern between live data and data received in response to a command?
The CMD pin (pin 10) must be asserted in order to send binary commands to the module. The
CMD pin can be asserted to recognize binary commands anytime during the transmission or reception of data. The status of the CMD signal is only checked at the end of the stop bit as the byte is
shifted into the serial port. The application does not allow control over when data is received,
except by waiting
If the command is sent in the middle of a stream of payload data to be transmitted, the command
will essentially be executed in the order it is received. If the module is continuously receiving data,
the radio will wait for a break in the received data before executing the command. The CTS
will frame the response coming from the binary command request [refer to figure below].
A minimum time delay of 100 μs (after the stop bit of the command byte has been sent) must be
observed before the CMD pin can be de-asserted. The command executes after all parameters
associated with the command have been sent. If all parameters are not received within 0.5 seconds, the module returns to Idle Mode.
Note: When parameters are sent, they are two bytes long with the least significant byte sent first.
Binary commands that return one parameter byte must be written with
Commands can be queried for their current value by sending the command logically ORed (bitwise) with the value 0x80 (hexadecimal) with CMD asserted. When the binary value is sent (with
no parameters), the current value of the command parameter is sent back through the DO pin.
Figure 2-010.Binary Command Write then Read
Signal #4 is CMD
Signal #1 is the DI signal
Signal #2 is the DO signal from the radio
Signal #3 is CTS
for dead time between bursts of communication.
signal
two parameter bytes.
In this graph, a value was written to a register and then read out to verify it. While
not in the middle of other received data,
note that the CTS
response out of the module.
IMPORTANT: In order for the module to recognize a binary command, the RT (GPI1 Configuration)
parameter must be set to one. If binary programming is not enabled (RT parameter value is not equal
to ‘1’), the module will not recognize that the CMD pin is asserted and therefore will not recognize the
data as binary commands.
Refer to [p19] for a binary programming example (DT command example returns two bytes).
Refer to the ‘Command Mode’ section [p17] for information regarding entrance into Command
Mode, sending AT commands and exiting Command Mode. Refer to the ‘X-CTU’ section [p81] of
the ‘Development Guide’ for more information regarding MaxStream’s configuration software.
AT Commands
To Send AT Commands (Using the ‘Terminal’ tab of the X-CTU Software)
Example: Utilize the 'Terminal' tab of the X-CTU Software to change the module's DT (Destination Address) parameter and save the new address to non-volatile memory. This example
Note: Do not send commands to the module
during sh programming (when parameters
being wrien to the
are
module registry).
Wait for the "OK" system response that follows the ATWR
command before entering the next command
or use ow control.
requires the installation of Digi’s X-CTU Software and a serial connection to a PC.
Select the ‘Terminal’ tab of the X-CTU Software and enter the following command lines:
OK <CR> (En
{current value} <CR> (Read Destination Address)
OK <CR> (Modify Destination Address)
OK <CR> (Write to non-volatile memory)
OK <CR> (Exit Command Mode)
System Response
OK <CR> (Enter into Command Mode)
{current value} <CR> (Read Destination Address)
OK <CR> (Execute commands)
ter into Command Mode)
Note: When using X-CTU Software to program a module, PC com port settings must match the baud
(interface data rate), parity & stop bits parameter settings of the module. Use the 'Com Port Setup'
section of the “PC Settings” tab to configure PC com port settings to match those of the module.
Binary Commands
To Send Binary Commands:
Example: Use binary commands to change the RF module's destination address to 0x1A0D and
save the new address to non-volatile memory.
Commands in this section are listed alphabetically. Command categories are designated between
the "< >" symbols that follow each command title. By default, XTend RF Modules expect numerical
values in hexadecimal since the default value of the CF (Number Base) Parameter is '1'. Hexadecimal values are designated by the "0x" prefix and decimal values by the "d" suffix.
%V (Board Voltage) Command
<Diagnostics> %V Command is used to read the
current voltage of the module circuit board.
Sample Output:
5.02 V (when ATCF = 0)
5051F (when ATCF = 1) *
5.02 (when ATCF = 2)
* When CF = 1 (default), a hex integer is shown
that is equal to (voltage * 65536d).
AM (Auto-set MY) Command
<Networking & Security> AM Command is used
to automatically set the MY (Source Address)
parameter from the factory-set serial number of
the module. The address is formed with bits 29,
28 and 13-0 of the serial number (in that order).
The resulting value is displayed as a result of this command.
AP (API Enable) Command
<Serial Interfacing> The AP command is used to
enable the module to operate using the framebased API operation.
AT (Guard Time After) Command
AT Command: AT%V
Binary Command:
Parameter Range (read-only):
Number of bytes returned: 4
AT Command: ATAM
Binary Command: 0x40 (64 decimal)
AT Command: ATAP
Parameter Range:0 - 2
Default Parameter Value:0
Number of Bytes Returned:1
Minimum Firmware Version Required: 2.x20
0x3B (59 decimal)
0x2CCCA - 0x5BFFA
(2.80 - 5.75 decimal)
ParameterConfiguration
0
1
2
API Disabled
(Transparent Operation)
API enabled
(w/out escaped
characters)
API enabled
(with escaped
characters)
<Command Mode Options> AT Command is used
to set/read the time-of-silence that follows the
command sequence character (CC Command) of
the AT Command Mode Sequence (BT + CC +
AT). By default, 1 second must elapse before and
after the command sequence character.
The times-of-silence surrounding the command
sequence character are used to prevent inadvertent entrance into AT Command Mode.
Refer to the ‘AT Command Mode’ section [p17] for
more information regarding the AT Command Mode Sequence.
AT Command: ATAT
Binary Command: 0x05 (5 decimal)
Parameter Range:2 - (ATST-3), up to 0x7FFC
[x 100 milliseconds]
Default Parameter Value: 0x0A (10 decimal)
Number of bytes returned: 2
Related Commands: BT (Guard Time Before),
CC (Command Sequence Character)
<Serial Interfacing> The BD command is used to
set and read the serial interface data rate (baud
rate) used between the RF module and host. This
parameter determines the rate at which serial
data is sent to the module from the host. Modified
interface data rates do not take effect until the CN
(Exit AT Command Mode) command is issued and
the system returns the 'OK' response.
When parameters 0-8 are sent to the module, the
respective interface data rates are used (as
shown in the table on the right).
The RF data ra
eter. If the interface data rate is set higher than
the RF data rate, a flow control configuration may
need to be implemented.
The range between standard and non-standard
baud rates (0x09 - 0x38) is invalid.
Non-standard Interface Data Rates:
Any value above 0x38 will be interpreted as an
actual baud rate. When a value above 0x38 is
sent, the closest interface data rate represented
by the number is stored in the BD register. For example, a rate of 19200 bps can be set by sending the following command line "ATBD4B00". NOT
dard interface data rates can only be set and read using the X-CTU ‘Terminal’ tab. Non-standard
rates are not accessible through the ‘Modem Configuration’ tab.
When the BD command is sent with a non-standard interface data rate, the UART will adjust to
accommodate the requested interface rate. In most cases, the clock resolution will cause the
stored BD parameter to vary from the parameter that was sent (refer to the table below). Reading
the BD command (send "ATBD" command without an associated parameter value) will return the
value actually stored in the module’s BD register
Parameters Sent Versus Parameters Stored
BD Parameter Sent (HEX)Interface Data Rate (bps)BD Parameter Stored (HEX)
<AT Command Mode Options> The CC command
is used to set/read the ASCII character used
between guard times of the AT Command Mode
Sequence (BT + CC + AT). This sequence enters
the module into AT Command Mode so that data
entering the module (from the host) is recognized
as commands instead of payload.
Refer to the ‘AT Command Mode’ section [p17] for
more information regarding the AT Command
Mode Sequence.
CC (Command Sequence Character) Command
<AT Command Mode Options> The CC command
is used to set/read the ASCII character used
between guard times of the AT Command Mode
Sequence (BT + CC + AT). This sequence enters
the module into AT Command Mode so that data
entering the module (from the host) is recognized
as commands instead of payload.
Refer to the ‘AT Command Mode’ section [p17] for
more information regarding the AT Command
Mode Sequence.
CD (GPO2 Configuration) Command
AT Command: ATCC
Binary Command: 0x13 (19 decimal)
Parameter Range: 0x20 - 0x7F
Default Parameter Value: 0x2B (ASCII “+”)
Number of bytes returned: 1
Related Commands: AT (Guard Time After), BT
(Guard Time Before)
AT Command: ATCC
Binary Command: 0x13 (19 decimal)
Parameter Range: 0x20 - 0x7F
Default Parameter Value: 0x2B (ASCII “+”)
Number of bytes returned: 1
Related Commands: AT (Guard Time After), BT
(Guard Time Before)
<Serial Interfacing> CD Command is used to
select/read the behavior of the GPO2 line (pin 3).
CF (Number Base) Command
<Command Mode Options> CF command is used
to set/read the command formatting setting.
The following commands are always entered and
read in hex, no matter the CF setting:
VR (Firmware Version)
HV (Hardware Version)
KY (AES Encryption Key)
<Command Mode Options> The CN command is
used to explicitly exit the module from AT Command Mode.
CS (GPO1 Configuration) Command
<Serial Interfacing> CS Command is used to
select the behavior of the GP01 pin (pin 9). This
output can provide RS-232 flow control, control
the TX enable signal (for RS-485 or RS-422 operations).
By default, GP01 provides RS-232 CTS
Send) flow control.
CT (Command Mode Timeout) Command
<Command Mode Options> The CT command is
used to set and read the amount of inactive time
that elapses before the module automatically
exits from AT Command Mode and returns to Idle
Mode.
Use the CN (Exit AT Command Mode) command
to exit AT Command Mode manually.
DB (Received Signal Strength) Command
(Clear-to-
AT Command: ATCN
Binary Command: 0x09 (9 decimal)
AT Command: ATCS
Binary Command: 0x1F (31 decimal)
Parameter Range: 0 - 4
ParameterConfiguration
0RS-232 CTS
1RS-485 TX enable low
2High
3RS-485 TX enable high
4Low
Default Parameter Value: 0
Number of bytes returned: 1
Related Commands: RT (GPI1 Configuration),
TO (GP01 Timeout)
AT Command: ATCT
Binary Command: 0x06 (6 decimal)
Parameter Range:2 - 0xFFFF
[x 100 milliseconds]
Default Parameter Value: 0xC8 (200d)
Number of bytes returned: 2
Related Command: CN (Exit AT Command
Mode)
flow control
<Diagnostics> DB Command is used to read the
receive signal strength (in decibels relative to milliWatts) of the last received packet. This parameter is useful in determining range characteristics
of the RF modules under various conditions.
In default mode, this command shows the power
level in signed decimal format with the units (dBm). If CF = 1, the magnitude of the value is presented in unsigned hex. If CF = 2, the value is presented in decimal, but without the units.
Sample Output:-88 dBm(
58 (when ATCF = 1)
-88 (when ATCF = 2)
NOTE: If the DB register is read before the module has received an RF packet, the module will
return a value of 0x8000 (which means an RF packet has not yet been received).
when ATCF = 0)
AT Command: ATDB
Binary Command: 0x36 (54 decimal)
Parameter Range (read-only): 0x6E - 0x28