当前位置:首页 > 单片机 > 单片机
[导读]在微机控制领域中,多数系统是实时控制系统。实时的含义是对随机发生的外部事件做出及时的响应并对其进行处理。为了更好地完成实时数据的采集、处理、存储和相应的多种实时控制操作,必须同时考虑到实时性和多任务并

在微机控制领域中,多数系统是实时控制系统。实时的含义是对随机发生的外部事件做出及时的响应并对其进行处理。为了更好地完成实时数据的采集、处理、存储和相应的多种实时控制操作,必须同时考虑到实时性和多任务并行性这2个因素。既要保证系统以足够快的速度对外部事件进行响应并处理,又能在宏观上并行执行多个任务。实时多任务系统依靠适当的任务调度方法来决定在系统中哪个任务可以获得CPU和其他系统资源,哪个任务暂时退出运行状态,从而达到实时处理多任务的目的。时间片轮转算法是实现多任务调度的常用算法。在这种算法中,如果将某个时间片分配给某个任务,那么在此时间片内,这个任务获得CPU并运行,然后在下个时间片到来时又将CPU分配给另一个任务。这样,并发任务在微观上交替运行,而在宏观上并行执行。

1实时多任务机制的实现

实时控制系统中允许多个实时任务并行执行,在一些测控系统中有数据采集、端口检测、模拟量输出、开关量输出数据处理和存储等多种任务。在单片机中,要达到这样的效果:在微观上,某一时刻只能运行一个任务,但在宏观上这些任务是同时运行的。

实时任务通过分时处理实现,相当于操作系统中的进程。每个任务有3种状态,即运行状态、就绪状态和等待状态,某个任务一旦建立后即处于这3种状态之一。处于运行状态的任务独占CPU 和其他一些资源;就绪状态是该任务已获得了除处理机以外的一切所需资源,运行条件满足,只因为缺少CPU而不能运行;等待状态是一个任务在等待某个事件(如其他任务的信息,等待某系统资源等)的发生而暂时停止执行。通过有效的任务调度来完成3个状态的转变。在实时多任务系统中任务调度算法的优劣直接关系到系统的实时性与并行性。

时间片轮转法是根据某一时间片的切换轮流地调度所有就绪任务的方法:将CPU 的运行时间划分为许多小的时间片,由调度程序按一定顺序分配给不同任务,每个任务分别在自己的时间片内访问CPU,中断实现系统对外界信息的实时响应,同时担当时间片切换的驱动力。考虑到不同任务的实时性要求不同,不能统一划分,我们采取以最小时间片为基准,其他时间片是他的倍数,这样就提高了系统的资源利用率。

在这种调度算法中,时间片的选择很重要,通常要考虑所要完成任务的数目、各任务的不同实时性要求、系统的处理能力等因素。

2时间片轮转调度在火车闸片摩擦系数测试系统中的应用

2.1系统分析

要模拟火车刹车的过程,完成对火车闸片的摩擦系数的测试,需实现以下几个步骤:

(1)用模拟输出端口输出0~10 V电压作为变频器的频率设定值,使变频器控制电机按升速时间将车轮转速逐步提升,按升速时间达到设定速度。

(2)据设定气压和实际气压的比较决定应该排气还是进气,并执行相应的打开/关闭进气阀或出气阀的操作,使气压达到设定值。在未测试前要不断检测气压状态,保持气压的稳定。

(3)测试按钮按下时,打开加压阀,开始刹车。由于要模拟火车的刹车惯量,电机不能立即停止,因此在加压的同时,要使变频器控制电机逐步减速。系统按降速时间降到0,在这个减速刹车的过程中,同时记录从测力传感器采集并平滑后的数据放入指定变量区。

既要保证任务的实时响应,又要实现多任务在宏观上的同时进行,我们采用时间片轮转调度算法,且根据不同任务的不同实时性要求, 以最小时间片为基准,划分不同时间片。该测试系统要实现数据采集,模拟量输出,开关量输出/读入等操作,这些操作对应的具体任务及其实时性要求如表1所示。

实时性要求相同的任务,为同一级别,用状态变量来区分任务是处于就绪状态,还是等待状态,从而决定是否分配时间片。

2.2时间片的选定

在时间片轮转算法中,时间片的大小对系统性能有很大影响。如果时间片太大,大到每个任务都能在该时间片内执行完毕,则时间片轮转调度算法就失去意义,而且可能耽 误一些实时性较强的任务;时间片过小,会使一些任务来不及响应。由上面的分析,可以看出在这个测试系统中,所要选择的基准时间片为1 ms,其他的时间片为他的倍数。

3软件设计与实现

3.1软件设计

每个子任务时间片的划分由系统时钟定时完成,系统调度程序将他分给各个子任务。系统用其内带的定时器来完成这一工作,定时频率设计为各子任务要求执行频率的整数倍。

使用CYGNAL公司的C8051F020微控制器,系统时钟选择f=11.059 2 MHz;采用定时器中断和记数来实现时间片:

主要测试任务的实时要求为10 ms,将10 ms划分为10块,一个任务执行时间为1 ms,那么每隔10 ms,一个特定任务就会调度一次,且在这10 ms内,可以让10个任务得到交替执行,既满足了实时性要求,又实现了多任务操作。其调度结构如下:

有些任务,要以其他任务的完成为前提,如:在速度未到达设定值前,不能进行测试 操作,不能执行降速任务,因而该任务处于等待状态。必须根据任务所处的状态,动态地加载任务。

在测试过程中,DA值输出为10 ms一次,每执行一个时间片,进行记数,记到n时, D A值增加25个,即以n×10 ms为周期,DA值增加一次,使变频器控制电机转速匀速上升。下降过程也同样,这样,既能保证DA值匀速上升/下降,又能根据最大DA值(10 V输出对应DA值为4 000)和每n个时间片周期内下降的DA值来准确控制上升和下降时间,将大任务分成一个个小任务来执行,提高系统资源利用率和实时性。

3.2测试系统的实现

下位机用时间片轮转调度法实现实时多任务系统。上位 机用虚拟仪器开发平台LabVIEW 实现人机界面,通过ModBUS协议和下位机通信,在指定数据区写入各设定参数,进行测试,把测试结果存放在指定数据区,取得数据后经公式换算得到摩擦系数,降速过程中每一单位速度(km/h)数对应一个摩擦系数瞬时值,得到的曲线如图1所示。


?
4结语

对于实时多任务操作系统,主要任务是对实时性要求不同的各种任务做出及时响应。

在单片机中引入时间片轮转调度的任务分配方法,有 效地改善了系统的结构,系统可以在宏 观上并行执行各种任务, 使资源的利用率进一步提高;并使其在事件发生时能够在严格的时 限内做出响应,从而实现了实时多任务的测控系统。

参考文献
[1]马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M] .北京:北京航空航天大学出版社,2001.
[2]徐士良,朱明方.软件应用技术基础[M].北京:清华大学出版社 ,2000.
[3]庞丽萍.操作系统原理[M].武汉:华中理工大学出版社,1987.
[4]李刚,林凌.与8051兼容的高性能高速单片机C8051FXXX系列[M].北京:北京航空航天大学出版社,2002.
 

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

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 信息技术
关闭
关闭