[发明专利]基于计数变化进行动态超时控制的数据接收方法有效
申请号: | 201110365999.6 | 申请日: | 2011-11-17 |
公开(公告)号: | CN103116557A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 朱琦;林挺 | 申请(专利权)人: | 上海航天测控通信研究所 |
主分类号: | G06F12/12 | 分类号: | G06F12/12;G06F12/08;G06F17/30 |
代理公司: | 上海航天局专利中心 31107 | 代理人: | 郑丹力 |
地址: | 200086 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 计数 变化 进行 动态 超时 控制 数据 接收 方法 | ||
技术领域
本发明涉及卫星数管分系统的数据分发与传输,尤其是一种基于计数变化进行动态超时控制的数据接收方法。
背景技术
在嵌入式实时控制领域,如卫星数管分系统的数据分发与传输,为防止程序因等待硬件状态而发生死锁,异步数据通讯程序需要对数据接收采取超时判断和控制,即等待软件指定的一段时间用于判断硬件接收状态,如果超过这段时间接收未准备好,则不再继续判读状态,按照未接收到数据进行异常处理,这段等待时间是由接收的数据长度、接收波特率和处理器响应时间决定的。以往动态超时控制采取的策略是按整批数据进行设计,但是随着星上应用载荷通道和业务数据量的增加,各通道的数据量相差很大的时间就需要按照不同协议设置成不同程序,难以设计成通用组件,维护和修改起来也相对困难。
为此,一种基于计数变化进行多通道超时控制的数据接收方法可以提供通用的异步数据通讯超时控制的方法,用于解决多种载荷和多种协议格式数据接收程序通用化设计的问题。
目前没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资料。
发明内容
为了实现多种载荷和多种协议格式数据接收程序通用化设计,解决异步数据通讯超时控制的问题,本发明的目的在于提出一种基于计数变化进行动态超时控制的数据接收方法,利用本发明,可以实现卫星各载荷通用超时控制数据接收软件算法的目的。
为了达到上述发明目的,本发明为解决其技术问题所采用的技术方案是提供一种基于计数变化进行动态超时控制的数据接收方法,包括:
一个用于动态超时控制的定时器;一个用于异步串行通讯的控制器;一个用于存储接收到数据的数据缓存器;一个用于计量已接收到数据字节数的数据计数器;一个用于处理已接收数据的处理器;一个用于存储上次计数值的计数存储单元;一个用于接收异步串行数据的数据接收程序;一个用于超时情况下进行异常处理的超时处理程序;一个用于选择通讯通道的多路选择器;上述组成部件执行如下的步骤:
(1)根据异步通讯速率、位数及下位机响应处理时间确定定时器的最大延时参数;
(2)通过处理器选择软件中多路通讯对应的的通道号,向多路选择器的端口写入通道号;
(3)接收异步串行数据,存入数据缓存器,同步更新数据计数器;
(4)由处理器启动定时器,轮询数据计数器,读取当前计数器单元数值,与前次计数器单元数值进行比较;
(5)如果计数器单元数值达到预定义的长度,启动数据接收程序进行处理;
(6)如果当前计数器单元数值与前次计数器单元数值比较在规定的延时时间内未递增,则启动超时处理程序进行异常处理;
(7)如果数据计数器在规定延时内发生递增,但未达到预定义的数据长度,则回到步骤(4)继续处理。
本发明一种基于计数变化进行多通道超时控制的数据接收方法,由于采取上述的技术方案,在整星数管分系统与多种载荷进行数据通讯的情况下,数据接收功能可以设计成通用模块,根据FIFO计数变化进行动态超时控制,而与各载荷通道的数据量无关。本发明解决了多载荷多数据类型情况下超时控制的问题,取得了提高卫星软件设计通用化程度和数据可靠性等有益效果。
附图说明
图1是实现本发明基于计数变化进行多通道超时控制的数据接收方法的原理框图;
图2是本发明中数据接收和多通道超时控制的算法流程图。
具体实施方式
下面结合附图说明本发明的优选实施例。
图1是实现本发明一种基于计数变化进行多通道超时控制的数据接收方法的原理框图。如图1的实施例所示,本发明的方法采用以下的组成部件:
定时器1:用于动态超时控制;
异步串行通讯控制器2:用于数据通信控制和数据收发;
数据缓存器3:用于存储接收到的数据;
数据计数器4:用于计量已接收到数据字节数;
处理器5:用于处理已接收数据;
计数存储单元6:用于存储上次计数值的;
数据接收程序7:用于接收异步串行数据;
超时处理程序8:用于超时情况下进行异常处理;
多路选择器9:用于选择多通道通讯系统中指定的通讯链路。
上述组成部件执行如下的步骤:
(1)根据异步通讯速率、位数及下位机响应处理时间确定定时器1的最大延时参数;本发明实施例中,定时器最大延时参数=(传输单字节位数/通讯速率+下位机处理时间)×2。通讯速率单位为bps(位每秒),计算得出的延时参数单位为s(秒)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海航天测控通信研究所,未经上海航天测控通信研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110365999.6/2.html,转载请声明来源钻瓜专利网。