一种基于实时任务的多次事件驱动多频数据通信方法.pdf

上传人:g**** 文档编号:4059121 上传时间:2018-08-13 格式:PDF 页数:8 大小:402.08KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110420766.1

申请日:

2011.12.13

公开号:

CN102650954A

公开日:

2012.08.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/46申请日:20111213|||公开

IPC分类号:

G06F9/46

主分类号:

G06F9/46

申请人:

中国航空工业第六一八研究所

发明人:

佘刚; 马永忠

地址:

710065 陕西省西安市电子一路92号

优先权:

专利代理机构:

中国航空专利中心 11008

代理人:

高原

PDF下载: PDF下载
内容摘要

本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。在机载系统中,系统应用软件不但要保证系统任务在周期任务内顺利完成,国军标中还要求要有足够的时间余量才能保证异常情况下任务不会完全失效。特别是在无人驾驶类(如无人机、导弹等)系统中,飞行过程中还要对飞行数据通过遥测设备发送大量的数据,来获得飞行或监测数据,以进行分析或监控。由于受到飞行器上资源的限制,往往根据信号变化的快慢、信号的不同类型功能,按不同频率划分成多帧数据,要保证实时系统的实时性和周期任务的正常工作,使用传统的事件驱动方式发送数据就经常会发生数据时间错拍等可靠性降低,或者影响实时任务的正常工作,而此发明很好的解决了此类问题。

权利要求书

1.一种基于实时任务的多次事件驱动多频数据通信方法,其特征在
于,包括如下步骤:
一、建立发送任务
a)计算控制计算机1秒中内要发送的不同频率全部数据个数
B = Σ i = 1 n f i * n i - - - ( 1 ) ]]>
其中:B控制计算机1秒钟内要发送的不同频率全部数据个数;
fi第i帧数据发送频率;
ni第i帧数据发送个数;
n总的数据帧数。
b)设置总线发送速率
设置总线传输速率为满足系统要求的总线工作标准波特率,其速率
不小于(1)式计算出的B值数据量的传输。
c)选取1秒中内事件驱动最少次数m
m的大小选取(1.2-1.3)B比较合适,即:
m=(1.2-1.3)B    (2)
d)计算事件驱动服务任务周期
T s = 1 B = 1 1.2 * m - - - ( 3 ) ]]>
其中:Ts  事件驱动服务的工作周期;
      m   控制计算机1秒中内事件驱动最少次数。
将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机
中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事
件驱动任务。
e)计算应产生驱动事件次数
根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计
算当前周期任务各频率数据应该发送次数,计算公式为:
N=f*counter/F(4)
其中:N        某频率数据应该发送次数;
      counter  小帧计数器(记录控制计算机已工作周期);
      F        周期任务频率,单位:Hz;
f    数据发送频率,单位:Hz。
f)建立发送任务
根据(4)式计算出N值,与已发送任务计数器n比较,当N>n时,
将已发送任务计数器加一,建立数据发送任务,否则,不建立数据发送
任务。
二、数据的事件驱动发送
每当系统周期任务经过Ts长度时间则产生数据发送事件驱动服务。
如果有数据发送任务,则启动完一个发送命令后,立即从事件驱动服务
返回,继续执行实时系统周期任务,由硬件总线执行发送过程;如果没
有数据发送事件,则直接从事件驱动服务返回,而继续执行实施系统周
期任务。

说明书

一种基于实时任务的多次事件驱动多频数据通信方法

技术领域

本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。 

背景技术

控制计算机工作中有两项任务:即被控系统的周期性实时任务和多频率数据发送,在周期任务内完成任何一项任务都可以完成,但两项任务都要完成则会出现时间超时,解决此问题通常采用“多CPU控制系统”或“提高CPU工作速度和传输带宽”的工作方法,方法如下: 

a)多CPU控制系统:即控制系统的一个CPU用来执行周期任务,另外一个CPU专门来发送数据来实现,这样硬件成本高,线路设计相对复杂,这是目前经常采用的方法。 

b)提高CPU工作速度和传输带宽:即通过采用更高性能CPU和设置更高的数据传输速率,以缩短实时任务和数据发送任务执行时间来保证任务完成。航空用高性能CPU属于禁运产品,而较高的传输速率必然带来数据传输错误的提高,而对于航空系统数据传输错误,有时带来的问题也是致命的,此方法在国内航空领域一般都无法采用。 

