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-Q1:测试图形生成的时钟时序设置 RAW10 1920x1080@30FPS、来自 Deser 的 4 通道

Guru**** 2952510 points

Other Parts Discussed in Thread: ALP

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1651897/ds90ub954-q1-clock-timing-setting-for-test-pattern-generation-raw10-1920x1080-30fps-4-lane-from-deser

器件型号: DS90UB954-Q1
主题中讨论的其他器件: ALP

您好 TI、
我们目前正在尝试从解串器侧生成 1920×1080 @ 30 FPS RAW10、4 通道设置测试图形、然后生成 Qualcomm QCS5430 芯片组。 我们在 soc 端获得 SOF 和 EOF、但帧请求失败。 我附加了 sensor.XML 文件、其中包含我们在 Qualcomm 端用于启动摄像头的寄存器序列。 您能否回顾一下并告诉我们是否需要进行任何修改? 我附加了失败 dmesg 日志以供您参考。
需要设置的参数很少、您能检查一下并告诉我是否需要更改任何参数值吗? 特别消隐和输出像素时钟。 解串器处有 26MHz 外部时钟。 需要设置什么 CSI_TX_SPEED?
期待您的 guidance.kernel_sofdi_jun3.txt ds90ub954_ar0544_sensor.xml 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Reena、

    您能否澄清一下您的意思:“我们在 soc 端收到 SOF 和 EOF、但帧请求失败。“

    通常、如果 SoC 同时接收帧开始和结束、则意味着它们会接收视频帧的完整 CSI 数据。

    我仍在查看您发送的数据、但在初次通过时、我没有发现任何太令人震惊的事情。 我将 PATGEN 参数与 ALP 生成的配置进行交叉参考、除了只有几个寄存器 0x0B 和 0x0D 之外、这些值非常相似。

    此外、CSI 速率设置为每通道 800Mbps、这相对接近 PATGEN 的视频带宽。 您可以通过设置 0x1F = 0x00 将其增加到 1.6Gbps/通道、看看这样是否有用。

    此致、

    Ethan Woods

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

    尊敬的 Ethan:

    感谢您的答复。 我没有找到任何人与 Qualcomm 移动系列一起使用 TI 芯片组。 它可能用于高通汽车系列、但我没有任何参考。 在 Qualcomm 中、需要遵循特定的序列、我也应该获取与该序列相关的数据。

    在摄像头启动期间、我们通常准备一个包含以下寄存器序列的 sensor.xml 文件:
    • Init Settings –适用于所有模式的通用寄存器配置
    • 逐模式设置 –特定于每个摄像头模式的寄存器配置
    • Stream-On 设置 –触发流式传输的寄存器
    • Stream-Off Settings –停止或暂停流式传输的寄存器

      大家可能已经看到我的 sensor.xml 文件、我将模式启用保存在 stream on 函数中、我不确定这是否正确、我不确定我会解串器将在模式启用 (1、01)(B2、01) 后开始发送帧。 您能否向我解释一下解串器如何以及何时开始在 MIPI CSI 端口上发送图形生成数据? 是否有任何可以设置的寄存器、设置后需要等待多少时间?
    • 就在触发流式传输后、我会从解串器读回一些寄存器、



    • 获取 0x35、0x36 和 0x37 - 00、这意味着没有开始流式传输。 您能告诉我应该有什么价值吗? 从 Qualcomm 侧日志中、我可以看到一些 SOF 和 EOF 在启动时、但当它实际需要处理它时、帧没有出现、函数等待 1.4 秒、之后出现超时错误、失败。  

      5780:05-15 06:12:10.369 4700 4726 V CamX :【动词】4700 4726 [utils ] camxhashmap.cpp:204 GetInPlace () 未找到密钥
      5781:05:15 06:12:10.370 4700 4726 V CamX :【动词】4700 4726 [core ] camxnode.cpp:2569 ProcessRequest () partialTagCount = 0 partialPublishedSet.size=0
      5782:05:15 06:12:10.370 4700 4726 I CamX :[ info]4700 4726 [core ] camxnode.cpp:2581 ProcessRequest () Raw_Sensor .0 完整处理请求 5.
      6141:05:15 06:12:11.676 4700 I CamX :[ info]4700 [core ] camxsession.cpp:3071 ProcessCaptureRequest () 原始: PCR 等待 seqid 5 完成 — 结果 CamxResultETimeout, Live pending requests 5/6,等待时间 1400(0) msec
      6142:05:15 06:12:11.677 4700 4700 I CamX :[ info]4700 [core ] camxsession.h:3015 CanSystemEventBeForstry() 检查 0xb4000073c2465e60
      6143:05:15 06:12:11.677 4700 I CamX :[CORE_CFG]4700 4700 [CORE ] camxsession.h:2603 SetSessionTriggeringRecovery() 会话 0xb4000073c2465e60 正在触发恢复
      6144:05:15 06:12:11.677 4700 4700 I CamX :[CORE_CFG]4700 4700 [CORE ] camxpipel.h:1495 SetPipelineTriggeringRecovery() 管道原始触发恢复
      6145:05:1506:12:11.677 4700 I CamX :[CORE_CFG]4700 4700 [CORE ] camxsession.cpp:5571 HandleSystemEventCb () 触发系统事件:会话:0xb4000073c2465e60,节点:Unknown(–1)、实例:–1、管道:Unknown(–1) DumpOnly:0

      如果可能、我们可以拨打电话吗? 我仅在异步模式下获得 SOF。

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

    尊敬的 Reena:

    我认为问题在于 DS90UB954 上的 CSI 配置设置方式。 如果 SoC 设置为 4 通道 MIPI CSI 运行、但 DES 设置为 2 通道 MIPI CSI 输出(由寄存器转储 0x33 = 0x21 看到)、则这可能会导致上述错误。 您可能会看到第一个 SoF、可能是 EOF、但进一步的 CSI 数据可能不正确、因为会出现通道不匹配/不同步。

    对于 954 上的 4 通道 CSI 输出、请尝试将 CSI_CTL 寄存器 (0x33) 设置为 0x01、让我知道这是否有效。

    您能解释一下解串器如何以及何时确切地开始在 MIPI CSI 端口上发送图形生成数据吗? 是否有任何可以设置的寄存器、设置后需要等待多少时间?

    在对 PATGEN 寄存器 PGEN_CTL(间接地址页 0x00;寄存器 0x01)进行写入期间会启用图形生成。 但是、在 CSI_CTL 寄存器 (0x33) 中启用 CSI 转发之前、实际上不会转发数据。 有关图形生成的更多信息、请参阅 954 数据表第 7.5.11 节。

    一旦设置 CSI_ENABLE (0x33[0])、就会启用 PATGEN、并立即开始写入 PGEN_CTL 和 CSI 输出/转发。 由于您已在脚本中先于任何其他内容启用 CSI 输出、因此在脚本中进一步启用图形生成之前、您将不会看到数据被转发。 因此、在“STREAM-ON Settings“中启用 PATGEN 是可以的。

    获取 0x35、0x36 和 0x37 - 00、这意味着未启动流式传输。 您能告诉我应该有什么价值吗?

    寄存器 0x35 是 CSI_STS 寄存器、如果 CSI 发送器接收到从其中一个 RX 输入端口转发的有效数据、则该寄存器应报告 0x01。 0x36 和 0x37 是 CSI 中断寄存器、必须先启用这些寄存器才能使其上有输出。 有关这些寄存器的更多信息、请参阅 DS90UB954 数据表。

    如果上述修复程序不起作用、需要升级到通话、请通过 e-woods@ti.com 联系我 、我们可以安排会议。

    此致、

    Ethan Woods

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

    您好、Ethan、

    实际上是我的错。 我在尝试通道 2 配置时已附上旧的寄存器读取屏幕截图。 现在、我更新了寄存器、将其设置为 4 个通道。  

    目前、在设置 B1-01 B2-01 后、我保持了 10ms 的延迟、然后持续读取该寄存器序列、并仍能获得 0x00 状态。 这是硬件问题、还是仍在寄存器顺序中?

    e2e.ti.com/.../1581.ds90ub954_5F00_ar0544_5F00_sensor.xml
    您也可以检查我的最新 XML 文件。

    谢谢您、

    Reena Patel

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

    尊敬的 Reena:

    查看您的配置、我没有看到任何错误、您应该完全没有数据。 您已正确禁用 RX 输入并启用 CSI 转发(以每通道 800Mbps 的速率运行 4 通道)、这远不是接近 PATGEN 的带宽。 您的 PATGEN 配置与我通过 ALP 生成的配置略有不同、但这一点无关紧要。 我可以在多个地方看到您已启用 PATGEN (0xb1 = 0x01、0xb2= 0x01)、这不会导致任何问题、但在某些情况下、延迟非常短。 尽管如此、我认为这不应该是一个问题、因此我相信还有其他问题在发生。

    遗憾的是、由于器件正在监测 RX 端口上的输入、因此该器件无法检测其是否正在输出有效 CSI 数据(通过 PATGEN)。 PATGEN 不会通过 RX 端口、因此无法判断它是否开启。 仅当 RX 输入端口上接收到有效的 CSI 数据时、寄存器 0x35 (CSI_STS) 才会报告 0x01。

    话虽如此、我在寄存器 0x04 (DEVICE_STS) 中看到您具有通过锁定状态、这意味着您锁定到串行器。 您连接的串行器是否能够输出 PATGEN (FPD3+、而不是 DVP SER)? 这将是测试设置的更好方法、因为我们可以检测数据是否正在通过解串器、但需要稍多一些配置。

    由于解串器上的 PATGEN 会绕过 RX 输入(以及调试寄存器)、因此很难具体诊断正在发生的情况。 脚本配置正确、应该会输出数据、以便执行其他操作。

    如果可能、您是否还能提供完整的寄存器转储、而不仅仅是您具有的上述寄存器? 这应该适用于主页和 PATGEN 间接页面 (0xB0 = 0x00)。 如果可能、应在启用 PATGEN 并且您应该看到输出时发生此寄存器转储。 这可以让我更深入地研究任何可能的问题。 作为参考、我通过 ALP 在实验室中的 EVM 上运行确切的配置、并能够观察到 CSI 输出。 此外、为了对我进行完整性检查、SoC 配置了多少个 MIPI CSI 通道? DES 输出和 SoC 输入需要具有匹配的 CSI 通道数、否则会出现同步问题。

    此致、

    Ethan Woods

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

    嘿 Ethan、  

    感谢您的答复。 这两天,实际上,我没有机会从事同样的工作。 测试后明天我将分享一个新的更新。

    谢谢你。

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

    您好、Reena、

    感谢您的反馈。 我将等待你的答复。

    如果您有机会测试串行器 PATGEN、或需要有关配置的其他帮助、请告诉我具体情况!

    Ethan Woods

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

    尊敬的 Ethan:

    我有更新可与您分享。 如您所述、我尝试了从串行器生成图形、也可以使用。 之后,我试图流我们的相机,也是工作. 摄像头有两种模式、

    1) 2592x1944 Raw 10, FPS 30

    2) 1920x1080 Raw 10、FPS 30

    我们之前通过 Direct MIPI 测试的两种模式都正常工作。 昨天、我们也收到了 1920x1080 的数据传输速率。 但 2592x1944 不起作用。 得到 1 SOF、但没有 EOF、然后还得到第二个 SOF。

    这是 mipi end 中的工作设置、我也尝试通过 GMSL 进行配置、




    0

    43



    0
    0
    2592
    1944 年


    10.

    基本映像



    7436

    1976 年

    4844

    32

    80000000

    1.

    1.
    30
    1.0
    2.

    14

    您能否首先检查串行器或解串器是否存在带宽问题或超出限制。 我们的摄像头仅支持 2 通道、因此我们已配置了通过串行器和解串器连接到 soc 2 通道的 2 通道。

    谢谢您、

    Reena Patel

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

    尊敬的 Reena:

    感谢您的更新。 很高兴听到串行器 PATGEN 与您的第一台低分辨率摄像头一起工作。

    我认为问题在于更高分辨率的蒸汽的带宽,特别是只能使用双通道。 DS90UB953(我假设您使用的是,因为配对的解串器是 DS90UB954)仅支持每通道高达 832Mbps 的速率。  2592x1944 Raw 10、FPS 30 流的估计带宽约为 1.88Gbps、在双通道配置中每通道至少需要 944Mbps。

    这意味着 DS90UB953、特别是在双通道模式下、无法处理该分辨率、因为它违反了每通道 832Mbps 的最大通道速率。 解串器可以以每通道 1.6Gbps 的速率运行、但串行器不能。

    此致、

    Ethan Woods