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.

[参考译文] DS90UB936-Q1:CSI 错误

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1262225/ds90ub936-q1-csi-error

器件型号:DS90UB936-Q1

您好!

下图是产品的部分方框图:

在产品正常运行期间、MCU 将复位 SOC。然后、SOC 将关闭摄像头的 POC 电源、然后再接 通电源(TI935和图像传感器将自动断电并通电)。 但是、在此过程中、TI936的供电正常、没有软件复位。 此时、TI935将报告故障 CSI 错误(如下图所示)、并且 TI936 没有 MIPI 信号输出。
因此、SOC 无法检测到 MIPI 信号并 再次将摄像头复位。 TI935不会报告故障 CSI 错误、但 TI936仍没有 MIPI 信号输出。 现在、如果 SOC 向 TI936发送复位命令、MIPI 信号输出正常。
请问 以上问题的可能原因是什么?

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

    您好!

    根据我对该问题的理解、DS90UB936在 DS90UB935再次上电后报告了 CSI 错误。 不过、启动时可能会发生 CSI 错误、这些错误并不反映器件运行情况。 建议清除启动时发生的 CSI 错误。  

    在 DS90UB936复位后、是否再次出现这些 CSI 错误? 当 DS90UB936和 DS90UB935器件正常运行并出现此问题时、您是否能够提供一个完整的寄存器转储? 这将有助于确认器件的配置。  

    此致!

    佐伊

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

    您好、Zoe、

    在 DS90UB936复位后、CSI 错误不会再次发生。

    以下.txt 文件是 DS90UB936和 DS90UB935在运行并出现此问题时的寄存器转储。

    e2e.ti.com/.../Log_2D00_936_2B00_935_2D00_in-operation.txte2e.ti.com/.../Log_2D00_936_2B00_935_2D00_in-issue.txt

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

    您好、Zoe、

    启动时发生 CSI 错误是否正常?

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

    您好!  

    是的、这是正常的。 器件可能会接收到错误、具体取决于摄像机与器件相比的开始时间、但这并不反映操作过程中出现的错误。 第一个建议是先为串行器上电、然后再为解串器上电。 此外、您可以检查锁定标志并在该标志之后触发器件的复位或在初始锁定之后清除错误计数。

    通过在初始化结束时读取该寄存器、将清除错误计数寄存器。 如果在运行期间看到错误计数增加、则寄存器0x4E 将提供有关根本原因的指导。

    由于还报告了除 CSI 错误之外的其他错误、因此您是否验证了0x4E 中报告的所有错误在初始化后是否仍保持清除?  

    此致!

    佐伊

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

    您好!  

    我想继续跟进此 E2E。 如果还有其他问题、敬请告知。  

    此致!

    佐伊

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

    您好 Zoe:

    我可以问、 在 DS90UB936 错误计数器中有多少错误将停止输出 MIPI 信号吗?

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

    您好!

    CSI 错误不一定会停止 CSI-2输出、但 SoC 接收到的数据将无法被识别。 在提供的寄存器转储中、当器件运行时和出现问题时、错误会被置为有效。 这些误差包括缓冲区误差、行长度变化和奇偶校验误差。 这些错误会在两个寄存器转储中创建一个0的 TX 端口传递值。 为了验证 DS90UB936的 CSI 信号是否输出、应测量输出信号。  

    此致!

    佐伊

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

    您好,Zoe M ü,

    什么情况可能导致 TI936停止输出的 CSI?  TI935 CSI 错误是否会导致 TI936停止 CSI 输出?(在 TI936停止 CSI 输出时、LOCK 引脚始终为高电平)
    使用示波器进行测试时、TI936的 CSI-2未输出。 转储寄存器(如 上述.txt 文件所示)、TI935和 TI936报告了 CSI 错误。

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

    您好!

    在寄存器0x7C 中、如果帧大小、行大小或奇偶校验错误发生变化、则选择截断帧。 如果观察到上述任何情况、则不会输出数据。 发生该问题时、寄存器0x4E 中会观察到线路长度变化和线路计数都发生变化。 我建议将0x7C 设置为默认值0x20、以便仅截断具有奇偶校验错误的帧、并验证是否观察到 CSI 输出。  

    此外、如果配置了0x6D、将创建额外的转发条件。 这被保留为默认转发并显示错误。  

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

    您好、Zoe、

    每次 SOC 重新启动时、都会出现 MIPI 信号输出停止的问题(但这次没有重新启动935/936)。 在 SOC 重新启动后、重新写入935和936的配置寄存器参数。 步骤如下:
    1.配置936
    2.配置935
    3.配置传感器
    *根据上述步骤重新配置935和936是否会导致 MIPI 信号输出停止?
    * MIPI 输出是否会在重新配置936后立即停止,或仅在935后才停止,并且传感器也会重新配置?  

    解决方案:基于该问题、我们的当前修改是在每次配置其他936个寄存器之前、首先将0x5写入寄存器0x01。 然后等待10ms、再配置其他936个寄存器。 此问题不再出现。 此配置是否有助于解决 MIPI 信号输出停止问题、或者有更好的改进建议?

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

    您好、Zoe、

    还有一个问题、重新配置串行器和解串器后发生的 CSI-2错误是否正常?

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

    您好!  

    在没有提供任何脚本的情况下、936和935所经历的行为仍不清楚。  

    解串器的输出由 CSI-2转发寄存器控制。 可以根据寄存器0x6D 和0x7C 中设置的某些错误条件选择不输出帧。 CSI-2转发也由寄存器0x1F - 0x21控制。 如果要在配置时更改这些寄存器、则需要禁用 CSI-2输出以进行更改。  

    在当前使用的解决方案中、对936执行软复位和自动重新启动、这将造成失锁、并重新初始化935和936之间的连接。 此外、这还会明确对接收到的视频的任何期望、例如行长度和帧。  

    配置串行器、解串器和传感器后、不应发生 CSI-2错误。 为了确保初始化后正确清除错误、请读取寄存器0x4D、0x4E、0x55、0x56、0x7A、 和0x7B。 如果 CSI-2错误递增、则说明设置存在问题。  

    此致!

    佐伊

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

    您好 Zoe:

    需要哪些脚本?

    此致

    袁达

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

    您好、Zoe、

    下图显示了935和936的脚本。

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

    您好!  

    根据查看此处的寄存器写入情况、我建议在此配置的最后步骤中启用转发并使用以下顺序。  

    board.WriteI2C(devAddr, 0x1F, 0x00)
    board.WriteI2C(devAddr,0x20,0x30) #disable forwarding  before enabling CSI
    board.WriteI2C(devAddr, 0x33, 0x01) # Enable CSI ports 0, continuous clock disabled
    board.WriteI2C(devAddr,0x20,0x10) #Enable forwarding of port 0
    board.WriteI2C(devAddr,0x21,0x01) #Enable round robin forwarding 
    此致!
    佐伊
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zoe、

    您可以帮助查看以下配置吗? 谢谢。

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

    您好!

    明天我会提供有关初始化序列的更新注释。  

    每次 SOC 重新启动时,MIPI 信号输出停止问题(但这次没有重新通电935/936)。 在 SOC 重新启动后、重新写入935和936的配置寄存器参数。 步骤如下:
    1.配置936
    2.配置935
    3.配置传感器

    需要进行此重新配置的串行器和解串器的电源是否存在中断? 如果没有电力中断、则无需重新配置。

    此致!

    佐伊

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

    您好、Zoe、

    当 MIPI 正常工作时、935和936都不会关闭;出现故障(无 MIPI)、935和936都将关闭、然后都将重新配置。 根据之前的情况、当936未添加软复位、MIPI 仍将有输出。

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

    您好 Zoe:

    实际上、在我们的项目中、935和936在 SOC 重置期间仍在通电。 在本例中、 我们是否应该不重新配置寄存器?

    此致

    袁达

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

    尊敬的 Yuan Da:  

    由于电源未中断、在 SOC 复位期间无需重新配置935和936。 如果需要在 SoC 复位时在系统中对串行器和解串器进行复位、则软复位是执行此操作的最佳方式、因为它将重新初始化串行器和解串器之间的锁定。  软复位还将清除串行器和解串器上的状态寄存器、从而保持配置的设置。  

    此致!

    佐伊

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

    您好 Zoe:

    我们有两个问题。

    1>以下步骤是我们当前改进的解决方案。 我们在车辆中尝试了超过300次 SOC 重置、但问题不再出现。 我们可以使用这个解决方案、还是软复位935吗?

    SOC 重置-->  936软复位-->  936寄存器配置--> 935寄存器配置-->传感器寄存器配置

    2> 之前的问题是否是由于936未在配置完成前暂停 MIPI 输出造成的? 也就是说、它是由不正确的寄存器配置顺序引起的吗?

    此致

    袁达

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

    尊敬的 Yuan:  

    当 Zoe 是 OOO 时,我正在研究这件事,直到下周早些时候。  

    1>以下步骤是我们当前改进的解决方案。 我们在车辆中尝试了超过300次 SOC 重置、但问题不再出现。 我们可以使用这个解决方案、还是软复位935吗?

    SOC 重置-->  936软复位-->  936寄存器配置--> 935寄存器配置-->传感器寄存器配置

    [/报价]

    这看起来是一个合理/有效的方法、但 正如上面提到的 Zoe 一样-这将是可选的、但不是必需的、因为 SoC 是更下游的器件。 SoC 复位不会影响上游到摄像头的器件。  

    2> 先前的问题是否是由于936未在配置完成前暂停 MIPI 输出而引起的? 换言之,它是由错误的寄存器配置顺序引起的吗?

    如果我正确地跟踪上面的迭代、情况似乎就是这样、或者由于复位后的重新锁定时间、与初始化相冲突。

    此致、  

    洛根

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

    您好 Logan 和 Zoe:

    您能支持查看新的寄存器设置吗?

    此致

    袁达

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

    Yuan、您好!

    我想建议对守则进行以下调整,以提高易用性。

    0x01、0x05

    0xc、0x16

    0x4C、0x12

    0x09、0x20 #器件的默认值、I2C

    ### GPIO ###

    0x0F、0x70

    0x10、0x05

    0x13、0x65

    ###中断###

    0x23、0x81

    0xd9、0x01

    ###端口配置###

    0x6d、0x7c

    0x7c、0x38

    0x5c、0x30

    0x5d、0x20

    0x5e、0x60

    0x66、0x60

    0x65、0x20

    0x71、0x2C 可以删除为默认值

    0x58、0x5d #I2C 直通已启用

    ### CSI-2传输设置###

    0x1F、0x00

    0x20、0x30  

    0x33、0x01

    0x20、0x10 #RX 端口1已启用

    0x21、0x01

    完成这些配置后、建议读取状态寄存器以清除所有错误。 在此配置中、CSI 输出将停止并重新启动、但数据仍可能输入到系统、从而产生错误。 该配置之后读取的错误包括0x4D、0x4E、0x55、0x56、0x7A、 0x7B。  

    此致!

    佐伊