PWM(pulse width modulation 脉宽调制)
(2)PWM波形是一个周期性波形,周期为T,在每个周期内波形是完全相同的。每个周期由一个高电平和低电平组成。
(3)PWM波形有2个重要参数:一个是周期T,另一个是占空比duty(占空比就是一个周期内高电平的时间除以周期时间的商)。
(4)对于一个PWM波形,知道了T和占空比duty,就可以算出这个波形的所有细节。譬如高电平时间为T*duty,低电平时间为T*(1-duty)。
(5)PWM波形有很多用处,譬如通信上用PWM来进行脉宽调制对基波进行载波调制;
在发光二极管LED照明领域可以用PWM波形来调制电流进行调光;用来驱动蜂鸣器等设备。
7.3.8 PWM波形的生产原理
(1)PWM波形其实就是用时间来控制电平高低,所以用定时器来实现PWM波形是天经地义的。
(2)早期的简单单片机里(譬如51单片机)是没有专用的PWM定时器的,那时候我们需要自己结合GPIO和定时器模块来手工生产PWM波形(流程是这样:先将GPIO引脚电平拉高、同时启动定时器定T*duty时间,时间到了在isr中将电平拉低,然后定时T*(1-duty)后再次启动定时器,然后时间到了后在isr中将电平拉高,然后再定时T*duty时间再次启动定时器......如此循环即可得到周期为T,占空比为duty的PWM波形)。
(3)后来因为定时器经常和PWM产生纠结在一起,所以设计SoC的时候就直接把定时器和一个GPIO引脚内部绑定起来了,然后在定时器内部给我们设置了PWM产生的机制,可以更方便的利用定时器产生PWM波形。此时我们利用PWM定时器来产生PWM波形再不用中断了。绑定了之后坏处就是GPIO引脚是固定的、不能随便换的,好处是不用进入中断isr中,直接可以生产PWM。
(4)在S5PV210中,PWM波形产生有2个寄存器很重要,一个是TCNTB,一个是TCMPB。其中,TCNTB决定了PWM波形的周期,TCMPB决定了PWM波形的占空比。
(5)最终生产的PWM波形的周期是:TCNTB*时钟周期(PCLK_PSYS经过二级分频后得到的时钟周期)。注意这个周期是PWM中高电平+低电平的总时间,不是其中之一
(6)最终生成的PWM波形的占空比是TCMPB/TCNTB
嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。在评论区输入“嵌入式”,即可0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!