多语言展示
当前在线:176今日阅读:176今日分享:34

Zigbee无线技术学习经验总结:(二)基础学习篇

Zigbee的基础学习必须掌握一些工具和方法,包括:IAR for 8051编译环境、C语言、Zigbee Soc芯片、IEEE 802.15.4 标准的数据包的收发、Zigbee协议栈(下文以TI的Z-Stack协议栈为例)、Packet Sniffer抓包软件。
工具/原料
1

Zigbee无线通信

2

IEEE 802.15.4 标准

3

Zigbee协议栈

4

IAR for 8051编译软件

5

C语言

6

Zigbee Soc芯片

7

Zigbee开发套件

(一)熟悉IAR for 8051编译环境
1

为什么说是IAR而不是Keil?是因为TI的官方协议栈是在IAR编译环境下开发的,因此我们写程序就必须用IAR。

2

还要特别注意IAR for  8051安装的具体版本。如果协议栈用的IAR版本比你的安装的版本高,这时打开程序后左边的WorkSpace窗口就是空白的,程序也无法编译。如何安装正确的IAR版本?可以查看TI的官方说明文档:Z-Stack Core Release Notes文件,该文件在协议栈的安装文件夹下,具体路径如下图。文件说明Z-Stack Home 1.2.1协议栈支持的IAR最低版本是EW8051 8.30.3,因此你安装的IAR for  8051的版本必须是这个版本或高于这个版本。

3

熟悉IAR for  8051的编译、调试、排错、程序下载和烧写等基本操作。

(二)熟悉C语言

因为Zigbee Soc芯片都是内部带有8051、Cortex-M0或者Cortex-M3的单片机,因此需要对C语言有一定基础。能够看懂协议栈程序,熟悉C语言的语法、数据结构和编程规范。

(三)熟悉Zigbee Soc芯片和IEEE 802.15.4 标准的数据包的收发

需要熟悉Zigbee Soc芯片的电气特性、外设资源、各个外设寄存器的设置,这个在修改协议栈物理层的按键和LED灯等外设时会用得上。可以参照芯片的datasheet了解和熟悉。可参照TI官方提供的点对点通信例程,了解IEEE 802.15.4 标准的数据包的收发。点对点通信例程不涉及完整的通讯协议,也不涉及协议栈和网络相关的操作,仅适合对Zigbee设备数据传输的入门学习。

(四)熟悉TI的Z-Stack协议栈
1

首先要了解协议栈的分层结构和操作系统OSAL:IEEE802.15.4标准定义的层对应协议栈的哪些文件目录?这些目录下的文件的主要作用是什么?例如:APP:应用层目录,是用户创建各种工程的区域,在这个目录中包含了应用层的程序。HAL:硬件层目录,包含有与硬件相关的配置、驱动及函数。

2

熟悉协议栈的预编译选项及设置:ZStack的预编译选项非常多,官方在Z-Stack Developer's Guide文档中列出的就有46个,其余未列出的实际应中也有用到,先必须了解编译选项的含义,然后可以在学习过程中根据实际的例程逐步熟悉其用法。并不是每个预编译选项都会用得上,真正用到的可能不超过1/3。

3

熟悉常用的API函数:协议栈的各个层都有自己的API函数,用户可以调用这些编写好的API函数实现自己的功能,而不必自己去构造这些函数。API函数是半开源的,你不必深入了解每个API函数是怎么写的、怎么实现的,但是必须知道常用的API函数该如何使用,函数的形参代表什么含义,有哪些设置值。预编译选项和API函数的说明文档在协议栈的安装文件夹下具体路径如下图:

4

协议栈的版本:协议栈分很多版本,TI在Z-Stack 2.5.1a发布以后,并没有继续以Z-Stack 2.6.x的形式直接发布,而是按照应用场景的分类进行发布,原因是TI希望开发者根据实际应用选择更有针对的性的协议栈进行开发。例如Z-Stack Home 1.2.1协议栈是针对智能家居相关产品,其应用层和智能家居的实际应用相关,核心协议栈为Version 2.6.2。初学者可以先学习开发套件中提供的协议栈版本,一般为ZStack-CC2530-2.3.0-1.4.0或者ZStack-CC2530-2.5.1a,等熟悉这些低版本的协议栈之后可以将自己的应用程序移植到新版本的协议栈,后续就用新版本的协议栈进行开发。

(五)学会使用Packet Sniffer软件抓取数据包进行数据分析

Packet Sniffer软件配合协议分析仪能够从空中抓取Zigbee数据包。通过分析数据包能够更深入地了解网络的建立过程,设备加入网络的过程、各个设备的通信流程等等与Zigbee协议栈相关的内容,是理论联系实际的最直观的表现。另外,通过对数据包进行分析,可以验证用户应用程序的正确性,对调试分析和解决问题有很大帮助。

注意事项

请关注下一篇:Zigbee无线技术学习经验总结:(三)提高实战篇

推荐信息