(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.