(图片来源网络,侵删)
1. 文章简述E01-ML01DP5是一款成都亿佰特公司标志性产品,其工作在2.4G无线模块,是当今市面上最优秀的nRF24l01P+PA+LNA射频模块,芯片方案采用挪威Nordic公司原装进口的nRF24l01P,配备美国进口的20dBm功率放大芯片,同时将接收灵敏度提升3dB,使得模块超过nRF24l01P自身8倍以上的通信距离,硬件设计上带有抗干扰屏蔽罩,使得模块的抗干扰能力大大提升本文将介绍E01-ML01DP5软件开发流程及操作方式E01-ML01DP5是一款硬件模块,可通过外部MCU使用标准串行外设接口SPI通讯协议对射频芯片nRF24l01进行配置及操作2. nRF24l01P简介nRF24L01P是由NORDIC生产的工作在2.4GHz~2.5GHz的ISM 频段的单片无线收发器芯片无线收发器包括:频率发生器、增强型\"SchockBurst\"模式控制器、功率放大器、晶体振荡器、调制器和解调器输出功率频道选择和协议的设置可以通过SPI 接口进行设置几乎可以连接到各种单片机芯片,并完成工作当工作在发射模式下发射功率为0dBm 时电流消耗为11.3mA ,接收模式时为12.3mA,掉电模式和待机模式下电流消耗1uA其内部结构主要由RF Transmitter和Baseband两大板块构成,在Baseband块中主要包含了射频控制、外部交互接口及芯片本身集成的Enhanced Short Burst Engine, RF Transmitter板块中则主要包含无线信号调制、解调、滤波放大等电路,其功能结构框图如图所示:3. nRF24l01功能及控制2.1 控制引脚从编程控制的角度看,我们只需要用外部单片机控制框图1-1中右边的6个引脚,其主要功能如下:CSN:芯片的片选线,CSN 为低电平芯片工作SCK:芯片控制的时钟线(SPI时钟)MISO:芯片控制数据线(Master input slave output)MOSI:芯片控制数据线(Master output slave input)IRQ:中断信号无线通信过程中 MCU主要是通过IRQ与NRF24L01P 进行通信CE:芯片的模式控制线在CSN为低的情况下,CE协同nRF24L01P的CONFIG寄存器共同决定nRF24L01P的状态2.2 状态机及其相互转换对于nRF24L01P固件编程工作主要是参照 nRF24L01P 的状态机该射频芯片主要有以下几个状态 :Power Down Mode:掉电模式Tx Mode:发射模式Rx Mode:接收模式Standby-1Mode:待机 1 模式Standby-2 Mode:待机 2 模式当芯片处于某状态下,想切换到另外的状态有的状态可以直接切换,有的则需要中间某个状态进行过度,并且需要外部具备一定条件,比如电压等具体转换方式如图所示:4. nRF24l01P固件编程流程4.1 固件编程思路1)置CSN为低,使能芯片,配置芯片各个参数配置参数在 Power Down 状态中完成2)如果是Tx模式,填充Tx FIFO3) 配置完成以后,通过CE与CONFIG中的PWR_UP与PRIM_RX参数确定24L01要切换到的状态TxMode:PWR_UP=1; PRIM_RX=0; CE=1 (保持超过 10us 就可以);Rx Mode: PWR_UP=1; PRIM_RX=1; CE=1;4)IRQ 引脚会在以下三种情况变低:Tx FIFO发送完成并且收到ACK(使能ACK情况下)、Rx FIFO有数据到达、最大重发次数到达设定值(最大15次)4.2 TX模式初始化步骤将nRF24l01配置在发送模式下,具体步骤及相关寄存器如表所示:序号操作功能相关寄存器1写Tx节点的地址TX_ADDR2写Rx节点的地址(主要是为了使能 Auto Ack)RX_ADDR_P03使能 AUTO ACKEN_AA4使能 PIPE 0EN_RXADDR5配置自动重发次数SETUP_RETR6选择通信频率RF_CH7配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP8选择通道0有效数据宽度Rx_Pw_P09配置nRF24L01的基本参数以及切换工作模式CONFIG4.3 TX模式初始化步骤将nRF24l01配置在接收模式下,具体步骤及相关寄存器如表所示:序号操作功能相关寄存器1写 Rx 节点的地址RX_ADDR_P02使能 AUTO ACKEN_AA3使能 PIPE 0EN_RXADDR4选择通信频率RF_CH5选择通道 0 有效数据宽度SETUP_RETR6配置发射参数(低噪放大器增益、发射功率、无线速率)Rx_Pw_P07配置 24L01 的基本参数以及切换工作模式RF_SETUP按照上述流程操作配置nRF24l01以后,就能实现两个节点间通讯5. 结语目前市面上单射频芯片(非SCO)软件操作方式都大同小异,熟悉一款芯片操作方式以后其他的都信手拈来当然,无论做任何产品、任何形式的开发,最好的方式都是按照官方数据手册上描述的流程一步步进行,这样可以极大的提高开发效率同时也能避免开发过程中遇到更多难以解决的问题更多关于在软件上如何配置操作E01-ML01DP5(nRF24l01)模块的相关资料请参阅成都亿佰特电子科技有限公司官方链接:www.cdebyte.com
0 评论