一、目标
完成两路PWM移相输出,固定频率100kHZ,占空比自定,设置中断,在中断回调函数里改变移相角。
二、设计步骤—理论部分1
时钟
G4系列基本时钟有2个,分别为TIM6和TIM7,没有外部GPIO,只能用来定时,时钟来自APB1,与其他系列很大不同的一点是,与高级定时器同挂在总线APB2上的普通定时器TIM15\16\17均能实现互补输出,同时高级定时器比普通定时器多了一个REP寄存器,普通定时器跑完ARR后产生中断,但是高级定时器跑完(REP)*ARR产生中断。
来自RCC的时钟经控制器使能CK_PSC、经过PSC,CK_CNT每发一个脉冲自加1,时钟为(170M/(PSC+1)),当计数器从0计到ARR时,产生中断,计数器清零,重新在重装载计数器取值计数,进入循环。每次写入的ARR的值都由影子寄存器,及TIM_ARPE位预装载,在下一个周期生效(ARPE=1)。
控制寄存器CR1/2,DIER中断,EGR使能,SR(状态寄存器)。
转自【提高篇】33-TIM-高级定时器(第1节)—时钟源功能框图讲解_哔哩哔哩_bilibili
高级定时器时钟(red)有:1内部时钟;2内部触发时钟tim_itr,时钟外部输入引脚由GPIOTIx,对应TIMx_CH1/2/3/4,TIM_CCMRx的位CCxS[1:0]配置,
外部触发模式1
其中以CH_2为例,引脚输入信号,通过滤波器滤波进行重新采样,由CCMRx的ICF位进行配置,其中1、2通道由寄存器CCR1控制;3、4通道有效位由CCR2控制。滤完波之后进行边沿检测,决定上升沿有效还是下降沿有效,即受CCER寄存器的CCxP控制
使用当外部时钟模式1时,触发源有两个(T11FP1、TI2FP2),由TS位来配置。选定触发源信号后,最后把信号接到TRG引脚,让触发信号成为外部时钟模式1的输入,最终等于CK_PSC,驱动计数器CNT计数,具体的配置位为TIMx_SMCR的SMS位。
外部触发模式2
ETR引脚,一般只有高级定时器和通用计数器才有,用于外部时钟输入
内部触发输入3
硬件上高级定时器和普通定时器有的连在一起,可以实现定时器的同步或者级联,即高级定时器为普通定时器提供时钟源,由TIMx_SMCR的TS位配置。
高级定时器功能
输入通道经过滤波和边沿检测,输出tim_fp1、tim_fp1两路信号,由捕获寄存器ICx决定哪一路输出,当使用PWM输入时,只能选择CH1、CH2通道两路。经ICx输出的信号经过预分频器分频(降频),进入捕获计数器,捕获计数器的CCR值同CNT相关。最后输出的oc1经DTG死区寄存器,经输出控制器控制,输出带死区的OC1、OC1N互补信号。
————————————————
版权声明:本文为CSDN博主「kunyihuang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kunyihuang/article/details/130952116
|