(2)单片机设置TRX_CE,TX_EN为高电平来启动传输。?
(3)nRF905内部处理:?
无线系统自动上电;?
数据包完成(加前导码和CRC校验码);?
数据包发送(5Ok, GFSK,曼彻斯特编码)。?
(4)如果AUTO_RETURN被设置为高电平,nRF905将连续的发送数据包,直到TRX_CE被设置为低。?
(5)当TRX_CE被设置为低时,nRF905结束数据传输并将自己设置成待机模式。发送程序流程图如图2所示。?
4.2 接收子程序?
(1)通过设置TRX_CE高,TX_EN低来选择RX模式。?
(2)650us后,nRF905监测空中的信息;?
(3)当nRF905发现和接收频率相同的载波时,载波检测(CD)被置高;?
(4)当nRF905接收到有效的地址时,地址匹配(AM)被置高;?
(5)当nRF905接收到有效的数据包(CRC校验正确)时,nRF905去掉前导码,地址和CRC位,数据准备就绪(DR)被置高;?
(6)单片机设置TRX_CE低,进入待机模式;?
(7)单片机以合适的速率通过SPI接口读出有效数据。接收程序流程图如图3所示。?
5 结语?
利用单片射频无线收发芯片 nRF905,容易实现小尺寸、高稳定性的无线数据传输系统,通信程序简单,易于实现,较一般的无线通信系统更具有扩展方便的优点。其数据传输速度快、可靠性高、可移植性强,可广泛应用于各类无线数据通信中。?
参考文献?
[1]?吕跃刚. 基于nRF905无线数传模块的设计及其实现[J].微计算机信息,2006,22(11-2),274-275.?
[2]?侯海岭,姚年春.无线收发芯片nRF905的原理及其在单片机系统中的应用[J].仪器仪表用户,2006,13(3),70-71.