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

定时器(基本定时器、通用定时器、高级定时器)

目录

一、基本定时器

二、通用定时器

三、高级定时器


一、基本定时器

1、作用:计时计数

二、通用定时器

1、除了有基本定时器的计时计数功能外,主要有输入捕获输出比较的功能,硬件主要由六大部分组成:

① 时钟源

② 控制器

控制器包括:从模式控制器、编码器接口和触发控制器(TRGO)。

(1) 从模式控制器可以控制计数器复位、启动、递增/递减、计数。

(2) 编码器接口针对编码器计数。

(3) 触发控制器用来提供触发信号给别的外设,比如为其它定时器提供时钟或者为 DAC/ADC 的触发转换提供信号。

③ 时基单元

(1) 时基单元包括:计数器寄存器(TIMx_CNT)、预分频器寄存器(TIMx_PSC)、自动重载寄存器(TIMx_ARR)。这部分内容和基本定时器基本一样的。

(2) 不同点是:通用定时器的计数模式有三种: 递增计数模式、 递减计数模式和中心对齐模式

④ 输入捕获

一般先要设置输入捕获的边沿检测极性,如:我们设置上升沿检测,那么当检测到上升沿时,定时器会把计数器 CNT的值锁存到相应的捕获/比较寄存器 TIMx_CCRy 里, y=1~4。然后我们再设置边沿检测为下降沿检测,当检测到下降沿时,定时器会把计数器 CNT 的值再次锁存到相应的捕获/比较寄存器TIMx_CCRy 里。最后,我们将前后两次锁存的 CNT 的值相减,就可以算出高电平脉冲期间内计数器的计数个数,再根据定时器的计数频率就可以计算出这个高电平脉冲的时间。如果要测量的高电平脉宽时间长度超过定时器的溢出时间周期,就会发生溢出,这时候我们还需要做定时器溢出的额外处理。低电平脉冲捕获同理。

t1 到 t2 时间段,定时器可能会产生 N 次溢出,这就需要我们对定时器溢出做相应的处理,防止高电平太长,导致测量出错。在 t1 到 t2 时间段,假设定时器溢出 N 次,那么高电平脉冲时间内,计数器计数的个数计算方法为:

N*(ARR+1) + CCRx2,

CCRx2 表示 t2 时间点捕获/比较寄存器的值。经过计算得到高电平脉宽时间内计数器计数个数后,用这个个数乘以计数器的计数周期,就可得到高电平持续的时间。就是输入捕获测量高电平脉宽时间的整个过程。

⑤ 输入捕获和输出比较公用部分

⑥ 输出比较

(1) PWM 产生原理示意图如下图所示:

        上图中,定时器工作在递增计数模式,纵轴是计数器的计数值 CNT,横轴表示时。当CNT<CCRx 时, IO 输出低电平(逻辑 0);当 CNT>=CCRx 时, IO 输出高电平(逻辑 1);当CNT=ARR 时,定时器溢出, CNT 的值被清零,然后继续递增,依次循环。在这个循环中,改变 CCRx 的值,就可以改变 PWM 的占空比,改变 ARR 的值,就可以改变 PWM 的频率,这就是 PWM 输出的原理。

2、定时器产生 PWM 的方式有四种:定时器向上或向下计数,小于CCRx值时输出高电平或低电平,它们之间有四种组合。

三、高级定时器

1、除了有通用定时器的计时计数输入捕获输出比较的功能外,主要还有重复计数输出比较断路功能三大部分组成:

① 重复计数器

重复计数器的定时器,定时器每次发生上溢或下溢时,重复计数器的值会减一,当重复计数器的值为 0 时,再发生一次上溢或者下溢才会生成定时器更新事件。如果我们设置重复计数器寄存器 RCR 的值为 N,那么更新事件将在定时器发生 N+1 次上溢或下溢时发生。 重复计数器寄存器是具有影子寄存器的。

重复计数器的特性,可以指定控制生成多少 PWM 信号,当定时器发送一次溢出时,说明输出一次PWM,当设定溢出的次数,也就指定了输出多少个PWM。

② 输出比较

(1)高级定时器输出比较部分和通用定时器相比,多了带死区控制互补输出功能。

a、正常互补输出波形:

b、带死区互补输出波形:

(2)TIMx_CH1N、 TIMx_CH2N 和 TIMx_CH3N 分别是定时器通道 1、通道 2 和

