基于ARM和nRF24L01的无线数据传输系统
配置为发送数据时,nRF24L0l发送数据包后,自动切换到接收模式已接收返回的确认信号,当收到确认信号后,IRQ引脚产生数据发送完成中断,如果没有握手信号返回,则表示发送失败,器件自动重新发送,如果重新发送的次数超过在ARC_CNT寄存器中的设定值时,会在IRQ引脚产生重发次数超限中断。MCU查询STATUS寄存器的值,即可判断是发送完成中断,还是重发次数超限中断。
当发送端nRF24L0l配置成PTX模式时,配置nRF24L01工作在后一种发送模式下,重新发送的等待时间为250μs,重新发送次数为10次,地址是TX_AW,输出功率为0 dBm,速度为2 Mb/s,并且使能发送完成和重发送次数超限两种中断,CRC校验位为2字节,nRF24L01处于Power_UP状态。函数中WRITE_REG为写命令基地址0x20。程序如下:
当接收端nRF24L01模块配置成PRX模式时,配置nRF24L0l工作在接收模式下,地址是RX_AW,负载数据宽度是TX_PL_W,使能接收完数据中断,CRC校验位为2字节,nRF24L01处于POWER_UP状态。程序如下:
5.2 nRF24L01的数据收发
(1)发送数据 当nRF24L0l模块配置成发送模式后,向发送FIFO输入数据即可启动传输。发送8 Byte的程序如下:
(2)接收数据 当nRF24L0l模块配置成接收模式后,在接收到数据中断发生时,从接收FIFO读取数据。接收8字节的程序如下:
6 结语
介绍了基于ARM和nRF24L0l的无线数字传输系统的硬软件设计。该系统已应用于微型飞行器的实时图像传输和遥测中。在实际应用中,可根据需要,将nRF24LOl组成一对一、一对多、多对多的结构。该系统还可广泛应用于无线测控、文件传输等领域。
- 基于2.4GHz射频通信的多功能鼠标设计(07-03)
- 基于MCU和nRF24L01的无线通信系统设计(05-29)
- 基于GPRS网络的GPS图形导航仪 (01-05)
- 基于ARM9内核Processor对外部NAND FLASH的控制实现(07-12)
- 基于ARM的局域网IP电话设计(05-11)
- Actel和ARM联合开发专为FPGA应用而优化的高性能32位处理器(02-26)