Chap12 嵌入式系统开发模式

Preview:

Citation preview

1

  嵌入式系统开发模式23/5/3

CHAP12   嵌入式系统开发模式

概述处理器及硬件开发平台的选定操作系统选定开发环境选定

2

  嵌入式系统开发模式23/5/3

嵌入式系统开发模式概述 最大特点:软硬件综合开发。 原因:

1)嵌入式产品是软硬件的结合体 2)软件针对硬件开发、固化,不能

进行任意修改

3

  嵌入式系统开发模式23/5/3

嵌入式系统开发面临的挑战 需要多少硬件 如何满足时限 如何减少系统功耗 能否正常工作 如何保证系统可升级

4

  嵌入式系统开发模式23/5/3

嵌入式系统开发过程

系统定义时期

符合要求

硬件设计制作 软件设计实现软硬件集成功能性能测试

产品Yes

系统总体设计

No

5

  嵌入式系统开发模式23/5/3

嵌入式系统生命周期

产品定义

硬件与软件划分

迭代与实现

硬件与软件集成

接受测试

维护与升级详细的硬件与软件设计

产品发布

6

  嵌入式系统开发模式23/5/3

系统总体设计软硬件划分

系统总体框架

处理器选定

操作系统选定

开发环境选定

7

  嵌入式系统开发模式23/5/3

硬件设计制作硬件概要设计硬件详细设计硬件制作硬件测试

功能模块图设计逻辑电路图设计PCB设计与制作PCB测试

8

  嵌入式系统开发模式23/5/3

软件设计实现软件概要设计软件详细设计

软件实现软件测试

9

  嵌入式系统开发模式23/5/3

软件生存周期开发方法 软件孕育、诞生、成长、成熟、衰亡的生存过程,称为软件生存周期

•制定计划•需求分析与定义•软件设计•程序编写•软件测试•运行和维护

10

  嵌入式系统开发模式23/5/3

瀑布模型 Royce 的瀑布模型是第一个为软件开发过程提出的模型 计划

需求分析体系结构设计

编码测试

运行维护维护阶段

开发阶段

定义阶段 不够灵活,风险大

11

  嵌入式系统开发模式23/5/3

逐步求精开发模型 一个系统被建立多次,第一个系统被用作原型,其后逐个系统将进一步被求精

说明体系结构

设计建立

测试

说明体系结构

设计建立

测试

12

  嵌入式系统开发模式23/5/3

嵌入式系统分层设计模型

13

  嵌入式系统开发模式23/5/3

嵌入式设计生命周期

14

  嵌入式系统开发模式23/5/3

传统的嵌入式系统设计① 需求分析② 软硬件分别设计开发③ 系统集成④ 集成测试⑤ 系统正确则结束⑥ 如错误则修改⑦ 返回 3 ,继续进行测试

15

  嵌入式系统开发模式23/5/3

软硬件协同开发 通常的嵌入式系统开发

软 / 硬件协同开发

嵌入式软件开发

嵌入式硬件开发

嵌入式系统集成、测试、验证

嵌入式软件开发

嵌入式硬件开发

嵌入式系统协同设计、测试、验证

16

  嵌入式系统开发模式23/5/3

协同设计与传统设计的区别 描述硬件和软件使用统一的表示形式 硬件、软件划分可以选择多种方案,直到满足要求为止。

17

  嵌入式系统开发模式23/5/3

处理器及硬件开发平台的选定选择依据: 应用的类型及 I/O 接口 主频及功耗 对不同类型存储器的支持 封装 产品生命力和厂家实力、技术支持及第三方软件的支持 硬件开发平台的选择

18

  嵌入式系统开发模式23/5/3

操作系统选定选择依据: 选择嵌入式 OS 的必要性 自建、购买或使用开源软件 对嵌入式操作系统的功能、性能要求 与硬件平台和开发工具的关系 行业标准 技术支持 版税或服务费

19

  嵌入式系统开发模式23/5/3

操作系统与硬件平台的关系 操作系统应支持选定的硬件平台 如果不支持,需考虑移植工作

不同类型嵌入式微处理器之间的移植:任务上下文切换、时钟、中断等

同类型微处理器但不同类型硬件板之间的移植:硬件接口及设备驱动程序

20

  嵌入式系统开发模式23/5/3

操作系统与开发工具的关系 工具是否能为基于特定操作系统的应用开发提供最大支持:

运行库与 OS 相结合 提供应用工程创建和管理功能,构建基于特定操作系统的应用框架 对操作系统的剪裁与配置 提供高级调试功能 提供配套的应用逻辑分析工具、覆盖测试工具等

