STM32F072多通道ADC采集,两路数据相同怎么解决
1个回答
展开全部
1. 请参照附件档 (STM32™’s ADC modes
and their applications).
2. 请参照以下网址:
ADC mode
Independent-mode 和 Multi-mode (Dual-mode or Triple-mode)
Independent mode 表示此 ADC 独立运作。
multi-mode 表示ADC同时合作执行。
Independent mode
ADC 通道配置 通道可分成 regular, injected 二组,每个通道能任意属於哪一组。
@Regular group
会依序被转换,但顺序可自由配置,最多 16 个。
可以选择 ADC 开始运作时就进行转换或等待外来触发转换。
有二种控制条件,组合出四种模式:
1.Single Channel Single conversion mode: 单一通道进行一次转换。
2.Single Channel Continuous conversion mode: 单一通道持续进行转换。
3&4.Scan mode: 也分为转换一次与连续转换,但因为 data register 只有一个,所以要用 DMA 避免资料遗失。
DMA: 每个通道转换完成都发出一个 DMA request, 可设定为每当 DMA 发生就触发一次中断,即可读出每个通道所转换的值,也可以全部转换後一次读取全部通道的值。
@Injected group
最多 4 个通道,且只能设为等待触发而转换。(插队)
触发时若正在转换规则通道则会暂停而先处理注入通道,完毕後恢复原运作。
如果转换注入通道过程中规则通道转换被触发,不会中止注入通道转换,而是转换完毕才进行规则通道转换。
Auto-injected mode 可设注入通道转换於规则通道 scan 完成後,可实现一个 iteration 执行 20 次转换。
Discontinuous mode: 见regular group,但在 injected group 强迫每批只能一个通道(n=1)。
Multi Mode
有别於STM32F407,STM32F429可以将3个ADC都开成Multi Mode,也就是说原本Multi Mode只有Dual Mode,现在多了Triple Mode.
ADC1, ADC2 ADC3分别担任 master & 两个slave.
1.Injected simultaneous mode
Dual Mode:
-两个 ADCs 同时触发而转换 injected groups.
Triple Mode:
-三个 ADCs 同时触发而转换 injected groups.
2.Regular simultaneous mode
Dual Mode:
-2 ADCs 外部讯号同时触发,一起对所负责通道依序转换,结果存在 ADC1 DR.
-禁止二个 ADCs 同时对同一通道转换以免误差。
Triple Mode.
以上两者的差别在於不同的group
3.Interleaved mode
Dual Mode:
透过两个以上的ADC交互转换同一个通道可以达到更高的取样频率
由於同使只能有一个ADC对同一个通道做采样,因此必须要增加两个cycle的Delay time以免 phase overlap.
Triple Mode.
4.Alternate trigger mode
Dual Mode:
只能用在双方的 injected groups, 用同样外部讯号轮流接受触发。
如单数次触发到 ADC1 injected group; 双数次触发到 ADC2 injected group.
Triple Mode.
and their applications).
2. 请参照以下网址:
ADC mode
Independent-mode 和 Multi-mode (Dual-mode or Triple-mode)
Independent mode 表示此 ADC 独立运作。
multi-mode 表示ADC同时合作执行。
Independent mode
ADC 通道配置 通道可分成 regular, injected 二组,每个通道能任意属於哪一组。
@Regular group
会依序被转换,但顺序可自由配置,最多 16 个。
可以选择 ADC 开始运作时就进行转换或等待外来触发转换。
有二种控制条件,组合出四种模式:
1.Single Channel Single conversion mode: 单一通道进行一次转换。
2.Single Channel Continuous conversion mode: 单一通道持续进行转换。
3&4.Scan mode: 也分为转换一次与连续转换,但因为 data register 只有一个,所以要用 DMA 避免资料遗失。
DMA: 每个通道转换完成都发出一个 DMA request, 可设定为每当 DMA 发生就触发一次中断,即可读出每个通道所转换的值,也可以全部转换後一次读取全部通道的值。
@Injected group
最多 4 个通道,且只能设为等待触发而转换。(插队)
触发时若正在转换规则通道则会暂停而先处理注入通道,完毕後恢复原运作。
如果转换注入通道过程中规则通道转换被触发,不会中止注入通道转换,而是转换完毕才进行规则通道转换。
Auto-injected mode 可设注入通道转换於规则通道 scan 完成後,可实现一个 iteration 执行 20 次转换。
Discontinuous mode: 见regular group,但在 injected group 强迫每批只能一个通道(n=1)。
Multi Mode
有别於STM32F407,STM32F429可以将3个ADC都开成Multi Mode,也就是说原本Multi Mode只有Dual Mode,现在多了Triple Mode.
ADC1, ADC2 ADC3分别担任 master & 两个slave.
1.Injected simultaneous mode
Dual Mode:
-两个 ADCs 同时触发而转换 injected groups.
Triple Mode:
-三个 ADCs 同时触发而转换 injected groups.
2.Regular simultaneous mode
Dual Mode:
-2 ADCs 外部讯号同时触发,一起对所负责通道依序转换,结果存在 ADC1 DR.
-禁止二个 ADCs 同时对同一通道转换以免误差。
Triple Mode.
以上两者的差别在於不同的group
3.Interleaved mode
Dual Mode:
透过两个以上的ADC交互转换同一个通道可以达到更高的取样频率
由於同使只能有一个ADC对同一个通道做采样,因此必须要增加两个cycle的Delay time以免 phase overlap.
Triple Mode.
4.Alternate trigger mode
Dual Mode:
只能用在双方的 injected groups, 用同样外部讯号轮流接受触发。
如单数次触发到 ADC1 injected group; 双数次触发到 ADC2 injected group.
Triple Mode.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询