书签 分享 收藏 举报 版权申诉 / 38
上传文档赚钱

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

  • 上传人(卖家):三亚风情
  • 文档编号:3006876
  • 上传时间:2022-06-21
  • 格式:PPT
  • 页数:38
  • 大小:618KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《12第四章嵌入式系统设计-实时多任务设课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    12 第四 嵌入式 系统 设计 实时 任务 课件
    资源描述:

    1、制作者制作者 程丽程丽嵌入式系统概论嵌入式系统概论第四章第四章 嵌入式系统设计嵌入式系统设计-实时多任务设计实时多任务设计本章接下来介绍本章接下来介绍v软硬件功能划分软硬件功能划分v软硬件分开设计软硬件分开设计v软硬件协同设计软硬件协同设计v实时多任务设计实时多任务设计实时多任务设计实时多任务设计v起因起因 常规方法的不足常规方法的不足v重点重点 并发性、实时性设计并发性、实时性设计v方式方式 传统方法的实时性改造传统方法的实时性改造v要点要点 多任务划分多任务划分 基于事件、基于结构基于事件、基于结构 DARTS设计过程设计过程vDARTS的设计思想的设计思想 把系统结构化成并发任务,定义任

    2、务间把系统结构化成并发任务,定义任务间接口;接口; 包括包括ARTS阶段和阶段和DRTS阶段;阶段; ARTS阶段:实时系统需求模型;阶段:实时系统需求模型; DRTS阶段:实时系统设计。阶段:实时系统设计。DARTS设计过程设计过程v开发过程开发过程 1. 系统需求定义系统需求定义 2. 划分子系统划分子系统 3. 划分任务划分任务 4. 定义任务接口定义任务接口 5. 任务设计任务设计 6. 编码实现编码实现v3. 划分任务划分任务 划分任务的原则是划分任务的原则是I/O 依赖性依赖性 功能的时间关键性功能的时间关键性计算需求计算需求功能功能内聚内聚时间内聚时间内聚周期执行周期执行DART

    3、S设计方法设计方法I/O 依赖性依赖性 DeviceI/O Task App.Taskv如果变换依赖于如果变换依赖于I/O,速度受限,速度受限I/O,可独,可独立成任务立成任务v在系统中创建与在系统中创建与I/O设备数目相当设备数目相当的的I/O任任务务vI/O任务只实现与设备相关的代码任务只实现与设备相关的代码vI/O任务的执行只受限于任务的执行只受限于I/O设备的速度,设备的速度,而不是处理器而不是处理器v在任务中分离设备相关性在任务中分离设备相关性 功能的时间关键性功能的时间关键性v将有时间关键性(将有时间关键性(deadline)的功能分离的功能分离出来出来, 组成独立运行的任务组成独

    4、立运行的任务v赋予这些任务高的优先级,以满足对时间的赋予这些任务高的优先级,以满足对时间的需要需要event 1event 2Task 1Task 2Task 3Task 3deadline 1deadline 2Task 2 计算需求计算需求计算需求计算需求v计算计算量量大的大的功能占用功能占用CPU的时间多的时间多,把计把计算功能算功能捆绑成任务,捆绑成任务,以消耗以消耗CPU的剩余时的剩余时间间v赋予计算任务赋予计算任务较低优先级较低优先级, 能被高优先级能被高优先级的任务抢占,的任务抢占,保持高优先级的任务是轻量保持高优先级的任务是轻量级的级的v多个计算任务可安排成同优先级,按时间多个

    5、计算任务可安排成同优先级,按时间片循环轮转片循环轮转功能内聚功能内聚v将紧密相关的功能变换将紧密相关的功能变换组成一个任务,组成一个任务,减少通信的开销减少通信的开销v把每个变换都作为同一任务中一个个独把每个变换都作为同一任务中一个个独立的模块,不仅保证了模块级的功能内聚,立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚也保证了任务级的功能内聚event 1F1(x) + F3(x)event 2F2(x)时间内聚时间内聚v将在同一时间内完成的各功能将在同一时间内完成的各功能(即使这些功即使这些功能是不相关的能是不相关的)形成一个任务形成一个任务v功能组的各功能是由相同的外部事件

    6、驱动的功能组的各功能是由相同的外部事件驱动的(如时钟等),(如时钟等),这样每次任务接收到一个事件,这样每次任务接收到一个事件,它们都可以同时执行它们都可以同时执行v由于减少了任务调度及切换的次数,减少了由于减少了任务调度及切换的次数,减少了系统的开销系统的开销C l o c k TickeventF1(x) + F2(y)+F3(z)F4(x)+F5(y)周期执行周期执行10HZF1F2F1F210HZ15HZ15HZv一个一个需要周期执行的变换可以作为一个独立需要周期执行的变换可以作为一个独立的任务,按一定的时间间隔被激活的任务,按一定的时间间隔被激活v将在相同周期内执行的各功能组成一个任

    7、务将在相同周期内执行的各功能组成一个任务v频率高的任务赋予高优先级频率高的任务赋予高优先级v4. 定义任务接口定义任务接口 任务间的接口采用如下两个模块任务间的接口采用如下两个模块任务间通信模块任务间通信模块TCM(Task Communication Module)任务同步模块任务同步模块TSM(Task Synchronization Module)DARTS设计方法设计方法任务间通信模块任务间通信模块vDARTS支持两类不同的支持两类不同的TCM(任务间通(任务间通信模块)信模块) 消息通信模块消息通信模块 信息隐藏模块信息隐藏模块v消息通信模块消息通信模块任务间通信模块任务间通信模块v

    8、松耦合消息通信松耦合消息通信 消息队列包括二进制信号量,用于互斥消息队列包括二进制信号量,用于互斥 事件同步用来在队列满时挂起生产者,事件同步用来在队列满时挂起生产者,队列为空时挂起消费者队列为空时挂起消费者 每个消息队列限制了最大长度每个消息队列限制了最大长度 每个消息队列都和一个事件相连,由事每个消息队列都和一个事件相连,由事件激活任务件激活任务v紧耦合消息通信紧耦合消息通信 发送和接收队列各有一个元素发送和接收队列各有一个元素任务间通信模块任务间通信模块任务间通信模块任务间通信模块任务间通信模块任务间通信模块v信息隐藏模块信息隐藏模块 系统中可能有一些资源如查询数据、数系统中可能有一些资

    9、源如查询数据、数据池和数据存储区等可以被两个或更多据池和数据存储区等可以被两个或更多的任务共享使用,或是只读,或是可读的任务共享使用,或是只读,或是可读可写可写数据数据存储存储区区写数据写数据读数据读数据读数据读数据任务任务A任务任务Bv任务同步模块任务同步模块 任务同步用事件来实现,目标任务等待任务同步用事件来实现,目标任务等待一个事件的发生,或源任务发送事件信一个事件的发生,或源任务发送事件信号激活目标任务号激活目标任务源源S:发事件信号发事件信号(E)S目标目标D:等待事件等待事件(E)D任务同步模块任务同步模块TSM任务界面任务界面v在在DARTS中任务界面按照以下规则统一中任务界面按

    10、照以下规则统一 若传递信息的任务与接收信息的任务运行若传递信息的任务与接收信息的任务运行速度不同,用松耦合消息序列速度不同,用松耦合消息序列 若传递信息的任务只有在收到接收者的回若传递信息的任务只有在收到接收者的回答后才能继续执行,用紧耦合消息答后才能继续执行,用紧耦合消息/应答应答 如果只是需要事件发生的通告,没有数据如果只是需要事件发生的通告,没有数据传输,用事件信号传输,用事件信号 需要被两个或多个任务引用的数据区被处需要被两个或多个任务引用的数据区被处理成一个消息隐藏模块理成一个消息隐藏模块 每个等待多个事件的任务都需要一个任务每个等待多个事件的任务都需要一个任务同步互斥模块同步互斥模

    11、块 DARTS设计方法设计方法v5. 任务设计任务设计 详细说明系统中各任务的设计考虑和执详细说明系统中各任务的设计考虑和执行流程,以利于程序员编制程序,包括:行流程,以利于程序员编制程序,包括:任务体系结构:详细定义任务包含的任务体系结构:详细定义任务包含的子模块和模块间的关系子模块和模块间的关系任务执行流程:尽可能详细地描述任任务执行流程:尽可能详细地描述任务的处理过程务的处理过程任务内数据结构任务内数据结构任务内模块间接口任务内模块间接口v5. 任务设计(续)任务设计(续)- - 模块构筑模块构筑 系统和任务设计完成后,进行每个模块的系统和任务设计完成后,进行每个模块的详细设计,直到每个

    12、具体的函数;详细设计,直到每个具体的函数; 在单元测试前不必编完模块全部程序,可在单元测试前不必编完模块全部程序,可以分阶段编码和测试;以分阶段编码和测试; 模块的详细设计应一气呵成,避免系统以模块的详细设计应一气呵成,避免系统以非结构化方式形成。非结构化方式形成。 DARTS设计方法设计方法v5. 任务设计(续)任务设计(续)- - 任务与系统集成任务与系统集成 模块逐个连接、测试以构成任务模块逐个连接、测试以构成任务 任务被逐个连接和测试形成最终系统任务被逐个连接和测试形成最终系统 可分两步集成可分两步集成在宿主机上模拟集成(软集成)在宿主机上模拟集成(软集成)在目标机上集成在目标机上集成

    13、 DARTS设计方法设计方法实实 例例 说说 明明机器人控制器系统机器人控制器系统控制设备由内部控制器和外部控制面板组控制设备由内部控制器和外部控制面板组成成控制器控制六个转轴,并与数字控制器控制六个转轴,并与数字I/O传感传感器交互作用。器交互作用。转轴和转轴和I/O由程序控制由程序控制该程序由控制面板操作启动执行该程序由控制面板操作启动执行上电上电手动手动停止停止结束结束断电断电运行运行程序选择程序选择控制面板控制面板实实 例例 说说 明明机器人控制器系统机器人控制器系统按下按下“上电上电”按钮,系统进入了上电状态。按钮,系统进入了上电状态。上电成功后,系统进入手动状态。此时,操上电成功后

    14、,系统进入手动状态。此时,操作者可以通过作者可以通过程序选择开关程序选择开关选择程序选择程序按下按下“运行运行”按钮,则选定的程序开始运行,按钮,则选定的程序开始运行,系统转为运行态。系统转为运行态。程序运行中如果按下程序运行中如果按下“停止停止”键,程序被挂键,程序被挂起起操作者可按下操作者可按下“运行运行”键,使程序恢复执行,键,使程序恢复执行,也可按下也可按下“结束结束”键,结束程序。键,结束程序。按下按下“结束结束”键后,系统进入终止态。当程键后,系统进入终止态。当程序最终终止执行时,系统返回手动状态。序最终终止执行时,系统返回手动状态。 控制执行过程控制执行过程需求分析与说明需求分析

    15、与说明断电态断电态通电态通电态手动态手动态运行态运行态终止态终止态挂起态挂起态上电上电上电成功上电成功断电断电运行运行程序程序选择选择程序终止程序终止结束结束运行运行停止停止状态变迁图状态变迁图结束结束机器人控制器数据流图机器人控制器数据流图程序程序面板输入有效面板输入有效性检查性检查解释程序解释程序各语句各语句读传读传感器感器处理面处理面板输入板输入 处理处理I/O命令命令处理动处理动作命令作命令向传感向传感器输出器输出输出动作输出动作轴数据轴数据接收确认接收确认输出到输出到面板面板轴控制器轴控制器读面板读面板 输入输入按下按下按钮按钮输入值输入值 有效值有效值 运行运行 停止停止 结束结束

    16、动作动作命令命令动作动作确认确认I/O命令命令传感器值传感器值输入输入状态值状态值控制值控制值控制控制输出值输出值显示灯显示灯 停止停止恢复恢复轴数据轴数据轴确认轴确认轴输入轴输入轴输出轴输出动作动作数据数据I/O时间时间内聚内聚时间时间内聚内聚功能功能内聚内聚控制面板控制面板输入处理器输入处理器控制面板控制面板处理器处理器控制面板控制面板输出处理器输出处理器动作轴动作轴管理器管理器轴控制器轴控制器命令命令解释器解释器传感器传感器输入输入传感器传感器输出输出按下按下按钮按钮灯灯程序程序传感器传感器I/O数据存储数据存储输出输出输入输入机器人控制器的任务结构图机器人控制器的任务结构图轴轴I/O动

    17、作应答动作应答动作数据动作数据恢复恢复停止停止轴命令轴命令轴应答轴应答结束结束启动启动任务设计任务设计任务设计任务设计基本设计原则基本设计原则v尽量简单尽量简单v使用静态表使用静态表v尽量减少动态性尽量减少动态性v恰当的任务数目恰当的任务数目v使用有限状态自动机辅助设计使用有限状态自动机辅助设计v面向对象设计面向对象设计v减少预留接口减少预留接口尽量简单尽量简单v不存在完善方法不存在完善方法 任何的设计都只能尽量好,不可能最优。任何的设计都只能尽量好,不可能最优。v以成本为基准以成本为基准 开发计划易实现,成本费用可控制,软开发计划易实现,成本费用可控制,软件质量有保障件质量有保障v不能过于强

    18、调精简不能过于强调精简 软件具有可读性、可移植性、易维护软件具有可读性、可移植性、易维护v常用模型和方法常用模型和方法 原型模型、增量模型、组件构件方法原型模型、增量模型、组件构件方法使用静态表使用静态表v系统运行前,根据各任务的实时要求生成系统运行前,根据各任务的实时要求生成一张任务的运行时间表,指明各任务的起一张任务的运行时间表,指明各任务的起始运行时间以及运行长度始运行时间以及运行长度v运行时间表生成后,在系统运行过程中不运行时间表生成后,在系统运行过程中不再变化再变化v系统运行时,调度器只需根据这张表在指系统运行时,调度器只需根据这张表在指定的时刻启动相应的实时任务定的时刻启动相应的实

    19、时任务减少动态性减少动态性v特点决定特点决定 嵌入式系统中,时间资源非常宝贵,往嵌入式系统中,时间资源非常宝贵,往往需要以空间换时间往需要以空间换时间v采用静态数据结构采用静态数据结构 如静态数组如静态数组v不能绝对禁止动态不能绝对禁止动态 消息队列、资源丰富系统、动态更新消息队列、资源丰富系统、动态更新减少任务数减少任务数v任务队列变长,任务调度管理复杂化,调任务队列变长,任务调度管理复杂化,调度延迟增加,从而降低整个系统的实时性度延迟增加,从而降低整个系统的实时性能能v任务数目的增多,任务间通信几何级数增任务数目的增多,任务间通信几何级数增长,影响系统的实时性能长,影响系统的实时性能v原则原则 在实时性允许的范围内定义适当的任务在实时性允许的范围内定义适当的任务数目数目

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:12第四章嵌入式系统设计-实时多任务设课件.ppt
    链接地址:https://www.163wenku.com/p-3006876.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库