Other Parts Discussed in Thread: TCA9555, PCA9555
主题中讨论的其他器件: PCA9555
您好、Sirs、
还有一个问题。
请问您的 I2C 输入上升时间数据表上的测试条件是什么?
该值显示最大值为1000ns,但我们使用800ns,BMC 将发送失败消息。
因此,我们想知道测试条件是什么。
谢谢!!
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.
Shu-Cheng、您好!
您所指的时序是表7.6中的 I2C 接口时序、该时序取自 I2C 标准。 从19的参考图中、我假设测试是使用1k 上拉电阻和50pF 负载电容完成的。
现在讨论上升时间。 您需要了解、上升时间不应受到单个 I2C 器件的很大影响。 上升时间是上拉电阻器(器件外部)和总线上电容的函数。 I2C 器件的电容最大应为10pF、因此这不应对上升时间产生太大的影响。
在标准模式下、您提到的800ns 值低于1000ns、但如果您想要调整此上升时间参数、则需要操作上拉电阻器。 其中、较低值的电阻器会产生较短的上升时间、而较大的电阻器会进一步降低上升时间。
谢谢、
-Bobby
舒
"那么、我是否可以知道在您的测试中使用1k 上拉电阻和50pF 负载电容器的 I2C 的上升时间是多少?"
我无法访问该信息、但在这种负载下、您应该预计上升时间大约为42纳秒、从 Vcc 的70%到 Vcc 的30%。
"如果上升时间大约为1000ns、TI 如何确保上升时间不会受到 TCA9555的影响? "
我查看了该器件的内部设计。 SCL 只有一个经过 ESD 结构的器件输入级。 输入缓冲器是 CMOS FET 的栅极。 除了寄生电容外、没有任何其他因素会影响从该电容产生的上升时间。
"喜欢...有报告或任何文档?"
请参阅以下文档、了解上升时间如何受到影响以及如何控制上升时间。
谢谢、
-Bobby
您好、Shu、
"我们想知道 TI 是否在内部测试了此规范?"
我们不会根据时序要求对器件进行筛选。 测试是在使用与该器件共享同一数字内核的器件之前完成的、结果是该器件通过了所有飞行颜色的时序要求(非常好)。 我一直与负责管理您所要求的客户的 FAE 合作。 我向他提供了您要求的内容(文档)。 我无法在此处提供此数据、因为它需要 NDA。
"您能否与 TI 分享如何定义此1000ns 规格?"
I2C 标准定义为最大值。
我发现的数据显示、400pF 负载和10pF 均可在-40C 和85C 的两种情况下提供高达1100ns 的 Vcc 1.6V 和5.5V 时的 ACK。
即使在您的情况下、我们的器件也能满足低于1000ns 的要求。 在这方面没有问题、我认为您从保证的角度来看、低于1000ns 的任何内容都可以正常工作。
"您对此案例有什么想法吗?"
此问题似乎是编码问题、您会收到错误的负面信息。 根据您提供的信息,我们的设备似乎仍在工作,但您的 BMC 只是认为有问题。
'如果更改为使用 NXP PCA9555ㄝ并在两侧使用原始电阻器(SCL/SDA)、我们的 BMC 将通过(上升时间为800ns)。'
我建议尝试将 PCA9555的上升时间设置为类似于我们的器件所见的860ns 或900ns、并查看 BMC 是否认为这是故障。
-Bobby
您好、Sirs、
感谢您的回复。
"BMC 未发送任何错误消息。" BMC 是否会告诉您问题是由于上升时间所致,还是可能有其他问题发生,而您认为问题是上升时间? (因为您可以通过使用上拉电阻器使上升时间加快来获得100%的通过?)
是~我们更改了快速上升时间后、100%修复了故障现象。
"因此,可以进行长时间验证,因为此问题不会出现在每个读取/写入条件下,因此很可能发生。"
我们可以设置一些操作来执行此操作、但您需要我们运行测试多长时间? 是否100%的器件发生故障、或者故障额定值是否也较低?
当然、如果可能、我们需要100%的器件测试。
我们还需要知道有多少读取/写入时间可以满足故障现象。 (就像读/写10000次会遇到第一次失败的情况一样。。。)
嘿、Shu、
我刚刚使用3个不同的上拉电阻器运行了一个测试。 5k (上升时间远低于1000ns)、28k (上升时间~850ns)和33k (上升时间~950ns)。
下图是28k 上拉电阻器:
我设置我的代码以设置 (写入)配置寄存器、输出寄存器(全部为高电平)和输出寄存 器(全部为低电平)、然后读取我写入的寄存器。 我的代码检查我是否收到 ACK 以及写入器件的数据是否与我读取的数据相同。
我将代码循环运行30、000次、并使用所有3个不同的上拉电阻器运行5次、无法检测到任何错误。
(我已验证我的代码是否检测到 Nacks 和错误数据)。
我从未发现过任何故障。
谢谢、
-Bobby