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.

[参考译文] DS90UB962-Q1:can't show camera with UB933。

Guru**** 2482105 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1435317/ds90ub962-q1-cann-t-show-camera-with-ub933

器件型号:DS90UB962-Q1

工具与软件:

我们使用 UB962和 UB933、写入寄存器如下:

ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x4C、0x01);//设置端口0
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x70、0x1F);
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x6D、0x7F);// RAW10模式
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x6E、0xAA);
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x5C、0xBA);//933别名 id
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x7C、0x81);
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x10、0x91);
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x58、0x58);//I2C 直通已启用
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x19、0x0D);//FS_HIGH_TIME_1
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x1A、0x04);//FS_HIGH_TIME_0
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x1B、0x75);//FS_LOW_TIME_1
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x1C、0x2E);//FS_LOW_TIME_0
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x18、0x01);
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x20、0x00);
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x32、0x01);
ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x33、0x01);


ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x06、0x60);//DES ID
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x07、0x60);//DES 别名
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x08、0xBE);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x09、0xBE);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x0D、0x55);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x0F、0x02);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x10、0x17);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x11、0x21);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x12、0x21);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x1E、0x02);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x35、0x0A);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x05、0x35);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x10、0x17);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x0D、0x11);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x0D、0x15);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x03、0xE7);
ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x03、0xC7);

