65
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 嵌嵌嵌

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

  • Upload
    jett

  • View
    132

  • Download
    6

Embed Size (px)

DESCRIPTION

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 )定义 : - PowerPoint PPT Presentation

Citation preview

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

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 网络系统

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

2

嵌入式产品一览嵌入式产品一览

(a)可视电话 (c)MP3随身听(b)数码摄像机

(f)MP4多媒体影音播放器(e)勇气号火星探测器

图8-1 使用嵌入式技术的几种设备

(d)蓝牙手机和耳机

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

3

8.1.1 8.1.1 概述概述1. 嵌入式系统定义和分类

电气工程师协会( IEEE )定义 :“ 嵌入式系统是控制、监视或辅助设备、机器甚至工厂操作的装置。”

一般定义:“ 以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”

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

4

嵌入式系统的几个重要的特点: 嵌入式系统的几个重要的特点: ① 小型系统内核;② 专用性较强;③ 系统精简,以减少控制系统成本,利于实现系统

安全;④ 采用高实时性的操作系统,且软件要固化存储;⑤ 使用多任务的操作系统,使软件开发标准化;⑥ 嵌入式系统开发需要专门的工具和环境。

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

5

嵌入式系统的分类 嵌入式系统的分类 • 硬件方面:

– 芯片级嵌入(含程序或算法的处理器)– 模块级嵌入(系统中的某个核心模块)– 系统级嵌入

• 软件方面(根据实时性要求):– 非实时系统(例如 PDA 等)– 实时系统

• 硬实时系统——若系统在指定的时间内未能实现某个确定的任务,就会引起系统崩溃或导致致命错误(如导弹飞行姿态控制系统)。

• 软实时系统——在该类系统中虽然响应时间同样重要,但是超时却不会导致致命错误,这也意味着偶尔超过时间限制是可以容忍的(如消费类产品) 。

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

6

2. 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)– 在一个硅片上实现一个复杂的系统,其最大的特点是实现了软硬

件的无缝结合,直接在处理器内嵌入操作系统的代码模块。

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

7

3. 3. 开发设计工具开发设计工具

• 硬件设计工具– 系统级设计方面采用的硬件设计工具有 Cadence 的 S

PW和 System View。– 模拟电路系统采用的仿真工具有 Pspice 和 EWB。– 印刷电路设计方面的设计工具有 Protel 、 PADs 的 P

ower PCB & Tool Kit 和 Mentor 的 Expedition & Tool Kit 。

– 可编程逻辑器件设计工具还有Mentor FPGA Advantage & ModelSim、 Xilinx Foundation ISE & Tool Kit 以及各种综合和仿真工具等等。

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

8

3. 3. 开发设计工具开发设计工具

• 软件开发平台 – 高级语言编译器( Compiler Tools)。– 实时在线仿真系统 ICE( In Circuit Emulator )。– 源程序模拟器( Simulator )。– 实时多任务操作系统( Real Time multi-tasking Op

eration System, RTOS)。• 商用型 RTOS的功能稳定可靠,具有比较完善的技术支持和售后服务,但价格昂贵而且都针对特定的硬件平台。如WindRiver公司的 VxWorks、 Palm Computing 掌上电脑公司的 Palm OS等。

• 免费的 RTOS主要有 Linux和 μC/OS等。尽管这些资源带有源码,但理解、消化并运用在某应用系统上也是一项艰苦的工作,相应的调试工具是没有免费的。

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

9

4. 4. 嵌入式系统的应用和发展趋势嵌入式系统的应用和发展趋势

嵌入式应用

信息家电微控制器

通信设备

移动存贮

工控设备

智能仪表

汽车电子

网络设备

工业消费电子

通信网络

办公自动化产品

机器人 智能检测单元

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

10

嵌入式技术的发展趋势嵌入式技术的发展趋势 • 芯片方面

– 是可编程片上系统。 • 宏观方面

– 使嵌入式系统更经济、小型、可靠、快速、智能化、网络化。

