基于FPGA的Cm时钟恢复算法、系统、存储介质及设备的制作方法

专利查询2023-2-19  118


基于fpga的cm时钟恢复算法、系统、存储介质及设备
技术领域
1.本发明涉及数据通信技术领域,具体涉及一种基于fpga的cm时钟恢复算法、系统、存储介质及设备。


背景技术:

2.otn(optical transport network,光传送网)技术在近几年逐步成为光通信领域的主流技术之一。
3.gmp(generic mapping procedure,通用成帧规程)良好地解决客户信号和服务器的速率适配问题。gmp可以在任何情况下,服务器信号速率确定高于客户信号速率,因此,gmp映射方法可将任何的客户信号速率映射到任何服务器速率。
4.对于sdh业务这种无帧间隔无流控传递的业务场景,对恢复原初业务时钟有必须需求,cm功能非常重要。通过将接受侧的业务时钟信息数字化封装在开销中,用异步时钟传递给下游通信设备,下游设备再根据收到的cm信息,即可恢复出上游设备的原初时钟信息。


技术实现要素:

5.本发明提出的一种基于fpga的cm时钟恢复算法、系统、存储介质及设备,可至少解决背景技术中的技术问题之一。
6.为实现上述目的,本发明采用了以下技术方案:一种基于fpga的cm时钟恢复算法,通过计算机设备执行以下步骤,将接受侧的业务时钟信息数字化封装在开销中用异步时钟传递给下游通信设备,下游设备在收到cm信息之后,能够根据一系列计算恢复出上游设备的原初时钟信息。
7.步骤1,odu0逐帧传递,每一帧odu0携带一次cm信息,在每个odu0帧周期内计算sdh业务的有效时钟数,转算成cm值,插入下一帧的cm开销字节中;步骤2,在标准本地时钟域下,计算出每帧odu0的帧时钟计数,生成帧指示。本地时钟域下,在每个odu0帧指示之间进行数据有效计数,最终计算得到stm4的实时cm值;步骤3,将stm4的实时cm值换算成jc开销值并进行编码,然后插入odu0开销中传递出去;步骤4,线路侧收到odu0帧,进行解帧,在标准本地时钟域下,解出收到的jc值,进而换算成cm值;步骤5,将标准本地时钟域下的cm值转到线路侧接收钟时钟域下(即对端的标准本地同相时钟),生成带有缺口的线路侧接收钟时钟有效时钟指示(总有效拍数等于odu0的帧长度)步骤6,反向解算,利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的cm值,得出对端的sdh业务的原初钟时钟相位、频率。
8.进一步的,如前所述,步骤1和步骤2中,sdh客户数据(即cbr信号)到opuk帧净荷区域的插入由m字节(或者m比特,表示为cm(t),m=8
×
m)。剩余的不足m字节的数据块表示为c
nd
(t),用以辅助定时相位信息。客户数据的信息就可以用cm(t)和c
nd
(t)表示。在映射器处,由客户信号速率可计算出cn和cn(t)。由cn(t)计算出cm(t),由cn和cm(t)计算出c
nd
(t)。cm(t)和c
nd
(t)信息在opu的开销区传送,对应于cm(t)的客户数据插入下一帧的opu净荷区。
9.步骤3中,opuk开销有三个调整控制字节jc1,jc2,jc3,携带gmp的14个比特的开销cm的值以及cm值的crc8校验值。
10.步骤4中,解映射器处,客户信号的去除与上游映射器的处理过程相反。从opu净荷区解出cm(t)的客户数据,从opu的开销区解出jc1,jc2,jc3的值并通过jc1,jc2,jc3计算出cm(t)和c
nd
(t)信息。由解出的cm(t)和c
nd
(t)信息计算出cn和cn(t),再解出客户速率信号。
11.步骤5中,cm值转到线路侧接收钟时钟域下,该时钟为对端的标准本地同相时钟,再生成带有缺口的线路侧接收钟时钟有效时钟指示。
12.步骤6中,利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的cm值,即可得出对端的sdh业务的原初钟时钟相位、频率。
13.依据本发明的另一个方面,提供了一种异步时钟通信的cm时钟恢复算法,所述模块包括:时钟转cm值计算模块,用于在本地时钟域下计算出每帧odu0的帧时钟计数,生成帧指示。本地时钟域下在每个odu0帧指示之间进行数据有效计数,最终计算得到stm4的实时cm值;cm值插入模块,用于将时钟转cm值计算模块算得的stm4的实时cm值换算成jc开销值并进行编码,然后插入odu0开销中,传递出去;cm值提取模块,用于解线路侧收到的odu0帧,在标准本地时钟域下,解出收到的jc值,进而换算成cm值;cm值转时钟计算模块,用于将标准本地时钟域下的cm值转到线路侧接收钟时钟域下,在生成线路侧接收钟时钟有效时钟指示后,进行反向解算。利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的cm值,得出对端的sdh业务的原初钟时钟相位、频率。
14.又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
15.再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
16.由上述技术方案可知,本发明的基于fpga的cm时钟恢复算法及系统,将接受侧的业务时钟信息数字化封装在开销中,用异步时钟传递给下游通信设备,下游设备能够根据收到的cm信息恢复出上游设备的原初时钟信息。cm处理分为时钟转cm值计算、cm值插入、cm值提取、cm值转时钟计算。odu0逐帧传递,每一帧odu0携带一次cm信息,在每个odu0帧周期内计算sdh业务的有效时钟数,转算成cm值,插入下一帧的cm开销字节中;在标准本地时钟域下,记算出每帧odu0的帧时钟计数,生成帧指示。本地时钟域下,在每个odu0帧指示之间进行客户数据有效计数,最终计算得到stm4的实时cm值;再将stm4的实时cm值换算成jc开销值并进行编码插入odu0开销中传递出去;线路侧收到odu0帧,进行解帧,在标准本地时钟域下,解出收到的jc值,进而换算成cm值;将标准本地时钟域下的cm值转到线路侧接收钟时钟域下
(即对端的标准本地同相时钟),生成带有缺口的线路侧接收钟时钟有效时钟指示(总有效拍数等于odu0的帧长度);再反向解算,利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的cm值,得出对端的sdh业务的原初钟时钟相位、频率。送给5347锁定以后反送给sdh业务作为业务工作钟,完成时钟传递。本发明通过让每一帧odu0携带cm信息,算得stm4的实时cm值,换算成jc开销值,通过odu0开销传给线路测,线路侧收到odu0帧后,解出jc值,进而换算成cm值。从而在异步时钟通信中,实现了通过cm值的方法恢复时钟。
17.由上述技术方案可知,本发明的基于fpga的cm时钟恢复算法及系统,优势如下:1.通过该算法通过算法实现,而不是硬件。相对于之前压水线的方式,节省了压控振荡器等硬件需求;2.逐级映射,而不是在出口处生成信号,更契合gmp,amp映射,相对而言应用更加广泛;3.生成的是时钟信号,而不是速率信号,因此可以直接给时钟芯片使用。
附图说明
18.图1为本发明实施例提供的基于fpga的cm时钟恢复的算法步骤流程图;图2为本发明实施例提供的gmp客户流程图;图3为本发明实施例提供的模块的结构框图;图4为本发明实施例提供的时钟转cm值计算模块流程图;图5为本发明实施例提供的cm值插入模块流程图;图6为本发明实施例提供的cm值提取模块流程图;图7为本发明实施例提供的cm值转时钟计算模块流程图。
具体实施方式
19.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
20.本实施例所述的基于fpga的cm时钟恢复算法,通过计算机设备执行以下步骤,如图1所示,所述方法包括:当客户信号进入接收侧时:步骤s101,odu0逐帧传递,每一帧odu0携带一次cm信息,在每个odu0帧周期内计算sdh业务的有效时钟数,转算成cm值,插入下一帧的cm开销字节中;步骤s102,在标准本地时钟域下,计算出每帧odu0的帧时钟计数,生成帧指示。本地时钟域下,在每个odu0帧指示之间进行数据有效计数,最终计算得到stm4的实时cm值;步骤s103,将stm4的实时cm值换算成jc开销值并进行编码,然后插入odu0开销中传递出去;步骤s104,线路侧收到odu0帧,进行解帧,在标准本地时钟域下,解出收到的jc值,进而换算成cm值;步骤s105,将标准本地时钟域下的cm值转到线路侧接收钟时钟域下(即对端的标
准本地同相时钟),生成带有缺口的线路侧接收钟时钟有效时钟指示(总有效拍数等于odu0的帧长度);步骤s106,反向解算,利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的cm值,得出对端的sdh业务的原初钟时钟相位、频率。
21.如图2所示,cm(t)和c
nd
(t)信息在opu的开销区传送,对应于cm(t)的客户数据插入下一帧的opu净荷区。
22.为进一步了解本发明实施例提供的数据包在设备中转发的步骤流程,下面将详细说明。
23.在步骤s101和s102中,sdh客户数据(即cbr信号)到opuk帧净荷区域的插入由m字节(或者m比特,表示为cm(t),m=8
×
m)。剩余的不足m字节的数据块表示为c
nd
(t),用以辅助定时相位信息。客户数据的信息就可以用cm(t)和c
nd
(t)表示。在映射器处,由客户信号速率可计算出cn和cn(t)。由cn(t)计算出cm(t),由cn和cm(t)计算出c
nd
(t)。
24.时钟转cm值计算模块流程如图4所示:步骤s401、在标准本地时钟域下,计算每帧odu0的帧时钟计数;步骤s402、生成帧指示;步骤s403、实时时钟域下,在每个odu0帧指示之间进行数据有效计数;步骤s404、得到stm-4的实时cm值;在步骤s103中,cm(t)和c
nd
(t)信息在opu的开销区传送,对应于cm(t)的客户数据插入下一帧的opu净荷区。opuk开销有三个调整控制字节jc1,jc2,jc3,携带gmp的14个比特的开销cm的值和cm值的crc8校验值,另有三个调整控制字节jc4,jc5,jc6携带gmp的开销的c
nd
的值。cm值插入模块流程如图5所示:步骤s501、stm-4的实时cm值转到标准本地时钟域下;步骤s502、换算成jc开销值;步骤s503、插入odu0开销中传递出去;在步骤s104中,解映射器处,客户信号的去除与上游映射器的处理过程相反。从opu净荷区解出cm(t)的客户数据,从opu的开销区解出cm(t)和c
nd
(t)信息。由解出的cm(t)和c
nd
(t)信息计算出cn和cn(t),再解出客户速率信号。cm值提取模块流程如图6所示:步骤s601、线路侧收到odu0帧;步骤s602、在标准本地时钟域下,解出收到的jc值;步骤s603、通过jc的值换算成cm;在步骤s105和s106中,cm值转到线路侧接收钟时钟域下,该时钟为对端的标准本地同相时钟,再生成带有缺口的线路侧接收钟时钟有效时钟指示。利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的cm值,即可得出对端的sdh业务的原初钟时钟相位、频率。cm值转时钟计算模块流程如图7所示:步骤s701、将对端的标准本地同相时钟下的cm值转到线路侧接收钟时钟域下;步骤s702、生成带有缺口的线路侧接收钟时钟有效时钟指示;步骤s703、得出对端的sdh业务的原初钟时钟相位、频率;步骤s704、送给5347锁定;步骤s705、送给sdh业务作为业务工作钟,完成时钟传递。
25.综上所述,本发明实施例提供一种基于fpga的cm时钟恢复算法。将接受侧的业务时钟信息数字化封装在开销中,用异步时钟传递给下游通信设备,下游设备能够根据收到的cm信息恢复出上游设备的原初时钟信息。cm处理分为时钟转cm值计算、cm值插入、cm值提取、cm值转时钟计算。odu0逐帧传递,每一帧odu0携带一次cm信息,在每个odu0帧周期内计算sdh业务的有效时钟数,转算成cm值,插入下一帧的cm开销字节中;在标准本地时钟域下,记算出每帧odu0的帧时钟计数,生成帧指示。本地时钟域下,在每个odu0帧指示之间进行数据有效计数,最终计算得到stm4的实时cm值;再将stm4的实时cm值换算成jc开销值并进行编码,然后插入odu0开销中传递出去;线路侧收到odu0帧,进行解帧,在标准本地时钟域下,解出收到的jc值,进而换算成cm值;将标准本地时钟域下的cm值转到线路侧接收钟时钟域下(即对端的标准本地同相时钟),生成带有缺口的线路侧接收钟时钟有效时钟指示(总有效拍数等于odu0的帧长度);再反向解算,利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的cm值,得出对端的sdh业务的原初钟时钟相位、频率。送给5347锁定以后反送给sdh业务作为业务工作钟,完成时钟传递。本发明通过让每一帧odu0携带cm信息,算得stm4的实时cm值,换算成jc开销值,通过odu0开销传给线路测,线路侧收到odu0帧后,解出jc值,进而换算成cm值。从而在异步时钟通信中,实现了通过cm值的方法恢复时钟。
26.依据本发明实施例的另一个方面,提供了一种基于fpga的cm时钟恢复算法的模块,如图3所示,所述模块包括:时钟转cm值计算模块,用于在本地时钟域下计算出每帧odu0的帧时钟计数,生成帧指示。本地时钟域下在每个odu0帧指示之间进行数据有效计数,最终计算得到stm4的实时cm值;cm值插入模块,用于将时钟转cm值计算模块算得的stm4的实时cm值换算成jc开销值并进行编码,然后插入odu0开销中,传递出去;cm值提取模块,用于解线路侧收到的odu0帧,在标准本地时钟域下,解出收到的jc值,进而换算成cm值;cm值转时钟计算模块,用于将标准本地时钟域下的cm值转到线路侧接收钟时钟域下,在生成线路侧接收钟时钟有效时钟指示后,进行反向解算。利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的cm值,得出对端的sdh业务的原初钟时钟相位、频率。
27.可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
28.本技术实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述基于fpga的cm时钟恢复算法。
29.上述电子设备提到的通信总线可以是外设部件互连标准(英文:peripheral component interconnect,简称:pci)总线或扩展工业标准结构(英文:extended industry standard architecture,简称:eisa)总线等。该通信总线可以分为地址总线、数据总线、控
制总线等。
30.通信接口用于上述电子设备与其他设备之间的通信。
31.存储器可以包括随机存取存储器(英文:random access memory,简称:ram),也可以包括非易失性存储器(英文:non-volatile memory,简称:nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
32.上述的处理器可以是通用处理器,包括中央处理器(英文:central processing unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processing,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
33.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于fpga的cm时钟恢复算法的步骤。
34.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于fpga的cm时钟恢复算法。
35.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk (ssd))等。
36.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
37.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
38.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种基于fpga的c
m
时钟恢复算法,其特征在于,通过计算机设备执行以下步骤,将接受侧的业务时钟信息数字化封装在开销中用异步时钟传递给下游通信设备,下游设备在收到c
m
信息之后,能够根据一系列计算恢复出上游设备的原初时钟信息;具体包括以下步骤:步骤1,odu0逐帧传递,每一帧odu0携带一次c
m
信息,在每个odu0帧周期内计算sdh业务的有效时钟数,转算成c
m
值,插入下一帧的c
m
开销字节中;步骤2,在标准本地时钟域下,计算出每帧odu0的帧时钟计数,生成帧指示;本地时钟域下,在每个odu0帧指示之间进行客户数据有效计数,最终计算得到stm4的实时c
m
值;步骤3,将stm4的实时c
m
值换算成jc开销值并进行编码,然后插入odu0开销中传递出去;步骤4,线路侧收到odu0帧,进行解帧,在标准本地时钟域下,解出收到的jc值,进而换算成c
m
值;步骤5,将标准本地时钟域下的c
m
值转到线路侧接收钟时钟域下即对端的标准本地同相时钟,生成带有缺口的线路侧接收钟时钟有效时钟指示,总有效拍数等于odu0的帧长度;步骤6,反向解算,利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的c
m
值,得出对端的sdh业务的原初钟时钟相位、频率。2.根据权利要求1所述的基于fpga的c
m
时钟恢复算法,其特征在于:所述步骤1和步骤2中,sdh客户数据即cbr信号到opuk帧净荷区域的插入由m字节或者m比特,表示为c
m
(t),m=8
×
m;剩余的不足m字节的数据块表示为c
nd
(t),用以辅助定时相位信息;客户数据的信息用c
m
(t)和c
nd
(t)表示;在映射器处,由客户信号速率计算出c
n
和c
n
(t);由c
n
(t)计算出c
m
(t),由c
n
和c
m
(t)计算出c
nd
(t);c
m
(t)和c
nd
(t)信息在opu的开销区传送,对应于c
m
(t)的客户数据插入下一帧的opu净荷区;对于stm-4映射到opu0,因为8bit定时粒度的定时信息已经足够,客户信号不再支持传送c
nd
。3.根据权利要求2所述的基于fpga的c
m
时钟恢复算法,其特征在于:步骤3中,opuk开销有三个调整控制字节jc1,jc2,jc3,携带gmp的14个比特的开销c
m
的值以及c
m
值的crc8校验值。4.根据权利要求3所述的基于fpga的c
m
时钟恢复算法,其特征在于:步骤4中,解映射器处,客户信号的去除与上游映射器的处理过程相反;从opu净荷区解出c
m
(t)的客户数据,从opu的开销区解出jc1,jc2,jc3的值并通过jc1,jc2,jc3计算出c
m
(t)和c
nd
(t)信息;由解出的c
m
(t)和c
nd
(t)信息计算出c
n
和c
n
(t),再解出客户信号速率。5.根据权利要求4所述的基于fpga的c
m
时钟恢复算法,其特征在于:步骤5中,c
m
值转到线路侧接收钟时钟域下,该时钟为对端的标准本地同相时钟,再生成带有缺口的线路侧接收钟时钟有效时钟指示。6.根据权利要求5所述的基于fpga的c
m
时钟恢复算法,其特征在于:步骤6中,利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的c
m
值,即可得出对端的sdh业务的原初钟时钟相位、频率。7.一种基于fpga的c
m
时钟恢复系统,其特征在于:包括以下模块,
时钟转c
m
值计算模块,用于在本地时钟域下计算出每帧odu0的帧时钟计数,生成帧指示;本地时钟域下在每个odu0帧指示之间进行客户数据有效计数,最终计算得到stm4的实时c
m
值;c
m
值插入模块,用于将时钟转c
m
值计算模块算得的stm4的实时c
m
值换算成jc开销值,插入odu0开销中,传递出去;c
m
值提取模块,用于解线路侧收到的odu0帧,在标准本地时钟域下,解出收到的jc值,进而换算成c
m
值;c
m
值转时钟计算模块,用于将标准本地时钟域下的c
m
值转到线路侧接收钟时钟域下,在生成线路侧接收钟时钟有效时钟指示后,进行反向解算;利用线路侧接收钟时钟、线路侧接收钟时钟有效时钟指示、线路侧接收钟时钟域下的c
m
值,得出对端的sdh业务的原初钟时钟相位、频率。8.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。

技术总结
本发明公开了一种基于FPGA的C


技术研发人员:董鑫
受保护的技术使用者:安徽皖通邮电股份有限公司
技术研发日:2021.12.03
技术公布日:2022/3/8

最新回复(0)