CN102650954B - 一种基于实时任务的多次事件驱动多频数据通信方法 - Google Patents
一种基于实时任务的多次事件驱动多频数据通信方法 Download PDFInfo
- Publication number
- CN102650954B CN102650954B CN201110420766.1A CN201110420766A CN102650954B CN 102650954 B CN102650954 B CN 102650954B CN 201110420766 A CN201110420766 A CN 201110420766A CN 102650954 B CN102650954 B CN 102650954B
- Authority
- CN
- China
- Prior art keywords
- data
- task
- event
- driven
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Control By Computers (AREA)
Abstract
本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。在机载系统中,系统应用软件不但要保证系统任务在周期任务内顺利完成,国军标中还要求要有足够的时间余量才能保证异常情况下任务不会完全失效。特别是在无人驾驶类(如无人机、导弹等)系统中,飞行过程中还要对飞行数据通过遥测设备发送大量的数据,来获得飞行或监测数据,以进行分析或监控。由于受到飞行器上资源的限制,往往根据信号变化的快慢、信号的不同类型功能,按不同频率划分成多帧数据,要保证实时系统的实时性和周期任务的正常工作,使用传统的事件驱动方式发送数据就经常会发生数据时间错拍等可靠性降低,或者影响实时任务的正常工作,而此发明很好的解决了此类问题。
Description
技术领域
本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。
背景技术
控制计算机工作中有两项任务:即被控系统的周期性实时任务和多频率数据发送,在周期任务内完成任何一项任务都可以完成,但两项任务都要完成则会出现时间超时,解决此问题通常采用“多CPU控制系统”或“提高CPU工作速度和传输带宽”的工作方法,方法如下:
a)多CPU控制系统:即控制系统的一个CPU用来执行周期任务,另外一个CPU专门来发送数据来实现,这样硬件成本高,线路设计相对复杂,这是目前经常采用的方法。
b)提高CPU工作速度和传输带宽:即通过采用更高性能CPU和设置更高的数据传输速率,以缩短实时任务和数据发送任务执行时间来保证任务完成。航空用高性能CPU属于禁运产品,而较高的传输速率必然带来数据传输错误的提高,而对于航空系统数据传输错误,有时带来的问题也是致命的,此方法在国内航空领域一般都无法采用。
本发明的目的是:提出基于实时任务系统的,在有多频率数据发送的一种可靠性计算机高数据通信方法。
本发明的技术方案是:在这里设计了使用基于实时任务的多次事件驱动多频数据通信方法,其工作原理是:将一个执行过程中有闲散时间的任务,在时间上将其进行任务分解,分解的任务通过多次事件驱动完成,而将提取出的闲散时间用来执行其它任务。这种工作方式不是常规意义上的事件驱动方式,通常的事件驱动方式每建立一个任务,只产生一次事件驱动,其步骤如下:
1、选取事件驱动工作周期
a)计算控制计算机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)计算事件驱动服务任务周期
其中:Ts事件驱动服务的工作周期;
m控制计算机1秒中内事件驱动最少次数。
将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事件驱动任务。
e)计算应产生驱动事件次数
根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期任务各频率数据应该发送次数,计算公式为:
N=f*counter/F (4)
其中:N 某频率数据应该发送次数;
counter 小帧计数器(记录控制计算机已工作周期);
F 周期任务频率,单位:Hz;
f 数据发送频率,单位:Hz。
f)建立发送任务
设置各发送完成标志,在发送任务过程中设置为无效,发送任务完成后设置为有效。
当发送完成标志为有效时,根据(4)式计算出N值。与已发送任务计数器k比较;
当N〉k时,将已发送任务计数器k加一,发送完成标志置为无效,就建立数据发送任务;
否则不建立数据发送任务。
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时间,保证了周期任务的顺利完成。
Claims (1)
1.一种基于实时任务的多次事件驱动多频数据通信方法,其特征在于,包括如下步骤:
一、建立发送任务
a)计算控制计算机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)计算事件驱动服务任务周期
其中:Ts 事件驱动服务的工作周期;
m 控制计算机1秒中内事件驱动最少次数;
将根据(3)式计算出的Ts值作为事件驱动发送周期,在控制计算机中按照Ts设置事件驱动任务,即控制计算机工作后,每经过Ts时间启动事件驱动任务;
e)计算应产生驱动事件次数
根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期任务各频率数据应该发送次数,计算公式为:
N=f*counter/F (4)
其中:
f)建立发送任务
根据(4)式计算出N值,与已发送任务计数器k比较,当N〉k时,将已发送任务计数器加一,建立数据发送任务,否则,不建立数据发送任务;
二、数据的事件驱动发送
每当系统周期任务经过Ts长度时间则产生数据发送事件驱动服务;如果有数据发送任务,则启动完一个发送命令后,立即从事件驱动服务返回,继续执行实时系统周期任务,由硬件总线执行发送过程;如果没有数据发送事件,则直接从事件驱动服务返回,而继续执行实施系统周期任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420766.1A CN102650954B (zh) | 2011-12-13 | 2011-12-13 | 一种基于实时任务的多次事件驱动多频数据通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420766.1A CN102650954B (zh) | 2011-12-13 | 2011-12-13 | 一种基于实时任务的多次事件驱动多频数据通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102650954A CN102650954A (zh) | 2012-08-29 |
CN102650954B true CN102650954B (zh) | 2014-12-10 |
Family
ID=46692962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110420766.1A Expired - Fee Related CN102650954B (zh) | 2011-12-13 | 2011-12-13 | 一种基于实时任务的多次事件驱动多频数据通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102650954B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105300199B (zh) * | 2015-11-13 | 2017-01-18 | 北京电子工程总体研究所 | 用于导弹自动测试的rs‑422/485通讯测试监测装置及监测方法 |
CN110569114B (zh) * | 2019-08-15 | 2023-03-31 | 平安普惠企业管理有限公司 | 一种业务处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620535A (zh) * | 2009-07-29 | 2010-01-06 | 北京航空航天大学 | 一种机载计算机软件通用框架设计方法 |
CN101923493A (zh) * | 2010-09-21 | 2010-12-22 | 深圳市华力特电气股份有限公司 | 一种任务调度方法及任务调度设备 |
CN102169562A (zh) * | 2011-04-14 | 2011-08-31 | 泛太领时科技(北京)有限公司 | 一种项目计划处理方法及系统 |
-
2011
- 2011-12-13 CN CN201110420766.1A patent/CN102650954B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620535A (zh) * | 2009-07-29 | 2010-01-06 | 北京航空航天大学 | 一种机载计算机软件通用框架设计方法 |
CN101923493A (zh) * | 2010-09-21 | 2010-12-22 | 深圳市华力特电气股份有限公司 | 一种任务调度方法及任务调度设备 |
CN102169562A (zh) * | 2011-04-14 | 2011-08-31 | 泛太领时科技(北京)有限公司 | 一种项目计划处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102650954A (zh) | 2012-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452033B2 (en) | Process control system | |
DE112013003290B4 (de) | Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz | |
CN107566235A (zh) | 一种报文数据传输方法、装置及电动汽车 | |
CN107992394A (zh) | 实时数据处理的监控方法、装置、系统、设备及存储介质 | |
CN102650954B (zh) | 一种基于实时任务的多次事件驱动多频数据通信方法 | |
CN102521087B (zh) | 一种远程获取内核模块实时分级调试信息的方法 | |
CN102692572A (zh) | 一种基于时间可用度的飞机射频设备间电磁兼容性分析方法 | |
CN105007209B (zh) | 一种基于rs485的轮询通讯方法 | |
EP3413245A1 (en) | Vehicle wash assessment | |
CN103856344A (zh) | 一种告警事件信息处理方法及装置 | |
CN100493005C (zh) | 一种基于ttcan的燃料电池汽车整车通讯网络测试系统 | |
CN103077144A (zh) | 一种确保数据完整的spi通讯接口及其通讯方法 | |
CN102045255B (zh) | 民用小型飞机航空电子系统数据流控制方法 | |
WO2024060928A1 (zh) | 负载均衡方法和装置、数据交互方法和装置及系统、车辆 | |
CN110967591B (zh) | 一种导电滑环在线并行测试系统及测试方法 | |
CN105159815A (zh) | 高性能计算集群系统故障预测方法和装置 | |
CN102843607A (zh) | 机顶盒中进程状态监控方法 | |
CN104243246A (zh) | 一种基于ZigBee技术的FlexRay总线测试与优化方法及装置 | |
CN201037955Y (zh) | 一种基于ttcan的燃料电池汽车整车通讯网络测试装置 | |
CN102882697B (zh) | 一种基于回调机制的网管系统多客户端的消息接收方法 | |
CN109639545B (zh) | 多星测控平台系统的轻量级总线布置方法 | |
CN203872171U (zh) | 一种用于传输1553b总线信号的中继电路 | |
CN111169510A (zh) | 一种列车通信系统 | |
CN204360179U (zh) | 一种注塑机生产智能监控设备的装置 | |
CN203117968U (zh) | 一种spi通讯接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141210 Termination date: 20181213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |