已阅读5页,还剩90页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计论文基于ARM7的煤粉浓度测量仪的设计于杰燕山大学2011年6月本科毕业设计论文基于ARM7的煤粉浓度测量仪的设计学院系信息科学与工程学院专业电子信息工程学生姓名于杰学号070104020095指导教师肖丽萍答辩日期2011年6月25日燕山大学毕业设计论文任务书学院信息科学与工程学院系级教学单位电子与通信工程系学号070104020095学生姓名于杰专业班级电子信息工程四班题目名称基于ARM7的煤粉浓度测量仪的设计题目性质1理工类工程设计;工程技术实验研究型;理论研究型;计算机软件型;综合型2管理类;3外语类;4艺术类题目类型1毕业设计2论文题目题目来源科研课题生产实际自选题目主要内容1、学习UCOSII操作系统原理,熟悉嵌入式目标平台。2、完成下位机与上位机USB通信。3、实现系统功能要求基本要求1、认真阅读相关书籍、文献。2、完成系统设计,UCOSII移植,USB通信的实现,实现要求的功能。3、完成毕业设计说明书一份,格式符合燕山大学毕业设计论文规范,用WORD排版。4、翻译与课题内容相关的外文资料一份。参考资料1、深入浅出ARM7周立功北京航空航天大学出版社2、嵌入式实时操作系统UCOS第二版JEANJLABROSSE3、圈圈教你玩USB刘荣北京航空航天大学出版社4、煤矿井下嵌入式数据采集分站的设计中国期刊全文数据库,维普全文数据库周次第13周第47周第811周第1214周第1518周应完成的内容查阅资料,选定芯片,确定设计思路学习LPC2368的使用,学习UCOSII操作系统的基础知识UCOSII操作系统的移植应用程序编写,软硬件联调撰写论文,准备答辩指导教师肖丽萍职称副教授2011年3月1日系级教学单位审批年月日摘要随着应用环境的恶劣以及现代科学技术的发展,对测试仪器仪表提出了新的要求。煤粉浓度测量仪是一种广泛应用在煤矿、石油开采中的仪器,本文结合当代仪器仪表的发展趋势,对基于ARM7的煤粉浓度测量仪的设计方法进行了研究实验。首先,本文研究了UCOSII操作系统在该系统中的移植以及应用,提高了煤粉浓度测量仪工作的稳定性,能够适应恶劣的工作环境。然后,采用USB技术,实现仪器仪表同PC机的通信,并提供了PC机上位机应用软件的实现方法。最后,根据该仪器仪表的应用和客户的具体要求,实现了该仪器仪表的功能。通过实验可以证明,该系统不仅能够准确测量煤粉溶液的浓度,其工作的稳定性,操作的方便性都有了很大的提高,同时数据通过USB总线上传到PC机,更方便了数据的记录和存储。关键词煤粉浓度测量仪,ARM7,UCOSII操作系统,USBABSTRACTWITHTHEAPPLICATIONOFTHEHARSHENVIRONMENTANDTHEDEVELOPMENTOFMODERNSCIENCEANDTECHNOLOGY,THETESTINSTRUMENTMADENEWDEMANDSPULVERIZEDCOALCONCENTRATIONMEASURINGINSTRUMENTISAWIDELYUSEDINCOAL,OILANDMININGEQUIPMENT,PAPER,DEVELOPMENTTRENDOFMODERNINSTRUMENTATIONFORTHEARM7BASEDDESIGNOFPULVERIZEDCOALCONCENTRATIONMEASURINGMETHODOFTHERESEARCHEXPERIMENTSFIRST,THISSTUDYUCOSIIOPERATINGSYSTEMMIGRATIONINTHESYSTEMANDAPPLICATIONSTOIMPROVETHEPULVERIZEDCOALCONCENTRATIONMEASURINGJOBSTABILITY,ABLETOADAPTTOTHEHARSHWORKINGENVIRONMENTTHEN,USINGUSBTECHNOLOGY,NSTRUMENTATIONCOMMUNICATIONWITHTHEPC,ANDPROVIDESAPCPCAPPLICATIONSOFTWAREIMPLEMENTATIONFINALLY,ACCORDINGTOTHEINSTRUMENTATIONOFTHEAPPLICATIONANDCUSTOMERSPECIFICREQUIREMENTSTOACHIEVETHEFUNCTIONSOFTHEINSTRUMENTCANBEPROVEDBYEXPERIMENT,THESYSTEMCANNOTONLYACCURATELYMEASURETHECONCENTRATIONOFTHESOLUTIONOFPULVERIZEDCOAL,THEWORKOFSTABILITY,CONVENIENCEOFOPERATIONHASGREATLYIMPROVED,WHILEUPLOADINGDATATHROUGHTHEUSBBUSTOAPC,MORECONVENIENTDATARECORDINGANDSTORAGEKEYWORDSPULVERIZEDCOALCONCENTRATIONMEASURINGINSTRUMENT,ARM7,UCOSIIOPERATINGSYSTEM,USB目录摘要IABSTRACTII第1章绪论111课题背景112煤粉浓度测量仪的研究内容113测量类仪器仪表的发展趋势114本文的内容安排2第2章煤粉浓度测量仪的总体设计321煤粉浓度测量仪的设计原理322煤粉浓度测量仪的硬件设计4221煤粉浓度测量仪硬件组成4222ARM微处理器概述4223LPC2368简介5224迪文液晶简介623煤粉浓度测量仪的下位机软件设计6231煤粉浓度测量仪下位机软件概述624煤粉浓度测量仪的上位机软件设计6241煤粉浓度测量仪上位机软件概述6242MFC编程原理725本章小结9第3章煤粉浓度测量仪的硬件设计1031数据采集部分1032数据传输部分1133人机交互部分1134本章小结12第4章煤粉浓度测量仪的下位机软件设计1341煤粉浓度测量仪的软件组成1342UCOSII操作系统的移植13421嵌入式操作系统介绍13422UCOSII的文件结构以及与硬件的关系15423UCOSII操作系统的移植1643应用程序的开发16431硬件初始化任务软件设计16432数据采集任务软件设计17433USB通信任务软件设计17424触摸屏检测显示任务软件设计1844本章小结19第5章煤粉浓度测量仪的上位机软件设计2151煤粉浓度测量仪USB驱动21511USB简介21512WINUSB简介21513安装WINUSBSYS作为功能驱动22514使用WINUSBAPI2352煤粉浓度测量仪上位机软件的实现2353煤粉浓度测量结果的软件操作2454本章小结26结论27参考文献28致谢30附录131附录237附录341附录445第1章绪论11课题背景该课题的选取源自一位客户的要求,煤粉浓度测量仪是一种应用在煤矿、石油开采中的仪器,国内相关的仪表十分稀少,大部分都需要从国外进口。这类的仪器往往采用低端的处理器,数据采集的精度和速度有时达不到要求。在仪器的设计中大多数都采用传统的前后台程序,这样就使得仪器在矿井、油井等恶劣的条件下工作不稳定,甚至死机,并且传统的前后台程序不利于系统的升级和功能的扩展。另外,仪器的人机交互往往采用键盘输入,在煤矿等粉尘较多的环境就会降低仪器的使用寿命,造成不必要的损失。煤粉浓度测量仪的设计不仅是要完成功能的实现,更重要的是探究一种新的技术在仪器仪表中带来的优势,为今后高性能产品的研发做好准备。12煤粉浓度测量仪的研究内容煤粉浓度测量仪所要研究和解决的问题包括以下几个方面1UCOSII操作系统移植在产品中嵌入操作系统,不仅是产品的开发、维护、升级变得方便,而且将任务交给操作系统进行管理和维护,更加提高了系统的稳定性。2USB数据传输现在USB技术越来越成熟,应用领域越来越广泛,大部分计算机,尤其是笔记本电脑已经去掉了串口等传统的通信端口,因此采用USB接口进行下位机与上位机的通信十分必要。3触摸屏显示采用彩色触摸屏显示,使人机交互界面变的更加友好,使仪器的操作更加方便。13测量类仪器仪表的发展趋势1计算机技术在仪器分析中的应用将更加普遍和深入,智能化的仪器分析方法将逐渐成为常规分析的重要手段。2仪器分析方法的灵敏度和选择性将进一步提高,许多新的超痕量分析方法和超微量分析方法将逐步建立。3仪器分析方法将在更大的程度上应用于物质的结构分析,状态和价态分析,表面及微区分析等,同时在许多学科的研究工作中将得到越来越广泛的应用。4仪器分析中各种方法的联用,将进一步发挥各种方法的效能,这种联用方法无疑是解决复杂分析问题的有力手段。5仪器分析进一步与生物医学结合,用于生命过程的研究,并作为有效的临床诊断方法,另一方面,生物医学中的酶催化反应和免疫反应等技术和成果也将进一步用于仪器分析,开拓新的领域和方法,如酶电极,免疫传感器,免疫伏安法,免疫发光分析法等。6仪器分析法将在各种工业流程及特殊环境中的自动监控或遥控检测中发挥重大的作用,在这一领域中,各种新型传感器的研制将是十分重要的。14本文的内容安排本文共分为五章,各章的内容安排如下第1章简述了该课题的选择背景,对煤粉浓度测量仪的实现原理做了简单的介绍,说明了煤粉浓度测量仪的主要研究内容。第2章总体介绍了煤粉浓度测量仪的设计原理,对煤粉浓度测量仪的硬件、下位机软件以及上位机软件的设计思路进行了总体概述。对涉及到的技术和芯片做了简要的说明。第3章详细阐述了煤粉浓度测量仪的硬件系统设计以及具体的实现步骤,包括ARM的体系结构,LPC2368处理器的介绍以及所涉及的硬件电路的具体说明。第4章详细介绍了煤粉浓度测量仪下位机软件的设计思路,给出了煤粉浓度测量仪下位机软件详细流程图。下位机软件包括数据采集、触摸屏控制及数据传输等。第5章详细叙述了煤粉浓度测量仪上位机软件的设计方法,对数据的存储,波形的绘制,WINUSBAPI的使用做了详细的说明。第2章煤粉浓度测量仪的总体设计21煤粉浓度测量仪的设计原理目前没有一种传感器能够精确地测量一种溶液的的浓度,但是对重力的测量技术已经十分成熟,测量精度可以达到万分之一,因此本系统的总体设计思路是首先通过测浮力测得溶液密度,然后采用标定法求的溶液浓度。密度与浓度的对应关系如下所示该对应关系由客户提供表11密度与浓度对应关系密度G/CM3煤粉质量浓度100000001001503110027093100401541006521410077274100893031010236110127419101395331015158810164671101767511018990910201106110213125710238135122煤粉浓度测量仪的硬件设计221煤粉浓度测量仪硬件组成该系统的硬件主要由三个部分组成数据采集模块,USB数据传输模块,人机交互模块。其总体框图如图21所示。数据采集模块采用高精度模数转换器AD7190,提高了仪器的精度和稳定性。为了节省成本,数据传输模块并没有采用专用的USB芯片,而是利用了LPC2368自身的USB资源。人机交互界面采用了一款工业级触摸液晶显示屏,使整台仪器的界面更加友好,操作更加方便。外部载荷密度传感器DB37接线端高精度数据放大器有源滤波器高精度模数转换器MCU控制信号图21煤粉浓度测量仪原理示意图222ARM微处理器概述ARMADVANCEDRISCMACHINES,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字9。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权IP核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,这样使得ARM处理器技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。223LPC2368简介LPC2368微处理器是NXP半导体公司基于ARM7TDMIS内核推出的一款高性能、低功耗、高集成度并具有工业级温度范围和性能的微处理器。LPC2368具有以下特点ARM7TDMIS处理器,可在高达72MHZ的频率下运行;具有在系统编程ISP和在应用编程IAP功能;以太网接口具有16KB静态RAM,USB接口具有16KB静态RAM;先进的向量中断控制器,支持多达32个向量中断;支持多种串行数据接口协议;安全数字SD/多媒体存储卡MMC接口;6路/8路10位A/D转换器;10位D/A转换器;标准的ARM测试/调试接口,与现有工具兼容;仿真跟踪模块,支持实时跟踪;4种低功耗模式空闲、睡眠、掉电和深度掉电;2个独立的电源域,允许根据所需特性对功耗进行适当调整;LPC2368处理器由ARM7TDMIS内核及各个通用外围设备模块组成。ARM7TDMIS内核是整个处理器的运算和控制核心。通用外围设备,便于配置,同时可以降低整个嵌入式产品的成本和功耗。224迪文液晶简介触摸屏选择北京迪文科技有限公司生产的DMT3224CS035_01WT,其分辨率为324640,工作温度范围为2070,工作电压为5V,该模块支持多语言,多字体,任意大小的文本显示,支持用户自行设计字库,128M存储器,支持串口图片下载更新,图形功能完善,支持触摸屏,并具有触摸屏漂移处理技术,内嵌拼音输入法,数据排序等简单算法处理。23煤粉浓度测量仪的下位机软件设计231煤粉浓度测量仪下位机软件概述该系统的软件主要由UCOSII操作系统和应用软件两大部分组成,其中应用软件主要包括三个任务数据采集任务,数据传输任务,触摸屏控制显示任务。该系统的下位机软件的总体框图如图22所示操作系统初始化任务一初始化硬件任务二采集数据任务三触摸屏显示任务四数据上传图22下位机软件框图24煤粉浓度测量仪的上位机软件设计241煤粉浓度测量仪上位机软件概述该系统的上位机软件使用微软公司的VISUALSTDIO2005软件进行编写,利用微软基础类库即MFC可以很方便的实现该上位机的功能。为了减少工作量,并没有专门编写USB的驱动程序,而是直接采用微软提供的USB通用驱动WINUSBSYS作为煤粉浓度测量仪的USB驱动程序,同时微软以动态链接库的方式提供了操作在驱动的API函数,使我们的桌面USB程序变得更见简单易用。该上位机的关系框图如图23所示WINUSBMFC应用程序图23上位机软件框图242MFC编程原理1MFC介绍近几年来,面向对象技术无论是在理论还是实践上都在飞速地发展。面向对象技术中最重要的就是“对象”的概念,它把现实世界中的气球、自行车等客观实体抽象成程序中的“对象”。这种“对象”具有一定的属性和方法,这里的属性指对象本身的各种特性参数。如气球的体积,自行车的长度等,而方法是指对象本身所能执行的功能,如气球能飞,自行车能滚动等。一个具体的对象可以有许多的属性和方法,面向对象技术的重要特点就是对象的封装性,对于外界而言,并不需要知道对象有哪些属性,也不需要知道对象本身的方法是如何实现的,而只需要调用对象所提供的方法来完成特定的功能。从这里我们可以看出,当把面向对象技术应用到程序设计中时,程序员只是在编写对象方法时才需要关心对象本身的细节问题,大部分的时间是放在对对象的方法的调用上,组织这些对象进行协同工作。MFC的英文全称是MICROSOFTFUNDATIONCLASSES,即微软的基本类库,MFC的本质就是一个包含了许多微软公司已经定义好的对象的类库,我们知道,虽然我们要编写的程序在功能上是千差万别的,但从本质上来讲,都可以化归为用户界面的设计,对文件的操作,多媒体的使用,数据库的访问等等一些最主要的方面。这一点正是微软提供MFC类库最重要的原因,在这个类库中包含了一百多个程序开发过程中最常用到的对象。在进行程序设计的时候,如果类库中的某个对象能完成所需要的功能,这时我们只要简单地调用已有对象的方法就可以了。我们还可以利用面向对象技术中很重要的“继承”方法从类库中的已有对象派生出我们自己的对象,这时派生出来的对象除了具有类库中的对象的特性和功能之外,还可以由我们自己根据需要加上所需的特性和方法,产生一个更专门的,功能更为强大的对象。当然,你也可以在程序中创建全新的对象,并根据需要不断完善对象的功能。正是由于MFC编程方法充分利用了面向对象技术的优点,它使得我们编程时极少需要关心对象方法的实现细节,同时类库中的各种对象的强大功能足以完成我们程序中的绝大部分所需功能,这使得应用程序中程序员所需要编写的代码大为减少,有力地保证了程序的良好的可调试性。2MFC的关键技术MFC的关键技术是消息映射机制MFC定义了下面的两个主要结构AFX_MSGMAP_ENTRY和AFX_MSGMAP两个数据结构,AFX_MSGMAP主要作用是两个,一用来得到基类的消息映射入口地址。二得到本身的消息映射入口地址。实际上,MFC把所有的消息一条条填入到AFX_MSGMAP_ENTRY结构中去,形成一个数组,该数组存放了所有的消息和与它们相关的参数。同时通过AFX_MSGMAP能得到该数组的首地址,同时得到基类的消息映射入口地址,这是为了当本身对该消息不响应的时候,就调用其基类的消息响应在MFC框架下,一般一个消息的处理过程是这样的。函数AFXWNDPROC接收WINDOWS操作系统发送的消息。函数AFXWNDPROC调用函数AFXCALLWNDPROC进行消息处理,这里一个进步是把对句柄的操作转换成对CWND对象的操作。函数AFXCALLWNDPROC调用CWND类的方法WINDOWPROC进行消息处理。注意AFXWNDPROC和AFXCALLWNDPROC都是AFX的API函数。而WINDOWPROC已经是CWND的一个方法。所以可以注意到在WINDOWPROC中已经没有关于句柄或者是CWND的参数了。方法WINDOWPROC调用方法ONWNDMSG进行正式的消息处理,即把消息派送到相关的方法中去处理。消息是如何派送的呢实际上在CWND类中都保存了一个AFX_MSGMAP的结构,而在AFX_MSGMAP结构中保存有所有我们用CLASSWIZARD生成的消息的数组的入口,我们把传给ONWNDMSG的MESSAGE和数组中的所有的MESSAGE进行比较,找到匹配的那一个消息。实际上系统是通过函数AFXFINDMESSAGEENTRY来实现的。找到了那个MESSAGE,实际上我们就得到一个AFX_MSGMAP_ENTRY结构,而我们在上面已经提到AFX_MSGMAP_ENTRY保存了和该消息相关的所有信息,其中主要的是消息的动作标识和跟消息相关的执行函数。然后我们就可以根据消息的动作标识调用相关的执行函数,而这个执行函数实际上就是通过CLASSWIZARD在类实现中定义的一个方法。这样就把消息的处理转化到类中的一个方法的实现上。25本章小结本章概括介绍了煤粉浓度测量仪的实现原理,从该仪器的硬件、下位机软件和上位机软件三个方面概括介绍了煤粉浓度测量仪的设计思路,并给出了系统框图和程序流程图。同时对实现该系统所用到的芯片及技术进行了简要的介绍。第3章煤粉浓度测量仪的硬件设计为了能够使所设计的系统稳定的工作,我们严格按照LPC2368官方给出的硬件设计参考设计了煤粉浓度测量仪硬件电路,该硬件电路包括数据采集部分、数据传输部分、人机交互部分。31数据采集部分数据采集系统是仪器正常工作的保障,数据采集系统的精度和稳定性也决定了整个系统的精度和稳定性,因此选用一款合适的AD模数转换器并设计一个稳定的硬件电路十分重要。该系统采用ADI公司推出的一款模数转换器AD7190,该模数转换器将数据速率和无噪声分辨率实现了最佳组合,使工业设备制造商能够提高精密测量仪器仪表的工作速度和精度。它集成一个低噪声、24位型模数转换器ADC。片内低噪声增益级意味着可直接输入小信号。该器件的输出数据速率可在47HZ至48KHZ的范围内变化。用于传感器电压输出与桥压相关,为了提高系统的稳定性,AD7190的参考电压并没有采用高精度稳压源,而是将桥压引出经过运算放大器后作为了AD7190的参考电压,整个数据采集系统的硬件连接如图31所示图31数据采集电路图32数据传输部分数据传输部分可以通过USB接口将得到的数据上传到PC机上位机软件进行显示并存储。该系统利用LPC2368自身的USB资源来实现USB通信的功能。LPC2368的USB接口符合USB20协议,支持全速传输,可以满足系统的需要,硬件连接图如图32所示图32USB接口电路图33人机交互部分人机交互部分采用北京迪文科技有限公司生产的触摸液晶屏实现了对煤粉溶液浓度的显示以及人对煤粉浓度测量仪的操作。该液晶屏可以通过串口对其进行显示控制操作。这里采用串口一与迪文触摸液晶屏进行连接,硬件连接图如图33所示VCCVVCDDOUTDINGNDDOUTDINJK1POWERIN图33液晶接口电路图34本章小结本章详细介绍了煤粉浓度测量仪的硬件组成。硬件设计是整个系统构建的第一步,操作系统移植和应用程序的开发都依赖于硬件系统,硬件系统的性能和稳定性会直接影响整个系统最终的指标。硬件电路设计在系统设计中起到至关重要的作用。第4章煤粉浓度测量仪的下位机软件设计41煤粉浓度测量仪的软件组成煤粉浓度测量仪的软件系统由UCOSII操作系统,应用程序构成,应用程序又主要分为了数据采集任务、数据传输任务、触摸屏显示任务三个功能任务和一个硬件初始化任务。其中应用程序的开发是整个系统的主要工作,也是整个系统开发的难点。煤粉浓度测量仪的软件结构框架如图41所示。UCOSII操作系统上位机总控软件数据采集触摸屏检测显示USB接口图41煤粉浓度测量仪的软件组成42UCOSII操作系统的移植421嵌入式操作系统介绍嵌入式操作系统EMBEDDEDOPERATINGSYSTEM是一种用途广泛的系统软件。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度工作,控制协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的嵌入式操作系统产品系列。随着INTERNET技术的发展、信息家电的普及应用及嵌入式操作系统的微型化和专业化,嵌入式操作系统开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,还有以下特点1可装卸性、开放性、可伸缩性的体系结构。2强实时性嵌入式操作系统实时性一般较强,可用于各种设备控制当中。3统一的接口提供各种设备驱动接口和应用程序接口。4操作方便、简单、提供友好的图形GUI,图形界面。5固化代码在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统的ROM中。6更好的硬件适应性,也就是良好的移植性。几种主流的嵌入式操作系统VXWORKS美国WINDRIVER公司于1983年设计开发的一种嵌入式实时操作系统。以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖领域。WINDOWSCE微软公司推出的面向移动智能设备的实时操作系统。凭借广泛的适应性、丰富的功能、强大的多媒体能力、友好的开发环境,WINDOWSCE已经广泛应用于掌上电脑、智能手机、汽车电子等领域。PALMOSPALM公司开发的专用于PDA上的一种操作系统,这是PDA上的霸主,一度普占据了90的PDA市场的份额。虽然其并不专门针对于手机设计,但是PALMOS的优秀性和对移动设备的支持同样使其能够成为一个优秀的手机操作系统。嵌入式LINUX近两年来,LINUX在嵌入式领域异军突起,他的独特性,使其作为开发嵌入式产品的操作系统具备巨大的潜力。LINUX具有一些独特的优势层次结构及内核完全开放;强大的网络支持功能;具备一整套工具链;广泛的硬件支持特性。UCOSII一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用ANSIC写的,并且通过了联邦航空局商用航行器认证,符合RTCA航空无线电技术委员会DO178B标准,自1992年问世以来,UCOSII已经应用到数以百计的产品中。由于UCOSII操作系统具有源代码开放,可移植性强,性能稳定,实时性强,可裁剪,占用资源少等特点,使UCOSII成为煤粉浓度测量仪的首选操作系统。422UCOSII的文件结构以及与硬件的关系图42示意了UCOSII的文件结构以及与硬件的关系,UCOSII的内核结构主要有三部分构成,UCOSII与处理器无关的代码、UCOSII配置与应用相关的代码、UCOSII移植与处理器相关的代码。应用软件(用户代码)UC/OSII(与处理器无关代码)OS_CORECOS_FLAGCOS_MBOXCOS_MEMCOS_MUTEXCOS_QCOS_SEMCOS_TASKCOS_TIMECUCOS_IICUCOS_IIHUC/OSII配置(与应用相关)OS_CFGHINCLUDESHUC/OSII移植(处理器相关代码)OS_CPUHOS_CPU_AASMOS_CPU_CCCPU定时器硬件软件图42UCOSII的文件结构UCOSII与处理器无关的代码为我们提供了一些系统API函数供我们在应用程序中调用,在实际应用中这部分代码是不需要更改的。UCOSII配置文件和具体的应用程序相关,我们需要根据具体的应用改变两个文件的内容,UCOSII移植文件和具体的处理器相关,当移植UCOSII操作系统到不同的处理器时需要更改这三个文件。423UCOSII操作系统的移植所谓移植,就是使一个实时内核能在其他的微处理器或微控制器上运行,为了移植方便,大部分UCOSII的代码是用C语言编写的,但是仍然需要用汇编语言编写一些与处理器硬件相关的代码,这是因为UCOSII在读写处理器寄存器时,只能通过汇编语言来实现,要使UCOSII正常运行,处理器必须满足以下要求处理器的C编译器能够产生可重入型代码;处理器支持中断,并且能产生定时中断通常为10100HZ;用C语言就可以开关中断;处理器能够支持一定数量的数据存储硬件堆栈可能是几千字节;处理器有将堆栈指针以及其他CPU寄存器的内容读出,并且存储到堆栈或者内存中去的指令;由图32可知,UCOSII的移植主要编写OS_CPUH文件、OS_CPU_CC文件OS_CPU_AASM文件。43应用程序的开发431硬件初始化任务软件设计在UCOSII操作系统启动多任务前必须首先创建了一个任务,我们在这个任务中进行了硬件资源的初始化,并创建了三个功能任务数据采集任务、USB通信任务、触摸屏检测显示任务。软件流程图如图43所示硬件初始化创建任务启动多任务图43数据采集软件流程图432数据采集任务软件设计数据采集系统是煤粉浓度测量仪功能实现的核心部分,整台仪器功能的实现也是围绕该模块展开的。数据采集任务使用模数转换器AD7190实现,采用单次转换模式,方便了对AD7190的控制,其程序流程图如图43所示AD7190初始化启动AD采集上传数据采集结束上传标志置位是否是否图44数据采集软件流程图433USB通信任务软件设计USB通信实现了煤粉浓度测量仪与PC机软件通信,通过USB接口可以将采集到的数据上传到PC机进行图形显示以及硬盘存储。USB通信的关键过程在于USB设备上电的枚举,这部分工作的难点也在于煤粉浓度测量仪的枚举过程,枚举成功了,煤粉浓度测量仪与上位机通信工作也就完成了一半了。其软件流程图如图44所示USB硬件初始化EDP0上电枚举置位上传标志接收到数据上传数据是否是否图45USB通信软件流程图424触摸屏检测显示任务软件设计该任务实现了数据的显示以及人对煤粉浓度测量仪的控制,触摸屏检测显示任务采用迪文彩色触摸液晶屏实现,迪文HMI串口智能显示终端采用自主研发的HMI核心驱动模组M100、M600、K600、H600,提供用户任意尺寸、统一指令集、开发简单、高可靠性、高性价比的彩色TFT显示完美解决方案。其软件流程图如图46所示触摸屏初始化更新显示更新数据有触摸是否是否更新页面液晶显示图46触摸屏检测显示软件流程图44本章小结本章主要讲述了UCOSII操作系统移植的主要过程。首先对当前流行的嵌入式操作系统进行了简要介绍,分析了UCOSII系统的组成,然后介绍了煤粉浓度测量仪的软件开发过程,包括数据采集系统的软件设计以及USB通信系统的软件设计。至此整个基于ARM7的煤粉浓度测量仪已经设计完成,并且实现了数据采集并将数据通过USB接口上传到上位机进行存储显示的功能。第5章煤粉浓度测量仪的上位机软件设计51煤粉浓度测量仪USB驱动511USB简介USB,是英文UNIVERSALSERIALBUS通用串行总线的缩写,而其中文简称为“通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、MICROSOFT等多家公司联合提出的。系统中的USB的驱动程序完成许多的工作。实际上对于一些HID的USB设备,象键盘,鼠标和游戏操纵杆之类的设备可以自动的被系统识别并且支持而除此之外的设备就需要自己写一个驱动程序来完成硬件和软件之间的联系。在核心模式KERNELMODE下,驱动程序用IOCTL来组织和操作一些由其他部分发过来的要求和命令。而IOCTL又是通过URBUSBREQUESTBLOCKS来实现数据的传送的。但自己在桌面系统上写一个驱动有点麻烦,总感觉心有余力不足的感觉,在此感谢微软为我们提供了这样一个系统驱动和DLL接口供大家调用,使我们的桌面USB程序变得更为简单和易用。512WINUSB简介制造USB设备的独立硬件供应商IHV必须经常为应用程序提供访问设备功能的途径。在过去,这意味着使用WINDOWS驱动程序模型WDM为设备实现一个功能驱动程序,并将该驱动程序安装在设备栈中系统提供的协议驱动程序之上。WINDOWS驱动程序基础WDF现在是USB驱动程序的首选模型。它为IHV提供3个选项来提供访问USB设备的途径1使用WDF用户模式驱动程序框架UMDF实现用户模式驱动程序;2使用WDF内核模式驱动程序框架KMDF实现内核模式驱动程序;3将WINUSBSYS作为设备的功能驱动程序安装,并提供一个使用WINUSBAPI访问设备的应用程序。WINUSB是在WINDOWS驱动程序WDF的基础上发展起来的,它适用于WINDOWSXP和WINDOWS的更高版本。它包括一个内核模式驱动程序和WINUSBSYS,WINUSBSYS是一个WDF用户模式驱动程序框架UMDF的USB驱动程序支持的组成部分。然而,由于USB是只由一个应用程序访问的设备,供应商往往可以安装WINUSBSYS作为他们设备的功能驱动程序,而不是实现自定义驱动程序。应用程序可以通过使用WINUSBAPI来配置设备和访问端点。WINUSB包含两个准素分支1WINUSBSYS是一个内核模式驱动,它可以作为一个过滤驱动或者作为一个功能驱动被安装。2WINUSBDLL是一个包含着WINUSBAPI的用户模式动态链接库,应用程序可以使用这些API与作为功能驱动被安装的WINUSBSYS进行通信。513安装WINUSBSYS作为功能驱动在应用程序可以通过使用WINUSBAPI与设备通信前,必须将WINUSBSYS作为设备的功能驱动进行安装,有以下需要的文件1WINUSB协作安装包,如果需要它可以安装WINUSB到目标系统中。WDK包含三个版本的安装包一个用于X86系统,一个用于X64系统,另外一个用于安腾系统,他们都被命名为WINUSBCOINSTALLERDLL,他们都位于WINDDKBUILDNUMBERREDISTWINUSB目录下2KMDF协作安装包,如果需要它可以安装正确的KMDF版本到目标系统中,由于WINUSBSYS依赖于KMDF,所以这个安装包是需要的,WINUSB的版本取决于KMDF版本15,相关的安装包是WDFCOINSTALLER01005DLL,WDFCOINSTALLER01005DLL的X86和X64版本位于目录WINDDKBUILDNUMBERREDISTWDF3一个INF文件可以安装WINUSBSYS作为设备的功能驱动。微软提供了一个INF文件模板,经过简单的修改就可以应用到大部分的USB设备,主要更改VID、PID,使其与下位机中的VID、PID一致4一个用于该包的签名CATALOG文件,当安装WINUSB到WINDOWSVISTA的X64版本时这个文件是需要的。514使用WINUSBAPI如果一个USB设备拥有WINUSBSYS作为它的功能驱动,相关的应用程序可以通过WINUSBAPI与这个设备进行通信,为了能够在应用程序中使用WINUSBAPI,需要1包含WINUSBH头文件,它包含在WDK中,位于目录WINDDKBUILDNUMBERINCDDK。2增加WINUSBLIB到与你的应用程序相关联的库列表中,WINUSBLIB包含在WDK中,适用于WINDOWSXP的版本位于目录WINDDKBUILDNUMBERLIBWXPI386,这里也有适用于WINDOWSVISTA系统的不同版本来适用不同的CPU结构,他们位于目录WINDDKBUILDNUMBERLIBWLH。3包含头文件USB100H,这个不是必须的,但是里面包含了一些很有用的宏,他也位于目录WINDDKBUILDNUMBERINCDDK中。为了能够访问设备,应用程序必须1使用设备的接口GUID得到一个与设备相关联的句柄2使用这个句柄初始化WINUSB。3使用WINUSBAPI来配置设备4使用WINUSBAPI与端点通信52煤粉浓度测量仪上位机软件的实现该软件使用VISUALSTDIO2005编程环境编译,相对于VISUALC60,该编译环境更加符合C标准。该上位机软件要实现的功能有1检测是否有设备插入2显示溶液浓度3画出溶液浓度的TY图4存储溶液浓度数据数据采集的流程图如图43所示对话框资源初始化是是画波形挂起读数据线程有设备插入开始读取数据读数据成功停止采集读数据线程读数据完成是否否是存储数据存储数据是否图43数据读取流程图53煤粉浓度测量结果的软件操作煤粉浓度测量结果的VC显示界面如图44所示1添加信号发送时的消息响应函数操作系统通过消息响应来了解如何完成用户操作的,用户一旦进行操作,消息就被加入到消息队列,等待操图44上微机软件操作界面作系统的响应。在VC中,已经将一些常用的WINDOWS消息封装成了事件,该软件共使用了3中类型的消息一是BN_CLICKED,为点击按钮出发的消息,一是WM_DEVICECHANGE,当USB设备插入或者拔出时触发该消息,通过相应该消息我们可以检测是否是我们的设备被插入,另一个是自定义的消息WM_MYGRAPH,用于采集数据线程通知对话框可以进行画图了。2在对话框初始化时调用FINDDEVICE检测是否有煤粉浓度测量仪USB设备被插入,使用一个BOOL型成员变量M_DEVISEXIST标记设备的状态。如果设备被插入则调用OPENDEVICE打开并初始化设备。3如果M_DEVISEXIST为真,即煤粉浓度测量仪已经被连接到PC机,则可以调用STARTDEVICE来启动采集数据并启动读取数据线程READTHREAD。4读取数据线程读取数据成功,发送消息WM_MYGRAPH通知主对话框调用ONMYGRAPH画图。5点击记录按钮可以以TXT格式保存数据到设定的目录6调用STOPDEVICE可以挂起数据读取线程,在软件退出时调用CLOSEDEVICE关闭USB设备,释放USB资源。54本章小结本章主要讲述了上位机软件的设计方法,尤其对WINUSB的说明和使用进行了详细的说明,本章内容给出了上位机软件流程图,对软件的操作流程作了简要的说明。结论近年来,随着计算机技术的不断发展,人们对测量类仪器仪表的智能化和精确度提出了更高的要求,测量类仪器仪表的发展趋势体现在计算机技术在仪器分析中的应用将更加普遍和深入,智能化的仪器分析方法将逐渐成为常规分析的重要手段;仪器分析方法的灵敏度和选择性将进一步提高,许多新的超痕量分析方法和超微量分析方法将逐步建立;仪器分析方法将在更大的程度上应用于物质的结构分析,状态和价态分析,表面及微区分析等,同时在许多学科的研究工作中将得到越来越广泛的应用。煤粉浓度测量仪是一种广泛应用在煤矿、石油开采中的测量类仪器仪表,人们对其功能的稳定性,操作的灵活性要求越来越高,在对国内外煤粉浓度测量仪现状和测量类仪器仪表发展趋势的充分调研的基础上,本文对煤粉浓度测量仪系统进行了深入地研究。本次毕业设计的主要成果如下1使用基于ARM7TDMIS内核的LPC2368微处理器为核心,完成了煤粉浓度测量仪的硬件平台的设计。2实现了UCOSII操作系统在LPC2368微处理器平台上的移植。3编写了UCOSII下的数据采集任务,实现了对煤粉溶液浓度的模数转换。4编写了UCOSII下的USB通信任务,实现了煤粉溶液浓度数据上传PC机。5编写了UCOSII下的触摸屏检测显示任务,实现了煤粉溶液浓度数据显示以及对煤粉溶液测量仪的操作。6使用C语言编写上位机,完成了煤粉溶液浓度在PC机上的显示以及存储在系统设计中充分利用了嵌入式系统的特点和优势,实现了基于ARM7的煤粉浓度测量仪。硬件系统稳定可靠,操作界面美观,用户可以既可以通过触摸屏操作仪器、观察测量结果,又可以将数据上传到PC机进行图形显示、硬盘存储,达到了预期的目标。由于个人水平和时间的限制,本次毕业设计只是对煤粉浓度测量仪的简单实现,主要表现为1对液晶屏只是进行简单的操作显示数据以及图片,并没有植入UCGUI,使人机交互界面不十分完美,显得比较单调。2上位机只是进行简单的数据显示存储,没有对其进行数据处理。3整个系统的功能还比较简单。在功能上还有待进一步完善。总之,随着科技的进步和人民的需求不断发展,测量类仪器仪表在功能上和性能上将会有更大的提高。参考文献1周立功深入浅出ARM7北京北京航空航天大学出版社,2005,11002JEANJLABROSSE嵌入式实时操作系统UCOS第二版邵贝贝北京北京航空航天大学出版社,2003,11003任哲嵌入式操作系统基础UC/OSII和LINUX北京北京航空航天大学出版社,20064刘荣圈圈教你玩USB北京北京航空航天大学出版社,20095白乔,左飞把脉VC北京电子工业出版社,20096李小燕基于ARM单片机的人机交互接口的设计仪器仪表用户2007,5,7韩金霞,杨景常,杜幻勇,黄亚琴仪器接口平台的通用USB接口模块设计四川西华大学电气信息学院,2010,8蒋芳华,程耕国实时操作系统UC/OSII在ARM7上的移植武汉武汉科技大学,2008,9李庆义,武彩宏基于UC/OSII实时嵌入式操作系统平台上的应用接口编程山西太原理工大学阳泉学院,2010,10李丹妮,刘金辉等基于VISUALC的数据采集与处理软件设计与实现微计算机信息2007,81,11711911徐君明,李国林,赵红超,范绍里基于多线程的虚拟仪表通用集成方法微计算机信息2010,81,101212魏景斌,刘俊峰,钱谡,陈其林基于CH375的USB数据传输河北河北农业大学机电工程学院,2010,13张永强,刘富军,李学东应变实验数据采集与处理系统的硬件设计与实现河北河北工程学院,2005,14朱鹏飞嵌入式的USB数据采集系统四川达州职业技术学院,2009,15PAGACOVAP,GALBOVAK,DRTILM,JONATOVAIDENITRIFICATIONINUSBREACTORWITHGRANULATEDBIOMASSCONSUMERELECTRONICSIEEETRANSACTIONSON2000,461244251116KOICHILINOYA,JOHNKEITH,BEDDOWGENJIPOWDERTECHNOLOGYJAPANM1981,566817DJFISCHBACH,CMSORENSENUNDERSTANDINGTHETHEORYOFLIGHTSCATTERINGJ1981,5668致谢本文是在我的导师肖丽萍老师的精心指导下完成的。在本文的研究和撰写过程中,导师给予了我极大的帮助和教诲。肖丽萍老师严谨的治学态度、敏锐的思维方式、正直坦荡的为人风范和孜孜不倦的敬业精神都令我深受教益,终身难忘特别是肖丽萍老师培养人才的方法和思想更是让我在研究阶段收益良多,在此我衷心感谢肖老师对我的工作、学习和生活的帮助与关怀。感谢信息科学与工程学院的全体老师对我多年来的教诲和帮助他们的教诲伴我成长诚挚感谢燕山大学无线电爱好者协会的各位同学,无线电爱好者协会是引领我进入电子世界的地方,也是我增长经验,丰富阅历的地方。在课题研究过程中协会成员给予我的无私帮助,在此表示衷心感谢感谢室友,你们的友谊为我的大学生活增添了无数快乐最后,感谢在百忙之中评阅论文和参加答辩的各位老师附录1燕山大学本科毕业设计论文开题报告课题名称基于ARM7的煤粉浓度量仪的设计学院系信息科学与工程学院年级专业07级电子信息工程4班学生姓名于杰指导教师肖丽萍完成日期2010年3月27号1综述本课题国内外研究动态,说明选题的依据和意义煤粉浓度测量仪是一种应用在煤矿、石油开采中的仪器,国内相关的仪表十分稀少,大部分都需要从国外进口。这类的仪器往往采用低端的处理器,数据采集的精度和速度有时达不到要求。在仪器的设计中大多数都采用传统的前后台程序,这样就使得仪器在矿井、油井等恶劣的条件下工作不稳定,甚至死机,并且传统的前后台程序不利于系统的升级和功能的扩展。另外,仪器的人机交互往往采用键盘输入,在煤矿等粉尘较多的环境就会降低仪器的使用寿命,造成不必要的损失。因此需要采用一种新的技术和手段实现该仪表的设计,例如该系统拟用32位高端微处理器,并在其中嵌入UCOSII操作系统,这样不仅可以提高系统采集数据的精度和速度,还可以提高整个系统的稳定性,保证了煤矿、石油开采工作的正常执行。UCOSII操作系统是世界著名嵌入式专家JEANJLABROSSE开发的,其绝大部分源码采用ANSIC编写,具有源码公开、可移植、可裁剪、占先式的多任务实时操作系统,在UCOSII操作系统的基础上开发应用程序,可以提高开发效率,缩短开发周期,提高系统性能和稳定性,自1992年问世以来,UCO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年鸡西辅警协警招聘考试备考题库及答案详解(必刷)
- 2025年驻马店辅警协警招聘考试真题附答案详解(突破训练)
- 2025年焦作辅警协警招聘考试备考题库有完整答案详解
- 2025年酉阳土家族苗族自治县辅警招聘考试题库及一套完整答案详解
- 2025年锦州辅警协警招聘考试真题及一套答案详解
- 2025年运城辅警协警招聘考试备考题库及答案详解(夺冠系列)
- 2025年璧山县辅警协警招聘考试真题及答案详解(典优)
- 2025年湖北辅警招聘考试真题完整答案详解
- 2025年萍乡辅警招聘考试真题含答案详解(b卷)
- 2025食品经销商合同范本
- 正常分娩(妇产科学课件)
- 党建趣味活动方案
- DLT 265-2012 变压器有载分接开关现场试验导则
- 大数据技术生涯发展展示
- 水平三排球正面双手垫球公开课教案
- 工艺工程师年度述职报告模板
- 2022年高考真题-数学(新高考Ⅰ卷)+无答案
- 《自强不息的人格修养》教学课件
- 肝癌的诊断和治疗课件
- 冯晓霞:义务教育新课标背景下的幼小课程衔接问题
- 【高中语文】古诗词诵读《春江花月夜》+统编版选择性必修上册
评论
0/150
提交评论