ADC
Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。
典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。
STM32F10x ADC特点
12位逐次逼近型的模拟数字转换器。
最多带3个ADC控制器。
最多支持18个通道,可最多测量16个外部和2个内部信号源。
支持单次和连续转换模式。
转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。
通道0到通道n的自动扫描模式。
自动校准。
采样间隔可以按通道编程。
规则通道和注入通道均有外部触发选项。
转换结果支持左对齐或右对齐方式存储在16位数据寄存器。
ADC转换时间:最大转换速率1us。(最大转换速率为1MHz,在ADCCLK=14M,采样周期为1.5个ADC时钟下得到。)
ADC供电要求:2.4V~3.6V (通常情况下ADC引脚:0V~3.3V)
ADC输入范围:V(REF-) 《= V(IN) 《= V(REF+)
决定输入电压的引脚:VREF-, VREF+, VDDA, VSSA
VSSA和VREF-接地,把VREF+和VDDA接3.3V,得到ADC的输入电压范围为:0~3.3V
STM32F10x大容量芯片带3个ADC控制器
其中144脚芯片因为带PF脚,所以多5个通道,为21个外部通道。小于144脚芯片只有16个外部通道
STM32F10x系列芯片ADC通道和引脚对应关系
ADC引脚
ADC框图
STM32通道组
1.规则通道组:相当正常运行的程序。最多16个通道。规则通道和它的转换顺序在ADC_SQRx寄存器中选择,规则组转换的总数应写入ADC_SQR1寄存器的 L[3:0]中
2.注入通道组:相当于中断。最多4个通道。注入组和它的转换顺序在ADC_JSQR寄存器中选择。注入组里转化的总数应写入ADC_JSQR寄存器 L[1:0]中
STM32F1的ADC的各通道可以单次,连续,扫描或者间断模式执行
单次转化
连续转换
扫描模式
实验目的:ADC1的通道1(PA1)进行单次转化
① 开启PA口时钟和ADC1时钟,设置PA1为模拟输入。
GPIO_Init();APB2PeriphClockCmd(); ② 复位ADC1,同时设置ADC1分频因子。
RCC_ADCCLKConfig(RCC_PCLK2_Div6);ADC_DeInit(ADC1); ③ 初始化ADC1参数,设置ADC1的工作模式以及规则序列的相关信息。
void ADC_Init(ADC_TypeDef* ADCx,ADC_InitTypeDef* ADC_InitStruct); ④ 使能ADC并校准。
ADC_Cmd(ADC1,ENABLE); ⑤ 配置规则通道参数:
ADC_RegularChannelConfig(); ⑥ 开启软件转换:
ADC_SoftwareStartConvCmd(ADC1); ⑦ 等待转换完成,读取ADC值
ADC_GetConversionValue(ADC1);
ADC
Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。
典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。
STM32F10x ADC特点
12位逐次逼近型的模拟数字转换器。
最多带3个ADC控制器。
最多支持18个通道,可最多测量16个外部和2个内部信号源。
支持单次和连续转换模式。
转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。
通道0到通道n的自动扫描模式。
自动校准。
采样间隔可以按通道编程。
规则通道和注入通道均有外部触发选项。
转换结果支持左对齐或右对齐方式存储在16位数据寄存器。
ADC转换时间:最大转换速率1us。(最大转换速率为1MHz,在ADCCLK=14M,采样周期为1.5个ADC时钟下得到。)
ADC供电要求:2.4V~3.6V (通常情况下ADC引脚:0V~3.3V)
ADC输入范围:V(REF-) 《= V(IN) 《= V(REF+)
决定输入电压的引脚:VREF-, VREF+, VDDA, VSSA
VSSA和VREF-接地,把VREF+和VDDA接3.3V,得到ADC的输入电压范围为:0~3.3V
STM32F10x大容量芯片带3个ADC控制器
其中144脚芯片因为带PF脚,所以多5个通道,为21个外部通道。小于144脚芯片只有16个外部通道
STM32F10x系列芯片ADC通道和引脚对应关系
ADC引脚
ADC框图
STM32通道组
1.规则通道组:相当正常运行的程序。最多16个通道。规则通道和它的转换顺序在ADC_SQRx寄存器中选择,规则组转换的总数应写入ADC_SQR1寄存器的 L[3:0]中
2.注入通道组:相当于中断。最多4个通道。注入组和它的转换顺序在ADC_JSQR寄存器中选择。注入组里转化的总数应写入ADC_JSQR寄存器 L[1:0]中
STM32F1的ADC的各通道可以单次,连续,扫描或者间断模式执行
单次转化
连续转换
扫描模式
实验目的:ADC1的通道1(PA1)进行单次转化
① 开启PA口时钟和ADC1时钟,设置PA1为模拟输入。
GPIO_Init();APB2PeriphClockCmd(); ② 复位ADC1,同时设置ADC1分频因子。
RCC_ADCCLKConfig(RCC_PCLK2_Div6);ADC_DeInit(ADC1); ③ 初始化ADC1参数,设置ADC1的工作模式以及规则序列的相关信息。
void ADC_Init(ADC_TypeDef* ADCx,ADC_InitTypeDef* ADC_InitStruct); ④ 使能ADC并校准。
ADC_Cmd(ADC1,ENABLE); ⑤ 配置规则通道参数:
ADC_RegularChannelConfig(); ⑥ 开启软件转换:
ADC_SoftwareStartConvCmd(ADC1); ⑦ 等待转换完成,读取ADC值
ADC_GetConversionValue(ADC1);
举报