ANT无线收发器nRF24AP1及其应用
根据硬件电路设计,硬件驱动实现系统各模块的初始化以及MCU与nRF24AP1之间的通信程序。系统在初始化时除了要注意根据硬件连接设置ATmega16L各通用I/O端口为所需的状态,还要根据所选的nRF24AP1工作模式,利用ATmega16L的I/O端口设置nRF24AP1的控制端口状态。MCU与nRF24AP1之间采用异步串口方式进行通信,ATmega16L片内集成有USART,简单设置后即可在异步模式下工作。异步数据以1个起始比特、8个数据比特、1个停止比特以及无奇偶校验的方式进行传输。
串口接收与发送均采用中断方式,同时为发送和接收分别设置一个长度为16字节的缓冲区(buffer),缓冲区设有单独读/写指针,并与缓冲计数器相关联。串口发送的数据首先通过调用函数putchar()写入tx_buffer,再由串口发出。接收数据时,先将接收到的数据写入rx_buffer,再根据应用需要调用函数getchar()从缓冲区中取得相应的数据,AVR串口接收中断服务程序及函数getchar()的流程图如图4所示。
6结束语
nRF24AP1内嵌ANT协议,该协议结构简单,使用方便,加快开发进程,同时内嵌ANT协议还减少了用户开发成本。利用ANT技术可使系统具有待机和休眠两种状态,节省电能,而且ANT的时延短,反应快,系统根据需要能快速苏醒并在最短时间内完成传输,并快速回到休眠模式。而竞争者的"低功耗"技术在类似应用中采用相同的工作模式仅仅可以支持数月或更短的时间。因此,nRF24AP1功耗超低,适用于传感器网络、远程控制系统、智能家居等应用的数据采集、分析处理,具有广阔的市场前景。
评论