1、实时多任务机制在低功耗单片机系统中的最小实现汪滢,辛晓宁,袁德成(沈阳化工学院 自动化系,辽宁 沈阳!#!)摘要:简要介绍低功耗单片机系统的设计原则。详细阐述了实时多任务程序结构的特点以及在低功耗单片机中的一种最小实现方法。结合低功耗热能测量系统实例介绍其具体实现过程。关键词:实时多任务操作;调度程序;任务;低功耗中图分类号:$%&文献标识码:文章编号:!(&)(#)(&)(*(&!引言低功耗单片机系统是在满足性能要求的前提下,以降低功耗为主要技术指标的智能系统。其硬件设计一般采用:全部+,-.集成电路、有关断或自关断功能、低电压、低时钟等原则。低时钟对于多数未采用锁相环技术和倍频技术的单
2、片机而言意味着运行速度和处理能力的降低,而实时多功能系统则要求单片机在规定时间内对多个对象的信息进行快速处理并作出响应,其实现前提是单片机应工作在较快的频率下。解决低功耗和实时多功能对系统时钟频率矛盾要求的有效方法是选择与基本指标及资源条件相适应的软件系统。常规单片机软件结构和实时多任务程序结构常规单片机软件采用顺序程序设计方法,由收稿日期:!#!/!/!0#应用现状图#涡旋制冷原理注:!压缩空气入口;#涡旋发生器;&尾气阀;1 热气出口;0 冷气入口;2 冷气出口在应用过程中,我们发现取样处理系统温度控制非常关键。初步设计时我们没有采用温度控制,在夏季运行非常良好,进入冬季后,由于冷却器制冷
3、温度低,使空气中的水蒸汽凝结成水而结冰,样品管线被冻死。后来我们进行了改造,对制冷空气进行了自动控制,处理系统的温度由温度控制器热敏探头测量后,来控制压缩气线路的电磁阀。我们把控制温度设定为 3 4,当样品温度高于 3 4时,电磁阀(常开)处于打开状态,进行制冷,当样品温度低于 3 4时,电磁阀处于关闭状态,停止制冷(允许温差范围 5!4),为了防止环境温度的影响,我们对冷却器进行了保温措施,改造后的取样处理系统运行情况非常良好。$安装、投运注意的事项(!)从工艺管线到处理系统的连接距离尽可能缩短,冷却器要求垂直安装,防止滞后严重和残留液存在。(#)在系统投用时,首先打开侧路控制气源的球阀,使
4、冷却器快速冷却。当冷却器的温度降到设定范围内,再打开样气线路的截止阀,关闭侧路空气源,系统处于正常工作。(&)空气源(冷却剂)的压力要求不能低于61,%7,否则,达不到很好的冷却效果。(1)由于样品中含有苯、甲苯等有机物,排放后要进行特殊处理,并对自动排液器进行定期吹扫,防止环境污染和管线堵塞。革新与实践化工自动化及仪表,#,#)(&):*8*#+9:;?:;A;G主程序加中断处理程序组成,一般为一个循环程序。中断处理程序完成各种随机事件和各种实时操作的处理。其软件结构框图如图!所示。图!顺序结构流程图在一个循环中各功能模块依次得到执行,主程序可被中断中止,待中断程序执行完毕后再返回到断点顺序
5、执行。而在实际应用中,各功能模块的执行频率往往不同,如一些系统在多次测量后方进行数据处理,必要时才有输出控制,按固定顺序及次数执行各功能模块,将增加#$的动态工作时间,降低资源的利用率。实时多任务程序结构是一种分层次的软件结构,由控制程序和应用程序两部分组成。控制程序位于上层,完成任务管理、任务调度及任务间通讯等功能;应用程序位于下层,一般按所完成的操作或功能分成独立的且可并行的多个任务,由控制程序调度运行。任务一般有三种状态:运行态、就绪态、等待态,分别表示任务正被运行,任务可运行但由于其它任务正被运行,只能排队等待,任务不具备运行条件,需等待某些条件驱动(如时间驱动、消息驱动、中断驱动)。
6、采用层次结构的单片机系统框图如图%所示。各功能模块由系统调度程序启动,彼此处于同等地位,其执行次数依需要而定,减少了系统的动态工作时间;各功能模块间功能独立,相互影响小,可方便地进行调试、增减、改制和移植;此结构可通过其它模块的执行实现自身的延时,减少了对#$的占用,有利于单片机效率的提高。因此只要任务长度设计合理便可解决低功耗单片机的低工作频率与系统快速处理间的矛盾,最大限度满足低功耗和实时性的要求。!实时多任务程序结构在低功耗单片机中的最小实现由于低功耗单片机有多级中断源及内部定时计数器,因而具备引入多任务操作机制的硬件条件。在低功耗单片机系统中,实时多任务操作系统的实现方式主要取决于系统
7、的硬件资源和编程时的编译工具。一般情况下,一个较简单的单片机的&(较小,而一个完善的多任务操作系统通常要占用较大的系统资源,因此如何在满足实际要求的条件下,以最少的资源来完成任务的描述和调度是必须首先考虑的问题。对于有片外&(或片内&(较多的系统,在使用标准 编译器时可对任务进行如下标准定义:)*+,-,./01230,-4567 81961:;;!邮箱/01230,-4567 961:A)6),;!状态/01230,-4567 961:#7272)*;!优先级/01230,-20)961:92B,7;!时钟/01230,-4567#1,B+57,;!调语标志81961:;7:!961:C/0
8、4)20;!任务执行体上述任务中,邮箱用来在各任务间传递数据或执行功能,状态参数用来描述任务的当前状态,时钟挂在某一定时器上为任务计时用。图%层次结构流程图对于无片外&(且片内&(较少的系统,可简化上述定义。保留状态、时钟、任务执行体的定义,以队列方式描述固定优先级。具体实现方式如下:划分任务;各任务按优先级顺序排列;定义一字节整数!描述任务的几种状态。一般由中断!D第 E 期汪滢等F实时多任务机制在低功耗单片机系统中的最小实现驱动、时间驱动、消息驱动或两种方式的结合来完成不同任务的状态转换。任务调度程序采用循环执行方式,每次最多只执行一个任务。程序执行时从最高优先级的任务开始扫描各任务的状态
9、,发现状态值为!的任务时即执行该任务,任务执行后返回该任务的执行时间并将其自身关闭。开始另一轮的循环。系统框图如图 所示。图 优先级系统框图任务划分是系统实现的关键。首先,尽量缩短任务长度,使每个任务的运行时间都小于系统对输入作出响应的最大允许时间,以保证系统的实时性;其次,对需要互斥处理的功能可把可能发生互斥的操作放在一个任务中,或把控制使用该资源的功能作为一个任务,其它任务需使用该资源时,通过任务间通讯启动。如几个任务都需显示,可把显示驱动程序化为一个任务,其它任务执行结束后将显示任务置就绪态。在实际应用中,为满足系统实时性需要,某些任务可在中断中实现,但任务必须简洁。!实时多任务程序结构
10、在低功耗单片机中的典型应用低功耗热能测量系统要求如下:#$%单电池供电连续工作&年以上;测量进出户水的温度和流量计算用户所耗热能值并累加;显示相关数据。电池供电是该系统的主要特点。系统的另一特性是:计算量大、实时性强。需大量计算以求得温度、流量和热量;对热量和流量的累加,必须保证在输入脉冲频率为上限(如!())时也无漏算现象,同时系统的许多操作需人为插入延时,如从模拟电路上电到启动$*+等都需几毫秒到几十毫秒的延时。如采用常规结构设计,在输入脉冲达到上限值时,每,&-.就需累加一次,而此时间长度还不足以完成延时操作。因而软件采用基于优先级调度的层次结构设计。!#资源分配中断源和定时器是层次结构
11、设计中的两个重要硬件资源,具体分配如下:/!记录脉冲输入个数,两脉冲产生一次溢出,进行一次累加;/0 以捕捉方式测量瞬时流量;/,延时定时器,作为时间驱动的定时系统,定时频率为各任务延时频率的整数倍。!$任务划分根据系统要求和功能将应用程序划分为 0&个任务模块:累加、键处理、延时、瞬时流量计算、模拟电路上电、启动$*+、读$*+、计算入户温度传感器阻值、计算入户温度、计算出户温度传感器阻值、计算出户温度、计算温差、计算累加热能、存储、显示。为保证系统的实时性,任务长度均小于两次累加的最小间隔,&-.,为此将工作量较大的任务分解为多个子任务,如温度!的计算由两步完成;将需人为插入延时的操作以延
12、时点为界分为多个任务。!%任务调用方法本系统采用优先级调度算法。首先,按实时性要求,将所有任务排成一个有执行优先级的队列。累加任务的实时性要求最高(位于队首),显示任务的实时性要求最低(位于队尾)。对实时性相同的任务,以任务间驱动的先后为序,如计算入户温度任务需利用计算入户温度传感器阻值任务的结果,因而排在其后。任务的实际排序如任务划分部分所列。其次,用一个字节整数 来表示各任务的状态(运行态、就绪态、等待态、休闲态)。状态值#!表示该任务进入运行态或就绪态;0!,&表示该任务处于等待态;#,&表示该任务处于休闲态,只有在某个条件满足时方可进入等待态或就绪态,否则任务将始终处于关闭状态。!任务
13、间通讯基于任务的划分规则,系统中各任务间存在一定的联系。其一,一个任务可由另一个任务驱动,如模拟电路上电任务运行后将启动$*+任务投入就绪态;其二,任务间有数据传递,如计算入户温度传感器阻值任务将计算结果传给计算入户温度任务,两任务共同完成入户温度的计算。任务定义和调度程序如下:12.34256 7%89/8.:;782(页),化工 自 动 化 及 仪 表第,?卷浮物和颗粒物,并且设备有搅拌器连续转动,经常容易损坏表体膜盒。另外试剂含有己烷冷凝、结晶,造成测量误差,仪表根本无法正常使用。因此我们选用美国!#公司的射频导钠式液位计,采用柔性钢缆式加保护套,更换原有的单法兰差变,并且采用顶装法兰,
14、下面固定测量点的方法。另外此表校验非常简单,使用后测量十分稳定。改造原理图如图$所示。图%改造原理图!结论通过我们对聚乙烯装置催化剂液位计改造,使用后效果很好,仪表指示非常稳定,控制十分精确,达到了预期目的,满足工艺生产要求,从而保证了催化剂反应中各种试剂计量的准确性,确保了催化剂产品的质量,为后工段聚合反应奠定良好的基础。继续探索和研究各种新型液位仪表在催化剂液位测量的使用技术是我们努力的方向。图&改造原理图$!改造原理(上接第&页)()*(+,-;+.%/;+00)扫描状态为+((1234!5256+,-)-的任务7*624;*658*9+;返回状态为-的任务标号+:;+6(29();调任
15、务扫描子程序3:+5;(=8*6951234)执行状态为-的任务 236?=:累积任务?88236 DEFG:键处理任务D6HG*)633();1234!5256 DEFG,-A(;CI1=IJ#KCL,-;CI1=IJ#KCE,%;1234!5256 BC!,-;7*624;236:B62H5+6延时任务()*(+,-;+.%/;+00)#6M-,1234!5256+;+((#6M-!,-A()+((#6M-!,-)1234!5256+,#6M-N%;636 1234!5256+,-7*624;结束语将实时多任务机制引入低功耗单片机系统设计,有效提高低功耗单片机系统的处理能力,为实时、多功能
16、、多参数的低功耗单片机开发提供了全新的设计方法。因单片机自身资源的限制,目前还无法实现完全意义上的实时多任务操作,如系统为减少对#?O 的占用,均未采用抢占策略,即一个任务的运行无法被另一个任务终止。尽管如此,实时多任务程序带来的层次化设计方法仍为单片机低功耗设计提供了强有力的软件支持。P化工 自 动 化 及 仪 表第&Q 卷实时多任务机制在低功耗单片机系统中的最小实现实时多任务机制在低功耗单片机系统中的最小实现作者:汪滢,辛晓宁,袁德成作者单位:沈阳化工学院,自动化系,辽宁,沈阳,110021刊名:化工自动化及仪表英文刊名:CONTROL AND INSTRUMENTS IN CHEMICA
17、L INDUSTRY年,卷(期):2002,29(3)被引用次数:4次 相似文献(2条)相似文献(2条)1.会议论文 范伯宁.吴桐 实时多任务操作系统在计算机监测系统中的应用 19932.期刊论文 欧阳森.Ouyang Sen 智能电气设备专用实时多任务操作系统的设计-华南理工大学学报(自然科学版)2005,33(4)介绍了实时多任务操作系统的特点,并在对智能化电气设备的工作特点进行具体分析的基础上,设计了专用实时操作系统(S-RTOS).S-RTOS克服了传统的顺序结构软件代码结构复杂、可移植性和扩展性差的缺陷,并在实时性、资源控制、任务监控和中断处理等方面进行了增强设计.文中对S-RTOS的调度方式和任务划分等设计要点进行了详述,并通过实际应用验证了S-RTOS的核心调度程序.引证文献(4条)引证文献(4条)1.李萍 基于多CPU的油井作业监测系统的设计与实现期刊论文-化工自动化及仪表 2010(2)2.邹哲强 单片机抢占式实时多任务处理的简易实现方法期刊论文-工矿自动化 2009(12)3.高国胜.陈俊杰 单片机系统的实时多任务机制研究期刊论文-舰船电子工程 2009(8)4.刘媛媛.辛晓宁.汪滢 FF现场总线技术中基本类设备的最小实现期刊论文-仪器仪表学报 2003(z2)本文链接:http:/