实时操作系统μC/OS-II的改进与应用研究

发布者:EnchantedMagic最新更新时间:2008-01-30 来源: 单片机及嵌入式系统应用关键字:OS-II  HPMC  最优算法  动态优先级  用户任务  触发系统  局部变量  实时操作系统  应用研究 手机看文章 扫描二维码
随时随地手机看文章

  传统的嵌入式系统设计大多采用单任务顺序机制,应用程序是一个无限的大循环,所有的事件都按顺序执行,与时间相关性较强的事件靠定时中断来保证,由此带来系统的稳定性、实时性较差;尤其当系统功能较复杂,且对实时性要求较严格时,这种单任务机制的弱点暴露无遗。本文引入的嵌入式操作系统μC/OS-II是一个多任务的实时内核,主要提供任务管理功能。在实时系统中的多个任务,必须决定这些任务的优先级顺序,任务调度算法需要动态为就绪任务的优先级排序。为了满足对实时性要求越来越高的需要,同时避免频繁改变就绪任务的优先级,在分析μC/OS-II源代码的基础上,对其调度算法进行改进。

  1 μC/OS-II概述

  μC/OS-II是一个完整的,可移植、可固化、可裁剪的占先式实时多任务内核;支持56个用户任务,支持信号量、邮箱、消息队列等常用的进程间通信机制;适用于各种微控制器和微处理器;所有代码用ANSI C语言编写,程序的可读性强,具有良好的可移植性,已被移植到多种处理器架构中,在某些实时性要求严格的领域中得到广泛应用。

  1.1 工作原理

  μC/OS-II的核心工作原理是:近似地让最高优先级的就绪任务处于运行状态。首先初始化MCU,再进行操作系统初始化,主要完成任务控制块TCB初始化,TCB优先级表初始化,TCB链表初始化,事件控制块(ECB)链表初始化,空任务的创建等。然后,开始创建新任务,并可在新创建的任务中再创建其他新任务。最后,诃用OSStart()函数启动多任务调度。在多任务调度开始后,启动时钟节拍源开始计时,此节拍源给系统提供周期性的时钟中断信号,实现延时和超时确认。

  1.2 任务调度

  操作系统在下面的情况下进行任务调度:中断(系统占用的时间片中断OSTimeTick()、用户使用的中断)和调用API函数(用户主动调用)。一种是当时钟中断来临时,系统把当前正在执行的任务挂起,保护现场,进行中断处理,判断有无任务延时到期;若没有别的任务进入就绪态,则恢复现场继续执行原任务。另一种调度方式是任务级的调度,即调用API函数(由用户主动调用),足通过发软中断命令或依靠处理器在任务执行中调度。当没有任何任务进入就绪态时,就去执行空任务。

  2 调度算法的改进

  2.1 实时系统的调度策略

  在操作系统的多任务调度算法的设计上,要根据系统的具体需求来确定调度策略。实时调度策略按不同的方法可以分为:静态/动态,基于优先级/不基于优先级,抢占式/非抢占式,单处理器/多处理器。其中,静态是指在任务的整个生命期内优先级保持不变,任务的优先级是在系统建立任务时确定的;动态是指在任务的生命期内,随时确定或改变它的优先级别,以适应系统工作环境和条件的变化。

  μC/OS-II系统采用的是静态优先级分配策略,由用户来为每个任务指定优先级。虽然任务的优先级可通过OSTaskChangePrio()函数改变,但函数功能简单,仅以用户指定的新优先级来替换任务当前的优先级。随着实时嵌入式技术的发展,对嵌入式系统的实时性要求越来越高,多样化的调度方法己成为一种趋势。本文讨论动态优先级调度中的最优算法截止期最早优先算法的改进及其在μC/OS-II中的实现。

  2.2 调度算法的改进

  截止期最早优先算法是动态优先级调度算法中的最优算法。在截止期最早优先算法中,系统按任务的截止期给每个任务分配优先级。任务的截止期越早其优先级越高,反之亦然。为此,在本文所述截止期最早优先算法的改进中.需在μC/OS-II系统中增加表l所列的项目。

  

  

  在截止期最早优先算法中,需要用户为任务指定其截止期。在本改进中,将OSTaskCreate()和OSTaskCreateExt()中的参数INT8U Prio改为INT8U deadline,并在函数内定义局部变量INT8U Prio来记录分配给任务的优先级。该算法改进也要在系统中增加OSTaskPrioCreate()函数,函数优先级分配的方法是按任务的截止期分配。该模块流程如图l所示。

  

  

  在对就绪任务优先级进行调整时,该模块首先在数组中对任务的优先级完成调整并记录任务优先级的调整情况。在执行此函数后,就绪任务队列中任务的优先级可能会改变,园此还需要在μC/OS-II系统中添加prio_adjust()函数。该函数应用μC/OS-II系统原有的函数OSTaskChangePrio()来更新就绪任务,代码如下:

  

  

  为防止多个任务同时调用OSTaskPrioCreate()函数造成混乱,这段代码应按临界资源来处理,需要在调用前关中断,调用后再开中断。

  3 应用及评价

  3.1 系统结构

  在液压测量控制HPMC模块中,系统要求在18ms内完成对7个位置的传感器和用户键盘数据的实时采集、处理及显示;且对于采集到的不同测量数据,要求系统根据任务的紧迫程度,作出优先级不同的实时响应。

  系统的结构如图2所示。由外向内分为3层:硬件电路层、任务层和操作系统层。

  

  

  硬件电路层主要包括HPMC模块、用户操作、单片机控制模块。大致功能如下:HPMC模块主要完成传感器数据的实时采集;用户模块主要完成用户的操作;单片机控制模块用于控制数据的接收、处理、发送、短消息的收发等。

  任务层并行存在lO个任务,每个任务均由以下3部分组成:应用程序、任务堆栈以及任务控制块,主要完成任务优先权的动态设置以及任务状态的转换。

  操作系统层的设计主要是将μC/OS-II移植到单片机上。本系统采用Atmel公司的MCS-5l系列兼容单片机,同时完成各个任务的具体编程。

  3.2 算法评估

  选择用动态调度还是静态调度是很重要的,这会对系统产生深远的影响。静态调度对时间触发系统的设计很适合,而动态调度对事件触发系统的设计很适合。静态调度必须事先仔细设计,并要花很大的力气考虑选择各种各样的参数;动态调度不要求事先作多少工作,而是在执行期间动态地作出决定。

  在HPMC模块中,由于需对现场采集到的测量数据进行实时处理,故对系统的实时性提出了很高的要求。若采用μC/OS-II的静态优先级调度算法,当系统中任务优先级变化时则显得无能为力;同时通过在液压测量控制系统中的应用表明,改进后系统的实时性得到了极大改善。

  结语

   本文针对μC/OS-II静态调度算法进行改进,在系统中实现了截止期优先调度算法。通过在液压测量控制系统中的应用,表明这种改进能明显提高系统的实时性;但是改进后的算法对系统的内存、CPU等提出了更高的要求,存在一定的局限性。

  

