CN103116557B - 基于计数变化进行动态超时控制的数据接收方法 - Google Patents

基于计数变化进行动态超时控制的数据接收方法 Download PDF

Info

Publication number
CN103116557B
CN103116557B CN201110365999.6A CN201110365999A CN103116557B CN 103116557 B CN103116557 B CN 103116557B CN 201110365999 A CN201110365999 A CN 201110365999A CN 103116557 B CN103116557 B CN 103116557B
Authority
CN
China
Prior art keywords
data
counter
overtime control
data receiver
processor
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.)
Active
Application number
CN201110365999.6A
Other languages
English (en)
Other versions
CN103116557A (zh
Inventor
朱琦
林挺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Aerospace Measurement Control Communication Institute
Original Assignee
Shanghai Aerospace Measurement Control Communication Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Aerospace Measurement Control Communication Institute filed Critical Shanghai Aerospace Measurement Control Communication Institute
Priority to CN201110365999.6A priority Critical patent/CN103116557B/zh
Publication of CN103116557A publication Critical patent/CN103116557A/zh
Application granted granted Critical
Publication of CN103116557B publication Critical patent/CN103116557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及卫星数管分系统的数据分发与传输,公开了一种基于计数变化进行动态超时控制的数据接收方法。包括确定超时最大延时参数;选择指定的通道;接收前启动定时器计时;判断接收数据的字节计数的情况,进行数据接收处理;判断接收数据的字节计数的变化;判断定时器超时情况,进行超时异常处理等步骤。本发明解决了多载荷多数据类型情况下接收数据超时控制的问题,取得了提高卫星软件设计通用化程度和数据可靠性等有益效果。

Description

基于计数变化进行动态超时控制的数据接收方法
技术领域
本发明涉及卫星数管分系统的数据分发与传输,尤其是一种基于计数变化进行动态超时控制的数据接收方法。
背景技术
在嵌入式实时控制领域,如卫星数管分系统的数据分发与传输,为防止程序因等待硬件状态而发生死锁,异步数据通讯程序需要对数据接收采取超时判断和控制,即等待软件指定的一段时间用于判断硬件接收状态,如果超过这段时间接收未准备好,则不再继续判读状态,按照未接收到数据进行异常处理,这段等待时间是由接收的数据长度、接收波特率和处理器响应时间决定的。以往动态超时控制采取的策略是按整批数据进行设计,但是随着星上应用载荷通道和业务数据量的增加,各通道的数据量相差很大的时间就需要按照不同协议设置成不同程序,难以设计成通用组件,维护和修改起来也相对困难。
为此,一种基于计数变化进行多通道超时控制的数据接收方法可以提供通用的异步数据通讯超时控制的方法,用于解决多种载荷和多种协议格式数据接收程序通用化设计的问题。
目前没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资料。
发明内容
为了实现多种载荷和多种协议格式数据接收程序通用化设计,解决异步数据通讯超时控制的问题,本发明的目的在于提出一种基于计数变化进行动态超时控制的数据接收方法,利用本发明,可以实现卫星各载荷通用超时控制数据接收软件算法的目的。
为了达到上述发明目的,本发明为解决其技术问题所采用的技术方案是提供一种基于计数变化进行动态超时控制的数据接收方法,包括:
一个用于动态超时控制的定时器;一个用于异步串行通讯的控制器;一个用于存储接收到数据的数据缓存器;一个用于计量已接收到数据字节数的数据计数器;一个用于处理已接收数据的处理器;一个用于存储上次计数值的计数存储单元;一个用于接收异步串行数据的数据接收程序;一个用于超时情况下进行异常处理的超时处理程序;一个用于选择通讯通道的多路选择器;上述组成部件执行如下的步骤:
(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(秒)。
(2)通过处理器5选择软件中多路通讯对应的的通道号,向多路选择器9的端口写入通道号;
(3)接收异步串行数据,存入数据缓存器3,同步更新数据计数器4;
(4)由处理器5启动定时器1,轮询数据计数器4,读取当前计数器单元数值,与前次计数器单元数值进行比较;
(5)如果计数器单元数值达到预定义的长度,启动数据接收程序进行处理;
(6)如果当前计数器单元数值与前次计数器单元数值比较在规定的延时时间内未递增,则启动超时处理程序进行异常处理;
(7)如果数据计数器4在规定延时内发生递增,但未达到预定义的数据长度,则回到步骤(4)继续处理。
上述步骤(2)中,处理器5向多路选择器9对应的输入端口写入需要通讯的通道号。
上述步骤(3)还包括,数据计数器4必须与数据缓存器3中接收到的数据队列长度保持同步一致,数据缓存器3中的数据队列按先进先出方式进行更新,数据计数器4必须对于处理器5可读可写。
上述步骤(3)中,当外部通讯控制器对数据缓存器3进行写操作时,向队列尾部依次添加接收到的字节数据,同时数据计数器4加1。
上述步骤(4)中,当处理器5对数据缓存器3进行读操作时,从队列头部依次取出数据,同时清除该字节数据,数据计数器4减1。
上述步骤(4)还包括,处理器5可以对数据计数器4和数据缓存器3进行清除操作,清除后数据计数器4为0,数据缓存器3中的数据全部清空。
上述步骤(5)和(7)中,所述预定义数据长度由应用软件通过参数方式向处理器的数据处理程序传递,数据长度必须为固定的正整数。
上述步骤(6)还包括,超时处理程序需要向应用软件传递通讯超时标志,以表示数据不可用。
图2是本发明中数据接收和多通道超时控制的算法流程图,如图2所示:上述步骤(6)中,超时处理程序进行异常处理的超时控制的算法主要包括如下步骤:
(1)初始化状态标志(如接收缓存,接收完成标志等);
(2)在多通道通讯系统中,选择异步通讯通道;
(3)启动定时器,轮询FIFO计数器,读取当前计数器,与前次计数器单元数值进行比较;
(4)如果FIFO计数器计数器数值达到预定义的长度(此参数由调用者设置),启动数据接收程序进行处理;
(5)如果当前计数器与前次计数单元比较在规定的延时时间5ms内未递增,则启动超时处理程序进行异常处理。
(6)如果计数器在规定延时内发生递增,但未达到预定义的长度,则回到步骤(3),重启计时器重新判读FIFO计数。
由上所述,本发明在整星数管分系统与多种载荷进行数据通讯的情况下,数据接收功能可以设计成通用模块,根据FIFO计数变化进行动态超时控制,而与各载荷通道的数据量无关。因此,本发明实现了多种载荷和多种协议格式数据接收程序通用化设计,解决了异步数据通讯超时控制的问题。

Claims (10)

1.一种基于计数变化进行多通道超时控制的数据接收方法,其特征在于:一个用于动态超时控制的定时器;一个用于异步串行通讯的控制器;一个用于存储接收到数据的数据缓存器;一个用于计量已接收到数据字节数的数据计数器;一个用于处理已接收数据的处理器;一个用于存储上次计数值的计数存储单元;一个用于接收异步串行数据的数据接收程序;一个用于超时情况下进行异常处理的超时处理程序;一个用于选择通讯通道的多路选择器;上述组成部分执行如下的步骤:
(1)根据异步通讯速率、位数及下位机响应处理时间确定定时器的最大延时参数;
(2)通过处理器选择软件中多路通讯对应的通道号,向多路选择器的端口写入通道号;
(3)接收异步串行数据,存入数据缓存器,同步更新数据计数器;
(4)由处理器启动定时器,轮询数据计数器,读取当前计数器单元数值,与前次计数器单元数值进行比较;
(5)如果计数器单元数值达到预定义的数据长度,启动数据接收程序进行处理;
(6)如果当前计数器单元数值与前次计数器单元数值比较在规定的延时时间内未递增,则启动超时处理程序进行异常处理;
(7)如果数据计数器在规定延时内发生递增,但未达到预定义的数据长度,则回到步骤(4)继续处理。
2.如权利要求1所述的超时控制的数据接收方法,其特征在于:所述的步骤(1)中,所述的定时器最大延时参数=(传输单字节位数/通讯速率+下位机处理时间)×2;通讯速率单位为bps(位每秒),计算得出的延时参数单位为s(秒)。
3.如权利要求1所述的超时控制的数据接收方法,其特征在于:所述的步骤(2)中,处理器向多路选择器对应的输入端口写入需要通讯的通道号。
4.如权利要求1所述的超时控制的数据接收方法,其特征在于:所述的步骤(3)还包括,数据计数器与数据缓存器中接收到的数据队列长度保持同步一致,数据缓存器中的数据队列按先进先出方式进行更新,数据计数器对于处理器可读可写。
5.如权利要求1或4所述的超时控制的数据接收方法,其特征在于:所述的步骤(3)中,当外部通讯控制器对数据缓存器进行写操作时,向队列尾部依次添加接收到的字节数据,同时数据计数器加1。
6.如权利要求5所述的超时控制的数据接收方法,其特征在于:所述的步骤(4)中,当处理器对数据缓存器进行读操作时,从队列头部依次取出数据,同时清除该字节数据,数据计数器减1。
7.如权利要求1或6所述的超时控制的数据接收方法,其特征在于:所述的步骤(4)还包括,处理器可以对数据计数器和数据缓存器进行清除操作,清除后数据计数器为0,数据缓存器中的数据全部清空。
8.如权利要求1所述的超时控制的数据接收方法,其特征在于:所述的步骤(5)中,所述预定义数据长度由应用软件通过参数方式向处理器的数据处理程序传递,数据长度为固定的正整数。
9.如权利要求1所述的超时控制的数据接收方法,其特征在于:所述的步骤(6)中,超时处理程序进行异常处理的超时控制的算法主要包括如下步骤:
(1)初始化状态标志,如接收缓存,接收完成标志;
(2)在多通道通讯系统中,选择异步通讯通道;
(3)启动定时器,轮询数据计数器,读取当前计数器,与前次计数器单元数值进行比较;
(4)如果计数器计数器数值达到预定义的长度,启动数据接收程序进行处理;
(5)如果当前计数器与前次计数单元比较在规定的延时时间5ms内未递增,则启动超时处理程序进行异常处理;
(6)如果计数器在规定延时内发生递增,但未达到预定义的长度,则回到步骤(3),重启计时器重新判读数据计数器。
10.如权利要求9所述的超时控制的数据接收方法,其特征在于:所述的步骤(6)还包括,超时处理程序需要向应用软件传递通讯超时标志,表示数据不可用。
CN201110365999.6A 2011-11-17 2011-11-17 基于计数变化进行动态超时控制的数据接收方法 Active CN103116557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110365999.6A CN103116557B (zh) 2011-11-17 2011-11-17 基于计数变化进行动态超时控制的数据接收方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110365999.6A CN103116557B (zh) 2011-11-17 2011-11-17 基于计数变化进行动态超时控制的数据接收方法

Publications (2)

Publication Number Publication Date
CN103116557A CN103116557A (zh) 2013-05-22
CN103116557B true CN103116557B (zh) 2016-06-22

Family

ID=48414937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110365999.6A Active CN103116557B (zh) 2011-11-17 2011-11-17 基于计数变化进行动态超时控制的数据接收方法

Country Status (1)

Country Link
CN (1) CN103116557B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268615B2 (en) 2017-08-22 2019-04-23 International Business Machines Corporation Determining timeout values for computing systems
WO2019051699A1 (zh) * 2017-09-14 2019-03-21 保定市泰科电气有限公司 一种通信架构下的计算机控制方法
CN114257292B (zh) * 2021-12-15 2024-04-05 北京航天飞行控制中心 航天器中继代传遥控指令比判方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1964300A (zh) * 2005-11-11 2007-05-16 贵州以太科技信息产业有限责任公司 可读写的串行接口总线通信控制器
EP1895426A1 (en) * 2006-08-25 2008-03-05 Ali Corporation Transmitter and transmitting system utilizing the same
CN101178636A (zh) * 2006-11-07 2008-05-14 国际商业机器公司 用于异步远程拷贝的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1964300A (zh) * 2005-11-11 2007-05-16 贵州以太科技信息产业有限责任公司 可读写的串行接口总线通信控制器
EP1895426A1 (en) * 2006-08-25 2008-03-05 Ali Corporation Transmitter and transmitting system utilizing the same
CN101178636A (zh) * 2006-11-07 2008-05-14 国际商业机器公司 用于异步远程拷贝的系统和方法

Also Published As

Publication number Publication date
CN103116557A (zh) 2013-05-22

Similar Documents

Publication Publication Date Title
EP2902914B1 (en) Data transmission method and device
CN103248471B (zh) 基于ptp协议与反射内存网的时钟同步方法
JP5764004B2 (ja) 共用データ・バスに対する階層的バッファ・システムのための方法、集積回路デバイス、およびプロセッサ・デバイス
JPH04230557A (ja) 直接メモリアクセス・コントローラ
EP2222003B1 (en) Field control system
CN103116557B (zh) 基于计数变化进行动态超时控制的数据接收方法
US20090086751A1 (en) Adaptive Interrupt On Serial Rapid Input/Output (SRIO) Endpoint
US8386908B2 (en) Data transmission methods and universal serial bus host controllers utilizing the same
EP3930266A1 (en) Packet scheduling system with desired physical transmission time for packets
JP4903801B2 (ja) FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法
CN101937409A (zh) 分时复用存储器直接访问控制器
US8291198B2 (en) Apparatus and method for regulating bursty data in a signal processing pipeline
EP1449096A1 (en) Shared memory controller for display processor
US20200201808A1 (en) Time-division multiplexing (tdm) data transfer on serial interfaces
US20090175290A1 (en) Flexray communications module, flexray communications controller, and method for transmitting messages between a flexray communications link and a flexray participant
EP1970815A1 (en) Data transfering apparatus and information processing system
EP2521325B1 (en) Communication system, and corresponding integrated circuit and method
US20110029706A1 (en) Electronic device and method for controlling an electronic device
CN116932333A (zh) 一种硅后验证的axi总线实时性能监控方法
CN115934596A (zh) 一种非并发外设接口直接存储访问的电路及方法
CN115113685A (zh) 数据同步装置及方法
CN105306958B (zh) 一种基于ip的传输流码率平滑处理的方法及装置
EP2133797A1 (en) Dma transfer device and method
JP2018046390A (ja) 処理装置、システム、処理方法および処理プログラム
EP3971721A1 (en) Information processing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant