STMCU小助手
发布时间:2022-7-31 23:14
|
1. 前言 当前的数字电源设计中,ADC 与定时器是最重要的两个外设,算法基于 ADC 的采样结果来计算更新 PWM 输出,以实现环路控制。一般情况下使用定时器的复位/周期事件或是某个比较事件来触发 ADC 转换,然后在 ADC 转换完成中断中执行环路算法,让 ADC 的转换频率、算法执行频率与 PWM 频率保持一致。但是某些情况下 ADC 的转换频率或是环路计算频率跟不上 PWM 的频率,需要对 ADC 的触发进行分频,实现每 N 个 PWM 周期触发一次 ADC 转换。本文基于STM32G474 介绍在高精度定时器与高级控制定时器中如何实现 ADC 的触发分频。 7 C, d$ W/ M' u$ g 2. 高精度定时器中 ADC 分频的实现 在 G474 的高精度定时器中有多达 10 路的 ADC 触发信道,每个触发通道有多达 32 种触发源可以选择,PWM 发波可以与 ADC 触发非常灵活的关联。如下图为 hrtim_adc_trg1~hrtim_adc_trg4 与其对应可选触发源的框图。, G0 u6 k# Z3 q# U/ d( v / C2 A/ \, o1 M$ P. m
' w( Z: \+ F& w* u7 ]) A 高精度定时器中通过“ADC post-scaler”来实现 ADC 触发源的分频,配置 ADCxPSC[4:0]即可。如下图所示为在定时器工作在 up-counting 计数模式下,设置某个比较事件触发 ADC 转换,在 ADCxPSC[4:0]配置不同的值时实现 ADC 触发分频输出的示意图。 , {: `- k5 O2 q # G: v5 E T2 ~4 m9 d* {& C7 o* b
( C9 ^! d5 x+ t- j
9 ^2 l% T9 g( A% w& _ $ i# f+ D+ L& d" Q! \ 当定时器工作在 up-down counting 计数模式下时,对于设定的比较值或是 Roll-Over 都存在 两个点,所以首先还需通过设置 ADROM 来确定触发点,如下: U7 n9 W* s$ F4 s5 v5 I7 P
; k# _# ~6 q" F6 F/ Q b2 [ 如下图所示为在定时器工作在 up-down counting 计数模式下,设置某个比较事件触发 ADC 转换,在 ADCxPSC[4:0]与 ADROM[1:0]配置不同的值时实现 ADC 触发分频输出的示意图。 ; n* M& J3 J F1 O' m# J
3 y8 A% C1 T) W. Y$ w1 `' B 完整版请查看:附件 |
LAT1065_STM32G4中ADC触发分频的实现方式_v1.0.pdf
下载693.86 KB, 下载次数: 36
经验分享 | 基于STM32G4芯片TIM+SPI+DMA应用示例
STM32G47x 双 Bank 模式下在线升级
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【经验分享】STM32G4之基本定时器
NUCLEO-G474RE 扩展 LSM6DSO 传感器数据融合实操演示全解析
经验分享 | STM32G474 高精度定时器同步功能全解析 从内部互联到多芯片协同的实现方案
经验分享 | STM32G4双BANK启动应用演示
STM32G4 LPTIM+DMAMUX 实现并行输出应用示例
实战经验 | LAT1578 SAU对NSC分区的影响
经验分享 | STM32G474 HRTIM Triggered-half模式实现两相交错电源180°相位同步方案
微信公众号
手机版