发明内容
本发明所要解决的技术问题是如何实现路由设备的主机单元与子卡单元的动态适配。
为达到上述目的,本发明实施例提供了一种子卡单元动态适配方法,用于路由设备的主机单元和子卡单元的动态适配,所述主机单元中设置有线卡板,所述线卡板包括第一静态区域和重配区域,所述第一静态区域中的数据在加载后保持不变,所述重配区域中的数据根据与该重配区域对应的子卡单元的类型动态改变,所述方法包括:
加载所述第一静态区域;
识别当前插入的子卡单元的类型,根据所述子卡单元的类型分别加载与所述子卡单元对应的所述重配区域;
通过所述第一静态区域和与所述子卡单元对应的所述重配区域与所述子卡单元通信。
优选的,所述重配区域包括部分重配区域和动态重配区域;
所述根据子卡单元的类型加载所述重配区域,具体包括:
根据所述子卡单元的类型,在所述部分重配区域中加载相应协议以及相应编码方式;
根据所述子卡单元的类型,在所述动态重配区域中设置逻辑收发器的工作方式。
优选的,所述重配区域包括部分重配区域和动态重配区域;
所述根据子卡单元的类型加载所述重配区域,具体包括:
根据所述子卡单元的类型,在所述部分重配区域中加载相应协议;
根据所述子卡单元的类型,在所述动态重配区域中加载相应编码方式以及设置逻辑收发器的工作方式。
优选的,当所述部分重配区域和所述动态重配区域的总线定义方式、总线时序、总线频率或编码方式不同时,所述部分重配区域和所述动态重配区域之间还设置有第二静态区域,所述第二静态区域用于对所述部分重配区域和所述动态重配区域之间的交互数据进行转换,以使所述部分重配区域和所述动态重配区域能够识别对方发送的数据。
优选的,所述重配区域设置有两组以上动态重配区域和部分重配区域,每组动态重配区域和部分重配区域分别与一个子卡单元对应。
优选的,所述通过第一静态区域和与所述子卡单元对应的所述重配区域与子卡单元通信,之后还包括:
当子卡单元发生改变时,识别所述子卡单元的类型,判断所述子卡单元的类型与该接口上一次插入的子卡单元的类型是否相同;
当判断结果为是时,通过所述第一静态区域和上一次加载的重配区域与所述子卡单元通信;
当判断结果为否时,根据更换后的子卡单元的类型,加载与所述更换后的子卡单元对应的所述重配区域,并覆盖上一次加载的数据,通过所述第一静态区域和重新加载后的重配区域与所述子卡单元通信。
本发明实施例还提供了一种线卡板,用于路由设备的主机单元和子卡单元的动态适配,所述线卡板包括控制单元、第一静态区域和重配区域,所述第一静态区域中的数据在加载后保持不变,所述重配区域中的数据根据与该重配区域对应的子卡单元的类型动态改变,所述线卡板包括:
所述控制单元,用于加载所述第一静态区域;以及用于识别所述子卡单元的类型,并根据所述子卡单元的类型加载所述重配区域,以使所述主机单元与所述子卡单元通信。
优选的,所述重配区域包括部分重配区域和动态重配区域,所述控制单元包括加载子单元和识别子单元,其中,
所述加载子单元,用于加载所述第一静态区域;以及用于根据所述识别子单元识别的所述子卡单元的类型,在所述部分重配区域中加载相应协议和相应编码方式,在所述动态重配区域中设置逻辑收发器的工作方式;
所述识别子单元,用于识别当前插入的子卡单元的类型。
优选的,所述重配区域包括部分重配区域和动态重配区域,所述控制单元包括加载子单元和识别子单元,其中,
所述加载子单元,用于加载所述第一静态区域;以及用于根据所述识别子单元识别的所述子卡单元的类型,在所述部分重配区域中加载相应协议,在所述动态重配区域中加载相应编码方式并设置逻辑收发器的工作方式;
所述识别子单元,用于识别当前插入的子卡单元的类型。
优选的,当所述部分重配区域和所述动态重配区域的总线定义方式、总线时序、总线频率或编码方式不同时,所述加载子单元,还用于加载所述部分重配区域和所述动态重配区域之间设置的第二静态区域,其中,所述第二静态区域用于对所述部分重配区域和所述动态重配区域之间的交互数据进行转换,以使所述部分重配区域和所述动态重配区域能够识别对方发送的数据。
优选的,所述重配区域设置有两组以上动态重配区域和部分重配区域,每组动态重配区域和部分重配区域分别与一个子卡单元对应。
优选的,所述控制单元,还用于当插入的子卡单元发生改变时,识别所述子卡单元的类型,并判断所述子卡单元的类型与该接口上一次插入的子卡单元的类型是否相同;当判断所述子卡单元的类型与该接口上一次插入的子卡单元的类型不同时,根据改变后的子卡单元的类型加载所述重配区域,以使所述主机单元与所述子卡单元通信。
通过采用本发明,可以实现路由设备的主机单元与不同类型子卡单元的动态适配。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,为本发明实施例提供的一种逻辑芯片和子卡单元的结构示意图,路由设备的主机单元通过逻辑芯片与子卡单元相连接,其中,逻辑芯片可以采用FPGA(Field-Programmable Gate Array,现场可编程门阵列)逻辑芯片,逻辑芯片可以由第一静态区域和重配区域组成,其中,第一静态区域是指主机单元上电后,通过主机单元中的控制单元加载后,保持不变的逻辑区域,重配区域是指在插入或更换子卡单元时,根据子卡单元的类型动态调整的逻辑区域,重配区域可以在主机上电后,由控制单元加载,插入子卡单元后,再根据子卡单元的类型,由控制单元重新加载,也可以在主机上电后暂不加载,而是在插入子卡单元后,再根据子卡单元的类型,由控制单元加载。
在本发明实施例中,第一静态区域可以实现路由设备的报文转发和业务处理,例如IPv4、IPv6、MPLS的数据报文的转发,队列调度、服务质量保证、隧道、加密、统计、流量检测、防火墙和组播复制等业务处理。
通过在重配区域中加载不同的数据,可以使得主机单元与不同类型的子卡单元进行通信,其中,重配区域可以被分为部分重配区域和动态重配区域,控制单元在部分重配区域和动态重配区域中加载与子卡单元对应的协议、相应编码方式和逻辑收发器的工作方式,其中,编码方式可以包括8bit/10bit、64bit/66bit、相位补偿、字节对齐、速率适配等,逻辑收发器的工作方式可以包括差分对数目、锁相环以及时钟频率等。
具体的,对于接口类型为以太网接口的子卡单元,逻辑芯片的动态重配区域与多种不同类型的以太网接口的子卡单元互通,而以太网接口的子卡单元通常支持100Gbit/s、40Gbit/s、10Gbit/s、10/100/1000Mbit/s以太网接口,因此动态重配区域需要支持CAUI、XLAUI、XFI/SFI、SGMII/QSGMII等总线。其中,当子卡单元类型为100Gbit/s以太网接口时,串行高速数据总线定义为CAUI,当子卡单元类型为40Gbit/s以太网接口时,串行高速数据总线定义为XLAUI,当子卡单元类型为10Gbit/s以太网接口时,串行高速数据总线定义为XFI/SFI或XAUI/RXAUI/DXAUI等,当子卡单元类型为10/100M/1000Mbit/s以太网接口时,串行高速数据总线定义为SGMII/SGMII+/QSGMII。
本申请实施例具体为,CAUI总线对应的编码方式加载为64bit/66bit,发送参考时钟频率为103.125MHz,发送时钟锁相环的倍频数设置为100,差分对数目设置为10,时钟频率为103.125MHz×100=10.3125G;
XLAUI总线的编码方式加载为64bit/66bit,发送参考时钟频率为103.125MHz,发送时钟锁相环的倍频数设置为100,差分对数目设置为4,时钟频率为103.125MHz×100=10.3125G;
XFI/SFI总线对应的编码方式加载为64bit/66bit,发送参考时钟频率为103.125MHz,发送时钟锁相环的倍频数设置为100,差分对数目设置为1,时钟频率为103.125MHz×100=10.3125G;
XAUI总线对应的编码方式加载为8bit/10bit,发送参考时钟频率为125MHz,发送时钟锁相环的倍频数设置为25,差分对数目设置为4,时钟频率为125MHz×25=3.125G;XAUI总线对应的编码方式加载为8bit/10bit,发送参考时钟频率为125MHz,发送时钟锁相环的倍频数设置为25,差分对数目设置为4,时钟频率为125MHz×25=3.125G;DXAUI总线对应的编码方式加载为8bit/10bit,发送参考时钟频率为125MHz,发送时钟锁相环的倍频数设置为50,差分对数目设置为4,时钟频率为125MHz×50=6.25G;SGMII总线对应的编码方式加载为8bit/10bit,发送参考时钟频率为125MHz,发送时钟锁相环的倍频数设置为10,差分对数目设置为1,时钟频率为125MHz×10=1.25G;
SGMII+总线对应的编码方式加载为8bit/10bit,发送参考时钟频率为125MHz,发送时钟锁相环的倍频数设置为20,差分对数目设置为1,时钟频率为125MHz×20=2.5G;
QSGMII总线对应的编码方式加载为8bit/10bit,发送参考时钟频率为125MHz,发送时钟锁相环的倍频数设置为40,差分对数目设置为1,时钟频率为125MHz×40=5G。
对于100Gbit/s以太网接口,协议为100G以太网MAC控制层协议,对于40Gbit/s以太网接口,协议为40G以太网MAC控制层协议,对于10Gbit/s以太网接口,协议为万兆以太网协议,对于10/100M/1000Mbit/s以太网接口,协议为千兆以太网协议,其中,协议可以通过逻辑程序的方式实现。
通过采用本发明,可以使以太网接口的子卡单元仅包括以太网PHY(Physical Layer,物理层)单元,避免使用昂贵的以太网MAC(Media AccessControl,介质访问控制)控制器,降低了以太网子卡的物料成本,若逻辑芯片的高速收发器可以直接驱动以太网光模块,则子卡单元上的PHY单元也可以省略,子卡单元上可以仅设置光模块,以进一步降低以太网接口子卡单元的物料成本。
对于接口类型为SDH/SONET或ATM网接口的子卡单元,串行高速数据总线定义为Interlaken或其它支持通道级流控的高速总线,SDH/SONET接口的子卡单元可以包括接口转换单元、HDLC控制器单元、Framer和LIU单元,ATM接口的子卡单元可以包括接口转换单元、SAR控制器单元和PHY单元。本申请实施例具体为,Interlaken总线对应的协议为Interlaken协议,编码方式为64bit/66bit,发送参考时钟频率为125MHz或103.125MHz,发送时钟锁相环的倍频数可以为不同的倍率,差分对数目根据相应子卡单元的差分对数目设置,时钟频率为3.125G(125MHz×25)、5G(125MHz×40)、6.25G(125MHz×50)、10.3125G(103.125MHz×100)等Interlaken总线所支持的各种时钟频率。
需要说明的是,在图2所示的结构中,子卡单元中的各单元(如接口转换单元、PHY单元、HDLC控制器单元等)可以被集成在同一个芯片上,本申请仅以各单元作为独立的芯片为例进行描述,在实际应用中,可以根据需要设计芯片的集成度。
在本发明实施例中,以每个路由设备提供一个逻辑芯片,每个逻辑芯片的部分重配区域和动态重配区域分别为三个为例进行描述,相应的,本发明实施例提供的路由设备最多可以同时插入三个子卡单元,当然,在实际应用中,可以根据实际需要,调整逻辑芯片的数量以及部分重配区域和动态重配区域的数量,其中部分重配区域、动态重配区域与子卡单元一一对应,以避免对某个部分重配区域或动态重配区域的重加载影响其他子卡单元。
本发明实施例中,提供了两种重配区域的具体实现方式,下面结合说明书附图,对两种实现方式进行进一步描述。
如图3所示,为本发明实施例提供的一种逻辑芯片的结构示意图,在本实施例中,部分重配区域实现了PCS(Physical Coding Sublayer,物理编码子层)子层的功能,动态重配区域实现了PMA(Physical Media Adaptation,物理媒介适配层)子层的功能,由于PMA子层利用了逻辑芯片的硬件资源,可以通过设置其中的寄存器使其工作在不同的状态。具体的,当重配区域实现与以太网总线的适配时,部分重配区域中,针对不同的以太网总线,加载了相应协议和编码方式,即实现了以太网媒体控制子层和以太网物理编码子层功能,动态重配区域中,针对不同的以太网总线,设置了不同的逻辑收发器的工作方式,即实现了以太网物理介质附加子层功能,当重配区域实现与Interlaken总线的适配时,部分重配区域中,加载了Interlaken协议和64bit/66bit编码方式,即实现了Interlaken协议子层和编码子层功能,动态重配区域中,针对不同的带宽需求,设置了不同的逻辑收发器的工作方式,即实现了Interlaken物理介质附加子层功能。由于接收数据流解串行单元和发送数据流串行单元与PMA子层兼容性较好,因此,使用接收数据流解串行单元和发送数据流串行单元实现部分重配区域和动态重配区域之间的连接。
如图4所示,为本发明实施例提供的另一种逻辑芯片的结构示意图,在本实施例中,动态重配区域实现了PCS子层和PMA子层的功能。具体的,当重配区域实现与以太网总线的适配时,部分重配区域中,针对不同的以太网接口,加载了相应的协议,即实现以太网媒体控制子层功能,动态重配区域中,针对不同的以太网接口,加载了相应的编码方式,并设置了不同的逻辑收发器的工作方式,即实现了以太网物理编码子层和以太网物理介质附加子层功能,当重配区域实现与Interlaken总线的适配时,部分重配区域中,加载了Interlaken协议,即实现了Interlaken协议子层功能,动态重配区域中,加载了64bit/66bit编码方式,并针对不同的带宽需求,设置了逻辑收发器的工作方式,即实现了Interlaken编码子层和物理介质附加子层功能。
在如图3和图4所示的重配区域中,发送时钟锁相环单元为发送方向的数据发送提供时钟,接收时钟锁相环单元为接收方向的数据接收提供时钟,接收参考时钟和发送参考时钟为相应锁相环的参考时钟,控制锁相环内部振荡信号的频率和相位。控制单元根据子卡单元的类型为发送时钟锁相环单元选择特定主频的发送参考时钟,并为发送时钟锁相环设置相应的倍频数,对于接收参考时钟和接收时钟锁相环的倍频数,由控制单元根据接收时钟恢复单元接收到的数据设置。其中可以为逻辑芯片的每个动态重配区域都提供独立的接收时钟锁相环单元和发送时钟锁相环单元。
如图5所示,为本发明实施例提供的另一种逻辑芯片和子卡单元的结构示意图,该路由设备在图4的基础上,在部分重配区域和动态重配区域之间增加了第二静态区域。在如图4所示的实现方式中,动态重配区域通过使用逻辑芯片自身的资源实现PCS子层的功能时,动态重配区域与部分重配区域的总线定义方式、总线时序、总线频率、编码方式等可以不同,本发明实施例中,针对此种情形,在部分重配区域和动态重配区域之间设置第二静态区域,以对部分重配区域和动态重配区域之间交互的数据进行协调和转换,以使部分重配区域和动态重配区域能够识别对方发送的数据。
基于上述逻辑芯片,本发明实施例还提供了一种线卡板,如图6所示,用于路由设备的主机单元和子卡单元的动态适配,该线卡板包括控制单元、第一静态区域和重配区域,第一静态区域中的数据在加载后保持不变,重配区域中的数据根据与该重配区域对应的子卡单元的类型动态改变,该线卡板包括:
所述控制单元,用于加载所述第一静态区域;以及用于识别所述子卡单元的类型,并根据所述子卡单元的类型加载所述重配区域,以使所述主机单元与所述子卡单元通信。
具体的,线卡板由控制单元和逻辑芯片组成,逻辑芯片上设置有逻辑芯片加载控制模块、循环冗余码校验模块、部分重配控制模块以及部分重配用户控制模块,其中,逻辑芯片加载控制模块、循环冗余码校验模块和部分重配控制模块可以通过逻辑芯片的硬件资源实现。
当线卡板上电时,控制单元通过逻辑芯片中的逻辑芯片加载控制模块加载第一静态区域(若逻辑芯片中设置有第二静态区域,还可以在此时在第二静态区域,在另一种实现方式中,控制单元还可以在线卡板上电时,通过逻辑芯片加载控制模块加载整个逻辑芯片,即静态区域和动态区域),图6中与逻辑芯片加载控制模块电连接的循环冗余码校验模块用于对加载到第一静态区域中的数据进行校验,以确保数据正确。
在第一静态区域加载完成后,控制单元识别插入的子卡单元的类型,根据子卡单元的类型加载动态区域,控制单元可以通过部分重配用户控制模块访问部分重配控制模块,并通过部分重配控制模块加载部分重配区域,通过第一静态区域加载动态重配区域,其中,第一静态区域和部分重配用户控制模块分别用于为控制单元和动态重配区域、控制单元和部分重配控制模块提供交互接口,与部分重配控制模块电连接的循环冗余码校验模块用于对加载到部分重配区域中的数据进行校验,以确保数据正确。在图6中,以部分重配用户控制模块包含在第一静态区域中为例进行描述,但实际上,部分重配用户控制模块还可以与第一静态区域并列设置。
优选的,控制单元可以通过I2C总线读取子卡单元的制造信息识别子卡单元的类型,如存储在EEPROM(Electrically Erasable Programmable Read-OnlyMemory,电可擦可编程只读存储器)中特定区域的信息,其中不同的值代表不同的子卡类型,或者,控制单元可以通过LBUS(Local Bus,本地总线)读取子卡单元的类型,如存储在CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)中的某个特定只读寄存器,其中不同的寄存器值代表不同的子卡类型,或者,控制单元可以直接或间接通过通用的I/O(Input/Output,输入输出端口)读取子卡单元的类型,如4位I/O信号,0000代表子卡类型1,0001代表子卡类型2,以此类推。
通过采用如图6所示的线卡板,可以实现对各个部分重配区域的独立加载。
如图7所示,为本发明实施例提供的一种控制单元的结构示意图,所述控制单元包括加载子单元701和识别子单元702,其中,
所述加载子单元701,用于加载所述第一静态区域;以及用于根据所述识别子单元702识别的所述子卡单元的类型,在所述部分重配区域中加载相应协议和相应编码方式,在所述动态重配区域中设置逻辑收发器的工作方式;
所述识别子单元702,用于识别当前插入的子卡单元的类型。
本申请的另一实施例中,所述控制单元包括加载子单元和识别子单元,其中,
所述加载子单元,用于加载所述第一静态区域;以及用于根据所述识别子单元识别的所述子卡单元的类型,在所述部分重配区域中加载相应协议,在所述动态重配区域中加载相应编码方式并设置逻辑收发器的工作方式;
所述识别子单元,用于识别当前插入的子卡单元的类型。
优选的,当所述部分重配区域和所述动态重配区域的总线定义方式、总线时序、总线频率或编码方式不同时,所述加载子单元,还用于加载所述部分重配区域和所述动态重配区域之间设置的第二静态区域,其中,所述第二静态区域用于对所述部分重配区域和所述动态重配区域之间的交互数据进行转换,以使所述部分重配区域和所述动态重配区域能够识别对方发送的数据。
优选的,所述控制单元,还用当插入的子卡单元发生改变时,识别所述子卡单元的类型,并判断所述子卡单元的类型与该接口上一次插入的子卡单元的类型是否相同;当判断所述子卡单元的类型与该接口上一次插入的子卡单元的类型不同时,根据改变后的子卡单元的类型加载所述重配区域,以使所述主机单元与所述子卡单元通信。
通过采用上述线卡板,可以实现路由设备的主机单元与不同类型子卡单元的动态适配,并可以将路由设备子卡单元的部分功能集成到路由设备的主机单元中,从而降低了子卡单元的制作成本,且由于重配区域中的数据为根据子卡单元的类型动态加载更新,而不需要一次将所有数据加载到重配区域中,因此降低了逻辑芯片的规模,即降低了路由设备的制作成本。同时,通过在逻辑芯片中设置多个重配区域,可以使一个逻辑芯片可以同时支持多个子卡单元插入,且对每个重配区域的记载不会影响到其他子卡单元。
基于上述线卡板,本发明实施例还提供了一种子卡单元动态适配方法,该方法应用于路由设备的主机单元和子卡单元的动态适配,线卡板包括第一静态区域和重配区域,第一静态区域中的数据在加载后保持不变,重配区域中的数据根据与该重配区域对应的子卡单元的类型动态改变,如图8所示,该方法包括以下步骤:
步骤801,加载第一静态区域。
具体的,路由设备主机单元在上电后,主机单元中的控制单元可以仅加载第一静态区域,也可以加载第一静态区域和重配区域,若逻辑芯片中设置有第二静态区域,控制单元则还可以在此时加载第二静态区域。
步骤802,识别当前插入的子卡单元的类型,根据子卡单元的类型加载与子卡单元对应的重配区域。
具体的,在插入子卡单元后,控制单元需要识别子卡单元的类型,若在路由设备上电后,控制单元未加载重配区域,则需要在识别子卡单元类型后,根据子卡单元的类型在重配区域中加载相应数据,若在路由设备上电后,控制单元已经加载了重配区域,则在识别子卡单元类型后,控制单元需要判断子卡单元的类型是否与重配区域中已经加载的数据相对应,若是,则不再向重配区域中加载数据,否则根据子卡单元的类型加载重配区域,并覆盖路由设备上电时,重配区域中加载的内容。
步骤803,通过第一静态区域和与子卡单元对应的重配区域与子卡单元通信。
步骤804,当用户更换子卡单元时,控制单元识别更换后的子卡单元的类型,判断子卡单元的类型与该接口上一次插入的子卡单元的类型是否相同,若判断结果为是,执行步骤805,否则执行步骤806。
步骤805,控制单元不向重配区域中加载数据,并执行步骤807。
步骤806,控制单元根据子卡单元的类型,在重配区域中加载与更换后的子卡单元的类型相对应的数据,并使用本次加载的数据覆盖上一次加载的数据。
步骤807,控制单元通过静态区域和重配区域与子卡单元通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。