本发明的目的是:提出基于实时任务系统的,在有多频率数据发送的一种可靠性计算机高数据通信方法。 

本发明的技术方案是:在这里设计了使用基于实时任务的多次事件驱动多频数据通信方法,其工作原理是:将一个执行过程中有闲散时间的任务,在时间上将其进行任务分解,分解的任务通过多次事件驱动完成,而将提取出的闲散时间用来执行其它任务。这种工作方式不是常规意义上的事件驱动方式,通常的事件驱动方式每建立一个任务,只产生一次事件驱动,其步骤如下: 

1、选取事件驱动工作周期 

a)计算控制计算机1秒中内要发送的不同频率全部数据个数 

B = Σ i = 1 n f i * n i - - - ( 1 ) ]]>

其中:B控制计算机1秒钟内要发送的不同频率全部数据个数; 

fi第i帧数据发送频率; 

ni第i帧数据发送个数; 

n总的数据帧数。 

b)设置总线发送速率 

设置总线传输速率为满足系统要求的总线工作标准波特率,其速率应不小于(1)式计算出的B值数据量的传输,否则数据传输带宽过小,必须考虑重新设定发送频率,或者减少发送的数据,保证发送任务的实现。 

c)选取1秒中内事件驱动最少次数m 

为保证发送任务的正确执行,又不至于使事件驱动次数过于频繁而影响系统任务的正常执行,经过实验表明m的大小选取(1.2-1.3)B比较合适,即: 

m=(1.2-1.3)B    (2) 

d)计算事件驱动服务任务周期 

T s = 1 B = 1 1.2 * m - - - ( 3 ) ]]>

其中:Ts   事件驱动服务的工作周期; 

      m    控制计算机1秒中内事件驱动最少次数。 

将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事件驱动任务。 

e)计算应产生驱动事件次数 

根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期任务各频率数据应该发送次数,计算公式为: 

N=f*counter/F  (4) 

其中:N        某频率数据应该发送次数; 

      counter  小帧计数器(记录控制计算机已工作周期); 

      F        周期任务频率,单位:Hz; 

      f        数据发送频率,单位:Hz。 

f)建立发送任务 

设置各发送完成标志,在发送任务过程中设置为无效,发送任务完 成后设置为有效。 

当发送完成标志为有效时,根据(4)式计算出N值。与已发送任务计数器n比较; 

当N>n时,将已发送任务计数器n加一,发送完成标志置为无效,就建立数据发送任务; 

否则不建立数据发送任务。 

2、数据的事件驱动发送 

数据的多次事件驱动发送的执行过程示意图如图2所示,每当系统周期任务经过Ts长度时间则产生数据发送事件驱动服务。如果有数据发送任务,则启动完一个发送命令后,立即从事件驱动服务返回,继续执行系统周期任务,由硬件总线执行发送过程;如果没有数据发送事件,则直接从事件驱动服务返回,而继续执行系统周期任务。 

其周期任务可分配时间为: 

Tp=T1+T2+…+T(n-1)+T0; 

数据发送占用时间为: 

Ti=t1+t2+…+tn。 

本发明的优点是:硬件资源要求较少,只需要单一总线接口;数据传输的可靠性高,降低了传输速率;延迟等待时间充分利用,该方法,在数据发送事件驱动服务中在执行完发送命令后就直接退出,利用延迟时间片去执行周期任务程序,因此将延迟时间段充分利用。该方法简单,对硬件资源要求较少,易于实现。能满足目前记载系统数据多频率发送要求。 

附图说明

图1:本发明流程图 

图2:数据的多次事件驱动发送的执行过程示意图 

图3:一个实时控制系统组成示意图 

具体实施方式

下面对本发明做进一步详细说明。基于实时任务的多次事件驱动多频数据通信方法,进行数据传输。 

如图3,一个实时控制系统,控制计算机通过周期任务实现对被控系统的实时控制,控制计算机由总线系统通过事件驱动发送系统数据,监 控系统接收实现对被控系统的监控。 

在一个如下条件的实时控制系统中: 

实时任务周期T:20ms,小帧计数器Counter=70,控制计算机工作主频30MHz,发送一个数据0.8ms,发送如下不同频率和长度的两包数据: 

  序号   数据包发送频率   数据包长度   1   2   30   2   5   50

其步骤如下: 

1、选取事件驱动工作周期 

