一种基于串口冗余策略的关键测试指令传输系统及方法.pdf

上传人:e2 文档编号:1300086 上传时间:2018-04-14 格式:PDF 页数:16 大小:1.03MB
返回 下载 相关 举报
摘要
申请专利号:

CN201710010411.2

申请日:

2017.01.06

公开号:

CN106911530A

公开日:

2017.06.30

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效 IPC(主分类):H04L 12/26申请日:20170106|||公开

IPC分类号:

H04L12/26; G06F11/16; G06F11/22

主分类号:

H04L12/26

申请人:

北京临近空间飞行器系统工程研究所; 中国运载火箭技术研究院

发明人:

窦小明; 谭佳琳; 毛强; 金娜; 李彬; 吴晓蕊; 杨飞; 王毅; 丛薇

地址:

100076 北京市丰台区南大红门路1号

优先权:

专利代理机构:

中国航天科技专利中心 11009

代理人:

庞静

PDF下载: PDF下载
内容摘要

一种基于串口冗余策略的关键测试指令传输系统及方法,系统包括串行接口发送器和串行接口接收器;其中,串行接口发送器包括数据输出模块、数据接收模块、数据帧格式判断模块;串行接口接收器包括数据接收模块、数据帧格式判断模块、指令有效性判断模块及数据输出模块;本发明当在干扰条件下两个节点通过串行接口进行关键测试指令交互时,单路串口双向失效或双路串口单向失效的情况下,仍能保证节点数据通信的可靠性,避免在强电磁干扰情况下关键测试指令传输异常等问题,从而所属系统运行的持续性、可靠性和安全性,为系统正常持续运行、及时可靠完成各项功能奠定基础。

权利要求书

