收藏 分销(赏)

Linux嵌入式系统毕业论文.doc

上传人:天**** 文档编号:5154944 上传时间:2024-10-28 格式:DOC 页数:65 大小:2.40MB 下载积分:14 金币
下载 相关 举报
Linux嵌入式系统毕业论文.doc_第1页
第1页 / 共65页
Linux嵌入式系统毕业论文.doc_第2页
第2页 / 共65页


点击查看更多>>
资源描述
Linux嵌入式系统毕业论文 Linux嵌入式系统毕业论文 题 目 Linux操作系统的实时性技术研究 专 业 计算机科学与技术 系 别 计算机科学与技术 学 院 计算机科学与信息工程 摘要:信息技术的发展和Internet广泛深入的应用使嵌入式系统成为电子计算机行业的热点。嵌入式系统技术上的成就为航空航天、工业控制等技术领域上的探索提供了更加科学和有效的手段,同时也为人们的日常生活带来了更多欣喜和便利。嵌入式技术是在计算机和通信技术的基础上发展起来的,以嵌入式微处理器和嵌入式操作系统为发展核心。诸多的嵌入式操作系统中,嵌入式凭借自身硬件支持上的广泛性、开源性和可移植性等特点发展迅速。 在嵌入式技术日新月异的背景下,许多应用对于嵌入式系统的实时性提出了更高的要求,根据这一要求,本文将致力于嵌入式Linux实时性能的研究。所研究的嵌入式Linux的目标硬件平台采用基于X86体系结构的PC/104总线系统,该总线系统包括CPU模块和数据采集模块。 本文首先概括地介绍了嵌入式系统的概念及特点、PC/104总线的特点、嵌入式系统目前国内外的发展状况,在此基础上介绍了本课题的研究背景及必要性;然后对实验系统硬件平台的设计和配置做了详细介绍;接下来在分析了Linux内核关键机制后详细论述了目标系统的嵌入式Li~软件环境的构建过程,其中对符合本实验要求的Linux内核的定制和移植、根文件系统的构造、引导加载程序的写入做了详细描述。本文的重点是开发数据采集模块在自行构建的嵌入式Linux软件环境下的设备驱动,其中首先对Linux设备驱动程序作了简要介绍,然后详细描述了数据采集模块设备驱动的设计与实现过程。本文的最后通过一个基于C/S网络架构的远程数据采集程序对嵌入式Linux的实时性能作了测试和论证。 关键词:嵌入式系统、Linux、PC/104、设备驱动、实时性 目录 第一章 绪论 1.1嵌入式系统 1 1.1.1嵌入式系统的定义及特点 1 1.1.2.嵌入式操作系统 1 1.2 PC/104总线 2 1.3嵌入式操作系统国内外发展现状 2 1.4嵌入式操作系统的发展趋势 3 1.4.1.嵌入式实时超微内核 3 1.4.2.开发环境的开放性和集成化 3 1.5课题研究背景及意义 3 1.6论文的主要研究内容 3 第二章 嵌入式实验系统硬件设计与配置 2.1实验系统总览 4 2.2下位机CPU模块SCM/LX3160介绍 4 2.2.1 SCM/LX-3160的性能特点 5 2.2.2 SCM/LX-3160母板逻辑 6 2.3下位机I/O模块DIAMOND-MM-32-AT分析 7 2.3.1 DIAMOND-MM-32-AT概述 7 2.3.2 DIAMOND-MM-32-AT模拟输入的范围和分辨率 9 2.3.3 DIAMOND-MM-32-AT A/D采样模式 10 2.3.4 DIAMOND-MM-32-AT 模拟输出的范围和分辨率 11 2.3.5 DIAMOND-MM-32-AT数字I/0工作模式 12 2.4本章小结 14 第三章 嵌入式Linux软件开发环境的构建 3.1 Linux内核分析 15 3.1.1 Linux内核概述 15 3.1.2 Linux内核系统体系结构 16 3.1.3 申请内存的动态分配 16 3.1.4 Linux中断机制 17 3.1.5 Linux系统调用接口 18 3.2内核的定制 18 3.2.1内核的选择 18 3.2.2内核的裁剪和编译 20 3.3基于Busybox工具的根文件系统的搭建 27 3.3.1 Busybox简介 27 3.3.2 根文件系统的构建过程 27 3.4存储设备的准备 30 3.5引导加载程序的选择与写入 31 3.6本章总结 31 第四章 数据采集驱动程序的设计与实现 4.1 Linux设备驱动程序介绍 32 4.1.1 Linux对于设备和模块的分类 32 4.1.2 Linux设备驱动程序的作用 32 4.1.3 Linux内核与设备驱动程序的关系 33 4.2 Linux设备驱动程序中的几个重要概念 33 4.2.1 模块与应用程序 33 4.2.2内核空间与用户空间 34 4.3 DMM32驱动程序的设计与实现 34 4.3.1 DMM32设备的工作模式 34 4.3.2 DMM32驱动程序中需要加入的头文件、系统宏及全局变量 38 4.3.3Linux设备驱动程序中四个重要的数据结构 39 4.3.4 设备的初始化及释放 42 4.3.5设备的打开和关闭 43 4.3.6设备的读写 43 4.3.7 设备的模式控制 43 4.3.8 中断处理例程 46 4.3.9其它-些设置函数 48 4.4设备驱动的编译 49 4.5 DMM32设备驱动程序的使用与工作过程 49 4.5.1DMM32设备驱动的使用 49 4.5.2 DMM32设备驱动的工作过程概述 50 4.6本章总结 51 第五章 基于嵌入式Linux的实时性测试 5.1远程数据采集程序的设计与实现 52 5.1.1 Linux下的Socket编程简介 52 5.1.2远程数据采集程序流程 52 5.2远程数据采集程序的测试结果及分析 54 5.3本章小结 58 第六章 总结与展望 6.1总结 59 6.2展望 59 第一章 绪论 计算机技术、通信技术的发展以及互联网的普及使得计算机的微型化和专业化成为发展趋势。后PC时代的到来又使得以嵌入式微处理器和嵌入式操作系统为核心的嵌入式技术成为一个新的技术发展方向。嵌入式技术在飞速发展的同时也在改变着社会生产的各个行业和群众生活的各个方面,从消费电子到工业设备,从民用产品到国防军事,都能看到嵌入式技术产品的身影。嵌入式技术在工业自动化、国防、航天等领域有着突出的应用,例如宇宙飞船、火箭、导弹制导系统;在人们日常生活中随处可见的手持移动通讯设备、智能家电也都是以嵌入式系统为技术依托。 生产信息化技术与人们生活水平的提高又对嵌入式系统提出了新的要求,新一代嵌入式产品的实时性成为衡量其性能的主要指标。本文将深入研究基于开源操作系统Linux的嵌入式系统的实时性能,为嵌入式Linux的广泛应用提供论证。 1.1嵌入式系统 1.1.1嵌入式系统的定义及特点 嵌入式系统的定义有很多,下面给出两种比较合理的定义。从技术角度的定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件与硬件可裁剪,在功能、可靠性、成本、体积以及功耗方面需求严格的专用计算机系统。从系统角度的定义:嵌入式系统是完成复杂功能的硬件和软件,并使其紧密合在一起的计算机系统。 从上面的定义可知嵌入式系统是一个整体的概念,包括硬件部分和软件部分。硬件部分包括嵌入式微处理器、外围硬件设备,软件部分包括嵌入式操作系统和应用程序。 与通用计算机系统的通用性和广泛性不同,嵌入式系统是面对专业领域和特定环境的应用系统,因而嵌入式系统有其自身的特点: 1)嵌入式系统的专用性决定了其体积小、功耗低、集成度高的特点,能够把通用计算机中需要很多板卡共同完成的功能集成在嵌入式芯片内部,这使得嵌入式系统的移动性大为增强,与网络的祸合性也越来越紧密。 2)嵌入式系统的硬件和软件的设计必须遵循高效原则,根据功能量体裁衣、去除冗余,这样才能在具体应用中对处理器的选择更具有竞争力。 3)嵌入式系统中的软件通常都固化在存储器芯片或ROM中,目的是提高系统运行速度和可靠性。 4)嵌入式系统通常对实时性要求较高。 1.1.2.嵌入式操作系统 当硬件资源一定的情况下,系统性能就取决于软件。嵌入式系统发展中,嵌入式操作系统的发展也起着异乎寻常的作用。嵌入式操作系统负责全部硬件软件资源的分配、控制协调并发。随着网络技术的发展和信息家电的普及,嵌入式操作系统也从单一的弱功能性向高专业化的强功能性发展。 一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的Vxworks、QNX系统软件公司的QNX、ATI的Nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理 (PDA)、移动电话、机顶盒、WebPhone等。 Linux操作系统作为开源操作系统的杰出代表在嵌入式领域应用极为广泛,对于教学、科研具有重要的研究价值。 1.2 PC/104总线 PC/104是一种专为嵌入式系统定义的工业总线标准,因具有104个针脚而得名,其信号定义与PC/AT相同,只是机械和电气规范不同。与普通的PC总线的主要不同有以下几点: 1.小尺寸机构:标准模块的机械尺寸仅为96×90mm。 2.堆栈式连接:总线以针孔式层叠连接,即 PC104总线模块之间总线的连接是通过上层的针和下层的孔相互咬和相连,这种层叠封装有极好的抗震性。 3.轻松总线驱动:减少元件数量和电源消耗,4mA总线驱动即可使模块正常工作,每个模块1-2瓦能耗。 以上特点使得PC/104总线结构的模块特别适合嵌入式系统的开发。本实验系统中的SCM几 X3160、DIAMOND-MM-32-AT都是遵循PC/104总线标准的嵌入式设备。 1.3嵌入式操作系统国内外发展现状 各个领域对嵌入式系统实时性要求的提高也促进了各国对实时嵌入式操作系统的研发和嵌入式操作系统实时性的改进。从上世纪80年代起,美国的软件开发商就开始进行商业化的嵌入式系统和专业嵌入式操作系统的研发。经过了近三十年的发展,嵌入式操作系统的功能和结构得到了不断完善,多任务操作系统和实时性较高的操作系统正得到推广和应用。目前应用较为广泛的嵌入式实时操作系统主要有: a. Vxworks Vxworks是美国WindRiver公司在 1983年设计设计的一款嵌入式实时操作系统,具有良好的可靠性和卓越的实时性以及友好的用户开发环境,被广泛用于航空、航天、通信等对实时性要求颇高的领域 b. LynxOSLynxOS 是一个分布式的实时操作系统,提供256个全局用户线程优先级,并提供一些传统的非实时系统的服务特征。 c. RTLinuxRTLinux 是具有硬实时特性的源代码开发的多任务操作系统,由美国新墨西哥州大学研发的。它通过在Linux内核与硬件中断之间增加一个可抢占的实时内核来提高整个操作系统的实时性能。 d. RTAI 来自意大利的RTAI的设计思想源于RTLinux,RTAT在Linux内核之上定义了一个实时的硬件抽象层,实时任务通过该抽象层提供的接口与Linux内核交互。因此它在尽量少地修改Linux源代码的情况下增加了Linux的实时性能。 近几年国内的一些公司也加入了实时嵌入式操作系统的研发,推出自己的嵌入式操作系统,较为著名的有DeltaOS、 HOPEN05。DeltaOS具有高可靠性和高实时性内核DeltaCORE,嵌入式的TCP/IP协议层DeltaNET、嵌入式文件系统DeltaFILE、嵌入式图形接口DeltaGUI,同时它还支持ARM、X86、MIPS等多种嵌入式微处理器。 HOPEN05是我国具有自主知识产权的一个实时多任务操作系统,具有微内核并且用户可根据自身需要进行内核定制。目前,以上两款操作系统都广泛应用于国内外市场的消费电子、通信产品、工业控制、辅助教学等领域。 1.4嵌入式操作系统的发展趋势 1.4.1.嵌入式实时超微内核 微内核思想即将操作系统中共性的东西抽象出来构成操作系统的公共基础而操作系统的具体功能实现由微内核之外的服务器来来实现。这是一种机制与策略分离的开放性设计思路。微内核为嵌入式应用提供了一个紧凑的可抢占的基本内核代码层,并且具有良好的扩展性。 1.4.2.开发环境的开放性和集成化 嵌入式应用软件的特殊性决定要实现一个高性能的实时应用软件必须具有强有力的开发工具及环境。与实时操作系统配合的开发环境已经发展到了第三代,它以客户服务器的系统结构为基础,具有运行系统的无关性、环境的一致性等特点。 1.5课题研究背景及意义 本课题来源于某导弹控制系统的电性能检测与诊断研究课题,该课题设计到嵌入式系统的开发和应用问题,希望创建一个支持多任务操作并且具有良好实时性的嵌入式系统平台。目前该课题中使用PC/104总线标准的CPU模块和数据采集模块、X86体系结构,所采用的操作系统为单任务的DOS操作系统,所以无法实现检测中多任务的并行处理。 在上述背景下,创建一个X86体系结构下、基于PC/104总线标准、支持多任务操作并且具有良好实时性的嵌入式软件开发平台成为了本课题的出发点。上面所提到的几种实时操作系统,由于开发成本的问题予以抛弃,由于Linux的多任务、源码开放性及可裁剪定制等特点,本课题选择Linux作为实验系统的操作系统。本课题将深入研究PC/104环境下嵌入式Linux的实时性能,以说明能够在PC/104环境、X86体系结构下构建一个多任务且实时性良好的嵌入式Linux软件平台。 1.6论文的主要研究内容 本文结合嵌入式操作系统的现状及发展趋势,采用基于PC/104总线标准的硬件平台,在X86体系结构下,展开了对嵌入式Linux软件环境的构建、设备驱动程序的设计开发及应用技术的研究,主要研究内容如下: 1.系统硬件平台的设计。 2.嵌入式Linux软件开发环境的构建,包括Linux内核的简要分析、对于符合本实验系统的Linux内核的裁剪和移植、根文件系统的搭建、引导加载程序的选择与写入。 3.PC/104总线标准的数据采集模块DIAMOND-M-32-T的研究以及该硬件设备在嵌入式Linux下的驱动程序开发。 4.设计基于嵌入式Linux的网络传输应用程序,调用以上的硬件设备驱动程序,为嵌入式Linux的实时性研究提供实验验证。 第二章 嵌入式实验系统硬件设计与配置 本章将重点介绍该实验系统下位机部分的CPU模块SCM/LX3160和I/O模块DIAMOND-MM-23-AT的结构和相关性能。 2.1实验系统总览 本实验系统分为上位机和下位机两部分,上位机是普通个人电脑(PC),下位机是PC/104规范的嵌入式平台。下位机由CPU模块和I/O模块两部分组成:CPU模块SCM/LX3160是盛博公司的一款高性能的“ALL IN ONE”PC/104模块;IO模块DIAMOND-MM-32-AT是美国DIAMOND公司出品的一款PC/104规范的多功能数据采集卡。 Linux内核的裁剪移植、根文件系统的创建、引导加载程序的安装和配置工作以及设备驱动程序的编写和编译在上位机PC上进行,下位机在经过构建的嵌入式软件环境下通过网络文件系统 (Network File System,简称NFS)挂载已经编译好的设备驱动程序并运行之。系统硬件框架如图2.1所示。 图2.1系统硬件框架图 2.2下位机CPU模块SCM/LX3160介绍 SCM/LX-3160与PC/AT标准完全兼容,并遵从PC/104标准。在IBM-PC上运行的众多软件全部能在以SCM/LX-3160为基础的系统中运行。模块集成了PS/2键盘、PS/2鼠标、CRT、IDE、 USB2.0、4串一并、2个10/100BaseT以太网等接口,在极小空间里实现PC机几乎所有的功能。平板显示接口、CF卡接口、串口多种形式选择、看门狗功能等接口让设计人员更方便的实现嵌入式系统应用。 SCM/LX-3160专为嵌入式应用设计,具有低功耗、高可靠性、小体积、无风扇、宽温工作的特点,使之广泛适用于国防电子、车载系统、医疗仪器、通信、电力控制、工业现场控制、安防系统等应用中。 2.2.1 SCM/LX-3160的性能特点 SCM/LX3160采用AMD Geode LX 800 CPU,工作频率高达500MHz,具有128KB一级高速缓存和128KB二级高速缓存,在板表贴 256M RAM,以下是它的其他性能: n VGA控制器支持CRT及TFTLCD输出 n 2个 Intel 10M/100M以太网接口 n EIDE接口 n 4个串口 (COMI / 2:RS232 / 422 / 485可选;COM3 / COM4:RS232) n 一个CF卡接口(支持I型II型) n AC97兼容AUDIO n 高度紧凑的PC/104结构形式 n 支持PC/104总线 n 手动复位和蜂鸣器输出 n 在板电池,保存实时时钟 SCM/LX3160的物理特性如下: n 尺寸:90mm×96mm×15mm n 电源要求:+5V±5% n 典型功能:5W on 500MHz 工作环境: n S型:0℃~70℃;N型:-25℃~+75℃;X型:-45℃~+85℃ n 5%~95%相对湿度,无凝结 n 贮存温度:-55℃~+100℃ SCM/LX3160的许多功能是由软件而不是由硬件控制的,故该CPU板的诸多功能建立在板载标准的ROM-BIOS支持及相关的软件设置。图2.2展示SCM/LX3160的机械尺寸图。 图2.2 SCM/LX3160机械尺寸图 2.2.2 SCM/LX-3160母板逻辑 以下主要从SCM/LX-3160的CPU、内存管理、以太网控制器、中断控制器等方面介绍其物理逻辑。 1.CPU SCM/LX-3160使用的AMD Geode Lx 800 CPU是AMD公司最新一代的嵌入式低功耗1.2V处理器,具有完整的X86内核,整数运算单元使用8级流水线技术,内置一个X87兼容的浮点运算单元,两个高速缓存都包含有独立的指令Cache和数据Cache,大大提高了页地址的访问速度。其所支持的指令完全兼容INTEL公司的 Pentium Pro、AMD公司的MAD-K6指令集以及Athlon(速龙)的MMX技术。 2.内存管理 内存管理单元完全与X86体系兼容,支持TLB(虚拟地址的内置全关联系统),有两级128KB的高速缓存。内存管理支持64位宽的数据总线,支持200M、400MT/S的前端总线速度,支持PCI对主内存的访问。SCM/LX-3160在板提供 256MB DDR SRAM,不使用奇偶校验,并且模块上电时检查所有内存单元保证了其可靠性。 3.以太网控制器 SCM/LX-3160集成了两个 Intel 8255X以太网控制器,英特尔公司生产的8255X以太网控制器是一个完整集成的 10/100Base-TX LAN解决方案。它由媒体存取控制器MAC和物理层PHY接口结合成单一部件的解决方案构成。 8255X可在全双工或半双工模式下工作。在全双工模式下,8255X遵循IEEE802.3x流控制规范。8255X中的CSMA/CD单元具有802.3协议中的所有功能,例如帧格式化、帧剥离、冲突处理等;8255X中的PHY单元支持10Base-T- /100Base-TX的全双工和半双工协议。 4.中断控制器 在一般的80x86微机系统中采用8259A可编程中断控制器,每个8259A芯片管理8个中断源。在PC/AT系列兼容机中使用两片8259A芯片,共可以管理15级中断向量。 图 2.3 PC/AT微机级联式8259A中断控制系统 SCM/LX-3160带有一个与8259A等同的中断控制器。该中断控制器与PC/AT机兼 容,提供8个优先级的中断,其中有一些与模块的在板设备接口和控制器相关,有一 些可用于PC/AT扩展总线。表2.1列出了典型中断用途。 表2.1SCM/LX-3160中断使用定义 IRO 系统资源 NMI 奇偶校验错误 0 定时器 1 键盘 2 中断控制器(8259兼容) 3 串行口2、串行口4 4 串行口1、串行口3 5 PCI PnP 6 软驱接口 7 并行接口 8 实时时钟 9 PCI PnP 10 PCI PnP 11 网络控制器 12 PS/2鼠标 13 协处理器 14 EIDE 15 EIDE,如果BIOS中第二个IDE控制器禁止,IRQ15可用 以上中断定义并非不能更改,可以通过SCM/LX-3160系统启动之前长按delete键进入板卡的BIOS设置,释放其中的IRQ3、4、5、6、7、9、10、15。 2.3下位机I/O模块DIAMOND-MM-32-AT分析 2.3.1 DIAMOND-MM-32-AT概述 DIAMOND-MM-32-AT是严格符合PC/104规范的多功能数据采集卡,它的多功能体现在以下方面:它提供了32路16分辨率可编程输入通道;在FIFO操作模式下最高采样频率达200K samples/s;具有4路12位分辨率的模拟输出;用户可调节的模拟输出范围;提供31路的数字I/O;带有1个为A/D转换和中断计时提供时钟源的32位计数器/定时器和1个通用的16位计数器/定时器;此外,它还提供具有专利保护的模拟输入/输出自校准功能。具体性能特性如下: 1.模拟量输入 n 32路16位分辨率的模拟量输入通道,可以被配置为犯路单端输入或16路差分输入,再或者16路单端输入和8路差分输入; n 输入模拟量的增益、范围、极性均可编程调节; n 最高采样频率达200KHz; n 带有可存储512个样品值的FIFO降低了中断开支; n 软件控制下的输入模拟量范围自校准功能。 2.模拟量输出 n 4路12位分辨率的模拟量输出通道,最大输出电流5mA; n 全量程的多范围输出,包括单极和双极; n 可编程的量程变化范围; n 软件控制下的输出模拟量范围的自动校准功能。 3数字量的输入/输出 n 用8255集成芯片构成的24路双向数字通道 n 为增强型电流驱动配有带缓冲器的I/O n 外部数据锁存和中断操作的握手机制 n 用户可配置阻值的上下拉电阻 n 7个固定输出方向的辅助FO通道具备可编程功能 4.计数器/定时器和户JD触发器 n 1个32位的计数器/定时器用作A/D时钟和中断控制计时 n 1个16位的通用计数器/定时器 n 每个计数器/定时器都有输入可编程资源 n 允许外部A/D触发和门限输入 n 在计数器/定时器触发中断的模式下通过A/D转换脉冲输出和外部触发器实现多板的同步能力 5.其它性能 n 贮存温度:-40℃~85℃ n 单位标度不需要电位微调或用户校准 图2.4展示了DIAMOND-MM-32-AT的系统逻辑。 2.3.2 DIAMOND-MM-32-AT模拟输入的范围和分辨率 DIAMOND-MM-32-AT有着16位的A/D转换器,这也意味着这些ADC输出的数值精度可以达到1/216。16位二进制数的最大值为216-1,能够从板卡的ADC读到的直接数值为0-65535中的任一数值,所以可以勘察出的输入电压值的最小变化为模拟输入通道全量程的1/216 (l/65535)。输入电压的每一个1/216的变化都会导致ADC最后读取数据的加1/减1,这种变化也称作与1LSB有关。 1.输入的范围和分辨率 DIAMOND-MM-32-A的模拟输入电压可以是单极性也可以是双极性。有关的输入电压的信息,诸如增益、范围、极性等信息可以通过对11号寄存器的有关控制位的设置来实现。从图2.4中可以看出:在输入信号到达A/D转换器之前,经过一个可编程增益放大器,而这个增益放大电路首先要对输入电压范围进行扫面,目的是使输入信号能够更好的匹配A/D转换器从而得到更好的分辨率。本实验系统选择高增益,使得A/D转换器能够尽可能扫描到输入信号的全部范围,防止忽略掉超出正常范围的信号。A/D转换电路中还有一个内置的电平限幅器,防止选择过高的增益系数后产生过高电平或过低电平,其工作过程如下:当放大后的信号经过A/D转换器会在超高电平处和超低电平处进行电平修整(限幅)。因而在这种情况下,板卡无法真正读取输入信号的全部范围。 输入信号的多个参数如极性、范围、增益构成了一个唯一的代码值,这个代码值需要被写入到11号寄存器(模拟输入配置寄存器)才能使配置生效。表2.2展示了9种不同输入信号参数下的全量程范围和分辨率,其中的代码值为4、5、6、7的四种情况为可编程量程范围,此外代码值为9-11的三种情况等效于代码值为O-2的三种情况。 表2.2 DAMONO-MM-32-AT模拟输入电压范围的配置 代码 极性 范围 增益 全量程范围 分分辨率(1LSB) 0 双极性 5V 1 ±5V 153μV 1 双极性 5V 2 ±2.5V 76μV 2 双极性 5V 4 ±1.25V 38μV 3 双极性 5V 8 ±0.625V 19μV 4 单极性 5V 1 NULL NULL 5 单极性 5V 2 NULL NULL 6 单极性 5V 4 NULL NULL 7 单极性 5V 8 NULL NULL 8 双极性 10V 1 ±10V 305μV 9 双极性 10V 2 ±5V 153μV 10 双极性 10V 4 ±2.5V 76μV 11 双极性 10V 8 ±1.25V 38μV 12 单极性 10V 1 0~10V 153μV 13 单极性 10V 2 0~5V 76μV 14 单极性 10V 4 0~2.5V 38μV 15 单极性 10V 8 0~1.25V 19μV 2. A/D转换公式 不论输入信号的范围如何,从刀D转换器得到的16位二进制数的值都是-32768到32767之间的一个数。这是因为ADC的输入范围就被固定为±10V,所有的输入信号在达到ADC之前都被放大或转换成±1OV的范围。例如,一个范围为0-1OV的输入信号在达到ADC之前,首先会被整体降低5V变为±5V范围的信号,然后被放大2倍最终变为±1O V范围的信号。在不同的输入范围下根据得到的ADC输出值计算输入电压的方法如下: 记FS=full-scale voltage全量程范围(比如,±5V范围时FS=5V),输入电压为Vin,ADC输出值为 A/D code。 2.3.3 DIAMOND-MM-32-AT A/D采样模式 DIAMOND-MM-32-AT有多种采样模式,通过FIFO控制寄存器(Base+7)的FIFO使能位和Scan使能位及中断控制寄存器(Base+9)的A/D中断使能位的设置来实现。同时,只有当A/D中断可用时FIFO存储才可用。下面是对于该板卡的三种典型A/D工作模式的具体描述。 1.FIFO DIAMOND-MM-32-AT用一个1K字节的FIFO(First In First out先进先出)队列型缓冲区来管理户以D转换后的数据。这个缓冲区用来暂时保存A/D转换器产生的数据直到这些数据被用户程序读取。每个A/D采样数据占2个字节,因而整个FIFO最多可存512个采样数据。FIFO缓冲区的使能通过设置FIFO控制寄存器的使能位来实现。单次采样模式对FIFO的暂时存储和先进先出的特征并无要求,所以可以对FIFO不作选择。当然也可以使用FIFO,每个A/D采样数据暂存到FIFO里,当外部软件需要该数据时从FIFO中读取,此种情况下FIFO中仅存一个采样数据。故而在这种低速采样模式下,每发生一次A/D转换,用户程序就会将FIFO中的数据读出,数据采样和数据读取有着一一对应的关系,此时FIFO的内容不会溢出。 而对于高速采样模式或中断操作情况下,FIFO的使用可以让用户程序一次读取多个采样数据因而有效地降低了总线对于A心转换结束的响应频率和中断频率。此外,FIFO要求采样频率一定要超过总线上的最大中断频率,以防用户程序读取空数据。一般来讲,ISA总线的允许的最大中断频率为40KHz。由于DIAMOND-MM-32-AT的最大采样频率为40KHz,所以在高速采样模式下FIFO要求降低最大中断频率。在中断操作模式下,中断处理例程每一次运行都会将FIFO中的数据全部读走,于是有公式2.4。 其中,fint为中断频率,fs为采样频率,n为每次中断读取的采样数据的个数,通过FIFO深度控制寄存器(Base+6)对n进行设置。在本实验系统中,使用了DIAMOND-MM-32-AT、对n的默认设置一一FIFO深度的一半即256。因此,在任何操作系统之下该板卡的最高中断频率被降低为781Hz。 如果Scan和FIFO都可用,那么当FIFO达到软件设定的阈值时产生中断,然后中断处理例程从FIFO中读取指定数量的采样数据,即便采样数据的数量不是所扫描通道个数的整数倍也是如此。比如,扫描通道的个数设定为10、FIFO阈值设定为256,那么当发生第一次中断时中断处理例程将会从FIFO中读取256个采样数据,这包括对10个通道的25次完整扫描和第26次扫描中的前6个通道的采样数据,当下一次中断发生时,中断处理例程又会继续读取第26次扫描中剩下的4个采样数据及接下来25次完整扫描的数据和2个下一次扫描中的数据。 2.Scan扫描采样 扫描指的是对于多个连续通道顺序地快速采样。比如,每秒钟扫描一次并同时对0-15号通道进行采样(扫描频率为1Hz),每次A/D时钟脉冲(软件命令/定时器/外部触发器)到来,16个通道就被进行一次性地快速采样。每次的扫描间隔为5-2μs。因为每个A/D时钟触发对全部选通通道的采样,所以每个通道的采样频率等于扫描频率,并且总采样频率等于扫描频率乘以选通通道数。 Scan扫描操作和FIFO操作是相互独立的,可以同时有效,亦可单独有效。 3.顺序连续采样 在顺序连续采样中,每个A/D时钟脉冲只会触发当前通道的一次A/D转换,因此设置了一个通道计数器。如果选通通道范围为 1(high channel=low channel),那么时钟脉冲的到来只会触发对当前输入通道采样数据的A/D转换;而如果选通通道范围大于1(high channel>low channel),当前通道的A/D转换结束后通道计数器从低通道向高通道方向移动,最高通道的A/D转换完成后通道计数器会复位至最低通道等待下一轮转换。表2.3展示了每种模式的配置和描述。 表2.3 DIAMONO-MM-32-AT A/D采样模式设置及描述 Scan FIFO 中断 模式 描述 否 否 否 单次采样 这是最基本的一种采样模式,用于软件控制下的采样频率要求精确度不高或者外部信号控制下速率低的情况下的低于100Hz的低速采样。一次采样一个通道或多个通道。 是 否 否 扫描采样 用于软件或外部信号控制下的低于I00Hz的连续采样,扫描采集多个连续通道的信号,单次扫描内采样间隔为5-20μs不等,扫描间隔可长可短依赖于软件或外部触发器。高于100Hz的扫描采样一般采用中断模式。 否 否 是 单次中断采样,低速 用于采样频率低于100Hz但精度要求高的单通道或多通道随机采样的情况,采样时钟来自板载计数器/定时器或外部时钟源,每次采样间隔相同。 是 否 是 扫描中断 用于多个通道的采样速率可控的低速采样情况,每个通道的采样频率小于500Hz。每次采样动作包括对所有通道的连续快速扫描和采样,扫描间隔取决于采样频率。 否 是 是 单次中断采样,高速 用于中高速采样(大于500Hz),最高支持板卡的最大采样频率200kHz。采样频率也可根据需要适当降低,采样时钟来自板载计数器/定时器或外部时钟源。 是 是 是 扫描中断采样 用于扫描速率和采样频率较高的多通道采样的情况,采样时钟同样来自板载计数器/定时器或外部时钟源。 2.3.4 DIAMOND-MM-32-AT 模拟输出的范围和分辨率 DIAMOND-MM-32-AT提供了4路12位分辨率的模拟输出通道,12位二进制数的最大值为212-1即4095,故而允许写入模拟输出端口的数值范围为0-4095。12位DAC的最小精度是全量程输出范围的1/4096,每个微小的改变称为1LSB,有如下等式: 1LSB=最大电压幅值/4096 例如:输出电压范围=±5V,则有, 最大电压幅值=10V; 1LSB=10/4096=2.44mV。 此外,DIAMOND-MM-32-AT的D/A转换芯片需要两个参考电压,一个是对于最高电压的参考,另一个是对最低电压的参考。并且电压输出范围一旦设定,所有的模拟输出通道都遵循同一个范围。板卡加电后,各DAC自动复位至电压输出范围的中值。 2.3.5 DIAMOND-MM-32-AT数字I/0工作模式 DIAMOND-MM-32-AT包含两组数字I/O线路,分别如下: n 内部82C55数字I/O电路提供的24路数字I/O线路,这些线路是对8255芯片模式0和模式1功能的仿真,它为输出模式提供外部驱动的缓冲。板卡的J4部分就是对此24路数字I/O的接口。 n 板卡的J3部分包含的4路输入和3路输出既可被用于通用数字I/O,亦可定义成特殊用途。 1. J4提供的主数字I/O:内部82C55电路。 对于82C55电路提供的数字帕是通过对Page1的4个寄存器(Base+12至Base+15)来访问的。82C55芯片的地址0就等效于该板卡上的Base+12。在对数字I/O访问之前,首先要设置复合控制寄存器(Base+8)使Page1为当前页,以便访问与各DAC对应的寄存器。在使用Base+l2至Base+15寄存器之前,首先要在复合控制寄存器(Base+8)和页控制寄存器(Base+7)对页进行设置使Page1成为当前页。 此种数字I/O的功能类似于82C55的模式O的直接I/O和模式1的锁存I/O。在模式1中,添加了锁存和握手通知信号。J4部分的A、B、C三个口的输入输出都是可通过编程控制的。此外C口可以被分割成两个部分(CO~C3,C4~C7),每个部分的输入输出方向的设置都是独立的。 J4上的24路数字I/O都外接有4.7kΩ价作为上下拉电阻,保证各线路处于电平的稳定状态。同时,每条线路在8255控制芯片与FO针脚之间都有一个74FCT245芯片作为数据缓冲区和线路驱动。这些线路驱动能够根据写入的控制字而改变输入输出方向。板卡加电后,所有的端口被默认设置为输入模式,如果某个端口需要改变为输出模式,需要在Base+l5中修改相应控制位。图2.5展示了82C55电路的寄存器描述。 图2.5 DAMOND-MM-32-AT 内部82C55电路中寄存器描述 Base + n D7 D6 D5 D4 D3 D2 D1 D0 12,Read/write A7 A6 A5 A4 A3 A3 A1 A0 13,Read/write B7 B6 B5 B4 B3 B2 B1 B0 14,Read/write C7 C6 C5 C4 C3 C2 C1 C0 15,write only 1 ModeC ModeA DirA DirCH ModeB DirB DirCL 2.各端口的工作模式描述:模式O和模式1 (l)模式O为基本的输入输出模式,有以下特性: n 任何端口都具有输出及输入功能。 n 输出时各Port均有锁定功能,能将信号锁定在最后一次的输出状态上。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服