经济性 很便宜,让更多的人能买得起。 小型化(笔记本、 PDA ) 人们携带方便。 可靠性(汽车VCD跳动问题)

能够在一般环境条件下或者是苛刻的环境条件下运行。 高速度(飞机刹车系统)

能够迅速地完成数据计算或数据传输。 智能性(知识推理、模糊查询、识别、感知运动)

使人们用起来更习惯,对人们更有使价值。

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

11

8.1.2 8.1.2 软硬件协同设计技术软硬件协同设计技术1.硬件体系结构

图 8-2 嵌入式系统硬件体系结构的功能部件

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

12

22. 传统设计技术. 传统设计技术• 设计过程的基本特征是:系统在一开始就被划分为软件和

硬件两大部分,软件和硬件是独立地进行开发设计,通常采用的是“硬件先行”的设计方法。

问题:

(1) 软硬件之间的交互受到很大限制,造成系统集成相对滞后,因此传统嵌入式系统设计的结果往往是设计质量差、设计修改难,同时研制周期不能得到有效保障。

(2) 随着设计复杂程度的提高,软硬件设计中的一些错误将会使开发过程付出昂贵的代价。

(3)“ 硬件先行”的做法常常需要由软件来补偿由于硬件选择的不适合造成系统的缺陷,从而增加软件的代价。

图 8-3 传统的嵌入式系统的设计方法

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

13

3. 3. 软硬件协同设计技术软硬件协同设计技术(1) 软硬件协同设计定义: 在硬件和软件设计中,通过并发和交互设计来满足系统级的目标要求。(2) 软硬件协同设计基本需求:

① 采用统一的软硬件描述方式——软硬件支持统一的设计和分析工具或技术,允许在一个集成环境中仿真及评估系统的软硬件设计,支持系统任务在软件和硬件设计之间的相互移植;

② 采用交互式软硬件划分技术——允许进行多个不同的软硬件划分设计仿真和比较,划分应用可以最大满足设计标准(功能和性能目标)要求;

③ 具有完整的软硬件模型基础——可以支持设计过程中各阶段的评估,支持逐步开发以及对硬件和软件的综合;

④ 验证方法必须正确,以确保系统设计达到目标要求。

优势:①协同设计要贯穿整个设计周期,且使设计修改容易,研制周期可以得到有效保障;②软硬件交互设计变得简单。 图 8-4 嵌入式系统的软硬件协同设计流程

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

14

(3) (3) 软硬件协同设计的基本步骤软硬件协同设计的基本步骤

① 描述——将系统行为的功能进行明确、提取并列表;

② 划分——即对硬件 / 软件的功能进行分配;

③ 评估——进行性能评估或对综合后系统依据指令级评价参数做出评估,若不满足要求,则需要回到②;

④ 验证——是为保证系统可以按照设计要求正常工作,而达到合理置信度的过程。根据应用领域的不同可能采取不同的验证方法,但都必须经过性能与功能的协同仿真。

⑤ 实现——通过综合后的硬件的物理实现和通过编译后的软件执行。

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

15

8.1.3 8.1.3 实时操作系统 实时操作系统 1.实时操作系统定义及特点

– 实时操作系统 RTOS是指能支持实时控制系统工作的操作系统,它可以在固定的时间内对一个或多个由外设发出的信号做出适当的反应。

– 实时操作系统的主要特征:规模小、中断被屏蔽的时间很短、中断处理时间短且任务切换很快。

– 常见的实时操作系统• 商用的 RTOS: VxWorks、 pSOS、 Palm OS等;• 免费的 RTOS: Linux和 μC/OS等

– 嵌入式实时操作系统的精华在于向开发人员提供一个实时多任务内核。开发人员将具体一项应用工作分解成若干个独立的任务,将各任务要做的事、任务间的关系向实时多任务内核交代清楚,让实时多任务内核去管理这些任务,开发过程就完成了。

