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.

[参考译文] AM6442:AM243x:时间同步路由器 (TSR)- EPWM 至 PRU 配置

Guru**** 2553260 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1558741/am6442-am243x-time-sync-router-tsr---epwm-to-pru-configuration

器件型号:AM6442


工具/软件:

我正在尝试了解如何为 ePWM 和 PRU 之间的同步信号设置连接。 目标是在 EPWM 的过零点触发 PRU 任务管理器、类似于 SDFM 示例中似乎所做的操作。 我希望 SYNC 信号将 IEP 计数器复位、然后在过零和其他定义的计数器值处生成 CMP 事件。

但是、在该示例中找不到任何 TSR 配置。

我希望澄清以下几个问题:

  • 是否推荐通过来自 PRU 的直接寄存器写入来配置 TSR、或者是否应通过 SYSFW 处理此方法?
  • 如果涉及 SYSFW、是否有示例或文档说明如何在资源配置中定义这些中断路由?
  • R5F 内核应从 Linux 初始化。 然后、R5F 初始化 PRU。  Rpu 是否可以设置所需的资源、或者是否应该由 R5F 来完成?

此致、
Niklas Haase.

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

    您好、Niklas、

    看起来您可以通过时间同步路由器将输入事件从 EPWM0、3 或 6 路由到 PRU 子系统:

    技术参考手册 (TRM) 表“TIMESYNC_INTRTR0 中断映射“

    我建议从一个位置配置 TSR。

    因此、如果您已经从 Linux 配置部分 TSR(例如,如果您将 PPS 信号从 CPSW 以太网路由到输出引脚)、那么宜直接将配置添加到 Linux 器件树文件中。

    如果没有其他人配置 TSR、PRU 也可以通过直接寄存器写入来对其进行编程。

    谁在设置 PWM 外设? 例如、这是由 Linux、R5F 内核还是 PRU 内核控制?

    一般而言、如果 PRU 将是运行时期间与外设交互的内核(例如,如果 PRU 内核正在向其中一个 SPI 硬件外设发送数据并接收数据)、我建议从 PRU 初始化外设。 这样、您就可以知道、初始化外设的 Linux 驱动程序在运行时不会触摸外设并中断 PRU 事务。

    如果这类似于中断路由的一次性配置、那么哪个内核进行该配置无关紧要。

    此致、

    Nick