一种基于多总线下vxworks多任务监控技术的方法

文档序号:6576064阅读:333来源:国知局
专利名称:一种基于多总线下vxworks多任务监控技术的方法
技术领域
本发明ー种基于多总线下vxworks多任务监控技术的方法属于航空电子技术领域。
背景技术
在VxWorks下应用软件开发时采用交叉开发模式,宿主机通常是普通的PC机,目标机就是应用程序真实的运行的硬件平台;集成开发环境Tornado位于宿主机,用户通过Tornado开发环境完成代码编写、编译、链接,宿主机与目标机通过分别位于其上的TargetServer和Target Agent实现信息交互,物理连接往往是串ロ或者网络,在开发调试过程中,用户将编译链接后的目标代码通过Target Server加载到目标机上运行,可以通过 Tornado下的Shell、Debugger、Browser以及Windview等工具监控目标机上应用程序任务的运行情况,应用程序使用Printf语句打印的调试信息回送到宿主机,借助打印信息和Tornado提供的各种调试工具,开发者可以监控任务的运行情况,当某个任务出错时,可以通过各种输出信息分析问题原因。但是一旦完成开发投入实际试验使用,由于实际使用环境和当初的开发调试环境有较大的区别,难免会出现各种异常情况,比较常见的异常就是任务挂起,在这种情况下开发者往往无法像在地面调试时那样可以外接调试电缆捕获异常信息,以确定发生异常的任务,也无法捕获开发者在开发过程中的辅助打印信息,这种情况在战斗机机载软件尤为常见。基于VxWorks的应用软件大多采用多任务方式,无法像以前没有操作系统的嵌入式系统那样,通过硬件看门狗电路,在软件运行出错时自动重启恢复软件运行,一个任务出错往往并不会引起操作系统重启,用户通过上层很难判断应用软件运行是否正常。因此需要建立软件看门狗机制,监控任务运行情况,在出现异常时记录必要的异常信息,自动重启设备。同时,需像开发阶段那样记录输出信息,以辅助分析异常原因。

发明内容
发明目的本发明的目的是提供ー种多总线多任务下的实时监控及处理方法,以前的监控方法主要是通过硬件看门狗电路的方法,能够解决单总线多任务的简单实时系统,对于多总线多任务的复杂实时系统,由于各任务间实时性要求更高,需要实时处理的数据量更大,若都使用硬件监控电路来实现,硬件电路复杂,成本高,降低了产品的可靠性。本发明的目的是提供一种针对解决多总线多任务情况下,使用硬件电路无法解决任务出错吋,不能复位或自动重启的软件解决方法。技术方案一种基于多总线下vxworks多任务监控技术的方法采取以下步骤—、选择并设置任务优先级,根据航空电子系统的不同使用需求对1553B总线通讯任务、以太网通讯任务、HDLC总线通讯任务、内总线通讯任务、RS-422总线通讯任务、ARINC-429总线通讯任务、监控任务进行选择并设置优先级;ニ、将监控任务的执行周期设置为T,其中0〈T〈1. 6s ;
三、对各工作任务分别设置ー个任务异常上限N,执行周期t,运行频率计数器num,其中 0〈t〈5s,N>t/T, num 初值为 0 ;四、以T为周期运行看门狗任务,每执行一次监控任务,对各工作任务的运行频率计数器num进行加I操作;五、各工作任务以各自执行周期t运行,当各工作任务正常执行完毕时分别对各自的num进行清零操作;六、在监控任务中分别对各工作任务num进行判断,看其是否达到任务异常上限N,如达到异常上限N,需针对不同异常任务执行 相应的硬件通道初始化或系统复位的异常处理操作,如果未达到异常上限N,则重复步骤四、五。本发明的有益效果通过软件监控多总线的任务处理的方法,提高了任务运行的实时性,降低了产品成本,提高了产品的可靠性。
具体实施例方式本发明的原理通过设置各总线任务下不同的计数变量,在各总线任务中清零该变量,在专门的监控任务下按I的码值递增上述各计数变量,各总线任务的运行周期都小于监控任务的运行周期,当监控任务下各总线任务的计数变量(正常应该为0)达到任务异常上限N,说明该总线任务已经出现异常,通过判断当前异常任务的重要度,执行重新初始化硬件接ロ或看门狗复位的操作。本发明ー种基于多总线下vxworks多任务监控技术的方法采取以下步骤一、选择并设置任务优先级,根据航空电子系统的不同使用需求对1553B总线通讯任务、以太网通讯任务、HDLC总线通讯任务、内总线通讯任务、RS-422总线通讯任务、ARINC-429总线通讯任务、监控任务进行选择并设置优先级;ニ、将监控任务的执行周期设置为T,其中0〈T〈1. 6s ;三、对各工作任务分别设置ー个任务异常上限N,执行周期t,运行频率计数器num,其中 0〈t〈5s,N>t/T, num 初值为 0 ;四、以T为周期运行监控任务,每执行一次监控任务,对各工作任务的运行频率计数器num进行加I操作;五、各工作任务以各自执行周期t运行,当各工作任务正常执行完毕时分别对各自的num进行清零操作;六、在监控任务中分别对各工作任务num进行判断,看其是否达到任务异常上限N,如达到异常上限N,需针对不同异常任务执行相应的硬件通道初始化或系统复位的异常处理操作,如果未达到异常上限N,则重复步骤四、五。实施例一软件代码实现如下
权利要求
1.一种基于多总线下vxworks多任务监控技术的方法,其特征在于,该方法采取以下步骤一、选择并设置各总线任务优先级,根据航空电子系统的不同使用需求对1553B总线通讯任务、以太网通讯任务、HDLC总线通讯任务、内总线通讯任务、RS-422A总线通讯任务、 ARINC-429总线通讯任务、监控任务进行选择并设置优先级;二、将监控任务的执行周期设置为T,其中0〈T〈1.6s ;三、对各工作任务分别设置一个任务异常上限N,执行周期t,运行频率计数器num,其中 0〈t〈5s,N>t/T, num 初值为 O ;四、以T为周期运行监控任务,每执行一次监控任务,对各工作任务的运行频率计数器 num进行加I操作;五、各工作任务以各自执行周期t运行,当各工作任务正常执行完毕时分别对各自的 num进行清零操作;六、在监控任务中分别对各工作任务num进行判断,看其是否达到任务异常上限N,如达到异常上限N,需针对不同异常任务执行相应的硬件通道初始化或系统复位的异常处理操作,如果未达到异常上限N,则重复步骤四、五。
全文摘要
本发明一种基于多总线下vxworks多任务监控技术的方法属于航空电子技术领域。本发明通过软件方式,实时监控各总线通讯任务的运行情况,当任务运行异常时,通过重新初始化总线接口或软件看门狗复位的方式,保证各任务能够恢复正常运行。本发明是针对vxworks系统的多任务运行情况进行实时监控,并对异常进行记录和处理,有效的解决了任务异常而无法进行分析的问题。本发明提高了多总线下各任务运行的实时性,提高了产品工作的可靠性,为飞机飞行后的日常维护、故障诊断,提供了保证,缩短了飞机再次出动的维护时间。
文档编号G06F11/30GK103019908SQ201210521418
公开日2013年4月3日 申请日期2012年12月7日 优先权日2012年12月7日
发明者陈志达, 熊春海, 关志刚, 陈放 申请人:陕西千山航空电子有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1