打印
[其他ST产品]

STM32F334timer6-7

[复制链接]
316|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
概况 基本计时器(TIM6/TIM7)功能包括:
•16位自动重新加载递增计数器
•16位可编程预分频器,用于将计数器时钟频率除以1和65535之间的任何因子(也可“动态”)
•同步电路,用于触发DAC
•更新事件时的中断/DMA生成:计数器溢出



时基单元可编程计时器的主要模块是一个16位递增计数器及其相关的自动重新加载寄存器。计数器时钟可以被预分频器分频。
计数器、自动重新加载寄存器和预分频器寄存器可以由软件写入或读取。即使计数器正在运行,也是如此。
时基单元包括:•计数器寄存器(TIMx_CNT)•预分频器寄存器(TIMx.PSC)•自动重新加载寄存器(TIMx-ARR)自动重新加载的寄存器是预加载的。每次尝试写入或读取自动重新加载寄存器时,都会访问预加载寄存器。根据TIMx_CR1寄存器中的自动重新加载预加载启用位(ARPE),预加载寄存器的内容被永久地或在每次更新事件UEV时转移到影子寄存器中。当计数器达到溢出值时,如果TIMx_CR1寄存器中的UDIS位等于0,则发送更新事件。它也可以由软件生成。针对每个配置详细描述了更新事件的生成。
计数器由预分频器输出CK_CNT计时,仅当TIMx_CR1寄存器中的计数器启用位(CEN)被设置时才启用。
注意,实际计数器使能信号CNT_EN在CEN之后被设置为1个时钟周期。


使用特权

评论回复
沙发
wailian1265k|  楼主 | 2023-5-31 11:27 | 只看该作者
预分频器描述

预分频器可以将计数器时钟频率除以1到65536之间的任何因子,他基于通过16位寄存器(在TIMx_PSC寄存器中)控制的16位计数器。
当TIMx_PSC控制寄存器被缓冲时,它可以被动态改变。在下一次更新事件中考虑新的预分频器比率。
图311和图312给出了当预分频器比率动态变化时计数器行为的一些示例。

使用特权

评论回复
板凳
wailian1265k|  楼主 | 2023-5-31 11:27 | 只看该作者
预分频器描述

预分频器可以将计数器时钟频率除以1到65536之间的任何因子,他基于通过16位寄存器(在TIMx_PSC寄存器中)控制的16位计数器。
当TIMx_PSC控制寄存器被缓冲时,它可以被动态改变。在下一次更新事件中考虑新的预分频器比率。
图311和图312给出了当预分频器比率动态变化时计数器行为的一些示例。

使用特权

评论回复
地板
wailian1265k|  楼主 | 2023-5-31 11:27 | 只看该作者
预分频器描述

预分频器可以将计数器时钟频率除以1到65536之间的任何因子,他基于通过16位寄存器(在TIMx_PSC寄存器中)控制的16位计数器。
当TIMx_PSC控制寄存器被缓冲时,它可以被动态改变。在下一次更新事件中考虑新的预分频器比率。
图311和图312给出了当预分频器比率动态变化时计数器行为的一些示例。

使用特权

评论回复
5
wailian1265k|  楼主 | 2023-5-31 11:28 | 只看该作者

使用特权

评论回复
6
wailian1265k|  楼主 | 2023-5-31 11:28 | 只看该作者
计数模式

计数器从0计数到自动重新加载值(TIMx_ARR寄存器的内容),然后从0重新启动并生成计数器溢出事件。
可以在每次计数器溢出时或通过设置TIMx_EGR寄存器中的UG位(通过软件或使用从模式控制器)生成更新事件。
通过设置TIMx_CR1寄存器中的UDIS位(UDIS:更新禁用),软件可以禁用UEV事件(更新事件)。这避免了在将新值写入预加载寄存器时更新影子寄存器。这样,直到UDIS位被写入0,才发生更新事件,然而,计数器和预缩放计数器都从0重新启动(但预缩放率不变)。此外,如果TIMx_CR1寄存器中的URS(该位由软件设置并清除,以选择UEV事件源。如果启用,会生成更新中断或DMA请求)位被设置,则设置UG位会生成更新事件UEV,但未设置UIF标志(因此不会发送中断或DMA请求)。

使用特权

评论回复
7
wailian1265k|  楼主 | 2023-5-31 11:39 | 只看该作者
当发生更新事件时,更新所有寄存器,并设置更新标志(TIMx_SR寄存器中的UIF位)(取决于URS位):
•预分频器的缓冲区重新加载了预加载值(TIMx_PSC包含在每个更新事件时要加载到活动预分频器寄存器中的值。)
•自动重新加载阴影寄存器使用预加载值更新(TIMx_ARRARR是要加载到实际自动重新加载寄存器中的值。)。
下图显示了当TIMx_ARR=0x36时,不同时钟频率的计数器行为的一些示例。

使用特权

评论回复
8
wailian1265k|  楼主 | 2023-5-31 11:39 | 只看该作者
ARPE自动重新加载预加载启用
0:TIMx_ARR寄存器无缓冲。
1: TIMx_ARR寄存器有缓冲

使用特权

评论回复
9
wailian1265k|  楼主 | 2023-5-31 11:39 | 只看该作者

使用特权

评论回复
10
wailian1265k|  楼主 | 2023-5-31 11:40 | 只看该作者
UIF位重新映射
TIMx_CR1寄存器中的IUFREMAP位强制将更新中断标志UIF连续复制到计时器计数器寄存器的位31(TIMxCNT[31])。这允许原子地读取计数器值和由UIFCPY标志发出的潜在翻转条件。在特定情况下,它可以通过避免例如由后台任务(计数器读取)和中断(更新中断)之间共享的处理导致的竞争条件来简化计算。
UIF和UIFCPY标志的断言之间没有延迟。

使用特权

评论回复
11
wailian1265k|  楼主 | 2023-5-31 11:40 | 只看该作者
时钟

计数器时钟由内部时钟(CK_INT)源提供。
CEN(在TIMx_CR1寄存器中)和UG位(在TIMx_EGR寄存器中)是实际控制位,只能通过软件进行更改(UG保持自动清除除外)。一旦CEN位被写入1,预分频器就由内部时钟CK_INT计时。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

315

帖子

0

粉丝