GD32 Timer定时器周期时间计算公式

发布者:温馨小屋最新更新时间:2024-11-05 来源: elecfans关键字:GD32  Timer  计算公式 手机看文章 扫描二维码
随时随地手机看文章

有小伙伴反馈GD32 Timer定时器的周期时间不知如何计算,今天就来安排。

我们分成两个系列来讲解——GD32F30x和GD32F4xx系列。


一、GD32F30x系列

要想计算Timer的周期时间,首先要知道Timer的时钟频率,看时钟频率当然就要看时钟树啦,在时钟树的右下方就标注了Timer的时钟频率。

wKgZomWtyjqAZrcDAAGgI89B6As339.png?imageView2/2/w/1000


我们把图放大,可以看到Timer1,2,3,4,5,6,11,12,13的时钟源来自于CK_APB1,Timer0,7,8,9,10来自于CK_APB2。而CK_APB1和CK_APB2最高的频率为60M和120M,那这两类Timer的时钟频率是不是就是60M和120M呢?

wKgaomWtyj6AdmcrAAGEu4UBU08064.png?imageView2/2/w/1000


答案是否定的。我们来看下图方框中的提示,方框1中写到,如果APB1的分频系数为1的话,这些Timer的频率就等于CK_APB1,如果APB1的分配系数不为1,则Timer的频率等于CK_APB1*2。方框2中的内容和方框1中相同,就不再赘述。

wKgZomWtykaACzK-AAGGYHSg_JU436.png?imageView2/2/w/1000


那么APB1和APB2的分频系数在哪里设置的呢,答案就是——在系统时钟配置中,也就是SystemInit函数中调用的system_clock_config函数。通常我们设置系统时钟和AHB时钟为120M,设置APB1分频系数为2,即APB1时钟为AHB时钟的二分之一60M;设置APB2分频系数为1,即APB2时钟等于AHB时钟120M。

wKgaomWtykuAWEkDAAC6QHPlqrk709.png?imageView2/2/w/1000


好了,知道以上知识点我们就可以算出Timer的时钟频率了。举个例子,我们设置AHB时钟为120M,APB1分频系数为2,我们来算下Timer1的频率。首先,算出CK_APB1=AHB时钟/2 = 60M,其次,由于APB1分频系数不等于1,所以CK_Timer1=CK_APB1*2 = 60M*2 = 120M。

wKgZomWtylGAb3SXAAD0eh2NpSM523.png?imageView2/2/w/1000


算出Timer的时钟频率后,我们看下Timer最基础的配置代码:

wKgaomWtylSAXNN_AACcsIVLCMY489.png?imageView2/2/w/1000


有两个和周期时间相关的参数:

其一为prescaler,即Timer的分频系数,该分频系数将Timer频率进行分频后给到计数器时钟,计算公式为:计数器时钟频率 = CK_TIMER/(prescaler+1),故图中计数器时钟频率为120M/12000 = 10KHz,即每100us,计时器进行一次计数。

其二为period,即周期值,也叫作重载值,在边沿计数模式下,计数器计重载值个数所用的时间,称为一个周期时间,计算公式为:周期时间 = (period+1)/计数器时钟频率;而在中央计数模式下,计数器计数重载值*2个数所用的时间,称为一个周期时间,计算公式为:周期时间 = (period+1)*2/计数器时钟频率。故图中周期时间为160/10K = 16ms。

上面讲的是计算过程和原理,下面给出周期时间计算总公式:

1、边沿计数模式下的计算公式:

(prescaler+1)*(period+1)/CK_TIMER,其中CK_TIMER根据APB1和APB2的分频系数决定

2、中央计数模式下的计数公式:

(prescaler+1)*(period+1)*2/CK_TIMER,其中CK_TIMER根据APB1和APB2的分频系数决定

二、GD32F4xx系列

实际上GD32F4xx系列的周期时间计算公式和GD32F30x的相同,不同的点在于CK_TIMER的计算公式,照例看下GD32F4xx的时钟树:

