前 言
I 学习使用建议
到目前为止,在电子界,如果想进入微控制器领域的学习,绝大多数的人依然认为,
要从 51 单片机,或者 8 位 AVR 开始。诚然,这是一条比较合理的路径,但是,我们就
第一个提出这个观点,就是现在有一条更为可行的路径。
首先,是什么路径可以让初学者能够快捷地进入 MCU 领域?
这条路径就是 Zigbee。以 CC2530 为例,由于它的内核是一个增强型的 8051 内核,
所以,CC2530 编程的风格跟 51 单片机可以说是一样的。换句话来说,现在我们完全可
以从 Zigbee 开始学习,进入 MCU 领域。当然相比于 51 单片机的 4 个 8 位控制端口,C
C2530 只有 21 个控制端口,管口资源相对紧张,但是,现在我需要的是学习简单 MCU
的编程,所以,我们相信,以后业界进入 MCU 学习会是从 Zigbee 开始。
其次,为什么选择从 Zigbee 开始,而不是继续沿着前人的脚印?
这是因为 Zigbee 除了可以裸机编程之外,还可以应用协议栈来完成无线数据的收
发。所谓协议栈,就是芯片生产厂商,为用户事先写好的函数库,用户可以直接调用现
成的功能函数,比如:组网函数、数据发送函数、数据接收函数、睡眠函数等等,来实
现用户想达到的功能。所谓裸机编程,就是说,用户可以不应用协议栈,来实现编程,
也就是说,所有函数用户自己编写。所以,Zigbee 不单只可以让我们学会简单 MCU 的
编程,还可以在原来基础上,直接学习人家工程师是怎样编程的,也就是协议栈函数的
编写,学习怎样去调用现成的函数库,这个对于以后嵌入式系统的学习有极大的帮助,
当然,还可以学习到怎么实现数据的无线传输。
所以,以后初学者想进入微控制器的领域,完全可以从 Zigbee 开始。
为了让有兴趣的初学者能轻松学习 MCU,进入弱电控制领域,为了让有基础的爱
好者快捷地学好用好 Zigbee,秉火开发出一套 Zigbee 学习套件。
II
秉火 Zigbee 套件主要包括:49 个例程和相应的 49 个教程。
例程/教程 组成:
q 第一部分、裸机实验,主要介绍 CC2530 编程开发环境、CC2530 的编程风格和 CC2530 单片机的基本功能;
q 第二部分、协议栈基础实验,主要讲解 BasicRF 和协议栈的一些基础实验;
q 第三部分、协议栈应用实验,主要讲解如何基于 BasicRF 或者基于协议栈,开发出符合用户需要的功能。
最后,建议用户应该从第一部分开始学习,然后是后面的第二、第三部分,但是,
在学习过程中,用户应该将着重点放在第二、第三部分。另外,这里需要说明一下,就
是:本教程是针对例程写出来的,也就是最终的目的是希望用户掌握 CC2530 相关应用
程序的编写,所以,用户可以根据自己的需要来选择性学习本教程。
II Zigbee 是什么?如何应用?
答:Zigbee 是一种全新无线网络数据通信技术。换句话说,Zigbee 就是一块具有数
据收发功能的单片机,其内核是一个增强型的 8051,所以编程风格与大家所学的 51 单
片机是一脉相承的,所以说,其实大家一早就接触过 Zigbee 了。当然,由于 TI 为用户
写好了协议栈,所以,我们只要在协议栈的基础上,加上自己的裸机程序,然后调用组
网函数和数据收发函数,就可以实现数据的无线传输了。
III Zigbee 协议栈是什么?如何应用?
答:首先,什么是协议栈?相信大家都有这样一个困惑,就是:看了一段时间的 Z
igbee 协议栈,感觉 Zigbee 协议栈像程序,又不像,很是混乱。若是程序,只需添加应
用部分,好像又不是很明白。
下面做几点解释:
(1)协议是个标准,是约定。每个厂商的协议栈有区别,也就是函数名称和参数可能
有区别。
(2)协议栈是协议的实现,可以理解为代码,函数库,供上层应用调用。商业化的协
III
议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。
其次,Zigbee 协议栈如何应用?
(1)其实大家需要关心的就是协议栈应用逻辑,也就是说,数据从哪里到哪里,怎么
存储、处理;还有系统里的设备之间的通信顺序是什么,也就是说,哪个负责数据发送,
哪个负责接收。
(2)当需要数据通信时,需要做的是:第一,调用组网函数给你组建你想要的网络,
也就是说,是点对点的点播,还是一组一组的组播,或者是没有限制,发出去的数据其
他所有的 Zigbee 设备都可以接收的广播;第二,调用无线数据发送函数,当然,接收端
就调用接收函数;
(3)当设备没事干的时候,就调用睡眠函数;要干活的时候就调用唤醒函数。
总结一句:具体应用时,不需要关心协议栈是怎么写的,里面的每条代码是什么意
思,除非要做协议栈研究;我们需要做的是,调用组网函数组网,然后调用数据发送、
接收函数。
IV Zigbee 开发
首先我对 Zigbee 一窍不通,如果我想通过 Zigbee 实现简单组网进行简单数据传输,
要自己写通信协议吗?这个开发难度大不大?周期要多久?
答:不用自己写协议;开发难度不大,周期也不长,最简单的就是买 2 块秉火 Zig
bee 开发板(或模块),在例程基础上修改就行了。怎么修改?大致如下:写好裸机驱动,
然后移植驱动文件,并调用组网和数据发送/接受函数就可以了。
V 总结
首先,在此衷心地感谢您选用 秉火 Zigbee 。
然后,在接下来的日子里,秉火将会跟您一起分享学习 Zigbee 的经验,同时,也很
欢迎您对秉火在秉火 Zigbee 的例程、教程上面存在的不足,予以指出,相信在您我共同
的分享下,我们将会学到更多的知识。开源共享,共同进步。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !