以太网MAC数据通信光模块的测试装置和方法与流程

文档序号:25177468发布日期:2021-05-25 14:50阅读:146来源:国知局
以太网MAC数据通信光模块的测试装置和方法与流程

本申请涉及一种通信光模块的测试装置和方法,更具体地,涉及一种以太网mac数据通信光模块的测试装置和方法。



背景技术:

通信领域中的通信协议具有时变性,由于诸如fpga、dsp等的硬件可编程特性,使得基于例如fpga的通信协议转换器广泛的应用于通信领域,尤其是以太网通信领域。以fpga为例,现有的技术主要集中在以太网mac层协议的fpga实现上,以太网mac控制器主要包括数据发送模块、数据接收模块、流量控制模块,其中数据发送模块和数据接收模块主要完成数据帧的接收和发送工作(诸如,组帧和以数据帧的识别以及错误检查)。

现有技术中对接收到的数据帧的识别主要靠接收使能信号及前导码来识别,但不涉及对接收到的数据帧的连续性的判断。现有技术中针对mac帧的循环冗余校验码(crc)校验只能保证无比特差错,不能判断是否丢帧,这使得由于传输介质(例如,光模块)可能导致的丢帧情况不能及时的得到反馈,使得数据的传输质量得不到保证。



技术实现要素:

本公开的各方面将至少解决上述问题和/或缺点,并至少提供以下所述优点。因此,本发明的目的在于提供一种以太网mac数据通信光模块的测试装置和方法,所述测试方法能够测试以太网mac数据通信光模块是否导致数据帧的丢失,从而能够提高数据的传输质量。

本发明的一方面在于提供一种以太网mac数据通信光模块的测试装置,所述装置包括:phy芯片;光模块,用于从phy芯片接收数据帧并将接收到的数据帧经由与光模块连接的光纤传输回phy芯片;以太网mac控制器,包括:数据发送模块,用于向phy芯片发送数据帧;数据接收模块,用于从phy芯片接收数据帧;发送帧计数器,用于对向phy芯片发送的数据帧的个数进行计数;接收帧计数器,用于对从phy芯片接收到的数据帧的个数进行计数;连续性判断模块,在一个数据帧周期内确定有限状态机的状态,并基于有限状态机的状态判断所述光模块发送和/或接收数据帧是否连续,

其中,有限状态机的状态基于所述数据接收模块从phy芯片接收到的数据帧而确定。

可选地,在一个数据帧周期内,所述有限状态机在第一状态、第二状态和第三状态之间转换;其中,

第一状态和第二状态表示所述光模块发送和/或接收数据帧不连续;

第三状态表示所述光模块发送和/或接收数据帧连续。

可选地,连续性判断模块可用于:基于所述数据接收模块从phy芯片接收连续两个数据帧的使能信号到来时间之间的时间间隔和/或发送帧计数器的计数以及接收帧计数器的计数来确定有限状态机的状态。

可选地,连续性判断模块可用于:在由所述数据发送模块经由phy芯片向所述光模块发送数据帧的过程中,确定所述数据接收模块接收连续两个数据帧的使能信号到来时间之间的时间间隔是否大于预定时间间隔,当所述数据接收模块接收连续两个数据帧的使能信号到来时间之间的时间间隔大于预定间隔时,将有限状态机的状态确定为第一状态,当有限状态机的状态为第一状态时,确定光模块发送和/或接收数据帧不连续。

可选地,连续性判断模块可用于:当确定所述数据接收模块接收每连续两个数据帧的使能信号到来时间之间的时间间隔均小于所述预定时间间隔,并且确定发送帧计数器的计数达到预订数量时,确定接收帧计数器的计数与所述预定数量是否相同,当确定接收帧计数器的计数与所述预定数量不相同时,将有限状态机的状态确定为第二状态,当有限状态机的状态为第二状态时,确定所述光模块发送和/或接收数据帧不连续,和/或,当确定接收帧计数器的计数与所述预定数量相同时,将有限状态机的状态确定为第三状态,当有限状态机的状态为第三状态时,确定光模块发送和/或接收数据帧连续。