通道 3的互补输出通道,通道 4 是没有互补输出通道的。

(3)DTG 是死区发生器,死区时间由 DTG[7:0]位来配置。

(4)要注意 MOE 位得置 1 定时器才能输出。

③ 断路功能 (刹车功能)

断路功能也称刹车功能,通过MOE 位来控制;当MOE位置1时,输出PWM,当MOE位置0时,停止输出PWM。

2、通用定时器和高级定时器,最多只有4个独立通道用于输入捕获和输出比较。

相关文章:

定时器(基本定时器、通用定时器、高级定时器)

目录 一、基本定时器 二、通用定时器 三、高级定时器 一、基本定时器 1、作用&#xff1a;计时和计数。 二、通用定时器 1、除了有基本定时器的计时和计数功能外&#xff0c;主要有输入捕获和输出比较的功能&#xff0c;硬件主要由六大部分组成&#xff1a; ① 时钟源 ② 控…...

009集——磁盘详解——电脑数据如何存储在磁盘

很多人也知道数据能够保存是由于设备中有一个叫做「硬盘」的组件存在&#xff0c;但也有很多人不知道硬盘是怎样储存这些数据的。这里给大家讲讲其中的原理。 首先我们要明白的是&#xff0c;计算机中只有0和1&#xff0c;那么我们存入硬盘的数据&#xff0c;实际上也就是一堆0…...

鸿蒙开发-HarmonyOS UI架构

初步布局Index 当我们新建一个工程之后&#xff0c;首先会进入Index页。我们先简单的做一个文章列表的显示 class Article {title?: stringdesc?: stringlink?: string }Entry Component struct Index {State articles: Article[] []build() {Row() {Scroll() {Column() …...

Flutter 动画(显式动画、隐式动画、Hero动画、页面转场动画、交错动画)

前言 当前案例 Flutter SDK版本&#xff1a;3.13.2 显式动画 Tween({this.begin,this.end}) 两个构造参数&#xff0c;分别是 开始值 和 结束值&#xff0c;根据这两个值&#xff0c;提供了控制动画的方法&#xff0c;以下是常用的&#xff1b; controller.forward() : 向前…...

用HTML5 Canvas创造视觉盛宴——动态彩色线条效果

目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- 声明文档类型为XHTML 1.0 Transitional -…...

云原生介绍与容器的基本概念

云原生介绍 1、云原生的定义 云原生为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径。 2、云原生思想两个理论 第一个理论基础是&#xff1a;不可变基础设施。 第二个理论基础是&#xff1a;云应用编排理…...

Flash存储

目录 一、MCU读写擦除Flash步骤 1、写flash步骤&#xff1a; 2、读flash步骤&#xff1a; 3、擦除flash步骤&#xff1a; 4、要注意的地方&#xff1a; 一、MCU读写擦除Flash步骤 1、写flash步骤&#xff1a; (1)解锁 2、读flash步骤&#xff1a; 3、擦除flash步骤&#x…...

Day 44 | 动态规划 完全背包、518. 零钱兑换 II 、 377. 组合总和 Ⅳ

完全背包 题目 文章讲解 视频讲解 完全背包和0-1背包的区别在于&#xff1a;物品是否可以重复使用 思路&#xff1a;对于完全背包问题&#xff0c;内层循环的遍历方式应该是从weight[i]开始一直遍历到V&#xff0c;而不是从V到weight[i]。这样可以确保每种物品可以被选择多次…...

使用PaddleNLP UIE模型提取上市公司PDF公告关键信息

项目地址&#xff1a;使用PaddleNLP UIE模型抽取PDF版上市公司公告 - 飞桨AI Studio星河社区 (baidu.com) 背景介绍 本项目将演示如何通过PDFPlumber库和PaddleNLP UIE模型&#xff0c;抽取公告中的相关信息。本次任务的PDF内容是破产清算的相关公告&#xff0c;目标是获取受理…...

软件工程师,OpenAI Sora驾到,快来围观

概述 近期&#xff0c;OpenAI在其官方网站上公布了Sora文生视频模型的详细信息&#xff0c;展示了其令人印象深刻的能力&#xff0c;包括根据文本输入快速生成长达一分钟的高清视频。Sora的强大之处在于其能够根据文本描述&#xff0c;生成长达60秒的视频&#xff0c;其中包含&…...