– 嵌入式实时操作系统没有文件管理,一般不需要内存管理,它具有的是实时操作系统中最重要的内容,即多任务实时调度和任务的定时、同步操作,具有很短的任务切换时间和实时响应速度。

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

16

VxWorksVxWorks

• VxWorks 操作系统是美国 WindRiver 公司于1983 年设计开发的一种嵌入式 RTOS ,具有高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。

• VxWorks 所具有的显著特点是: -可靠性、实时性和可裁减性。

• 它支持多种处理器,如 x86 、 i960 、 Sun Sparc 、 Motorola MC68xxx 、 MIPS 、 POWER PC 等等。

3-2

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

17

pSOSpSOS

• pSOS 原属 ISI 公司的产品,但 ISI 已经被 WinRiver 公司兼并,现在 pSOS 属于 WindRiver 公司的产品。

• 该系统是一个模块化、高性能的实时操作系统。

• 开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统功能。

3-2

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

18

Palm OSPalm OS

• Palm OS 是著名的网络设备制造商 3COM旗下的 Palm Computing 掌上电脑公司的产品。

• Palm OS 在 PDA 市场上占有很大的市场份额。获得了 IBM 、 Oracle 、 Nokia 和 Sony 等国际知名公司的支持,同时有很多的软件开发者为其开发软件应用程序,还有相当多的硬件开发人员为其开发外围扩展设备,例如 GPS 系统、数码摄像头、录音系统等。

3-2

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

19

22. 实时操作系统的一些重要概念. 实时操作系统的一些重要概念

⑴ 任务(或称“线程”)及其任务工作状态• 指拥有所有 CPU资源的程序分段,线程为调度的基本单位• 每个任务都是整个应用的某一部分,每个任务被赋予一定

的优先级, 有它自己的一套 CPU寄存器和自己的栈空间。

图 8-5 实时系统中的任务状态

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

20

⑵ ⑵ 实时内核实时内核• 实时内核负责管理各个任务,为每个任务分配 CPU 时间,并负责任务间的通信。提供的基本服务是任务切换。

( non-preemptive )

( preemptive)内核可以剥夺正在运行着的任务的 CPU 使

用权,并将该使用权交给进入就绪态的优先级更高的任务。 实时内核

可剥夺型(占先式)

不可剥夺型(非占先式)内核运用某种算法决定让哪个任务运行后,就将 CPU 控制权完全交给这个任务,直到该任务主动将 CPU 控制权还回来。

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

21

⑶ ⑶ 任务优先级任务优先级 (priorit(priority)y)

• 任务按照其重要性被赋予优先级。•静态优先级

– 应用程序执行过程中诸任务优先级不变。– 在这种系统中,诸任务以及它们的时间约束

在程序编译时是已知的。•动态优先级

– 应用程序执行过程中,任务的优先级是可变的。

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

22

• 为内核的主要职责之一,它决定该轮到哪个任务运行了。

• 调度是基于优先级的。 CPU 总是让处在就绪态的优先级最高的任务先运行。

• 调度的基本方式有:可剥夺型和不可剥夺型• 基本调度算法★先来先服务 ★最短周期优先★优先级法 ★轮转法★多级队列法 ★多级反馈队列

• 多数实时内核是基于优先级调度的多种方法的复合。

⑷ ⑷ 调度(调度( dispatcherdispatcher ))

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

23

⑸ ⑸ 其他重要概念其他重要概念

•互斥( Mutex )机制 •信号量( Semaphore )机制 • 代码临界区( Critical Section )临界资源– 指处理时不可分割的代码。

• 任务间通信 (Inter task com) • 可预测性( Predictability )

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

24

实时操作系统的评价指标实时操作系统的评价指标• 实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广,可从微秒级(如信号处理)到分级(如联机查询系统)。

• 实时系统中主要用三个指标来衡量其实时性:– 系统响应时间( System response Time ):从系统发出处理要求,到系统给出应答信号的过程所用的时间。

