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

STM32开发(TIM定时器:通用定时器 - PWM)

一、硬件定时器

1、高级定时器
2、通用定时器
3、基本定时器

二、PWM基础概念

PWM 也叫 脉冲宽度调制(Pilse width modulation)脉冲:这里指方波信号,是指由高低电平组成的具有完整周期的信号
脉冲周期:一周期脉冲(方波),从高电平或低电平开始变换,回到初始电平所需的时间
脉冲频率:单位时间内,具有完整周期的脉冲的个数
脉冲宽度:一周期脉冲中,高电平或低电平所持续的时间
脉冲宽度调制:指的是调制脉冲信号中正脉宽的占比
正占空比:指高电平在一个周期内所占时间的百分比
负占空比:指低电平在一个周期内所占时间的百分比周期与频率成反比:f(Hz) = 1/T(S) (公式:一秒内具有完整周期波形的个数)
周期单位:    S    ms    us    ns
频率单位:    Hz   KHz   MHz   GHz

三、分析芯片手册(通用定时器)

1、通用定时器的基本信息

在STM32U575RIT6这个芯片上,通用定时器有TIM2/TIM3/TIM4/TIM5,都属于可编程定时器
这些定时器由一个16位或32位的自动重载计数器寄存器组成,该计数器由一个可编程的分频寄存器驱动工作这些定时器可以用于测量输入信号的脉冲宽度(输入捕获)或生成输出波形(输出比较和脉宽调制)脉冲宽度可以设置为us级~ms级
需要通过定时器预分频器和RCC时钟控制器的预分频器来实现

2、通用定时器的特点

1. 有16位或32位的自动重载计数器,支持递增计数、递减计数、先递增再递减计数,三种不同的工作方式
2. 有16位分频器,用于控制计数器的时钟频率,分频器的分频系数为:1~65535
3. 每个定时器都有四个独立的通道(CH1,CH2,CH3,CH4),每个通道都支持以下四种功能输入捕获功能、输出比较功能、PWM波生成功能、单脉冲输出功能

3、通用定时器实现PWM功能

1)框图分析

需要配置的寄存器有:
1.TIMx_CR1   ————> 配置定时器基本单元的工作模式
2.TIMx_PSC   ————> 向分频寄存器写入分频系数
3.TIMx_CCMR1 ————> 配置捕获/比较寄存器的工作模式
4.TIMx_CCER1 ————> 使能捕获/比较寄存器,并配置活跃电平
5.TIMx_ARR   ————> 向自动重载寄存器写入自动重载的标志位
6.TIMx_CNT   ————> 一般其中的值由自动重载寄存器写入,只读取计数寄存器中的值使用,可以手动写入
7.TIMx_CCR1  ————> 向通道1的捕获/比较寄存器中写入比较的标志位

2)定时器的基本单元

16位分频寄存器:分频系数范围: 1 ~ 65535 (1 ~ 2^16-1)
16位计数寄存器:计数范围: 0 ~ 65535 (0 ~ 2^16-1)32位分频寄存器:分频系数范围: 1 ~ 4,294,967,296 (1 ~ 2^32-1)
32位计数寄存器:计数范围: 0 ~ 4,294,967,296 (0 ~ 2^32-1)

3)定时器不同计数模式

定时器的计数方式:
1. 边沿对齐计数方式递增计数方式 / 向上计数方式递减计数方式 / 向下计数方式
2. 中心对齐计数方式先递增再递减计数方式
(1)递增计数方式

设置自动重载寄存器ARR中的值,并将计数寄存器CNT设置为递增计数方式

计数器CNT从 0 开始计数,每经过一个时钟周期,就自动加1,当CNT计数器自增到与ARR中的值相等时,就会产生一个溢出事件(标志位),此时CNT计数器会被ARR寄存器重载清0,循环上述操作

(2)递减计数方式

设置自动重载寄存器ARR中的值,并将计数寄存器CNT设置为递减计数方式

计数器CNT会以ARR中的值为起始值开始计数,每经过一个时钟周期,就自动减1,当CNT计数器自减到 0 时,就会产生一个溢出事件(标志位),此时CNT计数器会被自动重载为ARR寄存器中的值,重新开始自减,循环上述操作

(3)先递增再递减计数方式
设置自动重载寄存器ARR中的值,并将计数寄存器CNT设置为先递增再递减计数方式
计数器CNT从 0 开始计数,每经过一个时钟周期,就自动加1,当CNT计数器自增到与ARR中的值相等时,开始递减,每经过一个时钟周期,就自动减1,当CNT计数器自减到 0 时,就会产生一个溢出事件(标志位),循环上述操作

4)生成自定义PWM方波