【Linux 04】编辑器 vim 详细介绍

文章目录 &#x1f308; Ⅰ 基本概念&#x1f308; Ⅱ 基本操作1. 进入 / 退出 vim2. vim 模式切换 &#x1f308; Ⅲ 命令模式1. 光标的移动2. 复制与粘贴3. 剪切与删除4. 撤销与恢复 &#x1f308; Ⅳ 底行模式1. 保存文件2. 查找字符3. 退出文件4. 替换内容5. 显示行号6. 外…...

KMP算法详解

1. 问题引入 链接&#xff1a;leetcode_28 题目&#xff1a;s1字符串是否包含s2字符串&#xff0c;如果包含返回s1中包含s2的最左开头位置&#xff0c;不包含返回-1 暴力方法就是s1的每个位置都做开头&#xff0c;然后去匹配s2整体&#xff0c;时间复杂度O(n*m) KMP算法可以…...

ubuntu22.04@laptop OpenCV Get Started: 013_contour_detection

ubuntu22.04laptop OpenCV Get Started: 013_contour_detection 1. 源由2. 应用Demo2.1 C应用Demo2.2 Python应用Demo 3. contour_approx应用3.1 读取图像并将其转换为灰度格式3.2 应用二进制阈值过滤算法3.3 查找对象轮廓3.4 绘制对象轮廓3.5 效果3.6 CHAIN_APPROX_SIMPLE v.s…...

[ai笔记5] 个人AI资讯助手实战

欢迎来到文思源想的ai空间&#xff0c;这是技术老兵重学ai以及成长思考的第5篇分享&#xff0c;也是把ai场景化应用的第一篇实操内容&#xff01; 既然要充分学习和了解ai&#xff0c;自然少不了要时常看看ai相关资讯&#xff0c;所以今天特地用字节的“扣子”做了一个ai的资讯…...

QT+OSG/osgEarth编译之八十九:osgdb_ply+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_ply)

文章目录 一、osgdb_ply介绍二、文件分析三、pro文件四、编译实践一、osgdb_ply介绍 斯坦福三角形格式(Stanford Triangle Format)是一种用于存储三维模型数据的文件格式,也称为 PLY 格式。它最初由斯坦福大学图形实验室开发,用于存储和共享三维扫描和计算机图形数据。 P…...

机器人专题:我国机器人产业园区发展现状、问题、经验及建议

今天分享的是机器人系列深度研究报告&#xff1a;《机器人专题&#xff1a;我国机器人产业园区发展现状、问题、经验及建议》。 &#xff08;报告出品方&#xff1a;赛迪研究院&#xff09; 报告共计&#xff1a;26页 机器人作为推动工业化发展和数字中国建设的重要工具&…...

算法沉淀——哈希算法(leetcode真题剖析)

算法沉淀——哈希算法 01.两数之和02.判定是否互为字符重排03.存在重复元素04.存在重复元素 II05.字母异位词分组 哈希算法&#xff08;Hash Algorithm&#xff09;是一种将任意长度的输入&#xff08;也称为消息&#xff09;映射为固定长度的输出的算法。这个输出通常称为哈希…...

深入理解Redis哨兵原理

哨兵模式介绍 在深入理解Redis主从架构中Redis 的主从架构中&#xff0c;由于主从模式是读写分离的&#xff0c;如果主节点&#xff08;master&#xff09;挂了&#xff0c;那么将没有主节点来服务客户端的写操作请求&#xff0c;也没有主节点给从节点&#xff08;slave&#…...

MySQL-存储过程(PROCEDURE)

文章目录 1. 什么是存储过程&#xff1f;2. 存储过程的优点3. MySQL中的变量3.1 系统变量3.2 用户自定义变量3.3 局部变量 4. 存储过程的相关语法4.1 创建存储过程&#xff08;CREATE&#xff09;4.2 查看存储过程&#xff08;SHOW&#xff09;4.3 修改存储过程&#xff08;ALT…...

linux系统监控工具prometheus的安装以及监控mysql

prometheus 安装服务端客户端监控mysql prometheus浏览器查看 安装 https://prometheus.io/download/下载客户端和服务端以及需要监控的所有的包服务端 官网下载下载prometheustar -xf prometheus-2.47.2.linux-amd64.tar.gz -C /usr/local/ cd /usr/local/ mv prometheus-2.…...