21

  嵌入式系统开发模式23/5/3

开发环境及工具选定 对硬件平台的支持 所使用的编程语言

C/C++ 汇编语言 JAVA ……

与嵌入式操作系统的关系

22

  嵌入式系统开发模式23/5/3

选择开发平台 硬件平台 操作系统 编程语言 开发工具

C, C++,汇编

23

  嵌入式系统开发模式23/5/3

实时软件分析设计方法DARTS 分析设计方法

24

  嵌入式系统开发模式23/5/3

DARTS 分析设计方法 嵌入式实时软件系统的生存周期 需求分析与说明 系统设计-DARTS 设计方法

数据流分析 划分任务 定义任务接口

任务设计 模块构筑 任务与系统集成

25

  嵌入式系统开发模式23/5/3

嵌入式实时软件系统的生命周期 需求分析与详细说明 系统设计

任务分解 , 定义任务间接口关系 任务设计

按模块方式设计每个任务,定义模块间接口 模块构筑

完成每个模块的详细设计、编码和单元测试 任务与系统集成 系统测试

26

  嵌入式系统开发模式23/5/3

实 例 说 明——机器人控制器系统上电

手动 停止 结束断电

运行

程序选择

控制面板

控制设备由内部控制器和外部控制面板组成

控制器控制六个转轴,并与数字 I/O传感器交互作用。

转轴和 I/O 由程序控制

该程序由控制面板操作启动执行

按下“上电”按钮,系统进入了上电状态。 上电成功后,系统进入了手动状态。此时,操作者可以通过程序选择开关选择程序 按下“运行”按钮,则选定的程序开始运行,系统转为运行态。 程序运行中如果按下“停止”键,程序被挂起。之后,操作者可以按下“运行”键,使程序恢复执行,也可按下“结束”键,结束程序。 按下“结束”键后,系统进入终止态。当程序最终终止执行时,系统返回手动状态。

控制执行过程

28

  嵌入式系统开发模式23/5/3

需求分析与说明断电态 通电态

手动态 运行态

终止态 挂起态

上电

上电 成功断电 启动

程序选择程序 终止

结束启动 停止

状态变迁图

29

  嵌入式系统开发模式23/5/3

DARTS 设计方法 数据流分析:每个数据流图都包含:

变换圈 , 表示系统完成的功能箭头,表示变换间的数据流动数据存储区,表示数据的存储场所数据字典,定义了数据流和数据存储区所包含的数据项

机器人控制器数据流图

程序

面板输入有效性检查

解释程序各语句读传感器

处理面板输入 处理I/O 命令

处理动作命令 向传感器输出

输出动作轴数据接收确认输出到面板

轴控制器

读面板 输入按下按钮

面板输入

有效的面板输入

运行开始 结束动作命令

动作确认

I/O命令

传感器值输入

传感器输入

传感器输出输出面板输出

显示灯 运行 停止重启动

轴块 轴确认

轴输入 轴输出

动作块

31

  嵌入式系统开发模式23/5/3

划分任务就是识别出并行性的功能 需要考虑的是系统内功能的异步性。分析数据流图中的变换,确定哪些变换可以并行,哪些变换本质上是顺序的。 一个任务可对应一个变换,也可对应多个变换。

DARTS 设计方法

32

  嵌入式系统开发模式23/5/3

划分任务原则 I/O 依赖性 功能的时间关键性 计算需求 功能内聚 时间内聚 周期执行

DARTS 设计方法

33

  嵌入式系统开发模式23/5/3

I/O 依赖性 Device I/O Task App.Task

如果变换依赖于 I/O ,速度受限 I/O ,可独立成任务 在系统中创建与 I/O设备数目相当的 I/O任务 I/O任务只实现与设备相关的代码 I/O任务的执行只受限于 I/O设备的速度,而不是处理器

在任务中分离设备相关性

34

  嵌入式系统开发模式23/5/3

功能的时间关键性

将有时间关键性( deadline )的功能分离出 来, 组成独立运行的任务

赋予这些任务高的优先级,以满足对时间的需要

event 1

event 2Task 1

Task 2

Task 3 Task 3

deadline 1deadline 2

35

  嵌入式系统开发模式23/5/3

计算量大的功能占用 CPU的时间多,把计算功能捆绑成任务,以消耗 CPU的剩余时间 赋予计算任务较低优先级 , 能被高优先级的任务抢占,保持高优先级的任务是轻量级的 多个计算任务可安排成同优先级,按时间片循环轮转

计算需求

36

  嵌入式系统开发模式23/5/3

