嵌入式A D接口实验.docx

上传人:b****4 文档编号:714162 上传时间:2022-10-12 格式:DOCX 页数:12 大小:46.56KB
下载 相关 举报
嵌入式A D接口实验.docx_第1页
第1页 / 共12页
嵌入式A D接口实验.docx_第2页
第2页 / 共12页
嵌入式A D接口实验.docx_第3页
第3页 / 共12页
嵌入式A D接口实验.docx_第4页
第4页 / 共12页
嵌入式A D接口实验.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

嵌入式A D接口实验.docx

《嵌入式A D接口实验.docx》由会员分享,可在线阅读,更多相关《嵌入式A D接口实验.docx(12页珍藏版)》请在冰豆网上搜索。

嵌入式A D接口实验.docx

嵌入式AD接口实验

2.4A/D接口实验

 

一、实验目的

 

了解在linux环境下对S3C2410芯片的8通道10位A/D的操作与控制。

 

二、实验内容

 

学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求。

阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口。

利用外部模拟信号编程实现ARM循环采集全部前4路通道,并且在超级终端上显示。

 

三、预备知识

 

¾有C语言基础。

¾掌握在Linux下常用编辑器的使用。

¾掌握Makefile的编写和使用。

¾掌握Linux下的程序编译与交叉编译过程。

 

四、实验设备及工具

 

硬件:

UP-TECHS2410/P270DVP嵌入式实验平台、PC机Pentium500以上,硬盘10G以上。

软件:

PC机操作系统REDHATLINUX9.0+MINICOM+ARM-LINUX开发环境

五、实验原理

 

1、A/D转换器

A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。

在工业控制和数据采集及许多其他领域中,A/D转换是不可缺少的。

A/D转换器有以下类型:

逐位比较型、积分型、计数型、并行比较型、电压-频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。

常用的有以下两种:

¾双积分型的A/D转换器双积分式也称二重积分式,其实质是测量和比较两个积分的时间,一个是对模拟输入电压积分的时间T0,此时间往往是固定的;另一个是以充电后的电压为初值,对参考电源Vref反向积分,积分电容被放电至零所需的时间T1。

模拟输入电压Vi与参考电压VRef之比,等于上述两个时间之比。

由于VRef、T0固定,而放电时间T1可以测出,因而可计算出模拟输入电压的大小(VRef与Vi符号相反)。

由于T0、VRef为已知的固定常数,因此反向积分时间T1与输入模拟电压Vi在T0时间内的平均值成正比。

输入电压Vi愈高,VA愈大,T1就愈长。

在T1开始时刻,控制逻辑同时打开计数器的控制门开始计数,直到积分器恢复到零电平时,计数停止。

则计数器所计出的数字即正比于输入电压Vi在T0时间内的平均值,于是完成了一次A/D转换。

由于双积分型A/D转换是测量输入电压Vi在T0时间内的平均值,所以对常态干扰(串摸干扰)有很强的抑制作用,尤其对正负波形对称的干扰信号,抑制效果更好。

双积分型的A/D转换器电路简单,抗干扰能力强,精度高,这是突出的优点。

但转换速度比较慢,常用的A/D转换芯片的转换时间为毫秒级。

例如12位的积分型A/D芯片ADCETl2BC,其转换时间为lms。

因此适用于模拟信号变化缓慢,采样速率要求较低,而对精度要求较高,或现场干扰较严重的场合。

例如在数字电压表中常被采用。

¾逐次逼近型的A/D转换器

逐次逼近型(也称逐位比较式)的A/D转换器,应用比积分型更为广泛,其原理框图如图

2.4.1所示,主要由逐次逼近寄存器SAR、D/A转换器、比较器以及时序和控制逻辑等部分组成。

它的实质是逐次把设定的SAR寄存器中的数字量经D/A转换后得到电压Vc与待转换

模拟电压V。

进行比较。

比较时,先从SAR的最高位开始,逐次确定各位的数码应是“1”还

是“0”,其工作过程如下:

转换前,先将SAR寄存器各位清零。

转换开始时,控制逻辑电路先设定SAR寄存器的最高位为“1”,其余位为“0”,此试探值经D/A转换成电压Vc,然后将Vc与模拟输入电压Vx比较。

如果Vx≥Vc,说明SAR最高位的“1”应予保留;如果Vx

然后再对SAR寄存器的次高位置“1”,依上述方法进行D/A转换和比较。

如此重复上述过程,直至确定SAR寄存器的最低位为止。

过程结束后,状态线改变状态,表明已完成一次转换。

最后,逐次逼近寄存器SAR中的内容就是与输入模拟量V相对应的二进制数字量。

显然A/D转换器的位数N决定于SAR的位数和D/A的位数。

图2.4.1(b)表示四位A/D转换器的逐次逼近过程。

转换结果能否准确逼近模拟信号,主要取决于SAR和D/A的位数。

位数越多,越能准确逼近模拟量,但转换所需的时间也越长。

z逐次逼近式的A/D转换器的主要特点是:

转换速度较快,在1—100/μs以内,分辨率可以达18位,特别适用于工业控制系统。

转换时间固定,不随输入信号的变化而变化。

