用于数据链路层的并行自测试装置及其方法

文档序号:7552598阅读:169来源:国知局
专利名称:用于数据链路层的并行自测试装置及其方法
技术领域
本发明主要涉及到通信传输领域,特指一种用于数据链路层的并行自测试装置及其方法。
背景技术
目前,各种高速数据通信协议都是基于层次化的报文传输协议。互连通信协议如:QuickPath Interface、HyperTransport、PC1-Express、Infiniband 都是基于此技术的实例。一种典型的传输协议从上而下分别是软件层、处理层、数据链路层(简称为链路层)和物理层,每个层次都包含发送端和接收端,并且各个层次实现相对独立,易于重用或升级。在通信协议的物理层中,基于点对点的高速串行通信技术广泛应用于系统内部芯片间或者处理器间的互连,采用的通信链路通常包含多条独立的物理传输通道以提高传输带宽。每条物理传输通道包含收、发两个方向,可以实现双向数据同时传输,称为收发器。高速串行收发器具有极高的传输速度和相对的独立性,在外部接口上直接捕获输出信号具有很大困难,通常会被封装为独立IP,且内置针对一条传输通道的内建自测试电路。内建自测试(BIST-build-1n self test)技术是一种将可测试性直接设计到芯片里的技术,在芯片内部有自行产生信号,自行检测信号的能力。内建自测试不仅可以指导高速收发器的设计,而且是评估收发器通信信号质量的重要依据。目前,各种高速数据通信协议都是基于层次化的传输协议。如图1所示,为一种典型的基于点对点的高速串行传输协议层次示意图。该传输协议从上而下分别是软件层、处理层、数据链路层(简称为链路层)和物理层,各个层次实现相对独立,易于重用或升级。其中,每个层次都可以分为发送端(发送模块)和接收端(接收模块),分别负责报文/数据的发送和接收。软件层用来实现与用户接口、配置和中断处理等。处理层用来负责数据报文组织、路由等功能。数据链路层用来实现报文的可靠传输,可靠性传输通过CRC检错和重传机制实现,与具体采用的物理通道类型和通道数量无关。数据链路层中的逻辑分为三大部分,分别是发送模块、接收模块和控制模块。数据链路层的发送模块接收处理层发送的数据报文,添加可靠传输所需的额外信息,如序列号、CRC,并且通常使用重传机制,另外链路层还生成链路层控制报文,在相互通信的链路两端进行信息交互。链路层数据报文和控制报文经过多路复用向下层传输报文。数据链路层的接收模块则把从下层接收的报文进行多路分解,还原为链路层数据报文和控制报文,检查报文是否出错,如通过序列号和CRC校验。链路状态是物理层给出的就绪信号,表示物理层是否已经准备好向链路层提供服务。数据链路层的控制模块收集发送、接收模块送来的信息,如序列号、CRC校验结果,通过发送仲裁控制发送模块中报文的发送类型,如是否允许发送链路层数据报文、是否启动重传、是否发送链路层控制报文。物理层用来实现数据流在实际物理链路的高速传输,向上服务于数据链路层,向下连接各种传输媒介(称为物理链路,或者简称链路),可以采用不同的传输介质和通道宽度。图中的物理链路包含N条通道。物理层发送模块把数据链路层发送的报文按字节拆分,分配到多个传输通道中,接收模块则把各传输通道接收到的数据进行字节组装,然后提交给上层。通常生产厂商在物理层的各通道上已经内置了 BIST测试装置,BIST测试位于字节拆分之下,只针对一条物理通道进行测试,而没有提供对绑定后的多通道进行并行测试。BIST测试装置通常包含BIST控制、BIST测试模式产生器和BIST输出响应分析器。BIST控制负责接收用户指令,启动或者停止BIST测试模式产生器和BIST输出响应分析器。用户指令可能来自EEPROM、FLASH、各种总线输入等。BIST控制接收到测试启动信号后,启动BIST测试模式产生器和BIST输出响应分析器;BIST控制接收到测试停止信号后,停止BIST测试模式产生器和BIST输出响应分析器。BIST测试模式产生器输出的数据与经过字节拆分的数据通过多路复用共用传输通道。BIST测试模式发生器产生输出测试序列给被测通道,BIST测试模式发生器可以是硬件电路R0M、LFSR(Linear Feedback Shift Register)、二进制计数器、改进计数器、ROM与LFSR缎合电路及细胞自动机等,这些序列可以是穷举测试序列、伪穷举测试序列、伪随机测试序列(PRBS)、加权伪随机测试序列、细胞自动生成序列。实际电路中通常用LFSR产生穷举测试序列和伪随机测试序列。BIST输出响应分析器接收通道在测试序列下产生的输出结果,并将该结果进行相应处理作出相应的故障诊断和定位。收发器内置的BIST电路仅仅测试单独的一条通道,而没有提供对绑定后的多通道进行并行测试,并行测试通常依赖软件实现。收发器内置的BIST电路通常需要同时启动发送端和接收端的控制信号才能进行BIST测试。在数据链路层中提供BIST功能,使通信链路具有独立测试能力,可以提供一种快捷的测试手段,不仅缩短测试时间,而且可以在数据链路层上对通信链路传输质量进行精确的评估。尤其是,如果发送端和接收端采用不同厂家的收发器,其BIST功能通常不互相兼容,这将导致无法直接使用内置BIST功能。

