通信技术课程设计-基于ARM嵌入式系统的无线数据采系统设计.doc_第1页
通信技术课程设计-基于ARM嵌入式系统的无线数据采系统设计.doc_第2页
通信技术课程设计-基于ARM嵌入式系统的无线数据采系统设计.doc_第3页
通信技术课程设计-基于ARM嵌入式系统的无线数据采系统设计.doc_第4页
通信技术课程设计-基于ARM嵌入式系统的无线数据采系统设计.doc_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计(论文)课程设计(论文) 课程名称: 通信技术课程设计 题 目: 基于 arm 嵌入式系统的 无线数据采集系统设计 院 (系): 专业班级: 姓 名: 学 号: 指导教师: 2011 年 12 月 2 日 西安建筑科技大学西安建筑科技大学课程设计(论文)任务书课程设计(论文)任务书 专业班级: 学生姓名: 指导教师(签名): 一、课程设计(论文)题目一、课程设计(论文)题目 基于arm嵌入式系统的无线数据采集系统设计 二、本次课程设计(论文)应达到的目的二、本次课程设计(论文)应达到的目的 设计一个基于arm嵌入式系统的无线数据采集系统 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术 参数、设计要求等)参数、设计要求等) 设计一个基于arm嵌入式系统的无线数据采集系统。系统的设计应分为系统 的 工作原理、接口原理、软件和硬件部分。主要包括数据采集、接收,硬件接口的设 计等方面。通过这些组成部分的设计,最终实现数据的无线采集。 四、应收集的资料及主要参考文献:四、应收集的资料及主要参考文献: 1 李朝青. 无线发送/接收ic 芯片及其数据通信技术选编m . 北京: 北京航空 航天大学出版社,2003. 2 贾爱琴. ads 774 在烟支重量检测系统中的应用j . 现代电子技术,2003 (7) :82 284. 3 杜春雷.arm 体系结构与编程.北京:清华大学出版社,2003.02 4 管耀武 杨宗德. arm嵌入式无线通信系统开发实例精讲.电子工业出版社. 2006 五、审核批准意见五、审核批准意见 教研室主任(签字)教研室主任(签字) 西安建筑科技大学课程设计(论文论文) 摘 要 嵌入式系统作为计算机应用的一个新领域,凭借其高稳定性,高效率等优点越 来越多的应用到各个方面,以嵌入式系统为平台的数据采集系统可实现高采样频率, 高数据传输速率,并可以实现对数据的高速缓存。本课题在嵌入式系统的基础上, 详细描述了基于arm的无线数据采集系统的硬件与软件实现,并给出了一定的实验 数据结果,最后进行对系统进行了调试,对课题进行了总结。 关键词关键词:arm;s3c2440;嵌入式系统;数据采集 西安建筑科技大学课程设计(论文论文) abstractabstract embedded system,as a new area of computer applications,with its high stability,high efficiency can be applied to various fieldsembedded system as aplatform for data acquisition can achieve high sampling frequency,high data transfer rate,and the implementation of data cachei introducted a arm-based wireless data acquisition system hardware structure and software implementation,given some test data,finally summarize system characteristics. keywordskeywords:arm;s3c2440;embeded system;data acquisition 西安建筑科技大学课程设计(论文论文) 目 录 一 引言 .1 1.1 课题背景1 1.2 相关概念2 1.3 课题意义.2 1.4 报告内容安排.3 二 嵌入式系统简介 .4 2.1 嵌入式系统的特点4 2.2 嵌入式操作系统6 三 系统硬件设计 .13 3.1 arm 处理器简介.14 3.2 基于单片机数据采集模块.15 3.3 无线数据收发模块.16 四 系统软件设计 .18 4.1 wince 应用程序设计18 4.2 基于单片机数据采集模块程序设计.25 4.3 无线收发模块程序设计.27 4.4 上位机应用程序设计.28 4.5 系统调试.30 五 总结 .31 参考文献 .32 西安建筑科技大学课程设计(论文论文) - 1 - 一 引 言 1.1 课题背景 伴随着计算机技术的迅速发展,工业数据采集与控制系统已由传统 的测控电路发展为由微型计算机、接口电路、外部通用设备和工业生产 对象等组成的现代数据采集与控制系统。但是以微型计算机为核心平台 的数据采集和控制系统也逐渐暴露出许多缺陷:工业环境一般条件恶劣, 而微型计算机的防尘、防震等功能较差;体积大,不易携带使用;扩展 性差、成本高等。因此,以嵌入式系统为平台的无线数据采集系统就应 运而生了。嵌入式数据采集系统具有以下特点 (1)可靠性高。嵌入式系统大都是芯片等部件,与计算机系统的硬盘、扩 展卡相比,具有防震、防尘优点:程序固化在 flash/rom 中,不易破坏; 硬件集成度高,使系统整体可靠性大大提高。 (2)体积小。由于高端微型处理器甚至 soc 的应用,嵌入式系统的体积不 断减小,直接影响数据采集与控制系统的体积,从而形成便携式系统, 携带和使用非常方便。 (3)易扩展、功能强。嵌入式数据采集与控制系统很容易扩展出输入/输 出(i/o)接口,实现各种功能。 (4)开发周期短、成本低。嵌入式系统开发的数据采集与控制系统,周期 短、成本低,具有微机工业控制系统无法比拟的优势。 随着后 pc 时代的到来,现代工业数据采集系统已经从传统电路、微 机模式走进了嵌入式系统模式,嵌入式系统在工业数据采集系统中起着 不可替代的作用。在许多数据采集环境中,我们无法对采集系统进行现 场控制,这就需要我们把需要的数据采集并存储于如 sd(secure digital)卡、cf(compactdigital)卡中。随着无线通信技术的发展,远 西安建筑科技大学课程设计(论文论文) - 2 - 距离大数据量的数据传输己成为可能,这样把先进的无线通信技术应用 到工业采集控制系统上,可以对系统进行实时的监控。 1.2 相关概念 1.2.1 嵌入式系统的概念 所谓嵌入式系统(embedded system),实际上是“嵌入式计算机系统” 的简称,它是相对于通用计算机系统而言的。根据电气工程师协会(ieee) 的定义,嵌入式系统是用来控制或监视机器、装置或工厂等大规模系统 的设备。这个定义是从应用方面考虑的,国内一般定义为:以应用为中 心,以计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对 功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 1.2.2 数据采集技术的概念 数据采集与控制技术是信息科学的重要分支之一,它研究信息数据 的采集、存储、处理以及控制等问题。它是以传感器信号的测量与处理, 以微计算机等高技术为基础形成的综合应用技术,随着计算机技术在工 业监测、控制和管理等方面的广泛应用,数据采集和控制技术就成为这 些实际应用系统的一个重要组成部分。数据采集与控制技术的硬件主要 包括传感器、采集器、转换器、显示器、致动器和计算机等。软件主要 包括通用软件和测控软件等。它们可以根据实际任务的需要组成不同用 途不同规模的测控自动化系统。这种系统可为农业、工业、国防和科学 技术实现现代化做出重要贡献。 1.3 课题意义 在由单片机和微型计算机组成的工业数据采集和控制系统中,计算 机与计算机、计算机与单片机之间经常需要进行数据交换。由于许多数 据采集系统都是针对自己特定的应用领域而建立的,因此,数据采集与 控制系统的应用范围就受到很大的限制。而本文基于嵌入式系统 arm 平 西安建筑科技大学课程设计(论文论文) - 3 - 台的设计方法,能够使数据采集与控制系统的应用范围进一步扩大,具 有较高的通用性,并且在采用实时操作系统后,部分功能的改变只需要 添加或删除相关的任务代码,不必对整个系统进行大的改动,在系统的 实时性和可靠性方面也具备了很强的优势。有助于将传统的数据采集系 统推向于高准确性,高实时性,小型化,智能化的新型发展平台。由于 嵌入式操作系统具有可裁剪性和可移植性,又使得本系统具备了功能强 大,性能稳定,可视化,接口简单等特点。凭借嵌入式处理器卓越的数 据采集与控制能力,在工业领域必然有着更为广阔的应用空间。并同时 本文提出的架构和设计原则对基于嵌入式系统平台的其他功能模块的设 计和实现也有一定的指导意义。 1.4 报告内容安排 本文的研究方向是基于 arm9 的嵌入式数据采集系统,该系统完成数 据的采集、存储和发送。主要研究内容包括以下几个方面: 第 l 章 引言 主要介绍课题的研究背景和意义,并对嵌入式系统和数据 采集的概念、特点及组成作了阐述,同时对采用嵌入式进行数据采集的 优点作了阐述。 第 2 章 主要从系统要实现的功能出发,对嵌入式操作系统作了介绍。 第 3 章 是系统的硬件设计,对三个部分的功能详细论述。 第 4 章 是系统的软件设计,本章详细论述了四个软件部分。 第 5 章 总结 西安建筑科技大学课程设计(论文论文) - 4 - 二 嵌入式系统 嵌入式系统在工业领域越来越广泛应用已经是不争的事实,而选择 合适的嵌入式操作系统是保证整个数据采集系统性能与稳定性的关键。 目前市场上的嵌入式操作系统主要有:wince、embedded xp、windows mobile、linux、vxworks、qnx、palm os等等。其中wince是微软推出一 款功能强大的嵌入式实时操作系统,凭借其高性能,高实时,界面风格 与windows保持一制等特点,使其广泛应用于各种智能手提便携式以及数 据采集仪器中。 2.1嵌入式系统的特点 嵌入式系统本身是一个相对模糊的定义。根据ieee(国际电机工程师 协会)的定义,嵌入式系统是“控制、监视或者辅助操作机器和设备运行 的装置”目前国内一个普遍被认同的定义是:以应用为中心、以计算机 技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、 体积、功耗严格要求的专用计算机系统。按照以上定义,嵌入式系统是 指不同于常见计算机系统的一种系统,它不以独立设备的物理形态出现, 即它没有一个统一的外观,它的部件根据主体设备以及应用的需要嵌入 在设备的内部,发挥着运算、处理、存储以及控制作用。从体系结构上 看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。其 中嵌入式处理器通常是单片机或微控制器:硬件通常包括微处理器、存 储器、外部设备和加端口、图形控制器等等。软件部分包括操作系统软 件(要求实时和多任务操作)和应用程序编程。应用程序控制着系统的运 作和行为,而操作系统控制着应用程序编程与硬件的交互作用。 西安建筑科技大学课程设计(论文论文) - 5 - 图1嵌入式系统的层次结构 嵌入式系统和通用的计算机系统相比具有以下几个重要特点: l:系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资 源相对有限,所以内核较之传统的操作系统要小得多。 2:系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不 管是硬件还是软件都要高效率的设计,力争在相同的资源条件下实现更 高的性能。 3:专用性强。嵌入式系统通常是面向特定应用的,嵌入式系统的设计和 开发必须要考虑特定环境和系统的要求。而且嵌入式系统将软件系统、 硬件和具体应用及行业特点有机的结合在一起,一般要针对硬件进行系 统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的 西安建筑科技大学课程设计(论文论文) - 6 - 变化和增减不断进行修改。 4:为了提高系统的执行速度和可靠性,嵌入式系统的软件一般都固化在 存储器芯片或单片机中;同时软件代码要求高质量和高可靠性。 5:由于嵌入式系统其本身不具备自主开发能力,即使设计完成以后用户 通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境 才能进行开发。 2.2 嵌入式操作系统 2.2.1 嵌入式操作系统的特点 嵌入式操作系统eos(embedded operating system)是一种支持嵌入 式系统应用的操作系统软件,它是嵌入式系统(包括硬件、软件系统)极 为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、 设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系 统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资 源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中 解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。 嵌入式操作系统eos是一种用途广泛的系统软件,过去它主要应用于 工业控制和国防系统领域。eos负责嵌入系统的全部软、硬件资源的分配、 调度作,控制、协调并发活动;它必须体现其所在系统的特征,能够通 过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较 成功的eos产品系列。随着 internet技术的发展、信息家电的普及应用 及eos的微型化和专业化,eos开始从单一的弱功能向高专业化的强功能 方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软 件固化以及应用的专用性等方面具有较为突出的特点。eos是相对于一般 操作系统而方的,它除具备了一般操作系统最基本的功能,如任务调度、 西安建筑科技大学课程设计(论文论文) - 7 - 同步机制、中断处理、文件处理等外,嵌入式操作系统在系统实时高效 性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为 突出的特点。其中,其最大的特点就是可定制性,也就是它能够提供可 配置或可剪裁的内核能和其他功能,可以根据应用的需要有选择的提供 或不提供某些功能以减少系统开销还有以下特点: 可装卸性。开放性、可伸缩性的体系结构。 强实时性。eos实时性一般较强,可用于各种设备控制当中。 统一的接口。提供各种设备驱动接口。 操作方便、简单、提供友好的图形gui,图形界面,追求易学易用。 提供强大的网络功能,支持tcp/ip协议及其它协议,提供 tcp/udp/ip/ppp协议支持及统一的mac访问层接口,为各种移动计算设备 预留接口。 强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的 干预,这就要负责系统管理的eos具有较强的稳定性。嵌入式操作系统的 用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供 服务。 固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌 入式系统计算机的rom中。辅助存储器在嵌入式系统中很少使用,因此, 嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存 文件系统。 更好的硬件适应性,也就是良好的移植性。 2.2.2 常用嵌入式操作系统 目前市场上比较成熟的嵌入式操作系统比较多,主要有uc/os- ii、palm os、vxworks、linux、wince、epoc等。 西安建筑科技大学课程设计(论文论文) - 8 - (1) palm os palm是3com公司的产品,其操作系统为palm os。palm 是一种32位的嵌入式操作系统。palm提供了串行通信接口和红外线传输 接口,利用它可以方便地与其它外部设备通信、传输数据;拥有开放的 os应用程序接口,开发商可根据需要自行开发所需的应用程序。palm os 是一套具有术强开放性的系统,现在有大约数千种专用为palm os编写的 应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案, palm os无所不包。在丰富的软件支持下,基于palm os的掌上电脑功能 得以不断扩展。 palm os是一套专门为掌上电脑开发的os。在编写程序时,palm o 充分考虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。 由于基于palm os编写的应用程序占用的空间也非常小(通常只有几十 kb),所以,基于palm os的掌上电脑(虽然只有几mb的ram)可以运行 众多应用程序。 由于palm产品的最大特点是使用简便、机体轻巧,因此决定了palm os应具有以下特点。 操作系统的节能功能。由上掌上电脑要求使用电源尽可能小,因 此在palm os的应用程序中,如果没有事件运行,则系统设备进入半休眠 (doze)的状态;如果应用程序停止活动一段时间,则系统自动进入休 眠(sleep)状态。 合理的内存管理。palm的存储器全部是可读写的快速ram,动态 ram(dynamic ram)类似于pc机上的ram,它为全局变量和其它不需永久 保存的数据提供临时的存储空间;存储ram(storage ram)类似于pc机 上的硬盘,可以永久保存应用程序和数据。 palm os的数据是以数据库(database)的格式来存储的。数据库 西安建筑科技大学课程设计(论文论文) - 9 - 是由一组记录(records)和一些数据库头信息组成的。为保证程序处理 速度和存储器空间,在处理数据的时候,palm os不是把数据从存储堆 (storage heap)拷贝到动态堆(dynamic heap)后再进行处理,而是 在存储堆中直接处理。为避免错误地调用存储器地址,palm os规定,这 一切都必须调用其内存管理器里的api来实现。 palm os与同步软件(hotsync)结合可以使掌上电脑与pc机上的信 息实现同步,把台式同的功能扩展到了掌上电脑。palm应用范围相当广 泛,如:联络及工作表管理、电子邮件及互联网通信、销售人员及组别 自动化等等。palm外围硬件也十分丰富,有数码相机、gps接收器、调制 解调器、gsm无线电话、数码音频播放设备、便携键盘、语音记录器、条 码扫描、无线寻呼接收器、探测仪。其中palm与gps结合的应用,不但可 以作导航定位,还可以结合gps作气候的监测、地名调查等。 (2) windows ce windows ce是微软开发的一个开放的、可升级的32位嵌入式操作系 统,是基于掌上型电脑类的电子设备操作。它是精简的windows 95。windows ce的图形用户界面相当出色。其中ce中的c代表袖珍 (compact)、消费(consumer)、通信能力(connectivity)和伴侣 (companion);e代表电子产品(electronics)。与windows 95/98、windows nt不同的是,windows ce是所有源代码全部由微软自行 开发的嵌入式新型操作系统,其操作界面虽来源于windows 95/98,但 windows ce是基于win32 api重新开发的、新型的信息设备平台。 windows ce具有模块化、结构化和基于win32应用程序接口以及与处理器 无关等特点。windows ce不仅继承了传统的windows图形界面,并且在 windows ce平台上可以使用windows 95/98上的编程工具(如visual basic、visual c+等)、使用同样的函数、使用同样的界面网格,使绝 西安建筑科技大学课程设计(论文论文) - 10 - 大多数的应用软件只需简单的修改和移植就可以在windows ce平台上继 续使用。 windows ce的设计目标是:模块化及可伸缩性、实时性能好,通信 能力强大,支持多种cpu。它的设计可以满足多种设备的需要,这些设备 包括了工业控制器、通信集线器以及销售终端之类的企业设备,还有像 照相机、电话和家用娱乐器材之类的消费产品。一个典型的基于windows ce的嵌入系统通常为某个特定用途而设计,并在不联机的情况下工作。 它要求所使用的操作系统体积较小,内建有对中断的响应功能。 windows ce的特点有: 具有灵活的电源管理功能,包括瞬眠/唤醒模式。 使用了对象存储(object store)技术,包括文件系统、注册表 及数据库。它还具有很多高性能、高效率的操作系统特 性,包括按需换 页、共享存储、交叉处理同步、支持大容量堆等。 拥有良好的通信能力。广泛支持各种通信硬件,亦支持直接的局 域连接以及拨号连接,并提供与pc、内部网以及internet的连接,还提 供与windows 9x/nt的最佳集成和通信。 支持嵌套中断。允许更高优先级别的中断首先得到响应,而不是 等待低级别的isr完成。这使得该操作系统具有嵌入式操作系统所要求的 实时性。 更好的线程响应能力。对高级别ist(中断服务线程)的响应时间 上限的要求更加严格,在线程响应能力方面的改进,帮助开发人员掌握 线程转换的具体时间,并通过增强的监控能力和对硬件的控制能力帮助 他们创建新的嵌入式应用程序。 256个优先级别。可以使开发人员在控制嵌入式系统的时序安排方 面有更大的灵活性。 西安建筑科技大学课程设计(论文论文) - 11 - windows ce的api是win32 api的一个子集,支持近1500个win32 api。有了这些api,足可以编写任何复杂的应用程序。当然,在windows ce系统中,所提供的api也可以随具体应用的需求而定。 在掌上型电脑中,windows ce包含如下一些重要组件:pocket outlook及其组件、语音录音机、移动频道、远程拨号访问、世界时钟、 计算器、多种输入法、gbk字符集、中文ttf字库、英汉双向词典、袖珍 浏览器、电子邮件、pocket office、系统设置、windows ce services 软件。 (3) linux linux是一个类似于unix的操作系统。它起源于芬兰一个名为linus torvalds的业余爱好,但是现在已经是最为流行的一款开放源代码的操 作系统。linux从1991年问世到现在,短短10年的时间内已发展成为一个 功能强大、设计完善的操作系统,伴随网络技术进步而发展起来的linux os已成为microsoft公司的dos和windows 95/98的强劲对手。linux系统 不仅能够运行于pc平台,还在嵌入式系统方面大放光芒,在各种嵌入式 linux os迅速发展的状况下,linux os逐渐形成了可与windows ce等eos 进行抗衡的局面。目前正在开发的嵌入式系统中,49%的项目选择linux 作为嵌入式操作系统。linux现已成为嵌入式操作的理想选择。 嵌入式linux os的特点: 精简的内核,性能高、稳定,多任务。 适用于不同的cpu,支持多种体系结构,如 x86、arm、mips、alpha、sparc等。 能够提供完善的嵌入式gui以及嵌入式x-windows。 提供嵌入式浏览器、邮件程序、mp3播放器、mpeg播放器、记事本 等应用程序。 西安建筑科技大学课程设计(论文论文) - 12 - 提供完整的开发工具和sdk,同时提供pc上的开发版本。 用户可定制,可提供图形化的定制和配置工具。 常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。 针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。 完善的中文支持,强大的技术支持,完整的文档。 开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低 廉,结构灵活,适用面广。 西安建筑科技大学课程设计(论文论文) - 13 - 三 系统硬件设计 整个基于 arm9 的无线数据采集系统硬件部分主要由三个模块组成: (1)基于 c8051f920 的数据采集模块; (2)s3c2440 arm 开发板; (3)基于 cc2430 的无线通信模块。 图 2 系统主要组成模块 从图中可以看到在数据采集模块采用了 ad 双级放大,大大提高了整 个系统的放大倍数,提高了系统对微弱信号的识别能力。其最大放大倍 数可达 4096 倍,最大采样频率为 4k,完全满足一般的实验要求。而在 西安建筑科技大学课程设计(论文论文) - 14 - 数据传输方式上为了克服 zigbee 协议数据传输速率慢,抗电磁干扰能力 弱的缺点,在 zigbee 协议的基础上还另外添加了一套基于 tcp/ip 协议 的采用 socket 文件传输协议实现与上位机之间的数据文件传输。这两套 数据传输线路独立进行的,zigbee 适用远距离,低速率,低精度的试验 场合,而 tcp/ip 协议适用于要求高速率,高精度、电磁干扰较大的测试 场合。 系统的主要性能指标如下: 1:最大采样频率 4kb/s;最大放大倍数 4096 倍,最小分辨电压 10 微伏; 2:无线传输速度可达 10kb/s;系统最短响应中断时间 10ms; 3.1 arm 处理器简介 arm 系列处理嚣是英国先进 risc 机器公司 (advancedriscmaehines,arm)的产品。arm 公司是业界领先的知识产权 供应商,与一般的公司不同,arm 公司只采用 m 授权的方式允许半导体 公司生产基于 arm 的处理器产品,提供基于 arm 处理器内核的系统芯片 解决方案和技术授权,不提供具体的芯片。目前市场上推出的 arm 处理 多种多样,主要包括要包括了四个系列:通用微处理器系列、securcore 系列、intel 的 strongarm、intel 的 xscale. 表 1 arm 系列参数比较 arm 系列 微处理器核特点 arm7 arm7tdmi:整数处理核 arm7tdmi 处理器的可综合版本; arm720t:带 mmu 的处理器核心, 支持操作系统; arm7ej-s:带有 dsp 和 jazelle tm 技术,能够实现 java 加速功 能 冯诺伊曼体系结构; armtdmi 是目前应用最广的微处理器核 arm720t 带有 mmu 和 8kb 的指令数据混合 cache; arm7ej-执行 armv5tej 指令,5 级流水线, 提供 java 加速指令,没有存储器保护。 西安建筑科技大学课程设计(论文论文) - 15 - arm9 arm920t:带有独立的 16kb 数据 和指令 cache; arm922t:带有独立的 8 位 kb 数 据和指令 cache; arm940t包括更小数据和指令 cache 和一个 mpu 基于 arm9tdmi ,带 16 位的 thumb 指令集, 增强代码密度最多到 35%; 在 0.13m 工艺下最高性能可达到 300mips(dhrystone 2.1 测试标准) ; 集成了数据和指令 chche; 32 位 amba 总线接口的 mmu 支持; 可在 0.18m、 0.15m 和 0.13m 工艺的硅 芯片上实现。 3.2基于单片机数据采集模块 由于三星s3c2440处理器内部只包含2个通道的10位ad转换接口,而 且其最大放大倍数仅为128倍,无法满足实际现场要求,因此数据采集部 分我采用了基于单片机的ad采集放大模块,模块组成如图3所示。 arm9earm926ej-s:jazelle 技术, 有 mmu,可配置的数据和指令 cache,tcm 接口; arm946e-s:可配置的数据和 指令 cache 及 tcm; arm966e-s:针对要求高性能 和低功耗的可预测的指令执 行时间的硬实时应用设计 arm968e-s:最小、功耗最小 的 arm9e 系列处理器,针对 嵌入式实时应用设计; arm9e 是针对微控制器、dsp 和 java 的单处理 器解决方案; arm jazelle 技术提供 8 倍的 java 加速性能 (arm926ej-s) ; 5 级整数流水线; 在 0.13m 工艺下最高性能可达到 300mips 可选择的 向量浮点单元 vfp9 协处理器指令优 秀海浮点性能,对于 3d 图形加速和实时控制可 达到 215mflops。 高性能的 ahb 总线,带 mmu 可在 0.18m, 0.15m, 0.13m 工艺的硅芯片上 实现。 arm10 e arm1020e:带 dsp 指令集, 在片调试功能,独立的 32kb 数据和指令 cache,mmu 支持; arm1022e:与 arm1020e 相同, 只是独立的数据和指令 cache 变为 16kb; arm1026ej-s:同时具有 mpu 和 mmu,可综合版本; 带分支预测的 6 级整数流水线; 在 0.13m 工艺下最高性能可达到 430mips 对于 3d 图形运算和实时控制采用 vfp 协处理器, 浮点运算性能最高可达 650mflops; 双 64 位 amba 总线接口和 64 位内部总路线接口; 优化的缓存结构提高了处理器访问低速存储器 的性能; 可在 0.18m, 0.15m, 0.13m 工艺的硅芯片上 实现 西安建筑科技大学课程设计(论文论文) - 16 - 数据采集模块主要由包括以下几个部分: 1:ad转换与放大部分;该部分采用了ad8231与ad7684双级放大; 2:spi 控制与低通滤波部分;spi 控制部分采用的是 mcp6s21,而低通 滤波部分采用了四阶低通滤波芯片 max74xx。该芯片的截止频率可实现 1hz100khz 可调节控制; 3:基准电压;通过 cmos 电路提供了 2v 的直流基准电压; 4:主控制芯片;主控制芯片采用了小体积封装的 c805 1f920; dac7513 ad8231 cmos 电路 opa2347 mcp6s21 max74xx ad7684 c8051f920 ch1 ch2 ch2 图 3 数据采集模块主要组成 3.3 无线数据收发模块 无线网络在现代生活中越来越广泛的应用已经是不争的事实,而目 前市场上应用比较成熟的无线通信网络主要包括以下几种。 1蓝牙技术(bluetooth technology); 2wifi(ieee 80211):wireless fidelity: 3uwb(u1trawideband): 4irda 技术; 5zigbee(ieee 802154): 西安建筑科技大学课程设计(论文论文) - 17 - 表 2 几种常用无线通信协议比较 西安建筑科技大学课程设计(论文论文) - 18 - 从上表可以看出由于 zigbee 技术目前应用比较成熟,而且价格十分 低廉,传输距离较远,其 lo-250kb/s 的数据传输速率完全满足一般的试 验要求,因此无线数据传输部分我们采用了基于 zigbee 协议的无线传输 方式。 第四章 系统软件设计 系统的软件部分主要分为四个部分,arm板数据显示与存储模块程序 设计,单片机数据采集模块程序设计,无线数据模块程序设计,以及上 位机通信模块设计,其结构框图如图4所示。 西安建筑科技大学课程设计(论文论文) - 19 - 图 4 系统程序框图 4.1 wince 应用程序设计 ram 板 wince 应用程序设计主要包括:注册硬件与中断设置,数据 存储,tcp/ip 设置,数据显示,spi 总线控制及数据传输五个部分组成。 4.1.1 注册硬件与中断设置 wince应用程序与硬件层直接进行数据交换需要经过操作系统与oem 层,为了避免编写比较复杂wince环境下的硬件驱动程序,我们采用了硬 件中断的方式,使得应用程序能够直接与硬件层进行数据交换,从而减 少了大量的工作压力。 西安建筑科技大学课程设计(论文论文) - 20 - wince下硬件中断程序的流程图如下图所示: 初始化中断 传递中断语句 创建中断事件 创建中断服务线程 关中断并初始化中断向量 中断请求 中断服务程序 图 5 中断程序流程图 为了响应中断请求,用户还必须编写中断服务程序。为了使系统的 资源得以充分运用,我们采用多线程技术,wince 下每个进程最多可以 产生 255 个线程,这 255 个线程共享系统提供的 4gb 的虚拟地址空间, 其程序如下: void initialthread() hthreadrecv=createthread(null,0,recvthread,null,0,null); hthreadsample=createthread(null,0,samplethread,null,0,null); 西安建筑科技大学课程设计(论文论文) - 21 - hthreadprocess=createthread(null,0,processthread,null,0,nu ll); 中断登记完成之后,再通过创建匿名事件的方式将中断请求与中断 服务程序相关联,并让系统一直处于等待中断请求的状态。其实现程序 如下: hintrevent=createevent(null,false,false,null); waitforsingleobject(hintrevem,infinite); 4.1.2 spi 总线控制器设置 spi(serial peripheral interface)是一种串行同步通讯协议,由 一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步 通讯,从而完成数据的交换。spi 接口由 sdi(串行数据输入),sdo(串行 数据输出),sck(串行移位时钟),cs(从使能信号)四种信号构成,cs 决 定了唯一的与主设备通信的从设备,如没有 cs 信号,则只能存在一个从 设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由 sdo 输出, sdi 输入,数据在时钟的上升或下降沿由 sdo 输出,在紧接着的下降或 上升沿由 sdi 读入,这样经过 8/16 次时钟的改变,完成 8/16 位数据的 传输。该总线通信基于主-从配置。它有以下 4 个信号: 1:mosi:主出/从入: 2:miso:主入/从出; 3:sck:串行时钟; 4:ss:从属选择; 芯片上“从属选择”(slaveselect)的引脚数决定了可连到总线上 的器件数量。在 spi 传输中,数据是同步进行发送和接收的。数据传输 西安建筑科技大学课程设计(论文论文) - 22 - 的时钟基于来自主处理器的时钟脉冲。 4.1.3 数据存储 wince支持大部分的mfc函数,而在mfc下数据的存储可以分为以二进 制文件以及asc ii码2种形式。mfc下为文件的保存提了多种类如: ofstream类,ifstream类,cfile类等,而本系统中采用了最为简单的c 语言的文件操作函数fopen(), fpdata=fopen(“residentflashorigindat”,”wb+”); 由于adc转换收数据量较大,而且在传输过程中采用单一字节的传输 方式容易发生数据丢失且传输效率不高,为了解决这一问题,我们采用 了堆栈的方式将adcbuf中的数据以固定大小的方式进行打包传输。其程 序的流程图如53所示:在定义类的成员变量时,用于可以根据需要自 己定义2个内存区域的大小如:bufl=new shortbufsize;buf2=new shortbursize;本系统的默认大小为4096个字节即4k的空间,当内存 区域被填充满后系统将响应事件自动进行数据传输。其数据保存的流程 图如图4-4所示: 图6 系统保存数据流图 西安建筑科技大学课程设计(论文论文) - 23 - 图 7 数据存储流程图 从图中可以看出,当系统启动 ad 转换之后,数据将通过 spi 总线首 先存储在系统 sdram 中的块存储单元内,当块存储单元被填充满之后, 系统有 2 路的保存方式,假如无 sd 卡时,用户可选择将数据以 asc ii 码文本方式保存在 nand flash 内。 4.1.4 tcp/ip 协议设置及数据传输 tcp/ip协议是目前计算机互联网时代应用最为广泛的一种数据传输 西安建筑科技大学课程设计(论文论文) - 24 - 协议之一,它可以实现计算机设备之间无差错的数据传输,因此它在数 据传输过程中是最为可靠的传输协议之一。而目前基于tcp/ip协议的文 件传输协议和方式主要有:文件传输协议方式(ftp)、远程拷贝方式(rcp)、 套接字方式(socket)。 本系统为了实现与上位机的数据传输,采用的是基于socket的文件 传输协议,其程序流程图如图8所示。 图 8 文件传输流程图 本程序主要是实现 arm 板与上位机之间数据以二进制文件的形式进 行传输,ad 转换结束之后,保存在 nand flash 上的数据转换结果才能 实现数据传输。为了满足与上位机之间全双工的通信,采用了 2 个不同 的线程和 2 个套接字信息来完成与上位机之间的通信。其程序如下所示 接收端信息 socksrv=socket(af_inet,sock_stream,o); 西安建筑科技大学课程设计(论文论文) - 25 - addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any); addrsrv.sin_family=af_inet; addrsrv.sin_port=htons(10240); 发送端信息 socksend=socket(af_inet,sock_stream,o); addrsend.sin_family=af_inet; addrsend.sin_port=htons(10240); 4.1.5 多线程以及线程之间的同步 wince 是一种基于多任务、多线程的操作系统,在 wince 内的一个 进程内可以包含一个或多个线程。与此同时 32 位 wince 环境下的 api 以 及 mfc 库提供了多线程应用程序开发所需要的接口函数,利用 vc 中提供 的标准 c 库也可以开发多线程应用程序,用户在开发时可根据应用程序 的需要和特点选择相应的工具。由于本系统中任务较多,采用多线程技 术可以充分利用系统资源,提高系统工作效率,系统线程之问的关系如 图 9 所表示。 spi 传输线程数据保存线程 tcp/ip 发送 tcp/ip 接受 数据显示 无线模块 spi 数据传输 最高优先级第二优先级临界区 adcbuf 同等优先级 图 9 程序模块之间并线程之间的关系 从图中我们可以看到,为了保证系统的正常运行,先将 spi 数据传 输的线程设簧为优先级最高的线程,系统将首先执行该线程,当 spi 有 西安建筑科技大学课程设计(论文论文) - 26 - 数据接收之后,我们将数据首先保存起来,之后其他线程同步执行,为 了保证后面各个线程之间不发生互斥现象,我们将从 spi 总线读取的 adcbuf 中的值设置成临界区,只允许一个线程调用。 4.2 基于单片机数据采集模块程序设计 本系统数据采集模块采用的是基于 c8051f920 的单片机为核心,数 据采集系统的软件采用 keil c 语言编写, 在实际应用时,当上电后该系 统处于等待状态,当接到 pc 机的启动命令后,进行数据采集、并把数据 发送给 pc 机;在测量任务完成后,pc 机向数据采集系统发送结束指令; 当系统接收到 pc 机的结束指令后,系统进入休眠状态停止采集数据。其 系统的程序框图如下图 10 所示。 开始 启动数据采集 发送数据 采集数据 结束数据采集 结束 图 10 单片机数据采集程序流程图 系统的程序结构如下: # include # include void sys_init (void )_task_0 init() ; /系统初始化 rxpacket(); /接收启动数据采集指令 西安建筑科技大学课程设计(论文论文) - 27 - os_create_task(1) ; /启动任务 1 os_create_task(2) ; /启动任务 2 os_create_task(3) ; /启动任务 3 os_create_task(8) ; /启动任务 8 os_create_task(9) ; /启动任务 9 os_delete_task(0) ; /去掉任务 0 void recv1(void)_task_1 while(1) adc0() ; /采集传感器 1 数据 txpacket() ; /发送采集数据 void recv2(void)_task_2 while(1) adc1() ; /采集传感器 2 数据 txpacket() ; /发送采集数据 void recv7(void)_task_8 while 1 adc7() ; /采集传感器 8 数据 txpacket() ; /发送采集数据 void recv8(void)_task_9 while 1 rxpacket1() ; /接收数据指令并判断数据内容 ,如为结束令 /系统进入休眠 ,否则继续 西安建筑科技大学课程设计(论文论文) - 28 - 其中 mcp6s21 与 c8051f920 之间采用的 spi 数据总线以一个字节为 单位进行数据传输,最大的传输速度可达到 34k/s,有效的保证了数据 传输速度。 4.3 无线收发模块程序设计 系统无线收发模块采用的是高性能低功耗的 cc2430 无线通信模块, 在进行无线数据收发前,需要对相应的收发寄存器做一些配置。缓冲发 送模式:使用 ieee 802.15.4 媒介访问控制层数字格式和短地址发送一 个信息包。启用发送,当信道评估显示信道空闲时,启用校准后发送; 当没有字节写入时,txfifo 缓冲器发出下溢指示状态位和下溢脉冲,发 送自动停止“ctrll.tx mode=0;stxon”启动发送;stxoncca 信道估 计显示信道空闲,启动校准后发送;sflushtx 当没有字节写入时, txfifo 缓冲器发出下溢脉冲:txctl=0xaoff 发射最大电流为 1.72ma。 缓冲接收模式:先启用信息包接收和 fifo 中断,通过 fifo 中断服 务程序接收信息包,其中 rxfifo 缓冲溢出和不合法信息包都由中断服务 程序处理,信息包接收采用 cc2430 自动应答。寄存器设置如下 “dmctrl1.rx_mode=0,srxon”启动接收;sflushrxrxfifo 缓冲器溢出。 复位调解器;rxctrl0=0x12e5 低噪声放大增益等。 其程序的流程图如图 11 所示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论