关于定时器宽频输出PWM的一些笔记

PWM由通用定时器(TIM2/3/4/5)作为时钟源,它有16位递增、递减、中心对齐计数器(计数值:0~2^16-1)和16位预分频器(预分频系数1~2^16),可用于触发ADC和DAC,在更新事件、触发事件、 输入捕获、输出比较时产生中断或DMA请求。

这4个通用定时器有4个独立通道,可以用于输入捕获、输出比较、输出PWM、单脉冲模式。

接下来我们通过框图来介绍我们的通用计时器的工作原理和结构:

第一部分是上面的时钟源部分,总共有4种时钟源,第一个框1的内部时钟源来自于我们的APB1总线(72MHz),第二个是框3的内部触发输入时钟,第三个是IO口复用为TIMx_ETR的时钟输入,第四个是从TIMx_CHN1/2输入的外部时钟模式TI1FP1/2的时钟源。

第二部分是控制部分从TRGO输出到其他定时器的TIMx_ETR或DAC/ADC。

第三个部分是时基单元,详细会在基本计时器中详细说明。

第四部分是输入捕获部分,就是框4。第五部分是捕获/比较部分。我们复用IO口,将外部输入时钟信号输入该IO口,经过滤波器和边沿检测器,获得稳定的边沿触发信号。然后配置预分频系数给预分频器,然后产生捕获事件来激活捕获/比较寄存器,然后将计数器的数据存入相应的寄存器。

第六个是输出比较部分。我们传入比较值进行比较值和计数器中的数据进行比较,最后输出比较的结果。

 接下来介绍输出PWM的配置。

PWM模式1(低电平触发)是在向上计数时候,TIMx_CNT<TIMx_CCR1(比较值),通道为有效电平,否则无效;向下计数时,TIMx>TIMx_CCR1,通道为无效电平,否则为有效电平。

PWM模式2(高电平触发)是在向上计数时候,TIMx_CNT<TIMx_CCR1(比较值),通道为无效电平,否则有效;向下计数时,TIMx>TIMx_CCR1,通道为有效电平,否则为无效电平。

而输出电平是由计数模式和极性共同控制的。极性相当于是在有效电平内输出的电压,高极性即有效电平时期输出高电平,低极性便是有效电平时期输出低极性。比如我选择了PWM模式1、低极性,则我会收获以下图像:

 

而在正弦波波下的图像是:

 

至此关于PWM输出的部分知识点便介绍到这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值