《单片机程序的限时服务策略及设计.pdf》由会员分享,可在线阅读,更多相关《单片机程序的限时服务策略及设计.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、!#年$月第!%卷第$期系统工程与电子技术&()*+(,-./-*0/-.1-2,3*4)05-/4(6578!#!953:!%65:$收稿日期:!;$=;修回日期:!#!。基金项目:福建省自然科学基金(?$!$);福建省教委项目基金(!$;A)资助课题作者简介:吴允平($B$),男,副教授,博士,主要研究方向为智能仪器系统。文章编号:$!=%C(!#)$!$%B!;单片机程序的限时服务策略及设计吴允平,蔡声镇,乐仁昌,苏伟达,吴进营,李汪彪(福建师范大学电子信息工程系,福建 福州;=B)摘要:针对单片机软件中由于任务超时导致的运行紊乱情况,提出了一种借助硬件的定时中断机制,只需只量资源就可实
2、现的限时服务处理方法,并针对顺序操作和任务操作两种情况进行详细说明。能够防止和解决程序中出现因条件不满足而无法退出功能模块,出现独占 DEF 时间,以及多任务机制下的任务重叠,使资源间相互干扰而出现死循环状态或运行状态错误等问题,从而提高系统的冗余度和可靠性。关键词:限时服务;单片机程序;多任务机制中图分类号:GH!文献标识码:?!#$%&($)*+#$)$(*,-*./$%*01,$(-022#$%0($1$1 345-(60.*,*-$71IF JK-LM/-.,E?N&O*-LPO*-.,Q,R*-L4O1-.,&F I*/L21,IF S/-L/-.,QN I1-.LT/15(!#$%
3、&(&)*+,-&%)(.-+(/.(%.(/,012.$(3)%$,4(.5%6.&7,0189)1:;9.($)89-(.0%(:G5 57*045+*)O*4O15(0*(K3)/-.U05+)O*)1(V 57*0)/+*/-DEF(5U)W10*,1 M53/4 5U)/+*L3/+/)*2(*0L7/4*WO/4O 2*M*-2(5-)/+*0 5U DEF/(T05K.O)U50W1028 N)544KM/*(1(+133 XK1-)/)5U 0*(5K04*(5U/-*0 DEF,1-241-T*1MM3/*2/-T5)O(*XK*-4*5M*01)/5-1-2+K3)/L)1
4、(V 104O/)*4)K0*)5 M057*-)DEF U05+544KM/-.)O*WO53*0K-/-.)/+*WO*-)O*45-2/)/5-)5*Y/)U05+)1(V/(-5)(1)/(U/*2 50)O*(1+*)1(V 57*031M(+/Y)O*(O10*2 0*(5K04*(,WO/4O 2*L)*0/501)*()O*()*+8:*&6.,-:)/+*L3/+/)*2(*07/4*;DEF(5U)W10*;+K3)/L)1(V 104O/)*4)K0*;引言在许多便携式仪器、工业控制过程中,单片机往往作为设计方案之一而得到广泛应用,但这类仪器系统在一些比较恶劣的环境下,容
5、易受到干扰(如电磁设备启动、停止,电源冲击等),从而影响系统的正常运行,甚至导致事故。所以,基于单片机的仪器系统的抗干扰及其扰后的自我恢复等方法,一直是工程技术人员关注的焦点。围绕着硬件和软件设计,也积累了许多解决方法$,!,这些方法相互结合,配合使用,确实提高了系统的可靠性与抗干扰性。但对某些未受到物理干扰(正常状态)的系统,仍然会出现一些类似于受扰后的运行特征。与受扰情形相比,这类现象具有偶然性、随机性、突发性等特点,更加隐蔽,也更不容易捕捉,主要是由于单片机软件设计中存在缺陷。例如,常见的单片机程序设计(如图$所示),主程序构成一个死循环,DEF 按照顺序执行代码(模块),如果其中一个模
6、块因某种条件不满足而无法退出,就会影响其它模块的顺序运行,即系统“死机”。另外,近年来借鉴计算机分时处理的思想,结合单片机的中断机制,在软件设计中采用多任务的体系结构,基于任务进行设计;ZB。这种方法提高了程序的可读性,调度灵活,程序扩充比较方便,但是,多个相同任务在执行时间上,如果不加以约束,也容易导致同一任务在执行时间上的交叉、重叠,所使用的资源互相干扰,从而影响系统的正常运行。图$常见的单片机程序设计流程图限时服务概念所谓限时服务,就是对程序中可能出现的因条件不满足而无法退出的一个模块、一个非正常结束的任务等,在运行时间上进行约束,将理论计算得到的最大时间跨度,作为这个模块或任务的最大执
7、行时间,如果超过了这个时间跨度,则强制退出(结束)本模块、本次任务,把!#的时间交付给下一个模块或恢复有关资源的初始状态,供下一次任务使用。!限时服务设计依据单片机程序的设计方法,限时服务可以大致分为两种:顺序操作的限时服务和基于任务的限时服务。图$是一种常规顺序操作的流程。在这种情形下,当外部条件不满足时,极易进入长时间循环等待状态,表现出“死机”的特征,影响整个系统的运行。例如:单片机的两个%&口模拟%$时序,以主&从模式对这种接口的从&主设备进行读写操作。图$常规的顺序操作流程图图(是改进的顺序操作流程。它借鉴限时服务概念,在原流程基础上,采用一个限时服务计时变量,对本模块运行时间计时。
8、此时,即使模块退出的条件不满足,但由于运行时间的约束,也可强制结束本模块,从而解决了其独占!#时间的问题。在多任务体系的程序系统中,某任务正常运行的状态如图)所示。图中!*+,-./为完成一次任务的时间,!01.*为两个相同任务之间的时间间隔,通常!01.*!2。任务 3(2),任务3(3),任务 3()尽管执行的次数不同,但任务性质、模块代码,包括使用的资源等均相同;由于执行时序上存在!01.*的时间间隔,这些资源在任务之间是相互独立的,保证了不同执行次序的任务不会相互干扰。图(顺序操作的限时服务流程图)多任务结构中某任务 3 的正常运行状态但当某个任务出现异常或非正常结束时,后一个任务在!
9、01.*后如期而至,前一个任务的资源内容有可能被当做当前任务的运行数据,从而影响运行结果,宏观上导致运行结果失败或错误,如图 4 所示。因此,必须对这些任务进行限时服务处理,一个任务所允许的运行时间(限时服务时间)!/5-56应该满足条件!*+,-./!/5-56!*+,-./#!01.*图 4多任务结构中某任务 3 受扰后的运行状态图 7基于任务的限时服务定时中断设计流程基于任务的限时服务设计流程如图 7、图 8 所示。借助单片机中的定时中断机制,每个任务分配计时单元和运行标志位,由定时中断依据运行标志位状态独立计时,任务正常完成时,运行标志位和计时单元均恢复到非运行状态描述。在主程序循环中
10、,任务的限时判断模块独立于原任务处理模块之外,如图 8 所示,它只是对任务运行的时间进行判断,如果计时单元超过了正常的运行时间,则将任务所使用的有关资源恢复到任务开始前的初始状态,供下一次任务使用,从而实现了对任务的限时服务,避免了任务之间的干扰。图 8基于任务的限时服务主程序设计流程应用实例图 9 是由双!#架构的主系统和手柄子系统构成的移动目标定位系统框图。主系统完成:;、:图形显示和键盘功能。显示的内容以及键盘操作等均通过?$($和主系统进行通讯完成,其中手柄子系统在应用时经常插拔。在软件设计时,根据限时服务思想,设计了串口通讯模块、%$接口 AA;?!模块、:;以及:!模块。实践结果表
11、明,无论子系统(手动)插拔的速度多快,次数多少,主系统和子系统均能可靠工作。(873第$7 卷第 33#期单片机程序的限时服务策略及设计图!移动目标定位系统结构框图!结束语本文提出的顺序操作和基于任务的限时服务策略,利用单片机的定时中断,只需少量资源,就可有效地提高单片机软件系统的抗干扰和容错、纠错能力;设计方案独立于任务处理模块之外,不干扰、不影响任务的运行结果,切实可行。在福建航道局航标灯监控系统中的应用表明,这种设计有效地提高了系统的稳定性、可靠性,具有一定的应用和推广价值。参考文献:何立民#$%&(系列单片机应用系统设计$#北京:北京航空航天大学出版社,)*+,周航慈#单片机程序设计技
12、术$#北京:北京航空航天大学出版社,)-+.薛天宇#一种实时多任务系统软件设计方法/#电子技术应用,,*(0):1(+0梁景新,何晨,诸鸿文#小型静态实时多任务架构/#系统工程与电子技术,,*(-):2)1-+(张秋菊,王凤贺#多任务调度算法在单片机控制系统中的应用/#光电对抗与无源干扰,,*,(.):,.1,(+2李雅梅,杨顺,李新春#单片微机多任务处理能力分析/#辽宁工程技术大学学报(自然科学版),,*,(.):.0,1.0.+-蒋翔#单片机程序设计中运用事件驱动机制/#电子技术应用,,*,(-):!,!1.*+(上接第(!-页)图(五通道复用的脉冲丢失概率如取脉冲丢失概率为*3作为一个判
13、据,可获得如表 所示的数据。由表 可看出通道复用技术所带来的好处,复用通道数越多,好处越大。表 脉冲丢失概率为#!的!的值复用通道数!值独立通道的等效数*+,0 2,*+)-.0+(0.+)(!+),00,+),*-.+2(.+)2 2!+022(+*,.-,.+0根据设计的系统需要在*3脉冲丢失概率情况下,模拟的信号密度为,2 万脉冲45。现各频段的直接频率合器(66&)平均通道占用时间的分配和得出所需的通道数如表,所示。表$模拟的信号密度频段 4789直接频率合器通道数平均通道占用时间 45所模拟的信号密度*+*(:*+(,*)+-.;*0*+(:,(*.2+22;*0,:!(*.2+22
14、;*0!:!00-.+*-;*0!:,2+(,+02;*0,2+(:0*,0!+!2;*0!结束语本文运用随机过程理论和概率统计方法分析单通道情况下的脉冲丢失概率,得出了雷达信号脉冲的丢失概率与脉冲信号流密度和通道的占用时间之间的关系式。进一步研究了通道配置与脉冲丢失概率的关系,为了达到设计系统的雷达脉冲信号的密度和丢失概率,在进行半实物仿真时,需要增加雷达信号脉冲流发射的通道数,通过研究给出了在某些频段上需要的通道数。参考文献:帕普力斯?ABB C D+CEFEG 5=HIEB 5=JKBE=LI$+A?8LK5A MI?+,)-2+0N=BAO C 7+PBA?GLI=?=IABB=HAI
15、?A +QA EIEBO5=5 LR GEFEG 5=HIEB$+A?8LK5A,)!,+(A5 GKSO EII=TAG5EGO/+/PU,)!+2&=JKBE=LI LR ABA?GLI=?LKIAGJAE5KGA A?I=VKA5 C+UU*!)(,+-胡来招+多信号环境下脉冲丢失概率的研究/+电子对抗,,*,+0-2系统工程与电子技术,*0 年单片机程序的限时服务策略及设计单片机程序的限时服务策略及设计作者:吴允平,蔡声镇,乐仁昌,苏伟达,吴进营,李汪彪作者单位:福建师范大学电子信息工程系,福建,福州,350007刊名:系统工程与电子技术英文刊名:SYSTEMS ENGINEERING
16、 AND ELECTRONICS年,卷(期):2004,26(11)被引用次数:8次 参考文献(7条)参考文献(7条)1.何立民 MCS-51系列单片机应用系统设计 19902.周航慈 单片机程序设计技术 19973.薛天宇 一种实时多任务系统软件设计方法期刊论文-电子技术应用 2001(04)4.梁景新.何晨.诸鸿文 小型静态实时多任务架构期刊论文-系统工程与电子技术 2001(07)5.张秋菊.王凤贺 多任务调度算法在单片机控制系统中的应用期刊论文-光电对抗与无源干扰 2002(03)6.李雅梅.杨顺.李新春 单片微机多任务处理能力分析期刊论文-辽宁工程技术大学学报(自然科学版)2002(
17、03)7.蒋翔 单片机程序设计中运用事件驱动机制期刊论文-电子技术应用 2002(07)引证文献(8条)引证文献(8条)1.唐蓉.庹先国.奚大顺.石会路.王洪辉.穆克亮 多MCU应用系统的构架方法期刊论文-实验科学与技术 2009(1)2.吴允平.蔡声镇.李国祥.李汪彪.杜杨文.苏伟达.林亿芳.吴进营.卢宇 三峡库区航标遥测终端系统的几个关键问题期刊论文-微计算机应用 2007(12)3.吴允平.蔡声镇.苏伟达.吴进营.李汪彪 单片机软件死锁问题和配置技术设计探讨期刊论文-遥测遥控 2006(3)4.吴允平.蔡声镇.苏伟达.吴进营.李汪彪 51单片机系统的扩展多串口设计及应用期刊论文-福建师范大学学报(自然科学版)2006(2)5.吴允平.蔡声镇.李汪彪.苏伟达.吴进营 基于单片机的航标终端系统期刊论文-电子测量技术 2006(4)6.吴允平.蔡声镇.苏伟达.吴进营 PIC16f87x单片机串口任务设计及应用期刊论文-仪器仪表用户 2005(4)7.双MCU架构航标监控终端的研制期刊论文-微电子学与计算机 2005(10)8.蔡声镇.吴允平.吴进营.苏伟达.李汪彪 基于GSM/GPRS和嵌入式技术的环保监控系统期刊论文-福建师范大学学报(自然科学版)2005(3)本文链接:http:/
限制150内