本公开的另一方面在于提供一种以太网mac数据通信光模块的测试方法:由以太网mac控制器的数据发送模块经由phy芯片向光模块发送数据帧;由以太网mac控制器的数据接收模块经由phy芯片接收经由所述光模块和与所述光模块连接的光纤传输回来的由所述数据发送模块发送的数据帧;以及在一个数据帧周期内,确定有限状态机的状态,并根据有限状态机的状态判断所述光模块发送和/或接收数据帧是否连续,其中,有限状态机的状态基于所述数据接收模块从phy芯片接收到的数据帧被确定。

可选地,在一个数据帧周期内,所述有限状态机在第一状态、第二状态和第三状态之间转换;其中,

第一状态和第二状态表示所述光模块发送和/或接收数据帧不连续;

第三状态表示所述光模块发送和/或接收数据帧连续。

可选地,确定有限状态机的状态的步骤可包括:基于所述数据接收模块从phy芯片接收连续两个数据帧的使能信号到来时间之间的时间间隔和/或所述数据发送模块发送的数据帧的数量和所述数据接收模块接收到的数据帧的数量,确定有限状态机的状态。

可选地,根据有限状态机的状态判断所述光模块发送和/或接收数据帧是否连续的的步骤可包括:在由所述数据发送模块经由phy芯片向所述光模块发送数据帧的过程中,确定所述数据接收模块接收连续两个数据帧的使能信号到来时间之间的时间间隔是否大于预定时间间隔,当大于预定间隔时,将有限状态机的状态确定为第一状态,当有限状态机的状态为第一状态时,确定所述光模块发送和/或接收数据帧不连续。

可选地,基于有限状态机的状态判断所述光模块发送和/或接收数据帧是否连续的步骤可包括:当确定所述数据接收模块接收每连续两个数据帧的使能信号到来时间之间的时间间隔均小于所述预定时间间隔,并且确定数据发送模块发送的数据帧的数量达到预订数量时,确定数据接收模块接收到的数据帧的数量与所述预定数量是否相同,当确定所述数据接收模块接收到的数据帧的数量与所述预定数量不相同时,将有限状态机的状态确定为第二状态,当有限状态机的状态为第二状态时,确定所述光模块发送和/或接收数据帧不连续,和/或,当确定所述数据接收模块接收到的数据帧的数量与所述预定数量相同时,将有限状态机的状态确定为第三状态,当有限状态机的状态为第三状态时,确定所述光模块发送和/或接收数据帧连续。

可选地,所述数据发送模块发送的数据帧的数量和所述数据接收模块接收到的数据帧的数量分别由发送帧个数计数器和接收帧个数计数器来进行计数。

本公开的实施例提供一种基于有限状态机的连续性测试装置和方法,能够在一个数据帧周期内测试以太网mac数据通信光模块是否发生数据帧丢失,从而能够提高数据传输质量。在一个数据帧周期内,有限状态机在第一状态、第二状态和第三状态之间转换,能够保证在一个数据帧周期内完成连续性测试的全部步骤。

附图说明

从以下结合附图进行的描述中,本公开的特定实施例的以上和其他方面、特征和优点将变得更加清楚,其中:

图1是现有技术中的以太网通信系统的示例的框图;

图2是根据本公开的实施例的以太网mac数据通信光模块的测试装置的框图;

图3是根据本公开的实施例的以太网mac数据通信系统中的以太网mac控制器的测试装置的框图;

图4是根据本公开的实施例的以太网mac数据通信系统中的phy芯片的测试装置的框图;

图5是根据本公开的实施例的以太网mac数据通信光模块的测试方法的流程图。

具体实施方式

现将详细参照本发明的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的元素。以下将通过参照附图来说明所述实施例,以便解释本发明。

图1是现有技术中的以太网通信系统的示例的框图。

参照图1,以太网通信系统100包括以太网mac控制器110、phy(physicallayer,物理层)芯片120、光模块130。可选地,以太网mac通信系统100可另外地包括其它组件。以太网mac控制器110包括数据发送模块111、流量控制模块112和数据接收模块113。可选地,以太网mac控制器110还可另外地包括其它组件。数据发送模块111可将数据经由phy芯片120发送到光模块130,光模块130将接收到的数据发送到外部装置(未示出)。当从外部装置(未示出)接收数据时,光模块130可将从外部装置接收到的数据经由phy芯片120发送到数据接收模块113。其中,流量控制模块112可控制数据发送模块111和数据接收模块113的数据发送和接收。