1.一种基于串口冗余策略的关键测试指令传输系统,其特征在于:包括串行接口发送
器和串行接口接收器;其中,串行接口发送器包括数据输出模块、数据接收模块、数据帧格
式判断模块;串行接口接收器包括数据接收模块、数据帧格式判断模块、指令有效性判断模
块及数据输出模块;
串行接口发送器的数据输出模块与串行接口接收器的数据接收模块、以及串行接口接
收器的数据输出模块与串行接口发送器的数据接收模块之间通过冗余串行接口进行数据
交互;
数据输出模块,对待输出数据进行数据帧封装后,查询输出状态,在输出状态为闲时,
分别通过冗余串行接口向数据接收模块发送封装的数据;所述的待输出数据对于串行接口
发送器为关键指令和帧计数,每次关键指令发送时,帧计数加1;对于串行接口接收器,为关
键指令的接收、解析状态;
数据接收模块启动数据接收后,查询冗余串行接口接收状态,当状态为非空时,接收所
有串行接口数据存放在冗余串行接口循环队列中;否则继续查询冗余串行接口接收状态,
等待接收串行接口数据;
数据帧格式判断模块,判断冗余串行接口循环队列中的数据的长度是否超过最小完整
帧长,若超过,则并对数据的完整性进行判断,当接收到一帧完整数据时,将完整数据帧从
数据帧头、数据区、校验和以及数据帧尾四个方面判断确定当前数据帧是否为有效数据帧,
当有效时,从队列中获取数据,将数据区中的数据输出至指令有效性判断模块;当无效时,
丢弃该数据帧;
指令有效性判断模块对输入数据中的帧计数进行判断,当该帧计数对应关键指令未执
行时,解析关键指令并发送至外部相应执行部件,当该帧计数对应指令已执行时,丢弃该指
令;并将关键指令的接收、解析状态发送至数据输出模块。
2.根据权利要求1所述的系统,其特征在于:所述指令有效性判断模块的具体实现方式
如下:
(2.1)根据接收的数据区中的数据,判断冗余串行接口中的两个接口的指令更新状态,
当两个接口指令均更新,则执行步骤(2.2),若只有一个接口的指令更新,则执行步骤
(2.3),否则,等待接收数据;
(2.2)获取两个接口对应数据中的帧计数,当一个接口记为接口A的帧计数大于记录的
有效指令帧序号且另一接口记为接口B的帧计数不大于记录的有效指令帧序号时,则解析
接口A对应的关键指令,并发送至外部相应执行部件,发送关键指令的接收、解析状态至数
据输出模块,并将接口A的帧计数记录为有效指令帧序号;当两个接口的帧计数都大于记录
的有效指令帧序号,则进一步比较两个接口的帧计数,将帧计数较大的接口对应的关键指
令进行解析,并发送至外部相应执行部件,发送关键指令的接收、解析状态至数据输出模
块,并将该接口的帧计数记录为有效指令帧序号;当两个接口的帧计数都不大于记录的有
效指令帧序号时,则丢弃接收的数据,发送关键指令的接收、解析状态至数据输出模块,等
待接收数据;
(2.3)获取该接口对应数据中的帧计数,判断该帧计数是否大于记录的有效指令帧序
号,若大于,则解析该接口对应的关键指令,并发送至外部相应执行部件,发送关键指令的
接收、解析状态至数据输出模块,并将该接口的帧计数记录为有效指令帧序号;否则丢弃接
收的数据,发送关键指令的接收、解析状态至数据输出模块,等待接收数据。
3.根据权利要求1所述的系统,其特征在于:数据帧格式判断模块的实现方式如下:
第一步,判断冗余串行接口循环队列中数据长度是否大于最小完整帧,若大于,则转第
二步;否则,继续等待数据;
第二步,根据帧格式从循环队列头指针开始寻找帧尾,若找到帧尾,则转第三步;否则,
继续等待数据转第一步;
第三步,根据帧格式中帧长度位置与帧尾的偏移量,从循环队列中获取当前帧长度;进
而根据帧长度计算帧头在循环队列中的位置;
第四步,获取帧头,将帧头与帧格式进行一致性判断,若帧头与帧格式一致,则转第五
步,否则从循环队列中读出错误数据并丢弃,继续等待数据转第一步;
第五步,根据校验值位置与帧尾偏移量获取当前数据校验值,并根据接收的数据区中
的数据重新计算校验值,对接收校验值与计算校验值进行比对;若二者一致,则从队列中获
取数据并将数据区中的数据输出至指令有效性判断模块;若不一致,则从循环队列中读出
错误数据并丢弃,继续等待数据转第一步。
4.一种基于串口冗余策略的关键测试指令传输方法,其特征在于:
(1)发送方设置帧计数,初始值为0;根据测试需求,在当前传输周期,将帧计数加1,并
将待传输的关键指令与帧计数封装后采用双冗余串行接口的方式进行发送;
(2)接收方接收封装后的关键指令与帧计数,并存放在串行接口循环队列中,执行步骤
(3);
(3)判断上述循环队列中的数据长度是否大于最小完整帧,若大于,则转步骤(4);否
则,进入下一传输周期转步骤(1);
(4)对循环队列中的数据进行完整及一致性判断,若满足条件,则从循环队列中获取数
据并执行步骤(5);否则,进入下一传输周期转步骤(1);
(5)从获取的数据中进一步读取数据区中的数据,根据接收的数据区中的数据,判断冗
余串行接口中的两个接口的指令更新状态,当两个接口指令均更新,则执行步骤(6),若只
有一个接口的指令更新,则执行步骤(7),否则,进入下一传输周期转步骤(1);
(6)获取两个接口对应数据中的帧计数,当一个接口记为接口A的帧计数大于记录的有
效指令帧序号且另一接口记为接口B的帧计数不大于记录的有效指令帧序号时,则解析接
口A对应的关键指令,并发送至外部相应执行部件,发送关键指令的接收、解析状态至发送
方,并将接口A的帧计数记录为有效指令帧序号;当两个接口的帧计数都大于记录的有效指
令帧序号,则进一步比较两个接口的帧计数,将帧计数较大的接口对应的关键指令进行解
析,并发送至外部相应执行部件,发送关键指令的接收、解析状态至发送方,并将该接口的
帧计数记录为有效指令帧序号;当两个接口的帧计数都不大于记录的有效指令帧序号时,
则丢弃接收的数据,发送关键指令的接收、解析状态至发送方,进入下一传输周期转步骤
(1);所述的有效指令帧序号的初始值为0;
(7)获取该接口对应数据中的帧计数,判断该帧计数是否大于记录的有效指令帧序号,
若大于,则解析该接口对应的关键指令,并发送至外部相应执行部件,发送关键指令的接
收、解析状态至发送方,并将该接口的帧计数记录为有效指令帧序号;否则丢弃接收的数
据,发送关键指令的接收、解析状态至发送方,进入下一传输周期转步骤(1)。
5.根据权利要求4所述的方法,其特征在于:所述的完整及一致性判断步骤如下:
(4.1)根据帧格式从循环队列头指针开始寻找帧尾,若找到帧尾,则转(4.2);否则,进
入下一传输周期转步骤(1);
(4.2)根据帧格式中帧长度位置与帧尾的偏移量,从循环队列中获取当前帧长度;进而
根据帧长度计算帧头在循环队列中的位置;
(4.3)获取帧头,将帧头与帧格式进行一致性判断,若帧头与帧格式一致,则转(4.4),
否则从循环队列中读出错误数据并丢弃,进入下一传输周期转步骤(1);
(4.4)根据校验值位置与帧尾偏移量获取当前数据校验值,并根据接收的数据区中的
数据重新计算校验值,对接收校验值与计算校验值进行比对;若二者一致,则从队列中获取
数据;若不一致,则从循环队列中读出错误数据并丢弃,进入下一传输周期转步骤(1)。