但不能显示相机、并且检查寄存器4D 为0x13、请帮助检查、谢谢!

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

    你好、Robin、

    您是否能够从 UB960为所用的 RX 端口提供寄存器转储?

    您能否为两个器件提供原理图?

    您是否测量了 UB960上的 CSI-2 TX 端口? 您在那里有任何数据吗?

    从图像传感器传输到 UB933中的数据类型和分辨率、帧速率是什么?

    如果将 SER/摄像头连接到 UB960上的任何其他 RX 端口、是否出现相同的行为?

    我已经查看了提供的序列、以下是与您此行类似的一些评论:

    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x4C、0x01);//设置端口0
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x70、0x1F);YUV422 10位数据
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x6D、0x7F);// RAW10模式
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x6E、0xAA);基于 BC GPIO 的帧同步0、1
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x5C、0xBA);//933别名 id
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x7C、0x81);您是否确定帧有效在视频帧的持续时间内为低电平?!
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x10、0x91);
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x58、0x58);//I2C 直通已启用
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x19、0x0D);//FS_HIGH_TIME_1
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x1A、0x04);//FS_HIGH_TIME_0
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x1B、0x75);//FS_LOW_TIME_1
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x1C、0x2E);//FS_LOW_TIME_0
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x18、0x01);
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x20、0x00);
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x32、0x01);
    ds90ub962_933_WRITE_reg (DS90UB962_ADDR、0x33、0x01);


    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x06、0x60);//DES ID
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x07、0x60);//DES 别名
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x08、0xBE);
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x09、0xBE);
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x0D、0x55);默认值
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x0F、0x02);
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x10、0x17);默认值
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x11、0x21);为何要降低默认值?
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x12、0x21);为何要降低默认值?
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x1E、0x02);为何要降低默认值?
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x35、0x0A);如果使用、必须在寄存器0x03之后配置
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x05、0x35);
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x10、0x17);再次写入默认值
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x0D、0x11);
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x0D、0x15);
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x03、0xE7);
    ds90ub962_933_WRITE_reg (DS90UB933_ADDR、0x03、0xC7);[1]将 CLK 覆盖为 PLL 模式。 允许通过寄存器0x35进行选择。

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

    Hhi Hamzeh、ć

    感谢您的 评论、我可以显示相机、但有像这样的绿色屏幕:

    目前分辨率是1024*600和数据类型是 YUV422 10bit,你有什么想法导致了这一点吗?

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

    你好、Robin、

    是否确定使用的是 YUV422 10位数据类型? 因为在960寄存器0x7C 中、您将位[7:6]设置为10、这意味着您不处理所有10位、而仅处理高8位。 请将此值更改为00、然后查看这是否会更改您的输出图片。

    另外、在933原理图上、确保 使用最小40kΩ 电阻将 GPO2拉至 GND、以确保当 PDB 从低电平转换为高电平时 GPO2 =低电平

    最后、请参阅 UB960数据表中的"7.4.12原始模式 LV / FV 控制"并确保遵循其中介绍的说明和时序。

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

    尊敬的 Hamzeh:

    在绿屏输出之前、我已将寄存器0x7C 更改为00。

    我读过 "7.4.12 RAW Mode LV / FV Controls"一节 ,但我不明白,你能给我一个设置 FV_MIN_TIME 的建议吗?

    如果数据类型是 YUV422 10BIT 来自 UB933、那么 UB962能否将其更改为 YUV422 8bit?

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

    你好、Robin、

    我已经阅读了 "7.4.12 RAW Mode LV / FV Controls" 一节,但我无法理解,您能给我一个设置 FV_MIN_TIME 的建议吗?

    为了防止错误检测 FrameValid、必须在第一条视频行被视为有效之前、将 FV 置为有效以保持最少数量的时钟。 最小 FrameValid 时间可在 FV_MIN_TIME 寄存器0xBC 中编程。 由于测量是在 FPD-Link III 时钟中进行的、因此串行器处最小 FrameValid 设置为 LineValid 时序将根据原始输入工作模式而变化。
    在串行器输入端处理原始视频帧时、需要最小 FV 至 LV 时序。 如果未满足 FV 至 LV 最小设置(默认情况下)、则丢弃第一条视频行。 或者、寄存器控制(PORT_CONFIG:DISCARD _1ST_ON_ERR)会转发该行开头缺少一定像素数的第一条视频行。
    绝对最小值是器件可以执行的最低量、 因此、如果 FV_MIN_TIME 为零、则在 LV 之前、FPD3 PCLK 的绝对最小数量会看到 FV 高电平。 因此、您需要做的是查看图像传感器的数据表、寻找关于传感器所需时间的规格、并设置 FV_MIN_TIME、以便公式的结果尽可能大、同时小于传感器数据表给出的值。  

    示例:
    如果传感器 FV_MIN_TIME = 128、则使用的模式为 RAW10:
    所需的 FV 至低压延迟=绝对最小值+(FV_MIN_TIME x 转换因子)
    = 5 +(128 x 2)= 261

    FV_MIN_TIME 在寄存器0xBC 中进行编程。 在本例中、FV_MIN_TIME=128表示我们必须在寄存器0xBC = 0x80中进行编程。

    如果寄存器0xBC = 0x01、这意味着所需的 FV 至低压延迟(RAW10)=绝对最小值+(FV_MIN_TIME x 转换因子)
    = 5 +(1x2)= 7

    如果寄存器0xBC = 0x00、这意味着所需的 FV 至 LV 延迟(RAW10)=绝对最小值+(FV_MIN_TIME x 转换因子)
    = 5 +(0x2)= 5
    这意味着、在第一个视频行之前、FV 必须在最小时钟数= 5时有效。

    并且如果数据类型为来自 UB933的 YUV422 10BIT、那么 UB962是否可以将其更改为 YUV422 8bit?

    否、DES 无法更改数据类型。 此邮件将在收到时转发。

    此外、在出现问题的情况下、您能否从 SER 和 DES 提供寄存器转储。

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

    你好、Robin、

    感谢您分享寄存器转储。

    我已经审阅过它们。 一切看起来都很好。 我绝对不会看到 SER 或 DES 上报告任何错误。

    但是、我可以看到接收到的分辨率与您最初共享的分辨率不同。 我看到 DES 接收1024 x 767。 您能否仔细检查图像传感器配置?

    此外、您能否与我分享其他图像传感器参数、例如帧速率和预期的像素时钟?

    此外、我需要 SER 侧和 DES 侧的振荡器时钟值。