a)计算控制计算机1秒中内要发送的不同频率全部数据个数 

B=2*30+5*50=310 

b)设置总线发送速率 

设置总线传输速率为满足系统要求的总线工作标准波特率,其速率应不B值数据量的传输,否则数据传输带宽过小,必须考虑重新设定发送频率,或者减少发送的数据,保证发送任务的实现。 

c)选取1秒中内事件驱动最少次数m 

为保证发送任务的正确执行,又不至于使事件驱动次数过于频繁而影响系统任务的正常执行选取: 

m=1.2*310=372 

d)计算事件驱动服务任务周期 

Ts=1/372=0.0026ms 

将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事件驱动任务。 

e)计算应产生驱动事件次数 

根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期任务各频率数据应该发送次数,计算公式为: 

N1=2*70/20=7   (4) 

N2=5*70/20=17.5 

f)建立发送任务 

N值与已发送任务计数器比较; 

系统工作后,Counter、N1、n1、N2、n2的初始值均为0,当Counter自动累加到70时,频率为2的数据N1=7,此时n1=6,将频率为2的数据包已发送任务计数n1器加一,建立数据发送任务,频率为5的数据包在Counter=68时已建立数据发送任务N2=n2,此时不再建立数据发送任务。 

2、数据的事件驱动发送 

数据的多次事件驱动发送的执行过程示意图如图2所示,每当系统周期任务经过0.0026ms长度时间则产生数据发送事件驱动服务,发送两个数据包数据,每次事件驱动发送占用时间0.0001s。 

其周期任务新增可分配时间为: 

Tp=0.0007*372/50=0.005208s; 

数据发送占用时间为: 

Ti=0.0001*372/50=0.000744s; 

由于周期任务节省了0.005208s时间,保证了周期任务的顺利完成。采用常规的事件驱动工作方式其周期任务可分配时间为。

一种基于实时任务的多次事件驱动多频数据通信方法.pdf_第1页
第1页 / 共8页
一种基于实时任务的多次事件驱动多频数据通信方法.pdf_第2页
第2页 / 共8页
一种基于实时任务的多次事件驱动多频数据通信方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种基于实时任务的多次事件驱动多频数据通信方法.pdf》由会员分享,可在线阅读,更多相关《一种基于实时任务的多次事件驱动多频数据通信方法.pdf(8页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102650954 A(43)申请公布日 2012.08.29CN102650954A*CN102650954A*(21)申请号 201110420766.1(22)申请日 2011.12.13G06F 9/46(2006.01)(71)申请人中国航空工业第六一八研究所地址 710065 陕西省西安市电子一路92号(72)发明人佘刚 马永忠(74)专利代理机构中国航空专利中心 11008代理人高原(54) 发明名称一种基于实时任务的多次事件驱动多频数据通信方法(57) 摘要本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。在机载系统中,系统应用软件不但要保。

2、证系统任务在周期任务内顺利完成,国军标中还要求要有足够的时间余量才能保证异常情况下任务不会完全失效。特别是在无人驾驶类(如无人机、导弹等)系统中,飞行过程中还要对飞行数据通过遥测设备发送大量的数据,来获得飞行或监测数据,以进行分析或监控。由于受到飞行器上资源的限制,往往根据信号变化的快慢、信号的不同类型功能,按不同频率划分成多帧数据,要保证实时系统的实时性和周期任务的正常工作,使用传统的事件驱动方式发送数据就经常会发生数据时间错拍等可靠性降低,或者影响实时任务的正常工作,而此发明很好的解决了此类问题。(51)Int.Cl.权利要求书1页 说明书4页 附图2页(19)中华人民共和国国家知识产权局。

3、(12)发明专利申请权利要求书 1 页 说明书 4 页 附图 2 页1/1页21.一种基于实时任务的多次事件驱动多频数据通信方法,其特征在于,包括如下步骤:一、建立发送任务a)计算控制计算机1秒中内要发送的不同频率全部数据个数其中:B控制计算机1秒钟内要发送的不同频率全部数据个数;fi第i帧数据发送频率;ni第i帧数据发送个数;n总的数据帧数。b)设置总线发送速率设置总线传输速率为满足系统要求的总线工作标准波特率,其速率不小于(1)式计算出的B值数据量的传输。c)选取1秒中内事件驱动最少次数mm的大小选取(1.2-1.3)B比较合适,即:m(1.2-1.3)B (2)d)计算事件驱动服务任务周。

