ARM的AD接口实验课程设计_第1页
ARM的AD接口实验课程设计_第2页
ARM的AD接口实验课程设计_第3页
ARM的AD接口实验课程设计_第4页
ARM的AD接口实验课程设计_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、arm的a/d接口实验课程设计一、实验目的 1熟悉arm本身自带的八路十位a/d控制器及相应寄存器。 2编程实现arm系统的a/d功能。 3掌握带有a/d的cpu编程实现a/d功能的主要方法。 二、实验内容 学习a/d接口原理,了解实现a/d系统对于系统的软件和硬件要求。阅读arm芯片文档,掌握arm的a/d相关寄存器的功能,熟悉arm系统硬件的a/d相关接口。利用外部模拟信号编程实现arm循环采集全部前3路通道,并且在超级终端上显示。 三、预备知识 1、用ewarm集成开发环境,编写和调试程序的基本过程。 2、arm应用程序的框架结构。 3、能够自己完成在lcd上显示指定参量。 四、实验设备

2、及工具 硬件:arm嵌入式开发平台、pc机pentium100以上、用于arm920t的jtag仿真器、模拟电压信号源。 软件:pc机操作系统win2000或winxp、ewarm集成开发环境、仿真器驱动程序、超级终端通讯程序。 五、实验原理及说明 1a/d转换器 a/d转换器是模拟信号源和cpu之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。在工业控制和数据采 集及许多其他领域中,a/d转换是不可缺少的。 a/d转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压频率型,主要应根据使用场合的具体要求,按照转换速度、精度、

3、价格、功能以及接口条件等因素来决定选择何种类型。常用的有以下两种: 1)双积分型的a/d转换器 2)逐次逼近型的a/d转换器 2a/d转换的重要指标 (1)分辨率(resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2”的比值。分辨率又称精度,通常以数字信号的位数来表示。 (2)转换速率(conversion rate) 指完成一次从模拟到数字的a/d转换所需的时间的倒数。积分型afd韵转换时间是毫秒级,属低速a/d,逐次逼近型a/d是微秒级,属中速a/d,全并行/串并行型a/d可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换正确完成,采样速

4、率( sample rate)必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是ksps和msps,表示每秒采样千/百万次(kilof millionsamples per second)。 (3)量化误差(quantizing error)由afd的有限分辨率而引起的误差,即有限分辨率a/d的阶梯状转移特性曲线与无限分辨率afd(理想a/d)的转移特性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1lsb、1/2lsb。 (4)偏移误差(offset error) 输入信号为零时输出信号不为零的值,可外接电位器调至最小

5、。 (5)满刻度误差(full scale error) 满度输出时对应的输入信号与理想输入信号值的差。 (6)线性度(linearity) 实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。 其他指标还有:绝对精度( absolute accuracy)、相对精度(relative accuracy)、微分非线性、单调性和无错码、总谐波失真( total harmonic distotortion,thd)和积分非线性。 不同类型的a/d转换器的结构、转换原理和性能指标方面的差异很大。表5.8列出了常用类型的afd转换器的主要特点和应用范围。六、实验步骤 1编写获取转换结果函数与

6、主函数(main.c) /#include./ucos-ii/includes.h /* uc/os interface */#include ./ucos-ii/add/osaddition.h#include ./inc/drivers.h#include ./inc/lib.h/#include ./src/gui/gui.h#include #include #define adccon_flag(0x115)#define adccon_enable_start_byread(0x11)#define radccon(*(volatile unsigned *)0x58000000)

7、#define radcdat0(*(volatile unsigned *)0x5800000c)#define prscvl (496)#define adccon_enable_start (0x1)#define stdbm (0x02)#define prscen (0x114)void armtargetinit(void); void init_addevice()/初始化radccon=(prscvl|adccon_enable_start|stdbm|prscen);int getadresult(int channel) radccon=adccon_enable_star

8、t_byread|(channel3)|prscen|prscvl;hudelay(10);while(!(radccon&adccon_flag);/转换结束return (0x3ff&radcdat0);/返回采样值int main(void)int i,j;float d; armtargetinit(); / do target (uhal based arm system) initialisation /init_addevice();/printf(n);uart_printf(0,n); while(1)for(i=0; i=2; i+)/采样03路a/d值 for(j=0;j

9、=1;j+)d=getadresult(i)*3.3/1023; / 数据 采集,处理 uart_printf(0,a%d=%ft,i,d);/printf(a%d=%ft,i,d);hudelay(1000);/printf(r); uart_printf(0,r);2. 启动h-jtag 仿真器并进行初始化配置。 该过程同arm串口实验中启动h-jtag的过程一样. 3启动ewarm新建工程,将“exp2 arm a/d接口实验”中的工程文件添加到工程中并调试运行。 七、思考题 1逐次逼近型的a/d转换器原理是什么? 答:逐次逼近型模数转换器一般由顺序脉冲发生器、逐次逼近寄存器、数模转换器和电压比较器等几部分组成其原理框图如图所示: 2a/d转换的重要指标包括哪些? 答:分辨率、转换速率、量化误差、偏移误差、线性度、满刻度误差3arm的a/d功能的相关寄存器有哪几个,对应的地址是什么? 答:adc控制寄存器(adccon) 0x58000000 adc触摸屏控制寄存器(adctsc) 0x5800000a adc启动延时寄存器(adcdly) 0x5800000c adcdat0 0x5800000c adc转换数据寄存器(adccon) adcat1 0x58000010 4如何启动arm开始转换a/d,有几种方式?转换开始时arm是如何知道转换哪路通道的?如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论