主题中讨论的其他器件:CC2640
您好!
我刚制作了一批1000个板、6个有一个奇怪的问题、我希望有人能帮忙。
该板可以在 P2P 或标签读取器中工作、因此在启动时、它首先读取 NFC RSSI 强度、以查看它是否靠近 P2P 启动器、如果是、它将切换到 P2P 模式、 否则它将切换到标签读取器。
在6个故障电路板上、如果附近没有 NFC、它总是从寄存器0xF、RSSI 水平和 OSC 状态寄存器读回0x41。但是、当 NFC P2P 启动器开启时、RSSI 为7做好正确准备
我们尝试在 RX_IN1和2之间切换、但没有效果、并且还尝试开路 RX_IN1和2、这也没有效果。
我的问题是当前代码假设 RSSI >0显示 P2P 启动器打开、因此该模块进入 P2P、即使在标签上也会发生这种情况、我已经修补代码以检查 RSSI >1、这似乎是为了解决问题、 但担心可能存在潜在问题、我们假设这是一个噪声/分辨率问题
一个要点是电路板采用封装、这使得这个调试很有趣
代码是
TRF79x0_writeSingle (0x21、TRF79X0_ISO_CONTRAL_REG);
TRF79x0_writeSingle (0x01、TRF79X0_MODIANG_CONTRAL_REG);
TRF79x0_directCommand (TRF79X0_RUN_DECOTERS_CMD);
TRF79x0_setField (EXT_FIELD_OFF);
//
//寄存器00h。 芯片状态控制
//
// 将0x0A 或0x02写入 、TRF79X0_CHIP_STATUS_CTRL_REG
TRF79x0_writeSingle (/*(0x08 |*/TRF79X0_STATUS_CTRL_RECEIVER_ON |g_bTRFPowerSupply5V)、TRF79X0_CHIP_STATUS_CTRL_REG);
TRF79x0_readSingle (&ui8RssiLevel、TRF79X0_CHIP_STATUS_CTRL_REG); //只是检查,它是正确的
//
//
//测试外部 RF 场(0x19)
//
TRF79x0_directCommand (TRF79X0_TEST_EXTERNAL_RF_CMD);
DelayMicrosecond (50);
//
//寄存器0Fh。 RSSI 寄存器
//
TRF79x0_readSingle (&ui8RssiLevel、TRF79X0_RSSI_LEVEL_REG);
ui8RssiLevel = ui8RssiLevel & 0x3F;
如果有问题、我还附上了原理图
Steve