新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 嵌入式学习之ADC

嵌入式学习之ADC

作者:时间:2021-05-24来源:深漂赵工收藏

相信很多学习的同学都会使用模块,笔者在大学时代也经常使用做温度采样,往往得到温度值就暗自开心,也没有深究中连续采样、单次采样和被动触发模式是干嘛用的。直到工作多年后才发现ADC的应用不仅仅那么简单,涉及到的采样频率,分辨率,转换误差和转换时间都需要去深入了解,这样才能得到更精确的模拟信号量。

本文引用地址:http://www.eepw.com.cn/article/202105/425838.htm

ADC采样频率

ADC采样模块,就是用来得到当前传感器的值。比如可以通过高铁中的温度传感器得到高铁中的温度,通过烟雾传感器得到烟雾浓度,通过雷达得到前方是否有障碍物等等。在电力电子的世界,传感器就相当于人的眼睛,耳朵和感觉,人的大脑就相当于CPU;通过ADC采样模块得到了外界参数,再送入CPU,由CPU控制列车降速,停止,升温降温等等操作。在高精度的传感器和CPU方面,欧洲,韩国,日本和美国还是要比我国做得好,我们只是在他们的基础之上,应用做得好,还需要多多投入基础研发。

我们来看一个例子,230V 50Hz的家用市电,CPU是如何采样的呢?

第一步:将模拟信号经过变压互感器进行降压到0-3V以内,再将得到的小信号送给单片机

第二步:软件经过采样,得到数字信号;再将数字信号乘以采样比将得到模拟信号的波形。理论上来说,采样频率越高,得到的信号越准确,更接近于实际信号,但是更加耗费单片机的资源;采样频率越小,得到的信号精度越差,但是对单片机的性能要求不高。实际应用中,需要根据实际的芯片性能,对采样信号进行采样频率的设定。ADC采样,大家需要牢记采样定理:

在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的2.56~4倍

采样定理又称取样定理或抽样定理,它说明了采样频率和信号之间的关系,是模拟信号离散化的重要依据;简单来讲就是采样频率一定要大于信号最高频率的2倍,这样你才能得到真实的信号。

比如下面的这个例子,市电频率50Hz,使用20K,1K和50Hz的采样频率去模拟市电,只有20K和1K能够模拟出真实的波形;50Hz完全失真,提取不到市电的信号。

ADC转换参数

ADC的转换参数有:分辨率,ADC转换时间和转换误差等

分辨率:AD模块对模拟信号分辨能力,及数值部分的精度;我们将常说的16位或12位的采样芯片,说的就是ADC的分辨率;比如输入0-3V,12位AD采样分辨率为3V/2^12=0.732mV;16位AD采样分辨率为3V/2^16=0.0458mV;分辨率越高,采样的范围越精确,价格也越贵;

转换时间:从软件发出开始采样到采样完成的时间。进行一个采样时,需要经过如下步骤:

第一步:软件发出采样指令,ADC先将需要采样的通道值保持住;保证采样得到的都是同一时刻的值;

第二步:通过比较寄存器将每一个需要采样的通道与基准电压比较,并将比较的值存入ADC结果寄存器;比较完成后,发出转换完成信号;

第三步:CPU读到转换完成的信号后,开始读取结果寄存器的值,完成采样;

这个步骤跟芯片性能密切相关,一定要注意,采样周期不能大于转换时间,否则CPU此次采样还未完成,下一次采样已经开始,CPU负荷太重会导致各种位置问题

ADC采样方式

ADC的采样方式一般有:单次采样,连续采样和触发采样;

单次采样:软件发出采样指令,CPU启动采样,采样完成;ADC停止工作;采样频率由软件控制

连续采样:软件发出采样指令,CPU启动采样,采样完成,接着又开始采样个采样频率与ADC转换频率一致;

触发采样:收到触发信号,CPU启动采样,采样完成;ADC停止工作。触发信号可以为定时器或过零或者周期处,也可以为外部引脚,被触发一次采样一次;采样频率与触发信号频率一致;

最常见的是触发采样,一般在定时器的零点和周期处分别采样,得到平均值去计算或保护;


在工业控制领域,ADC往往不是单独存在,笔者经常把ADC和PWM联系在一起使用,在PWM的零点和周期处采样,再根据PWM驱动duty上一次的值计算出下一次的duty值,去控制输出量电压电流功率等等;下一节我们将通过PWM和ADC的结合深入了解工业控制中是如何控制物理量的;如新能源汽车的充电电流,变频器的输出电压等等。




关键词: 嵌入式 ADC

评论


相关推荐

技术专区

关闭