PWM(脉冲宽度调制)信号的本质是一个占空比可调的矩形波,它通常由定时器(Timer) 通过计数和比较匹配的方式生成。
简单来讲就是,控制IO的高电平时间。
- 如果 Ton = 50% × T,那么占空比为 50%。
- 如果 Ton = 25% × T,那么占空比为 25%,输出功率减小。
详细的说说:
定时器内部有一个计数器(Counter),它根据一个固定的时钟源(Clock)递增或递减。当计数器达到设定的周期值(ARR,自动重装寄存器)时,计数器会复位,并重新开始计数。- 时钟输入:定时器从系统时钟(如 72MHz)获取输入时钟。
- 计数器:定时器会按照设定的分频值递增,直至达到 ARR 值。
- 比较寄存器(CCR):设定 PWM 输出翻转的时间点。
CCR的寄存器在这里,这个值越大,高电平的持续时间越短
定时器有一个比较寄存器(CCR),用来设定高电平持续时间(Ton):
计数器(CNT)从 0 递增到 ARR,然后复位,形成周期性循环。- CNT ≥ CCR → 输出低电平。 形成 PWM 波形。所以就改变CCR就改变了占空比。
非常的简单
这就是PWM蕴含的公式
这个是具体计算和配置的时候考虑的问题