– 任务切换时间( Context-switching time ):指任务之间切换所使用的时间。

– 中断延迟( Interrupt latency):指从计算机接收到中断信号到操作系统做出响应,并完成切换转入中断服务程序的过程所用时间。

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

25

33.实时操作系统的开发环境和编译技术.实时操作系统的开发环境和编译技术• 嵌入式系统本身不具备自主开发能力,在设计完成后,需

要一套专门的开发工具和开发环境才能进行开发。• 这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。

• 如果开发机就是运行机,则称为本地编译。• “宿主机 /目标机”方式:

– 利用宿主机丰富的资源和良好的开发环境来对目标机将要运行的程序进行开发和仿真调试,

– 通过串行口或网络接口将交叉汇编生成的目标代码下载到目标机上,并利用交叉调试器在监控程序或实时内核的支持下进行实时分析和调度。

– 最后由目标机在特定的环境下运行。

图 8-6 宿主机 /目标机的开发方式

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

26

44. . C/OS-IIC/OS-II 实时操作系统实时操作系统(1) C/OS-II 的特点

① 有源代码,有范例,且源代码中有详细的注解。② 源代码的 90%以上用 C 语言写成,可移植性好。

C/OS-II 可裁减、可固化,最小内核的 ROM 可以小到 2KB以下。

③ 多任务。 C/OS-II 内核属于优先级的可剥夺型,可以管理 64 个任务

(目前的版本保留 8 个给系统,应用程序最多可以有 56个任务)。每个任务有特定的优先级,用一个数字来标识,优先级越高,数字越小。任务切换采用查表法,切换速度快。实时性是可知的、有保证的。

④ 中断管理。• 中断嵌套层数可达 255层。

⑤ 稳定性与可靠性有保证。 C/OS自 1992年以来,已经有上千个应用,是一个被实践证

实为好用的内核。

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

27

(2) (2) C/OS-IIC/OS-II 的任务调度机制的任务调度机制

C/OS是可剥夺型实时多任务内核。– 这种内核在任何时刻都运行就绪了的最高优先级的任务。 C/OS调度工作的内容是进行最高优先级任务的寻找和任务的切换。

C/OS还提供了调度的锁定和解锁机制– 使某个任务就可以短期禁止内核进行任务调度,从而占有 CPU 。– 由于调度锁定采用的是累加方式,内核允许任务进行多级锁定,最大锁定层数不能超过 255 。

• 当一个任务锁定了系统的任务调度时, C/OS基于优先级的实时运行方式不复存在,优先级由高到低的次序被改为:各种中断任务(最高)、锁定调度的任务(其次)、其他所有任务(最低)。

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

28

8.1.4 8.1.4 嵌入式系统的开发嵌入式系统的开发

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

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

29

11. 嵌入式系统开发步骤. 嵌入式系统开发步骤

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

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

30

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

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

31

22. 一类. 一类 ARM SDTARM SDT 仿真开发环境仿真开发环境• 当进行嵌入式系统开发时,选择一套含有编辑软件、编译

软件、汇编软件、连接软件、调试软件、工程管理及函数库的集成开发环境是必不可少的。

• ARM SDT是 ARM Software Development Toolkit 的简写,是 ARM公司为方便用户在 ARM 芯片上进行应用软件开发而推出的一整套集成开发工具。 ARM SDT由一套完备的应用程序构成,并附带支持文档和例子,可以用于编写和调试 ARM 系列的 RISC 处理器应用程序。

图 8-7 基于 ARM 的嵌入式硬件平台体系结构

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

32

33. 基于. 基于 C/OS-IIC/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 个与处理器相关的汇编语言函数。

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

33

(2) (2) 基于基于 C/OS-IIC/OS-II扩展扩展 RTOSRTOS的体系结构的体系结构

图 8-10 基于 COS-II扩展 RTOS的体系结构

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

34

(3) 建立文件系统– 针对嵌入式的应用,参考 FAT16的文件系统,可以利用与文件系

