原创 XBee与 RBee ZigBee透明传输模块互传测试

2014-1-17 18:08 7851 21 21 分类: 通信

XBee与 RBee ZigBee透明传输模块互传测试

 

本次测试的目标是为了初步探索ZigBee透明传输模块的传输速率峰值范围,同时也要检查不同公司模块之间的兼容性。测试的目标是 由美国Digi提供的XBee S2 和RF-Star的RBee 3339A 模块。

 

表一 测试用到的物品清单

编号

名称

型号

数量

1

RBee模块

STR-RBee-3339A -C

STR-RBee-3339A -R

1

1

2

XBee模块

XBee -S2 2.4GHz

(Router AT Firmware)

1

3

评估底板

STR-RBee-EVBS

3

4

B口USB线

-

2

5

5V电源

DC +5V

1

 

 

表二 模块的MAC地址

编号

地址

ZigBee类型

制造商

代号

1

00 12 4B 00 03 A2 67 20

C

RF-Star

Z1

2

00 12 4B 00 03 A2 66 9E

R

RF-Star

Z2

3

00 13 A2 00 40 AE 1A A3

R

Digi

Z3

 

测试前的准备工作

测试通过一台PC接两个ZigBee透明传输模块来进行,影响通信速率的两个因素,一个是串口,另一个是空中传输速率。ZigBee模块的空中传输速率统一为250kbps,不能改变。由于ZigBee透传模块的串口速率远小于RF传输速率,因此选用模块支持的最高速率,115200bps。

 

同时也注意到模块同时支持透明(AT)和API传输模式,两种模式下在空中的数据数率是没有分别的,但两者在串口的有效速率方面却不相同,由于透明传输没有侦的封装,串口的操作更加简单高速,而API模式下所有的数据侦都需要包含数据之外的其他内容才能通信,本次测试仅测试两个点之间的通信速率,因此选用透明传输模式。(说明,在真实的应用中API也许会也更高效)。

 

此外ZigBee的通信有单播方式和广播方式两种。广播数据会在全网进行一轮转发,所有的Router和Coord都要对接收到数据包转发一次,它适用于一点发送到全部的通信,它会占用较大的网络带宽。单播数据是在确定的两点之间进行(路由)通信,通信可靠,占用网络带宽小,适用于点对点的传输。还有一点是ZigBee支持路由,本次测试我们把节点放置在同一桌面,彼此都在通信半径之内,由于ZigBee的自动路由是选择较优路径,因此Z2 Z3之间的通信是直接的,不需要经过其他节点路由,这样也可以让通信速率更高。

 

所以最终选定串口波特率115200bps, 透明传输(AT)模式来进行测试。单播通信方式。由于ZigBee模块的特性,数据包长度定为84字节可能会有助于提高传输速率。

 

确定测试意图之后,是设备模块的串口及通信方式,XBee和RBee的设置方法完全一样,都是写BD,DH,DL等参数,同时使用WR来保存,使用AC来让新的设置生效。

测试的各个节点设置如下。

表三 模块的参数值

 

Z1

Z2

Z3

DH

-

00 13 A2 00

00 12 4B 00

DL

-

40 AE 1A A3

03 A2 66 9E

SC

1FFE

1FFE

1FFE

BD

-

7

7

 

模块配置

模块的配置方法是一样的,这里以Z3的配置为例进行说明。配置可以使用普通串口助手工具来进行,这里使用RBee AT Panel 软件来进行测试,它支持快速进行AT指令,支持3个AT指令输入框,直接输入指令字即可。比如读NJ,只需要在框中输入NJ,然后点击最下方对应框编号的按钮就会把读指令发送出去,如果想写NJ的值为30,则在指令框中填写NJ 30,有无空格均可。执行指令的前提是进入AT模式,在透明传输模式下,点右下方的”AT Mode”,待模块返回“OK”后即进入AT模式,此后连续键入新的设置指令即可以设置,超过一定时间没有发送指令,模块会自动退出AT模式。

 

Z3的配置过程如下:

1.在AT Panel的指令框中输入DH 00 12 4B 00,  DL 03 A2 66 9E , BD 7

2.点”AT Mode”进入AT模式

3.依次点“1”,“2”,“3”按钮设置DH,DL,BD

4.指令框3中输入“WR”, 点“3”按钮

5.指令框3中输入“AC”, 点“3”按钮

6.关闭串口,选择115200重新连接

7.稍等片刻后重新进入AT模式,返回“OK”表示设置成功

8.指令框3中输入“CN”, 点“3”按钮,退出AT模式

9.设置完成。

 

按些方法配置其他节点并确认配置有效。

 

测试

将Z1接5V电源上电组网,之后将Z2,Z3接到电脑上的USB上。关闭之间的设置工具,打开大傻串口工具,波特率选115200.

 

电脑上COM3对应Z3,COM4对应Z2,测试Z3发Z2收时,在COM3发送区1填充84个字母或者数字,去除“16进制”选项前的勾。自动发送的时间填为27.

 

20140117180719445001.jpg

 

计算波特率的公式是 1000/Period * 84 * 8

按图上的设置Dbuad =1000/27 * 84 * 8 = 24888 (bps)

 

 

填入同的发送周期就可以调整串口发送数据的频率,进行控制数据波特率。本次测试的结果如下:

 

XBee(Z3)->RBee(Z2)

纪录号

串口波特率 bps

测试包数

发送字节数

发送间隔

ms

包长

数据速率

bps

接收字节数

掉包率

1

115200

4700

397800

27

84

24800

394800

0

2

115200

4682

393288

20

84

33600

393372

0

3

115200

4620

388080

15

84

44800

388080

0

4

115200

4740

398160

10

84

67200

226354

43.15%

5

115200

4936

414624

13

84

51600

238186

42.55%

6

115200

7869

660996

14

84

48000

661080

0

RBee(Z2)->XBee(Z3)

7

115200

2500

210000

29

84

23100

210000

0

8

115200

2202

558162

28

84

24000

558096

0.01%

9

115200

4717

396288

27

84

24800

210152

46.97%

 

 

从第6次和第8次的结果来看,目前XBee向RBee发送数据瞬间最大可靠速率为48000bps,而RBee向XBee发送的数据速率是24000bps。

 

再把测试的模块全家福晒一晒。

20140117180725758002.jpg

 

 

最后提醒大家,本次测试数据真实可靠,但未作长时间的稳定性测试。希望用ZigBee透明传输模块作大量数据传输一直是不太可取的,建议应用中的平均速率小于10kbps为宜。

 

emot  2014.117

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
21
关闭 站长推荐上一条 /3 下一条