PWM简介
PWM(Pulse Width Modulation,脉冲宽度调制)是一种广泛应用于电子系统中的技术,它通过调整脉冲宽度和周期来控制电力电子器件的输出,从而实现对电机转速、灯光亮度等参数的精确控制。在本文中,我们将首先介绍PWM的基本原理,并探讨如何在RH850微控制器上实现PWM控制。
定时器配置“PWM输出”的原理
PWM输出功能需要至少需要使用两路定时器通道完成,即需要一路通道作为频率计数器,另一条通道作为占空比计数器。
在同步通道操作功能下,多个通道之间是同步的,也就是说,一个通道的操作会影响其他通道:
-
只有偶数通道(如CH0、CH2、CH4等)可以设置为主通道(Master Channel)。
-
只有比主通道编号低的通道可以设置为从通道(Slave Channel),而且一个主通道可以对应多个从通道。
-
如果使用多个主通道,从通道不能跨越主通道的范围。也就是说,一个从通道不能同时属于不同的主通道组。
如下图的例子,蓝色为Master,黄色为Slave
一般Master作为PWM频率配置通道,Slave则是作为占空比配置通道,调制好的PWM通过Slave映射的物理管脚输出,Master映射的物理管脚可作为其他功能正常使用。
举个例子,TAUD0O2
作为Master,对应到物理管脚为P0_0
,TAUD0O3
作为从机,对应到的物理管脚为P10_1
,输出PWM选择Slave映射的物理管脚,即P10_1
,而P0_0
(Master的物理管脚)仍然可以作为正常的IO口来使用。
RH850-F1KMS1双路PWM输出
本章节我们将会使用RH850-F1KMS1进行双路CAN输出实验。
本次实验的平台是 霆宝科技 开发的RH850F1KM 评估板,TPD-R7F7016843AFP_v1.0.0。
功能设计
- PWM输出频率:100KHz
- 通道1占空比:10%
- 通道2占空比:90%
硬件连接
软件设计
本次实验的开发环境为CS+ for CC V8.11
,可以拷贝一份我们提供的工程,然后使用Smart Configurator
进行配置;
Smart Configurator配置
我们提供的工程已经配置好时钟,需要注意,C_ISO_PER11
时钟需要设置成80MHz。
然后配置外设:
代码编写
生成代码后,在工程树上就能看见src文件夹,其中包含系统代码以及刚刚生成的功能函数。
通过TAUD0的比较寄存器,配置出PWM输出的频率和占空比,然后调用接口函数R_Config_TAUD0_Start()
。
PWM 频率计算公式如下:
PWM频率=ClockSource(Hz)CDR0 PWM频率=\frac{ClockSource(Hz)}{CDR0} PWM频率=CDR0ClockSource(Hz)
PWM 占空比计算公式如下:
占空比通道x=CDRxCDR0×100%
{占空比}_{通道x} = \frac{CDRx}{CDR0} × 100%
占空比通道x=CDR0CDRx×100%
周期10ms,占空比分别为10%和90%。
编译代码后,烧录程序,在示波器上即可看到现象:
可以看到两条通道的频率为100.001kHz,两条通道的占空比分别为9.9%和89.9%,至此实验完成。
img-LaQjXwhW-1730252385263)]
可以看到两条通道的频率为100.001kHz,两条通道的占空比分别为9.9%和89.9%,至此实验完成。