作为示例,以太网mac控制器110可由pfga来实现,或者可由除了fpga以外的硬件来实现。

现有技术中对接收到的数据帧的识别主要靠接收使能信号及前导码来识别,但不涉及对接收到的数据帧的连续性的判断。现有技术中针对mac帧的循环冗余校验码(crc)校验只能保证无比特差错,不能判断是否丢帧,这使得由于传输介质(例如,光模块)可能导致的丢帧情况不能及时的得到反馈,使得数据的传输质量得不到保证。

图2是根据本公开的实施例的以太网mac数据通信光模块的测试装置200的框图。

参照图2,测试装置200包括以太网mac控制器210、phy芯片220、光模块230、光光纤240、输出装置250,其中,以太网mac控制器210可包括流量控制模块211、发送帧计数器212、连续性判断模块213、接收帧计数器214、数据发送模块215、数据接收模块216,其中,发送帧计数器212用于对向phy芯片220发送的数据帧的个数进行计数,接收帧计数器214用于对从phy芯片220接收到的数据帧的个数进行计数。可选地,测试装置200可省略上述组件中的任何一个或者另外添加其它组件。

参照图2,由数据发送模块215发送的数据帧依次经由phy芯片220、光模块230、光纤240、光模块230、phy芯片220被传输到数据接收模块216。

需要注意的是,本领域技术人员应当理解,为了测试光模块是否正常,需要确保除了光模块之外的用于收发数据的其它组件功能正常,下面对除了光模块以外的用于收发数据的其它组件的测试进行描述。

首先针对以太网的数据收发程序进行测试,对于以太网数据发送程序,可在测试正常的fpga芯片上,设置debug程序进行测试;对于以太网数据接收程序,在测试正常的fpga芯片上,通过fpga内部的“自环”来测试。也就是说,首先要保证以太网数据收发程序正常。

可选地,也可以在除了fpga以外的其它硬件上测试以太网的数据收发程序。

在确定以太网的数据收发程序正常之后,可针对以太网mac控制器210进行测试。

图3根据本公开的实施例的以太网mac数据通信系统中的以太网mac控制器的测试装置的框图。

图3中的各组件与图2中的各组件相同,在此不做赘述。

参照图3,数据发送模块215直接将数据发送到数据接收模块216,通过对数据发送模块215发送的数据和数据接收模块216接收到的数据进行比较来判断以太网mac控制器210是否存在故障,若数据发送模块215发送的数据和数据接收模块216接收到的数据一致,表示以太网mac控制器210正常;若数据发送模块215发送的数据和数据接收模块216接收到的数据不一致,表示以太网mac控制器210存在故障。

可选地,可通过连续性判断模块213对数据发送模块215发送的数据与数据接收模块216接收的数据进行比较以确定以太网mac控制器是否存在故障。

可选地,可通过另外包括的其它组件来对数据发送模块215发送的数据与数据接收模块216接收的数据进行比较以确定以太网mac控制器是否存在故障。

可选地,可通过输出装置输出表示判断结果的标识。

若以太网mac控制器210正常,则继续测试phy芯片;若以太网mac控制器210有问题,则更换以太网mac控制器210后,重新进行测试,为测试phy芯片220做准备。

在确定以太网mac控制器210无故障后,对phy芯片220进行测试。

图4根据本公开的实施例的以太网mac数据通信系统中的phy芯片的测试装置的框图。

针对phy芯片220,可通过配置phy芯片寄存器,来测试phy芯片220。

具体而言,可配置phy芯片bmcr(basicmodecontrolregister)寄存器并根据本测试项目的实际情况配置寄存器内容。

与测试以太网mac控制器210类似,对发送的数据与经过phy芯片220自环回来的数据进行比较,若两者一致,表示phy芯片220正常;若两者不一致,表示phy芯片220有问题。

可选地,可通过输出装置250将判断结果显示出来或者通过另外包括的其它组件输出判断结果。

当确定phy芯片220无故障后,可直接测试光模块230;若phy芯片220有问题,更换phy芯片220后,重新测试phy芯片220,为测试光模块230做准备。

在确定除了光模块230以外的其它组件都正常的情况下,最后针对光模块230进行测试。

