专利名称:一种串口数据故障注入方法和装置的制作方法
技术领域:
本发明涉及异步串行通信UART接口标准、信号采集和处理领域。
背景技术:
异步串行通信UART,例如RS-232等,大量应用在工业控制、航空、航天、兵器、船舶等行业。在对高可靠性、高稳定性设备来说,数据通信的可靠性至关重要。
发明内容
本发明要解决的技术问题是,提供一种串口数据故障注入方法和装置,能够灵活地改变串口数据的传输速度,且故障注入可重复实现,可量化操作。 为了解决上述技术问题,本发明提出一种串口数据故障注入方法,包括根据配置的输入信号波特率采集串口数据;根据配置的输出信号波特率输出采集到的串口数据。进一步地,上述方法还可具有以下特点所述串口数据包括多个传输帧;所述传输帧至少包括起始位、数据位、停止位;在采集串口数据时,是以传输帧为单位采集串口数据;在输出串口数据时,是以传输帧为单位输出串口数据。进一步地,上述方法还可具有以下特点所述以传输帧为单位采集串口数据包括采用所述配置的输入信号波特率的N倍频的采样方式对串口数据采样,分析得到的采样电平,在判断出所述电平从停止位对应的电平跳变为起始位对应的电平,且连续检
测到「N/21个起始位对应的电平时,认为采集到传输帧的起始位,依次判断所述传输帧中
起始位之后的其余各位对应的N个采样电平,对每一位对应的N个电平中的M个电平值进行统计,选择比例大的电平值作为最终采集到的该位的电平;N为大于2的正整数;N为奇数时,M = N;N为偶数时,M = N-1。进一步地,上述方法还可具有以下特点在采集串口数据时,采集到一个传输帧的所有位之后,将所述传输帧的各位并行写入一先进先出(FIFO)存储器;在输出串口数据时,从所述FIFO存储器中读取传输帧,将所述传输帧中的各位按照串行方式顺序输出。进一步地,上述方法还可具有以下特点所述停止位为(L+1/K)bit ;L, K均为正整数;在输出串口数据时,是以配置的输出信号波特率的K倍频的方式输出串口数据。为了解决上述技术问题,本发明还提出一种串口数据故障注入装置,包括采集模块,用于根据配置的输入信号波特率采集串口数据;
输出模块,与所述采集模块相连,用于根据配置的输出信号波特率输出所述采集模块采集到的串口数据。进一步地,上述装置还可具有以下特点所述采集模块,用于以传输帧为单位采集串口数据;所述传输帧至少包括起始位、数据位、停止位;所述输出模块,用于以传输巾贞为单位输出串口数据。进一步地,上述装置还可具有以下特点所述采集模块包括采样单元,用于以所述配置的输入信号波特率的N倍频的采样方式对串口数据采样; 分析处理单元,与所述采样单元相连,用于分析所述采样单元采样得到的采样电
平,在判断出所述电平从停止位对应的电平跳变为起始位对应的电平,且连续得到「N/21
个起始位对应的电平时,认为采集到传输帧的起始位,依次判断所述传输帧中起始位之后的其余各位对应的N个采样电平,对每一位对应的N个电平中的M个电平值进行统计,选择比例大的电平值作为最终采集到的该位的电平,从而采样得到一个传输帧;其中,N为大于2的正整数;N为奇数时,M = N5N为偶数时,M = N-I0进一步地,上述装置还可具有以下特点还包括先进先出(FIFO)存储器所述采集模块,在采集串口数据时,采集到一个传输帧的所有位之后,将所述传输帧的各位并行写入所述先进先出(FIFO)存储器;所述输出模块,在输出串口数据时,从所述FIFO存储器中读取传输帧,将所述传输帧中的各位按照串行方式顺序输出。进一步地,上述装置还可具有以下特点所述采集模块,采集到的传输帧的停止位为(L+1/K)bit ;L, K均为正整数;所述输出模块,在输出串口数据时,是以配置的输出信号波特率的K倍频的方式输出串口数据。本发明提供的一种串口数据故障注入方法和装置,能够灵活地改变串口数据的传输速度,且故障注入可重复实现,可量化操作。
图I是本发明实施例一种串口数据故障注入方法流程图;图2是本发明实施例一种具体的传输巾贞格式不意图;图3是本发明实施例一种串口数据故障注入装置方框图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。参见图1,该图示出了本发明实施例一种串口数据故障注入方法,包括步骤
步骤SlOl :根据配置的输入信号波特率采集串口数据;步骤S102 :根据配置的输出信号波特率输出采集到的串口数据。本发明实施例巧妙地设计了串口数据波特率调节故障注入功能,能够非侵入式地实现波特率故障注入,不需要对进行故障注入的对象进行任何改变,即可轻松完成对目标的逆向测试,为有效检验串口数据传输可靠性提供了一种验证手段,从而能够有效监控串口数据传输可靠性。其中,所述串口数据包括多个传输帧(WORD)。其中,所述传输帧至少包括起始位、数据位、停止位。图2给出了一种具体的传输帧格式,其中,各位的配置可以如下起始位lbit;
数据位4bit 9bit ;校验位无校验位、奇校验、偶校验、固定为0或者固定为I ;停止位lbit、l.5bit 或者 2bit。在另一实施例中,所述传输帧中的各位的类型,以及每位占用的比特数可以根据实际需要配置,本发明在此不做限制。相应地,在执行步骤SlOl时,以所述传输帧为单位采集串口数据;在执行步骤S102时,以所述传输帧为单位输出串口数据。较佳地,可以采用如下方法采集串口数据采用所述配置的输入信号波特率的N倍频的采样方式对串口数据采样,分析得到的采样电平,在判断出所述电平从停止位对应的电平跳变为起始位对应的电平,且连续检
测到「N/21个起始位对应的电平时,认为采集到传输帧的起始位,依次判断所述传输帧中起始位之后的其余各位对应的N个采样电平,对每一位对应的N个电平中的M个电平值进行统计,选择比例大的电平值作为最终采集到的该位的电平。其中,N为大于2的正整数;N为奇数时,M = N ;N为偶数时,M = N-I。本发明实施例采用N倍频的采样方式,能够有效地提高信号采集的抗干扰能力。较佳地,在采集到一个传输帧的所有位之后,可以将所述传输帧的各位并行写入一先进先出(FIFO)存储器。在输出串口数据时,从所述FIFO存储器中读取传输帧,将所述传输巾贞中的各位按照串行方式顺序输出。米用本发明技术方案,可以在增加最多一个传输帧时长的延迟情况下,即可对线路上的传输帧进行波特率调节。较佳地,可以配置所述停止位为(L+1/K)bit ;L,K均为正整数。相应地,在输出串口数据时,以配置的输出信号波特率的K倍频的方式输出串口数据,从而确保输出信号的最小脉冲宽度为1/Kbit。较佳地,可以配置故障注入的触发条件为采用手动或按时间间隔的方式触发。并按照所述配置的故障注入触发条件,触发故障注入。下面以一具体实例进一步说明上述串口数据采集方法。配置的传输帧的起始位为Ibit宽度的0电平,停止位为I. 5bit的I电平。串口数据采集部分包括起始位的采集采用配置的输入信号波特率8倍频采样方式对串口数据进行采集,当检测到从Ibit跳变为Obit后,能采集到4个连续0电平时,认为采集到起始位。
其他位的采集在采集到传输帧的起始位后,对其他位进行采集,依然采用8倍频采样方式对信号进行采集,对每位信号采样8次,对8次采样的后7次采样的0/1电平进行统计处理,用采样多的电平作为该位的信号电平。米集到I个传输巾贞的所有位后,将该传输巾贞写入FIFO存储器中;串口数据输出部分包括在输出串口数据时,以配置的输出信号波特率的2倍频的方式输出串口数据,从而确保输出信号的最小脉冲宽度为0. 5bit。为了实现上述串口数据故障注入方法,本发明实施例还提供了一种串口数据故障注入装置,如图3所示,包括采集模块,用于根据配置的输入信号波特率采集串口数据; 输出模块,与所述采集模块相连,用于根据配置的输出信号波特率输出所述采集模块采集到的串口数据。 其中,所述采集模块,以传输帧为单位采集串口数据。其中,所述传输帧至少包括起始位、数据位、停止位。所述输出模块,以传输帧为单位输出串口数据。较佳地,所述采集模块可以包括采样单元,用于以所述配置的输入信号波特率的N倍频的采样方式对串口数据采样;分析处理单元,与所述采样单元相连,用于分析所述采样单元采样得到的采样电
平,在判断出所述电平从停止位对应的电平跳变为起始位对应的电平,且连续得到「N/21
个起始位对应的电平时,认为采集到传输帧的起始位,依次判断所述传输帧中起始位之后的其余各位对应的N个采样电平,对每一位对应的N个电平中的M个电平值进行统计,选择比例大的电平值作为最终采集到的该位的电平,从而采样得到一个传输帧;其中,N为大于2的正整数;N为奇数时,M = N5N为偶数时,M = N-I0较佳地,串口数据故障注入装置还可以包括先进先出(FIFO)存储器。所述采集模块,在采集串口数据时,采集到一个传输帧的所有位之后,将所述传输帧的各位并行写入所述先进先出(FIFO)存储器。相应地,所述输出模块,在输出串口数据时,从所述FIFO存储器中读取传输巾贞,将所述传输巾贞中的各位按照串行方式顺序输出。较佳地,所述采集模块,采集到的传输帧的停止位可以为(L+1/K)bit ;L,K均为正整数。相应地,所述输出模块,在输出串口数据时,将以配置的输出信号波特率的K倍频的方式输出串口数据。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种串口数据故障注入方法,其特征在于,包括 根据配置的输入信号波特率采集串口数据; 根据配置的输出信号波特率输出采集到的串口数据。
2.如权利要求I所述的方法,其特征在于 所述串口数据包括多个传输帧;所述传输帧至少包括起始位、数据位、停止位; 在采集串口数据时,是以传输帧为单位采集串口数据; 在输出串口数据时,是以传输帧为单位输出串口数据。
3.如权利要求2所述的方法,其特征在于,所述以传输帧为单位采集串口数据包括 采用所述配置的输入信号波特率的N倍频的采样方式对串口数据采样,分析得到的采 样电平,在判断出所述电平从停止位对应的电平跳变为起始位对应的电平,且连续检测到「N/2]个起始位对应的电平时,认为采集到传输帧的起始位,依次判断所述传输帧中起始位之后的其余各位对应的N个采样电平,对每一位对应的N个电平中的M个电平值进行统计,选择比例大的电平值作为最终采集到的该位的电平; N为大于2的正整数; N为奇数时,M = N ;N为偶数时,M = N-I0
4.如权利要求2或3所述的方法,其特征在于 在采集串口数据时,采集到一个传输帧的所有位之后,将所述传输帧的各位并行写入一先进先出(FIFO)存储器; 在输出串口数据时,从所述FIFO存储器中读取传输帧,将所述传输帧中的各位按照串行方式顺序输出。
5.如权利要求2或3所述的方法,其特征在于 所述停止位为(L+1/K)bit ;L,K均为正整数; 在输出串口数据时,是以配置的输出信号波特率的K倍频的方式输出串口数据。
6.一种串口数据故障注入装置,其特征在于,包括 采集模块,用于根据配置的输入信号波特率采集串口数据; 输出模块,与所述采集模块相连,用于根据配置的输出信号波特率输出所述采集模块采集到的串口数据。
7.如权利要求6所述的装置,其特征在于 所述采集模块,用于以传输帧为单位采集串口数据;所述传输帧至少包括起始位、数据位、停止位; 所述输出模块,用于以传输巾贞为单位输出串口数据。
8.如权利要求7所述的装置,其特征在于,所述采集模块包括 采样单元,用于以所述配置的输入信号波特率的N倍频的采样方式对串口数据采样; 分析处理单元,与所述采样单元相连,用于分析所述采样单元采样得到的采样电平,在判断出所述电平从停止位对应的电平跳变为起始位对应的电平,且连续得到「N/21个起始位对应的电平时,认为采集到传输帧的起始位,依次判断所述传输帧中起始位之后的其余各位对应的N个采样电平,对每一位对应的N个电平中的M个电平值进行统计,选择比例大的电平值作为最终采集到的该位的电平,从而采样得到一个传输帧;其中,N为大于2的正整数;N为奇数时,M = N;N为偶数时,M = N-I0
9.如权利要求7或8所述的装置,其特征在于,还包括先进先出(FIFO)存储器 所述采集模块,在采集串口数据时,采集到一个传输帧的所有位之后,将所述传输帧的各位并行写入所述先进先出(FIFO)存储器; 所述输出模块,在输出串口数据时,从所述FIFO存储器中读取传输帧,将所述传输帧中的各位按照串行方式顺序输出。
10.如权利要求7或8所述的装置,其特征在于 所述采集模块,采集到的传输帧的停止位为(L+1/K)bit ;L,K均为正整数; 所述输出模块,在输出串口数据时,是以配置的输出信号波特率的K倍频的方式输出串口数据。
全文摘要
本发明提供了一种串口数据故障注入方法和装置,该方法包括根据配置的输入信号波特率采集串口数据;根据配置的输出信号波特率输出采集到的串口数据。该方法能够灵活地改变串口数据的传输速度,且故障注入可重复实现,可量化操作。
文档编号G06F13/38GK102779104SQ20111011748
公开日2012年11月14日 申请日期2011年5月9日 优先权日2011年5月9日
发明者付景志, 彭时涛 申请人:北京旋极信息技术股份有限公司