[硕士论文精品]基于arm的新型远程配变监控终端研究与设计_第1页
[硕士论文精品]基于arm的新型远程配变监控终端研究与设计_第2页
[硕士论文精品]基于arm的新型远程配变监控终端研究与设计_第3页
[硕士论文精品]基于arm的新型远程配变监控终端研究与设计_第4页
[硕士论文精品]基于arm的新型远程配变监控终端研究与设计_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

基于ARM的远程配变监控终端研究与设计II摘要我国经济的快速发展促进各行业对电力需求的飞速增长,电力需求侧管理随着电力系统管理的自动化而不断发展起来。用电现场负荷监控终端是电力需求侧管理的一个重要组成部分,它为有效利用能源、合理分配能源,鼓励用户均衡用电,实现电力需求侧科学管理提供了技术基础。负荷监控终端利用微电子技术、电力电子技术和传感器技术对用电现场的各种电能参数进行采集和全方位监控,在电力需求侧管理中承担着重要角色。它为电力管理部门和用电企业间搭起了信息桥梁,不仅实时提供企业用电的各种信息,而且能够及时执行电力管理部门的远程命令,实现远程操作。电力管理部门向终端安排合理的用电方案,能够对企业的用电实现宏观调控,这对企业的长足发展和电力管理部门的合理调度电能有很好的推动作用。因此对负荷监控终端的研究具有重大的现实意义。论文对目前国内外的负荷监控终端在的发展现状进行了概述,分析了负荷监控终端在国内的电力负荷管理技术中的地位和作用,以及当前负荷监控终端系统的技术水平和实现方法,在研究了终端设计多项技术的基础上,结合工程项目的要求对微处理器和操作系统进行了具体选型,设计了一种基于ARM和C/OS的配变监控终端,在基于ARM技术的LPC2124微处理器和外围接口芯片上,进行了终端系统的设计;实现了COS在LPC2124MCU上的移植;编写了基于C/OS的API接口函数和底层硬件驱动程序;采用多任务按优先权调度的方式解决了任务处理的实时性,克服了传统前后台软件在复杂的监控终端设计中实时性差的弊端,实践证明用这种设计思想制作的配变监控终端能较好地满足工程应用实际需要。关键词嵌入式系统;远程抄表;GPRS;C/OS工程硕士学位论文IIIABSTRACTWITHTHERAPIDDEVELOPMENTOFTHEECONOMYOFOURCOUNTRY,THEREQUIREMENTOFPOWERINCREASESQUICKLYINALLENTERPRISESDEMANDSIDEMANAGEMENTDSMISDEVELOPEDWITHTHEDEVELOPMENTOFPOWERSYSTEMMANAGEMENTAUTOMATIONTHETERMINALOFDISTRIBUTENDANDMONITORINPOWERCONSUMPTIONFIELDISAIMPORTANTDEPARTMENTOFDSM,ITISAUSABLETECHNICALBASESTHATUSINGENERGYVALIDLY,DISTRIBUTINGENERGYREASONABLY,ENCOURAGINGCONSUMERSUSINGELECTRONICEQUALLYANDREALIZINGPOWERSYSTEMMANAGEMENTAUTOMATIONTHETERMINALOFDISTRIBUTEANDMONITORMAKESUSEOFTHETECHNOLOGYOFMICROELECTRONICS,POWERELECTRONICSANDSENSOR,WHICHCOLLECTANDCONTROLALLKINDSOFELECTRICPOWERPARAMETERSOFPOWERCONSUMPTIONFIELD,ANDITISAIMPORTANTPARTINTHEDSMITISAMESSAGEBRIDGEBETWEENMANAGEMENTPARTOFELECTRICPOWERANDELECTRICENTERPRISENOTONLYCANITSUPPLYALLKINDSOFMESSAGEOFUSAGEELECTRICENTERPRISEONTIME,BUTALSOCANITEXECUTELONGDISTANCEORDEROFELECTRICPOWERMANAGEMENTPARTINTIME,REALIZINGTHELONGDISTANCEOPERATIONTHEELECTRICPOWERMANAGEMENTDEPARTMENTARRANGESELECTROPROJECTREASONABLYANDCANREALIZEMACROSCOPICALCONTROLWITHELECTRONIC,WHICHISAFORCETODEVELOPAENTERPRISEANDATTEMPERELECTRICPOWERREASONABLYINELECTRICPOWERMANAGEMENTPARTSINCETHEDESIGNOFTHETERMINALOFDISTRIBUTEANDMONITORHASWIDEFORGROUNDTHEPAPERSUMMARIZESOFTHETERMINALONDSMINDIFFERENTCOUNTRIESANALYSESTHESTATUSANDFUNCTIONOFTHETERMINALONDOMESTICDSM,ANDTHETECHNOLOGYLEVELOFTHETERMINALANDITSDESIGNMETHODBASEDONTHEREASERCHOFMANYTECHNOLOGY,WESELECTSTHEMICROPROCESSORANDOPERATINGSYSTEMCOMBINEDWITHTHEDEMANDOFTHEPROJECTANDDESIGNAPROCEDUREPRESENTEDONTERMINALWHICHBASEDONARMANDC/OSITDESIGNSTHETERMINALSYSTEMBASEDONTHELPC2124ANDPERIPHERYINTERFACECHIPSETANDIMPLEMENTSTHETRANSPLANTATIONOFC/OSONTHELPC2124COMPILESTHEHARDWAREDRIVERSPROCESSANDAPIINTERFACEFUNCTIONBASEDONC/OSTHESYSTEMINTRODUCESMULTITASKBASEDONDISPATCHINGPRIORITYTOSOLVETHEDISPOSALOFPROJECTINREALTIME,WHICHCNQUERTHEDISADVANTAGEOFUSINGCOMMONBACKGROUNDSYSTEMINDESIGNOFTHETERMINALOFDISTRIBUTEANDMONITORITISPROVEDTHATTHEDESIGNOFTHETERMINALOFDISTRIBUTEANDMONITORCANMEETTHENEEDSOFPROJECTAPPLICATIONKEYWORDSEMBEDDEDSYSTEMREMOTEREADINGMETERGPRSC/OSI湖南大学学位论文原创性声明本人郑重声明所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名晏五一日期2007年5月8日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密,在_年解密后适用本授权书。2、不保密。(请在以上相应方框内打“”)作者签名晏五一日期2007年5月8日导师签名朱志杰朱健日期2007年5月8日工程硕士学位论文1第1章绪论本章简介了中外电力需求侧管理发展与现状,国内负荷监控终端的发展现状和研究的现实意义,以及嵌入式系统在负荷监控终端的应用。介绍了这一课题的研究背景、研究思路、以及研究过程中的工作重点和创新之处。11国外电力负荷管理技术的发展有效地利用能源、合理分配能源,鼓励用户均衡用电,实现电力需求侧科学管理是电力管理工作者面临的一个重要课题。利用市场杠杆,用不同电价鼓励用户均衡用电,必须有相应的技术支持。1913年,都得尔等三人提出用200HZ/10V的电压在供电网络上去控制路灯和热水器的方案,提出了最早的音频控制方法,试图从技术上探索对科学管理用电提供支持的可行方法。自20世纪40年代起,欧洲大陆各国开始广泛地发展和应用集中音频控制技术。日本在60年代开始注意研究负荷控制技术,从欧洲引进制造技术,到70年代已广泛安装使用了音频脉冲控制装置。而美国,认识到充分利用能源的重要性后,开始大力研究与推广负荷控制技术。在70年代中期,引进了瑞士的音频脉冲控制装置,后来又开发了无线电负荷控制,配电载波负荷控制和工频电压波形畸变控制等多种控制方式的负荷控制装置来实现电力需求侧的科学管理。到20世纪90年代初期,世界上已有几十个国家采用美国技术,使用各种电力负荷控制系统,先后安装各类终端设备已达几千台,可控负荷覆盖面占全世界发电总装机容量的10以上2。全世界范围内的电力需求侧科学管理迈入快速发展的轨道。12我国电力负荷管理技术的发展现状由于历史的原因,我国对电力是商品的意识不强,电力营销中没有完全遵循市场经济的基本规律。虽然电力企业的经济体制和经营体制发生了巨大变化,但由于电力这个商品的特殊性,先用电,后收费的现象依然很普遍。传统的人工“抄、核、收”是传统经济管理模式下的工作流程,在营销过程中缺乏技术手段,不能有效地起到监督作用,迫切需要一种科学的管理模式加强电力负荷管理。自20世纪90年代中国开始引入需求侧管理以来,电力负荷管理作为需求侧管理的一个重要组成部分得到大力发展,从最初的单向控制到双向控制,从单纯的遥控功能发展到集遥控、遥信和遥测等多项功能于一体的较为完善的用户侧网络,特别是在20世纪90年代中期的初始阶段,得到了大力发展,显然在电力系基于ARM的远程配变监控终端研究与设计2统的电力供应远远不能满足电力市场的需求的情况下,使用必要的限电手段从而保证电力系统发电、供电的安全,而利用电力负荷控制系统进行限电,又是最方便、直接和损失最小的方式。通过有效的负荷管理,可以有效控制高峰负荷、移峰填谷、缓解日益扩大的“峰谷差”所带来的低用电效率,也对提高电力网络的经济运行、减少电力供应侧的运行成本、解决大面积的“电荒”问题都具有现实和深远的意义5,以广东电力集团为例,2003年8、9月仅因加强负荷的移峰填谷管理所带来的效益就相当于新建一个500MW电厂,电网平均负荷率也比上年同期上升约35个百分点,这也是各发达国家不遗余力地完善负荷管理系统的根本原因。近年来,国家电力管理部门多次下文对各电力公司提出重视加强负荷管理工作的具体要求。沿海一些省市经济发达地区电力公司积极响应,如上海新近装备了1000多台套各类终端,为推进电力需求侧管理打下了坚实的基础。13负荷监控终端的地位和作用负荷监控终端是利用微电子技术、电力电子技术和传感器技术对用电现场的各种电能参数进行采集和全方位监控,是电力需求侧管理强有力的管理工具,它实现了电力管理部门对用电现场的远程管理。负荷监控终端在电力需求侧管理中承担着重要角色,它为电力管理部门和用电企业间搭起了信息桥梁,不仅实时提供企业用电的各种信息,而且能够及时执行电力管理部门的远程命令,实现远程操作。电力管理部门向终端安排合理的用电方案,能够对企业的用电实现宏观调控,在近年来的电力紧缺情况下起到了“移峰填谷”的效果,缓解了用电的紧张形势,这对企业的长足发展和电力管理部门的合理调度电能有很好的推动作用。因此对负荷监控终端的研究具有重大的现实意义。14我国电力负荷管理技术的发展方向随着电力行业的发展和企业生产的宏观调控,我国的电力供需矛盾虽然在一定时期内得到一些缓解,但从目前电力系统的发展趋势看,原有的电力负荷控制系统已远远不能满足用电管理的现代需求。必须要进行功能及技术上的更新及完善。新一代的电力负荷管理系统应从以下方面进行发展1扩展应用对象;2加强集中抄表和远方抄表功能;3加强预购电和限电催费功能;4增加配变管理功能;5增加并网管理功能;工程硕士学位论文36增加计量监测和计量装置的远程实时检定功能;7增加防窃电功能;8增加供电质量管理功能;9增加电能损耗管理功能;10增加负荷统计分析预测管理功能;11拓宽终端通信方式;12故障诊断和维护自动化。15项目的研究背景和现实意义本项目要求设计的终端功能尽可能适应我国电力负荷管理技术的发展方向。要求采集的电能参数主要包括三相电的电流、电压、功率、功率因素、有功电能和无功电能等参数,其中有功、无功电能的精度要求达02S和05S,无功电能应包括四象限无功电能。能够实时计算用电现场的负荷曲线,根据控制方案对终端用电设备进行功率控制、电量控制、临时限电控制和远程遥控等综合控制。对于现场的各种告警事件能够及时捕捉、记录并通过有线或者无线的方式远程上报告警时的相关电能参数。现有的终端产品,普遍采用8、16位微处理器单片机,运算速度较低,软硬件的资源也非常有限,在实际应用中主要用于远程抄表,功能较单一化9。通信方式一般采用电力载波、电话线和无线电台等方式,这些通信方式普遍存在可靠性差、维护困难等缺点。所以,有些场合采集终端采用计算机工作站(RTU),而因成本高难以推广,不能满足当今电力市场飞速发展和用电监控终端的网络自动化的需要10。随着计算机网络和嵌入式技术的发展,功能单一的抄表终端,日益成为终端系统发展的瓶颈。随着用电需求侧管理在国内电力市场的不断深入,要求负荷终端不仅有负荷监控、查询与计算、负荷电量分析及预测,而且要求能够进行购电管理、支持反窃电技术及电压合格率监测等功能。对终端产品的智能化也提出了更高的要求。随着通信技术的进步,原有的通信方式也不能满足负荷终端的实时性和稳定性的要求。近年来,有些终端产品采用短消息通信模式实现远程通信,但实时性不够好。随后,在GSM网络技术的基础上又拓展出了GPRS通信技术,GPRS网络共用GSM网络的硬件资源,它具有无线通信和按流量计费的优势,具有响应速度快、可靠性高和维护方便而且费用低等特点11。GPRS的通信方式渐渐地成为负荷终端产品的主流通信方式。由于ARM芯片具有功耗低、成本低等显著优点,因此获得众多的半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,目前已经占有基于ARM的远程配变监控终端研究与设计475以上的32位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。使用32位RISC构架的ARM微处理器,从硬件上克服了传统8/16位单片机在处理能力、系统构架、寻址范围和外围接口能力上的不足12,13。ARM内核微处理器采用多级流水线技术,指令的执行速度在与相同主频的单片机有很大的提升,ARM指令系统的功能丰富,包括而32位ARM指令集和16位THUMB指令集,其中16位THUMB模式将代码规模降低超过30,而性能的损失却很小14。由于众多芯片厂商的支持,基于ARM内核的微处理器存储器扩展方便,寻址能力强,外围接口丰富,非常适合实时、多任务操作系统的运行,为复杂系统的设计提供了一种可靠的方案,其可靠性在应用领域得到了广泛的证实15。C/OS是一种可移植、可固化、可裁剪和可剥夺型的多任务实时内核(RTOS),适合各种微处理器和微控制器。其源码用ANIS的C语言编写,具有良好的可移植性,它已经被移植到40多种处理器构架中,包括8位到64位的各种CPU。自从1992年起,C/OS已经在全世界从照相机到航空设备等各个领域得到了广泛应用。RTOS的可靠性和安全性也已经得到了广泛的证明16,17。综合以上分析,我们提出了一种基于ARM和C/OS的新型嵌入式配变监控终端的研究与设计。本项目研究了在C/OS在PHILIPS的32位ARM微处理器LPC2124上的移植,建立完成了相应嵌入式开发平台建立,并在该平台开发终端应用软件,最后结合GPRS网络通信技术,实现终端与前置机的通信。该项目的研究在工程实用上具有一定的创新意义,使得负荷终端的功能得到进一步完善,智能化程度进一步提高。16论文涉及的主要研究工作1分析了用电负荷监控在用电需求侧管理的发展现状以及用电管理部门对用负荷终端产品提出的新的要求。2调查与总结了目前国内外嵌入式系统的现状与发展趋势,分析嵌入式技术应用于负荷终端的特点,并寻找一种合适的设计方案。3研究C/OS实时操作系统的内核结构,为C/OS在PHILLIPS的LPC2124嵌入式MCU上的移植作理论准备。4操作系统移植,包括改写OS_CFGH、INCLUDEH和OS_CPUH等三个头文件;编写OS_CPU_CC文件,编写应用程序接口(API),构建嵌入式软件开发平台。5根据负荷终端对电能计量精度的要求,结合不同计量芯片的性能特点,合理选择相关计量芯片以满足采集配变现场电能数据的要求。6设计终端的控制方案和防窃电方案,通过配变现场数据分析各种告警状态及处理告警。7设计终端的通信协议并成功实现负荷终端与前置机的通信。工程硕士学位论文58完成负荷终端系统的软硬件设计;对系统的干扰源进行分析,提出相关的硬件和软件抗干扰措施。基于ARM的远程配变监控终端研究与设计6第2章嵌入式系统嵌入式系统(EMBEDDEDSYSTEM)是以应用为中心和计算机技术为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能18。在嵌入式系统中,尤其在工业应用中对实时性要求很高,因此嵌入式系统大多为实时系统。21嵌入式实时系统的基本概念实时系统的定义是指能够在确定的时间内执行计算或处理功能并对外部事件做出反应的计算机系统19。实时操作系统(RTOSREALTIMEOPERATINGSYSTEM)是整个实时系统的一个组成部分,它必须提供足够的功能以确保整个实时系统达到要求。其核心部分有时也称为实时内核,实时操作系统若用在嵌入式系统中,称为嵌入式实时系统或简称嵌入式系统20。RTOS是一种具有高可靠性和实时性的系统软件。作为一个完整的操作系统,它有一个可靠性很高的实时内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的应用程序接口(API);能根据各个任务的优先级,合理地在不同任务之间分配CPU时间,保证程序执行的实时性、可靠性;通过将应用程序分割成若干独立的任务,使应用程序的设计过程大为减化,不需要大的改动就可以增加新的功能;使用抢占式内核时,所有时间要求苛刻的事件都得到了尽可能快捷、有效的处理;通过有效的服务,如信号量、邮箱、队列、延时、超时等,使资源得到更好的利用。正是由于以上特点,实时操作系统成为嵌入式操作系统的首选。下面介绍实时操作系统的一些基本概念21。1前后台系统通常的单片机程序一般设计成如图21所示的模式。这种系统可称为前后台系统(FOREGROUND/BACKGROUNDSYSTEM)或超循环系统(SUPERLOOPS)。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(BACKGROUND)。中断服务程序处理异步事件,这部分可以看成前台行为(FOREGROUND)。后台可以叫做任务级,前台则叫做中断级。时间相关性很强的关键操作一定是靠中断服务来保证的。一般来说,中断服务程序只对外部事件完成一个简单的处理,就把处理信息交给后台程序来执行接下来的操作。但中断服务提供的信息一直要等到后台程序走到该处理这个信息这一步时才能得到处工程硕士学位论文7理,这种系统在处理信息的及时性上比较差。这个指标称作任务级响应时间,最坏情况下的任务级响应时间取决于整个循环的执行时间。因为循环的执行时间不是常数,程序经过某一特定部分的准确时间也是不能确定的,如果程序修改了,循环的时序也会受到影响18。BACKGROUNDFOREGROUNDISRISRISRTIMECODEEXECUTION图21前后台系统2资源和共享资源任何为任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器、存储器,资源也可以是一个变量,一个结构或一个数组等可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时必须独占该资源。当其它任务也要使用该资源时,则必须等待当前任务主动释放该资源的使用权。使用共享资源的这种机制称为互斥16。3任务及任务状态多任务运行的实现实际上是靠CPU在许多任务之间转换、调度18。CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行很像前后台系统,但后台任务有多个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务,应用程序将更容易设计与维护。4任务及任务状态一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全只属于该程序自己。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的堆栈空间。而实时应用程序的设计过程包括如何把问题分割成多个任务,如何给每个任务赋予一定的优先级,如何分基于ARM的远程配变监控终端研究与设计8配CPU寄存器和堆栈空间,多任务空间分布如图22所示17。任务1堆栈任务2堆栈任务N堆栈任务1控制块任务2控制块任务N控制块寄存器内容图22多任务空间每个任务都是一个无限的循环。每个任务都处在以下5种状态之一的状态下,它们分别是休眠态,就绪态、运行态、挂起态(等待某一事件发生)和被中断态,如图23所示。等待状态休眠状态就绪状态运行状态ISR状态等待开始等待开始等待结束删除任务删除任务删除任务创建任务任务切换任务切换中断产生中断结束图23任务的状态休眠态(DORMANT)相当于该任务驻留在内存中,但并不被多任务内核所调度;就绪态(READY)意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行;运行态(RUNNING)的任务则表示该任务掌握了CPU的控制权,正在运行中;挂起状态也可以叫做等待事件态(WAITING),表示该任务在等待某一事件的发生(例如等待某外设的I/O操作,工程硕士学位论文9等待某共享资源由暂不能使用变成能使用状态,等待定时脉冲的到来或等待超时信号的到来以结束目前的等待,等等);最后,发生中断时,CPU提供相应的中断服务,原来正在运行的任务暂不能运行,就进入了被中断状态(ISR)。5任务切换当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状况保存区,也就是任务自己的堆栈区之中,如图22所示。入栈工作完成以后,就是把下一个将要运行的任务的当前状况从该任务的堆栈中重新装入CPU的寄存器,并开始下一个任务的运行,这个过程叫做任务切换(CONTEXTSWITCHORTASKSWITCH)。任务切换过程增加了应用程序的额外负荷,CPU的内部寄存器越多,额外负荷就越重,做任务切换所需要的时间取决于CPU有多少寄存器要入栈。6内核实时多任务系统中,内核(KERNEL)负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换,之所以使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核本身也增加了应用程序的额外负荷,代码空间增加ROM的用量,内核本身的数据结构增加了RAM的用量。但更主要的是,每个任务要有自己的堆栈空间,这会大量增加RAM的需求量。内核本身对CPU的占用时间一般在25之间23。7调度调度(SCHEDULER)是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。8不可剥夺型内核与可剥夺型内核不可剥夺型内核要求每个任务自我放弃CPU的所有权。不可剥夺型调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。不可剥夺型内核的一个优点是响应中断快。在任务级,不可剥夺型内核允许使用不可重入函数。每个任务都可以调用非可重入性函数,而不必担心其它任务可能正在使用该函数,从而造成数据的破坏。因为每个任务要运行到完成时才释放CPU的控制权。使用不可剥夺型内核时,任务级响应时间比前后台系统快得多。此时的任务级响应时间取决于最长的任务执行时间。可剥夺型内核的另一个优点是,几乎不需要使用信号量保护共享数据。运行着的任务占有CPU,而不必担心被基于ARM的远程配变监控终端研究与设计10别的任务抢占。不可剥夺型内核的最大缺陷在于其响应时间。高优先级的任务已经进入就绪态,但还不能运行,必须等待,直到当前运行着的任务释放CPU。与前后系统一样,不可剥夺型内核的任务级响应时间是不确定的,最高优先级的任务何时能够拿到CPU的控制权,完全取决于当前任务主动释放CPU。总之,不可剥夺型内核允许每个任务运行,直到该任务自愿放弃CPU的控制权,中断可以打断运行着的任务,中断服务完成以后将CPU控制权还给被中断了的任务,任务级响应时间要大大好于前后系统,但仍是不可知的。当系统响应时间很重要时,要使用可剥夺型内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务便开始运行18。使用抢占式型内核,最高优先级的任务什么时候可以执行,可以得到CPU的控制权是可知的。使用抢占式型内核使得任务级响应时间得以最优化20,24。22嵌入式系统的选型221嵌入式处理器的选型在国内的嵌入式行业,一直致力于8和16位单片机的领域。随着嵌入式技术的飞速发展,近年来开始转向32位的嵌入式处理器领域的设计与应用。32位嵌入处理器在国内占有重要市场的有美国的ATMEL公司、韩国的SAMSUNG公司和荷兰PHILIPS公司。它们的典型产品如下ATMEL公司ARM系列AT91X40、AT91X63、AT91X42和AT91X55;SAMSUNG公司ARM系列S3C44B0、S3C2400和S3C4510;PHILIPS公司ARM系列LPC2100系列和LPC2200系列。以上三家公司提供的32位的嵌入式处理器均采用ARM内核,应用软件设计通用性好,内部资源丰富,接口齐全,但鉴于嵌入式设计是面向应用,要根据具体对象量体裁衣。SAMSUNG公司ARM系列主要面向通信产品和PDA等应用,没有工业级芯片,所以针对工业控制类产品的设计的处理器选型就在ATMEL公司和PHILIPS公司之间取舍。PHILIPS的ARM处理器在内嵌存储器上有着明显的优势,在相同CPU频率下,相比ATMEL公司的其性能有明显的提升2529。PHILIPS、ATMEL、HYNIX和OKI都致力于基于ARM7TDMIS内核的带有FLASH的MCU的设计,而且这些厂商的器件都比PHILIPSMCU的FLASH容量更大。最强大的竞争对手是ATMEL,它的AT91系列就有4款这样的芯片有些具有2MB的工程硕士学位论文11FLASH,16倍于现有的PHILIPSLPC2100系列器件。ATMELMCU倾向于具有更多的SRAM,其中两款的时钟速度高于PHILIPS的芯片,但性价比不高。在ATMEL的MCU当中,FLASH接口的宽度只有32位,而不PHILIPS的128位宽度。访问时间大约110NS,只有PHILIPSFLASH存储器速度的一半。ATMEL的MCU只有在执行SRAM中代码时才能发挥其完全的性能。而PHILIPSMCU执行零等待FLASH存储器中的程序却不会有性能上的损失。PHILIPS的018微米嵌入式FLASH工艺的另一个优点是实现了较小的芯片,这样不但降低了功耗,减小了封装尺寸,而且降低了成本。PHILIPSMCU的尺寸只有77MM,比最接近的对手ATMEL的1010MM的AT91FR4042和AT91FR40162的尺寸小了一半。虽然ATMEL的MCU倾向于比PHILIPS的MCU具有更多的SRAM,但是要用它来弥补较慢的FLASH存储器的不足,而SRAM比FLASH更大而且更贵。PHILIPS的018微米工艺使LPC2100器件的内核电压和其它参数在非常小的嵌入式系统中具有优势30。LPC2100系列基于一个支持实时仿真和跟踪的16/32ARM7TDMISCPU,并带有128/256KB嵌入的高速FLASH存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位THUMB模式将代码规模降低超过30,而性能的损失却很小。由于LPC2100系列采用非常小的64脚封装、极低的功耗、多个32位定时器、4路10位ADC、PWM输出以及多达9个外部中断,这使它们特别适用于工业控制、医疗系统、访问控制和电子收款机(POS)等应用领域。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器、嵌入式软件调制解调器以及其它各种类型的应用。后续的器件还将提供以太网、80211以及USB功能31。综合以上分析,PHILIPS公司的LPC2100系列的LPC2124嵌入式处理器是我们在现场配变监控终端的设计中的首选。222嵌入式操作系统的选型嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。在嵌入处理器内嵌入实时操作系统是嵌入式应用的一个必然发展趋势32。嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。32位CPU比8、16位CPU快,另外它本来是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。32位CPU的设计有利于提高系统可靠性和稳定性。1嵌入式操作系统的选项型原则自20世纪80年代起,国际上就有一些IT组织、公司开始进行内用嵌入式操作系统和专用操作系统的研发。发展到现在全球范围内的商用嵌入式操作系统就多达200多种,它们中的许多种功能完善,资源丰富,应用领域广,市场占有率基于ARM的远程配变监控终端研究与设计12高,但费用昂贵,多应用于大型的嵌入式领域,如VXWORKS、WINDOWSCE、LINUX和PSOS等;也有一部分开源码的免费嵌入式操作系统如CLINUX和C/OS等,它们有着小而精简的内核,具备嵌入式操作系统的基本功能,在实际应用也广泛采用,尤其适合于一些小型的嵌入式应用中。基于嵌入式操作系统的品种多样性和功能复杂性,本设计在选型时重点考虑以下原则。1可移植性当进行嵌入式软件开发时,可移植性是要重点考虑的问题。良好的软件移植性可以在不同平台、不同系统上运行,跟操作系统无关。软件的通用性和软件的性能通常是矛盾的。即通用以损失某些特定情况下的优化性能为代价。2可裁剪性和成本在嵌入式应用设计中,选用嵌入操作系统的选择还要根据硬件平台所能提供的资源进行取舍。在小规模的嵌入式应用中,产品成本是一个非常敏感的因素。设计者首先要考虑到嵌入式操作系统的可裁剪性,操作系统的可裁剪性好,对硬件资源要求低,进而提高了产品的性价比。CLINUX和C/OS都是开源码的免费操作系统,可裁剪性好,占用硬件资源少,功能比较齐全,在小规模的嵌入式应用很受青睐12,16。2开源码嵌入式操作系统简介1CLINUX是专为无MMU的微处理器打造的嵌入式LINUX操作系统,由LINUX20/24内核派生而来,沿袭了主流LINUX绝大部分特性。由于大多数内核的二进制代码和源代码都被重写,进一步缩减了CLINUX内核的代码,而保留了LINUX的主要优点稳定性、优秀的网络能力、完备的对各种文件系统的支持以及丰富的API等。而更重要的一点是它是开放的源代码和免费的,同其它的嵌入式操作系统相比有无可比拟的优势。现在CLINUX越来越受到业界的青睐,被移植到更多的无MMU芯片上16。2C/OS是一种可移植、可固化、可裁剪及可剥夺型的多任务RTOS,适合于各种微处理器和微控制器。其性能足可媲美于商用内核,在某些方面甚至更佳。所有代码用ANSI的C语言编写,故具有良好的可移植性。实际上,C/OS已经被移植到40多种处理器构架中,从8位到64位的各种CPU。自1992年起,C/OS已在全世界从照相机到航空设备等各个领域得到广泛应用。这个RTOS的健壮性、可靠性和安全性已经得到了广泛的证明。对于各类系统,包括一些对安全性要求极为苛刻的系统,它都能胜任16。根据现场配变监控终端产品的设计要求,选用小内核的、免费的嵌入式操作系统有利于提高产品的性价比,从嵌入式操作系统的选型原则上分析,CLINUX和C/OS的可移植性好、系统定制力强、成本低(免费开源码)和裁剪性好,使得产品进行市场的时间短,仅可利用资源较少,但终端产品对操作系统资源的要求较低34,35,所以终端的操作系统的选择在对CLINUX和C/OS的取舍是一种好的工程硕士学位论文13选择。3C/OS和CLINUX的比较1进程调度方式C/OS是基于优先级进程调度方式,采用的是可剥夺型实时多任务内核;CLINUX是基于时间片的进程调度方式。它们都不支持MMU(存储器管理)功能。C/OS内核是针对实时系统的要求设计实现的,相对简单,可以满足较高的实时性要求。而CLINUX则在结构上继承了标准LINUX的多任务实现方式,仅针对嵌入式处理器特点进行改良。2文件系统C/OS是面向中小型嵌入式系统的,如果包含全部功能信号量、消息邮箱、消息队列及相关函数,编译后的C/OS内核仅有610KB,所以系统本身并没有对文件系统的支持。但是C/OS具有良好的扩展性能,如果需要的话也可自行加入文件系统的内容。CLINUX则是继承了LINUX完善的文件系统性能。CLINUX还继承了LINUX网络操作系统的优势,可以很方便的支持网络和文件系统,且内嵌TCP/IP协议,这为CLINUX开发网络接入设备提供了便利。由两种操作系统对文件系统的支持可知,在复杂的需要较多文件处理的嵌入式系统中CLINUX是一个不错的选择。而C/OS则更适合于一些控制系统。3操作系统的移植要移植C/OS,目标处理器必须满足以下要求。处理器的C编译器能产生可重入代码,且用C语言就可以打开和关闭中断;处理器支持中断,并能产生定时中断;处理器支持足够的RAM(几K字节),作为多任务环境下的任务堆栈;处理器有将堆栈指针和其他CPU寄存器读出和存储到堆栈或内存中的指令。CLINUX是LINUX针对嵌入式系统的一种改良,其结构比较复杂,相对C/OS,CLINUX的移植也复杂得多。一般而言要移植CLINUX,目标处理器除了应满足上述C/OS应满足的条件外,还需要具有足够容量(几百K字节以上)外部ROM和RAM。总之,C/OS占用空间少,执行效率高,实时性能好,且针对新处理器的移植相对简单。CLINUX则占用空间相对较大,实时性能一般,针对新处理器的移植相对复杂。但是,CLINUX具有对多种文件系统的支持能力、内嵌了TCP/IP协议,可以借鉴LINUX丰富的资源,对一些复杂的应用,CLINUX具有相当优势36。综合分析,在现场配变监控终端的设计中选用C/OS为嵌入式操作系统。基于ARM的远程配变监控终端研究与设计1423C/OS实时操作系统内核231C/OS的特点C/OS是由美国JEANJLABROSSE先生编写的一个开放式内核,最主要的特点就是源码公开。这一点对于用户来说可谓利弊各半,好处在于,一方面它是免费的,另一方面用户可以根据自己的需要对它进行修改。缺点在于它缺乏必要的支持,没有功能强大的软件包,用户通常需要自己编写驱动程序,特别是如果用户使用的是不太常用的单片机,还必须自己编写移植程序37。C/OS是一个抢占式型内核,即已经准备就绪的高优先级任务可以剥夺正在运行的低优先级任务的CPU使用权。这个特点使得它的实时性优于非抢占式型内核。通常我们都是在中断服务程序中使高优先级任务进入就绪态(例如发信号),这样退出中断服务程序后,将进行任务切换,高优先级任务将被执行。C/OS和大家所熟知的LINUX等分时操作系统不同,它不支持时间片轮转法。C/OS是一个基于优先级的实时操作系统,每个任务的优先级必须不同,分析它的源码会发现,C/OS把任务的优先级当作任务的标识来使用,如果优先级相同,任务将无法区分。进入就绪态的优先级最高的任务首先得到CPU的使用权,只有等它交出CPU的使用权后,其他任务才可以被执行。所以它只能是多任务,而不是多进程。显而易见,如果只考虑实时性,它当然比分时系统好,它可以保证重要任务总是优先占有CPU。但是在系统中,重要任务毕竟是有限的,这就使得划分其他任务的优先权变成了一个让人费神的问题38。C/OS对共享资源提供了保护机制。C/OS是一个支持多任务的操作系统内核。一个完整的程序可以划分成几个任务,不同的任务执行不同的功能。这样,一个任务就相当于模块化设计中的一个子模块。在任务中添加代码时,只要不是共享资源就不必担心互相之间有影响。而对于共享资源(比如串口),C/OS也提供了很好的解决办法,一般情况下使用的是信号量的方法。简单地说,先创建一个信号量并对它进行初始化。当一个任务需要使用一个共享资源时,它必须先申请得到这个信号量,而一旦得到了此信号量,那就只有等使用完了该资源信号量才会被释放。在这个过程中即使有优先权更高的任务进入了就绪态,因为无法得到此信号量,也不能使用该资源34。由以上介绍可以看出,C/OS具有免费、使用简单、可靠性高、实时性好等优点,但也有移植困难、缺乏必要的技术支持等缺点,尤其不像商用嵌入式系统那样得到广泛使用和持续的研究更新。但开放性又使得开发人员可以自行裁减和添加所需的功能,在许多应用领域发挥着独特的作用。工程硕士学位论文15232C/OS的任务调度机制C/OS实时操作系统内核的实质就是一个多任务调度系统,其关键在于建立任务、改变任务的状态、任务调度与切换。下面着重介绍C/OS的任务调度机制。1建立任务OSTASKCREATE和OSTASKCREATEEXT在C/OS对任务管理前,必须要先建立任务。用两个函数中的任何一个都可以建立任务。任务可以在多任务调度开始前建立,也可以在其它任务的执行过程中被建立。在开始多任务调度(即调用OSSTART)前,用户必须建立至少一个任务。任务不能由中断服务程序(ISR)来建立16。2任务控制块任务控制块(TASKCONTROLBLOCKS,OS_TCBS)是一个数据结构,当任务的CPU使用权被剥夺时,C/OS用它来保存该任务的状态。当任务重新得到CPU使用权时,任务控制块能确保任务从当时被中断处继续执行。OS_TCBS全部驻留在RAM中。任务建立的时候,OS_TCBS就被初始化了。3就绪表每个任务被赋予不同的优先级等级,从0级到最低优先级OS_LOWEST_PRIO,包括0和OS_LOWEST_PRIO在内。当C/OS初始化的时候,最低优先级OS_LOWEST_PRIO总是被赋给空闲任务(IDLETASK)。每个任务的就绪状态标志都放入就绪表(READYLIST)中的,就绪表中有两个变量OSREDYGRP和OSRDYTBL。任务进入就绪态时,就绪表OSRDYTBL中的相应元素的相应位也被置位39。4任务调度C/OS总是运行进入就绪态任务中优先级最高的任务,并通过调度器(SCHEDULER)来确定任务优先级最高的任务。任务级的调度是由函数OSSCHED完成的。中断级的调度是由另一个函数OSINTEXT完成的,这个函数将在以后描述。进入就绪态的任务对就绪任务表中相应位置位,C/OS通过OSSCHED和OSINTEXT检验这个优先级最高的任务是不是当前正在运行的任务,以此来避免不必要的任务调度。任务切换很简单,由以下两步完成,第一步将被挂起任务的微处理器寄存器压入堆栈;第二步将较高优先级的任务的寄存器值从栈中恢复到寄存器中。在C/OS中,就绪任务的栈结构总是看起来跟刚刚发生过中断一样,所有微处理器的寄存器都保存在堆栈中。换句话说,C/OS运行就绪态的任务所要做的一切,只是恢复所有的CPU寄存器并运行中断返回指令。为了做任务切换,运行OS_TASK_SW,人为模仿了一次中断40。基于ARM的远程配变监控终端研究与设计16233C/OS的中断处理中断服务子程序的处理过程如下保存全部CPU寄存器;调用OSINTENTER或OSINTNESTING直接加1;执行代码做中断服务;调用OSINTEXIT;恢复所有CPU寄存器;执行中断返回指令;首先应该将全部CPU寄存器推入当前任务栈。C/OS需要知道用户在做中断服务,应该调用OSINTENTER,或者将全程变量OSINTNESTING直接加1。上述两步完成以后,用户可以开始服务呼叫中断的设备了,中断服务内容取决于应用。调用脱离中断函数OSINTEXIT标志着中断服务子程序的终结,OSINTEXIT将中断嵌套层数计数器减1。当嵌套计数器减到零时,所有中断包括嵌套的中断就都完成了,此时C/OS判断有没有优先级较高的任务被中断服务子程序(或任一嵌套的中断)唤醒了。如果有优先级高的任务进入了就绪态,C/OS将返回到那个高优先级的任务,OSINTEXIT返回到调用点。保存的寄存器的值是在这时恢复的,然后是执行中断返回指令。中断服务流程见图24所示41。进入中断PC、SR自动压栈保存R4R12到当前任务堆栈清中断源判断是否为中断嵌套保存SP到当前任务堆栈把SP指向系统中断堆栈OSINTNESTING开中断执行中断服务子程序调用OSINTEXIT判断是否为中断嵌套找到最高优先级任务调用OSINTCTXSW进行中断结束的任务调度SP移到最高任务优先级栈顶将R4R12出栈返回到最高优先级就绪任务是是否否图24中断服务流程工程硕士学位论文1724本章小结本章首先介绍了嵌入式系统的选型,包括国内外主流嵌入式处理器和嵌入式操作系统的性能比较和选择;最后介绍了嵌入式实时操作系统的基本概念,包括任务、任务的状态、任务切换、调度、抢占式内核等,在此基础上深入分析了C/OS实时操作系统内核的特点、任务切换的基本原理、中断处理机制等,为将C/OS实时操作系统内核移植到LPC2124嵌入式处理器上,并构建嵌入式开发平台提供理论基础。基于ARM的远程配变监控终端研究与设计18第3章基于ARM和C/OS的嵌入式开发平台的构建随着IT技术日新月异的发展和应用需求的牵引作用,嵌入式产品的功能越来越复杂,传统的前后台系统的开发模式越来越不适

温馨提示

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

评论

0/150

提交评论