wKgZomWtyluABi9AAAE8yf10Ubs367.png?imageView2/2/w/1000


可以看到CK_TIMER可以是APB时钟乘以1、乘以2或乘以4,那具体是乘以几呢?这个是根据时钟配置寄存器 1(RCU_CFG1) 中的第24位TIMERSEL来决定的:

wKgZomWtymCAVdbkAAAqn1d5Sd4318.png?imageView2/2/w/1000


wKgaomWtymWAM_qBAAFkKtufpBc876.png?imageView2/2/w/1000


GD32F4xx用户手册中对这一位描述的非常清晰,这里就不再赘述了。

好了,通过本期讲解,相信小伙伴们就可以轻松计算出Timer的周期时间啦。


关键字:GD32  Timer  计算公式 引用地址:GD32 Timer定时器周期时间计算公式

上一篇:如何使用串口来给GD32烧写程序
下一篇:GD32如何配置中断优先级分组以及中断优先级

推荐阅读最新更新时间:2026-03-24 14:33

GD32 Timer定时器周期时间计算公式
有小伙伴反馈GD32 Timer定时器的周期时间不知如何计算,今天就来安排。 我们分成两个系列来讲解——GD32F30x和GD32F4xx系列。 一、GD32F30x系列 要想计算Timer的周期时间,首先要知道Timer的时钟频率,看时钟频率当然就要看时钟树啦,在时钟树的右下方就标注了Timer的时钟频率。 我们把图放大,可以看到Timer1,2,3,4,5,6,11,12,13的时钟源来自于CK_APB1,Timer0,7,8,9,10来自于CK_APB2。而CK_APB1和CK_APB2最高的频率为60M和120M,那这两类Timer的时钟频率是不是就是60M和120M呢? 答案是否定的。我们来看下图方框中的
[单片机]
<font color='red'>GD32</font> <font color='red'>Timer</font><font color='red'>定时器</font><font color='red'>周期时间</font><font color='red'>计算公式</font>
交流电机功率计算公式
交流电机的功率计算公式为: P=V×I×cosθ ,其中P为功率,单位为瓦特(W)或千瓦(kW);V为电压,单位为伏特(V); I为电流,单位为安培(A);cosθ表示功率因数,无单位,通常取值范围为0到1,一般情况下取值在0.8以上。 交流电是要考虑功率因数的,P=UIcosq,这是单相交流电。对于三相平衡电路来说,要乘以根号3,U、I为线电压与线电流的有效值。 交流电功率计算方法 功率(直流)=电流*电压 功率(单相交流)=电压*电流*功率因数 功率(三相交流)=电压*电流*功率因数*1.732 注意三相交流和380供电是两个概念: 如果用电设备的电源线是3根线(不包含接地线)的话,即该设备为三相交流设备。 如果用电设备的
[嵌入式]
交流电机功率<font color='red'>计算公式</font>
励磁电流计算公式
励磁电流广义地说,为发电机等“利用电磁感应原理工作的电气设备”提供工作磁场叫励磁;在提供工作磁场时产生的电流叫励磁电流(Exciting Current)。 狭义地讲,励磁电流就是同步电机转子中流过的电流(有了这个电流,使转子相当于一个电磁铁,有N极和S极),在正常运行时,这个电流是由外部加在转子上的直流电压产生的。这个直流电压是由直流电动机供给,发展到大多由可控硅整流后供给,通常把可控硅整流系统称为励磁装置。 当发电机单机运行时,励磁调节器通过调整发电机的励磁电流来调整发电机的端电压,当电力系统中有多台发电机并联运行时,励磁调节器通过调整励磁电流来合理分配并联运行发电机组间的无功功率,从而提高电力系统的静态和动态稳定性。
[嵌入式]
励磁电流<font color='red'>计算公式</font>
制动转矩是什么意思 制动转矩计算公式
  制动转矩是什么意思   制动转矩是阻碍电机启动的转矩,需要通过有效抑制发电制动转矩和脉动转矩,才能够使电机起动能力得到显著增强。电机极对数不同,制动转矩也不同。   制动转矩是制动系统产生的转矩大小。换句话说,制动转矩是制动器产生的停止或减缓旋转运动的力矩。它是衡量制动系统性能的一个重要参数,制动转矩越大,制动效果越好。   制动转矩的特性   制动转矩是制动器产生的扭矩大小,通常用于描述制动器的性能及制动力大小。制动转矩的特性一般包括以下几个方面:   1. 制动转矩与制动力的关系:制动器产生的转矩与制动力之间存在一定的相关性,制动力越大,制动转矩也就越大。   2. 制动转矩的稳定性:制动器产生的转矩应该具有良好的