1、准备工作:1.由RCC产生并分配给TIM一个分频前的时钟频率CK_PSC = 160MHz2.设置分频寄存器PSC = 160,分频后时钟频率CK_CNT = 1MHz3.设置自动重载寄存器ARR = 10004.设置计数器的计数方式为递增计数5.设置捕获/比较的值CCR1 = 700
2、自动重载寄存器ARR中的值会被加载到计数器CNT中
3、计数器CNT以0为起始值计数,每经过一个时钟周期,计数器的值就加1 
4、每当计数器CNT中的值自增到与自动重载寄存器ARR中的值相等时,输出电平发生翻转
5、计数器CNT继续自增,直到与自动重载寄存器ARR中的值相等时,输出电平被置为活跃电平,并且CNT清零
6、至此生成一个完整的脉冲,也就是一个自定义PWM波,循环以上操作

寄存器配置:分频前时钟CK_PSC=160MHz,分频系数PSC=160,自动重载寄存器ARR=1000,
计数器计数方式为递增计数,默认输出初始电平为高电平,捕获/比较寄存器CCR1=700。分频后的时钟频率:CK_CNT = CK_PSC/PSC = 160MHz/160 = 1MHz
分频后的时钟周期:T = 1/f = 1/1MHz = 1us生成的PWM波频率:
生成的PWM波周期:


文章转载自:

http://ZuhZwZwV.Lnckq.cn
http://qiQiallH.Lnckq.cn
http://ZRwjlodO.Lnckq.cn
http://5mYgfcWo.Lnckq.cn
http://8KjhdnR8.Lnckq.cn
http://JTdqXyR5.Lnckq.cn
http://SCh5Kbsu.Lnckq.cn
http://1pT0ISoK.Lnckq.cn
http://RdCZUdZs.Lnckq.cn
http://HiXgjodA.Lnckq.cn
http://J6iad9tX.Lnckq.cn
http://lizcpPsn.Lnckq.cn
http://9LSn2lvH.Lnckq.cn
http://xl4G6Qi4.Lnckq.cn
http://iaZs45iA.Lnckq.cn
http://40Jy772t.Lnckq.cn
http://B1Z8oZQ1.Lnckq.cn
http://regHmJak.Lnckq.cn
http://ijoHVPRf.Lnckq.cn
http://c5OryCb2.Lnckq.cn
http://G0qCNxIc.Lnckq.cn
http://jUEkXGng.Lnckq.cn
http://6U6x6Dho.Lnckq.cn
http://2fY9pvD9.Lnckq.cn
http://yqXCbI8f.Lnckq.cn
http://RnnU4MKK.Lnckq.cn
http://Km9ytclu.Lnckq.cn
http://I3Je8S8m.Lnckq.cn
http://1ka80MRz.Lnckq.cn
http://hNnQ7DN1.Lnckq.cn
http://www.dtcms.com/a/388166.html

相关文章:

  • 从原始数据到高效模型:基础特征工程的系统指南
  • 大数据场景下时序数据库选型指南,Apache IoTDB的领先技术和实践
  • Charles移动端抓包实战指南:从入门到精通HTTPS流量解析
  • 使用 uv 发布 Python 包到 PyPI 教程
  • GESP7级中所有class类的题目
  • Python实现PDF图片OCR识别:从原理到实战的全流程解析
  • React原理一
  • 智能化解决方案的选择:探索领先的倾角传感器和水平监测传感器厂家
  • 芯片制造中光刻工艺里出现的I-line光刻胶是什么?
  • 如何通过 .sln 文件判断项目使用的 Visual Studio 版本
  • Qt QLogValueAxis详解
  • Oracle为数据大表创建索引方案
  • 5T核磁mr效果
  • 【仿真测试】基于FPGA的完整QPSK通信链路实现,含频偏锁定,帧同步,定时点,Viterbi译码,信道,误码统计
  • TCP和HTTP的关系
  • 数据结构从入门到实战————链表
  • 将个人网站迁移成红警风格
  • 【用函数删除数组中特定数字】2022-11-23
  • MySQL序列,模拟Oracle序列MySQL如何备份才能不丢“下一个值”?
  • python发送请求不使用代理
  • 亚马逊卖家精灵如何做产品分析?卖家精灵优惠折扣码是什么?
  • 提示词工程(Prompt Engineering)是不是“新时代的编程”?
  • http 基于 websocket 协议通信
  • 媒体发稿渠道选择难?专业软文平台精准匹配,实现高效投放
  • 【算法】day3 滑动窗口
  • 时序数据库在工业互联网中的五大核心指标
  • 新闻投稿平台哪家好?低预算媒体商业推广软文发稿平台
  • 分布式键值存储系统 etcd 集群部署指南
  • 深度学习学习笔记:从概念到实践
  • 回顾一下冒泡排序和快速排序