单片机/MCU论坛
直播中

YYXIAO

8年用户 1154经验值
擅长:接口/总线/驱动
私信 关注
[问答]

TC387发送I2C数据,SDA引脚卡在低位的原因?

我在发送 I2C 时遇到了一个奇怪的现象。 SDA 引脚有可能卡在低位。

经过分析,应该是大师下拉SDA。
每次我在 TXD 中设置 4 字节,我发布的每一帧都是 255 字节。 当这个问题发生时,我发送给 TXD 的号码总是比我在 SDA 上捕获的数据多 34 个。 TXD 的缓冲区大小似乎是 30,因为我又放了 4 个字节,这导致了溢出。
但我从未见过任何关于 TXD 缓冲区大小的说明。
而且这个问题在我之前的一批 TC387 芯片上从未出现过,但只有在这批芯片上才有可能发生。 它似乎与软件无关,应该是由硬件差异引起的。

我现在唯一想的是我将 TXD 设置得是否太快,我应该在每个 TXD 设置之间增加延迟。






回帖(1)

李骏鹏

2024-1-23 11:30:29
引起了这个问题。我建议你检查一下你的硬件连接和电路设计,特别是与 I2C 相关的部分。可能有一些错误或干扰导致 SDA 引脚卡在低位。你可以检查以下几点:

1. 确保你的引脚连接正确,SDA 是连接到正确的引脚。
2. 检查你的电路设计,确保你没有接地或短路到其他信号线的问题。
3. 检查你的电源供应,确保电压稳定,并且能够提供足够的电流给芯片和外围设备。
4. 检查你的时钟信号,确保时钟信号的质量和稳定性。

此外,你还可以参考芯片厂商提供的文档和规范,以了解关于 TXD 缓冲区大小的信息。如果你在之前的芯片批次上没有遇到这个问题,那么可能确实是硬件差异引起的。你可以咨询芯片厂商或寻求其他工程师的帮助来解决这个问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分