你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

PWM 硬件间隔触发 ADC

[复制链接]
STMCU小助手 发布时间:2022-8-2 19:04
前言
在各种应用场景中,比如电机,电源,变频器等应用中,ADC 的采样点会有很严格的要求,如果采样点选择错误,会给整个控制系统造成严重后果,本文针对 STM32Fxxx PWM 波硬件间隔 ADC 采样实现方式做简要介绍;

PWM 硬件触发 ADC
在 STM32Fxxx 中 Timer1 一般用于产生互补输出的 ADC,一般的设定都是使用 PWM 波中心点,或者是 Timer1 的第四通道 (TIM1_CH4) 作为 ADC 的触发输入信号(可改变采样点的选取);该设定一般是每个 PWM 周期触发 ADC 采样一次,软件设定也比较成熟:
PWM 波中心点触发 ADC 设定:
  1. TIM_SelectOutputTrigger(TIM1,TIM_TRGOSource_Update); // 设定 Timer1 的输出触发信号
  2. ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_TRGO; //设定 T1_TRGO 作为
  3. ADC 触发信号源
复制代码

TIM1_CH4 作为 ADC 的触发信号设定:
  1. TIM_SelectOutputTrigger(TIM1, TIM_TRGOSource_OC4Ref); // 设定 Timer1 的输出触发信号
  2. ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_TRGO; //设定 T1_TRGO 作为
  3. ADC 触发信号源
复制代码

PWM 硬件间隔触发 ADC
有些应用场景下,ADC 硬件触发转换结束后会进行系统的关键程序的计算,比如电机的 FOC 算法,电源的电流环控制等,当客户使用的芯片速度没有足够快,比如使用了 STM32F0xx(48MHz 主频),或者 PWM 波太快,比如电源 60KHZ 的 PWM波,在一个 PWM 波周期内无法完成 ADC 转化以及核心算法计算,这时候需要在 2 个 PWM 周期或者是多个 PWM 周期进行ADC 的触发转化,此时就需要将 ADC 的硬件触发转化变为间隔采样;

L8_]1KG8MAC%E~REBYCBXHA.png

PWM 波中心点间隔触发 ADC 设定
在 STM32Fxxx 中最直接有效的设定,使用 Repetition 寄存器,同时设定 Timer1 的 update 信号作为触发输出,图一的蓝色箭 头即为此种情况的触发点设定
  1. TIM_TimeBaseStructure.TIM_RepetitionCounter = 1;
  2. TIM_SelectOutputTrigger(TIM1,TIM_TRGOSource_Update); // 设定 Timer1 的输出触发信号
  3. ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_TRGO; //设定 T1_TRGO 作为
  4. ADC 触发信号源
复制代码

可改变采样点的间隔触发 ADC 设定
可改变采样点的间隔 ADC 触发,即图一中的绿色箭头,使用 TIM1_CH4 这种方式不能实现纯硬件触发采样,这种情况下有两 种方法可实现这个采样方式:

一,硬件触发+软件计数方式
ADC 的采样及转化时间很短,基本上需要间隔采样方式,时间基本上都是消耗在算法实现上,所以可以采用每个 PWM 周期都进行硬件触发 ADC,但算法计算则是间隔实现,使用全局变量的计数方式,也就是在 ADC 转换完成结束后,进行计数,当计数值达到间隔采样数据后才进行算法计算,这种方法即兼容了 ADC 可改变采样点以及间隔计算的目的,比较实用

二,纯硬件方式
此时需要引入辅助 Timer 来实现,辅助 Timer 的频率设定为 Timer1 的倍数关系,倍数的数值设定为间隔周期,辅助 Timer 的比较寄存器数据设定为采样点的数据(比如上面所说的 TIM1_CCR4)



MPF]}`@E5QC}0QDRO65C)VU.png


完整版请查看:附件



PWM硬件间隔触发ADC.pdf

下载

259.83 KB, 下载次数: 7

收藏 评论0 发布时间:2022-8-2 19:04

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版