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

i2c-tops2 14104 0 (unused)

进入/host/exp/basic/05_da目录,运行./da_main,观察运行结果的正确性。 [/host/exp/basic/05_da]./da_main 0 1

五、实验结果

通过ls查看da_main

用insmod exio.o命令插入D/A驱动,并用lsmod命令查看是否已经插入。 进入/host/exp/basic/05_da目录,运行./da_main,观察运行结果如下图5.1所示,电压为1v:

图 5.1 运行da_main 输出结果

六、 思考题

1.D/A 转换器的分类。

D/A 转换器的内部电路构成无太大差异,一般按输出是电流还是电压、能否作乘法运算等 进行分类。大多数 D/A 转换器由电阻阵列和 n 个电流开关(或电压开关)构成。按数字输入 值切换开关,产生比例于输入的电流(或电压)。

? 电压输出型(如 TLC5620)

电压输出型 D/A 转换器虽有直接从电阻阵列输出电压的,但一般采用内置输出放大器以低 阻抗输出。直接输出电压的器件仅用于高阻抗负载,由于无输出放大器部分的延迟,故常 作为高速 D/A 转换器使用。

8

? 电流输出型(如 THS5661A)

电流输出型 D/A 转换器很少直接利用电流输出,大多外接电流—电压转换电路得到电压输 出,后者有两种方法:一是只在输出引脚上接负载电阻而进行电流—电压转换,二是外接 运算放大器。用负载电阻进行电流—电压转换的方法,虽可在电流输出引脚上出现电压, 但必须在规定的输出电压范围内使用,而且由于输出阻抗高,所以一般外接运算放大器使 用。此外,大部分 CMOS DA 转换器当输出电压不为零时不能正确动作,所以必须外接运算 放大器。当外接运算放大器进行电流电压转换时,则电路构成基本上与内置放大器的电压 输出型相同,这时由于在 D/A 转换器的电流建立时间上加入了运算放入器的延迟,使响应 变慢。此外,这种电路中运算放大器因输出引脚的内部电容而容易起振,有时必须作相位 补偿。 ? 乘算型(如 AD7533)

D/A 转换器中有使用恒定基准电压的,也有在基准电压输入上加交流信号的,后者由于能 得到数字输入和基准电压输入相乘的结果而输出,因而称为乘算型 D/A 转换器。乘算型 D/A 转换器一般不仅可以进行乘法运算,而且可以作为使输入信号数字化地衰减的衰减器及对 输入信号进行调制的调制器使用。 ? 一位 D/A 转换器

一位 D/A 转换器与前述转换方式全然不同,它将数字值转换为脉冲宽度调制或频率调制的 输出,然后用数字滤波器作平均化而得到一般的电压输出(又称位流方式),用于音频等场合。 2.D/A 转换器的主要技术指标。

1)分辩率(Resolution) 指最小模拟输出量(对应数字量仅最低位为‘1’)与最大量(对应数字量所有有效位为‘1’)之比。

2)建立时间(Setting Time) 是将一个数字量转换为稳定模拟信号所需的时间,也可以以为是转换时间。DA中常用建立时间来描述其速度,而不是AD中常用的转换速率。一般地,电流输出 DA建立时间较短,电压输出DA则较长。 其他指标还有线性度(Linearity),转换精度,温度系数/漂移。

3.MAX504 的特点及使用方法。 由单个5V电源供电 电压输出缓冲

内部 2.048V 参考电压 INL=0.5 LSB(MAX) 电压不随温度变化

可变的输出范围:0V~VDD,VSS~VDD 上电复位 串行输出

9

实验六:直流电机实验

一、实验目的

熟悉ARM本身自带的PWM,掌握相应寄存器的配置。 Linux下编程实现ARM系统的PWM输出,从而控制直流电机。

了解直流电机的工作原理,学会用软件的方法实现步进电机的脉冲分配。

掌握带有PWM的CPU编程实现其相应功能的主要方法。

二、实验内容

学习直流电机的工作原理,了解实现电机转动对于系统的软件和硬件要求。学习ARM PWM的生成

方法。使用Redhat Linux 9.0 操作系统环境及ARM 编译器,编译直流电机的驱动模块和应用程序。运行 程序,实现直流电机的调速转动。

三、实验设备及工具

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

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

四、实验步骤

1、编译直流电机模块

cd /arm2410s/kernel-2410s make menuconfig

进入Main Menu / Character devices 菜单,选择DC MOTOR 为模块加载:

10

编译内核模块: make dep make

make modules

直流电机模块的编译结果为:

/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o 2、编译应用程序

cd /arm2410s/exp/basic/10_dcmotor/ make

生成dcm_main 3、运行程序 在超级终端中,通过加载NFS 运行编译结果(注意:首先要设定/arm2410s 为NFS 共享目录):

mount –t nfs –o nolock 192.168.0.121:/arm2410s /host insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o cd /host/exp/basic/10_dcmotor/ ./dcm_main

程序运行结果:直流电机变速转动。 五.实验结果

11