[导言]
本人做过几年单片机的开发工作,主要用的是8051内核的和瑞萨740系列的,在这个ARM大行其道的时代,也曾经试着接触过,不过很容易在复杂的内核中迷失了自己~~~一直对这种能全局掌控的小系统痴迷,一个国外朋友无意间提到Zigbee这种技术,从百度百科开始了解,然后疯狂搜集资料,对这种技术甚是感兴趣,加上最近媒体对“物联网”的吹捧,终于坐不住了,买书,买开发板,动工啦~~~~
此笔记将从零开始,记录本人的学习过程里遇到的问题及答案,希望对大家能有所帮助,也希望得到高手的指点。
[问题记录]
1. 买开发板之前的先略去不写了,以后有空补上。第一个问题就是开发板到手了,从哪开始?
毕竟对单片机有些了解,基础实验只是大概跑了下看了看结果,心里大概对开发板的外设有个底。然后进入最关键的通信部分,不知道有没有“大跃进”了,后面如果学起来有难度,再把课补上。下载了“数据传输实验”的程序到开发板,看了下运行结果,然后下一步就是读程序,看下这个结果是如何产生的?
2. 用source insight如何阅读IAR的项目源码?
答案见本版“如何用source insight编辑IAR项目源码?”及“IAR的workspace文件组织”
3. 多年来学习单片机的习惯,从"main"函数开始,但是"main"在哪里?
..\Projects\zstack\ZMain\TI2430DB\ZMain.c
4. "ROOT"是什么意思?
以下是“8051 IAR Assembler”中对此的解释:
NOROOT, ROOT
NOROOT means that the segment part may be discarded by the linker
if no symbols in this segment part are referred to. Normally all
segment parts except startup code and interrupt vectors should set this
flag. The default mode is ROOT which indicates that the segment part
must not be discarded.
简单翻译下:
NOROOT表示如果此部分代码从来没有被调用到,那么这部分代码会被linker抛弃。一般来讲,除了startup和中断的代码都应该设为NOROOT。默认的模式为ROOT,即linker不会抛弃。
--by outman from zigbeetech 2010.4.7
5. 到底学习zigbee应该从哪开始?
走马观花地看过一本入门书,本以为买了开发板,调试一下里面的通信程序就能快速入门了。昨天看了一天的程序才发现这种想法太急功近利了,有句古话怎么讲来着--“欲速则不达”,古人的话还是有道理的,于是决定调整思路,放平心态。但是到底从哪开始呢?国内Zigbee方面的书寥寥无几,大多数又总感觉有种功利色彩。罢了,读英文的吧(借机感谢下我大学良师albert,亏着他当时的提点,现在读英文书还不算吃力)。近期准备从两个地方下手,一个是TI的Zstack手册,另外一个是国外的朋友推荐的一本叫Newnes.ZigBee.Wireless.Networks.and.Transceivers的电子书,不想读电子版的,只是在深圳的书店还没找到。这是一本360多页的大部头,个人比较欣赏国外这种风格的书,往往深入浅出,让一个没太有基础的人也容易读得懂,不用搞一大堆书去看同一个东西。国内的大部头也不少,但很多感觉像我小时候写作文的风格--扯远了,抓紧时间吧~~~
--by outman from zigbeetech 2010.4.8
6. cc2430后面的的DB,BB,EB代表什么意思?
BB: Battery Board
DB: Development Board
EB: Evaluation Board
分别对应TI公司开发的三种板型,其功能按上顺序依次变强。可以参看"Z-Stack User's Guide for CC2430"的图片,以获得直观认识(具体位置在:开始==》程序==》Texas Instruments ==》ZStack-1.4.3-1.2.1)
--by outman 2010.4.8
7. Coordinator, Router与End Device有什么区别?
好本与烂书的区别在于,好书在开头的时候就知道你在想什么,而烂书呢,到读到最后你也不知道他在想什么。。。
这个问题的答案在那本英文“大部头”的前面章节:
1.7 Device Types
There are two types of devices in an IEEE 802.15.4 wireless network: full-function devices (FFDs) and reduced-function devices (RFDs). An FFD is capable of performing all the duties described in the IEEE 802.15.4 standard and can accept any role in the network. An RFD, on the other hand, has limited capabilities. For example, an FFD can communicate with any other device in a network, but an RFD can talk only with an FFD device. RFD devices are intended for very simple applications such as turning on or off a switch. The processing power and memory size of RFD devices are normally less than those of FFD devices.
1.8 Device Roles
In an IEEE 802.15.4 network, an FFD device can take three different roles: coordinator, PAN coordinator, and device. A coordinator is an FFD device that is capable of relaying messages. If the coordinator is also the principal controller of a personal area network (PAN), it is called a PAN coordinator . If a device is not acting as a coordinator, it is simply called a device .
The ZigBee standard uses slightly different terminology (see Figure 1.5 ). A ZigBee coordinator is an IEEE 802.15.4 PAN coordinator. A ZigBee router is a device that can act as an IEEE 802.15.4 coordinator. Finally, a ZigBee end device is a device that is neither a coordinator nor a router. A ZigBee end device has the least memory size and fewest processing capabilities and features. An end device is normally the least expensive device in the network.
咦,那位同学举手干吗?~~~什么?翻译一下?唉,都说了让你上学的时候读好英文的~~~
那好吧,不过俺也是非专业水平,写得不好别扔砖啊。。。。
1.7 设备类型
IEEE 802.15.4无线网络协议中定义了两种设备:全功能设备(FFDs)和半功能设备(RFDs)。FFD可以执行IEEE 802.15.4标准中的所有功能,并且可以在网络中扮演任何角色,那反过来讲,RFD就有功能限制啦。比如FFD能与网络中的任何设备“说话”,而RFD就只能和FFD“私聊”啦。RFD设备的用途是为了做一些简单功能的应用,比如做个开关之类的。而其功耗与内存大小都比FFD要小很多。
1.8 设备角色
IEEE 802.15.4网络中,一个FFD可以扮演三个角色-协调器(Coordinator)、PAN协调器(PAN coordinator)和设备(device),其中协调器是一个全功能设备(FFD),它可以在网络中传递信息(做传话筒)。如果一个协调器在一个PAN(personal area network,个人区域网络)网络中做主控制器(老大的位置呃),那我们把它叫做PAN协调器。除此之外,就不用多说啦,就叫设备(你我一样的平头百姓)
Zigbee协议中的定义与IEEE 802.15.4的定义大同小异,Zigbee中的“Coordinator”是IEEE 802.15.4中的“PAN Coordinator";Zigbee中的“router”就是IEEE 802.15.4中的“Coordinator”,而“end device”就是指上面的平头百姓“device”啦。。。end device的内存、处理能力及功能都是最小的,当然也是网络中最便宜的了--这不是说我吗~~~
--by outman from zigbeetech 2010.4.8