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.

[参考译文] TM4C123GH6PM:哪个 PWM 控制寄存器用于定义 tm4c PWM 模块中的独立 PWM 模式

Guru**** 2020320 points
Other Parts Discussed in Thread: CONTROLSUITE, EK-TM4C123GXL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/909338/tm4c123gh6pm-which-pwm-control-register-used-to-define-independent-pwm-mode-in-tm4c-pwm-module

器件型号:TM4C123GH6PM
Thread 中讨论的其他器件: controlSUITEEK-TM4C123GXLTM4C123

我想使用 PWM0和 PWM1模块配置4个独立的 PWM。  

哪个控制寄存器定义了 TM4C123gh下午6中独立/互补 PWM 模式的功能。  

一个示例将很有帮助。

注意:我已经在 Workshop 和 CCS controlSUITE 中检查了 PWM 示例。 然而、没有特别提到该控制寄存器将控制独立/兼容的 PWM 模式功能

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

    你好 Sachin、

    您能否提供有关"四个独立的 PWM"的确切内容的更多详细信息?

    是否要加载四种不同的 PWM 时钟设置?

    每个 PWM 模块由一个 PWM 时钟输入运行、因此您只能有两个唯一的 PWM 时钟源。 一个用于 PWM0模块、一个用于 PWM1模块。

    但是、每个发生器可配置为特定周期/脉宽(即占空比)。

    您是否发现不足或问题是否属于其他问题?

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

    您好、Ralph、

    感谢您的回答。

    系统使用四个独立的电源转换 器运行、因此需要独立的 PWM、尽管 PWM 模块时钟源可以相同、但控制是独立的、即占空比是不同的。

    我想特别使用模块0中的 PWM0和 PWM1 (4个 PWM)、因为其他 PWM 用于其他控制用途。  

    此致、

    Sachin

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

    你好 Sachin、

    好的、如果我的理解是正确的、您希望使用:

    PWM0模块和 PWM 发生器0和 PWM 发生器1、在输出通道 PWM 0 / PWM 1 / PWM 2 / PWM 3上建立4个独立的 PWM。

    您还提到您想要更改占空比。 如果 周期相同、但 这些通道的占空比不同、则可以这样做。

    这是因为每个 PWM 发生器都设置了周期、但可以使用比较器 A 和 B 来控制占空比、比较器 A 和 B 对应一个 PWM 通道。 因此  、只要发生器中的周期可以相同、就可以了。  如果您需要不同的周期、无法实现、因为 PWM 0和 PWM 1将共享相同的周期、PWM 2和 PWM 3也是如此。

    为了改变  PWM 0与 PWM 1的占空比、您应该使用  PWMPulseWidthSet 来针对所需占空比对一对输出通道进行编程。

    虽然我们没有多通道示例、但每个通道的逻辑是相同的、因此请查看  TivaWare 2.2.0.295的 EK-TM4C123GXL 示例工程中的 PWM_INTERRUPT 和/或 PWM_INvert (这些工程仅针对最新版本移动到那里、2.1.4该文件夹中确实有工程!)。 该文件夹位于: [INSTALL Path]\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl

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

    您好、Ralph、

    感谢 PWM 模块简介、但仍然无法找到哪个控制寄存器/配置将 PWM 定义为独立 PWM。

    如何在 TM4C123中配置独立 PWM? 当 PWM 发生器中的两个 PWM 配置为独立 PWM 时、任何 PWM 模块的示例都很有用。

    此致、

    Sachin

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

    你好 Sachin、

    您能否以 TivaWare 示例作为起点来提供您到目前为止所做的工作? 它们能让您达到您想要的目标的95%。

    正如我提到  过的、PWMPulseWidthSet API 可让您为运行在同一周期的 PWM 对配置具有独立占空比的 PWM。

    我可以把一些东西放在一起、但需要几天时间。 如果您已经举了一个示例并遇到了挑战、我可以快速查看您的代码并向您提供反馈、这样您就可以更快地获得答案。

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

    您好、Ralph、

    Sachin 可能正在寻找基地址、Tivaware 为每个 PWM 模块定义了基地址。  

    以下是 TM4C1294的设置、123g 的设置可能不同、PWM0/1的 ADC 触发定义适用于分配给任何序列发生器的每个特定模块、默认值为 PWM0。

    #define PWM0_BASE 0x40028000 //脉宽调制器(PWM)
    #define PWM1_base 0x40029000 //脉宽调制器(PWM) 

    #define ADC_TRIGGER_PWM_MOD0 0x00000000 //从 PWM0触发
    PWM #define ADC_TRIGGER_PWM_MOD1 0x00000010 //从 PWM1触发 PWM