I have two XBee Pro 900 HP modules (one with a dipole antenna and the other is the wire whip version) that I would like to configure to be able to communicate at the maximum data rate (which looks to be 105.5 kbps). Currently I am only able to achieve 50 kbps using XCTU in a unidirectional, infinite loop throughput test.
I am not sure what you mean. As stated above I am using the Throughput tool, with throughput type set to unidirectional and duration set to infinite loop. Both modules have API Enable (AP) set to Transparent Mode (default).
Broadcast Hops (BH) is zero by default, and I have already tried the Transmit Options C0, C1, 40, and 41.
The Destination Address High (DH) and Destination Address Low (DL) were at the default values of 0 and FFFF respectively, for both modules. I have also tried a throughput test with DH_1 = SH_2; DH_2 = SH_1; DL_1 = SL_2; DL_2 = SL_1. This had no effect.
The Channel Mask (CM) is set to default (FFFFFFFFFFF7FFFF) for both.
“you need to use the Unicast addressing over the Broadcast address” - I’m not sure what you mean by this. What configuration changes does this entail?
Every other channel would be repeated hex A (binary 1010) or 5 (binary 0101). I tried using 5555555555555555 for the Channel Mask (CM) on both modules. This yielded no significant throughput increase (51.5 kbps)
You will never see 200kbps. That is the fixed RF data rate. That is the rate in which the two modules talk to each other. Under ideal circumstances, the throughput you could achieve is up to 91kbps (Page 47 of the manual).
I was able to get my modules to transfer at 50 kbps (not “kps”) unidirectional using the default settings for everything except Unicast Retries = 0; Baud Rate = 115200. Both of my modules are inserted into a XBee USB Explorer and connected to my laptop via USB.
When performing a Throughput Test, if both modules are connected to your computer you can have both of them set to transparent mode. There will be the option of First Local Device and Second Local Device.
If you have one module configured as a remote device, then the local device will need to be in API mode, while the remote device is in transparent mode.
Is it actually true that 200 kbps will never be achieved? What if the serial data rate exceeds the RF data rate?
The throughput results presented (page 45 & 47) in the manual were performed using 115200 baud, which to my understanding isn’t the limit of the device.
“The UART baud rate (speed for data transfer between radio modem and host). Values from 0-8 select preset standard rates. Values at 0x39 and above select the actual baud rate. Providing the host supports it. Baud rates can go as high as 7Mb/s.” - Page 71 of Manual
I haven’t had any luck with the 230400 baud setting in XCTU (I actually don’t know why it exists if it doesn’t work), but I have been able to communicate reliably at 250,000 baud through two instances of the Arduino IDE. I currently have no way of testing the throughput with this configuration.
I haven’t tested with SPI yet, but I would imagine this option would get someone closest to the maximum throughput.
What do you mean you use XBEE 920 not 900? This XBee uses many frequencies between 902 and 928 MHZ (the 900 MHz ISM band). The default setting uses 19 different frequencies.