|
发表于 2007-4-10 17:08:00
|
显示全部楼层
ZigBee无线技术入门的诀窍
ZigBee无线技术百花争艳
ZigBee是一种崭新的,专注于低功耗、低成本、低复杂度、低速率的近程无线网络通信技术。是目前嵌入式应用的一个大热点。
Zigbee的特点主要有以下几个方面:
1)低功耗。在低耗电待机模式下,2节5号干电池可支持1个节点工作6~24个月,甚至更长。这是ZigBee的突出优势。相比较,蓝牙能工作数周、WiFi可工作数小时。
2)低成本。通过大幅简化协议(不到蓝牙的1/10),降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且ZigBee免协议专利费。
3)低速率。ZigBee工作在250kbps的通讯速率,满足低速率传输数据的应用需求。
4)近距离。传输范围一般介于10~100m之间,在增加RF发射功率后,亦可增加到1~3km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远。
5)短时延。ZigBee的响应速度较快,一般从睡眠转入工作状态只需15ms,节点连接进入网络只需30ms,进一步节省了电能。相比较,蓝牙需要3~10 s、WiFi需要3 s。
6)高容量。ZigBee可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254个子节点;同时主节点还可由上一层网络节点管理,最多可组成65000个节点的大网。
7)高安全。ZigBee提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL)防止非法获取数据以及采用高级加密标准(AES128)的对称密码,以灵活确定其安全属性。
8)免执照频段。采用直接序列扩频在工业科学医疗2.4GHz(全球) (ISM)频段。
正是这些全新的特点,将使ZIGBEE技术将在无线数传,无线传感器网络,无线实时定位,射频识别,数字家庭,安全监视,无线键盘,无线遥控器,无线抄表,汽车电子,医疗电子,工业自动化等方面得到非常广阔的应用,目前有个口号”WIRELESS ANY WHERE”,要实现这个口号的目标,ZigBee技术的广泛应用,可能是一个重要的前提。
正是因为ZigBee这个蜜蜂,具有广阔的市场前景,所以引来了全球众多厂商的青睐, 纷纷推出各种ZigBee无线芯片,无线单片机,ZigBee开发系统,形成了百花争艳的市场局面。这种局面,对应降低芯片价格,丰富ZigBee技术的应用软件,加快ZigBee技术普及,是大有好处的事情。但对于刚刚起步开始学习ZigBee技术的电子工程师、单片机工程师而言,
如何在这众多的芯片和技术中,选一个高效率,低价格的ZigBee无线技术和相关的学习环境,使自己能快速入门和精通复杂的ZigBee无线技术,确成为了一个难题。许多电子工程师感到无从下手。本文提出了一些实用的建议,希望对电子工程师,单片机工程师快速入门ZigBee技术有所帮助。
第1步:选择自己熟悉的微控制器
由于ZigBee技术是目前嵌入式应用的大热门。所以目前全世界很多公司陆续投入这个市场,市场上各种ZIGBEE的技术方案五花八门,争奇斗艳,但俗话说”外行看热闹,内行看门道”。以专家的眼光看,每个方案的提供商,无不追求一个”利”字,芯片公司为了推销自己的微处理器,推销给用户不同的微处理器(MCU),不同公司的硬件平台,不同的编译调试系统。这对应初次进入无线领域的工程师而言,既要面对复杂的ZigBee无线通讯协议,超高频的硬件环境,再加上完全陌生的指令系统,硬件平台。无疑对学习ZigBee是”雪上加霜”。
建议的解决的之道是选择8051 微处理器为ZigBee的核心MCU,8051微处理器诞生30多年。目前在国内最为普及,大学中专,都有广泛的课程,各种参考书,到处都有,开发软件KEIL, IAR早已被大家熟悉,用起来最顺手。
有言论说8051”老了”,怕不能担当此重任,也有言论说8051会产生数字噪声,影响无线通讯…以专家的眼光看,这些都是没有科学依据的说法。随着芯片科技的发展,今天的8051早已经脱胎换骨,只是片上系统(SoC)的一小部分。而且在低功耗,高速度,低噪声等方面,有了质的飞跃。拿TI/CHIPCON公司最新的ZigBee单片机CC2430/CC2431为例,其8051内核经过特别设计,可以和2.4GHZ的ZIGBEE无线收发电路完美的配合工作,绝不会因为其8051内核的高速运行而对高频无线通讯有任何影响。
从8051入手,入门ZIGBEE技术,好处如下:
1)无需重新学习微处理器结构原理,无需重新熟悉编译/调试工具。
2)对片上系统的I/O, 定时器,A/D, PWM, 看门狗等等,也无需重新学习。
3)如果你没有单片机的基础,学起来也非常容易,也容易找到人请教,交流。
从技术眼光看,ZIGBEE技术的核心是软件,如果MCU是8051,则ZigBee是由C51代码组成的一堆软件而已。无论是无线数据传输,路由算法,网络拓扑…都是各种函数的组合,代码组合。如果你熟悉C51编程,你就很容易熟悉ZigBee的代码,同时将自己的应用代码和ZigBee结合在一起。
从硬件而言,如果你已经熟悉8051,学习ZigBee最好从片上系统(无线单片机)开始进入。因为对于初学无线的工程师而言,从无线单片机开始,可以避开硬件/高频方面的很多难点(像CC2430/CC2431/CC1110/CC2510无线部分完全集成在芯片中,外部只有很少几只零件,你几乎完全不需要考虑如何焊接,如何调试无线高频部分硬件) |
|