打印
[其他ST产品]

定时器输出比较

[复制链接]
848|41
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
输出比较单元
名词解释
IC input capture 输入捕获
OC outpucompare 输出比较
CC capture compare 输入捕获和输出比较的单元
OC(Output Compare)输出比较 :用来输出PWM波形
特点
输出比较可以通过比较CNT(计数器)与CCR(捕获/比较)寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形。

每个高级定时器和通用定时器都拥有4个输出比较通道

高级定时器的前3个通道额外拥有死区生成和互补输出的功能(用于驱动三相无刷电机)
通用定时器:均有4个通道



使用特权

评论回复
沙发
王派oo|  楼主 | 2024-1-30 15:52 | 只看该作者
高级定时器:均有4个通道、

使用特权

评论回复
板凳
王派oo|  楼主 | 2024-1-30 15:52 | 只看该作者
PWM简介
PWM(Pulse Width Modulation)脉冲宽度调制
必须是在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域
PWM参数:
频率 = 1 / TS
占空比 = TON / TS
分辨率 = 占空比变化步距
(PWM的频率在几千到几十KHZ就已经很快了)(分辨率 表示占空比的精细程度)
TON:高电平的时间
TS:一个周期的时间
(频率 = 1 / TS 可以看出周期越大,那么频率就越小,就越平稳。
占空比 = TON / TS)
TON/TS:高电平相对整个周期的比例
如果TON = 20% 那么低电平就是80%,占空比越大,等效的模拟电压就越接近于高电平。
(PWM调光,通过高频点亮熄灭,点亮熄灭来实现对灯光强弱的控制,只要闪的够快就发现不了是正常的还是没有的)

使用特权

评论回复
地板
王派oo|  楼主 | 2024-1-30 15:52 | 只看该作者
原因:LED熄灭时,由于人眼的余辉和视觉暂留现象,LED不会立刻熄灭,过一小段才会熄灭,电机也是因为惯性过一会才会停下来

使用特权

评论回复
5
王派oo|  楼主 | 2024-1-30 15:53 | 只看该作者
输出比较通道
极性选择:就是选择要不要把高低电平反转一下

使用特权

评论回复
6
王派oo|  楼主 | 2024-1-30 15:53 | 只看该作者

使用特权

评论回复
7
王派oo|  楼主 | 2024-1-30 15:53 | 只看该作者
PWM基本结构

使用特权

评论回复
8
王派oo|  楼主 | 2024-1-30 15:54 | 只看该作者
占空比和CCR值有关

使用特权

评论回复
9
王派oo|  楼主 | 2024-1-30 15:54 | 只看该作者
基本定时器

使用特权

评论回复
10
王派oo|  楼主 | 2024-1-30 15:54 | 只看该作者
参数计算

使用特权

评论回复
11
王派oo|  楼主 | 2024-1-30 15:55 | 只看该作者
PWM输出的通道口时CH1】

使用特权

评论回复
12
王派oo|  楼主 | 2024-1-30 15:55 | 只看该作者
根据引脚定义表,得出GPIO口时PA0

使用特权

评论回复
13
王派oo|  楼主 | 2024-1-30 15:55 | 只看该作者
输出模式选用复用推挽输出,原因是采用定时器来进行输出控制
CCR的值
根据PWM频率
Freq = CK_PSC / (PSC + 1) / (ARR + 1) :
72MHZ/(PSC+1)/(ARR+1) = 1000
PSC+1 =72000000/1000000=720HZ
PWM占空比:
Duty = CCR / (ARR + 1) CCR/(ARR+1) = 50% --》 CCR = 50
PWM分辨率:
Reso = 1 / (ARR + 1) 1/(ARR+1) = 1% --》ARR+1 = 100
分辨率是自己给的

使用特权

评论回复
14
王派oo|  楼主 | 2024-1-30 15:56 | 只看该作者
捕获/比较通道的输出部分

使用特权

评论回复
15
王派oo|  楼主 | 2024-1-30 15:56 | 只看该作者
对于普通的推挽输出:引脚的控制权来自于输出数据寄存器,来进行输出控制

使用特权

评论回复
16
王派oo|  楼主 | 2024-1-30 15:56 | 只看该作者
而想要定时器来控制引脚就需要使用复用开漏推挽输出。(定时器属于片上外设)

使用特权

评论回复
17
王派oo|  楼主 | 2024-1-30 15:57 | 只看该作者
重复次数计数器:
实现每隔几个周期再更新一次。之前是,每个周期都更新,对更新信号再分频
DTG:死区生成电路,防止电流直通
RK刹车输入功能:给电机驱动提供安全保证。如内部时钟失效,控制电路会自动切断电路
AFIO:端口重映射

使用特权

评论回复
18
王派oo|  楼主 | 2024-1-30 15:57 | 只看该作者

使用特权

评论回复
19
王派oo|  楼主 | 2024-1-30 15:57 | 只看该作者

使用特权

评论回复
20
王派oo|  楼主 | 2024-1-30 15:57 | 只看该作者
如果要重定义某个端口:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//给AFIO使能
GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2,ENABLE);  //重映射 把CH1的PA0换到PA15
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable ,ENABLE);//关闭PA15的调试端口的功能

使用特权

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

本版积分规则

17

主题

306

帖子

0

粉丝