抗干扰能力相对积分型的差。

例如,对模拟输入信号采样过程中,若在采样时刻有一个干扰脉冲迭加在模拟信号上,则采样时,包括干扰信号在内,都被采样和转换为数字量,这就会造成较大的误差,所以有必要采取适当的滤波措施。

图2.4.1逐次逼近式A/D转换器

2、A/D转换的重要指标

¾分辨率(Resolution)

分辨率反映A/D转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的

模拟输入的电平值表示。

n位A/D能反应1/2n满量程的模拟输入电平。

由于分辨率直接与

转换器的位数有关,所以一般也可简单地用数字量的位数来表示分辨率,即n位二进制数,最低位所具有的权值,就是它的分辨率。

值得注意的是,分辨率与精度是两个不同的概念,不要把两者相混淆。

即使分辨率很高,也可能由于温度漂移、线性度等原因,而使其精度不够高。

¾精度(Accuracy)

精度有绝对精度(AbsoluteAccuracy)和相对精度(RelativeAccuracy)两种表示方法。

z绝对误差:

在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非

是一个常数。

我们把它们之间的差的最大值,定义为“绝对误差”。

通常以数字量的最小有效位(LSB)的分数值来表示绝对误差,例如:

±1LSB等。

绝对误差包括量化误差和其它所有误差。

z相对误差是指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电

压满量程的百分比表示。

例如,满量程为10V,10位A/D芯片,若其绝对精度为±1/2LSB,则其最小有效位的量化单位:

9.77mV,其绝对精度为=4.88mV,其相对精度为0.048%。

z转换时间(ConversionTime)

转换时间是指完成一次A/D转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。

转换时间的倒数称为转换速率。

例如AD570的转换时间为25us,其转换速率为40KHz。

z电源灵敏度(powersupplysensitivity)

电源灵敏度是指A/D转换芯片的供电电源的电压发生变化时,产生的转换误差。

一般用电源电压变化1%时相当的模拟量变化的百分数来表示。

z量程

量程是指所能转换的模拟输入电压范围,分单极性、双极性两种类型。

例如,单极性量程为0~+5V,0~+10V,0~+20V;

双极性量程为-5~+5V,-10~+10V。

z输出逻辑电平

多数A/D转换器的输出逻辑电平与TTL电平兼容。

在考虑数字量输出与微处理的数据总线接口时,应注意是否要三态逻辑输出,是否要对数据进行锁存等。

z工作温度范围

由于温度会对比较器、运算放大器、电阻网络等产生影响,故只在一定的温度范围内才能

保证额定精度指标。

一般A/D转换器的工作温度范围为(0~700C),军用品的工作温度范围为(-55~+1250C)

¾ARM自带的十位A/D转换器

ARMS3C2410芯片自带一个8路10位A/D转换器,并且支持触摸屏功能。

ARM2410开发板只用作3路A/D转换器,其最大转换率为500K,非线性度为正负1.5位,其转换时间可以通过下式计算:

如果系统时钟为50MHz,比例值为49,则为

A/D转换器频率=50MHz/(49+1)=1MHz

转换时间=1/(1MHz/5cycles)=1/200kHz(相当于5us)=5us

表2.4.1采样控制寄存器的设置

寄存器

地址

读/写

描述

复位值

ADCCON

0x58000000

R/W

ADC控制寄存器

0x3FC4

表2.4.2采样控制寄存器的位描述

ADCCON

描述

初始设置

 

ECFLG

 

[15]

Endofconversionflag(readonly).

0=A/Dconversioninprocess

1=EndofA/Dconversion

 

0

 

PRSCEN

 

[14]

A/Dconverterprescalerenable.

0=Disable

1=Enable

 

0

 

PRSCVL

 

[13:

6]

A/Dconverterprescalervalue.Datavalue:

1~255

Notethatdivisionfactoris(N+1)whentheprescalervalueis

N.

 

0xFF

 

SEL_MUX

 

[5:

3]

Analoginputchannelselect.000=AIN0

001=AIN1

010=AIN2

011=AIN3

100=AIN4

101=AIN5

110=AIN6

111=AIN7(XP)

 

0

 

STDBM

 

[2]

Standbymodeselect.

0=Normaloperationmode

1=Standbymode

 

1

READ_START

 

[1]

A/Dconversionstartbyread.

0=Disablestartbyreadoperation

1=Enablestartbyreadoperation

 

0

 

ENABLE_START

 

[0]

A/Dconversionstartsbysettingthisbit.

IfREAD_STARTisenabled,thisvalueisnotvalid.

0=Nooperation1=A/Dconversionstartsandthisbitisclearedafterthestart-up.

 

0

该寄存器的0位是转换使能位,写1表示转换开始。

1位是读操作使能转换,写1表示转

换在读操作时开始。

3、4、5位是通道号。

[13:

6]位为AD转换比例因子。

14位为比例因子有效位,15位为转换标志位(只读)。

表2.4.3A/D转换结果数据寄存器的设置

寄存器

地址

读/写

描述

复位值

ADCDAT0

0x5800000C

R

ADC转换数据寄存器

-

ADCDAT0:

转换结果

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1