基于ATmega16和nRF905的无线射频收发系统设计
2系统软件设计
本系统中的无线数据传输主要由无线数据收发器nRF905、ATMEGA16单片机和显示部分组成。nRF905收发器与单片机ATMEGA16L间通过SPI口进行通信。因此,软件设计过程中的重点是nRF905数据的发送和接收过程。
2.1 nRF905的数据发送过程
发送数据时的工作流程如图5所示。当MCU有遥控数据节点时,接收点的地址(TX-address)和有效数据(Tx-payload)将通过SPI接口传送给nRF905。设计时应使用协议或MCU来设置接口速度。
![]() |
可用MCU设置TRX-CE,并使TX-EN为高电平来激活nRF905的ShockBurst传输。通过nRF905的ShockBurst可使无线系统自动上电,并完成数据包(应加前导码和CRC校验码)的数据码发送(100 kbps,GFSK,曼切斯特编码)。
如果AUTO-RETRAN被设置为高电平,那么,nRF905将连续地发送数据包,直到TRX-CE被设置为低电平为止;而当TRX-CE被设置为低电平时,nRF905则结束数据传输,并将自己设置为standby模式。
2.2 nRF905的数据接收过程
当系统接收数据时,其接收数据流程图如图6所示。系统的工作过程如下:
首先,在650μs以后,nRF905将不断监测空中的信息;当nRF905发现有和接收频率相同的载波时,其载波检测(CD)被置为高电平;此后,当nRF905接收到有效地址时,地址匹配(AM)被置为高电平;
在这之后,当nRF905接收到有效的地址包(CRC校验正确)时,nRF905将去掉前导码、地址和CRC位,同时将数据准备就绪位(DR)置为高电平,并用MCU设置TRX-CN为低电平,以进入standby模式,从而使MCU能够以合适的速率通过SPI接口读出有效的数据;当所有的数据读出后,nRF905将AM和DR设置为低电平,以便使nRF905准备进入ShockBurst RX、ShockBurst TX或Powerdown模式。
![]() |
3 结束语
无线射频收发芯片nRF905内置有天线,同时内部集成有调制,解调、编码/解码等功能,故在通信过程中能自动生成前导码和CRC校验,而不需要接人网络就能享受通信服务。本设计根据nRF905的特点设计的无线数据收发系统,经过多次实验证明,其发射端能正确地将数据传送出去;同时,经nRF905发射后,接收端也能正确接收并显示数据,有效通信距离大于200米。在有障碍物体的混凝土结构的建筑内测试,其有效直线通信距离大于50 m。此外,该系统采用了比较完善的软件、硬件设计以及抗干扰措施,这样,就可以保证系统工作的安全性和可靠性,并具有通用性,便于投入实际应用,而且稍作改动就可以应用到小区传呼、工业数据采集、生物信号采集,无线遥控等其它一些短距离无线通信领域,以实现无线数据的双向传输,具有较好的市场应用价值。
评论