stm32f407的三重ADC同步触发模式配置

来源:互联网 发布:java通过http下载文件 编辑:程序博客网 时间:2024/05/23 12:30

1、在原有的电机控制算法中ADC双重同步模式(同时测量两相电流)下,增加一路测量线电压采样。

考虑到stm32f407有三个ADC,故配置ADC3来采样线电压,但是在实验过程会导致ADC12无法正常使用。

仔细分析:原来在ADC3配置会修改多个ADC的运行方式,双重模式下为ADC_DualMode_RegSimult,但假如ADC3配置后,独立模式ADC_Mode_Independent会使得之前ADC12配置的ADC_DualMode_RegSimult模式失败,从而导致AD12无法使用。因此,考虑利用stm32f407的三重模式来实现同时测量两相电流和线电压。

2、参考了STM32F4xx_StdPeriph_Examples中ADC的ADC_TripleModeInterleaved,为交替模式;为保证电机控制算法中电流为同步采样,应为同步模式;

之后参考STM32论坛的帖子:http://www.stmcu.org/module/forum/thread-603974-1-2.html

3、具体实现:

其中在ADC配置中,有几个需要特别注意:

ADC_CommonInitStructure.ADC_Mode = ADC_TripleMode_RegSimult;//   三重同步模式
ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div4;//  4分频,84/4=21M<36M
ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_1;// 

//ADC_DMAAccessMode 模式的选择,参考手册,选择模式1



ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;//
ADC_CommonInit(&ADC_CommonInitStructure);

1 0
原创粉丝点击