专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

关于STM32的com事件概念

作者:佚名   来源:本站原创   点击数:  更新时间:2013年11月21日   【字体:

COM事件是专门为电机控制用的,它只出现在高级定时器TIM1和TIM8中,普通定时器TIM2~TIM4没有COM事件。
COM事件是用于同时控制所有通道的输出转换,在电机控制中同时转换所有通道的输出是十分必要的
比如无刷电机换向时,一般是三相要同时换向的,但是你在软里设置换向时肯定是一次只能设置一相,这就达不到三相同时换向了不。其实简单的办法就是启用 STM32的COM事件,你先逐个设置好每相的换向(注意:此时虽然设置了,但实际上并不会进行换向),然后再调用COM事件,此时,三相将同时换向,就这么来的。阿呆版主,这够清楚了吧 

COM事件发生在STM32的高级控制定时器(TIM1、TIM8)的“六步PWM的产生”,而6-step PWM用于驱动三相电机,对应着直流无刷电机(BLDC)的六步换相。驱动三相电机需要什么波形,可参考有关电机驱动方面的资料,STM32的资料中没有介绍这些背景知识。

六步PWM的产生:当在一个通道上应用了互补输出时,OCxM、CCxE和CCxNE位的预装位有效。在COM通信事件发生时,预装载位被传送到影子位;因而可以预先设置好下一步的配置,并在同一时间更改所有通道的配置。COM事件可以通过硬件(在TRGI的上升沿)设置或者软件修改TIM1_EGR寄存其中的COM位来产生。当COM事件发生时会设置一个标志位(TIM1_SR寄存器中的COMIF位),这时如果已设置了TIM1_DIER寄存器的COMIE位,则产生一个中断;或者如果已设置了TIM1_DIER寄存器的COMDE位,则产生一个DMA请求。

关闭窗口

相关文章