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.

[参考译文] AWR1243:连接到第三方电路板时报告了 MIPI 错误

Guru**** 2429720 points
Other Parts Discussed in Thread: AWR1243

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1512942/awr1243-mipi-error-reported-when-connected-to-third-party-board

器件型号:AWR1243

工具/软件:

大家好!

我在将 AWR1243连接到 Nvidia Jetson Nano 板时遇到问题。

我开发了一个驱动程序来从 v4l2子系统获取帧、同时通过修改 mmWave_link 示例开发的应用程序加载配置。

当我尝试读取帧($ cat /dev/video0)时、我收到此序列3个错误

-在"帧触发器"之前:

[   98.402722] video4linux video0: frame start syncpt timeout!0
[   98.408545] video4linux video0: TEGRA_VI_CSI_ERROR_STATUS 0x00000000
[   98.408552] vi 54080000.vi: TEGRA_CSI_PIXEL_PARSER_STATUS 0x00000000
[   98.408557] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[   98.408563] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040040
[   98.408608] vi 54080000.vi: csi clock settle time: 13, cil settle time: 20

-一次,就在第一个"帧触发器"之后:


[   98.616499] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000010
[   98.616505] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00040041

-所有帧后:

[   98.825362] vi 54080000.vi: TEGRA_CSI_CIL_STATUS 0x00000000
[   98.825366] vi 54080000.vi: TEGRA_CSI_CILX_STATUS 0x00000000

我可以从错误代码读取的内容是、我有以下代码:

CILA_CTRL_ERR: Control Error. Set when CIL-A detects LP state 01 or 10 followed by a stop state (LP11)
instead of transitioning into the Escape mode or Turn Around mode (LP00).

因此 MIPI 时序似乎没有得到遵守。 对如何解决该问题有任何想法?

此致、

Andrea

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

    您好、Andrea、

    由于 AWR1243没有错误、因此无法调试。 这些都必须得到 Nvidea 方面的尊重。 我建议与 Nvidea 检查,因为我们不能调试他们的平台问题。

    此致、
    Saswat Kumar

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

    您好 Saswat 并感谢您的关注。

    我正在尝试调试 Nvidia 的一面、但似乎 AWR 和 Jetson 之间发生了错误配置。

    根据相关文档、我现在假设正常运行条件下基于 CSI 的一个帧为:

    (1024个样本 I + 1024个样本 Q +2个 channel_metadata 样本)* N_channels + 6个元数据样本

    如果是4个通道、这将是8206 (w) x 1 (h)帧。

    这是正确的假设吗?

    此致、

    Andrea

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

    您好、Ansrea、

    您能否给我提供您在此计算中参考的确切文档? 您是如何得出结论的?

    此致、
    Saswat Kumar

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

    尊敬的 Saswat:

    根据 AWR1243收发器数据表、在 CSI2接口上采用9.4.1 ADC 数据格式、下图如下所示:

    从这里、我根据样本数和活动通道数计算了公式。

    深入阅读文档后、我发现 height=#chirp、而宽度是根据公式计算的(...对吗?)

    我将使用毫米波示例代码作为参考。

    谢谢!

    此致、

    Andrea

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

    您好、Andrea、

    您能否在脚本中确认 DATA_TRANS_FMT_PACKET0是否设置为仅 ADC?
    那么、CQ 数据包是否也是0?

    然后在这种情况下,您不需要考虑将不会生成的其余数据包。

    信号  

    CSI 帧宽度(以位为单位) :每线性调频脉冲的样本数* RX*2 (如果是复数)或1 (如果是实数)*每个样本的位数

    选择的 Tx 数量不会影响 Rx 路径和发送的数据量。 此外、在 CSI2通道上、根据 MIPI 规范、该数据作为8位(1字节)数据发送、分布在这些通道上。 因此、长数据包报头数据将以传输字节为单位包含 CSI 帧宽度。

    CSI 帧 高度:每帧的线性调频脉冲数(如您所述)

    此致、
    Saswat Kumar

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

    尊敬的 Saswat:

    感谢您的答复。

    我们按如下方式进行了测试:

    -设置模式生成:

    a) 64个样本*4(RX 通道)*2(Complex)

    b)图形数据的16位

    C) 2个 MIPI CSI 信道

    d)时钟:150 MHz DDR -> 1位= 3.333ns

    在示波器上、我们可以看到13654ns 的数据->预期数据来自:64*4*2(A)*3.333(D)*16(B)/2(C)=13651ns ->这是可以的。

    -在设备树的一侧,我们有:

    a) active_w = 512 (->a)

    b) pixel_clk_Hz = 37500000 (150m*2 (DDR)* 2 (CSI 通道)/ 16 = 37.5M)

    c) CSI_pixel_BIT_DEPTH = 16

    d) mode_type=yUV pixel_phase=yuv (仅选择具有16位的格式)

    e) num_lanes = 2

    我们仍然在 Jetson CSI 的驱动程序上出现错误(特别是,与上述相同,但当帧被触发和未被触发时,错误号不同。

    你有什么建议要调整吗?

    此外、当您将 MIPI 输出称为字节多桩时、您是否意味着单个12位数据包(例如)必须变为16、或者在数据包序列的第二个数据包将四舍五入到最接近的字节?

    非常感谢、

    Andrea

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

    嗨、Saswat。

    "那你想怎么样?"

    谢谢

    Andrea

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

    尊敬的 Saswat:

    关于上面发布的数据表的后续问题:

    -当只启用1个通道时,我是否仍然获得4个标头?

    谢谢。

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

    您好、Andrea、

    对不起,我不在办公室,让我回顾和回来。

    此致、
    Saswat Kumar

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

    您好、Andrea、

    您能否确认两个器件之间的工作时钟是否匹配?
    让我检查一下它的标题部分。

    此致、
    Saswat Kumar

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

    你好,萨斯瓦特,对不起,不能让你跟上。

    似乎我最终解决了不匹配的时间问题,并得到了两个沟通.

    现在我正在通过 v4l2-ctl 接收帧、驱动程序似乎正常工作。

    此时的问题是、我收到的所有数据都是0。

    我认为这可能是因为我的内核需要16位 YUV422格式、而它应该是 raw16格式。

    但也许还有其他事情正在发生、您会想到什么吗?

    顺便说一下、我们通过设置 AdcSamples = 510并在另一侧期望512个样本(所以报头= 2?)来实现这种通信。

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

    您好、Andrea、

    为此、我们实际上有一个 CSI2接收器、用于捕获任何发送器的数据。
    在此基础上、我们验证您是否获得了有效数据。
    您能否检查是否获得完整数据?是否有2个标头数据包?

    此致、
    Saswat Kumar

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

    尊敬的 Saswat:

    遗憾的是、我无法承受该器件的成本、因此我必须考虑在没有该器件的情况下如何进行调试。

    但是、标头问题应该与规格相关、TI 的人员应该能够回答该问题。

    此致、

    Andrea

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

    您好、Andrea、

    根据我与设计团队的理解、无论启用了哪些渠道、您所指的标题部分都将存在。

    此致、
    Saswat Kumar