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.
工具与软件:
您好、TI 专家
我们使用与图中所示结构类似的结构来设计具有3.3V 电压的 MCU、该 MCU 通过 LEVELSHIFT 转换为1.8V 电平。 偶尔会发生 MCU I2C 卡死区的情况、测试 BUS-B (SCL 为高电平3.3V、SDA 为低电平0.5V)。BUS-A 的 SCL 为1.8V 的高电平、而 SDA 为约0V 的低电平。
(1)我是否可以询问哪些情况会导致这种情况?
(2)我们试图关闭和打开 VCCA 的电源、但总线仍然冻结。 VCCA 断电后、总线 B 的 SDA 是否仍能输出0.5V 的低电平?
谢谢你
看起来总线上的一些其他器件会将 SDA 拉至低电平。 您必须重置该器件。
你好、Clemens、、
我想说"总线 A 上的器件将 SDA 拉至低电平"、对吧? 因为只有主器件/MCU OMN 总线 B 侧。 所以我想说为什么我们关闭 VDDA、总线 B 侧的 SDA 无法变为高电平?
对不起、我确实混淆了两边。
SDAB 上0.5V 的电压表明 TCA9517-Q1在 B 侧输出低电平、因为 A 侧的某个器件将线路拉至低电平。 (B 侧的器件必须将电压拉至0.5V 以下、使 TCA9517-Q1在 A 侧驱动为低电平。)
因此、其中一个 A 侧器件存在软件或硬件错误。 尝试移除器件;但要找出运行期间哪些器件会灌入电流、唯一的方法是测量串联电阻器上的压降。
您好、Clemens:
这意味着 I2C 总线被从器件而不是主器件拉低了、对吧?
BTW、 我们在 B 侧主器件- MCU 上发送命令(i2cscan)、但它无法将 SDA 和 SCL 均驱动为低电平、从而使 I2C 总线仍然抽头、您有什么建议吗?
谢谢。
是的、它是 A 侧的某个器件。
当任何 μ I²C 信号一直保持低电平时、不能进行通信。
您好、Clemens:
当异常的情况下,我拉低然后高 EN 引脚的左移, I2C 总线恢复,如果器件在总线上驱动器低 SDA,我不认为它可以以这种方式恢复,你怎么看?
在不知道哪个器件将 SDA 拉至低电平的情况下、很难说什么具体。
尊敬的 Ziyang:
您可以和我们分享任何方框图或原理图吗?
EN 引脚是否在 I2C 总线上的许多器件之间共享? 在 EN 引脚上拉至低电平然后拉至高电平是否一次仅影响 TCA9517-Q1或许多器件?
您是否有该问题的示波器捕获?
此致、
Tyler
你好、Tyler、
1、无、EN 引脚直接拉至3.3V、我使用飞线通过移除飞线将其下拉至 GND 并将其拉至高电平;
2 μ、A
在总线上 A:
在总线 b 上:在第8个和第9个时钟之间有延迟、从器件会将 SCL 驱动为低电平
资阳市
这看起来像是器件的正常操作。
从器件将 SCL 驱动为低电平、通常是一种回溯到 MCU 的时钟形式。 因此、ACK 位会延迟。
如数据表中所示、来自 TCA9517-Q1缓冲器 VolB = 0.52V 的较大失调电压。 在时钟周期1-8上、从器件正在从 B 到 A 进行通信
在第9个时钟周期、主器件从 A 通信到 B、因此缓冲器的失调电压会更大。
此致、
Tyler
HiTyler
是的,这是正常操作,不知道为什么有异常:SCL-B 是高电平,而 SDA-B 是0.5V,为什么从器件拉 SDA 一直低电平。
资阳市
您指的是示波器捕获中的哪个点?
缓冲器由主/从器件驱动。 如果 I2C 帧出现问题、则是由 MCU 中的 I2C 驱动程序导致的。 MCU 正在生成 I2C 命令、则可能是与软件相关的问题。
此致、
Tyler