本帖最后由 littlekong 于 2015-9-6 11:44 编辑 / R9 ?. R: ~" f( a) C 为了阅读效果更好(其实是我比较懒啦,难以一一将word文档的图片粘过来),后续的教程我会列出主要内容,然后提供pdf附件: 第七课:STM8S ADC 介绍 1. 基本介绍( U0 _: y7 a% }/ c ADC(Analog-to-digital converter) 指模/数转换器或者模拟/数字转换器,是一种将连续变量的模拟信号转换为离散的数字信号的器件。典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号,例如电流采样,通常就是流过的电流在感应器上产生一个电压,然后根据ADC采集这个电压信号,通过感应比例反推此时的电流大小。 关于ADC的更多信息,大家可以查阅Reference_Resource的Datasheet,相信经过前面几期课程,大家已经知道如何在文档上提取我们所需要的信息了。 ( g$ h8 d- E8 d5 {* N0 W0 H7 e! h 2. ADC计算及其精度改善5 [ \1 \4 O! E+ c2.1 ADC计算 之前没有接触过ADC的话,可能不知道该如何根据采样回来的数字值转为模拟值,这里简单介绍下,一句话概括就是,我们认为数字值和模式值是线性对应的: m. @- J( S. f% [) A ) ~/ f4 X' h- r& |& u VDD / (2n - 1) = VAnalog / VDigital * B, e' i+ R; L, Q8 z# L% p3 ?VDD为ADC的数字供电,可以认为是IO口可采样的最大电压; VSS 为ADC的数字地,可以认为是IO口可采样的最小电压;' _: J: |% [- t# a6 z n为ADC的位数。 所以,我们通过采样得到的是数字采样值VDigital,那么根据比例关系可以得到对应的模拟电压值为: VAnalog = VDigital* (VDD / (2n - 1))& o- n. Y# a: c$ y) c# l 3 K I, p: @9 N3 ^, u 2.2 精度改善 对于ADC的误差,主要有两种:一为偏移误差,二为比例误差。我画了一个图,大家应该会更好理解:蓝色折线表示理想情况下模拟值和采样值的关系,橙色为同时存在两种误差时候的关系。假设理想状态下,折线的偏移为0,比例为1,那么可以看到由于两种偏差的存在,橙色折线与理想折线偏差就不是一点点了。 误差的引入源头有很多,例如基准电压(即前面公式提到的VDD和VCC),模块本身的精度偏差,元器件受干扰(温度,磁场等)。为了改善误差,提高精度,在下面的课程中,我们同时采用了两种方法: - 多次采样求平均值 - 加入偏移误差和比例误差的校准 l: A6 L+ A( ]! R3. ADC的编程使用 本节课的例程将实现以下功能: N- J' Q. `! X& F % m E2 c+ p( f
% k& H7 V! m3 V9 C) w% N: K% | 有兴趣的可以前往https://pan.baidu.com/s/1eQJEKOq 下载本次教程的文档和源码,文件夹为Lesson7。QQ交流群:478737279
|
谢谢分享