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 模式)、互补输出(与正常输出相反)、极性选择(信号取反),深入了解了下输出比较内部结构 。

相关推荐
chen_mangoo2 小时前
Android10低电量无法打开相机
android·linux·驱动开发·嵌入式硬件
一路往蓝-Anbo2 小时前
C语言从句柄到对象 (四) —— 接口抽象:从 Switch-Case 到通用接口
c语言·开发语言·stm32·嵌入式硬件
弘毅 失败的 mian2 小时前
Git 标签管理
经验分享·笔记·git
2501_946213902 小时前
Zettlr(科研笔记) v4.0.0 中文免费版
java·经验分享·笔记·pdf·github·ocr·开源软件
兜兜转转了多少年3 小时前
《Python 应用机器学习:代码实战指南》笔记2 从0理解机器学习 —— 核心概念全解析
笔记·python·机器学习
polarislove02143 小时前
9.4 呼吸灯实验-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
week_泽3 小时前
网安基础_1_补充_网络安全渗透测试学习笔记
笔记·学习·web安全
航Hang*3 小时前
Photoshop 图形与图像处理技术——第7章:滤镜的应用
图像处理·笔记·ui·photoshop
嵌入式@秋刀鱼3 小时前
ROS开发学习记录【一】
linux·c++·笔记·学习