统相关的 API 函数,来建立相应的简单文件系统。(4) 外设驱动程序

– 外设驱动函数可以对系统提供访问外围设备的接口。(5) 图形用户接口( GUI )

– 可以为人机交互建立起图形用户接口,即为图形用户界面应用建立相应的 API函数,其中包括基于 Unicode 的汉字字库、基本绘图函数、典型的控键。

(6) 系统消息队列– 在多任务操作系统中,各任务之间通常是通过消息来传递信息和

同步的。用户应用程序的每个任务都有自己的信息响应队列和消息循环。通常,任务通过等待消息而处于挂起状态。当任务接到消息后,则处于就绪状态,然后开始判断所接收到的消息是否需要处理。如果是,则执行相应功能的处理函数。执行完相应处理函数后,将删除所接收到的消息,继续挂起等待下一条消息。

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

35

44. 建立与调试用户应用程序. 建立与调试用户应用程序• 在嵌入式硬件平台的基础上,有了前面基于 C/OS-II建立的实时操作系统,用户就可以在相应的操作系统平台上使用操作系统所提供的 GUI及 API函数来编制应用程序了。

(1) 操作系统的启动过程(2) 实现消息循环(3) 任务对应资源分配及其任务的创建(4) 任务的实现

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

36

8.1.5 8.1.5 嵌入式控制系统设计实例嵌入式控制系统设计实例1. 税控收款机

图 8-11 税控收款机的系统组成框图

图 8-12 系统任务的划分

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

37

22. 智能滴灌控制器. 智能滴灌控制器(1) 智能滴灌控制器的硬件设计

图 8-13 智能灌溉控制器系统硬件结构

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

38

软件设计采用模块化思想,嵌入式控制器使用基于 μC/OS内核的 RTOS操作系统。

(2) (2) 智能滴灌控制器的软件设计智能滴灌控制器的软件设计

图 8-14 智能滴灌控制器系统软件主流程

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

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 网络系统

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

40

8.2.1 8.2.1 可编程控制器可编程控制器 (PLC)(PLC) 概述概述

•自动控制系统包括:– 连续量的运动控制– 连续量的过程控制– 断续量的控制系统

(离散量,顺序控制为主流 )• 时间顺序控制系统•逻辑顺序控制系统•条件顺序控制系统

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

41

可编程控制器可编程控制器定义定义(美国际电工委员会(美国际电工委员会 19851985年修订版)年修订版)

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

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

42

11.可编程控制器的发展.可编程控制器的发展• 1969 年,美国数字设备公司根据美国通用汽车公司招标

的要求,研制出世界上第一台可编程逻辑控制器 (Programmable Logic Controller , PLC)

• 发展经历 第一代:多用一位机开发,只有单一的逻辑控制功能;第二代:换成 8位微处理器及半导体存储器,控制功能得到较大的扩展;

第三代:大量使用高性能微处理器,向多功能及联网通信方面发展,初步形成了分布式的通信网络体系;

第四代:全面使用 16位、 32位高性能微处理器、 RISC 体系 CPU等高级 CPU ,而且在一台 PLC 中配置多个微处理器,进行多道处理。同时开发大量内含微处理器的智能模块,使第四代 PLC 产品成为具有逻辑控制功能、过程控制功能、运动控制功能、数据处理功能、联网通信功能的多功能控制器。

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

43

11.可编程控制器的发展.可编程控制器的发展 ((续续 ))• PLC及其网络已成为工厂企业首选的工业控制装置,并成

为 CIMS系统不可或缺的基本组成部分。 PLC及其网络已经被公认为现代工业自动化三大支柱( PLC 、机器人、CAD/CAM )之一。

• 发展趋势:– 向体积更小、速度更快、功能更强和价格更低的微小

型方面发展,以占领小型、分散和简单功能的工业控制市场。