4、期其中:Ts事件驱动服务的工作周期;m控制计算机1秒中内事件驱动最少次数。将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事件驱动任务。e)计算应产生驱动事件次数根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期任务各频率数据应该发送次数,计算公式为:Nf*counter/F(4)其中:N某频率数据应该发送次数;counter 小帧计数器(记录控制计算机已工作周期);F周期任务频率,单位:Hz;f数据发送频率,单位:Hz。f)建立发送任务根据(4)式计算出N值,与已发送任务计数器n比较,当Nn时,。

5、将已发送任务计数器加一,建立数据发送任务,否则,不建立数据发送任务。二、数据的事件驱动发送每当系统周期任务经过Ts长度时间则产生数据发送事件驱动服务。如果有数据发送任务,则启动完一个发送命令后,立即从事件驱动服务返回,继续执行实时系统周期任务,由硬件总线执行发送过程;如果没有数据发送事件,则直接从事件驱动服务返回,而继续执行实施系统周期任务。权 利 要 求 书CN 102650954 A1/4页3一种基于实时任务的多次事件驱动多频数据通信方法 技术领域0001 本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。 背景技术0002 控制计算机工作中有两项任务:即被控系统的周期性实时任。

6、务和多频率数据发送,在周期任务内完成任何一项任务都可以完成,但两项任务都要完成则会出现时间超时,解决此问题通常采用“多CPU控制系统”或“提高CPU工作速度和传输带宽”的工作方法,方法如下: 0003 a)多CPU控制系统:即控制系统的一个CPU用来执行周期任务,另外一个CPU专门来发送数据来实现,这样硬件成本高,线路设计相对复杂,这是目前经常采用的方法。 0004 b)提高CPU工作速度和传输带宽:即通过采用更高性能CPU和设置更高的数据传输速率,以缩短实时任务和数据发送任务执行时间来保证任务完成。航空用高性能CPU属于禁运产品,而较高的传输速率必然带来数据传输错误的提高,而对于航空系统数据。

7、传输错误,有时带来的问题也是致命的,此方法在国内航空领域一般都无法采用。 0005 本发明的目的是:提出基于实时任务系统的,在有多频率数据发送的一种可靠性计算机高数据通信方法。 0006 本发明的技术方案是:在这里设计了使用基于实时任务的多次事件驱动多频数据通信方法,其工作原理是:将一个执行过程中有闲散时间的任务,在时间上将其进行任务分解,分解的任务通过多次事件驱动完成,而将提取出的闲散时间用来执行其它任务。这种工作方式不是常规意义上的事件驱动方式,通常的事件驱动方式每建立一个任务,只产生一次事件驱动,其步骤如下: 0007 1、选取事件驱动工作周期 0008 a)计算控制计算机1秒中内要发送。

8、的不同频率全部数据个数 0009 0010 其中:B控制计算机1秒钟内要发送的不同频率全部数据个数; 0011 fi第i帧数据发送频率; 0012 ni第i帧数据发送个数; 0013 n总的数据帧数。 0014 b)设置总线发送速率 0015 设置总线传输速率为满足系统要求的总线工作标准波特率,其速率应不小于(1)式计算出的B值数据量的传输,否则数据传输带宽过小,必须考虑重新设定发送频率,或者减少发送的数据,保证发送任务的实现。 0016 c)选取1秒中内事件驱动最少次数m 0017 为保证发送任务的正确执行,又不至于使事件驱动次数过于频繁而影响系统任务的正常执行,经过实验表明m的大小选取(1。

9、.2-1.3)B比较合适,即: 说 明 书CN 102650954 A2/4页40018 m(1.2-1.3)B (2) 0019 d)计算事件驱动服务任务周期 0020 0021 其中:Ts事件驱动服务的工作周期; 0022 m控制计算机1秒中内事件驱动最少次数。 0023 将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事件驱动任务。 0024 e)计算应产生驱动事件次数 0025 根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期任务各频率数据应该发送次数,计算公式为: 0026 Nf*co。

10、unter/F (4) 0027 其中:N某频率数据应该发送次数; 0028 counter 小帧计数器(记录控制计算机已工作周期); 0029 F周期任务频率,单位:Hz; 0030 f数据发送频率,单位:Hz。 0031 f)建立发送任务 0032 设置各发送完成标志,在发送任务过程中设置为无效,发送任务完 成后设置为有效。 0033 当发送完成标志为有效时,根据(4)式计算出N值。与已发送任务计数器n比较; 0034 当Nn时,将已发送任务计数器n加一,发送完成标志置为无效,就建立数据发送任务; 0035 否则不建立数据发送任务。 0036 2、数据的事件驱动发送 0037 数据的多次事。