说明书

一种基于串口冗余策略的关键测试指令传输系统及方法

技术领域

本发明涉及航空航天、可靠性和串行接口消息处理领域,特别涉及一种基于串口
冗余策略的关键测试指令传输方法。

背景技术

串行接口由于其传输速率高、可靠性高、技术成熟、易于扩展等优点,在航空航天
系统电气设备互联中得到了广泛的应用。串行接口一般采用点对点的连接方式,相比总线
接口,物理层、链路层及协议层均有所简化,提高易用性的同时降低使用成本。串行接口的
操作实体一般包括发送器和接收器,其中发送器接收协议层数据,通过链路层增加传输协
议后,经物理层发送到接收器物理层,再经接收器链路层解析协议,获取传输数据后由协议
层进行应用。发送器协议层的数据为二进制数据量,经协议层发送时增加起始位、校验位和
停止位,物理层按照起始位、数据位、校验位和停止位的顺序依次通过差分电缆向接收器传
输数据。接收器物理层从差分电缆接收数据后,协议层对起始位、数据位、校验位和停止位
的有效性进行判断,判断无误后将数据位送入协议层,待协议层使用。常用串口在传输电缆
及协议层已经增加了可靠性措施,提高了数据传输的可靠性,但在干扰环境下,以上措施仍
不足以保障串行接口通信的高可靠性,为了解决干扰环境下串行接口可靠性降低的问题,
提出一种基于串口冗余策略的关键测试指令传输系统及方法。

从文献中看,国内外尚未针对通过串行接口传输的关键测试指令高可靠性处理的
实例,因此,提出一种基于串口冗余策略的关键测试指令高可靠性传输方法。

发明内容

本发明的技术解决问题是:克服现有技术的不足,提供一种基于串口冗余策略的
关键测试指令传输系统及方法。

本发明的技术解决方案是:一种基于串口冗余策略的关键测试指令传输系统,包
括串行接口发送器和串行接口接收器;其中,串行接口发送器包括数据输出模块、数据接收
模块、数据帧格式判断模块;串行接口接收器包括数据接收模块、数据帧格式判断模块、指
令有效性判断模块及数据输出模块;

串行接口发送器的数据输出模块与串行接口接收器的数据接收模块、以及串行接
口接收器的数据输出模块与串行接口发送器的数据接收模块之间通过冗余串行接口进行
数据交互;

数据输出模块,对待输出数据进行数据帧封装后,查询输出状态,在输出状态为闲
时,分别通过冗余串行接口向数据接收模块发送封装的数据;所述的待输出数据对于串行
接口发送器为关键指令和帧计数,每次关键指令发送时,帧计数加1;对于串行接口接收器,
为关键指令的接收、解析状态;

数据接收模块启动数据接收后,查询冗余串行接口接收状态,当状态为非空时,接
收所有串行接口数据存放在冗余串行接口循环队列中;否则继续查询冗余串行接口接收状
态,等待接收串行接口数据;

