ARM的AD接口实验课程设计.doc

上传人:文库蛋蛋多 文档编号:2392428 上传时间:2023-02-17 格式:DOC 页数:6 大小:166.50KB
返回 下载 相关 举报
ARM的AD接口实验课程设计.doc_第1页
第1页 / 共6页
ARM的AD接口实验课程设计.doc_第2页
第2页 / 共6页
ARM的AD接口实验课程设计.doc_第3页
第3页 / 共6页
ARM的AD接口实验课程设计.doc_第4页
第4页 / 共6页
ARM的AD接口实验课程设计.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《ARM的AD接口实验课程设计.doc》由会员分享,可在线阅读,更多相关《ARM的AD接口实验课程设计.doc(6页珍藏版)》请在三一办公上搜索。

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转换器原理是什么? 答:逐次逼近型模数转换器一般由顺序脉冲发生器、逐次逼近寄存器、数模转换

10、器和电压比较器等几部分组成其原理框图如图所示: 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. 定义与A/D转换相关的寄存器2. 定义与A/D转换相关的寄存器初始化3. RADCCON=0X1; 方式二:硬件启动1. 复位A/D转换器2. 外接用高电平触发ADCCON0. 转换开始时ARM时知道转换哪条通道的方式: 通过对ADCCON5:3的未赋值来选择通道。

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备2025010119号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000987号