上面已经参照图2对以太网mac数据通信光模块230的测试装置进行了描述,在此不做赘述。

作为示例,在测试光模块230时,可设计针对光模块230测试的有限状态机。连续性判断模块213可基于数据接收模块216从phy芯片220接收到的数据帧而对有限状态机的状态进行确定和/或更新,然后可基于确定和/或更新的有限状态机的状态判断光模块230发送和/或接收数据帧是否连续。

作为示例,连续性判断模块213可基于数据接收模块216从phy芯片220接收连续两个数据帧的使能信号到来时间之间的时间间隔和/或发送帧计数器212的计数以及接收帧计数器214的计数来确定有限状态机的状态。

作为示例,在一个数据帧周期内,所述有限状态机在第一状态、第二状态和第三状态之间转换;其中,

第一状态和第二状态表示所述光模块发送和/或接收数据帧不连续;

第三状态表示所述光模块发送和/或接收数据帧连续。

在本示例中,一个数据帧周期是指数据发送模块发送一个数据帧,经由phy芯片、光模块,再由数据接收模块接收到该数据帧所用的时间。

作为示例,连续性判断模块213可被配置为:在由数据发送模块215经由phy芯片220向光模块230发送数据帧的过程中,确定数据接收模块216接收连续两个数据帧的使能信号到来时间之间的时间间隔是否大于预定时间间隔,当数据接收模块216接收连续两个数据帧的使能信号到来时间之间的时间间隔大于预定间隔时,将有限状态机的状态确定为第一状态,当有限状态机的状态为第一状态时,确定光模块230发送和/或接收数据帧不连续。

可选地,当有限状态机的状态为第一状态时,可停止对光模块230发送和/或接收数据帧是否连续的判断,和/或停止由数据发送模块215经由phy芯片220向光模块230发送数据帧。

作为示例,输出装置250可用于:当有限状态机的状态为第一状态时,输出第一标识。

作为示例,连续性判断模块213可用于:当确定所述数据接收模块216接收每连续两个数据帧的使能信号到来时间之间的时间间隔均小于所述预定时间间隔,并且确定发送帧计数器212的计数达到预订数量时,确定接收帧计数器214的计数与所述预定数量是否相同,当确定接收帧计数器214的计数与发送帧计数器214的计数不相同时,将有限状态机的状态确定为第二状态,当有限状态机的状态为第二状态时,确定光模块230发送和/或接收数据帧不连续,和/或,当确定接收帧计数器214的计数与发送帧计数器212的计数相同时,将有限状态机的状态确定为第三状态,当有限状态机的状态为第三状态时,确定光模块230发送和/或接收数据帧连续。

作为示例,输出装置250可用于:当有限状态机的状态为第二状态时,输出第二标识,和/或,当有限状态机的状态为第三状态时,输出第三标识。

作为示例,可由数据发送模块215发送n个数据帧,如果数据接收模块216接收连续两个数据帧的使能信号到来时间之间的时间间隔大于预定时间间隔,则确定光模块230发送和/或接收数据帧不连续。此时,可停止对光模块230发送和/或接收数据帧连续性的判断,和/或停止由数据发送模块215经由phy芯片220向光模块230发送数据帧。可选地,可由输出装置250输出用于显示该情况的标识。

在发送帧计数器212的计数达到n之后,确定数据接收模块216接收每连续两个数据帧的使能信号到来时间之间的时间间隔是否均小于所述预定时间间隔,如果均小于预定时间间隔,确定接收帧计数器的计数214是否等于n,如果等于n,则确定光模块230发送和/或接收数据帧连续,可选地,可通过输出装置250输出用于表示该情况的标识,如果接收帧计数器214的计数不等于n,则确定光模块230发送和/或接收数据帧不连续,可选地,可通过输出装置250输出用于表示该情况的标识。

此外,对于接收到的数据帧的正确性的检查,可在crc校验的基础上,设置数据校验状态机,以此提高数据校验的准确性。作为示例,可将接收过来的位宽为4bit以太网数据转换成位宽为8bit的数据,并将该数据送至数据校验状态机,数据校验状态机主要校验特定位置的数据,如果该数据与预设的数据一致,则表示接收的数据正确,等待下一帧数据的到来;如果不一致,则表示接收到的数据不正确,并可将判断结果采用外设标识出来,状态机进入死循环,停止对数据的校验。