数据帧格式判断模块,判断冗余串行接口循环队列中的数据的长度是否超过最小
完整帧长,若超过,则并对数据的完整性进行判断,当接收到一帧完整数据时,将完整数据
帧从数据帧头、数据区、校验和以及数据帧尾四个方面判断确定当前数据帧是否为有效数
据帧,当有效时,从队列中获取数据,将数据区中的数据输出至指令有效性判断模块;当无
效时,丢弃该数据帧;

指令有效性判断模块对输入数据中的帧计数进行判断,当该帧计数对应关键指令
未执行时,解析关键指令并发送至外部相应执行部件,当该帧计数对应指令已执行时,丢弃
该指令;并将关键指令的接收、解析状态发送至数据输出模块。

所述指令有效性判断模块的具体实现方式如下:

(2.1)根据接收的数据区中的数据,判断冗余串行接口中的两个接口的指令更新
状态,当两个接口指令均更新,则执行步骤(2.2),若只有一个接口的指令更新,则执行步骤
(2.3),否则,等待接收数据;

(2.2)获取两个接口对应数据中的帧计数,当一个接口记为接口A的帧计数大于记
录的有效指令帧序号且另一接口记为接口B的帧计数不大于记录的有效指令帧序号时,则
解析接口A对应的关键指令,并发送至外部相应执行部件,发送关键指令的接收、解析状态
至数据输出模块,并将接口A的帧计数记录为有效指令帧序号;当两个接口的帧计数都大于
记录的有效指令帧序号,则进一步比较两个接口的帧计数,将帧计数较大的接口对应的关
键指令进行解析,并发送至外部相应执行部件,发送关键指令的接收、解析状态至数据输出
模块,并将该接口的帧计数记录为有效指令帧序号;当两个接口的帧计数都不大于记录的
有效指令帧序号时,则丢弃接收的数据,发送关键指令的接收、解析状态至数据输出模块,
等待接收数据;

(2.3)获取该接口对应数据中的帧计数,判断该帧计数是否大于记录的有效指令
帧序号,若大于,则解析该接口对应的关键指令,并发送至外部相应执行部件,发送关键指
令的接收、解析状态至数据输出模块,并将该接口的帧计数记录为有效指令帧序号;否则丢
弃接收的数据,发送关键指令的接收、解析状态至数据输出模块,等待接收数据。

数据帧格式判断模块的实现方式如下:

第一步,判断冗余串行接口循环队列中数据长度是否大于最小完整帧,若大于,则
转第二步;否则,继续等待数据;

第二步,根据帧格式从循环队列头指针开始寻找帧尾,若找到帧尾,则转第三步;
否则,继续等待数据转第一步;

第三步,根据帧格式中帧长度位置与帧尾的偏移量,从循环队列中获取当前帧长
度;进而根据帧长度计算帧头在循环队列中的位置;

第四步,获取帧头,将帧头与帧格式进行一致性判断,若帧头与帧格式一致,则转
第五步,否则从循环队列中读出错误数据并丢弃,继续等待数据转第一步;

第五步,根据校验值位置与帧尾偏移量获取当前数据校验值,并根据接收的数据
区中的数据重新计算校验值,对接收校验值与计算校验值进行比对;若二者一致,则从队列
中获取数据并将数据区中的数据输出至指令有效性判断模块;若不一致,则从循环队列中
读出错误数据并丢弃,继续等待数据转第一步。

一种基于串口冗余策略的关键测试指令传输方法,步骤如下:

(1)发送方设置帧计数,初始值为0;根据测试需求,在当前传输周期,将帧计数加
1,并将待传输的关键指令与帧计数封装后采用双冗余串行接口的方式进行发送;

(2)接收方接收封装后的关键指令与帧计数,并存放在串行接口循环队列中,执行
步骤(3);

(3)判断上述循环队列中的数据长度是否大于最小完整帧,若大于,则转步骤(4);
否则,进入下一传输周期转步骤(1);

(4)对循环队列中的数据进行完整及一致性判断,若满足条件,则从循环队列中获
取数据并执行步骤(5);否则,进入下一传输周期转步骤(1);

(5)从获取的数据中进一步读取数据区中的数据,根据接收的数据区中的数据,判
断冗余串行接口中的两个接口的指令更新状态,当两个接口指令均更新,则执行步骤(6),
若只有一个接口的指令更新,则执行步骤(7),否则,进入下一传输周期转步骤(1);