[嵌入式]
单相电机好坏的测量方法_单相电机功率计算公式
  单相电机好坏的测量方法   单相电机中有两组绕组线圈,一组是主线圈,也叫运行线圈,另一组是副绕组线圈,也叫启动线圈。启动线圈与启动电容器相配合,组成启动电路。电路图如下:   单相电机的好坏可以用万用表(最好使用指针式万用表)测量,办法如下:   1、将表拨至测量电阻档Rx100。   2、分别测量主线圈(如图中的1~2),和启动线圈(如图中的3~4)阻值,两组线圈的阻值相差不大、且与电机外壳不通,就是好的。   3、如果这两组线圈阻值相差很大,说明电阻值小的绕组中,有匝间短路现象,或者有一组线圈不通,则说明这个电机是坏的。   4、尽管两组线圈阻值相差不大,但与电机外壳相通,那么这个电机有漏电故障,也是坏的。   
[嵌入式]
单相电机好坏的测量方法_单相电机功率<font color='red'>计算公式</font>
无刷直流马达的特性计算公式
无刷直流电机的运行特性 无刷直流电机的运行特性是指电机在起动、正常工作和调速等情况下,电机外部各可测物理量之间的关系。 电机是一种输入电功率、输出机械功率的原动机械。因此,我们最关心的是它的转矩、转速,以及转矩和转速随输入电压、电流、负载变化而变化的规律。据此,电机的运行特性可分为起动特性、工作特性、机械特性和调速特性。 讨论各种电机的运行特性时,-般都从转速公式、电动势平衡方程式、转矩公式和转矩平衡方程式出发。 无刷直流电机的特性计算需要考虑电机的电磁特性和机械特性两个方面。其中,电磁特性包括电机的电磁势、电磁转矩、电机的转速和电流等,机械特性包括电机的负载特性、转动惯量、转矩常数等。下面介绍一些常用的无刷直流电机特
[嵌入式]
STM32通定时器时间设置步骤和计算公式方法寄存器值
一、STM32通用定时器原理 STM32 系列的CPU,有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6个为普通定时器,时钟由APB1的输出产生。 下图是STM32参考手册上时钟分配图中,有关定时器时钟部分的截图: 从图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器,图中的蓝色部分。 下面以通用定时器2的时钟说明这个倍频器的作用:当APB1的预分频系数为1时,这个倍频器不起作用,定时器的时钟频率等于APB1的频率;当APB1的预分频系数为其它数值(
[单片机]
STM32通<font color='red'>定时器</font>时间设置步骤和<font color='red'>计算公式</font>方法寄存器值
8051单片机波特率计算公式(配套C语言例程)
8051单片机使用定时器1工作在方式2的情况下作为串口波特率发生器,其波特率=(2smod /32)×(定时器T1溢出率),其中smod是PCON 7 ,表示是否波特率加倍,Fsoc是系统的晶振大小。 波特率公式中:T1溢出率=溢出周期的倒数;溢出周期=(256-TH1)×12/Fosc; 最终公式: 波特率:Baud=(2smod × Fsoc)/(32 ×12×(256-TH1)) 我们一般不太关注波特率的计算,而是关心选用的传输速度(波特率)去反算定时器1(自动重装模式)的初值(TH1),所以将上面的公式导一下,得到TH1的公式: TH1=256-(Fsoc×2smod)/(12×32×Baud) 下面针对
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved