第7章ATD模数转换DIO、AD、DA
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. ATD模块的采样通道与转换序列
S12X 有2组(ATD0、ATD1)各8个模拟输入通道,当该 通道输入管脚没用作模拟输入时,可以作为普通I/O数字 量输入口用;当用作模拟量输入时,其I/O端口数据寄存 器无效。
每次启动A/D可以进行多次扫描循环,可以针对单通道, 也可以是相邻的几个通道。
注:每个扫描循环称为一个转换序列
2. 转换时间与转换方式
us级, 可微调;控制寄存器ATDCTL4
转换时间 = (程控采样周期数+ 转换周期数 ) X A/D时钟周期
其中:程控采样周期数 = 4,6,8,10,12,16,20,24
转换周期数
= 10
A/D时钟频率 = 250KHz ~ 8.3MHz
第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个不同的电平级别。位数越高, 量化精度就越高。例如量化精度为8位,参考电压为5V,则检测到的模拟量变化为 5/28=0.0195313V。 ②转换速率:指完成一次从模拟量到数字量(A/D)的转换所需的时间的倒数。
误差指标……
模拟放大、滤波……
数据预处理(中值滤波、均值滤波)、分析、物理量回归。。。
S12(X)A/D转换特点 S12X 内置2组8通道10位的A/D模块(ATD0、ATD1),采
用逐次逼近型A/D转换器,自带采样保持,共有25个控制寄存器, 输入电阻约25MΩ,输入模拟电压范围在0~5V之间选择。
STAA PTT
;T口输出先全1
LDAA #$00
STAA ATD0CTL1 ; 8位精度
AN05
LDAA #$40
STAA ATD0CTL2 ;转换完成标志快速清零,禁止外触发,禁止中断
MCU总线时钟频率 =8MHz,设采样时间 为16个ATD时钟。
LDAA #$08 STAA ATD0CTL3 LDAA #$A3 STAA ATD0CTL4 LDAA #$00 STAA ATD0DIEN
CC[2:0] – 转换计数器 3位计数器指向下一个将要转换的通道
CCF7 -CCF0 – 独立通道转换完成标志位 每个相应的通道转换结束后置位;当相应的A/D结果寄存器被读出时,自动清零
转换结果寄存器---ATD0DRxH、ATD0DRxL
左对齐数据存放格式
Address Offset $0010 - $0011
---固定不变 ---要求必须如此
例: (4+10)X 1/2M =7us; 10位精度下最高转换时间3us
转换方式: ①单次方式:启动一次转换一次 ②连续方式:启动之后连续进行转换,新的结果会覆盖旧的值。
3. 转换结果对齐方式
每个A/D通道都有2个寄存器存放转换结果,用ATD0DRxH和ATD0DRxL存放; 可以选择左对齐或右对齐方式存放结果。
main: Entry:
LDS #__SEG_END_SSTACK
ቤተ መጻሕፍቲ ባይዱ
电平进行8位精度A/D
SEI
;关中断
; initialize the stack pointer
转换,转换后的数字 量结果送T口输出,T 口接8个LED灯,低
LDAA #$FF STAA DDRT LDAA #$FF
;设置T口为输出
电平点亮。
SCF – 转换序列完成标志 - 在单次转换模式时(SCAN = 0) ,当转换完成后置位 在连续转换模式时(SCAN = 1),当第一次转换完成后置位 当 AFFC = 0 ,写1清零.
ETORF - 外部触发覆盖标志 - 如果在转换过程中高/低电平出现,置位
FIFOR – 当结果寄存器在读出之前已经被写入时,置位 ( CCF没有清零时)
② 通过写ATD控制寄存器ATDCTL5启动新的ATD转换; ③ 通过查询ATD状态寄存器ATDSTAT0或响应A/D转换完成标志做中断处理,取结果。
控制寄存器ATD0CTL1~5 见教材
A/D 状态寄存器
ATD0STAT0 ATD0STAT1
Address Offset $0006
$0007
特点:
➢ 8/10/12 位精度可调 ➢ 采样缓冲放大器 ➢ 可编程采样时间 ➢ 结果数据左/右 对齐, 有符号/无符号 ➢ 外部触发控制 ➢ 转换完成发中断 ➢ 模拟输入8通道复用,扫描转换 ➢ 1到16转换序列长度 ➢ 单次/连续转换模式 ➢ 多通道扫描 ➢ 模拟/数字输入引脚复用
相关引脚
VDDA、VSSA---ATD模拟电路电源和地,应分别接MCU的VDD、VSS VRH、VRL---ATD参考高电压和低电压。通常可接VDDA、VSSA
积分式A/D转换的转换时间:毫秒级、低速A/D 逐次逼近式A/D:微妙级、中速A/D 纳秒级转换属于高速A/D ③采样速率:两次A/D转换之间的时间间隔的倒数,与转换速率是不同的两个概念。 为了保证数字量对于模拟量的正确反映,采样频率必须满足奈奎斯特采样定律,另外 采样速率还必须小于或等于A/D转换速率。
; 左对齐,转换序列长度为1 ; 设采样时间为16个ATD时钟,预分频系数PRS为3 ;禁止数字输入
设ATD时钟频率为1MHz
LDAA #$25 STAA ATD0CTL5 ; 启动新的转换:连续转换,单通道,选择AN5
WAIT: BRCLR ATD0STAT0,#$80,* ;检测SCF标志以等待A/D转换序列完成
公式:fATDCLK
LDAA ATD0DR0H
;取结果(单通道转换结果均在ATD0DR0中) ;同时标志被清零
= fBUS / (2 x (PRS+1))
COMA
;取反
STAA PTT ;送T口输出
BRA WAIT ;循环
$001E - $001F
右对齐数据存放格式
Address Offset $0010 - $0011
$001E - $001F
AD端口数字输入寄存器
PTAD0~7
ATD0DIEN - ATD 数字信号输入使能
0 禁止输入,1 允许输入
7.4 应用实例
【例7-1】MCU对ATD0 通道5上的0~5V模拟
8位或10位模式下对齐规则相同,8位时仅占用1个结果寄存器
7.3 ATD 模块的使用与配置
控制寄存器
ATD0CTL1~5
状态寄存器 转换结果寄存器
ATD0STAT0~1 ATD0DR0~15
MCU上电后,ATD模块各个寄存器处于默认关闭状态,至少需要经过下面几个步骤, 才可以使ATD完成所需要的转换工作: ① 设置ATD控制寄存器ATDCTL1~4:根据对转换位数、扫描方式、采样时间、时钟 频率的要求及标志检查方式进行相应寄存器的设置;
参考电压VRH不能大于ATD的电源电压,VRL不能为负电压
AN15/PAD15~AN0/PAD0:模拟量输入通道15~0,也可用作数字输入口。
注:复用------并行输入/输出的AD口PADx与ATD的模拟输入引脚ANx
运行模式
停止模式(STOP) 等待模式(WAIT) 冻结模式(FREEZE)
7.2 ATD模块工作原理