(6)获取两个接口对应数据中的帧计数,当一个接口记为接口A的帧计数大于记录
的有效指令帧序号且另一接口记为接口B的帧计数不大于记录的有效指令帧序号时,则解
析接口A对应的关键指令,并发送至外部相应执行部件,发送关键指令的接收、解析状态至
发送方,并将接口A的帧计数记录为有效指令帧序号;当两个接口的帧计数都大于记录的有
效指令帧序号,则进一步比较两个接口的帧计数,将帧计数较大的接口对应的关键指令进
行解析,并发送至外部相应执行部件,发送关键指令的接收、解析状态至发送方,并将该接
口的帧计数记录为有效指令帧序号;当两个接口的帧计数都不大于记录的有效指令帧序号
时,则丢弃接收的数据,发送关键指令的接收、解析状态至发送方,进入下一传输周期转步
骤(1);所述的有效指令帧序号的初始值为0;

(7)获取该接口对应数据中的帧计数,判断该帧计数是否大于记录的有效指令帧
序号,若大于,则解析该接口对应的关键指令,并发送至外部相应执行部件,发送关键指令
的接收、解析状态至发送方,并将该接口的帧计数记录为有效指令帧序号;否则丢弃接收的
数据,发送关键指令的接收、解析状态至发送方,进入下一传输周期转步骤(1)。

所述的完整及一致性判断步骤如下:

(4.1)根据帧格式从循环队列头指针开始寻找帧尾,若找到帧尾,则转(4.2);否
则,进入下一传输周期转步骤(1);

(4.2)根据帧格式中帧长度位置与帧尾的偏移量,从循环队列中获取当前帧长度;
进而根据帧长度计算帧头在循环队列中的位置;

(4.3)获取帧头,将帧头与帧格式进行一致性判断,若帧头与帧格式一致,则转
(4.4),否则从循环队列中读出错误数据并丢弃,进入下一传输周期转步骤(1);

(4.4)根据校验值位置与帧尾偏移量获取当前数据校验值,并根据接收的数据区
中的数据重新计算校验值,对接收校验值与计算校验值进行比对;若二者一致,则从队列中
获取数据;若不一致,则从循环队列中读出错误数据并丢弃,进入下一传输周期转步骤(1)。

本发明与现有技术相比有益效果为:

(1)一种基于串口冗余策略的关键测试指令传输系统及方法,其中关键测试指令
为影响系统正常运行或测试流程的指令,如自检指令、诸元装订指令、电池激活指令等。当
在干扰条件下两个节点通过串行接口进行关键测试指令交互时,单路串口双向失效或双路
串口单向失效的情况下,仍能保证节点数据通信的可靠性,避免在强电磁干扰情况下关键
测试指令传输异常等问题,从而所属系统运行的持续性、可靠性和安全性,为系统正常持续
运行、及时可靠完成各项功能奠定基础。

(2)通过本发明提供的基于串口冗余策略的关键测试指令传输系统及方法,当干
扰条件造成单路串行接口传输关键测试指令异常时,冗余串行接口仍可通过备份通道完成
测试指令的传输及测试状态的接收,避免传统单路串行接口传输方式在干扰条件下数据丢
失的情况,从而确保串行接口数据传输的及时性和可靠性,保证系统基于串行接口的功能
性能满足设计要求。

(3)串行接口接收器从冗余串行接口接收指令后,对指令合法性进行判断,当指令
合法时,执行对应操作,避免冗余串口相同指令重复执行;

(4)串行接口接收器完成指令操作后,通过冗余串行接口向串行接口发送器返回
测试状态,在冗余串行接口单路双向故障或双路单向故障的情况下,确保测试状态数据及
时返回发送器,从而保障测试流程正常进行;

通过本发明可显著提高串行接口传输关键测试指令及测试状态的可靠性,避免干
扰条件下串行接口无法完成数据传输的问题,进一步提高系统运行的可靠性,将该技术应
用于实际生产具有重要意义。

附图说明

图1为本发明系统结构图;

图2为本发明数据接收模块工作流程图;

图3为本发明数据帧格式判断模块工作流程图;

图4为本发明指令有效性判断模块工作流程图;

图5为本发明数据输出模块工作流程图。

具体实施方式