– 向大型网络化化、高速度、高可靠性、好的兼容性和多功能方面发展,使其向下可将多个 PLC 、 I/O框架相连;向上与工业计算机、以太网、 MAP (制造业自动化通信协议)网等相连构成整个工厂的自动化控制系统。

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

44

2. PLC2. PLC 的特点 的特点 (1) 功能齐全:

– 多种控制功能;– 输入 /输出接口功能;– 数据存储与处理功能;– 通信联网功能;– 其他扩展功能。

(2) 应用灵活– 标准的积木硬件结构和模块化的软件设计。

(3) 操作维修方便,稳定可靠– PLC 采用电气操作人员习惯的梯形图形式编程与功能助记符编程。– PLC 机具有完善的监视和诊断功能。其内部工作等状态均有醒目

的显示,大多数模件可以带电插拔。(4) 模块智能化、通信网络化

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

45

主要应用场合: 主要应用场合:

① 开关逻辑控制(如自动电梯的控制、传输皮带的控制等);

②闭环过程控制(如锅炉运行控制,自动焊机控制、连轧机的速

度和位置控制等);③ 机械加工的数字控制;④ 机器人控制;⑤ 多级网络系统。

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

46

8.2.28.2.2 PLCPLC 的结构和工作原理 的结构和工作原理

1. PLC 的组成和基本结构

2. PLC 的工作原理

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

47

1. PLC 的组成和基本结构

(c)模块化结构

图8-15 PLC结构形式图

底板

I/O定时

高性能I/O 通信单元

CPU

电源编程器

(b)整体式及扩展单元结构(a)整体式单元结构

I/O LEDs

状态指示灯LF、RUN、STOP

可选卡插槽EEPROM卡、电池卡等

通讯口

I/O扩展接口

接线端子

安装在导轨上的夹子

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

48

按按 I/OI/O 点数将点数将 PLCPLC 分类分类

• 微型 PLC– I/O 点数一般为几十点,整体单元结构。

• 小型 PLC– 点数至多可达 256点,整体单元结构或模块化

结构。• 中型 PLC

– 点数可达 5121024 ,模块化结构。•大型 PLC

– 点数可达 2048 甚至更多,模块化结构。

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

49

PLCPLC 原理结构图原理结构图

图 8-16 PLC 原理框图

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

50

PLCPLC 系统的硬件结构框图 系统的硬件结构框图

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

51

2.2. PLC PLC 的工作原理的工作原理

图 8-18 PLC 的等效电路

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

52

PLCPLC 的工作方式的工作方式• 采用巡回扫描的工作方式•扫描周期:从扫描过程中的一点开始,经过顺序扫描又回到

该点的过程。• 一个扫描周期的工作包括:

– 进行系统监控与自诊断– 输入扫描– 执行扫描– 输出扫描。

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

53

PLCPLC 系统工作过程 系统工作过程

图 8-19 PLC 工作过程

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

54

8.2.3 PLC8.2.3 PLC 常用编程语言常用编程语言

