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.

[参考译文] DS90UB953-Q1:DS90UB914-Q1和 DS90UB953-Q1 I2C 时钟拉伸行为

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/895383/ds90ub953-q1-ds90ub914-q1-and-ds90ub953-q1-i2c-clock-stretching-behavior

器件型号:DS90UB953-Q1
主题中讨论的其他器件: 、DS90UB914A-Q1DS90UB913Q-Q1

我正在尝试查看是否可以将 DS90UB953-Q1串行器与 DS90UB914-Q1解串器配合使用、如 SNLA270 (即 DS90UB914A-Q1)中所述。  我使用 DS90UB953-Q1EVM 进行基准原型设计、通过双绞线连接到我们现有硬件上的 DS90UB914-Q1。  我从 DS90UB914-Q1获得良好的锁定输出、这表明 FPD-Link III 通道正常工作、DS90UB953-Q1的 I2C 地址显示在 DS90UB914-Q1的 SER ID 寄存器(0x06)中。  我将953的 I2C 地址从 SER ID 寄存器复制到 SER 别名寄存器(0x07)、但当我尝试访问'953时、'953显然会启动很长的时钟扩展、最终迫使'914后面的 I2C 主设备放弃:

这是否是 DS90UB914-Q1和 DS90UB914A-Q1之间的兼容性差异、会使"非 A"版本无法与 DS90UB953-Q1配合使用?

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

    您好 Brian、

    您可以再发送编程步骤吗?

    此致、

    Casey  

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

    下面是一个 U-boot 序列示例:

    U-Boot >
    U-Boot > i2c dev 1.
    将总线设置为1
    U-Boot > i2c MD 0x60 0x00 0x100
    0000:C0 04 00 E9 00 30 00 00 00 00 00 00 00 00 00 00 00 00 0 ..........   <--注意 SER ID 地址已设置为0x30
    0010:00 00 00 00 00 00 00 00 01 00 13 33 33 08… 33.
    0020:FE 17 00 08 00 00 00 20 00 00 08 00 00.......... …
    0030:00 00 00 25 fa 00 00 00 00 18 60 00 00 00 10……%……… `…
    0040:82 00 35 00 00 00 00 08 00 00 20 00 ... 5 .......... 。
    0050:Fe fc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0060:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0070:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0080:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0090:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00A0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00b0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00c0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00d0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00e0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00f0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    U-Boot > i2c MW 0x60 0x07 0x30    <--将 SER 别名寄存器设置为0x30
    U-Boot > i2c MD 0x60 0x00 0x10
    0000:C0 04 00 E9 00 30 30 00 00 00 00 00 00 00 00 00 00 00 00…
    U-Boot > i2c 探针
    有效的芯片地址:WAIT_for_SR_STAC:失败的 SR=20 CR=B8 state=202
    Wait_for_SR_state:Failed SR=20 CR=88 state=2000
    I2C_IMX_STOP:触发停止失败
    I2C_INIT_transfer:芯片0x18 retry=0时失败
    FORCE_IDLE_BUS:SDA=1 SCL=0 sda.gp=0x6d SCL.gp=0x6c
    FORCE_IDLE_BUS:无法清除总线、sda=1 SCL=0
    I2C_init_transfer:放弃 i2c_regs=021a4000
    Wait_for_SR_state:仲裁丢失 SR=93 CR=80 state=2020
    I2C_INIT_transfer:芯片0x19 RETRY = 0时失败
    FORCE_IDLE_BUS:SDA=1 SCL=0 sda.gp=0x6d SCL.gp=0x6c
    Wait_for_SR_state:Failed SR=84 CR=a0 state=2020
    I2C_INIT_transfer:针对芯片0x19 retry=1失败
    总   线探针上显示60 <-- DS90UB914Q 解串器,但 DS90UB953会生成上述错误
    U-Boot >

     

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

    您好 Brian、

    SERID 和 SERAlias 的值不应相同。 请尝试将 SERALIAS 设置为另一个值、例如0x18、并尝试从地址0x18访问串行器

    此致、

    Casey  

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

    U-boot 序列:

    U-Boot > i2c MW 0x60 0x07 0x18
    U-Boot > i2c MD 0x60 0x00 0x10
    0000:C0 04 00 E9 00 30 18 00 00 00 00 00 00 00 00 00 00 0 ..........
    U-Boot > i2c 探针
    有效的芯片地址:WAIT_for_SR_STAC:失败的 SR=20 CR=B8 state=202
    Wait_for_SR_state:Failed SR=20 CR=88 state=2000
    I2C_IMX_STOP:触发停止失败
    I2C_INIT_transfer:芯片0xc retry=0时失败
    FORCE_IDLE_BUS:SDA=1 SCL=0 sda.gp=0x6d SCL.gp=0x6c
    FORCE_IDLE_BUS:无法清除总线、sda=1 SCL=0
    I2C_init_transfer:放弃 i2c_regs=021a4000
    Wait_for_SR_state:仲裁丢失 SR=93 CR=80 state=2020
    I2C_INIT_transfer:芯片0xd retry=0时失败
    FORCE_IDLE_BUS:SDA=1 SCL=0 sda.gp=0x6d SCL.gp=0x6c
    Wait_for_SR_state:Failed SR=84 CR=a0 state=2020
    I2C_INIT_transfer:针对芯片0xd retry=1失败
    60
    U-Boot >

    唯一的区别是总线探针现在在新地址失效(如果在串行别名寄存器中输入0x18、则为0x0C、因为地址向左移动了一位)。

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

    顺便提一下、如果 DS90UB913Q-Q1是串行器、则可以将 SER ID 和 SER 别名设置为相同的值。

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

    您好 Brian、

    我想验证以下几点:

    -您能否探测914的反向通道?

    -您是否正在使用 PoC? 您的 PoC 网络是什么样的?

    最棒的

    Jiashow

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

    探测反向通道到底意味着什么? 我看到串行器 I2C 地址自动出现在914的寄存器0x06中、因此我假设反向通道在某种程度上工作。  请告诉我是否需要尝试特定的操作。

    我不使用 POC。 我们正在使用 STP、我已修改 DS90UB953-Q1EVM (遇到困难!) STP 连接。 同样、我看到串行器 I2C 地址出现、并且从914中获得良好的锁定信号、因此我认为物理连接良好。

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

    您好 Brian、

    我打算通过将914的输出直接连接到示波器来检查反向通道、以验证反向通道信号是否正常。