历史上的今天
返回首页

历史上的今天

今天是:2025年04月06日(星期日)

2021年04月06日 | 车载调度算法的改进设计及应用分析

2021-04-06 来源:eefocus

1引 言

随着现场总线技术、嵌入式微控制技术的发展,现代列车的过程控制已从集中型的直接数字控制系统发展成为基于网络的分布式控制系统。高速列车以保汪旅客乘车安全与舒适为基础,必须对车辆的制动、防滑、车门、供电及空调等设备分别进行控制、检测和诊断;各设备分别由相应的车载微机进行控制,构成各个子系统;子系统之间通过现场总线互联,形成全列车的网络控制系统。实际情况下,车载微机需要对多点的压力、温度以及许多其他的状态参量进行采集与监测.单一编程较为复杂,应选用嵌入式实时操作系统来完成这些任务。任务中有些需要按时间片进行调度,分时完成各个任务;而现有的源码开放的嵌入式实时操作系统一般都是抢占式多任务内核,因此需要对现有实时操作系统的任务调度机制进行改造,从而满足车载操作系统的实际需求。

 

2 调度算法分析

调度算法是指在有限的处理单元上对具有某些已知特征的任务集执行顺序的设计。在嵌入式实时系统中,任务的执行要面对两种限制:时间限制和资源限制。实时任务要求系统有良好的响应时间以满足截止时间,在嵌入式系统中只有有限的RAM和CPU等资源,所以调度的好坏在很大程度上决定了系统的性能。

 

2.1 RMS调度算法

RMS算法足在1973年由C.L.Liu和J.Layland提出的。该算法是基于统计任务执行频率的一种任务调度方法。RMS算法将最高优先级赋予最高执行频率的任务,以单调的顺序对余下的任务分配优先级。分析中,RMS算法作了以下假设:

所有任务都是周期性的;

任务间不需要同步,没有共亨资源,没有任务间数据交换等问题;

CPU必须总是执行优先级最高且处于就绪态的任务,即须用可剥夺型内核调度法。

 

由于采用抢占式的凋度方式,高优先级的任务就绪后立即抢占正在运行的较低优先级的任务。设系统中有n项不同的任务,由于RMS算法要求调度的独立的周期性任务总能满足其截止时间,即要求系统中的所有任务必须满足硬实时条件,于是有下列不等式成立:

 

 

式中:Uk为任务k最长执行时间,Tk是任务k的执行周期,Vk/Tk即任务k所需的CPU时间利用率。当系统中的任务数n趋于无穷大时,S(n)的值为Ln2,即0.693。于是,若要使所有的任务都满足硬实时要求,则有:

 

 

亦即所有有时间限制的任务的总CPU时间利用率应低于70%。其实,系统设计中,使CPU的时间利用率达到100%并不好。如果那样,程序就没有修改的余地了,也无法增加新的功能。实际情况下,CPU的时间利用率应在60%~70%以下。RMS算法的优点是灵活性强、开销小、可调度件测试简单。但在某些情况下.执行频率最高的任务并非最重要的任务。

 

2.2 EDF调度算法

抢占式EDF调度算法是一种动态优先级驱动的调度算法,其中分配给每个任务的优先级根据它们当前对最终截止时问的要求而定。当前请求的截止时间最近的任务具有最高的优先级,而请求截止时间最远的任务被分配最低优先级。这个算法能够保证在出现某个任务的截止时问不能满足之前,不存在处理器的空闲时间。

 

C.L.Liu和J.Layland证明了对于一个具有n个任务的集合,截止时间驱动的调度算法的可行条件为:

 

 

任务的最长响应时间Tr是可测的,须满足Tr小于截止时间,任务才能被调度。对于Tr可用下式表达:

 

 

式中;Trun_i为任务i的执行时间;Tlok_i为任务i的闭锁时间;Tspd_i为任务i的调度开销时间;Trdy_j为任务j再次就绪的时间;max{Tr/Trdy_j}·Trun_j为低优先级任务i被高优先级任务j剥夺后,高优先级任务占用的总时间。

 

抢占式EDF调度算法最大的优势在于,当系统的负载相对较低时非常有效,对于任何给定的任务集,只要处理器的利用率不超过100%,就能够保证它的可调度性。EDF的劣势在于不能解决过载问题,当系统负载较重时,可能引起大量任务错过截止时间,导致CPU的时间大量花费在调度上,这时系统的性能很低。

 

