这篇文章发表在这里以及这样的前缀,貌似不太合适的,但是因为和做的东东有关,就暂且放到这里了,希望大家谅解。
这里就简单的介绍下Zigbee和TI的CC2530。
一、ZigBee
ZigBee协议栈 和 ZigBee协议 有什么不同呢,协议是一种规定,而协议栈是对协议的具体实现方法。各个厂商的协议栈的实现方法可能不同,虽然协议是相同的,但会出现一个兼容性的问题。
ZigBee是基于IEEE802.15.4标准的低功耗、短距离传输的局域网协议。ZigBee联盟定义了NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。IEEE 802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范。
图21-1:
ZigBee节点所属类别主要分三种:
协调器(Coodinator)、路由器(Router)、终端(End Device)。
同一网络中至少需要一个协调器,也只能有1个协调器,负责各个节点16位地址分配(自动分配)、理论上可以连上65536个节点。
图21-2:ZigBee组网类型
Zigbee的通讯方式:点播、组播、广播
点播:点对点通信,也就是2个设备之间的通讯,不容许有第三个设备收到信息。
组播:就是把网络中的节点分组,每一个组员发出的信息只有相同组号的组员才能收到。
广播:最广泛的也就是1个设备上发出的信息所有设备都能接收到。 这也是ZigBee通信的基本方式。
ZigBee、Bluetooth和wifi大家可能对后两个接触的比较多,他们都是在2.4GHz频段的(除wifi也可以在5GHz),下面就只用性能标准来对比一下。
图21-3:wif、bluetooth、wifi对比
我一直学习的都是TI的CC2530、所以用的是TI的ZigBee协议栈。刚开始学,感觉还是蛮复杂的,当时记得找了一个晚上都没有找到发送和接受函数,后面参考了书才知道,协议栈里有一个小的实时操作系统,对任务进行轮询调度。关于TI的ZigBee协议栈就不详细讲了。
图21-4:
二、CC2530
CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。CC2530采用的是51的内核,所以对于使用过51单片机的来说,上手相当快,我用的是IARfor8051的开发环境。
RF/布局
适应2.4-GHz IEEE 802.15.4 的RF 收发器
极高的接收灵敏度和抗干扰性能
可编程的输出功率高达4.5 dBm
适合系统配置符合世界范围的无线电频率法规:ETSI EN 300 328 和EN 300440(欧洲),FCC CFR47 第15 部分(美国)和ARIB STD-T-66(日本) ·
低功耗
主动模式RX(CPU 空闲):24 mA
主动模式TX 在1dBm(CPU 空闲):29mA
供电模式1(4 μs 唤醒):0.2 mA
供电模式2(睡眠定时器运行):1 μA
供电模式3(外部中断):0.4 μA
宽电源电压范围(2 V–3.6 V)
优良的性能和具有代码预取功能的低功耗8051 微控制器内核 –32-、64-或128-KB 的系统内可编程闪存 –8-KB RAM,具备在各种供电方式下的数据保持能力
强大的5 通道DMA –IEEE 802.5.4 MAC 定时器,通用定时器(一个16 位定时器,一个8 位定时器)
IR 发生电路
具有捕获功能的32-kHz 睡眠定时器
硬件支持CSMA/CA
支持精确的数字化RSSI/LQI
电池监视器和温度传感器
具有8 路输入和可配置分辨率的12 位ADC
AES 安全协处理器
2 个支持多种串行通信协议的强大USART
看门狗定时器
图21-5:
图21-6:CC2530框架图
我使用的是网蜂的ZigBee模块图片如下:
图21-7:
图21-8:
图21-9:
网蜂的模块的例程和教程还是蛮多的,组网将的还是很详细的,里面的无线串口透传这个例程也是学习了,通过串口和SIN210开发板通信,传输信息。完成成继电器的控制,和传感器信息的采集。
总结:
学无止境,学海无涯。
搞IT的真心累、不过蛮喜欢嵌入式的,每次玩着开发板还是蛮开心的,不过发帖子真心有点累。。。
尤其是学习了TI的ZigBee协议栈之后,更加惊叹一个51竟能做出那么复杂神奇的东东,不得不惊叹编程是一门艺术。
和SIN210也相处了两个月的时间了,时间是有限的而知识是无尽的,从编译系统 到 应用 到 Qt 等等,用它确实学到了不少的东西。
再次感谢SINLINX免费提供的SIN210开发板
锦样年华水样流。。。