如何进行多个定时器主从级联同步输出详细配置示例说明

发布时间:2024-01-10  

有些应用场合,我们需要使用多个定时器主从级联,然后让各个定时器同时启动并做同频同相的PWM波形输出。要完成这个功能,有时发现实现起来似乎并没有那么顺畅,这里基于STM32F1系列芯片做个配置示例。之所以选择STM32F1芯片主要是考虑到有部分人使用STM32F1芯片并基于标准库做开发,那么,我这里就Cube库和标准库给出两套相关主从配置的示例代码,供有需要的人参考。


在调试验证过程中我选择STM32F103 Nucleo板,主芯片为STM32F103RB.将片内定时器TIM1/TIM2/TIM3/TIM4四个定时器主从首尾相连,同时启动并要求四个定时器输出同频同相信号。


先查看STM32F1参考手册相关章节【这个环节是必不可少的】,各类定时器从模式控制寄存器描述部分往往有定时器内部触发连接表格。我们要看的是下面这个表格:

结合上面定时器内部触发连接表格,让四个定时器建立如下主从级联关系。

基本原理是这样的【实际上是结合上图看图说话】:

TIM1工作在主模式,TIM4工作在从模式,TIM2和TIM3处于双角色,既做主又做从。其中TIM2/TIM3/TIM4的从模式都配置在触发从模式,即Trigger Slave Mode.

TIM1的定时器使能操作作为触发输出[TRGO]触发TIM2并使能TIM2的计数器,同时TIM2的定时器使能操作又作为触发输出信号连接到TIM3,并触发TIM3的定时器启动。同样,TIM3的定时器使能信号又作为TIM4的触发信号,连接到TIM4的内部触发输入端,触发启动TIM4. 在所有定时器使用相同时钟源、相同时基参数配置的前提下,同时输出多路完美同频同相的PWM波形,像下面的样子。【我为了截图方便,图形来自于IDE的逻辑分析仪模拟效果】

这里的配置要点,就是软件只需使能TIM1的计数器,其它定时器的计数器靠触发信号启动并保持同步计数。这里只用到定时器的使能信号作为触发输出[TRGO]并连到下一级从模式定时器。当然可以作为触发输出的信号很多,读者可以进一步查看相关资料。

一、基于stm32F1标准库的跟定时器主从配置相关代码如下【关于时基配置和PWM输出配置这里就没放进来了。重点关注这几个定时器的主从配置】:

我们在添加用户应用代码时,要注意的一点就是TIM2/TIM3/TIM4的计数器不必、也不可手动启动,我们只需手动使能TIM1计数器的工作就好,并开启各ARR/CCR寄存器的预取功能。

二、上面是基于STM32F1标准库有关定时器主从配置的参考配置代码,如果是基于CubeMx配置工具来配置的话,参照下面配置操作后即可生成相关配置代码。【主从配置关注红色方框内的配置】

TIM1的相关主从配置:

TIM2的相关主从配置:

TIM3的相关主从配置:

TIM4的相关主从配置:

同样,在用户代码里只需开启TIM2/TIM3/TIM4的相关PWM输出功能,不要软件使能它们三个定时器的计数器。配置好TIM1的PWM输出功能后,只需软件使能TIM1的计数器,令其产生触发输出,让4个定时器同步计数并做PWM输出。

关于上面4个定时器实现同频同相输出的主从配置主要就这些内容,用户程序里只需使能第一个主定时器的计数器工作,其它定时器的工作全靠触发从模式触发启动。另外,在启动第一个主定时器的时候,其它从定时器一定都已经配置好了,也就是说要注意用户代码中的那几行代码的先后顺序。总之,保证一点,在启动定时器时所有定时器的初始化工作都要已经完成,不能启动后才去做初始化,不然会导致计数和输出不同步。

其实,即使使用CubeMx进行配置,也会面临各种从模式的选择问题,关于各种定时器从模式的特征和用法,以及定时器触发信号内容请自行查看手册或相关资料进一步阅读了解,带着问题去查看资料会更有效率些。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    如何实现多伺服电机同步控制?;在印刷机械行业中,多电机的同步控制是一个非常重要的问题。由于印刷产品的特殊工艺要求,尤其是对于多色印刷,为了保证印刷套印精度(一般≤0.05mm),要求各个电机......
    大响应快,速度高惯量小,力矩稳定转动平滑,控制复杂,智能化,电子换相方式灵活,可以方波或正弦波换相,电机免维护,高效节能,电磁辐射小,温升低寿命长,适用于各种环境。 交流伺服电机也是无刷电机,分为同步和异步电机......
    ,联接控制信号电压Uc。所以交流伺服电动机又称两个伺服电动机。 伺服电机原理 交流伺服电机定子的构造基本上与电容分相式单相异步电动机相似。其定子上装有两个位置互差90°的绕组,一个是励磁绕组Rf,它始......
    终接在交流电压Uf上;另一个是控制绕组L,联接控制信号电压Uc。所以交流伺服电动机又称两个伺服电动机。 交流伺服电动机的转子通常做成鼠笼式,但为了使伺服电动机具有较宽的调速范围、线性的机械特性,无“自转”现象......
    低廉:相对于伺服电机等其他控制方式,步进电机价格较为低廉,因此在一些应用场合使用较多。   综上所述,步进电机在一些需要精确定位、低速高扭矩、稳定可靠等场合具有一定的优势。 ......
    高惯量小,力矩稳定转动平滑,控制复杂,智能化,电子换相方式灵活,可以方波或正弦波换相,电机免维护,高效节能,电磁辐射小,温升低寿命长,适用于各种环境。 交流伺服电机也是无刷电机,分为同步和异步电机,目前运动控制中一般都用同步电机......
    激励系统是颤振试飞的重要设备之一。 直流伺服系统作为驱动单元,是颤振激励及分析系统研制中技术难度和风险较大的一环,涉及到同步控制、小型特种永磁无刷直流伺服电机技术等一系列问题。本文以LabVIEW 7软件为开发平台,运用......
    是励磁绕组Rf,它始终接在交流电压Uf上;另一个是控制绕组L,联接控制信号电压Uc。所以交流伺服电动机又称两个伺服电动机。 交流伺服电动机的转子通常做成鼠笼式,但为了使伺服电动机具有较宽的调速范围、线性......
    系统。 到目前为止,高性能的电伺服系统大多采用永磁同步型交流伺服电动机,控制驱动器多采用快速、准确定位的全数字位置伺服系统。典型生产厂家如德国西门子、美国科尔摩根和日本松下及安川等公司。 日本安川电机制作所推出的小型交流伺服电......
    伺服驱动器基本介绍;伺服驱动器(servo drives)又称为“伺服控制器”、“伺服放大器”,是用来控制伺服电机的一种控制器,其作用类似于变频器作用于普通交流马达,属于伺服系统的一部分, 主要......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>