第38卷第1期2010年2月福州大学学报(自然科学版)
JournalofFuzhouUniversity(NaturalScience)
Vol.38No.1Feb.2010文章编号:1000-2243(2010)01-00-05
基于nRF905的短距离无线数据传输系统的设计
齐虹,徐志,陈冲,何明华
(福州大学电气工程与自动化学院,福建福州 350108)
摘要:介绍一种基于无线射频收发模块nRF905和单片机ATS52的短距离无线数据传输系统,给出系统的硬件结构设计和软件编程.利用单片机S52的IO口模拟SPI协议与nRF905进行数据交换,完成了无线数据传输系统的数据发射和接收过程.该系统数据传输速度快、可靠性高、可扩展性强,可广泛应用于各种短距离无线数据通信中.
关键词:无线数据传输;SPI接口;nRF905;单片机中图分类号:TP273 文献标识码:A
Thedesignofshort-distancewirelessdatatransmissionsystembasedonnRF905
QIHong,XUZhi,CHENChong,HEMing-hua
(CollegeofElectricalEngineeringandAutomation,FuzhouUniversity,Fuzhou,Fujian350108,China)
Abstract:Thepaperintroducesakindofshort-distancewirelessdatatransmissionsystembasedonwirelessradiofrequencytransceivernRF905andMCUATS52,includingthedesignofitshardwareandsoftware.UsingSPIcommunicationprotocolfordataexchangebetweenIOofS52andnRF905,thedatatransmissionandreceptionofwirelessdatatransmissionsystemarecompleted.Thesystemhasthecharacteristicofhightransmissionspeed,highreliabilityandstrongexpansibility,itcouldbewidelyusedinshort-distancewirelessdatatransmissionsystem.
Keywords:wirelessdatatransmission;SPIinterface;nRF905;MCU
近几年来,随着计算机、信息处理与存储等技术的日益精湛,短距离无线通信技术也得到迅速的发
[1,2]
展.短距离无线通讯方式主要有两种:IrDA(InfraredDataAssociation)红外技术和工作于ISM(Industri2alScientificMedical)频段的射频(RF)技术(普通RF,蓝牙技术和HomeRF等).红外技术的缺点是红外方向性强、通信距离较短、不能有遮挡物等.与普通RF技术比,蓝牙和HomeRF不仅技术复杂度高,软硬件设计及其协议编程复杂,而且传输距离相对较近.目前,国内外已经开发出各种基于RF技术的无线数
[1,2]
传模块,以工作于433,868,915MHz和2.4GHz频段为多.其显著特点是:所需外围元件少,设计方便;工作于国际开放的ISM频段,无需向专业部门申请使用许可;作为无线技术方案,系统升级容易、系统功耗低.
本文主要介绍基于nRF905射频数据传输系统的设计.以ATS52单片机为主控处理器,利用其IO口模拟SPI通信协议控制nRF905,并以PC为上位机构建短距离无线数据传输系统;详细叙述了数传模块nRF905接收发射的过程,以及实现无线数据传输的
应用实例.
1 系统总体设计
系统总体框图如图1所示.主控MCU使用
图1 无线数据传输系统
Fig.1 Systemofwirelessdatatransmissionsystem
收稿日期:2009-04-17
通讯作者:齐虹(1961-),副教授,E-mail:qihong@fzu.edu.cn基金项目:福建省自然科学基金重点资助项目(2007J0003)
第1期齐虹,等:基于nRF905的短距离无线数据传输系统的设计
・65・
ATS52,射频收发模块使用Nordic公司的nRF905实现无线数据收发,两者之间通过SPI通信协议进行
数据交换.系统还提供了RS-232接口(实现与PC机的通讯),以及MCU的存储电路和液晶显示模块.根据不同的应用需求,可选择微带天线或高增益的处置式天线.
2 无线数据传输模块nRF905
系统中无线射频收发芯片选用nRF905.nRF905是挪威Nordic公司推出的单片无线收发一体的芯片,
,
工作电压为1.9~3.6V,可通过编程工作于433/868/915MHz3个ISM频段①②,使用SPI接口与微处理器通信,配置非常方便.nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表面滤波器,其外部连接元件(图2)包括一个基准晶振、RF偏压电阻、外部天线等几个部分,是目前集成度较高的无线数传产品,具有性能优异、功耗低、开发简单等优点.
图2 nRF905芯片内部结构图
Fig.2 nRF905withexternalcomponents
nRF905采用抗干扰能力强的高斯频移键控(GFSK)
调制方式
[3]
,抗干扰能力强,能很好的减少噪声环境对
系统性能的影响.与幅移键控(ASK)和开关键控(On-OffKeying)方式相比,GFSK的通信范围更广,特别是在附近有类似设备工作的场合通信更加可靠,更适合工业现场控制场合.
[4]
nRF905采用串行外围设备接口SPI(SerialPe2ripheralInterface)与单片机连接,单片机工作在SPI的主机模式,nRF905工作在从机模式,接口图如图3所示.nRF905利用SPI口实现与MCU进行双向通讯,nRF905
的SPI总线包括4个引脚:CSN(SPI使能)、SCK(SPI时图3 nRF905和ATS52的硬件接口钟)、MISO(主入从出)和MOSI(主出从入).其中,CSN Fig.3 HardwareinterfaceofnRF905andATS52
Singlechip433/868/915MHz.TransceivernRF905Datasheet.NordicInc,2005.
②ApplicationNote.nRF905RFandantennalayout.NordicInc,2005.
①
・66・
福州大学学报(自然科学版)第38卷
可以接到一个GPIO端口控制芯片工作,而其他三个脚则连接到主控MCU的SPI接口上.主控MCU可以使用GPIO端口控制nRF905的3根控制线,控制低功耗的PWR_UP、正常工作的TX_EN、选择发送还是接收方式的TRX_CE.nRF905有两种节能模式和两种工作模式,分别为掉电模式、待机模式、ShockBurst接收模式和ShockBurst发送模式(表1).这几种模式由主控MCU通过控制nRF905的3个引脚PWR_UP,TRX_CE和TX_EN的高低电平来决定.
表1 nRF905工作模式Tab.1 ThenRF905mode
PWR_UP
0111
TRX_CEX011
TX_ENXX01
工作模式掉电和SPI编程
Standby和SPI编程ShockBurstRXShockBurstTX nRF905有3个引脚用于状态输出,分别是:CD(载波检测),AM(地址匹配)和DR(数据就绪),均为高电平有效.nRF905处于接收模式时,若检测到接收频率段的载波,就置CD为高.接着检测载波数据中的地址字节,若与本身已配置的接收地址相同,则置AM为高;若检测到接收数据中的CRC校验正确,则存储有效数据字节,置DR为高.
3 nRF905与MCU的SPI通信
nRF905采用串行外围设备接口SPI与单片机连接,对nRF905进行读、写操作时,必须先通过CSN的
由高到低的跳变来使能nRF905,读写操作的时序如图4和图5所示.考虑到nRF905模块内置完整的通信协议,软件设计工作主要集中在实现对nRF905模块的有效初始配置,以及MCU与nRF905模块之间SPI通信的实现.其中须保证MCU与nRF905模块时序的一致,并充分考虑nRF905模块对时序的要求.单片
[5]
机S52不带SPI串行总线接口,可以使用它的IO口软件来模拟SPI的操作,包括串行时钟、数据输入和数据输出.
图4 SPI读操作
Fig.4 SPIreadoperation
图5 SPI写操作
Fig.5 SPIwriteoperation
4 nRF905无线通信模块的软件编程
4.1 nRF905发射程序
1)nRF905处于待机状态,TX_EN和PWR_UP设置为高电平,TRX_CE设置为低电平.当单片机有数
据需要发往规定节点时,接收节点的地址((TX_address)和有效数据((TX_payload)通过SPI接口传送给nRF905,单片机设置接口速度;
2)单片机设置TRX_CE为高电平来启动传输;
3)nRF905内部处理:无线系统自动上电、数据包完成(加前导码和CRC校验码)、数据包发送(50k,GFSK,曼彻斯特编码);
第1期齐虹,等:基于nRF905的短距离无线数据传输系统的设计
・67・
4)如果AUTO_RETURN被设置为高电平,产生前导码并且DR置为低,nRF905将连续的发送数据
包,直到TRX_CE被设置为低;
5)当TRX_CE被设置为低时,nRF905结束数据传输并将自己设置成待机模式.
发射流程图如图6所示.
图6 无线射频模块nRF905发射流程图
Fig.6 FlowcharttransmitofnRF905
图7 无线射频模块nRF905接收流程图
Fig.7 FlowchartreceiveofnRF905
4.2 nRF905接收程序
1)通过设置TRX_CE高,TX_EN低来选择RX模式;
2)650μs后,nRF905监测空中的信息;
3)当nRF905发现和接收频率相同的载波时,载波检测(CD)被置高;4)当nRF905接收到有效的地址时,地址匹配(AM)被置高;
5)当nRF905接收到有效的数据包(CRC校验正确)时,nRF905去掉前导码,地址和CRC位,数据准
备就绪(DR)被置高;
6)单片机设置TRX_CE低,进入待机模式;
7)单片机以合适的速率通过SPI接口读出有效数据;
8)当所有的有效数据被读出后,nRF905将AM和DR置低;
9)此时,nRF905可任意进入ShockBurstTM接收模式、发送模式或关机模式.
如果正在接收一个数据包时\"TRX_CE\"或\"TX_EN\"的状态突然发生变化,则nRF905的工作模式会立即发生改变,数据包就会丢失.
接收流程图如图7所示.
5 系统的应用实例
电子不停车收费(ETC,ElectronicTollCollection)系统是智能交通系统的一个重要组成部分,它将收费站的人工收费作业过程自动化,车辆不必减速缴费即可快速通过,消除了收费站附近车辆延迟,节省人
・68・
福州大学学报(自然科学版)第38卷
工,简化收费手续.射频识别技术通过无线射频方式进行非接触双向数据通信,对目标加以识别并获取相关数据,由于具有远距离识别、可存储携带较多的信息、读取速度快等优点,因此非常适用于电子不停车收费系统.而可靠、稳定和安全的无线数据传输是射频识别系统的关键.目前,该无线数据传输系统已应用于高速公路不停车收费射频识别系统中,射频识别系统通过nRF905在车道阅读器与车载电子标签之间进行无线数据传输,从而实现了阅读器与电子标签之间的非接触数据交换.阅读器的射频接口电路采用nRF905无线射频模块与各个车载电子标签通信,电子标签模块通过无线接口响应阅读器发送的查询请求,回送其存储的数据信息.阅读器模块同时通过RS-232串口与上位机收费管理系统交换数据.该射频识别系统采用微带环形天线,系统无线数据传输的最大发射功率可达10dB,接收灵敏度约在450dB左右.考虑到在实际系统的阅读器周围还存在着其它强电设备,对系统将产生较强的电源干扰和电磁干扰.因此,在系统设计时采取了相应的抗干扰措施.实验结果表明,当系统收发的码速率最高达到45kbps时,系统的可靠传输距离可达到300m,完全可以满足高速公路不停车收费射频识别系统的要求.
[6]
6 结语
利用低功耗单片机S52和nRF905芯片设计了一种功耗低、误码率低、工作稳定和抗干扰性强的短距离无线数据传输系统,完成了硬件电路和系统软件的调试,给出了S52与nRF905通信协议SPI代码以及数据发射和接收的过程.nRF905的高灵敏度为无线数据传输提供了稳定的传输距离,利用无增益微带天线其传输距离也可达300m,采用高增益天线其传输距离可达到800m以上.该无线数据传输系统可以广泛应用于射频识别、环境监测和无线抄表等领域,具有较好的推广价值.参考文献:
[1]ProakisJG,SalehiM.Communicationsystemsengineering[M].UpperSaddleRiver:PrenticeHall,2001.[2]StallingsW.无线通信与网络[M].何军译.北京:清华大学出版社,2004.
[3]侯海岭,姚年春.无线收发芯片nRF905的原理及其在单片机系统巾的应用[J].仪器仪表用户,2006(3):70-71.[4]蔡向东.单片机软件模拟SPI接口的解决方案[J].信息技术,2006(6):134-136.[5]刘守义.单片机应用技术[M].西安:西安电子科技大学出版社,2002.
[6]徐志.RFID在ETC系统中应用及其关键技术的研究[D].福州:福州大学,2009.
(责任编辑:杨青)