嵌入式实验4.docx
- 文档编号:27046144
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:18
- 大小:259.82KB
嵌入式实验4.docx
《嵌入式实验4.docx》由会员分享,可在线阅读,更多相关《嵌入式实验4.docx(18页珍藏版)》请在冰豆网上搜索。
嵌入式实验4
CVT6410模数AD转换实验
一、实验目的
1.熟悉RVDS2.2开发环境。
2.掌握S3C6410内部相关寄存器的操作方法,最终实现对外部设备的控制。
3.熟悉在ARM裸机环境下的C语言编程。
4.掌握模数转换的编程方法。
二、实验内容
建立RVDS开发环境。
编写程序对模拟输入进行采集和转换,并将结果显示在超级终端上。
三、实验设备
1.硬件:
CVT6410教学实验箱、PC机;
2.软件:
PC机操作系统Windows98(2000、XP)+RVDS开发环境。
3.JLINK仿真器。
四、基础知识
1.A/D转换的基本原理
1)采样和量化
作用:
我们经常遇到的物理参数,如电流、电压、温度、压力、速度……电量或非电量都是模拟量。
模拟量的大小是连续分布的,且经常也是时间上的连续函数。
因此要将模拟量转换成数字信号需经采样——>量化——>编码三个基本过程(数字化过程)。
图5-14A/D采样示意图
采样:
按采样定理对模拟信号进行等时间间隔采样,将得到的一系列时域上的样值去代替u=f(t),即用u0、u1、…un代替u=f(t)。
这些样值在时间上是离散的值,但在幅度上仍然是连续模拟量。
量化:
在幅值上再用离散值来表示。
方法是用一个量化因子Q去度量;u0、u1、…,得到取整后的数字量。
u0=2.4Q
2Q010
u1=4.0Q
4Q100
u2=5.2Q
5Q101
u3=5.8Q
5Q101
编码:
将整量化后的数字量进行编码,以便读入和识别;
编码仅是对数字量的一种处理方法。
例如:
Q=0.5V/格,设用三位(二进编码)
u0=2.4Q
2Q
(010)
2)分类
按被转换的模拟量类型可分为时间/数字、电压/数字、机械变量/数字等。
应用最多的是电压/数字转换器。
电压/数字转换器又可分为多种类型:
按转换方式可分为:
直接转换、间接转换。
按输出方式分可分为:
并行、串行、串并行。
按转换原理可分为:
计数式、比较式。
按转换速度可分为:
低速、中速、高速。
按转换精度和分辨率可分为:
3位、4位、8位、10位、12位、14位、16位等等。
3)工作原理
类似于用天平称物体重量,设有一待测物为4.42g;满度测量量程为
,砝码种类有四种:
、
、
、
。
测量方法:
先大砝码,后小砝码,依次比较(累计比较),要的记“1”,不要的记“0”。
实测物重G为:
误差:
误差<最小砝码(最小分辨砝码)
以上过程:
①通过4次比较后,得出结果;②误差<最小砝码值;
4)逐次逼近式ADC工作原理
原理结构框图:
图5-15逐次逼近式A/D转换器原理框图
图5-16逐次逼近式A/D转换器原理框图
工作过程:
*环形计数器:
*去码/留码控制逻辑:
*逐次比较过程(完成一个A/D转换):
设
,
(n=8)
表5-24逐次逼近式ADC去码/留码控制逻辑
次数
计数器
寄存器
与
的关系
去/留码
1
10000000
10000000
留
2
01000000
11000000
留
3
00100000
11000000
去
4
00010000
11000000
去
5
00001000
11001000
留
6
00000100
11001100
留
7
00000010
11001110
留
8
00000001
11001111
留
实验相应寄存器
实验电路
实验部分程序如下:
u8ADCTS_Init(void)
{
u32uBaseAddress=0;
uBaseAddress=ADCTS_BASE;
g_pADCTSBase=(void*)uBaseAddress;
ADCTS_SetADCClearInt();
ADCTS_SetADCClearWKInt();
returnTRUE;
}
voidADC_InitADCCON(void)
{
u32uADCCONValue=0;
uADCCONValue=ADCTS_GetRegValue(eADCTS_ADCCON);
#ifRESSEL12BIT
//12-bit,EnablePrescaler,presclarvalue,Normaloperation,Disabledstartbyreadoperation
uADCCONValue=(1<<16)|(1<<14)|(ADCTS_PRSCVL<<6)|(0<<2)|(0<<1);;
#else
//10-bit,EnablePrescaler,presclarvalue,Normaloperation,Disabledstartbyreadoperation
uADCCONValue=(0<<16)|(1<<14)|(ADCTS_PRSCVL<<6)|(0<<2)|(0<<1);;
#endif
ADCTS_SetRegValue(eADCTS_ADCCON,uADCCONValue);
}
u32ADCTS_GetXPData(void)
{
u32uADCDAT0Value=0;
uADCDAT0Value=ADCTS_GetRegValue(eADCTS_ADCDAT0);
return(uADCDAT0Value&0xfff);//Supportfor12-bitbySOPon2008/03/05
//returnuADCDAT0Value;//ForonlytestbySOPon2008/05/19
}
voidADCTS_Test(void)
{
s32iSel=0;
ADCTS_Init();
UART_Printf("\n\n==================ADC/TSFunctionTest\n\n");
while
(1)
{
u32uCnt;
u32ucLoop=3000;
UART_Printf("ADCconv.freq.=%dHz\n\n",(u32)(g_PCLK/(ADCTS_PRSCVL+1.)));
ADC_InitADCCON();
while
(1)
{
for(uCnt=0;uCnt { ADC_SelectADCCh(0);//Channelsetup ADC_EnableStart(ENABLE); while(! ADC_IsAfterStartup());//Waitforbeginsampling while(! (ADC_IsEOCFlag()));//WaitfortheEOC ADC_EnableStart(DISABLE); UART_Printf("AIN[%d]: %04d",0,ADCTS_GetXPData()); UART_Printf("\n"); } UART_Printf("\n\n==按任意键继续,按q返回上级菜单! \n\n"); iSel=UART_Getc(); if(iSel=='q') return; } } } 五、实验步骤 1.准备好实验环境,将JLINK连接好。 给开发板上电,使Bootloader停在菜单处。 2.打开软件‘CodeWarriorforRVDS’,新建工程‘6410_test.mcp’,并添加两个程序文件‘adctest.c’和‘adc.c’等文件。 3.对工程文件进行相应设置 4.编译该工程,成功后将生成映像文件‘6410_test.axf’。 打开AXD,装载映像文件‘6410_test.axf’。 5.运行程序,观察结果。 六、实验结果 旋转边板的AD旋钮,查看超级终端中的AD数值变化。 7、总结 这次的实验是把模拟信号转换成数字信号,要将模拟量转换成数字信号需经采样——>量化——>编码三个基本过程。 按着三个基本过程就可以实现AD的转换。 模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。 但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。 A/D转换后,输出的数字信号可以有8位、10位、12位和16位等。 CVT6410数码管实验 一、实验目的 1.熟悉RVDS2.2开发环境。 2.掌握S3C6410内部相关寄存器的操作方法,最终实现对外部设备的控制。 3.熟悉在ARM裸机环境下的C语言编程。 4.熟悉S3C6410编程实现控制数码管显示 二、实验内容 建立RVDS开发环境。 利用控制寄存器实现对开发板上SEG数码管的控制显示。 三、实验设备 1.硬件: CVT6410教学实验箱、PC机; 2.软件: PC机操作系统Windows98(2000、XP)+RVDS开发环境。 3.JLINK仿真器。 四、基础知识 发光二极管数码显示器简称LED显示器。 LED显示器具有耗电省、成本低廉、配置简单灵活、安装方便、耐振动、寿命长等优点,目前广泛应用于嵌入式系统中。 7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法。 一般共阴极可以不需外接电阻,但共阳极接法中发光二极管必须外接电阻。 LED的结构及连接图见图3-8-1。 图3-8-1LED结构及连接图 当选用共阴极的LED显示器时,所有发光二极管的阴极连在一起接地,当某个发光二极管的阳极加入高电平时,对应的二极管点亮。 因此要显示某字形就应使此字形的相应段的二极管点亮,也就是送一个用不同电平组合代表的数据字来控制LED的显示,此数据称为字符的段码。 字符0、1、2…F与LED码段A、B、C…F以及DP(小数点)的关系如表3-8-2所示: 表3-8-2LED字符与码段对应表 字符 DP G F E D C B A 段码(共阴) 段码(共阳) 0 0 0 1 1 1 1 1 1 3FH C0H 1 0 0 0 0 0 1 1 0 06H F9H 2 0 1 0 1 1 0 1 1 5BH A4H 3 0 1 0 0 1 1 1 1 4FH B0H 4 0 1 1 0 0 1 1 0 66H 99H 5 0 1 1 0 1 1 0 1 6DH 92H 6 0 1 1 1 1 1 0 1 7DH 82H 7 0 0 0 0 0 1 1 1 07H F8H 8 0 1 1 1 1 1 1 1 7FH 80H 9 0 1 1 0 1 1 1 1 6FH 90H A 0 1 1 1 0 1 1 1 77H 88H B 0 1 1 1 1 1 0 0 7CH 83H C 0 0 1 1 1 0 0 1 39H C5H D 0 1 0 1 1 1 1 0 5EH A1H E 0 1 1 1 1 0 0 1 79H 86H F 0 1 1 1 0 0 0 1 71H 8EH - 0 1 0 0 0 0 0 0 40H BFH . 1 0 0 0 0 0 0 0 80H 7FH 熄灭 0 0 0 0 0 0 0 0 00H FFH 说明: 共阴的LED,被选中时的段为高电平有效,熄灭的段码为00H; 共阳的LED,被选中时的段为低电平有效.熄灭的段码为FFH。 2.LED显示接口 LED显示器的接口一般有静态显示与动态显示接口两种方式,下面分别加以介绍。 1)静态显示 LED数码管采用静态接口时,共阴极或共阳极点连接在一起接地或接高电平。 每个显示位的段选线与一个8位并行口线对应相连,只要在显示位上的段选线上保持段码电平不变,则该位就能保持相应的显示字符。 这里的8位并行口可以直接采用并行I/O口,也可以采用串入/并出的移位寄存器或是其它具有三态功能的锁存器等。 2)动态显示 在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制。 而共阴(或共阳)极公共端分别由相应的I/O线控制,实现各位的分时选通。 由于各个数码管是共用同一个段码输出口,分时轮流通电的,从而大大简化了硬件线路,降低了成本。 不过这种方式的数码管接口电路中数码管不宜太多,一般在8个以内,否则每个数码管所分配的实际导通时间会太少,显得亮度不足。 若LED位数较多时应采用增加驱动能力以提高显示亮度。 本实验系统中采用的是动态显示接口,其中数码管扫描控制地址为0x38007000,位0-位5每位分别对应一个数码管,将其中某位清0来选择相应的数码管,地址0x38009000为数码管的数据寄存器。 数码管采用共阳方式,向该地址写一个数据就可以控制LED的显示。 实验电路 实验程序 init.s: IMPORTMain AREA|C$$code|,CODE,READONLY globalstart start blMain END ——————————————————————————————————————— main.c /************************************************************************************** * *ProjectName: cvt6410Test * *Copyright2006bycvtech,Inc. *Allrightsreserved. * *ProjectDescription: *ThissoftwareisonlyforvalidatingfunctionsoftheS3C6410. *Anybodycanusethissoftwarewithoutourpermission. * **************************************************************************************/ #defineU8unsignedchar unsignedcharseg7table[16]={ /*01234567*/ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, /*89ABCDEF*/ 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e, }; voidmsDelay(inttime) { volatileunsignedinti,j; for(i=0;i<2000000;i++) for(j=0;j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)