欢迎来到EDA中国!
当前位置:网站首页 >技术专栏 > IC技术

我们如何判断NRF24L01芯片是否工作正常

发布时间: 2013-05-23 07:29:51     来源: EDA中国

我们如何判断NRF24L01芯片是否工作正常

  如果碰到一对芯片不能正常收发,首先应该通过与正常芯片收发来判定哪个芯片出了问题,并判定是发射不好还是接收不好,在此前提下,将详细介绍在发射或接收出了问题以后的故障分析流程如下:

   1、检查软件:是否与参考代码特别是参考寄存器值有差异;用正常的板子来检查MCU是否正确地写了所有的寄存器;NRF24L01在收发的时候,是否切换到了正确的模式,在发包前,是否有延时。

   2、检查射频匹配电路和天线:电路和天线是否与参考电路完全相同,包括器件值,PCB版图和天线尺寸。如果电路不同需要传导测试输出功率,测试方法见发射功率频率测试,如没达到0dBm则需调试电路匹配值,如果天线不同需用矢量网络分析仪测试天线特性或用替换法排除天线影响。注意元器件值焊的时候是否短路,芯片PIN脚VDDPA,RFP,RFN是否短到地了。

   3、ISM频段有没干扰:测试ISM频段(2400MHz~2483.5MHz)有没干扰的最直接方法是将2.4G天线连接到频谱仪,直接测空间辐射的信号,设置频谱仪Span=2300MHz~2500MHz,Ref  Amplitude<-50dBm。如果没有频谱仪,最简单的方法是切换信道重新测试,此时可选稍微超出ISM频段,但BK2421仍能正常工作的频率,如Channel=90(2490MHz)。

   4、调晶体频偏或换晶体:首先根据晶体负载电容CL计算晶体上电容的值C1=C2=2×CL-Cp,Cp为芯片和PCB上的寄生电容,24L01为2~3pF;如果按照理论值频偏还是大于100KHz的话,那需要改变C1,C2的值(变大C1,C2值发射频率都会变低,但C1是精调,C2是粗调);如果调完以后的值一致性很差,则需要更换晶体,提高晶体精度ppm。 (一般用+/-10个PPM就好了)。

   5、电源是否干净:如果单载波在频谱上比较脏,则很有可能是电源干扰引起的,可用示波器直接测电源+3.3V,示波器设置为AC Coupled,如果电源噪声峰峰值Vpp大于20mV,说明电源太脏了,需要用RC滤波电路,串联10欧姆,并联大电容到地,详见参考原理图。 如果电源不容易滤干净,可用外部干净电源代替输入看能否正常工作。

   6、SPI读写正常与否的判断:先写Bank0中能R/W的寄存器,然后再读出来,如果写入和读出一样说明SPI读写正常,如果不一样,可按照以下步骤检查:

       1)  用示波器看寄存器读写波形:检查SPI 四根线的电平是否正确,波形是否和参考代码的理论波形一样;

       2)  函数SPI_RW和初始化数组在有些MCU平台上编译后,会有异常。单步跟踪看看代码是否和理论的一样;

       3)  MISO应配置成输入模式,有的MCU在MISO上需要加上拉电阻,可用示波器看电平是否达到MCU输入要求;

       4)  检查MCU的SPI初始化配置。

  7、检查晶体是否正常工作:由于在默认设置状态下,晶体上电20ms以后会自动关掉,所以要测试晶体是否正常工作需要重新上电,在上电的20ms以内在晶体PIN脚XTALP或XTALN测试,如果有信号说明晶体振荡正常,否则可能晶体损坏。

 本文本自智凡单片机:http://www.mcuc.com.cn 

关键字 : nRF24L01 判断 如何 芯片 
获取帮助