1、贵州大学实验报告学院: 专业: 班级:姓名学号实验组实验时间05.03指导教师余佩嘉成绩实验项目名称ARM的A/D接口实验实验目的1熟悉ARM本身自带的八路十位A/D控制器及相应寄存器。 2编程实现ARM系统的A/D功能。 3掌握带有A/D的CPU编程实现A/D功能的主要方法。实验原理1A/D转换器 A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。在工业控制和数据采集及许多其他领域中,A/D转换是不可缺少的。 A/D转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压频率型,主要应根据使用场
2、合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。常用的有以下两种: 1)双积分型的A/D转换器 双积分式也称二重积分式,其实质是测量和比较两个积分的时间,一个是对模拟输入电压积分的时间T0,此时间往往是固定的;另一个是以充电后的电压为初值,对参考电源Vref反向积分,积分电容被放电至零所需的时间T1。模拟输入电压Vi与参考电压VRef之比,等于上述两个时间之比。由于VRef 、T0固定,而放电时间T1可以测出,因而可计算出模拟输入电压的大小(VRef与Vi符号相反)。 由于T0、VRef为已知的固定常数,因此反向积分时间T1与输入模拟电压Vi在T0时间内的平均
3、值成正比。输入电压Vi愈高,VA愈大,T1就愈长。在T1开始时刻,控制逻辑同时打开计数器的控制门开始计数,直到积分器恢复到零电平时,计数停止。则计数器所计出的数字即正比于输入电压Vi在T0时间内的平均值,于是完成了一次A/D转换。 由于双积分型A/D转换是测量输入电压Vi在T。时间内的平均值,所以对常态干扰(串模干扰)有很强的抑制作用,尤其对正负波形对称的干扰信号,抑制效果更好。 双积分型的A/D转换器电路简单,抗干扰能力强,精度高,这是突出的优点。但转换速度比较慢,常用的A/D转换芯片的转换时间为毫秒级。例如12位的积分型A/D芯片ADCETl2BC,其转换时间为lms。因此适用于模拟信号变
4、化缓慢,采样速率要求较低,而对精度要求较高,或现场干扰较严重的场合。例如在数字电压表中常被采用。 2)逐次逼近型的A/D转换器 逐次逼近型(也称逐位比较式)的A/D转换器,应用比积分型更为广泛,其原理框图如图3-10所示,主要由逐次逼近寄存器SAR、D/A转换器、比较器以及时序和控制逻辑等部分组成。它的实质是逐次把设定的SAR寄存器中的数字量经D/A转换后得到电压Vc与待转换模拟电压V。进行比较。比较时,先从SAR的最高位开始,逐次确定各位的数码应是“1”还是“0”,其工作过程如下: 转换前,先将SAR寄存器各位清零。转换开始时,控制逻辑电路先设定SAR寄存器的最高位为“1”,其余位为“0”,
5、此试探值经D/A转换成电压Vc,然后将Vc与模拟输入电压Vx比较。如果VxVc,说明SAR最高位的“1”应予保留;如果VxVc,说明SAR该位应予清零。然后再对SAR寄存器的次高位置“1”,依上述方法进行D/A转换和比较。如此重复上述过程,直至确定SAR寄存器的最低位为止。过程结束后,状态线改变状态,表明已完成一次转换。最后,逐次逼近寄存器SAR中的内容就是与输入模拟量V相对应的二进制数字量。显然A/D转换器的位数N决定于SAR的位数和D/A的位数。图3-10(b)表示四位A/D转换器的逐次逼近过程。转换结果能否准确逼近模拟信号,主要取决于SAR和D/A的位数。位数越多,越能准确逼近模拟量,但
6、转换所需的时间也越长。 逐次逼近式的A/D转换器的主要特点是: 转换速度较快,在1100/s以内,分辨率可以达18位,特别适用于工业控制系统。转换时间固定,不随输入信号的变化而变化。抗干扰能力相对积分型的差。例如,对模拟输入信号采样过程中,若在采样时刻有一个干扰脉冲迭加在模拟信号上,则采样时,包括干扰信号在内,都被采样和转换为数字量,这就会造成较大的误差,所以有必要采取适当的滤波措施。 2A/D转换的重要指标 1)分辨率(Resolution): 分辨率反映A/D转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的模拟输入的电平值表示。n位A/D能反应1/2n满量程的模拟输入
7、电平。由于分辨率直接与转换器的位数有关,所以一般也可简单地用数字量的位数来表示分辨率,即n位二进制数,最低位所具有的权值,就是它的分辨率。 值得注意的是,分辨率与精度是两个不同的概念,不要把两者相混淆。即使分辨率很高,也可能由于温度漂移、线性度等原因,而使其精度不够高。 2)精度(Accuracy) 精度有绝对精度(Absolute Accuracy)和相对精度(Relative Accuracy)两种表示方法。 绝对误差 在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非是一个常数。我们把它们之间的差的最大值,定义为“绝对误差”。通常以数字量的最小有效位(LSB)
8、的分数值来表示绝对误差,例如:1LSB等。绝对误差包括量化误差和其它所有误差。 相对误差 是指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示。 例如,满量程为10V,10位A/D芯片,若其绝对精度为1/2LSB,则其最小有效位的量化单位:9.77mV,其绝对精度为4.88mV,其相对精度为0.048%。 3)转换时间(Conversion Time) 转换时间是指完成一次A/D转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。 转换时间的倒数称为转换速率。例如AD570的转换时间为25us,其转换速率为40KHz。 4)电
9、源灵敏度(power supply sensitivity) 电源灵敏度是指A/D转换芯片的供电电源的电压发生变化时,产生的转换误差。一般用电源电压变化1时相当的模拟量变化的百分数来表示。 5)量程 量程是指所能转换的模拟输入电压范围,分单极性、双极性两种类型。 例如,单极性 量程为0+5V,0+10V,0+20V; 双极性 量程为-5+5V,-10+10V。 6)输出逻辑电平 多数A/D转换器的输出逻辑电平与TTL电平兼容。在考虑数字量输出与微处理的数据总线接口时,应注意是否要三态逻辑输出,是否要对数据进行锁存等。 7)工作温度范围 由于温度会对比较器、运算放大器、电阻网络等产生影响,故只在
10、一定的温度范围内才能保证额定精度指标。一般A/D转换器的工作温度范围为(0700C),军用品的工作温度范围为(-55+1250C)。 3ARM自带的十位A/D转换器 ARMS3C2410X芯片自带一个路10位A/D转换器,最大转换率为500K,非线性度为正负.5位,其转换时间可以通过下式计算:如果A/D使用的时钟为50MHz,预定标器的值为49,那么: A/D转换频率=50MHz(49+1)=1MHz 转换时间=1/(1MHz/5时钟周期)=1/200kHz=5us 注意:因为A/D转换器的最高时钟频率是2.5MHz,所以转换速率可达500kSPS编程注意事项: 1 A/D转换的数据可以通过中
11、断或查询的方式来访问,如果是用中断方式,全部的转换时间(从A/D转换的开始到数据读出)要更长,因为中断服务程序返回和数据的访问的原因。如果是查询方式则要检测ADCCON15(转换结束标志位)来确定从ADCDAT寄存器读取的数据是否是最新的转换数据。 2 A/D转换开始的另一种方式是将ADCCON1置为1,这时只有有读转换数据的信号A/D转换就会同步开始。 与AD相关的寄存器主要是如下两个: ADCCON:A/D转换控制寄存器。其地址和意义参见下表:ADCCON寄存器的第15位是转换结束标志位,为1时表示转换结束。第14位表示A/D转换预定标器使能位,1表示该预定标器开启。第13-6位表示预定标
12、器的数值,需要注意的是如果这里的值是N,则除数因式是(N1)。第5-3位表示模拟输入通道选择位。第2位表示待用模式选择位。第1位是读使能 A/D转换开始位,第0位值1则A/D转换开始(如果第1位置1,则这位是无效的)。4AD转换器在开发平台的接法如下: 即前三路通过分压电位器接到3.3v电源上。实验仪器硬件:ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG仿真器、模拟电压信号源。 软件:PC机操作系统Win2000或WinXP、ARM ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。实验步骤1新建工程,将“Exp2 ARM A/D接口实验”种的文件
13、添加到工程。 2编写获取转换结果函数(main.c)3主函数(main.c)实验内容学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求。阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口。利用外部模拟信号编程实现ARM循环采集全部前3路通道,并且在超级终端上显示。实验数据实验总结基本达到实验的要求,了解对ARN的A/D串口是如何工作的,以及了解实验原理。熟悉ARM本身自带的八路十位A/D控制器及相应寄存器,掌握带有A/D的CPU编程实现A/D功能的主要方法,为今后嵌入式的学习打下一定的学习基础。指导教师意见签名: 年 月 日注:各学院可根据教学需要对以上栏目进行增减。表格内容可根据内容扩充。