1. 梯形图语言 LD (Ladder Diagram) 2. 语句表 IL ( Instruction List )3. 结构化文本语言 ST( Structured Text )4. 顺序功能图SFC (Sequential Function Chart) 5. 功能模块图 FBD(Function Block Diagram

1992年国际电工委员会 IEC颁布了 IEC61131-3 控制编程语言标准, IEC61131-3 定义了以下五种编程语言:

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

55

8.2.4 PLC8.2.4 PLC 应用实例应用实例

1. 交通信号控制的时序系统图8-25 交通指挥信号灯示意图

西 东

图 8-26 交通信号灯控制时序图

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

56

PLCPLC 外部输入输出信号接线图 外部输入输出信号接线图

图 8-27 系统的 I/O接线图

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

57

图 8-28 交通信号灯控制系统梯形图

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

58

2. 2. 物料混合装置的批量控制系统物料混合装置的批量控制系统工作过程如下:• 加料阶段:

– 按动启动按钮 PS后,进料电磁阀 YV1通电打开,液体 A流入容器;当液位上升到 LS3 时,搅拌电动机 M 开始运转和搅拌;当液位到达 LS2 时,进料电磁阀 YV1断电关闭,电磁阀 YV2通电打开,液体 B流入容器;到液位 LS1 时,电磁阀 YV2关闭,加料过程结束。

• 搅拌阶段:– 加料过程结束后,搅拌电动机继续运转半小时,进行物料的充分混合。

• 放料阶段:– 打开混合物料的出料电磁阀 YV3 ,搅拌

电动机继续运转,直到液位下降到 LS3才停止运转,同时关闭电磁阀 YV3 。

• 停止阶段:– 按动停止按钮 PT,电磁阀 YV3再打开60s,使混合物料排空。

图 8-29 液体混合装置示意图

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

59

PLCPLC 选型与选型与 I/OI/O 地址分配地址分配

• 该系统的输入信号:– 按钮 2 个,液位传感器 3 个。

• 系统的输出信号:– 电磁阀 3 个,电动机接触器 1 个。

• 为了采用顺序功能图进行控制编程,可以考虑选用一个满足输入输出要求并拥有顺序功能图语言的小型 PLC 。

• 设:– 启动信号 PS为 X100,停止信号 PT为 X101– 液位开关 LS1 、 LS2 、 LS3 分别为 X201 、 X202 、 X203– 输出到搅拌电动机 M 的信号为 Y100– 输出到阀门 YV1 、 YV2 、 YV3 的信号分别为 Y101 、 Y102 、 Y

103– 设置计时器为 T1 和 T2 。

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

60

液体混合装置液体混合装置 PLCPLC 控制的顺序功能图 控制的顺序功能图

图 8-30 物料混合批量控制功能图

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

61

8.2.5 PLC8.2.5 PLC 网络系统网络系统

1. PLC 网络的主要形式

2. PLC通信的特点

3. PLC 网络产品的功能结构

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

62

1. PLC1. PLC 网络的四种主要形式网络的四种主要形式

(1) 以一台 PLC 作为主站,其他多台同型号的 PLC 作为从站,构成主从式 PLC 网络,成为简易集散系统。

(2) 以通用微机为主站,多台同型号的 PLC 为从站,组成简易集散系统。通用微机完成操作站的各项功能。

(3) 将 PLC 网络通过特定的网络接口,连入大型集散系统中,成为其中的一个子网。

(4) 专用 PLC 网络。由 PLC 制造厂商开发用于连接 PLC 的专用网络 .– 如 A-B 公司的 DH和 DH+高速数据通道、 SIEMENS公司的 SINES-L1 和 SINEC-H1 网络等。

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

63

2. PLC2. PLC通信的特点通信的特点(1) 由于 PLC之间的通信程序采用梯形图及其它方式编程,

在上位机中的通讯则是用高级语言或汇编语言编写,所以必须符合 PLC 中的通信协议。

(2) 生产 PLC 的厂商为使所生产的 PLC连网的适应性更强,对通信协议的物理层常配置几种接口标准,用户可根据应用需要进行选择。

(3) 在 PLC 网络中,主从式存取控制方法仍在使用。随着 PLC 网络规模的不断增大以及标准化进程的加快,符合MAP规约的 PLC及 PLC 网络也越来越多。

(4) PLC 网络中的过程数据多数是触点的开通与关断,数据短。当受到干扰出错时就整个数据错,因此对差错控制要求高。在 PLC 中,可以使用“异或码”进行校验。

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

64

3. PLC3. PLC 网络产品的功能结构网络产品的功能结构

金字塔结构表明 PLC及其网络在工厂自动化系统中,由上到下,在各层都发挥着作用。

其特点是:上层负责生产管理,低层负责现场控制与检测,中层负责生产过程的监控以及优化。

美国国家标准局为工厂计算机控制系统提出的 NBS模型。

图 8-31 生产金字塔结构示意图 图 8-32 NBS模型

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

65

第第 88 章 内容结束!章 内容结束!