第7ATD模数转换DIOADDA.ppt

上传人:本田雅阁 文档编号:2567153 上传时间:2019-04-09 格式:PPT 页数:12 大小:557.51KB
返回 下载 相关 举报
第7ATD模数转换DIOADDA.ppt_第1页
第1页 / 共12页
第7ATD模数转换DIOADDA.ppt_第2页
第2页 / 共12页
第7ATD模数转换DIOADDA.ppt_第3页
第3页 / 共12页
第7ATD模数转换DIOADDA.ppt_第4页
第4页 / 共12页
第7ATD模数转换DIOADDA.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《第7ATD模数转换DIOADDA.ppt》由会员分享,可在线阅读,更多相关《第7ATD模数转换DIOADDA.ppt(12页珍藏版)》请在三一文库上搜索。

1、第7章 ATD模/数转换 DIO、A/D、D/A,7.1 A/D转换概述 模/数转换过程就是以一定的时间间隔对模拟信号进行采样,然后将采集到的模拟值转换为相应的二进制代码。为了得到真实而稳定的转换数据,A/D转换过程就要满足基本的性能指标,以使从离散的采样点数据可以最大限度地表征连续的模拟信号。 A/D转换主要技术指标: 量化精度:数字量变化一个最小量时模拟信号的变化量,又称分辨率。通常用二进制位数来表示,如8位、10位精度的分辨率分别为1/28、1/210。10位精度能将采样到的模拟量值转换为一个10位二进制数,可以表示210=1024个不同的电平级别。位数越高,量化精度就越高。例如量化精度

2、为8位,参考电压为5V,则检测到的模拟量变化为5/28=0.0195313V。 转换速率:指完成一次从模拟量到数字量(A/D)的转换所需的时间的倒数。 积分式A/D转换的转换时间:毫秒级、低速A/D 逐次逼近式A/D:微妙级、中速A/D 纳秒级转换属于高速A/D 采样速率:两次A/D转换之间的时间间隔的倒数,与转换速率是不同的两个概念。为了保证数字量对于模拟量的正确反映,采样频率必须满足奈奎斯特采样定律,另外采样速率还必须小于或等于A/D转换速率。 误差指标 模拟放大、滤波 数据预处理(中值滤波、均值滤波)、分析、物理量回归。,S12(X)A/D转换特点 S12X 内置2组8通道10位的A/D

3、模块(ATD0、ATD1),采用逐次逼近型A/D转换器,自带采样保持,共有25个控制寄存器,输入电阻约25M,输入模拟电压范围在05V之间选择。 特点:,8/10/12 位精度可调 采样缓冲放大器 可编程采样时间 结果数据左/右 对齐, 有符号/无符号 外部触发控制 转换完成发中断 模拟输入8通道复用,扫描转换 1到16转换序列长度 单次/连续转换模式 多通道扫描 模拟/数字输入引脚复用,相关引脚 VDDA、VSSA-ATD模拟电路电源和地,应分别接MCU的VDD、VSS VRH、VRL-ATD参考高电压和低电压。通常可接VDDA、VSSA 参考电压VRH不能大于ATD的电源电压,VRL不能为

4、负电压 AN15/PAD15AN0/PAD0:模拟量输入通道150,也可用作数字输入口。 注:复用-并行输入/输出的AD口PADx与ATD的模拟输入引脚ANx 运行模式 停止模式(STOP) 等待模式(WAIT) 冻结模式(FREEZE),7.2 ATD模块工作原理,1. ATD模块的采样通道与转换序列,S12X 有2组(ATD0、ATD1)各8个模拟输入通道,当该通道输入管脚没用作模拟输入时,可以作为普通I/O数字量输入口用;当用作模拟量输入时,其I/O端口数据寄存器无效。 每次启动A/D可以进行多次扫描循环,可以针对单通道,也可以是相邻的几个通道。 注:每个扫描循环称为一个转换序列,2.