发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、易实现、兼容性好、实用性强的用于数据链路层的用于数据链路层的并行自测试装置及其方法。为解决上述技术问题,本发明采用以下技术方案:
一种用于数据链路层的并行自测试装置,包括:
BIST使能模块,用来控制是否启动链路层BIST测试;
链路状态模块,用来表示并输出当前物理层所处状态;
控制模块,用来进行数据源仲裁,仲裁逻辑根据当前链路状态和BIST使能位,选择发送不同的报文;
BIST控制器,用来启动、停止BIST测试并收集BIST测试状态;BIST控制器根据BIST使能位和链路状态信号的值产生start、stop信号,发送到BIST启动/停止报文产生器;BIST控制器的内部维护两个状态信号TX_W0RKING和RX_W0RKING,分别表示BIST测试模式产生器和BIST输出响应分析器是否已经开始工作;
BIST启动/停止报文产生器,位于BIST序列报文发送端,用来产生BIST启动报文和BIST停止报文;当接收到BIST控制器送来的start信号时,产生BIST启动报文,然后发送使能信号给BIST测试模式产生器,同时置TX_WORKING为有效;当接收到BIST控制器送来的stop信号时,产生BIST停止报文,发送使能无效信号给BIST测试模式产生器,同时置TX_WORKING 为无效;
BIST测试模式产生器,位于BIST序列报文发送端,用来根据BIST启动/停止报文产生器发送来的信号产生测试序列;
BIST序列报文封装器,位于BIST序列报文发送端,用来接收BIST测试模式产生器产生的测试序列,添加报文类型域,封装为链路层控制报文格式,然后发送到多路复用逻辑进行传输;
BIST序列报文去封装器,位于BIST序列报文接收端,用来接收BIST序列报文,去掉BIST序列中的报文类型域,还原为BIST测试模式产生器产生的测试序列,提交给BIST输出响应分析器;
BIST启动/停止报文检测器,位于BIST序列报文接收端,用来从物理链路接收报文,判断是否有BIST相关报文到达,从而启动和停止BIST输出响应分析器;
BIST输出响应分析器,位于BIST序列报文接收端,用来对接收到的BIST测试序列进行分析,判断是否发生错误,并做出相应的故障诊断和定位。作为本发明的进一步改进:
所述控制模块在当链路状态无效时,停止发送任何报文;当链路状态有效且BIST使能位为有效时,仲裁部件禁止发送链路层数据报文、链路层控制报文,只允许发送BIST相关报文;当链路状态有效且BIST使能位为无效时,仲裁逻辑禁止发送BIST相关报文,只允许发送链路层数据报文和链路层控制报文。所述BIST控制器当检测到BIST使能位从无效变为有效并且链路状态为有效时,向BIST启动/停止报文产生器发送start信号;当BIST控制器检测到BIST使能位从有效变为无效并且链路状态为有效时,BIST控制器向BIST启动/停止报文产生器发送stop信号。所述BIST启动/停止报文产生器在向BIST测试模式产生器发送使能信号后,同时会把TX_W0RKING置为有效;
所述BIST启动/停止报文产生器在向BIST测试模式产生器发送使能无效信号后,同时会把TX_W0RKING置为无效;
所述BIST启动/停止报文检测器在向BIST输出响应分析器发送使能信号后,同时会把RX_W0RKING置为有效;
所述BIST启动/停止报文检测器在向BIST输出响应分析器发送使能无效信号后,同时会把RX_W0RKING置为无效。本发明进一步提供一种采用上述装置进行并行自测试的方法,步骤为:
(I)、启动测试的过程包括以下步骤:
(1.1)测试人员设置BIST使能位有效,从而启动链路BIST测试;
(1.2)等待物理层链路状态信号有效,如果已经有效,则跳过该步骤,进入下一步,否则继续等待;
(1.3)数据源仲裁部件禁止链路层数据报文、链路层控制报文的发送,只允许BIST相关报文的发送;
(1.4) BIST控制器发现BIST使能位由无效变为有效,向BIST启动/停止报文产生器发送start信号;
(1.5) BIST启动/停止报文产生器发送BIST启动报文,然后向BIST测试模式产生器发送使能有效信号,同时会把TX_WORKING置为有效;
(1.6)BIST测试模式产生器接收到BIST启动/停止报文产生器送来的使能信号后,产生测试序列;
(1.7)BIST序列报文封装器把BIST测试模式产生器生成的测试序列封装为BIST序列报文并发送出去;
(1.8)BIST启动/停止报文检测器接收到BIST启动报文或连续的BIST序列报文,则向BIST输出响应分析器发送使能有效信号,同时会把RX_WORKING置为有效;
(1.9)BIST序列报文去封装器把接收到的BIST序列报文去掉封装,即去掉报文类型域,把报文携带的其他数据还原为BIST测试模式产生器生成的测试序列,提交给BIST输出响应分析器;
(1.10) BIST输出响应分析器对接收到的测试序列进行分析;
(2)通过BIST输出响应分析器接收分析测试结果;
(3)停止测试的过程包括以下步骤:
(3.1)测试人员设置BIST使能位为无效,停止链路BIST测试;
(3.2) BIST控制器发现BIST使能位从有效变为无效,向BIST启动/停止报文产生器发送stop信号;
(3.3) BIST启动/停止报文产生器发送BIST停止报文,然后向BIST测试模式产生器发送使能无效信号,同时会把TX_WORKING置为无效;
(3.4) BIST测试模式产生器接收到使能无效信号,停止产生BIST测试序列;
(3.5)数据源仲裁部件检测到使能位无效时,禁止BIST相关报文的发送,使能链路层数据报文、链路层控制报文的发送;
(3.6) BIST启动/停止报文检测器接收到BIST停止报文或连续的非BIST序列报文,则向BIST输出响应分析器发送使能无效信号,同时把RX_WORKING置为无效;
(3.7)BIST输出响应分析器接收到BIST启动/停止报文检测器送来的使能无效信号,停止对BIST序列进行检测。与现有技术相比,本发明的优点在于:本发明的用于数据链路层的并行自测试装置及其方法,原理简单、易实现、兼容性好、实用性强,通过在链路层上实现了对绑定后的多条物理通道进行并行测试,而不是针对某一条通道的测试,可以更好地反映出通信链路的质量;本发明不需要执行高层软件协议即可进行测试,从而简化了测试过程,缩短了测试时间;本发明不依赖收发器内置BIST功能,从而克服了不同厂家的收发器BIST功能互不兼容的问题。


