[MC03_SDK]分享:PWM触发ADC采样,ADC采样点任意可调
-
背景:
有客户需要PWM触发ADC采样,且ADC采样点任意可调。尤其是电机调速的应用场景,客户希望在电流相对稳定的情况下采样。现分享1个在MC03实现的DEMO,ADC采样点任意可调。
实现思路
PWM触发ADC采样的示例,云途有很多文档讲,这里不再累述。
触发ADC采样点的实现思路是(ETMR为例):
单独拿出1个不使用的ETMR通道,控制ADC的采样点。
假设:
ETMR0,通道2,通道3正常使用;通道0不使用,选其作为采样点控制。
具体配置:
1、IO配置:
通道2,通道3正常配置,选择ETMR0通道功能;
通道0的IO不配置,可做它用。
2、ETMR--Common配置页---TriggerSource配置项
通道0,Val1触发
3、ETMR--PWM配置页---通道0配置项
选择左对齐
注意:选择左对齐,Val1触发,方便计算采样点。
4、其他正常配置
DEMO说明
1、通道0,占空比是50%(0x4000),ADC采样点在周期的50%处;占空比是25%(0x2000),ADC采样点在周期的25%处;类推。
2、示波器观察
2.1 可将PWM触发ADC采样的信号通过TMU_OUT输出至IO口;
2.2打开ADC 队列转换完成中断;DMA搬运中断回调函数(若用DMA)
并在对应的中断函数中 翻转IO口
可以观察整个时序:何时触发-->何时开始转化-->何时转化完成-->何时搬运完成
-
DEMO工程:
Adc_Dma_Demo.zip
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...