5、转换时间与转换方式,us级, 可微调;控制寄存器ATDCTL4 转换时间 (程控采样周期数 转换周期数 ) X A/D时钟周期 其中:程控采样周期数 4,6,8,10,12,16,20,24 转换周期数 10 -固定不变 A/D时钟频率 250KHz 8.3MHz -要求必须如此 例: (4+10)X 1/2M =7us; 10位精度下最高转换时间3us 转换方式: 单次方式:启动一次转换一次 连续方式:启动之后连续进行转换,新的结果会覆盖旧的值。,3. 转换结果对齐方式 每个A/D通道都有2个寄存器存放转换结果,用ATD0DRxH和ATD0DRxL存放; 可以选择左对齐或右对齐方式存放结果。

6、 8位或10位模式下对齐规则相同,8位时仅占用1个结果寄存器,7.3 ATD 模块的使用与配置,转换结果寄存器,控制寄存器,状态寄存器,ATD0CTL15,ATD0STAT01,ATD0DR015,MCU上电后,ATD模块各个寄存器处于默认关闭状态,至少需要经过下面几个步骤,才可以使ATD完成所需要的转换工作: 设置ATD控制寄存器ATDCTL14:根据对转换位数、扫描方式、采样时间、时钟频率的要求及标志检查方式进行相应寄存器的设置; 通过写ATD控制寄存器ATDCTL5启动新的ATD转换; 通过查询ATD状态寄存器ATDSTAT0或响应A/D转换完成标志做中断处理,取结果。,控制寄存器ATD

7、0CTL15 见教材,ATD0STAT0,Address Offset $0006,$0007,A/D 状态寄存器,FIFOR 当结果寄存器在读出之前已经被写入时,置位 ( CCF没有清零时),SCF 转换序列完成标志 - 在单次转换模式时(SCAN = 0) ,当转换完成后置位 在连续转换模式时(SCAN = 1),当第一次转换完成后置位 当 AFFC = 0 ,写1清零.,ETORF - 外部触发覆盖标志 - 如果在转换过程中高/低电平出现,置位,CC2:0 转换计数器 3位计数器指向下一个将要转换的通道,CCF7 -CCF0 独立通道转换完成标志位 每个相应的通道转换结束后置位;当相应的

8、A/D结果寄存器被读出时,自动清零,ATD0STAT1,转换结果寄存器-ATD0DRxH、ATD0DRxL,Address Offset $0010 - $0011 - - - $001E - $001F,Address Offset $0010 - $0011 - - - $001E - $001F,左对齐数据存放格式,右对齐数据存放格式,AD端口数字输入寄存器,PTAD07,ATD0DIEN - ATD 数字信号输入使能,0 禁止输入,1 允许输入,7.4 应用实例,【例7-1】MCU对ATD0通道5上的05V模拟电平进行8位精度A/D转换,转换后的数字量结果送T口输出,T口接8个LED灯

9、,低电平点亮。 MCU总线时钟频率=8MHz,设采样时间为16个ATD时钟。 设ATD时钟频率为1MHz 公式:fATDCLK = fBUS / (2 x (PRS+1),AN05,main: Entry: LDS #_SEG_END_SSTACK ; initialize the stack pointer SEI ;关中断 LDAA #$FF STAA DDRT ;设置T口为输出 LDAA #$FF STAA PTT ;T口输出先全1 LDAA #$00 STAA ATD0CTL1 ; 8位精度 LDAA #$40 STAA ATD0CTL2 ;转换完成标志快速清零,禁止外触发,禁止中断

10、LDAA #$08 STAA ATD0CTL3 ; 左对齐,转换序列长度为1 LDAA #$A3 STAA ATD0CTL4 ; 设采样时间为16个ATD时钟,预分频系数PRS为3 LDAA #$00 STAA ATD0DIEN ;禁止数字输入 LDAA #$25 STAA ATD0CTL5 ; 启动新的转换:连续转换,单通道,选择AN5 WAIT: BRCLR ATD0STAT0,#$80,* ;检测SCF标志以等待A/D转换序列完成 LDAA ATD0DR0H ;取结果(单通道转换结果均在ATD0DR0中) ;同时标志被清零 COMA ;取反 STAA PTT ;送T口输出 BRA WAIT ;循环,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1