This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] FDC1004:在 Arduino Uno(3.3V、通过 LP29501 供电)上初始化后、FDC1004 没有响应

Guru**** 2439710 points
Other Parts Discussed in Thread: FDC1004, LP2950

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1536489/fdc1004-fdc1004-does-not-respond-after-initialization-on-arduino-uno-3-3v-powered-via-lp29501

器件型号:FDC1004
主题中讨论的其他器件: LP2950

工具/软件:

您好、我使用的是以 3.3V 电压供电的 Arduino Uno(通过 LP2950 稳压器)、并尝试通过 I2C 与 FDC1004 连接。

我的设置:

  • Arduino Uno @ 3.3V(由 LP2950 稳压器通过 5V 电源供电)

  • FDC1004 由 LP2950 的 3.3V 电源供电(通过万用表确认为 3.3V VCC - GND)

  • SCL/SDA 直接连接(无电平转换器,因为 UNO 为 3.3V)

  • 在 SCL 和 SDA 与 3.3V 之间连接 5kΩ 上拉电阻器

  • I2C 地址:0x50(通过 I2C 扫描仪确认,稳定检测)

  • 去耦电容器:

    • 从 LP2950 + 1μF VOUT (3.3V) 到 GND 的 0.1μF GND 电容器(靠近 FDC1004)

    • LP2950 VIN 到 GND 的 0.1μF 电容器

问题:

当我运行初始化代码(写入 MEAS1 CONFIG 和 FDC 配置)时、程序会在打印“FDC1004 初始化已开始“后立即停止。 它似乎冻结在Wire.endTransmission()

我尝试过的方法:

  • I2C 扫描仪反复检测 0x50、未出现问题

  • Arduino 和 FDC1004 SCL/SDA 引脚之间的连续性测试:无中断

  • 确认 LP2950 的 3.3V 输出在通信期间保持稳定

  • 验证了 FDC1004 和 LP2950 附近的去耦电容器放置

我的问题:

什么可能导致 FDC1004 在 I2C 写入时锁定(卡在)Wire.endTransmission()、即使一直检测到 I2C 地址 0x50 也是如此?
在此设置中、FDC1004 是否有任何时序、启动或配置注意事项、我可能会忽视?


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Bunpei、

    如果写入 FDC_CONF 或 OFFSET_CAL 寄存器之一、是否会发生该问题?  可能是代码有问题。  另外、我会尝试用示波器监视通信、以查看是否发生了任何特殊情况。