




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 北京航空航天大学 清华大学出版社2 依依审定的教材大纲编写。审定的教材大纲编写。 主编人:高金源主编人:高金源 夏洁夏洁 出版发行:清华大学出版社出版发行:清华大学出版社 北京航空航天大学 清华大学出版社3 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常用编
2、程语言常用编程语言 8.2.4 PLC应用实例应用实例 8.2.5 PLC网络系统网络系统 北京航空航天大学 清华大学出版社4 北京航空航天大学 清华大学出版社5 1. 嵌入式系统定义和分类嵌入式系统定义和分类 电气工程师协会(电气工程师协会(IEEE)定义)定义 : “嵌入式系统是控制、监视或辅助设备、机嵌入式系统是控制、监视或辅助设备、机 器甚至工厂操作的装置。器甚至工厂操作的装置。” 一般定义:一般定义: “以应用为中心、以计算机技术为基础、以应用为中心、以计算机技术为基础、软软 件硬件可裁剪件硬件可裁剪、适应应用系统对功能、可靠、适应应用系统对功能、可靠 性、成本、体积、功耗严格要求的
3、性、成本、体积、功耗严格要求的专用专用计算计算 机系统。机系统。” 北京航空航天大学 清华大学出版社6 小型系统内核;小型系统内核; 专用性较强;专用性较强; 系统精简,以减少控制系统成本,利于实现系统系统精简,以减少控制系统成本,利于实现系统 安全;安全; 采用高实时性的操作系统,且软件要固化存储;采用高实时性的操作系统,且软件要固化存储; 使用多任务的操作系统,使软件开发标准化;使用多任务的操作系统,使软件开发标准化; 嵌入式系统开发需要专门的工具和环境。嵌入式系统开发需要专门的工具和环境。 北京航空航天大学 清华大学出版社7 硬件方面:硬件方面: 芯片级嵌入(含程序或算法的处理器)芯片级
4、嵌入(含程序或算法的处理器) 模块级嵌入(系统中的某个核心模块)模块级嵌入(系统中的某个核心模块) 系统级嵌入系统级嵌入 软件方面(根据实时性要求):软件方面(根据实时性要求): 非实时系统(例如非实时系统(例如PDA等)等) 实时系统实时系统 硬实时系统硬实时系统若系统在指定的时间内未能实现某个确定的任若系统在指定的时间内未能实现某个确定的任 务,就会引起系统崩溃或导致致命错误(如导弹飞行姿态控制务,就会引起系统崩溃或导致致命错误(如导弹飞行姿态控制 系统)。系统)。 软实时系统软实时系统在该类系统中虽然响应时间同样重要,但是超在该类系统中虽然响应时间同样重要,但是超 时却不会导致致命错误,
5、这也意味着偶尔超过时间限制是可以时却不会导致致命错误,这也意味着偶尔超过时间限制是可以 容忍的(如消费类产品)容忍的(如消费类产品) 。 北京航空航天大学 清华大学出版社8 (1) 嵌入式微控制器嵌入式微控制器(Mico Controller Unit, MCU) 典型代表是单片机。单片机芯片内部集成典型代表是单片机。单片机芯片内部集成ROM、RAM、总线、总线、 定时器定时器/计时器、计时器、I/O、串行口、串行口、A/D、D/A等各种必要的功能等各种必要的功能 和外设,在工作温度、抗电磁干扰、可靠性等方面一般都做了各和外设,在工作温度、抗电磁干扰、可靠性等方面一般都做了各 种增强,且体积小
6、、功耗成本低,比较适合控制。种增强,且体积小、功耗成本低,比较适合控制。 (2) 嵌入式微处理器嵌入式微处理器(Embedded Micro Processor Unit, EMPU) 基础是通用计算机中的基础是通用计算机中的CPU。只保留与嵌入式应用密切相关的功。只保留与嵌入式应用密切相关的功 能硬件,去掉其他冗余的功能部分。目前的主要类型有能硬件,去掉其他冗余的功能部分。目前的主要类型有ARM 、 PowerPC系列等。系列等。 (3) 数字信号处理器数字信号处理器(Digital Signal Processor, DSP) 专用于信号处理方面的处理器,其可进行向量运算、指针线性寻专用于
7、信号处理方面的处理器,其可进行向量运算、指针线性寻 址等运算量很大的数据处理,具有很高编译效率和指令执行速度址等运算量很大的数据处理,具有很高编译效率和指令执行速度 (4)嵌入式片上系统嵌入式片上系统(System On Chip, SOC) 在一个硅片上实现一个复杂的系统,其最大的特点是实现了软硬在一个硅片上实现一个复杂的系统,其最大的特点是实现了软硬 件的无缝结合,直接在处理器内嵌入操作系统的代码模块。件的无缝结合,直接在处理器内嵌入操作系统的代码模块。 北京航空航天大学 清华大学出版社9 硬件设计工具硬件设计工具 系统级设计方面采用的硬件设计工具有系统级设计方面采用的硬件设计工具有Cad
8、ence的的 SPW和和System View。 模拟电路系统采用的仿真工具有模拟电路系统采用的仿真工具有Pspice和和EWB。 印刷电路设计方面的设计工具有印刷电路设计方面的设计工具有Protel、PADs 的的 Power PCB & Tool Kit和和Mentor的的Expedition & Tool Kit。 可编程逻辑器件设计工具还有可编程逻辑器件设计工具还有Mentor FPGA Advantage & ModelSim、Xilinx Foundation ISE & Tool Kit以及各种综合和仿真工具等等。以及各种综合和仿真工具等等。 北京航空航天大学 清华大学出版社10
9、 软件开发平台软件开发平台 高级语言编译器(高级语言编译器(Compiler Tools)。)。 实时在线仿真系统实时在线仿真系统ICE(In Circuit Emulator)。)。 源程序模拟器(源程序模拟器(Simulator)。)。 实时多任务操作系统(实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)。)。 商用型商用型RTOS的功能稳定可靠,具有比较完善的技术支持和售的功能稳定可靠,具有比较完善的技术支持和售 后服务,但价格昂贵而且都针对特定的硬件平台。如后服务,但价格昂贵而且都针对特定的硬件平台。如 WindRiver
10、公司的公司的VxWorks、Palm Computing掌上电掌上电 脑公司的脑公司的Palm OS等。等。 免费的免费的RTOS主要有主要有Linux和和C/OS等。尽管这些资源带有等。尽管这些资源带有 源码,但理解、消化并运用在某应用系统上也是一项艰苦的工源码,但理解、消化并运用在某应用系统上也是一项艰苦的工 作,相应的调试工具是没有免费的。作,相应的调试工具是没有免费的。 北京航空航天大学 清华大学出版社11 北京航空航天大学 清华大学出版社12 芯片方面芯片方面 是可编程片上系统。是可编程片上系统。 宏观方面宏观方面 使嵌入式系统更经济、小型、可靠、快速、智能化、使嵌入式系统更经济、小
11、型、可靠、快速、智能化、 网络化。网络化。 经济性经济性 很便宜,让更多的人能买得起。很便宜,让更多的人能买得起。 小型化(笔记本、小型化(笔记本、PDA) 人们携带方便。人们携带方便。 可靠性(汽车可靠性(汽车VCD跳动问题)跳动问题) 能够在一般环境条件下或者是苛刻的环境条件下运行。能够在一般环境条件下或者是苛刻的环境条件下运行。 高速度(飞机刹车系统)高速度(飞机刹车系统) 能够迅速地完成数据计算或数据传输。能够迅速地完成数据计算或数据传输。 智能性(知识推理、模糊查询、识别、感知运动)智能性(知识推理、模糊查询、识别、感知运动) 使人们用起来更习惯,对人们更有使价值。使人们用起来更习惯
12、,对人们更有使价值。 北京航空航天大学 清华大学出版社13 1硬件体系结构硬件体系结构 图图8-2 嵌入式系统硬件体系结构的功能部件嵌入式系统硬件体系结构的功能部件 北京航空航天大学 清华大学出版社14 设计过程的基本特征是:系统在一开始就被划分为软件和硬件两设计过程的基本特征是:系统在一开始就被划分为软件和硬件两 大部分,软件和硬件是独立地进行开发设计,通常采用的是大部分,软件和硬件是独立地进行开发设计,通常采用的是“硬硬 件先行件先行”的设计方法。的设计方法。 问题:问题: (1)软硬件之间的交互受到很大限软硬件之间的交互受到很大限 制,造成系统集成相对滞后,因此制,造成系统集成相对滞后,
13、因此 传统嵌入式系统设计的结果往往是传统嵌入式系统设计的结果往往是 设计质量差设计质量差、设计修改难设计修改难,同时,同时研研 制周期不能制周期不能得到得到有效保障有效保障。 (2) 随着设计复杂程度的提高,随着设计复杂程度的提高, 软硬件设计中的一些错误将会使开软硬件设计中的一些错误将会使开 发过程付出昂贵的代价。发过程付出昂贵的代价。 (3)“硬件先行硬件先行”的做法常常需要的做法常常需要 由软件来补偿由于硬件选择的不适由软件来补偿由于硬件选择的不适 合造成系统的缺陷,从而增加软件合造成系统的缺陷,从而增加软件 的代价。的代价。 图图8-3 传统的嵌入式系统的设计方法传统的嵌入式系统的设计
14、方法 北京航空航天大学 清华大学出版社15 (1) 软硬件协同设计定义:软硬件协同设计定义: 在硬件和软件设计中,通过并发和交互设计来满足系统级的目标要求。在硬件和软件设计中,通过并发和交互设计来满足系统级的目标要求。 (2) 软硬件协同设计基本需求:软硬件协同设计基本需求: 采用统一的软硬件描述方式采用统一的软硬件描述方式软硬件支持统一的设计和分析工软硬件支持统一的设计和分析工 具或技术,允许在一个集成环境中仿真及评估系统的软硬件设计,具或技术,允许在一个集成环境中仿真及评估系统的软硬件设计, 支持系统任务在软件和硬件设计之间的相互移植;支持系统任务在软件和硬件设计之间的相互移植; 采用交互
15、式软硬件划分技术采用交互式软硬件划分技术允许进行多个不同的软硬件划分允许进行多个不同的软硬件划分 设计仿真和比较,划分应用可以最大满足设计标准设计仿真和比较,划分应用可以最大满足设计标准(功能和性能(功能和性能 目标)目标)要求;要求; 具有完整的软硬件模型基础具有完整的软硬件模型基础可可 以支持设计过程中各阶段的评估,以支持设计过程中各阶段的评估, 支持逐步开发以及对硬件和软件的支持逐步开发以及对硬件和软件的 综合;综合; 验证方法必须正确,以确保系统设验证方法必须正确,以确保系统设 计达到目标要求。计达到目标要求。 优势:优势:协同设计要协同设计要贯穿整个设计周期贯穿整个设计周期, 且且使
16、设计修改容易,研制周期可以得到有使设计修改容易,研制周期可以得到有 效保障效保障;软硬件交互设计变得简单。软硬件交互设计变得简单。 图图8-4 嵌入式系统的软硬件协同设计流程嵌入式系统的软硬件协同设计流程 北京航空航天大学 清华大学出版社16 描述描述将系统行为的功能进行明确、提取并列表;将系统行为的功能进行明确、提取并列表; 划分划分即对硬件即对硬件/软件的功能进行分配;软件的功能进行分配; 评估评估进行性能评估或对综合后系统依据指令级评价进行性能评估或对综合后系统依据指令级评价 参数做出评估,若不满足要求,则需要回到参数做出评估,若不满足要求,则需要回到; 验证验证是为保证系统可以按照设计
17、要求正常工作,而是为保证系统可以按照设计要求正常工作,而 达到合理置信度的过程。根据应用领域的不同可能采取不达到合理置信度的过程。根据应用领域的不同可能采取不 同的验证方法,但都必须经过性能与功能的协同仿真。同的验证方法,但都必须经过性能与功能的协同仿真。 实现实现通过综合后的硬件的物理实现和通过编译后的通过综合后的硬件的物理实现和通过编译后的 软件执行。软件执行。 北京航空航天大学 清华大学出版社17 1实时操作系统定义及特点实时操作系统定义及特点 实时操作系统实时操作系统RTOS是指能支持实时控制系统工作的操作系统,是指能支持实时控制系统工作的操作系统, 它可以在固定的时间内对一个或多个由
18、外设发出的信号做出适当它可以在固定的时间内对一个或多个由外设发出的信号做出适当 的反应。的反应。 实时操作系统的主要特征:规模小、中断被屏蔽的时间很短、中实时操作系统的主要特征:规模小、中断被屏蔽的时间很短、中 断处理时间短且任务切换很快。断处理时间短且任务切换很快。 常见的实时操作系统常见的实时操作系统 商用的商用的RTOS:VxWorks、pSOS、Palm OS等;等; 免费的免费的RTOS:Linux和和C/OS等等 嵌入式实时操作系统的精华在于向开发人员提供一个实时多任务嵌入式实时操作系统的精华在于向开发人员提供一个实时多任务 内核。开发人员将具体一项应用工作分解成若干个独立的任务,
19、内核。开发人员将具体一项应用工作分解成若干个独立的任务, 将各任务要做的事、任务间的关系向实时多任务内核交代清楚,将各任务要做的事、任务间的关系向实时多任务内核交代清楚, 让实时多任务内核去管理这些任务,开发过程就完成了。让实时多任务内核去管理这些任务,开发过程就完成了。 嵌入式实时操作系统没有文件管理,一般不需要内存管理,它具嵌入式实时操作系统没有文件管理,一般不需要内存管理,它具 有的是实时操作系统中最重要的内容,即多任务实时调度和任务有的是实时操作系统中最重要的内容,即多任务实时调度和任务 的定时、同步操作,具有很短的任务切换时间和实时响应速度。的定时、同步操作,具有很短的任务切换时间和
20、实时响应速度。 北京航空航天大学 清华大学出版社18 VxWorks操作系统是美国操作系统是美国WindRiver公司于公司于 1983年设计开发的一种嵌入式年设计开发的一种嵌入式RTOS,具有高,具有高 性能的内核以及友好的用户开发环境,在嵌性能的内核以及友好的用户开发环境,在嵌 入式实时操作系统领域牢牢占据着一席之地。入式实时操作系统领域牢牢占据着一席之地。 VxWorksVxWorks所具有的显著特点是:所具有的显著特点是: 可靠性、实时性和可裁减性。可靠性、实时性和可裁减性。 它支持多种处理器,如它支持多种处理器,如x86x86、i960i960、Sun Sun SparcSparc、
21、Motorola MC68xxxMotorola MC68xxx、MIPS MIPS 、POWER POWER PCPC等等。等等。 3-2 北京航空航天大学 清华大学出版社19 pSOS原属原属ISI公司的产品,但公司的产品,但ISI已经被已经被 WinRiver公司兼并,现在公司兼并,现在pSOS属于属于 WindRiver公司的产品。公司的产品。 该系统是一个模块化、高性能的实时操作系该系统是一个模块化、高性能的实时操作系 统。统。 开发者可以利用它来实现从简单的单个独立开发者可以利用它来实现从简单的单个独立 设备到复杂的、网络化的多处理器系统功能。设备到复杂的、网络化的多处理器系统功能
22、。 3-2 北京航空航天大学 清华大学出版社20 Palm OS是著名的网络设备制造商是著名的网络设备制造商3COM旗旗 下的下的Palm Computing掌上电脑公司的产品。掌上电脑公司的产品。 Palm OSPalm OS在在PDAPDA市场上占有很大的市场份额。市场上占有很大的市场份额。 获得了获得了IBMIBM、OracleOracle、NokiaNokia和和SonySony等国际知等国际知 名公司的支持,同时有很多的软件开发者为名公司的支持,同时有很多的软件开发者为 其开发软件应用程序,还有相当多的硬件开其开发软件应用程序,还有相当多的硬件开 发人员为其开发外围扩展设备,例如发人
23、员为其开发外围扩展设备,例如GPSGPS系系 统、数码摄像头、录音系统等。统、数码摄像头、录音系统等。 3-2 北京航空航天大学 清华大学出版社21 任务任务(或称(或称“线程线程”)及其)及其任务工作状态任务工作状态 指拥有所有指拥有所有CPU资源的程序分段,资源的程序分段,线程线程为调度的基本单位为调度的基本单位 每个任务都是整个应用的某一部分,每个任务被赋予一定每个任务都是整个应用的某一部分,每个任务被赋予一定 的优先级,的优先级, 有它自己的一套有它自己的一套CPU寄存器和自己的栈空间。寄存器和自己的栈空间。 图图8-5 实时系统中的任务状态实时系统中的任务状态 北京航空航天大学 清华
24、大学出版社22 实时内核负责管理各个任务,为每个任务分配实时内核负责管理各个任务,为每个任务分配CPU时间,时间, 并负责任务间的通信。提供的基本服务是任务切换。并负责任务间的通信。提供的基本服务是任务切换。 (non-preemptive) (preemptive) 内核可以剥夺正在运行着的任务的内核可以剥夺正在运行着的任务的CPU使用使用 权,并将该使用权交给进入就绪态的优先级权,并将该使用权交给进入就绪态的优先级 更高的任务。更高的任务。 实时内核实时内核 可剥夺型(占先式)可剥夺型(占先式) 不可剥夺型(非占先式)不可剥夺型(非占先式) 内核运用某种算法决定让哪个任务运行后,就内核运用
25、某种算法决定让哪个任务运行后,就 将将CPU控制权完全交给这个任务,直到该任务控制权完全交给这个任务,直到该任务 主动将主动将CPU控制权还回来。控制权还回来。 北京航空航天大学 清华大学出版社23 任务按照其重要性被赋予优先级。任务按照其重要性被赋予优先级。 静态优先级静态优先级 应用程序执行过程中诸任务优先级不变。应用程序执行过程中诸任务优先级不变。 在这种系统中,诸任务以及它们的时间约束在这种系统中,诸任务以及它们的时间约束 在程序编译时是已知的。在程序编译时是已知的。 动态优先级动态优先级 应用程序执行过程中,任务的优先级是可变应用程序执行过程中,任务的优先级是可变 的。的。 北京航空
26、航天大学 清华大学出版社24 为内核的主要职责之一,它决定该轮到哪个任务运为内核的主要职责之一,它决定该轮到哪个任务运 行了。行了。 调度是基于优先级的。调度是基于优先级的。 CPU总是让处在就绪态的总是让处在就绪态的 优先级最高的任务先运行。优先级最高的任务先运行。 调度的基本方式有:可剥夺型和不可剥夺型调度的基本方式有:可剥夺型和不可剥夺型 基本调度算法基本调度算法 先来先服务先来先服务 最短周期优先最短周期优先 优先级法优先级法 轮转法轮转法 多级队列法多级队列法 多级反馈队列多级反馈队列 多数实时内核是基于优先级调度的多种方法多数实时内核是基于优先级调度的多种方法 的复合。的复合。 北
27、京航空航天大学 清华大学出版社25 互斥(互斥(Mutex)机制)机制 信号量(信号量(Semaphore)机制)机制 代码临界区(代码临界区(Critical Section)临界资源临界资源 指处理时不可分割的代码。指处理时不可分割的代码。 任务间通信任务间通信(Inter task com) 可预测性(可预测性(Predictability) 北京航空航天大学 清华大学出版社26 实时系统是实时系统是面向具体应用面向具体应用,对外来事件在限定时间内能做,对外来事件在限定时间内能做 出反应的系统。限定时间的范围很广,可从出反应的系统。限定时间的范围很广,可从微秒级(微秒级(如信如信 号处理
28、)到号处理)到分级分级(如联机查询系统)。(如联机查询系统)。 实时系统中主要用三个指标来衡量其实时性:实时系统中主要用三个指标来衡量其实时性: 系统响应时间系统响应时间(System response Time):从系):从系 统发出处理要求,到系统给出应答信号的过程所用的时统发出处理要求,到系统给出应答信号的过程所用的时 间。间。 任务切换时间任务切换时间(Context-switching time):指任):指任 务之间切换所使用的时间。务之间切换所使用的时间。 中断延迟中断延迟(Interrupt latency):指从计算机接收):指从计算机接收 到中断信号到操作系统做出响应,并完
29、成切换转入中断到中断信号到操作系统做出响应,并完成切换转入中断 服务程序的过程所用时间。服务程序的过程所用时间。 北京航空航天大学 清华大学出版社27 嵌入式系统本身不具备自主开发能力,在设计完成后,需嵌入式系统本身不具备自主开发能力,在设计完成后,需 要一套专门的开发工具和开发环境才能进行开发。要一套专门的开发工具和开发环境才能进行开发。 这些工具和环境一般是基于通用计算机上的软硬件设备以这些工具和环境一般是基于通用计算机上的软硬件设备以 及各种逻辑分析仪、混合信号示波器等。及各种逻辑分析仪、混合信号示波器等。 如果开发机就是运行机,则称为本地编译。如果开发机就是运行机,则称为本地编译。 “
30、宿主机宿主机/目标机目标机”方式:方式: 利用宿主机丰富的资源和良好的开发环境来对目标机将要运行的利用宿主机丰富的资源和良好的开发环境来对目标机将要运行的 程序进行开发和仿真调试,程序进行开发和仿真调试, 通过串行口或网络接口将交叉汇编生成的目标代码下载到目标机通过串行口或网络接口将交叉汇编生成的目标代码下载到目标机 上,并利用交叉调试器在监控程序或实时内核的支持下进行实时上,并利用交叉调试器在监控程序或实时内核的支持下进行实时 分析和调度。分析和调度。 最后由目标机在特定的环境下运行。最后由目标机在特定的环境下运行。 图图8-6 宿主机宿主机/目标机的开发方式目标机的开发方式 北京航空航天大
31、学 清华大学出版社28 (1) C/OS-II的特点的特点 有源代码,有范例,且源代码中有详细的注解。有源代码,有范例,且源代码中有详细的注解。 源代码的源代码的90%以上用以上用C语言写成,可移植性好。语言写成,可移植性好。 C/OS-II可裁减、可固化,最小内核的可裁减、可固化,最小内核的ROM可以小到可以小到2KB 以下。以下。 多任务。多任务。 C/OS-II内核属于优先级的可剥夺型,可以管理内核属于优先级的可剥夺型,可以管理64个任务个任务 (目前的版本保留(目前的版本保留8个给系统,应用程序最多可以有个给系统,应用程序最多可以有56个任个任 务)。每个任务有特定的优先级,用一个数字
32、来标识,优先级务)。每个任务有特定的优先级,用一个数字来标识,优先级 越高,数字越小。任务切换采用查表法,切换速度快。实时性越高,数字越小。任务切换采用查表法,切换速度快。实时性 是可知的、有保证的。是可知的、有保证的。 中断管理。中断管理。 中断嵌套层数可达中断嵌套层数可达255层。层。 稳定性与可靠性有保证。稳定性与可靠性有保证。 C/OS自自1992年以来,已经有上千个应用,是一个被实践年以来,已经有上千个应用,是一个被实践 证实为好用的内核。证实为好用的内核。 北京航空航天大学 清华大学出版社29 C/OS是可剥夺型实时多任务内核。是可剥夺型实时多任务内核。 这种内核在任何时刻都运行就
33、绪了的最高优先级的任务。这种内核在任何时刻都运行就绪了的最高优先级的任务。 C/OS 调度工作的内容是进行最高优先级任务的寻找和任务的切换。调度工作的内容是进行最高优先级任务的寻找和任务的切换。 C/OS还提供了调度的锁定和解锁机制还提供了调度的锁定和解锁机制 使某个任务就可以短期禁止内核进行任务调度,从而占有使某个任务就可以短期禁止内核进行任务调度,从而占有CPU。 由于调度锁定采用的是累加方式,内核允许任务进行多级锁定,由于调度锁定采用的是累加方式,内核允许任务进行多级锁定, 最大锁定层数不能超过最大锁定层数不能超过255。 当一个当一个任务锁定了系统的任务调度任务锁定了系统的任务调度时,
34、时, C/OS基于优先基于优先 级的实时运行方式不复存在,优先级由高到低的次序被改级的实时运行方式不复存在,优先级由高到低的次序被改 为:各种中断任务(最高)、锁定调度的任务(其次)、为:各种中断任务(最高)、锁定调度的任务(其次)、 其他所有任务(最低)。其他所有任务(最低)。 北京航空航天大学 清华大学出版社30 嵌入式设计具有一个生命周期,即可以将嵌入式设计具有一个生命周期,即可以将 嵌入式项目设计分为嵌入式项目设计分为7个具体阶段:个具体阶段: 产品定义;产品定义; 软件与硬件的划分;软件与硬件的划分; 迭代与实现;迭代与实现; 详细的硬件与软件设计;详细的硬件与软件设计; 硬件与软件
35、集成;硬件与软件集成; 产品测试与发布;产品测试与发布; 持续维护与升级。持续维护与升级。 北京航空航天大学 清华大学出版社31 设计过程中的文档管理包括:设计过程中的文档管理包括: 需求分析文档(产品定义阶段)需求分析文档(产品定义阶段) 总体方案设计(选择过程和软硬件划分阶段)总体方案设计(选择过程和软硬件划分阶段) 概要设计文档(软硬件初步设计阶段)概要设计文档(软硬件初步设计阶段) 详细设计文档(软硬件详细设计阶段)详细设计文档(软硬件详细设计阶段) 测试需求文档(模块测试及联调准备阶段)测试需求文档(模块测试及联调准备阶段) 系统测试报告(测试小组)系统测试报告(测试小组) 使用说明
36、文档使用说明文档/源程序注释源程序注释 北京航空航天大学 清华大学出版社32 (1) 确定嵌入式系统的要求确定嵌入式系统的要求 (2) 设计系统的体系结构和总体方案设计设计系统的体系结构和总体方案设计 (3) 选择开发平台选择开发平台 (4) 应用编码并按照代码优化原则优化代码应用编码并按照代码优化原则优化代码 (5) 在主机系统上验证软件在主机系统上验证软件 (6) 在目标系统上验证软件在目标系统上验证软件 北京航空航天大学 清华大学出版社33 当进行嵌入式系统开发时,选择一套含有编辑软件、编译当进行嵌入式系统开发时,选择一套含有编辑软件、编译 软件、汇编软件、连接软件、调试软件、工程管理及
37、函数软件、汇编软件、连接软件、调试软件、工程管理及函数 库的集成开发环境是必不可少的。库的集成开发环境是必不可少的。 ARM SDT是是ARM Software Development Toolkit的简写,是的简写,是ARM公司为方便用户在公司为方便用户在ARM芯片上芯片上 进行应用软件开发而推出的一整套集成开发工具。进行应用软件开发而推出的一整套集成开发工具。ARM SDT由一套完备的应用程序构成,并附带支持文档和例由一套完备的应用程序构成,并附带支持文档和例 子,可以用于编写和调试子,可以用于编写和调试ARM系列的系列的RISC处理器应用处理器应用 程序。程序。 图图8-7 基于基于AR
38、M的嵌入式硬件平台体系结构的嵌入式硬件平台体系结构 北京航空航天大学 清华大学出版社34 在建立实时操作系统之前,需要将在建立实时操作系统之前,需要将 C/OS-II移植到自己的硬件平台移植到自己的硬件平台 上,然后再扩展得到上,然后再扩展得到RTOS的体系结构,并在此基础上,建立相应的的体系结构,并在此基础上,建立相应的 文件系统、外设及驱动程序、引进图形用户接口等,得到自己的文件系统、外设及驱动程序、引进图形用户接口等,得到自己的 RTOS。 (1) C/OS-II的移植的移植 “移植移植”是指使一个实时操作系统能够在某个微处理器是指使一个实时操作系统能够在某个微处理器 平台上运行。平台上
39、运行。 C/OS-II移植到移植到S3C44B0X要做的工作:要做的工作: 在在OS_CPU.H中设置与处理器和编译器相关的代中设置与处理器和编译器相关的代 码、对具体处理器的字长重新定义一系列数据类型、码、对具体处理器的字长重新定义一系列数据类型、 声明几个用于开关中断和任务切换的宏;声明几个用于开关中断和任务切换的宏; 在在OS_CPU_C.C中用中用C语言编写语言编写6个与操作系统相个与操作系统相 关的函数;关的函数; 在在OS_CPU_A.ASM中改写中改写4个与处理器相关的汇个与处理器相关的汇 编语言函数。编语言函数。 北京航空航天大学 清华大学出版社35 图图8-10 基于基于 C
40、OS-II扩展扩展RTOS的体系结构的体系结构 北京航空航天大学 清华大学出版社36 (3) 建立文件系统建立文件系统 针对嵌入式的应用,参考针对嵌入式的应用,参考FAT16的文件系统,可以利用与文件系的文件系统,可以利用与文件系 统相关的统相关的API 函数,来建立相应的简单文件系统。函数,来建立相应的简单文件系统。 (4) 外设驱动程序外设驱动程序 外设驱动函数可以对系统提供访问外围设备的接口。外设驱动函数可以对系统提供访问外围设备的接口。 (5) 图形用户接口(图形用户接口(GUI) 可以为人机交互建立起图形用户接口,即为图形用户界面应用建可以为人机交互建立起图形用户接口,即为图形用户界
41、面应用建 立相应的立相应的API函数,其中包括基于函数,其中包括基于Unicode的汉字字库、基本绘的汉字字库、基本绘 图函数、典型的控键。图函数、典型的控键。 (6) 系统消息队列系统消息队列 在多任务操作系统中,各任务之间通常是通过消息来传递信息和在多任务操作系统中,各任务之间通常是通过消息来传递信息和 同步的。用户应用程序的每个任务都有自己的信息响应队列和消同步的。用户应用程序的每个任务都有自己的信息响应队列和消 息循环。通常,任务通过等待消息而处于挂起状态。当任务接到息循环。通常,任务通过等待消息而处于挂起状态。当任务接到 消息后,则处于就绪状态,然后开始判断所接收到的消息是否需消息后
42、,则处于就绪状态,然后开始判断所接收到的消息是否需 要处理。如果是,则执行相应功能的处理函数。执行完相应处理要处理。如果是,则执行相应功能的处理函数。执行完相应处理 函数后,将删除所接收到的消息,继续挂起等待下一条消息。函数后,将删除所接收到的消息,继续挂起等待下一条消息。 北京航空航天大学 清华大学出版社37 在嵌入式硬件平台的基础上,有了前面基于在嵌入式硬件平台的基础上,有了前面基于 C/OS-II建建 立的实时操作系统,用户就可以在相应的操作系统平台上立的实时操作系统,用户就可以在相应的操作系统平台上 使用操作系统所提供的使用操作系统所提供的GUI及及API函数来编制应用程序函数来编制应
43、用程序 了。了。 (1) 操作系统的启动过程操作系统的启动过程 (2) 实现消息循环实现消息循环 (3) 任务对应资源分配及其任务的创建任务对应资源分配及其任务的创建 (4) 任务的实现任务的实现 北京航空航天大学 清华大学出版社38 1 税控收款机税控收款机 图图8-11 税控收款机的系统组成框图税控收款机的系统组成框图 图图8-12 系统任务的划分系统任务的划分 北京航空航天大学 清华大学出版社39 (1) 智能滴灌控制器的硬件设计智能滴灌控制器的硬件设计 图图8-13 智能灌溉控制器系统硬件结构智能灌溉控制器系统硬件结构 北京航空航天大学 清华大学出版社40 软件设计采软件设计采 用模块
44、化思想,用模块化思想, 嵌入式控制器使嵌入式控制器使 用基于用基于C/OS内内 核的核的RTOS操作操作 系统。系统。 图图8-13 智能滴灌控制器系统软件主流程智能滴灌控制器系统软件主流程 北京航空航天大学 清华大学出版社41 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
45、.3 PLC常用编程语言常用编程语言 8.2.4 PLC应用实例应用实例 8.2.5 PLC网络系统网络系统 北京航空航天大学 清华大学出版社42 自动控制系统包括:自动控制系统包括: 连续量的运动控制连续量的运动控制 连续量的过程控制连续量的过程控制 断续量的控制系统断续量的控制系统 (离散量,顺序控制为主流离散量,顺序控制为主流) 时间顺序控制系统时间顺序控制系统 逻辑顺序控制系统逻辑顺序控制系统 条件顺序控制系统条件顺序控制系统 北京航空航天大学 清华大学出版社43 可编程控制器是一种专为在工业环境下应用而设可编程控制器是一种专为在工业环境下应用而设 计的数字运算操作的电子系统,它采用一
46、种可编计的数字运算操作的电子系统,它采用一种可编 程序的存储器,用来在其内部存储执行逻辑运算、程序的存储器,用来在其内部存储执行逻辑运算、 顺序控制、定时、计数和算术运算等操作的指令,顺序控制、定时、计数和算术运算等操作的指令, 并通过数字式或模拟式的输入和输出,控制各种并通过数字式或模拟式的输入和输出,控制各种 类型的机械或生产过程。可编程控制器及其有关类型的机械或生产过程。可编程控制器及其有关 设备,都应按易于与工业控制系统形成一个整体,设备,都应按易于与工业控制系统形成一个整体, 并易于扩充其功能的原则设计。并易于扩充其功能的原则设计。 北京航空航天大学 清华大学出版社44 1969年,
47、美国数字设备公司根据美国通用汽车公司招标年,美国数字设备公司根据美国通用汽车公司招标 的要求,研制出世界上第一台可编程逻辑控制器的要求,研制出世界上第一台可编程逻辑控制器 (Programmable Logic Controller,PLC) 发展经历发展经历 第一代:多用一位机开发,只有单一的逻辑控制功能;第一代:多用一位机开发,只有单一的逻辑控制功能; 第二代:换成第二代:换成8位微处理器及半导体存储器,控制功能得到较大的扩位微处理器及半导体存储器,控制功能得到较大的扩 展;展; 第三代:大量使用高性能微处理器,向多功能及联网通信方面发展,第三代:大量使用高性能微处理器,向多功能及联网通信
48、方面发展, 初步形成了分布式的通信网络体系;初步形成了分布式的通信网络体系; 第四代:全面使用第四代:全面使用16位、位、32位高性能微处理器、位高性能微处理器、RISC体系体系CPU 等高级等高级CPU,而且在一台,而且在一台PLC中配置多个微处理器,进行多道处中配置多个微处理器,进行多道处 理。同时开发大量内含微处理器的智能模块,使第四代理。同时开发大量内含微处理器的智能模块,使第四代PLC产品产品 成为具有逻辑控制功能、过程控制功能、运动控制功能、数据处成为具有逻辑控制功能、过程控制功能、运动控制功能、数据处 理功能、联网通信功能的多功能控制器。理功能、联网通信功能的多功能控制器。 北京
49、航空航天大学 清华大学出版社45 PLC及其网络已成为工厂企业首选的工业控制装置,并成及其网络已成为工厂企业首选的工业控制装置,并成 为为CIMS系统不可或缺的基本组成部分。系统不可或缺的基本组成部分。PLC及其网络已及其网络已 经被公认为现代工业自动化三大支柱(经被公认为现代工业自动化三大支柱(PLC、机器人、机器人、 CAD/CAM)之一。)之一。 发展趋势:发展趋势: 向体积更小、速度更快、功能更强和价格更低的微小向体积更小、速度更快、功能更强和价格更低的微小 型方面发展,以占领小型、分散和简单功能的工业控型方面发展,以占领小型、分散和简单功能的工业控 制市场。制市场。 向大型网络化化、
50、高速度、高可靠性、好的兼容性和向大型网络化化、高速度、高可靠性、好的兼容性和 多功能方面发展,使其向下可将多个多功能方面发展,使其向下可将多个PLC、I/O框架框架 相连;向上与工业计算机、以太网、相连;向上与工业计算机、以太网、MAP(制造业自(制造业自 动化通信协议)网等相连构成整个工厂的自动化控制动化通信协议)网等相连构成整个工厂的自动化控制 系统。系统。 北京航空航天大学 清华大学出版社46 (1) 功能齐全:功能齐全: 多种控制功能;多种控制功能; 输入输入/输出接口功能;输出接口功能; 数据存储与处理功能;数据存储与处理功能; 通信联网功能;通信联网功能; 其他扩展功能。其他扩展功
51、能。 (2) 应用灵活应用灵活 标准的积木硬件结构和模块化的软件设计。标准的积木硬件结构和模块化的软件设计。 (3) 操作维修方便,稳定可靠操作维修方便,稳定可靠 PLC 采用电气操作人员习惯的梯形图形式编程与功能助记符编程。采用电气操作人员习惯的梯形图形式编程与功能助记符编程。 PLC 机具有完善的监视和诊断功能。其内部工作等状态均有醒目机具有完善的监视和诊断功能。其内部工作等状态均有醒目 的显示,大多数模件可以带电插拔。的显示,大多数模件可以带电插拔。 (4) 模块智能化、通信网络化模块智能化、通信网络化 北京航空航天大学 清华大学出版社47 开关逻辑控制开关逻辑控制 (如自动电梯的控制、
52、传输皮带的控制等);(如自动电梯的控制、传输皮带的控制等); 闭环过程控制闭环过程控制 (如锅炉运行控制,自动焊机控制、连轧机的速(如锅炉运行控制,自动焊机控制、连轧机的速 度和位置控制等);度和位置控制等); 机械加工的数字控制;机械加工的数字控制; 机器人控制;机器人控制; 多级网络系统。多级网络系统。 北京航空航天大学 清华大学出版社48 1. PLC的组成和基本结构的组成和基本结构 2. PLC的工作原理的工作原理 北京航空航天大学 清华大学出版社49 1. PLC的组成和基本结构的组成和基本结构 北京航空航天大学 清华大学出版社50 微型微型PLC I/O点数一般为几十点,整体单元结
53、构。点数一般为几十点,整体单元结构。 小型小型PLC 点数至多可达点数至多可达256点,整体单元结构或模块化点,整体单元结构或模块化 结构。结构。 中型中型PLC 点数可达点数可达512 1024,模块化结构。,模块化结构。 大型大型PLC 点数可达点数可达2048甚至更多,模块化结构。甚至更多,模块化结构。 北京航空航天大学 清华大学出版社51 图图8-16 PLC原理框图原理框图 北京航空航天大学 清华大学出版社52 北京航空航天大学 清华大学出版社53 图图8-18 PLC的等效电路的等效电路 北京航空航天大学 清华大学出版社54 采用巡回扫描的工作方式采用巡回扫描的工作方式 扫描周期:
54、扫描周期: 从扫描过程中的一点开始,经过顺序扫描又回到从扫描过程中的一点开始,经过顺序扫描又回到 该点的过程。该点的过程。 一个扫描周期的工作包括:一个扫描周期的工作包括: 进行系统监控与自诊断进行系统监控与自诊断 输入扫描输入扫描 执行扫描执行扫描 输出扫描。输出扫描。 北京航空航天大学 清华大学出版社55 图图8-19 PLC工作过程工作过程 北京航空航天大学 清华大学出版社56 1. 梯形图语言梯形图语言LD (Ladder Diagram) 2. 语句表语句表IL(Instruction List) 3. 结构化文本语言结构化文本语言ST(Structured Text) 4. 顺序功
55、能图顺序功能图SFC (Sequential Function Chart) 5. 功能模块图功能模块图FBD(Function Block Diagram 1992年国际电工委员会年国际电工委员会IEC颁布了颁布了IEC61131-3控制控制 编程语言标准,编程语言标准,IEC61131-3定义了以下五种编程语言:定义了以下五种编程语言: 北京航空航天大学 清华大学出版社57 1. 交通信号控制的时序系统交通信号控制的时序系统 图图8-26 交通信号灯控制时序图交通信号灯控制时序图 北京航空航天大学 清华大学出版社58 图图8-27 系统的系统的I/O接线图接线图 北京航空航天大学 清华大学
56、出版社59 图图8-28 交通信号交通信号 灯控制系灯控制系 统梯形图统梯形图 北京航空航天大学 清华大学出版社60 工作过程如下:工作过程如下: 加料阶段:加料阶段: 按动启动按钮按动启动按钮PS后,进料电磁阀后,进料电磁阀YV1 通电打开,液体通电打开,液体A流入容器;当液位上流入容器;当液位上 升到升到LS3时,搅拌电动机时,搅拌电动机M开始运转和开始运转和 搅拌;当液位到达搅拌;当液位到达LS2时,进料电磁阀时,进料电磁阀 YV1断电关闭,电磁阀断电关闭,电磁阀YV2通电打开,通电打开, 液体液体B流入容器;到液位流入容器;到液位LS1时,电磁时,电磁 阀阀YV2关闭,加料过程结束。关闭,加料过程结束。 搅拌阶段:搅拌阶段: 加料过程结束后,搅拌电动机继续运转加料过程结束后,搅拌电动机继续运转 半小时,进行物料的充分混合。半小时,进行物料的充分混合。 放料阶段:放料阶段: 打开混合物料的出料电磁阀打开混合物料的出料电磁阀YV3,搅,搅 拌电动机继续运转,直到液位下降到拌电动机继续运转,直到液位下降到 LS3才停
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石材行业竞争格局分析考核试卷
- 电气机械工程中的机器视觉与图像处理考核试卷
- 纺织业企业创新发展考核试卷
- 母爱让我感动初二语文作文
- 纺织品企业品牌形象设计考核试卷
- 纸张与纸板的功能性测试与评价考核试卷
- 矿产勘查中的知识产权保护与利用考核试卷
- 篷布制造过程中的节能减排技术考核试卷
- 水产罐头市场营销策略考核试卷
- 畜禽产品市场分析与预测考核试卷
- 23S519 小型排水构筑物(带书签)
- 在职研究生毕业论文开题报告汇报ppt
- 护士基础护理学之给药
- 第三章扫描电子显微镜【完整版】PPT
- 超强大:英语六级词汇随身带随时背
- 精创STC-9200使用说明书
- 胸腔穿刺术课件
- 简易呼吸器操作流程及考核评分表
- 人行天桥施工组织设计方案
- 工程设计管理规定
- 学习解读2023年《堤防运行管理办法》《水闸运行管理办法》课件
评论
0/150
提交评论