基于NRF24E1芯片的组网技术研究与实现
2008-03-17
作者:高惠燕, 李忠成
摘 要:给出了一种基于NRF24E1芯片的无线组网新方法。介绍了关于无线片上系统" title="片上系统">片上系统NRF24E1芯片的相关知识,并结合一个具体的无线点菜" title="无线点菜">无线点菜系统的设计和架构过程,对用NRF24E1芯片无线组网的具体方案进行了细致的阐述。
关键词:NRF24E1 无线片上系统 IEEE802.11b ShockBurst
在短距离的通信中,无线技术被普遍看好,其中射频技术因其功耗低和无方向性等优点而受到青睐。通信频率为2.4GHz的频段是全球开放的ISM(工业、科学和医学)频段,人们无需申请许可证即可使用,给开发者和用户带来了很大方便;同时,该频率又可以有效地避免低频段信号、各类电火花以及家用电器等的干扰。由于这一频段具有的优点,其他的一些应用,例如蓝牙(BlueTooth)、无线局域网(WLAN)也在这一频段;但蓝牙和无线局域网对于工业控制、医疗传感器、智能自动化装置等设备来说,过于复杂,其成本也过高,很难满足快速开发和低成本的要求。因此,目前迫切需要一种低成本、低功耗、能够快速开发应用的方案,实现设备的无线连接。
本文结合无线片上系统NRF24El芯片的具体系统开发实例,研究一种无线组网技术。
1 无线片上系统NRF24E1
NRF24E1 是一种工作频率可达到2.4GHz的无线射频收发芯片。内部嵌有与 8051 兼容的微处理器和10位9路A/D转换器,可以在 1.9~3.6V电压下稳定工作。其内部还有电压调整器和VDD电压监视,通道转换时间小于200微秒,数据速率1Mbps,不需要外接 SAW 滤波器。
NRF24E1是目前首次推出的全球2.4GHz通用的、完整低成本射频系统级芯片。无线收发" title="无线收发">无线收发部分有与nRF2401同样的功能。该功能由外部并行口和外部 SPI 启动,每一个待发信号对于处理器来讲都可以作为中断来编程,或者通过GPIO端口实现。NRF24E1是一个可以在全球公用的频段范围(2.4~2.5 GHz)内实现无线通信的芯片。收发机包含 1 个完全集成的分频器、放大器、调节器和 2 个收发单元。输出能量、频段等射频参数,可通过射频寄存器方便地编程调节。在发送模式下,电流消耗只有10.5mA;在接收模式下,只有 18mA,所以功耗相当低。
图1是NRF24E1芯片示意图。从图中看到,NRF24E1由一个8051微控制器" title="微控制器">微控制器内核和一个NRF2401 无线收发器组成,芯片包括:增强型 8051 内核、无线收发器 NRF2401、9路100ksps的10位模数转换器、UART 异步串口、SPI 接口、PWM 输出、RC振荡器、看门狗和唤醒定时器以及内置的专用稳压电路等。
在 NRF24E1 的内部存储空间中,512B ROM 用于存储引导程序。上电后,它可将 EEPROM 中存储的程序下载到 4KB RAM 的程序运行空间,另外的 256B RAM为数据存储器。无线收发器 NRF2401 可以通过软件编程来设定接收地址、收发频率、发射功率、无线传输速率、无线收发模式、CRC 校验和的长度以及有效数据的长度等无线通信参数。
NRF24E1的典型应用电路原理图如图2,从图中看到,采用 Nordic NRF24E1 无线单片机芯片设计的线路非常简单,外围零件很少,也非常容易进行设计开发。
NRF24E1 体积小、功耗低,因此非常适用于对体积和功耗要求较高的应用场合。可广泛应用于计算机外设、无线耳机、玩具、游戏手柄、汽车电子、医疗器械、遥控和工业传感器等方面。
2 具体组网实现
结合前面的知识,再来看看基于NRF24E1芯片的短距离无线网络具体应该如何组网。这里以一个具体的无线点菜系统的设计架构为例。
2.1 系统功能
该无线点菜系统采用NRF24E1芯片设计实现,同时通过无线网卡实现点菜系统后台服务器与计算机收银管理系统的无线数据交换,实现从点菜、出菜、加菜、撤菜等从菜品进厨房直至结账的全过程自动化。
该系统的功能流程是:餐厅内的就餐点和餐厅外的外卖点都可以通过无线发送/接收终端辅助完成点菜,并通过无线传输将点菜数据传送至后台服务器,再由服务器进行分单打印和数据无线传输至收银用机、传菜用机,根据所得数据,收银机结帐并打印帐单,传菜机打印、传菜、划单,最后由服务员完成送菜、上菜。
2.2 系统设计
无线点菜系统中点菜模块外观及总体设计图如图3所示,其中发送、接收端通过NRF24E1芯片实现无线数据传输。
无线点菜系统中点菜模块系统流程图如图4所示。
首先由用户在点菜终端输入用户号和密码(刷卡)登录,餐厅内的就餐点由服务员输入信息进入系统。当验证用户合法后,用户可以进行点菜操作,点菜时直接通过菜肴的编码和加减运算符组合输入即可实现点菜,方便快捷,具体编码可参考无线点菜终端使用说明书。用户点菜输入并“确认”后,无线点菜终端将用户已点菜肴信息显示输出,用户核对无误,再次“确认”点菜,如需加菜、减菜,可按“取消”键回到上一步,同样通过菜肴的编码和加减运算符组合输入来实现加减菜。用户完成点菜后,无线点菜终端会将点菜数据传输给远程服务器,并给出“您已成功点菜!”的显示信息,用户此时可以退出系统。
2.3 发送端总体设计
基于NRF24E1的点菜发送端需要有键盘进行点菜的数据输入,同时还需要一个液晶显示屏来显示点菜信息。因此,整个发送端可大致分为主控制器、键盘、键盘编解码、LCD、电压转换等部分,其总体设计框图如图5所示。
2.4 无线收发设计
NRF24E1收发器的收发任务由NRF2401子系统控制,NRF2401子系统结构框图如图6所示。
收发功能由特殊功能寄存器中的RADIO和SPI_ CTRL控制。SPI_ CTRL=0X00时,SPI不用;SPI_ CTRL=0X01时,SPI连接到P1口;SPI_ CTRL=0X10时,SPI连接到第一个NRF2401频道;SPI_ CTRL=0X11时,SPI连接到第二个NRF2401频道。
RADIO寄存器中的3个位PWR_UP、CE、CS可以用来控制NRF2401子系统的工作模式。当PWR_UP=1,CE=1,CS=0时为收发方式;当PWR_UP=1,CE=O,CS=1时为配置方式;当PWR_UP=1,CE=O,CS=0时为空闲方式;PWPWR_UP=0时关机。
系统射频部分的通信协议均由内置硬件电路完成,NRF24E1的无线数据包格式如表1。
表1 NRF24E1的无线数据包格式
PRE-AMBLE | ADDRESS | PAYLOAD | CRC |
其中,PRE-AMBLE是前导码,由硬件自动加上去;ADDRESS是要发送的32~40位地址码;PAYLOAD是有效数据;CRC是CRC校验和,它可由内置CRC纠检错硬件电路自动加上,可设为0、8或16位。ADDRESS、PAYLOAD和CRC的总长度最大为256位,设置较短的地址和校验和可以提高传输效率,但会使可靠性降低。
NRF24E1支持点到多点通信,每个芯片可通过软件设置最多40位地址,通信时只有与本机地址相符时才应答,否则不响应。
无线收发器NRF2401有一个144bit的ShockBurst配置字,该配置字规定了无线收发器的接收地址、收发频率、发射功率、无线传输速率、无线收发模式、CRC校验和的长度以及有效数据的长度。该配置字使NRF2401能够处理射频协议。
当NRF2401工作在收发方式时,其采用了先进的ShockBurst技术。
(1)ShockBurst工作在发送方式时,CPU接口引脚为CE、CLK1和DATA(如图6)。当CPU请求发送数据时,置CE为高电平" title="高电平">高电平,此时将接收机地址和有效载荷数据送入NRF2401,置CE为低电平激活ShockBurst发射。具体流程为:
a.当微控制器有数据要发送时,置CE为高,使NRF2401工作;
b.把接收机的地址和要发送的数据按时序送入NRF2401;
c.微控制器把CE置低,激发NRF2401进行ShockBurst发射;
d.NRF2401 ShockBurst发射:给射频前端供电;射频数据打包(加字头、CRC校验码);高速发射数据包;发射完成,NRF2401进入空闲状态。
(2)ShockBurst工作在接收方式时,CPU接口引脚为CE、DR1、CLK1和DATA(如图6)。当正确设置射频包输入载荷的地址和大小后,置CE为高电平可激活RX。此后NRF2401监测信息输入,若收到有效数据包,则给MCU一个中断并置DR1为高电平,以使MCU以时钟形式将有效载荷数据取走,待系统收到全部数据后NRF2401再置DR1为低。此时如果 CE保持高电平,则等待新的数据包;若CE置低电平,则开始其他工作流程。具体流程为:
a. 配置本机地址和要接收的数据包大小;
b. 进入接收状态,把CE置高;
c. 200微秒后,NRF2401进入监视状态,等待数据包的到来;
d. 当接收到正确的数据包(正确的地址和CRC校验码),NRF2401自动把字头、地址和CRC校验位移去;
e. NRF2401通过把DR1(这个引脚引起微控制器中断)置高通知微控制器;
f. 微控制器把数据从NRF2401移出;
g. 所有数据移完,NRF2401把DR1置低,此时,如果CE为高,则等待下一个数据包,如果CE为低,开始其他工作流程。
ShockBurst接收和发送的流程框图如图7和图8所示。最终,无线点菜系统数据接收端正确接收点菜发送端发射来的点菜代码,并处理成计算机所能识别的数据传送给后台服务器进行处理。
该无线点菜系统成本低廉、设计简单、易于实现,经实际调试验证完全可用。通过该系统的研发架构,可以得到一种用无线片上系统NRF24E1芯片来进行短距离无线组网的简易可行的设计方法。可以预见,随着无线网络的不断发展和应用普及,无线片上系统以其独特的优势,其应用必将不断扩展,而NRF24E1作为目前主流、典型、优秀的无线片上系统,在未来的无线领域中将发挥更大的作用。
参考文献
[1](美) RASHINKAR. P等著, 孙海平,丁键译. 系统芯片(SoC)验证方法与技术[M]. 北京:电子工业出版社,2005.
[2]潘琢金,施国君.C8051Fxxx高速SOC单片机原理及应用[M]. 北京:北京航空航天大学出版社,2002.
[3]黄智伟. 射频集成电路芯片原理与应用电路设计[M]. 北京:电子工业出版社,2004.
[4]李健. 无线点菜系统的研究[D]. 天津大学硕士学位论文,2004.
[5]许剑. 基于无线片上系统的家庭网络控制系统的研究与设计[D]. 浙江大学硕士学位论文,2006.
[6]延涛. 基于nRF24E1芯片的通用遥控器原型样机的设计[D]. 西北工业大学硕士学位论文,2005.