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.

[参考译文] AM263P4:同时启用/禁用多个 PWM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1521740/am263p4-enabling-disabling-multiple-pwms-simultaneously

器件型号:AM263P4

工具/软件:

我配置了4个 PWM 对:PWM0 A/B..PWM3 A/B

我想确保同时启用和禁用2个 PWM 对。  我希望使用 TripZones 来实现这一点。  但遇到了2个问题。

1.使用"强制 OSHT"要求先写入1个 PWM 寄存器、然后再写入1个 PWM 寄存器。  这不是同时发生的、可能会在计数器翻转期间提前一个周期启用一个 PWM。

2.为 TZ1配置了两个 PWM 的单次触发源。  TZ1可以由软件触发吗?  TZ1似乎需要 GPIO 输入才能切换。  我们的电路板上没有太多可用的 GPIO 引脚。

3. 我一次只想切换4个,保持其他4个 PWM 不变。  此外、还可以使全部8个 PWM 时钟保持同步。  禁用/启用8个 PWM 时钟中的4个可能会无意中使它们不同步。  这就是我更喜欢使用 TZ 而不控制 PWM 时钟的原因。

请提供有关如何同时启用/禁用2对 PWM 的建议。

谢谢。

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

    嗨、Huey、

    我们的专家将在6月5日至25日之前离职。 请留出一些时间让他们返回并查看信息。 感谢您的耐心。

    此致、

    Zackary Fleenor

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

    嗨、Huey

    Unknown 说:
    将两个 PWM 的一次性触发源配置为 TZ1。  TZ1可以由软件触发吗?  TZ1似乎需要 GPIO 输入才能切换。  我们的电路板上没有太多可用的 GPIO 引脚。

    电路板上可能没有可用引脚、但 SOC 上仍然有 GPIO 焊盘、通过这些 GPIO 焊盘触发似乎是实现用例同步运行的理想方法。

    您可以在没有 GPIO 的情况下通过软件触发跳闸事件。  TZFRC 寄存器允许您针对其所属的 ePWM 模块直接从软件强制执行 OST 或 CBC (逐周期)跳闸。 查看 EPWM_tzTriggerSwEvent (uint32_t baseAddr、uint32_t tzEventType) API

    同时启用/禁用2对 ePWM (总共4个模块)输出、同时保持所有8个 ePWM 时钟运行和同步的另一种方法是将 ePWM 的 动作限定器(AQ) 设置与 同步影子寄存器加载结合使用。

    保持全部8个 EPWM 时钟运行并同步。

    使用操作限定符(AQ)控制输出:
    1)配置4个目标 ePWM 的 AQ 设置、以强制其输出达到静态电平(例如、始终为低电平)。
    2)配置其 AQ 设置以生成正常的 PWM 波形。

    同步机制:
    1)写入影子:首先、将所需的新 AQ 设置写入要控制的4个 ePWM 的影子寄存器。 (因为对 Shdw 寄存器的更改不会立即发生)
    2)单个同步脉冲:然后、主器件 ePWM 上的同步输出脉冲和所有其他 ePWM 的同步输入脉冲(也可以包括主器件)
    3)同时加载:此同步脉冲触发全部4个目标 EPwm ,同时将其新的 AQ 设置从其影子寄存器复制到其活动寄存器。 这会导致其输出同时改变状态。

    最后一种方法的输出:

    如果有用、请告诉我!

    此致、
    阿克什特