2.3 改进调度算法

在嵌入式实时系统中资源非常有限,所以开销要尽可能减小;而RMS和EDF调度算法的问题就在于它们的开销——运行开销和调度开销。本文以uC/OS-II为例,结合Linux的调度算法,对uC/OS-II内核的任务调度算法进行改进.使其成为抢占式与时间片轮转调度相结合的调度算法,而系统的开销并无多大改变。

 

以车载系统中常用的数据采集任务为例,可将uC/OS-II就绪表中的8个进程设为数据采集专用的进程。对于这8个进程,采用时间片轮转的任务调度算法,在TCB控制块中增加一项变量counter作为任务调度的权值。如果就绪队列中有优先级比这8个进程高的任务,则无条件让出CPU使用权,系统执行任务切换程序。如果当前就绪队列中优先级最高的进程属于数据采集专用的8个进程之一,则顺序遍历所有就绪的数据采集专用进程,计算其时间片counter的值,取出时间片最大的进程运行。若遇到时间片大小相同的进程,则取出优先级高的进程运行。改进后的任务调度算法如下:

 

 

 

3 应注意的其他问题

(1)微型化

车载设备所能提供的资源有限,所以车载操作系统必须做到小巧以满足系统硬件的限制。微内核是一种机制与策略分离的开放式设计思路,已经逐步取代了原来的单核概念,成为操作系统结构设计的主流。微内核思想带来的模块性及可配置性,适合于嵌入式应用环境的需求。

 

(2)强实时性

车载操作系统工作在实时性要求很高的环境中,这就要求其必须将实时性作为一个重要的方面来考虑。在实时系统中,基于任务结束期限的调度是最理想化的调度算法,但是难以实现。现在实时性的保证主要依靠基于优先级的抢占式调度。在车载应用环境中,不同任务、不同优先级的可抢先调度基本能够满足实时性的要求,但局限性很大;如果根据实际情况对原有的调度策略进行改进,则会给系统的开发带来了很大的方便。

 

(3)高稳定性

车载设备一旦开始运行就不需要人过多地干预。在此条件下,负责系统管理的车载操作系统要具有较高的稳定性。

 

(4)可裁剪

由于车载设备应用目的不同,所以车载操作系统必须能够根据应用的要求进行裁剪,去掉多余的部分,或者简化相应的模块。

 

4 结语

车载操作系统内核调度策略是针对车载系统应用环境而设计的,满足其任务抢占调度与时间片轮转调度相结合的设计要求,同时该操作系统又具有微型化、实时性强、可裁剪等特点。目前,该系统已进入详细改造设计阶段,下一步将对该操作系统进一步实行移植测试,使其更好地满足车载设备的要求。


推荐阅读

史海拾趣

Ericsson公司的发展小趣事

Ericsson非常重视人才培养和团队建设。公司设立了专门的培训机构为员工提供全面的培训和发展机会帮助他们不断更新知识和技能以适应快速变化的市场环境。此外Ericsson还注重营造积极向上的企业文化鼓励员工创新创造和发挥潜力为公司的发展贡献自己的力量。这种注重人才培养和团队建设的策略也为Ericsson的长期发展提供了有力保障。

Calex Mfg Co Inc公司的发展小趣事

随着电子行业的快速发展,Calex Mfg. Co., Inc.深知技术创新的重要性。公司投入大量研发资源,成功开发出一系列具有领先技术的电子产品。这些产品不仅性能卓越,而且具有高性价比,迅速赢得了市场的认可。公司凭借这些技术突破,逐渐在电子行业中占据了一席之地。

Fairchild公司的发展小趣事

1961年,Fairchild公司向全世界介绍了第一个实用的集成电路(IC)。这个微小的芯片将多个晶体管和其他电子元件集成在一起,极大地提高了电子设备的性能和可靠性。这一创新对电子行业产生了深远的影响,并开启了集成电路技术的飞速发展。

FINECHIPS公司的发展小趣事

