嵌入式系统应用教程 中国通信学会普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 赵宏 王小牛 任学惠 第十一章

上传人:E**** 文档编号:89410322 上传时间:2019-05-24 格式:PPT 页数:64 大小:1.27MB
返回 下载 相关 举报
嵌入式系统应用教程 中国通信学会普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  赵宏 王小牛 任学惠 第十一章_第1页
第1页 / 共64页
嵌入式系统应用教程 中国通信学会普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  赵宏 王小牛 任学惠 第十一章_第2页
第2页 / 共64页
嵌入式系统应用教程 中国通信学会普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  赵宏 王小牛 任学惠 第十一章_第3页
第3页 / 共64页
嵌入式系统应用教程 中国通信学会普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  赵宏 王小牛 任学惠 第十一章_第4页
第4页 / 共64页
嵌入式系统应用教程 中国通信学会普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  赵宏 王小牛 任学惠 第十一章_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《嵌入式系统应用教程 中国通信学会普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 赵宏 王小牛 任学惠 第十一章》由会员分享,可在线阅读,更多相关《嵌入式系统应用教程 中国通信学会普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 赵宏 王小牛 任学惠 第十一章(64页珍藏版)》请在金锄头文库上搜索。

1、第11章 基础实验,本章首先通过实验让学生熟悉Linux系统下嵌入式开发的过程,进而掌握多线程程序设计的基础,然后介绍了嵌入式开发所涉及的串口、A/D及D/A接口、CAN总线、RS-485通信、直流电机和LED的工作原理及编程方法,每个实验的设计都有不同的针对性,以便读者掌握嵌入式开发的基础知识。,目 录,11.1 熟悉Linux开发环境,11.2 多线程应用程序设计,11.3 串行端口程序设计,11.4 A/D 接口实验,11.5 D/A 接口实验,11.6 CAN 总线通讯实验,11.7 RS-485 通讯实验,11.8 直流电动机实验,11.9 7段LED和点阵式LED实验,11.1.1

2、 实验目的 熟悉Linux开发环境,掌握Linux下的编程方法和编译过程,以及ARM开发板的使用和开发环境的设置,使用NFS将上位机上编译好的文件下载到下位机上运行,了解嵌入式开发的基本过程。 11.1.2 实验设备 1台已安装Linux的PC机作为宿主机(上位机),1台已烧写ARM Linux的博创经典UP-TECH-S2410/P270-DVP实验箱作为目标板(下位机)。,11.1 熟悉Linux开发环境,11.1.3 实验内容 本次实验使用Redhat Linux 9.0操作系统,学习Linux下的C语言编程、编译及运行过程,在上位机的“/labs”目录下,创建一个新目录,如Lab01,

3、然后在该目录下编写以下三个C语言程序及相应的Makefile文件。 1使用输出函数printf显示一串提示信息“Hello,welcome to embedded world!”,源文件可命名为“hello.c”; 2使用包含在time.h中的三个函数gmtime、time、asctime显示当前的日期和时间,可将源文件命名为“showtime.c”; 3使用C语言中的流文件操作函数,编程显示一个文本文件的内容,可将源文件命名为“cat_txt.c”; 在上位机上使用“make”编译调试源程序,然后使用NFS方式连接上位机和下位机,在下位机上运行程序查看结果。,11.1.4 实验步骤 三个C语

4、言程序的编辑、编译及运行过程类似,故本次实验以“hello.c”为例,介绍相关步骤: 1编辑源程序 2编写Makefile文件 3编译应用程序 4下载调试 11.1.5 习题 1Makefile是如何工作的?其中的宏定义分别是什么意思? 2嵌入式开发的基本过程有哪几步?,11.2 多线程应用程序设计,11.2.1 实验目的,掌握Linux系统下多线程程序设计的基本原理和API,分析求解生产者-消费者问题的实例程序“pthread.c”的源代码,理解多线程间的资源竞争、共享和同步,学习pthread库函数的使用。,11.2.2 实验设备,1台已安装Linux的PC机作为宿主机(上位机),1台已烧

