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.

[参考译文] TDA4AEN-Q1:R5F 上的显示屏抖动问题

Guru**** 2482105 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1424863/tda4aen-q1-display-jittering-problem-on-r5f

器件型号:TDA4AEN-Q1

工具与软件:

你好。  TI 专家创建的

我很难解决 R5F 上的显示抖动问题。

请找到随附的视频文件。

e2e.ti.com/.../2024100216120565.mp4

当 DDR BW 变得越来越大时、似乎可以观察到这个问题。

例如、我设计了两个应用程序。

-一个是非常简单,包括文件读取器和显示。

-另一个是文件读取器,在 c7x 上的 TIDL ,在 MPU 上的后处理和显示。

DDR BW 的比较如下。

DDR BW 简单测试应用1. 简单的测试应用1 + c7x 非常复杂的应用(mpu、c7x)

读取

Avg = 1848MB/s

峰值= 5592Mb/s

Avg = 1650 MB/s

峰值= 7760MB/s

Avg = 3241MB/s

峰值= 11529MB/s

写入

BW:平均值= 850MB/s

峰值= 2546MB/s

Avg = 1530MB/s

峰值= 4233MB/s

Avg = 3241MB/s

峰值= 11529MB/s

总计

Avg = 2698MB/s

峰值= 8138 MB/s

Avg = 3180MB/s

峰值= 11993 Mb/s

Avg = 4719MB/s

峰值= 21519MB/s

简单测试应用1正常、但在"Simple_test_app1+c7x"和"非常复杂的应用(MPU、c7x)"中可以观察到显示抖动。

