版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1计算机控制系统
第9章嵌入式系统在计算机控制中的应用2第9章主要内容9.1嵌入式系统概述9.2软硬件协同设计技术9.3实时操作系统9.4嵌入式系统的开发9.5嵌入式温室环境计算机控制系统设计本章小结39.1嵌入式系统概述9.1.1嵌入式系统定义和分类电气工程师协会(IEEE)定义:“嵌入式系统是控制、监视或辅助设备、机器甚至工厂操作的装置。”一般定义:“以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”嵌入式系统结构体系框架49.1.1嵌入式系统定义和分类嵌入式系统的分类硬件方面:芯片级嵌入(含程序或算法的处理器)模块级嵌入(系统中的某个核心模块)系统级嵌入软件方面(根据实时性要求):非实时系统实时系统硬实时系统——若系统在指定的时间内未能实现某个确定的任务,就会引起系统崩溃或导致致命错误(如导弹飞行姿态控制系统)。软实时系统——在该类系统中虽然响应时间同样重要,但是超时却不会导致致命错误,这也意味着偶尔超过时间限制是可以容忍的(如消费类产品)。59.1.2嵌入式处理器1嵌入式微控制器(MicoControllerUnit,MCU)典型代表是单片机。单片机芯片内部集成ROM、RAM、总线、定时器/计时器、I/O、串行口、A/D、D/A等各种必要的功能和外设,在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强,且体积小、功耗成本低,比较适合控制。
2嵌入式微处理器(EmbeddedMicroProcessorUnit,EMPU)基础是通用计算机中的CPU。只保留与嵌入式应用密切相关的功能硬件,去掉其他冗余的功能部分。目前的主要类型有ARM、PowerPC系列等。
69.1.2嵌入式处理器(续)3数字信号处理器(DigitalSignalProcessor,DSP)专用于信号处理方面的处理器,其可进行向量运算、指针线性寻址等运算量很大的数据处理,具有很高编译效率和指令执行速度。4嵌入式片上系统(SystemOnChip,SOC)在一个硅片上实现一个复杂的系统,其最大的特点是实现了软硬件的无缝结合,直接在处理器内嵌入操作系统的代码模块。79.1.3开发设计工具硬件设计工具系统级设计方面采用的硬件设计工具有Cadence的SPW和SystemView。模拟电路系统采用的仿真工具有Pspice和EWB。印刷电路设计方面的设计工具有Protel、PADs的PowerPCB&ToolKit和Mentor的Expedition&ToolKit。可编程逻辑器件设计工具还有MentorFPGAAdvantage&ModelSim、XilinxFoundationISE&ToolKit以及各种综合和仿真工具等。89.1.3开发设计工具(续)软件开发平台
高级语言编译器(CompilerTools)。在线仿真系统ICE(InCircuitEmulator)。源程序模拟器(Simulator)。实时多任务操作系统(RealTimemulti-taskingOperationSystem,RTOS)。商用型RTOS的功能稳定可靠,具有比较完善的技术支持和售后服务,但价格昂贵而且都针对特定的硬件平台。如WindRiver公司的VxWorks、PalmComputing掌上电脑公司的PalmOS等。免费的RTOS主要有Linux和μC/OS等。尽管这些资源带有源码,但理解、消化并运用在某应用系统上也是一项艰苦的工作,相应的调试工具是没有免费的。99.1.4系统开发环境嵌入式系统本身不具备自主开发能力,在设计完成后,需要一套专门的开发工具和开发环境才能进行开发。这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。如果开发机就是运行机,则称为本地编译。“宿主机/目标机”方式:利用宿主机丰富的资源和良好的开发环境来对目标机将要运行的程序进行开发和仿真调试。通过串行口或网络接口将交叉汇编生成的目标代码下载到目标机上,并利用交叉调试器在监控程序或实时内核的支持下进行实时分析和调度。最后由目标机在特定的环境下运行。109.1.5嵌入式系统的应用和发展趋势嵌入式技术的应用(1)消费类电子产品(2)控制系统和工业自动化(3)机器人领域(4)生物医学系统中的控制部件和相关诊断设备。(5)数据通信设备(6)无线通信(手机、蓝牙设备)等。嵌入式技术的发展趋势芯片方面——可编程片上系统。宏观方面使嵌入式系统更经济、小型、可靠、快速、智能化、网络化。119.2软硬件协同设计技术9.2.1
硬件体系结构嵌入式系统的功能部件:嵌入式系统的基本要素主要指嵌入式处理器系统和嵌入式软件系统。其中嵌入式处理器系统主要指嵌入式系统的硬件部分,包括嵌入式处理器、总线、各种类型存储器、模拟电路及电源、接口控制器及接插件。
129.2.2传统设计技术设计过程的基本特征是:系统在一开始就被划分为软件和硬件两大部分,软件和硬件是独立地进行开发设计,通常采用的是“硬件先行”的设计方法。问题:(1)软硬件之间的交互受到很大限制,造成系统集成相对滞后,因此设计结果往往是设计质量差、设计修改难,同时研制周期不能得到有效保障。(2)随着设计复杂程度的提高,软硬件设计中的一些错误将会使开发过程付出昂贵的代价。(3)“硬件先行”的做法常常需要由软件来补偿由于硬件选择的不适合造成的系统缺陷,从而增加软件的代价。传统设计流程图139.2.3软硬件协同设计技术1软硬件协同设计定义:在硬件和软件设计中,通过并发和交互设计来满足系统级的目标要求。这里的“并发”指的是硬件和软件沿各自的路线同时开发。“交互”指在硬件和软件的开发过程中,还需要二者的交互作用,以满足整体系统的性能准则和功能要求。149.2.3软硬件协同设计技术2基本需求:(1)采用统一的软硬件描述方式——软硬件支持统一的设计和分析工具或技术,允许在一个集成环境中仿真及评估系统的软硬件设计,支持系统任务在软件和硬件设计之间的相互移植;(2)采用交互式软硬件划分技术——允许进行多个不同的软硬件划分设计仿真和比较,划分应用可以最大满足设计标准(功能和性能目标)要求;(3)具有完整的软硬件模型基础——可以支持设计过程中各阶段的评估,支持逐步开发以及对硬件和软件的综合;(4)验证方法必须正确,以确保系统设计达到目标要求。159.2.3软硬件协同设计技术3.设计的基本步骤⑴描述——将系统行为的功能进行明确、提取并列表。⑵划分——即对硬件/软件的功能进行分配。⑶评估——进行性能评估或对综合后系统依据指令级评价参数作出评估,若不满足要求,则需要回到⑵⑷验证——是为保证系统可以按照设计要求正常工作,而达到合理置信度的过程。根据应用领域的不同可能采取不同的验证方法,但都必须经过性能与功能的协同仿真。⑸实现——指通过综合后的硬件的物理实现和通过编译后的软件执行。169.2.3软硬件协同设计技术4.软硬件协同设计流程及开发模式软硬件协同设计流程如右图所示开发模式:在完成对产品的需求分析、软硬件模块的划分和设计后,并行开发软件和硬件。硬件开发工作包括嵌入式处理器的选择及硬件系统的详细设计、外围硬件电路的详细设计、实现与调试等;软件开发工作包括软件体系结构的详细设计、嵌入式操作系统的选择与移植、交叉开发工具与编程语言的选择、应用程序的编程与调试等。179.3实时操作系统9.3.1实时操作系统定义及特点实时操作系统RTOS是指能支持实时控制系统工作的操作系统,它可以在固定的时间内对一个或多个由外设发出的信号作出适当的反应。实时操作系统的主要特征:①内核精小,效率高;②中断被屏蔽的时间短;③中断处理时间短;④任务切换快。常见的实时操作系统商用的RTOS:VxWorks、pSOS、PalmOS等免费的RTOS:Linux和μC/OS等189.3.1实时操作系统定义及特点嵌入式实时操作系统的精华在于向开发人员提供一个实时多任务内核。开发人员将具体一项应用工作分解成若干个独立的任务,将各任务要做的事、任务间的关系向实时多任务内核交代清楚,让实时多任务内核去管理这些任务,开发过程就完成了。嵌入式实时操作系统没有文件管理,一般不需要内存管理,它具有的是实时操作系统中最重要的内容,即多任务实时调度和任务的定时、同步操作,具有很短的任务切换时间和实时响应速度。199.3.2实时操作系统的一些重要概念1任务指拥有所有CPU资源的程序分段,线程为调度的基本单位每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。⒉任务工作状态(state)209.3.2实时操作系统的一些重要概念⒊实时内核(realtimekernel)实时内核负责管理各个任务,为每个任务分配CPU时间,并负责任务间的通信。提供的基本服务是任务切换。类型:可剥夺型(preemptive)内核可以剥夺正在运行着的任务的CPU使用权,并将该使用权交给进入就绪态的优先级更高的任务。不可剥夺型(non-preemptive)内核运用某种算法决定让哪个任务运行后,就将CPU控制权完全交给这个任务,直到该任务主动将CPU控制权还回来。
219.3.2实时操作系统的一些重要概念⒋任务切换(contextswitch)当多任务内核决定运行另外的任务时,它将正在运行任务当前的状态(context,即CPU寄存器中的全部内容)保存在任务的栈区中,然后将下一个即将运行任务的CPU寄存器状况从该任务的栈中重新装入CPU寄存器中,并开始下一个任务的运行。229.3.2实时操作系统的一些重要概念⒌调度(scheduler)
调度是内核的主要职责之一,它决定任务运行的次序。调度是基于优先级的。
CPU让处在就绪态的优先级最高的任务先运行。调度的基本方式有:可剥夺型和不可剥夺型基本调度算法★先来先服务★最短周期优先★优先级法★轮转法★多级队列法★多级反馈队列
多数实时内核是基于优先级调度的多种方法的复合。
239.3.2实时操作系统的一些重要概念⒍优先级(priority)任务按照其重要性被赋予一定的优先级。优先级类型有静态优先级和动态优先级⒎其他重要概念互斥(Mutex)机制
信号量(Semaphore)机制
代码临界区(CriticalSection)临界资源指处理时不可分割的代码。任务间通信(Intertaskcom)
可预测性(Predictability)
互斥机制确保在同一时间段内不同的任务不执行同一部分代码,以保证每个任务在处理共享数据时的排他性,避免竞争和数据的破坏。249.3.3
C/OS-II实时操作系统(一)
C/OS-II的特点1.有源代码,且源代码中有详细的注解。2.有范例。3.源代码的90%以上用C语言写成,可移植性好。4.多任务。可以管理64个任务,每个任务有一个特定的优先级,采用一个数字来标识。优先级越高,数字越小。5.中断管理——中断嵌套层数可达255层。6.稳定性与可靠性有保证。259.3.3
C/OS-II实时操作系统(二)
C/OS-II的任务调度机制
C/OS是可剥夺型实时多任务内核。这种内核在任何时刻都运行就绪了的最高优先级的任务。
C/OS调度工作的内容1.最高优先级任务的寻找2.任务的切换
C/OS提供了调度的锁定和解锁机制使某个任务就可以短期禁止内核进行任务调度,从而占有CPU。由于调度锁定采用的是累加方式,内核允许任务进行多级锁定,最大锁定层数不能超过255。当一个任务锁定了系统的任务调度时,
C/OS基于优先级的实时运行方式不复存在,优先级由高到低的次序被改为:各种中断任务(最高)、锁定调度的任务(其次)、其他所有任务(最低)。269.4嵌入式系统的开发9.4.1嵌入式系统开发步骤(1)确定嵌入式系统的要求(2)设计系统的体系结构和总体方案设计(3)选择开发平台(4)应用编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JNK-IN-25-生命科学试剂-MCE
- 2026年中草药识别测试题及答案
- 2026年美工操作测试题及答案
- 2026年网卡相关测试题及答案
- 2026年运营督导测试题及答案
- 2026年焦虑倾向测试题及答案
- 2026年强基计划古文字学笔试题及答案
- 2026年戴耳机听力测试题及答案
- 2026年消费安全知识测试题及答案
- 2026年国外常用英语测试题及答案
- 托管机构消防安全管理制度
- 华南理工大学综评考试真题及答案
- 急性心肌梗死PCI术后合并糖尿病患者血糖-心脏双目标管理方案
- 无菌操作专业知识培训课件
- 工程建设内业资料培训
- 卵巢性索间质肿瘤课件
- 火疗操作规范流程及安全注意事项
- 电子元件进料检验标准手册
- 无菌操作规程课件
- 新疆反恐去极端化课件
- 工程伦理(第2版)课件 第三章-工程师的职业伦理规范
评论
0/150
提交评论