RAE Systems RM900A RAEMesh Radio (RM900A) User Manual SU3RM900A
RAE Systems, Inc RAEMesh Radio (RM900A) SU3RM900A
User Manual
Revision: Dec, 2011
RAEMesh Radio User Manual
(for RM2400, RM900, RM900A…)
RAE Systems Inc
Revision: Dec, 2011
Introduction
The RAEMesh Radio module offers a complete microcontroller/transceiver solution Containing all hardware features
necessary for development of a low data-rate, low-power wireless application. The primary components include an IEEE
802.15.4 compliant Zigbee-ready transceiver , a microcontroller, a 40-pin interface connector, a MMCS antenna
connector,
This documentation describes the RAEMesh radio module hardware interface as well as RAE System’s Command
Interface.
Hardware
Specifications
Frequency Band
802.15.4 standard.
RM2400:16 channels of operation in the 2.4GHz world wide ISM band. 5MHz
channel spacing.
RM900: 11 channels. 868, 906,908……924MHz
RM900A: 11 channels. 868, 906,908……924MHz
Power
+3.3V + .3V from carrier board, 3.0V to 3.6V from battery pack
Interfaces
40-pin surface-mount 2x20 1.27mm pitch
RF
250kbps OQPSK Direct Sequence Spread Spectrum.
Dimensions
46.5 mm x 26 mm x 10 mm
Antenna Interface
50-Ohm MMCX female
Operating Temperature Range
-40ºC to +85ºC
Indicators
Two LEDs, one red, one blue (DS1, DS2)
Current Consumption
0.5 µA Sleep
120 mA TX @ 18 dBm
25 mA RX / Idle
RF receive sensitivity
-100dBm at at 1% packet error rate for a 20 byte payload.
Data Rate
250 kbps
Antenna
Omnidirectional antenna, 3.5dBi max
Revision: Dec, 2011
Mechanical Size
Top View
The height of the shielding box is 4.3mm from the PCB.
40 Pin header (1.27mm) is used for board to board connection. Corresponding mate connector can be JVE
22P8702-40M00B-01G-4.5
Revision: Dec, 2011
Pin Layout
Pin
Description
Pin
Description
1 DGND 2 DGND
3 nRESET 4 DGND
5 TXD1 6 TXD0/Bootload.
7 RXD1 8 RXD0
9 GPIO0 10 GPIO/LED2
11 GPIO1 12 GPIO/LED3
13 GPIO2 14 GPIO/LED4
15 GPIO3 16 GPIO/LED5
17 TEMP_E/GPIO4 18 GPIO/PS_CS
19 WakeUp/GPIO5 20 GPIO/PS_FRAME
21 BUZZER/GPIO6 22 +3.3V
23 GPIO7/PS_DIR 24 AGND
25 BUTTON0/GPIO8 26 AREF
27 BUTTON1/GPIO9 28 ATEMP/ADC1
29 GPIO10 30 ADC2
31 RF_SO 32 TCK
33 RF_SI 34 TMS
35 RF_CK 36 TDO
37 SFD 38 TDI
39 +3.3V 40 +3.3V
Revision: Dec, 2011
Firmware
The module is pre-loaded with the bootloader, which supports serial bootloading of firmware update. The
module contains RAEMesh application and comply with the RAE System’s RCS protocol. The module also has
built-in RAEMesh Module Command Interface(RMCI).
This documentation is focused on the instruction on RMCI interface.
The RMCI command interface allows customer to easily access to low level mesh functionality without pain to
develop the firmware. The module can be configured to a GTW to hook up to a getaway or just a stand alone
regular full function node or a Sleepy reduce function node.
Make sure to configure the module to right mode before using.
Quick Start
UART
Via the TXD1 and RXD1 pins the command interpreter can be accessed. The RCM can buffer up to 128 bytes of incoming
data in a software FIFO buffer and uses XON/XOFF flow control. See the datasheet of the Atmel ATmega1281 for more
information about the build-in UART.
Connect Pin5 (TXD1) and Pin7 (RXD1) to the customer board. Use the following settings for serial port.
RTR and STD: 19200bps, 8N1.
GTW: 38400bps, 8N1.
Data Packet
RCM will transmit any data in the { }, all data in the {} will be transparently sent out without radio’s interpretation. The
maximum data packet is 50 bytes including {}.
The data in the {} can be any characters including ‘{‘ ‘}’ ’[‘ ’]’ .
The interval between 2 data packets must be >200ms for RTR and GTW.
The interval between 2 data packets must be >1s for STD.
Wakeup
If the radio is set to STD mode, the Wakeup pin Pin19 (PE7) is used to make the radio asleep and wakeup. A constant
high on this pin will let the radio go to the sleep mode and a low level signal on this pin will wake-up the radio.
The Radio sleep mode is the power save mode so the power consumption can be very low. (<40uA)
The Wakeup pin must be held up to 10ms before sending a data packet.
Power
Ground: Pin1, Pin2 and Pin4.
VCC: Pin39, Pin40. 3.0V or 3.3V
Radio consumes less than 100mW in normal RX/TX mode.
Radio consumes 600mW at TX and 100mW at RX for High power module
Heartbeat
Connect Pin12 to a LED for heartbeat indicator.
Reset
RST: Pin3 Active Low.
Revision: Dec, 2011
PC communication
Please has your serial port debug software installed on the PC. For example: sscom32.exe
Microsoft Hyper Terminal is not recommended for this application because it is not good to send characters and
commands in Hex.
Base on correct setting and connection, you will see following display on your screen when power is applied.
GTW:
[%A ]RAEMESH-II RM900A 16MHz
FwVer:V1.02b on Sep 28 2011 09:52:14
Stack: BC1.10.0
Type: Coordinator/Gateway
Band: 915
EUI: 0001002400001005
Channel: 0x10
TxPwr: Medium
PanId: 0x03E5
RTR:
[%A ]RAEMESH-II RM900A 16MHz
FwVer:V1.02b on Sep 28 2011 09:52:14
Stack: BC1.10.0
Type: FFD/Router
Band: 915
EUI: 0001002400001005
Channel: 0x10
TxPwr: Medium
PanId: 0x03E5
STD
[%A ]RAEMESH-II RM900A 16MHz
FwVer:V1.02b on Sep 28 2011 09:52:14
Stack: BC1.10.0
Type: RFD Sleep Sensor
Band: 915
EUI: 0001002400001005
Channel: 0x10
TxPwr: Medium
PanId: 0x03E5
Revision: Dec, 2011
RAEMesh2 Module Command Interface
Format:
SOP Length Command Code Command Data EOP
Byte: 1 1 1 0~n 1
Byte Number Name Comment
0 SOP Radio Protocol beginning of packet. This is always ‘[‘ (0x5B)
1 Length Total length of packet + 0x20, include ‘[‘ and ‘]’.
2 Command Code 0x20 ~ 0xFF. Excluding:0x5A~0x5F and 0x7A~0x7F. 0xF0~0xFF are
reserved for common commands.
Even for packet sent from SDTE or RDTE to RCM.
Odd for packet response from RCM to SDTE or RDTE.
3 Command Data Hex
… …
N+3 EOP Radio protocol end of packet.. This is always ‘]’(0x5D)
The minimum length for one packet is 4 bytes long. The Length is 0x20 based. E.g. the total length of a packet without
command data is 4, the Length byte is 0x20 + 4 = 0x24.
The SDTE or RDTE always initiate the communication with Radio module (RRCM, SRCM). Radio Module responses to
the command it received.
The Command Code for packet sent from SDTE or RDTE to Radio module is even, the response from Radio module to
SDTE or RDTE is 1 higher than the command code.
Command Data can be empty.
No command for 0x5A~0x5F and 0x7A~0x7F.
A Section 0xF0~0xFF is reserved for common commands such as help, Version etc.
Caution: the maximum packet length from SOP to EOP is 64 bytes.
Notes:
1. All commands response in 50ms
2. Check RCM’s information when turn on the radio. Command: 5B 24 60 5D.
3. Wait at least 5s for RCM to finish the initialization after power on.
4. Check the network status of the STD before sending the data for first time. Command: 5B 24 20 5D.
5. It is recommend to add 1s interval between 2 data packets for STD. Check 0x5b 24 27 5d for sending
acknowledge with successfully. There is no ACK for transmission failed.
6. For STD, if there is no network, the RCM will automatically wake up every 10 minute to search for a new network.
It can be interrupted any time. RCM will keep in asleep if it has joined a network.
For Internal Use Only
Command List of RMCI
5B 24 20 5D = Get network status
5B 24 50 5D = Join or form network by scan.
5B xx 26 dd dd 7B .. .. 7D 5D = Send massage in unicast
5B 24 2A 5D = Get Radio Type
5B 24 3A 5D = Get device application type
5B 24 60 5D = Get Radio's UID, channel, PANID
5B 24 6C 5D = Get Application's UID, channel, PANID
5B 24 68 5D = Get parent Network ID
5B 24 7B 5D = Get Last Hop Link Quality (LQI)
5B 24 40 5D = Get reset reason.
5B 24 4C 5D = GET_FWVERSION
5B 24 30 5D = Enable GTW function
5B 24 32 5D = Enable RTR function
5B 24 46 5D = Enable STD function
5B 24 4A 5D = Restore the radio to factory setting
5B 25 34 xx 5D = Set channel number, xx( 0x00 for EURO, 0x01-0x0A for North
America, 0x0B-0x1A for ISM)
5B 25 A0 xx 5D = Enable receiver while idle on STD.
5B 24 A2 5D = Get receiver on/off on STD.
5B 25 A4 xx 5D = Set region.
5B 24 A6 5D = Get region.
5B 25 3C xx 5D = Set Tx power, xx(0xFF for maximum, 0x80 for middle, and 0x00 for
minimum)
5B 26 44 xx xx 5D = Set PanId, xxxx(0x0000-0x03E7)
5B 2C 4E xx xx xx xx xx xx xx xx 5D = Set MAC/UID address
5B 25 AC xx 5D = SET_CMDBATCH
5B 24 AE 5D = GET_CMDBATCH
5B 25 B0 XX 5D = SET_PMTJOIN, permit or forbid any joining attempt.
5B 24 B2 5D = GET_PMTJOIN
5B 24 3E 5D = Leave current network
5B 26 42 xx xx 5D = Set routing discovery interval
5B 24 52 5d = Get routing discovery interval
5B 24 38 5D = Report node’s position
5B 24 48 5D = Soft reset
5B 24 56 5D = Access into bootloader
5B 25 FE xx 5D = Set print debug info, xx(00-disable; 01-enable)
For Internal Use Only
• Command Sets
Command Name
Effect
Area
CMD
Code
CMD
Data
(bytes)
Response
CMD Code
Response
CMD
Data(Bytes)
Description
NETWORK_STATU
S
Use on:
GTW
RTR
STD
Both
0x20 None 0x21 STATUS(1) Return the radio’s network status
0x00: NO NETWORK
0x02: JOINED NETWORK.
Host controller or instrument
should call it periodically with
certain duty cycle to check the
network status.
SEND_MSG_UNI
Use on:
GTW
RTR
STD
RM
0x26 DestNw
kID(2)
RCS
Pack(x)
0x27 None Send message in unicast mode.
NwkAddr: Network address
Message must in RCS format.
GET_MODULE_TY
PE
Use on:
GTW
RTR
STD
Both
0x2A None 0x2B Type(1) Return the radio’s type.
Type:
0: Bluetooth
1: coRE3-433MHz
2: coRE3-868MHz
3: coRE3-915MHz
4: ZcoRE3-2400
5: UART to Ethernet
6: UART to RS485
7: RM2420
8: RM900
9: Reserve
10: RM2400
11: coRE1-433MHz
12: coRE1-868MHz
13: coRE1-915MHz
14: coRE2-433MHz
15: coRE2-868MHz
16: coRE2-915MHz
17: coRE6-2.4GHz
GTW_ENABLE
Use on:
GTW
RTR
STD
Both
0x30 None 0x31 None Set the radio as a GTW so that
the radio can be use on a
Gateway device.
Baud rate change to 38400 8N1
Reset automatically.
RTR_ENABLE
Use on:
GTW
RTR
STD
Both
0x32 None 0x33 None Set radio to RTR. Always on and
has router function.
Baud rate change to 19200 8N1
Reset automatically.
CHG_RRCM_CHA
N
Use on:
GTW
RTR
Both
0x34 Channel
Number
(1)
0x35 None Requests change radio channel
to specified channel. Meanwhile,
specified channel should be
compliance with radio region
setting.
For Internal Use Only
STD 0x00 for RM900 if region is
BAND_868_EU.
0x01 to 0x0A total 10 channels
for RM900 if region is
BAND_915_NA.
0x0B to 0x1A total 16 channels
for RM2400 if region is
BAND_2400_ISM.
If channel number is not
compliance with radio region, do
not return response CMD.
Reset automatically.
RPT_LOCATION
Use on:
GTW
RTR
STD
Both
0x38 None 0x39 None Print node’s network information
in ASCII.
GET_APPTYPE
Use on:
GTW
RTR
STD
Both
0x3A None 0x3B AppType(1) Get application type.
AppType:
1 – GTW;
2 – RTR;
3 – Reserved;
4 – STD;
5 – Reserved;
other - invalid
SET_TX_POWER
Use on:
GTW
RTR
STD
Both
0x3C TxPwr(1
) 0x3D None Set modem transmission power
level.
For RAEMeshII
0xFF – maximum level,
0x80 – middle level,
0x00 – minimum level,
For RAEMesh
Power setting from 0xE3(-25dBm)
to 0xFF(0dBm).
Reset automatically.
LEAVE_NETWORK
Use on:
GTW
RTR
STD
Both
0x3E None 0x3F None Leave the current network.
RST_REASON
Use on:
GTW
RTR
STD
Both
0x40 None 0x41 Reason(1) Below just list RAEMeshII reset
reason,
0x00 =
UNKNOW
,
0x01 = RESET_ EXTERNAL,
0x02 = RESET_ POWERON_,
0x03 = RESET_ WDT,
0x04 =
RESET
_BROWNOUT,
0x05 = RESET_JTAG,
0x06 =
RESET
_WARM,
For Internal Use Only
SET_ROUTEINTER
VAL Use On:
RTR
RMII 0x42 Type(1)
Interval(
1)
0x43 None Type(1)
Bit7~bit2: reverse,
Bit1: enable route discovery
immediately if set,
Bit0: set route discovery
interval with the value of
Interval(1).
Interval(1)
Routing interval, range is
from 10 to 240, unit is second.
If RTR/Router lost connection
with its next hop, it should route
discovery periodically as per the
value of Interval(1).
CHG_PAN_ID
Use on:
GTW
RTR
STD
Both
0x44 PanID:(
2)
XXXX
0x45 None Change GTW Pan ID into XXXX.
From 0x0001 to 0x03E7(1-999)
Reset automatically.
STD_ENABLE
Use on:
GTW
RTR
STD
Both
0x46 None 0x47 None Put a node into STD. Interrupt
enable and active low.
Baud rate change to 19200 8N1
Reset automatically.
SOFT_RESET
Use on:
GTW
RTR
STD
Both
0x48 None 0x49 None Perform soft reset.
Reset automatically.
FACTORY_RST
Use on:
GTW
RTR
STD
Both
0x4A None 0x4B None Restore the RCM to factory
defaults.
PanId: 0x03E7, Device Type
:
STD.
For RM2400, channel is 0x0f and
txpower is -6dBm and 17dBm
through power amplifier.
For RM900, TBD
Debug print is disable.
STD receiver is disable.
GTW or RTR permit joining is
enable.
Reset automatically.
SET_RECEIVER
Use on:
STD
RMII
0xA0 00 -
Disable
01 -
Enable
0xA1 None Enable or disable STD’s receiver.
STD should receive data packet
from parent if enable receiver;
STD should use poll to request
data packet from parent if disable
receiver.
Reset automatically.
For Internal Use Only
GET_RECEIVER
Use on:
STD
RAEMeshII
0xA2 None 0xA3 Status(1) Return STD receiver’s status,
00 – Disable
01 - Enable
SET_REGION
Use on:
GTW
RTR
STD
RAEMeshII
0xA4 Region(
1) 0xA5 None Region(1)
BAND_868_EU = 0x01,
BAND_915_NA = 0x04,
BAND_2400_ISM = 0x08,
For RM2400, this command is
useless because RM2400 always
work on BAND_2400_ISM.
For RM900, default channel is
0x00 if set region to
BAND_868_EU; default channel
is 0x06 if set region to
BAND_915_NA.
Reset automatically.
GET_REGION
Use on:
GTW
RTR
STD
RAEMeshII
0xA6 None 0xA7 Region(1) Get modem setting of region.
SET_UID
Use on:
GTW
RTR
STD
RAEMeshII
0x4E UID(8) 0x4F None Set radio’s UID(MAC address).
Note:
The last two bytes must not set
to 0x0000, 0xFFF0-0xFFFF
Reset automatically.
JION_FORM_NET
WORK
Use on:
GTW
RTR
STD
Both 0x50 None 0x51 None GTW: Form a network using
customized PANID to allow the
other nodes to join.
RTR/STD: Search the network
using customized PANID and try
to join the network.
GET_ROUTEINTE
RVAL
Use on:
RTR
RAEMeshII
0x52 None 0x53 Interval(1) Return the routing interval.
GET_NODE_INFO
Use on:
GTW
RTR
STD
Both
0x60 None 0x61 UID(8)
Channel(1)
Power(1)
PAN ID(2)
Get the node information: UID,
Channel, Txpower level,, PAN ID,
GET_APPNODE_I
NFO
Use on:
GTW
RTR
STD
Both 0x6C None 0x6D UID(8)
Channel(1)
Power(1)
PAN ID(2)
Get the application information:
UID, Channel, Power, PAN ID. If
the network is not connected, the
GET_NODE_INFO will return
wrong information, and then use
this to get what we set.
GET_PARENT_ID
Use on:
RTR
STD
Both
0x68 None 0x69 Parent radio
ID(8) 0x00 00 00 00 00 00 00 00
means that STD or RTR’s parent
is coordinator/gateway.
0x00 00 00 00 00 00 mm nn
means STD or RTR’s parent is a
RTR which short address is mm
For Internal Use Only
nn.
0x00 00 00 00 00 00 ff fe means
that STD or RTR do not have
parent.
LAST_HOP_RSSI
Use on:
RTR
STD
Both
0x7B None 0x7C RSSI(1) Get RSSI percent, the higher, the
better.
Best: 240
Worst:0
RTR get next hop rssi;
STD get parent rssi.
SET_DEBUG_PRIN
T
Use on:
GTW
RTR
STD
Both
0xFE 00,Disa
ble
01,Enab
le
0xFF None Set display debug information
enable/disable.
The default setting is disabled.
GET_FWVERSION
Use on:
GTW
RTR
STD
Both 0x4C None 0x4D Fw Version
and Build
Time[30]
Return fw version and build time,
for example
[BMv1.00 Feb 14 2011
10:11:11], this mean fw version is
V1.00 and build is on Feb 14
2011 10:11:11.
SET_CMDBATCH
Use on:
GTW
RTR
STD
RAEMeshII
0xAC 00,
Disable
01,
Enable
0xAD None Enable or disable command
batch function. If enable, modem
will not reset automatically after
change panid, channel, power,
eui, region , receiver and join
permission. They will take effect
after reset manually.
Batch function will disable after
reset.
GET_CMDBATCH
Use on:
GTW
RTR
STD
RAEMeshII
0xAE None 0xAF 00,
Disable
01,
Enable
Return command batch
configuration.
SET_BOOTLOADE
R
Use on:
GTW
RTR
STD
Both 0x56 None 0x57 None Make modem into bootloader
mode and wait for new app
image.
SET_PMTJOIN
Use on:
GTW
RMII 0xB0 0x01,
enable;
0x00,
disable
0Xb1 None This command can disable or
enable Coordinator or RTR’s join
network permission. If modem
disable joining permission, it
forbid
any modem joining attempt
.
GET_PMTJOIN
Use on:
GTW
RMII 0xb2 None 0xb3 0x01,
enable;
0x00,
disable
Return status that whether
modem permit joining network
attempt from RTR or STD
Caution: RCM will save corresponding command data of AT command into its persist data server if this
command cause “Reset automatically”, it will take effect after reset.
For Internal Use Only
• RMII Command Classification
There are a lot of RMCI command set in this manual, different application need different command, below is a
table that which command must have, which are recommend and which are optional.
Table 2 Command Classification
ITEM
MUST HAVE
RECOMMENED
OPTIONAL
C
MD
S
GET_APPTYPE
NETWORK_STATUS
GET_APPNODE_INFO
GTW_ENABLE
RTR_ENABLE
STD_ENABLE
SET_PANID
JOIN_FORM_NETWORK
LEAVE_THE_NETWORK
SET_CHANNEL
GET_PARENT_ID
LAST_HOP_RSSI
GET_MODEM_TYPE
SET_TXPOWER
RST_REASON
SEND_MSG_UNI
SET_UID
SET_REGION
SET_RECEIVER
FACTORY_RST
SET_DEBUG_PRINT
For Internal Use Only
Procedure for Radio Core Setting:
A. Configure
Software: AVRUSB V2.0.2.231
Hardware: AVRUSB Programmer and RAEMeshII Dev board.
1. Make sure the correct hardware selected
2. Click “Reset”. If a green label is at bottom of AVRUSB framework, go to next step.
For Internal Use Only
3. Erase target MCU
4.
Read out current fuse setting
For Internal Use Only
5.
Check the following setting
.
For Internal Use Only
6. Write back Fuse setting if any changes made, make sure program successfully.
B. Firmware Upgrade
1. Select firmware file, *.srec
2. Select correct com port
3. Click “Program”, then Reset RAEMesh2 module in 30 seconds
4. Waiting for program successful
For Internal Use Only
Terms
GTW: A RTR used for gateway. Only one GTW per network.
RTR: Full Function Device. Sensor node with routing ability. RTR requires line power all time.
STD: Reduce Function Device. A Sleeping node can only talk to a RTR or GTW. Can not relay the message. Can be a
battery powered device.
RCM :Radio Communications Module
RDTE: Reader Data Terminal Equipment.
RMCI: RAEMesh Module Command Interface.
SDTE : Sensor Data Terminal Equipment.
Reference
Atmel: www.atmel.com
FCC: www.gcc.gov
Zigbee Alliance: www.zigbee.org
Disclaimer
Product and Company names and logos referenced may either be trademarks or registered trademarks of their respective
companies. We reserve the right to make modifications and/or improvements without prior notification. All information is
correct at time of issue. RAE Systems does not convey any license under its patent rights or assume any responsibility for
the use of the described product.
Warnings
FCC Notifications:
Compliance Statement (Part 15.19)
This device complies with part 15 of the FCC rules. Operation is subject to the following two
conditions:
1. This device may not cause harmful interference received, including interference
that may cause undesired operation.
2. This device must accept any interference received, including interference that may
cause undesired operation.
Warning (Part 15.21)
Changes or modifications not expressly approved by the party responsible for compliance
could void the user’s authority to operate the equipment.
This device must be operated as supplied by Raesystems. Any changes or
modifications made to the device can be jeopardize, but there is one
exception. The radio’s antenna can be replaced as long as the specification of the
antenna matches the original.
Information for the OEMs and integrators
This device is intended for OEM integrators only. Please see the full Grant of Equipment document for
restrictions. This device must be operated and used with a locally approved access point.
For Internal Use Only
Label information to the End User by the OEM or integrator
If the FCC ID of this module is not visible when it is installed inside another device, then the outside of the
device into which the module is installed must be labeled with “Contains FCC ID: SU3RM900A” in a visible
area.
This equipment has been tested and found to comply with the limits for
a Class B digital device, pursuant to part 15 of the FCC Rules. These
limits are designed to provide reasonable protection against harmful
interference in a residential installation. This equipment generates
uses and can radiate radio frequency energy and, if not installed and
used in accordance with the instructions, may cause harmful interference
to radio communications. However, there is no guarantee that interference
will not occur in a particular installation. If this equipment does cause
harmful interference to radio or television reception, which can be
determined by turning the equipment off and on, the user is encouraged
to try to correct the interference by one or more of the following
measures:
-Reorient or relocate the receiving antenna.
-Increase the separation between the equipment and receiver.
-Connect the equipment into an outlet on a circuit different from that
to which the receiver is connected.
-Consult the dealer or an experienced radio/TV technician for help.