Download presentation
Presentation is loading. Please wait.
1
嵌入式控制系统 学时:45,1~12周,第13周闭卷考试 实验课:18学时,穿插在本课程间进行
教材:张石,ARM嵌入式系统教程,机械工业出版社,2008年9月,“十一五”规划教材 金敏,嵌入式系统—组成、原理、与设计编程,人民邮电出版社,2006年 傅曦,WindowsCE嵌入式开发入门—基于Xscale架构,人民邮电出版社,2006年 刘尚军,ARM嵌入式技术原理与应用—基于XScale处理器及WxWorks操作系统,北京航空航天大学出版社,2007年 相关技术文档
2
其它中文参考书(1)
3
其它中文参考书(2)
4
相关的网站 英文网站: www.arm.com www.arm.com/chinese/ www.intel.com
中文网站: 关键词:ARM, 嵌入式
5
预备知识 模拟电子技术和数字电子技术 EDA 微控制器(MCU)原理与接口技术 计算机组成原理(计算机系统结构) 操作系统 编译原理
数字信号处理 通信原理 计算机网络
6
学习方法 听课 看参考设计 读示例代码 尝试制作评估板 参加产品设计 请教、讨论、交流 由浅入深,系统深入
7
第一部分 引论 第1章 嵌入式系统概述
8
第1章 嵌入式系统概述 1.1 嵌入式系统的发展及应用 1.2 嵌入式系统的定义、组成与特点 1.3 嵌入式系统的种类
第1章 嵌入式系统概述 1.1 嵌入式系统的发展及应用 1.2 嵌入式系统的定义、组成与特点 1.3 嵌入式系统的种类 1.4 嵌入式系统应用带来的机遇 1.5 本章小结 习题
9
1.1 嵌入式系统的发展及应用 计算机系统的分类 嵌入式系统的应用概况 嵌入式系统的发展史
10
1.1.1 计算机系统的分类 1.传统计算机分类(见下图)
计算机系统的分类 1.传统计算机分类(见下图) 通常,按照计算机系统的体系结构、运算速度、结构规模、适用领域,可将其分为超级计算机、大型机、中型机、小型机和微型计算机,并以此来组织学科和产业分工 这种分类沿袭了大约 40 年。
11
1.1.1 计算机系统的分类 图1-1 传统计算机系统分类金字塔 随着计算机技术的发展进程,不同的历史时期,计算机类别划分不同。
计算机系统的分类 随着计算机技术的发展进程,不同的历史时期,计算机类别划分不同。 微型计算机 小 型 机 中型机 大型机 超级计算机 Q:现在的计算机分类中的运算速度都是多少?。 图1-1 传统计算机系统分类金字塔
12
1.1.1 计算机系统的分类 2.以应用为中心的分类 近十年来,随着计算机技术的迅速发展,实际情况发生了根本性的变化。
计算机系统的分类 2.以应用为中心的分类 近十年来,随着计算机技术的迅速发展,实际情况发生了根本性的变化。 例如,20世纪60年代末期定义的微型计算机 个人计算机 (Personal Computer) 占据了全球计算机工业中 90%的市场份额 计算能力和处理速度也超过了当年的大、中型计算机
13
1.1.1 计算机系统的分类 随着计算机技术和产品对其它行业的渗透,以应用为中心进行分类的方法变得更切合实际
计算机系统的分类 随着计算机技术和产品对其它行业的渗透,以应用为中心进行分类的方法变得更切合实际 按计算机的应用可分类为嵌入式计算系统(或称为嵌入式系统)和通用计算机系统。 通用计算机系统:具有计算机的标准形态,可以装配不同的应用软件,以雷同面目出现并应用在社会的各个方面.其典型产品为 PC 嵌入式(计算)系统:以嵌入的形式隐藏在各种装置、产品和系统中.例如:一个手持的MP3,一个PC104的微型工业控制计算机
14
1.1.2 嵌入式系统的应用概况 在应用数量上 嵌入式系统远远超过了通用计算机系统 例如,一台通用计算机系统的外部设备——
软驱、显示卡、显示器、网卡、调制解调器、声卡、打印机、扫描仪、数字相机、USB 集线器等均是由嵌入式处理器控制的。
15
1.1.2 嵌入式系统的应用概况 在应用领域方面 嵌入式系统的应用领域非常广泛
包括工业制造、过程控制、通信、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等领域 嵌入式系统无处不在
16
1.1.2 嵌入式系统的应用概况 嵌入式系统的典型实例
17
1.1.2 嵌入式系统的应用概况 消费产品 (Consumer Product) 常见消费类产品如:
手机、PDA/PPC/HPC、数码相机/摄像机 洗衣机、微波炉、数字电视机顶盒等 智能消费类产品如: 坐姿测试椅、带味觉的匙子 [MIT] 仿生运动鞋 [Adidas] 情绪类装饰品 [NYU]
18
1.1.2 嵌入式系统的应用概况 图1-2 常见消费类产品
19
1.1.2 嵌入式系统的应用概况 图1-3 智能消费类产品
20
1.1.2 嵌入式系统的应用概况 工业控制 (Industry Control)
对生产过程和工业设备等各种动作流程的控制,这种控制是在对被控对象和环境进行不断观测的基础上做出及时的、恰当的反应。 在控制过程中,计算机扮演着中心的角色。它通过传感器从外部接收有关过程的信息,对这些信息进行加工处理,然后对执行机构发出控制指令。
21
1.1.2 嵌入式系统的应用概况 图1-4 工程机械智能控制器
22
(VOLVO S80汽车, 18个嵌入式控制模块+CAN总线网络)
1.1.2 嵌入式系统的应用概况 图1-5 汽车电子产品 (VOLVO S80汽车, 18个嵌入式控制模块+CAN总线网络)
23
1.1.2 嵌入式系统的应用概况 通信设备 (Telecommunication) 例如: 程控交换机 路由器 桥接器 集线器
Modem 等 图1-6 通信设备
24
1.1.2 嵌入式系统的应用概况 智能仪器 (Intelligent Instrument) 例如: 数字示波器 医疗仪器等
图1-7 穿刺肿瘤医疗仪器
25
1.1.2 嵌入式系统的应用概况 机器人 (Robot) 图1-8 智能玩具机器人
26
1.1.2 嵌入式系统的应用概况 图1-9 基于Win CE的移动机器人平台
27
1.1.2 嵌入式系统的应用概况 图1-10 基于RTLinux的仿人机器人
28
图1-11 1997年4月在火星表面登陆的火星探测器(基于VxWorks)
1.1.2 嵌入式系统的应用概况 图 年4月在火星表面登陆的火星探测器(基于VxWorks)
29
1.1.2 嵌入式系统的应用概况 图 年 “勇气号”再次登陆火星
30
1.1.2 嵌入式系统的应用概况 计算机外设 (Computer peripheral) 例如: 打印机 终端 磁盘驱动器等
图1-13 计算机外设
31
1.1.2 嵌入式系统的应用概况 军事电子设备和现代武器 例如: 雷达 电子对抗:无线信号的干扰与反干扰 坦克 战机 战舰等
32
1.1.2 嵌入式系统的应用概况 图1-14 阿富汗战争中的军事电子设备
33
1.1.2 嵌入式系统的应用概况 图1-15 军用机器人 (2002年11月28日,以色列一举投票点发生枪击事件,造成至少7人死亡、数十人受伤。以警方用机器人在检查一具巴勒斯坦枪手的尸体)
34
1.1.2 嵌入式系统的应用概况 图1-16 高性能武器平台
35
1.1.2 嵌入式系统的应用概况 图1-17 高性能武器
36
1.1.2 嵌入式系统的应用概况 太空科学 例如: 卫星跟踪 太空舱管理系统 航空电子设备 图1-18 太空科学
37
课程课件邮箱 密码:ustbd06
38
嵌入式系统的发展史 近30多年的发展历史
39
嵌入式系统的发展史 1.二十世纪七十年代 1971年11月,Intel 公司成功的地将算术运算器和控制器集成在一起,推出了世界上第一片微处理器 Intel 4004,这是嵌入式应用发展最重要的里程碑。 其后,各厂家相继推出了许多8位或16位的微处理器,包括 Intel 的 8080/8085、 8086,Motorola 的6800、68000,Zilog的Z80、Z8000。
40
1.1.3 嵌入式系统的发展史 单板计算机:系列化、模块化 流行的单板机:如Intel的 iSBC 系列、 Zilog 公司的 MCB 等。
嵌入式系统的发展史 单板计算机:系列化、模块化 流行的单板机:如Intel的 iSBC 系列、 Zilog 公司的 MCB 等。 单板计算机使人们不必从选择芯片开始来设计一台专用的嵌入式计算机,只要根据自己的需要选择各种不同的功能模块,包括适合自己应用的CPU 板、存储器板和各式I/O 插件板构成专用的嵌入式计算机系统,并嵌入到自己的系统设备中,就可以组建一台专用计算机系统。 这一时期嵌入式软件大多数使用汇编语言或者宏语言来编写。
41
1.1.3 嵌入式系统的发展史 2.二十世纪八十年代 80年代初,出现了单片机
嵌入式系统的发展史 2.二十世纪八十年代 80年代初,出现了单片机 Intel进一步完善了8048,在它的基础上研制成功了8051单片机 单片机的产生得益于微电子工艺水平的提高, 它将嵌入式应用所需要的微处理器、 I/O 接口、 A/D 、 D/A 转换器、串行接口以及 RAM 、 ROM 等都通通集成到一个超大规模集成 电路 (VLSI) 中, 制造出面向I/O设计的微控制器 其后发展的 DSP 产品更快地提升了嵌入式系统的技术水平。
42
嵌入式系统的发展史 1981年Ready System发展了世界上第1个商业嵌入式实时内核(VTRX32)包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与互斥、中断支持、内存管理等功能。 随后,出现了如Integrated SystemIncorporation (ISI)的pSOSystem、WindRiver的VxWorks、QNX公司的QNX、Palm Computing公司的PalmOS、Microsoft公司的WinCE、嵌入式Linux、C/OS、Nucleux、以及国内的Hopen、DeltaOS等嵌入式操作系统。
43
1.1.3 嵌入式系统的发展史 3.二十世纪九十年代至今
嵌入式系统的发展史 3.二十世纪九十年代至今 在分布控制、柔性制造、数字通信和数字家电等巨大商业需求的推动下,嵌入式系统进一步发展 在硬件方面,尤其是芯片方面的三个特点 面向实时信号处理算法的 DSP 向高速、高精度、低功耗方向发展,例如Texas 推出的第三代 DSP 单片机TMS320C30T 32 位微控制器已成为市场主流,并向高速、智能化的方向发展 嵌入式 CPU 的主频越来越高, 同时在对多媒体的支持方面发展迅速, 例如Intel基于Xscale微架结构是嵌入式 CPU 中支持多媒体的典范。
44
嵌入式系统的发展史 在软件方面, 嵌入式操作系统出现了进一步的分化,诞生了一些嵌入式操作系统家族。例如,Wind River公司推出的Wind River Platform for XXX,Microsoft公司的 Windows Embedded 产品家族(包括Windows CE系列、Windows Embedded系列和Server Application Kit三类产品)等就是分别针对不同领域、不同应用的操作系统而构成的嵌入式操作系统家族。 跨平台的软件开发技术从通用计算机上延展到嵌入式设备上。例如 KVM 、J2ME、Java Card等。
45
1.2 嵌入式系统的定义、组成与特点 嵌入式系统的定义 嵌入式系统的组成与体系结构 嵌入式系统的基本特征
46
1.2.1 嵌入式系统的定义 1.IEEE(国际电气和电子工程师协会)的定义
嵌入式系统的定义 1.IEEE(国际电气和电子工程师协会)的定义 【定义1-1】嵌入式系统是用于控制、监视或者辅助操作机器和设备的装置。 (Devices used to control,monitor,or assist the operation of equipment,machinery or plants)。 此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。
47
1.2.1 嵌入式系统的定义 2.微机学会的定义 【定义1-2】嵌入式系统是以嵌入式应用为目的的计算机系统,可分为系统级、板级、片级。
嵌入式系统的定义 2.微机学会的定义 【定义1-2】嵌入式系统是以嵌入式应用为目的的计算机系统,可分为系统级、板级、片级。 系统级:各种类型的工控机 板级: 各种类型的带CPU的主板、PC104 片级: 各种以单片机、DSP、微处理器为 核心的产品
48
嵌入式系统的定义 3.一般定义 【定义1-3】嵌入式系统(Embedded System)是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
49
1.2.1 嵌入式系统的定义 定义给出了嵌入式系统包含的四要素: (1) 以应用为中心
嵌入式系统的定义 定义给出了嵌入式系统包含的四要素: (1) 以应用为中心 嵌入的目的是为了提高产品的功能和性能、降低成本和体积等 ,独立于应用而自行发展则会失去市场 (2) 以计算机技术为基础 这两个要素对从事嵌入式技术的人员提出了较高要求 一方面应具备扎实的计算机科学与工程专业的知识 同时还需要掌握相关应用行业的领域知识 嵌入式技术的开发人员应该是跨专业综合性人才
50
1.2.1 嵌入式系统的定义 (3) 软件硬件可裁剪 需要针对用户的具体需求进行高效率的设计
嵌入式系统的定义 (3) 软件硬件可裁剪 需要针对用户的具体需求进行高效率的设计 需要选择嵌入式处理器的种类型号,对其芯片的配置进行裁减或扩展,实现理想的资源组合和较低的成本 嵌入式软件的各组件或模块设计需量体裁衣,去除冗余,力求在有限的硬件资源环境下实现更高的性能 (4) 对功能、可靠性、成本、体积、功耗要求严格 这些也是各个半导体厂商之间竞争的热点
51
1.2.1 嵌入式系统的定义 4.定义的进一步理解 术语“嵌入式”反映了嵌入式系统通常是更大系统中的一个完整的部分
嵌入式系统的定义 4.定义的进一步理解 术语“嵌入式”反映了嵌入式系统通常是更大系统中的一个完整的部分 更大系统称为“嵌入的系统” “嵌入的系统”中可以共存多个嵌入式系统
52
1.2.2 嵌入式系统的组成与体系结构 1.嵌入式系统的组成 图1-19 嵌入式系统组成
嵌入式系统的组成与体系结构 1.嵌入式系统的组成 图中:对于简单的嵌入式应用而言,嵌入式操作系统为可选项 图1-19 嵌入式系统组成
53
1.2.2 嵌入式系统的组成与体系结构 2.嵌入式系统的体系结构框架 对于简单的嵌入式应用而言,嵌入式操作系统为可选项
嵌入式系统的组成与体系结构 2.嵌入式系统的体系结构框架 对于简单的嵌入式应用而言,嵌入式操作系统为可选项 图1-20 嵌入式系统体系结构框架
54
嵌入式系统的组成与体系结构 3. 嵌入式系统举例 PDA与PC的组成配置比较
55
表1-1 PDA与PC的组成配置比较(硬件) 比较项 PDA PC CPU MIPS、StrongARM、Drago、nBall等
几十~几百MHz X86(如Pentium系列)等 几百MHz~几GHz 存储器 RAM、ROM/Flash、CF卡/ MMC卡/SD卡/固态软盘卡等几~几百MB RAM、 ROM、、硬盘等 几十~几百GB 输入设备 触控笔、数字键盘等 鼠标、标准键盘 显示设备 LCD、触摸式LCD等 320*240像素等 CRT、LCD等 15/17/英寸,1024*768等像素 电源 电池 市电
56
表1-1 PDA与PC的组成配置比较(软件) 比较项 PDA PC 引导代码 BootLoader引导程序 针对不同的目标硬件需要进行移植
BIOS引导程序 无需移植 驱动程序 每个设备的驱动程序需要针对具体目标硬件进行开发移植 操作系统提供大多数设备驱动程序 操作系统 Vxworks、Windows CE、Embedded Linux、等 针对具体目标硬件进行开发移植 Windows98/2000/XP等 开发环境 交叉开发环境 在本机进行开发调试
57
1.2.3 嵌入式系统的基本特征 相对通用计算机系统而言 (1) 专用性 采用专用的嵌入式处理器
嵌入式系统的基本特征 相对通用计算机系统而言 (1) 专用性 采用专用的嵌入式处理器 嵌入式处理器与通用型的最大不同就是嵌入式处理器大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用处理器中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,与网络的耦合也越来越紧密,同时有利于降低成本。
58
1.2.3 嵌入式系统的基本特征 功能算法的专用性 嵌入式系统是面向具体用户和具体应用的,因此它总是被设计成为完成某一特定任务
嵌入式系统的基本特征 功能算法的专用性 嵌入式系统是面向具体用户和具体应用的,因此它总是被设计成为完成某一特定任务 一旦设计完成一般不再改变,因此嵌入式系统产品一旦进入市场,具有较长的生命周期
59
1.2.3 嵌入式系统的基本特征 资源约束:较通用操作系统,嵌入式操作系统的内核很小(VxWorks内核最小为8K)
嵌入式系统的基本特征 (2) 小型化与有限资源 结构紧凑、坚固可靠,计算资源(包括处理器的速度和资源、存储容量和速度等)有限 例: 资源约束:较通用操作系统,嵌入式操作系统的内核很小(VxWorks内核最小为8K) 空间约束与专用性:嵌入式系统的软件(包括操作系统和应用程序)通常固态化存储在ROM、FLASH或NVRAM中,对该软件的升级是使用专用烧录机或仿真器重写这些程序
60
1.2.3 嵌入式系统的基本特征 (3) 系统软硬件设计的协同一体化 硬件与软件的协同设计(Co-design)
嵌入式系统的基本特征 (3) 系统软硬件设计的协同一体化 硬件与软件的协同设计(Co-design) 硬件与软件的依赖性强,因而一般硬件和软件要进行协同设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能。 应用软件与操作系统的一体化设计开发 嵌入式系统是为特定的应用而设计的,嵌入式系统的配置不同,其操作系统和应用软件的配置也需同时进行裁减。 两者是作为一个整体一起编译链接后下载到目标机中运行(当然,有些嵌入式操作系统支持动态链接应用程序)。
61
1.2.3 嵌入式系统的基本特征 (4) 软件开发需要交叉开发环境 受到系统资源开销的限制,采用交叉开发环境:
嵌入式系统的基本特征 (4) 软件开发需要交叉开发环境 受到系统资源开销的限制,采用交叉开发环境: 由宿主机(Host)和目标机(Target)组成,宿主机作为开发平台,目标机作为的执行机,宿主机可以是与目标机相同或不相同的机型 该环境下应配备完整的实时软件开发的工具,如高级语言编译器、在线调试器和在线仿真器等。 嵌入式实时软件开发过程较为复杂。
62
1.3 嵌入式系统的种类 按实时性能分类 按软件结构分类
63
按实时性能分类 按是否具有实时性能分为 嵌入式非实时系统 嵌入式实时系统
64
1.3.1 按实时性能分类 (1) 嵌入式非实时系统 嵌入式非实时系统的正确性仅仅依赖于计算处理的逻辑结果,与结果产生的时间无关
按实时性能分类 (1) 嵌入式非实时系统 嵌入式非实时系统的正确性仅仅依赖于计算处理的逻辑结果,与结果产生的时间无关 这类系统主要应用于科学计算和一般实时性要求不高的场合,如掌上电脑、电子词典等
65
1.3.1 按实时性能分类 (2) 嵌入式实时系统 嵌入式实时系统是能够对外部事件在限定时间内做出及时响应的嵌入式系统
按实时性能分类 (2) 嵌入式实时系统 嵌入式实时系统是能够对外部事件在限定时间内做出及时响应的嵌入式系统 这类系统在嵌入式系统中占有很大比例,如过程控制、数据采集、通信等领域
66
按实时性能分类 嵌入式实时系统除具有嵌入式系统的基本特征外,还具有以下重要特点: ① 实时性 ② 可靠性
67
1.3.1 按实时性能分类 ① 实时性 衡量嵌入式实时系统的性能主要有以下性能指标: 确定性(Determinism)
按实时性能分类 ① 实时性 衡量嵌入式实时系统的性能主要有以下性能指标: 确定性(Determinism) 确定性要求系统对外部事件的响应时间必须是确定的和可重复的,不管当时系统内部状态如何,都是可预测的。该性能指标反映系统对运行情况的最好和最坏等情况做出精确估计的能力。它是实时系统最重要的性能指标之一。
68
1.3.1 按实时性能分类 响应时间(Response Time)
按实时性能分类 响应时间(Response Time) 是系统从识别一个外部事件到做出响应的时间。也是最重要的性能指标之一,如果事件不能及时处理,系统可能就会崩溃。
69
1.3.1 按实时性能分类 对不同的控制过程有不同的响应时间要求: 对于慢变化过程,具有几分钟甚至更长的响应时间都可以认为是实时的
按实时性能分类 对不同的控制过程有不同的响应时间要求: 对于慢变化过程,具有几分钟甚至更长的响应时间都可以认为是实时的 对于快速过程,其响应时间可能要求达到毫秒、微秒、纳秒级甚至更短。 因此,实时性能不能单纯从绝对的响应时间长短来衡量,应该根据不同的被控对象,在相对意义上进行评价。
70
1.3.1 按实时性能分类 生存时间(Survival Time) 是数据有效等待时间,在这段时间里数据是有效的
按实时性能分类 生存时间(Survival Time) 是数据有效等待时间,在这段时间里数据是有效的 吞吐量(Throughput) 是在一段给定时间内,系统可以处理的事件总数
71
1.3.1 按实时性能分类 为实现以上实时性能的要求,嵌入式系统一般采用如下方式 : 采用高速硬件。如高速处理器、高速A/D、D/A等
按实时性能分类 为实现以上实时性能的要求,嵌入式系统一般采用如下方式 : 采用高速硬件。如高速处理器、高速A/D、D/A等 利用嵌入式处理器提供的中断功能 需要嵌入式实时操作系统(RTOS)的支持 应用程序可以没有操作系统直接在芯片上运行;但为了合理地调度多任务和利用系统资源,系统必须采用RTOS开发平台,这样才能保证程序执行的实时性和可靠性,并减少开发时间,保证软件质量 RTOS通常具有较小的内核,例如,VxWorks的微内核最小为8K。 应用程序代码量小、执行速度快
72
1.3.1 按实时性能分类 ② 可靠性 硬件平台的可靠性 体现在对硬件平台的EMC电磁兼容性能、防震性能、防水性能的要求。例如:
按实时性能分类 ② 可靠性 硬件平台的可靠性 体现在对硬件平台的EMC电磁兼容性能、防震性能、防水性能的要求。例如: 往往选择工业级甚至军品级嵌入式处理器 软件采用固态化存储 只读存储器或电子盘而不是磁盘等机械类访问载体 FLASH高密度、高效率、高可靠性减小体积、提高速度、防震性能和使用寿命
73
1.3.1 按实时性能分类 软件具有出错处理和自动复位功能 应用程序采用特殊的容错和出错处理措施 具有故障诊断和修复能力
按实时性能分类 软件具有出错处理和自动复位功能 应用程序采用特殊的容错和出错处理措施 具有故障诊断和修复能力 在运行死机之后自动恢复先前的运行状态。
74
1.3.2 按软件结构分类 按软件结构分类为 嵌入式单线程系统 嵌入式循环轮询系统 有限状态机 嵌入式事件驱动系统 嵌入式前后台系统
按软件结构分类 按软件结构分类为 嵌入式单线程系统 嵌入式循环轮询系统 有限状态机 嵌入式事件驱动系统 嵌入式前后台系统 嵌入式多任务系统 嵌入式多处理器系统
75
1.3.1 按实时性能分类 (1)嵌入式单线程系统 (Embeded Single-thread System) 嵌入式单线程系统包括
按实时性能分类 (1)嵌入式单线程系统 (Embeded Single-thread System) 嵌入式单线程系统包括 循环轮询系统 有限状态机 适用场合:常见于小型、简单的嵌入式应用,其编程简单且易于理解,但系统的确定性不能保证
76
1.3.2 按软件结构分类 ①嵌入式循环轮询(Polling Loop)系统
按软件结构分类 ①嵌入式循环轮询(Polling Loop)系统 在该系统中,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。
77
1.3.2 按软件结构分类 软件结构:Initialize() 例: 通讯处理机中多串口处理程序 While(true){
按软件结构分类 软件结构:Initialize() While(true){ if(condition_1) action_1(); if(condition_2) action_2(); … if(condition_n) action_n(); } 例: 通讯处理机中多串口处理程序
78
按软件结构分类 ②有限状态机(FSM,Finite State Machine) 状态转换图: 图1-21 有限状态机示意图
79
1.3.2 按软件结构分类 相应程序结构 : int f0(char ch),…f2(char ch); struct{
按软件结构分类 相应程序结构 : int f0(char ch),…f2(char ch); struct{ int NextState; int (*function)(char ch) }StateTable[4][2]={ {{1,f0},{3,f1}}, {{3,f0},{2,f2}}, {{2,f1},{0,f1}}, {{0,f2},{3,f0}} };
80
1.3.2 按软件结构分类 main(){ char c; int I,state; while(c=getch()!=q){
按软件结构分类 main(){ char c; int I,state; while(c=getch()!=q){ I=xlate(c); (*StateTable[state][I].function)(c); state=StateTable[state][I].NextState; }
81
1.3.2 按软件结构分类 (2) 嵌入式事件驱动系统 (Embeded Event-driven System )
按软件结构分类 (2) 嵌入式事件驱动系统 (Embeded Event-driven System ) 是能对外部事件直接响应的系统 包括: 嵌入式前后台系统 嵌入式多任务系统 嵌入式多处理器系统
82
1.3.2 按软件结构分类 ①嵌入式前后台(Foreground/Backgroud) 系统 该系统又称为嵌入式中断驱动系统 系统组成
按软件结构分类 ①嵌入式前后台(Foreground/Backgroud) 系统 该系统又称为嵌入式中断驱动系统 系统组成 后台是一个循环轮询系统,一直处于运行状态,通常又称主程序; 前台是由一些中断处理过程组成的。
83
按软件结构分类 运行方式 见图1-22,当有一前台事件 (外部事件) 发生时将引起中断,暂时中止后台运行,转入进行前台处理,处理完成后又回到后台继续运行。 图1-22 嵌入式前后台系统运行方式
84
1.3.2 按软件结构分类 应用举例 一个极端情况 大多数情况下 后台只是一个简单的循环不做任何事情,所有其它工作由中断处理程序完成的
按软件结构分类 应用举例 一个极端情况 后台只是一个简单的循环不做任何事情,所有其它工作由中断处理程序完成的 大多数情况下 嵌入式前后台系统中的中断只处理那些需要快速响应的事件,并且把 I/O 设备的数据放到内存的缓冲区中,再向后台发信号,其它的工作由后台来完成,如对这些数据进行处理、存储、显示、打印等
85
1.3.2 按软件结构分类 ② 嵌入式多任务(Multitask)系统 适用场合
按软件结构分类 ② 嵌入式多任务(Multitask)系统 适用场合 对于一个复杂的嵌入式系统而言,当采用中断处理程序加一个后台主程序这种软件结构难以实时、准确、可靠地完成系统功能时,或存在一些相关或不相关的过程需要在一个系统中同时处理时,就需要采用嵌入式多任务系统。
86
按软件结构分类 运行机制 见图1-22,系统由多个任务、中断处理过程和嵌入式操作系统组成。每个任务按顺序或优先级执行的,并行性、任务间的相互通信和同步需要操作系统的支持完成 图1-23 嵌入式前多任务系统示意图
87
1.3.2 按软件结构分类 嵌入式多任务系统进一步分类与举例 根据多任务的调度方式分类为 嵌入式抢占多任务系统 嵌入式分时多任务系统
按软件结构分类 嵌入式多任务系统进一步分类与举例 根据多任务的调度方式分类为 嵌入式抢占多任务系统 任务间的调度采用优先权抢占方式 例:VxWorks、WindowsCE 嵌入式分时多任务系统 任务间的调度采用时间片轮转方式 例:CLinux
88
1.3.2 按软件结构分类 ③ 嵌入式多处理器/多核系统 适用场合 当某些工作用单个处理器来处理难以完成时,就需要使用多个处理器同时处理
按软件结构分类 ③ 嵌入式多处理器/多核系统 适用场合 当某些工作用单个处理器来处理难以完成时,就需要使用多个处理器同时处理 运行机制 多个任务可以分别放在不同的处理器上执行,宏观上看是并发的,微观上看也是并发的。
89
1.4 嵌入式系统应用带来的机遇 预言 美国著名未来学家尼葛洛庞帝在1999年1月访华时预言,“4~5 年后嵌入式系统将是继PC和因特网之后最伟大的发明” 我国著名嵌入式系统专家沈绪榜院士 1998 年 11 月在武汉全国第 11 次微机学术交流会上发表的《计算机的发展与技术》一文中,称未来10 年以嵌入式芯片为基础的计算机工业将获得极大的发展
90
1.4 嵌入式系统应用带来的机遇 从预言看Microsoft公司成功范例
在PC机时代,Microsoft为推出了图形化用户界面操作系统得以发展壮大。 在因特网时代,起步稍晚;直到1995年12月7日,比尔盖茨宣布:“今天是微软公司的Internet日” ,至此以后,微软奋起直追。 IE浏览器在短短几年的时间内就抢占了原来属于Netscape公司的Navigator在浏览器市场的主导地位 而后又成功的推出.NET网络编程工具与J2EE抗衡,从而保持了自己在软件界的霸主地位
91
1.4 嵌入式系统应用带来的机遇 Microsoft公司范例 引发思考 进入嵌入式时代, 嵌入式系统与应用会带来哪些机遇?
如何把握这些机遇?
92
1.4 嵌入式系统应用带来的机遇 预言的理解: 通用计算机行业 :
占整个计算机行业 90% 的 PC 产业 ,80% 采用的是 Intel 的 x86 体系结构,芯片基本上出自Intel、AMD、VIA 在每台计算机几乎必备的操作系统和文字处理程序方面,Microsoft 凭借操作系统还可以搭配其它应用程序,其Windows以及Word占据了80%~90% Wintel 联盟垄断的工业
93
1.4 嵌入式系统应用带来的机遇 嵌入式系统领域: 高度分散性
面向不同的行业领域和用户,不同的应用领域决定了不可能哪一个系列的处理器和操作系统能够垄断全部市场,因此留给各个行业中小规模、高技术的公司创新余地很大。 各个应用领域在不断向前发展构成了推动嵌入式工业发展的强大动力
94
1.4 嵌入式系统应用带来的机遇 新的应用模式和新的计算体系机构
未来几年的嵌入式应用与大型网络计算平台互动,形成新的应用模式和新的计算体系结构,例如“Mobile Computing(移动计算)” “Ubiquitous Computing(泛在计算)”、“Pervasive Computing(普适计算)”, 最终“Anywhere Computing” 结论:嵌入式应用和软件将成为计算机工业最具活力的部分 小作业:到网上查上述术语的具体解释。
95
1.5 本章小结 嵌入式系统基础知识 嵌入式系统的发展历史和应用现状 嵌入式系统的定义、体系结构、基本特征和常见种类
1.5 本章小结 嵌入式系统基础知识 嵌入式系统的发展历史和应用现状 嵌入式系统的定义、体系结构、基本特征和常见种类 嵌入式系统中的种类划分及特点 嵌入式系统应用带来的机遇
96
讨论 嵌入式系统与嵌入式控制系统的概念?
97
讨论 嵌入式控制系统? 简言之: 具有控制 功能的嵌 入式系统。
98
讨论 嵌入式控制系统的特点? 高可靠性(各种电气和气候下的环境适应能力)---- 无故障 实时性 ---- 及时实现控制
控制、反馈、对象适应性 ---- 专用功能
99
习题 1.以应用为中心进行分类,计算机系统可分为哪两种类型? 2.给出嵌入式系统的一般定义和基本特征。
3.请列举出一个课堂上没有提及的嵌入式系统应用实例,并进行简要说明。 4.嵌入式实时系统相对其它嵌入式系统具有哪些不同的特点?
Similar presentations