跨 PWM 组的多通道 PWM 同步
了解如何使用 dsPIC33C MP 器件的高分辨率 PWM 模块,实验 5:dsPIC33CK 和 dsPIC33CH 器件的代码示例,介绍使用三个 PWM 发生器通道生成三个多相 PWM 波形的高分辨率 PWM 模块的基本配置
请务必在相应产品网站上查看最新的数据表:
器件编程完毕且 MCU 启动后,PWM 发生器 #1、#2 和 #3 在 PWM1H/PWM1L、PWM2H/PWM2L 和 PWM3H/ 处生成三对互补的 200 kHz 和 30% 占空比 PWM 波形。 PWM3L分别输出。这三对互补的 PWM 波形彼此同相。
通过按下数字电源开发板上的板载按钮USER ,三相系统将更改为相角间隔为 120 度的三相 PWM 系统,其中 PWM2H/PWM2L 对提前 120 度PWM1H/PWM1L 和 PWM3H/PWM3L 的度数比 PWM2H/PWM2L 提前 120 度。使用 USER 开关将系统从同相 PWM 切换到多相 PWM。
有关初始化过程和代码结构的更多信息,请参阅下面的固件快速入门指南部分。
此代码示例基于之前的代码示例,展示了如何使用 Microchip 代码配置器 (MCC) 设置设备时钟域。尽管 MCC 还支持高分辨率 PWM 模块的配置工具,但本示例中的 PWM 配置基于通用外设驱动程序构建,可帮助用户更好地了解外设架构以及特定配置和操作模式的关键方面。在每个 PWM 示例代码项目中,PWM 配置过程位于用户文件 pwm.c 中,其中设置了实现/启用感兴趣的特定功能或模式所需的每个寄存器位,并用注释描述了其功能。一旦用户熟悉架构、特性和功能,就可以使用这两种配置选项(通用外设库或 MCC)。
该项目包含四个子目录
在硬盘驱动器上,main.c/h 位于 MPLAB X 项目目录中。所有其他用户文件,包括。外设驱动程序位于子目录sources中。 MCC 生成的文件始终位于其自己的子目录mcc_ generated-files中
PWM 外设驱动程序文件 p33c_pwm.c/h 提供表示 PWM 发生器和 PWM 基本模块的特殊功能寄存器 (SFR) 组的数据结构。这些“虚拟”PWM 对象用于加载、读取和修改 PWM 生成器配置,而不需要硬编码指令,这将使代码难以从一个外设迁移到另一个外设,甚至跨设备迁移。在这些示例中,在设置感兴趣的用户配置之前,每个寄存器都被重置为已知的默认状态。因此,仅显示对于特定特征/功能真正重要的寄存器设置。
要了解有关通用 PWM 驱动程序、其支持的功能和预期用例的更多信息,请阅读 p33c_pwm.c 内的注释。
编写此代码是为了自动启动并执行感兴趣的功能。请阅读 main.c 文件顶部的演示说明,了解有关代码示例、测试点、预期信号和演示模式操作的更多信息。
© 2020,Microchip Technology Inc.