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.

[参考译文] AM2434:DO 寄存器读取延迟改善

Guru**** 2952510 points

Other Parts Discussed in Thread: TMS320F28386D, AM2434

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1597208/am2434-do-registers-read-latency-improve

器件型号: AM2434
主题中讨论的其他器件: TMS320F28386D、

尊敬的专家:

关于这两个主题:

AM2434:如果可能、减少 FSI 寄存器读取/写入延迟 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

AM2434:在 MCU+ SDK 09.01.00 中 DO 寄存器读取延迟改善 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

我是否可以问、从哪个 SDK 版本或编译器版本及更高版本、R5F 和 PRU 上寄存器的读取/写入操作可以有效地缩短访问时间? 此外、实际的减少数字是多少?  

我们目前正在使用以下方法进行寄存器读取/写入操作。 这种方法是否也有效?

寄存器 工作 R5F PRU( C 代码)
读取 HW_RD_REG16 () HW_RD_REG16 ()
写入 HW_WR_REG16() HW_WR_REG16()

此致

螺栓

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

    您好螺栓、

    该线程当前分配给另一个团队成员、该团队成员将从 R5F/MCU+端进行注释。 我将在 PRU 方面进行评论。

    PRU 读取/写入延迟

    您的用例是什么?

    PRU C 编译器可以选择进行优化(更多的优化通常可以提高代码效率,但编译器也更有可能以意想不到的方式在某些指令执行中移动。 生成的汇编指令仍将执行您在 C 中编程的操作,但顺序不太可能符合读者的期望)。

    如果这是对时间敏感的操作、我通常建议直接使用汇编语言进行编程、因为这样您就可以准确控制 PRU 内核在每个单个时钟周期执行的操作。 客户通常也使用 C 语言编写代码、然后将其时序敏感型函数编程为汇编语言。

    更多有关 PRU 读取/写入延迟的信息 、

    请参阅  
    【常见问题解答】PRU:如何计算读取和写入延迟?

    团队和我正在编写测试以重新验证所有信息、这些信息最终将发布到 新的 OpenPRU 存储库中。 然后、我们将 于 2026 年刷新旧的 PRU 读取延迟应用手册。

    对于未来的读者、请随时创建新的 e2e 主题来询问我们是否有更新。

    有关在 AM243x 上开始开发 PRU 的更多信息 、

    请参阅 AM243x Academy 的新 PRU 模块。

    仍在积极写入 PRU Academy。 我是主要作者。 如果您有任何问题或反馈、请单独创建一个 e2e 主题、稍后将返回给我。

    此致、

    Nick

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

    对于未来的读者、Bolt 创建了几个相关的 e2e 螺纹。 我们可能会尝试将这个 e2e 主题保留为重点介绍 R5F 内核读取和写入、并在其他主题上讨论详细的 PRU 概念:

    PRU C 代码与汇编代码:
    AM2434:PRU - C 代码应用建议

    有关 PRU XFR2VBUS 的更多信息
    AM2434:PRU 应用 — XFR2VBUS 优化

    此致、

    Nick

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

    您好、Nick、

    感谢您的答复。

    关于 PRU 部分、我将继续关注其他线程中的更新。

    对于此主题、我将继续等待有关优化 R5F 寄存器读取/写入延迟的说明。

    此致
    螺栓

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

    您好、Nick、

    抱歉、您能帮我们检查何时可以期待响应或任何有关 R5F 寄存器读取/写入延迟改进的相关信息吗?

    此致
    螺栓

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

    尊敬的专家:

    关于 R5F 寄存器读取/写入延迟改进、您有任何建议或更新吗?

    此致
    螺栓

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

    Swargam、  

    这是已备案的 TI EP FAE。  

    此 e2e 帖子有关寄存器读取/写入延迟(包括 R5F 和 PRU)的两个部分。  

    Nick 已回复了 PRU 部分、目前需要您帮助来评论 R5F 部分。  

    新的 MCU SDK 似乎可以改善寄存器读取/写入延迟、我们预计团队会深入了解客户如何减少 FSI 寄存器访问的读取/写入延迟。  

    您可以建议对 SDK 9.02 进行改进吗?  

    Br、Rich

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

    Swargam、  

    这是 MCU SDK 的一部分吗?

    您可以评论 R5F 部分吗?  

    Br、Rich

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

    你好

    我们目前正在使用以下方法进行寄存器读取/写入操作。 此方法是否也有效?

    上表中提到的函数从存储器地址执行直接读取/写入。

    请参阅下图。

    ]新 MCU SDK 似乎可以改善寄存器读取/写入延迟、我们预计团队会深入了解客户如何减少 FSI 寄存器访问的读取/写入延迟。[/报价]

    客户获得的延迟数字是多少? 这里的要求是什么?

    他们是在哪个配置文件中构建示例? 是发布还是调试?

    正在使用哪些优化级别?

    此致、

    Tushar

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

    尊敬的 Tushar:

    感谢您的答复。

    HW_RD_REG16()和HW_WR_REG16()函数的基本实现当前与您描述的方法相同。

    客户获得了哪些延迟数字? 此处的要求是什么?

    有关此主题,请参阅之前的讨论主题 — AM2434:如果可能、减少 FSI 寄存器读取/写入延迟 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛。 我在下面添加了一个屏幕截图以供参考。 我们的主要目标是使读/写延迟与 F28386 的延迟保持一致。

    指令延迟\ 处理器 TMS320F28386D CPU AM2434 CPU AM2434 PRU
    每个寄存器的读取延迟 (us) 0.02. 0.09. 0.33
    每个寄存器的写入延迟 (us) 0.01 0.01 0.02.

    此外、在前面的讨论主题 AM2434:DO 寄存器读取延迟在 MCU+ SDK 09.01.00 中改善 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛中 提到、将 SDK 更新到版本 9.1 或更高版本可以改善读取/写入延迟(如下图所示)。 您能否证实此陈述是否准确? 如果有改进、您是否还能分享有关减少延迟的量化数据或数字?

    [引述 userid=“16414" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1597208/am2434-do-registers-read-latency-improve/6197184

    他们是在哪个配置文件中构建示例? 是发布还是调试?

    正在使用哪些优化级别?

    [/报价]

    另有关此主题,请参阅之前的讨论主题 — AM2434:问题。AM2434 编译器和优化设置,提高执行效率 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛。 我们的当前配置基于发行版构建、R5F 优化设置设置为"s"。 如果您有任何专门针对读/写延迟优化的建议、如果您也可以提供相应的编译器配置设置、我们将不胜感激。

    此致
    螺栓

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

    您好、

    指定的专家不在办公室、请期待收到延迟的回复。

    此致、

    Vaibhav

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

    高螺栓、

    [报价 userid=“549268" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1597208/am2434-do-registers-read-latency-improve/6200885
    每个寄存器的读取延迟 (us) 0.02. 0.09. 0.33
    [/报价]

    在此处读取哪个寄存器?

    它位于主域还是 MCU 域中? 从哪个内核读取该信号?

    内核以什么频率运行?

    我可以看到您在上面分享的表格对两种不同的 CPU 架构进行了比较。 (C2000 和 AM243x)。

    此致、

    Tushar

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

    尊敬的 Tushar:
    很抱歉耽误了回复。

    此处正在阅读哪个寄存器?

    FSI 寄存器读取/写入,您可以参考 —  AM2434:如果可能、减少 FSI 寄存器读取/写入延迟 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    它位于主域还是 MCU 域中?

    FSI 模块在主域中。

    从哪个内核读取此内容?

    AM24x- CPU:R5F0_0
    AM24x- PRU:PRU-ICSSG0 - PRU0 - PRU
    F28386 - CPU1

    内核以什么频率运行?

    AM24x- CPU:800MHz  
    AM24x- PRU:333MHz  
    F28386 - CPU1 : 200MHz

    此致
    螺栓

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

    高螺栓、

    我尝试使用 AM64x MCU+SDK v11.02、我的代码平均需要 0.11us 来读取 FSI0 模块的 TX_FRAME_CTRL 和 RX_FRAME_INFO 寄存器。

    R5F 内核在 800MHz 处运行、读取上述寄存器的函数保存在 TCMA 存储器中。

    这些数字是在工程的发布版本中获取的。 我没有看到 0.9us 的读取延迟。 请告诉我们是否需要读取特定寄存器。

    此致、

    Tushar

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

    尊敬的 Tushar:

    参考 AM2434:如果可能、减少 FSI 寄存器读取/写入延迟 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    对 FSI 模块的读取和写入说明如下。

    指令延迟\ 处理器 TMS320F28386D CPU AM2434 CPU AM2434 PRU
    读取 每个寄存器的延迟 (us) 0.02. 0.09. 0.33
    每个寄存器的写入延迟 (us) 0.01 0.01 0.02.

     测得的读取时间为 0.09µs 、而不是您之前提到的 0.9µs。 我们期望将其降低至大约 0.02µs 。

    但是、根据您提供的测试数据、测量值为 0.11µs 、这似乎表明较新的 SDK 不会改善读/写延迟。 这种理解是否正确?

    如果是这样、我们可能会问为什么之前有  指示该 SDK 版本的信息(AM2434:在 MCU+ SDK 09.01.00 中 DO REGISTERS READ LATENCY INXIME — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛) 9.02 或更高版本 会改善读/写延迟吗? 这是否意味着相应的优化项目尚未实施、或者是否与不同的改进范围相关?

    感谢您的澄清和支持。

    此致
    螺栓

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

    高螺栓、

    测得的读取时间为 0.09µs 、而不是您之前提到的 0.9µs。 我们期望将其降低至大约 0.02µs .

    谢谢您的纠正。  

    这一理解是否正确?

    是的、正确。 我已检查 Jira 状态。 Jira 是关闭的、因为它在硬件方面受到限制、并且无法通过软件改进来降低延迟。

    此致、

    Tushar