图 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