STM32G4上的ADC
出色的模拟-数字转换
5个ADC模块,高达42路外部输入通道
12-bit精度,硬件过采样实现16-bit精度
最高4 Msamples/s(12-比特)
每路ADC含3个模拟看门狗
DMA请求
中断请求
高性能
4 Msamples/s for 60 MHz ADC clock
交错模式下可达7 Msamples/s
采样顺序可灵活设定(多达16路)
硬件过采样
采样时间可设定
自动校准,减少偏置
ADC时钟配置
ADC时钟可以有两种源:
同步时钟:来自于System Clock
异步时钟:来自锁相环的P输出
STM32G4特别采样控制
Bulb采样模式
只在dicontinuous模式下有效
本次转换完成后立即进入下次采样阶段
从采样触发到采样点之间延时更短
特别适用于输入源为高阻抗情况
采样时间触发控制模式
采样阶段的采样时间完全由触发源控制
上升沿触发采样阶段启动,下降沿触发采样阶段结束,转换阶段开始
ADC采样机制说明
ADC转换速度
注入转换与规则转换
ADC转换模式有两种:注入转换和规则转换
注入转换每个ADC模块有独立的四个结果寄存器
规则转换每个ADC模块只有一个结果寄存器,规则转换常用到DMA
ADC规则转换运行中可插入注入转换
两种转换都有单次以及序列转换结束中断
ADC转换模式
偏置补偿
ADC双路模式
双路模式的实现:
ADC1与ADC2一组(ADC1为master)
ADC3与ADC4一组(ADC3为master)
ADC5单独工作
四种可选模式:
注入并发模式
规则并发模式
交错模式
轮流触发模式
双路组合模式:
注入并发+规则触发模式
规则并发+轮流触发模式
注入并发+交错模式
常见电机控制ADC模式
对注入通道组+规则通道组进行转换
注入组用于采集相电流,规则组为其他ADC通道转换
外部触发源自于master ADC
内部精准电压参考VREF
ADC参考电压选择为VREFBUF
如果选择了VREFBUF作为ADC采样基准电压,注意根据所选择的参考电压对实际电压进行计算。
VREFBUF设定
三电阻采样中的Timer和ADC
电机三电阻采样
三电阻采样ADC触发
配置TIMER CH4为TRGO输出
TIMER的TRGO输出用于硬件触发ADC采样
如果是拥有两个ADC模块的可以同时触发进行同时采样
判断波形的采样位置,修正CCR4数据
Timer通道以及计时配置
Break功能以及TRGO输出
ADC触发配置以及通道选择
ADC的注入通道用于电流采集
注入触发源为TIM1 TRGO
这边用了两个通道的采集电流,实际过程中对于三相电流采集,控制过程中切换
规则组用于采集其他信号,比如电压,温度等
三电阻PWM以及ADC中断
下桥打开中心点(上桥关闭中心点)触发ADC采样
ADC注入转换完成后进入中断
下图为三相PWM上桥以及ADC中断实际波形
单电阻采样中的Timer和ADC
电机单电阻采样
开关状态与电流对应关系
单电阻电流采样
单电阻ADC触发机制说明
辅助TIMER(比如TIM15)与电机TIMER(如TIM1)做同步动作,同频输出;
配置DMA重载辅助TIMER的CCR寄存器;
辅助TIMER的TRGO输出用于硬件触发ADC采样;
ADC配置为非连续模式,序列采样中断,采样两次后进入FOC处理中断中;
STM32G4用于单电阻采样
内部通道5和通道6可组合(CH5+CH6)
配置CH5以及CH6的上升沿作为TRGO2输出
TRGO2作为ADC注入组的触发信号
ADC配置为非连续模式,序列采样中断,采样两次后进入FOC处理中断中
STM32G4单电阻Timer通道配置
通道1,2,3为PWM驱动波形输出
通道4用于无两相电流或无电流采样点时的波形变形
通道5和通道6配置为PWM无外部输出
ADC触发配置以及通道选择
ADC的注入通道用于电流采集
注入触发源为TIM1 TRGO2
规则组用于采集其他信号,比如电压,温度等
单电阻PWM以及ADC中断