功能内聚

将紧密相关的功能变换组成一个任务,减少通信的开销把每个变换都作为同一任务中一个个独立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚

event 1F1(x) + F3(x)

event 2F2(x)

37

  嵌入式系统开发模式23/5/3

时间内聚

将在同一时间内完成的各功能(即使这些功能是不相关的)形成一个任务功能组的各功能是由相同的外部事件驱动的(如时钟等),这样每次任务接收到一个事件,它们都可以同时执行由于减少了任务调度及切换的次数,减少了系统的开销

Clock Tickevent

F1(x) + F2(y)+F3(z) F4(x)+F5(y)

38

  嵌入式系统开发模式23/5/3

周期执行

一个需要周期执行的变换可以作为一个独立的任务,按一定的时间间隔被激活将在相同周期内执行的各功能组成一个任务频率高的任务赋予高优先级

F1F2

F1

10HZ 10HZ15HZ15HZ

F2

I/O

时间内聚

功能内聚

时间内聚

40

  嵌入式系统开发模式23/5/3

定义任务接口 任务间通信模块TCM( Task Communication Module)

任务同步模块TSM( Task Synchronization Module)

DARTS 设计方法

41

  嵌入式系统开发模式23/5/3

消息通信模块 信息隐藏模块

任务间通信模块

数据存储区写数据

读数据

读数据任务 A 任务 B

信息隐藏模块

42

  嵌入式系统开发模式23/5/3

任务同步模块源 S :发事件信号 (E)

S

目标 D :等待事件 (E)

D

任务设计

任务体系结构:详细定义任务包含的子模块和模块间的关系 任务执行流程:尽可能详细地描述任务的处理过程 任务内数据结构 任务内模块间接口

  详细说明系统中各任务的设计考虑和执行流程,以利于程序员编制程序。

45

  嵌入式系统开发模式23/5/3

任务设计

46

  嵌入式系统开发模式23/5/3

任务设计

47

  嵌入式系统开发模式23/5/3

模块构筑 系统和任务设计完成后,进行每个模块的详细设计,直到每个具体的函数 在单元测试前不必编完模块全部程序,可以分阶段编码和测试 模块的详细设计应一气呵成,避免系统以非结构化方式形成

函数设计 函数描述 给出对该函数的简要描述,说明设计目的、意义以及特点 功能 说明该函数应具有的功能,可采用 IPO图(输入一处理一输出图)形式 性能 说明对该函数的性能要求,包括精度、灵活性和时间特性等 输入 定义每个输入项的特性,包括名称、标识、数据类型和格式、取值范围、输入方式、数据来源、保密方式等 输出 定义每个输入项的特性,特征同输入

算法 详细说明本函数所选用的算法,具体的计算公式和计算步骤 流程 用流程图辅以必要的说明来表示本函数的逻辑流程 接口 说明本函数与其他函数的调用关系,包括说明参数赋值和调用方式以及相关数据结构(如数据库、文件)。 存储分配 说明本函数的存储分配 限制条件 说明本函数运行所受限制 测试计划 说明对本函数的测试计划,包括技术要求、输入数据、预期结果、人员安排等

函数设计

50

  嵌入式系统开发模式23/5/3

任务与系统集成 模块逐个连接、测试以构成任务 任务被逐个连接和测试形成最终系统 可分两步集成

在宿主机上模拟集成(软集成) 在目标机上集成

案例分析:车载实时信息终端案例分析:车载实时信息终端

52

  嵌入式系统开发模式23/5/3

Agenda 汽车电子简介 汽车电子的技术和领域 “车载实时信息终端和智能化仪表系统的研究与开发”项目简介 交流

53

  嵌入式系统开发模式23/5/3

汽车工业的发展 1885年,德国机械工程师卡尔·本茨发明了世界上第一辆实用的内燃机汽车 汽车工业的三次变革:

1914 年,福特公司流水线 上世纪五十年代,欧洲汽车空前繁荣 上世纪六十年代,日本汽车工业奇迹

2002年,全世界共售出新车57,700,000辆。预计2005年,世界上将有20亿辆汽车

54

  嵌入式系统开发模式23/5/3

电子信息产业的发展 1946年,世界上第一台计算机ENIAC在美国宾夕法尼亚大学诞生 半个世纪信息产业日新月异

军用 -> 科研 -> 民用 PC产业革命 互联网经济

55

  嵌入式系统开发模式23/5/3

带宽 (吉尔德定律 )

用户 (麦特卡夫定律 )

硬件 (摩尔定律 )

软件国际标准国际标准

