嵌入式系统在多点温度控制中的应用
无需注册登录,支付后按照提示操作即可获取该资料.
第一章 概述
1.1 引言
嵌入式系统被定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。实际上嵌入式系统是计算机的一种应用形式,是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,具有软件代码小、高度自动化、响应速度快等特点。因此它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。特别适合于要求实时的和多任务的系统。
从美国微软发布"维纳斯计划"白皮书到中国中科院推出的"女娲计划",整个世界仿佛在一夜之间掀起了嵌入式开发与应用的热潮,人们开始关注嵌入式技术的发展和应用情况。嵌入式系统的研究和开发也随之走入了高校和研究所,成为人们的学科,并且相应地开发出了嵌入式操作系统,嵌入式浏览器和嵌入式数据库等产品。在当前数字信息技术和网络技术高速发展的后PC(Post-PC)时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。
如今嵌入式系统的应用越来越广泛,那么嵌入式系统应用缘何能在近年来的信息技术应用中脱颖而出,成为众多商家角逐的对象。其实原因很简单,因为这里面蕴藏着巨大的市场,巨大的商业利益,单就电视应用而言,目前全球有2亿多有线电视用户,中国也有8000多万户,而且每年还在以600万的速度递增。如今,在这块领域里,还没有一家公司有成熟的产品,也没有标准的操作系统,更没有一个可以主导市场的垄断者。在这种局势下,虽然竞争将异常剧烈,但突围的可能性也较大,只要能够培养出自己的技术能力和市场开拓能力,是有可能取得巨大成功的。
如今嵌入式系统已经成为IT界的又一新焦点,它正处在一个飞速发展和激烈竞争的时代,它被广泛应用到金融、航天、电信、网络、信息家电、医疗、工业控制、军事等各个领域。
1.2 选题意义
微机控制系统是一种实时系统,所谓实时系统是指系统能及时地响应外部事件的请求,在许可的时间限制内完成对该事件的处理,并控制相应的设备完成实时操作。
为了满足处理实时事件的要求,绝大部分单片微机都具有中断功能。它允许在发生某一事件时(例如外部设备运行完成、定时时间到等),为了对这一事件进行处理,中止现行程序的运行而进入处理该事件的程序,处理完再返回原程序执行。
随着单片微机应用的日益深入和广泛,应用的水平越来越高,应用系统的功能也越来越复杂,一个系统经常需要控制多个对象,并且这些对象都要求实时操作。特别是现在已开始大量使用多机系统,它们一般为主从结构的多机控制系统。从机完成数据采集、计算、控制等功能。主机可向从机发命令,修改从机的参数,而从机可向主机回送结果和数据。在这样的系统中,主从机通信与从机的数据采集、计算、控制等必须并行进行,即从机在通信和执行主机的命令时,也不能影响其它操作。因此,较复杂的单片微机实时系统特别是多机系统,均要求单片微机系统具有同时进行多种实时操作的能力,我们称之为并行处理。另外,在系统软件设计中,多采用单任务顺序机制。程序由一个主循环控制,通过判断不同的标志轮循调用各功能函数,在主循环中调用的模块按顺序运行。
(论述嵌入式系统与一般系统的差别,优缺点)
本课题基于嵌入式系统的开发及应用,利用嵌入式系统的设计方法及测试技术,结合RTOS的选取原则,选用了源码公开的嵌入式实时操作系统μC/OS-II,结合实际应用,设计了一个实现对多点温度进行控制的嵌入式系统。
复杂的微机控制系统使用常规的顺序程序设计方法加上中断来实现功能是比较困难的,主要体现在以下几个方面:
(1).实时性差:由于计算机在处理中断时,一般不允许响应低级和同级中断,为了提高实时性,要求中断处理程序尽量短。但是有许多实时操作的处理比较复杂,需要较长的CPU执行时间。如果用中断来完成这些处理,则在处理时,无法响应低级或同级中断。如果采用中断置标志的方法,让主程序来进行处理,则一方面会增加程序的复杂性,另一方面也难以做到实时处理,因为主程序不可能在执行其它程序时,随时去检查这些标志位而转向不同的处理程序。
(2).难以实现并行操作的相互通信:在功能较强的实时系统中,除了主程序有时需要与中断间进行信息交换外,各个并行操作之间有时也需相互通信。这些用常规方法是难以实现的。
(3).结构复杂、移植性差、维护困难:单片微机功能的复杂化,使软件越来越复杂,特别是为了实现并行操作,需使用大量的中断和标志,使程序结构十分混乱,难以设计和调试。同时由于程序采用线性结构,使得程序难于修改或者移植,因此缺乏灵活性、通用性和可维护性。
为了解决以上的问题,可以把应用软件按所完成的功能分成一个个独立的、但可以并行运行的任务,如串行口通信任务、数据采集任务、数据计算任务、定时打印任务等。这样,整个应用软件有各个任务所组成,设计、调试时可分别进行。修改时只可修改个别任务即可,从而提高了软件的可移植性。为了提高系统的可靠性,并有效地实现任务间的相互通信,当应用程序处理的任务较多,尤其要求同时执行两个以上的工作和任务时,在软件设计中引入实时多任务操作系统(Real Time Operating System,RTOS)将非常必要。
提倡在嵌入式应用中使用RTOS的最主要原因是提高系统的可靠性。长期以来,在国内传统的开发方式是:针对某一应用,画程序流程图、编制应用程序。通常是线性程序,此机制的优势在于流程直观。这种方法的缺点是:除中断服务程序以外,各程序模块没有优先级的区别,被主循环简单地轮转调用,实时性差,响应时间无法预料;而且,当一个任务申请不到资源,或循环过程中由于某种原因无法跳出循环时,其他任务将得不到响应, 当程序很小时,虽然可通过设置Watchdog ,利用中断等方法来解决上述矛盾。如果程序变得较大,将大大增加开发时间和调试难度,复杂度不堪想象。正是上述的缺点,在干扰严重的情况下,系统安全性差。另一重要原因是提高开发效率,缩短开发周期。
系统中引入RTOS之后,有RTOS完成任务管理、任务间通信、中断管理等功能。嵌入式系统中的多任务操作系统在应用系统启动后,首先运行的是背景程序,用户的应用程序是运行于其上的各个具体任务,多任务操作系统允许灵活地分配系统资源(中央处理器、存储器等等)给各个任务,各程序模块(或者任务)就如同中断程序一样并行运行,这样就可以简化那些复杂而且时间要求严格的工程的软件设计,同时也提高了可靠性。
目前较流行的嵌入式实时多任务操作系统国外主要有VxWorks、QNX、pSOS、Windows CE 等。另外,国内也有许多自主开发的实时操作系统,如科银京成(CoreTek)公司的嵌入式软件开发平台DeltaSystem,中科院推出的Hopen嵌入式操作系统,浙江大学自主研制开发的全中文的嵌入式操作系统HBOS系统等。这些操作系统性能优越,易于移植,但均属于商业操作系统,需支付昂贵的版税。另外也有两个优秀的自由软件操作系统是μC/OS-II和嵌入式LINUX,它们也具有相当好的性能,且源代码开放,免费使用,以上这些操作系统大多都有完善的开发环境和工具。用户在进行嵌入式系统的设计时,根据具体应用和实际情况,选择适合自己的实时操作系统。
1.3 课题的实现
(本课题基于嵌入式系统的开发及应用,利用嵌入式系统的设计方法及测试技术,结合RTOS的选取原则,选用了源码公开的嵌入式实时操作系统μC/OS-II,结合实际应用,设计了一个实现对多点温度进行控制的嵌入式系统。)
目前就成本而言,在较长的一段时间,很多测控应用领域,微处理器只需8 位或16位单片机就可胜任,对于这样低端的产品开发,要完成较复杂的任务,可采用微内核的多任务操作系统如μC/OS-II、RTX、CMX等来完成软件设计。在应用中,已经能够明显减少系统的软件设计工作量,并提高了系统的可靠性。
考虑到系统实际应用,在硬件设计方面,微控制器选用了台湾Syncmos公司生产的8位微控制器SM5964, 它是80C52 微控制器家族的派生产品,其强大的片内资源,只需选用少量的外围器件即可实现系统的要求。温度测量利用Pt(100Ω)热敏电阻,测量的模拟信号经模数转换模块转换后送入微处理进行处理。模数转换器选用凌特公司(Linear Technology)推出的20位无延迟模数转换器LTC2430,此模块可直接对测量的毫伏级信号进行处理,并能够达到精度要求。其它也选用了与通信和输出控制相关的器件。
软件的设计基于软件开发平台μC/OS-II,它是由Labrosse先生编写的一个开放式内核,最主要的特点就是源码公开,此RTOS的更多优点在第三章有详细论述。一方面它是免费的,另一方面用户可以根据自己的需要对它进行修改。由于它没有功能强大的软件包,基于具体应用需要自己编写驱动程序,为使其能够正常工作,要根据具体的硬件平台完成相应的移植工作。μC/OS-II是一个占先式的内核,即已经准备就绪的高优先级任务可以剥夺正在运行的低优先级任务的CPU使用权。这个特点使得它的实时性比非占先式的内核要好。在设计中,给予不同任务不同的优先级,提高了系统的实时性。对温度控制方面,采用了一种基于时间最优控制的PID算法实现对温度控制。
除了实现对温度的采集、处理、控制之外,本课题一方面利用SM5964的ISP功能,实现了PC机利用ISP技术进行对系统远程加载和升级。另一方面,利用RS232串行通信技术,实现了PC机与系统的通信,并可对系统进行远程控制。从而实现了微机控制系统中主从式控制系统结构。
1.4 论文的章节安排
论文的结构及内容安排如下:
第一章 概述
概述部分由嵌入式系统成为当今IT行业又一热点开始,结合当前微机控制领域存在的问题,论述了在此领域引入嵌入式操作系统的必要性,引出课题的意义。最后给出课题的实现方案。
第二章 嵌入式系统
本章首先对嵌入式系统的历史进行论述,引出其当前的定义,并提出了RTOS所要解决的几个问题。然后提出了嵌入式系统的两大组成部分:嵌入式处理器和嵌入式实时操作系统,分析了当前嵌入式处理器的分类以及当前流行嵌入式操作系统的特点。最后论述了嵌入式系统的开发工具及应用状况,并对嵌入式系统的未来发展趋势加以展望。
第三章 系统的开发环境及相关技术
本章根据第二章的论述,结合课题的需要,首先对系统选用的主控芯片SM5964的特性进行了介绍,并根据嵌入式操作系统的选取原则,对系统选用的RTOS ---μC/OS-II的特点进行了论述。然后根据系统实际应用介绍了对实时内核进行的扩展。最后,阐述了系统设计中使用的嵌入式系统软/硬件协同设计技术和测试技术。
第四章 系统的设计与实现
本章中论述了本课题的核心,详细论述了实现对多点温度进行控制的嵌入式系统的设计。从对系统的硬件设计进行论述开始,然后完成根据具体的硬件平台进行操作系统的移植工作。最后对系统的软件设计进行了详细的阐述,在软件设计中,把系统的软件分成人机交互、串行通信、温度的测量及控制、远程加载等四大模块,并对每一模快的具体实现进行了详细论述。
第五章 PC侧程序的设计
本章中论述了对系统进行远程监控和ISP功能主控侧程序的实现,模拟实现了主从式微机控制系统主控方的程序设计。首先论述了VC++对多线程的支持以及多线程编程中的关键问题,然后详细阐述了主机侧通信功能和ISP功能的设计。
第六章 系统的扩展及总结
本章简要介绍了在系统中实现文件系统和网络功能的方法,对整个课题给予总结。
第二章 嵌入式系统
嵌入式系统的发展和应用是现代信息社会的一个重要特征,已经被用于各行各业,也深入地影响到人们的生活和工作,本章较为全面地介绍和研究了嵌入式系统的基本概念和原理,并对嵌入式系统的发展方向和趋势作一定的论述,对于了解嵌入式系统及其开发和研究将起到一定的作用。
2.1 嵌入式系统的基本概念
2.1.1 嵌入式系统的历史
虽然嵌入式系统是近几年才风靡起来的, 但从20世纪70年代单片机的出现到今天各式各样的嵌入式微处理器、微控制器的大规模应用,嵌入式系统已经有近30年的发展历史。作为一个系统,往往是在硬件和软件双螺旋式交替发展的支撑下逐渐趋于稳定和成熟,嵌入式系统也不例外。
嵌入式系统最初的应用是基于单片机的。20世纪70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能,更容易使用,更快、更便宜。这些装置已经初步具备嵌入式的应用特点,但是这时的应用只是使用8位的芯片,执行一些单线程的程序,还谈不上"系统"的概念。
从80年代早期开始,嵌入式系统的程序员开始用商业级的"操作系统"编写嵌入式应用软件,这使得开发人员可以进一步缩短开发周期,降低开发成本并提高开发效率。1981年,Ready System 开发出世界上第一个商业嵌入式实时内核(VTRX32)。这个实时内核包含了许多传统操作系统的特征,包括任务管理、任务间通信、同步与相互排斥、中断支持、内存管理、时钟管理等功能。如Integrated System Incorporation (ISI)(现已被风河公司收购)的pSOS和WindRiver(风河)的VxWorks、QNX公司的QNX等。这些嵌入式操作系统都具有嵌入式的典型特点:系统内核很小,具有可裁减性、可扩充性和可移植性,可以移植到各种处理器上;较强的实时性和可靠性,适合嵌入式应用。这些嵌入式实时多任务操作系统的出现,使得应用开发人员从小范围的开发中解放出来,同时也促使嵌入式有了更为广阔的应用空间。
第一章 概述 3
1.1 引言 3
1.2 选题意义 3
1.3 课题的实现 5
1.4 论文的章节安排 6
第二章 嵌入式系统 8
2.1 嵌入式系统的基本概念 8
2.1.1 嵌入式系统的历史 8
2.1.2 何为嵌入式系统 9
2.1.3 嵌入式实时操作系统 10
2.2 嵌入式系统的组成 11
2.2.1 嵌入式处理器 11
2.2.2 嵌入式操作系统 12
2.3 嵌入式系统的开发 15
2.4 嵌入式系统的应用 16
2.5 嵌入式系统的未来发展趋势 16
第三章 系统开发环境与技术 18
3.1 系统的开发环境 18
3.1.1 SM5964概述 18
3.1.2 嵌入式操作系统----μC/OS-II 19
3.2嵌入式系统软/硬件协同设计技术 25
3.3嵌入式系统的测试技术 27
第四章 系统的设计与实现 29
4.1 系统的硬件设计 29
4.2 系统的移植 33
4.3 系统的软件设计与实现 35
4.3.1 设计总述 35
4.3.2 任务的划分 36
4.3.3 人机交互模块的详细设计 38
4.3.5 温度测量及控制模块详细设计 43
4.3.6 远程加载程序的设计 47
第五章 PC侧程序的设计 50
5.1 PC机侧串行通信程序的设计 50
5.1.1程序设计的关键技术 51
5.1.2 通信协议的制定 52
5.1.2 PC机侧通信程序的实现 53
5.2 PC侧ISP功能控制模块设计 58
5.2.1 PC机侧传输协议约定 58
5.2.2 控制界面和流程图设计 59
第六章 结论 61
6.1 总结 61
6.2 进一步的研究 61