第9章 ADC转换器及其使用.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 ADC转换器及其使用

第9章? ADC转换器及其使用?;9.1? ADC转换器概述;May 2008;广东工业大学物理与光电工程学院;9.2? ADC转换器功能选择;9.2.1? 分辨率与转换精度?;9.2.2? 转换方式选择;Conversion Modes; D1 D0;;Analog zooming;表9-1 转 换 方 式;转换模式;连续和带缓存的连续模式;图9-3 单次与连续转换时序 ;单次扫描模式;连续扫描模式;  在连续扫描转换方式中,避免使用 “BRES ADC_CSR, #7” 指令清除EOC标志,原因是该指令属于读改写指令,会改变通道号。可用MOV指令对ADC_CSR寄存器直接写入,在清除EOC的同时从0通道开始转换。这实际上与单次扫描方式没有本质上的区别,完全可采用单次扫描方式代替连续扫描方式:在完成单次扫描转换结果处理、清除EOC标志后,再通过软件触发——执行 “BSET ADC_CR1, #0” 指令,启动新一轮AD转换,获得连续扫描的效果。;9.2.3? 转换速度设置;9.2.4? 触发方式;9.3? ADC转换器初始化过程举例;9.3 ADC转换器初始化过程举例;  (2) 初始化ADC配置寄存器1(ADC_CR1),选择相应的时钟分频系数SPSEL [2:0]。STM8S内置的ADC转换器转换时钟fADC由主时钟fMASTER分频获得。对STM8S207、STM8S208芯片来说,最高频率为4 MHz;对STM8S103、STM8S105芯片来说,最高频率为6 MHz。因此,应根据主频率fMASTER的大小、转换速度高低,选择合适的分频系数SPSEL [2:0]。 ;  (3) 初始化ADC 配置寄存器2(ADC_CR2),禁止/允许外部触发(即b6,EXTTRIG),选择外部触发,确定数据对齐(即b3,ALIGN)方式(左对齐还是右对齐)。 当ALIGN?=?0时,选择左对齐方式,转换结果的高8位(b9~b2)在ADC_DRH中,低2位(b1、b0)在ADC_DRL的b1、b0位中,这适合8位分辨率的情况(先读高位字节,后读低位字节)。 当ALIGN?=?1时,选择右对齐方式,转换结果的高2位(b9、b8)在ADC_DRH的b1、b0位中,低8位(b7~b0)在ADC_DRL中,这适合10位分辨率的情况(先读低位字节,后读高位字节)。;;9.4 提高ADC转换精度与转换的可靠性 ;图9-4 在VDD与VDDA增加LC滤波 ;    2. 模拟信号经RC低通滤波接AD输入引脚   根据被测量模拟信号VAIN频率、采样率(每秒转换次数),依据采样定理,在输入引脚增加一个参数选择适当的RC低通滤波器(如图9-5所示),滤除输入信号中的高频干扰信号。 ;  输入信号VAIN的取值必须在两个参考电平值之间,否则精度无法保证,甚至获得错误的结果。模拟输入引脚必须初始化为不带中断的悬空输入方式,避免上拉电阻电流对转换结果的影响。 ;;9.5 软 件 滤 波;9.5.1 算术平均滤波法   算术平均滤波法,是对连续采样的n个值xi (i?=?1~n)求算术平均    。采用该方法可使AD转换结果的信噪比提高倍。为方便MCU程序处理,采样点个数n一般按2的幂次选取,如2、4、8、16等,以便利用右移位指令,如SRLW指令实现和的平均。   例9-1 假设8个AD转换数据(10位)顺序存放在以AD_DATA为首地址的RAM单元中,求算术平均。   计算算术平均的程序段如下: ;CLRW X ; 清除和单元 ADDW X, {AD_DATA+0} ; 参与和运算的单元不多,不必用循环程序结构 ADDW X, {AD_DATA+2} ; 每个转换结果不超过3FFH,在和运算时不可能产生进位 ADDW X, {AD_DATA+4} ADDW X, {AD_DATA+6} ADDW X, {AD_DATA+8} ADDW X, {AD_DATA+10} ADDW X, {AD_DATA+12} ADDW X, {AD_DATA+14} SRLW X SRLW X SRLW X ; 直接右移3次,实现除8运算 ; 结果在寄存器X中;9.5.2 滑动平均滤波法   在算术平均滤波法中,每计算一次数据需要N个采样数据,实时性差,尤其是在采样速度较慢(小于10个每秒)时,更不适用。   为此,可采用滑动平均滤波法:将N个采样数据排成一个队列,用最新采样数据代替队列中最先采样数据。这样队列中始终有N个数据,对这N个数据求算术平均作为滤波输出结果。   在实际编程时,为提高响应速度,并不是移动数据,而是设置一个指针,每

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档