关键字:OS-II  HPMC  最优算法  动态优先级  用户任务  触发系统  局部变量  实时操作系统  应用研究 引用地址:实时操作系统μC/OS-II的改进与应用研究

上一篇:实时操作系统μC/OS-II的改进与应用研究
下一篇:实时操作系统μC/OS-II的改进与应用研究

推荐阅读最新更新时间:2024-05-02 20:40

未来iPhone能够根据位置提醒用户完成任务
       本文转自威锋网   未来iPhone或许能够“记住”用户经常到的地方,帮助用户完成在这些地方的待办事项。苹果日前向美国专利商标局提交了一份专利申请文件,“自动识别和存储常常访问的位置”。   在专利文件中苹果表示,用户越来越多地使用待办事项应用来提醒自己去完成一些任务,通过将重复出现的任务放在待办事项列表中,用户就可以快速查看接下的时间中自己需要完成哪些事情。有时候,待办事项的顺序也需要确定下来。   苹果表示传统的待办事项应用有许多限制,比如用户需要手动查看待办事项列表或者设置提醒,那么它才会提醒用户;它也不会提醒用户何时完成什么任务效率会 更高、更方便;它无法与某个位置连接起来以
[手机便携]
基于RTX51的排爆机器人嵌入式控制器固件开发
排爆机器人(EODrobot)是一种遥操作地面移动机器人,操作机主体一般是由一个机械手和一个可移动平台组成,主要用于拆除疑似爆炸物品,以减少作业现场人员伤亡,是军警部门必须装备的设施。目前国际上主要流行美国Remotec公司的Andros系列排爆机器人、法国Cybernetics公司研制的TRS200中型排爆机器人等。但是国外的排爆机器人价格过高,出现故障后维修特别不方便。因此国家863专家组已经将高性能排爆机器人的研发及国产化列入了重点支持的课题。 由于种种原因,目前的排爆机器人很多只采用PLC实现点动控制,功能有限且操作性较差。研究高性能控制器成为排爆、消防等各种遥操作地面移动机器人的共同课题。利用先进的嵌入式系统技术可以较
[单片机]
基于RTX51的排爆机器人嵌入式控制器固件开发
μC/OS-II的多任务系统在SOPC中的硬件实现
本人在教学及科研实验中,对基于μC/OS-II的多任务系统在SOPC中的设计总结出了具体实现方法。经过实践验证,该方法简单、可靠,值得推广。 1 μC/OS实时操作系统 μC/OS-II是一个可移植、可裁剪、占先式、实时的多任务内核,主要有任务管理、时间管理、信号量管理、消息邮箱管理、列队管理、内存管理等。由于绝大部分代码都是用C语言编写的,只有极少部分与处理器密切相关的代码是用汇编语言编写的,用户只要做很少的工作就可以把它移植到各类8位、16位、32位处理器上。另外,μC/OS-II的构思巧妙,结构简单、精炼,可读性强,有足够的稳定性和安全性,具备了实时操作系统的全部功能,在嵌入式系统领域有着广泛的应用。 2 硬件设
[电源管理]
一种基于时间触发模式的汽车防盗系统的设计
1.引言   目前防盗器市场的主流产品是电子式防盗器:包括插片式、按键式和遥控式等,它主要是靠锁定点火或起动来达到防盗的目的,同时具有防盗和声音报警功能。又分为单向防盗器和双向防盗器,这两种防盗器都是车主通过遥控器来控制汽车,双向防盗器可以把车辆的真实状况反馈给车主。   GPS 汽车防盗器依托全球定位系统,它将报警信息和报警车辆所在位置无声地传送到报警中心。由于车主不能直接控制车辆,价格和使用费用较高,使其推广应用受到很大限制,目前还没有普遍使用。GSM 汽车双向防盗器是网络式防盗器的后起之秀,它依托全球GSM网络,车主可直接通过手机接受报警和控制车辆,性能价格比较好,它代表着汽车防盗器的发展趋势,自推出以来收到客户的青睐。
[汽车电子]
一种基于时间<font color='red'>触发</font>模式的汽车防盗<font color='red'>系统</font>的设计
深圳市微纳集成电路与系统应用研究院与CEVA合作
CEVA DSP在微纳研究院的智能语音处理器中助力 360 度全方位语音定位算法 专注于智能互联设备的全球信号处理IP授权公司CEVA宣布深圳市微纳集成电路与系统应用研究院 (微纳研究院)已经获得CEVA 音频/语音 DSP授权许可,用于开发瞄准机器人、智能家电和智能家居等一系列智能硬件系统的多麦克风语音处理器产品。 微纳研究院的冯晓新博士表示:“IoT革新继续推动语音和音频处理进入全新的用例和应用中,在这些领域中,麦克风阵列技术是提供最佳用户体验的关键。即使在远场情景中,只要通过使用CEVA音频/语音DSP,我们的智能语音处理器解决方案便能够采用成本和功耗效率最佳的方式来处理最复杂的多麦克风用例。” 微纳研究院的先进语音处理解决
[嵌入式]
基于89C52/C51系列单片机实现电力载波模块的设计及应用研究
电力载波(PowerLine CarrierWave,简称PLCW)通信是利用电力线进行信息传送的一种通信方式。电力载波通信在远程三表(水表、电表、煤气表)信息的自动采集和传输中得到广泛的应用,在智能小区建设中备受青睐。随着信息技术的发展,智能化网络家电逐渐成为研究热点,而将电力载波应用于智能化网络家电控制则刚刚开始。国内目前尚未有应用于智能化网络家电控制的电力载波通讯产品的研究报道;而国外已经有稳定的构建智能化网络家电的电力载波通讯产品,但其价格昂贵,中国普通家庭难以接收,而且电压是110V,也不适合中国国情。因此,有必要对电力载波技术进行深入探索,研究开发出适合中国国情、成本低廉而可靠的电力载波通讯产品。 将电力载波应用于智能
[单片机]
基于89C52/C51系列单片机实现电力载波模块的设计及<font color='red'>应用研究</font>
ARM9内核μC/OS-II系统实现SD卡文件系统电子电路设计图
  在ARM9嵌入式处理器和μC/OS-II操作系统基础上,采用容量大、体积小、性价比高的存储介质SD卡来存储长时间段的测量数据,对FAT32进行了裁剪,并结合SD卡的底层的读写程序,从而实现了嵌入式SD 卡文件系统,这样就能很方便通过上位机对SD卡记录货车称重数据进行查询,综合分析以及备份。同时该方法为其它数据采集系统提供了一种非易失性存储器的解决方案,采集到的数据会以标准文件的格式记录到SD卡上,便于文件的统一管理。该系统具有实时性强、存取速率高、易维护,易移植等特点。   一、 硬件电路   本系统硬件开发平台处理器为S3C2440A,是三星公司推出的16/32位RISC微处理器,ARM920T 内核,主频400 MHz
[单片机]
ARM9内核μC/<font color='red'>OS-II</font><font color='red'>系统</font>实现SD卡文件<font color='red'>系统</font>电子电路设计图
无线电能传输技术在煤矿井下照明系统中的应用研究
引言 矿产资源是关乎国计民生的国家战略资源,矿产资源的安全开采是工业发展的根本基础之一。井下照明设备的安全运行起着至关重要的作用,但目前井下照明设备采用的有线接触式供电方法存在接触不良、矿井环境易燃易爆、检修安装麻烦等安全隐患,因此对井下照明设备供电方式的安全改良势在必行。而新型无线电能传输技术的出现为改善方案的实现提供了可能。无线供电(wirelessPowersupply,wPs)技术通过电磁感应原理实现了电气设备的无线供电,因此,该技术在煤矿井下、水下、无人化工作场所、电动汽车无线充电等领域逐步有着广泛的应用。 对于矿井中的易燃易爆环境,德国、英国和澳大利亚等国家先后制定了自己的防爆安全标准,我国也在2010年制定了最新
[嵌入式]
无线电能传输技术在煤矿井下照明<font color='red'>系统</font>中的<font color='red'>应用研究</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved