带32位MCU和高精度ADC的SoC产品(四)

电子说

1.3w人已加入

描述

01前 言          

在开发指南(三)中,我们简单介绍了LCD显示的基本用法,本章我们介绍一下PWM功能的相关内容,更多细节内容参考SD93F115应用手册第21章节。

02PWM结构框图 

PWM又称脉宽调制器,通过配置相应寄存器可以输出一个周期和占空比可调的脉冲信号,其结构框图如图1。 

脉宽调制器

图1. PWM结构框图

从图中我们可以看到,整体结构包含时钟源选择、使能位控制、分频选择和输出模式控制等,而周期和占空比由不同的寄存器分别设置,因此要确定输出方波的周期时,要先确定PWM的时钟源和分频选择,再写入周期寄存器,最后根据周期寄存器的结果计算相应的占空比码值。

03PWM输出 

接下来我们通过对PWM1模块(SD93F115有2路PWM资源)的初始化函数简单了解下快速计算PWM1周期寄存器值和占空比寄存器值(见图2),第一步还是先开启外设时钟源,然后我们先将PWM1时钟源设定为IHRC = 24MHz,时钟进行2分频,假定输出一个频率约为2kHz的方波,周期即为0.0005S,那么周期寄存器值=(IHRC / 2)* 0.0005 = 6000,转为十六进制数即为0x1770,然后选择输出模式为PWM输出,最后假定占空比要设为25%,则占空比寄存器值为周期寄存器值*25%,即为0x05dc,还可以选择占空比输出的电平状态,我们默认保持高电平,最后将PWM1使能打开,如此便能控制PWM1输出一个频率为2kHz,占空比为25%的方波了。

脉宽调制器

图2. PWM初始化函数

PWM1初始化完成后,我们再做个简单的功能验证(见图3),在保持输出频率2kHz的情况下,不断将占空比设置从0%逐一递增至100%,并将占空比码值显示在LCD屏上。

脉宽调制器

图3.PWM测试函数

在明确输出频率是2kHz的情况下,我们就能算出每1%的占空比对应60个码值了,所以我们直接调用库函数快速设置占空比,并将占空比码值显示在LCD屏上,最终我们可以用示波器观察PWM1引脚的输出和LCD屏上显示的码值变化。

04开发问题简析

开发阶段使用PWM功能要重点关注时钟源与分频的设置,计算清楚周期和占空比的码值。

05总 结

本文简单介绍了PWM功能的使用以及周期和占空比码值的计算方法,具体的配置要根据实际方案的需求进行合理的选择。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分