STM32 DMA多通道采集 轮询扫描读取信号

ADC详解
一.ADC工作原理
工作原理
参数详解
MX配置
驱动代码编写
调试结果
参考
一.ADC工作原理
工作原理
ADC芯片即模数转换器,是将模拟量转化为数字量的芯片,在如今的这个时代,这是很重要的芯片。在许多高精度测量领域,都在大规模的使用ADC芯片,我们在做项目的时候也会大量使用,熟悉它的参数才能更好的使用它。
模拟信号转化为数字信号,一般分为4个步骤进行,即采样、保持、量化和编码。前两个步骤在采样-保持电路中完成,后两个步骤则在ADC中完成。ADC是把经过与标准量比较处理后的模拟量转化为二进制数值表示的离散信号的转化器。所以任何一个模数转化器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为ADC芯片最大的可转换信号大小。


参数详解
1.分辨率

分辨率n是用于表示模拟信号的位数,如果ADC是3位的,那么就共有8种输出码。分辨率越高,ADC就可识别更小的输入电压变化。VREF/2n-1(2的n次方减1)即为分辨率,n位的ADC,即有2n(2的n次方)个输出,共有2n-1(2的n次方减1)个间隔,这个间隔即是ADC芯片能识别的最小输入信号变化量。

2.转换率/采样率/转化时间

转换时间Tconv表示完成一次模数转换消耗的时间,或相邻两次转换的时间间隔;

转化率/采样率Ws:表示ADC数据转换的频率,单位为:采样/秒(SPS),两者互为倒数关系。

3.最低有效位(LSB)/最高有效位(MSB)

即ADC芯片的最高位和最低位。那么1LSB的电压值,就是ADC的分辨精度,是由ADC的参考电压VREF和分辨率n共同决定的。

4.量化误差

输入信号在量化门限之间随机变化,则量化误差e在两次采样间基本不相关,且在±LSB/2范围内均匀分布,我们可以将其视为一种白噪声。因为ADC采样出来的信号是离散的,而实际模拟信号是连续信号,所以ADC采样出来的两个相邻离散信号不能精准表示模拟信号而带来的误差。

5.SNR

SNR即为信噪比,是信号功率与ADC噪声功率的比。理想ADC的SNR是信号功率和量化误差e带来的噪声功率(DC-Fs/2的频率范围)的比值。那也就是说在只考虑量化噪声的情况下,知道了ADC的位数N就可以确定信噪比的大小,SNR=1.76+6.02N dB。但实际上ADC,有量化噪声、本征噪声、系统噪声、时间抖动等噪声。

cubemax配置

HAL_ADCEx_Calibration_Start(&hadc2,ADC_SINGLE_ENDED);//ADCA校准

/*获取ADC,不连续读取,每调用一次只读取一次*/
void ADC_Get_Value(uint32_t adc_value[])
{
	int i=0;
	for(i=0;i<2;i++)
	{
		HAL_ADC_Start(&hadc2);
		HAL_ADC_PollForConversion(&hadc2,10);//等待转换完成
		adc_value[i] = HAL_ADC_GetValue(&hadc2);
	}
	HAL_ADC_Stop(&hadc2);
	return;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值