1 / 65

8.1 嵌入式系统 8.1.1 概述 8.1.2 软硬件协同设计技术 8.1.3 实时操作系统 8.1.4 嵌入式系统的开发 8.1.5 嵌入式控制系统设计实例

8.1 嵌入式系统 8.1.1 概述 8.1.2 软硬件协同设计技术 8.1.3 实时操作系统 8.1.4 嵌入式系统的开发 8.1.5 嵌入式控制系统设计实例 8.2 可编程控制器( PLC ) 8.2.1 PLC 概述 8.2.2 PLC 结构和工作原理 8.2.3 PLC 常用编程语言 8.2.4 PLC 应用实例 8.2.5 PLC 网络系统. 嵌入式产品一览. 8.1.1 概述. 1. 嵌入式系统定义和分类. 电气工程师协会( IEEE )定义 :

jett
Download Presentation

8.1 嵌入式系统 8.1.1 概述 8.1.2 软硬件协同设计技术 8.1.3 实时操作系统 8.1.4 嵌入式系统的开发 8.1.5 嵌入式控制系统设计实例

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 8.1 嵌入式系统 8.1.1 概述 8.1.2 软硬件协同设计技术 8.1.3 实时操作系统 8.1.4 嵌入式系统的开发 8.1.5 嵌入式控制系统设计实例 8.2 可编程控制器(PLC) 8.2.1 PLC概述 8.2.2 PLC结构和工作原理 8.2.3 PLC常用编程语言 8.2.4 PLC应用实例 8.2.5 PLC网络系统

  2. 嵌入式产品一览

  3. 8.1.1 概述 1. 嵌入式系统定义和分类 电气工程师协会(IEEE)定义 : “嵌入式系统是控制、监视或辅助设备、机器甚至工厂操作的装置。” 一般定义: “以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”

  4. 嵌入式系统的几个重要的特点: ①小型系统内核; ②专用性较强; ③系统精简,以减少控制系统成本,利于实现系统安全; ④采用高实时性的操作系统,且软件要固化存储; ⑤使用多任务的操作系统,使软件开发标准化; ⑥嵌入式系统开发需要专门的工具和环境。

  5. 嵌入式系统的分类 • 硬件方面: • 芯片级嵌入(含程序或算法的处理器) • 模块级嵌入(系统中的某个核心模块) • 系统级嵌入 • 软件方面(根据实时性要求): • 非实时系统(例如PDA等) • 实时系统 • 硬实时系统——若系统在指定的时间内未能实现某个确定的任务,就会引起系统崩溃或导致致命错误(如导弹飞行姿态控制系统)。 • 软实时系统——在该类系统中虽然响应时间同样重要,但是超时却不会导致致命错误,这也意味着偶尔超过时间限制是可以容忍的(如消费类产品) 。

  6. 2. 嵌入式处理器 (1) 嵌入式微控制器(Mico Controller Unit, MCU) • 典型代表是单片机。单片机芯片内部集成ROM、RAM、总线、定时器/计时器、I/O、串行口、A/D、D/A等各种必要的功能和外设,在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强,且体积小、功耗成本低,比较适合控制。 (2) 嵌入式微处理器(Embedded Micro Processor Unit, EMPU) • 基础是通用计算机中的CPU。只保留与嵌入式应用密切相关的功能硬件,去掉其他冗余的功能部分。目前的主要类型有ARM 、 PowerPC系列等。 (3) 数字信号处理器(Digital Signal Processor, DSP) • 专用于信号处理方面的处理器,其可进行向量运算、指针线性寻址等运算量很大的数据处理,具有很高编译效率和指令执行速度 (4)嵌入式片上系统(System On Chip, SOC) • 在一个硅片上实现一个复杂的系统,其最大的特点是实现了软硬件的无缝结合,直接在处理器内嵌入操作系统的代码模块。

  7. 3. 开发设计工具 • 硬件设计工具 • 系统级设计方面采用的硬件设计工具有Cadence的SPW和System View。 • 模拟电路系统采用的仿真工具有Pspice和EWB。 • 印刷电路设计方面的设计工具有Protel、PADs 的Power PCB & Tool Kit和Mentor的Expedition & Tool Kit。 • 可编程逻辑器件设计工具还有Mentor FPGA Advantage & ModelSim、Xilinx Foundation ISE & Tool Kit以及各种综合和仿真工具等等。

  8. 3. 开发设计工具 • 软件开发平台 • 高级语言编译器(Compiler Tools)。 • 实时在线仿真系统ICE(In Circuit Emulator)。 • 源程序模拟器(Simulator)。 • 实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)。 • 商用型RTOS的功能稳定可靠,具有比较完善的技术支持和售后服务,但价格昂贵而且都针对特定的硬件平台。如WindRiver公司的VxWorks、Palm Computing掌上电脑公司的Palm OS等。 • 免费的RTOS主要有Linux和μC/OS等。尽管这些资源带有源码,但理解、消化并运用在某应用系统上也是一项艰苦的工作,相应的调试工具是没有免费的。

  9. 4. 嵌入式系统的应用和发展趋势 机器人 消费电子 微控制器 智能检测单元 工业 信息家电 工控设备 嵌入式应用 办公自动化产品 智能仪表 汽车电子 移动存贮 通信设备 网络设备 通信网络

  10. 嵌入式技术的发展趋势 • 芯片方面 • 是可编程片上系统。 • 宏观方面 • 使嵌入式系统更经济、小型、可靠、快速、智能化、网络化。 • 经济性 很便宜,让更多的人能买得起。 • 小型化(笔记本、PDA) 人们携带方便。 • 可靠性(汽车VCD跳动问题) 能够在一般环境条件下或者是苛刻的环境条件下运行。 • 高速度(飞机刹车系统) 能够迅速地完成数据计算或数据传输。 • 智能性(知识推理、模糊查询、识别、感知运动) 使人们用起来更习惯,对人们更有使价值。

  11. 8.1.2 软硬件协同设计技术 1.硬件体系结构 图8-2 嵌入式系统硬件体系结构的功能部件

  12. 2. 传统设计技术 • 设计过程的基本特征是:系统在一开始就被划分为软件和硬件两大部分,软件和硬件是独立地进行开发设计,通常采用的是“硬件先行”的设计方法。 问题: (1)软硬件之间的交互受到很大限制,造成系统集成相对滞后,因此传统嵌入式系统设计的结果往往是设计质量差、设计修改难,同时研制周期不能得到有效保障。 (2)随着设计复杂程度的提高,软硬件设计中的一些错误将会使开发过程付出昂贵的代价。 (3)“硬件先行”的做法常常需要由软件来补偿由于硬件选择的不适合造成系统的缺陷,从而增加软件的代价。 图8-3 传统的嵌入式系统的设计方法

  13. 3. 软硬件协同设计技术 (1) 软硬件协同设计定义: 在硬件和软件设计中,通过并发和交互设计来满足系统级的目标要求。 (2) 软硬件协同设计基本需求: ① 采用统一的软硬件描述方式——软硬件支持统一的设计和分析工具或技术,允许在一个集成环境中仿真及评估系统的软硬件设计,支持系统任务在软件和硬件设计之间的相互移植; ② 采用交互式软硬件划分技术——允许进行多个不同的软硬件划分设计仿真和比较,划分应用可以最大满足设计标准(功能和性能目标)要求; ③具有完整的软硬件模型基础——可以支持设计过程中各阶段的评估,支持逐步开发以及对硬件和软件的综合; ④ 验证方法必须正确,以确保系统设计达到目标要求。 优势:①协同设计要贯穿整个设计周期,且使设计修改容易,研制周期可以得到有效保障;②软硬件交互设计变得简单。 图8-4 嵌入式系统的软硬件协同设计流程

  14. (3) 软硬件协同设计的基本步骤 ① 描述——将系统行为的功能进行明确、提取并列表; ② 划分——即对硬件/软件的功能进行分配; ③ 评估——进行性能评估或对综合后系统依据指令级评价参数做出评估,若不满足要求,则需要回到②; ④ 验证——是为保证系统可以按照设计要求正常工作,而达到合理置信度的过程。根据应用领域的不同可能采取不同的验证方法,但都必须经过性能与功能的协同仿真。 ⑤ 实现——通过综合后的硬件的物理实现和通过编译后的软件执行。

  15. 8.1.3 实时操作系统 1.实时操作系统定义及特点 • 实时操作系统RTOS是指能支持实时控制系统工作的操作系统,它可以在固定的时间内对一个或多个由外设发出的信号做出适当的反应。 • 实时操作系统的主要特征:规模小、中断被屏蔽的时间很短、中断处理时间短且任务切换很快。 • 常见的实时操作系统 • 商用的RTOS:VxWorks、pSOS、Palm OS等; • 免费的RTOS:Linux和μC/OS等 • 嵌入式实时操作系统的精华在于向开发人员提供一个实时多任务内核。开发人员将具体一项应用工作分解成若干个独立的任务,将各任务要做的事、任务间的关系向实时多任务内核交代清楚,让实时多任务内核去管理这些任务,开发过程就完成了。 • 嵌入式实时操作系统没有文件管理,一般不需要内存管理,它具有的是实时操作系统中最重要的内容,即多任务实时调度和任务的定时、同步操作,具有很短的任务切换时间和实时响应速度。

  16. VxWorks • VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式RTOS,具有高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。 • VxWorks所具有的显著特点是: -可靠性、实时性和可裁减性。 • 它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、POWER PC等等。 3-2

  17. pSOS • pSOS原属ISI公司的产品,但ISI已经被WinRiver公司兼并,现在pSOS属于WindRiver公司的产品。 • 该系统是一个模块化、高性能的实时操作系统。 • 开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统功能。 3-2

  18. Palm OS • Palm OS是著名的网络设备制造商3COM旗下的Palm Computing掌上电脑公司的产品。 • Palm OS在PDA市场上占有很大的市场份额。获得了IBM、Oracle、Nokia和Sony等国际知名公司的支持,同时有很多的软件开发者为其开发软件应用程序,还有相当多的硬件开发人员为其开发外围扩展设备,例如GPS系统、数码摄像头、录音系统等。 3-2

  19. 2. 实时操作系统的一些重要概念 ⑴ 任务(或称“线程”)及其任务工作状态 • 指拥有所有CPU资源的程序分段,线程为调度的基本单位 • 每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级, 有它自己的一套CPU寄存器和自己的栈空间。 图8-5 实时系统中的任务状态

  20. ⑵ 实时内核 • 实时内核负责管理各个任务,为每个任务分配CPU时间,并负责任务间的通信。提供的基本服务是任务切换。 可剥夺型(占先式) (preemptive) 内核可以剥夺正在运行着的任务的CPU使用权,并将该使用权交给进入就绪态的优先级更高的任务。 实时内核 (non-preemptive) 不可剥夺型(非占先式) 内核运用某种算法决定让哪个任务运行后,就将CPU控制权完全交给这个任务,直到该任务主动将CPU控制权还回来。

  21.  ⑶ 任务优先级(priority) • 任务按照其重要性被赋予优先级。 • 静态优先级 • 应用程序执行过程中诸任务优先级不变。 • 在这种系统中,诸任务以及它们的时间约束在程序编译时是已知的。 • 动态优先级 • 应用程序执行过程中,任务的优先级是可变的。

  22. ⑷ 调度(dispatcher) • 为内核的主要职责之一,它决定该轮到哪个任务运行了。 • 调度是基于优先级的。 CPU总是让处在就绪态的优先级最高的任务先运行。 • 调度的基本方式有:可剥夺型和不可剥夺型 • 基本调度算法 ★先来先服务 ★最短周期优先 ★优先级法 ★轮转法 ★多级队列法 ★多级反馈队列 • 多数实时内核是基于优先级调度的多种方法的复合。

  23. ⑸ 其他重要概念 • 互斥(Mutex)机制 • 信号量(Semaphore)机制 • 代码临界区(Critical Section)临界资源 • 指处理时不可分割的代码。 • 任务间通信(Inter task com) • 可预测性(Predictability)

  24. 实时操作系统的评价指标 • 实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广,可从微秒级(如信号处理)到分级(如联机查询系统)。 • 实时系统中主要用三个指标来衡量其实时性: • 系统响应时间(System response Time):从系统发出处理要求,到系统给出应答信号的过程所用的时间。 • 任务切换时间(Context-switching time):指任务之间切换所使用的时间。 • 中断延迟(Interrupt latency):指从计算机接收到中断信号到操作系统做出响应,并完成切换转入中断服务程序的过程所用时间。

  25. 3.实时操作系统的开发环境和编译技术 • 嵌入式系统本身不具备自主开发能力,在设计完成后,需要一套专门的开发工具和开发环境才能进行开发。 • 这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。 • 如果开发机就是运行机,则称为本地编译。 • “宿主机/目标机”方式: • 利用宿主机丰富的资源和良好的开发环境来对目标机将要运行的程序进行开发和仿真调试, • 通过串行口或网络接口将交叉汇编生成的目标代码下载到目标机上,并利用交叉调试器在监控程序或实时内核的支持下进行实时分析和调度。 • 最后由目标机在特定的环境下运行。 图8-6 宿主机/目标机的开发方式

  26. 4. C/OS-II实时操作系统 (1) C/OS-II的特点 ① 有源代码,有范例,且源代码中有详细的注解。 ② 源代码的90%以上用C语言写成,可移植性好。 • C/OS-II可裁减、可固化,最小内核的ROM可以小到2KB以下。 ③ 多任务。 • C/OS-II内核属于优先级的可剥夺型,可以管理64个任务(目前的版本保留8个给系统,应用程序最多可以有56个任务)。每个任务有特定的优先级,用一个数字来标识,优先级越高,数字越小。任务切换采用查表法,切换速度快。实时性是可知的、有保证的。 ④ 中断管理。 • 中断嵌套层数可达255层。 ⑤ 稳定性与可靠性有保证。 • C/OS自1992年以来,已经有上千个应用,是一个被实践证实为好用的内核。

  27. (2) C/OS-II的任务调度机制 • C/OS是可剥夺型实时多任务内核。 • 这种内核在任何时刻都运行就绪了的最高优先级的任务。C/OS调度工作的内容是进行最高优先级任务的寻找和任务的切换。 • C/OS还提供了调度的锁定和解锁机制 • 使某个任务就可以短期禁止内核进行任务调度,从而占有CPU。 • 由于调度锁定采用的是累加方式,内核允许任务进行多级锁定,最大锁定层数不能超过255。 • 当一个任务锁定了系统的任务调度时,C/OS基于优先级的实时运行方式不复存在,优先级由高到低的次序被改为:各种中断任务(最高)、锁定调度的任务(其次)、其他所有任务(最低)。

  28. 8.1.4 嵌入式系统的开发 • 嵌入式设计具有一个生命周期,即可以将嵌入式项目设计分为7个具体阶段: ①产品定义; ②软件与硬件的划分; ③迭代与实现; ④详细的硬件与软件设计; ⑤硬件与软件集成; ⑥产品测试与发布; ⑦持续维护与升级。

  29. 1. 嵌入式系统开发步骤 • 设计过程中的文档管理包括: • 需求分析文档(产品定义阶段) • 总体方案设计(选择过程和软硬件划分阶段) • 概要设计文档(软硬件初步设计阶段) • 详细设计文档(软硬件详细设计阶段) • 测试需求文档(模块测试及联调准备阶段) • 系统测试报告(测试小组) • 使用说明文档/源程序注释

  30. 嵌入式系统的开发步骤: (1) 确定嵌入式系统的要求 (2) 设计系统的体系结构和总体方案设计 (3) 选择开发平台 (4) 应用编码并按照代码优化原则优化代码 (5) 在主机系统上验证软件 (6) 在目标系统上验证软件

  31. 2. 一类ARM SDT仿真开发环境 • 当进行嵌入式系统开发时,选择一套含有编辑软件、编译软件、汇编软件、连接软件、调试软件、工程管理及函数库的集成开发环境是必不可少的。 • ARM SDT是ARM Software Development Toolkit的简写,是ARM公司为方便用户在ARM芯片上进行应用软件开发而推出的一整套集成开发工具。ARM SDT由一套完备的应用程序构成,并附带支持文档和例子,可以用于编写和调试ARM系列的RISC处理器应用程序。 图8-7 基于ARM的嵌入式硬件平台体系结构

  32. 3. 基于C/OS-II建立实时操作系统 • 在建立实时操作系统之前,需要将C/OS-II移植到自己的硬件平台上,然后再扩展得到RTOS的体系结构,并在此基础上,建立相应的文件系统、外设及驱动程序、引进图形用户接口等,得到自己的RTOS。 (1) C/OS-II的移植 “移植”是指使一个实时操作系统能够在某个微处理器平台上运行。 • C/OS-II移植到S3C44B0X要做的工作: • 在OS_CPU.H中设置与处理器和编译器相关的代码、对具体处理器的字长重新定义一系列数据类型、声明几个用于开关中断和任务切换的宏; • 在OS_CPU_C.C中用C语言编写6个与操作系统相关的函数; • 在OS_CPU_A.ASM中改写4个与处理器相关的汇编语言函数。

  33. (2) 基于C/OS-II扩展RTOS的体系结构 图8-10 基于COS-II扩展RTOS的体系结构

  34. (3) 建立文件系统 • 针对嵌入式的应用,参考FAT16的文件系统,可以利用与文件系统相关的API 函数,来建立相应的简单文件系统。 (4) 外设驱动程序 • 外设驱动函数可以对系统提供访问外围设备的接口。 (5) 图形用户接口(GUI) • 可以为人机交互建立起图形用户接口,即为图形用户界面应用建立相应的API函数,其中包括基于Unicode的汉字字库、基本绘图函数、典型的控键。 (6) 系统消息队列 • 在多任务操作系统中,各任务之间通常是通过消息来传递信息和同步的。用户应用程序的每个任务都有自己的信息响应队列和消息循环。通常,任务通过等待消息而处于挂起状态。当任务接到消息后,则处于就绪状态,然后开始判断所接收到的消息是否需要处理。如果是,则执行相应功能的处理函数。执行完相应处理函数后,将删除所接收到的消息,继续挂起等待下一条消息。

  35. 4. 建立与调试用户应用程序 • 在嵌入式硬件平台的基础上,有了前面基于C/OS-II建立的实时操作系统,用户就可以在相应的操作系统平台上使用操作系统所提供的GUI及API函数来编制应用程序了。 (1) 操作系统的启动过程 (2) 实现消息循环 (3) 任务对应资源分配及其任务的创建 (4) 任务的实现

  36. 8.1.5 嵌入式控制系统设计实例 1. 税控收款机 图8-11 税控收款机的系统组成框图 图8-12 系统任务的划分

  37. 2. 智能滴灌控制器 (1) 智能滴灌控制器的硬件设计 图8-13 智能灌溉控制器系统硬件结构

  38. (2) 智能滴灌控制器的软件设计 软件设计采用模块化思想,嵌入式控制器使用基于μC/OS内核的RTOS操作系统。 图8-14 智能滴灌控制器系统软件主流程

  39. 8.1 嵌入式系统 8.1.1 概述 8.1.2 软硬件协同设计技术 8.1.3 实时操作系统 8.1.4 嵌入式系统的开发 8.1.5 嵌入式控制系统设计实例 8.2 可编程控制器(PLC) 8.2.1 PLC概述 8.2.2 PLC结构和工作原理 8.2.3 PLC常用编程语言 8.2.4 PLC应用实例 8.2.5 PLC网络系统

  40. 8.2.1 可编程控制器(PLC)概述 • 自动控制系统包括: • 连续量的运动控制 • 连续量的过程控制 • 断续量的控制系统 (离散量,顺序控制为主流) • 时间顺序控制系统 • 逻辑顺序控制系统 • 条件顺序控制系统

  41. 可编程控制器定义(美国际电工委员会1985年修订版)可编程控制器定义(美国际电工委员会1985年修订版) • 可编程控制器是一种专为在工业环境下应用而设计的数字运算操作的电子系统,它采用一种可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。可编程控制器及其有关设备,都应按易于与工业控制系统形成一个整体,并易于扩充其功能的原则设计。

  42. 1.可编程控制器的发展 • 1969年,美国数字设备公司根据美国通用汽车公司招标的要求,研制出世界上第一台可编程逻辑控制器 (Programmable Logic Controller,PLC) • 发展经历 第一代:多用一位机开发,只有单一的逻辑控制功能; 第二代:换成8位微处理器及半导体存储器,控制功能得到较大的扩展; 第三代:大量使用高性能微处理器,向多功能及联网通信方面发展,初步形成了分布式的通信网络体系; 第四代:全面使用16位、32位高性能微处理器、RISC体系CPU等高级CPU,而且在一台PLC中配置多个微处理器,进行多道处理。同时开发大量内含微处理器的智能模块,使第四代PLC产品成为具有逻辑控制功能、过程控制功能、运动控制功能、数据处理功能、联网通信功能的多功能控制器。

  43. 1.可编程控制器的发展(续) • PLC及其网络已成为工厂企业首选的工业控制装置,并成为CIMS系统不可或缺的基本组成部分。PLC及其网络已经被公认为现代工业自动化三大支柱(PLC、机器人、CAD/CAM)之一。 • 发展趋势: • 向体积更小、速度更快、功能更强和价格更低的微小型方面发展,以占领小型、分散和简单功能的工业控制市场。 • 向大型网络化化、高速度、高可靠性、好的兼容性和多功能方面发展,使其向下可将多个PLC、I/O框架相连;向上与工业计算机、以太网、MAP(制造业自动化通信协议)网等相连构成整个工厂的自动化控制系统。

  44. 2. PLC的特点 (1) 功能齐全: • 多种控制功能; • 输入/输出接口功能; • 数据存储与处理功能; • 通信联网功能; • 其他扩展功能。 (2) 应用灵活 • 标准的积木硬件结构和模块化的软件设计。 (3) 操作维修方便,稳定可靠 • PLC 采用电气操作人员习惯的梯形图形式编程与功能助记符编程。 • PLC 机具有完善的监视和诊断功能。其内部工作等状态均有醒目的显示,大多数模件可以带电插拔。 (4) 模块智能化、通信网络化

  45. 主要应用场合: ①开关逻辑控制 (如自动电梯的控制、传输皮带的控制等); ②闭环过程控制 (如锅炉运行控制,自动焊机控制、连轧机的速度和位置控制等); ③机械加工的数字控制; ④机器人控制; ⑤多级网络系统。

  46. 8.2.2PLC的结构和工作原理 • PLC的组成和基本结构 2. PLC的工作原理

  47. 1. PLC的组成和基本结构

  48. 按I/O点数将PLC分类 • 微型PLC • I/O点数一般为几十点,整体单元结构。 • 小型PLC • 点数至多可达256点,整体单元结构或模块化结构。 • 中型PLC • 点数可达5121024,模块化结构。 • 大型PLC • 点数可达2048甚至更多,模块化结构。

  49. PLC原理结构图 图8-16 PLC原理框图

  50. PLC系统的硬件结构框图

More Related