• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1451 HRTimer 同步 TIM1 产生 4 路相移 PWM 以及触发 ADC 的方法

03/11 16:22
993
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1451 HRTimer 同步 TIM1 产生 4 路相移 PWM 以及触发 ADC 的方法

1.75 MB

1、引言

STM32 的 Timer 种类众多,有 High-resolution timer (HRTimer), Advanced-controltimers, General-purpose timers 等,虽然这些 Timer 都是各自独立的模块,但是它们之间是可以进行同步以及组合使用的。

本文介绍了一种 High-resolution timer (HRTimer)同步 Advanced-control timer(TIM1)产生 4 路相移 PWM 的方法,即 HRTimer 产生 3 路相移 PWM,再用 TIM1 产生 1路相移 PWM,这四路 PWM 相位差为 90°。与此同时,HRTimer 产生的 3 路 PWM 触发ADC 规则通道采样,采样结果用 DMA 搬运到指定地址。

2、试验目的

硬件方面,我们选用 ST 官方 NUCLEO-G474 板子作为测试板。软件方面选用 CubeMx工具进行配置并创建基于 HAL 库的工程代码,编译器采用 ARM Keil。

2.1. 模块框架

这里我们选用 STM32G474 芯片,其内部拥有 HRTimer,以及 TIM1,ADC,DMA模块。我们用 HRTimer 的 Master Timer 的比较器 Compare1,Compare2, Compare3分别去同步子 Timer(TimerA, TimerB, TimerC),从而来调整 3 个子 TimerTimerA/TimerB/TimerC 的相位。同时 HRTimer 发出同步信号给 TIM1,使得 TIM1 跟 HRTimer 的 Master Timer 同步。

另外,HRTimer 的子 Timer(TimerA, TimerB, TimerC)分别发出 Trigger 信号给ADC 采样,这些 Trigger 信号是“或”的关系,通过 ADC_Trigger1 内部信号去触发ADC1 的规则通道采样。ADC 的采样结果用 DMA 再搬运到内存中。

3、CubeMX 软件配置

4、试验结果

将程序下载到 NUCLEO-G474 板中,然后运行,用示波器观察。ADC 指示的窄脉冲(PC8)表示 ADC 采样 3 路内部模拟信号完成,并且将 ADC 采样结果搬运到adc_buf[3]这个数组里面。其时间是在 TA1/TB1/TC1 中心偏后的地方,这是由于触发是在TA1/TB1/TC1 的中心,但是 ADC 转换/DMA 搬运都需要时间。

5、小结

移相 PWM 输出在数字电源领域,尤其并联输入/输出拓扑里非常常见,移相 PWM 输出可以减小总体输入/输出电流纹波。在此例程中,主要用到了以下知识点:? Timer 之间的同步方法:在本例程中我们用到了内部信号 tim_itr10 来同步 TIM1

启动。

在线预览

相关推荐