Q345A、Q345B、Q345C、Q345D、Q345E钢材的性能差异分析

Q345A、Q345B、Q345C、Q345D、Q345E 钢材的性能差异分析 Q345是一种钢材的材质。它是低合金钢(C<0.2%),广泛应用于建筑,桥梁、车辆、船舶、压力容器等。Q代表的是这种材质的屈服强度,后面的345,就是指这种材质的屈服值,在345MPa左右。并会随着材质的厚度的增加而使其…...

运维面试别再背八股文了!这15道高频笔试题,我用真实排错案例给你讲透

运维面试突围指南&#xff1a;用真实故障案例拆解15道高频技术题 去年冬天的一个凌晨&#xff0c;我接到了一通紧急电话——某电商平台的支付系统突然瘫痪&#xff0c;每分钟损失超过六位数。当我顶着寒风赶到机房时&#xff0c;发现这只是因为一个简单的NTP时间不同步问题。这…...

遥感项目实战:用SNAP高效处理Sentinel-2多景影像进行地表覆盖分析

遥感项目实战&#xff1a;用SNAP高效处理Sentinel-2多景影像进行地表覆盖分析 当我们需要对大面积区域进行地表覆盖分析时&#xff0c;单景Sentinel-2影像往往无法满足需求。这时&#xff0c;多景影像的拼接与处理就成为关键步骤。本文将带您深入了解如何利用SNAP软件高效处理S…...

【仅限前500名工程师】Python智能内存管理高阶训练营核心讲义:17个真实OOM案例、8种定制化GC策略、1份可审计内存SLA模板

第一章&#xff1a;Python智能体内存管理策略最佳实践Python智能体&#xff08;如基于LLM的Agent、ReAct架构或Tool-Calling系统&#xff09;在长期运行中易因对象滞留、缓存膨胀和闭包引用导致内存持续增长。高效内存管理不仅关乎稳定性&#xff0c;更直接影响推理延迟与并发吞…...

Vue3 + Vite + SuperMap iClient3D 避坑指南:从零搭建三维GIS项目(附常见报错解决方案)

Vue3 Vite SuperMap iClient3D 三维GIS开发实战&#xff1a;从环境搭建到避坑指南 三维地理信息系统&#xff08;3D GIS&#xff09;开发正成为智慧城市、数字孪生等领域的核心技术栈。本文将带你从零开始&#xff0c;基于Vue3和Vite构建工具&#xff0c;整合SuperMap iClien…...

需求分析避坑指南:如何避免‘用户说要马实际要车’的经典陷阱?

需求分析避坑指南&#xff1a;如何避免‘用户说要马实际要车’的经典陷阱&#xff1f; 在软件开发领域&#xff0c;需求分析是项目成败的关键环节。据统计&#xff0c;约70%的项目失败源于需求不明确或理解偏差。当用户说"想要一匹更快的马"时&#xff0c;他们真正需…...

IDEA插件Apipost-Helper:一站式接口测试与文档生成利器

1. 为什么开发者需要Apipost-Helper插件&#xff1f; 每次写完接口代码都要切换到Postman测试&#xff1f;文档和代码分开维护导致接口更新不同步&#xff1f;作为经历过这些痛点的老开发&#xff0c;我发现Apipost-Helper插件简直是IDEA里的瑞士军刀。它直接把接口调试、文档生…...

终极指南:OpenAI Python SDK推理强度参数调优实战

终极指南&#xff1a;OpenAI Python SDK推理强度参数调优实战 【免费下载链接】openai-python The official Python library for the OpenAI API 项目地址: https://gitcode.com/GitHub_Trending/op/openai-python 掌握OpenAI Python SDK推理强度参数配置&#xff0c;让…...

VideoAgentTrek-ScreenFilter效果展示:Zoom/Teams会议窗口自动边界检测

VideoAgentTrek-ScreenFilter效果展示&#xff1a;Zoom/Teams会议窗口自动边界检测 你有没有遇到过这样的场景&#xff1f;在录制线上会议、网课或者远程演示时&#xff0c;屏幕上同时开着好几个窗口——Zoom会议、Teams聊天、PPT演示、还有一堆浏览器标签页。后期剪辑时&…...

AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南

AtlasOS系统Xbox控制器驱动问题&#xff1a;三步解决方案与预防指南 【免费下载链接】Atlas &#x1f680; An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atl…...