本发明涉及通信领域,具体涉及一种交换机系统及其网口时间同步方法。
背景技术:
在通信系统中,为了实现一定数量级的数据交换容量,除了提高交换机的单个网口带宽外,通常采用多个网口来实现。同时为了实现与不同对端交换机接口的互连,交换机上也需要多个或多种网口。
随着互联网的发展,语音、视频通话、自动驾驶、物联网等越来越多的应用对网络时间同步提出了要求,对多网口交换机的网口同步也提出了要求,即要求整机全部网口的时间同步。
由于现有的交换机系统的限制,交换机网口时间同步方法也极其有限,通常采用纯硬件的方式:从接收到的数据中恢复出的时钟,再将时钟送给计数器,根据计数器数值算出运行时间,将计算出的运行时间与网口的rtc时钟进行比较,算出二者偏差值,根据偏差值对rtc时钟进行校准,以实现主从网口的时钟同步,再将同步后的网口rtc时钟与板上其他网口或其他板卡rtc时钟进行同步。该种方式只能同步时钟频率,不能同步时间信息。
技术实现要素:
针对现有技术中的上述不足,本发明提供的一种交换机系统及其网口时间同步方法,解决了目前交换机网口时间同步技术只能同步时钟频率,不能同步时间信息的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种交换机系统,包括:交换机背板、主控交换板、时钟板和n块业务板,n为大于1的整数;所述主控交换板、时钟板和n块业务板均与交换机背板固定连接;所述主控交换板与时钟板通信连接,且与n块业务板均通信连接;所述时钟板分别与n块业务板均通信连接。
进一步地,所述主控交换板的核心处理芯片包括交换芯片、cpu和fpga;所述时钟板的核心处理芯片为fpga;所述n块业务板的核心处理芯片均为交换芯片;所述每块业务板各自均包括m个网口,m为大于1的整数。
进一步地,所述主控交换板的交换芯片与主控交换板的cpu通过pcie接口通信连接;所述主控交换板的cpu与主控交换板的fpga通过管理接口通信连接;所述主控交换板的交换芯片通过数据接口与n块业务板的交换芯片通信连接;所述主控交换板的fpga通过管理接口与时钟板的fpga通信连接;所述时钟板的fpga通过1pps+tod接口与n块业务板的交换芯片通信连接;所述每块业务板各自的交换芯片均与其m个网口通信连接。
进一步地,所述管理接口的通信协议包括spi串行外设接口协议和uart串行通信协议。
一种交换机系统的网口时间同步方法,包括以下步骤:
s1、通过时钟板预设本地默认时间信息;
s2、根据默认时间信息,通过n块业务板得到具有本地时间戳和对端主机时间戳的ptp报文;
s3、将具有本地时间戳和对端主机时间戳的ptp报文输入主控交换板的cpu,并通过主控交换板的cpu计算本地默认时间信息与对端主机时间信息的偏差值;
s4、通过管理接口,将本地默认时间信息与对端主机时间信息的偏差值写入主控交换板的fpga的寄存器,并通过主控交换板的fpga及其管理接口将本地默认时间信息与对端主机时间信息的偏差值呈递给时钟板的fpga;
s5、通过时钟板根据本地默认时间信息与对端主机时间信息的偏差值对本地时间进行校准,得到初步校准后的时间;
s6、通过1pps+tod接口将初步校准后的时间同步给n块业务板;
s7、cpu按照设定频率与对端主机进行ptp通信,时钟板根据偏差值持续校准本地时间,并通过1pps+tod接口将校准后的时间同步给n块业务板,达到各网口时间同步的目的。
进一步地,所述步骤s2包括以下分步骤:
s21、通过1pps+tod接口将时钟板的默认时间信息同步给n块业务板;
s22、通过主控交换板的cpu,采用最佳主时钟算法,在n块业务板的多个正在与各自的网络上对端主机通信的网口中选取最佳时钟同步网口;
s23、通过最佳时钟同步网口,接收网络上对端主机广播的ptp时间同步报文,该同步报文中包含对端主机打的时间戳,在ptp报文进入与之通信的业务板的交换芯片时,通过交换芯片根据默认时间信息对ptp报文进行打时间戳操作,得到具有本地时间戳和对端主机时间戳的ptp报文。
进一步地,所述步骤s3包括以下步骤:
s31、通过数据接口将具有本地时间戳和对端主机时间戳的ptp报文呈递给主控交换板的交换芯片,并通过pcie接口继而呈递给主控交换板的cpu;
s32、根据ptp报文中本地时间戳和对端主机时间戳,计算本地默认时间信息与对端主机时间信息的偏差值。
本发明的有益效果为:进行了主控交换板、时钟板、业务板的分离式设计,通过各通信接口及其不同的通信协议传递带有时间戳的报文,发挥cpu串行运算,易于实现ieee1588v2协议的优势,同时发挥fpga并行运算,快速及时的优势,以cpu计算时间偏差,以fpga修正偏差,最终通过1pps+tod接口将时钟同步给各个业务板上的交换芯片,本发明以独特的硬件及配套的方法流程的设计,相比于只能同步时钟频率的传统技术,可实现时间信息的同步。
附图说明
图1为一种交换机系统框图;
图2为一种交换机系统的网口时间同步方法流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,在本发明的一个实施例中,一种交换机系统,包括:交换机背板、主控交换板、时钟板和n块业务板,n为大于1的整数;所述主控交换板、时钟板和n块业务板均与交换机背板固定连接;所述主控交换板与时钟板通信连接,且与n块业务板均通信连接;所述时钟板分别与n块业务板均通信连接。
所述主控交换板的核心处理芯片包括交换芯片、cpu和fpga;所述时钟板的核心处理芯片为fpga;所述n块业务板的核心处理芯片均为交换芯片;所述每块业务板各自均包括m个网口,m为大于1的整数。
所述主控交换板的交换芯片与主控交换板的cpu通过pcie接口通信连接;所述主控交换板的cpu与主控交换板的fpga通过管理接口通信连接;所述主控交换板的交换芯片通过数据接口与n块业务板的交换芯片通信连接;所述主控交换板的fpga通过管理接口与时钟板的fpga通信连接;所述时钟板的fpga通过1pps+tod接口与n块业务板的交换芯片通信连接;所述每块业务板各自的交换芯片均与其m个网口通信连接。
所述管理接口的通信协议包括spi串行外设接口协议和uart串行通信协议。
如图2所示,一种交换机系统的网口时间同步方法,包括以下步骤:
s1、通过时钟板预设本地默认时间信息;
s2、根据默认时间信息,通过n块业务板得到具有本地时间戳和对端主机时间戳的ptp报文;
所述步骤s2包括以下分步骤:
s21、通过1pps+tod接口将时钟板的默认时间信息同步给n块业务板;
s22、通过主控交换板的cpu,采用最佳主时钟算法,在n块业务板的多个正在与各自的网络上对端主机通信的网口中选取最佳时钟同步网口;
s23、通过最佳时钟同步网口,接收网络上对端主机广播的ptp时间同步报文,该同步报文中包含对端主机打的时间戳,在ptp报文进入与之通信的业务板的交换芯片时,通过交换芯片根据默认时间信息对ptp报文进行打时间戳操作,得到具有本地时间戳和对端主机时间戳的ptp报文。
s3、将具有本地时间戳和对端主机时间戳的ptp报文输入主控交换板的cpu,并通过主控交换板的cpu计算本地默认时间信息与对端主机时间信息的偏差值;
所述步骤s3包括以下步骤:
s31、通过数据接口将具有本地时间戳和对端主机时间戳的ptp报文呈递给主控交换板的交换芯片,并通过pcie接口继而呈递给主控交换板的cpu;
s32、根据ptp报文中本地时间戳和对端主机时间戳,计算本地默认时间信息与对端主机时间信息的偏差值。
s4、通过管理接口,将本地默认时间信息与对端主机时间信息的偏差值写入主控交换板的fpga的寄存器,并通过主控交换板的fpga及其管理接口将本地默认时间信息与对端主机时间信息的偏差值呈递给时钟板的fpga;
s5、通过时钟板根据本地默认时间信息与对端主机时间信息的偏差值对本地时间进行校准,得到初步校准后的时间;
s6、通过1pps+tod接口将初步校准后的时间同步给n块业务板;
s7、cpu按照设定频率与对端主机进行ptp通信,时钟板根据偏差值持续校准本地时间,并通过1pps+tod接口将校准后的时间同步给n块业务板,达到各网口时间同步的目的。
本发明进行了主控交换板、时钟板、业务板的分离式设计,通过各通信接口及其不同的通信协议传递带有时间戳的报文,发挥cpu串行运算,易于实现ieee1588v2协议的优势,同时发挥fpga并行运算,快速及时的优势,以cpu计算时间偏差,以fpga修正偏差,最终通过1pps+tod接口将时钟同步给各个业务板上的交换芯片,本发明以独特的硬件及配套的方法流程的设计,相比于只能同步时钟频率的传统技术,可实现时间信息的同步。