This document contains information that is proprietary and confidential to B&B
Electronics Mfg. Co. Inc. The methods described herein are for the exclusive use of
B&B Electronics authorized personnel. Any unauthorized use or dissemination of the
information contained in the document is strictly forbidden.
2 Manual Documentation Number: ZP9D-115RM-LR-0812
B&B Electronics Mfg Co Inc – 707 Dayton Rd - PO Box 1040 - Ottawa IL 61350 - Ph 815-433-5100 - Fax 815-433-5104 – www.bb-elec.com
Easy to install, up to 14 mile range No wires, no
cables! Zlinx radio modems get your
data moving farther, easier, and at less cost than
running cable. Plug-n-play, Modbus compatible,
signal strength indicator, space saving DIN rail
mounting. Heavy-duty, wide temperature design
handles most industrial power configurations and
tough indoor/outdoor environments.
Package Contents
Radio Modem
Antenna
Software CD
Manual on CD
Will require separate 18-30VAC or 10-48VDC Power Supply
ZP9D-115RM-LR = 5.0W max
4 Manual Documentation Number: ZP9D-115RM-LR-0812
B&B Electronics Mfg Co Inc – 707 Dayton Rd - PO Box 1040 - Ottawa IL 61350 - Ph 815-433-5100 - Fax 815-433-5104 – www.bb-elec.com
Note: The DTR input is
used to put the radio
into sleep mode. The
radio sleep option must
be enabled first using
the configuration
software. Once
enabled, lowering the
DTR signal will put the
radio in sleep mode
and raising the DTR
signal will put the radio
in idle mode, ready to
receive or transmit
data.
RS-232
RS-232 Always present on DB9
6 Manual Documentation Number: ZP9D-115RM-LR-0812
B&B Electronics Mfg Co Inc – 707 Dayton Rd - PO Box 1040 - Ottawa IL 61350 - Ph 815-433-5100 - Fax 815-433-5104 – www.bb-elec.com
3. Click on the Radio Modem Configuration button to configure the
modem on-line or the Radio Modem Configuration Button (offline) to
configure the modem offline. Follow the on screen directions to
configure the modem. Note: using the off-line configuration button
skips the auto modem discovery process.
3. Click the Auto Modem Search button. The Zlinx Manager
software will find the radio modem. If the modem is not found,
the following screen will appear.
4. When the modem is found, the following screen will appear.
5. On the Basic Modem setting tab, configure a unique channel
number, network identifier, and destination address. This will
prevent interference from other modems. Click the Update
button to save the parameters. Click the Restore Defaults
button to revert to the default configuration.
6. Use the advanced tab to configure additional parameters.
When each option is highlighted, the text box will display an
explanation of the command and the associated hex range.
Click the update button to save the parameters. Click the
Restore Defaults button to revert to the default configuration.
Special Instructions for Installation and Operation
in a Class 1 Div 2 Environment
When this device is operated in a Class 1 Div 2 environment, the following PRECAUTIONS and WARNINGS must be observed:
1. Power, input and output (I/O) wiring must be in accordance with Class 1 Division 2 wiring methods [Article 501.10(B) of the
National Electrical Code, NFPA 70] and in accordance with the authority having jurisdiction.
2. WARNING – EXPLOSION HAZARD – SUBSTITUTION OF ANY COMPONENTS MAY IMPAIR SUITABILITY FOR CLASS 1,
DIVISION 2.
3. WARNING – EXPLOSION HAZARD – WHEN IN HAZARDOUS LOCATIONS, TURN OFF POWER BEFORE REPLACING OR
WIRING MODULES.
4. WARNING – EXPLOSION HAZARD – DO NOT DISCONNECT EQUIPMENT UNLESS POWER HAS BEEN SWITCHED OFF
OR THE AREA IS KNOWN TO BE NON-HAZARDOUS.
5. WARNING – THIS APPARATUS IS SUITABLE FOR USE IN CLASS 1, DIVISION 2, GROUPS A, B, C, AND D, OR
UNCLASSIFIED LOCATIONS.
Example: Using Hyper Terminal Software to change the module's DT (Destination
Address) parameter and save the new address to non-volatile memory. A serial
connection to a PC is required.
Method 1 (One line per command)
Send AT Command
System Response
+++
OK <CR> (Enter into Command Mode)_
ATDT <Enter>
{current value} <CR> (Read Destination Address)_
ATDT1A0D <Enter>
OK <CR> (Modify Destination Address)_
ATWR <Enter>
OK <CR> (Write to non-volatile memory)_
ATCN <Enter>
OK <CR> (Exit Command Mode)
Method 2 (Multiple commands on one line)
Send AT Command
System Response
+++
OK <CR> (Enter into Command Mode)
ATDT <Enter>
{current value} <CR> (Read Destination Address)
ATDT1A0D,WR,CN
<Enter>
OK <CR> (Execute commands)
Note: When using hyper terminal to program a modem, PC com port settings must match the baud
(interface data rate), parity & stop bits parameter settings of the module.
Note: Do not send commands to the module during flash programming (when parameters are
being written to the module registry).
Wait for the OK sys tem response that follows the ATWR command before entering the next
command or use flow control.
B&B Electronics Mfg Co Inc – 707 Dayton Rd - PO Box 1040 - Ottawa IL 61350 - Ph 815-433-5100 - Fax 815-433-5104 – www.bb-elec.com
Page 28
AT Command: AT%V
Binary Command: 0x3B (59 decimal)
Parameter Range (read-only): 0x2CCCA 0x5BFFA (2.80 - 5.75 decimal)
Number of bytes returned: 4
AT Command: ATAM
Binary Command: 0x40 (64 decimal)
AT Command: ATAP
Parameter Range: 0 - 2
Parameter
Configuration
0
API Disabled
(Transparent
Operation)
1
API enabled (w/out
escaped characters)
2
API enabled (with
escaped characters)
Default Parameter Value:0
Number of Bytes Returned:1
Minimum Firmware Version Required: 2.x20
Command Descriptions
Commands in this section are listed alphabetically. Command categories are
designated between the "< >" symbols that follow each command title. By default,
Zlinx Radio Modems 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.
Non-standard baud rates supported as of
firmware v2.x20
Number of bytes returned: 4
AT (Guard Time After)
Command
<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 for more information regarding the AT Command Mode Sequence.
BD (Interface Data Rate)
Command
<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 rate is not affected
by the BD parameter. 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.
Related Commands: AT (Guard Time After), BT
(Guard Time Before)
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".
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
BR (RF Data Rate) Command
<RF Interfacing> The BR
command is used to set and
read the RF data rate (rate that
RF data is transmitted over-theair) of the module.
BT (Guard Time Before)
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.
Related Commands: AT (Guard Time After), BT
(Guard Time Before)
AT Command: ATCD
Binary Command: 0x28 (40 decimal)
Parameter Range: 0 - 8 (standard rates)
Parameter
Configuration
0
RX LED
1
Default High
2
Default Low
3
(reserved)
4
RX LED (valid
address only)
Default Parameter Value: 2
Number of bytes returned: 1
Refer to the „AT Command Mode‟ section 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 for more information regarding the AT
Command Mode Sequence.
CD (GPO2 Configuration)
Command
<Serial Interfacing> CD
Command is used to
select/read the behavior of the
GPO2 line (pin 3).
Related Commands: RT (GPI1 Configuration),
TO (GP01 Timeout)
<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)
CN (Exit AT Command Mode)
Command
<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 RS232 flow control, control
the TX enable signal (for RS485 or RS-422 operations).
By default, GP01 provides RS232 CTS (Clear-to- Send) flow
control.
Parameter Range (read-only): 0x6E - 0x28 (-110
to -40 Decimal)
Number of bytes returned: 2
AT Command: ATDT
Binary Command: 0x00
Parameter Range: 0 - 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Related Commands: HP (Hopping Channel), ID
(Modem VID), MK (Address Mask), MY (Source
Address)
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
<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 Zlinx Radio Modems 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(when ATCF = 0)
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).
DT (Destination Address)
Command
<Networking & Security> DT
Command is used to set/read
the networking address of an RF
module. The modules utilize
three filtration layers: Vendor
ID Number (ATID), Channel
(ATHP), and Destination
Address (ATDT). The DT
command assigns an address to
a module that enables it to
communicate only with other modules having the same address. All modules that
share the same DT parameter can communicate with each other.
Zlinx Radio Modems in the same network with a different destination address (than
that of the transmitter) will listen to all transmissions to stay synchronized, but will not
send any of the data out their serial ports.
<Command Mode Options> E0
Command turns off character
echo in AT Command Mode.
By default, echo is off.
E1 (Echo On) Command
<Command Mode Options> E1
Command enables character
echo in AT Command Mode.
Each typed character will be echoed back to the terminal when ATE1 is active.
E0 (Echo Off) is the default.
ER (Receive Error Count)
Command
<Diagnostics> The ER
command is used to set/read
the number of receive-errors.
The error count records the
number of packets partially
received then aborted on a
reception error. This value
returns to 0 after a reset and is not nonvolatile (Value does not persist in the module's
memory after a power-up sequence). Once the Receive Error Count reaches its
maximum value (up to 0xFFFF), it remains at its maximum count value until the
maximum count value is explicitly changed or the module is reset.
The ER parameter is not reset
by pin, serial port or cyclic sleep
modes.
FH (Force Wake-up Initializer)
Command
<Sleep (Low Power)> The FH command is used to force a Wake-up Initializer to be
sent on the next transmission. Use only with cyclic sleep modes active on remote
modules.
ATFH will not send a long header if ATHT = 0xFFFF. WR (Write) Command does not
need to be issued with FH Command.
FL (Software Flow Control)
Command
<Serial Interfacing> The FL
command is used to configure
software flow control. Hardware
flow control is implemented with
the module as the GP01 pin
(CTS pin of the OEM RF
module), which regulates when
serial data can be transferred to
the module.
FL Command can be used to
allow software flow control to
also be enabled. The XON
character used is 0x11 (17 decimal). The XOFF character used is 0x13 (19 decimal)
Parameter Range: 0 - (DI buffer size minus
0x11) [Bytes]
Default Parameter Value: DI Buffer size minus
0x11 (17 decimal)
Number of bytes returned: 2
AT Command: ATGD
Binary Command: 0x10 (16 decimal)
Parameter Range: 0 - 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Related Commands: ER (Receive Error Count)
FS (Forced Synch Time)
Command
<RF Interfacing> The FS
command only applies to
streaming data. Normally, only
the first packet of a continuous
stream contains the full RF
initializer. Zlinx Radio Modems
then remain synchronized for
subsequent packets of the stream. This parameter can be used to periodically force
an RF initializer during such streaming. Any break in UART character reception long
enough to drain the DI Buffer (UART receive buffer) and cause a pause in RF data
transmission will also cause an RF initializer to be inserted on the next transmission.
FT (Flow Control Threshold)
Command
<Serial Interfacing> The FT
command is used to set/read
the flow control threshold. When
FT
bytes have accumulated in the
DI buffer (UART Receive), CTS
is de-asserted or the XOFF
software flow control character
is transmitted.
GD (Receive Good Count)
Command
<Diagnostics> The GD
command is used to set/
read the count of good received
RF packets. Its parameter value
is reset to 0 after every reset
and is not non-volatile (The
parameter value does not
persist in the RF module's memory after a power-up sequence). Once the "Receive
Good Count" reaches its maximum value (up to 0xFFFF), it remains at its maximum
count value until the maximum count value is manually changed or the module is
reset.
The GD parameter is not reset by pin, serial port or cyclic sleep modes.
Related Commands: ID (Modem VID), DT
(Destination Address), MK (Address Mask)
AT Command: ATHT
Binary Command: 0x03 (3 decimal)
Parameter Range: 0 - 0xFFFF [x 100
milliseconds]
Default Parameter Value: 0xFFFF (wake-up
initializer will not be sent)
Number of bytes returned: 2
Related Commands: LH (Wake-up Initializer
Timer), SM (Sleep Mode), ST (Time before
Sleep)
AT Command: ATHV
Parameter Range: 0 - 0xFFFF [Read-only]
Command
<Networking & Security> The
HP command is used to
set/read the RF module's
hopping channel number. A
channel is one of three layers of
filtration available to the
module.
In order for modules to
communicate with each other, the modules must have the same channel number
since each channel uses a different hopping sequence. Different channels can be
used to prevent modules in one network from listening to transmissions of another.
HT (Time before Wake-up
Initializer) Command
<Sleep (Low Power)> The HT
command is used to set/read
the time of inactivity (no serial or
RF
data is sent or received) before
a wake-up initializer is sent by a
TX (transmitting) RF module.
The HT parameter should be set
shorter than inactivity timeout
[ST Command] time of any RX
(receiving) modules operating in
Cyclic Sleep (SM=4-8). The
wake-up initializer sent by the TX module instructs all RX modules to remain awake to
receive RF data.
From the RX module perspective: After HT time elapses and the inactivity timeout [ST
Command] is met, the RX module goes into cyclic sleep. In cyclic sleep, the RX
module wakes once per sleep interval [SM Command] to check for a wake-up
initializer. When a wake-up initializer is detected, the module stays awake to receive
data. The wake-up initializer must be longer than the cyclic sleep interval to ensure
that sleeping modules detect incoming data.
When HT time elapses, the TX module knows it needs to send a wake-up Initializer
for all RX modules to remain awake and receive the next transmission.
HV (Hardware Version)
Command
<Diagnostics> The HV
command is used to read the hardware version of the RF module.
Parameter Range: 0 - (any other 64-digit hex
valid key)
Default Parameter Value: 0 (disabled)
Number of bytes returned: 2
Number Base: Always Hexadecimal
<Networking & Security> The ID
command is used to set/read
the VID (Vendor Identification
Number) of the RF module.
Zlinx Radio Modems must have
matching VIDs in order to
communicate.
KY (AES Encryption Key)
Command
<Networking & Security> The KY
command is used to set the 256bit AES (Advanced Encryption
Standard) key for
encrypting/decrypting data.
Once set, the key cannot be
read out of the module by any
means. The entire payload of the
packet is encrypted using the
key and the CRC is computed across the ciphertext. When encryption is enabled,
each packet carries an additional 16 bytes to convey the random CBC Initialization
Vector (IV) to the receiver(s). The KY value may be “0” or any 256-bit value (= 64 hex
digits = 32 bytes). Any other value, including entering ATKY by itself with no
parameters, causes an error.
A module with the wrong key (or no key) will receive encrypted data, but the data
driven out the serial port will be meaningless. Likewise, a module with a key will
receive unencrypted data sent from a module without a key, but the output will be
meaningless. Because CBC mode is utilized, repetitive data appears differently in
different transmissions due to the randomly-generated IV.
Related Commands: HT (Time before Wake-up
Initializer), SM (Sleep Mode), ST (Time before
Sleep)
AT
Command:
ATMD
Binary Command: 0x31 (49 decimal)
Parameter
Range:
0 - 6
Parameter
Configuration
0
Transparent Operation
(Repeater Base)
1
[reserved - not used]
2
[reserved - not used]
3
Polling Base
4
Polling Remote
5
Repeater
6
Repeater End Node
Default Parameter Value:
0
Number of bytes returned: 1
Minimum Firmware Version Required: 2.x20
Command
<Sleep (Low Power)> The LH
Command is used to set/read
the duration of time during which
the wake-up initializer is sent.
When receiving modules are in
Cyclic Sleep Mode, they powerdown after a period of inactivity
(as specified by the ST
parameter) and will periodically
wake and listen for transmitted
data. In order for the receiving
modules to remain awake, they must detect ~35ms of the wake-up initializer.
LH Command must be used whenever a receiving module is operating in Cyclic Sleep
Mode. The Wake-up Initializer Time must be longer than the cyclic sleep time that [as
determined by SM (Sleep Mode) parameter]. If the wake-up initializer time were less
than the Cyclic Sleep interval, the connection would be at risk of missing the wake-up
initializer transmission.
Refer to figures located under the SM command description to view diagrams of
correct and incorrect configurations. The images emphasize that the LH value must
be greater than the SM value.
MD (RF Mode) Command
<Networking & Security> The
MD command is used to
select/read the settings that
enable the Polling and Repeater
Modes on the module.
Polling Mode - A „Polling Base‟
is responsible for polling
remotes. A „Polling Remote‟
requires a poll in order to
transmit.
Repeater Mode - A „Repeater‟
re-sends RF data unless the
transmission is addressed to it or
if the transmission has already
been detected. A „Repeater End
Node‟ handles repeated
messages, but will not repeat the
message over-the-air.
Refer to the Polling and
Repeater Mode sections of
the „RF Communication Modes‟ chapter for more information.
Related Commands: DT (Destination Address),
HP (Hopping Channel), ID (Modem VID), MY
(Source Address)
AT Command: ATMT
Binary Command: 0x3D (61 decimal)
Parameter Range: 0 - 0xFF
Default Parameter Value:0 (no forced
retransmissions)
Number of bytes returned: 1
Related Commands: Networking (DT, MK, MY,
RN, TT), Serial Interfacing (BR, PK, RB, RO),
RF Interfacing (FS)
<Networking & Security> The MK
command is used to set/read the
Address Mask of a module.
All RF data packets contain the
Destination Address of the TX
(transmitting) module. When a
packet is received, the TX
module Destination Address is
logically "ANDed" (bitwise) with
the Address Mask of the RX
(receiving) module. The resulting value must match the Destination Address or
Address Mask of the RX module for the packet to be received and sent out the RX
module's DO (Data Out) pin. If the "ANDed" value does not match the Destination
Address or Address Mask of the RX module, the packet is discarded.
Sniffer Mode (when MK = 0): ACK requests are ignored and every RX (receive)
frame is sent to the UART, without regard for repeated frames. All “0” values are
treated as irrelevant values and ignored.
MT (Multi-transmit) Command
<Networking & Security> The
MT command is used to enabled
multiple transmissions of RF
data packets. When Multitransmit Mode is enabled (MT >
0), packets do not request an
ACK (acknowledgement) from
the receiving RF module(s). MT
takes precedence over RR, so if
both MT and RR are non-zero,
then MT+1 packets will be sent
(with no ACK requests).
When a receiving module receives a packet with remaining forced retransmissions, it
calculates the length of the packet and inhibits transmission for the amount of time
required for all retransmissions. Thereafter, a random number of delay slots are
inserted between 0 and RN before transmission is allowed from the receiving
module(s). This prevents all listening modules from transmitting at once upon
conclusion of a multiple transmission event (when RN > 0).
NOTE: The actual number of forced transmissions is the parameter value plus one.
For example, if MT = 1, two transmissions of each packet will be sent.
Default Parameter Value: 0xFFFF (Disabled DT (Destination Address) parameter serves as
both source and destination address.)
Number of bytes returned: 2
Related Commands: DT (Destination Address),
HP (Hopping Channel), ID (Modem VID), MK
(Address Mask)
AT
Command:
ATNB
Binary Command: 0x23 (35 decimal)
Parameter
Range:
0 - 4
Parameter
Configuration
0
8-bit (no parity or 7-bit
(any parity)
1 8-bit even
2 8-bit odd
3 8-bit mark
4 8-bit space
Default Parameter Value:
0
Number of bytes returned: 1
AT Command: ATPB
Binary Command: 0x45 (69 decimal)
Parameter Range: 0 - 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Minimum Firmware Version Required: 2.x20
Related Commands: MD (RF Mode), PE
(Polling End Address), PD (Minimum Polling
Delay)
Command
<Networking & Security> The
MY command is used to set/read
the Source Address of the RF
module.
NB (Parity) Command
<Serial Interfacing> The NB
command is used to select/read
the parity settings of the RF
module for UART
communications.
PB (Polling Begin Address)
Command
<Networking & Security> PB
command is used to set/read the
module‟s Polling Begin Address
– the first address polled Polling
Mode is enabled.
Polling Operations: The „Polling
Base‟ (MD = 3) cycles through a
sequential range of addresses,
polling each „Polling Remote‟
(MD = 4). The base then waits for a response & proceeds to the next „Polling
Remote‟. Each „Polling Remote‟ responds by sending the data from the Data In buffer
following the RB & RO parameters. When there is no eligible data to send, the „Polling
Remote‟ will not respond. The „Polling Base‟ will move to the next address in the
Related Commands: MD (RF Mode), PB
(Polling Begin Address), PE (Polling End
Address)
AT Command: ATPE
Binary Command: 0x46 (70 decimal)
Parameter Range: 0 - 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Minimum Firmware Version Required: 2.x20
Related Commands: MD (RF Mode), PB
(Polling Begin Address), PD (Minimum Polling
Delay)
AT Command: ATPK
Binary Command: 0x29 (41 decimal)
Parameter Range: 1 - 0x800 [Bytes]
Default Parameter Value:0x100* or 0x800* (256
or 2048 decimal)
Number of bytes returned: 2
Related Commands: BR (RF Data Rate) RB
(Packetization Threshold), RO (Packetization
Timeout), WN (Warning Data)
Command
<Networking & Security> The PD
command is used to set/read
Polling Delay (Base, MD=3) or
Polling Timeout (Remote,
MD=4).
Polling Delay (Base) is the time
between polling cycles. The
Polling Base will start the polling
cycle after sending the first poll.
After the polling cycle has
completed, the timer is restarted.
Polling Timeout (Remote) is the amount of time the remote unit will hold data from
the serial port before discarding it. Data entered within the PD time of the poll is
transmitted and not discarded.
PE (Polling End Address)
Command
<Networking & Security> PE
command is used to set/read the
module‟s Polling End Address –
the last address polled when
Polling Mode is enabled.
Polling Operations: The „Polling
Base‟ (MD = 3) cycles through a
sequential range of addresses,
polling each „Polling Remote‟
(MD = 4). The base then waits for a response & proceeds to the next „Polling
Remote‟. Each „Polling Remote‟ responds by sending data from the DI buffer following
the RB & RO parameters. When there is no eligible data to send, the „Polling Remote‟
will not respond. The „Polling Base‟ will move to the next address in the polling
sequence after a short delay.
PK (Maximum RF Packet Size)
Command
<RF Interfacing> The PK
command is used to set/read
the maximum size of RF
packets transmitted from an RF
module. The maximum packet
size can be used along with the
RB and RO parameters to
implicitly set the channel dwell
time.
If PK is set above 256 and BR is subsequently changed to 0, PK will automatically be
lowered to 256 and a warning will be raised (refer to the BR (RF Data Rate) and WN
(Warning Data) commands for details).
Changes to the PK parameter may have a secondary effect on the RB (Packetization
AT Command: ATPL
Binary Command: 0x3A (58 decimal)
Parameter
Range:
0 - 4
Parameter
Configuration
0
1 mW
1
10 mW
2
100 mW
3
500 mW
4
1000 mW (1 Watt)
Default Parameter Value: 4
Number of bytes returned: 1
AT
Command:
ATPW
Binary Command: 0x1D (29 decimal)
Parameter
Range:
0 - 1
Parameter
Configuration
0 Disabled
1 Enabled
Default Parameter Value:
0
Number of bytes returned: 1
Related Commands: SM (Sleep Mode), ST
(Time before Sleep)
Threshold) parameter. RB must always be less than or equal to PK. If PK is changed
to a value that is less than the current value of RB, the RB value is automatically
lowered to be equal to PK.
* When BR = 0 (9600 baud), the maximum PK value is 0x100 (256d). When BR = 1
(115,200 baud), the maximum PK value is 0x800 (2048d).
PL (TX Power Level)
Command
<RF Interfacing> The PL
command is used to set/
read the power level at which the
RF module transmits data
PW (Pin Wake-up) Command
<Sleep (Low Power)> Under
normal operation, an RF module
in Cyclic Sleep Mode cycles from
an active state to a low-power
state at regular intervals until
data is ready to be received. If
the PW parameter is set to 1, the
SLEEP pin (pin 8) can be used
to awaken the module from
Cyclic Sleep. When the SLEEP
Pin is de-asserted (low), the
module will be fully operational
and will not go into Cyclic Sleep.
Once the SLEEP pin is asserted,
the module will remain active for
the period of time specified by the ST (Time before Sleep) parameter and will return
to Cyclic Sleep Mode (if no data is ready to be transmitted). PW Command is only
valid if Cyclic Sleep has been enabled.
Parameter Range: 0 - PK parameter value (up
to 0x800 Bytes)
Default Parameter Value: 0x800 Bytes
Number of bytes returned: 2
Related Commands: BR (RF Data Rate), PK
(RF Packet Size), RO (Packetization Timeout)
AT Command: ATRC
Parameter Range (read-only): 0 - 0x31 [dBm]
Number of bytes returned: 1
Related Commands: RM (Ambient Power - All
Channels)
AT Command: ATRE
Binary Command: 0x0E (14 decimal)
AT Command: ATRM
Parameter Range: no parameter - 0x7D0)
Number of bytes returned: 2
Related Commands: RC (Ambient Power Single channel)
Command
<Serial Interfacing> The RB
command is used to set/read the
character threshold value.
RF transmission begins after
data is received in the DI Buffer
and either of the following criteria
is met:
• RB characters received by
the UART
• RO character times of
silence detected on the UART receive lines (after receiving at least 1 Byte of
data)
If PK (Max. RF Packet Size) is lowered below the value of RB, RB is automatically
lowered to match the PK value. If (RO = 0), RB bytes must be received before
beginning transmission.
Note: RB and RO criteria only apply to the first packet of a multi-packet transmission.
If data remains in the DI Buffer after the first packet, transmissions will continue in a
streaming manner until there is no data left in the DI Buffer (UART receive buffer).
RC (Ambient Power - Single
Channel) Command
<Diagnostics> The RC
command is used to examine
and report the power level on a
given channel.
Sample output: -78 dBm [when CF = 0]
4e [when CF = 1]
-78 [when CF = 2]
RE (Restore Defaults)
Command
<Diagnostics> The RE command
is used to restore all configurable parameters to their factory default settings.
The RE Command does not cause default values to be stored to non-volatile
(persistent) memory. For the restored default settings to persist in the module‟s nonvolatile memory and be saved in the event of RF module reset or power-down, the
WR (Write) command must be issued prior to power-down or reset.
RM (Ambient Power - All
Channels) Command
<Diagnostics> The RM command
is used to examine and report
power levels on all channels.
If no parameter is given, the
channels are scanned one time. If
a parameter is given, the
channels are repeatedly scanned for that number of seconds. The maximum power
AT Command: ATRN
Binary Command: 0x19 (25 decimal)
Parameter Range: 0 - 0xFF [38 ms slots]
Default Parameter Value: 0 (no delay slots
inserted)
Number of bytes returned: 1
Related Commands: RR (Retries), TT
(Streaming Limit)
AT Command: ATRO
Binary Command: 0x21 (33 decimal)
Parameter Range: 0 - 0xFFFF [ x UART
character times ]
Default Parameter Value: 3
Number of bytes returned: 2
Related Commands: RB (Packetization
Threshold)
level seen for each channel is reported (i.e. peak hold).
A graphical spectrum analyzer can be implemented by repeatedly sending the RM
command (with no arguments) and reading the resultant 50 power levels (this is
easiest to do when CF = 1 or 2).
Sample output [when CF = 0]: Ch 0: -100 dBm
Ch 1: -103 dBm
...
Ch 49: -99 dBm
Sample output [when CF = 1]: 64
67
...
63
Sample output [when CF = 2]: 100
-103
…
-99
RN (Delay Slots) Command
<Networking & Security> The
RN command is used to set/read
the time delay that the
transmitting RF module inserts
before attempting to resend a
packet. If the transmitting
module fails to receive an
acknowledgement after sending
a packet, it inserts a random
number of delay slots (ranging
from 0 to (RN minus 1)) before
attempting to resend the packet. Each delay slot is 5 msec (when BR=1) and 54 msec
(when BR=0).
If two modules attempt to transmit at the same time, the random time delay after
packet failure allows only one module to transmit the packet successfully; while the
other module waits until the channel available for RF transmission.
RN Command is only applicable if retries have been enabled [RR (Retries)
Command] or if forced delays will be inserted into a transmission [TT (Streaming
Limit) Command].
RO (Packetization Timeout)
Command
<Serial Interfacing> The RO
command is used to set/read the
Packetization Timeout setting.
RF transmission begins when
data is in the DI buffer and either
of the following criteria are met:
• RO character times of silence
on the UART receive lines (after
receiving at least 1 byte)
RB and RO criteria only apply to the first packet of a multi-packet transmission. If data
remains in the DI Buffer (UART receive) after the first packet, transmissions will
continue in a streaming manner until there is no data left in the DI Buffer.
When RO is the transmission-beginning criteria: The actual time between the
reception of the last character from the UART and the beginning of RF transmission
will be at least 800 µsec longer than the actual RO time to allow for transmission
setup. Additionally, it is subject to 100-200 µsec of additional uncertainty, which could
be significant for small values of RO at high UART bit rates.
The correct UART character time (10, 11, or 12 bits) is calculated based on the
following criteria:
• 1 start bit
• 8 data bits
• 0 or 1 parity bit [as determined by the NB (Parity) Command)
• 1 or 2 stop bits [as determined by SB (Stop Bits) Command]
RP (RSSI PWM Timer)
Command
<Diagnostics> RP Command is
used to enable a PWM ("Pulse
Width Modulation") output on the
Config/RSSI pin (pin 11 of the
OEM RF Module). The pin is
calibrated to show the difference
between received signal strength
and the sensitivity level of the RF module. PWM pulses vary from zero to 95 percent.
Zero percent means the received RF signal is at or below the published
sensitivity level of the module.
The following table shows dB levels above sensitivity and PWM values (The total time
period of the PWM output is 8.32 ms. PWM output consists of 40 steps and therefore
the minimum step size is 0.208 ms.):
PWM Values
A non-zero value defines the time that PWM output is active with the RSSI value of
the last received RF packet. After the set time when no RF packets are received,
PWM output is set low (0 percent PWM) until another RF packet is received. PWM
output is also set low at power-up. A parameter value of 0xFF permanently enables
PWM output and always reflects the value of the last received RF packet.
The Config/RSSI pin is shared between PWM output and Config input. When the
module is powered, the Config pin is an input. During the power-up sequence, if RP
parameter is a non-zero value, the Config pin is configured as an output and set low
AT Command: ATRR
Binary Command: 0x18 (24 decimal)
Parameter Range: 0 - 0xFF
Default Parameter Value: 0x0A (10 decimal)
Number of bytes returned: 1
AT
Command:
ATRT
Binary Command: 0x16 (22 decimal)
Parameter
Range:
0 - 2
Parameter
Configuration
0 Disabled
1
Enable Binary
Programming
2
Enable RTS Flow
Control
Default Parameter Value:
0
Number of bytes returned: 1
AT
Command:
ATSB
Binary Command: 0x37 (55 decimal)
Parameter
Range:
0 - 1
Parameter
Configuration
0 1 stop bit
1 2 stop bits
Default Parameter Value:
0
Number of bytes returned: 1
until the first RF packet is received. With a non-zero RP parameter, the Config pin is
an input for RP ms after power up.
RR (Retries) Command
<Networking & Security> The
RR command is used to set/read
the maximum number of retries
sent for a given RF packet.
When RR Command is enabled
(RR>0), RF packet retries and
ACKs (acknowledgements) are
enabled.
Exceptions: If the MT command in enabled (MT>0) or if a broadcast Destination
Address is used (DT = 0xFFFF); RF packet retries and ACKs are disabled.
After transmitting a packet, the transmitting RF module waits to receive an
acknowledgement from a receiving module. If the acknowledgement is not received in
the period of time specified by RN (Delay Slots) Command, the original packet is
transmitted again. The RF packet is transmitted repeatedly until an acknowledgement
is received or until the packet is sent RR times.
RT (GPI1 Configuration)
Command
<Serial Interfacing> The RT
command is used to set/read the
behavior of the GPI1 pin (pin 10)
of the OEM RF Module. The pin
can be configured to enable
binary programming or RTS flow
control.
SB (Stop Bits) Command
<Serial Interfacing> The SB
Command is used to set/read
the number of stop bits in the
data packet.
Related Commands: Pin Sleep - PC (Power-up
Mode), PW (Pin Wake-up) Serial Port Sleep ST (Time before Sleep) Cyclic Sleep - ST (Time
before Sleep), LH (Wake-up Initializer Timer),
HT (Time Before Wake-up Initializer), PW (Pin
Wake-up)
Command
<Diagnostics> SH Command is
used to set/read the serial
number high word of the RF
module.
SL (Serial Number Low)
Command
<Diagnostics> SL Command is
used to set/read the serial
number low word of the RF
module.
SM (Sleep Mode) Command
<Sleep Mode (Low Power)> The
SM Command is used to
set/read the RF module's Sleep
Mode settings that configure the
module to run in states that
require minimal power
consumption.
Related Commands: SM (Sleep Mode), LH
(Wake-up Initializer Timer), HT (Time before
Wake-up Initializer)
AT Command: ATTP
Binary Command: 0x38 (56 decimal)
Parameter Range (read-only): 0- 0x7F
Number of bytes returned: 1
Related Command: WN (Warning Data)
AT Command: ATTR
Binary Command: 0x1B (27 decimal)
Parameter Range: 0 - 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Related Commands: RR (Retries)
AT Command: ATTT
Binary Command: 0x1A (26 decimal)
Parameter Range: 0 - 0xFFFF
Default Parameter Value: 0 (disabled)
Number of bytes returned: 2
Related Commands: RN (Delay Slots)
Command
<Sleep Mode (Low Power)> The
ST Command is used to set/read
the period of time (in
milliseconds) in which the RF
module remains inactive
before entering Sleep Mode.
For example, if the ST
Parameter is set to 0x64
(100 decimal), the module will
enter into Sleep mode after 10
seconds of inactivity (no transmitting or receiving).
This command can only be used if Cyclic Sleep or Serial Port Sleep Mode settings
have been selected using SM (Sleep Mode) Command.
TP (Board Temperature)
Command
<Diagnostics> TP Command is
used to read the current
temperature of the board.
Sample Output:
26 C [when
ATCF = 0]
1A [when ATCF = 1]
26 [when ATCF = 2].
TR (Transmit Error Count)
Command
<Diagnostics> The TR command
is used to report the number of
retransmit failures. This number
is incremented each time a
packet is not acknowledged
within the number of retransmits
specified by the RR (Retries)
parameter. The number of
packets therefore are counted that were not successfully received and subsequently
discarded.
The TR parameter is not non-volatile and is reset to zero when the RF module is
reset.
TT (Streaming Limit)
Command
<Networking & Security> The TT
command is used to set/read the
limit on the number of bytes
that can be sent out before a
random delay is issued.
If an RF module is sending a
continuous stream of RF data, a delay is inserted which stops its transmission
and allows other modules time to transmit (once it sends TT bytes of data). Inserted
AT
Command:
ATTX
Binary Command: 0x3F (63 decimal)
Parameter Range:
0 - 1
Parameter
Configuration
0
TX & RX
1 TX-only
Default Parameter Value:
0
Number of bytes returned: 1
AT Command: ATVL
Parameter Range: returns string
Default Parameter Value: 0
Number of bytes returned: 2
AT Command: ATVR
Binary Command: 0x14 (20 decimal)
Parameter Range (read-only): 0 - 0xFFFF
Number of bytes returned: 2
AT Command: ATWA
Parameter Range: Returns string - one
warning number per line.
random delay lasts between 1 & 'RN + 1' delay slots, where each delay slot lasts 38
ms.
The TT command can be used to simulate full-duplex behavior.
TX (Transmit Only) Command
<RF Interfacing> The TX
command is used to set/read the
transmit/receive behaviors of the
RF module. Setting a module to
TX-only (TX = 1) may reduce
latency because the transmitting
module will never be confined to
receiving data from other
modules.
VL (Firmware Version Verbose)
<Diagnostics> The VL command
is used to read the verbose
firmware version of the RF
module.
VR (Firmware Version - Short)
Command
<Diagnostics> The VR command
is used to read the firmware
version of the RF module.
Note: Firmware versions contain
four significant digits - “A.B.C.D”. If B=2, the module is programmed for operation in
Australia only.
WA (Active Warning Numbers)
Command
<Diagnostics> The WA
command reports the warning
numbers of all active warnings – one warning number per line. No further information
is shown and warning counts are not reset.
Sample Output (indicates warnings 1 and 3 are currently active): 1
Under-voltage. This is caused if the supply voltage falls below the
minimum threshold for the lowest power level (2.8 V). If/when the
voltage rises above the threshold, the warning is deactivated. The
module will not transmit below this voltage threshold.
2
Over-voltage. This is caused if the supply voltage exceeds 5.75 V.
Transmission is not allowed while this warning is active.
3
Under-temperature. This is caused if the temperature sensed by the
module is less than -40 C. The module does not artificially limit
operation while this warning is active, but module functionality is not
guaranteed.
4
Over-temperature. This is caused if the temperature sensed by the
module is greater than 105 C. The module does not allow
transmission nor reception while this warning is active. The warning
is deactivated when the temperature falls to 100 C.
5
Power reduced. This is caused if the transmit power has to be
reduced from the level programmed by PL Command due to
insufficient supply voltage. The 1 W power level requires 4.75 V or
higher; 500 mW requires 3.0 V or higher; 100 mW, 10 mW and 1 mW
require 2.8 V or higher.
6
Default calibration data in flash. This is caused if the module-specific
power calibration data is either not present or is invalid, or if none of
the parameters have been modified from their default values. Power
levels may be incorrect.
7
Default configuration parameters in flash. This is caused if usermodifiable parameters (i.e. those stored by a 'WR' command) in flash
are all the compiled-in default values. This is caused if the user
configuration is found to be not present or invalid at power-up and
there is no custom configuration, or if no user-modifiable parameters
have been modified from the compiled-in defaults. Modification of
one or more parameters without the subsequent WR to commit the
changes to flash will not deactivate this warning, since it reflects the
status of the parameters in flash. Note that this warning does not
reflect usage of the custom configuration defaults, only usage of the
compiled-in defaults.
8
Default factory configuration parameters in flash. This is caused if the
factory parameters in flash are all the default values. This is caused if
the factory configuration is found to be not present or invalid at
power-up, or if no factory parameters have been modified.
AT Command: ATWN
Parameter Range: returns string
<Diagnostics> WN command is
used to report the following data
for all active and sticky
warnings:
• Warning number & description
• Number of occurrences since the last WN or WS command
• Whether the warning is currently active
Warnings, which are not currently active and have not been active since the last
issuance of the WN or WS commands, are not displayed. The WN command also
resets all non-zero warning counts; except for warnings that are presently active,
which are set to 1.
<(Special)> The WR
command is used to write
configurable parameters to non-volatile memory (Values remain in the module's
memory until overwritten by another use of WR Command).
If changes are made without writing them to non-volatile memory, the module will
revert back to previously saved parameters the next time the module is powered-on.
If the non-volatile user configuration is not correct, WR will re-attempt (up to 3x). If all
three attempts fail, the command will return an ERROR alert.
WS (Sticky Warning
Numbers) Command
<Diagnostics> The WS
command reports warning
numbers of all warnings active
since the last use of the WS or WN command (including any warnings which are
currently active). This command also resets all non-zero warning counts, except
for warnings that are presently active, which are set to 1.
API Operation
By default, ZP9D-115RM-LR Radio Modem acts as a serial line replacement
(Transparent Operation) - all UART data received through the DI pin is queued up for
RF transmission. When the module receives an RF packet, the data is sent out the
DO pin with no additional information.
Inherent to Transparent Operation are the following behaviors:
• If module parameter registers are to be set or queried, a special operation is
required for transitioning the module into Command Mode [refer to p17].
• In point-to-multipoint systems, the application must send extra information so that
the receiving module(s) can distinguish between data coming from different
remotes.
As an alternative to the default Transparent Operation, API (Application Programming
Interface) Operations are available. API operation requires that communication with
the module be done through a structured interface (data is communicated in frames in
a defined order). The API specifies how commands, command responses and module
status messages are sent and received from the module using a UART Data Frame.
API Frame Specifications
Two API modes are supported and both can be enabled using the AP (API Enable)
command. Use the following AP parameter values to configure the module to operate
in a particular mode:
• AP = 0 (default): Transparent Operation (UART Serial line replacement)�
API modes are disabled.
• AP = 1: API Operation
• AP = 2: API Operation (with escaped characters)
Any data received prior to the start delimiter is silently discarded. If the frame is not
received correctly or if the checksum fails, the data is silently discarded.
Example - Raw UART Data Frame (before escaping interfering bytes):
0x7E 0x00 0x02 0x23 0x11 0xCB
0x11 needs to be escaped which results in the following frame:
0x7E 0x00 0x02 0x23 0x7D 0x31 0xCB
When this API mode is enabled (AP = 1), the UART data frame structure is defined as
follows:
UART Data Frame Structure:
MSB = Most Significant Byte, LSB = Least Significant Byte
API Operation - with Escape Characters (AP parameter = 2)
When this API mode is enabled (AP = 2), the UART data frame structure is defined as
follows:
UART Data Frame Structure with escape control characters:
MSB = Most Significant Byte, LSB = Least Significant Byte
Escape characters. When sending or receiving a UART data frame, specific data
values must be escaped (flagged) so they do not interfere with the UART or UART
data frame operation. To escape an interfering data byte, insert 0x7D and follow it
with the byte to be escaped XOR‟d with 0x20.
Data bytes that need to be escaped:
• 0x7E – Frame Delimiter
• 0x7D – Escape
• 0x11 – XON
• 0x13 – XOFF
Note: In the above example, the length of the raw data (excluding the checksum) is
0x0002 and the checksum of the non-escaped data (excluding frame delimiter and
length) is calculated as:
0xFF - (0x23 + 0x11) = (0xFF - 0x34) = 0xCB.
Checksum
To test data integrity, a checksum is calculated and verified on non-escaped data.
To calculate: Not including frame delimiters and length, add all bytes keeping only
the lowest 8 bits of the result and subtract from 0xFF.
To verify: Add all bytes (include checksum, but not the delimiter and length). If the
checksum is correct, the sum will equal 0xFF.
API Types
Frame data of the UART data frame forms an API-specific structure as follows:
UART Data Frame & API specific Structure:
The cmdID frame (API-identifier) indicates which API messages will be contained in
the cmdData frame (Identifier-specific data). Refer to the sections that follow for more
information regarding the supported API types. Note that multi-byte values are sent
big endian.
RF Module Status
API Identifier: 0x8A
RF module status messages are sent from the module in response to specific
conditions.
RF Module Status Frames
TX (Transmit) Request: 16-bit address
API Identifier Value: 0x01
A TX Request message will cause the module to send RF Data as an RF Packet.
When a TX Request is completed, the module sends a TX Status message. This
message will indicate if the packet was transmitted successfully or if there was a
failure.
TX Status Frames
NOTE: “STATUS = 1” occurs when all retries are expired and no ACK is received.
“STATUS = 3” occurs when a packet is purged due to a „Polled Remote‟ not receiving
a poll.
RX (Receive) Packet: 16-bit address
API Identifier Value: 0x81
When the module receives an RF packet, it is sent out the UART using this message
type.