第四章嵌入式系统设计实时多任务设课件.ppt

上传人:小飞机 文档编号:1548579 上传时间:2022-12-04 格式:PPT 页数:38 大小:618KB
返回 下载 相关 举报
第四章嵌入式系统设计实时多任务设课件.ppt_第1页
第1页 / 共38页
第四章嵌入式系统设计实时多任务设课件.ppt_第2页
第2页 / 共38页
第四章嵌入式系统设计实时多任务设课件.ppt_第3页
第3页 / 共38页
第四章嵌入式系统设计实时多任务设课件.ppt_第4页
第4页 / 共38页
第四章嵌入式系统设计实时多任务设课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《第四章嵌入式系统设计实时多任务设课件.ppt》由会员分享,可在线阅读,更多相关《第四章嵌入式系统设计实时多任务设课件.ppt(38页珍藏版)》请在三一办公上搜索。

1、制作者 程丽,嵌入式系统概论,第四章 嵌入式系统设计-实时多任务设计,本章接下来介绍,软硬件功能划分软硬件分开设计软硬件协同设计实时多任务设计,实时多任务设计,起因常规方法的不足重点并发性、实时性设计方式传统方法的实时性改造要点多任务划分基于事件、基于结构,DARTS设计过程,DARTS的设计思想把系统结构化成并发任务,定义任务间接口;包括ARTS阶段和DRTS阶段;ARTS阶段:实时系统需求模型;DRTS阶段:实时系统设计。,DARTS设计过程,开发过程1. 系统需求定义2. 划分子系统3. 划分任务4. 定义任务接口5. 任务设计6. 编码实现,3. 划分任务划分任务的原则是I/O 依赖性

2、 功能的时间关键性计算需求功能内聚时间内聚周期执行,DARTS设计方法,I/O 依赖性,Device,I/O Task,App.Task,如果变换依赖于I/O,速度受限I/O,可独立成任务在系统中创建与I/O设备数目相当的I/O任务I/O任务只实现与设备相关的代码I/O任务的执行只受限于I/O设备的速度,而不是处理器在任务中分离设备相关性,功能的时间关键性,将有时间关键性(deadline)的功能分离出来, 组成独立运行的任务赋予这些任务高的优先级,以满足对时间的需要,event 1,event 2,Task 1,Task 2,Task 3,Task 3,deadline 1,deadline

3、 2,Task 2,计算需求,计算需求,计算量大的功能占用CPU的时间多,把计算功能捆绑成任务,以消耗CPU的剩余时间赋予计算任务较低优先级, 能被高优先级的任务抢占,保持高优先级的任务是轻量级的多个计算任务可安排成同优先级,按时间片循环轮转,功能内聚,将紧密相关的功能变换组成一个任务,减少通信的开销把每个变换都作为同一任务中一个个独立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚,event 1,F1(x) + F3(x),event 2,F2(x),时间内聚,将在同一时间内完成的各功能(即使这些功能是不相关的)形成一个任务功能组的各功能是由相同的外部事件驱动的(如时钟等),这

4、样每次任务接收到一个事件,它们都可以同时执行由于减少了任务调度及切换的次数,减少了系统的开销,Clock Tick,event,F1(x) + F2(y)+F3(z),F4(x)+F5(y),周期执行,10HZ,F1,F2,F1,F2,10HZ,15HZ,15HZ,一个需要周期执行的变换可以作为一个独立的任务,按一定的时间间隔被激活将在相同周期内执行的各功能组成一个任务频率高的任务赋予高优先级,4. 定义任务接口任务间的接口采用如下两个模块任务间通信模块TCM(Task Communication Module)任务同步模块TSM(Task Synchronization Module),DA

5、RTS设计方法,任务间通信模块,DARTS支持两类不同的TCM(任务间通信模块)消息通信模块信息隐藏模块,消息通信模块,任务间通信模块,松耦合消息通信消息队列包括二进制信号量,用于互斥事件同步用来在队列满时挂起生产者,队列为空时挂起消费者每个消息队列限制了最大长度每个消息队列都和一个事件相连,由事件激活任务紧耦合消息通信发送和接收队列各有一个元素,任务间通信模块,任务间通信模块,任务间通信模块,信息隐藏模块系统中可能有一些资源如查询数据、数据池和数据存储区等可以被两个或更多的任务共享使用,或是只读,或是可读可写,数据存储区,写数据,读数据,读数据,任务A,任务B,任务同步模块任务同步用事件来实

