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.

[参考译文] RTOS/TDA2P-ACD:CSI2 PHY RESET_DONE 不会出现

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/668496/rtos-tda2p-acd-csi2-phy-reset_done-is-not-coming

器件型号:TDA2P-ACD

工具/软件:TI-RTOS

您好!

我们将 CSI2用于摄像头传感器接口、但在发出复位指令(CAL_CSI2_COMPLEXIO_CFG[30].RESET_CTRL)后、即使外部摄像头传感器正确提供 MIPI HS 时钟、我们也不会获得 RESET_DONE (CAL_CSI2_COMPLEXIO_CFG[29].RESET_DONE 保持为0)。

我们使用4通道配置(通道4:时钟、通道1/2/3/5:数据)、下面是复位后的寄存器转储:

CAL_CSI2_COMPLEXIO_CFG_0 (0x489b 0304)= 0x4A053214

CAL_CSI2_PPI_CTRL_0 (0x489B 0300)= 0x00000009

CTRL_CORE_CONTRAL_CSI (0x4A00 26DC)= 0xF8000900

REG0 (0x489B 0800)= 0x0000082E

REG1 (0x489B 0804)= 0xC002E116

时钟/电源域寄存器:

是否有 要检查的点?

此致、

James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    添加时钟/电源域寄存器:
    CM_CAM_CLKSTCTRL = 0x00001702
    CM_CAM_STTICDEP = 0x00000030
    CM_CAM_VIP1_CLKCTRL = 0x00000001
    CM_CAM_VIP2_CLKCTRL = 0x0x00000001
    CM_CAM_VIP3_CLKCTRL = 0x00040001
    CM_CAM_CSI1_CLKCTRL = 0x00040001
    CM_CAM_CSI2_CLKCTRL = 0x00040001
    PM_CAM_PWRSTCTRL = 0x00030000
    PM_CAM_PWRSTST= 0x00000037

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

    我知道您使用的软件吗?

    此外、您能否查看以下内容
    CSI2时钟配置、来自传感器的 CSI2时钟必须与 CAL 中配置的 CSI2/DDR 时钟相匹配。
    2.您能否确保车道排序正确、即时钟车道和数据车道已正确映射。 还应检查极性映射
    3.您能否在传感器中读取一些寄存器以检查是否确实发送了帧

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

    我们使用的是 VSDK 3.02。
    对于 CSI2时钟配置、摄像头传感器输出的是我们的默认配置400MHz -因此、我认为在 CAL 中的 CSI2/DDR 时钟配置没有问题、但会进行仔细检查并告知您。
    2.通道排序和极性映射:lane4 -时钟、lan1/2/3/5 -数据
    已确认时钟已连接至通道4
    3.将检查传感器寄存器以确认是否正在发送帧并告知您-我们可以通过示波器探测看到帧来自传感器。

    在 TDA2Px TRM 中、我可以看到以下评论:
    对于将 CAL_CSI2_COMPLEXIO_CFG_l[29] RESET_DONE 位设置为
    0x1 (复位完成)、外部传感器必须处于活动状态并发送
    MIPI HS BYTECLK。

    请告诉我您是否还有其他需要检查的问题、因为我可以通过使用示波器探测时钟通道来看到时钟来自传感器。

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

    尊敬的 James:

    问题似乎是时钟通道的位置、下面是从 TDA2Px TRM 提取的。

    此致、Sujith

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

    很抱歉造成混淆。
    在我的描述中、我遵循 VSDK 3.02源代码的索引、该源代码从1 (而不是0)开始。
    因此、如果我遵循 TDA2Px TRM 中的索引:Clock- lane3、data- lane0/1/2/4。

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

    好的、我明白了。 您使用的是哪种传感器/摄像头模块?
    此外、请确保在 TDA2Px 上启动 CAL/Reception 之前在摄像头模块上开始视频流式传输。

    请从传感器交叉检查 CSI2时钟。

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

    它是 AR0231 2M 传感器。
    将检查计时并告知您、但在您在 CAL 之前说什么是开始视频流的最佳计时?
    如果我们开始流式传输的时间比预期的早得多、您是否会遇到任何问题?

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

    MIPI 在切换到高速传输模式之前执行初始握手。 一旦通道上的端接被启用、在切换到高速传输模式之前一定会有超时。 (标准 DPHY/MIPI 序列)

    请参阅基于单通道 CAL/CSI2的用例。 CAL 已配置、在开始接收的函数调用之前、传感器将被编程并启用传输、并且 CAL /CSI2接收器将被启动。

    请参阅文件\apps\src\rtos\usecases\iss_capture_isp_simcop_display\chains_issIspSimcop_Display.c function chains_issIspSimcop_Display_startApp ()。

    函数 appStartIssSensorSerDes ()启动传感器,函数调用 chain_issIspSimcop_Display_Start ()通过 CSI2/捕捉链接开始接收。

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

    我正在运行 chains_csi2CalMultiCam_view usecase、在 chains_csi2CalMultiCam_view_startApp ()中、摄像头传感器在 chains_csi2CalMultiCam_view_Start ()被调用之前开始视频流式传输、但在 CAL_CSI2_COMPLEXIO_CFG 寄存器中尚未出现 RESET_DONE。

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

    如果您已根据连接的信道和摄像头提供的 CSI2时钟设置捕获链接参数。 它应该已经工作了。 您能否检查传感器配置是否适用于任何其他电路板。

    此外、如果您有 VisionSDK 支持的摄像头模块/EVM、则可以确保 EVM 正常工作。

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

    您好、Sujith、

    我使用 Fusion 套件(OV2775传感器)测试了 TDA2Px EVM 的用例、并可以看到 RESETDONECTRLCLK (第29位) 在 REG1寄存器中首先被置位、之后、一旦从传感器(通过解串器)接收到 BYTECLK (通过解串器)、RESETDONXBYTECLK (第28位 )就会立即被置位:0xE2E116- 0xE00E2116 - 0xE0XE0XE2E0XE2116 - 0xE0XE0XE0XE

    但在 客户电路板上、REG1寄存器值为0xC002E116、这意味着不会从 PRCM 向 CSI2 PHY 提供 CTRLCLK。

    时钟树为:CTRLCLK <- LVDSRX_96M_GFCLK <- FUNC_96M_FCLK <- FUNC_192M_CLK <- DPLL_PER [CLKOUTX2_M2]。

    因此、我在客户板上检查了以下寄存器、但看不到任何可疑点:

    CM_CLKMODE_DPLL_PER (0x4A00 8140)= 0x07
        DPLL_EN = 7 (在锁定模式下启用 DPLL)
    CM_DIV_M2_DPLL_PER (0x4A00 8150)= 0x0804
        CLKX2ST = 1 (时钟输出被启用)
       DIVHS = 4 (M2)
    CM_CLKSEL_DPLL_PER (0x4A00 814C)= 0x6004
       DPLL_MULT = 96
       DPLL_DIV = 4

    您能否告诉我应该检查哪些点/寄存器来确认 PRCM 是否正确提供了 CTRLCLK?

    供参考、在控制模块中启用了 CTRLCLK、正如您 在我的第一次发布中看到的那样。

    CTRL_CORE_CONTRAL_CSI (0x4A00 26DC)= 0xF8000900

    此致、

    James

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

    尊敬的 James:

    一旦检测到来自 CSI2源的时钟并将其锁定、就会生成字节时钟。 在本例中、我怀疑解串器配置。

    您能否检查您是否可以在"连续时钟模式"下操作解串器

    此致、Sujith

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

    是的、这适用于来自摄像头传感器(外部)的 BYTECLK、但我不确定为什么来自 PRCM 的 CSI2 PHY 模块的控制时钟 CTRLCLK 未在客户电路板上正确设置。

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

    当我们离线讨论此问题时、我们能否将此主题标记为已关闭。 解决后、我们可以将解决方案发布到此线程中吗?

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

    在我们完成 CSI2 PHY 初始化后、启用解串器即可解决该问题。
    之前、在 CSI2 PHY 初始化之前启用了解串器(并且正在提供 CSI2时钟和数据)、并阻止了 CSI2 PHY 复位。
    感谢您的支持、如果您有任何意见、请随时添加评论。

    此致、
    James