5、写ARM Linux的博创经典UP-TECH-S2410/P270-DVP实验箱作为目标板(下位机)。,11.2.3 实验内容,1分析 “pthread.c”的源代码,掌握几个重要的pthread库函数的使用; 2掌握互斥锁、条件变量和信号量的使用方法; 3运行“make”产生可执行文件“pthread”,使用NFS方式连接上位机和下位机,运行程序查看结果。,11.2.4 多线程程序设计,学习多线程程序设计相关的知识,了解生产者-消费者问题。,11.2.5 实验步骤,1使用命令“cd /labs/Lab_2”进入上位机多线程实验目录,使用vi 编辑器阅读理解源代码,运行“make”产生“pth

6、read”可执行文件。 2切换到下位机的minicom 终端窗口,使用NFS mount 上位机的“/labs”目录到下位机“/host”目录。进入下位机的“/host/ Lab_2”目录,运行“./pthread”,查看运行结果。,11.2.6 习题,1在生产者-消费中实例中,加入一个新的线程用于处理键盘的输入,并在按键为ESC时钟指所有线程。 2使用信号量控制方式编写多线程程序,设4个线程,其中两个线程负责从文件中读取数据到公共的缓冲区,另两个线程从缓冲区读取数据做不同的处理(加和乘运算)。 3线程的优先级的控制。,11.3 串行端口程序设计,11.3.1 实验目的,掌握ARM的串口工作原

7、理,学习串口的主要属性及设置方法,熟悉I/O函数的使用,学习使用多线程来完成串口的收发处理,学习编程实现ARM的UART通信及利用串口通信的方法。,11.3.2 实验设备,1台已安装Linux的PC机作为宿主机(上位机),1台已烧写ARM Linux的博创经典UP-TECH-S2410/P270-DVP实验箱作为目标板(下位机),11.3.3 实验内容,1学习串行通信原理,了解串行通信控制器; 2读懂串口编程实例的源代码,学习终端I/O 函数的使用方法; 3学习将多线程编程应用到串口的接收和发送程序设计中,利用串口,将宿主机上某个文本文件内容传输给开发板,输出显示。,1异步串行通信 学习异步串

8、行通信的基本概念,掌握串行接口标准; 2串行接口及其编程技术 了解S3C2410的串行接口,学习串口编程技术,通过实例掌握串口编程方法。,11.3.4 实验原理,1使用命令“cd / labs/Lab_3”进入实验目录,使用vi编辑器阅读理解源代码“term.c”。 2运行“make”命令产生“term”可执行文件。 3切换到下位机的minicom窗口,使用NFS挂载命令将上位机的“/ labs”挂载到下位机的“/host”目录。 4进入“/host/Lab_3”目录,运行“./term”命令,查看运行结果。,11.3.5 实验步骤,11.4 A/D 接口实验,11.4.1 实验目的,熟悉S3

9、C2410芯片的8通道10位A/D控制器及相应寄存器,了解Linux环境下对A/D操作与控制方法,编程实现ARM系统的A/D功能。,11.4.2 实验设备,1台已安装Linux的PC机作为宿主机(上位机),1台已烧写ARM Linux的博创经典UP-TECH-S2410/P270-DVP实验箱作为目标板(下位机),11.4.3 实验内容,1学习A/D转换接口原理,了解实现A/D转换所需的系统软、硬件要求。 2阅读ARM 芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM 系统硬件的A/D 相关接口。 3利用外部模拟信号编程实现ARM循环采集02路通道,并且在超级终端上显示。,1A/D 转

10、换器 A/D 转换器是模拟信号源和CPU 之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。在工业控制和数据采集及许多其他领域中,A/D转换是不可缺少的。 (1)双积分型的A/D转换器,11.4.4 实验原理,(a)电路工作原理图 (b)双积分图示 图11-9 双积分型的A/D转换器,(2)逐次逼近型的 A/D 转换器 逐次逼近型A/D 转换器工作原理是:将被测电压和由D/A转换生成的电压进行比较,用对分搜索的方法来逐次逼近被测电压。 原理框图如11-10(a)所示,电路内部由4个部分组成:逐次逼近寄存器SAR、D/A转换器、电压比较

