Other Parts Discussed in Thread: AM5748
部件号: AM5748
你好 Josue、
此线程与以下(已阻止)一相关。 对延迟感到抱歉、不得不切换到紧急优先级。
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1592309/am5748-core-priorities-accessing-shared-resources/6196365
关于您上一个主题中的最后一个问题:我尚未了解如何使用基于优先级的 CoS(带 TRM 和 QoS 旋钮)、但在此期间、我再次尝试使用基于 ConnID 的 CoS。 这是我所做的:
1.emif_read_write_execution_threshold 寄存器。
- 设置为 1 位 31 (MFLAG_OVERRIDE) 以禁用 MFlag、因此启用 CoS。 这是:将 0x80000305 写入寄存器 0x4C000120。 WR_THRSH 和 RD_THRSH 保持复位默认值
2. CONNECTION_ID_TO_CLASS_OF_SERVICE_1_MAPING 寄存器。
- 设置为 1 位 31 (CONNID_COS_1_MAP_EN) 以启用与服务类别 1 映射的连接 ID、将 b00001111 设置为 CONNID_1_COS_1 并将“3"设置“设置为 MSK_1_COS_1、以屏蔽 001XXX 的所有连接。 它应包括 DSP1 MDMA、DSP1 CFG、DSP1 DMA、DSP2 DMA、DSP2 CFG、 DSP2 MDMA 和 IVA ICONT1(我们不使用 IVA,因此我们不介意最后一个具有优先级)
- 将 b00011111 设置为 CONNID_2_COS_1、将“3"设置“设置为 MSK_2_COS_1、以便屏蔽 011XXX 的所有连接器。 这应包括 IPU1、IPU2、DMA_SYSTEM RD、DMA_SYSTEM WR、EDMA_TC1 WR 和 EDMA_TC1 RD、EDMA_TC2 WR 和 EDMA_TC2 RD、关于表 35-32。
已针对表 35-32 选择了此连接器。 STM 消息软件主设备 35.10.10.1 和表 35-16。 35.10.4.1 的主 ID 映射(调试视图)、均位于 AM5748 TRM 中。
实际上、我刚刚尝试了 CONNID_1_COS_1 + MSK_1_COS_1 和 CONNID_1_COS_1 + MSK_1_COS_1 + CONNID_2_COS_1 + MSK_2_COS_1 。
3. EMIF_COS_CONFIG 寄存器。 我已经尝试了几种值组合、没有一个值在通过 McASP-EDMA 接收样本的 DSP 确定性方面有明显改进、但其中一些值使行为更糟。
例如、将 COS_COUNT_1 设置为 1 或 0 会使 EDMA 回调(恒定采样,连续回调之间的标称值为 309us)接收的抖动直方图变得比不触摸它更宽、也不可取。


如果我将 COS_COUNT_1 设置为 8 并将 PR_OLD_COUNT 设置为 4、我可能会得到类似的抖动、就像让它们在两个字段中复位默认值 0xFF 一样。
关键是—只是刷新上下文—我们希望 DSP1 在其对 L3(外设和存储器)和 DDR 的访问中具有尽可能高的优先级(高于其余内核)、以便 DSP 回调之间的时间间隔尽可能保持稳定。 如果增加过多、在最坏的情况下可能会丢失样本、或者在“较差“的情况下只剩下很少的时间来处理以下样本。
每当 DSP 需要访问某些内容时、可能没有必要中断正在进行的访问(例如来自 A15)、但它应该放在 L3 和 DDR 访问队列中的优先级下。 这应该会显著降低抖动。
或者、如果我们的目标过高、或许可以指导我们在访问 L3/DDR 的不同内核的仲裁中取得什么成果。
因为我们不仅希望 DSP1 具有更高的优先级、我们真正需要的是 DSP1 > IPU1 > IPU2 > 2×A15。 但如果我们能够实现 DSP1、我希望我们可以在以后推断出 IPU 和 DSP2 的方法。 不仅涉及 CoS、还涉及带宽调节器/限制器、SDRAM 发起方优先级、L3_MAIN 发起方优先级、PEG 优先级以及我们在原始线程中讨论的 DSP NOC 仲裁。
如果您认为“重新组合“我已经测试过的内容会有所帮助、请告诉我。
感谢您的支持
BR
RO


