主题中讨论的其他器件:DS92LX1622、
您好!
如果我断开 DS92LX1621至 DS92LX1622之间的电缆并读取 I2C 寄存器地址0xC、我在应用中遇到了很多 LINK_DETECT 位的问题;大多数情况下、我发现 LINK_DETECT = 1 (有时为0);如果我在电缆已断开的情况下为电路板加电、也会发生这些问题。
此行为是否正确?
谢谢你
卢卡
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.
您好!
如果我断开 DS92LX1621至 DS92LX1622之间的电缆并读取 I2C 寄存器地址0xC、我在应用中遇到了很多 LINK_DETECT 位的问题;大多数情况下、我发现 LINK_DETECT = 1 (有时为0);如果我在电缆已断开的情况下为电路板加电、也会发生这些问题。
此行为是否正确?
谢谢你
卢卡
您好、Bryan、
我认为这是您必须在产品数据表上报告的一个重要注意事项。
您的注意事项无法解决我的问题、因为我正在以显示模式工作、所以如果断开电缆、与 链路状态(0xA、0xB、0xC)相关的 SER 寄存 器将不可用、则检测断开连接的唯一方法是轮询解串器并测试 I2C 错误。 这是真的吗?
在正常功能期间、序列化的这些状态寄存 器(0xA、0xB、0xC)是 DES'寄存器(0x1A、0x1B、0x1C)的副本?
在我的应用中、如果我频繁轮询解串器(每秒大约20次 I2C 通信)、有时会发生通信永久故障(16位流也错误)、恢复解串器的唯一方法是重启电源。 对于 I2C 通信、有任何设置要做吗? 或者是否需要考虑其他更强的链路连接?
我的 PCLK 以32MHz 的频率工作。
谢谢
卢卡
尊敬的 Luca:
感谢您的澄清和其他信息。
链路检测功能对电缆断开时的噪声敏感。 由于您是在显示模式而不是摄像头模式下工作、因此除非只轮询响应、否则不建议读取0x1c[0]。
另一个选项是在0xC[1]中读取 CRC 校验、以查看在与解串器通信期间是否存在错误。 这不应给接口增加额外的压力、因为链路检测位还需要在某个设置的间隔进行轮询、而该位将代替它进行轮询。
为了实现更强的链路连接、建议确保设计符合数据表中给出的抖动和其他通道规格。
如果仍有任何问题、请告知我。
此致、
Bryan Kahler
您好 Brian、
感谢您的回答现在很明显、要了解链接、我必须检查解串器器件上的状态。
还有一个问题:
"在我的应用中、如果我频繁轮询解串器(每秒大约20次 I2C 通信)、有时会发生通信永久失败(16位流也错误)、恢复解串器的唯一方法是重启电源。 有任何设置可用于 I2C 通信?"
您认为这是由 I2C 频率(10kHz)引起的吗? 有什么需要设置的? 还是减少通信数量很有用?
谢谢你
Luca Turrini
尊敬的 Luca:
由于您在显示模式下运行、请确保 解串器上的寄存器0x08~0x17在启动后复位为0x00。
10kHz 的 i2c 总线速率很可能是造成这种情况的原因:
I2C 总线速率也应在寄存器0x05中设置。 比率由 fSCL/寄存器值(十进制)确定。
默认设置为0x40、这会导致 i2c 总线速率为~100kHz SCL、其中 fSCL = 6.25MHz。
不支持低于0x32的值、可适应位空间的最大理论值为0xFF。 当 fSCL = 6.25MHz 且值为0xFF 时、i2c 总线速率将为~25kHz SCL。
此致、
Bryan Kahler
您好 Brian、
我已将 I2C 的频率设置为100KHz (默认值)、但我再次遇到一些奇怪的错误:
*当我断开电缆连接时、SER 上的 CRC 计数器有时为0、而其他时间则不同。
* SER 的 CRC 标志(0xC 位1),在电缆断开连接后,有时会永久置为1,在电缆已插入且连接打开时也是如此。 在这之后、与 DES 的 I2C 链路丢失、重新使其稳定的唯一方法是将 SER (寄存器0x01)复位
我的连接是显示模式、如您在下面的设计中所见。
我希望设置可能错误、您能给我建议 SER & DES 配置的正确顺序吗? 通过 I2C 读取有哪些有用 的功能、以便在正常通信期间监控链路、而不是读取?
提前感谢您
Luca Turrini
您好、Bryan、
现在、我的 i2c 总线的运行频率为100KHz (默认值)、但我还有一些奇怪的行为:
我想这可能是 I2C 配置错误。
为了避免出现故障、DES 每秒轮询的最大次数是多少?
我在后面添加了解串器连接的方框图、您能否为器件 SER 和 DES 向我发送正确的设置?
提前感谢您
卢卡
尊敬的 Luca:
对于 CRC 错误、它们不应随着电缆断开而递增。
要确定电缆是否断开连接、请查询 LOCK 和 CRC 寄存器。 如果发现失锁、请再次轮询 LOCK 和 CRC 寄存器、该值不应递增。 在需要电缆和锁存的主动通信期间、CRC 错误会累积。
在正常通信期间(电缆连接和锁定)、如果 i2c 存在 CRC 错误、CRC 错误的数量应增加。
对于 i2c 吞吐量、i2c 接口应在传输完成后可用于后续传输。 最大速率将因可能的时钟拉伸而变化。
此致、
Bryan Kahler