11、器和控制逻辑电路。它的实质是逐次把设定的SAR 寄存器中的数字量经D/A 转换后得到电压Vc 与待转换模拟电压V,进行比较。,(a) 逐次逼近式A/D转换器原理框图 (b)逐次逼近式A/D转换过程 图11-10 逐次逼近式A/D 转换器,比较时,先从SAR 的最高位开始,逐次确定各位的数码应是“1”还是“0”,其工作过程如下: 转换前,先将SAR 寄存器各位清零。转换开始时,控制逻辑电路先设定SAR 寄存器的最高位为“1”,其余位为“0”,此试探值经D/A 转换成电压Vc,然后将Vc 与模拟输入电压Vx 比较。 如果VxVc,说明SAR 最高位的“1”应予保留; 如果VxVc,说明SAR 该位

12、应予清零。 然后再对SAR 寄存器的次高位置“1”,依上述方法进行D/A 转换和比较。如此重复上述过程,直至确定SAR 寄存器的最低位为止。过程结束后,状态线改变状态,表明已完成一次转换。,最后,逐次逼近寄存器SAR 中的内容就是与输入模拟量V 相对应的二进制数字量。 显然A/D转换器的位数N 决定于SAR 的位数和D/A 的位数。图11-10 (b)表示四位A/D 转换器的逐次逼近过程。转换结果能否准确逼近模拟信号,主要取决于SAR 和D/A 的位数。位数越多,越能准确逼近模拟量,但转换所需的时间也越长。,2A/D 转换的重要指标 (1)分辨率(Resolution) 分辨率反映A/D 转换

13、器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的模拟输入的电平值表示。n位A/D 能反应1/2n 满量程的模拟输入电平。由于分辨率直接与转换器的位数有关,所以一般也可简单地用数字量的位数来表示分辨率,即n 位二进制数,最低位所具有的权值,就是它的分辨率。 (2)精度(Accuracy) 精度有绝对精度(Absolute Accuracy)和相对精度(Relative Accuracy)两种表示方法。 绝对误差:在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非是一个常数。我们把它们之间的差的最大值,定义为“绝对误差”。通常以数字量的最小有效位(LS

14、B)的分数值来表示绝对误差,例如: 1LSB 等。绝对误差包括量化误差和其它所有误差。 相对误差:是指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示。 例如,满量程为10V,10 位A/D 芯片,若其绝对精度为 1/2LSB,则其最小有效位的量化单位:9.77mV,其绝对精度为4.88mV,其相对精度为0.048%。 (3)转换时间(Conversion Time) 转换时间是指完成一次A/D 转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。转换时间的倒数称为转换速率。例如AD570 的转换时间为25us,其转换速率为4

15、0KHz。,(4)电源灵敏度(power supply sensitivity) 电源灵敏度是指A/D 转换芯片的供电电源的电压发生变化时,产生的转换误差。一般用电源电压变化1时相当的模拟量变化的百分数来表示。 (5)量程 量程是指所能转换的模拟输入电压范围,分单极性、双极性两种类型。 例如,单极性 量程为0+5V,0+10V,0+20V;双极性 量程为-5+5V,-10+10V。 (6)输出逻辑电平 多数A/D 转换器的输出逻辑电平与TTL 电平兼容。在考虑数字量输出与微处理的数据总线接口时,应注意是否要三态逻辑输出,是否要对数据进行锁存等。 (7)工作温度范围 由于温度会对比较器、运算放大

16、器、电阻网络等产生影响,故只在一定的温度范围内才能保证额定精度指标。一般A/D 转换器的工作温度范围为(0700C),军用品的工作温度范围为(-55+1250C)。,3ARM 自带的10位A/D 转换器 (1)ARM S3C2410的A/D转换器 ARM S3C2410 芯片自带一个路10 位A/D 转换器,并且支持触摸屏功能。ARM2410 开发板只用作3 路A/D 转换器,其最大转换率为500K,非线性度为正负.5 位,其转换时间可以通过下式计算:如果系统时钟为50MHz,比例值为49,则: A/D转换器频率=50 MHz/(49+1)=1MHz 转换时间=1/(1 MHz / 5cycles) = 1/200 kHz(相当于5us)= 5 us A/D转换的数据可以通过中断或查询的方式来访问,如果使用中断方式,全部的转换时间(从A/D转换的开始到数据读出)要更长。如果是查询方式,则要检测ADCCON15(转换结束标志位)来确定从AD

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号