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

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

【技术实现步骤摘要】
一种基于串口冗余策略的关键测试指令传输系统及方法
本专利技术涉及航空航天、可靠性和串行接口消息处理领域,特别涉及一种基于串口冗余策略的关键测试指令传输方法。
技术介绍
串行接口由于其传输速率高、可靠性高、技术成熟、易于扩展等优点,在航空航天系统电气设备互联中得到了广泛的应用。串行接口一般采用点对点的连接方式,相比总线接口,物理层、链路层及协议层均有所简化,提高易用性的同时降低使用成本。串行接口的操作实体一般包括发送器和接收器,其中发送器接收协议层数据,通过链路层增加传输协议后,经物理层发送到接收器物理层,再经接收器链路层解析协议,获取传输数据后由协议层进行应用。发送器协议层的数据为二进制数据量,经协议层发送时增加起始位、校验位和停止位,物理层按照起始位、数据位、校验位和停止位的顺序依次通过差分电缆向接收器传输数据。接收器物理层从差分电缆接收数据后,协议层对起始位、数据位、校验位和停止位的有效性进行判断,判断无误后将数据位送入协议层,待协议层使用。常用串口在传输电缆及协议层已经增加了可靠性措施,提高了数据传输的可靠性,但在干扰环境下,以上措施仍不足以保障串行接口通信的高可靠性,为了解决干扰环境下串行接口可靠性降低的问题,提出一种基于串口冗余策略的关键测试指令传输系统及方法。从文献中看,国内外尚未针对通过串行接口传输的关键测试指令高可靠性处理的实例,因此,提出一种基于串口冗余策略的关键测试指令高可靠性传输方法。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,提供一种基于串口冗余策略的关键测试指令传输系统及方法。本专利技术的技术解决方案是:一种基于串口冗余策略的关键测试指令传输系统,包括串行接口发送器和串行接口接收器;其中,串行接口发送器包括数据输出模块、数据接收模块、数据帧格式判断模块;串行接口接收器包括数据接收模块、数据帧格式判断模块、指令有效性判断模块及数据输出模块;串行接口发送器的数据输出模块与串行接口接收器的数据接收模块、以及串行接口接收器的数据输出模块与串行接口发送器的数据接收模块之间通过冗余串行接口进行数据交互;数据输出模块,对待输出数据进行数据帧封装后,查询输出状态,在输出状态为闲时,分别通过冗余串行接口向数据接收模块发送封装的数据;所述的待输出数据对于串行接口发送器为关键指令和帧计数,每次关键指令发送时,帧计数加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;对于串行接口接收器,为关键指令的接收、解析状态;数据接收模块启动数据接收后,查询冗余串行接口接收状态,当状态为非空时,接收所有串行接口数据存放在冗余串行接口循环队列中;否则继续查询冗余串行接口接收状态,等待接收串行接口数据;数据帧格式判断模块,判断冗余串行接口循环队列中的数据的长度是否超过最小完整帧长,若超过,则并对数据的完整性进行判断,当接收到一帧完整数据时,将完整数据帧从数据帧头、数据区、校验和以及数据帧尾四个方面判断确定当前数据帧是否为有效数据帧,当有效时,从队列中获取数据,将数据区中的数据输出至指令有效性判断模块;当无效时,丢弃该数据帧;指令有效性判断模块对输入数据中的帧计数进行判断,当该帧计数对应关键指令未执行时,解析关键指令并发送至外部相应执行部件,当该帧计数对应指令已执行时,丢弃该指令;并将关键指令的接收、解析状态发送至数据输出模块。...

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

【专利技术属性】
技术研发人员:窦小明谭佳琳毛强金娜李彬吴晓蕊杨飞王毅丛薇
申请(专利权)人:北京临近空间飞行器系统工程研究所中国运载火箭技术研究院
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1