无线一词已成为我们日常生活的一部分,我们已被无数的无线设备所包围,例如移动(流动)电话、警报系统、闸门控制器、无线上网、无线键盘等。在主要制造商的协助下,已经有数种无线数据传输标准陆续出现——比如bluetooth和wi-fi,是目前准备要征服全世界。但是一切事情似乎颇为复杂,纵使你是一位富有经验的技术人士,到底应如何解决这样问题呢?数之不尽的半导体制造商生产的ic皆可根据一些常用的技术或其他便可用作无线通信,甚至有些微控制器也可达至此目的,虽然大部分都是很昂贵及往往在电子零件店里找不到,chipcon cfc2440就是一个很好的例子,纵使你勉强克服了一般的设计问题,作为一位设计师要预先知道在某个时间会出现完全不同类别的问题:需要一个rf输出级和适合的天线。这个输出级是困难重重的,不管你如何小心谨慎于寄生电感上,它们仍使你非常头痛,因为你的设计是好是坏都在此处反映出来。电子制造商也留意到这个问题,所以现在提供有现成的“rf方案”,尤其是支持zigbee协议的。
图. 采用两个xbee模块的数据传输系统
一、zigbee概述
zigbee是基于无线通信标准的一个名称,基本上为工业应用而开发的。从历史角度来看,zigbee改良早前称为“home rf”的标准,该标准起初前景一片光明,可是因竞争对手wireless fidelity(wi-fi)标准的成功,它就被废弃了。home rf寿命如此短促,至少发人深醒,也教人忧虑,是否历史会不断重演?这次的状况却大不相同,因为zigbee由主要的参与者如digi、ti、freescale、honeywell、philips、microchip及mitsubishi等支持,并且联同大约一百家其他制造商组成“zigbee alliance”。
zigbee原是依据于ieee 802.15.4标准,并且采用与wi-fi同一频带(2.4ghz),它有16个分开的频道,换言之在单一位置上可提供多达16个网络而不会互相干扰。最大数据传输速率为250kb/s(在100m范围内),相比于wi-fi的54mb/s或bluetooth的1mb/s,此数据速率实在是很低了,可视之为zigbee的弱点。可是,这协议原意是用作工业用途,在速度上不是主要考虑的。zigbee是为满足低电流损耗和尤其是低成本需求而开发的。表1比较上述提到三种无线通信技术。
表1 zigbee/bluetools/wifi比较
种类 zigbee bluetools wifi
单点覆盖距离 50-1600m 10m 50m
网络扩展性 自动扩展 无 依赖现有网络
电池寿命 数年 数天 数小时
复杂性 简单 复杂 复杂
传输速率 250kbps 1mbps 1 to 54mbps
频段 868m、916mhz、2.4ghz 2.4ghz 2.4ghz
网络节点数 65535 8 50
联网时间 30ms 10s 3s
终端设备费用 低 低 高
使用费用 无 无 无
安全性 128 bit aes 64bit,128 bit ssid
集成度和可靠性 高 高 一般
成本 低 低 一般
使用难度 简单 一般 难
二、zigbee模块
maxstream是一家非常有名的无线通信元件制造商,现在已经归于digi公司旗下,在其zigbee产品上加了一个很贴切的名称xbee,xbee小型但却是一个功能完善的zigbee收发器(即接收器/发射器),它是双向操作,在意义上来讲它可交替地发射或接收数据(半双工式)。
digi提供有两种版本,xbee和xbee pro两版本都是有相同的功能和引脚兼容如图二所示,唯一的差异是发射功率,xbee为最大2mw,而xbeepro则最大50mw。发射功率当然是一个重要因素,因为最终产品的距离就决定于它的身上,但这绝不是唯一你要考虑的事情。
进一步考虑的是要符合法定的需求,最大辐射功率是由使用者当地的法律制定,在欧洲的应用限制为10mw。为要令它可以符合这个要求,digi已在xbee内实行一个配置参数,可用来设定发射功率。
xbee带有多种不同类型的天线:
1. 整合于芯片内里,在这情况下辐射能量实际是非定向。
2. 备有天线插座,供连接外部天线。
3. 整合有垂直(鞭型)天线,给予比选择1有更佳的方向特性。
4. u.fl型按扣天线
三、软件
低成本的xbee模块很容易经标准串行接口连接,譬如常见于微控制器的uart或pc上的com接口(rs232),在115,200 baud的最高速率上传输。可是,xbee是由3.3v电源操作,而并非像大部分数字电路的5v电源,正如在图3的方框图上所见,两类逻辑之间作直接相连是不可行的。
除此以外,你不需有使用该模块的任何特殊知识,所以无须明白zigbee协议才去开始,模块为你做好每一样事情,它是一个“智能”系统,即是说模块含有可接受来自使用者命令的控制逻辑。这些命令乃由制造商规定。
在你可以发出一个命令之前,须将xbee置于“等待命令”状态。要使它进入此状态,便要给它一串三个+字符(hex 2b),即“+++”。之后,xbee期待收到一个以hayes格式的命令,这命令总是以ascii码的“at”(代表“attention”),紧跟着的才是实际命令及任何命令参数(如有),命令串由一个carriage return(cr)回车字符作终结。xbee模块执行该命令,然后报告命令是否成功处理,如一切已按命令去做,xbee便回应“ok”;否则,会从模块收到一个错误信息。
图3:at命令语法
另外,还有一个x-ctu软件,令到一切事情甚至更加方便,可用它来配置xbee模块的所有参数,不过先要将xbee模块连接至pc的com接口(因信号电平不同须经适配器),另外亦可用x-ctu来测试模块和升级固件。
四、模块内的数据缓存
无线链路上总是半双工通信,用一条天线作发射或接收,但非两者在同一时间。不过,xbee模块可以通过分时的方式达到uart端的同时发射和接收(全双工模式)。图4揭示了该原理。
图4 xbee模块内部框图
xbee模块内有发射(rf tx)缓存和接收(rf rx)缓存,每一缓存提供100bytes暂时存储的地方,数据可以从两个方面同时抵达。发射数据来自uart,以及接收数据来自rf链路经天线而来。当天线正在接收无线数据时,它不能在同一时间发射无线数据,因此,将要发射的数据可暂时存储在发射缓存里,而收到数据就堆放在接收缓存内。只要rf端数据流停止,xbee模块将天线从接收切换至发射,并且将发射缓存内的数据发送到大气去,与此同时,uart清空接收缓存,把里面的数据传输给应用设备。
这虽是一个单纯系统,但不是完全完美。应用上如有大量数据要发送时就很容易令发射缓存过载,关于这个问题digi提供一个“满载”警告。只要应用设备填入数据至已届发射缓存最后的17bytes(换言之有83bytes正等待发送),第12脚即转高位,告知系统须暂时停止注入数据。发射缓冲器内容已减少至66bytes之后,第12脚再转低。
五、在实践中的xbee
图5 xbee模块的管脚定义,整个模块有20只引脚。
为求安全起见,再次提醒,最高电源电压是3.3v,超过这电压结果只会令你珍贵的xbee永久损坏。电源电压须经由100nf电容器退耦合,并尽可能靠近第1和10两脚之间。 第2及3两脚提供通信。第5脚很重要∶逻辑1(3.3v)启动xbee模块,而逻辑0禁止它。从第5脚接10kω上拉电阻至第1脚可保证模块在接通电源之时即被启动。第9脚有多种功用选择,由内部参数决定当中哪一个被使用,最重要的功能是休眠状态,只要内部sm寄存器不是在逻辑0,模块便在沉睡之中。
第7脚提供脉宽调制(pwm)信号,此是与最近收到的rf信号成比例的,它有8.32ms时期,相当于120hz,led发光二极管及其他光效应器件可将之转换成模拟信号,并利用它作为一个信号强度指示灯(只需一个rc网路和一个lm3914)。这亦可以由软件去做,因为最近收到的信号强度存放于内部db参数上,正如其名称所指,这是给予dbm rf单位的数量(相对于1mw的分贝数),可用以下的方程式作dbm rf与mw(p)之间的对换;dbm = 10logp [db] 或p = 10(dbm/10)[mw]
试举例∶0dbm = 1mw,10dbm = 10mw,20dbm = 100mw,30dbm = 1w。所有例子都是针对rf计算的。
魅族15和iPhoneX哪个拍照最好
纳芯微单通道隔离式栅极驱动器NSi66x1A和NSi6601M发布
基于启明RA6M5的物联网居家环境健康监控设备设计
这几家仪器企业上榜“中国专利奖”,牛在哪儿?
这个售价245美元的碗你会买吗?
浅谈ZigBee无线标准与XBee ZigBee模块
三星也涨价!Galaxy S8售价或6000元起
电容式触摸的核心是什么 电容感应的两种类型介绍
传感财经:3D传感概念报涨,MEMS传感器概念报涨,红外传感器概念报涨
由“X”引发的猜想:AMD存二心,ARM有机可乘
USB和串口的相关概念
国足战胜乌兹别克,国足在崛起,国产手机也在崛起!华为、小米、oppo、vivo丝毫不虚!
晶振原理和电容选取的计算
Android工程师的4个瓶颈
我的MP4我做主,自己换电池续航强一倍,设备换电池
智能驾驶系统关联件EPS
cortex与arm11的区别
章莹颖事件中的「暗网」,到底是个怎样的世界?可怜的姑娘 愿你平安回家
到底如何看人工智能?是天堂还是地狱
压力传感器在矿山机械液压泵站上的应用