- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
stm32学习之定时器
STM32 学习笔记
STM32 定时器
一、STM32 定时器概述
STM32 有8 个16 位定时器,根据功能分为三种:
1) TIM6 和TIM7 是基本定时器,只具有基本定时功能,即计数值超过预设值后
触发中断或DMA 请求,与51 单片机相似;
2) TIM2 ,TIM3 ,TIM4 ,TIM5 是通用定时器,除了基本定时器的功能外,还具
有输入捕获和输出比较的功能,输入捕获可以用于测量输入脉冲的频率及脉
冲宽度,输出比较可以输出PWM;
3) TIM1 和TIM8 为高级定时器,该定时器内部结构相对复杂,比通用定时器多
了BRK 和DTG 两个结构,即多了刹车和死区时间控制的功能,隐刺适用于电
机控制。
二、基础/通用定时器
TIMx_CNT 为计数器,当累加或递减到重载寄存器 TIMx_ARR 的值时,产生
溢出事件,但通用定时器比基本定时器多了一个捕获/ 比较寄存器TIMx_CCR 才具
有输入捕获和输出比较的功能,当用于输入时,该寄存器为捕获寄存器,当用于
输出时,该寄存器为比较寄存器。下面简介两种模式下的工作过程分析。
1.输入功能
首先将定时器配置为向上计数,并设定好重载值,若被测量信号足够长,应
当把重载寄存器TIMx_ARR 中的值设得大一点。此时TIMx_CCR 是作为捕获寄存
器,测量脉冲信号的过程分为以下三个过程:
1)待测量的信号通过GPIO 引脚输入到脉冲测量通道,当信号的上升沿来临时,
脉冲计数器TIMx_CNT 的值清零;
2 )TIMx_CNT 开始累加,直到被测信号的下降沿来临,捕获寄存器 TIMx_CCR2
将TIMx_CNT 中的值x 存储下来;
3 )当被测信号的上升沿再次来临时,TIMx_CCR 1 将TIMx_CNT 中的值y 存储下
来,然后TIMx_CNT 清零,到此被测信号的一个周期结束。
由上可知,被测信号的周期为y+1 个定时器周期,占空比为(x+1)/(y+1)。
2.输出功能
2017 绿止冰崖
STM32 学习笔记
此模式下TIMx_CCR 为比较寄存器,先将定时器配置为向上/ 向下计数,重载
寄存器TIMx_ARR 的值为N,比较寄存器TIMx_CCR 值为M,计数器不断累加/递
减,计数值与M 比较,比它大/小时输出高电平,反之低电平,也就生成了PWM
波,占空比Duty=M/( N+1),这些模式可以在定时器PWM 结构体中的相应值配置。
三、高级定时器
STM32 的高级定时器除了基本和通用定时器的功能外,还具有三相电机接口、
刹车功能及死区时间控制等。电机驱动电路的单桥臂通常如图1 所示,若上管和
下管同时导通,会造成电源短路,因而,需要其中一个MOS 管相对另一个MOS
管导通前提前关断,在它关闭后延迟导通,延迟和提前的时间就是死区时间Td ,
时序如图2 所示,死区时间可以保护电路,但死区时间越长,整个驱动电路的效
率降低,需要合理的控制死区时间。
图1 三相电机PMOS+NMOS 驱动单桥臂电路
图2 单相对管PWM 信号
四、PWM 输出配置
举个例子,用 PA6-TIM3_CH1 作为 PWM 输出口,占空比50%,初始化子程
2017 绿止冰崖
STM32 学习笔记
序如下:
static void TIM3_Mode_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
u16 CCR_Val = 500;
您可能关注的文档
- LSP00系列电量显示模块 原理图.pdf
- LW36-126接线图,原理图.pdf
- MA.06用有挑战的方式学mixly图形arduino编程-函数及变量.pdf
- MATLAB一些函数实例.pdf
- Matlab中kalman函数说明.pdf
- MATLAB二维图的绘制.pdf
- MATLAB在嵌入式方面应用.pdf
- matlab函数集1.pdf
- matlab实时接收uart数据画图.pdf
- MATLAB应用 MATLAB程序设计.pdf
- sql实验一到实验七.pdf
- STM32高级定时器TIM1的OSSR和OSSIOISXOISXN的作用和区别.pdf
- STN_LCD盒厚控制技术的研究_郑康.pdf
- String类的常用函数.pdf
- STR2A153 2A152 2A155 芯片.pdf
- Synthesis of α-Si3N4 crystallon by a solvothermal method at a low temperature of 180 °C.pdf
- TDM540低压电动机保护控制器产品说明.pdf
- TDD-LTE机房操作指南(全面).pdf
- TSA03-平稳时间序列模型.pdf
- TSQSMA00关于小米生态链产品售后通用外观检验标准的公告V04.pdf
文档评论(0)