9.3 输出比较-嵌入式铁头山羊STM32笔记

目录

1.输出比较简介

https://www.bilibili.com/video/BV11X4y1j7si?t=35.6&p=42

上图下方为定时器的四个通道,四个通道结构基本一样。

CCRx,x=1,2,3,4

输入捕获:可测量外部信号的时间参数(周期、占空比,,,)

输出比较:通过定时器产生精确定时的方波信号,然后通过引脚把方波输出出去。

2.基本工作原理(PWM)

https://www.bilibili.com/video/BV11X4y1j7si?t=182.8&p=42

通过输出比较,产生一个 PWM 信号的示例

PWM:脉宽调制信号

占空比:高电压/整个周期

单片机可输出 0V 和 3.3V,如果没 DAC 没法直接输出 2V 信号,所以可以通过调节 PWM 的不同占空比,近似输出 2V 电压

上图右边为不同占空比下的等效输出电压

Q:为什么调节占空比就能输出 0-3.3V 之间的电压?高电平不就是 3.3V,低电平不就是 0V 吗?

A:LED 的亮度由 "单位时间内的总能量" 决定,而不是 "某一时刻的电压"

如何通过定时器输出比较模块,产生 PWM 信号?

启动时基单元,每来一个脉冲, CNT 会++,到 ARR +1 会溢出重装。上图右为实际波形示意图。绿线为 CCR 值,红线为 ARR 值。

输出比较会把 CNT 的值,和 CCR 比较。

CNT<CCR,输出高电平,

CNT>CCR,输出低电平,这样就输出了我们要的 PWM 方波信号。

ARR +1 为一个周期

所以,CCR 决定高电平时间;ARR 决定周期时间

这个输出比较输出 PWM 的工作原理讲的确实不错:

https://www.bilibili.com/video/BV11X4y1j7si?t=358.5&p=42

3.8 种工作模式

https://www.bilibili.com/video/BV11X4y1j7si?t=481.1&p=42

CCRx:捕获/比较寄存器、CCR 左边为输入捕获,右边为输出比较

OCxRef:x=1,2,3,4,通道 x 的参考信号

上图为输出比较 8 种模式,常用 PWM1 模式,剩下七个简单了解下。

都是通过 CNT 和 CCR 的比较关系来产生结果的。

冻结:顾名思义,输出固定值,不管 CNT 和 CCR。

相等有效:CNT=CCR,OCxRef 输出高电压

相等无效:CNT=CCR,OCxRef 输出低电压

翻转:CNT=CCR,电平翻转一下

强制无效:强制输出低电压

强制有效:强制输出高电压(无效则低,有效则高)

PWM1 模式:CNT<CCR,输出高(最常用)

PWM2 模式:与 PWM1 相反。

4.互补输出

https://www.bilibili.com/video/BV11X4y1j7si?t=888.5&p=42

从图中可以看出,前三个通道都有两个引脚输出。这两个引脚输出的代表什么信号呢?

CHx 表示正常输出,CHxN 表示互补输出。

正常输出:模式选择产生的 OCxRef 参考信号直接输出 出来。

互补输出:给正常输出取反的信号(正常输出高,互补输出低)

所以互补信号的作用在哪?

把 12V 降压成 3.3V

SW1 闭合,SW2 断开:电源给电感 L1 和电容 C1 充电

SW1 断开,SW2 闭合:L1、C1、SW2 回路放电。

通过充放电比例,可以调节右边输出电压(类似 PWM 高低电平得出等效输出电压)。

可以得出 SW1 和 SW2 的状态是完全相反的,所以这里可以用到输出比较的正常输出和互补输出。

5.极性选择

https://www.bilibili.com/video/BV11X4y1j7si?t=1152.0&p=42

模式选择产生参考信号 OCxRef,通过正常输出、互补输出两路输出。

紫色圈的结构为极性选择

极性选择:决定是否对输出信号进行取反(反相器)

总结

先简单了解了输出比较和工作原理(CNT 和 CCR 比较),然后通过 8 种工作模式(主要 PWM1 模式)、互补输出(与正常输出相反)、极性选择(信号取反),深入了解了下输出比较内部结构 。

相关推荐
小李不想当小白25 分钟前
PCB结构与组成(PCB设计入门学习笔记)
经验分享·笔记·单片机·嵌入式硬件·学习·pcb工艺·pcb
hanlin031 小时前
刷题笔记:力扣第76题-最小覆盖子串
笔记·算法·leetcode
hengmeida1 小时前
楼宇控制柜标准化项目交付完整规范
大数据·网络·笔记
新晨单片机设计1 小时前
S004R-基于STM32单片机智能门禁系统(密码、指纹、人脸、刷卡、蓝牙)【Proteus仿真+Keil程序+原理图】
stm32·单片机·嵌入式硬件·proteus
蒸蒸yyyyzwd1 小时前
cpp 选手秋招学习笔记 day40
笔记·八股
有范先生1 小时前
速食米饭:如何避开闷味、干硬的速食主食
笔记
桀人1 小时前
MCU系统架构——总线——统一编址
stm32·单片机·嵌入式硬件
长葡萄的叶子1 小时前
AI Agent 中的 Skill:从 Tool 调用到任务能力封装
笔记·skill
LuminousCPP2 小时前
Linux系统编程(二):从目录树到命令执行|路径、环境变量、alias 与文件操作入门
linux·经验分享·笔记
摇滚侠2 小时前
《Spring Boot 3:高级与架构设计》第 1 章 Bean 与 BeanDefinition 个人理解 2
java·spring boot·笔记·后端