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-Q1EVM:DS90UB954-Q1EVM:连接到 DS90UB954-Q1EVM 板的 NVIDIA Jetson TX2的 I2C 转发问题

Guru**** 1142300 points
Other Parts Discussed in Thread: DS90UB953-Q1EVM, DS90UB954-Q1EVM, ALP
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/982693/ds90ub954-q1evm-ds90ub954-q1evm-i2c-forwarding-issue-from-nvidia-jetson-tx2-attached-to-ds90ub954-q1evm-board

器件型号:DS90UB954-Q1EVM
主题中讨论的其他器件:DS90UB953-Q1EVMALP

大家好、我的系统使用 DS90UB954-Q1EVM 和 DS90UB953-Q1EVM 串行器/解串器对、采用 NVIDIA Jetson TX2设置、如下所示:

我需要能够通过 FPD Link 从 TX2向连接到远程侧串行器的摄像头传感器发送 I2C 读取和写入命令。 TX2的 I2C 速度为1MHz。 我将串行器的速度设置得稍快一些。 摄像头和串行器具有相同的 I2C 地址、因此我已将串行器地址更改为要解压缩的内容。  

现在、当我尝试从 TX2发送 I2C 命令时、解串器会接收到该命令并通过 FPD 链接发送、串行器会在该链接中将该命令重新广播到摄像头传感器。 摄像头传感器会确认第一个字节、但不会发生任何情况。 解串器侧的 SDA 线无限期变为低电平、解串器似乎锁定。 我无法再使用 Analog Launch Pad 软件与其进行通信、我必须对整个过程进行循环通电。 串行器似乎不受影响。 我已附上下面的图表、以显示示波器上的 I2C 事务:  

我需要此 I2C 流量转发功能与 NVIDIA TX2正常配合使用、才能完全实现此串行器/解串器对。  

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

    您好!

    看起来图像传感器将 SCL 线保持在低电平。 摄像头是否还支持1MHz I2C? 您的上拉电阻器值是多少?

    最棒的

    Jiashow

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

    您好!

    摄像头模块本身不包含任何上拉电阻器、上拉电阻器由串行器板提供(每个1.21k)。 摄像机可以处理1MHz 的 I2C 速度。 有时串行器 SCL 线路最终会被释放、但解串器侧的 SDA 线路始终保持低电平。

    实际上、我已经能够将 i2c 命令从解串器转发到摄像机、并以该速度获得响应。  我能够看到这一工作原理、因为串行器的默认远程地址与摄像机的地址(0x18)相同。 为了解决这一问题、我必须每次更改串行器的地址以解析。 但是、在 ALP 软件中、在"Remote Registers"选项卡上、我可以单击"Display"、解串器会轮询它认为串行器的地址、但实际上是摄像头的地址。 我可以在示波器和摄像头上看到大量的读取、以1MHz 的频率响应其所有寄存器的内容。 因此、解串 器到摄像头 i2c 转发工作正常、但我的 NVIDIA TX2的 I2C 到摄像头却不工作。 解串器侧是否需要更慢?  

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

    您好、Matthew、

    您可以更改解串器寄存器0x00中的串行器地址、以避免与 I2C 写入冲突。 但最好的方法是通过物理方式更改 IDX 引脚。

    您是否也可以尝试降低 I2C 速率?  

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

    您好、再说一次、

    我尝试将串行器侧的 I2C 总线速度降低到100kHz (目前我无法更改 TX2侧的 I2C 速度)、但仍然没有成功。 我想知道这是否是解串器端的 I2C 主机无法支持时钟扩展功能的另一个问题。 我在上一个帖子中使用了不同的 i2c 主机器件时遇到了此问题。 如果 I2C 主机不支持时钟扩展、解串器是否应该完全锁定并像它那样无响应? 导致该问题的原因是什么?  

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

    您好、Matthew、

    感谢您提出这个问题。 没错、这是时钟拉伸的确切行为。 您可以参考此应用手册中的图9:  

    您能否确保 SoC 能够支持时钟扩展?

    最棒的

    Jiashow

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

    本应用手册非常有用、谢谢。 我需要弄清楚如何让我的 NVIDIA 设备支持时钟扩展功能。  

    感谢您提供的有用反馈、谢谢