您是否知道如何解决此问题?

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

    您好!

    这很可能是由于 TDA4AEN 器件没有设置 QoS。 我们可以做一些实验来为 DSS 启用 QoS 和优先级、看看它是否有帮助?  

    此致、

    Brijesh

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

    您好、Brijesh。

    当然。 你们要在你们这边进行这些实验吗? 或者,如果你想让我做一些事情,让我知道如何测试它们。

    此致

    Yongsig

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

    您好、Yongsig、

    我想您正在使用 SPL 引导流程、因此我想从 J721S2到 J722S 进行一些 QoS 更改、看看这在这种情况下是否有用。 我将在明天分享这个补丁 、供您试用。  

    此致。

    Brijesh

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

    您好、Brijesh

    我想知道是否 会有更新。

    此致

    Yongsig

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

    您好、Yongsig、

    现在还没有、我还在检查它。  

    此致、

    Brijesh

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

    您好、Yongsig、

    您能做一个实验吗? Linux 启动后、您能否使用 devmem 实用程序写入以下寄存器、然后运行用例? 让我们看看这是否解决了 DSS 上的伪影问题?  

    devmem2 0x45D25100 w 0x80
    devmem2 0x45D25104 w 0x80
    devmem2 0x45D25108 w 0x80
    devmem2 0x45D2510C w 0x80

    devmem2 0x45D25000 w 0x76543210
    devmem2 0x45D25004 w 0xfedcba98

     

    此致、

    Brijesh

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

    您好、Brijesh

    我做了如下。

    root@j722s-evm:~# devmem2 0x45D25100 w 0x80
    /dev/mem opened.
    Memory mapped at address 0xffff85882000.
    Read at address  0x45D25100 (0xffff85882100): 0x00000000
    Write at address 0x45D25100 (0xffff85882100): 0x00000080, readback 0x00000080
    root@j722s-evm:~#
    root@j722s-evm:~# devmem2 0x45D25104 w 0x80
    /dev/mem opened.
    Memory mapped at address 0xffffa9294000.
    Read at address  0x45D25104 (0xffffa9294104): 0x00000000
    Write at address 0x45D25104 (0xffffa9294104): 0x00000080, readback 0x00000080
    root@j722s-evm:~#
    root@j722s-evm:~# devmem2 0x45D25108 w 0x80
    /dev/mem opened.
    Memory mapped at address 0xffffb46fc000.
    Read at address  0x45D25108 (0xffffb46fc108): 0x00000000
    Write at address 0x45D25108 (0xffffb46fc108): 0x00000080, readback 0x00000080
    root@j722s-evm:~#
    root@j722s-evm:~# devmem2 0x45D2510C w 0x80
    /dev/mem opened.
    Memory mapped at address 0xffffafb4b000.
    Read at address  0x45D2510C (0xffffafb4b10c): 0x00000000
    Write at address 0x45D2510C (0xffffafb4b10c): 0x00000080, readback 0x00000080
    root@j722s-evm:~#
    root@j722s-evm:~# devmem2 0x45D25000 w 0x76543210
    /dev/mem opened.
    Memory mapped at address 0xffff82357000.
    Read at address  0x45D25000 (0xffff82357000): 0x00000000
    Write at address 0x45D25000 (0xffff82357000): 0x76543210, readback 0x76543210
    root@j722s-evm:~#
    root@j722s-evm:~# devmem2 0x45D25004 w 0xfedcba98
    /dev/mem opened.
    Memory mapped at address 0xffffb4d27000.
    Read at address  0x45D25004 (0xffffb4d27004): 0x00000000
    Write at address 0x45D25004 (0xffffb4d27004): 0xFEDCBA98, readback 0xFEDCBA98
    

    但仍然可以观察到伪影问题。

    此致

    Yongsig

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

    好的、还有一个实验、您可以尝试在 sirx_chCfgInit 的 source\drivers\csirx\v1\csirx.h 文件中将 busOrderId 的值增加到12吗? 请注意、这需要构建 PDK 驱动程序。 此外、请保留以上更改、即寄存器设置。 让我们看看这两项更改是否都能解决问题。

    此致、

    Brijesh

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

    您好、Brijesh。

    到目前为止、我正在尝试迁移到 PSDK 10.0.0.5。

    我将在几天内针对 PSDK 10.0.0.5进行测试、然后让您知道结果。

    此致

    Yongsig

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

    谢谢您、Yongsig。

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

    您好、Brijesh

    您能否尝试在 sirx_chCfgInit 的 source\drivers\csirx\v1\csirx.h 文件中将 busOrderId 的值增加到12? 请注意、这将需要构建 PDK 驱动程序[/QUOT]

    --->我在重新构建前做了"make sdk_clean"和"make sdk_scrub "。

    然后按如上所述设置寄存器。

    但是、即使迁移到 PSDK 10.0.0.5、此问题也没有解决。

    你有其他想法吗?

    此致

    Yongsig

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

    您好、Yongsig、

    迁移到 SDK10.0没有帮助、因为即使在 SDK10.0中、也不会设置 QoS 寄存器。  

    让我向团队核实是否还需要进行任何更改。  

    此致、

    Brijesh

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

    您好、Yongsig、

    您是否可以在 uboot 上应用附加的更改、重新编译 uboot 并在 J722S 上尝试它? 此补丁正确地添加了 DSS 的 QoS 支持、并将在 下一个 SDK 中提供。

    /cfs-file/__key/communityserver-discussions-components-files/791/arm_2D00_mach_2D00_k3_2D00_j722s_2D00_add_2D00_QoS_2D00_Support_2D00_For_2D00_DSS.patch

    此致、

    Brijesh

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

    您好、Brijesh

    感谢您的建议。

    但是、我无法应用该补丁。

    我连接了我的 ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08\board-support\ti-u-boot-2024.04+git\arch\arm\mach-k3j722s_init.c.

    e2e.ti.com/.../j722s_5F00_init.c

    似乎您使用的是另一个版本。

    此致

    Yongsig

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

    您好、Yongsig、

    对于 SDK10.0、您是否可以在 uboot 上应用附加补丁、重新编译 uboot 并检查新的 uboot?

    /cfs-file/__key/communityserver-discussions-components-files/791/0001_2D00_Added_2D00_support_2D00_for_2D00_Setting_2D00_QoS_2D00_for_2D00_DSS.patch

    此致、

    Brijesh

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

    您好、Brijesh

    不幸的是、仍然存在抖动问题。

    请查看我所做的流程:

    1. 应用补丁
    2. 将 U_BOOT_CLEAN 置为
    3. 生成 U_boot
    4. 暂存文件
      usami@usami-HP-ZBook-Fury-15-6-inch-G8-Mobile-Workstation-PC:~/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08$ make u-boot-a53_stage
      mkdir -p /home/usami/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/built-images
      cp /home/usami/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/ti-u-boot-2024.04+git/build/a53/tispl.bin /home/usami/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/built-images/tispl.bin
      cp /home/usami/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/ti-u-boot-2024.04+git/build/a53/u-boot.img /home/usami/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/built-images/u-boot.img
      usami@usami-HP-ZBook-Fury-15-6-inch-G8-Mobile-Workstation-PC:~/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08$ make u-boot-r5_stage
      mkdir -p /home/usami/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/built-images
      cp /home/usami/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/ti-u-boot-2024.04+git/build/r5/tiboot3-j722s-hs-fs-evm.bin /home/usami/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/built-images/tiboot3.bin
    5. 将 build-images/*复制到 sdcard 的引导部分
      ongsigvb22@yongsigvb22:~/usami_labtop/workspace/ti_psdk/100_j722s/default/ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08/board-support/built-images$ cp -rvf * /media/yongsigvb22/BOOT/
      'tiboot3.bin' -> '/media/yongsigvb22/BOOT/tiboot3.bin'
      'tispl.bin' -> '/media/yongsigvb22/BOOT/tispl.bin'
      'u-boot.img' -> '/media/yongsigvb22/BOOT/u-boot.img'
      

    -->未解析  

     此外、我还尝试了设置寄存器:

         6.  

    root@j722s-evm:~# devmem2 0x45D25100 w 0x80
    /dev/mem opened.
    Memory mapped at address 0xffff8c813000.
    Read at address  0x45D25100 (0xffff8c813100): 0x00000000
    Write at address 0x45D25100 (0xffff8c813100): 0x00000080, readback 0x00000080
    root@j722s-evm:~# devmem2 0x45D25104 w 0x80
    /dev/mem opened.
    Memory mapped at address 0xffff9cd7b000.
    Read at address  0x45D25104 (0xffff9cd7b104): 0x00000000
    Write at address 0x45D25104 (0xffff9cd7b104): 0x00000080, readback 0x00000080
    root@j722s-evm:~# devmem2 0x45D25108 w 0x80
    /dev/mem opened.
    Memory mapped at address 0xffffa04e9000.
    Read at address  0x45D25108 (0xffffa04e9108): 0x00000000
    Write at address 0x45D25108 (0xffffa04e9108): 0x00000080, readback 0x00000080
    root@j722s-evm:~# devmem2 0x45D2510C w 0x80
    /dev/mem opened.
    Memory mapped at address 0xffffa1ffa000.
    Read at address  0x45D2510C (0xffffa1ffa10c): 0x00000000
    Write at address 0x45D2510C (0xffffa1ffa10c): 0x00000080, readback 0x00000080
    root@j722s-evm:~# devmem2 0x45D25000 w 0x76543210
    /dev/mem opened.
    Memory mapped at address 0xffffbc1ce000.
    Read at address  0x45D25000 (0xffffbc1ce000): 0x00000000
    Write at address 0x45D25000 (0xffffbc1ce000): 0x76543210, readback 0x76543210
    root@j722s-evm:~# devmem2 0x45D25004 w 0xfedcba98
    /dev/mem opened.
    Memory mapped at address 0xffffafe27000.
    Read at address  0x45D25004 (0xffffafe27004): 0x00000000
    Write at address 0x45D25004 (0xffffafe27004): 0xFEDCBA98, readback 0xFEDCBA98
    

    -->未解析。

    此致

    Yongsig

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

    您好、Yongsig、

    您使用什么用例重现此问题? 我们的开发团队已尝试使用此补丁、但不再出现显示屏闪烁问题。 所以、我想 用正确的用例进行检查。  

    此致、

    Brijesh

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

    您好、Brijesh

    很抱歉我无法共享我的应用程序。 但我可能会解释我们的测试应用、然后我想您可以创建 与我相同的应用。

    [报价用户 id="420366" url="~/support/processors-group/processors/f/processors-forum/1424863/tda4aen-q1-display-jittering-problem-on-r5f "]
    DDR BW 简单测试应用1. 简单的测试应用1 + c7x 非常复杂的应用(mpu、c7x)

    读取

    Avg = 1848MB/s

    峰值= 5592Mb/s

    Avg = 1650 MB/s

    峰值= 7760MB/s

    Avg = 3241MB/s

    峰值= 11529MB/s

    写入

    BW:平均值= 850MB/s

    峰值= 2546MB/s

    Avg = 1530MB/s

    峰值= 4233MB/s

    Avg = 3241MB/s

    峰值= 11529MB/s

    总计

    Avg = 2698MB/s

    峰值= 8138 MB/s

    Avg = 3180MB/s

    峰值= 11993 Mb/s

    Avg = 4719MB/s

    峰值= 21519MB/s

    [报价]

    请关注此表。

    简单的测试应用程序 包含一个 NV12文件读取器、一个将 NV12转换为 BGR 的节点以及一个使用 DRM 的显示节点。

    在"多测试应用1"中、颜色转换是使用 A53 NEON 执行的、而在简单测试应用1 + c7x 中、颜色转换是由 C7x 处理的。

    A53 NEON 代码基于 EdgeAI 生成的代码。  C7x 上的节点是根据之前由 TI 提供的 VXLIB 开发的。

    输入图像的分辨率为1920x1080。

    我希望这对您有所帮助。

    此外、要共享更多信息、还可以在 PSDK 9.2 AM62A 上观察到相同的问题。

    此致

    Yongsig

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

    您好、Yongsig、

    您可以尝试使用随附的补丁代替上述补丁吗?  这样可以修复使用 DSS 时出现的问题。  

    /cfs-file/__key/communityserver-discussions-components-files/791/5074.0001_2D00_Added_2D00_support_2D00_for_2D00_Setting_2D00_QoS_2D00_for_2D00_DSS.patch

    此致、

    Brijesh

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

    您好、Brijesh

    我已使用上传的文件修补数据。 然后复制 u-boot、包括 tispl.bin、u-boot.img 和 tiboot3.bin。

    但这个问题仍然存在。

    e2e.ti.com/.../2024120511171241.mp4

    尽管如此、该补丁并非完全无效。

    当操作更复杂的应用时、屏幕闪烁的发生显著减少。

    如果公司批准、我会分享其他测试视频。

    您将能够看到此补丁有多有效、即使它并不完全完美。

    此致

    Yongsig

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

    许永锡

    这很奇怪。 应用补丁后、我们应该不会发现显示问题? 是否仍然看到同步丢失错误?  我想检查问题是出现 在显示器上还是其他地方。 是否确定其他组件正常工作?  

    同样、是否可以使用已发布的 SDK 在 EVM 上以某种方式重现此问题?  

    此致、

    Brijesh

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

    您好、Brijesh。

    您确定其它组件工作正常吗?  [报价]

    有。 其他组件正常。 只有三个节点、包括文件读取器、颜色转换(在 C7x 上)和显示节点。

    显示节点的输入来自文件读取器、而不是颜色转换。

    我将与我的公司讨论是否可以提供我们的环境。

    此致

    Yongsig  

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

    您好、Yongsig、

    是否有此问题的最新动态? 我 怀疑 QoS 寄存器不是以某种方式设置的。 您能否尝试从 Linux 提示符中手动将下面的寄存器设置为值0xF0、看看它是否有帮助?  

    0x45D30100

    0x45D30104

    0x45D30108

    0x45D3010C

    0x45D30500

    0x45D30504

    0x45D30508

    0x45D3050C

    此致、

    Brijesh

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

    您好、Brijesh

    我很抱歉您的回复延迟、感谢您的耐心等待。

    看起来这些寄存器设置为0xF0。

    root@j722s-evm:~# devmem2 0x45D30100 w 0xF0
    /dev/mem opened.
    Memory mapped at address 0xffffa07d0000.
    Read at address  0x45D30100 (0xffffa07d0100): 0x000000F0
    Write at address 0x45D30100 (0xffffa07d0100): 0x000000F0, readback 0x000000F0
    root@j722s-evm:~# devmem2 0x45D30104 w 0xF0
    /dev/mem opened.
    Memory mapped at address 0xffffb87b2000.
    Read at address  0x45D30104 (0xffffb87b2104): 0x000000F0
    Write at address 0x45D30104 (0xffffb87b2104): 0x000000F0, readback 0x000000F0
    root@j722s-evm:~# devmem2 0x45D30108 w 0xF0
    /dev/mem opened.
    Memory mapped at address 0xffffb1c59000.
    Read at address  0x45D30108 (0xffffb1c59108): 0x000000F0
    Write at address 0x45D30108 (0xffffb1c59108): 0x000000F0, readback 0x000000F0
    root@j722s-evm:~# devmem2 0x45D3010C w 0xF0
    /dev/mem opened.
    Memory mapped at address 0xffff989b0000.
    Read at address  0x45D3010C (0xffff989b010c): 0x000000F0
    Write at address 0x45D3010C (0xffff989b010c): 0x000000F0, readback 0x000000F0
    root@j722s-evm:~# devmem2 0x45D30500 w 0xF0
    /dev/mem opened.
    Memory mapped at address 0xffffac994000.
    Read at address  0x45D30500 (0xffffac994500): 0x000000F0
    Write at address 0x45D30500 (0xffffac994500): 0x000000F0, readback 0x000000F0
    root@j722s-evm:~# devmem2 0x45D30504 w 0xF0
    /dev/mem opened.
    Memory mapped at address 0xffffa662a000.
    Read at address  0x45D30504 (0xffffa662a504): 0x000000F0
    Write at address 0x45D30504 (0xffffa662a504): 0x000000F0, readback 0x000000F0
    root@j722s-evm:~# devmem2 0x45D30508 w 0xF0
    /dev/mem opened.
    Memory mapped at address 0xffff8436c000.
    Read at address  0x45D30508 (0xffff8436c508): 0x000000F0
    Write at address 0x45D30508 (0xffff8436c508): 0x000000F0, readback 0x000000F0
    root@j722s-evm:~# devmem2 0x45D3050C w 0xF0
    /dev/mem opened.
    Memory mapped at address 0xffff942ba000.
    Read at address  0x45D3050C (0xffff942ba50c): 0x000000F0
    Write at address 0x45D3050C (0xffff942ba50c): 0x000000F0, readback 0x000000F0
    

    复位所有寄存器后、会观察到抖动问题。

    此致

    Yongsig

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

    您好、Yongsig、

    重置所有寄存器后、发现抖动问题。

    这很奇怪。 您能否分享您正在运行以重现此问题的用例? 是否可以在 EVM 上重现此问题?  

    此致、

    Brijesh