图1是典型层次化传输协议的原理示意图。图2是典型的报文格式的示意图。
图3是应用本发明后新增的报文类型示意图。图4是应用本发明后数据链路层的示意图。图5是应用本发明装置后启动BIST测试时的流程示意图。图6是应用本发明装置后停止BIST测试时的流程示意图。
具体实施例方式以下将结合说明书附图和具体实施例对本发明做进一步详细说明。如图4所示,为应用本发明后增加了 BIST测试功能的数据链路层结构示意图。BIST使能模块(S卩:BIST使能位),用来控制是否启动链路层BIST测试。测试人员可以通过总线命令(如I2C、SMbus)、配置寄存器(如EEPROM、FLASH)设置该位,如果设置为有效,表示启动链路BIST测试,如果为无效,表示停止链路BIST测试。链路状态模块,用来表示和输出当前物理层所处状态。当物理层加电,并准备好向数据链路层服务服务时,会给出状态指示信号;若链路状态为有效,表示物理层已经准备就绪,数据链路层可以向物理层发送行报文发送,也可以从物理层接收报文;若链路状态为无效,表示物理层尚未准备就绪,数据链路层不能进行报文的发送和接收。在高速链路传输协议中,物理层需要定位每个通道的字符边界,进行多通道字节对齐等操作,只有这些工作完成后,才能向链路层发送有效信号。这是目前分层网络传输协议的标准做法。控制模块是数据链路层的重要组成,负责收集发送模块、接收模块、物理层的状态信息,重要功能是进行数据源仲裁。仲裁逻辑会根据当前链路状态和BIST使能位,选择发送不同的报文。当链路状态无效时,停止发送任何报文。当链路状态有效且BIST使能位为有效时,仲裁部件禁止发送链路层数据报文、链路层控制报文,只允许发送BIST相关报文;当链路状态有效且BIST使能位为无效时,仲裁逻辑禁止发送BIST相关报文,只允许发送链路层数据报文和链路层控制报文。BIST控制器负责启动、停止BIST测试,收集BIST测试状态。BIST控制器根据BIST使能位和链路状态信号的值产生start、stop信号,发送到BIST启动/停止报文产生器。当BIST控制器检测到BIST使能位从无效变为有效并且链路状态为有效时,向BIST启动/停止报文产生器发送start信号;当BIST控制器检测到BIST使能位从有效变为无效并且链路状态为有效时,BIST控制器向BIST启动/停止报文产生器发送stop信号。BIST控制器的内部维护两个状态信号TX_W0RKING和RX_W0RKING,分别表示BIST测试模式产生器和BIST输出响应分析器是否已经开始工作。当BIST启动/停止报文产生器向BIST测试模式产生器发送使能信号后,同时会把TX_W0RKING置为有效,当BIST启动/停止报文产生器向BIST测试模式产生器发送使能无效信号后,同时会把TX_W0RKING置为无效。当BIST启动/停止报文检测器向BIST输出响应分析器发送使能信号后,同时会把RX_W0RKING置为有效,当BIST启动/停止报文检测器向BIST输出响应分析器发送使能无效信号后,同时会把RX_W0RKING置为无效。BIST启动/停止报文产生器位于BIST序列报文发送端,负责产生BIST启动报文和BIST停止报文。当BIST启动/停止报文产生器接收到BIST控制器送来的start信号时,产生BIST启动报文,然后发送使能信号给BIST测试模式产生器,同时置TX_W0RKING为有效;当BIST启动/停止报文产生器接收到BIST控制器送来的stop信号时,产生BIST停止报文,然后发送使能无效信号给BIST测试模式产生器,同时置TX_WORKING为无效。BIST启动报文和BIST停止报文与链路层控制报文具有相同的格式,只是采用不同的报文类型。如图2所示,为典型的报文格式,其包含不同的域,如报文类型、序列号、CRC、其他控制信息和数据等。报文是数据在网络中传输时的组织形式。在数据链路层中,报文类型分为两大类,分别是数据报文和控制报文,每种报文还细分为多种不同的子类型,不同子类型报文使用不同的编码来区分,如使用不同的8位二进制数,不同的编码值代表不同的报文类型,通常还有未使用的保留值。如图3所示,为应用本发明方法时新增加的三种报文类型:BIST启动报文类型、BIST停止报文类型、BIST序列报文类型。BIST启动报文类型与BIST停止报文类型在报文类型中使用不同的保留值,以区别于系统已有的报文类型,在其他各域的设置上与数据链路层控制报文一样。BIST序列报文类型在报文类型上使用不同的保留值,以区别于系统已有的报文类型,剩余的域均填充测试序列。测试序列的长度加上报文类型域的长度就是控制报文的总长度。BIST测试模式产生器位于BIST序列报文发送端,负责产生测试序列,采用通常的BIST测试模式产生器,如采用LFSR(Linear Feedback Shift Register)产生伪随机测试(PRBS)序列。BIST测试模式产生器接收到BIST启动/停止报文产生器发送来的使能信号时,产生测试序列,提交给BIST序列报文封装器。BIST测试模式产生器接收到BIST启动/停止报文产生器发送来的使能无效信号时,停止产生测试序列。BIST序列报文封装器位于BIST序列报文发送端,负责接收BIST测试模式产生器产生的测试序列,添加报文类型域,封装为链路层控制报文格式,然后发送到多路复用逻辑进行传输。BIST序列报文去封装器位于BIST序列报文接收端,负责接收BIST序列报文,去掉BIST序列中的报文类型域,还原为BIST测试模式产生器产生的测试序列,提交给BIST输出响应分析器。BIST启动/停止报文检测器位于BIST序列报文接收端,从物理链路接收报文,判断是否有BIST相关报文到达,从而启动和停止BIST输出响应分析器。当BIST启动/停止报文检测器接收到BIST启动报文,或者连续接收到特定数量(比如在指定时间T内接收到K个)的BIST序列报文时,发送使能信号给BIST输出响应分析器;当BIST启动/停止报文检测器接收到BIST停止报文,或者连续接收到特定数量(比如在指定时间T内接收到K个)的非BIST相关报文时,发送使能无效信号给BIST输出响应分析器。BIST输出响应分析器位于BIST序列报文接收端,采用通常的BIST输出响应分析器,对接收到的BIST测试序列进行分析,判断是否发生错误,并做出相应的故障诊断和定位。BIST输出响应分析器接收到BIST启动/停止报文检测器发送来的使能信号时,处理接收到的测试序列;BIST输出响应分析器接收到BIST启动/停止报文检测器发送来的使能无效信号时,停止处理接收到的测试序列。本发明进一步提供一种采用上述装置进行并行自测试的方法,步骤为:
(I)、如图5所示,为应用本发明启动BIST测试的流程示意图,启动测试的过程包括以下步骤:
(1.1)测试人员设置BIST使能位有效,从而启动链路BIST测试。在本实施例中,使能信号为I (逻辑高电平)时表示有效,为0 (逻辑低电平)时表示无效。测试人员可以通过总线命令(如I2C、SMbus)、配置寄存器(如EEPROM、FLASH)、边界扫描(JTAG)等方式设置该位。(1.2)等待物理层链路状态信号有效,如果已经有效,则跳过该步骤,进入下一步,否则继续等待。当物理层在加电运行后,需要确定字符边界、进行通道对齐等操作,只有当通道对齐结束后,才会给出链路状态有效信号。链路层在链路状态有效后才能发送数据报文和控制报文。(1.3)数据源仲裁部件禁止链路层数据报文、链路层控制报文的发送,只允许BIST相关报文的发送。数据源仲裁部件负责对发送报文的各数据源进行仲裁,决定是否允许其发送报文。本发明中链路层数据源包括数据报文、控制报文、BIST启动/停止报文、BIST序列报文;当BIST使能位有效时,数据源仲裁部件仅使能BIST启动/停止报文和BIST序列报文;当BIST使能位无效时,数据源仲裁部件使能数据报文和控制报文数据源,向数据源发送使能有效信号表示允许发送该种类型的报文,向数据源发送使能无效信号表示不允许发送该种类型的报文。(1.4) BIST控制器发现BIST使能位由无效变为有效,向BIST启动/停止报文产生器发送start信号。(1.5) BIST启动/停止报文产生器发送BIST启动报文,然后向BIST测试模式产生器发送使能有效信号,同时会把TX_W0RKING置为有效。BIST启动/停止报文产生器在接收到BIST控制器送来的start信号后,产生一个BIST启动报文并发送到物理链路上,由于不同的系统实现中,报文类型域的长度和取值、报文格式都有所区别,本发明并不限定BIST启动报文采用的报文类型取值,也不限定某种特定的报文格式。(1.6) BIST测试模式产生器接收到BIST启动/停止报文产生器送来的使能信号后,产生测试序列。本实施例中,采用LFSR产生伪随机测试序列。每次产生的测试序列长度是系统中链路层控制报文的长度减去报文类型的长度。通常每个时钟周期都会产生一个测试序列。BIST测试模式产生器和BIST序列报文封装器之间的数据通信接口包括数据和有效信号。数据是N位宽的测试序列,当有效信号为高电平时表示序列有效。(1.7) BIST序列报文封装器把BIST测试模式产生器生成的测试序列封装为BIST序列报文并发送出去。由于数据在链路层上都是按照报文进行组织,测试序列必须组织为报文的形式才能成功发送和接收,测试序列添加一个特定报文类型域(如未被其他报文使用的8位二进制编码)后就成为一种控制报文。而在物理层BIST测试中,则无需组织为报文,因为在物理层上数据以字节流的方式传输,没有报文的概念。上面都是在BIST测试发送端进行的,下面的过程在BIST测试的接收端接着进行。(1.8)BIST启动/停止报文检测器接收到BIST启动报文或连续的BIST序列报文,则向BIST输出响应分析器发送使能有效信号,同时会把RX_W0RKING置为有效。当网络中没有传输故障时,BIST启动/停止报文检测器会根据接收报文类型判断接收到BIST启动报文,从而得知发送端已经进入BIST测试;当网络中存在传输故障时,BIST启动报文可能会损坏或者丢失,BIST启动/停止报文检测器无法正确接收到BIST启动报文,但是由于后面会有BIST序列报文,而且通常每个时钟周期都会有一个序列报文到达,因此通过判断连续的BIST序列报文,BIST启动/停止报文检测器也可得知发送端已经进入BIST测试。(1.9)BIST序列报文去封装器把接收到的BIST序列报文去掉封装,即去掉报文类型域,把报文携带的其他数据还原为BIST测试模式产生器生成的测试序列,提交给BIST输出响应分析器。(1.10) BIST输出响应分析器对接收到的测试序列进行分析。BIST输出响应分析器在接收到BIST启动/停止报文检测器送来的使能有效信号后,即开始从BIST序列报文去封装器接收测试序列,对接收到的BIST测试序列进行分析,判断是否发生错误,并做出相应的故障诊断和定位。本案例中,BIST输出响应分析器采用与BIST测试模式产生器相同的LFSR产生伪随机测试序列,对接收到的数据进行验证。(2)至此,链路层BIST启动过程完成,系统操作人员可以通过BIST输出响应分析器接收分析测试结果。(3)如图6所示,为应用本发明时停止BIST测试的流程示意图,停止测试的过程包括以下步骤:
(3.1)测试人员设置BIST使能位为无效,停止链路BIST测试。测试人员可以通过总线命令(如I2C、SMbus)、配置寄存器(如EEPROM、FLASH)、边界扫描(JTAG)等方式设置该位。(3.2) BIST控制器发现BIST使能位从有效变为无效,向BIST启动/停止报文产生器发送stop信号。(3.3) BIST启动/停止报文产生器发送BIST停止报文,然后向BIST测试模式产生器发送使能无效信号,同时会把TX_W0RKING置为无效。BIST启动/停止报文产生器在接收到BIST控制器送来的stop信号后,产生一个BIST停止报文并发送到物理链路上,由于不同的系统实现中,报文类型域的长度和取值、报文格式都有所区别,本发明并不限定BIST停止报文采用的报文类型取值,也不限定某种特定的报文格式。(3.4) BIST测试模式产生器接收到使能无效信号,停止产生BIST测试序列。(3.5)数据源仲裁部件检测到使能位无效时,禁止BIST相关报文的发送,使能链路层数据报文、链路层控制报文的发送。(3.6)BIST启动/停止报文检测器接收到BIST停止报文或连续的非BIST序列报文,则向BIST输出响应分析器发送使能无效信号,同时把RX_W0RKING置为无效。当网络中没有传输故障时,BIST启动/停止报文检测器会根据接收报文类型判断接收到BIST停止报文,从而得知发送端已经停止BIST测试;当网络中存在传输故障时,BIST停止报文可能会损坏或者丢失,BIST启动/停止报文检测器无法正确接收到BIST停止报文,但是由于后面会有非BIST序列报文,而且通常每个时钟周期都会有一个报文到达,因此通过判断连续的非BIST序列报文,BIST启动/停止报文检测器也可得知发送端已经停止BIST测试。(3.7) BIST输出响应分析器接收到BIST启动/停止报文检测器送来的使能无效信号,停止对BIST序列进行检测。至此,链路层BIST测试过程停止。以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
权利要求
1.一种用于数据链路层的并行自测试装置,其特征在于,包括: BIST使能模块,用来控制是否启动链路层BIST测试; 链路状态模块,用来表示并输出当前物理层所处状态; 控制模块,用来进行数据源仲裁,仲裁逻辑根据当前链路状态和BIST使能位,选择发送不同的报文; BIST控制器,用来启动、停止BIST测试并收集BIST测试状态;BIST控制器根据BIST使能位和链路状态信号的值产生start、stop信号,发送到BIST启动/停止报文产生器;BIST控制器的内部维护两个状态信号TX_WORKING和RX_WORKING,分别表示BIST测试模式产生器和BIST输出响应分析器是否已经开始工作; BIST启动/停止报文产生器,位于BIST序列报文发送端,用来产生BIST启动报文和BIST停止报文;当接收到BIST控制器送来的start信号时,产生BIST启动报文,然后发送使能信号给BIST测试模式产生器,同时置TX_WORKING为有效;当接收到BIST控制器送来的stop信号时,产生BIST停止报文,发送使能无效信号给BIST测试模式产生器,同时置TX_WORKING 为无效; BIST测试模式产生器,位于BIST序列报文发送端,用来根据BIST启动/停止报文产生器发送来的信号产生测试序列; BIST序列报文封装器,位于BIST序列报文发送端,用来接收BIST测试模式产生器产生的测试序列,添加报文类型域,封装为链路层控制报文格式,然后发送到多路复用逻辑进行传输; BIST序列报文去封装器,位于BIST序列报文接收端,用来接收BIST序列报文,去掉BIST序列中的报文类型域,还原为BIST测试模式产生器产生的测试序列,提交给BIST输出响应分析器; BIST启动/停止报文检测器,位于BIST序列报文接收端,用来从物理链路接收报文,判断是否有BIST相关报文到达,从而启动和停止BIST输出响应分析器; BIST输出响应分析器,位于BIST序列报文接收端,用来对接收到的BIST测试序列进行分析,判断是否发生错误,并做出相应的故障诊断和定位。
2.根据权利要求1所述的用于数据链路层的并行自测试装置,其特征在于,所述控制模块在当链路状态无效时,停止发送任何报文;当链路状态有效且BIST使能位为有效时,仲裁部件禁止发送链路层数据报文、链路层控制报文,只允许发送BIST相关报文;当链路状态有效且BIST使能位为无效时,仲裁逻辑禁止发送BIST相关报文,只允许发送链路层数据报文和链路层控制报文。
3.根据权利要求1所述的用于数据链路层的并行自测试装置,其特征在于,所述BIST控制器当检测到BIST使能位从无效变为有效并且链路状态为有效时,向BIST启动/停止报文产生器发送start信号;当BIST控制器检测到BIST使能位从有效变为无效并且链路状态为有效时,BIST控制器向BIST启动/停止报文产生器发送stop信号。
4.根据权利要求1所述的用于数据链路层的并行自测试装置,其特征在于: 所述BIST启动/停止报文产生器在向BIST测试模式产生器发送使能信号后,同时会把TX_WORKING置为有效; 所述BIST启动/停止报文产生器在向BIST测试模式产生器发送使能无效信号后,同时会把TX_WORKING置为无效; 所述BIST启动/停止报文检测器在向BIST输出响应分析器发送使能信号后,同时会把RX_WORKING置为有效; 所述BIST启动/停止报文检测器在向BIST输出响应分析器发送使能无效信号后,同时会把RX_WORKING置为无效。
5.一种采用权利要求1 4中任意一项所述的装置进行并行自测试的方法,其特征在于,步骤为: (1)、启动测试的过程包括以下步骤: (1.1)测试人员设置BIST使能位有效,从而启动链路BIST测试; (1.2)等待物理层链路状态信号有效,如果已经有效,则跳过该步骤,进入下一步,否则继续等待; (1.3)数据源仲裁部件禁止链路层数据报文、链路层控制报文的发送,只允许BIST相关报文的发送; (1.4) BIST控制器发现BIST使能位由无效变为有效,向BIST启动/停止报文产生器发送start信号; (1.5) BIST启动/停止报文产生器发送BIST启动报文,然后向BIST测试模式产生器发送使能有效信号,同时会把TX_WORKING置为有效; (1.6)BIST测试模式产生器接收到BIST启动/停止报文产生器送来的使能信号后,产生测试序列; (1.7)BIST序列报文封装器把BIST测试模式产生器生成的测试序列封装为BIST序列报文并发送出去; (1.8)BIST启动/停止报文检测器接收到BIST启动报文或连续的BIST序列报文,则向BIST输出响应分析器发送使能有效信号,同时会把RX_WORKING置为有效; (1.9)BIST序列报文去封装器把接收到的BIST序列报文去掉封装,即去掉报文类型域,把报文携带的其他数据还原为BIST测试模式产生器生成的测试序列,提交给BIST输出响应分析器; (1.10) BIST输出响应分析器对接收到的测试序列进行分析; (2)通过BIST输出响应分析器接收分析测试结果; (3)停止测试的过程包括以下步骤: (3.1)测试人员设置BIST使能位为无效,停止链路BIST测试; (3.2) BIST控制器发现BIST使能位从有效变为无效,向BIST启动/停止报文产生器发送stop信号; (3.3)BIST启动/停止报文产生器发送BIST停止报文,然后向BIST测试模式产生器发送使能无效信号,同时会把TX_WORKING置为无效; (3.4) BIST测试模式产生器接收到使能无效信号,停止产生BIST测试序列; (3.5)数据源仲裁部件检测到使能位无效时,禁止BIST相关报文的发送,使能链路层数据报文、链路层控制报文的发送; (3.6) BIST启动/停止报文检测器接收到BIST停止报文或连续的非BIST序列报文,则向BIST输出响应分析器发送使能无效信号,同时把RX_WORKING置为无效;(3.7)BIST输出响应分析器接收到BIST启动/停止报文检测器送来的使能无效信号, 停止对BIST序列进行检测。
全文摘要
一种用于数据链路层的并行自测试装置及其方法,该装置包括BIST使能模块、链路状态模块、控制模块、BIST控制器、BIST启动/停止报文产生器、BIST测试模式产生器、BIST序列报文封装器、BIST序列报文去封装器、BIST启动/停止报文检测器、BIST输出响应分析器;该方法为采用上述装置进行并行自测试,其步骤为(1)启动测试的过程;(2)通过BIST输出响应分析器接收分析测试结果;(3)停止测试的过程。本发明原理简单、易实现、兼容性好、实用性强,其不依赖高层软件就能够实现对绑定后的多条通道进行并行测试,而且克服了不同厂家的收发器BIST功能互不兼容的问题。
文档编号H04L12/26GK103117904SQ20131005695
公开日2013年5月22日 申请日期2013年2月22日 优先权日2013年2月22日
发明者王永庆, 徐炜遐, 王克非, 刘路, 肖灿文, 沈胜宇, 戴艺, 庞征斌, 张磊, 曹继军, 张鹤颖, 高蕾, 伍楠 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1