本发明涉及以太网技术领域,具体涉及一种基于pcs和mii分离的信号质量优化方法、装置及系统。
背景技术:
ieee802.3标准定义了pcs(physicalcodingsublayer,物理编码子层)和mii(mediaindependentinterface,介质无关接口)子层的实现方式。不同速率的pcs和mii结构上基本类似。以10g速率为例,pcs和mii结构如图1所示。根据802.3第49章,10gbase-rpcs对信号进行64b/66b编码,可进行误码检测,并且将编码后的数据发往更底层的pma(physicalmediaaccessory物理介质附件)模块,进而送到传输介质发给对端。它可以判断链路状态是否已经建立完成,并通知给上层管理系统。根据802.3第46章,xgmii(10gigabitmediaindependentinterface)是10gb独立于媒体的接口,是一个可选的层,它存在的意义是给底层的phy(physics物理层)(包括pcs)到更上层的mac(mediaaccesscontrol介质访问控制)之间架起一个桥梁。
在以太网通信系统中,由于端口之间连线的介质情况不同,导致接收端serdes(serializer(串行器)/deserializer(解串器)的简称)获取到的信号与原始信号相比可能存在各种损耗或失真,如果这个损耗大到一定程度,接收端无法恢复出数据信号,就会造成数据的误码或丢失。所以以太网链路在建立起来之后,必须进行接收端的均衡器参数调优,从而使信号在链路上的损耗得到合理补偿,降低系统误码率。
由于链路状态是否建立起来,是依赖pcs层进行判断的,一旦建立完成,上层系统感知到,就会允许用户进行数据收发。如果此时再进行均衡器调优,由于调优算法的不同,在执行期间可能会让链路质量产生波动,导致误码产生。因此调整均衡器的最保险的做法是,在用户数据收发之前把调整动作做完,一旦开始收发用户数据,均衡器就要固定下来。
现有技术在pcs建链完成之前,将均衡器调整到固定的位置。一旦pcs建链完成,上层系统立刻开始收发数据,不再调整。目前普遍的设计中,serdes接收端的性能与发送的码型密切相关,如果收到的码型不够随机,则cdr(clockdatarecovery时钟数据恢复)很难恢复出用户数据,由此进行均衡器调优是不准确的。也就是说,在pcs建链完成之前,实际无法确定链路上到底是何种码型,如果这个码型不够随机(如8180码),此时做均衡器调优的结果不会理想。
以太网pcs层判断链路建立完成后,用户数据开始收发,此时为了降低误码而调整均衡器,在执行期间可能会让链路质量产生波动,导致误码产生。
技术实现要素:
本发明的主要目的在于克服现有技术的缺点与不足,提出一种基于pcs和mii分离的信号质量优化方法、装置及系统,当pcs层链路建立完成后,基于mii层的操作暂时将linkup状态隐藏起来,然后通知系统做均衡器调优,完成后再放开该状态,并开始收发用户数据,从而避免均衡器调整带来的链路波动。
根据本申请的一个方面,提供一种基于pcs和mii分离的信号质量优化方法,包括:
步骤1:设置系统端口的初始化状态,并阻止mac数据的传输;
步骤2:基于物理编码子层pcs和mii分离执行均衡器调整控制;
步骤3:检查端口状态,并在端口连接linkup状态置起时传输mac数据。
一实施例中,阻止mac数据的传输,具体包括:
mii发送端向对端mii接收端发送远端故障,以阻止对端发送mac数据。
一实施例中,所述步骤1设置系统端口的初始化状态具体包括:
步骤1.1:所述pcs发送端解复位;
步骤1.2:所述mii发送端解复位;
步骤1.3:mac解复位;
步骤1.4:所述mii发送端向对端mii接收端发送远端故障;
步骤1.5:所述pcs接收端解复位。
一实施例中,所述步骤2执行均衡器调整控制具体包括:
获取当前的pcs同步状态和mii接收端的复位状态,根据所述同步状态和复位状态进行均衡器调整控制。
一实施例中,所述根据所述同步状态和复位状态进行均衡器调整控制具体包括:
若所述pcs已同步,且所述mii接收端复位,则轮询均衡器是否调整完成,并将轮询结果保存在临时变量is_rxeq_tuning中,若is_rxeq_tuning=1且均衡器调整已结束,则进入所述步骤3;
若所述pcs未同步,且所述mii接收端解复位,则使所述mii接收端恢复复位,并重新向对端mii接收端发送远端故障,将is_rxeq_tuning设置为0,等待下次出现is_rxeq_tuning=1时重新调整均衡器;
若所述pcs未同步,且所述mii接收端复位,则将均衡器恢复到默认值,并将is_rxeq_tuning设置为0,等待pcs同步成功;
若所述pcs已同步,且所述mii接收端解复位,则将is_rxeq_tuning设置为0,进入所述步骤3。
一实施例中,所述步骤3检查端口状态具体包括:
步骤3.1:判断pcs同步是否完成,若是则进入步骤3.2,若否则继续进行当前步骤;
步骤3.2:判断mii接收端是否已解复位,若是则进入到步骤3.3,若否则跳转到步骤3.1;
步骤3.3:判断是否存在本端故障,若否则将端口状态设置为linkup,并开始传输用户数据,若是则跳转到步骤3.1。
本申请还提供一种基于pcs和mii分离的信号质量优化装置,包括:
端口初始化设置模块,用于设置系统端口的初始化状态,并阻止介质无关接口mii接收端的数据传输;
均衡器调整控制模块,用于基于物理编码子层pcs和mii分离执行均衡器调整控制;
端口状态检查模块,用于检查端口状态,并在端口连接linkup状态置起时开始传输用户数据。
一实施例中,所述端口初始化设置模块包括:
端口解复位单元,用于所述pcs发送端、所述mii发送端、mac端口和所述pcs接收端解复位操作;
远端故障发送单元,用于控制所述mii发送端向对端mii接收端发送远端故障。
一实施例中,所述均衡器调整控制模块包括:
第一状态获取单元,用于获取当前的pcs同步状态和mii接收端的复位状态;
均衡器调整控制单元,用于根据所述同步状态和复位状态进行均衡器调整控制;和/或,
所述端口状态检查模块包括:
第二状态获取单元,用于获取当前的pcs同步状态和mii接收端的复位状态;
linkup状态设置单元,用于在所述pcs同步已完成、所述mii接收端已解复位,且不存在本端故障时,将端口状态设置为linkup,开始传输mac数据。
本申请还提供一种以太网通信系统,包括如上所述的信号质量优化装置。
本发明通过在端口初始化时,阻止mac数据传输,并结合均衡器调整控制和端口linkup状态检查的步骤,在用户不感知的情况下,对serdes接收端均衡器做静默调优,确保一旦开始收发用户数据,链路质量即是最好的,从而避免均衡器调整带来的误码,降低系统误码率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是以太网通信系统的结构图;
图2是本发明信号质量优化方法的流程图;
图3是本发明设置系统端口的初始化状态的方法流程图;
图4是本发明进行均衡器调整控制的方法流程图;
图5是本发明检查linkup状态的方法流程图;
图6是本发明信号质量优化装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是以太网通信系统的结构图。
pcs层包含blocksynchronization功能,以10g速率为例,标准49.2.2章节描述了块同步的过程,当同步完成后,pcs会通过bermonitor持续监测信号质量,如果已同步且误码很少,则pcs的接收通道就开始持续接收编码后的数据块。原则上此时已经可以进行用户数据的收发了。
但是由于pcs的bermonitor相对于用户数据对误码率的要求来说,是一个更宽松条件,即使pcs同步上了,长时间的用户数据还是会有误码。所以需要调整更底层的serdes接收端均衡器,以补偿信号的损耗。
pcs上面的mii层,根据标准46.3.4,可以控制linkfault信令的发出。如果收到fault,底层的phy模块会认为产生了localfault,同时mii会停止发送mac数据包,并且开始向对端发送remotefault,让对端也感知到链路异常。
为了让用户不感知均衡器调整带来的丢包等影响,本发明利用mii层将pcs链路建立的状态隐藏起来。方法是,从mii层抽象出linkup的概念,它要求必须满足以下条件:(1)pcs同步完成;(2)mii接收端已使能;(3)没有localfault。只有系统上看到端口是linkup的,才开始传输用户数据。
在pcs同步完成之后,人为不使能mii接收端,而是让均衡器调整模块工作,提升信号质量,直到均衡器调整模块工作完成,才把mii接收端使能。与此同时,另一进程会反复判断这三个条件是否成立,一旦全部成立,则将linkup状态上报至系统。
图2是本发明信号质量优化的方法流程图。由图2可见,其包括:
步骤1:设置系统端口的初始化状态,并阻止mac数据的传输;
步骤2:基于物理编码子层pcs和mii分离执行均衡器调整控制;
步骤3:检查端口状态,并在端口连接linkup状态置起时传输mac数据。
下面针对每个步骤做详细描述。
图3是本发明设置系统端口的初始化状态的方法流程图。图3中对端口的解复位动作,实质是让其使能并开始工作。对端口进行解复位包括:pcs发送端解复位;mii发送端解复位;mac解复位;pcs接收端解复位。所有的模块,除了mii接收端,其余都在这里使能。mii的发送端除了使能,还需要向对端mii接收端发送远端故障remotefault,原因是不能让对端感知到链路建立完成,如果此时不发remotefault,对端可能就认为pcs同步完成,可以开始发送数据了,但实际上均衡器还没调。如果发remotefault,根据ieee802.3标准46.3.4章节,对端会停止发送mac数据包,从而阻止了用户数据,直到均衡器调优完毕,才开始发包。
图4是本发明进行均衡器调整控制的方法流程图;均衡器调整控制流程安排在一个单独的进程中,在系统运行期间反复执行。
在具体的均衡器调整控制中,首先获取当前的pcs同步状态,和mii接收端的复位状态。将其分为4种情况:
若pcs已同步,且mii接收端复位。这种情况意味着链路即将建立完成,需要去做均衡器调整,这里的一个典型场景如通信系统中交换机初次插线并开始建立链路。由于均衡器调整是在自己的进程中做的,所以需要每次轮询是否调整完成,并保存在临时变量is_rxeq_tuning中。如果发现is_rxeq_tuning为1并且已经调整完了,说明链路往linkup的方向更进一步,可以让mii接收方向解复位了,并且停止发remotefault,等待另一进程检查linkup即可。
若pcs未同步,且mii接收端解复位。这种情况意味着曾经处于linkup状态,pcs开始是同步上的,但是后来失步了。即链路发生了由好变差的过程,这里的一个典型场景如链路建立完成之后,突然拔出线缆。这种情况需要mii接收端恢复复位,并重新向对端mii接收端发remotefault,等待下次出现状态1重新调整均衡器。
若pcs未同步,且mii接收端复位。这种情况即链路持续无法建立,对端没有任何有效信号(pcs编码信号)进来,此时是不可能进行用户数据传输的,这里的一个典型场景如通信系统中交换机启动后,端口不插线。这时要做的事情就是将均衡器恢复到默认值,等待pcs同步成功。
若pcs已同步,且mii接收端解复位。这种情况意味着所有动作已经做完,这里的一个典型场景如通信系统中交换机已经完成建链动作,等待linkup之后就可以传输用户数据。此时只需清零is_rxeq_tuning,等待另一进程检查linkup即可。
关于均衡器调整,不同的系统其实现细节有区别,但是serdes接收端的性能与发送的码型密切相关,如果收到的码型不够随机,由此进行均衡器调优是不准确的。由于调均衡只可能出现在pcs同步完成之后,所以开始调的时候码型一定是pcsidle码,它是随机分布的,这就确保本次调优在一个稳定可用的码型上完成。
图5是本发明检查端口状态的方法流程图。端口连接linkup状态的置起必须同时满足以下条件:(1)pcs同步完成;(2)mii接收端已使能;(3)没有本端故障localfault。
linkup状态轮询也是在自己单独的进程中,可通过delay_time1调整延时。具体的状态轮询过程如下:判断pcs同步是否完成,若是则进入下一步骤,若否则继续进行当前步骤;判断mii接收端是否已解复位,若是则进入到下一步骤,若否则跳转到上一步骤;判断是否接收到localfault,若否则将端口状态设置为linkup,开始传输用户数据,若继续开始状态轮询。只有系统上看到端口是linkup的,才开始传输用户数据。
本发明通过上述设置,使得当pcs同步完成后,不立刻进行用户数据传输,而是通过mii层的复位和remotefault操作制造出一个时间间隙,在间隙中做完均衡器调优,之后才进行用户数据传输。从而避免均衡器调整带来的误码,降低系统误码率。
本发明还提出了一种信号质量优化装置。图6是本发明信号质量优化装置的结构图。由图6可见,该装置包括:端口初始化设置模块,用于设置系统端口的初始化状态,并阻止mac数据的传输;均衡器调整控制模块,用于基于物理编码子层pcs和mii分离执行均衡器调整控制;端口状态检查模块,用于检查端口状态,并在端口连接linkup状态置起时传输mac数据。
进一步地,所述端口初始化设置模块包括:端口解复位单元,用于所述pcs发送端、所述mii发送端、mac端口和所述pcs接收端解复位操作;远端故障发送单元,用于控制所述mii发送端向对端mii接收端发送remotefault。
进一步地,所述均衡器调整控制模块包括:第一状态获取单元,用于获取当前的pcs同步状态和mii接收端的复位状态;均衡器调整控制单元,用于根据所述同步状态和复位状态进行均衡器调整控制。
进一步地,所述端口状态检查模块包括:第二状态获取单元,用于获取当前的pcs同步状态和mii接收端的复位状态;linkup状态设置单元,用于当所述pcs同步已完成、所述mii接收端已解复位,且不存在localfault时,将端口状态设置为linkup,开始传输用户数据。
该装置的具体工作方法流程如上述,此不赘述。
另外,本发明还提出了一种以太网通信系统,其中包括上述信号质量优化装置。
本发明通过在pcs层链路建立完成后,基于mii层的操作暂时将端口linkup状态隐藏起来,然后通知系统做均衡器调优,在调优完成后再放开该状态,并开始收发用户数据,从而避免均衡器调整带来的链路波动。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书一个或多个实施例的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
1.一种基于pcs和mii分离的信号质量优化方法,其特征在于,包括:
步骤1:设置系统端口的初始化状态,并阻止mac数据的传输;
步骤2:基于物理编码子层pcs和mii分离执行均衡器调整控制;
步骤3:检查端口状态,并在端口连接linkup状态置起时传输mac数据。
2.如权利要求1所述的信号质量优化方法,其特征在于,阻止mac数据的传输,具体包括:
mii发送端向对端mii接收端发送远端故障,以阻止对端发送mac数据。
3.如权利要求2所述的信号质量优化方法,其特征在于,所述步骤1设置系统端口的初始化状态具体包括:
步骤1.1:所述pcs发送端解复位;
步骤1.2:所述mii发送端解复位;
步骤1.3:mac解复位;
步骤1.4:所述mii发送端向对端mii接收端发送远端故障;
步骤1.5:所述pcs接收端解复位。
4.如权利要求1所述的信号质量优化方法,其特征在于,所述步骤2执行均衡器调整控制具体包括:
获取当前的pcs同步状态和mii接收端的复位状态,根据所述同步状态和复位状态进行均衡器调整控制。
5.如权利要求4所述的信号质量优化方法,其特征在于,所述根据所述同步状态和复位状态进行均衡器调整控制具体包括:
若所述pcs已同步,且所述mii接收端复位,则轮询均衡器是否调整完成,并将轮询结果保存在临时变量is_rxeq_tuning中,若is_rxeq_tuning=1且均衡器调整已结束,则进入所述步骤3;
若所述pcs未同步,且所述mii接收端解复位,则使所述mii接收端恢复复位,并重新向对端mii接收端发送远端故障,将is_rxeq_tuning设置为0,等待下次出现is_rxeq_tuning=1时重新调整均衡器;
若所述pcs未同步,且所述mii接收端复位,则将均衡器恢复到默认值,并将is_rxeq_tuning设置为0,等待pcs同步成功;
若所述pcs已同步,且所述mii接收端解复位,则将is_rxeq_tuning设置为0,进入所述步骤3。
6.如权利要求4或5所述的信号质量优化方法,其特征在于,所述步骤3检查端口状态具体包括:
步骤3.1:判断pcs同步是否完成,若是则进入步骤3.2,若否则继续进行当前步骤;
步骤3.2:判断mii接收端是否已解复位,若是则进入到步骤3.3,若否则跳转到步骤3.1;
步骤3.3:判断是否存在本端故障,若否则将端口状态设置为linkup,并开始传输mac数据,若是则跳转到步骤3.1。
7.一种基于pcs和mii分离的信号质量优化装置,其特征在于,包括:
端口初始化设置模块,用于设置系统端口的初始化状态,并阻止mac数据的传输;
均衡器调整控制模块,用于基于物理编码子层pcs和mii分离执行均衡器调整控制;
端口状态检查模块,用于检查端口状态,并在端口连接linkup状态置起时传输mac数据。
8.如权利要求7所述的信号质量优化装置,其特征在于,所述端口初始化设置模块包括:
端口解复位单元,用于所述pcs发送端、所述mii发送端、mac端口和所述pcs接收端解复位操作;
远端故障发送单元,用于控制所述mii发送端向对端mii接收端发送远端故障。
9.如权利要求7所述的信号质量优化装置,其特征在于,所述均衡器调整控制模块包括:
第一状态获取单元,用于获取当前的pcs同步状态和mii接收端的复位状态;
均衡器调整控制单元,用于根据所述同步状态和复位状态进行均衡器调整控制;和/或,
所述端口状态检查模块包括:
第二状态获取单元,用于获取当前的pcs同步状态和mii接收端的复位状态;
端口状态设置单元,用于在所述pcs同步已完成、所述mii接收端已解复位,且不存在本端故障时,将端口状态设置为linkup,开始传输mac数据。
10.一种以太网通信系统,其特征在于,包括如权利要求7-9之一所述的信号质量优化装置。
技术总结