STM32 : PWM 基本结构

news/2025/1/11 2:53:23/

这张图展示了PWM(脉冲宽度调制)的基本结构和工作流程。PWM是一种用于控制功率转换器输出电压的技术,通过调整信号的占空比来实现对负载的精确控制。以下是详细讲解:

PWM 基本结构

1. 时基单元
  • ARR (Auto-reload register): 自动重装载寄存器,用于设置计数器的最大值。
  • PSC (Prescaler): 预分频器,用于设置计数器的时钟频率。
  • CNT (Counter): 计数器,根据预分频器的时钟进行计数。
2. 输出比较单元
  • CCR (Capture/Compare Register): 捕获/比较寄存器,用于存储比较值。
  • 运行控制: 控制PWM的启动和停止。
3. 极性选择和输出使能
  • REF: 参考信号,根据比较结果产生。
  • 极性选择: 确定输出信号的极性(高电平有效或低电平有效)。
  • 输出使能: 控制GPIO引脚是否输出信号。

工作流程

  1. 初始化

    • 设置ARR(自动重装载寄存器)的值,确定计数器的最大值。
    • 设置PSC(预分频器)的值,确定计数器的时钟频率。
    • 设置CCR(捕获/比较寄存器)的值,确定比较值。
  2. 计数器操作

    • 计数器CNT从0开始递增,直到达到ARR设定的最大值。
    • 当CNT达到ARR的最大值时,计数器清零并重新开始计数。
  3. 比较操作

    • 在每个计数周期中,将CNT的值与CCR的值进行比较。
    • 如果CNT < CCR,则REF置为有效电平(例如高电平)。
    • 如果CNT ≥ CCR,则REF置为无效电平(例如低电平)。
  4. 输出信号

    • 根据REF的值和极性选择,生成最终的PWM信号。
    • 通过GPIO引脚输出PWM信号。

图解说明

       

  • 蓝色斜线: 表示计数器CNT的值随时间增加。
  • 红色水平线: 表示CCR的值,即比较值。
  • 绿色矩形脉冲: 表示输出的PWM信号,当CNT < CCR时,输出高电平;当CNT ≥ CCR时,输出低电平。

示例配置

假设:

  • ARR = 99:计数器的最大值为99。
  • PSC = 1:预分频器不进行分频。
  • CCR = 30:比较值为30。
工作过程
  1. 计数器从0开始递增

    • 当CNT = 0到29时,CNT < CCR,REF输出高电平。
    • 当CNT = 30到99时,CNT ≥ CCR,REF输出低电平。
  2. 计数器到达最大值后清零

    • 当CNT达到99时,计数器清零,重新开始计数。
  3. 重复上述过程

    • 每个周期内,输出一个高电平持续30个计数周期,低电平持续69个计数周期。

总结

PWM通过调整CCR的值来改变输出信号的占空比,从而实现对负载的精确控制。通过合理配置ARR、PSC和CCR,可以灵活地调整PWM信号的频率和占空比,满足不同的应用需求。

 

        感謝支持喔

 


http://www.ppmy.cn/news/1562134.html

相关文章

React Context用法总结

1. 基本概念 1.1 什么是 Context Context 提供了一种在组件树中共享数据的方式&#xff0c;而不必通过 props 显式地逐层传递。它主要用于共享那些对于组件树中许多组件来说是"全局"的数据。 1.2 基本用法 // 1. 创建 Context const ThemeContext React.createC…

HTML - <script>,<noscript>

<script>标签用于在网页插入脚本&#xff0c;<noscript>标签用于指定浏览器不支持脚本时的显示内容。 1.<script> <script>用于加载脚本代码&#xff0c;目前主要是加载 JavaScript 代码。 <script> console.log(hello world); </script&g…

基于单片机的公交车报站系统设计

摘 要 目前&#xff0c;我国经济快速发展&#xff0c;城市化进程不断加快。公交车作为居民日常出行的重要交通工具&#xff0c;公交车的服务质量直接影响到乘客的乘车体验&#xff0c;关系到城市智能交通的发展。为了解决传统公交车上车载终端信息闭塞的问题&#xff0c;提高公…

基于springboot的课程作业管理系统源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的课程作业管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 可以管理首页、个人中心…

BI结合数据分析系统,为企业发展提供坚实的保障

BI商业智能结合数据分析是一个复杂而系统的过程&#xff0c;它涉及数据的收集、处理、分析和呈现等多个环节。数聚就从多年的部署实施经验来详细的阐述BI如何结合数据分析系统&#xff0c;是如何为企业发展奠定基础的。 一、数据集成与清洗 数据集成&#xff1a;BI系统首先需要…

TR-069协议学习--Soap报文、事件、RPC方法

目录 一、SOAP报文 二、事件 三、RPC方法 四、错误码 一、SOAP报文 SOAP&#xff08;Simple Object Access Protocol&#xff0c;简单对象访问协议&#xff09;是一种基于XML的协议&#xff0c;用于在网络上交换结构化信息。SOAP报文是SOAP协议中用于传输数据的XML文档…

2025新年源码免费送

2025很开门很开门的源码免费传递。不需要馒头就能获取4套大开门源码。 听泉偷宝&#xff0c;又进来偷我源码啦&#x1f44a;&#x1f44a;&#x1f44a;。欢迎偷源码 &#x1f525;&#x1f525;&#x1f525; 获取免费源码以及更多源码&#xff0c;可以私信联系我 我们常常…

C++二十三种设计模式之抽象工厂模式

C二十三种设计模式之抽象工厂模式 一、组成二、特点三、目的四、缺点五、示例代码 一、组成 抽象产品类&#xff1a;声明产品功能公共接口。 具体产品类&#xff1a;实现产品功能接口。 抽象工厂类&#xff1a;声明创建一组具体产品公共接口。 具体工厂类&#xff1a;实现创建…