智能仪器仪表第二章模拟量输入输出通道
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void main (void ) { static uchar idata ad[COUNT]; ad0809_interrupt(ad); }
三、 AD574芯片及其接口
AD574共有5个控制引脚,定义如下:
cs CS: 片选信号,低电平有效。
_
CE: 片使能信号,高电平有效。 R c R/C:读/启动转换信号,高时读A/D转换结果,低时启动A/D转换。 12 8 12/8:输出数据长度控制信号,高为12位,低为8位。 A0: A0 有两种含义:当R/C为低时,A0为高,启动8位A/D转换; A0 为低,启动12位A/D转换。当R/C为高时,A0为高,输出低4位数据; A量输入通道
2.1.1 A/D转换器概述
一、A/D转换器的定义 A/D转换器是将模拟量转换为数字量的器件,这 个模拟量泛指电压、电阻、电流、时间等参量,但在 一般情况下,模拟量是指电压而言的。 二、A/D转换器的技术指标 1. 分辨率与量化误差 2. 转换精度 3. 转换速率 4. 满刻度范围
二、A/D转换器的技术指标
1. 分辨率与量化误差
量化误差是由A/D 转换器有限字长数字量对输入模拟量进 行离散取样(量化)引起的误差,其大小在理论上为一个单位 (1LSB )。将实际转移曲线在零刻度处偏移1/2单位,可使得 量化误差为±1/2LSB。
A/D转换器的量化误差
2.1.1 A/D转换器概述
二、A/D转换器的技术指标
1. 分辨率与量化误差
分辨率是衡量A/D转换器分辨输入模拟量最小变化量的技术 指标,是数字量变化一个字所对应模拟信号的变化量。例如: 某A/D转换器为12位,即表示该转换器可以用212个二进制数对 输入模拟量进行量化。
若用百分比表示,其分辨率为(1/212)×100% =0.025%, 若允许最大输入电压为10V,则它能分辨输入模拟电压的最小 变化量为10V×1/212 = 2.4mV。 A/D转换器的分辨率取决于A/D转换器的位数,所以习惯上 也以BCD 码数的位数直接表示。
void main (void ) { static uchar idata ad[10]; ad0809(ad); }
#include <absacc.h> #include <reg52.h> #define uchar unsigned char #define IN0 XBYTE[ 0XFEF8]/*设置ADC0809通道0的得地址*/ #define COUNT 8 bit bdata flag ;
三、A/D转换器的分类
① 逐次比较式A/D转换器:转换时间一般在μs级,转换精 度一般在0.1%上下,适用于一般场合。 ② 积分式A/D转换器:其核心部件是积分器,因此转换时 间一般在ms级或更长,但抗干扰性能强,转换精度可达0.01% 或更高。适于数字电压表类仪器采用。 ③ 并行比较式又称闪烁式:采用并行比较,其转换时间可 达ns级,但抗干扰性能较差,由于工艺限制,其分辨率一般不高 于8位。可用于数字示波器等要求转换速度较快的仪器中。 ④ 改进型是在上述某种形式A/D转换器的基础上,为满足 某项高性能指标而改进或复合而成的。例如余数比较式即是在逐 次比较式的基础上加以改进,使其在保持原有较高转换速率的前 提下精度可达0.01%以上。
2.1.1 A/D转换器概述
二、A/D转换器的技术指标
2、转换精度
转换精度反映了一个实际A/D转换器与一个理想A/D转换器 在量化值上的差值,用绝对误差或相对误差来表示。由于理想 A/D转换器也存在着量化误差,因此, 实际A/D转换器转换精 度所对应的误差指标不包括量化误差在内。 转换精度指标通常由以下分项误差有组成: 偏移误差 满刻度误差 非线性误差 微分非线性误差
带限信号变换的快慢受到它的最高频率分量的限制,也就是说 它的离散时刻采样表现信号细节的能力是有限的。采样定理是 指,如果信号带宽不到采样频率的一半(即奈奎斯特频率), 那么此时这些离散的采样点能够完全表示原信号。高于或处于 奈奎斯特频率的频率分量会导致混叠现象。大多数应用都要求 避免混叠,混叠问题的严重程度与这些混叠频率分量的相对强 度有关。
2.1.1 A/D转换器概述
二、A/D转换器的技术指标
4、满刻度范围
满刻度范围是指A/D转换器所允许最大的输入电压范围。 如(0~5)V,(0~10)V,(-5~+5)V等 满刻度值只是个名义值,实际的A/D转换器的最大输入 电压值总比满刻度值小1/2n(n为转换器的位数)。这是因 为0值也是2n个转换器状态中的一个。 例如12位的A/D转换器,其满刻度值为10V,而实际允 4095 许的最大输入电压值为 ×10=9.9976V。 4096
③ 非线性误差:是指实际转移函数与理想直线的最大偏移。 非线性误差不包括量化误差,偏移误差和满刻度误差。
④ 微分非线性误差:是指转换器实际阶梯电压与理想阶梯 电压(1LSB)之间的差值。为保证A/D转换器的单调性能,A/D转 换器的微分非线性误差一般不大于1LSB。非线性误差和微分非 线性误差在使用中很难进行调整。
二、 ADC0809芯片及其接口
二、 ADC0809芯片及其接口
2.1.2 逐次比较式A/D转换器与计算机接口
A/D转换器与微处理器连接方式以及智能仪器要求的 不同,实现A/D转换软件的控制方式就不同。目前常用的 控制方式主要有: 1. 程序查询方式: 2. 延时等待方式: 3. 中断方式:
2.1.2 逐次比较式A/D转换器与微处理器接口 一、 逐次比较式A/D转换器原理
它由N位寄存器、N位D/A转换器、比较器、逻辑控制电路、 输出缓冲器 五部分组成, 逐次比较式A/D转换 器大都做成单片集成电 路形式,使用时只需发 出A/D转换启动信号, 然后在EOC端查知A/D 转换过程结束后,取出 数据即可(实际A/D转 换过程已不是非常重 要)。
二、A/D转换器的技术指标
1. 分辨率与量化误差
分辨率是衡量A/D转换器分辨输入模拟量最小变化程度的 技术指标。A/D转换器的分辨率取决于A/D转换器的位数,所 以习惯上以输出二进制数或BCD 码数的位数来表示。 量化误差是由于A/D 转换器有限字长数字量对输入模拟量 进行离散取样(量化)引起的误差,其大小在理论上也为一个 单位(1LSB )。 量化误差和分辨率是统一的,即提高分辨率可以减小量化误差。
void ad0809_interrupt (uchar idata *x) { uchar i; uchar xdata *ad_adr; ad_adr=&IN0; TCON=0X04; IP=0X04; IE=0X04; for(i=0;i<COUNT;i++) { flag=0; *ad_adr=0; while(!flag); x[i] =*ad_adr; ad_adr++; } } service_int1() interrupt 2 using 1 { flag=1; }
b. 延时等待方式 MOV DPTR, #0FEF8H MOV A, #00H MOVX @DPTR, A MOVX R2, #48H WAIT:DJNZ R2, WAIT MOVX A, @DPTR MOV 30H, A
;指出IN0通道地址 ; 启动IN0通道转换 ;延时,等待EOC变低 ;查询,等待EOC变高 ;结果存30H ;启动IN0通道 ;延时约140μs ;转换结果存30H
结合下图所示的ADC0809与8031的接口电路, 给出查询、 等待定时和中断这三种方式下的转换程序。转换程序的功能是 将由IN0端输入的模拟电压转换为对应的数字量, 然后再存入 8031内部RAM的30H单元中。
1. 程序查询方式 2. 延时等待方式
3. 中断方式
a. 查询方式 MOV DPTR, #0FEF8H MOV A, #00H MOVX @DPTR,A MOV R2, #20H DLY: DJNZ R2, DLY WAIT:JB P3.3,WAIT MOVX A,@DPTR MOV 30H, A
2.1.1 A/D转换器概述
二、A/D转换器的技术指标
3、转换速率
转换速率是指A/D转换器在每秒钟内所能完成的转换次数。 转换速率也可表述为转换时间,即A/D转换从启动到结束 所需的时间,转换速率与转换时间互为倒数。 例如,某A/D转换器的转换速率为5MHz,则其转换时间 是200ns。
采样是将一个信号(即时间或空间上的连续函数)转换成一个 数值序列(即时间或空间上的离散函数)。采样定理指出,如 果信号是带限的,并且采样频率高于信号带宽的两倍,那么, 原来的连续信号可以从采样样本中完全重建出来。
二、 ADC0809芯片及其接口
二、 ADC0809芯片及其接口
ADC0809由三大部分组成:
1、8路输入模拟量选择电路:8路输入模拟量信号分别接到 IN0~IN7端。A,B,C为输入地址选择线,地址信息由ALE的上 升沿打入地址锁存器。 2、逐次比较式A/D转换器:START为启动信号,其上升 沿复位内部寄存器,下降沿启动A/D转换。EOC为转换结束标 志位,“0‖表示正在转换,“1‖表示一次A/D转换的结束。 CLOCK为外部时钟输入信号,当时钟频率取640kHz时,转换 一次约需100μs时间(ADC0809所能容许的最短转换时间)。 3、三态输出缓冲锁存器:A/D转换的结果由EOC信号上 升沿打入三态输出缓冲锁存器。OE为输出允许信号,当向OE端 输入一个高电平时,三态门电路被选通,这时便可读取结果。 否则缓冲锁存器输出为高阻态。
c. 中断方式 (主程序) MAIN:SETB IT1 ;选边沿触发 SETB EX1 ;允许中断 SETB EA ;打开中断 MOV DPTR,#0FEF8H MOV A, #00H ;启动A/D转换 中断服务程序: MOVX @DPTR,A NTR1:PUSH DPL ;保护现场 …… ;执行其他任务 PUSH DPH PUSH A MOV DPTR,#0FEF8H MOVX A, @DPTR ;读结果 MOV 30H, A ;结果存30H MOV A, #00H MOVX @DPTR, A ;启动下次转 POP A ;恢复现场 POP DPH POP DPL
第2章 智能仪器模拟量输入/输出通道
2.1 模拟量输入通道
2.1.1 A/D转换器概述 2.1.2 逐次比较式A/D转换器与微处理器接口 2.1.3 积分式A/D转换器与微处理器接口
2.2 高速模拟量输入通道
2.3 模拟量输出通道
2.4 数据采集系统
第2章 智能仪器模拟量输入/输出通道
智能仪器所处理的对象大部分是模拟量。而智能仪器的 核心——微处理器能接受并处理的是数字量,因此被测模拟 量必须先通过A/D转换器转换成数字量,并通过适当的接口 送入微处理器。在这里,我们把A/D转换器及其接口称为模 拟量输入通道。 同样,微处理器处理后的数据往往又需要使用D/A转换 器及相应的接口将其变换成模拟量送出。在这里,我们把D/ A转换器及相应的接口称为模拟量输出通道。
① ② ③ ④
转换精度
转换精度指标通常由以下分项误差有组成: ① 偏移误差:是指输出为零时,输入不为零的值,所以有 时又称零点误差。偏移误差可以通过在A/D转换器的外部加接调 节电位器,将偏移误差调至最小。 ② 满刻度误差:又称增益误差,它是指A/D转换器满刻度 时输出的代码所对应的实际输入电压值与理想输入电压值之差, 满刻度误差一般是由参考电压、放大器放大倍数、电阻网络误差 等引起。满刻度误差可以通过外部电路来修正。
C51编程举例
#include <absacc.h> #include <reg52.h> #define uchar unsigned char #define IN0 XBYTE[ 0XFEF8]/*设置ADC0809通道0的得地址*/ sbit EOC=P1^0; void ad0809 (uchar idata *x) { uchar i; uchar xdata *ad_adr; ad_adr=&IN0; for(i=0;i<8;i++) { *ad_adr=0; i=i; i=i; do{;}while(EOC); x[i] =*ad_adr; ad_adr+ } }