11、件驱动发送的执行过程示意图如图2所示,每当系统周期任务经过Ts长度时间则产生数据发送事件驱动服务。如果有数据发送任务,则启动完一个发送命令后,立即从事件驱动服务返回,继续执行系统周期任务,由硬件总线执行发送过程;如果没有数据发送事件,则直接从事件驱动服务返回,而继续执行系统周期任务。 0038 其周期任务可分配时间为: 0039 TpT1+T2+T(n-1)+T0; 0040 数据发送占用时间为: 0041 Tit1+t2+tn。 0042 本发明的优点是:硬件资源要求较少,只需要单一总线接口;数据传输的可靠性高,降低了传输速率;延迟等待时间充分利用,该方法,在数据发送事件驱动服务中在执行完发。

12、送命令后就直接退出,利用延迟时间片去执行周期任务程序,因此将延迟时间段充分利用。该方法简单,对硬件资源要求较少,易于实现。能满足目前记载系统数据多频率发送要求。 附图说明说 明 书CN 102650954 A3/4页50043 图1:本发明流程图 0044 图2:数据的多次事件驱动发送的执行过程示意图 0045 图3:一个实时控制系统组成示意图 具体实施方式0046 下面对本发明做进一步详细说明。基于实时任务的多次事件驱动多频数据通信方法,进行数据传输。 0047 如图3,一个实时控制系统,控制计算机通过周期任务实现对被控系统的实时控制,控制计算机由总线系统通过事件驱动发送系统数据,监 控系统。

13、接收实现对被控系统的监控。 0048 在一个如下条件的实时控制系统中: 0049 实时任务周期T:20ms,小帧计数器Counter70,控制计算机工作主频30MHz,发送一个数据0.8ms,发送如下不同频率和长度的两包数据: 0050 序号 数据包发送频率 数据包长度1 2 302 5 500051 其步骤如下: 0052 1、选取事件驱动工作周期 0053 a)计算控制计算机1秒中内要发送的不同频率全部数据个数 0054 B2*30+5*50310 0055 b)设置总线发送速率 0056 设置总线传输速率为满足系统要求的总线工作标准波特率,其速率应不B值数据量的传输,否则数据传输带宽过小。

14、,必须考虑重新设定发送频率,或者减少发送的数据,保证发送任务的实现。 0057 c)选取1秒中内事件驱动最少次数m 0058 为保证发送任务的正确执行,又不至于使事件驱动次数过于频繁而影响系统任务的正常执行选取: 0059 m1.2*310372 0060 d)计算事件驱动服务任务周期 0061 Ts1/3720.0026ms 0062 将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事件驱动任务。 0063 e)计算应产生驱动事件次数 0064 根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期。

15、任务各频率数据应该发送次数,计算公式为: 0065 N12*70/207 (4) 0066 N25*70/2017.5 0067 f)建立发送任务 0068 N值与已发送任务计数器比较; 说 明 书CN 102650954 A4/4页60069 系统工作后,Counter、N1、n1、N2、n2的初始值均为0,当Counter自动累加到70时,频率为2的数据N17,此时n16,将频率为2的数据包已发送任务计数n1器加一,建立数据发送任务,频率为5的数据包在Counter68时已建立数据发送任务N2n2,此时不再建立数据发送任务。 0070 2、数据的事件驱动发送 0071 数据的多次事件驱动发。

16、送的执行过程示意图如图2所示,每当系统周期任务经过0.0026ms长度时间则产生数据发送事件驱动服务,发送两个数据包数据,每次事件驱动发送占用时间0.0001s。 0072 其周期任务新增可分配时间为: 0073 Tp0.0007*372/500.005208s; 0074 数据发送占用时间为: 0075 Ti0.0001*372/500.000744s; 0076 由于周期任务节省了0.005208s时间,保证了周期任务的顺利完成。采用常规的事件驱动工作方式其周期任务可分配时间为。说 明 书CN 102650954 A1/2页7图1说 明 书 附 图CN 102650954 A2/2页8图2图3说 明 书 附 图CN 102650954 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1