下面结合附图及实例对本发明做详细说明。如图1所示,本发明一种基于串口冗余
策略的关键测试指令传输系统,包括串行接口发送器和串行接口接收器;其中,串行接口发
送器包括数据输出模块、数据接收模块、数据帧格式判断模块;串行接口接收器包括数据接
收模块、数据帧格式判断模块、指令有效性判断模块及数据输出模块;

串行接口发送器的数据输出模块与串行接口接收器的数据接收模块、以及串行接
口接收器的数据输出模块与串行接口发送器的数据接收模块之间通过冗余串行接口进行
数据交互;

数据输出模块,对待输出数据进行数据帧封装后,查询输出状态,在输出状态为闲
时,分别通过冗余串行接口向数据接收模块发送封装的数据;所述的待输出数据对于串行
接口发送器为关键指令和帧计数,每次关键指令发送时,帧计数加1;对于串行接口接收器,
为关键指令的接收、解析状态;

数据接收模块启动数据接收后,查询冗余串行接口接收状态,当状态为非空时,接
收所有串行接口数据存放在冗余串行接口循环队列中;否则继续查询冗余串行接口接收状
态,等待接收串行接口数据;

数据帧格式判断模块,判断冗余串行接口循环队列中的数据的长度是否超过最小
完整帧长,若超过,则并对数据的完整性进行判断,当接收到一帧完整数据时,将完整数据
帧从数据帧头、数据区、校验和以及数据帧尾四个方面判断确定当前数据帧是否为有效数
据帧,当有效时,从队列中获取数据,将数据区中的数据输出至指令有效性判断模块;当无
效时,丢弃该数据帧;

指令有效性判断模块对输入数据中的帧计数进行判断,当该帧计数对应关键指令
未执行时,解析关键指令并发送至外部相应执行部件,当该帧计数对应指令已执行时,丢弃
该指令;并将关键指令的接收、解析状态发送至数据输出模块。

下面分别对上述各模块进行详细说明。

(一)数据接收模块

如图2所示,数据接收模块的工作流程为:

1、冗余串行接口开始接收数据后,首先根据串行接口状态寄存器判断数据接收缓
冲状态,当接收缓冲非空时,则进行数据接收。

2、步骤1中,当接收缓冲为空时,表示当前无新数据,无需接收,结束当前接收流
程;

3、当接收缓冲非空时,对接口接收循环队列状态进行判断,当队列非满时,进行数
据接收。

4、步骤2中,当接口接收循环队列为满时,继续写入队列会造成数据丢失,因此暂
停数据接收,结束当前接收流程。

5、当接收循环队列非满时,获取冗余串行接口循环队列尾指针,从数据接收缓冲
读取数据后写入尾指针指向位置;

6、数据写入循环队列后,对尾指针进行判断,当尾指针达到循环队列队尾时,更新
尾指针位置至队首;

7、步骤4中,当判断尾指针未达到循环队列队尾时,则返回模块入口,继续接收数
据。

(二)数据帧格式判断模块

如图3所示,数据帧格式判断模块的工作流程为:

1、判断冗余串行接口循环队列中数据长度是否大于最小完整帧,当判断条件满
足,则表明循环队列中可能有一帧完整数据帧;

2、步骤1中,当判断条件不满足时,表明循环队列中无完整数据帧,结束当前数据
帧格式判断流程;

3、当循环队列中可能有一帧完整数据帧时,根据帧格式从循环队列头指针开始寻
找帧尾,并对帧尾与帧格式要求一致性进行判断;

4、步骤3中,当循环队列中未找到合格帧尾,表明当前数据中未包含一帧完整数
据,结束当前数据帧格式判断流程;

5、步骤3中,当循环队列中找到合格帧尾,根据帧格式中帧长度位置与帧尾的偏移
量,从循环队列中获取当前帧长度;

6、获取帧长度后,根据帧长度计算帧头在循环队列中的位置,获取帧头后对帧头
与帧格式一致性进行判断;

7、步骤6中,若帧头与帧格式不一致,表明当前循环队列中无合格帧,则从循环队
列中读出错误数据并丢弃,结束当前数据帧格式判断流程;

8、步骤6中,若帧头与帧格式一致,则根据校验值位置与帧尾偏移获取当前数据校
验值,并根据接收数据计算校验值,对接收校验值与计算校验值进行比对;

