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.

[参考译文] DS90UB960-Q1:在彩色条图形模式下、在 Android 摄像机调试期间接收到数十个彩色图像帧后、平台停止输出图像帧。

Guru**** 2540720 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1563668/ds90ub960-q1-in-color-patterns-mode-the-platform-ceases-to-output-image-frames-after-receiving-several-dozen-color-image-frames-during-android-camera-debugging

部件号:DS90UB960-Q1


工具/软件:

1280*720 YUV422 8 位

寄存器配置:

Register configuration:
addr, val
0x01, 0x01
0x1F, 0x03
0x32, 0x01
0x33, 0x01
0xB0, 0x00
0xB1, 0x01
0xB2, 0x01
0xB1, 0x02
0xB2, 0x34
0xB1, 0x03
0xB2, 0x1E
0xB1, 0x04
0xB2, 0x0A
0xB1, 0x05
0xB2, 0x00
0xB1, 0x06
0xB2, 0x01
0xB1, 0x07
0xB2, 0x40
0xB1, 0x08
0xB2, 0x02
0xB1, 0x09
0xB2, 0xD0
0xB1, 0x0A
0xB2, 0x02
0xB1, 0x0B
0xB2, 0xFD
0xB1, 0x0C
0xB2, 0x08
0xB1, 0x0D
0xB2, 0x83
0xB1, 0x0E
0xB2, 0x21
0xB1, 0x0F
0xB2, 0x0A
0xB1, 0x10
0xB2, 0xAA
0xB1, 0x11
0xB2, 0x33
0xB1, 0x12
0xB2, 0xF0
0xB1, 0x13
0xB2, 0x7F
0xB1, 0x14
0xB2, 0x55
0xB1, 0x15
0xB2, 0xCC
0xB1, 0x16
0xB2, 0x0F
0xB1, 0x17
0xB2, 0x80
0xB1, 0x18
0xB2, 0x00
0xB1, 0x19
0xB2, 0x00
0xB1, 0x1A
0xB2, 0x00
0xB1, 0x1B
0xB2, 0x00
0xB1, 0x1C
0xB2, 0x00
0xB1, 0x1D
0xB2, 0x00
0xB1, 0x1E
0xB2, 0x00
0xB1, 0x1F
0xB2, 0x00
0xB1, 0x40
0xB2, 0x05
0xB1, 0x41
0xB2, 0x1B
0xB1, 0x42
0xB2, 0x0B
0xB1, 0x43
0xB2, 0x0A
0xB1, 0x44
0xB2, 0x06
0xB1, 0x45
0xB2, 0x0C
0xB1, 0x46
0xB2, 0x08
0xB1, 0x47
0xB2, 0x0B
0xB1, 0x48
0xB2, 0x06
0xB1, 0x60
0xB2, 0x05
0xB1, 0x61
0xB2, 0x1B
0xB1, 0x62
0xB2, 0x0B
0xB1, 0x63
0xB2, 0x0A
0xB1, 0x64
0xB2, 0x06
0xB1, 0x65
0xB2, 0x0C
0xB1, 0x66
0xB2, 0x08
0xB1, 0x67
0xB2, 0x0B
0xB1, 0x68
0xB2, 0x06

MIPI

在颜色图形模式下、在 Android 摄像机调试期间接收到数十个颜色图像帧后、平台停止输出图像帧。

问题:

当前寄存器设置中是否存在配置错误?
捕获的 MIPI 信号(如图所示)是否 符合规范?

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

    尊敬的 Bingkang:  

    感谢您分享您所看到案例的相关信息。 我的理解是、UB960 输出摄像头数据时、您看到了一个停止。 根据提供的寄存器、似乎正在使用解串器图形生成。 启用解串器图形发生器后、UB960 将继续输出此数据、直到禁用图形发生器或 CSI TX 端口。 解串器图形发生器将防止输出在 RX 端口上接收到的视频数据。 如果打算输出从 RX 端口接收到的数据、请将间接寄存器 0x01 设置为 0x0。  

    您能提供完整 UB960 主页的寄存器转储吗?  

    此致、

    Zoe

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

    将间接寄存器 0x01 设置为 0x0

    如上所述、此配置不能解决问题、导致出现绿色屏幕。

    以下是转储的主寄存器信息。

    reg[0x0]: 0x60
    reg[0x1]: 0x0
    reg[0x2]: 0x1e
    reg[0x3]: 0x40
    reg[0x4]: 0xd0
    reg[0x5]: 0x1
    reg[0x6]: 0x0
    reg[0x7]: 0xfe
    reg[0x8]: 0x1c
    reg[0x9]: 0x10
    reg[0xa]: 0x7a
    reg[0xb]: 0x7a
    reg[0xc]: 0xf
    reg[0xd]: 0xb9
    reg[0xe]: 0x0
    reg[0xf]: 0xff
    reg[0x10]: 0x0
    reg[0x11]: 0x0
    reg[0x12]: 0x0
    reg[0x13]: 0x0
    reg[0x14]: 0x0
    reg[0x15]: 0x0
    reg[0x16]: 0x0
    reg[0x17]: 0x0
    reg[0x18]: 0x0
    reg[0x19]: 0x0
    reg[0x1a]: 0x0
    reg[0x1b]: 0x0
    reg[0x1c]: 0x0
    reg[0x1d]: 0x0
    reg[0x1e]: 0x4
    reg[0x1f]: 0x3
    reg[0x20]: 0xf0
    reg[0x21]: 0x3
    reg[0x22]: 0x0
    reg[0x23]: 0x0
    reg[0x24]: 0x0
    reg[0x25]: 0x0
    reg[0x26]: 0x0
    reg[0x27]: 0x0
    reg[0x28]: 0x0
    reg[0x29]: 0x0
    reg[0x2a]: 0x0
    reg[0x2b]: 0x0
    reg[0x2c]: 0x0
    reg[0x2d]: 0x0
    reg[0x2e]: 0x0
    reg[0x2f]: 0x0
    reg[0x30]: 0x0
    reg[0x31]: 0x0
    reg[0x32]: 0x1
    reg[0x33]: 0x1
    reg[0x34]: 0x0
    reg[0x35]: 0x0
    reg[0x36]: 0x0
    reg[0x37]: 0x0
    reg[0x38]: 0x0
    reg[0x39]: 0x0
    reg[0x3a]: 0x0
    reg[0x3b]: 0x0
    reg[0x3c]: 0x0
    reg[0x3d]: 0x0
    reg[0x3e]: 0x0
    reg[0x3f]: 0x0
    reg[0x40]: 0x0
    reg[0x41]: 0xa9
    reg[0x42]: 0x71
    reg[0x43]: 0x1
    reg[0x44]: 0x0
    reg[0x45]: 0x0
    reg[0x46]: 0x20
    reg[0x47]: 0x0
    reg[0x48]: 0x0
    reg[0x49]: 0x0
    reg[0x4a]: 0x0
    reg[0x4b]: 0x12
    reg[0x4c]: 0x0
    reg[0x4d]: 0x13
    reg[0x4e]: 0x4
    reg[0x4f]: 0x2e
    reg[0x50]: 0x68
    reg[0x51]: 0x0
    reg[0x52]: 0x0
    reg[0x53]: 0x0
    reg[0x54]: 0x0
    reg[0x55]: 0x0
    reg[0x56]: 0x0
    reg[0x57]: 0x0
    reg[0x58]: 0x18
    reg[0x59]: 0x0
    reg[0x5a]: 0x0
    reg[0x5b]: 0xb0
    reg[0x5c]: 0x0
    reg[0x5d]: 0x0
    reg[0x5e]: 0x0
    reg[0x5f]: 0x0
    reg[0x60]: 0x0
    reg[0x61]: 0x0
    reg[0x62]: 0x0
    reg[0x63]: 0x0
    reg[0x64]: 0x0
    reg[0x65]: 0x0
    reg[0x66]: 0x0
    reg[0x67]: 0x0
    reg[0x68]: 0x0
    reg[0x69]: 0x0
    reg[0x6a]: 0x0
    reg[0x6b]: 0x0
    reg[0x6c]: 0x0
    reg[0x6d]: 0x7f
    reg[0x6e]: 0x88
    reg[0x6f]: 0x88
    reg[0x70]: 0x2b
    reg[0x71]: 0x2c
    reg[0x72]: 0xe4
    reg[0x73]: 0x0
    reg[0x74]: 0x0
    reg[0x75]: 0x0
    reg[0x76]: 0x0
    reg[0x77]: 0xc5
    reg[0x78]: 0x0
    reg[0x79]: 0x1
    reg[0x7a]: 0x0
    reg[0x7b]: 0x0
    reg[0x7c]: 0x20
    reg[0x7d]: 0x0
    reg[0x7e]: 0x0
    reg[0x7f]: 0x0
    reg[0x80]: 0x0
    reg[0x81]: 0x0
    reg[0x82]: 0x0
    reg[0x83]: 0x0
    reg[0x84]: 0x0
    reg[0x85]: 0x0
    reg[0x86]: 0x0
    reg[0x87]: 0x0
    reg[0x88]: 0x0
    reg[0x89]: 0x0
    reg[0x8a]: 0x0
    reg[0x8b]: 0x0
    reg[0x8c]: 0x0
    reg[0x8d]: 0x0
    reg[0x8e]: 0x0
    reg[0x8f]: 0x0
    reg[0x90]: 0x0
    reg[0x91]: 0x0
    reg[0x92]: 0x0
    reg[0x93]: 0x0
    reg[0x94]: 0x0
    reg[0x95]: 0x0
    reg[0x96]: 0x0
    reg[0x97]: 0x0
    reg[0x98]: 0x0
    reg[0x99]: 0x0
    reg[0x9a]: 0x0
    reg[0x9b]: 0x0
    reg[0x9c]: 0x0
    reg[0x9d]: 0x0
    reg[0x9e]: 0x0
    reg[0x9f]: 0x0
    reg[0xa0]: 0x0
    reg[0xa1]: 0x0
    reg[0xa2]: 0x0
    reg[0xa3]: 0x0
    reg[0xa4]: 0x0
    reg[0xa5]: 0x1a
    reg[0xa6]: 0x0
    reg[0xa7]: 0x0
    reg[0xa8]: 0x0
    reg[0xa9]: 0x0
    reg[0xaa]: 0x0
    reg[0xab]: 0x0
    reg[0xac]: 0x0
    reg[0xad]: 0x0
    reg[0xae]: 0x0
    reg[0xaf]: 0x0
    reg[0xb0]: 0x0
    reg[0xb1]: 0x68
    reg[0xb2]: 0x4
    reg[0xb3]: 0x8
    reg[0xb4]: 0x25
    reg[0xb5]: 0x0
    reg[0xb6]: 0x18
    reg[0xb7]: 0x0
    reg[0xb8]: 0x8f
    reg[0xb9]: 0x33
    reg[0xba]: 0x83
    reg[0xbb]: 0x74
    reg[0xbc]: 0x80
    reg[0xbd]: 0x0
    reg[0xbe]: 0x0
    reg[0xbf]: 0x0
    reg[0xc0]: 0x0
    reg[0xc1]: 0x0
    reg[0xc2]: 0x0
    reg[0xc3]: 0x0
    reg[0xc4]: 0x0
    reg[0xc5]: 0x0
    reg[0xc6]: 0x0
    reg[0xc7]: 0x0
    reg[0xc8]: 0x0
    reg[0xc9]: 0x0
    reg[0xca]: 0x0
    reg[0xcb]: 0x0
    reg[0xcc]: 0x0
    reg[0xcd]: 0x0
    reg[0xce]: 0x0
    reg[0xcf]: 0x0
    reg[0xd0]: 0x0
    reg[0xd1]: 0x43
    reg[0xd2]: 0x94
    reg[0xd3]: 0x2
    reg[0xd4]: 0x60
    reg[0xd5]: 0xf2
    reg[0xd6]: 0x0
    reg[0xd7]: 0x2
    reg[0xd8]: 0x0
    reg[0xd9]: 0x0
    reg[0xda]: 0x0
    reg[0xdb]: 0x0
    reg[0xdc]: 0x0
    reg[0xdd]: 0x0
    reg[0xde]: 0x0
    reg[0xdf]: 0x0
    reg[0xe0]: 0x0
    reg[0xe1]: 0x0
    reg[0xe2]: 0x0
    reg[0xe3]: 0x0
    reg[0xe4]: 0x0
    reg[0xe5]: 0x0
    reg[0xe6]: 0x0
    reg[0xe7]: 0x0
    reg[0xe8]: 0x0
    reg[0xe9]: 0x0
    reg[0xea]: 0x0
    reg[0xeb]: 0x0
    reg[0xec]: 0x0
    reg[0xed]: 0x0
    reg[0xee]: 0x0
    reg[0xef]: 0x0
    reg[0xf0]: 0x5f
    reg[0xf1]: 0x55
    reg[0xf2]: 0x42
    reg[0xf3]: 0x39
    reg[0xf4]: 0x36
    reg[0xf5]: 0x30
    reg[0xf6]: 0x0
    reg[0xf7]: 0x0
    reg[0xf8]: 0x0
    reg[0xf9]: 0x0
    reg[0xfa]: 0x0
    reg[0xfb]: 0x0
    reg[0xfc]: 0x0
    reg[0xfd]: 0x0
    reg[0xfe]: 0x0
    reg[0xff]: 0x0

    您能帮助检查是否有任何问题吗?

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

    尊敬的 Bingkang:  

    感谢您共享主页寄存器转储。 通过查看寄存器转储、可以发现锁定在解串器和串行器之间已启动且稳定。 根据寄存器转储、我遇到的一个问题是 0x4C、当前设置为 0x0。 这意味着将读回 RX 端口 0 寄存器、但不会完成对 RX 端口 0 特定寄存器的写入。  

    为了连接连接连接的串行器、我们需要在寄存器 0x58 第 6 位或第 7 位中启用 I2C 直通或 I2C 直通全部。 正确配置图像传感器可能需要 I2C 事务。 目前、默认情况下、两者都设置为 0。 我建议确认它是否已添加到您的初始化脚本中。  

    其次、您能否确认此处所需的预期 CSI-2 转换? 这里使用的系统似乎是连接到 UB960 的 UB933 或 UB913。 UB960 针对 RAW10 模式进行配置。 如果希望将 YUV422 8 位数据转换为 CSI-2 格式、建议更改寄存器 0x70 的设置以与所需的输出 CSI-2 格式保持一致。 目前、UB960 设置为转换为 RAW10 数据、这与 DVP 格式不匹配。 对于 YUV 422 8 位数据、我们预计寄存器 0x70 会被设置为 0x1E。  

    您是否能够确认上述系统理解正确? 如果错误、请提供方框图以帮助我们一致了解系统用例。  

    此致、

    Zoe

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

    您好 Zoe、  

    方框图如下所示:

     在这种情况下、 UB960 能否以 422 8 位格式输出 4 个图像数据通道?

    如果可能、最好提供一个相应的脚本示例。

    此致、

    Bingkang

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

    尊敬的 Bingkang:  

    是的、这是可以实现的。 请参阅下面用于启用 CSI 转发的示例脚本:  

    board.WriteI2C (devAddr0x32、0x03)#写入 TX 端口 0 和 TX 端口 1
    board.WriteI2C (devAddr0x1f0x00)#设置 1.6Gbps 速率
    board.WriteI2C (devAddr0x21、0x01)# CSI0 轮循转发
    board.WriteI2C (devAddr0x32、0x01)#选择 TX 端口 0
    board.WriteI2C (devAddr0x33、0x43)#启用 TX 端口 0,连续时钟,选择间接偏移校准序列 — 如果没有将偏移校准设置为 0x03
    board.WriteI2C (devAddr0x20、0x00)#启用将 RX 端口从 CSI TX0 转发出去
    与提供的寄存器转储相比、0x20 未启用从串行器转发数据。 该设置可在寄存器 0x20 中的任何时间点调整。  
    其次、 当前选择的是 400Mbps 速率。 如果在一个端口上传递 4 个传感器数据、则可能需要增加此值。 如果使用 400Mbps、还请确保集成以下代码:  
    应在寄存器 0x43 中启用 CSI 端口之前设置时序参数。  
    此致、
    Zoe
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Zoe、  

    我们尝试了提供的示例脚本、但它无法从传感器生成任何图像输出。 随后、我们测量了 TX 端口 0、发现没有 MIPI 信号输出。

    读取相应的状态寄存器会显示大量错误:

    // RX port 0
    reg[0x4D]:17
    reg[0x4E]:cd
    reg[0x55]:ff
    reg[0x56]:ff
    reg[0x7A]: f
    reg[0x7B]:ff
    
    // RX port 1
    reg[0x4D]:57
    reg[0x4E]:ed
    reg[0x55]:ff
    reg[0x56]:ff
    reg[0x7A]: f
    reg[0x7B]:ff
    
    // RX port 2
    reg[0x4D]:97
    reg[0x4E]:ed
    reg[0x55]:ff
    reg[0x56]:ff
    reg[0x7A]: f
    reg[0x7B]:ff
    
    // RX port 3
    reg[0x4D]:d7
    reg[0x4E]:ed
    reg[0x55]:ff
    reg[0x56]:ff
    reg[0x7A]: f
    reg[0x7B]:ff

    我们的其他寄存器参数配置可能存在错误。

    您能否提供 DS90UB913 + DS90UB960 的完整初始化示例脚本?

    此致、

    Bingkang

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

    尊敬的 Bingkang:  

    在此处拉回的寄存器预计在初始化时会出现错误。 您是否已确认是否再次出现这些错误? 我们需要执行初始读回以清除这些值、然后进行第二次状态拉动。

    下面是一个示例脚本、但需要填写缺少的详细信息、如成像仪 ID 和别名。 此外、需要添加初始化成像仪所需的配置代码。

    请注意、由于缺少其他详细信息、例如 SER - DES 和成像仪之间的 GPIO 连接和功能、此脚本可能无法正常工作。

    import time
    
    # Set up IDs
    UB960 = 0x60
    UB933 = 0x18
    OVTID = unknown
    OVT = 0xC4
    
    board.WriteI2C(UB960,0x4C,0x01) # selects RX port0. for Rx port1 write = 0x12
    board.WriteI2C(UB960,0x58,0x58) # Set up Back Channel Config (0x58)
    board.WriteI2C(UB960,0x5C,UB933) # Set up SER Alias ID
    board.WriteI2C(UB960,0x5D,OVTID) # Set up Slave/Camera ID
    board.WriteI2C(UB960,0x65,OVT) # Set up Slave/Camera Alias ID
    board.WriteI2C(UB960,0x6D,0x7F) # setup FPD3_MODE
    board.WriteI2C(UB960,0x70,0x1E) # setup FPD3_MODE
    board.WriteI2C(UB960,0x7C,0x00) # setup FPD3_MODE
    
    # board.WriteI2C(UB960,0x6E,bc_gpio_ctl0)		# setup bc_gpio_ctl0
    # board.WriteI2C(UB960,0x7D,0x01)				# set PASS_THRESHOLD=1
    # board.WriteI2C(UB953,0x0E,0xC0) # Set GPIO2 and GPIO3 to outputs, where GPIO2 = PWDN and GPIO3 = RESET
    # board.WriteI2C(UB953,0x0D,0x0C) # Set GPIO2 and GPIO3 to High - bring OVT Sensor out of power down mode
    # time.sleep(0.1)
    # board.WriteI2C(UB953,0x0D,0x04) # Bring GPIO3 low to place 10640 in reset
    # time.sleep(1)
    # board.WriteI2C(UB953,0x0D,0x0C) # Bring GPIO3 high again to prepare 10640 for initialization
    
    ###############################
    # SENSOR BRINGUP
    ##############################
    
    board.WriteI2C(UB960,0x32,0x03) # Write to TX port 0 and TX port 1
    board.WriteI2C(UB960,0x1f,0x00) # Set 1.6Gbps rate
    board.WriteI2C(UB960,0x21,0x01) # CSI0 round robin forwarding
    board.WriteI2C(UB960,0x32,0x01) # Select TX port 0
    board.WriteI2C(UB960,0x33,0x43) # TX port 0 enabled, continuous clock, intiial skew calibration sequence selected - for no skew calibration set to 0x03
    board.WriteI2C(UB960,0x20,0x00) # Enable RX ports to be forwarded out of CSI TX0

    脚本示例仅显示一个端口的初始化、因此需要为每个端口重复此过程。 CSI 配置应启用从 CSI TX 端口 0 转发所有四个端口。  

    此致、

    Zoe  

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

    您好 Zoe、

    是的、这些错误仍然存在。

    但是、我们后来发现我们使用的分辨率不正确 (1280x720)、而实际传感器分辨率为 1280x800。 您能否为 1280x800 分辨率提供一组寄存器参数配置? 我们想再试一次。 非常感谢!

    此致、

    Bingkang

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

    尊敬的 Bingkang:

    在这些器件上配置时不需要分辨率参数。 所需的主要配置是在 UB960 (RAW12 LF、RAW12HF 或 RAW10) 和 CSI 数据类型代码上设置正确的处理模式。 CSI 数据代码将在寄存器 0x70 或 0x71 中配置、具体取决于处理模式。  

    此致、

    Zoe