6、现,目标任务等待一个事件的发生,或源任务发送事件信号激活目标任务,源S:发事件信号(E),S,目标D:等待事件(E),D,任务同步模块TSM,任务界面,在DARTS中任务界面按照以下规则统一若传递信息的任务与接收信息的任务运行速度不同,用松耦合消息序列若传递信息的任务只有在收到接收者的回答后才能继续执行,用紧耦合消息/应答如果只是需要事件发生的通告,没有数据传输,用事件信号需要被两个或多个任务引用的数据区被处理成一个消息隐藏模块每个等待多个事件的任务都需要一个任务同步互斥模块,DARTS设计方法,5. 任务设计详细说明系统中各任务的设计考虑和执行流程,以利于程序员编制程序,包括:任务体系结构:

7、详细定义任务包含的子模块和模块间的关系任务执行流程:尽可能详细地描述任务的处理过程任务内数据结构任务内模块间接口,5. 任务设计(续)- 模块构筑系统和任务设计完成后,进行每个模块的详细设计,直到每个具体的函数;在单元测试前不必编完模块全部程序,可以分阶段编码和测试;模块的详细设计应一气呵成,避免系统以非结构化方式形成。,DARTS设计方法,5. 任务设计(续)- 任务与系统集成模块逐个连接、测试以构成任务任务被逐个连接和测试形成最终系统可分两步集成在宿主机上模拟集成(软集成)在目标机上集成,DARTS设计方法,实 例 说 明机器人控制器系统,控制设备由内部控制器和外部控制面板组成控制器控制六

8、个转轴,并与数字I/O传感器交互作用。转轴和I/O由程序控制该程序由控制面板操作启动执行,上电,手动,停止,结束,断电,运行,程序选择,控制面板,实 例 说 明机器人控制器系统,按下“上电”按钮,系统进入了上电状态。上电成功后,系统进入手动状态。此时,操作者可以通过程序选择开关选择程序按下“运行”按钮,则选定的程序开始运行,系统转为运行态。程序运行中如果按下“停止”键,程序被挂起操作者可按下“运行”键,使程序恢复执行,也可按下“结束”键,结束程序。按下“结束”键后,系统进入终止态。当程序最终终止执行时,系统返回手动状态。,控制执行过程,需求分析与说明,上电,上电成功,断电,运行,程序选择,程序

9、终止,结束,运行,停止,状态变迁图,结束,机器人控制器数据流图,程序,解释程序各语句,按下按钮,输入值,有效值,运行 停止 结束,动作命令,动作确认,I/O命令,传感器值,输入,状态值,控制值,控制,输出值,显示灯,停止恢复,轴数据,轴确认,轴输入,轴输出,动作数据,I/O,时间内聚,时间内聚,功能内聚,控制面板输入处理器,控制面板处理器,控制面板输出处理器,动作轴管理器,轴控制器,命令解释器,传感器输入,传感器输出,按下按钮,灯,程序,传感器I/O数据存储,输出,输入,机器人控制器的任务结构图,轴I/O,动作应答,动作数据,恢复,停止,轴命令,轴应答,结束,启动,任务设计,任务设计,基本设计

10、原则,尽量简单使用静态表尽量减少动态性恰当的任务数目使用有限状态自动机辅助设计面向对象设计减少预留接口,尽量简单,不存在完善方法任何的设计都只能尽量好,不可能最优。以成本为基准开发计划易实现,成本费用可控制,软件质量有保障不能过于强调精简软件具有可读性、可移植性、易维护常用模型和方法原型模型、增量模型、组件构件方法,使用静态表,系统运行前,根据各任务的实时要求生成一张任务的运行时间表,指明各任务的起始运行时间以及运行长度运行时间表生成后,在系统运行过程中不再变化系统运行时,调度器只需根据这张表在指定的时刻启动相应的实时任务,减少动态性,特点决定嵌入式系统中,时间资源非常宝贵,往往需要以空间换时间采用静态数据结构如静态数组不能绝对禁止动态消息队列、资源丰富系统、动态更新,减少任务数,任务队列变长,任务调度管理复杂化,调度延迟增加,从而降低整个系统的实时性能任务数目的增多,任务间通信几何级数增长,影响系统的实时性能原则在实时性允许的范围内定义适当的任务数目,Thank You !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号