PWM移相控制(20230531)

一、目标

    完成两路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互补信号。

 

 

 

 

 

 

   

    

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值