9、步骤8中,若接收校验值与计算校验值不一致,表明当前数据帧传输过程出现错
误,则从循环队列中读出错误数据并丢弃,结束当前数据帧格式判断流程;

10、步骤8中,若接收校验值与计算校验值一致,则输出数据帧,结束当前数据帧格
式判断流程。

(三)指令有效性判断模块

如图4所示,指令有效性判断模块的工作流程如下:

1、指令有效性判断模块对冗余串行接口指令更新状态进行查询,根据查询结果不
同执行不同的操作;

2、步骤1中,当冗余串行接口中的接口A及接口B指令均已更新,则获取接口A及接
口B指令对应帧计数,并比较冗余串行接口帧计数与上一帧有效指令帧序号,帧计数从0开
始,在测试过程中连续增加;

3、步骤2中,当接口A帧计数大于上一帧有效指令帧序号且接口B帧计数不大于上
一帧有效指令帧序号时,解析接口A对应关键指令并发送至外部相应执行部件,将接口A帧
计数更新为上一帧有效指令帧序号;

4、步骤2中,当接口B帧计数大于上一帧有效指令帧序号且接口A帧计数不大于上
一帧有效指令帧序号时,解析接口B对应关键指令并发送至外部相应执行部件,并将接口B
帧计数更新为上一帧有效指令帧序号;

5、步骤2中,当接口A及接口B帧计数均大于上一帧有效指令帧序号时,对接口A及
接口B帧计数进行大小进行判别;

6、步骤5中,当接口A帧计数大于接口B帧计数时,解析接口A对应关键指令并发送
至外部相应执行部件,并将接口A帧计数更新为上一帧有效指令帧序号,结束指令有效性判
断流程;

7、步骤5中,当接口B帧计数大于接口A帧计数时,解析接口B对应关键指令并发送
至外部相应执行部件,并将接口B帧计数更新为上一帧有效指令帧序号,结束指令有效性判
断流程;

8、步骤1中,当冗余串行接口中的接口A指令已更新,接口B指令未更新,则比较接
口A指令对应帧计数与上一帧有效指令帧序号;

9、步骤8中,若接口A指令帧计数大于上一帧有效指令帧序号,解析接口A对应关键
指令并发送至外部相应执行部件,并将接口A帧计数更新为上一帧有效指令帧序号,结束指
令有效性判断流程;

10、步骤8中,若接口A指令帧计数不大于上一帧有效指令帧序号,则丢弃接口A指
令,结束指令有效性判断流程;

11、步骤1中,当冗余串行接口中的接口B指令已更新,接口A指令未更新,则比较接
口B指令对应帧计数与上一帧有效指令帧序号;

12、步骤11中,若接口B指令帧计数大于上一帧有效指令帧序号,解析接口B对应关
键指令并发送至外部相应执行部件,并将接口B帧计数更新为上一帧有效指令帧序号,结束
指令有效性判断流程;

13、步骤11中,若接口B指令帧计数不大于上一帧有效指令帧序号,则丢弃接口B指
令,结束指令有效性判断流程。

(四)数据输出模块

如图5所示,数据输出模块的工作流程如下:

1、待输出数据生成后,数据输出模块根据帧格式定义为其添加帧头,作为接收方
识别消息起始的标志,待输出数据包括串行接口发送器发送的关键指令数据及串行接口接
收器发送的测试状态数据;

2、添加帧头后,数据输出模块根据帧格式定义为待输出数据帧ID,作为接收方识
别消息类型的标志;

3、更新待输出数据至帧格式数据区;

4、计算数据区中待输出数据校验值,更新校验值至帧格式校验值区域,作为接收
方校验传输过程的标志;

5、计算待输出数据长度,更新长度值至帧格式数据长度区域,作为接收方计算帧
头位置的依据;

6、根据帧格式定义为待输出数据添加帧尾,作为接收方识别消息结束的标志;

7、封装完成的输出数据,分别通过冗余串行接口的接口1和接口2逐字节发送完成
后,结束数据输出流程。

一种基于串口冗余策略的关键测试指令传输方法,步骤如下:

(1)发送方设置帧计数,初始值为0;根据测试需求,在当前传输周期,将帧计数加
1,并将待传输的关键指令与帧计数封装后采用双冗余串行接口的方式进行发送;

