Great-397279 发表于 2019-7-19 10:16:27

STM32 ADC 与 PWM 通道 触发采样

大家好, STM32H7 系列中 由三个ADC, 每个ADC的转换可以由 PWM Timer 触发转换。我的问题是,如果有六个独立的PWM 通道都需要 测量ADC,是不是单片的 STM32H7 不够用 (我的理解是,单个ADC只能设置一个 PWM timer 触发)? 只能用量片? 谢谢!

す疯Ⅱ恒す 发表于 2019-7-19 10:26:01

那就轮流来咯。

子曰好人 发表于 2019-7-19 10:40:00

ADC还有很多通道,一个ADC都能采很多路信号了,很多MCU只有一个ADC,做电机控制的时候不也跑得挺好嘛。我不知道你的应用场景是哪方面的,如果是做电机控制的话,采相电流最多就需要一个ADC的三个通道就够了

wenyangzeng 发表于 2019-7-19 10:44:06

本帖最后由 wenyangzeng 于 2019-7-19 15:23 编辑

PWM触发ADC实际上是使用了TIMx_CCx的事件来触发ADC开始转换而已,而非楼主所述:
“6个独立的PWM通道都需要测量ADC”,
PWM无法测量ADC的。楼主如果有多个ADC通道需要触发,应该使用ADC扫描模式,实际上只需1路PWM触发信号就足够了。



bl2019 发表于 2019-7-19 12:00:47

轮训+DMA

Great-397279 发表于 2019-7-21 11:31:59

谢谢大家回复:handshake
我的应用之中不是控制三相电机,而是控制六路的独立的PWM(他们可能同时都在以不同的占空比工作),因此是以六个Timer 作为六个PWM的独立 信号源。每个以PWM控制的负载电流都要在 PWM 输出过程中采样。 我原来的计划是,用每个PWM 高电平的中心点,触发 对应通道的ADC 采样。 目前是用三个ADC 管理六个AD转换通道,每个ADC管两个。但是 每个ADC 在指定触发条件时,只能指定一个Timer (即产生一路PWM 信号的时钟源)事件,另外一路Timer (产生另外一路PWM的时钟源)就没法作为触发源了。 5楼的朋友是建议我转换一轮之后,动态的更改每个ADC的触发时钟源吗?谢谢!

scfor123456 发表于 2019-9-5 09:29:40

相当于6路定时器控制6路PWM,而且每路PWM的采样由定时器触发的6路ADC转换。
页: [1]
查看完整版本: STM32 ADC 与 PWM 通道 触发采样