学习笔记--PWM波的生成

本文详细阐述了PWM生成原理,包括OC输出比较、PWM工作方式、通用定时器输出结构、输出模式逻辑以及PWM波的程序设计示例,重点介绍了如何配置TIM2生成PWM波,以及参数计算方法。
摘要由CSDN通过智能技术生成

一、PWM生成原理

1、OC(Output Compare) 输出比较 

        输出比较可以通过比较CNT和CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率的和占空比的PWM波形。

        每个高级定时器和通用定时器都有4个输出比较通道。高级定时器的前3个通道额外拥有死区生成和互补输出的功能。

2、 PWM(Pulse Width Modulation)脉冲宽度调制

        在具有惯性的数字系统中,可以通过对一系列脉冲的宽度进行调制,来等效的获取到所需要的模拟参量。

        PWM参数:频率 f = 1/Ts        占空比 = Ton = Ts        分辨率 = 占空比变换步距

         PWM的频率越快 ->等效的模拟的信号就越平稳->性能开销越大

3、通用定时器的输出比较通道

         当对比完CNT和CRR值之后,就会给输出模式控制器一个信号,然后输出模式控制器就会改变它输出的OC1REF(参考信号)的高低电平。然后

        (1)可以把REF映射到主模式的TRGO输出上去

        (2)或者前往下面的一路:给CC1P寄存器写0就会往上走,不改变REF信号;写1的话就往下走,通过一个非门取反

        之后就是一个输出使能电路,决定要不要输出。

        最后的OC1就是输出通道的引脚。

4、输出模式控制器的执行逻辑

 (1)冻结:CNT和CCR无效,不管大小,保持REF为原状态

 (2)匹配时有效电平(1)、无效电平(0),电平翻转

 (3)强制输出模式和冻结模式差不多 

 (4)PWM1模式和PWM2模式只是输出相反。

5、输出PWM的基本结构

        在时基单元中,CNT不断自增,ARR在CNT到一定值后自动重置CNT值。

        在输出比较单元中,CCR是我们设定的值,CNT不断自增并与CCR比较,通过比较的结果将REF不断置高低电平,最后通过极性选择和输出使能后在GPIO口输出。

6、参数计算

 7、高级定时器的输出比较通道

         死区发生器:会在OC1关闭的时候延迟一段时间然后导通OC1N/在OC1N关闭的时候延迟一段时间再导通上管。

二、PWM波生成的程序设计

         配置TIM2通道1为PWM输出。

         配置定时器一个周期为10ms、向上计数、内部时钟不分频、使能自动重装。

         配置PWM为模式1、4000的占空比、低电平、使能输出比较重装

三、任务结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值