原创 带32位MCU和高精度ADC的SoC产品----SD93F系列开发指南(四)

2022-12-12 10:11 1078 8 8 分类: MCU/ 嵌入式

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功能的使用以及周期和占空比码值的计算方法,具体的配置要根据实际方案的需求进行合理的选择。


示例程序:SD93F115-JBS_TEST.zip

作者: 晶华微电子, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3944986.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条