TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] DS90UB954-Q1:检测解串器中的帧并通过解串器控制与串行器的 I2C 通信。

Guru**** 2046970 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1468711/ds90ub954-q1-detect-frames-in-deserializer-and-control-i2c-communication-with-serializer-through-deserializer

器件型号:DS90UB954-Q1

工具与软件:

您好!

    我们正在研究串行器/解串器(DS90UB953TRHBRQ1/DS90UB954)、  DS90UB954与 IMX8Mplus 连接、还有 2个 DS90UB953串行器连接到 DS90UB954、 共享2个通道 、每个通道都有4个 DS90UB954通道 。

我们可以从这两个器件进行流式传输、但我们还想监测是否都从两个串行器接收帧、我们在下面进行了尝试、但没有什么帮助

1.使用  LOCK_STS 寄存器和  LOCK_STS_CHG 、我们可以检测硬件串行器连接、但无法识别是否正在接收帧。

2.我们还尝试读取 line_count、但即使其中一个串行器 未连接或发送帧、线数仍然不为零值(我们已 使用0x4C reg 选择相应的端口)。





问题:

1. 如何检测是否有帧进入解串器,即使一个串行器不发送帧解串器应该知道?
2.如何阻止 i2c 通信与一个串行器连接在一个端口,但启用与另一个连接到备用端口的串行器的通信,如果需要,如何禁用只 BAC 通道通信,但允许正向通道流?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的提问。 锁定状态仅指示特定端口上的954和953是否已连接并能够传输数据。 线数寄存器是特定于端口的、将通过控制您提到的0x4C 来根据特定端口上看到的线数进行更新。 然而、这些寄存器不清零、因此如果之前接收到任何数据、那么该寄存器将返回非零值。

    954没有任何活动计数器来监控器件是否从特定端口接收数据。 如果您的摄像头和处理器可以支持虚拟通道、您可以为每个端口分配不同的虚拟通道、然后、处理器可以对接收到的一个或两个虚拟通道进行解码。  

    您是否是指控制在给定时间将 I2C 事务发送到哪个串行器? 可以使用寄存器0x5C 为每个串行器编程 I2C 别名。 使用寄存器0x4C 在端口之间进行切换、并为每个端口设置唯一的别名。 当使用端口0的别名时、事务只会发送到端口0串行器、而当使用端口1的别名时、事务只会发送到端口1串行器。