嵌入式系统技术实验报告 下载本文

图 2.1 多线程实验结果截图

实验四: A/D 接口实验

一、实验目的

了解在linux环境下对S3C2410芯片的8通道10位A/D的操作与控制。

二、实验设备及工具

UP-NETARM2410-S嵌入式实验平台、PC机Pentium 500以上,硬盘10G以上。 PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX 开发环境

三、实验内容

学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求。阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口。利用外部模拟信号编程实现ARM循环采集全部前4路通道,并且在超级终端上显示。

四、实验步骤

1、阅读理解源码

进入/arm2410s/exp/basic/04_ad目录,使用vi编辑器或其他编辑器阅读理解源代码。

2、编译应用程序

运行make 产生ad 可执行文件

[root@zxt /]# cd /arm2410s/exp/basic/04_ad/

4

[root@zxt 04_ad]# make [root@zxt 04_ad]# ls

ad hardware.h main.o Makefile.bak s3c2410-adc.h bin main.c Makefile readme.txt src 3、下载调试

换到minicom 终端窗口,使用NFS mount 开发主机的/arm2410s 到/host 目录。 telnet 192.168.0.115 root

[/mnt/yaffs] mount -t nfs -o nolock 192.168.0.56:/arm2410s /host [/mnt/yaffs]cd ad

[/mnt/yaffs/ad]insmod s3c2410-adc.o [/mnt/yaffs]cd /host/exp/basic/04_ad/ [/host/exp/basic/04_ad]./ad 本实验运行结果如下图4.1所示

图 2.1 A/D 接口实验运行结果

六、思考题

1.ARM的A/D功能的相关寄存器有哪几个,对应的地址是什么?

5

2.如何启动ARM开始转换A/D,有几种方式?转化开始时ARM是如何知道转换哪些通道的?如何判断转换结束?

6

答:方式一:软件启动

1) 定义与A/D转换相关的寄存器

2) 定义与A/D转换相关的寄存器初始化 3) RADCCON=OX1

方式二:硬件启动

1) 复位A/D转换器

2) 外界用高电平触发ADCCON[0]

转换开始时知道转换哪通道的方式,通过对ADCCON[5:3]的为赋值来选择通道。

实验五:D/A 接口实验

一、实验目的

掌握MAX504 D/A转换芯片的使用方法

掌握不带有D/A的CPU扩展D/A功能的主要方法 了解D/A驱动程序加入内核的方法

二、实验仪器

硬件:UP-NETARM2410-S嵌入式实验平台、PC机。

软件:PC 机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境

三、实验内容

了解实现D/A系统对于系统的软件和硬件要求。阅读MAX504芯片文档,掌握 其使用方法。

四、实验步骤

1. 阅读理解源码

进入/arm2410s/exp/basic/05_da目录,使用vi编辑器阅读理解源代码。 2. 编译应用程序

运行make 产生da 可执行文件da_main

[root@zxt /]# cd /arm2410s/exp/basic/05_da/ [root@zxt 05_da]# make [root@zxt 05_da]# ls

da_main da_main.c da_main.o doc drivers Makefile s3c44b0-spi.h 3. 下载调试

切换到minicom终端窗口,使用NFS mount开发主机的/arm2410s到/host目录,然后进入/host/exp/05_da/drivers目录,用insmod exio.o命令插入D/A驱动,并用lsmod命令查看是否已经插入。

[/mnt/yaffs]cd /host/exp/basic/05_da/ [/host/exp/basic/05_da]cd drivers/

[/host/exp/basic/05_da/drivers]insmod exio.o Using exio.o

[/host/exp/basic/05_da/drivers]lsmod Module Size Used by Not tainted exio 2384 0 (unused)

7