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.

[参考译文] TI UB964解串器 MIPI CSI 错误校验和错误/标头 ECC 错误

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/931374/ti-ub964-deserilizer-mipi-csi-error-checksum-error-header-ecc-error

你好。

我正在开发串行器-解串器项目。

我的硬件环境是这样的

主机 MCU:IMX6QP

解串器:UB964

串行器:UB933

当我打开 v4l2设备并配置 mipi CSI 时, i.mx 6 mipi CSI 日志显示如下:
MIPI csi2 error1 mipi_reg 0x11000000!
MIPI csi2 error2 mipi_reg 0x100!

MIPI csi2错误寄存器描述为:

CSI 错误1.

位28。
ERR_ECC_double
标头 ECC 包含2个错误。 不可恢复。
默认值:0
位24。
vc0_err_crc
在虚拟通道0上检测到校验和错误
默认值:0

CSI 错误2.

位8。
vc0_err_ecc
更正了
在虚拟通道0上检测到标头错误并予以纠正
默认值:0

但 我读取 UB964寄存器、如下所示:

UB964_READ_reg:addr 0x30 reg 0x7a=0x0
UB964_READ_reg:addr 0x30 reg 0x4e=0x4
UB964_READ_reg:addr 0x30 reg 0x4d=0x3


UB964_READ_reg:addr 0x30 reg 0x73=0x3
UB964_READ_reg:addr 0x30 reg 0x74=0xc0
UB964_READ_reg:addr 0x30 reg 0x75=0xA
UB964_READ_reg:addr 0x30 reg 0x76=0x0

在我看来,0x7a =0表示 CSI 没有错误,对吧?

0x73~0x76表示解串器已接收到图像数据1280x960;

该问题如何?

为什么 i.MX6显示 mipi CSI error1/error2?

此致。

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

    您好!

    您是否尝试使用964上的图形发生器功能?  通过将图形发生器输出启用到您正在使用的端口、您可以查看解串器和 i.MX6之间是否发生错误。 尝试从解串器向 iMX6发送模式、并让我知道在这种情况下是否会发生相同的错误。  

    此致、

    Carrie

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

    您好 Carrie:

    我尚未尝试使用 UB964上的图形发生器功能、但我是新手。

    我在 DS90UB964数据表中获得了"8.5.6.1图形发生器代码示例"、我将在硬件环境中测试此示例代码。

    此示例代码是否可以生成具有1280x720P30+ VC0+YUV422的 CSI2模式?

    如果没有、您能告诉我如何使用1280x720P30+ VC0+YUV422生成 CSI2模式。

    感谢您的回复。

    祝你一切顺利。

    清才

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

    您好 Carrie:

    我已经尝试使用 DS90UB964数据表中的"8.5.6.1图形发生器代码示例"中的图形发生器示例代码。

    似乎没有 mipi CSI 错误报告。

    我的工作流程是

    1将初始 UB964乘以"8.5.6.1图形发生器的代码示例"

    2通过写入 ub964 0x33=0x00关闭输出流;

    3配置 IMX6 MIPI CSI2,如 mipi_csi2_reset ()、set_datatype ()等。

    4通过写入 ub964 0x33=0x01在输出上传输数据流。

    5通过读取 imx6主机寄存器来读取 MIPI CSI2状态。

    结尾没有错误报告,错误1 = 0 ,错误2 = 0。

    所以我认为硬件环境是可以的 ,对吧?

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

    您好、Qingcai、

    感谢您运行图形发生器。 这些结果表明、误差很可能发生在解串器之前的某个位置。 我在下面提出的所有建议都是针对解串器配置的、它们将帮助您确定问题或将其滤除。

    请验证964的反向通道频率是否设置为2.5Mbps (位2:0至0b000)。 请注意、0x58是特定于端口的寄存器、因此必须为正确的 RX 端口配置端口选择寄存器(0x4C)。 此外、一旦检测到错误、请向我发送该端口的 RX 端口状态寄存器(0x4D 和0x4E)的值。

    此外、您还可以尝试配置寄存器0x7D、即端口传递控制。 该寄存器决定了将导致数据包被丢弃的条件。 通过在不同错误上启用数据包丢弃、解串器可以在错误到达 SoC 之前过滤掉该错误。

    最后、确保寄存器0x6D 中的端口模式配置正确。 如果第一个数据包在原始模式下被截断(启用位3),则可以尝试丢弃该数据包。 请注意、只有 RAW12 LF 模式(0x6D[1:0]= 0b01)和 RAW10模式(0x6D[1:0]= 0b11兼容933。

    此致、

    Carrie

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

    您好 Carrie:
    我通过阅读 IMX6文档来解决了我的问题。

    感谢您的支持。

    此致

    清才