作者:吴钊炯 ;张莹 ;刘新朝
1; 概述
在短距离的通信中,无线技术被普遍看好,其中射频技术因为功耗低和无方向性等优点而受到青睐。
通信频率为2.4GHz的频段是全球开放的ISM(工业、科学和医学)频段,使用者无需申请许可证,给开发者和用户带来了很大方便;同时,可以有效地避免低频段信号、各类电火花及家用电器的干扰。因为这一频段具有这些优点,其他的一些应用,如蓝牙、WLAN,也是在这一频段;但蓝牙和WLAN对于工业控制、医疗传感器、住宅和楼宇自动化装置等设备来说,过于复杂,其成本也过高,很难满足快速开发和低成本的要求。因此,目前迫切需要一种低成本、低功耗、能够快速开发应用的方案,来实现设备的无线连接。
另一方面,经过多年的发展,TCP/IP协议已经成为目前被广泛应用于Internet的通信协议。在嵌入式系统中实现TCP/IP协议栈,利用Internet进行远程数据传送,可以实现对远端设备运行状态的监视和控制。
在嵌入式TCP/IP平台下利用工作频率为2.4GHz的无线收发模块nRF24E1,进行短距离的点对多点的无线通信;用无线技术解决最后10m的通信问题,可实现一种无线接入的解决方案。
2; nRF24E1及其通信协议
2.1nRF24E1模块的基本特性
nRF24E1是北欧集成电路公司(Nordic)推出的一款带8051内核的无线收发模块,内部结构如图1所示。该模块的无线收发器工作于2.4GHz的ISM频段,有多达125个的频点,可通过改频和跳频来避免干扰。nRF24E1的集成度非常高,内部集成了增强型8051内核,2.4GHz无线收发器,100ksps的9路10位模数转换器,UART接口,SPI接口,PWM输出,内置RC振荡器、看门狗和唤醒定时器以及专门的稳压电路。所有高频元件包括电感、振荡器等,全部集成在芯片内部,因此芯片的性能稳定,受外界环境的影响很小。
nRF24E1采用36脚QFN(6mm×6mm)封装,最大传输速率可达1Mb/s,灵敏度为一90 dBm,最大发射功率为O dBm;在较为理想的环境中,室内传输距离可达30~40 m,室外传输距离可达100~200 m;其工作电压为1.9~3.3 V,工作温度范围为一40~+80℃。
2.2nRF24E1之间的通信协议
nRF24E1的无线数据包格式为
其中,Preamble是前导码,是硬件自动加上去的;ADDR是发送的地址,为32~40位;PAYLOAD是有效数据;CRC是CRC校验和,由内置CRC纠检错硬件电路自动加上,可设为O、8或16位。ADDR、PAYLOAD和CRC的总长度最大为256位,因此,设置较短的地址和校验和能提高传输效率,但也使得可靠性降低。
nRF24E1通过软件设置收发模式、收发频率、接收地址、发射功率、CRC校验和的长度、有效数据的长度等。无线收发器有2个频道:频道1可以接收和发送;频道2只能接收,且频道2的接收频率总比频道1高8MHz;同时,每个芯片可以设置2个地址。收发频率和地址随时都可以通过软件更改,实现改频和跳频;但是,必须通过通信协议解决好,一致的频率和正确的地址才是数据传送的前提。只有地址符合且校验和正确的包,才能被进一步处理;若有一项不正确,整个数据包就被硬件自动丢弃。若地址与校验和相符,则由硬件产生中断DRl或DR2,8051才能将数据接收到缓冲区。
在同一时刻,nRF24E1只能处于接收或发送模式中的一种。一般以接收模式为待机状态。
3; 无线接入解决方案
系统的解决方案示意图如图2所示。
nRF24E1主机是无线系统的要害部分。它不但作为接入点,负责与嵌入式TCP/IP模块交换数据,同时也负责与其他无线模块通信。
为实现Internet网络互联,使用以太网控制芯片RTL8019AS,并将TCP/IP协议栈嵌入在ATmegal28的内部。除此之外,ATmegal28内部还实现了一个小型通用的WebServer,而远端的PC就作为客户端。
数据的传送过程是远端PC通过Internet发送数据,由RTL8019AS接收数据包,再由ATmegal28对TCP/lP数据包进行处理,得到PC发送的信息,AT-megal28再将数据通过SPI接口传送到nRF24E1主机。nRF24E1主机根据内部协议又将数据传给相应的nRF24E1从机,再由nRF24E1从机对各自的设备进行通信或控制。nRF24E1从机给远端PC传送数据为反向的过程。
;;; 4; 接入系统的控制及其实现
4.1无线系统的控制方法
将所有的nRF24E1模块都设置为同一频率,通过设置不同的地址来区分各个无线模块。为了避免多个从机同时给主机发送数据产生冲突,主机不但要作为接入点,同时要控制整个无线系统,避免冲突。
系统采用主机轮询,从机应答的方法,即主机按照一定的规则,给从机发送一个答应从机发送数据的标志。该标志相当于一个令牌,从机若有数据发送,得到令牌后,可在令牌的有效时间内连续地发送多帧数据。当然,也可以设置只能发送1帧数据,数据发送完毕后必须有一个结束的信号END标志;假如从机没有数据发送,也必须给主机返回END标志,从机的回应可以让主机判定与该从机的通信链路是否正常。
主机对无线系统的控制主要是通过令牌来实现的,因此主机对从机的令牌是否有效的判定是其中的要害,而且必须考虑足够的容错性能。可以通过两个方法来判定和控制令牌的有效时间:一是从机收到令牌到返回END标志的时间内令牌为有效,而主机根据从机返回的END标志即可判定该从机的令牌已经失效;二是规定令牌的最大有效时间,从机收到令牌后开始计时,达到规定的最大时间后,令牌自动失效,主机也通过计时来判定从机的令牌是否失效。这两个方法同时起作用。第一个方法可以提高系统效率,避免在空闲的链路上消耗过多的时间,使系统的品质得到提高;而设置最大时间是为了限制一个从机占用通信链路的时间,也可以防止丢失END标志甚至通信链路不正常所产生的错误,尽量减少不正常的链路对系统其他部分的影响。
当然,主机不仅可以采用轮询的方法,也可以根据各个从机的通信优先级不同来分配令牌,而且每个从机令牌的最大有效时间也可以不一样。从机必须在令牌的有效时间内才能给主机发送数据,每一时刻只有一个从机的令牌有效,以避免冲突。主机要发送数据,必须先查询从机的令牌是否有效。若令牌有效,还必须等从机的END标志到来后,或者时间超过了令牌的最大有效时间,且这时所有从机的令牌都见效,主机才可以发送数据。
4.2系统的实现
nRF24E1主机不但要与ATmegal28通信,还要与其他nRF24E1从机通信;同时,还要控制整个无线系统。因此,nRF24E1主机是整个无线接人系统的要害,它能否高效地运行,关系到整个系统的效率。
图3所示为。nRF24E1主机在正常情况下的运行流程。主机在令牌发出去以后,就只能处于无线接收的状态,直到从机的令牌无效后才能进行与ATmegal28的通信或者给从机发送数据。
nRF24E1从机的通信任务要简单得多,另外还有各自的应用。可以用nRF24E1的I/O端口直接控制设备,也可以连接其他MCU实现其他功能。
由于nRF24E1内置了增强型8051控制器,使nRF24E1成为一种集无线数据接收和发送于一体,以及对数据进行处理的片上系统(SoC),并且有模拟输入和PWM输出,因此,不但可以作为无线接口实现无线数据传送,在一些较为简单的控制系统中,可以用它作为控制核心,无需另接MCU。这使得nRF24E1的应用系统更为简化,大大增强了无线系统的稳定性和可靠性;同时,也使得开发变得简单,成本进一步降低。
在一些较为复杂的系统中,由于nRF24E1的端口有限,只有256字节的RAM空间,805l的处理能力也不是很强。在这样的系统中,可通过连接功能更为强大的MCU,让MCU进行处理。应用中,采用了ATmegal28,而nRF24E1只作为无线通信的接口,将数据通过UART或SPI接口传送到Atmegal28,让Atmegal28进行较为复杂的运算和处理。
图4为ATmegal28与nRF24E1的SPI接口电路图。nRF24E1为SPI的主机,ATmegal28为从机。通过SPI接口可使nRF24El与ATmegal28的最大通信速率达到2Mbps,因此,传输的速度可以满足大多数场合的应用。
本系统可以应用于数据采集系统、信息家电的无线通信接口、住宅和楼宇自动化装置以及工业自动化的无线连接等场合。上述方案已经在数据采集系统上得到应用,很方便地实现了设备间的无线连接;而且对原有模块的改动很少,开发时间较短,系统的稳定性很好。
结语
蓝牙工作在2.4GHz频段,但由于其芯片的成本一直居高不下,产品很难开发,因此到目前为止,蓝牙的产品还是很少。另外,市场尚未出现非蓝牙不可的应用需求,蓝牙的一些市场定位能够轻易地被其他更专业的产品所取代。nRF24E1就是以较低的价格和较轻易应用开 发等优势来代替一些领域的蓝牙应用,为一些只需要简单 的无线连接的应用领域,提供一种低成本、低功耗、能够快 速开发应用的方案,以实现无线连接。另外,在嵌入式系 统中实现TCP/IP协议栈,利用Internet进行数据的远程 传送;而在本地端采用嵌入式的2.4 GHz无线接入技术, 将这两者结合起来,具有一定的先进性和广阔的应用前景。