I2C仅在探查或加载1Mohm时工作
我正在尝试对Msp430fr5847(主机)和具有未知I2C芯片的从属传感器(工业传感器的一部分)之间的通信进行故障排除 我遇到了一批新传感器,其中我的数据全为零返回,但是当尝试使用我的Saleae逻辑专业版(2Mohm,10pf)或示波器(10Mohm,50pf)进行故障排除时,该系统在探测时可以正常工作SDA引脚。 如果在SDA与地面之间添加一个1Mohm的电阻,则该电路可以正常工作,但如果仅添加一个10pf或100pf的电容器,则该电路无法正常工作。 我正在使用4.7k上拉电阻连接到3.3v电源轨。 是什么可能导致此问题,以及在不无意间解决问题的情况下可以进行故障排除。 编辑:19/07/2017这是我的信号的快速范围跟踪。 我忘记提及的其他事情是,仅探测SDA会使电路板工作,探测SCL或我的中断线不能使其正常工作。 编辑:21/07/2017 该图变厚了,看来连接不同的示波器无法使电路正常工作,并且可以看出,唯一的区别是未发送ACK。 在上图中,电路未正确运行时,蓝色和绿色迹线是SCL和SDA。黄色和粉红色迹线来自于我也将我的Saleae逻辑连接到SDA引脚并接地但没有插入USB的情况(试图避免接地回路)。 为了给传感器增加更多背景信息,这是我们从制造商那里购买的工业压力传感器。我们之前已经使用第一批传感器设计和测试了这些PCB。我们最近收到了一批新货,现在遇到了这些问题。我已经做了一些调查,我强烈怀疑内部的传感器采用ZSC31014或类似,PDF数据表(从数据表中使用Google独特的寻找后的句子)HERE 编辑:26/07/2017 因此,希望按照SamGibson的详细回答解决问题的最后一部分,我已经实现了将地址的高位设置为掩盖起始位末尾毛刺的解决方案。 这在大多数情况下都可以按预期方式处理数据,但是现在看来,在写入后的第一个读取命令中(如果这是一组i2c位的正确术语),从机将尝试提前ACK(在写位的位置)。我可以说是从机通过添加一个与SDA线串联的小电阻(47欧姆)将线拉低。 我通常会以一个新问题开始,但是当我附加在上面的疑难解答中没有作用的相同作用域时,这个问题似乎消失了,即使我附加了作用域探针,这似乎也确实是一个边界问题,没有将其连接到示波器的问题得到解决,所以我假设这是一个电容问题。 没有附加范围的问题图 示波器探头已连接但未连接到示波器的问题图,注意从机下拉写位而不是ACK位时电压略高。