ARM的AD接口实验课程设计

更新时间:2024-04-02 15:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ARM的A/D接口实验课程设计

ARM的A/D接口实验课程设计

班级: 电信091

学号: 200916022121

姓名:

指导教师: 陶福寿

日期: 2011年10月12日

1

ARM的A/D接口实验课程设计

目录

一、实验目的················································································································ 3 二、实验内容················································································································ 3 三、预备知识················································································································ 3 四、实验设备及工具···································································································· 3

硬件:ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG仿真器、

模拟电压信号源。 ································································································································· 3 软件:PC机操作系统Win2000或WinXP、EWARM集成开发环境、仿真器驱动程序、

超级终端通讯程序。····························································································· 3 五、实验原理及说明···································································································· 3

1.A/D转换器········································································································ 3 2.A/D转换的重要指标························································································ 3 六、实验步骤················································································································ 4

1.编写获取转换结果函数与主函数(main.c)··············································· 4 2. 启动H-JTAG 仿真器并进行初始化配置。···················································· 6 3.启动EWARM新建工程,将“Exp2 ARM A/D接口实验”中的工程文件添加到工程中

并调试运行。········································································································· 6 七、思考题···················································································································· 7

1.逐次逼近型的A/D转换器原理是什么?······················································· 7 2.A/D转换的重要指标包括哪些?···································································· 8 3.ARM的A/D功能的相关寄存器有哪几个,对应的地址是什么?················ 8 4.如何启动ARM开始转换A/D,有几种方式?转换开始时ARM是如何知道转换哪路通

道的?如何判断转换结束?················································································· 8

2

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上显示指定参量。

四、实验设备及工具

硬件:ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG仿真器、模拟电压信号源。

软件:PC机操作系统Win2000或WinXP、EWARM集成开发环境、仿真器驱动程序、超级终端通讯程序。

五、实验原理及说明

1.A/D转换器

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

集及许多其他领域中,A/D转换是不可缺少的。

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

1)双积分型的A/D转换器 2)逐次逼近型的A/D转换器

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

(1)分辨率(Resolution)

指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2”的比值。分辨率又称精度,通常以数字信号的位数来表示。 (2)转换速率(Conversion Rate)

指完成一次从模拟到数字的A/D转换所需的时间的倒数。积分型AfD韵转换时间是毫秒级,属低速A/D,逐次逼近型A/D是微秒级,属中速A/D,全并行/串并行

3

ARM的A/D接口实验课程设计

型A/D可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换正确完成,采样速率( 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)满刻度误差(Full Scale Error)

满度输出时对应的输入信号与理想输入信号值的差。 (6)线性度(Linearity)

实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。 其他指标还有:绝对精度( Absolute Accuracy)、相对精度(Relative Accuracy)、微分非线性、单调性和无错码、总谐波失真( Total Harmonic Distotortion,THD)和积分非线性。 不同类型的A/D转换器的结构、转换原理和性能指标方面的差异很大。表5.8列出了常用类型的AfD转换器的主要特点和应用范围。

六、实验步骤

1.编写获取转换结果函数与主函数(main.c)

//#include\//#include \#include \

#include \

//#include \#include #include

#define ADCCON_FLAG

#define ADCCON_ENABLE_START_BYREAD (0x1<<1)

#define rADCCON #define rADCDAT0

(*(volatile unsigned *)0x58000000) (*(volatile unsigned *)0x5800000C)

(0x1<<15)

#define PRSCVL (49<<6)

4

ARM的A/D接口实验课程设计

#define ADCCON_ENABLE_START (0x1) #define STDBM (0x0<<2) #define PRSCEN (0x1<<14) void ARMTargetInit(void); void init_ADdevice() {

//初始化 }

int GetADresult(int channel) { }

int main(void) {

int i,j; float d;

rADCCON=ADCCON_ENABLE_START_BYREAD|(channel<<3)|PRSCEN|PRSCVL;

hudelay(10);

while(!(rADCCON&ADCCON_FLAG)); //转换结束

return (0x3ff&rADCDAT0); //返回采样值

rADCCON=(PRSCVL|ADCCON_ENABLE_START|STDBM|PRSCEN);

ARMTargetInit(); // do target (uHAL based ARM system) initialisation // 5

ARM的A/D接口实验课程设计

init_ADdevice();

//printf(\

Uart_Printf(0,\

while(1)

{

for(i=0; i<=2; i++)

{ //采样0~3路A/D值

for(j=0;j<=1;j++)

{d=GetADresult(i)*3.3/1023; // 数据 采集,处理 }

Uart_Printf(0,\

//printf(\ hudelay(1000);

}

}

}

//printf(\ Uart_Printf(0,\

2. 启动H-JTAG 仿真器并进行初始化配置。

该过程同ARM串口实验中启动H-JTAG的过程一样.

3.启动EWARM新建工程,将“Exp2 ARM A/D接口实验”中的工程文件添加到工程中并调试运行。

6

ARM的A/D接口实验课程设计

七、思考题

1.逐次逼近型的A/D转换器原理是什么?

答:逐次逼近型模数转换器一般由顺序脉冲发生器、逐次逼近寄存器、数模转换器和电压比较器等几部分组成其原理框图如图所示:

7

ARM的A/D接口实验课程设计

2.A/D转换的重要指标包括哪些?

答:分辨率、转换速率、量化误差、偏移误差、线性度、满刻度误差

3.ARM的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. 外接用高电平触发ADCCON[0].

转换开始时ARM时知道转换哪条通道的方式:

通过对ADCCON[5:3]的未赋值来选择通道。

8

本文来源:https://www.bwwdw.com/article/asdr.html

Top