当前位置: 首页 > news >正文

嵌入式学习日志————TIM输出比较

前言

本篇日志主要记录TIM输出比较部分的理论知识,后续还会出这一节的实验部分。如有问题欢迎指正!

正文

1.输出比较简介

  • 输出比较可以通过比较CNT(计数器)与CCR寄存器(捕获/比较寄存器)值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形。

  • 每个高级定时器和通用定时器都拥有4个输出比较通道

2.PWM简介(天下武功,唯快不破)

  • Pulse Width Modulation)脉冲宽度调制。

  • 在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速、LED控制亮度等领域。

  • 基本思想:利用PWM波形实现对LED灯亮度的调节——当点亮、熄灭的频率足够大时,LED就不会闪烁了,而是呈现一种中等亮度,于是我们可以通过调节点亮和熄灭的时间比例来调节LED灯的亮度。(电机调速也是类似的)

  • PWM参数: 频率 = 1 / TS(频率越高,等效模拟的信号就越平稳,消耗也越大);

    占空比 = TON / TS (占空比越大,等效的模拟电压越趋近于高电压) ;

    分辨率 = 占空比变化步距(占空比变化的精细程度);

(1)虚线是等效模拟量↓

(2)PWM波↓

3.输出比较通道

1)通用定时器

对于同一个定时器的不同通道输出的PWM:频率一样(b:共用计时器);占空比由各自的CCR值决定;同时跳变(b:共用计时器)

2)高级定时器

4.输出比较模式(输出模式控制器里面的执行逻辑)

模式函数表达描述
冻结TIM_OCMode_TimingCNT=CCR时,REF保持为原状态
匹配时置有效电平(高电平)TIM_OCMode_ActiveCNT=CCR时,REF置有效电平
匹配时置无效电平(低电平)TIM_OCMode_InactiveCNT=CCR时,REF置无效电平
匹配时电平翻转TIM_OCMode_ToggleCNT=CCR时,REF电平翻转
强制为无效电平TIM_ForcedAction_InActiveCNT与CCR无效,REF强制为无效电平
强制为有效电平TIM_ForcedAction_ActiveCNT与CCR无效,REF强制为有效电平
PWM模式1TIM_OCMode_PWM1向上计数:CNT<CCR时,REF置有效电平,CNT≥CCR时,REF置无效电平(常用) 向下计数:CNT>CCR时,REF置无效电平,CNT≤CCR时,REF置有效电平
PWM模式2TIM_OCMode_PWM2向上计数:CNT<CCR时,REF置无效电平,CNT≥CCR时,REF置有效电平 向下计数:CNT>CCR时,REF置有效电平,CNT≤CCR时,REF置无效电平

5.PWM的基本结构

参数计算

PWM频率=计数器更新频率

 

 

 

 

http://www.dtcms.com/a/307856.html

相关文章:

  • go goroutine chan 用法
  • tensorflow目标分类:分绍(一)
  • 力扣面试150题--只出现一次的数字II
  • ctfshow-web入门-254-266-反序列化
  • 人工智能之数学基础:频率和概率之间的关系
  • react调用接口渲染数据时,这些表格里的数据是被禁选的
  • 运行图生视频/文生视频(Wan2.X等)的显卡配置总结
  • 如何在 Ubuntu 24.04 或 22.04 LTS Linux 上安装 DaVinci Resolve
  • 图论-最短路 Bellman-Ford算法
  • 8.2-使用字符串存储 UTF-8 编码文本
  • AI对话-SpringAI破局尝试
  • TensorFlow深度学习实战——DeepDream
  • 分布式锁的基本原理和基于lua脚本的实现(Redisson)
  • 异常检测:算法分类及经典模型概览
  • 3.Linux 系统文件类型与文件权限
  • 学习笔记《区块链技术与应用》第三天 网络 难度
  • 力扣 Pandas 挑战(5)---数据分组
  • RabbitMQ 消费者确认 (Ack/Nack) (With Spring Boot)
  • Linux多线程线程控制
  • 专题:2025半导体行业研究报告:从AI芯片到封测突围的生死局|附40+份报告PDF、数据汇总下载
  • virtualbox+UBuntu20.04+内存磁盘扩容
  • Java异常:java.util.NoSuchElementException
  • 【数据结构初阶】--二叉树(六)
  • 学习笔记《区块链技术与应用》第4天 比特币脚本语言
  • window中qemu使用(安装ubuntu系统)
  • 嵌入式系统常用架构
  • python中各种装饰器的作用
  • 图像处理中级篇 [2]—— 外观检查 / 伤痕模式的原理与优化设置方法
  • 【n8n教程笔记——工作流Workflow】文本课程(第二阶段)——1 理解数据结构 (Understanding the data structure)
  • 【单片机】【分布式】从单机到分布式:Redis如何成为架构升级的关键力量