发明名称 一种基于实时任务的多次事件驱动多频数据通信方法
摘要 本发明属于计算机通信技术,涉及对多频率信号实时发送方法的改进。在机载系统中,系统应用软件不但要保证系统任务在周期任务内顺利完成,国军标中还要求要有足够的时间余量才能保证异常情况下任务不会完全失效。特别是在无人驾驶类(如无人机、导弹等)系统中,飞行过程中还要对飞行数据通过遥测设备发送大量的数据,来获得飞行或监测数据,以进行分析或监控。由于受到飞行器上资源的限制,往往根据信号变化的快慢、信号的不同类型功能,按不同频率划分成多帧数据,要保证实时系统的实时性和周期任务的正常工作,使用传统的事件驱动方式发送数据就经常会发生数据时间错拍等可靠性降低,或者影响实时任务的正常工作,而此发明很好的解决了此类问题。
申请公布号 CN102650954B 申请公布日期 2014.12.10
申请号 CN201110420766.1 申请日期 2011.12.13
申请人 中国航空工业第六一八研究所 发明人 佘刚;马永忠
分类号 G06F9/46(2006.01)I 主分类号 G06F9/46(2006.01)I
代理机构 中国航空专利中心 11008 代理人 高原
主权项 一种基于实时任务的多次事件驱动多频数据通信方法,其特征在于,包括如下步骤:一、建立发送任务a)计算控制计算机1秒中内要发送的不同频率全部数据个数<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>f</mi><mi>i</mi></msub><mo>*</mo><msub><mi>n</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000562351290000011.GIF" wi="1150" he="157" /></maths>其中:B控制计算机1秒钟内要发送的不同频率全部数据个数;f<sub>i</sub> 第i帧数据发送频率;n<sub>i</sub> 第i帧数据发送个数;n 总的数据帧数;b)设置总线发送速率设置总线传输速率为满足系统要求的总线工作标准波特率,其速率不小于(1)式计算出的B值数据量的传输;c)选取1秒中内事件驱动最少次数mm的大小选取(1.2~1.3)B,即:m=(1.2~1.3)B         (2)d)计算事件驱动服务任务周期<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>T</mi><mi>s</mi></msub><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1.2</mn><mi>B</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000562351290000012.GIF" wi="954" he="130" /></maths>其中:T<sub>s</sub>  事件驱动服务的工作周期;m  控制计算机1秒中内事件驱动最少次数;将根据(3)式计算出的T<sub>s</sub>值作为事件驱动发送周期,在控制计算机中按照T<sub>s</sub>设置事件驱动任务,即控制计算机工作后,每经过T<sub>s</sub>时间启动事件驱动任务;e)计算应产生驱动事件次数根据每一帧数据的发送频率、小帧计数器和周期任务频率,分别计算当前周期任务各频率数据应该发送次数,计算公式为:N=f*counter/F          (4)其中:<img file="FDA0000562351290000021.GIF" wi="1008" he="386" />f)建立发送任务根据(4)式计算出N值,与已发送任务计数器k比较,当N〉k时,将已发送任务计数器加一,建立数据发送任务,否则,不建立数据发送任务;二、数据的事件驱动发送每当系统周期任务经过T<sub>s</sub>长度时间则产生数据发送事件驱动服务;如果有数据发送任务,则启动完一个发送命令后,立即从事件驱动服务返回,继续执行实时系统周期任务,由硬件总线执行发送过程;如果没有数据发送事件,则直接从事件驱动服务返回,而继续执行实施系统周期任务。
地址 710065 陕西省西安市电子一路92号