您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 计算机控制系统(清华大学出版社)课件_嵌入式PLC
8.1嵌入式系统8.1.1概述8.1.2软硬件协同设计技术8.1.3实时操作系统8.1.4嵌入式系统的开发8.1.5嵌入式控制系统设计实例8.2可编程控制器(PLC)8.2.1PLC概述8.2.2PLC结构和工作原理8.2.3PLC常用编程语言8.2.4PLC应用实例8.2.5PLC网络系统1嵌入式产品一览28.1.1概述1.嵌入式系统定义和分类3电气工程师协会(IEEE)定义:“嵌入式系统是控制、监视或辅助设备、机器甚至工厂操作的装置。”一般定义:“以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”嵌入式系统的几个重要的特点:①小型系统内核;②专用性较强;③系统精简,以减少控制系统成本,利于实现系统安全;④采用高实时性的操作系统,且软件要固化存储;⑤使用多任务的操作系统,使软件开发标准化;⑥嵌入式系统开发需要专门的工具和环境。4嵌入式系统的分类硬件方面:芯片级嵌入(含程序或算法的处理器)模块级嵌入(系统中的某个核心模块)系统级嵌入软件方面(根据实时性要求):非实时系统(例如PDA等)实时系统硬实时系统——若系统在指定的时间内未能实现某个确定的任务,就会引起系统崩溃或导致致命错误(如导弹飞行姿态控制系统)。软实时系统——在该类系统中虽然响应时间同样重要,但是超时却不会导致致命错误,这也意味着偶尔超过时间限制是可以容忍的(如消费类产品)。52.嵌入式处理器(1)嵌入式微控制器(MicoControllerUnit,MCU)典型代表是单片机。单片机芯片内部集成ROM、RAM、总线、定时器/计时器、I/O、串行口、A/D、D/A等各种必要的功能和外设,在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强,且体积小、功耗成本低,比较适合控制。(2)嵌入式微处理器(EmbeddedMicroProcessorUnit,EMPU)基础是通用计算机中的CPU。只保留与嵌入式应用密切相关的功能硬件,去掉其他冗余的功能部分。目前的主要类型有ARM、PowerPC系列等。(3)数字信号处理器(DigitalSignalProcessor,DSP)专用于信号处理方面的处理器,其可进行向量运算、指针线性寻址等运算量很大的数据处理,具有很高编译效率和指令执行速度(4)嵌入式片上系统(SystemOnChip,SOC)在一个硅片上实现一个复杂的系统,其最大的特点是实现了软硬件的无缝结合,直接在处理器内嵌入操作系统的代码模块。63.开发设计工具硬件设计工具系统级设计方面采用的硬件设计工具有Cadence的SPW和SystemView。模拟电路系统采用的仿真工具有Pspice和EWB。印刷电路设计方面的设计工具有Protel、PADs的PowerPCB&ToolKit和Mentor的Expedition&ToolKit。可编程逻辑器件设计工具还有MentorFPGAAdvantage&ModelSim、XilinxFoundationISE&ToolKit以及各种综合和仿真工具等等。73.开发设计工具软件开发平台高级语言编译器(CompilerTools)。实时在线仿真系统ICE(InCircuitEmulator)。源程序模拟器(Simulator)。实时多任务操作系统(RealTimemulti-taskingOperationSystem,RTOS)。商用型RTOS的功能稳定可靠,具有比较完善的技术支持和售后服务,但价格昂贵而且都针对特定的硬件平台。如WindRiver公司的VxWorks、PalmComputing掌上电脑公司的PalmOS等。免费的RTOS主要有Linux和μC/OS等。尽管这些资源带有源码,但理解、消化并运用在某应用系统上也是一项艰苦的工作,相应的调试工具是没有免费的。84.嵌入式系统的应用和发展趋势9嵌入式技术的发展趋势芯片方面是可编程片上系统。宏观方面使嵌入式系统更经济、小型、可靠、快速、智能化、网络化。10经济性很便宜,让更多的人能买得起。小型化(笔记本、PDA)人们携带方便。可靠性(汽车VCD跳动问题)能够在一般环境条件下或者是苛刻的环境条件下运行。高速度(飞机刹车系统)能够迅速地完成数据计算或数据传输。智能性(知识推理、模糊查询、识别、感知运动)使人们用起来更习惯,对人们更有使价值。8.1.2软硬件协同设计技术1.硬件体系结构11图8-2嵌入式系统硬件体系结构的功能部件2.传统设计技术设计过程的基本特征是:系统在一开始就被划分为软件和硬件两大部分,软件和硬件是独立地进行开发设计,通常采用的是“硬件先行”的设计方法。12问题:(1)软硬件之间的交互受到很大限制,造成系统集成相对滞后,因此传统嵌入式系统设计的结果往往是设计质量差、设计修改难,同时研制周期不能得到有效保障。(2)随着设计复杂程度的提高,软硬件设计中的一些错误将会使开发过程付出昂贵的代价。(3)“硬件先行”的做法常常需要由软件来补偿由于硬件选择的不适合造成系统的缺陷,从而增加软件的代价。图8-3传统的嵌入式系统的设计方法3.软硬件协同设计技术(1)软硬件协同设计定义:在硬件和软件设计中,通过并发和交互设计来满足系统级的目标要求。(2)软硬件协同设计基本需求:①采用统一的软硬件描述方式——软硬件支持统一的设计和分析工具或技术,允许在一个集成环境中仿真及评估系统的软硬件设计,支持系统任务在软件和硬件设计之间的相互移植;②采用交互式软硬件划分技术——允许进行多个不同的软硬件划分设计仿真和比较,划分应用可以最大满足设计标准(功能和性能目标)要求;13③具有完整的软硬件模型基础——可以支持设计过程中各阶段的评估,支持逐步开发以及对硬件和软件的综合;④验证方法必须正确,以确保系统设计达到目标要求。优势:①协同设计要贯穿整个设计周期,且使设计修改容易,研制周期可以得到有效保障;②软硬件交互设计变得简单。图8-4嵌入式系统的软硬件协同设计流程(3)软硬件协同设计的基本步骤①描述——将系统行为的功能进行明确、提取并列表;②划分——即对硬件/软件的功能进行分配;③评估——进行性能评估或对综合后系统依据指令级评价参数做出评估,若不满足要求,则需要回到②;④验证——是为保证系统可以按照设计要求正常工作,而达到合理置信度的过程。根据应用领域的不同可能采取不同的验证方法,但都必须经过性能与功能的协同仿真。⑤实现——通过综合后的硬件的物理实现和通过编译后的软件执行。148.1.3实时操作系统1.实时操作系统定义及特点实时操作系统RTOS是指能支持实时控制系统工作的操作系统,它可以在固定的时间内对一个或多个由外设发出的信号做出适当的反应。实时操作系统的主要特征:规模小、中断被屏蔽的时间很短、中断处理时间短且任务切换很快。常见的实时操作系统商用的RTOS:VxWorks、pSOS、PalmOS等;免费的RTOS:Linux和μC/OS等嵌入式实时操作系统的精华在于向开发人员提供一个实时多任务内核。开发人员将具体一项应用工作分解成若干个独立的任务,将各任务要做的事、任务间的关系向实时多任务内核交代清楚,让实时多任务内核去管理这些任务,开发过程就完成了。嵌入式实时操作系统没有文件管理,一般不需要内存管理,它具有的是实时操作系统中最重要的内容,即多任务实时调度和任务的定时、同步操作,具有很短的任务切换时间和实时响应速度。15VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式RTOS,具有高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。VxWorks所具有的显著特点是:-可靠性、实时性和可裁减性。它支持多种处理器,如x86、i960、SunSparc、MotorolaMC68xxx、MIPS、POWERPC等等。163-2pSOSpSOS原属ISI公司的产品,但ISI已经被WinRiver公司兼并,现在pSOS属于WindRiver公司的产品。该系统是一个模块化、高性能的实时操作系统。开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统功能。173-2PalmOSPalmOS是著名的网络设备制造商3COM旗下的PalmComputing掌上电脑公司的产品。PalmOS在PDA市场上占有很大的市场份额。获得了IBM、Oracle、Nokia和Sony等国际知名公司的支持,同时有很多的软件开发者为其开发软件应用程序,还有相当多的硬件开发人员为其开发外围扩展设备,例如GPS系统、数码摄像头、录音系统等。183-22.实时操作系统的一些重要概念⑴任务(或称“线程”)及其任务工作状态指拥有所有CPU资源的程序分段,线程为调度的基本单位每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。19图8-5实时系统中的任务状态⑵实时内核实时内核负责管理各个任务,为每个任务分配CPU时间,并负责任务间的通信。提供的基本服务是任务切换。20(non-preemptive)(preemptive)内核可以剥夺正在运行着的任务的CPU使用权,并将该使用权交给进入就绪态的优先级更高的任务。实时内核可剥夺型(占先式)不可剥夺型(非占先式)内核运用某种算法决定让哪个任务运行后,就将CPU控制权完全交给这个任务,直到该任务主动将CPU控制权还回来。⑶任务优先级(priority)任务按照其重要性被赋予优先级。静态优先级应用程序执行过程中诸任务优先级不变。在这种系统中,诸任务以及它们的时间约束在程序编译时是已知的。动态优先级应用程序执行过程中,任务的优先级是可变的。21⑷调度(dispatcher)为内核的主要职责之一,它决定该轮到哪个任务运行了。调度是基于优先级的。CPU总是让处在就绪态的优先级最高的任务先运行。调度的基本方式有:可剥夺型和不可剥夺型基本调度算法★先来先服务★最短周期优先★优先级法★轮转法★多级队列法★多级反馈队列多数实时内核是基于优先级调度的多种方法的复合。22⑸其他重要概念互斥(Mutex)机制信号量(Semaphore)机制代码临界区(CriticalSection)临界资源指处理时不可分割的代码。任务间通信(Intertaskcom)可预测性(Predictability)23实时操作系统的评价指标实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广,可从微秒级(如信号处理)到分级(如联机查询系统)。实时系统中主要用三个指标来衡量其实时性:系统响应时间(SystemresponseTime):从系统发出处理要求,到系统给出应答信号的过程所用的时间。任务切换时间(Context-switchingtime):指任务之间切换所使用的时间。中断延迟(Interruptlatency):指从计算机接收到中断信号到操作系统做出响应,并完成切换转入中断服务程序的过程所用时间。243.实时操作系统的开发环境和编译技术嵌入式系统本身不具备自主开发能力,在设计完成后,需要一套专门的开发工具和开发环境才能进行开发。这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。如果开发机就是运行机,则称为本地编译。“宿主机/目标机”方式:利用宿主机丰富的资源和良好的开发环境来对目标机将要运行的程序进行开发和仿真调试,通过串行口或网络接口将交叉汇编生成的目标代码下载到目标机上,并利用交叉调试器在监控程序或实时内核的支持下进行实时分析和调度。最后由目标机在特定的环境下运行。25图8-6宿主机/目标机的开发方式4.C/OS-II实时操作系统(1)C/OS-II的特点①有源代码,有范例,且源代码中有详细的注解。②源代码的90%以上用C语言写成,可移植性好。C/OS-II可裁减、可固化,
本文标题:计算机控制系统(清华大学出版社)课件_嵌入式PLC
链接地址:https://www.777doc.com/doc-3159261 .html