以上已经结合图1至图4对根据本发明示例性实施例的以太网mac数据通信光模块的测试装置进行了描述。在下文中,将参照图5对根据本发明示例性实施例的以太网mac数据通信光模块的测试方法进行描述。

图5是根据本公开的实施例的以太网mac数据通信光模块的测试方法的流程图。

参照图5,在步骤s101,由以太网mac控制器的数据发送模块经由phy芯片向光模块发送数据帧。

在步骤s102,由以太网mac控制器的数据接收模块经由phy芯片接收经由所述光模块和与所述光模块连接的光纤传输回来的由所述数据发送模块发送的数据帧。

在步骤s103,确定有限状态机的状态,并根据有限状态机的状态判断所述光模块发送和/或接收数据帧是否连续,其中,有限状态机的状态基于所述数据接收模块从phy芯片接收到的数据帧被确定。

作为示例,确定有限状态机的状态的步骤可包括:基于所述数据接收模块从phy芯片接收连续两个数据帧的使能信号到来时间之间的时间间隔和/或所述数据发送模块发送的数据帧的数量和所述数据接收模块接收到的数据帧的数量,确定有限状态机的状态。

作为示例,根据有限状态机的状态判断所述光模块发送和/或接收数据帧是否连续的的步骤可包括:在由所述数据发送模块经由phy芯片向所述光模块发送数据帧的过程中,确定所述数据接收模块接收连续两个数据帧的使能信号到来时间之间的时间间隔是否大于预定时间间隔;当大于预定间隔时,将有限状态机的状态确定为第一状态;当有限状态机的状态为第一状态时,确定所述光模块发送和/或接收数据帧不连续。

可选地,当有限状态机的状态为第一状态时,可停止对光模块发送和/或接收数据帧是否连续的判断,和/或停止由以太网mac控制器的数据发送模块经由phy芯片向光模块发送数据帧。

作为示例,判断所述光模块发送和/或接收数据帧是否连续的步骤还可包括:当有限状态机的状态为第一状态时,输出第一标识。

作为示例,基于有限状态机的状态判断所述光模块发送和/或接收数据帧是否连续的步骤可包括:当确定所述数据接收模块接收每连续两个数据帧的使能信号到来时间之间的时间间隔均小于所述预定时间间隔,并且确定数据发送模块发送的数据帧的数量达到预订数量时,确定数据接收模块接收到的数据帧的数量与所述预定数量是否相同,当确定所述数据接收模块接收到的数据帧的数量与所述预定数量不相同时,将有限状态机的状态确定为第二状态,当有限状态机的状态为第二状态时,确定所述光模块发送和/或接收数据帧不连续,和/或,当确定所述数据接收模块接收到的数据帧的数量与所述预定数量相同时,将有限状态机的状态确定为第三状态,当有限状态机的状态为第三状态时,确定所述光模块发送和/或接收数据帧连续。

作为示例,当有限状态机的状态为第二状态时,可输出第二标识。

作为示例,当有限状态机的状态为第三状态时,可输出第三标识。

作为示例,可由led灯以不同颜色闪烁来分别表示第一标识、第二标识、第三标识。

作为示例,所述数据发送模块发送的数据帧的数量和所述数据接收模块接收到的数据帧的数量分别由发送帧个数计数器和接收帧个数计数器来进行计数。

如上所述,根据本发明的示例性实施例,可确定光模块发送和/或接收数据帧是否连续,从而能够提高数据传输质量。

本发明的示例性实施例提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时实现如上述示例性实施例的以太网mac数据通信光模块的测试方法。该计算机可读存储介质是可存储由计算机系统读出的数据的任意数据存储装置。计算机可读存储介质的示例包括:只读存储器、随机存取存储器、只读光盘、磁带、软盘、光数据存储装置和载波(诸如经有线或无线传输路径通过互联网的数据传输)。

根据本发明的示例性实施例的以太网mac数据通信光模块的测试装置可包括:处理器和存储器,其中,存储器存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述示例性实施例所述的以太网mac数据通信光模块的测试方法。

虽然已表示和描述了本发明的一些示例性实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行各种修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1