工具与软件:
您好、TI、主页
我们在捕获节点中遇到帧丢失问题、请帮助分析该问题。
1、μ s 捕获节点的正常执行时间如下:

2 μ s 在、TIDL 相关应用时、捕获节点的执行时间变得不稳定、如下所示:

此致、
JC
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、主页
我们在捕获节点中遇到帧丢失问题、请帮助分析该问题。
1、μ s 捕获节点的正常执行时间如下:

2 μ s 在、TIDL 相关应用时、捕获节点的执行时间变得不稳定、如下所示:

此致、
JC
嗨、Brijesh;
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5586787 #5586787"]您使用的是哪个 SDK 版本? 您可以在 SDK10.1版本中检查这一点吗?
[报价]我们使用 sdk10.0。
这似乎与 SDK 版本无关,它似乎是一个资源争用问题,我们想增加 csirx 或 MCU2_0的优先级,是可能吗?
此致、
JC
尊敬的 JC:
您是否可以尝试更改 CSIRX 驱动程序中的一个参数? 您可以不使用文件 ti-processor-sdk-rtos-j722s-evm-10_00_00_05\mcu_plus_sdk_j722s_10_00_00_25\source\drivers\csirx\v1\csirx.h 中 csirx_chCfgInit 中 csirit 的总线顺序 id 8、而是将此值更改为15、看看它是否有帮助?
此致、
Brijesh
嗨、Brijesh、
您能否在 CSIRX 驱动程序中更改一个参数? 您可以不使用文件 ti-processor-sdk-rtos-j722s-evm-10_00_00_05\mcu_plus_sdk_j722s_10_00_00_25\source\drivers\csirx\v1\csirx.h 中 csirx_chCfgInit 中 csirit 的总线顺序 id 8、而是将此值更改为15、看看它是否有帮助? [报价]在我们将总线顺序 id 的值更改为15之后、帧丢失问题似乎没有改善。
是否还有其他可以尝试的操作、例如提高 MCU2_0或 csirx 的 QoS 优先级?
此致、
JC
嗨、Brijesh、
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5591770 #5591770"]一个问题、请确认您没有看到任何帧接收错误、如"Capture:Error:Incomplete Frame for Ch0/1/2/3"、并且在捕获统计信息中看不到任何溢出。
[报价]否、我没有看到此错误。
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5591770 #5591770"]如果不是这样、那么我们可以尝试增加 r5f 的优先级、看看这是否有帮助。
[报价]好的、那么如何提高 r5f 内核的优先级呢?
此致、
JC
嗨、Brijesh、
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5591893 #5591893"]您使用哪种引导流程? 是 SPL 引导流程还是 SBL?
在 SDK10.1中、我们增加了对在 SPL 引导流程中设置 QoS 设置的支持。 我们只需要在此处添加 R5F QoS。
[报价]
我们使用了 sdk10.0和 SBL 引导。
此致、
JC
嗨、Brijesh、
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5602153 #5602153"]您是否可以在 MCU+ SDK 上应用附加的补丁、尤其是在 ti-processor-sdk-rtos-j722s-evm-10_00_00_05\mcu_plus_sdk_j722s_10_00_00_25上、重新编译 SBL、并查看它是否有助于在主 R5F 上获得更好的性能?
[报价]确定、我可以从哪里获得此修补程序文件?
此致、
JC
尊敬的 JC:
很抱歉、我漏掉了。 请在此帖子上找到它。
此致、
Brijesh
嗨、Brijesh、
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5604152 #5604152"]当您说在印刷中捕获成本时间时、这意味着什么? 您如何获得这个时间并从 OpenVX 打印它? 您能否打印 OpenVX 统计信息并查看 捕获是否运行正常?
[报价]在 TIvxCaptureProcess 函数的开始和结束处记录一个时间戳。
例如:
tivxCaptureProcess ()
{
time_start = tivxPlatformGetTimeInUsecs ();//开头
....
time_end = tivxPlatformGetTimeInUsecs();//背面
printf (%s 成本时间:%llu \n"、__func__、(time_end-time_start/1000);
}
此致、
JC
嗨、Brijesh、
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5604501 #5604501"]但是、 您能否不测量 TIvxCaptureProcess API 的时间、而是测量两个脱队呼叫之间的时间段? 通常、应用程序使用捕获输出作为图形参数、并执行 参数排队和出队等操作。 您能否检查两个出队之间的时间是否保持一致?
[报价]在出队函数调用之前和之后记录时间戳、这也不稳定并具有较大抖动。
例如:
time_start = tivxPlatformGetTimeInUsecs();
time_end = tivxPlatformGetTimeInUsecs();
printf (%s 成本时间:%llu \n"、__func__、(time_end-time_start/1000);
此致
尊敬的 JC:
但这似乎是图形性能、您能得到完整的统计数据吗? 这应包括捕获节点的统计信息。 然后、我们将了解 CSIRX 是否报告了任何错误或是否存在任何帧丢失。
从本质上讲、 Capture 节点中的 control 命令 TIVX_CAPTURE_PRINT_STATISTS 在 控制台上打印统计信息。 看到帧丢失时、您可以调用此控制命令吗?
此致、
Brijesh
尊敬的 JC:
我们 从统计信息中可以看到、CSIRX 不会报告任何错误、没有溢出、没有 ECC 或 CRC 错误、也没有虚假中断。
但有掉帧、 由驱动程序报告。 这通常在管道中其他组件运行得较慢时出现、因此它无法将缓冲区提供回 CSIRX。 这时、CSIRX 将丢弃该帧。
在上面的图中、我 只看到 LDC、它在大部分时间实时运行、平均花费了26米。
您能否检查其他组件? 查看其中是否有任何一个持续花费超过33ms、且其平均性能时间超过33。
此致、
Brijesh
嗨、Brijesh、
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5609467 #5609467"]
您能否检查其他组件? 查看其中是否有任何一个持续花费超过33ms、且其平均性能时间超过33。
[报价]
该图只有两个节点、即 CAPTURE+LDC、并且应无法仅查看平均时间、问题在于每帧的时间抖动较大。
在发生帧丢失之前、DDR 带宽必须超过6.5Gb/s。 如何解决该问题。
此致、
JC
嗨、Brijesh、
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1456493/tda4ven-q1-capture-node-frame-loss-issue/5611108 #5611108"]LDC 的输出连接在哪里? 它是否未连接到任何地方? 此外、在捕获节点和 LDC 节点之间分配了多少个缓冲器? 我确实看到 LDC 节点花费了超过33ms 的时间、在 这种情况下、在采集和 LDC 之间进行轻微的模式缓冲可能会有所帮助。
[报价]是的、LDC 节点输出不连接任何节点; 它只共享 LDC 缓冲器以供其他进程使用。
图形链接如下所示:
捕获节点(3个缓冲器)—-> LDC 节点(6个缓冲器)
我尝试增加缓冲区的数量、但没有改善帧丢失问题。
摄像机的帧速率为25帧、DDR 带宽超过6.5Gb/s 后、会发生帧丢失、且平均帧速率在22-23帧范围内。
此致、
JC