专利名称:一种基于实时任务的多次事件驱动多频数据通信方法
技术领域:
本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。
背景技术:
控制计算机工作中有两项任务即被控系统的周期性实时任务和多频率数据发送,在周期任务内完成任何一项任务都可以完成,但两项任务都要完成则会出现时间超吋,解决此问题通常采用“多CPU控制系统”或“提高CPU工作速度和传输带宽”的工作方法,方法如下a)多CPU控制系统即控制系统的ー个CPU用来执行周期任务,另外ー个CPU专门来发送数据来实现,这样硬件成本高,线路设计相对复杂,这是目前经常采用的方法。b)提高CPU工作速度和传输带宽即通过采用更高性能CPU和设置更高的数据传输速率,以缩短实时任务和数据发送任务执行时间来保证任务完成。航空用高性能CPU属于禁运产品,而较高的传输速率必然带来数据传输错误的提高,而对于航空系统数据传输错误,有时带来的问题也是致命的,此方法在国内航空领域一般都无法采用。本发明的目的是提出基于实时任务系统的,在有多频率数据发送的一种可靠性计算机高数据通信方法。本发明的技术方案是在这里设计了使用基于实时任务的多次事件驱动多频数据通信方法,其工作原理是将ー个执行过程中有闲散时间的任务,在时间上将其进行任务分解,分解的任务通过多次事件驱动完成,而将提取出的闲散时间用来执行其它任务。这种エ作方式不是常规意义上的事件驱动方式,通常的事件驱动方式每建立一个任务,只产生ー次事件驱动,其步骤如下I、选取事件驱动工作周期a)计算控制计算机I秒中内要发送的不同频率全部数据个数
权利要求
1.一种基于实时任务的多次事件驱动多频数据通信方法,其特征在于,包括如下步骤 一、建立发送任务 a)计算控制计算机I秒中内要发送的不同频率全部数据个数 B = ⑴ 其中B控制计算机I秒钟内要发送的不同频率全部数据个数; も第i帧数据发送频率; Hi第i帧数据发送个数; n总的数据帧数。
b)设置总线发送速率 设置总线传输速率为满足系统要求的总线工作标准波特率,其速率不小于(I)式计算出的B值数据量的传输。
c)选取I秒中内事件驱动最少次数m m的大小选取(I. 2-1. 3)B比较合适,即 m = (I. 2-1. 3)B (2) d)计算事件驱动服务任务周期 Ts = — =--( 3 ) B 1.2*m 其中=Ts事件驱动服务的工作周期;m控制计算机I秒中内事件驱动最少次数。
将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事件驱动任务。
e)计算应产生驱动事件次数 根据每ー帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期任务各频率数据应该发送次数,计算公式为N = f*counter/F (4) 其中N某频率数据应该发送次数; counter小巾贞计数器(记录控制计算机已工作周期); F周期任务频率,単位Hz ; f 数据发送频率,単位Hz。
f)建立发送任务 根据(4)式计算出N值,与已发送任务计数器n比较,当N>n吋,将已发送任务计数器加一,建立数据发送任务,否则,不建立数据发送任务。
ニ、数据的事件驱动发送 每当系统周期任务经过Ts长度时间则产生数据发送事件驱动服务。如果有数据发送任务,则启动完ー个发送命令后,立即从事件驱动服务返回,继续执行实时系统周期任务,由硬件总线执行发送过程;如果没有数据发送事件,则直接从事件驱动服务返回,而继续执行实施系统周期任务。
全文摘要
本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。在机载系统中,系统应用软件不但要保证系统任务在周期任务内顺利完成,国军标中还要求要有足够的时间余量才能保证异常情况下任务不会完全失效。特别是在无人驾驶类(如无人机、导弹等)系统中,飞行过程中还要对飞行数据通过遥测设备发送大量的数据,来获得飞行或监测数据,以进行分析或监控。由于受到飞行器上资源的限制,往往根据信号变化的快慢、信号的不同类型功能,按不同频率划分成多帧数据,要保证实时系统的实时性和周期任务的正常工作,使用传统的事件驱动方式发送数据就经常会发生数据时间错拍等可靠性降低,或者影响实时任务的正常工作,而此发明很好的解决了此类问题。
文档编号G06F9/46GK102650954SQ20111042076
公开日2012年8月29日 申请日期2011年12月13日 优先权日2011年12月13日
发明者佘刚, 马永忠 申请人:中国航空工业第六一八研究所