0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
XBP9B-DMUTB002

XBP9B-DMUTB002

  • 厂商:

    DIGIINTERNATIONAL

  • 封装:

    模块

  • 描述:

    RF TXRX MODULE ISM

  • 数据手册
  • 价格&库存
XBP9B-DMUTB002 数据手册
XBee®-PRO 900HP/XSC RF Modules S3 and S3B User Guide Revision history—90002173 Revision Date Description U July 2018 Added the 0x00, 0x80 and 0x89 frames for the 900HP. V June 2019 Added FCC publication 996369 related information. W January 2020 Added IFETEL certifications. X July 2021 Added safety instructions. Y September 2021 Updated Mexican certifications. Trademarks and copyright Digi, Digi International, and the Digi logo are trademarks or registered trademarks in the United States and other countries worldwide. All other trademarks mentioned in this document are the property of their respective owners. © 2020 Digi International Inc. All rights reserved. Disclaimers Information in this document is subject to change without notice and does not represent a commitment on the part of Digi International. Digi provides this document “as is,” without warranty of any kind, expressed or implied, including, but not limited to, the implied warranties of fitness or merchantability for a particular purpose. Digi may make improvements and/or changes in this manual or in the product(s) and/or the program(s) described in this manual at any time. Warranty To view product warranty information, go to the following website: www.digi.com/howtobuy/terms Customer support Gather support information: Before contacting Digi technical support for help, gather the following information:    Product name and model    Product serial number (s)    Firmware version    Operating system/browser (if applicable)    Logs (from time of reported issue)    Trace (if possible)    Description of issue    Steps to reproduce XBee®-PRO 900HP/XSC RF Modules 2 Contact Digi technical support: Digi offers multiple technical support plans and service packages. Contact us at +1 952.912.3444 or visit us at www.digi.com/support. Feedback To provide feedback on this document, email your comments to techcomm@digi.com Include the document title and part number (XBee®-PRO 900HP/XSC RF Modules, 90002173 Y) in the subject line of your email. XBee®-PRO 900HP/XSC RF Modules 3 Contents About the XBee-PRO 900HP RF Module User guide structure Safety instructions XBee modules 14 15 15 Technical specifications Performance specifications Power requirements General specifications Networking specifications Regulatory conformity summary Serial communication specifications UART pin assignments SPI pin assignments GPIO specifications Secondary processor specifications 18 18 19 19 19 20 20 20 20 21 Hardware Mechanical drawings Pin signals Design notes Power supply design Board layout Antenna performance Recommended pin connections Module operation for the programmable variant Programmable XBee SDK 24 25 26 27 27 27 28 29 31 Configure the XBee-PRO 900HP RF Module Software libraries Configure the device using XCTU Over-the-air firmware updates Distribute the new application Verify the new application Install the application XBee Multi Programmer XBee®-PRO 900HP/XSC RF Modules 33 33 33 33 34 34 35 4 Operation Basic operational design Serial interface UART data flow Serial data Configuration considerations Select the serial port Force UART operation Select the SPI port Serial port selection Serial receive buffer Serial transmit buffer UART flow control CTS flow control RTS flow control 37 37 37 38 38 38 39 39 40 40 40 40 40 40 SPI operation SPI communications SPI implementation SPI signals Full duplex operation Low power operation SPI and API mode SPI parameters 43 43 44 45 45 46 46 Modes Serial modes Transparent operating mode API operating mode Comparing Transparent and API modes Modes of operation Idle mode Transmit mode Receive mode Command mode Sleep mode 48 48 48 48 49 49 50 50 50 52 Sleep modes About sleep modes Asynchronous modes Synchronous modes Normal mode Asynchronous pin sleep mode Asynchronous cyclic sleep mode Asynchronous cyclic sleep with pin wake up mode Synchronous sleep support mode Synchronous cyclic sleep mode The sleep timer Indirect messaging and polling XBee®-PRO 900HP/XSC RF Modules 54 54 54 54 55 55 55 55 56 56 56 5 Indirect messaging Polling Sleeping routers Sleep coordinator sleep modes in the DigiMesh network Synchronization messages Become a sleep coordinator Select sleep parameters Start a sleeping synchronous network Add a new node to an existing network Change sleep parameters Rejoin nodes that lose sync Diagnostics Query sleep cycle Sleep status Missed sync messages command Sleep status API messages 56 57 57 57 58 60 62 62 63 64 65 65 65 66 66 66 Networking methods The MAC and PHY layers 64-bit addresses Make a unicast transmission Make a broadcast transmission Delivery methods Point to Point / Point to Multipoint (P2MP) Repeater/directed broadcast DigiMesh networking 68 68 69 69 69 69 70 71 AT commands Special commands AC (Apply Changes) FR (Force Reset) RE (Restore Defaults) WR (Write) MAC/PHY commands AF (Available Frequencies) CM (Channel Mask) MF (Minimum Frequency Count) HP (Preamble ID) ID (Network ID) MT (Broadcast Multi-Transmits) PL (TX Power Level) RR (Unicast Mac Retries) ED (Energy Detect) Diagnostic commands BC (Bytes Transmitted) DB (Last Packet RSSI) ER (Received Error Count) GD (Good Packets Received) EA (MAC ACK Failure Count) TR (Transmission Failure Count) UA (MAC Unicast Transmission Count) %H (MAC Unicast One Hop Time) XBee®-PRO 900HP/XSC RF Modules 77 77 77 77 77 78 78 78 79 79 80 80 80 81 81 81 81 81 82 82 82 83 83 83 6 %8 (MAC Broadcast One Hop Time) Network commands CE (Node Messaging Options) BH (Broadcast Hops) NH (Network Hops) NN (Network Delay Slots) MR (Mesh Unicast Retries) RN (Delay Slots) Addressing commands SH (Serial Number High) SL (Serial Number Low) DH (Destination Address High) DL (Destination Address Low) TO (Transmit Options) NI (Node Identifier) NT (Node Discover Time) NO (Node Discovery Options) CI (Cluster ID) DE (Destination Endpoint) SE (Source Endpoint) Addressing discovery/configuration commands AG (Aggregator Support) DN (Discover Node) ND (Network Discover) FN (Find Neighbors) Security commands EE (Security Enable) KY (AES Encryption Key) Serial interfacing commands BD (Baud Rate) NB (Parity) SB (Stop Bits) RO (Packetization Timeout) FT (Flow Control Threshold) AP (API Mode) AO (API Options) I/O settings commands CB (Commissioning Pushbutton) D0 (DIO0/AD0) D1 (DIO1/AD1) D2 (DIO2/AD2) D3 (DIO3/AD3) D4 (DIO4) D5 (DIO5/ASSOCIATED_INDICATOR) D6 (DIO6/RTS) D7 (DIO7/CTS) D8 (DIO8/SLEEP_REQUEST) D9 (DIO9/ON_SLEEP) P0 (DIO10/RSSI/PWM0 Configuration) P1 (DIO11/PWM1 Configuration) P2 (DIO12 Configuration) P3 (DIO13/DOUT) P4 (DIO14/DIN) PD (Pull Up/Down Direction) PR (Pull-up/Down Resistor Enable) XBee®-PRO 900HP/XSC RF Modules 83 83 84 84 84 85 85 85 86 86 86 86 86 87 87 88 88 89 89 89 89 89 90 90 91 91 92 92 92 92 93 93 94 94 94 95 95 95 95 96 96 97 97 98 98 99 99 100 100 101 101 101 102 102 102 7 M0 (PWM0 Duty Cycle) M1 (PWM1 Duty Cycle) LT (Associate LED Blink Time) RP (RSSI PWM Timer) I/O sampling commands AV (Analog Voltage Reference) IC (DIO Change Detection) IF (Sleep Sample Rate) IR (I/O Sample Rate) IS (Force Sample) TP (Board Temperature) %V (Voltage Supply Monitoring) Sleep commands SM (Sleep Mode) SO (Sleep Options) SN (Number of Sleep Periods) SP (Sleep Period) ST (Wake Time) WH (Wake Host Delay) Diagnostic - sleep status/timing commands SS (Sleep Status) OS (Operating Sleep Time) OW (Operating Wake Time) MS (Missed Sync Messages) SQ (Missed Sleep Sync Count) Command mode options CC (Command Character) CN (Exit Command Mode) CT (Command Mode Timeout) GT (Guard Times) Firmware commands VL (Version Long) VR (Firmware Version) HV (Hardware Version) HS (Hardware Series) DD (Device Type Identifier) NP (Maximum Packet Payload Bytes) CK (Configuration CRC) 103 103 104 104 104 104 105 105 106 106 106 107 107 107 107 108 108 109 109 109 109 110 110 111 111 111 111 111 112 112 112 112 112 112 113 113 113 113 Operate in API mode API mode overview API frame format API operation (AP parameter = 1) API operation-with escaped characters (AP parameter = 2) Data bytes that need to be escaped: Length Frame data API serial exchanges AT commands Transmit and Receive RF data Remote AT commands Device Registration Calculate and verify checksums Example XBee®-PRO 900HP/XSC RF Modules 116 116 116 116 117 117 117 118 118 119 119 120 120 120 8 Frame descriptions 64-bit Transmit Request - 0x00 Description Format Examples Local AT Command Request - 0x08 Description Format Examples Queue Local AT Command Request - 0x09 Description Examples Transmit Request - 0x10 Description Transmit options bit field Examples Explicit Addressing Command Request - 0x11 Description 64-bit addressing Reserved endpoints Reserved cluster IDs Reserved profile IDs Transmit options bit field Examples Remote AT Command Request - 0x17 Description Format Examples 64-bit Receive Packet - 0x80 Description Format Examples Local AT Command Response - 0x88 Description Examples Transmit Status - 0x89 Description Delivery status codes Examples Modem Status - 0x8A Description Examples Extended Transmit Status - 0x8B Description Route Information - 0x8D Description Format Examples Aggregate Addressing Update - 0x8E Description Examples Receive Packet - 0x90 Description Examples XBee®-PRO 900HP/XSC RF Modules 123 123 123 124 124 124 125 125 127 127 127 129 129 130 130 132 132 132 132 132 132 133 134 136 136 136 137 139 139 139 140 141 141 141 143 143 144 144 145 145 146 147 147 149 149 149 150 151 151 151 153 153 154 9 Explicit Receive Indicator - 0x91 Description Examples I/O Sample Indicator - 0x92 Description Examples Node Identification Indicator - 0x95 Description Examples Remote AT Command Response- 0x97 Description Examples 155 155 156 157 157 158 160 160 161 163 163 164 Advanced application features Remote configuration commands Send a remote command Apply changes on remote devices Remote command responses Network commissioning and diagnostics Configure devices Network link establishment and maintenance Place devices Device discovery Link reliability Commissioning pushbutton and associate LED I/O line monitoring I/O samples Queried sampling Periodic I/O sampling Detect digital I/O changes 167 167 167 167 167 167 168 169 169 170 172 175 175 175 177 178 General Purpose Flash Memory General Purpose Flash Memory Access General Purpose Flash Memory General Purpose Flash Memory commands PLATFORM_INFO_REQUEST (0x00) PLATFORM_INFO (0x80) ERASE (0x01) ERASE_RESPONSE (0x81) WRITE (0x02) and ERASE_THEN_WRITE (0x03) WRITE _RESPONSE (0x82) and ERASE_THEN_WRITE_RESPONSE (0x83) READ (0x04) READ_RESPONSE (0x84) FIRMWARE_VERIFY (0x05) and FIRMWARE_VERIFY_AND_INSTALL(0x06) FIRMWARE_VERIFY_RESPONSE (0x85) FIRMWARE_VERIFY _AND_INSTALL_RESPONSE (0x86) Work with flash memory 180 180 181 181 181 182 182 183 184 184 185 185 186 186 187 XSC firmware XBee-PRO XSC RF Module overview XBee®-PRO 900HP/XSC RF Modules 189 10 Pin signals Electrical characteristics Timing specifications 189 190 191 XBee-PRO XSC specifications Performance specifications Power requirements Networking specifications General specifications Antenna options Regulatory conformity summary 195 195 196 196 196 197 XBee-PRO XSC RF Module operation Serial communications UART-interfaced data flow Serial data Flow control Data In (DIN) buffer and flow control Data Out (DO) buffer and flow control Operating modes Idle mode Transmit mode Receive mode Sleep mode Command mode 199 199 199 199 200 201 201 201 202 202 203 205 Configuration and commands Programming examples Connect the device to a PC Send binary commands Example Special commands FR (Force Reset) PL (TX Power Level) Command mode options AT (Guard Time After) BT (Guard Time Before) CC (Command Sequence Character) CD (DO3 Configuration) CN (Exit Command Mode) CT (Command Mode Timeout) E0 (Echo Off) E1 (Echo On) PC (Power-up to Transparent operating mode) Networking and security commands AM (Auto-set MY) MD (RF Mode) MY (Source Address) Network commands DT (Destination Address) XBee®-PRO 900HP/XSC RF Modules 210 210 210 210 211 211 211 211 212 212 212 213 213 214 214 214 215 215 215 216 216 217 217 11 HP (Preamble ID) HT (Time before Wake-up Initializer) ID (Network ID) MK (Address Mask) RN (Delay Slots) RR (Unicast Mac Retries) SY (Time Before Initialization) TT (Streaming Limit) Serial interfacing commands BD (Interface Data Rate) CS (DO2 Configuration) FL (Software Flow Control) FT (Flow Control Threshold) NB (Parity) PK (Maximum RF Packet Size) RB (Packetization Threshold) RO (Packetization Timeout) RT (DI2 Configuration) Diagnostic commands ER (Receive Count Error) GD (Receive Good Count) RE (Restore Defaults) RP (RSSI PWM Timer) RZ (DI Buffer Size) RS (RSSI) SH (Serial Number High) SL (Serial Number Low) TR (Transmission Failure Count) VR (Firmware Version - Short) Sleep commands FH (Force Wakeup Initializer) HT (Time before Wake-up Initializer) LH (Wakeup Initializer Timer) PW (Pin Wakeup) SM (Sleep Mode) ST (Wake Time) 217 218 218 218 219 219 220 221 221 221 222 223 224 224 224 225 225 226 226 226 227 227 228 228 229 229 229 230 230 231 231 231 232 232 233 233 Network configurations Network topologies Point-to-point networks Point-to-multipoint networks Peer to peer networks Addressing Address recognition Basic communications Streaming mode (default) Repeater mode Acknowledged mode 236 236 236 237 238 239 239 239 240 244 S3B hardware certifications Agency certifications - United States United States (FCC) XBee®-PRO 900HP/XSC RF Modules 248 248 12 OEM labeling requirements XBee-PRO 900HP and XBee-PRO XSC FCC notices Limited modular approval Fixed base station and mobile applications Portable applications and SAR testing RF exposure statement FCC-approved antennas (900 MHz) Antennas approved for use with the XBee-PRO 900HP RF Module FCC publication 996369 related information ISED (Innovation, Science and Economic Development Canada) Labeling requirements Contains IC: 1846A-XB900HP Transmitters for detachable antennas Detachable antenna Brazil ANATEL Mexico IFETEL OEM labeling requirements IDA (Singapore) certification Labeling Frequency band Antenna gain 248 248 248 249 249 250 250 251 251 257 259 259 259 259 259 260 261 261 262 262 262 262 Legacy S3B hardware certifications Agency certifications - United States United States (FCC) OEM labeling requirements XBee PRO S3 XBee PRO S3B FCC notices Limited modular approval Fixed base station and mobile applications Portable applications and SAR testing RF exposure statement ISED (Innovation, Science and Economic Development Canada) Labeling requirements Contains IC: 1846A-XB900HP Contains IC: 1846A-XBEEXSC or Contains IC: 1846A-XBPS3B Antenna options: 900 MHz antenna listings Transmitters with detachable antennas Detachable antenna Brazil ANATEL XBee®-PRO 900HP/XSC RF Modules 264 264 264 264 264 265 265 266 266 266 267 267 267 267 268 273 274 275 13 About the XBee-PRO 900HP RF Module The XBee-PRO 900HP RF Modules consist of firmware loaded onto XBee-PRO S3B hardware. These embedded RF devices provide wireless connectivity to end-point devices in mesh networks. You can build networks up to 128 nodes using the XBee devices. For larger networks of up to 1,000 or more nodes, we offer RF optimization services to assist with proper network configuration. For more information network configuration, contact Digi Technical Support. Note The XBee-PRO 900HP RF Module is not backward compatible with the legacy XBee-PRO 900 (Part Number: XBP09-DP…) or XBee-PRO DigiMesh 900 (Part Number: XBP09-DM…) RF modules. The XBee-PRO S3B hardware consists of: n One Energy Micro EFM®32G230F128 microcontroller n One Analog Devices ADF7023 radio transceiver n One RF power amplifier n One NXP MC9S08QE32® microcontroller, only in the programmable version of the XBee User guide structure This user guide contains documentation for two RF protocols: XStream Compatible (XSC) and 900HP. The XSC firmware is provided for customers who need compatibility with existing networks that need to be 9XStream compatible. Customers who do not require this compatibility should not use the XSC firmware, but rather the newer 900HP firmware. The XSC firmware section at the back of this user guide contains documentation for the XSC firmware only. All other firmware documentation in the user guide is applicable to the 900HP firmware only. For more information about XSC firmware see the XSC firmware section. The XBee-PRO 900HP RF Module is not backward compatible with the legacy XBee-PRO 900 (Part Number: XBP09-DP…) or XBee-PRO DigiMesh 900 (Part Number: XBP09-DM…) RF Modules. The following table describes how to use this user guide based on the Digi part number for the module: XBee®-PRO 900HP/XSC RF Modules 14 About the XBee-PRO 900HP RF Module Digi Part Numbers FCC ID Safety instructions Hardware Platform Preinstalled Firmware Firmware Available Regulatory Information XBP09-XC… MCQXBEEXSC S31 XSC XSC Legacy S3B hardware certifications XBP9B-XC*T-001 (revision G and earlier) XBP9B-XC*T-002 (revision G and earlier) XBP9B-XC*T-021 (revision F and earlier) XBP9B-XC*T-022 (revision F and earlier) MCQXBPS3B S3B XSC XSC Legacy S3B hardware certifications XBP9B-XC*T-001 (revision H and later) XBP9B-XC*T-002 (revision H and later) XBP9B-XC*T-021 (revision G and later) XBP9B-XC*T-022 (revision G and later) all other part numbers beginning XBP9B-XC... MCQXB900HP S3B XSC XSC / 900HP XBP9B-D… MCQXB900HP S3B 900HP XSC / 900HP Safety instructions XBee modules n The XBee radio module cannot be guaranteed operation due to the radio link and so should not be used for interlocks in safety critical devices such as machines or automotive applications. n The XBee radio module have not been approved for use in (this list is not exhaustive): l medical devices l nuclear applications l explosive or flammable atmospheres n There are no user serviceable components inside the XBee radio module. Do not remove the shield or modify the XBee in any way. Modifications may exclude the module from any warranty and can cause the XBee radio to operate outside of regulatory compliance for a given country, leading to the possible illegal operation of the radio. n Use industry standard ESD protection when handling the XBee module. 1The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. XBee®-PRO 900HP/XSC RF Modules 15 About the XBee-PRO 900HP RF Module Safety instructions n Take care while handling to avoid electrical damage to the PCB and components. n Do not expose XBee radio modules to water or moisture. n Use this product with the antennas specified in the XBee module user guides. n The end user must be told how to remove power from the XBee radio module or to locate the antennas 20 cm from humans or animals. XBee®-PRO 900HP/XSC RF Modules 16 Technical specifications Performance specifications Power requirements General specifications Networking specifications Regulatory conformity summary Serial communication specifications GPIO specifications Secondary processor specifications XBee®-PRO 900HP/XSC RF Modules 18 18 19 19 19 20 20 21 17 Technical specifications Performance specifications Performance specifications This table describes the performance specifications for the devices. Note Range figure estimates are based on free-air terrain with limited sources of interference. Actual range will vary based on transmitting power, orientation of transmitter and receiver, height of transmitting antenna, height of receiving antenna, weather conditions, interference sources in the area, and terrain between receiver and transmitter, including indoor and outdoor structures such as walls, trees, buildings, hills, and mountains. Specification Value Ideal RF line-of-sight range 10 kb/s: up to 9 miles (15.5 km) 200 kb/s: up to 4 miles (6.5 km) (with 2.1 dB dipole antennas) Transmit power output 24 dBm (250 mW) (software selectable) RF data rate (high) 200 kb/s RF data rate (low) 10 kb/s Serial UART interface Complementary metal–oxide–semiconductor (CMOS) Serial universal asynchronous receiver/transmitter (UART), baud rate stability of 1. 7E 00 18 91 00 13 A2 00 41 AE B5 4E FF FE E8 E8 00 11 C1 05 C1 54 78 44 61 74 61 1C Frame type 64-bit source 0x91 0x0013A200 0x87BD 41AEB54E Unused Explicit output Source Reserved EP XBee®-PRO 900HP/XSC RF Modules Dest EP Cluster Profile Rx options 0xE8 0xE8 0x0011 0xC105 0xC1 0x54784461746 1  Digi data Digi data Data Digi profile ACK was sent in DigiMesh network "TxData" Received data 156 Frame descriptions I/O Sample Indicator - 0x92 I/O Sample Indicator - 0x92 Description This frame type is emitted when a device configured with standard API output—AO (API Options) = 0— receives an I/O sample frame from a remote device. Only devices running in API mode will send I/O samples out the serial port. Format The following table provides the contents of the frame. For details on frame structure, see API frame format. Frame Field Offset Size Description 0 8-bit Start Delimiter Indicates the start of an API frame. 1 16-bit Length Number of bytes between the length and checksum. 3 8-bit Frame type I/O Sample Indicator - 0x92 4 64-bit 64-bit source address The sender's 64-bit IEEE address. 12 16-bit Reserved Unused, but typically 0XFFFE. 14 8-bit Receive options Bit field of options that apply to the received message: n Bit 0: Packet was Acknowledged [0x01] n Bit 1: Packet was sent as a broadcast [0x02] Note Option values may be combined. 15 8-bit Number of samples The number of sample sets included in the payload. This field typically reports 1 sample. 16 16-bit Digital sample mask Bit field that indicates which I/O lines on the remote are configured as digital inputs or outputs, if any: bit 0: DIO0 bit 1: DIO1 bit 2: DIO2 bit 3: DIO3 bit 4: DIO4 bit 5: DIO5 bit 6: DIO6 bit 7: DIO7 bit 8: DIO8 bit 9: DIO9 bit 10: DIO10 XBee®-PRO 900HP/XSC RF Modules 157 Frame descriptions Offset I/O Sample Indicator - 0x92 Size Frame Field Description bit 11: DIO11 bit 12: DIO12 bit 13: DIO13 bit 14: DIO14 bit 15: N/A For example, a digital channel mask of 0x002F means DIO 0, 1, 2, 3, and 5 are enabled as digital I/O. 18 8-bit Analog sample mask Bit field that indicates which I/O lines on the remote are configured as analog input, if any: bit 0: AD0 bit 1: AD1 bit 2: AD2 bit 3: AD3 bit 7: Supply Voltage (enabled with V+ command) 19 16-bit Digital samples (if included) If the sample set includes any digital I/O lines (Digital channel mask > 0), this field contain samples for all enabled digital I/O lines. If no digital lines are configured as inputs or outputs, this field will be omitted. DIO lines that do not have sampling enabled return 0. Bits in this field are arranged the same as they are in the Digital channel mask field. 22 16-bit variable Analog samples (if included) If the sample set includes any analog I/O lines (Analog channel mask > 0), each enabled analog input returns a 16-bit value indicating the ADC measurement of that input. Analog samples are ordered sequentially from AD0 to AD3. EOF 8-bit Checksum 0xFF minus the 8-bit sum of bytes from offset 3 to this byte (between length and checksum). Examples Each example is written without escapes (AP = 1) and all bytes are represented in hex format. For brevity, the start delimiter, length, and checksum fields have been excluded. I/O sample A device with the 64-bit address of 0013A20012345678 is configured to periodically send I/O sample data to a particular device. The device is configured with DIO3, DIO4, and DIO5 configured as digital I/O, and AD1 and AD2 configured as an analog input. The destination will emit the following frame: 7E 00 16 92 00 13 A2 00 12 34 56 78 FF FE C1 01 00 38 06 00 28 02 25 00 F8 E8 XBee®-PRO 900HP/XSC RF Modules 158 Frame descriptions I/O Sample Indicator - 0x92 Frame type 64-bit source 0x92 0x0013A20 0x87AC 0 12345678 Sampl e Reserve d Unused XBee®-PRO 900HP/XSC RF Modules Rx option s Num sample s Digital Analog Digital channe channe sample l mask l mask s Analog Analog sampl sampl e1 e2 0xC1 0x01 0x0038 ACK was sent in mesh networ k b'00 Single sample 111000 (typical) DIO3, DIO4, and DIO5 enabled 0x06 0x0028 0x0225 0x00F8 b'0110 AD1 and AD2 enabled b'00 101000 DIO3 and DIO5 are HIGH; DI04 is LOW AD1 data AD2 data 159 Frame descriptions Node Identification Indicator - 0x95 Node Identification Indicator - 0x95 Description This frame type is emitted when a node identification broadcast is received. The node identification indicator contains information about the identifying device, such as address, identifier string (NI), and other relevant data. A node identifies itself to the network under these conditions: n The commissioning button is pressed once. n A CB 1 command is issued. n A synchronous sleep node stays awake for 30 seconds in order to receive a sync message. It also sends out an identifying message. See ND (Network Discover) for information on the payload formatting. See NO (Node Discovery Options) for configuration options that modify the output of this frame. Format The following table provides the contents of the frame. For details on frame structure, see API frame format. Offset Size Frame Field Description 0 8-bit Start Delimiter Indicates the start of an API frame. 1 16-bit Length Number of bytes between the length and checksum. 3 8-bit Frame type Node Identification Indicator - 0x95 4 64-bit 64-bit source address The sender's 64-bit address. 12 16-bit Reserved Unused, but this field is typically set to 0xFFFE. 14 8-bit Options Bit field of options that apply to the received message: XBee®-PRO 900HP/XSC RF Modules n Bit 0: Reserved n Bit 1: Packet was sent as a broadcast [0x02] n Bit 2: Reserved n Bit 4: Reserved n Bit 5: Reserved n Bit 6, 7: DigiMesh delivery method l b’00 = l b’01 = Point-multipoint [0x40] l b’10 = Directed Broadcast [0x80] l b’11 = DigiMesh [0xC0] 160 Frame descriptions Offset Node Identification Indicator - 0x95 Size Frame Field Description Note Option values may be combined. 15 16-bit Reserved Unused, but this field is typically set to 0xFFFE. 17 64-bit 64-bit remote address The 64-bit address of the device that sent the Node Identification. 25 variable (2-byte minimum) Node identification string Node identification string on the remote device set by NI (Node Identifier). The identification string is terminated with a NULL byte (0x00). 27+NI 16-bit Reserved Unused, but this field is typically set to 0xFFFE. 29+NI 8-bit Network device type What type of network device the remote identifies as: 0 = Coordinator 1 = Router 2 = End Device 30+NI 8-bit Source event The event that caused the node identification broadcast to be sent. 0 = Reserved 1 = Frame sent by node identification pushbutton event—see D0 (DIO0/AD0). 31+NI 16-bit Digi Profile ID The Digi application Profile ID—0xC105. 33+NI 16-bit Digi Manufacturer ID The Digi Manufacturer ID—0x101E. 35+NI 32-bit Device type identifier (optional) The user-defined device type on the remote device set by DD (Device Type Identifier). Only included if the receiving device has the appropriate NO (Node Discovery Options) bit set. EOF-1 8-bit RSSI (optional) The RSSI of the last hop that relayed the message. Only included if the receiving device has the appropriate NO (Node Discovery Options) bit set. EOF 8-bit Checksum 0xFF minus the 8-bit sum of bytes from offset 3 to this byte—between length and checksum. Examples Each example is written without escapes (AP = 1) and all bytes are represented in hex format. For brevity, the start delimiter, length, and checksum fields have been excluded. Identify remote device A technician is replacing a DigiMesh device in the field and needs to have the its entry removed from a cloud server's database. The technician pushes the commissioning button on the old device once to send an identification broadcast. The server can use the broadcast to identify which device is being replaced and perform the necessary action. When the node identification broadcast is sent, every device that receives the message will flash the association LED and emit the following information frame: XBee®-PRO 900HP/XSC RF Modules 161 Frame descriptions Node Identification Indicator - 0x95 7E 00 27 95 00 13 A2 00 12 34 56 78 FF FE C2 FF FE 00 13 A2 00 12 34 56 78 4C 48 37 35 00 FF FE 01 01 C1 05 10 1E 00 14 00 08 0D Frame type 64-bit source 0x95 0x0013A 0xFFFE 0xC2 200 1234567 8 Identifica tion Reser ved Unuse d XBee®-PRO 900HP/XSC RF Modules Option 64-bit s remote DigiMe sh broadc ast NI String Reser ved Devi ce type 0x0013A 0x4C48373 0xFFFE 0x01 200 5 00 1234567 8 "LH75" + null Unuse d Rout er Eve nt Profi MFG  le ID ID 0x01 0xC1 05 Butt Digi on press 0x10 1E Digi 162 Frame descriptions Remote AT Command Response- 0x97 Remote AT Command Response- 0x97 Request frame: Remote AT Command Request - 0x17 Description This frame type is emitted in response to a Remote AT Command Request - 0x17. Some commands send back multiple response frames; for example, the ND command. Refer to individual AT command descriptions for details on API response behavior. This frame is only emitted if the Frame ID in the request is non-zero. Format The following table provides the contents of the frame. For details on frame structure, see API frame format. Offset Size Frame Field Description 0 8-bit Start Delimiter Indicates the start of an API frame. 1 16-bit Length Number of bytes between the length and checksum. 3 8-bit Frame type Remote AT Command Response - 0x97 4 8-bit Frame ID Identifies the data frame for the host to correlate with a prior request. 5 64-bit 64-bit source address The sender's 64-bit address. 13 16-bit Reserved Unused, but this field is typically set to 0xFFFE. 15 16-bit AT command The two ASCII characters that identify the AT Command. 17 8-bit Command status Status code for the host's request: 0x00 = OK 0x01 = ERROR 0x02 = Invalid command 0x03 = Invalid parameter 0x04 = Transmission failure 0x0C = Encryption error 18-n variable Parameter value (optional) If the host requested a command parameter change, this field will be omitted. If the host queried a command by omitting the parameter value in the request, this field will return the value currently set on the device. EOF 8-bit Checksum 0xFF minus the 8-bit sum of bytes from offset 3 to this byte (between length and checksum). XBee®-PRO 900HP/XSC RF Modules 163 Frame descriptions Remote AT Command Response- 0x97 Examples Each example is written without escapes (AP = 1) and all bytes are represented in hex format. For brevity, the start delimiter, length, and checksum fields have been excluded. Set remote command parameter Host set the NI string of a remote device to "Remote" using a Remote AT Command Request - 0x17. The corresponding 0x97 Remote AT Command Response with a matching Frame ID is emitted as a response: 7E 00 0F 97 27 00 13 A2 00 12 34 56 78 12 7E 4E 49 00 51 Frame type Frame ID 0x97 0x27 Response Matches request 64-bit source 0x0013A200 12345678 Reserved AT command Command Status Command data 0x127E 0x4E49 0x00 (omitted) Unused "NI" Success Parameter changes return no data Transmission failure Host queued the the PAN ID change of a remote device using a Remote AT Command Request - 0x17. Due to existing network congestion, the host will retry any failed attempts. The corresponding 0x97 Remote AT Command Response with a matching Frame ID is emitted as a response: 7E 00 0F 97 27 00 13 A2 00 12 34 56 78 FF FE 49 44 04 EA Frame type Frame ID 0x97 0x27 Response Matches request 64-bit source 0x0013A200 12345678 Reserved AT command Command Status Command data 0xFFFE 0x4944 0x04 (omitted) Unused "ID" Transmission failure Parameter changes return no data Query remote command parameter Query the temperature of a remote device—TP (Board Temperature). The corresponding 0x97 Remote AT Command Response with a matching Frame ID is emitted with the temperature value as a response: 7E 00 11 97 27 00 13 A2 00 12 34 56 78 FF FE 54 50 00 00 2F A8 XBee®-PRO 900HP/XSC RF Modules 164 Frame descriptions Remote AT Command Response- 0x97 Frame type Frame ID 0x97 0x27 Response Matches request XBee®-PRO 900HP/XSC RF Modules 64-bit source Reserved AT command Command Status Command data 0x0013A200 12345678 0x0013A200 12345678 0x4944 0x00 0x002F Unused "TP" Success +47 °C 165 Advanced application features Remote configuration commands Network commissioning and diagnostics I/O line monitoring XBee®-PRO 900HP/XSC RF Modules 167 167 175 166 Advanced application features Remote configuration commands Remote configuration commands A device in API mode has provisions to send configuration commands to remote devices using the Remote Command Request API frame. For more information, see Operate in API mode. You can use this API frame to send commands to a remote module to read or set command parameters. Send a remote command To send a remote command populate the Remote AT Command Request frame (0x17) with: 1. The 64-bit address and of the remote device. 2. The correct command options value. 3. The command and parameter data (optional). Apply changes on remote devices When you use remote commands to change command parameter settings on a remote device, parameter changes do not take effect until you apply the changes. For example, changing the BD parameter does not change the serial interface on the remote until the changes are applied. To apply changes, do one of the following: n Set the apply changes option bit in the API frame. n Issue an AC (Apply Changes) command to the remote device. n Issue a WR + FR command to the remote device to save changes and reset the device. Remote command responses If the remote device receives a remote command request transmission, and the API frame ID is nonzero, the remote sends a remote command response transmission back to the device that sent the remote command. When a remote command response transmission is received, a device sends a remote command response API frame out its serial port. The remote command response indicates the status of the command (success, or reason for failure), and in the case of a command query, it includes the register value. The device that sends a remote command will not receive a remote command response frame if either of the following conditions exist: n The destination device could not be reached. n The frame ID in the remote command request is set to 0. Network commissioning and diagnostics We call the process of discovering and configuring devices in a network for operation, "network commissioning." Devices include several device discovery and configuration features. In addition to configuring devices, you must develop a strategy to place devices to ensure reliable routes. To accommodate these requirements, modules include features to aid in placing devices, configuring devices, and network diagnostics. Configure devices You can configure XBee devices locally through serial commands (AT or API) or remotely through remote API commands. API devices can send configuration commands to set or read the configuration settings of any device in the network. XBee®-PRO 900HP/XSC RF Modules 167 Advanced application features Network commissioning and diagnostics Network link establishment and maintenance Build aggregate routes In many applications it is necessary for many or all of the nodes in the network to transmit data to a central aggregator node. In a new DigiMesh network the overhead of these nodes discovering routes to the aggregator node can be extensive and taxing on the network. To eliminate this overhead, use the AG command to automatically build routes to an aggregate node in a DigiMesh network. Send a unicast To send a unicast, devices configured for Transparent mode (AP = 0) must set their DH/DL registers to the MAC address of the node which they need to transmit to. In networks of Transparent mode devices which transmit to an aggregator node, it is necessary to set every device's DH/DL registers to the MAC address of the aggregator node. Use the AG command to set the DH/DL registers of all the nodes in a DigiMesh network to that of the aggregator node. Use the AG command Upon deploying a DigiMesh network, send the AG command on the desired aggregator node to cause all nodes in the network to build routes to the aggregator node. You can use the command to automatically update the DH/DL registers to match the MAC address of the aggregator node. The AG command requires a 64-bit parameter. The parameter indicates the current value of the DH/DL registers on a device which should be replaced by the 64-bit address of the node sending the AG broadcast. If it is not desirable to update the DH/DL of the device receiving the AG broadcast, you can use the invalid address of 0xFFFE. API enabled devices output an Aggregate Addressing Update 0x8E if they update their DH/DL address. All devices that receive an AG broadcast update their routing table information to build a route to the sending device, regardless of whether or not their DH/DL address is updated. This routing information will be used for future transmissions of DigiMesh unicasts. Example 1: To update the DH/DL registers of all modules in the network to be equal to the MAC address of an aggregator node with a MAC address of 0x0013a2004052c507 after network deployment the following technique could be employed: 1. Deploy all devices in the network with the default DH/DL of 0xFFFF. 2. Send an ATAGFFFF command on the aggregator node. Following the preceding sequence would result in all of the nodes in the network which received the AG broadcast to have a DH of 0x0013a200 and a DL of 0x4052c507. These nodes would have automatically built a route to the aggregator. Example 2: To cause all nodes in the network to build routes to an aggregator node with a MAC address of 0x0013a2004052c507 without affecting the DH/DL of any nodes in the network, send the AGFFFE command on the aggregator node. This sends an AG broadcast to all nodes in the network. All of the nodes will update their internal routing table information to contain a route to the aggregator node. None of the nodes update their DH/DL registers, because none of the registers are set to an address of 0xFFFE. Node replacement You can also use the AG command to update the routing table and DH/DL registers in the network after a device is replaced, and you can update the DH/DL registers of nodes in the network. XBee®-PRO 900HP/XSC RF Modules 168 Advanced application features Network commissioning and diagnostics n To update only the routing table information without affecting the DH/DL registers, use Example 2. n To update the DH/DL registers of the network, use the method in the following example. Example: Use the device with serial number 0x0013a2004052c507 as a network aggregator and replace it with a device with serial number 0x0013a200f5e4d3b2. Issue the AG0013a2004052c507 command on the new module. This causes all devices with a DH/DL register setting of 0x0013a2004052c507 to update their DH/DL register setting to the MAC address of the sending device (0x0013a200f5e4d3b2). Place devices For a network installation to be successful, installers must be able to determine where to place individual XBee devices to establish reliable links throughout the network. RSSI indicators It is possible to measure the received signal strength on a device using the DB command. DB returns the RSSI value (measured in -dBm) of the last received packet. However, this number can be misleading in DigiMesh networks. The DB value only indicates the received signal strength of the last hop. If a transmission spans multiple hops, the DB value provides no indication of the overall transmission path, or the quality of the worst link; it only indicates the quality of the last link. Determine the DB value in hardware using the RSSI/PWM device pin (pin 6). If you enable the RSSI PWM functionality (P0 command), when the device receives data, it sets the RSSI PWM to a value based on the RSSI of the received packet (this value only indicates the quality of the last hop). You could connect this pin to an LED to indicate if the link is stable or not. Device discovery Network discovery Use the network discovery command to discover all devices that have joined a network. Issuing the ND command sends a broadcast network discovery command throughout the network. All devices that receive the command send a response that includes: n Device addressing information n Node identifier string (see NI (Node Identifier)) n Other relevant information You can use this command for generating a list of all module addresses in a network. Neighbor polling Use the neighbor poll command to discover the modules which are immediate neighbors (within RF range) of a particular node. You can use this command to determining network topology and determining possible routes. The device sends the command using the FN command. You can initiate the FN command locally on a node using AT command mode or by using a local AT command request frame. You can also initiate the command remotely by sending the target node an FN command using a remote AT command request API frame. A node that executes an FN command sends a broadcast to all of its immediate neighbors. All devices that receive this broadcast send an RF packet to the node that initiated the FN command. In an instance where the device initiates the command remotely, it sends the responses directly to the node XBee®-PRO 900HP/XSC RF Modules 169 Advanced application features Network commissioning and diagnostics which sent the FN command to the target node. The device outputs the response packet on the initiating radio in the same format as a network discovery frame. Link reliability To install a successful mesh network, you must be able to determine where to place individual XBee devices to establish reliable links throughout the mesh network. Network link testing To determine the success rate of many transmissions, send unicast data through the network from one device to another to measure the performance of the mesh network. To simplify link testing, the modules support a loopback cluster ID (0x12) on the data endpoint (0xE8). The device transmits any data sent to this cluster ID on the data endpoint back to the sender as illustrated in the following figure: The configuration steps to send data to the loopback cluster ID depend on the AP setting. AT configuration (AP=0) To send data to the loopback cluster ID on the data endpoint of a remote device, set the CI command value to 0x12. Set the SE and DE commands set to 0xE8 (default value). Set the DH and DL commands to the address of the remote. After exiting command mode, the source device transmits any received serial characters to the remote device, and returned to the sender. API configuration (AP=1 or AP=2) Send an Explicit Addressing Command API frame (0x11) using 0x12 as the cluster ID and 0xE8 as the source and destination endpoint. The remote device echoes any data packets it receives to the sender. Link testing between adjacent devices To test the quality of a link between two adjacent nodes in a network, use the Test Link Request Cluster ID send a number of test packets between any two nodes in a network. Initiate a link test using an Explicit TX Request frame. Address the command frame to the Test Link Request Cluster ID (0x0014) on destination endpoint 0xE6 on the device to execute the test link. The Explicit TX Request frame contains a 12 byte payload with the following format: XBee®-PRO 900HP/XSC RF Modules 170 Advanced application features Number of bytes Network commissioning and diagnostics Field name Description 8 Destination address The address the device tests its link with. 2 Payload size The size of the test packet. Use the MP command to query the maximum payload size for this device. 2 Iterations The number of packets to send. Use a number between 1 and 4000. After completing the transmissions of the test link packets, the executing device sends the following data packet to the requesting device's Test Link Result Cluster (0x0094) on endpoint (0xE6). If the requesting device is operating in API mode, the device outputs the following information as an API Explicit RX Indicator Frame: Number of bytes Field name Description 8 Destination address The address where the device tested its link. 2 Payload size The size of the test packet sent to test the link. 2 Iterations The number of packets sent. 2 Success The number of packets successfully acknowledged. 2 Retries The total number of MAC retries to transfer all the packets. 1 Result 0x00 - command was successful. 0x03 - invalid parameter used. 1 RR The maximum number of MAC retries allowed. 1 maxRSSI The strongest RSSI reading observed during the test. 1 minRSSI The weakest RSSI reading observed during the test. 1 avgRSSI The average RSSI reading observed during the test. Example Suppose that the link between device A (SH/SL = 0x0013a20040521234) and device B (SH/SL=0x0013a2004052abcd) is being tested by transmitting 1,000 40 byte packets. Send the following API packet to the serial interface of the device outputting the results, device C. Note that device C can be the same device as device A or B (Whitespace delineates fields and bold text is the payload portion of the packet): 7E 0020 11 01 0013A20040521234 FFFE E6 E6 0014 C105 00 00 0013A2004052ABCD 0028 03E8 EB And the following is a possible packet returned: 7E 0027 91 0013A20040521234 FFFE E6 E6 0094 C105 00 0013A2004052ABCD 0028 03E8 03E7 0064 00 0A 50 53 52 9F (999 out of 1000 packets successful, 100 retries used, RR=10, maxRSSI= - 80 dBm, minRSSI= - 83 dBm, avgRSSI= - 82 dBm) If the result field is not equal to zero then an error occurred. Ignore the other fields in the packet. If the Success field is equal to zero then ignore the RSSI fields. XBee®-PRO 900HP/XSC RF Modules 171 Advanced application features Network commissioning and diagnostics Trace routing Determining the route a DigiMesh unicast takes to its destination is useful when setting up a network or diagnosing problems within a network. Use the Trace Route API option of Tx Request Packets to transmit routing information packets to the originator of a DigiMesh unicast by the intermediate nodes. For a description of the API frames, see API operating mode. If you enable the Trace Route API option, the device sends the unicast to its destination devices, which forward the unicast to its eventual destination. The destination devices transmit a Route Information—RI—packet back along the route to the unicast originator. When a unicast is sent with the Trace Route API option enabled, the unicast is sent to its destination radios which forward the unicast to its eventual destination and transmit a Route Information—RI— packet back along the route to the unicast originator. For more information, see API operating mode. The destination devices contain addressing information for the unicast and intermediate hop that generates the trace route packet, and other link quality information. Example: Suppose you unicast a data packet with the trace route enabled from radio A to radio E, through radios B, C, and D. The following sequence occurs: n After the successful MAC transmission of the data packet from A to B, A outputs an RI Packet indicating that the transmission of the data packet from A to E was successfully forwarded one hop from A to B. n After the successful MAC transmission of the data packet from B to C, B transmits a RI Packet to A. Then, A outputs this RI packet out its serial interface. n After the successful MAC transmission of the data packet from C to D, C transmits a RI Packet to A—through B. Then, A outputs this RI packet out its serial interface. n After the successful MAC transmission of the data packet from D to E, D transmits an RI Packet to A—through C and B. Then, A outputs this RI packet out its serial interface. Route Information packets are not guaranteed to arrive in the same order as the unicast packet took. It is also possible Route Information packets that are transferred on a weak route to fail before arriving at the unicast originator. Because of the large number of Route Information packets that can be generated by a unicast with Trace Route enabled, we suggest that the Trace Route option only be used for occasional diagnostic purposes and not for normal operations. NACK messages Transmit Request (0x10 and 0x11) frames contain a negative-acknowledge character (NACK) API option (Bit 2 of the Transmit Options field). If you use this option when transmitting data, when a MAC acknowledgment failure occurs on one of the hops to the destination device, the device generates a Route Information Packet (0x8D) frame and sends it to the originator of the unicast. This information is useful because it allows you to identify and repair marginal links. Commissioning pushbutton and associate LED XBee devices support a set of commissioning pushbutton and LED behaviors to aid in device deployment and commissioning. These include the commissioning push button definitions and associate LED behaviors. The following features can be supported in hardware: XBee®-PRO 900HP/XSC RF Modules 172 Advanced application features Network commissioning and diagnostics TH RF Module Connect a pushbutton and an LED to XBee-PRO 900HP RF Module pins 20 and 15 respectively to support the commissioning pushbutton and associate LED functionalities. SMT RF Module Commissioning pushbutton The commissioning pushbutton definitions provide a variety of simple functions to help with deploying devices in a network. Enable the commissioning button functionality by setting D0 (DIO0/AD0) to 1 (enabled by default). Button presses Sleep configuration and sync status 1 Not configured for sleep Immediately sends a Node Identification broadcast transmission. All devices that receive this transmission blink their Associate LED rapidly for 1 second. All API devices that receive this transmission send a Node Identification Indicator - 0x95 out their serial interface. 1 Configured for asynchronous sleep Wakes the module for 30 seconds. Immediately sends a Node Identification broadcast transmission. All devices that receive this transmission blink their Associate LED rapidly for 1 second. All API devices that receive this transmission send a Node Identification Indicator - 0x95 out their serial interface. 1 Configured for synchronous sleep Wakes the device for 30 seconds (or until the synchronized network goes to sleep). Queues a Node Identification XBee®-PRO 900HP/XSC RF Modules Action 173 Advanced application features Button presses Network commissioning and diagnostics Sleep configuration and sync status Action broadcast transmission sent at the beginning of the next network wake cycle. All devices receiving this transmission blink their Associate LEDs rapidly for 1 second. All API devices that receive this transmission send a Node Identification Indicator - 0x95 out their serial interface. 2 Not configured for synchronous sleep No effect. 2 Configured for synchronous sleep Causes a node configured with sleeping router nomination enabled (see SO (Sleep Options)) to immediately nominate itself as the network sleep coordinator. 4 Any Issues an RE (Restore Defaults)to restore device parameters to default values. Use CB (Commissioning Pushbutton) to simulate button presses in software. Issue a CB command with a parameter set to the number of button presses you want executed. For example, sending CB1 executes the actions associated with a single button press. The node identification frame is similar to the node discovery response frame; it contains the device’s address, node identifier string (NI command), and other relevant data. All API devices that receive the node identification frame send it out their serial interface as a Node Identification Indicator - 0x95. Associate LED The Associate pin (pin 15) provides an indication of the device's sleep status and diagnostic information. To take advantage of these indications, connect an LED to the Associate pin. To enable the Associate LED functionality, set the D5 command to 1; it is enabled by default. If enabled, the Associate pin is configured as an output. This section describes the behavior of the pin. The Associate pin indicates the synchronization status of a sleep compatible XBee-PRO 900HP RF Module. If a device is not sleep compatible, the pin functions as a power indicator. Use the LT command to override the blink rate of the Associate pin. If you set LT to 0, the device uses the default blink time: 500 ms for a sleep coordinator, 250 ms otherwise. The following table describes the Associate LED functionality. Sleep mode LED status Meaning 0 On, blinking The device has power and is operating properly 1, 4, 5 Off The device is in a low power mode 1, 4, 5 On, blinking The device has power, is awake and is operating properly 7 On, solid The network is asleep, or the device has not synchronized with the network, or has lost synchronization with the network 7, 8 On, slow blinking (500 ms blink time) The device is acting as the network sleep coordinator and is operating properly XBee®-PRO 900HP/XSC RF Modules 174 Advanced application features Sleep mode I/O line monitoring LED status Meaning 7, 8 On, fast blinking (250 ms blink time) The device is properly synchronized with the network 8 Off The device is in a low power mode 8 On, solid The device has not synchronized or has lost synchronization with the network Diagnostics support The Associate pin works with the Commissioning Pushbutton to provide additional diagnostic behaviors to aid in deploying and testing a network. If you press the Commissioning Pushbutton once, the device transmits a broadcast Node Identification Indicator (0x95) frame at the beginning of the next wake cycle if the device is sleep compatible, or immediately if the device is not sleep compatible. If you enable the Associate LED functionality using the D5 command, a device that receives this transmission blinks its Associate pin rapidly for one second. I/O line monitoring I/O samples XBee devices support both analog input and digital I/O line modes on several configurable pins. Queried sampling Devices support both analog input and digital I/O line modes on several configurable pins. The following table provides typical parameters for the pin configuration commands (D0 - D9, P0 P2). Pin command parameter Description 0 Unmonitored digital input 1 Reserved for pin-specific alternate functionality 2 Analog input (A/D pins) or PWM output (PWM pins) 3 Digital input, monitored 4 Digital output, low 5 Digital output, high 7 Alternate functionality, where applicable The following table provides the pin configurations when you set the configuration command for a particular pin. XBee®-PRO 900HP/XSC RF Modules 175 Advanced application features I/O line monitoring Device pin name Device pin number Configuration command CD / DIO12 4 P2 PWM0 / RSSI / DIO10 6 P0 PWM1 / DIO11 7 P1 DTR / SLEEP_RQ / DIO8 9 D8 AD4 / DIO4 11 D4 CTS/ DIO7 12 D7 ON/SLEEP/ DIO9 13 D9 ASSOC / AD5 / DIO5 15 D5 RTS / DIO6 16 D6 AD3 / DIO3 17 D3 AD2 / DIO2 18 D2 AD1 / DIO1 19 D1 AD0 / DIO0 / Commissioning Pushbutton 20 D0 Use the PR command to enable internal pull up/down resistors for each digital input. Use the PD command to determine the direction of the internal pull up/down resistor. If you issue the IS command using a a local or remote AT Command API frame, then the device returns an AT Command Response (0x88) frame with the I/O data included in the command data portion of the packet. Field Name Description 1 Sample sets Number of sample sets in the packet. Always set to 1. 2 Digital channel mask Indicates which digital I/O lines have sampling enabled. Each bit corresponds to one digital I/O line on the device. bit 0 = AD0/DIO0 bit 1 = AD1/DIO1 bit 2 = AD2/DIO2 bit 3 = AD3/DIO3 bit 4 = DIO4 bit 5 = ASSOC/DIO5 bit 6 = RTS/DIO6 bit 7 = CTS/GPIO7 bit 8 = DTR / SLEEP_RQ / DIO8 bit 9 = ON_SLEEP / DIO9 bit 10 = RSSI/DIO10 bit 11 = PWM/DIO11 bit 12 = CD/DIO12 For example, a digital channel mask of 0x002F means DIO0,1,2,3, and 5 are XBee®-PRO 900HP/XSC RF Modules 176 Advanced application features Field Name I/O line monitoring Description enabled as digital I/O. 1 Variable Analog channel mask Indicates which lines have analog inputs enabled for sampling. Each bit in the analog channel mask corresponds to one analog input channel. Sampled data set If you enable any digital I/O lines, the first two bytes of the data set indicate the state of all enabled digital I/O. Only digital channels that you enable in the Digital channel mask bytes have any meaning in the sample set. If do not enable any digital I/O on the device, it omits these two bytes. Following the digital I/O data (if there is any), each enabled analog channel returns two bytes. The data starts with AIN0 and continues sequentially for each enabled analog input channel up to AIN5. bit 0 = AD0/DIO0 bit 1 = AD1/DIO1 bit 2 = AD2/DIO2 bit 3 = AD3/DIO3 bit 4 = AD4/DIO4 bit 5 = ASSOC/AD5/DIO5 Example Sample AT response 0x01 [1 sample set] 0x0C0C [Digital Inputs: DIO 2, 3, 10, 11 enabled] 0x03 [Analog Inputs: A/D 0, 1 enabled] 0x0408 [Digital input states: DIO 3, 10 high, DIO 2, 11 low] 0x03D0 [Analog input: ADIO 0 = 0x3D0] 0x0124 [Analog input: ADIO 1 =0x120] Periodic I/O sampling Periodic sampling allows a device to take an I/O sample and transmit it to a remote device at a periodic rate. Use the IR command to set the periodic sample rate. n To disable periodic sampling, set IR to 0. n For all other IR values, the firmware samples data when IR milliseconds elapse and the sample data transmits to a remote device. The DH and DL commands determine the destination address of the I/O samples. Only devices with API operating mode enabled send I/O data samples out their serial interface. Devices that are in Transparent mode (AP = 0) discard the I/O data samples they receive. You must configure at least one pin as a digital or ADC input to generate sample data. A device with sleep enabled transmits periodic I/O samples at the IR rate until the ST time expires and the device can resume sleeping. For more information about setting sleep modes, see Sleep modes. XBee®-PRO 900HP/XSC RF Modules 177 Advanced application features I/O line monitoring Detect digital I/O changes You can configure devices to transmit a data sample immediately whenever a monitored digital I/O pin changes state. The IC command is a bitmask that you use to set which digital I/O lines to monitor for a state change. If you set one or more bits in IC, the device transmits an I/O sample as soon it observes a state change in one of the monitored digital I/O lines using edge detection. The figure below shows how I/O change detection can work with periodic sampling. XBee®-PRO 900HP/XSC RF Modules 178 General Purpose Flash Memory General Purpose Flash Memory Access General Purpose Flash Memory General Purpose Flash Memory commands Work with flash memory XBee®-PRO 900HP/XSC RF Modules 180 180 181 187 179 General Purpose Flash Memory General Purpose Flash Memory General Purpose Flash Memory XBee-PRO 900HP RF Modules provides 119 512-byte blocks of flash memory that an application can read and write to. This memory provides a non-volatile data storage area that an application uses for many purposes. Some common uses of this data storage include: n Storing logged sensor data n Buffering firmware update data for a host microcontroller n Storing and retrieving data tables needed for calculations performed by a host microcontroller The General Purpose Memory (GPM) is also used to store a firmware update file for over-the-air firmware updates of the device itself. Access General Purpose Flash Memory To access the GPM of a target node locally or over-the-air, send commands to the MEMORY_ACCESS cluster ID (0x23) on the DIGI_DEVICE endpoint (0xE6) of the target node using explicit API frames. For a description of Explicit API frames, see Operate in API mode. To issue a GPM command, format the payload of an explicit API frame as follows: Byte offset in payload Number of bytes Field name General field description 0 1 GPM_CMD_ID Specific GPM commands are described in detail in the topics that follow. 1 1 GPM_OPTIONS Command-specific options. 2 2* GPM_BLOCK_NUM The block number addressed in the GPM. 4 2* GPM_START_INDEX The byte index within the addressed GPM block. 6 2* GPM_NUM_BYTES The number of bytes in the GPM_ DATA field, or in the case of a READ, the number of bytes requested. 8 varies GPM_DATA * Specify multi-byte parameters with big-endian byte ordering. When a device sends a GPM command to another device via a unicast, the receiving device sends a unicast response back to the requesting device's source endpoint specified in the request packet. It does not send a response for broadcast requests. If the source endpoint is set to the DIGI_DEVICE endpoint (0xE6) or Explicit API mode is enabled on the requesting device, then the requesting node outputs a GPM response as an explicit API RX indicator frame (assuming it has API mode enabled). The format of the response is similar to the request packet: XBee®-PRO 900HP/XSC RF Modules 180 General Purpose Flash Memory General Purpose Flash Memory commands Byte offset in payload Number of bytes Field name General field description 0 1 GPM_CMD_ID This field is the same as the request field. 1 1 GPM_STATUS Status indicating whether the command was successful. 2 2* GPM_BLOCK_NUM The block number addressed in the GPM. 4 2* GPM_START_INDEX The byte index within the addressed GPM block. 6 2* GPM_NUM_BYTES The number of bytes in the GPM_DATA field. 8 varies GPM_DATA * Specify multi-byte parameters with big-endian byte ordering. General Purpose Flash Memory commands This section provides information about commands that interact with GPM: PLATFORM_INFO_REQUEST (0x00) A PLATFORM_INFO_REQUEST frame can be sent to query details of the GPM structure. Field name Command-specific description GPM_CMD_ID Should be set to PLATFORM_INFO_REQUEST (0x00). GPM_OPTIONS This field is unused for this command. Set to 0. GPM_BLOCK_NUM This field is unused for this command. Set to 0. GPM_START_INDEX This field is unused for this command. Set to 0. GPM_NUM_BYTES This field is unused for this command. Set to 0. GPM_DATA No data bytes should be specified for this command. PLATFORM_INFO (0x80) When a PLATFORM_INFO_REQUEST command request has been unicast to a node, that node sends a response in the following format to the source endpoint specified in the requesting frame. Field name Command-specific description GPM_CMD_ID Should be set to PLATFORM_INFO (0x80). GPM_STATUS A 1 in the least significant bit indicates an error occurred. All other bits are reserved at this time. XBee®-PRO 900HP/XSC RF Modules 181 General Purpose Flash Memory General Purpose Flash Memory commands Field name Command-specific description GPM_BLOCK_NUM Indicates the number of GPM blocks available. GPM_START_INDEX Indicates the size, in bytes, of a GPM block. GPM_NUM_BYTES The number of bytes in the GPM_DATA field. For this command, this field will be set to 0. GPM_DATA No data bytes are specified for this command. Example A PLATFORM_INFO_REQUEST sent to a device with a serial number of 0x0013a200407402AC should be formatted as follows (spaces added to delineate fields): 7E 001C 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 00 00 00 0000 0000 0000 24 Assuming all transmissions were successful, the following API packets would be output the source node's serial interface: 7E 0007 8B 01 FFFE 00 00 00 76 7E 001A 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 80 00 0077 0200 0000 EB ERASE (0x01) The ERASE command erases (writes all bits to binary 1) one or all of the GPM flash blocks. You can also use the ERASE command to erase all blocks of the GPM by setting the GPM_NUM_BYTES field to 0. Field name Command-specific description GPM_CMD_ID Should be set to ERASE (0x01). GPM_OPTIONS There are currently no options defined for the ERASE command. Set this field to 0. GPM_BLOCK_NUM Set to the index of the GPM block that should be erased. When erasing all GPM blocks, this field is ignored (set to 0). GPM_START_INDEX The ERASE command only works on complete GPM blocks. The command cannot be used to erase part of a GPM block. For this reason GPM_START_INDEX is unused (set to 0). GPM_NUM_BYTES Setting GPM_NUM_BYTES to 0 has a special meaning. It indicates that every flash block in the GPM should be erased (not just the one specified with GPM_BLOCK_NUM). In all other cases, the GPM_NUM_BYTES field should be set to the GPM flash block size. GPM_DATA No data bytes are specified for this command. ERASE_RESPONSE (0x81) When an ERASE command request has been unicast to a node, that node sends a response in the following format to the source endpoint specified in the requesting frame. XBee®-PRO 900HP/XSC RF Modules 182 General Purpose Flash Memory General Purpose Flash Memory commands Field name Command-specific description GPM_CMD_ID Should be set to ERASE_RESPONSE (0x81). GPM_STATUS A 1 in the least significant bit indicates an error occurred. All other bits are reserved at this time. GPM_BLOCK_NUM Matches the parameter passed in the request frame. GPM_START_INDEX Matches the parameter passed in the request frame. GPM_NUM_BYTES The number of bytes in the GPM_DATA field. For this command, this field will be set to 0. GPM_DATA No data bytes are specified for this command. Example To erase flash block 42 of a target radio with serial number of 0x0013a200407402ac format an ERASE packet as follows (spaces added to delineate fields): 7E 001C 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 C0 01 00 002A 0000 0200 37 Assuming all transmissions were successful, the following API packets would be output the source node's serial interface: 7E 0007 8B 01 FFFE 00 00 00 76 7E 001A 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 81 00 002A 0000 0000 39 WRITE (0x02) and ERASE_THEN_WRITE (0x03) The WRITE command writes the specified bytes to the GPM location specified. Before writing bytes to a GPM block it is important that the bytes have been erased previously. The ERASE_THEN_WRITE command performs an ERASE of the entire GPM block specified with the GPM_BLOCK_NUM field prior to doing a WRITE. Field name Command-specific description GPM_CMD_ID Should be set to WRITE (0x02) or ERASE_THEN_WRITE (0x03). GPM_OPTIONS There are currently no options defined for this command. Set this field to 0. GPM_BLOCK_NUM Set to the index of the GPM block that should be written. GPM_START_INDEX Set to the byte index within the GPM block where the given data should be written. GPM_NUM_BYTES Set to the number of bytes specified in the GPM_DATA field. Only one GPM block can be operated on per command. For this reason, GPM_START_INDEX + GPM_NUM_BYTES cannot be greater than the GPM block size. The number of bytes sent in an explicit API frame (including the GPM command fields) cannot exceed the maximum payload size of the device. The maximum payload size can be queried with the NP command. GPM_DATA The data to be written. XBee®-PRO 900HP/XSC RF Modules 183 General Purpose Flash Memory General Purpose Flash Memory commands WRITE _RESPONSE (0x82) and ERASE_THEN_WRITE_RESPONSE (0x83) When a WRITE or ERASE_THEN_WRITE command request has been unicast to a node, that node sends a response in the following format to the source endpoint specified in the requesting frame. Field name Command-specific description GPM_CMD_ID Should be set to WRITE_RESPONSE (0x82) or ERASE_THEN_WRITE_ RESPONSE (0x83) GPM_STATUS A 1 in the least significant bit indicates an error occurred. All other bits are reserved at this time GPM_BLOCK_NUM Matches the parameter passed in the request frame GPM_START_INDEX Matches the parameter passed in the request frame GPM_NUM_BYTES The number of bytes in the GPM_DATA field. For this command, this field will be set to 0 GPM_DATA No data bytes are specified for these commands Example To write 15 bytes of incrementing data to flash block 22 of a target radio with serial number of 0x0013a200407402ac a WRITE packet should be formatted as follows (spaces added to delineate fields): 7E 002B 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 C0 02 00 0016 0000 000F 0102030405060708090A0B0C0D0E0F C5 Assuming all transmissions were successful and that flash block 22 was previously erased, the following API packets would be output the source node's serial interface: 7E 0007 8B 01 FFFE 00 00 00 76 7E 001A 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 82 00 0016 0000 0000 4C READ (0x04) You can use the READ command to read the specified number of bytes from the GPM location specified. Data can be queried from only one GPM block per command. Field name Command-specific description GPM_CMD_ID Should be set to READ (0x04). GPM_OPTIONS There are currently no options defined for this command. Set this field to 0. GPM_BLOCK_NUM Set to the index of the GPM block that should be read. GPM_START_INDEX Set to the byte index within the GPM block where the given data should be read. GPM_NUM_BYTES Set to the number of data bytes to be read. Only one GPM block can XBee®-PRO 900HP/XSC RF Modules 184 General Purpose Flash Memory Field name General Purpose Flash Memory commands Command-specific description be operated on per command. For this reason, GPM_START_INDEX + GPM_NUM_BYTES cannot be greater than the GPM block size. The number of bytes sent in an explicit API frame (including the GPM command fields) cannot exceed the maximum payload size of the device. You can query the maximum payload size with the NP AT command. GPM_DATA No data bytes should be specified for this command. READ_RESPONSE (0x84) When a READ command request has been unicast to a node, that node sends a response in the following format to the source endpoint specified in the requesting frame. Field name Command-specific description GPM_CMD_ID Should be set to READ_RESPONSE (0x84). GPM_STATUS A 1 in the least significant bit indicates an error occurred. All other bits are reserved at this time. GPM_BLOCK_NUM Matches the parameter passed in the request frame. GPM_START_INDEX Matches the parameter passed in the request frame. GPM_NUM_BYTES The number of bytes in the GPM_DATA field. GPM_DATA The bytes read from the GPM block specified. Example To read 15 bytes of previously written data from flash block 22 of a target radio with serial number of 0x0013a200407402ac a READ packet should be formatted as follows (spaces added to delineate fields): 7E 001C 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 C0 04 00 0016 0000 000F 3B Assuming all transmissions were successful and that flash block 22 was previously written with incrementing data, the following API packets would be output the source node's serial interface: 7E 0007 8B 01 FFFE 00 00 00 76 7E 0029 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 84 00 0016 0000 000F 0102030405060708090A0B0C0D0E0F C3 FIRMWARE_VERIFY (0x05) and FIRMWARE_VERIFY_AND_INSTALL (0x06) Use the FIRMWARE_VERIFY and FIRMWARE_VERIFY_AND_INSTALL commands when remotely updating firmware on a device. For more information about firmware updates. These commands check if the GPM contains a valid over-the-air update file. For the FIRMWARE_VERIFY_AND_INSTALL command, if the GPM contains a valid firmware image then the device resets and begins using the new firmware. XBee®-PRO 900HP/XSC RF Modules 185 General Purpose Flash Memory General Purpose Flash Memory commands Field name Command-specific description GPM_CMD_ID Should be set to FIRMWARE_VERIFY (0x05) or FIRMWARE_VERIFY_ AND_INSTALL (0x06) GPM_OPTIONS There are currently no options defined for this command. Set this field to 0. GPM_BLOCK_NUM This field is unused for this command. Set to 0. GPM_START_INDEX This field is unused for this command. Set to 0. GPM_NUM_BYTES This field is unused for this command. Set to 0. GPM_DATA This field is unused for this command FIRMWARE_VERIFY_RESPONSE (0x85) When a FIRMWARE_VERIFY command request has been unicast to a node, that node sends a response in the following format to the source endpoint specified in the requesting frame. Field name Command-specific description GPM_CMD_ID Should be set to FIRMWARE_VERIFY_RESPONSE (0x85) GPM_STATUS A 1 in the least significant bit indicates the GPM does not contain a valid firmware image. A 0 in the least significant bit indicates the GPM does contain a valid firmware image. All other bits are reserved at this time. GPM_BLOCK_NUM This field is unused for this command. Set to 0. GPM_START_INDEX This field is unused for this command. Set to 0. GPM_NUM_BYTES This field is unused for this command. Set to 0. GPM_DATA This field is unused for this command FIRMWARE_VERIFY _AND_INSTALL_RESPONSE (0x86) When a FIRMWARE_VERIFY_AND_INSTALL command request has been unicast to a node, that node sends a response in the following format to the source endpoint specified in the requesting frame only if the GPM memory does not contain a valid image. If the image is valid, the device resets and begins using the new firmware. Field name Command-specific description GPM_CMD_ID Should be set to FIRMWARE_VERIFY_AND_INSTALL_RESPONSE (0x86). GPM_STATUS A 1 in the least significant bit indicates the GPM does not contain a valid firmware image. All other bits are reserved at this time. GPM_BLOCK_NUM This field is unused for this command. Set to 0. XBee®-PRO 900HP/XSC RF Modules 186 General Purpose Flash Memory Work with flash memory Field name Command-specific description GPM_START_INDEX This field is unused for this command. Set to 0. GPM_NUM_BYTES This field is unused for this command. Set to 0. GPM_DATA This field is unused for this command. Example To verify a firmware image previously loaded into the GPM on a target device with serial number 0x0013a200407402ac, format a FIRMWARE_VERIFY packet as follows (spaces added to delineate fields): 7E 001C 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 00 05 00 0000 0000 0000 1F Assuming all transmissions were successful and that the firmware image previously loaded into the GPM is valid, the following API packets would be output the source node's serial interface: 7E 0007 8B 01 FFFE 00 00 00 76 7E 001A 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 85 00 0000 0000 0000 5F Work with flash memory When working with the General Purpose Memory, observe the following limitations: n Flash memory write operations are only capable of changing binary 1s to binary 0s. Only the erase operation can change binary 0s to binary 1s. For this reason, you should erase a flash block before performing a write operation. n When performing an erase operation, you must erase the entire flash memory block—you cannot erase parts of a flash memory block. n Flash memory has a limited lifetime. The flash memory on which the GPM is based is rated at 20,000 erase cycles before failure. Take care to ensure that the frequency of erase/write operations allows for the desired product lifetime. Digi's warranty does not cover products that have exceeded the allowed number of erase cycles. n Over-the-air firmware upgrades erase the entire GPM. Any user data stored in the GPM will be lost during an over-the-air upgrade. XBee®-PRO 900HP/XSC RF Modules 187 XSC firmware This section provides an overview of the XBee-PRO XSC firmware and the technical specifications. XBee-PRO XSC RF Module overview Pin signals Electrical characteristics XBee®-PRO 900HP/XSC RF Modules 189 189 190 188 XSC firmware XBee-PRO XSC RF Module overview XBee-PRO XSC RF Module overview The XBee-PRO XSC RF Modules are engineered to afford integrators with an easy-to-use RF solution that provides reliable delivery of critical data between remote devices. These modules come configured to sustain reliable long-range wireless links. The XBee-PRO XSC RF Module is a drop-in wireless solution that transfers a standard asynchronous serial data stream. The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant, which features better performance, lower current draw, and is backward compatible with and a direct replacement for S3 radios. The S3B hardware with XSC firmware is also fully backward compatible (serial interface and over-the-air) with the 9XStream radios. Pin signals The following table shows the pin signal descriptions. Low-asserted signals are distinguished with a horizontal line over the signal name. Pin Public signal I/O 1 VCC I 2 DO  (Data Out) O N/A Serial data exiting the module (to the UART host); See UART-interfaced data flow. 3 DI (Data In I N/A Serial data entering the module (from UART host). See UART-interfaced data flow. 4 DO3 / RX LED O High Pin is driven high during RF data reception; otherwise, the pin is driven low. See CD (DO3 Configuration) to enable. 5 RESET1 I/O Low Re-boot module (minimum pulse is 90 µs). Open Drain configuration. Module drives reset line low momentarily on reboot and power up. 6 CONFIG2 I Low / high Pin can be used as a backup method for entering Command Mode during power-up. Primary method is with +++. See AT commands for more information. O Driven high Do not connect 7 When active Function Supply voltage 1Has a pull up resistor. S3B has internal pull-up. 2Has a pull up resistor. S3B has internal pull-up. XBee®-PRO 900HP/XSC RF Modules 189 XSC firmware Pin Electrical characteristics Public signal 8 I/O When active Function NC 9 DI3 / SLEEP1 I 10 GND 11 Do not connect High By default, DI3 pin is not used. To configure this pin to support sleep modes, see Sleep mode, SM (Sleep Mode) and PW (Pin Wakeup). Ground O Driven high Do not connect 12 DO2 / CTS/ RS485 Enable O Low CTS (clear-to-send) flow control. When pin is driven low, UART host is permitted to send serial data to the module. Refer to UART-interfaced data flow and for more information. RS-485 Enable. To configure this pin to enable RS-485 (2-wire or 4-wire) communications, refer to UARTinterfaced data flow and . 13 ON / SLEEP O High High = Indicates power is on and module is not in Sleep mode. Low = Sleep mode or module is unpowered. 14 VREF I N/A Not used on this module. For compatibility with other XBee devices, we recommend connecting this pin to a voltage reference if analog sampling is desired. Otherwise, connect to GND. 15 TX / PWR O N/A Low = TX - Pin pulses low during transmission High = PWR - Indicates power is on and module is not in Sleep mode. 16 DI2 / RTS / CMD2 I Low RTS (request-to-send) flow control - By default, this pin is not used. To configure this pin to regulate the flow of serial data exiting the module, refer to UART-interfaced data flow and RT (DI2 Configuration). CMD. Refer to Configuration and commands and RT (DI2 Configuration) to enable binary command programming. 17 O Driven low Do not connect 18 O Driven low Do not connect 19 O Driven low Do not connect 20 O Driven low Do not connect Electrical characteristics When the transmitting device receives the first byte of data in the DIN buffer, it initiates the data flow sequence. As long as the TX device is not already receiving RF data, it converts the data in the DIN 1Has a pull up resistor. S3B has internal pull-up. 2Has a pull down resistor. S3B has internal pull-up. XBee®-PRO 900HP/XSC RF Modules 190 XSC firmware Electrical characteristics buffer into packets and transmits them over-the-air to the receiving device. Timing specifications The following figure illustrates the timing specifications. Host A and Host B correspond to a transmitting device (Host A) and receiving device (Host B). XBee®-PRO 900HP/XSC RF Modules 191 XSC firmware Electrical characteristics The following table provides typical AC characteristics when SY = 0. The symbols correspond with the previous two figures. Symbol Description 9600 baud rate (32 byte packet) TTX Latency from the time data is transmitted until received 72.0 ms TTL Time that TX/PWR pin is driven low 16.8 ms TRL Time that RX LED pin is driven high 25.6 ms TST Channel Initialization Time 35.0 ms The following table provides typical DC characteristics when VCC = 3.0 - 3.6 VDC. Symbol Parameter Vcc Module supply voltage Condition Min 3.01 Typical Max Units 3.6 V 1The minimum voltage for S3B is 2.1 V, however maximum power is reduced and sensitivity may degrade. XBee®-PRO 900HP/XSC RF Modules 192 XSC firmware Electrical characteristics Symbol Parameter Condition Min VIL Input low voltage All input signals VIH Input high voltage All input signals VOL Output low-level voltage Iout = Iout_Max VOH Output high-level voltage Iout = Iout_Max IL Input leakage current With pull-up resistors disabled1 IO1 Output current IO2 Output current Typical Max Units -0.3 0.3 VCC V 0.7 VCC VCC + 0.3 V 0.4 V -0.4 VCC V 40 400 nA Pins 2, 15 (DOUT, TX/PWR) 2 mA Pins 4, 12, 13 (DO3, CTS, ON/SLEEP) 8 mA 1S3B can have pull-ups enabled and still maintain low leakage current. XBee®-PRO 900HP/XSC RF Modules 193 XBee-PRO XSC specifications Performance specifications Power requirements Networking specifications General specifications Antenna options Regulatory conformity summary XBee®-PRO 900HP/XSC RF Modules 195 195 196 196 196 197 194 XBee-PRO XSC specifications Performance specifications Performance specifications The following table describes the performance specifications for the devices. Note Range figure estimates are based on free-air terrain with limited sources of interference. Actual range will vary based on transmitting power, orientation of transmitter and receiver, height of transmitting antenna, height of receiving antenna, weather conditions, interference sources in the area, and terrain between receiver and transmitter, including indoor and outdoor structures such as walls, trees, buildings, hills, and mountains. Specification XBee-PRO XSC (S3* hardware) XBee-PRO XSC (S3B hardware) Indoor/urban range Up to 370 m (1200 ft) Up to 610 m (2000 ft) Outdoor line-of-sight range Up to 9.6 km (6 mi) with dipole antenna Up to 24 km (15 mi) with highgain antenna Up to 14 km (9 mi) with dipole antenna Up to 45 km (28 mi) with highgain antenna Interface data rate 125 - 65,000 b/s (software selectable, includes non-standard baud rates) Throughput data rate 9,600 b/s 9.6 kb/s or 19.2 kb/s RF data rate 10 kb/s 10 kb/s or 20 kb/s Transmit power output +20 dBm (100 mW) Up to 24 dBm (250 mW) software selectable Receiver sensitivity -106 dBm -109 dBm at 9600 baud -107 dBm at 19200 baud * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. Power requirements This table describes the power requirements for the devices.  Specification XBee-PRO XSC (S3B XBee-PRO XSC (S3* hardware) hardware) Supply voltage 3.0-3.6 VDC regulated 2.1 to 3.6 VDC Receive current 65 mA 26 mA typical Transmit current 265 mA 215 mA at 24 dBm Power down current 50 uA 2.5 µA typical @3.3 v * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. XBee®-PRO 900HP/XSC RF Modules 195 XBee-PRO XSC specifications Networking specifications Networking specifications The following table provides the networking specifications for the device. Specification XBee-PRO XSC (S3B XBee-PRO XSC (S3* hardware) hardware) Frequency range 902-928 MHz (located in the 900 MHz ISM band) Spread spectrum Frequency hopping Network topology Point-to-point, peer-to-peer, point-to-multipoint Channel capacity 7 hop sequences share 25 frequencies Board-level serial data interface  3V CMOS UART (5 V-tolerant) (S3B) 3 V CMOS UART * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. General specifications The following table describes the general specifications for the devices. Specification XBee-PRO XSC (S3* and S3B hardware) Module board size 3.29 cm x 2.44 cm x 0.546 cm (1.297 x 0.962 x 0.215 in) Dimensions do not include connector/antenna or pin lengths Weight 5 to 8 grams, depending on the antenna option Connector Two rows of 10 pins, 22 mm apart with 2 mm spaced male Berg-type headers Operating temperature -40 to 85 ºC (industrial) * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. Antenna options The following table describes the antenna options for the devices. Specification XBee-PRO XSC (S3* and S3B hardware) Integrated wire ¼ wave monopole, 8.26 cm (3.25 in) length, 1.9 dBi gain RF connector Reverse-polarity SMA or U.FL Impedance 50 Ω unbalanced * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. XBee®-PRO 900HP/XSC RF Modules 196 XBee-PRO XSC specifications Regulatory conformity summary Regulatory conformity summary This table describes the agency approvals for the XBee-PRO XSC. Specification XBee-PRO XSC (S3* and S3B hardware) FCC Part 15.247 FCC ID: MCQ-XB900HP Innovation, Science and Economic Development Canada (ISED) IC: 1846A-XB900HP Australia RCM Brazil ANATEL 3727-12-1209 RoHS Compliant * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. XBee®-PRO 900HP/XSC RF Modules 197 XBee-PRO XSC RF Module operation Serial communications UART-interfaced data flow Serial data Flow control Operating modes XBee®-PRO 900HP/XSC RF Modules 199 199 199 199 201 198 XBee-PRO XSC RF Module operation Serial communications Serial communications The XBee module interfaces to a host device through a CMOS-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 RS-232/485/422 device. UART-interfaced data flow Devices that have a UART interface connect directly through the pins of the XBee module as shown in the following figure. The following diagram shows the system data flow in a UART-interfaced environment (Low-asserted signals distinguished with horizontal line over signal name). Serial data Data enters the XBee device through the DI pin as an asynchronous serial signal. When no data is being transmitted, the signal should idle high. The UART performs tasks, such as timing and parity checking, that are needed for data communications. Serial communication consists of two UARTs, one being the XBee device's and the other being the microcontroller's, configured with compatible parameters (baud rate, parity, start bits, stop bits, data bits) to have successful communication. Each data packet 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. The UART data packet 0x1F (decimal number “31”) transmits through the XBee-PRO 900HP RF Module example data format is 8-N-1 (bits - parity - # of stop bits). Flow control The following internal data flow diagram shows the five most commonly-used pin signals. XBee®-PRO 900HP/XSC RF Modules 199 XBee-PRO XSC RF Module operation Flow control Data In (DIN) buffer and flow control When serial data enters the device through the DIN pin (pin ), it stores the data in the DIN buffer until it can process the data. When the firmware satisfies the RB and RO parameter thresholds, the device attempts to initialize an RF transmission. If the device is already receiving RF data, it stores the serial data in the device's DIN buffer. 1. The device does not receive any serial characters for the amount of time set with in the RO command; see RO (Packetization Timeout). 2. The device receives the maximum number of characters that fits in an RF packet. 3. The device receives the Command Mode sequence. If the DIN buffer becomes full, you must implement hardware or software flow control in order to prevent overflow (loss of data between the host and the device). To eliminate the need for flow control: 1. Send messages that are smaller than the DIN buffer size. The size of the DIN buffer varies according to the packet size (PK parameter) and the parity setting (NB parameter) you use. 2. Interface at a lower baud rate (BD parameter) than the RF data rate of the firmware (BR parameter) of the firmware. In the following situations, the DIN buffer may become full and overflow: 1. If you set the serial interface data rate higher than the RF data rate of the device, the device receives data from the host faster than it can transmit the data over-the-air. 2. If the device receives a continuous stream of RF data or if the device monitors data on a network, it places any serial data that arrives on the DIN pin (pin ) in the DIN buffer. It transmits the data in the DIN buffer over-the-air when the device no longer detects RF data in the network. Hardware flow control (CTS) The firmware asserts CTS before the DIN buffer is full so it has time to send the signal and the host has time to stop sending data. When the DIN buffer is full, the firmware de-asserts CTS (high) to signal the host to stop sending data; refer to FT (Flow Control Threshold) and CS (DO2 Configuration). The firmware re-asserts CTS after the DIN buffer has 34 bytes of memory available. XBee®-PRO 900HP/XSC RF Modules 200 XBee-PRO XSC RF Module operation Operating modes Data Out (DO) buffer and flow control When a device receives RF data, the data enters the DOUT buffer and the device sends it out the serial port to a host device. Once the DOUT buffer reaches capacity, it loses any additional incoming RF data. In the following situations, the DOUT buffer may become full and overflow: 1. If the RF data rate is set higher than the interface data rate of the device, the devices receives data from the transmitting device faster than it can send the data to the host. 2. If the host does not allow the device to transmit data out from the DOUT buffer because of being held off by hardware or software flow control. Hardware flow control (RTS) If you enable RTS for flow control (RT = 2), data will not be sent out the DO Buffer as long as RTS (pin 16) is de-asserted. Software flow control (XOFF) You can enable XON/XOFF software flow control using FL (Software Flow Control). This option only works with ASCII data. Operating modes This section describes the different operating modes for the device. Idle mode When not receiving or transmitting data, the device is in Idle mode. During Idle mode, the device listens for valid data on both the RF and serial ports. The device shifts into the other modes of operation under the following conditions: XBee®-PRO 900HP/XSC RF Modules 201 XBee-PRO XSC RF Module operation Operating modes n Transmit mode (serial data in the serial receive buffer is ready to be packetized). n Receive mode (valid RF data received through the antenna). n Command mode (Command mode sequence issued, not available with Smart Energy software or when using the SPI port). Transmit mode When the device received the first byte of serial data from the UART in the DI buffer, the modem attempts to shift to Transmit Mode and initiate an RF connection with other modems. After completing the transmission, the modem returns to Idle Mode. RF transmission begins after meeting either of the following criteria: 1. RB bytes have been received in the DI buffer and are pending for RF transmission. For more information, see RB (Packetization Threshold). The RB parameter may be set to any value between 1 and the RF packet size (PK), inclusive. When RB = 0, the packetization threshold is ignored. 2. At least one character has been received in the DI buffer (pending for RF transmission) and RO time has been observed on the UART. Refer to RO (Packetization Timeout). - The time out can be disabled by setting RO to zero. In this case, transmission will begin after RB bytes have been received in the DI buffer. Note RF reception must complete before the modem is able to enter into Transmit Mode. After meeting either RB or RO conditions, the modem initializes a communications channel. Channel initialization is the process of sending an RF initializer that synchronizes receiving modems with the transmitting modem. During channel initialization, incoming serial data accumulates in the DI buffer. The device then: n Groups serial data in the DI buffer (for more information, see PK (Maximum RF Packet Size) n Converts the data to RF data n Transmits the data over-the-air until the DI buffer is empty 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 transmitting modem nears the end of the transmission, it inspects the DI buffer to see if more data exists to be transmitted. This could be the case if more 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 modem assembles a subsequent packet for transmission. Receive mode If a destination node receives a valid RF packet, the destination node transfers the data to its serial transmit buffer. For the serial interface to report receive data on the RF network, that data must meet the following criteria: n ID match n Channel match n Address match XBee®-PRO 900HP/XSC RF Modules 202 XBee-PRO XSC RF Module operation Operating modes Sleep mode Sleep Modes enable the device to operate at minimal power consumption when not in use. The following Sleep mode options are available: n Pin sleep n Cyclic sleep For the device to transition to Sleep Mode, the module must have a non-zero SM (Sleep Mode) Parameter and one of the following must occur: n The device is idle (no data transmission or reception) for a user-defined period of time. Refer to the ST (Wake Time) n The device asserts SLEEP (only for Pin Sleep option). In Sleep Mode, the device will not transmit or receive data until the module first transitions to Idle Mode. All Sleep Modes are enabled and disabled using the SM command. The device triggers transitions into and out of sleep modes are triggered by various events as shown in the table below. Transition out of Sleep mode Related commands Typical power consumption (S3)* Typical power consumption (S3B) Sleep mode setting Transition into Sleep mode Pin Sleep (SM = 1) microcontroller can shut down and wake devices by asserting (high) SLEEP (pin 9). The module completes a transmission or reception before activating Pin Sleep. De-assert (low) SLEEP (pin 9). SM 50 µA 2.5 µA Cyclic Sleep (SM = 3-8) Automatic transition to Sleep Mode occurs in cycles as defined by the SM (Sleep Mode) Command. The cyclic sleep time interval must be shorter than the “Wake-up Initializer Timer” (set by LH Command). After the cyclic sleep time interval elapses. Device can be forced into Idle Mode if PW (Pin Wakeup) command is enabled. SM, ST, HT, LH, PW 76 µA when sleeping 2.5 µA when sleeping * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. XBee®-PRO 900HP/XSC RF Modules 203 XBee-PRO XSC RF Module operation Operating modes Pin Sleep (SM = 1) To achieve this state, assert the SLEEP pin (high). The device remains in Pin Sleep until you de-assert the SLEEP pin. After enabling Pin Sleep, the SLEEP pin controls whether the device is active or sleeping. When the host de-asserts SLEEP, the device is fully operational. When the host asserts SLEEP, the device transitions to Sleep mode and remains in its lowest power-consuming state until the host de-asserts the pin. This pin is only active if the device is setup to operate in this mode; otherwise the firmware ignores the pin. Once in Pin Sleep, the device de-asserts (high) CTS (pin ) , indicating that other devices should not send data to the device. The device also de-asserts (low) the TX_PWR line (pin ) when the device is in Pin Sleep mode. You cannot assert the SLEEP (pin9) until the transmission of the second byte has started. Note The device completes a transmission or reception before activating Pin Sleep. Cyclic Sleep Mode (SM = 4 - 8) Cyclic Sleep modes allow device wakes according to the times designated by the cyclic sleep settings. If the device detects a wake-up initializer during the time it is awake, the device synchronizes with the transmitting device and receives data after the wake-up initializer runs its duration. Otherwise, the device returns to Sleep mode and continues to cycle in and out of activity until a wake-up initializer is detected. While the device is in Cyclic Sleep mode, it de-asserts (high) CTS (pin ) to indicate not to send data to the device. When the device awakens to listen for data, it asserts CTS and transmits any data received on the DI pin. The device also de-asserts (low) the TX_PWR (pin ) when it is in Cyclic Sleep mode. The device remains in Sleep mode for a user-defined period of time ranging from 1 second to 16 seconds (SM parameters 4 through 8). After this interval of time, the device returns to Idle mode and listens for a valid data packet. The listen time depends on the BR parameter setting. The default BR setting of 1 requires at least a 35 ms wake time, while the BR setting of 0 requires a wake time of up to 225 ms. If the device does not detect valid data on any frequency, it returns to Sleep mode. If it detects valid data, it transitions into Receive mode and receives the incoming RF packets. The device then returns to Sleep mode after a period of inactivity determined by the ST parameter. You can also configure the device to wake from cyclic sleep when the SLEEP pin is de-asserted. To configure a device to operate in this manner, you must send the PW (Pin Wake-up) command. When you de-assert the SLEEP pin, it forces the device into Idle mode and it can begin transmitting or receiving data. It remains active until it no longer detects data for the time that ST specifies, 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 devices must wake during the wake-up initializer portion of data transmission in order to synchronize with the transmitting device and receive the data. 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. Correct configuration (LH > SM) In the following figure, 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. XBee®-PRO 900HP/XSC RF Modules 204 XBee-PRO XSC RF Module operation Operating modes Incorrect configuration (LH < SM) Length of wake-up initializer is shorter than the time interval of Cyclic Sleep. This configuration is vulnerable to the receiver waking and missing the wake-up initializer (and therefore also the accompanying payload data). Command mode To modify or read device parameters, the device must be in Command Mode, the state in which it interprets received characters on the UART as commands. Two command types are available for programming the device: XBee®-PRO 900HP/XSC RF Modules 205 XBee-PRO XSC RF Module operation n AT commands n Binary commands Operating modes For modified parameter values to persist in the device registry, you must save changes to non-volatile memory using WR (Write) Command. Otherwise, parameters are restored to previously saved values after you power the device off and then on again. AT commands To enter AT Command mode: n Send the 3-character command sequence +++ and observe guard times before and after the command characters. You can use the Terminal tab (or other serial communications software) of the XCTU Software to enter the sequence. Or n Assert (low) the CONFIG pin and either turn the power going to the device off and back on. If using a Digi XBIB-R Interface Board, you can also hold the Data-In line low (also known as a break) while rebooting the device by pressing the reset button on the device assembly [device assembly = device mounted to an interface board. Default AT Command mode sequence (for transition to Command Mode): n No characters sent for one second. See the BT (Guard Time Before). n Input three plus characters (“+++”) within one second. See CC (Command Sequence Character). n No characters sent for one second. See AT (Guard Time After). Send AT commands: Send AT commands and parameters using the following syntax. Syntax for sending AT commands To read a parameter value stored in the XBee-PRO XSC RF Module register, leave the parameter field blank. The preceding example changes the XBee-PRO XSC RF Module’s Destination Address to 0x1F. To store the new value to non-volatile (long term) memory, send the Write (WR) command before powering off the XBee-PRO XSC RF Module. System response When the device sends a command to the XBee-PRO XSC RF Module, the device parses and executes the command. If the execution of the command is successful, the device returns an OK message. If the execution of the command results in an error, the returns an ERROR message. Exit AT Command mode: If no valid AT Commands are received within the time specified by CT (Command Mode Time-out) Command, the device automatically does one of the following: XBee®-PRO 900HP/XSC RF Modules 206 XBee-PRO XSC RF Module operation n Returns to Idle Mode n Send CN (Exit Command Mode) Command Operating modes For an example of programming the XBee-PRO XSC RF Module using AT Commands and descriptions of each configurable parameter, refer to Configuration and commands. Binary commands 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 (RS parameter) or error counts; or to change module addresses and channels for polling systems when a quick response is necessary. Because sending and receiving parameter values takes place through the same data path as 'live' data (received RF payload), follow the CTS pin to distinguish between the two types of data (commands vs 'live' data). Common questions regarding the use of binary commands: n What are the implications of asserting CMD while live data is being sent or received? n After sending serial data, is there a minimum time delay before CMD can be asserted? n Is a time delay required after CMD is de-asserted before payload data can be sent? n How can I determine the difference between live data and data received in response to a command? You must assert CMD (pin 16) in order to send binary commands to the device. You can assert the CMD pin to recognize binary commands anytime during the transmission or reception of data. The device only check the status of the CMD signal 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 for dead time between bursts of communication. If the device sends a command in the middle of a stream of payload data to be transmitted, the command executes in the order it is received. If the radio is continuously receiving data, the radio waits for a break in the received data before executing the command. The CTS signal frames the response coming from the binary command request as shows in the following figure. The user must observe a minimum time delay of 100 µs (after the stop bit of the command byte has been sent) before de-asserting the CMD (pin 16). 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 aborts the command and returns to Idle Mode. Note Binary commands that return only one parameter byte must also be written with two parameter bytes, 0-padded, LSB first. Refer to for a binary programming example. You can query commands for their current value by sending the command logically ORed (bit-wise) with the value 0x80 (hexadecimal) with CMD asserted. When the device sends the binary value (with no parameters), the current value of the command parameter is sent back through the DO pin. Binary command write then read XBee®-PRO 900HP/XSC RF Modules 207 XBee-PRO XSC RF Module operation Operating modes Signal #4 is CMD (pin 16) Signal #1 is the DIN (pin 3) signal to the radio Signal #2 is the DOUT (pin 2) signal from the radio Signal #3 is CTS (pin 12) This graph shows a value written to a register and then read out to verify it. While not in the middle of other received data, the CTS signal outlines the data response out of the device Note For the XBee module to recognize a binary command, you must set the RT (DI2 Configuration) parameter to one. If you have not enabled binary programming RT = 0 or 2, the device will not recognize that the CMD pin is asserted and therefore will not recognize the data as binary commands. XBee®-PRO 900HP/XSC RF Modules 208 Configuration and commands Programming examples Send binary commands Special commands Command mode options Networking and security commands Network commands Serial interfacing commands Diagnostic commands Sleep commands XBee®-PRO 900HP/XSC RF Modules 210 210 211 211 215 217 221 226 231 209 Configuration and commands Programming examples Programming examples For steps on sending AT commands to a device, refer to: n Send AT commands n Exit Command mode For more information, refer to the XCTU online help at: docs.digi.com/display/XCTU/XCTU+Overview Connect the device to a PC The programming examples that follow require the installation of XCTU and a serial connection to a PC. Digi stocks connector boards to facilitate interfacing with a PC. 1. Download XCTU from the Digi website: digi.com/products/xbee-rf-solutions/xctu-software/xctu#resources 2. After the .exe file downloads to the PC, double-click the file to launch the XCTU Setup Wizard. Follow the steps in the wizard to completely install XCTU. 3. Mount the device to an interface board, then connect the assembly to a PC. 4. Launch XCTU and click the Add devices tab on the upper left corner of the screen. 5. Verify that the baud rate and parity settings of the Serial/USB port match those of the device. Note Failure to enter Command mode is commonly due to baud rate mismatch. Ensure that the Baud Rate: setting on the Add radio device window matches the interface data rate of the device. By default, the BD parameter = 9600 b/s. Send binary commands Example Use XCTU's Serial Console tool to change the device's DT (Destination Address) parameter and save the new address to non-volatile memory. This example requires XCTU and a serial connection to a PC. To send binary commands: 1. Set the RT command to 1 to enable binary command programming; do this in Command mode or configure it through XCTU. 2. Drive pin 16 high to assert CMD by de-asserting the RTS line in XCTU. The device enters Binary Command mode. 3. Send hexadecimal bytes (parameter bytes must be 2 bytes long). The next four lines are examples, not required values: 00 (Send binary command DT) 0D (Least significant byte of parameter bytes) 1A (Most significant byte of parameter bytes) 08 (Send binary command WR) 4. Drive pin 16 low to de-assert CMD. After you send the commands, CTS (pin ) de-asserts (driven low) temporarily. The device exits Binary Command mode. XBee®-PRO 900HP/XSC RF Modules 210 Configuration and commands Special commands The default flow control is NONE, so if you are using XCTU, CTS is not an issue. However, you can still observe the behavior of the CTS line by monitoring the CTS indicator in the terminal or console. Special commands The following commands are special commands. FR (Force Reset) If you issue FR while the device is in Command Mode, the reset effectively exits Command mode. Resets the device through the UART. The device responds immediately with an OK and performs a reset 100 ms later. Parameter range N/A Default N/A PL (TX Power Level) Sets or displays the power level at which the device transmits conducted power. The device calibrates Power lever 4 and other levels are approximate. Binary command 0x3C (60 decimal) Parameter range 0-4 Parameter Configuration 0 +7.0 dBm, (5 mW) 1 +15.0 dBm, (32 mW) 2 +18.0 dBm, (63 mW) 3 +21.0 dBm, (125 mW) 4 +24.0 dBm, (250 mW) Default 4 Bytes returned 1 Command mode options The following commands are Command mode option commands. XBee®-PRO 900HP/XSC RF Modules 211 Configuration and commands Command mode options AT (Guard Time After) Sets or displays the time-of-silence that follows the CC (Command Sequence Character) of the Command mode sequence (BT + CC + AT). By default, one second must elapse before and after the command sequence character. The times-of-silence surrounding the Command Sequence Character prevent the device from inadvertently entering Command mode. Binary command 0x05 (5 decimal) Parameter range 0x02 – 0xFFFF [x 100 milliseconds] Default 0xA (1 second) Bytes returned 2 BT (Guard Time Before) Sets the DI pin silence time that must precede the Command Sequence Character (CC command) of the Command mode sequence. Binary command 0x04 (4 decimal) Parameter range 2 - 0xFFFF [x 100ms] Default 0x0A (1 second) Bytes returned 2 CC (Command Sequence Character) Sets or displays the character the device uses between guard times of the AT Command mode sequence. The AT Command mode sequence causes the device to enter Command Mode (from Idle Mode). Note We recommend using the a value within the rage of 0x20-0x7F as those are ASCII characters. Binary command 0x13 (19 decimal) Parameter range 0x0 - 0xFF XBee®-PRO 900HP/XSC RF Modules 212 Configuration and commands Command mode options Recommended: 0x20 - 0x7F (ASCII) Default 0x2B (ASCII “+”) Bytes returned 1 CD (DO3 Configuration) Selects or reads the behavior of the DO3/RX LED line. Parameter range 0-3 Parameter Configuration 0 RX LED 1 Default high 2 Default low 3 Reserved 4 Assert only when you have sent the packet addressed to the device. Default 0 Bytes returned 1 CN (Exit Command Mode) Makes the device exit Command mode. Binary command 0x09 (9 decimal) Parameter range N/A Default N/A Bytes returned N/A XBee®-PRO 900HP/XSC RF Modules 213 Configuration and commands Command mode options CT (Command Mode Timeout) Set or read the Command mode timeout parameter. If a device does not receive any valid commands within this time period, it returns to Idle mode from Command mode. Use the CN (Exit Command mode) command to exit Command mode manually. Binary command 0x06 (6 decimal) Parameter range 0x02 - 0xFFFFF [x 100 milliseconds] Default 0xC8 (20 seconds) Bytes returned 2 E0 (Echo Off) Turns off the character echo in Command mode. By default, echo is off. Binary command 0x0A (10 decimal) Parameter range N/A Default N/A Bytes returned N/A E1 (Echo On) Enables character echo in Command mode. Each character that you type echoes back to the terminal when E1 is active. E0 (Echo Off) is the default. Binary command 0x0B (11 decimal) Parameter range N/A Default N/A XBee®-PRO 900HP/XSC RF Modules 214 Configuration and commands Networking and security commands Bytes returned N/A PC (Power-up to Transparent operating mode) Sets the device to power-up directly into Command mode from reset or power-on. If you enable the PC Command with the SM Parameter set to 1, you can use the DI3 (pin 9) to enter Command mode. If the PC command is enabled with the SM parameter set to 1, DI3 (pin 9) can be used to enter the module into Command mode. When the device de-asserts (low) the DI3 pin, it wakes-up in Command mode. This behavior allows device DTR emulation. Binary command 0x1E (30 decimal) Parameter range 0-1 Parameter Configuration 0 Power-up to Idle mode 1 Power-up to Command mode Default 0 Bytes returned 1 Networking and security commands The following AT commands are networking and security commands. AM (Auto-set MY) Sets the MY (Source Address) parameter from the factory-set serial number of the device. The address consists of bits 29, 28 and 13-0 of the serial number, in that order. Sending AM displays the address. Note This command is only supported on S3B modules. Binary command 0x3A (58 decimal) Parameter range N/A Default N/A XBee®-PRO 900HP/XSC RF Modules 215 Configuration and commands Networking and security commands Bytes returned N/A MD (RF Mode) Sets or displays the settings that enable the Peer-to-peer or Repeater modes on the device. Repeater Mode enables longer range via an intermediary device. When MD=3, the module acts as a “store and forward” repeater. The device repeats any packets not addressed to this node. A Repeater End Node handles repeated messages, but will not repeat the message over-the-air. For more information, see Repeater mode. Binary command 0x32 (50 decimal) Parameter range 0, 3, 4 Parameter Configuration 0 Peer-to-Peer (transparent operation) 3 Repeater & End Node 4 End Node Default 0 Bytes returned 1 MY (Source Address) Sets or displays the Source Address of a device. For more information, see Addressing. Binary command 0x2A (42 decimal) Parameter range Default 0xFFFF (Disabled - DT (Destination Address) parameter serves as both source and destination address). Bytes returned 2 XBee®-PRO 900HP/XSC RF Modules 216 Configuration and commands Network commands Network commands The following commands are network commands. DT (Destination Address) Sets or displays the networking address of a device. The devices use three filtration layers: n Vendor ID Number (ID) n Channel (HP) n Destination Address (DT) The DT command assigns an address to a device that enables it to communicate with only devices that have the same address. All devices that share the same Destination Address can communicate freely with each other. Devices in the same network with a different Destination Address than the transmitter listen to all transmissions to stay synchronized, but will not send any of the data out their serial ports. Binary command 0x00 (0 decimal) Parameter range 0 - 0xFFFF Default 0 Bytes returned 2 HP (Preamble ID) Set or read the device's hopping channel number. A channel is one of three layers of filtration available to the device. In order for devices to communicate with each other, the devices must have the same channel number since each channel uses a different hopping sequence. Devices can use different channels to prevent devices in one network from listening to transmissions of another. When a device receives a packet it checks HP before the network ID, as it is encoded in the preamble and the network ID is encoded in the MAC header. Binary command 0x11 (17 decimal) Parameter range 0-6 Default 0 Bytes returned 1 XBee®-PRO 900HP/XSC RF Modules 217 Configuration and commands Network commands HT (Time before Wake-up Initializer) Sets or displays the time of inactivity (no serial or RF data is sent or received) before a transmitting (TX) RF device sends a wake-up initializer. The main purpose of this command is to prevent devices from sending the Long Header with every data packet. For more information on long headers, see LH (Wakeup Initializer Timer). For RX devices operating in Cyclic Sleep mode (SM = 4-8), set HT to be shorter than the ST command. The TX device sends a wake-up initializer, which instructs all receiving (RX) devices to remain awake to receive RF data. From the perspective of the RX device: after HT time elapses and the inactivity timeout (ST command) is met, the RX device goes into cyclic sleep. In cyclic sleep, the RX device wakes once per sleep interval (SM command) to check for a wake-up initializer. When it detects a wake-up initializer, the device stays awake to receive data. The wake-up initializer must be longer than the cyclic sleep interval to ensure that sleeping devices detect incoming data. When HT time elapses, the TX device knows it needs to send a wake-up initializer for all RX devices to remain awake and receive the next transmission. Binary command 0x03 (3 decimal) Parameter range 0 - 0xFFFF [x 100 ms] Default 0xFFFF (wake-up initializer will not be sent) Bytes returned 2 ID (Network ID) Sets or displays the Vendor Identification Number (VID) of the device. Devices must have matching VIDs in order to communicate. If the device uses OEM network IDs, 0xFFFF uses the factory value. Binary command 0x27 (39 decimal) Parameter range 0x10 - 0x7FFFF (user-settable) 0x8000 - 0xFFFF (factory-set) Default N/A MK (Address Mask) Sets or read the device's Address Mask. All RF data packets contain the Destination Address of the transmitting (TX) device. When a device receives a packet, the TX device's Destination Address is logically combined bitwise (in other words, joined with AND) with the Address Mask of the receiving (RX) device. The resulting value must match XBee®-PRO 900HP/XSC RF Modules 218 Configuration and commands Network commands the Destination Address or Address Mask of the RX device for the packet to be received and sent out the RX device's DO (Data Out) pin. If the combined value does not match the Destination Address or Address Mask of the RX device, it discards the packet. The firmware treats all 0 values as irrelevant and ignores them. For more information, see Addressing. Binary command 0x12 (18 decimal) Parameter range 0 - 0xFFFF Default 0xFFFF Note The Destination address (DT parameter) of the transmitting device must match the destination address of the receiving device.) Bytes returned 2 RN (Delay Slots) Sets or displays the time delay that the transmitting device inserts before attempting to resend a packet. If the transmitting device fails to receive an acknowledgment 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 38 ms. If two devices attempt to transmit at the same time, the random time delay after packet failure only allows one device to transmit the packet successfully, while the other device waits until the channel is available for RF transmission. RN is only applicable if: n You enable retries using the RR command, or n You insert forced delays into a transmission using the TT command Binary command 0x19 (25 decimal) Parameter range 0 - 0xFF [slots] Default 0 (no delay slots inserted) Bytes returned 1 RR (Unicast Mac Retries) Sets or displays the maximum number of retries sent for a given RF packet. When you enable RR (RR > 0), it enables RF packet retries and ACKs. XBee®-PRO 900HP/XSC RF Modules 219 Configuration and commands Network commands After transmitting a packet, the transmitting device waits to receive an ACK from a receiving device. If it does not receive the ACK in the time that RN specifies, it transmits the original packet again. The transmitting device transmits the RF packet repeatedly until it receives an ACK or until it sends the packet RR times. Note You must have retries enabled for all modules in the network for retries to work. Binary command 0x18 (24 decimal) Parameter range 0 - 0xFF Default 0 (disabled) Bytes returned 1 SY (Time Before Initialization) Keeps a communication channel open as long as the device transmits or receives before the active connection expires. You can use this command to reduce latency in a query/response sequence and set it 100 ms longer than the delay between transmissions. This command allows multiple Modules to share a hopping channel for a given amount of time after receiving data. By default, all packets include an RF initializer that contains channel information used to synchronize any listening receivers to the transmitter’s hopping pattern. Once a new device comes within range, it is able to instantly synchronize to the transmitter and start receiving data. If no new devices are introduced into the system, the synchronization information becomes redundant once devices have become synchronized. The SY command allows the devices to remove this information from the RF Initializer after the initial synchronization. For example, changing the SY Parameter to 0x14 (20 decimal) allows all devices to remain in sync for 2 seconds after the last data packet was received. The device does not send synchronization information unless transmission stops for more than 2 seconds. This command allows significant savings in packet transmission time. The SY command is not supported above a value of 5 when interfacing an XBee-PRO XSC S3B with a 9XStream. We do not recommend this command for use in an interference-prone environment. Interference can break up the session making the communications channel unavailable until the SY time expires. If you set SY to zero, the channel session opens and closes with each transmission, resulting in a more robust link with increased latency. Binary command 0x17 (23 decimal) Parameter range 0 – 0xFF [x 100 milliseconds] XBee®-PRO 900HP/XSC RF Modules 220 Configuration and commands Serial interfacing commands Default 0 (Disabled - channel initialization information is sent with each RF packet.) Bytes returned 1 TT (Streaming Limit) Sets or displays the limit on the number of bytes that a device can send before issuing a random delay. If a device is sending a continuous stream of RF data, it inserts a delay that stops its transmission and gives other devices time to transmit once it sends TT bytes of data. The random delay it inserts lasts between 1 and RN + 1 delay slots where each delay slots lasts 38 ms. You can use TT to simulate full-duplex behavior. Binary command 0x1A (26 decimal) Parameter range 0xFFFF (0 = disabled) Default 0xFFFF (65535 decimal) Bytes returned 2 Serial interfacing commands The following commands are serial interfacing commands. BD (Interface Data Rate) Sets and reads the serial interface data rate (baud rate) between the device and the host. The baud rate is the rate that the host sends serial data to the device. When you make an update to the interface data rate, the change does not take effect until the host issues the CN command and the device returns the OK response. The BD parameter does not affect the RF data rate. If you set the interface data rate higher than the RF data rate, you may need to implement a flow control configuration. Non-standard interface data rates When the host sends a value above 0x7D, the firmware stores the closest interface data rate represented by the number in the BD register. For example, to set a rate of 19200 b/s, send the following command line: ATBD4B00. Note When using XCTU, you can only set and read non-standard interface data rates using the XCTU Serial Console tool. You cannot access non-standard rates through the configuration section of XCTU. When you send the BD command with a non-standard interface data rate, the UART adjusts to accommodate the interface rate you request. In most cases, the clock resolution causes the stored BD XBee®-PRO 900HP/XSC RF Modules 221 Configuration and commands Serial interfacing commands parameter to vary from the sent parameter. Sending ATBD without an associated parameter value returns the value actually stored in the device’s BD register. The following table provides the parameters sent versus the parameters stored. BD parameter sent (HEX) Interface data rate (b/s) S3* BD parameter stored (HEX) S3B BD parameter stored (HEX) 0 1200 0 0 4 19,200 4 4 6 57600 6 5 12C 300 12B 12B E100 57600 E883 E10D * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. Binary command 0x15 (21 decimal) Parameter ranges 0 - 6 (standard rates) 0x7D – 0xFFFF (125d – 65535d) (non-standard rates) Parameter Configuration (b/s) 0 1200 1 2400 2 4800 3 9600 4 19200 5 38400 6 57600 Default Set to equal device’s factory-set RF data rate. Bytes returned 2 CS (DO2 Configuration) Sets or displays the behavior of the DO2 pin signal. This output can provide RS-232 flow control and controls the TX enable signal for RS-485 or RS-422 operations. By default, DO2 provides RS-232 Clear-to-Send (CTS ) flow control. XBee®-PRO 900HP/XSC RF Modules 222 Configuration and commands Serial interfacing commands Binary command 0x1F (31 decimal) Parameter range 0-4 Parameter Configuration 0 RS-232 CTS flow control 1 RS-485 TX enable low 2 Static high 3 RS-485 TX enable high 4 Static low Default 0 Bytes returned 1 FL (Software Flow Control) Configures software flow control. Use the device as the DO2 (pin 12) to implement Hardware flow control to regulate when serial data can be transferred to the device . The XON character used is 0x11 (17 decimal). The XOFF character used is 0x13 (19 decimal). Binary command 0x07 (7 decimal) Parameter range 0-1 Parameter Value Configuration 0 Disable software flow control 1 Enable software flow control Default 0 Bytes returned 1 XBee®-PRO 900HP/XSC RF Modules 223 Configuration and commands Serial interfacing commands FT (Flow Control Threshold) Sets or displays the flow control threshold. De-assert CTS when the number of bytes specified by the FT parameter are in the DIN buffer. Reassert CTS when less than FT - 16 bytes are in the UART receive buffer. Binary command 0x24 (36 decimal) Parameter range DI buffer size minus 0x11 bytes Default 0xBBF - DI buffer size minus 0x11 (17 decimal) NB (Parity) Set or read the parity settings for UART communications. Parameter range 0 - 4 (S3* hardware) 0 - 5 (S3B hardware) * The S3 hardware variant is a legacy design that is obsolete. New and old designs should use the S3B hardware variant. Parameter Configuration 0 8-bit (no parity ) 1 8-bit even 2 8-bit odd 3 8-bit mark 4 8-bit space 5 9-bit data (S3B Hardware) Default 0 Bytes returned 1 PK (Maximum RF Packet Size) Sets or displays the maximum size of RF packets that a device in Transparent operating mode (AP = 0) transmits. You can use the maximum packet size along with the RB and RO parameters to implicitly set the channel dwell time. XBee®-PRO 900HP/XSC RF Modules 224 Configuration and commands Serial interfacing commands Changes to the PK parameter may have a secondary effect on the RB (Packetization Threshold) parameter. RB must always be less than or equal to PK. If you change PK to a value that is less than the current value of RB, the RB value lowers to be equal to PK. Note This command is only supported on S3B hardware. Binary command 0x29 (41 decimal) Parameter range 0x2 - 0x100 [Bytes] Default 0x40 (64 decimal) Bytes returned 2 RB (Packetization Threshold) Sets or displays the character threshold value. RF transmission begins after a device receives data in the DIN buffer and meets either of the following criteria: n The UART receives RB characters n The UART receive lines detect RO character times of silence after receiving at least 1 byte of data If a device lowers PK below the value of RB, RB is automatically lowered to match the PK value. If RO = 0, the device must receive RB bytes before beginning transmission. RB and RO criteria only apply to the first packet of a multi-packet transmission. If data remains in the DIN buffer after the first packet, transmissions continue in a streaming manner until there is no data left in the DIN buffer. Binary command 0x20 (32 decimal) Parameter range 1 - 0x100 (bytes) (Maximum value equals the current value of PK Parameter (up to 0x100 HEX (800 decimal)) Default 1 Bytes returned 2 RO (Packetization Timeout) Set or read the number of character times of inter-character silence required before transmission begins. For information on how RO works with the RB command, see RB (Packetization Threshold). XBee®-PRO 900HP/XSC RF Modules 225 Configuration and commands Diagnostic commands After a device receives a serial byte and it receives no other byte before the RO timeout, the tranmission begins. Binary command 0x21 (33 decimal) Parameter range 0 - 0xFFFF [x 200 µs] Default 0 Bytes returned 2 RT (DI2 Configuration) Sets or displays the behavior of the DI2/RTS/CMD line. You must use RT to enable RTS flow control or binary programming. Binary command 0x16 (22 decimal) Parameter range 0-2 Parameter Configuration 0 Disabled 1 Binary Command enable 2 RTS flow control enable Default 0 (disabled) Bytes returned 1 Diagnostic commands The following commands are diagnostic commands. ER (Receive Count Error) Sets or displays the receive error. 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 non-volatile (that is, the 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 you reset the device. XBee®-PRO 900HP/XSC RF Modules 226 Configuration and commands Diagnostic commands To reset the counter to any 16-bit unsigned value, append a hexadecimal parameter to the command. This value is volatile (the value does not persist in the device's memory after a power-up sequence). Binary command 0x0F (15 decimal) Parameter range 0 - 0xFFFF Default 0 Bytes returned 2 GD (Receive Good Count) This count increments when a device receives a packet that contains integrity errors of some sort. When the number reaches 0xFFFF, the firmware does not count further events. To reset the counter to any 16-bit unsigned value, append a hexadecimal parameter to the command. Parameter range 0 - 0xFFFF Default 0 Bytes returned 2 RE (Restore Defaults) Restore device parameters to factory defaults. RE does not cause the device to store default values to non-volatile (persistent) memory. You must send the WR command prior to power-down or reset to save the default settings in the device's nonvolatile memory. Binary command 0x0E (14 decimal) Parameter range N/A Default N/A Bytes returned N/A XBee®-PRO 900HP/XSC RF Modules 227 Configuration and commands Diagnostic commands RP (RSSI PWM Timer) Enables a pulse-width modulated (PWM) output on the CONFIG pin. We calibrate the pin to show the difference between received signal strength and the sensitivity level of the device. PWM pulses vary from zero to 95 percent. Zero percent means the RF signal the device receives is at or below the device's sensitivity level. 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, so the minimum step size is 0.208 ms. dB above sensitivity PWM percentage (high period / total period) 10 47.5% 20 62.5% 30 77.5% A non-zero value defines the time that PWM output is active with the RSSI value of the last RF packet the device receives. After the set time when the device has not received RF packets, it sets the PWM output low (0 percent PWM) until the device receives another RF packet. It also sets PWM output 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 PWM output and Config input share the CONFIG /RSSI pin. When the device is powered, the Config pin is an input. During the power-up sequence, if RP is a non-zero value, the firmware configures the Config pin as an output and sets it low until the device receives the first RF packet. With a non-zero RP parameter, the CONFIG pin is an input for RP ms after power up. The PWM output and Config input share the CONFIG pin. When the device is powered, the Config pin is an input. During the power-up sequence, the device reads Config pin to determine whether to go to AT command mode. The Config pin is then configured as an output and set to low until the device receives the first RF packet. With a non-zero RP parameter, the CONFIG pin is an input for RP ms after power up. Binary command 0x22 (34 decimal) Parameter range 0 - 0xFF [x 100 ms] Default 0 (disabled) Bytes returned 1 RZ (DI Buffer Size) Reads the size of the DI buffer of the UART receiving device. Multiply the DI buffer size by 1.5 to determine the DO buffer size. Binary command 0x2C (44 decimal) XBee®-PRO 900HP/XSC RF Modules 228 Configuration and commands Diagnostic commands Parameter range Read-only Default N/A Bytes returned 1 Note This command is only supported on S3B modules. RS (RSSI) Returns the signal level of the last packet received. You can use this reading to determine range characteristics of devices under various conditions of noise and distance. Once you issues the command, the device returns a value between 0x6 and 0x36, where 0x36 represents a very strong signal level and 0x4 indicates a low signal level. Binary command 0x1C (28 decimal) Parameter range 0x06 – 0x36 [read-only] Default N/A Bytes returned 1 SH (Serial Number High) Reads the device's serial number high word. Binary command 0x25 (37 decimal) Parameter range 0x0 - 0xFFFF [read-only] Default N/A Bytes returned 2 SL (Serial Number Low) Reads the serial number low word of the device. XBee®-PRO 900HP/XSC RF Modules 229 Configuration and commands Diagnostic commands Binary command 0x26 (38 decimal) Parameter range 0 - 0xFFFF [read-only] Default N/A Bytes returned 2 TR (Transmission Failure Count) Records the number of retransmit failures. The device increments this number each time a packet is not acknowledged within the number of retransmits specified by the RR (Retries) Command. It therefore counts the number of packets that have not been successfully received and have been dropped. The TR Parameter is not non-volatile and resets to zero each time the device is reset. Binary command 0x1B (27 decimal) Parameter range 0 - 0xFFFF Default 0 Bytes returned 2 VR (Firmware Version - Short) Reads the firmware version on a device. Firmware versions contain four significant digits: A.B.C.D. If B = 2, the device is programmed for operation in Australia only. Binary command 0x14 (20 decimal) Parameter range [read-only]: 0 - 0xFFFF Default N/A Bytes returned 2 XBee®-PRO 900HP/XSC RF Modules 230 Configuration and commands Sleep commands Sleep commands The following commands are sleep commands. FH (Force Wakeup Initializer) Forces the device to send a wake-up initializer on the next transmission. Only use FH with cyclic sleep modes active on remote devices. You do not need to issue the WR (Write) command with FH. Binary command 0x0D (13 decimal) Parameter range N/A Default N/A Bytes returned N/A HT (Time before Wake-up Initializer) Sets or displays the time of inactivity (no serial or RF data is sent or received) before a transmitting (TX) RF device sends a wake-up initializer. The main purpose of this command is to prevent devices from sending the Long Header with every data packet. For more information on long headers, see LH (Wakeup Initializer Timer). For RX devices operating in Cyclic Sleep mode (SM = 4-8), set HT to be shorter than the ST command. The TX device sends a wake-up initializer, which instructs all receiving (RX) devices to remain awake to receive RF data. From the perspective of the RX device: after HT time elapses and the inactivity timeout (ST command) is met, the RX device goes into cyclic sleep. In cyclic sleep, the RX device wakes once per sleep interval (SM command) to check for a wake-up initializer. When it detects a wake-up initializer, the device stays awake to receive data. The wake-up initializer must be longer than the cyclic sleep interval to ensure that sleeping devices detect incoming data. When HT time elapses, the TX device knows it needs to send a wake-up initializer for all RX devices to remain awake and receive the next transmission. Binary command 0x03 (3 decimal) Parameter range 0 - 0xFFFF [x 100 ms] Default 0xFFFF (wake-up initializer will not be sent) Bytes returned 2 XBee®-PRO 900HP/XSC RF Modules 231 Configuration and commands Sleep commands LH (Wakeup Initializer Timer) Sets or displays the duration of time during which the wake-up initializer is sent. When receiving devices are in Cyclic Sleep Mode, they power-down after a period of inactivity as specified by the ST parameter and will periodically wake and listen for data transmissions. In order for the receiving devices to remain awake, they must detect ~35 ms of the wake-up initializer. You must use LH whenever a receiving device is operating in Cyclic Sleep mode. The wake-up initializer time must be longer than the cyclic sleep time, which is set by the SM (Sleep Mode) parameter. If the wake-up initializer time is less than the Cyclic Sleep interval, the connection is at risk of missing the wake-up initializer transmission. To view a diagram of the correct configuration, see SM (Sleep Mode). Binary command 0x0C (12 decimal) Parameter range 0 - 0xFF [x100 milliseconds] Default 1 Bytes returned 1 PW (Pin Wakeup) Enables or disables the sleep pin. Under normal operation, a device in Cyclic Sleep mode cycles from an active state to a low-power state at regular intervals until it is ready to receive data. If you set PW to 1, you can use the SLEEP pin (pin 26) to wake the device from Cyclic Sleep. When you de-assert (low) the SLEEP pin, the device is operational and will not go into Cyclic Sleep. Once you assert the SLEEP pin, the device remains active for the period of time specified by the ST parameter and returns to Cyclic Sleep mode if no data is ready to transmit. PW is only valid if Cyclic Sleep is enabled. Binary command 0x1D (29 decimal) Parameter range 0-1 Parameter Configuration 0 Disabled 1 Enabled Default 0 XBee®-PRO 900HP/XSC RF Modules 232 Configuration and commands Sleep commands Bytes returned 1 SM (Sleep Mode) Sets or displays the device's sleep mode settings, which configure the device to run in states that require minimal power consumption. By default, Sleep Mode is disabled and the device remains continually active. The SM command allows the device to run in a lower-power state and be configured in one of the eight settings. Cyclic Sleep settings wake the device after the amount of time designated by the SM command. If the device detects a wake-up initializer during the time it is awake, it synchronizes with the transmitter and starts receiving data after the wake-up initializer runs its duration. Otherwise, the device returns to Sleep Mode and continues to cycle in and out of inactivity until it detects the Wakeup Initializer. If a Cyclic Sleep setting is chosen, the ST, LH and HT parameters must also be set as described in Sleep mode. Binary command 0x01 Parameter range 0, 1 3 - 8 Parameter Description 0 Disabled 1 Pin Sleep 3 Cyclic 0.5 second sleep (RF module wakes every 0.5 seconds) 4 Cyclic 1 second sleep (RF module wakes every 1.0 seconds) 5 Cyclic 2 second sleep 6 Cyclic 4 second sleep 7 Cyclic 8 second sleep 8 Cyclic 16 second sleep Default 0 Bytes returned 1 ST (Wake Time) Sets or displays the amount of time (in tenths of seconds) that the device remains inactive before entering Sleep mode. For example, if you set ST to 0x64 (100 decimal), the device enters Sleep mode after 10 seconds of inactivity (no transmitting or receiving). XBee®-PRO 900HP/XSC RF Modules 233 Configuration and commands Sleep commands You can only use this command if you use SM to select Cyclic Sleep or Serial Port Sleep mode settings; see SM (Sleep Mode). Binary command 0x02 (2 decimal) Parameter range 0x10 – 0xFFFF [x 100 milliseconds] Default 0x64 (10 seconds) Bytes returned 2 XBee®-PRO 900HP/XSC RF Modules 234 Network configurations Network topologies Addressing Basic communications XBee®-PRO 900HP/XSC RF Modules 236 238 239 235 Network configurations Network topologies Network topologies The device supports three different network topologies: n Point-to-point n Point-to-multipoint n Peer-to-peer Point-to-point networks This following section provides the RF communication type and RF mode for point-to-point networks. Definition Point-to-point means that an RF data link exists between two devices. Sample network profile (Broadcast communications) Use default values for all devices. Sample network profile (Acknowledged communications) Note Assume default values for all parameters that are not in this list. These profiles do not reflect addressing implementations. 1. Use XCTU or an alternative terminal program to send the AM command. See AM (Auto-set MY) for details. 2. Set the destination address to 0xFFFF, send: DT FFFF Basic RF modes Streaming, Multi-Transmit, Repeater. Acknowledged RF mode Acknowledged mode. Point-to-multipoint networks This following section provides the RF communication type and RF mode for point-to-multipoint networks. Definition Point-to-multipoint refers to a network with RF data links between one base and multiple remotes. XBee®-PRO 900HP/XSC RF Modules 236 Network configurations Network topologies Sample network profile (Broadcast communications) Note Assume default values for all parameters that are not in this list. These profiles do not reflect addressing implementations. Base: 1. Send MY 0 to set the source address to 0x00. 2. Send DT FFFF to set the destination address to 0xFFFF. Remotes: 1. Use XCTU or another terminal program to send the AM command. See AM (Auto-set MY) for details. 2. Send DT 0 to set the destination address to 0x00. Sample network profile (Acknowledged communications) Note Assume the default value for all parameters that are not in this list. These profiles do not reflect addressing implementations. Base: 1. Send MY 0 to set the source address to 0x00. 2. Send DT FFFF to set the destination address to 0xFFFF. 3. Send RR 3 to set the number of retries to 3. Remotes: 1. Use XCTU or another terminal program to send the AM command. 2. Send DT FFFF to set the destination address to 0xFFFF. 3. Send RR 3 to set the number of retries to 3. Basic RF modes Streaming, Multi-Transmit, Repeater, and Polling. Acknowledged RF mode Acknowledged and Polling. Peer to peer networks This following section provides the RF communication type and RF mode for peer-to-peer networks. XBee®-PRO 900HP/XSC RF Modules 237 Network configurations Addressing Definition In Peer-to-peer networks, devices remain synchronized without the use of master/slave dependencies. Each device shares the roles of master and slave. Digi's peer-to-peer architecture features fast synch times (35 ms to synchronize devices) and fast cold start times (50 ms before transmission). Sample network profile (Broadcast communications) Note Assume default values for all parameters that are not in this list. These profiles do not reflect addressing implementations. Use default values for all devices. Sample network profile (Acknowledged communications) Note Assume default values for all parameters that are not in this list. These profiles do not reflect addressing implementations. All devices: 1. Send MY 0 to set the source address to 0x00. 2. Send DT FFFF to set the destination address to 0xFFFF. 3. Send RR 3 to set the number of retries to 3. Basic RF modes Streaming. Acknowledged RF mode Acknowledged. Addressing Each RF packet contains addressing information that the receiving devices use to filter incoming RF data. Receiving devices inspect the Preamble ID—HP parameter—Vendor Identification Number—ID parameter—and Destination Address—DT parameter—in each RF packet. A receiving device discards all data that does not pass through all three network security layers. The following image illustrates the addressing layers in the RF packet header. XBee®-PRO 900HP/XSC RF Modules 238 Network configurations Basic communications Address recognition Transmissions can be addressed to a specific device or group of devices using the DT (Destination Address) and MK (Address Mask) parameters. The transmitting device dictates whether the packet is intended for a specific device (local address) or multiple devices (global address) by comparing the packet’s DT parameter to its own MK parameter. Basic communications Basic communications includes two sub-types: n Broadcast. By default, the XBee-PRO 900HP RF Modules communicate through Broadcast communications and within a peer-to-peer network topology. When any device transmits, all other devices within range receive the data and pass it directly to their host device. n Addressed. If addressing parameters match, the device forwards the RF data it receives to the DOUT buffer; otherwise, it discards the RF data. When using Basic communications, the integrator handles any functions, such as acknowledgments, at the application layer. The Broadcast modes provide transparent communications, meaning that the RF link replaces a wired link. Streaming mode (default) Characteristics: Highest data throughput n Lowest latency and jitter n Reduced immunity to interference n Transmissions never acknowledged (ACK) by receiving module(s) Required parameter values (TX Module): RR (Retries) = 0 Related commands: Networking (DT, MK, MY), Serial Interfacing (PK, RB, RO, TT) Recommended use: Mode is most appropriate for data systems more sensitive to latency and/or jitter than to occasional packet loss. XBee®-PRO 900HP/XSC RF Modules 239 Network configurations Basic communications Streaming Mode data flow n Streaming Mode state diagram (TX Module) n Events and processes in this mode are common to all of the other RF Modes. Note When the device is streaming data, RB and RO parameters are only observed on the first packet. After transmission begins, the TX event continues uninterrupted until the DI buffer is empty or it reaches the streaming limit (TT Command). As with the first packet, the payload of each subsequent packet includes up to the maximum packet size (PK Command). The transmitting device specifies the streaming limit (TT Command) as the maximum number of bytes the transmitting device can send in one transmission event. After it reaches the TT parameter threshold, the transmitting module forces a random delay of 1 to RN delay slots (exactly 1 delay slot if RN = 0). The device sends subsequent packets without an RF initializer since receiving devices stay synchronized with the transmitting device for the duration of the transmission event (from preceding packet information). However, due to interference, some receiving devices may lose data (and synchronization to the transmitting device), particularly during long transmission events. Once the transmitting device sends all pending data or has reaches the TT limit, the transmission event ends. The transmitting device will not transmit again for exactly RN delay slots if the local (that is, the transmitting device’s) RN parameter is set to a non-zero value. The receiving devices will not transmit for a random number of delays between 0 and (RN-1) if the local (that is, the receiving module’s) RN parameter is set to a non-zero value. These delays are intended to lessen congestion following long bursts of packets from a single transmitting device, during which several receiving devices may have become ready to transmit. Repeater mode Characteristics n Self-organizing - No route configuration is necessary. n Self-healing / Fault-tolerant. n Low power consumption and Minimized interference. n Network throughput is determined by number of hops, not by number of repeaters. Multiple repeaters within range of source node count as one hop. n Supports “transparent” multi-drop mode or addressed data filtering mode. n Duplicate RF packets are automatically filtered out. n All packets propagate to every node in the network (filtering rules apply). n Broadcast communications - each packet comes out every node exactly once. n Addressed communications - all devices see every packet. Only the device with a matching address forwards it to the DO buffer (UART IN). n Devices transmit and forward data entering the network on any device through every repeater device until it reaches the ends of the network. n Each repeater repeats a packet only once. XBee®-PRO 900HP/XSC RF Modules 240 Network configurations Basic communications Constraints n Requires that each device have a unique MY (Source Address) parameter. n System must introduce just one packet at a time to the network for transmission (256 bytes max). n Each hop (H) decreases the network throughput by a factor of 1/(H+1). Additional repeaters add network redundancy without decreasing throughput. Required parameter values (TX module): MD = 3 or 4, MY = unique value. Send the AM (Auto-set MY) and WR (Write) commands to all devices in the network). Related commands: Networking (MD, DT, MY, AM), Serial Interfacing (RN, PK, RO, RB). Recommended use: Use in networks where intermediary nodes required to relay data to devices that are beyond the transmission range of the base device. Theory of operation Integrators can extend the effective range and reliability of a data radio system by forwarding traffic through one or more repeaters. Instead of using routing tables and path discovery to establish dynamic paths through a network, the repeater system uses a sophisticated algorithm to propagate each RF packet through the entire network. The network supports RF packets of up to 256 bytes. The repeater network can operate using broadcast or addressed communications for multi-drop networks and works well in many systems with no special configuration. When in Repeater Mode, the network repeats each message among all available nodes exactly one time. This mechanism eliminates the need for configuring specific routes. The network is selforganizing and self-healing so that the system is able to receive transmissions in the event of a device going down. Sample Repeater network topology: To summarize, the system sends and receives 64 bytes 5 times per second for a throughput of 320 bytes per second with no repeaters and 128 bytes per second with 2 repeaters. Generally, the network throughput decreases by a factor of 1/(R+1), with R representing the number of repeaters between the source and destination. Configuration instruction (Basic Broadcast communications) Assign each device a unique MY (source) address. The AM (Auto-set MY) command configures a unique source address based on device serial number. Enable Basic Broadcast Communications (DT = 0xFFFF) or Addressed Broadcast Communications (DT specifies a destination). Configure PK, RO and RB to ensure that RF packet aligns with protocol packet. (for example, PK=0x100, RB=0x100, RO depends on baud rate). Configure one or more repeaters in the system (MD = 3). XBee®-PRO 900HP/XSC RF Modules 241 Network configurations Basic communications Configure remote nodes as destinations (MD = 4). This ensures that the remote node waits for the repeater traffic to subside before transmitting a response. The preceding configuration instructions reflect configuration for a Basic Broadcast Repeater system. To configure a Basic Addressed Repeater system, use the DT (Destination Address) parameter to assign unique addresses to each device in the network. Algorithm details n Packet ID (PID) consists of the transmitting device MY address and packet serial number. n Devices ignore incoming packets with a PID already found in the PID buffer. n Each device maintains a PID buffer 8 deep of previously received packets (managed as FIFO). Packets may be shifted out the serial port and/or repeated depending on the DT parameter contained in the RF packet. The following table shows the DT (Destination Address) parameter truth. Address match Send out serial port? Repeat? Global Yes Yes Local Yes Yes None No Yes Repeat delay based on RSSI A transmitted packet may be received by more that one repeater at the same time. To reduce the probability of repeaters transmiting at the same time that may result in a collision and possible data loss, an algorithm allows a variable back-off prior to retransmission of the packet by a repeater. Devices that receive the packet with a stronger RF signal (RSSI) have the first opportunity to retransmit the packet. Use the RN (Delay Slots) parameter to configure the delay. n Set RN=0 (no delays) for small networks with few repeaters or repeaters that are not within range of each other. n Set RN=1 for systems with 2 to 5 repeaters that may be within range of each other. Use the following formula to compute the actual length of the delay: Delay (ms) = L * DS DS = (-41-RSSI)/(10*RN)+RandomInt(0,RN) Where: n L is the length of the transmitted packet in milliseconds. n DS is the number of delay slots to wait. n RSSI is the received signal strength in dBm. n RN is the value of the RN register. n RandomInt(A,B) is a function that returns a random integer from A to B-0. Response packet delay As a packet propagates through the repeater network, if any node receives the data and generates a quick response, the response must be delayed so it does not collide with subsequent retransmissions XBee®-PRO 900HP/XSC RF Modules 242 Network configurations Basic communications of the original packet. To reduce collisions, both repeater and end node radios in a repeater network delay transmission of data shifted in the serial port allowing any repeaters within range to complete their retransmissions. The time for this delay is computed by the followinformula: Maximum Delay (ms) = L * DS DS = (((41(-100))/10)*RN)+RN+1 Where: n L is the length of the transmitted packet in milliseconds. n DS is the number of delay slots to wait. n RSSI is the received signal strength in dBm. n RN is the value of the RN register. Use case - broadcast repeater network Consider devices R1 through R10, each communicating to a PLC using the ModBus protocol and spaced evenly in a line. All ten nodes are configured as ‘destinations & repeaters’ within the scope of Basic Broadcast Communications (MD=3, AM, DT=0xFFFF, PK=0x100, RO=0x03, RB=0x100, RN=1). The Base Host (BH) shifts payload that is destined for R10 to R1. R1 initializes RF communication and transmits payload to nodes R2 through R5 which are all within range of R1. Modules R2 through R5 receive the RF packet and retransmit the packet simultaneously; they also send data out the serial ports to the PLCs. The following table shows the commands used to configure repeater functions. Binary AT command command AT command name Range # Bytes returned Factory default AM 0x3A (58d) Auto-set MY - - - DT 0x00 (0d) Destination Address 0-0xFFFF 2 0 MD 0x3C (60d) RF Mode 3-4 1 0 MY 0x2A (42d) Source Address 0-0xFFFF 2 0xFFFF RN 0x19 (25d) Delay Slots 0-0xFF [slots] 1 0 WR 0x08 (8d) Write - - - Bandwidth considerations Using broadcast repeaters in a network reduces the overall network data throughput as each repeater buffers an entire packet before retransmitting it. For example: if the destination is within range of the transmitter and the packet is 32 bytes long, the transmission takes approximately 72 ms on a 9600 baud XSC device. If that same packet has to propagate through two repeaters, it takes 72 ms to arrive at the first repeater, another 72 ms to get to the second and a final 72 ms to get to the destination, for a total of 216 ms. Considering UART transfer times (~1ms/byte at 9600 baud), a server to send a 32 byte query and receive a 32 byte response is ~200 ms, which allows for 5 polls per second. With the two repeaters in the path, the same query/response sequence would take about 500 ms for 2 polls per second. XBee®-PRO 900HP/XSC RF Modules 243 Network configurations Basic communications Acknowledged mode Characteristics: Reliable delivery through positive acknowledgments for each packet Throughput, latency, and jitter vary depending on the quality of the channel and the strength of the signal. Recommended use: Acknowledge Mode configuration is appropriate when reliable delivery is required between modules. If messages are smaller than 256 bytes, use RB and RO commands to align RF packets with application packets. Required parameter values (TX device): RR (Retries) >= 1 Related commands: Networking (DT, MK, RR), Serial Interfacing (PK, RN, TT, RO, RB) The following table shows a sample network profile. Device Parameter settings (assume default values for parameter not listed) All ATRR A [set the number of retries to 0x0A] ATRN 5 [set the number of delay slots to 5] Acknowledged mode connection sequence After sending a packet while in Acknowledged Mode, the transmitting device listens for the ACK (acknowledgment). If it receives the ACK, it either sends a subsequent packet (if more transmit data is pending), or waits for exactly RN random delay slots before allowing another transmission (if no more data is pending for transmission). n If the transmitting device does not receive the ACK within the allotted time, it retransmits the packet with a new RF initializer following the ACK slot. There is no delay between the first ACK slot and the first retransmission. Subsequent retransmissions incur a delay of a random number of delay slots, between 0 and RN. n If RN is set to 0 on the transmitting device, there are never any back-off delays between retransmissions. During back-off delays, the transmitting device enters Idle Mode and may receive RF data. This can increase the back-off delay, as the radio cannot return to RF transmit (or retransmit) mode as long as it is receiving RF data. After receiving and acknowledging a packet, the receiving device moves to the next frequency and listens for either a retransmission or new data for a specific period of time. Even if the transmitting device indicates no more pending transmit data, it may have not received the previous ACK and may retransmit the packet (potentially with no delay after the ACK slot). In this case, the receiving device always detects the immediate retransmission, which holds off the communications channel and reduces collisions. Receiving devices acknowledge each retransmission they receive, but they only pass the first copy of a packet received out the UART. RB and RO parameters are not applied to subsequent packets. This means that once transmission has begun, it continues uninterrupted until the DI buffer is empty or reaches its streaming limit (TT). As with the first packet, the payload of each subsequent packet includes up to the maximum packet size (PK parameter). n The transmitting device checks for more pending data near the end of each packet. n The streaming limit (TT parameter) specifies the maximum number of bytes the transmitting device sends in one transmission event, which may consist of many packets and retries. If it reaches the TT parameter, the transmitting device forces a random delay of 1 to RN delay slots (exactly 1 delay slot if RN is zero). XBee®-PRO 900HP/XSC RF Modules 244 Network configurations n Basic communications The device counts each packet only once toward TT, no matter how many times the packet is retransmitted. Subsequent packets in acknowledged mode are similar to those in streaming mode, with the addition of an acknowledgment between each packet, and the possibility of retransmissions. The device sends subsequent packets without an RF initializer, because the receiving devices are already synchronized to the transmitting device from the preceding packets and they remain synchronized for the duration of the transmission event. Each packet retransmission includes an RF initializer. Once the transmitting device sends all pending data or reaches the TT limit, the acknowledged transmission event is completed. n The transmitting device does not transmit again for exactly RN delay slots, if the local RN parameter is set to a nonzero value. n The receiving device does not transmit for a random number of delay slots between 0 and (RN1), if the local RN parameter is set to a nonzero value. These delays can lessen congestion following long bursts of packets from a single transmitting device when several receiving devices may be ready to transmit. XBee®-PRO 900HP/XSC RF Modules 245 Network configurations XBee®-PRO 900HP/XSC RF Modules Basic communications 246 S3B hardware certifications Agency certifications - United States ISED (Innovation, Science and Economic Development Canada) Brazil ANATEL Mexico IFETEL IDA (Singapore) certification XBee®-PRO 900HP/XSC RF Modules 248 259 260 261 262 247 Agency certifications - United States United States (FCC) The XBee-PRO 900HP/XBee-PRO XSC RF Modules comply with Part 15 of the FCC rules and regulations. Compliance with the labeling requirements, FCC notices and antenna usage guidelines is required. To fulfill FCC certification requirements, the OEM must comply with the following regulations: n The system integrator must ensure that the text on the external label provided with this device is placed on the outside of the final product. n XBee/XBee-PRO RF modules may only be used with antennas that have been tested and approved for use with this module. For more information, see . OEM labeling requirements WARNING! As an Original Equipment Manufacturer (OEM) you must ensure that FCC labeling requirements are met. You must include a clearly visible label on the outside of the final product enclosure that displays the following content: XBee-PRO 900HP and XBee-PRO XSC Required FCC Label for OEM products containing the XBee-PRO 900HP/XBee-PRO XSC RF Module: Contains FCC ID: MCQ-XB900HP The enclosed device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (i. ) this device may not cause harmful interference and (ii. ) this device must accept any interference received, including interference that may cause undesired operation. FCC notices IMPORTANT: The XBee/XBee-PRO RF Module has been certified by the FCC for use with other products without any further certification (as per FCC section 2.1091). Modifications not expressly approved by Digi could void the user's authority to operate the equipment. IMPORTANT: OEMs must test final product to comply with unintentional radiators (FCC section 15.107 and 15.109) before declaring compliance of their final product to Part 15 of the FCC rules. IMPORTANT: The RF module has been certified for remote and base radio applications. If the module will be used for portable applications, the device must undergo SAR testing. 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 XBee®-PRO 900HP/XSC RF Modules 248 S3B hardware certifications Agency certifications - United States 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: n Re-orient or relocate the receiving antenna. n Increase the separation between the equipment and receiver. n Connect equipment and receiver to outlets on different circuits. n Consult the dealer or an experienced radio/TV technician for help. Limited modular approval This is an RF module approved for Limited Modular use operating as a mobile transmitting device with respect to section 2.1091 and is limited to OEM installation for Mobile and Fixed applications only. During final installation, end-users are prohibited from access to any programming parameters. Professional installation adjustment is required for setting module power and antenna gain to meet EIRP compliance for high gain antenna(s). Final antenna installation and operating configurations of this transmitter including antenna gain and cable loss must not exceed the EIRP of the configuration used for calculating MPE. Grantee (Digi) must coordinate with OEM integrators to ensure the end-users and installers of products operating with the module are provided with operating instructions to satisfy RF exposure requirements. The FCC grant is valid only when the device is sold to OEM integrators. Integrators are instructed to ensure the end-user has no manual instructions to remove, adjust or install the device. FCC-approved antennas CAUTION! This device has been tested with Reverse Polarity SMA connectors with the antennas listed in the tables of this section. When integrated into OEM products, fixed antennas require installation preventing end-users from replacing them with non-approved antennas. Antennas not listed in the tables must be tested to comply with FCC Section15.203 (unique antenna connectors) and Section 15.247 (emissions). CAUTION! The FCC requires that all spread spectrum devices operating within the Unlicensed radio frequency bands must limit themselves to a maximum radiated power of 4 Watts EIRP. Failure to observe this limit is a violation of our warranty terms, and shall void the user’s authority to operate the equipment. This can be stated: RF power - cable loss + antenna gain
XBP9B-DMUTB002 价格&库存

很抱歉,暂时无法提供与“XBP9B-DMUTB002”相匹配的价格&库存,您可以联系我们找货

免费人工找货