(2)接收方接收封装后的关键指令与帧计数,并存放在串行接口循环队列中,执行
步骤(3);

(3)判断上述循环队列中的数据长度是否大于最小完整帧,若大于,则转步骤(4);
否则,进入下一传输周期转步骤(1);

(4)对循环队列中的数据进行完整及一致性判断,若满足条件,则从循环队列中获
取数据并执行步骤(5);否则,进入下一传输周期转步骤(1);所述的完整及一致性判断步骤
如下:

(4.1)根据帧格式从循环队列头指针开始寻找帧尾,若找到帧尾,则转(4.2);否
则,进入下一传输周期转步骤(1);

(4.2)根据帧格式中帧长度位置与帧尾的偏移量,从循环队列中获取当前帧长度;
进而根据帧长度计算帧头在循环队列中的位置;

(4.3)获取帧头,将帧头与帧格式进行一致性判断,若帧头与帧格式一致,则转
(4.4),否则从循环队列中读出错误数据并丢弃,进入下一传输周期转步骤(1);

(4.4)根据校验值位置与帧尾偏移量获取当前数据校验值,并根据接收的数据区
中的数据重新计算校验值,对接收校验值与计算校验值进行比对;若二者一致,则从队列中
获取数据;若不一致,则从循环队列中读出错误数据并丢弃,进入下一传输周期转步骤(1)。

(5)从获取的数据中进一步读取数据区中的数据,根据接收的数据区中的数据,判
断冗余串行接口中的两个接口的指令更新状态,当两个接口指令均更新,则执行步骤(6),
若只有一个接口的指令更新,则执行步骤(7),否则,进入下一传输周期转步骤(1);

(6)获取两个接口对应数据中的帧计数,当一个接口记为接口A的帧计数大于记录
的有效指令帧序号且另一接口记为接口B的帧计数不大于记录的有效指令帧序号时,则解
析接口A对应的关键指令,并发送至外部相应执行部件,发送关键指令的接收、解析状态至
发送方,并将接口A的帧计数记录为有效指令帧序号;当两个接口的帧计数都大于记录的有
效指令帧序号,则进一步比较两个接口的帧计数,将帧计数较大的接口对应的关键指令进
行解析,并发送至外部相应执行部件,发送关键指令的接收、解析状态至发送方,并将该接
口的帧计数记录为有效指令帧序号;当两个接口的帧计数都不大于记录的有效指令帧序号
时,则丢弃接收的数据,发送关键指令的接收、解析状态至发送方,进入下一传输周期转步
骤(1);所述的有效指令帧序号的初始值为0;

(7)获取该接口对应数据中的帧计数,判断该帧计数是否大于记录的有效指令帧
序号,若大于,则解析该接口对应的关键指令,并发送至外部相应执行部件,发送关键指令
的接收、解析状态至发送方,并将该接口的帧计数记录为有效指令帧序号;否则丢弃接收的
数据,发送关键指令的接收、解析状态至发送方,进入下一传输周期转步骤(1)。

本发明未详细说明部分属于本领域技术人员公知常识。

一种基于串口冗余策略的关键测试指令传输系统及方法.pdf_第1页
第1页 / 共16页
一种基于串口冗余策略的关键测试指令传输系统及方法.pdf_第2页
第2页 / 共16页
一种基于串口冗余策略的关键测试指令传输系统及方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种基于串口冗余策略的关键测试指令传输系统及方法.pdf》由会员分享,可在线阅读,更多相关《一种基于串口冗余策略的关键测试指令传输系统及方法.pdf(16页珍藏版)》请在专利查询网上搜索。

一种基于串口冗余策略的关键测试指令传输系统及方法,系统包括串行接口发送器和串行接口接收器;其中,串行接口发送器包括数据输出模块、数据接收模块、数据帧格式判断模块;串行接口接收器包括数据接收模块、数据帧格式判断模块、指令有效性判断模块及数据输出模块;本发明当在干扰条件下两个节点通过串行接口进行关键测试指令交互时,单路串口双向失效或双路串口单向失效的情况下,仍能保证节点数据通信的可靠性,避免在强电磁干。

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

当前位置:首页 > 电学 > 电通信技术


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