随着全球对环保和可持续发展的重视,FINECHIPS公司积极响应号召,将环保理念融入企业发展中。公司采用先进的生产工艺和设备,减少生产过程中的能源消耗和废弃物排放。同时,FINECHIPS还致力于研发环保型电子元器件,为客户提供更加绿色、可持续的解决方案。这些努力不仅提升了公司的社会形象,还为公司赢得了更多关注环保的客户的支持。

Cantherm公司的发展小趣事

人才是企业发展的核心竞争力。Cantherm公司深知这一点,因此始终重视人才的引进和培养。公司不仅提供优厚的福利待遇和广阔的发展平台,还积极开展员工培训和技能提升计划。通过不断吸引和培养高素质人才,Cantherm公司逐渐建立了一支高效、专业的团队,为公司的持续发展提供了有力保障。


请注意,以上故事均为虚构,旨在展示一个电子行业中虚构公司可能遇到的发展情况。如有需要,您可以根据实际情况进行调整或补充。

Everett Charles Technologies (ECT)公司的发展小趣事

1996年,ECT为了进一步壮大在产业中的主导地位,加入了Dover集团。Dover集团是一家在纽约股票交易所上市的全美500强大企业之一,其业务涵盖工业、工程系统、流体、电子技术等多个领域。加入Dover集团后,ECT得到了更多的资源和支持,实现了跨越式发展。Dover集团的全球布局和丰富资源,为ECT在全球范围内的业务拓展提供了有力保障。

问答坊 | AI 解惑

关于近期垃圾帖给我的一个启发

最近几天,几个流氓ID出现在坛子里面, 居然用流氓软件发垃圾帖,封了一个,有来一个。 我今晚想到, 建议管理员; 能不能对发贴进行审核啊?? 我知道这个工作量就大了,而且还有晚上发帖的问题。所以我只是这样想, 具体实施,还真有难办~~ ...…

查看全部问答>

新工作第一天

办公室太安静了,总共才4个人,一个主管,一个结构,一个硬件,我负责软件,连敲键盘的声音都是那么响亮,不太习惯。…

查看全部问答>

IAR在windows7下如何安装

我安装IAR 7.51A时,使用的是7.50的注册机,在xp下可以安装好,但是在windows7下不行,不知道是为什么?求大虾指点…

查看全部问答>

windows和linux串口通信问题

pc机和ARM板通过一串口线相连,这两天看了VC的串口通信,大致了解了windows下对某个串口进行发送接受数据操作,可我有个疑问,就是当PC机发送数据给ARM,ARM收到数据后再发送应答消息给pc机,PC机收到应答信息后再发送消息给ARM,这种方式通过一条 ...…

查看全部问答>

谁是学自动控制的啊?哪儿有《现代控制系统》(第八版)by Richard C. Dorf, Robert H. Bishop的习题答案啊?

谁是学自动控制的啊?哪儿有《现代控制系统》(第八版)by Richard C. Dorf, Robert H. Bishop的习题答案啊?   我们正在用这本书,苦于做完习题不知道对错,      哪位知道在哪儿能找到他的配套习题集或答案之 ...…

查看全部问答>

stm32的flash是否需要写保护

                                 上电复位以后,芯片是否写保护,如果没有写保护是否在初始化时要写保护。主要目的是防止外界的干扰而造成flash被意 ...…

查看全部问答>

关于flash 存储的问题请指点指点

如果用430内部256b flash存储数据 有哪些要注意的? 我现在的步骤是 1、关中断 2、擦除 3、写flash 存贮时就直接将程序中用到的变量写到flash 中去 以前不关中断的时候发现数据会错,现在改了总怕还有什么其他没注意到的错误 哪位有这方面的 ...…

查看全部问答>

Verilog HDL---复杂数字系统的构成

1.运算部件和数据流动的控制逻辑 (1)数字逻辑电路的种类 1)组合逻辑; 2)时序逻辑; 同步有限状态机是同步时序逻辑的基础。所谓同步有限状态机是电路状态的变化只能在同一时钟跳变沿时刻发生的逻辑电路。而状态是否发生变化还要看 ...…

查看全部问答>

基于Kinetis的简单webserver(三)

关键的SPI读和写代码void WriteByte(uint8_t data){    unsigned char i = 0;    unsigned char byte_mask = 0x80;    unsigned& ...…

查看全部问答>