




已阅读5页,还剩66页未读, 继续免费阅读
(通信与信息系统专业论文)嵌入式多任务调度算法及can总线通信技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 嵌入式实时操作系统的多任务调度算法和c a n 总线通信技术是电子信息技术 的研究热点。深入分析了这两种技术的国内外研究状况,研究了嵌入式系统中多 任务调度算法的调度效率和c a n 总线通信的实现方式。为了提高任务调度的时间 利用效率,引入了叠加马尔可夫链预测方法来改进普通的可变时间片轮转调度算 法,并比较了固定时间片轮转调度、普通的可变时间片轮转调度算法和基于预测 论的可变时间片轮转调度算法这三者的时间片利用率,其中固定时间片轮转调度 算法的时间片利用率约为5 2 5 5 2 7 5 ;普通的可变时间片轮转调度算法的时间 片利用率约为9 9 3 0 0 - 9 9 7 8 ;基于预测论的可变时间片轮转调度算法的时间片利 用率约为9 9 7 8 0 o 1 0 0 。此外,建立了基于嵌入式系统的三节点c a n 总线通信系 统模型,设计了c a n 节点之间的通信协议,并成功调试软硬件系统运行。 关键字:嵌入式任务调度预测c a n a b s t r a c t a b s t r a c t b o t ht h em u l t i - t a s ks c h e d u l i n ga l g o r i t h mo fe m b e d d e dr e a l t i m eo p e r a t i o ns y s t e m a n dc a n b u sc o m m u n i c a t i o nt e c h n o l o g ya r er e s e a r c h i n gh o t s p o t s t h ed o m e s t i ca n d a b r o a dr e s e a r c h i n gs i t u a t i o no ft h et w ot e c h n o l o g i e sa r ea n a l y z e dd e e p l y t h e s c h e d u l i n ge f f i c i e n c yo fm u l t i - t a s ks c h e d u l i n ga l g o r i t h ma n dt h ei m p l e m e n t i n gw a yo f c a n b u sc o m m u n i c a t i o na r ed i s c u s s e d i no r d e rt oi m p r o v et h et i m eu t i l i z a t i o no ft a s k s s c h e d u l i n g ,t h es u p e r p o s i t i o no fm a r k o vc h a i np r e d i c t i o ni sc o n s i d e r e dt oa l t e rt h e c o m m o nv a r i a b l et i m e s l i c er o u n d r o b i n s c h e d u l i n ga l g o r i t h m t h e t i m e s l i c e u t i l i z a t i o ni sc o m p a r e da m o n gt h ef i x e dt i m e - s l i c er o u n d - r o b i ns c h e d u l i n ga l g o r i t h m ( f t r s ) ,t h ec o m m o nv a r i a b l et i m e - s l i c er o u n d r o b i ns c h e d u l i n ga l g o r i t h m ( c v t r s ) a n dt h ev a r i a b l et i m e s l i c er o u n d - r o b i n s c h e d u l i n ga l g o r i t h mb a s e do np r e d i c t i o n ( p v t r s ) t h et i m e - s l i c eu t i l i z a t i o no ff t r si sa b o u t5 2 5 一5 2 7 5 t h et i m e - s l i c e u t i l i z a t i o no fc v t r si sa b o u t9 9 3 9 9 7 8 t h et i m e s l i c eu t i l i z a t i o no fp v t r si s a b o u t9 9 7 8 10 0 b e s i d e s ,t h em o d e lo fc a n - b u sc o m m u n i c a t i o ni sb u i l t ,w h i c h c o n t a i n st h r e en o d e sa n di sb a s e do ne m b e d d e ds y s t e m t h ec o m m u n i c m i o np r o t o c o lo f t h ec a n n o d ei sd e s i g n e da n dt h ec a n - c o m m u n i c a t i o nm o d e llu l l ss u c c e s s f u l l y - k e y w o r d s :e m b e d d e d ,t a s ks c h e d u l i n g ,p r e d i c t ,c a n 西安电子科技大学学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名: e t 期兰型! :墨:翌 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本人签名: 导师签名: 日期三! 坐! 主:! ! 第一章绪论 1 1 1 嵌入式的发展 第一章绪论 1 1 研究的背景与意义 嵌入式系统起始于微型机时代的嵌入式应用。嵌入式系统的嵌入性本质是将 一个计算机嵌入到一个对象体系中去。由于嵌入式计算机系统要嵌入到对象体系 中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技 术要求与技术发展方向。嵌入式计算机系统的诞生,标志着计算机进入了通用计 算机系统与嵌入式计算机系统两大分支、分工和专业化的发展时代【1 1 。 嵌入式系统经历3 0 多年的发展,尤其近几年,计算机、通信、消费电子的一 体化趋势日益明显,嵌入式技术已经成为研究热点。纵观嵌入式技术的发展过程, 大致经历了以下4 个阶段。 1 第一个阶段 以单芯片为核心的可编程控制器形式的嵌入式系统,具有与检测、伺服、指 示设备相配合的功能。这类系统一般没有系做系统的支持,通过汇编语言编程对 系统进行直接控制。其主要特点是:系统结构和功能相对单一,处理效率低,存 储容量小,几乎没有用户接口。 2 第二个阶段 以嵌入式c p u 为基础,以简单操作系统为核心的嵌入式系统。其主要特点是: c p u 种类繁多,通用性较弱;系统开销小,效率高;操作系统达到了一定的兼容 性和可扩展性;应用软件较为专业化,但用户界面不够友好。 3 第三个阶段 , 以嵌入式操作系统为标志的嵌入式系统。其主要特点是:嵌入式操作系统能 运行于各种不同类型的微处理器上,兼容性好;操作系统内核小、效率高,并且 具有高度的模块化和扩展性;具备文件和目录管理、多任务、网络支持、图形窗 口以及用户界面等功能;具有大量的应用程序接口,应用程序开发变得更为简单; 嵌入式应用软件也更加丰富。 4 第四个阶段 以因特网为标志的嵌入式系统。这是一个正在迅速发展的阶段。目前大多数 嵌入式系统还孤立于因特网之外,但随着因特网的发展以及因特网技术与信息家 电、工业控制技术结合日益密切,嵌入式设备与因特网的结合将代表嵌入式系统 的未来。 综上所述,嵌入式系统技术日益完善,3 2 位微处理器在该系统中占主导地位, 2 嵌入式系统多任务调度算法及c a n 总线通信技术研究 嵌入式操作系统已经逐渐从简单走向成熟。嵌入式系统已经由原先的单一的、非 实时的控制系统发展成多元的、实时控制系统。嵌入式系统的性能越来越高,功 能也越来越完善,使得它的应用涉及到更多的领域。目前,应用最为广泛的领域 有:信息电器、移动计算设备、网络设备、工控、仿真、医疗仪器等。 1 1 2c a n 总线的发展 c a n 总线是现场总线的一种。随着计算机技术、网络通信技术及智能化传感 技术的迅速发展,在控制领域也发生着深刻的变化,并产生了自动化领域的互联 通信网络,逐步形成全布局、全开放式的网络集成自动化系统。现场总线( f i e l d b u s ) 就是顺应这一形势发展起来的新技术,它的出现标志着自动化系统步入一个新时 代的开端。例 现场总线是应用在生产现场、在微机化控制设备之间实现双向串行多节点数 字通信的系统,也被称为开放式、数字化、多点通信的底层控制网络。它在制造 业、流程工业、交通、智能楼宇等方面的自动化系统中具有广泛的应用前景。现 场总线是2 0 世纪8 0 年代中期在国际上发展起来的,它作为过程自动化、制造自 动化、楼宇、交通等领域现场智能设备之间的胡连通信网络,沟通了生产过程现 场控制设备之间及其更高控制管理层网络之间的联系,为彻底打破自动化系统的 “信息孤岛”创造了条件。1 3 j 1 1 3 课题研究的意义 本课题来源于项目“e l m c 系统软件研制及方案设计 。e l m c ( e l e c t r o n i cl o a d m a n a g i n gc e n t e r ,电气负载管理中心) 是目前最先进的基于系统级优化技术的多 电飞机的关键技术之一。 e l m c 由计算机通过多路传输数据总线传递控制信号和状态信息,经固态功 率控制器( s s p c ) 对用电设备进行控制和保护,微型计算机代替了飞行人员的操 作,每个功率控制器接通或断开,电气负载必须按负载要求的逻辑方程进行,飞 机上每一个电气负载都对应着一个逻辑控制方程。逻辑控制方程中的每一个条件 信息将通过相应能反映系统飞行状态、电源系统状态、电气负载状态等有关的物 理量给电气负载控制中心( e l m c ) ,由分布式控制方式下的电源系统处理机( p s p ) 寻址每一个e l m c 来采集这些信息,按逻辑控制方程解算,把解算结果的控制信 息通过多路数据总线传递到e l m c ,对电气负载进行接通断开控制。 e l m c 的系统结构如图1 1 所示。 第一章绪论 3 图1 1e l m c 系统结构 本论文将c a n 总线通信技术和嵌入式开发技术相结合应用至e l m c 系统中, 设计了基于嵌入式的数据采集处理及传输系统,借助c a n 总线进行数据通信,实 现电气负载自动控制。本课题对嵌入式实时操作系统中的多任务调度算法进行了 扩展性的研究,引入了预测算法,对多任务调度算法的实时性和提高调度效率方 面具有重要意义,并在c a n 总线应用于电子设备通信控制方面具有实际意义,同 时研究过程中在我国航空电子综合化技术的研究方面所做的一些尝试,对于加快 我国航空电子设备的更新换代,增强电子系统的综合化程度,提高飞机的总体性 能具有重要的理论和现实意义。 1 2 国内外研究现状 国内外对嵌入式的实时操作系统中的多任务调度算法的研究由来已久,尤其 是国外的研究。l i u 和l a y l a n d 提出的速率单调( r a t em o n o t o n i c - - r m ) 算法1 4 j 是 静态调度算法的典型代表。最早截止期限优先( e a r l i e s td e a d l i n ef i r s t _ e d f ) 算法 【4 】则在动态优先级调度算法领域占有重要的地位。当前,学术界对实时调度算法的 研究都是在r m 或e d f 的基础上发展演化而来的【5 j ,比如硬实时与软实时相结合 的任务调度、在多种条件制约下的任务调度、多处理器调度等。 6 - 9 1 c a n 总线被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。 现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局 域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了 强有力的技术支持。 4 嵌入式系统多任务调度算法及c a n 总线通信技术研究 c a n 为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标 准化。为此,1 9 9 1 年9 月p h i l i p ss e m i c o n d u c t o r s 制订并发布了c a n 技 术规范( v e r s i o n2 0 ) 。该技术规范包括a 和b 两部分。2 0 a 给出了曾在c a n 技术规范版本1 2 中定义的c a n 报文格式,能提供11 位地址;而2 0 b 给出了标 准的和扩展的两种报文格式,提供2 9 位地址。此后,i s o 正式颁布了道路交通运 载工具一数字信息交换一高速通信控制器局部网( c a n ) 国际标准( i s 0 1 1 8 9 8 ) 。 国内关于c a n 技术的开发应用基本多为国外公司成熟技术的移植替换,如博世、 德尔福、西门子等,c a n 总线被已应用于家用电器和智能楼宇以及小区建设中。 如安防系统、抄表系统、家电控制等。 1 3 1 论文研究内容 1 3 论文研究内容与结构 本文主要以嵌入式技术为基础,在实时操作系统的多任务调度算法的时间利 用效率方面引入预测理论,以实现各任务能够有效、快速、稳定的执行和运转。 本论文完成的主要工作如下: 1 将e l m c 系统功能划分为若干个系统任务,每个任务负责完成e l m c 系统 的一部分功能; 2 研究了基于叠加马尔可夫链的预测方法,分析在实时操作系统的多任务调 度算法中引入该预测方法做了可行性; 3 设计改进了基于时间片轮转和优先级抢占式多任务调度算法,提高了任务 调度的效率和可靠性; 4 设计并编写了c a n 总线通信任务程序,完成了c a n 总线收发器和c a n 总线控制器的初始化和驱动,能够在两个c a n 总线节点之间收发数据。 1 3 2 论文结构安排 本文结构具体安排如下: 第一章首先介绍本论文的研究背景及意义,在此基础上,介绍国内实时操作 系统下多任务调度算法和c a n 总线技术的应用及发展状况,最后介绍了本论文的 主要工作和结构安排。 第二章介绍了v x w o r k s 操作系统的特点和应用情况及t o m a d o 开发工具的使 用。 第三章介绍了实时操作系统中的多任务调度算法,包括当前学术界任务调度 算法研究情况,详细比较了几种主要的多任务调度算法的特点,并对v x w o r k s 操 第一章绪论 5 作系统中包含的调度算法进行了描述。详细叙述了直流电气负载配电系统中多任 务调度算法。简要介绍了直流电气负载配电系统的功能,完成了系统内各任务的 划分,针对该系统设计了改进的基于时间片轮转和优先级抢占式调度算法的流程, 对该调度算法进行了仿真测试。 第四章介绍了现场总线的产生与发展,简要的描述了目前流行的几种现场总 线,包括基金会现场总线、l o n w o r k s 、p r o f i b u s 、h a r t 等,并着重对c a n 总 线的特点和工作原理进行了叙述。 第五章研究了c a n 总线通信控制芯片的寄存器设置方式及其功能,设计了 通信节点电路和c a n 总线通信程序流程。 第六章总结与展望。对本课题研究的主要内容进行了总结,并提出了下一步 的发展方向。 1 4 本章小结 本章首先简述了嵌入式技术和c a n 总线通信技术的发展状况,给出了电气负 载管理中心e l m c 系统的基本框图。然后阐述了嵌入式技术和c a n 总线通信技术 在e l m c 系统中实现和应用,并研究了当前国内外对这两种热门技术的研究情况。 最后,对论文的工作和组织结构进行了详细的划分和安排。 第二章v x w o r k s 操作系统及t o r n a d o 开发工具 第二章v x w o r k s 操作系统及t o r n a d o 开发工具 2 1 1 嵌入式系统的概念 2 1 嵌入式系统 嵌入式系统本身是一个相对模糊的定义。早期的嵌入式系统主要应用于军事、 航空、航天等领域,以后逐步地应用到工业控制、仪器仪表、汽车电子、通信和 家用消费类等领域。 目前存在多种嵌入式系统的定义,下面给出两种比较常见的定义【l 】: 1 、根据i e e e ( 国际电气和电子工程师协会) 的定义,嵌入式系统是控制、监 视或者辅助设备机器和车间运行的装置( 原文为d e v i c eu s e dt oc o n t r o l ,m o n i t o r , o r a s s i s tt h eo p e r m i o no f e q u i p m e n tm a c h i n e r ya n dp l a n t s ) ,这主要是从应用上加以定义 的,从中可以看出嵌入式系统是软件和硬件的结合体,是具有一定应用功能的系 统。 2 、目前国内一个普遍被认同的定义是:以应用为中心,以计算机技术为基础, 软件硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要 求的专用计算机系统。广而言之,可以认为凡是带有微处理器的专用软硬件系统 都可以称为嵌入式系统。 由以上定义可以看出,嵌入式系统是指将操作系统和功能软件集成于计算机 硬件系统之中,简单地说就是系统的软件与系统的硬件一体化。 2 1 2 嵌入式系统的特点 1 针对性强 嵌入式系统是面向用户、面向产品、面向应用的,不可能独立发展。针对用 户的具体需求,嵌入式系统的软硬件均可以裁减和添加,面向的用户是不一样的, 处处体现了其针对性强的特点。 2 实时性强 实时性是嵌入式系统的一个基本要求,但单纯靠提高嵌入式处理器的计算性 能和工作频率来提高嵌入式系统的实时性是不科学的,而应该主要靠优化嵌入式 软件,保证合理的任务调度等手段来实现。 3 高可靠性 如果嵌入式系统经常出现故障,其众多应用场所将会发生许多灾难性的事故。 嵌入式的软件要求固化存储,这样可以提高软件执行的可靠性和速度。 4 系统精简 8 嵌入式系统多任务调度算法及c a n 总线通信技术研究 嵌入式系统的操作系统内核容量非常的精简,目的是更可靠、更快速地执行 任务程序,并且节省存储空间,使系统的复杂程度降低。外围器件也要求精简可 靠,以最大性价比的代价满足客户的需要。 5 嵌入式系统需要开发工具和环境 嵌入式系统本身不具备自主开发能力,设计完成以后,用户也不能对其中的 程序功能进行修改,因此必须有一套开发工具和环境。开发时有主机和目标机的 概念,主机用于程序的开发、调试,目标机作为最后的执行机构。开发时主机和 目标机不断交互,所以还要有通信机制。一个典型的开发模型如图2 1 所示。 开发主机 图2 1 嵌入式系统开发模型 2 2r t o s 随着嵌入式系统越来越多的应用于实时控制领域,对嵌入式系统中的应用程 序提出了更快的响应要求,实时地事件处理机制成为这样的嵌入式系统的必然要 求,需要专门开发实时操作系统( r e a l t i m eo p e r a t i o ns y s t e m ,r t o s ) 。 2 2 1 实时系统 牛津词典中定义的实时系统( r e a l t i m es y s t e m ) 是:响应时间意义重大的任何 系统( a n ys y s t e mi nw h i c ht h et i m ea tw h i c ho u t p u ti np r o d u c e di ss i g n i f i c a n t ) 。这句 话表明计算的正确性不仅依靠结果还依靠响应的时间。关于实时系统的定义还有 很多,这里引用几个较为权威的【l o 】: 定义1 ( p o s l 0 0 3 b ) :一个实时系统是指它能够在限定的响应时间内提供所 需水平的服务。 定义2 ( i e e e 的定义) :一个实时系统是指那些正确性不仅取决于计算的逻辑 结果,也取决于产生结果所花费的时间的系统。 第二章v x w o r k s 操作系统及t o r n a d o 开发工具9 定义3 ( d o n a l dg i l l i e s ) :一个实时系统是指计算的正确性不仅取决于程序的 逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足, 将会发生系统出错。 实时系统一般可分为硬件实时和软件实时两大类: 1 硬实时系统要求系统运行有一个刚性的、严格可控的时间限制,它不允许 任何超出时限的错误发生。 2 软实时系统的时限是一个柔性灵活的,可以容忍偶然的超时错误。失败造 成的后果并不严重,仅仅是降低了系统的吞吐量。 实时系统中,有一系列的重要参数用于衡量系统的性能,其中包括:系统响 应时间( s y s t e mr e s p o n s et i m e ) 、任务切换时间( t a s ks w i t c h i n gt i m e ) 、中断延迟 ( i n t e r r u p tl a t e n c y ) 等。 2 2 2 实时操作系统 操作系统是计算机系统的一个系统软件,是一些程序模块的集合。它们能以 尽量有效合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作 流程,控制程序的执行并向用户提供各种服务功能。 实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。其首 要任务是调度一切可利用的资源完成实时控制任务,满足实时应用对时间的限制 和要求;其次才着眼于提高计算机系统的使用效率。 一个实时操作系统并不能保证系统所有的时限都能得到满足,系统时限的满 足还需要应用软件设计合理。一个好的实时操作系统需要具备以下功能( 必要但 是不充分) : ( 1 ) 多任务和可抢占的机制;( 2 ) 任务具有优先级;( 3 ) 操作系统具备支持 可预测的任务同步机制;( 4 ) 支持多任务间的通信;( 5 ) 操作系统具备消除优先 级转置的机制;( 6 ) 存储器优化管理( 含r o m 的管理) ;( 7 ) 操作系统的行为( 中 断延迟、任务切换、驱动程序延迟等) 是可知的和可预测的;( 8 ) 实时时钟服务; ( 9 ) 中断管理服务。 实时操作系统( r t o s ) 的研究是从2 0 世纪6 0 年代开始的,差不多是随嵌入 式系统同时出现的。 从系统结构上看,r t o s 到现在已经历了如下三个阶段。 1 早期的实时操作系统 早期的实时操作系统,还不能称为真正的r t o s ,只是小而简单的、带有一定 专用性的软件,可以认为它是一种实时监控程序,为用户提供对系统的初始化管 理以及简单的实时时钟管理,有的也具有了任务调度及简单的任务间协调等功能。 1 0 嵌入式系统多任务调度算法及c a n 总线通信技术研究 2 专用实时操作系统 随着应用的发展,有些实时系统的开发者为了满足实时应用的需要,自己研 制与特定硬件相匹配的实时操作系统。这类专用实时操作系统在国外称为 r e a l t i m eo p e r a t i o ns y s t e md e v e l o p e di nh o u s e ,它们一般只能适用于特定的硬件 环境,且缺乏严格的评测,移植性也不太好。 3 通用实时操作系统 在各种专用r t o s 中,一些多任务的机制如基于优先级的调度、实时时钟管 理、任务间的通信等基本上是相同的,不同的只是面向各自的硬件环境与应用目 标。当c 语言出现后,o s 可以用一种高效的,稳定的和可移植的方式来编写。这 类实时操作系统大多采用软组件结构,以一个个软件“标准组件”构成通用的实时操 作系统,一方面,在r t o s 内核的最底层将不同的硬件特性屏蔽掉;另一方面, 对不同的应用环境提供了标准的、可剪裁的系统服务软组件。 2 3v x w o r k s 和t o m a d o v x w o r k s 操作系统是专门为实时嵌入式系统设计开发的操作系统软件,为程序 员提供了高效的实时任务调度、中断管理、实时的系统资源以及实时的任务通信, 并且w i n d r i v e r 公司还提供了强大的嵌入式集成开发平台t o r n a d o 。利用t o m a d o 的强大支持,客户可以方便地开发自己的产品【1 1 1 。 2 3 1v x w o r k s 与硬件无关软件 应用工具软件 i 0 系统 v x w o r ks 程序库 t c p i p 千 一i 文件系统w i n dk e r n e l 1 与硬件相关软件 1r s c s i 驱动b s p以太网驱动 il j 1 硬件 上j s c s i 控制器 i 时钟ll 以太网卡 其他硬件控 制器 图2 2v x w o r k s 体系结构框图 v x w o r k s 操作系统包括了进程管理、存储管理、设备管理、文件系统管理、 网络协议以及系统应用等几个部分。v x w o r k s 占用的存储空间很小,并可高度裁 第二章v x w o r l ( s 操作系统及t o r n a d o 开发工具 l l 减,保证了系统能高效率运行。v x w o r k s 体系结构框图如图2 2 所示。 v x w o r k s 由以下几个主要部分组成: 1 高性能的实时操作系统核心w i i l d v x w o r k s 的核心一般被称作w i n d ,包括多任务调度、任务间的同步和进程间 的通信机制以及中断处理、把关定时器和内存管理机制。w i n d 提供信号量作为任 务间同步和互斥的机制;对于进程间通信,w i n d 也提供了诸如消息队列、管道、 套接字和信号等机制。 2 i 0 系统 v x w o r k s 提供了一个快速、灵活的与a n s i c 兼容的u o 系统,包括u m x 标准 的缓冲f o 和p o s i x 标准的异步v o 。v x w o r k s 包括以下驱动程序:网络驱动、管 道驱动、r a m 盘驱动、s c s i 驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等。 3 文件系统 v x w o r k s 提供的快速文件系统适合于实时系统应用,它包括几种支持使用块 设备( 如磁盘) 的本地文件系统。另外,v x w o r k s 也支持s c s i 磁带设备地本地文 件系统。v x w o r k s 支持多种文件系统,并且将普通数据文件和外部设备都统一作为 文件处理,它们在用户面前有着相同的语法定义,使用相同的保护机制。 5 板级支持包b s p 板级支持包对各种板子的硬件功能提供了统一的软件接口,它包括硬件初始 化、中断的产生和处理、硬件时钟和计时器的管理、局域和总线内存地址映射、 内存分配等等。每个板级支持包括一个r o m 启动或其他启动机制。 6 网络设施 v x w o r k s 提供了对其他网络和t c p a p 网络的“透明”访问,包括与b s d 套接字 兼容的编程接口、远程过程调用( r p c ) 、s n m p 、远程文件访问以及b o o t p 和 a r p 代理。所有的v x w o r k s 网络机制都遵循标准的网际协议。 7 先进的系列网络产品 v x w o r k s 内的w i n d n e t 是先进的、系列的网络产品,扩展了v x w o r k s 的网络 特性并增强了嵌入式处理器的网络特性。这些网络产品包括:w i n d n e ts n m p 、 w i n d n e ts t r e a m s 和w i n d n e t 等等第三方的产品,它支持o s i 、s s 7 、a t m 、f r a m e r e l a y 、c o r b a 、i s d n 、x 2 5 、c m i d g d m o 和分布式网络管理。 8 虚拟内存( v x v m i 选项) 与共享内存( v x m p 选项) v x v m i 为带有m m u 的目标板提供了虚拟内存机制。v x m p 提供了共享信号 量,消息队列和不同处理器之间共享内存区域。 9 目标代理 目标代理( t a r g e ta g e n t ) 遵循w b d ( w i n dd e b u g ) 协议,允许目标机与主机 上的t o r n a d o 开发工具相连。默认状态下,目标服务器与目标代理通过网络进行通 1 2 嵌入式系统多任务调度算法及c a n 总线通信技术研究 信,用户也可以改变通信方式。 1 0 实用库 v x w o r k s 提供了一个实用例程的扩展集,包括中断处理、看门狗定时器、消 息登录、内存分配、字符扫描、线缓冲和环缓冲管理、链表管理和a n s i c 标准。 1 1 基于目标机的工具 在t o m a d o 开发系统中,开发工具是驻留在主机上的。但是也可以根据需要将 基于目标机的s h e l l 和装载卸载模块加入到v x w o r k s 。 2 3 。2t o m a d o t o r n a d o 开发环境是实现嵌入式实时应用程序的完整软件开发平台,是交叉开 发环境运行在主机上的部分。它集成了编辑器、编译器、调试器于一体,给嵌入 式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境【1 2 1 。 t o r n a d o 开发系统包含3 个高度集成的部分:v x w o r k s :运行在目标机器上 的高性能、可裁减的实时操作系统;t o r n a d o 开发环境:运行在宿主机上,包括 一组交叉开发工具和使用程序,可对目标机上的应用进行跟踪和调试;连接宿 主机和目标机的多种通信方式,如以太网、串口线等。 t o r n a d o 开发系统具有以下三个特点: 1 适用于开发不同类型的目标机 t o m a d o 是专门为解决嵌入式系统开发人员所面临的诸多问题而设计的,针对 不同的目标机,t o m a d o 给开发者提供一个一致的图形接口和人机界面。另外,所 有工具都通过一个目标机服务器( t a r g e ts e r v e r ) 与目标机进行通信,以获取目标 机调试信息,所以无论连接方式是哪种,所有工具均可使用。 2 工具齐备 t o r n a d o 工具集十分完整和丰富,主要包括了:( 1 ) l a u n c h e r :t o r n a d o 的启动 器,用于管理目标机与调试工具;( 2 ) b r o w s e r :用于详细查看任何目标系统对象、 内存、堆栈和c p u 占用率;( 3 ) w i n d c o n t i gt m :图形化自动配置工具;( 4 ) c r o s s w i n d :系统和任务级调试工具,可以调试c 、c + + 和汇编程序;( 5 ) 基于i n t e m e t 的技术支持工具;( 6 ) 适用于所有目标机结构的编译器;( 7 ) 动态下载器:对象 模块的动态链接和加载或卸载;( 8 ) w i n d s h t m :与目标机进行交互的命令( c , t c l 语言) 解释工具;( 9 ) 支持c 和c + + 。 3 开放的、可扩展的开发环境 除了提供适用子不同目标机的工具集以外,t o r n a d o 还是一个完全开放的环 境,开发人员或第三方厂商可以很容易地把自己的工具集成到t o r n a d o 框架下。 下面给出t o r n a d 0 2 2 版本下基于本课题的宿主机开发环境的建立过程。 第二章v x w o r k s 操作系统及t o r n a d o 开发丁其 ( 1 ) 建立工程 运行t o r n a d 0 22 ,选择n e w 并新建一个c r e a t ed o w n l o a d a b ea p p l i c a t i o n m o d u l e s f o rv x w o r k s ,如图23 所示。然后按照图24 填写工程的名称、路经等,点击n e x t 后,在图2 5 中的a t o o l c h a i n 选项中选择s i m n t g n u 工具链。n e x t 之后进入图2 6 所示图中显示的是前几步所漫置的工程信息。点击“f i n i s h ”创建工程文件。 r i l l 。;i e 三! ! 二二二二二二 = = “ f 1 1 l 。q _ w w _ i i 一j 幽23 刨建新t 程对话框图2 4 设置工程名称和路经 已盘 盘 戮弹芝麓溅激! 警 := :匿三三三三三三 i j i _ 面言2 2 2 2 2 2 习 生j ! 刈坐兰j 旦j _ = - = _ | 图2 5 设置开发上具链 蹴蹦:= :” 嚣篙器要;= 二 日i i 一 二互r = 三r 二五工三二厂互j 幽2 6 生成工程文件 ( 2 ) 设置编译属性 为了程序代码的编译和调试需要对软件的编译属性进行设黄。在b u i l d s 窗口打 = j i = s d jb u i l d s 文件关,右键选择p p c 6 0 3 9 n u ,点击p r o p e r t i e s 菜单项打井图2 7 所示页面。本课题只需设置c c hc o m p i l e r 和m a c r o s 两个选项卡。如图27 所示 设置c ,c 什c o m p i l e r 的各项属性。在m a c r o s 属性选项卡中,选择需要加载的库文 件f :e l m c 、e l m cp p ca 。 ( 3 ) t a r g e ts e r v e r 配置: 建立工程、设置编译属性后,需将p 1 标服务器( t a r g e ts e r v e r ) 按照宿主机和 目标机的连接方式进行配置,本系统中宿土机和曰标机通过r s 一2 3 2 串行通信总线 进行连接。t a r g e ts e r v e r 的配置界面如图28 所示:新建一个t a r g e ts e r v e r ,为其 嵌入式系统多任务调度算法艟c a n 总线通信技术研究 定名为s d j 。设置宿主机和目标机间的通讯方式为w d b s e f i a l 即串通讯方式, 串门号为c o m 2 ,串口速率为1 15 2 0 0 b i v s 。设置v x w o r k s 系统映像文件 f 懂l m c w w 。r k s 。设置宿主机所使用的内存大小为4 0 9 8 k b ( 4 m ) 。蒯置完成后, 点击“l a u n c h ”按钮即可启动宿主机与目标机的连接。当宿主机和日标机连接成功 后,就可开始虚用程序的开发和调试。 。嚣k i 亟i i 逦聊m m 面1 齄麓徽2 警群m l i c ,t ”w 7 _ m t v p t n 。m 锄3 叫 剑 一 划 - 曲时0 j 自【* 抽l $ 6 阳_ i r 妇 h h 口“猫匣i i i i i - 簟 l “而面r 一l v “n i 面i 一l 区雯 1 jj 些一i 竺u 一 图27 编译属性设置 l 。r j 吉= _ _ l _ | j 划 口 d c r ,t t n 一 “一”“;赫。一,! 叫 t u c 。b p r 7 l = 。p “t c r - l t “m b 1 1 二 t tj 一。h 。4 i d l p 、k - 一 se f 。p ) 【r 1 r = ”m b n lt t ”p j t m n i 旧;j 2 二。;二一9 厂、i h1m l t厂、i hi id 1 ,i 图2 8 t a r g e ts e r v e r 配置 2 4 本章小结 本章介绍了嵌入式的概念和特点,着重研究了实时操作系统的功能和发展阶 段。对v x w o r k s 操作系统和t o m a d o 开发工具进行了简单的拙述,并给鞋j 了 t o m a d 0 22 针对本课题建立宿主机开发环境的过程。 第三章数据采集通信控制系统中的任务调度算法 1 5 第三章数据采集通信控制系统中的任务调度算法 3 1 1 任务管理 3 1 任务调度算法的发展与现状 在现代计算机系统中,进程是基本的计算元素。而在嵌入式实时系统中,任 务( t a s k ) 通常为进程( p r o c e s s ) 和线程( t h r e a d ) 的统称,并把任务作为调度的 基本单位进行阐述。任务管理是实时操作系统中最关键的部分,它的设计和实现 直接影响到整个系统的性能。 任务都具有动态性、并行性和异步独立性等特性。 动态性:任务状态是不断变化的。任务状态一般分为就绪态、运行态和等待 态。在多任务系统中,任务的状态将随着系统的需要不断进行变化。 并行性:系统中同时存在多个任务,这些任务在宏观上是同时运行的。 异步独立性:每个任务按相互独立的不可预知的速度运行,走走停停。 单处理器上的多任务系统属于伪并发模式。宏观上来看是一段时间内若干任 务并发处理;微观上来看这些任务其实是串行执行的,它的实现实际上是靠处理器 在多个任务之间切换、调度。处理器只有一个,也就只能轮番地服务于一系列任 务中的某一个。但是,多任务系统可以使处理器的利用率得到最大的发挥,因为 它能避免快速的c p u 等待低速的i o 设备;可以使应用程序设计模块化,这便于 开发人员将复杂的应用层次化,使得程序的开发和维护更加容易。 在一般非实时系统中,各个任务是简单地在时间上分享着微处理器的占有 权;而在实时系统中,为了保证重要任务的“及时”性能,往往采用优先级驱动方式, 重要任务赋予高优先级,系统需要保证这些任务的微处理器占有权。 3 1 2 任务状态及转换 在多任务系统中,任务要参与资源竞争,只有在所需资源都得到满足的情况 下任务才能得到执行。因此,任务拥有的资源情况是不断变化的,导致任务状态 也表现出不断变化的特性。无论是系统任务还是应用任务,在任何时候,每个任 务存在着包括就绪( r e a d y ) 、运行( r u n n i n g ) 和阻塞( b l o c k e d ) 在内的很少几个 状态。随着嵌入式系统的运行,每个任务将根据简单的有限状态自动机( f s m ,f i n i t e s t a t em a c h i n e ) 逻辑,从一个状态迁移到另一个状态。 就绪态:任务准备运行,但是还不能运行,因为更高优先权的任务在执行。 阻塞态:已经请求一个还不能用的资源;已经请求等待某些事件的发生;或 自身要延迟一段时间。 1 6嵌入式系统多任务调度算法及c a n 总线通信技术研究 运行态:任务是最高优先权的任务,并正在运行。 三种状态转换方式如图3 1 所示。 级为最高 图3 i 任务状态转换方式 在v x w o r k s 内核中,定义了其他的、更多细分的状态,如挂起( s u s p e n d e d ) 、 悬挂( p e n d e d ) 和延迟( d e l a y e d ) 。这种情况下,悬挂和延迟实际上是阻塞态的子 状态:一个悬挂任务在等待必须被释放的资源;一个延迟的任务在等待时间延迟 的结束。挂起状态用做调试目的。 3 1 3 任务调度算法 给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是 调度。在非实时系统中,调度的主要目的是减小系统平均响应时间,提高系统资 源利用率,或优化某一项指标;而实时调度的目的则是要尽可能地保证每个任务 满足它们的时间约束,及时对外部请求做出响应。 实时操作系统不仅要求系统的逻辑正确性,还必须要求系统能在规定的时间 内计算出正确的结果并对实时事务进行响应,因此实时系统中的调度算法是决定 系统实时性的重要指标。任务调度算法是实时操作系统中的关键技术之一,也是 实时操作系统中最重要、最活跃的研究领域之一。 调度的实质是资源的分配【1 3 j ,而实时调度强调的是任务的时间约束。r t o s 中的任务调度实时调度技术通常有多种划分方法,常用以下两种:抢占式调度 和非抢占式调度或静态表驱动策略和优先级驱动策略。抢占式调度的优点是实 时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其 第三章数据采集通信控制系统中的任务调度算法 1 7 缺点是上下文切换多。而非抢占式调度的优点是上下文切换少;缺点是在一般情 况下,处理器有效资源利用率低,可调度性不好。由于静态表驱动策略是在离线 情况下指定的,因此调度器的功能被弱化,只具有分派器( d i s p a t c h e r ) 的功能【1 4 】。 优先级驱动策略又分为静态优先级调度策略和动态优先级调度策
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃省内铁路系统安检工作人员招聘40人(第二期)笔试参考题库附带答案详解
- 2025年郑州空中丝路文化传媒有限公司招聘实习生7人笔试参考题库附带答案详解
- 2025年中国铁道出版社有限公司招聘(14人)笔试参考题库附带答案详解
- 2025宝鸡机床集团有限公司招聘(25人)笔试参考题库附带答案详解
- 2025四川成都兴城投资集团有限公司招聘11人笔试参考题库附带答案详解
- 2025内蒙古能源集团有限公司招聘55人笔试参考题库附带答案详解
- 2025上海泛象文化发展有限公司招聘5人笔试参考题库附带答案详解
- 危险源安全培训感想课件
- 地铁基础知识培训课件
- 地铁公司级安全培训体会课件
- 仓库盘点盈亏分析报告
- 小学音乐人音版三年级上册维也纳的音乐钟教案
- DB36-T 2098-2024 电动汽车充电站防雷技术规范
- 向上级招反诈技术人员的申请
- 指南解读肾癌治疗方案
- 《电气基础知识培训》课件
- 职业技术学院《财务大数据分析》课程标准
- 2024公安机关人民警察高级执法资格考试题(解析版)
- 放射科诊断报告改进措施
- 医疗健康人工智能辅助诊疗与护理技术培训
- 《工程建设标准强制性条文电力工程部分2023年版》
评论
0/150
提交评论