1. GD32F4XX-adc简介
1.1 规则组和注入组
规则组的转换相当于程序的正常运行;
注入组的转换相当于一个中断处理函数;
所以注入组的转换可以优先于规则组的转换;
单个adc规则组最多有16个通道;
单个adc注入组最多4个通道;
规则组用DMA的方式会好些;
1.2 转换模式
- 单次转换模式:适用规则组和注入组。要相应的软件触发或外部触发后,adc会采样和转换一个通道。
- 连续转换模式:适用规则组。
- 扫描转换模式:适用规则组和注入组。扫描被设置好的所有通道。
- 间断模式:适用规则组和注入组。但同一时刻只能有一组被设置成间断模式。
1.3 注入通道管理
- 自动注入:在规则通道转换之后,被自动转换;最多设置20个转换序列。不能同时使用自动注入和间断模式。
- 触发注入:在规则通道转换期间,如果手动软件触发或外部触发,就会启动注入通道的转换,同时停止规则通道的转换。
1.4 采样时间
ADC 使用若干个 ADCCLK 周期对输入电压采样,在 12 位分辨率的情况下,总转换时间=采样时间+12 个 ADCCLK 周期。
例如:
ADCCLK = 40MHz , 采样时间为 3 个周期, 那么总的转换时间为: “3+12”个 ADCCLK 周期,即 0.375us。
1.5 片上硬件过采样
它是以降低数据输出率为代价,换取较高的数据分辨率。
它能够处理多个转换,并将多个转换的结果取平均,得出一个 16 位宽的数据。
1.6 adc同步模式
- 独立模式:在这种模式下, ADC 同步是忽略的,每个 ADC 都独立工作。
- 规则并行模式
- 注入并行模式
- 跟随模式
- 交替触发模式
- 规则并行模式 & 注入并行模式
- 规则并行模式 & 交替触发模式
当 ADC 工作在同步模式(除独立模式时),如果需要再将 ADC 配置成其他同步模式,
则需要在配置成其他同步模式前,首先将 ADC 配置成独立模式。
1.6.1 在同步模式中使用DMA
注意因为DMA是从规则组数据寄存器ADCx_RDATA中搬运数据,所以只有规则组的数据适用于DMA。
- DMA模式0:DMA 传输的位宽为 16。适用于所有规则并行模式的情况。
- DMA模式1:DMA 传输的位宽为 32。只适用于只有ADC0和ADC1同时工作在规则并行模式和所有ADC工作在跟随模式的情况。
1.7 中断
- 规则组和注入组转换结束;
- 模拟看门狗事件;
- 溢出事件;