当前位置:首页 > 嵌入式 > 嵌入式硬件

智能仪表是自动控制技术的重要组成部分。随着智能仪表在工业控制、通信和汽车电子中的广泛应用。

  智能仪表逐渐向数字化、网络化、智能化方向发展;同时,智能仪表复杂度不断增加,对实时性要求几乎达到了苛刻的程度。在编程方式和代码重复利用等方面,超循环方式的智能仪表越来越不能满足资源管理和系统的实时要求,迫切需要在中低端智能仪表中加入一些轻量级的多任务管理的调度器或实时操作系统。本文根据智能仪表对嵌入式操作系统的特殊要求设计了一种新的任务调度算法,并实现了一个应用于中低端仪器仪表的嵌入式微调度器。

  1实时任务调度的一般方法和策略

  在实时操作系统中,系统把应用分为行为可以预知的、功能确定的多个任务。每个任务一般处于3种状态;执行状态、就绪状态和等待状态(有的操作系统还具有挂起和休眠状态)。为了满足实时性要求,系统根据一定的原则选择合适的任务执行。

  常见的任务调度算法分为静态算法和动态算法两类:

  ①静态算法:在系统在运行前(即系统初始化阶段),就为所有的任务分配固定的优先级别,在系统执行过程中优先级保持不变。当一个事件发生时,调度程序只需要查就绪表,就可以调度哪个任务处于运行状态。

  ②动态算法:在系统初始化时初步分配一个优先级。每一个任务在运行时可以改变它的优先级。

当前的嵌入式操作系统一般采用静态算法,只在处理优先级反转时临时采用动态优先级算法。

  2仪器仪表对调度算法的要求

  为了提高仪表的可靠性,实现高性能、多功能应用,应用于智能仪表的调度器必须满足以下要求:

  ①良好的实时性。智能仪表必须实时地对通过现场总线采集的数据进行数字编码,通过人机界面进行显示,并把用户对被监控系统的参数设置实时地传送给执行部件。

  ②基于优先级的任务调度策略。在复杂的大规模应用中需要使用大量的传感器、执行器和控制器等,对其数据显示和传输控制需要通过不同优先级的任务来控制。

  ③低消耗要求。随着应用环境的复杂化,对智能仪表的计算能力要求越来越高,势必要求调度器必须占用较少的系统资源。

  ④低成本要求。为了降低成本,在硬件设计上,存储器的大小是成本控制的一个方面。因此,要求提供的调度器必须具备小内核以减小存储空间。

  此外,还要求调度器必须有精确定时的功能,也就是事件驱动和时钟驱动相结合,以满足智能仪表中周期性任务执行和突发性任务执行的需要。

  3嵌入式微调度器的设计与实现

  根据智能仪表对调度算法实时性、多任务、低消耗的要求,本文提出了一种新的静态优先级,单任务队列、具有4种任务状态的非抢占式调度的轻量级任务调度算法,并根据这种算法实现了应用于智能仪表的调度器。
  

  该算法的特点是以任务在任务控制块数组中的相对位置表示优先级高低,任务的状态和延时量使用统一的任务状态字,在少量任务的轻量级应用中具有很好的时间和空间性能。
  

  3.1任务的状态

  在本调度器中任务有4种状态:就绪状态、运行状态、等待状态和挂起状态。内存中的任务必须处于这4种状态之一。

  就绪状态:指任务运行的时间条件和资源条件都满足,等待调度算法选择最合适的任务进入就绪状态。任务一旦建立就处于就绪状态,这一点和μC/OS-II相同。

  运行状态:是当前时刻任务占有CPU资源正在运行的状态。本调度算法选择进入就绪任务队列中优先级最高的任务运行。任何时刻只能有一个任务处于运行状态。

  等待状态:如果任务需要等待一段时间才能运行,那么这个任务当前处于等待状态。使任务延迟一段时间可通过调用Os_TasK_Delay()函数实现。调度器在每个系统时钟节拍检查任务延迟时间,一旦任务定义的延迟时间到,就使任务进入就绪状态。

  挂起状态:正在运行的任务需要等待某一事件的发生,如果该事件没有发生那么任务就处于挂起状态。事件的发生可能来自另外一个任务,也可能来自中断服务程序。

  除此之外,系统还可能处在中断服务状态。这是一种特殊的运行状态,当系统响应中断时,正在执行的任务被挂起,中断服务程序控制了CPU的使用权,系统就进入中断服务状态。

  其中,空闲任务优先级最低,而且永远处于就绪状态,而且当所有的任务都在等待事件发生或者延迟时间结束时,操作系统就会执行空闲任务。

  3.2调度器核心数据结构

  3.2.1任务控制块和任务控制块列表

  任务控制块由任务堆栈、任务入口地址、任务状态字和任务优先级4个部分组成。任务堆栈用于保护被中断的现场数据;任务入口地址是指向任务程序的指针,用于指定任务所进行的操作;任务状态字用来表示任务当前的状态和延迟的时间间隔;任务优先级表示就绪列表中的哪个任务可以优先进入运行状态。

  在整个调度过程中使用一个全局的任务控制块数组来表示任务控制块列表。每个任务使用唯一一个任务控制块表示,任务的优先级通过任务控制块在任务控制块数组中的相对位置来表示。每个任务有且仅有一个优先级,所以任务的优先级也可以用任务的ID号来表示。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