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.
大家好,
我看到一条线程正在谈论 I2C 检测问题,但没有说明如何修复。 我使用的是 SN65DSI83-Q1,并使用 I2CDetect 命令查看它是否会显示在 I2C 列表中,而不会显示
下面是我发送命令时获得的信息。 在我的硬件上,我有一个 TXB0104来将3.3V 版本的 I2C 传输到1.8V。 我可以在桥的一品脱下看到信号很好,但我没有得到答案。 我的地址引脚接地(通过0Ω Ω),并且 I2C 上没有拉,因为电平调节器离 IC 超级近,所以不建议在那一侧。 REFCLK 也通过 0Ω Ω 连接到 GND。 启用通过 GPIO 设置,引脚旁边有一个220nF 接地。
我认为初始化可能有问题,但我想知道过去看到的硬件或软件中是否有任何可能导致此问题的提示。
感谢大家的帮助
弗雷德·尤特拉斯
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:---------- ---------- ----
10:---------- ---------- ---------- -
20:---------- ---------- ---------- -
30:---------- ---------- ---------- -
40:---------- ---------- ---------- -
50:---------- ---------- ---------- -
60:---------- ---------- ---------- -
70:---------- ----
EVK_8mn:/#[ 141.984750]健康状态:电池 L=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=a
[142.222698]健康状态:电池 l=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=a
EVK_8mn:/# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:---------- ---------- ----
10:---------- ---------- ---------- -
20:---------- ---------- ---------- -
30:---------- ---------- ---------- -
40:---------- ---------- UU ----
50:---------- ---------- ---------- -
60:---------- ---------- ---------- -
70:---------- ----
您好,
请确保遵循 DSI83初始化顺序(如下所示)吗?
您使用的 I2C 地址是什么? 由于 ADDR 引脚绑定过低,7位 I2C 地址为0x2C。
您可以探测 TXB0104的两侧,是否可以看到 I2C 命令的两侧?
谢谢
大卫
大卫,你好。
我正在尝试确认初始化,因为您在上一篇文章中提到了这一点。
目前,我只是在尝试从总线检测任何 I2C 地址,当我从0x03探测到0x77时,我没有收到任何回路。 我在 TXB0104的两侧都有信号,我使用示波器解码。 数据很好,显示在插针上,但没有答案
希望我能正确确认开机顺序
谢谢,如果你有其他建议或问题,请告诉我
弗雷德
弗雷德
您是否还可以对数据解码并验证发送的地址是否正确?
谢谢
大卫
大卫,你好。
我和 我的同事看了初始化,但我们无法检测到 I2C,因此我们尚未运行初始化。
此时,我们只想运行 I2Cdetect 命令,这样我们就可以在 i2c 行上看到网桥。我们今天将尝试使用使能引脚,试图找出我们无法正常工作的地方。
时钟是否需要处于 HS 模式且线路处于 LP11模式才能启用 I2C 并让我们能够检测到桥?
感谢您的帮助,
弗雷德
弗雷德
只要 EN 为高,就会启用 I2C -> DSI 总线的状态不会产生影响。 您是否对 I2C 地址进行了解码并验证该地址是否正确?
谢谢
大卫
大卫,你好。
看着正确的地址 Sure Help,我看到的是0x58,而不是上面提到的0x2C (8位而不是7位)。 尽管这还没有完全解决问题。 如果我在信号探测0x2C 时查看信号,我会在 I2C 线路上听到一些噪音,但没有我所期待的 ACK。在一段时间后,I2C 重新启动(X 在解码器中)并继续运行。 我尝试手动重置装置(短接启用上的保护盖以强制0,而不是让它移动,我仍然看到相同的情况。
是否有指针?
(希望您能看到这张图片!)
弗雷德
通道1是 SCL,通道2是 SDA 吗? 我看到发射器为 I2C 地址0x2C 发送8时钟脉冲,这是一个写入请求。 但它需要在释放 SDA 线路时提供确认相关时钟脉冲(第9时)。 DSI86随后会将 SDA 拉低以表示确认。 下面是 I2C 总线波形作为参考。
谢谢
大卫
大卫,
你是对的,通道1是 SCL 和2 SDA (相当清楚)
我注意到我们发送的是8点而不是9点,我将看到我是否可以获得此修复并再次测试它。
感谢您的反馈! 希望这是我们的问题
弗雷德
早上好,大卫
今天上午,我在与同事交谈后进一步了解了这一点,除0x2C 外的任何其他地址的时钟频率都有9个脉冲。
在0x2C 上,当第9个脉冲上升边缘后,时钟信号保持高位
我不知道这是不是因为噪音/干扰/信号 从第8和第9时钟脉冲之间的0开始。
谢谢,
弗雷德
弗雷德
除 DSI86外,I2C 总线上是否还有其它设备? 如果您这样做,是否可以删除它们,以便 DSI86是 I2C 总线上唯一的设备?
您是否还有一个 I2C 控制器(如 Aardvark I2C 控制器),您可以使用它访问 DSI86 I2C 寄存器?
谢谢
大卫
大卫,你好。
DSI83 (我使用的是83而不是86)目前是总线上唯一的设备。 我有另一台设备,但由于它通过外接板连接,我可以轻松地将其卸下。 更易于调试。
我没有 Aardvark I2C 控制器,但我可以看到我是否可以使用 其他设备与 DSI 通信。
谢谢,
弗雷德
弗雷德
您可以查看此线程,看看它是否有助于解决 i2cdetect 问题, https://e2e.ti.com/support/interface-group/interface/f/interface-forum/352219/how-to-interface-tca6414-to-beagleboard-white/1235695#1235695。
谢谢
大卫