摩尔摩尔 (Moore)(Moore) 定律定律:每个:每个 ICIC 芯片上晶体管数目翻一翻芯片上晶体管数目翻一翻 /18/18 月月麦特卡夫麦特卡夫 (Metcalfe)(Metcalfe) 定律定律:网络价值同网络用户数量的平方成正比,:网络价值同网络用户数量的平方成正比,即即 NN 个联结能创造个联结能创造 N×NN×N的效益的效益吉尔德吉尔德 (Gilder)(Gilder)定律定律:主干网带宽每六个月增加一倍:主干网带宽每六个月增加一倍

计算的定律

56

  嵌入式系统开发模式23/5/3

计算的几种形式 企业计算

以实现大型组织内部和组织之间的信息共享和协同工作为主要需求而形成的网络计算技术”,其核心是 Client/Server计算模型和相关的中间件技术。 科学,工程计算

计算为科学研究服务

57

  嵌入式系统开发模式23/5/3

计算的几种形式 (续) 网格,分布式计算

让计算能力“公用化”,倡导“平等”共享 普及计算

强调和环境融为一体的计算,而计算机本身则从人们的视线里消失 Anyone, Anytime, On Any Device

58

  嵌入式系统开发模式23/5/3

普及的不仅仅是计算

59

  嵌入式系统开发模式23/5/3

普及计算的领域 全新的信息设备

Tablet PC, PDA Smart Card等

用信息技术改造旧的产业,设备 数字医疗设备,工业控制 数字家电:数码相机, Set Top Box 数字汽车工业:汽车电子

60

  嵌入式系统开发模式23/5/3

汽车电子的诞生 人类对汽车的提出了更高的要求:

移动性 经济性 安全性 行驶的稳定性 舒适性

传统的汽车多以机械装置为载体,但随着人们对汽车功能的需求的日益增加,传统的机械装置已经无法解决某些与汽车功能要求有关的问题。

61

  嵌入式系统开发模式23/5/3

汽车电子的诞生 (续) 把新兴的电子技术融入到汽车当中,形成把电子技术和汽车融为一体的“自动化、智能化、网络化、信息化 ”现代汽车电子控制技术。 汽车电子 = 汽车 + 电子 ;

62

  嵌入式系统开发模式23/5/3

汽车电子学科的特点 涉及的技术、知识广泛

机械制造,动力工程,汽车,微电子,自动化,测量,计算机硬件,计算机软件…… 应用的层次宽,水平参差不齐

低端 : 单片机,可编程芯片 高端:嵌入式操作系统

技术没有国际统一的标准 车载总线: J1850, ODB-2, CAN, LIN, IDB等等

63

  嵌入式系统开发模式23/5/3

Agenda 汽车电子简介 汽车电子的技术和领域 “车载实时信息终端和智能化仪表系统的研究与开发”项目简介 交流

64

  嵌入式系统开发模式23/5/3

汽车电子的技术和领域 硬件

传感器 总线技术 芯片,存储,显示等技术

软件平台 嵌入式操作系统

应用 导航,定位,仪表等

65

  嵌入式系统开发模式23/5/3

硬件 -- 传感器 传感器:能感受(或响应)规定的被测量值,并按照一定规律转换成可用信号输出的器件或装置。 传感器种类:

速度传感器,位移传感器,温度传感器,亮度传感器,声学量传感器…… 普通家用轿车传感器数目: 30 – 100个 高级家用轿车传感器数目: 100 – 300个

66

  嵌入式系统开发模式23/5/3

硬件 -- 车载总线 汽车总线为汽车内部各种复杂的电子设备、控制器、测量仪器等提供了统一数据交换渠道 CAN( Controller Area Network )

是由德国 BOSCH公司为解决现代汽车中的控制与测试仪器之间的数据交换而开发的一种数据通信协议 拓扑结构为总线式,因此也称为 CAN总线 速率可达到 1M bit/s,是一个真正的高速网络

67

  嵌入式系统开发模式23/5/3

硬件 --芯片,存储,显示等技术 芯片:

ARM7, Xscale 等嵌入式芯片 存储:

CD, DVD, CF卡, SD卡 显示:

触摸屏, LCD, LED

69

  嵌入式系统开发模式23/5/3

应用 – 电子仪表

传统仪表 电子仪表 更清晰,更容易自定义

70

  嵌入式系统开发模式23/5/3

应用 – 电子地图 搜索更简单,信息量大

71

  嵌入式系统开发模式23/5/3

应用 – 卫星定位GPS 接收卫星发送的报文信息进行处理后,计算出精确度的位置、速度、运行方向等资料通过移动通讯网络以语音的形式传递或在电子地图上显示。

