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.

[参考译文] Linux/DS90UB954-Q1:DS90UB954/DS90UB953设置的驱动程序或脚本示例

Guru**** 2482105 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/670272/linux-ds90ub954-q1-drivers-or-script-examples-for-the-ds90ub954-ds90ub953-setup

器件型号:DS90UB954-Q1

工具/软件:Linux

您好!

我正在努力使用 DS90UB954和 DS90UB953对板、我们有一个 CSI 成像仪和一个加速计连接到 DS90UB953串行器、解串器连接到运行嵌入式 Linux (内核版本4.9)的应用处理器。

1) 1)是否有适用于 DS90UB954 (以及可能的 DS90UB953)的 Linux 驱动程序? 或类似芯片中的任何示例驱动程序、我可以将其用作指南吗?

2) 2)我似乎无法通过 FPD3-Link 与串行器或远程 I2C 总线进行通信、我可以看到解串器已锁定、我可以从中读取寄存器、SER_ID 已正确读回(如果电缆未插入、则不会显示)。 但是、当我尝试访问串行器或远程 I2C 从器件时、我不会返回一个 ACK)。 我被告知我的应用处理器支持 I2C 时钟扩展、我可以看到 I2C 时钟在传输过程中停止。 254ms 后、传输以无应答结束。

我正在按照数据表中的示例设置 I2C 通道:

echo 4c >/sys/bus/i2c/devices/0-0030/reg_addr
Echo 1 >/sys/bus/i2c/devices/0-0030/reg_value


Echo 58 >/sys/bus/i2c/devices/0-0030/reg_addr
Echo D8 >/sys/bus/i2c/devices/0-0030/reg_value

Echo 5c >/sys/bus/i2c/devices/0-0030/reg_addr
Echo 30 >/sys/bus/i2c/devices/0-0030/reg_value

echo 5d >/sys/bus/i2c/devices/0-0030/reg_addr
echo d0 >/sys/bus/i2c/devices/0-0030/reg_value

Echo 65 >/sys/bus/i2c/devices/0-0030/reg_addr
echo d0 >/sys/bus/i2c/devices/0-0030/reg_value

echo 7c >/sys/bus/i2c/devices/0-0030/reg_addr
Echo 1 >/sys/bus/i2c/devices/0-0030/reg_value

Echo 70 >/sys/bus/i2c/devices/0-0030/reg_addr
echo 1f >/sys/bus/i2c/devices/0-0030/reg_value

当我尝试从远程 i2c 从器件读取数据时、我收到以下消息:

地址0xd0、0:0没有 ACK!
错误:无法写入 i2c!
:设备或资源忙

谢谢、

Adam

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

    假设在同步模式(50Mbps 反向通道)下操作953、则应将寄存器0x58设置为0x5E。 下面是一个示例脚本:


    #设置 ID
    UB954 = 0x60
    UB953ID = 0x30
    UB953 = 0x18
    OVTID = 0x60
    Ovt = 0xC4

    #设置端口0
    board.WriteI2C (UB954、0x4C、0x01)

    #设置反向通道配置(0x58)
    board.WriteI2C (UB954、0x58、0x5E)

    #设置 SER ID
    #board.WriteI2C (UB954、0x5B、UB953ID)
    #设置 SER 别名 ID
    board.WriteI2C (UB954、0x5C、UB953)
    #设置从属设备/摄像机 ID
    board.WriteI2C (UB954、0x5D、OVTID)
    #设置从属/摄像机别名 ID
    board.WriteI2C (UB954、0x65、OVT)

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

    谢谢 Davor、

    我返回检查同步与异步状态、然后看到器件设置为异步状态、而没有时钟馈送。 我将模式切换到同步状态、现在可以看到桥接 I2C 接口上的事务。 谢谢你。

    我认为此器件或器件系列没有任何公开可用的 Linux 驱动程序?

    谢谢、

    Adam

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

    没错。

    Davor