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.

[参考译文] AM5726:VIP:末尾添加了一个额外的数据行

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/969288/am5726-vip-one-extra-line-of-data-is-added-at-the-end

器件型号:AM5726

你(们)好

我们的客户在通过 VIP 将 RAW8格式图像数据传输到内存时遇到问题。

图像尺寸为1280x960。 (客户在波形上确认、即将发出的 HSYNC 信号的数量实际上为960。)

但是、1280x961数据被传送到内存中。

-此行为不取决于 VIP1/2/2和 Porta/B 任何 VIP 端口都出现问题。

-关于存储器中存储的数据,上部1280x960是预期的图像数据,但最后会添加一条额外的数据行

 因此,存储在内存中的总图像尺寸不是1280x960,而是1280x961。

-一个额外数据行的内容有时全为0,有时是最后一行的图像数据。

RAW8或 YUV422格式发生了这种情况,但 RAW16格式没有发生这种情况

是否超出预期行为? (原因是什么?)

如果不是预期的结果、您能否支持解决该问题?

谢谢、此致、
哈塔。

 

 

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

    您好、Ha Ta、

    缓冲应用程序正在创建的分辨率是多少?

    对 VIP 输出的观察结果是否直接? 或者是否涉及任何颜色转换/缩放?

    请告诉我此处使用的是哪个 SDK 版本。

    谢谢、此致、

    Sunita。

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

    此外、什么是输入接口、HS & VS 或 DE & VS?

    Rgds、

    Brijesh

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

    您好、Ha Ta、

    此外、还有几个要检查的点

    PORta_size 寄存 器、用于反映解析器检测到的帧大小。

    2. HSYNC 极性  

    谢谢、此致、

    Sunita。

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

    你好,Sunita

    客户需要在今天内了解您对此问题的状态。

    请尽快回答以下2个问题。

    1:您是否已经有任何想法来解决此问题?

    2: 您估计此问题将在多长时间内得到解决?

    以下是您的问题的答案。  

    缓冲应用程序正在创建的分辨率是多少?

    ⇒1280 x 960

     

    对 VIP 输出的观察结果是否直接? 或者是否涉及任何颜色转换/缩放?

    ⇒不涉及任何颜色转换/缩放

     

    请告诉我此处使用的是哪个 SDK 版本。

    ⇒SDK:ti-processor-sdk-rtos-am57xx-evm-04.02.00.09-Windows-x86-Install.exe

    PDK:v1.0.9

     

    什么是输入接口、HS & VS 或 DE & VS?

    ⇒HS 和 VS

     

    还有一些要检查的点

    PORta_size 寄存器、用于反映解析器检测到的帧大小。

    ⇒0x 05 00 03 C0  (1280、960)

     

    2. HSYNC 极性

    ⇒1 (高电平有效)

    谢谢、此致、

    哈塔。

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

    Hata、您好!

    VIP 报告的帧大小为1280x960,缓冲区也分配为1280x960帧大小,那么您如何看到额外的行?  

    您是否看到存储器中写入的行超过960行?  

    输入是否还包括任何垂直消隐?  

    此致、

    Brijesh

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

    您好、Brijesh

    >您是否看到存储器中写入的行数超过960行?  

    是的、因此、为其他存储器保留的存储器区域将被销毁。

    额外的线路有时是 ALL0、有时也是   

    有时它是所有的0值、有时它具有与最后一行相同的数据。

    >输入是否还包括任何垂直消隐?  

    我将确认。

    请回复

    1:您是否已经有任何想法来解决此问题?

    2: 您估计此问题将在多长时间内得到解决?

    谢谢、此致、

    哈塔。

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

    >输入是否还包括任何垂直消隐?  

    垂直处于非活动状态期间存在消隐周期。

    在此期间没有任何数据。

    没有任何原因、但客户 对此问题怀疑 PDMA。

    谢谢、此致、

    哈塔。

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

    Hata、您好!

    我真的怀疑这是来自 DMA 引擎。

    由于您使用的是 HS & VS 信号、垂直前沿和后沿区域(不是活动垂直垂直垂直垂直垂直垂直同步区域的一部分)也将由 VIP 捕获。 应使用 VIP 修剪器裁剪/修剪。  我们甚至可以限制描述符中的 DMA 写入。  

    但为此、我们需要知道确切的垂直帧时序。 然后、我们可以使用上述机制之一将帧大小限制为960行。  

    您将使用哪些驱动程序作为 VIP?

    此致、

    Brijesh

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

    您好、Brijesh

    "哪种驱动程序"是什么意思?

    它们正在使用  

      SDK:ti-processor-sdk-rtos-am57xx-evm-04.02.00.09-Windows-x86-Install.exe

      PDK:v1.0.9

    谢谢、此致、

    哈塔。

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

    Hata、您好!

    我是说您使用的是 PDK 驱动程序或 Linux 驱动程序。

    此致、

    Brijesh

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

    你(们)好

    正如我之前所说的、它们使用 RTOS。 因此、我相信他们使用的是 PDK 驱动程序。

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

    Hata、您好!

    好的、包括消隐在内的输入视频帧大小是多少? 您能否共享输入视频的视频定时?

    Rgds、

    Brijesh

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

    我们使用 VIP 端口捕获单帧图像、而不是视频帧。

    每次采集时启动和停止 VIP。

    因此,我们无法定义“包括消隐在内的视频帧大小”。

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

    除了、

    关于蓝色"//"周期、 Vsyn 和 Hsyn 同时更改其状态。 因此、"//"的周期为0周期。

    关于红色"/"周期、 每个单次捕获之间大约有260k~130M 个周期。

    谢谢、此致、

    哈塔。

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

    Hata、您好!

    如果您是 H 输入作为 HSYNC 输入、并在 VIP 中将 HS 和 VS 输入配置为低电平有效输入、那么当 VSYNC 为高电平时、从 HSYNC 的一个上升沿到下一个上升沿的整个线路将在存储器中被捕捉。 如果 VS 为高电平时有960个以上的 HS 脉冲、则 VIP 将捕获所有这些脉冲。  

    因此、请确保在此期间 HS 的脉冲恰好为960。  

    此致、

    Brijesh

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

    您好、Brijesh

    是的、客户确认 HS 的数量确切为960。

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

    Hata、您好!

    如果恰好有960个 HS 脉冲、当 VSYNC 处于活动状态时、VIP 将在存储器中捕获960条线路。 VIP 大小寄存器还确认有960条线路。

    还有一种方法可以确认接收到的行数是否为960。 在 PDK 驱动程序中、我们可以在每个 fvid2_frame 中提供 RT 参数、驱动程序将返回每个帧捕获的帧大小。 您能否添加它并查看它是否报告超过960行的时间?

    此致、

    Brijesh

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

    您好、Brijesh

    我在将 VPS_CaptRtParams 设置为 Fvid2_Frame.perFrameCfg 后确认了以下值、并且传输完成、

    CaptRtParams .captudedOutWidth = 1280

    CaptRtParams .captudedOutHeight = 960

    因此、输入高度可以是960、但传输高度可以是961。

     

    哪个 VPDMA 寄存器与高度数量相关?

    谢谢、此致、

    哈塔。

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

    Hata、您好!

    如果 RT 参数报告大小为1280x960、则 DMA 引擎不会写入超过960条线路、至少对于该帧是如此。

    您能否检查 RT 参数以确定多个帧? 请为每个 Fvi2_frame 提供单独的 RT 参数结构实例、以返回多个帧的大小。

    如果使用3个 Fvid2_Frames、则分配3个 RT 参数实例、然后将其传递给 fvid2_frame。 当您取消帧的队列时、请检查多个帧的 RT 参数值。  

    此致、

    Brijesh

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

    你(们)好

    我们仅使用1个 Fvid2_Frame 进行单次捕获。

    在每次捕获中、RT 参数报告大小为1280x960、并且为961行写入缓冲区。

     

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

    Hata、您好!

    如果 RT 参数报告960条线路、则 DMA 写入960条线路的可能性极小。 您如何知道它超过960条线路?  

    在向 VIP 提交帧之前,您能否在961行写入已知模式,然后在捕获后,您能否看到模式是否被覆盖?

    此致、

    Brijesh

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

    您好、Brijesh

    他们开始调查此问题、因为发生了数据损坏。

    它们准备了大小为1280x960的存储器缓冲器。

    其他存储器区域中发生数据损坏。

     

    它的内容有时全为0、有时是最后一行的图像数据。

    这种行为不取决于 VIP1/2/2和 PORta/B 任何 VIP 端口都出现问题。

    RAW8或 YUV422格式发生了这种情况、但 RAW16格式没有发生

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

    Hata、您好!

    几个问题

    1、当写入超过960行时、您是否看到 RT 参数报告的行数超过960行?  

    2、似乎缓冲区中填充了0x00或0xFF、该值是由传感器发送的吗?  

    您是否还可以尝试使用 VPS_VpdmaMaxSizeParams 接口来限制写入存储器的帧大小? 此结构需要通过 IOCTL_VPS_CAPT_SET_VIP_MAX_SIZE ioctl 传递。 它包含每个实例的 maxWidth 和 maxHeight 参数。 在这种情况下、将 maxWidth/maxHeight 设置为 VPS_VPDMA_MAX_OUT_WIDTH_REG1、然后将 Reg1中的最大大小设置为1280x960。  

    此致、

    Brijesh

    此致、

    Brijesh

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

    >1:当写入超过960行时,您是否看到 RT 参数报告超过960行?

     

    不可以、每次捕获时、缓冲器写入的行数超过960行、

    RtParams 每次报告1280 x 960。

     

    >2:似乎缓冲区中填充了0x00或0xFF,该值是否由传感器发送?  

    它不是来自传感器的数据。

    但是、有时是最后一行的图像数据。

    >是否还可以尝试使用 VPS_VpdmaMaxSizeParams 接口限制写入存储器的帧大小?

    此结构需要通过 IOCTL_VPS_CAPT_SET_VIP_MAX_SIZE ioctl 传递。

    它包含每个实例的 maxWidth 和 maxHeight 参数。

    在这种情况下、将 maxWidth/maxHeight 设置为 VPS_VPDMA_MAX_OUT_WIDTH_REG1、然后将 Reg1中的最大大小设置为1280x960。

     

    正如您所说、我试图限制帧大小、但没有任何变化。

    (vipPrms->outStreamInfo:VPS_CaptVipOutInfo)

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

    你(们)好

    您是否有任何更新?

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

    你(们)好

    您是否有任何更新?

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

    Hata、您好!

    将1280x960设置为 DMA 中的限值后、它无法写入超过960条线路。 这很不可能。 这是其他东西。 在捕获完成之前、系统中的其他人是否可能正在使用此缓冲区?  

    您是否可以在不使用任何其他组件的情况下使用独立的捕获模块、并查看最后一行是否已被写入?  

     

    此致、

    Brijesh

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

    Hata、您好!

    是否有关于此问题的进一步更新?

    让我们知道它是否已解决、问题是否可以解决。

    此致、

    Brijesh

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

    您好、Brijesh

    我正在向客户确认这一点。

    顺便说一下、作为客户的验证、行为取决于图像格式。

    根据您 提到的规范、这种行为是不可能的、但是否存在缺陷?

    您可以尝试使用不同的图像格式进行类似的简单测试吗?

    谢谢、此致、

    哈塔。

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

    Hata、您好!

    这种行为不太可能与格式有关。 DMA 不知道格式、它根据此配置限制大小。

    您能否获得有关其工作格式以及不工作格式的更多信息?

    此致、

    Brijesh

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

    您好 、Brijesh

    所有信息都在我的第一条评论中、因此请仔细参考、但问题发生在 RAW8或 YUV422中、而不是 RAW16中。

    RAW8/YUV422和 RAW16可通过 VIP 中的不同路径。

    恐怕这会导致这种行为的原因。

    谢谢、此致、

    哈塔。

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

    Hata、您好!

    好的、RAW8和 YUV422数据的输入接口是什么? 在这些情况下、了解 VIP 的像素非常重要。  

    由于它对 RAW16位工作正常、我觉得这是一些次要配置问题。

    此致、

    Brijesh

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

    您好、Brijesh

    您需要什么信息?

    它们使用 VIP1/2/2和 Porta/B 进行了测试、并且任何 VIP 端口都出现了问题。

    中的数据存储

    数据是一次性的。

    因此、每个 Vsync 之间都有很多消隐周期。

    谢谢、此致、

    哈塔

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

    Hata、您好!

    我的意思是工作用例和非工作用例之间的接口大小是多少? 在这两种情况下、它是8位、即8条数据线吗? 还是不同?  

    此致、

    Brijesh