0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

晶华微 来源:阿红呀 作者:阿红呀 2022-09-22 16:42 次阅读

01前 言

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

02PWM结构框图

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

poYBAGMsH9OAYLceAABs7kAJgGI943.png

图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%的方波了。

poYBAGMsH-mAfFGmAABMUwpwGeA018.png

图2. PWM初始化函数

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

poYBAGMsH_CALQ0OAAAu8LJ0x8k222.png

图3.PWM测试函数

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

04开发问题简析

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

05总 结

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

审核编辑:汤梓红

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

    关注

    146

    文章

    16011

    浏览量

    343545
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4897

    浏览量

    209889
  • adc
    adc
    +关注

    关注

    95

    文章

    5648

    浏览量

    539423
  • 脉宽调制器
    +关注

    关注

    1

    文章

    46

    浏览量

    16923
收藏 人收藏

    评论

    相关推荐

    带32位MCU高精度ADCSoC产品----SD93F系列开发指南(五)

    我们简单介绍了PWM功能的使用,本章我们再结合LCD显示功能介绍一下实时时钟RTC功能,参考应用手册第14章节。 RTC结构图     我们首先来看一下RTC的功能框图,如下图1: 图1. RTC结构图结构框图 从图中我们看到RTC模块整体分为RTC时钟源选择、时间初值设置、闹钟设置、中断控制和RTC使能控制构成,在时钟源、时间初值、闹钟和中断都配置完成后打开RTC使能,即可开始自动计时。
    发表于 09-05 13:59 481次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----SD93F系列开发指南(五)

    带32位MCU高精度ADCSoC产品(三)

    在开发指南(二)中,我们简单介绍了按键中断的使用方法,由于示例程序的各个测试内容都有使用到LCD显示,所以本章先给大家讲解一下LCD显示的基本使用方法,参考应用手册第25章节。
    的头像 发表于 09-22 15:26 1296次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(三)

    带32位MCU高精度ADCSoC产品----SD93F系列开发指南(一)

    示例程序是以SD93F115-JBS芯片编写,包含了按键中断、RTC中断、SD ADC、SAR ADC、RTC、DAC、低压检测、LCD显示、休眠测试等多个基础功能综合的一个程序,配合按键中断进入不同的子程序进行演示。
    发表于 02-24 10:11 2368次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----SD93F系列开发指南(一)

    带32位MCU高精度ADCSoC产品----SD93F系列开发指南(三)

    的头像 发表于 05-27 10:28 4382次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----SD93F系列开发指南(三)

    带32位MCU高精度ADCSoC产品(二)

    带32位MCU高精度ADCSoC产品----SD93F系列开发指南(二)
    的头像 发表于 09-22 14:02 2559次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(二)

    带32位MCU高精度ADCSoC产品(五)

    在开发指南(四)中,我们简单介绍了PWM功能的使用,本章我们再结合LCD显示功能介绍一下实时时钟RTC功能,参考应用手册第14章节。
    发表于 09-22 16:58 825次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(五)

    带32位MCU高精度ADCSoC产品-SD93F系列开发指南(八)

    在开发指南(七)中,我们简单介绍了LBT模块中低电压检测功能的测试,本章我们讲解一下24位高精度SD ADC的使用方法,详细寄存器资料参考应用手册第27章节。
    的头像 发表于 12-15 17:07 551次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>-SD93F系列开发指南(八)

    带32位MCU高精度ADCSoC产品-SD93F系列开发指南(九)

    在开发指南(八)中,我们给大家讲解了24位高精度ADC—SD ADC,本章我们再给大家讲解12位高速ADC—SAR ADC的基本使用方法,参
    的头像 发表于 01-12 17:14 1135次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>-SD93F系列开发指南(九)

    带32位MCU高精度ADCSoC产品-SD93F系列开发指南(十)

    SD93F115 有四种工作模式,NORMAL 正常工作模式,以及 3 种低功耗模式:WAIT、 DOZE、STOP,本例将一一讲解WAIT、 DOZE、STOP模式。
    的头像 发表于 01-25 17:06 450次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>-SD93F系列开发指南(十)

    2 差分通道高精度ADC

    2 差分通道高精度ADC实时时钟,24*4 液晶的SOC特点 差分 2 通道或单端4 通道、高精度
    发表于 06-29 16:06

    鼎盛合科技芯片CSU18M88,SOC芯片集成高精度ADC和LCD显示模块

    单片机,集成了24Bit高精度ADC和LCD显示模块。内部集成8k*16Bits的MTP程序存储器。模拟特性:24分辨率内部集成的可编程增益放大器ADC的输出速率10Hz~5KHz内
    发表于 08-05 14:24

    基于高精度24ADC的电子血压计方案

    ,这样可以获得稳定的电压,为传感器信号采集创造条件。2.2 MCU MCU采用芯易德科技的SDI5229TS芯片,该芯片内部集成高精度24ADC
    发表于 05-06 14:29

    高精度ADC,高精度ADC是什么意思

    高精度ADC,高精度ADC是什么意思 目前,世界上有多种类型的ADC,有传统的并行、逐次通近型、积分型、压频变换型等,也有近年来新发展起来
    发表于 03-24 13:29 7104次阅读

    带32位MCU高精度ADCSoC产品 ----SD93F系列开发指南(六)

    01. 前言 在开发指南(五)中,我们简单介绍了RTC实时时钟功能的使用,本章我们结合LBT模块和内部OPA、OPB两路运放介绍一下DAC的相关功能,详细寄存器资料参考应用手册第11章节和第26章节。 02. LBT(低压检测)结构框图   我们首先来看一下LBT的结构框图,如下图1: 图1.LBT结构框图 从应用手册中我们可以得知,LBT电路包括一个8 bit的电阻DAC,DAC输出就是框图中的DAO,而DAO = VDN + ( VDP – VDN ) * DABIT[7:0] / 255,VDP和VDN又有多种组合选择,所以DAC的输出电压可
    发表于 12-01 10:17 491次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b> ----SD93F系列开发指南(六)

    带32位MCU高精度ADCSoC产品 ----SD93F系列开发指南(六)

    01.前言 在开发指南(五)中,我们简单介绍了RTC实时时钟功能的使用,本章我们结合LBT模块和内部OPA、OPB两路运放介绍一下DAC的相关功能,详细寄存器资料参考应用手册第11章节和第26章节。 02.LBT(低压检测)结构框图 我们首先来看一下LBT的结构框图,如下图1: 图1.LBT结构框图 从应用手册中我们可以得知,LBT电路包括一个8 bit的电阻DAC,DAC输出就是框图中的DAO,而DAO = VDN + ( VDP – VDN ) * DABIT[7:0] / 255,VDP和VDN又有多种组合选择,所以DAC的输出电压可以通
    的头像 发表于 12-01 13:23 734次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b> ----SD93F系列开发指南(六)