72

  嵌入式系统开发模式23/5/3

应用 – 电子导航 GPS 全球卫星定位系统 、 GSM 全球数字移动通讯系统 、 GIS 地理信息系统 、计算机技术的完美结合。 地理状况可以实时更新 地图可以从服务器更新

73

  嵌入式系统开发模式23/5/3

应用 – 无线上网,免提电话 现阶段一般采用 GPRS 以后可能采用 3G技术

74

  嵌入式系统开发模式23/5/3

应用 – 智能防盗 为汽车设置密码 智能卡,指纹登陆 使用 GPS ,结合网络功能,实时向服务器报告汽车的方位

75

  嵌入式系统开发模式23/5/3

应用 – 车载娱乐 DVD播放器, CD播放器 电台收音 游戏

76

  嵌入式系统开发模式23/5/3

应用 – 故障诊断 借助安装在车身,发动机等处的传感器,一旦汽车发生故障,传感器即可得知。 最简单的,油量,水量报警 复杂的,发动机,电路故障。

77

  嵌入式系统开发模式23/5/3

应用 – 电子后视系统 传统汽车后视镜有死角 通过在车身安装多个摄像设备,进行图像采集。消除死角

78

  嵌入式系统开发模式23/5/3

Agenda 汽车电子简介 汽车电子的技术和领域 “车载实时信息终端和智能化仪表系统的研究与开发”项目简介 交流

79

  嵌入式系统开发模式23/5/3

一、车载实时信息终端和智能化仪表系统发展趋势1)车载信息终端现状及发展趋势现有车载信息终端的功能: 1)主要以 GPS 定位、 GPRS/CDMA技术为核心,使车辆具有导航、寻呼及行驶轨迹记录功能;2)部分使用了数字地图;3)部分产品还集成了车载DVD、电视等娱乐设备;4)少部分产品可以实现 Web游览。

80

  嵌入式系统开发模式23/5/3

一、车载实时信息终端和智能化仪表系统发展趋势1)车载信息终端现状及发展趋势现有车载信息终端的不足之处: 1)功能比较单一;2 )部分产品虽然实现了几个功能,与车内信息的融合力度不足,但许多重要功能缺少;比如,车辆的车内信息、诊断功能、辅助维护功能等;3)极少用同一个嵌入式操作系统来实现多功能的集成,集成度不高,深度开发、功能扩展及产品升级困难;性能价格比较差;4)一般使用车载电视作显示器,清晰度不够;

81

  嵌入式系统开发模式23/5/3

我国研制成功汽车多功能卫星导航仪(具有 GPS 定位、 数字地图功能,还集成了DVD)

82

  嵌入式系统开发模式23/5/3

总体目标通过本课题的研究,开发出集汽车实时信息指示、汽车诊断、远程服务、后视 / 侧视系统等功能的车载实时信息终端和智能化仪表系统;同时,研究该类系统的发展趋势,及开发该类系统的技术路线;实现关键部件的技术攻关(如汽车液晶显示器、无线通讯部件、后视 / 侧视电子系统等);开发必要的研发 / 试验设备,从而形成由低到高的系列化产品开发能力。最终,实现车载实时信息终端和智能化仪表系统产品的自主开发,推动汽车电子技术的发展。

83

  嵌入式系统开发模式23/5/3

车载信息系统简介 车载信息系统是为汽车驾驶员或乘客提供各种信息服务的电子系统。它包含车载信息终端和车外综合信息服务,借助移动通信技术与无线网络将两者整合为一。车载信息系统不仅是未来车内信息显示及娱乐设备,还是连接汽车与移动商务和交通信息服务的桥梁。

I NTERNET

交通数据采集中心

交通数据处理中心

远程监控诊断

84

  嵌入式系统开发模式23/5/3

85

  嵌入式系统开发模式23/5/3

软硬件体系结构

86

  嵌入式系统开发模式23/5/3

Get hardware & BSP from OEMs

Need Hardware Design?

Design & develop your hardware

Develop BSP for your hardware

Need platform customization

?

Get platform & SDK from OEMs

Customize your Win CE platform

Export your SDK

Coding & Testing

Release to Manufacture

87

  嵌入式系统开发模式23/5/3

Get hardware & BSP from OEMs

Need Hardware Design?

Design & develop your hardware

Develop BSP for your hardware

Need platform customization

?

Get platform & SDK from OEMs

Customize your Win CE platform

Export your SDK

Coding & Testing

Release to Manufacture

谢谢!