新闻详情

新闻详情

首页 / 资讯中心 / 详情

【嵌入式学习】嵌入式原理知识-定时器(六)

发布时间:2026/9/30 2:48:18来源:尧图网络
【嵌入式学习】嵌入式原理知识-定时器(六)
1. 时基单元1.1 定时器简介定时器也属于片上外设具体最高频率为多少需要参考挂载的总线分为高级定时器通用定时器和基本定时器。定时器内部结构图可以将其分为如下的几个部分1.2 时基单元的基本结构时基单元主要可以分为如下的五个部分时钟来源经过复用器选择 主要有时钟树来源和从模式分频器 分频上述的时钟计数器每个时钟脉冲计数加1定时周期到达多少的时候会出现溢出重复计数的次数若没有此那么每次计数器溢出就会更新但是有了之后需要达到重复计数器要求后才会溢出。计数方式可参照图示主要就是上计数是达到ARR的时候溢出发生更新下计数达到0的时候更新中心对称也是达到0的时候更新1.3 影子寄存器上述的预分频寄存器。自动重装载寄存器和重复计数寄存器均有影子寄存器。也就是当我们修改对应的寄存器的时候不会立刻生效而是存储在影子寄存器中当产生更新时候才会加载到活动寄存器开始生效。作用如果直接改变比如开始的时候ARR是7后面在没有到7但是超过3的时候将ARR改为3此时就无论如何无法等于3发生更新了。此时只能等待到达最大值才发生更新这样显然不是我们想要的情况2. 定时器延迟函数系统自带的定时器是通过系统滴答定时器Systick实现。现在通过普通定时器实现延迟函数通过定时器中断确认好1ms的更新。然后根据这个延迟来判断延迟时间是否达到。代码实现voidApp_Delay(uint32_tms){uint32_texpireTimecurrentTickms;// 延迟结束的时间while(currentTickexpireTime);// 等待延迟结束}3. 定时器输出比较3.1 输出比较简介定时器在不断递增计数我们预先在输出比较寄存器CCR- Capture/Compare Register写入一个对比值每当定时器计数器CNT的值等于 CCR 的值就触发一次事件这就是输出比较。3.2 PWMPWM- Pulse Width Modulation脉冲宽度调制可以通过调节占空比等效的调节信号的输出幅度。3.3 输出比较生成PWM如下图所示通过ARR-自动重装载计数器提供周期通过CCR捕获比较寄存器提供高电平或低电平时间实现产生PWM波的功能。3.4 输出比较的8种工作模式输出比较功能的内部结构图如下所示如下共有8种工作模式主要通过计数器和捕获比较寄存器的关系实现如下的效果Frozen冻结- 就是默认的情况 不会随着CCRx改变变化相等有效- 当CNT的值和CCR相等时候输出高电压相等无效- 当CNT的值和CCR相等时候输出低电压翻转- 当计数器CNT和CCR相等的时候电平翻转强制无效- 无论CNT和CCR的值强制输出低电平强制有效- 无论CNT和CCR的值强制输出高电平常用情况PWM1当CNT小于等于CCR时候输出高电平反之为低电平PWM2当CNT小于等于CCR时候输出低电平反之为高电平3.5 输出比较的互补输出若有定时器输出含有CH和CHN则其互补输出也就是高低电平相反。这个功能只有高级定时器具有。互补输出的应用这个BUCK电路的SW1和SW2需要只存在一个开启则可以通过互补输出接mos管实现。3.6 极性选择简单说就是对输出信号取反实现极性选择的功能。4. 输出比较的应用- 呼吸灯通过调节PWM的占空比实现亮度的连续变化。使用互补输出来实现一亮一暗的效果对应的通道在5. 定时器输入捕获5.1 输入捕获的基本原理输入捕获主要是捕获脉冲的上升和下降沿记录此时的计数器的值后续读取即可得到对应的时间。如图所示将脉冲接入CH1和CH2此时cc1记录了上升沿对应的CNTcc2记录了下降沿对应的CNT此时即可得到高电平时间以及周期等相关信息。5.2 输入捕获内部电路通道1和2 可以交叉引用通道3和4 可以交叉引用可以划分为如下的部分5.2.1 输入滤波主要是滤除信号中的毛刺。其中fCK_INTTimer Internal Clock定时器内部主时钟fDTSDigital Filter Timer Sampling clock数字滤波器采样时钟5.2.2 边沿检测控制检测的是上升沿还是下降沿。5.2.3 信号选择通过复用器选择信号的输入直接就是本通道的检测值间接就是互补通道的检测值原本要检测一个脉冲的上升沿和下降沿需要接入两个通道。但是此时可以只接入一个通道本通道的上升沿-直接接着接入下降沿-间接此时只需要将脉冲接入一个通道即可实现节省一个引脚。注意要配置为互补通道5.2.4 分频器就是对检测的边沿进行 汇总计算。比如1分频就是每出现一个上升沿就触发事件2分频就是出现两个上升沿触发事件以此类推
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Java订单管理系统实战:状态机设计与并发防坑指南 2026/9/30 3:39:00

Java订单管理系统实战:状态机设计与并发防坑指南

简介:这份资源是面向Java初学者与课程设计/毕业设计学生的订单管理系统完整文档,以docx形式呈现,聚焦于用Java技术实现企业订单信息的科学化管理,帮助读者理解从需求分析到系统测试的全流程。压缩包内共1个docx文件,约…

阅读更多 →
刚性配准与非刚性配准:从ICP到形变场的技术演进与选型指南 2026/9/30 3:39:00

刚性配准与非刚性配准:从ICP到形变场的技术演进与选型指南

三维重建项目里做点云拼接,从一开始就用ICP顶着跑,直到客户发来一批带有轻微形变的零件扫描数据,才发现自己从来没认真思考过“刚性配准”和“非刚性配准”之间那条线到底画在哪。后来转到医学图像处理,看到不同呼吸时相的CT需要“…

阅读更多 →
FPGA多路MIPI视频聚合实战:DDR仲裁与帧同步方案 2026/9/30 3:38:59

FPGA多路MIPI视频聚合实战:DDR仲裁与帧同步方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
G1垃圾收集器原理与调优:可控停顿的内存管理范式 2026/9/30 3:38:59

G1垃圾收集器原理与调优:可控停顿的内存管理范式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
深入解读 Whisper 通用语音识别模型:多任务架构、模型选型与完整使用指南 2026/9/30 3:38:59

深入解读 Whisper 通用语音识别模型:多任务架构、模型选型与完整使用指南

人工智能语音音频基础模型 【免费下载链接】whisper Robust Speech Recognition via Large-Scale Weak Supervision 项目地址: https://gitcode.com/GitHub_Trending/whisp/whisper 点击查看 免费下载 Whisper(仓库路径:whisper/&#xff0c…

阅读更多 →
2026年1月12日东风港潮汐表查询与实用解读:潮时潮高全掌握 2026/9/30 3:38:51

2026年1月12日东风港潮汐表查询与实用解读:潮时潮高全掌握

1. 先搞明白:潮汐表到底查的是什么1.1 潮汐是怎么形成的很多人第一次接触潮汐表的时候,会以为这就是一张"涨潮退潮时间表",看个大概就行。但实际用下来你会发现,如果只是看个大概,十有八九要踩坑。潮汐表背后…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