主题中讨论的其他部件: TCA9539
大家好,
我的客户在TCA9509上遇到问题,总线A与CPLD连接,总线A上没有其他设备 如下图所示,总线A的每个SCL上升沿上都有一个步骤
在SDA上也出现了一些设置,即总线A的上升边缘。
您能否帮助检查步骤的原因,这些步骤是否会影响I2C的正常工作?
此致,
尼克·戴
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.
Nick,
此部分(大多数缓冲器)的某种情况类似于一侧的静态电压偏移(此部分在一侧)。 它使用小电流源监控哪一侧拉低,以避免闭锁。 您可以在此处阅读有关此内容的更多信息:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
偏移量约为200mV,这与您看到的情况类似。
数据表的第8页和第9页对此进行了说明,但是图标题中有一个错误(在我们的待办事项列表上进行修复),即总线A和总线B (应交换)。
您将看到当一个侧面拉低并 被拉至侧面收发器的音量时。 然后松开,它将 短暂锁定到电压偏移,然后升回Vcca。 当B侧拉低时,A侧将自动拉至偏移电压,然后松开时将跳回Vcca。 您可以在图5中看到这一点:
*请再次注意,这是A侧,即使图中显示它是B侧。
这不应该是I2C通信的问题,因为此偏移将< 0.3 Vcca,并且应该及时上升到Vcca,以便收发器读取正确的HIGH值。
谢谢!
-Bobby
你好,Nick,
我相信原因是你把SCLB压低然后释放。 B侧在短时间内仍处于低位,因为它不会立即被拉回到Vcc。 因此,当A侧释放且未驱动低电平时,B侧正在驱动低电平(导致200mV偏移)一小段时间,直到充电达到TCA9539看到B侧拉高并释放A侧的程度。
总之,B侧驱动的电压过低,导致B侧充电并释放A侧之前电压偏移一小段时间。 这是因为B侧必须在A之前上升。B侧可能在0.3 之后释放VccB,但根据内部电路的不同,它甚至可能是0.7 VccB*VccB。
您可以将示波器探测器放在SCLA和SCLB上,以检查B侧正在执行什么操作。 您看到SCLB上升并释放SCLA的时候是什么?
如果我对B侧需要达到阈值的要求是正确的,那么您可以通过降低B侧的电阻值来缩短A在偏移值下锁定的时间。 这将使B侧上升时间更快,并更快达到阈值。
谢谢!
-Bobby
你好,Nick,
"但问题是SCLA的SCLB阈值在2千欧时从偏移值上升到高,而4.7千 欧则不同。
您能否帮助检查如何理解阈值差异?"
我还认为释放一方的条件不仅仅是阈值。 可能需要满足两个条件,然后才能将它们送入和门。 我要说的第二个条件是必须满足最低转换速率,或者达到阈值后的一段时间内必须高于该值一段时间。 这是为了确保I2C总线上的任何振荡或噪音不会意外过早释放一个侧,从而导致信号完整性问题。
我之前谈到的阈值电压应该是恒定的,并馈入比较器。 您所看到的是较快的转换速率与较慢的转换速率的结果。 较快的转换速率是2.7k欧姆电阻器,因此在释放一侧之前,它会达到较高的电压。 (较低的电阻意味着更快的上拉速度,因此转换速率更快)
我怀疑他们获释时的时差应该是一样的。 (可能为0.3xVccB)
例如:如果我们说您必须高于0.3xVccB,并且在我们释放A之前必须达到15ns,则两个点都将在15ns的末尾释放A,但在释放过程中B侧的电压将取决于上拉电阻。 例如,较大的上拉电阻器(如4.7K)将导致电压降低,因为它的回转速度没有那么快。 假设在15 ns后,当释放时,它达到其最终值的81 %。 使用较低的电阻器(例如2.7k)可以说是相反的,在15 ns后,它会达到其最终值的93 % ,因为它具有更快的转换速率。
我希望这对您有意义。
您可以通过将光标移动到B端到达0.3 x VccB时和A端松开时来测试此情况(假设第二个条件是基于时间)。 查看4.7K和2.7k的时差。 它们应该彼此接近。
谢谢!
-Bobby