一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种交叉连接设备及其时钟保持方法、系统与流程

2022-02-20 05:04:25 来源:中国专利 TAG:
1.本发明实施例涉及但不限于通信领域,具体而言,涉及但不限于一种交叉连接设备及其时钟保持方法、系统。
背景技术
::2.集中交叉系统,例如otn(opticaltransmissionnet,光传送网)集中交叉系统,要求同一子架内所有业务板必须使用同源系统时钟和同相8k帧头(每秒8000个时钟脉冲),否则业务会中断。现有技术中,通常在正常情况下各个业务板使用外部输入的同一时钟作为基准时钟,在接收不到外部时钟时,采用本地时钟作为基准时钟。各个业务板的本地时钟虽然与外部时钟同频率,但在各个业务板本地时钟频率有偏差、各个业务板本地时钟稳定性不一致、环境影响等因素的影响下,各个业务板的本地时钟通常无法做到同步,导致各个业务板的8k信号偏差大,容易造成业务中断。技术实现要素:3.本发明实施例提供的交叉连接设备及其时钟保持方法、系统,主要解决的技术问题是系统基准时钟丢失后,采用本地基准时钟容易造成业务中断的问题。4.为解决上述技术问题,本发明实施例提供一种时钟保持方法,包括:5.获取系统基准时钟;6.产生一个与所述系统基准时钟同频的本地基准时钟;7.在正常状态时,检测所述本地基准时钟与所述系统基准时钟之间的频率偏差;8.根据所述频率偏差对所述本地基准时钟进行频率调整,使所述本地基准时钟跟踪所述系统基准时钟,并记录频率调整的调整参数及其对应的调整时刻;9.在保持状态时,根据所述调整参数及其对应的调整时刻调整所述本地基准时钟,输出所述本地基准时钟。10.本发明实施例还提供一种时钟保持系统,包括:11.本地时钟产生电路,用于产生一个与系统基准时钟同频的本地基准时钟;12.状态控制电路,用于确定所述时钟保持系统状态,所述时钟保持系统状态包括正常状态和保持状态;13.频率偏差检测电路,用于在所述正常状态时,检测所述本地基准时钟与所述系统基准时钟之间的频率偏差,根据所述频率偏差得到用于对所述本地基准时钟进行频率调整的调整参数,使所述本地基准时钟跟踪所述系统基准时钟;14.频率调整记录电路,用于在所述正常状态时记录频率调整的所述调整参数及其对应的调整时刻;在所述保持状态时,根据所述调整参数及其对应的调整时刻输出所述调整参数;15.所述本地时钟产生电路还用于在所述正常状态时根据所述频率偏差检测电路输出的调整参数对所述本地基准时钟进行频率调整;在所述保持状态时,根据所述频率调整记录电路输出的调整参数对所述本地基准时钟进行频率调整;16.时钟源选择电路,用于获取所述系统基准时钟和所述本地时钟产生电路输出的本地基准时钟,在所述正常状态时输出所述系统基准时钟,在所述保持状态时输出所述本地基准时钟。17.本发明实施例还提供一种交叉连接设备,包括:18.主时钟板,设置有主系统时钟源,所述主系统时钟源用于输出主系统时钟和主系统秒脉冲信号;19.备用时钟板,设置有备用系统时钟源,所述备用系统时钟源用于输出备用系统时钟和备用系统秒脉冲信号;20.一个或多个用于处理业务的业务板,设置有如上所述的时钟保持系统,其中时钟保持系统的时钟源选择电路还用于在主系统时钟和备用系统时钟中选择一个作为系统基准时钟,在主系统秒脉冲信号和备用系统秒脉冲信号中选择一个作为系统基准秒脉冲信号;21.交叉板,用于数据交叉。22.本发明实施例还提供一种交叉连接设备,包括处理器、存储器及通信总线;23.所述通信总线用于实现处理器和存储器之间的连接通信;24.所述处理器用于执行存储器中存储的一个或者多个计算机程序,以实现如上所述的时钟保持方法的步骤。25.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如上所述的时钟保持方法的步骤。26.根据本发明实施例提供的交叉连接设备及其时钟保持方法、系统,通过在正常状态时,检测本地基准时钟与系统基准时钟之间的频率偏差;根据所述频率偏差对本地基准时钟进行频率调整,使本地基准时钟跟踪系统基准时钟,并记录频率调整的调整参数及其对应的调整时刻;在保持状态时,根据所述调整参数及其对应的调整时刻调整本地基准时钟,输出所述本地基准时钟;可见在保持状态时,各个业务板能参照系统基准时钟进行频率调整,提高了各个业务板本地基准时钟的同步性,业务不容易中断。27.本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。附图说明28.图1为现有的时钟保持系统的结构框图;29.图2为本发明实施例一的时钟保持方法的流程图;30.图3为图2中步骤4的流程图;31.图4为本发明实施例二的时钟保持系统中,正常状态的信号流向示意图;32.图5为本发明实施例二的时钟保持系统中,保持状态的信号流向示意图;33.图6为本发明交叉连接设备中,时钟板和业务板的信号传输示意图。具体实施方式34.为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。35.如图1所示,现有技术中,系统通过主时钟板给所有槽位线卡提供主系统时钟源sck_a和主秒脉冲同步信号1pps_a,备用时钟板给所有槽位线卡提供备用系统时钟源sck_b信号和备用秒脉冲同步信号1pps_b信号。同时,各个线卡自身也会产生一个本地时钟源l_clk和本地秒脉冲同步信号1pps_l。各线卡根据主时钟板和备用时钟板的状态,选择一个作为系统基准时钟源sck、系统基准秒脉冲信号1pps。各线卡使用选择出来的系统基准时钟源sck信号产生所需系统时钟:系统时钟sysclk_a和系统时钟sysclk_b。系统时钟sysclk_a用于线卡otn成帧和下背板信号处理。系统时钟sysclk_b则和系统基准秒脉冲信号1pps,共同产生线卡所需8k帧头信号。36.当主时钟板/备用时钟板正常时,各线卡会优先选择主时钟板/备用时钟板提供的系统基准时钟源(sck_a/sck_b)和系统基准1pps秒脉冲信号(1pps_a/1pps_b),保证各线卡产生与时钟交叉板同源的系统时钟以及同相的8k帧头信号。当线卡检测到系统的主时钟板/备用时钟板都丢失后,线卡需要使用本地时钟源产生本地系统时钟和8k帧头信号,此时,因为本地时钟源的精度、稳定性等不如主时钟板/备用时钟板,线卡本地系统时钟和8k帧头信号都与系统中的时钟交叉板时钟不同源,故本地系统时钟不稳定容易造成业务中断。37.而本发明提供的交叉连接设备及其时钟保持方法、系统,其通过跟踪系统基准时钟,得到本地基准时钟lck与系统基准时钟sck之间的频率关系。在系统基准时钟丢失后,根据这一频率关系,对本地基准时钟lck进行调整,调整后的本地基准时钟lck与系统基准时钟sck更接近、更稳定、更能满足业务需求,从而实现了时钟保持功能。具体过程通过下列实施例进行说明。38.实施例一:39.为了提高各个业务板本地基准时钟的一致性,本发明实施例提供了一种时钟保持方法,该方法可应用在例如外部时钟源中断时需要用本地时钟提供时钟信号的应用场景中,例如应用在各类集中交叉系统,尤其是otn电交叉连接设备上。40.请参见图2和图4,图2为一种实施例的时钟保持方法的流程图,其包括步骤1至步骤9,这些步骤的顺序不限于从1到9的顺序,有的步骤之间的顺序是可以调整的,不影响时钟保持即可,下面具体说明:41.步骤1、获取系统基准时钟和系统基准秒脉冲信号。例如,接收主系统时钟源输出的主系统时钟sck_a和主系统秒脉冲信号1pps_a,接收备用系统时钟源输出的备用系统时钟sck_b和备用系统秒脉冲信号1pps_b;在主系统时钟源输出的信号(主系统时钟和主系统秒脉冲信号)和备用系统时钟源输出的信号(备用系统时钟和备用系统秒脉冲信号)中选择一个作为系统基准时钟sck和系统基准秒脉冲信号1pps,通常在两个时钟源均正常的情况下,可选用主系统时钟sck_a作为系统基准时钟sck、主系统秒脉冲信号1pps_a作为系统基准秒脉冲信号1pps,在主系统时钟源异常时,例如接收不到主系统时钟源输出的时钟信号时,采用备用系统时钟源输出的信号作为系统基准时钟sck和系统基准秒脉冲信号1pps。系统基准时钟也就是系统基准时钟信号。42.步骤2、产生一个与系统基准时钟sck同频(同频率)的本地基准时钟lck,即,产生的本地基准时钟lck的频率理论上跟系统基准时钟sck的频率相同。例如,通过本地高稳定度时钟(highstabilitylocalclock)与频率综合器产生一个与系统基准时钟sck名义上(理论上)频率相同的本地时钟p_clk,对本地时钟p_clk进行调整,例如进行微调,得到本地基准时钟lck,本地基准时钟lck名义上与系统基准时钟sck同频率,实际上频率较本地时钟p_clk更接近系统基准时钟sck。43.步骤3、时钟保持系统具有两种状态,一种是正常状态,一种是保持状态,其在这两种状态之间切换。在正常状态时,输出系统基准时钟sck和系统基准秒脉冲信号1pps,并检测本地基准时钟lck与系统基准时钟sck之间的频率偏差。虽然本地基准时钟lck与系统基准时钟sck理论上同频,但实际上系统基准时钟sck和本地基准时钟lck都不是绝对稳定的,故需要根据两者的频率偏差对lck进行微调。例如,如图3所示,步骤3具体可以包括如下步骤:44.步骤31、根据本地基准时钟lck产生本地秒脉冲信号lck_1pps。例如,用本地基准时钟lck通过计数器分频方式,产生本地秒脉冲信号lck_1pps。45.步骤32、根据系统基准时钟sck、系统基准秒脉冲信号1pps和本地秒脉冲信号lck_1pps,计算得到本地秒脉冲信号lck_1pps与系统基准秒脉冲信号1pps之间相位的相对位置。例如,用系统基准时钟sck和系统基准秒脉冲信号1pps产生一个基准计数器pps_stamp_cnt,该基准计数器在每个系统基准时钟sck上升沿累加1,在系统基准秒脉冲信号1pps的秒脉冲上升沿清零。记录基准计数器pps_stamp_cnt在1秒周期内的最大计数值,即系统基准秒脉冲信号1pps的1s内系统基准时钟脉冲信号的数量,记为max。在频率偏差检测过程中,用该基准计数器pps_stamp_cnt衡量本地基准时钟lck与系统基准时钟sck的相位差及相位差变化。46.在每个本地秒脉冲信号lck_1pps的上升沿时刻,记录基准计数器pps_stamp_cnt的值,记为time_stamp,用该值记录本地秒脉冲信号lck_1pps与系统基准秒脉冲信号1pps之间的相位之间的相对位置。47.进一步地,为了更清晰记录本地秒脉冲信号lck_1pps与系统基准秒脉冲信号1pps之间的相位相对位置,可用一个符号数表示相位超前或相位落后,记为time_stamp_sign。如果time_stamp小于(max 1)/2,time_stamp_sign取值为( time_stamp),表示本地秒脉冲信号lck_1pps相位落后系统基准秒脉冲信号1ppstime_stamp个系统基准时钟周期;如果time_stamp不小于(max 1)/2,time_stamp取值为{-(max 1-time_stamp)},表示本地秒脉冲信号lck_1pps相位超前系统基准秒脉冲信号1pps(max 1-time_stamp)个系统基准时钟周期。48.步骤33、获取基准相对位置,根据所述相对位置和基准相对位置,得到所述相对位置相对于基准相对位置的变化量。获取基准相对位置,可以在本地基准时钟的频率调整后,选取一个相对位置作为所述基准相对位置。例如本实施例中,初始的基准相对位置可以是任意值,在本地基准时钟的频率调整后,选取第一个相对位置作为基准相对位置,将当前本地秒脉冲信号lck_1pps与系统基准秒脉冲信号1pps之间的相位相对位置time_stamp_sign与选取的基准相对位置time_stamp_sign_init作对比,得到当前本地秒脉冲信号lck_1pps的相对位置相对于基准相对位置的变化量time_stamp_sign_offset。49.步骤34、计算选取基准相对位置的时刻到当前变化量对应的相对位置的时刻之间的时间间隔,将当前变化量除以所述时间间隔,得到当前本地基准时钟与系统基准时钟之间的频率偏差。例如,用系统基准时钟sck和本地秒脉冲信号lck_1pps驱动产生秒计数器mear_cnt,在系统基准时钟sck时钟下,在本地秒脉冲信号lck_1pps的每个上升沿累加1,在每次基准相对位置time_stamp_sign_init更新后清零。该秒计数器mear_cnt用于记录当前本地秒脉冲信号lck_1pps的相位相对位置锁存时刻与基准相对位置产生时刻之间的时间间隔,单位为秒(s)。计算本地基准时钟lck与系统基准时钟sck之间的频率偏差:freq_offset=time_stamp_sign_offset/mear_cnt。50.步骤4、根据所述频率偏差对本地基准时钟进行频率调整,使本地基准时钟跟踪系统基准时钟。可以有多种方式触发对本地基准时钟进行频率调整,例如,判断频率偏差是否超过预设偏差阈值,若超过则对本地基准时钟进行频率调整,否则不对本地基准时钟进行频率调整,偏差阈值可根据实际需要进行设置。又例如,因为lck_1pps与1pps之间的相位相对位置的变化量反映了本地基准时钟与系统基准时钟之间的频率偏差,故也可以判断所述相对位置的变化量是否超过预设变化量阈值,若超过则对本地基准时钟进行频率调整,否则不对本地基准时钟进行频率调整,变化量阈值可根据实际需要进行设置。51.进一步地,可采用频率微调电路例如sigma-delta频率微调电路对本地基准时钟进行频率调整,具体可采用如下方式进行:52.通过调整sigma-delta频率微调电路的参数m(调整参数),实现本地基准时钟lck频率调整。进一步地,调整参数m的方法如下:53.根据本地基准时钟lck与系统基准时钟sck之间的名义频率关系,取名义值作为参数m的初始值,例如,本地高稳定度时钟(highstabilitylocalclock)输出一时钟信号hs_lck,频率综合器接收hs_lck并输出一个与系统基准时钟名义上同频的本地时钟p_clk,初始时,sigma-delta频率微调电路采用调整参数m的初始值对p_clk进行微调,使其输出的本地基准时钟lck更接近系统基准时钟sck。54.当需要修改调整参数m时,计算m_diff=b×freq_offset=b×(time_stamp_sign_offset/mear_cnt),其中,m_diff为调整参数m的调整量,b为比例常数,m_diff的符号位和time_stamp_sign_offset的符号位相同。调整参数m的初始值通常是一个理论值,后续的调整属于微调,微调一般不超过预先设定的范围,为了保证调整参数m的调整量在设定的范围内,如果m_diff的绝对值小于预设的调整量阈值时,用当前的m减去m_diff作为新的m,如果m_diff的绝对值不小于预设的调整量阈值时,m取初始值。调整量阈值可根据实际需要进行设置。由于本实施例中,本地基准时钟的频率调整属于微调,故可以对本地基准时钟的频率调整范围进行限定,例如,(f理lck-f实lck)的绝对值除以f理lck小于等于20ppm(百万分比),本实施例中,(f理lck-f实lck)的绝对值除以f理lck小于等于10ppm。f理lck为本地基准时钟lck的理论频率;f实lck为本地基准时钟lck的实际频率;调整量的设定范围、调整量阈值等可以根据此限定对应设置。55.得到调整参数m后,sigma-delta频率微调电路根据调整参数m对本地基准时钟lck进行频率调整,具体的,sigma-delta频率微调电路采用调整参数m对本地时钟p_clk进行调整,得到对应的本地基准时钟lck并输出。56.步骤5、记录频率调整的调整参数m及其对应的调整时刻,本实施例中,记录进入保持状态之前第一预设时间段内的频率调整的调整参数m及其对应的调整时刻。第一预设时间段内可根据需要进行设置,例如可以是1小时,即,记录进入保持状态之前(正常状态)的1小时内,频率调整的调整参数m及其对应的调整时刻,也可以是30小时,也可以是1小时~30小时之间的一个时间,或者30小时以上的一个时间。具体的,在每次调整sigma-delta频率微调电路的参数m时,记录下调整参数m,并将计数器mear_cnt清零,以便记录下次相对本次的调整本地基准时钟lck频率的时刻。即每次根据设置的频率偏差阈值条件完成lck频率调整后,更新基准相对位置time_stamp_sign_init,将当前记录的相对位置time_stamp_sign作为新的基准相对位置。57.进一步,调整参数m缓存方法如下:58.正常状态下,当计算出一个新的调整参数m时,需要将调整参数m的值和调整m的调整时刻缓存下来,用于在保持状态下调整本地基准时钟的频率。例如,存储频率调整的调整参数以及对应的逝去秒,并更新所述逝去秒,使逝去秒为调整该调整参数的时刻到当前时刻的时间间隔,直到进入保持状态或该时间间隔等于第二预设时间段为止。具体的,在fpga内留出一个内存m_table,m_table的每个地址存储调整参数m和逝去秒两个字段。逝去秒为调整本地基准时钟频率的时刻到当前时刻的时间间隔,同一调整参数对应的逝去秒的最大值为调整本地基准时钟频率的时刻到进入保持状态时刻的时间间隔。每次调整调整参数m时,在写指针地址中写入调整参数m的值,在逝去秒字段写1,写指针地址加1。在lck_1pps的上升沿时,检查所有地址的逝去秒字段,如果某个地址的逝去秒字段不为0,将该逝去秒字段加1后再写入该地址逝去秒字段,完成各个逝去秒字段的更新;当某个地址的逝去秒字段等于第二预设时间段的秒数时,将该地址逝去秒字段写0。这样,进入保持状态时逝去秒字段记录了正常状态第二预设时间段内调整m的时刻到进入保持状态时刻之间的秒数。59.步骤6、确定时钟保持系统的系统状态。60.具体可以有多种方式,一种是:根据接收的控制指令(例如报文)确定系统状态,例如,接收到进入保持状态的报文时,控制时钟保持系统进入保持状态,并进入步骤7;没有收到进入保持状态的报文时,维持原来的状态,即时钟保持系统维持正常状态,并进入步骤3。控制指令可以由主时钟板或备用时钟板发出,也可以由其他装置发出。61.另一种是:能获取到系统基准时钟和系统基准秒脉冲信号时,确定为正常状态,即控制时钟保持系统进入正常状态,并进入步骤3;不能获取到系统基准时钟和系统基准秒脉冲信号时,确定为保持状态,即控制时钟保持系统进入保持状态,并进入步骤7。例如,能接收到主系统时钟sck_a和主系统秒脉冲信号1pps_a,也就是能获取到系统基准时钟和系统基准秒脉冲信号,确定为正常状态;能接收到备用系统时钟sck_b和备用系统秒脉冲信号1pps_b,也就是能获取到系统基准时钟和系统基准秒脉冲信号,确定为正常状态;若sck_a、1pps_a、sck_b和1pps_b均接收不到,则获取不到系统基准时钟和系统基准秒脉冲信号,确定为保持状态。62.还一种是:获取的系统基准时钟和系统基准秒脉冲信号正常时,确定为正常状态,即控制时钟保持系统进入正常状态,并进入步骤3;获取的系统基准时钟和系统基准秒脉冲信号异常时,确定为保持状态,即控制时钟保持系统进入保持状态,并进入步骤7。上一种方式中获取不到sck和1pps本质也是一种异常,故不做赘述。63.确定系统状态不受其他步骤的影响,即步骤6的顺序不限,其在图2中的位置只是一个示例。64.步骤7、在保持状态时,根据调整参数及其对应的调整时刻调整本地基准时钟,本实施例中,记录了第一预设时间段内的调整参数及其对应的调整时刻,而根据其中记录的第二预设时间段内的所述调整参数及其对应的调整时刻调整本地基准时钟,输出所述本地基准时钟,即输出调整后的本地基准时钟。第二预设时间段同样可根据实际需要进行设置,例如采用24小时,第二预设时间段可以与第一预设时间段相同也可以不同。例如,记录了进入保持状态前第一预设时间段内的调整参数m及其调整时刻,而采用进入保持状态前第二预设时间段内的调整参数及其调整时刻来对频率进行调整。在记录的第二预设时间段内的所述调整参数及其对应的调整时刻中,按调整参数对应的调整时刻由近到远的顺序,依次选取调整参数来调整本地基准时钟,其中,采用调整参数进行调整的持续时间可以是当前调整参数对应的调整时刻到下一调整参数对应的调整时刻之间的时间间隔。假设正常状态下两个相邻的调整参数m1、m2对应的调整时刻(用m1、m2调整频率的时刻)分别是t1、t2,t2之后的t3时刻进入保持状态,则采用m2调整本地基准时钟,持续时间为t2到t3的时间间隔,之后采用m1调整本地基准时钟,持续时间为t1到t2的时间间隔。65.具体的,保持状态下,所有业务板根据m_table中的调整参数m和逝去秒字段调整sigma_delta频率微调电路的参数m。进入保持状态时,m_table的读地址指针等于正常状态下的写地址指针。在hold_1pps(保持状态下的本地秒脉冲信号)的上升沿时,判断当前读指针地址的逝去秒字段是否为1,如果该逝去秒字段为1,则用当前读指针地址处的调整参数m替换sigma_delta频率微调电路的参数m,然后读指针地址减1;同时,检查m_table中所有地址的逝去秒字段,如果某个地址的逝去秒字段不为0,将该逝去秒字段减1后再写入该地址逝去秒字段,完成所有逝去秒字段的更新。这样,m_table中在正常状态第二预设时间段内记录的m用于保持状态下调整hold_clk(保持状态下的本地基准时钟)的频率。66.由于正常状态下输出的系统基准时钟和系统基准秒脉冲信号稳定可靠,能满足指标要求,而保持状态下对本地基准时钟的调整采用的是正常状态对应的调整参数,因此各个业务板保持状态下输出的本地基准时钟同样稳定可靠,一致性好,时钟保持性能满足指标要求、让业务保持足够长的时间不受影响,满足用户的需求。67.在正常状态时,根据系统基准时钟sck和系统基准秒脉冲信号1pps产生目标时钟信号并输出。目标时钟信号可以是8k帧头,例如,使用系统基准时钟产生一个8k时钟计数器hold_8k_cnt,该计数器计数到门限值hold_8k_cnt_max时清0,产生一个hold_8k信号,每次hold_8k_cnt计数到最大值时触发hold_8k时钟信号相位翻转,在正常状态下,hold_8k_cnt在系统基准秒脉冲信号1pps的上升沿清0,确保产生的hold_8k帧头与系统基准帧头是同相的。68.在保持状态时,根据所述本地基准时钟产生目标时钟信号并输出。例如,在时钟进入保持状态时,hold_8k_cnt不再使用系统基准秒脉冲信号1pps清0,保持计数器hold_8k_cnt处于自由震荡状态,仅在计数到最大门限值hold_8k_cnt_max时才清0,这样输出的hold_8k帧头将维持在一个稳定范围内。69.一个脉冲包括上升沿和下降沿,上述过程均采用上升沿,也可以采用下降沿代替上述上升沿,在此不做赘述。70.综上所述,本发明提供的时钟保持方法,在系统时钟源丢失后,各个业务板进入时钟保持状态,且时钟保持性能满足指标要求、让业务保持足够长的时间不受影响,满足用户的需求。71.实施例二:72.请参考图4和图5,图4为一种实施例的时钟保持系统的结构框图,其包括本地时钟产生电路10、时钟源选择电路30、目标信号产生电路40、本地秒脉冲产生电路60、频率偏差检测电路70、频率调整记录电路80和状态控制电路90。本地时钟产生电路10连接时钟源选择电路30的一输入端、本地秒脉冲产生电路60的输入端;时钟源选择电路30的输出端通过目标信号产生电路40连接成帧器50。本地秒脉冲产生电路60的输出端通过频率偏差检测电路70连接频率调整记录电路80,频率调整记录电路80通过状态控制电路90连接本地时钟产生电路10和时钟源选择电路30。时钟保持系统大部分功能都可以在fpga器件内通过逻辑编码来实现。73.本地时钟产生电路10用于产生一个与系统基准时钟名义上同频的本地基准时钟sck。本实施例中,本地时钟产生电路10包括频率综合器、本地高稳定度时钟和频率微调电路20。本地高稳定度时钟可以采用高稳定度的晶振。晶振产生一时钟信号hs_lck,频率综合器接收hs_lck并输出一个与系统基准时钟名义上同频的本地时钟p_clk,频率微调电路20根据接收的调整参数m(包括m和m_auto)对p_clk进行微调,其在初始时根据调整参数m的初始值对p_clk进行微调,得到更接近系统基准时钟的本地基准时钟lck。频率微调电路20可采用sigma-delta频率微调电路。74.时钟源选择电路30用于获取系统基准时钟和系统基准秒脉冲信号。例如,时钟源选择电路30的输入端连接主系统时钟源和备用系统时钟源。时钟源选择电路30接收主系统时钟源输出的主系统时钟sck_a和主系统秒脉冲信号1pps_a,接收备用系统时钟源输出的备用系统时钟sck_b和备用系统秒脉冲信号1pps_b。在主系统时钟源和备用系统时钟源中至少有一个正常时,例如至少能收到其中一个输出的信号时,在主系统时钟源输出的信号(主系统时钟和主系统秒脉冲信号)和备用系统时钟源输出的信号(备用系统时钟和备用系统秒脉冲信号)中选择一个作为系统基准时钟sck和系统基准秒脉冲信号1pps,通常在两个时钟源均正常的情况下,优先选用主系统时钟sck_a作为系统基准时钟sck、主系统秒脉冲信号1pps_a作为系统基准秒脉冲信号1pps,在主系统时钟源异常时,例如接收不到主系统时钟源输出的时钟信号时,采用备用系统时钟源输出的信号作为系统基准时钟sck和系统基准秒脉冲信号1pps。系统基准时钟也就是系统基准时钟信号。75.如图4所示,时钟源选择电路30在正常状态时,例如主系统时钟源和备用系统时钟源中至少有一个能用时,输出所述系统基准时钟sck和系统基准秒脉冲信号1pps。76.如图5所示,时钟源选择电路30在保持状态时输出本地基准时钟hold_clk。77.状态控制电路90用于确定时钟保持系统状态,时钟保持系统状态包括正常状态和保持状态。具体可以有多种方式,一种是:状态控制电路90根据接收的控制指令(例如报文)确定系统状态,并将系统状态的信号state输出给时钟源选择电路30、频率调整记录电路80和70等。例如,接收到进入保持状态的报文时,控制时钟保持系统进入保持状态,并将保持状态的信号输出给时钟源选择电路30、频率调整记录电路80和70等;没有收到进入保持状态的报文时,维持原来的状态,即时钟保持系统维持正常状态,并将正常状态的信号输出给时钟源选择电路30、频率调整记录电路80和70等。控制指令可以由主时钟板或备用时钟板发出,也可以由其他装置发出。78.另一种是:时钟源选择电路30能获取到系统基准时钟和系统基准秒脉冲信号时,状态控制电路90确定为正常状态,即控制时钟保持系统进入正常状态,并将系统状态的信号输出给30、80和70等;时钟源选择电路30不能获取到系统基准时钟和系统基准秒脉冲信号时,确定为保持状态,即控制时钟保持系统进入保持状态,并将保持状态的信号输出给30、80和70等。例如,时钟源选择电路30能接收到主系统时钟sck_a和主系统秒脉冲信号1pps_a,也就是能获取到系统基准时钟和系统基准秒脉冲信号,确定为正常状态;时钟源选择电路30能接收到备用系统时钟sck_b和备用系统秒脉冲信号1pps_b,也就是能获取到系统基准时钟和系统基准秒脉冲信号,确定为正常状态;若sck_a、1pps_a、sck_b和1pps_b均接收不到,则获取不到系统基准时钟和系统基准秒脉冲信号,确定为保持状态。79.还一种是:时钟源选择电路30获取的系统基准时钟和系统基准秒脉冲信号正常时,状态控制电路90确定为正常状态,即控制时钟保持系统进入正常状态;时钟源选择电路30获取的系统基准时钟和系统基准秒脉冲信号异常时,确定为保持状态,即控制时钟保持系统进入保持状态。上一种方式中获取不到sck和1pps本质也是一种异常,故不做赘述。80.在正常状态下,时钟源选择电路30输出系统基准时钟、系统基准秒脉冲信号,在保持状态下,时钟源选择电路30输出本地基准时钟。频率调整记录电路80在正常状态下记录调整参数m和调整的时刻,在保持状态下,根据记录的调整时刻输出记录的调整参数m,本实施例中,频率调整记录电路80在正常状态下,记录进入保持状态之前第一预设时间段内的调整参数m和调整的时刻;在保持状态下,根据记录的调整时刻输出第二预设时间段内记录的调整参数m。第一预设时间段内可根据需要进行设置,例如可以是1小时,即,频率调整记录电路80记录进入保持状态之前(正常状态)的1小时内,频率调整的调整参数m及其对应的调整时刻,也可以是30小时,也可以是1小时~30小时之间的一个时间,或者30小时以上的一个时间。状态控制电路90在正常状态下实时输出频率偏差检测电路70计算的调整参数m,在保持状态下输出频率调整记录电路80输出的调整参数m。图4中为了便于区分,调整参数根据输出的电路不同而采用m_auto、m和m等表示;为方便叙述,文字内容中均采用调整参数m(包括m_auto、m)概括描述。81.频率偏差检测电路70用于在正常状态时,检测本地基准时钟lck与系统基准时钟sck之间的频率偏差,根据频率偏差得到用于对本地基准时钟进行频率调整的调整参数,使本地基准时钟跟踪系统基准时钟。82.具体的,本地秒脉冲产生电路60根据本地基准时钟lck产生本地秒脉冲信号lck_1pps。例如,本地秒脉冲产生电路60采用第二分频电路,用本地基准时钟lck通过计数器分频方式,产生本地秒脉冲信号lck_1pps。83.频率偏差检测电路70根据时钟源选择电路30输出的系统基准时钟sck、系统基准秒脉冲信号1pps和本地秒脉冲产生电路60输出的本地秒脉冲信号lck_1pps,计算得到本地秒脉冲信号lck_1pps与系统基准秒脉冲信号1pps之间相位的相对位置。例如,频率偏差检测电路70用系统基准时钟sck和系统基准秒脉冲信号1pps产生一个基准计数器pps_stamp_cnt,该基准计数器在每个系统基准时钟sck上升沿累加1,在系统基准秒脉冲信号1pps的秒脉冲上升沿清零。记录基准计数器pps_stamp_cnt在1秒周期内的最大计数值,即系统基准秒脉冲信号1pps的1s内系统基准时钟脉冲信号的数量,记为max。在频率偏差检测过程中,用该基准计数器pps_stamp_cnt衡量本地基准时钟lck与系统基准时钟sck的相位差及相位差变化。84.频率偏差检测电路70在每个本地秒脉冲信号lck_1pps的上升沿时刻,记录基准计数器pps_stamp_cnt的值,记为time_stamp,用该值记录本地秒脉冲信号lck_1pps与系统基准秒脉冲信号1pps之间的相位之间的相对位置。85.进一步地,为了更清晰记录本地秒脉冲信号lck_1pps与系统基准秒脉冲信号1pps之间的相位相对位置,可用一个符号数表示相位超前或相位落后,记为time_stamp_sign。如果time_stamp小于(max 1)/2,time_stamp_sign取值为( time_stamp),表示本地秒脉冲信号lck_1pps相位落后系统基准秒脉冲信号1ppstime_stamp个系统基准时钟周期;如果time_stamp不小于(max 1)/2,time_stamp取值为{-(max 1-time_stamp)},表示本地秒脉冲信号lck_1pps相位超前系统基准秒脉冲信号1pps(max 1-time_stamp)个系统基准时钟周期。86.频率偏差检测电路70获取基准相对位置,根据所述相对位置和基准相对位置,得到所述相对位置相对于基准相对位置的变化量。获取基准相对位置,可以在本地基准时钟的频率调整后,选取一个相对位置作为所述基准相对位置。例如本实施例中,初始的基准相对位置可以是任意值,在本地基准时钟的频率调整后,选取第一个相对位置作为基准相对位置,将当前本地秒脉冲信号lck_1pps与系统基准秒脉冲信号1pps之间的相位相对位置time_stamp_sign与选取的基准相对位置time_stamp_sign_init作对比,得到当前本地秒脉冲信号lck_1pps的相对位置相对于基准相对位置的变化量time_stamp_sign_offset。87.频率偏差检测电路70计算选取基准相对位置的时刻到当前变化量对应的相对位置的时刻之间的时间间隔,将当前变化量除以所述时间间隔,得到当前本地基准时钟与系统基准时钟之间的频率偏差。例如,用系统基准时钟sck和本地秒脉冲信号lck_1pps驱动产生秒计数器mear_cnt,在系统基准时钟sck时钟下,在本地秒脉冲信号lck_1pps的每个上升沿累加1,在每次基准相对位置time_stamp_sign_init更新后清零。该秒计数器mear_cnt用于记录当前本地秒脉冲信号lck_1pps的相位相对位置锁存时刻与基准相对位置产生时刻之间的时间间隔,单位为秒(s)。计算本地基准时钟lck与系统基准时钟sck之间的频率偏差:freq_offset=time_stamp_sign_offset/mear_cnt。88.频率偏差检测电路70还用于根据所述频率偏差生成用于对本地基准时钟进行频率调整的调整参数,使本地基准时钟跟踪系统基准时钟。可以有多种方式触发频率偏差检测电路70生成调整参数,例如,频率偏差检测电路70判断频率偏差是否超过预设偏差阈值,若超过则根据频率偏差生成调整参数,否则不生成调整参数,即不对本地基准时钟进行频率调整,偏差阈值可根据实际需要进行设置。又例如,因为lck_1pps与1pps之间的相位相对位置的变化量反映了本地基准时钟与系统基准时钟之间的频率偏差,故频率偏差检测电路70也可以判断所述相对位置的变化量是否超过预设变化量阈值,若超过则根据频率偏差生成调整参数,否则不对本地基准时钟进行频率调整,变化量阈值可根据实际需要进行设置。89.正常状态下,频率偏差检测电路70通过状态控制电路90将所述调整参数输出给频率微调电路20,使频率微调电路20对本地基准时钟进行频率调整。90.进一步地,频率微调电路20采用sigma-delta调制,通过改变影响频率的参数m(调整参数)来实现本地基准时钟lck的频率调整。进一步地,频率微调电路20根据接收的调整参数m对p_clk进行微调,得到调整后的本地时钟lck(本地基准时钟),使本地基准时钟lck更接近系统基准时钟sck,输出本地基准时钟lck。91.当需要修改调整参数m时,频率偏差检测电路70计算m_diff=b×freq_offset=b×(time_stamp_sign_offset/mear_cnt),其中,m_diff为调整参数m的调整量,b为比例常数,m_diff的符号位和time_stamp_sign_offset的符号位相同。调整参数m的初始值通常是一个理论值,后续的调整属于微调,微调一般不超过预先设定的范围,为了保证调整参数m的调整量在设定的范围内,如果m_diff的绝对值小于预设的调整量阈值时,用当前的m减去m_diff作为新的m,如果m_diff的绝对值不小于预设的调整量阈值时,m取初始值。调整量阈值可根据实际需要进行设置。由于本实施例中,本地基准时钟的频率调整属于微调,故可以对本地基准时钟的频率调整范围进行限定,例如,(f理lck-f实lck)的绝对值除以f理lck小于等于20ppm(百万分比),本实施例中,(f理lck-f实lck)的绝对值除以f理lck小于等于10ppm。f理lck为本地基准时钟lck的理论频率;f实lck为本地基准时钟lck的实际频率;调整量的设定范围、调整量阈值等可以根据此限定对应设置。92.频率调整记录电路80用于记录频率调整的调整参数及其对应的调整时刻。具体的,在每次调整sigma-delta频率微调电路的参数m时,例如,每次频率偏差检测电路70输出调整参数m时,频率调整记录电路80记录下调整参数m,并将计数器mear_cnt清零,以便记录下次相对本次的调整本地基准时钟lck频率的时刻。即每次根据设置的频率偏差阈值条件完成lck频率调整后,更新基准相对位置time_stamp_sign_init,将当前记录的相对位置time_stamp_sign作为新的基准相对位置。93.正常状态下,当频率偏差检测电路70计算出一个新的调整参数m时,频率调整记录电路80需要将调整参数m的值和调整m的时刻缓存下来,用于在保持状态下输出给频率微调电路20来调整本地基准时钟的频率。例如,频率调整记录电路80存储频率调整的调整参数以及对应的逝去秒,并更新所述逝去秒,使逝去秒为调整该调整参数的时刻到当前时刻的时间间隔,直到进入保持状态或该时间间隔等于第二预设时间段为止。具体的,在fpga内留出一个内存m_table,m_table的每个地址存储调整参数m和逝去秒两个字段。逝去秒为调整本地基准时钟频率的时刻到当前时刻的时间间隔,同一调整参数对应的逝去秒的最大值为调整本地基准时钟频率的时刻到进入保持状态时刻的时间间隔。每次调整调整参数m时,在写指针地址中写入调整参数m的值,在逝去秒字段写1,写指针地址加1。在lck_1pps的上升沿时,检查所有地址的逝去秒字段,如果某个地址的逝去秒字段不为0,将该逝去秒字段加1后再写入该地址逝去秒字段,完成各个逝去秒字段的更新;当某个地址的逝去秒字段等于第一预设时间段的秒数时,将该地址逝去秒字段写0。这样,进入保持状态时逝去秒字段记录了正常状态第二预设时间段内调整m的时刻到进入保持状态时刻之间的秒数。94.频率微调电路20在保持状态时,根据频率调整记录电路80记录调整参数及其对应的调整时刻调整本地基准时钟,本实施例中,频率调整记录电路80记录了第一预设时间段内的调整参数及其对应的调整时刻,而频率微调电路20根据其中记录的第二预设时间段内的所述调整参数及其对应的调整时刻调整本地基准时钟,输出所述本地基准时钟lck给时钟源选择电路30。第二预设时间段同样可根据实际需要进行设置,例如采用24小时,第二预设时间段可以与第一预设时间段相同也可以不同。例如,频率调整记录电路80记录了进入保持状态前第一预设时间段内的调整参数m及其调整时刻,而频率调整记录电路80输出进入保持状态前第二预设时间段内的调整参数给频率微调电路20。在记录的第二预设时间段内的所述调整参数及其对应的调整时刻中,频率微调电路20按调整参数对应的调整时刻由近到远的顺序,依次选取调整参数来调整本地基准时钟,其中,采用调整参数进行调整的持续时间可以是当前调整参数对应的调整时刻到下一调整参数对应的调整时刻之间的时间间隔。假设正常状态下两个相邻的调整参数m1、m2对应的调整时刻(用m1、m2调整频率的时刻)分别是t1、t2,t2之后的t3时刻进入保持状态,则采用m2调整本地基准时钟,持续时间为t2到t3的时间间隔,之后采用m1调整本地基准时钟,持续时间为t1到t2的时间间隔。95.具体的,保持状态下,所有业务板根据m_table中的调整参数m和逝去秒字段调整sigma_delta频率微调电路的参数m。进入保持状态时,m_table的读地址指针等于正常状态下的写地址指针。在hold_1pps(保持状态下的本地秒脉冲信号)的上升沿时,判断当前读指针地址的逝去秒字段是否为1,如果该逝去秒字段为1,则用当前读指针地址处的调整参数m替换sigma_delta频率微调电路的参数m,然后读指针地址减1;同时,检查m_table中所有地址的逝去秒字段,如果某个地址的逝去秒字段不为0,将该逝去秒字段减1后再写入该地址逝去秒字段,完成所有逝去秒字段的更新。这样,m_table中在正常状态第一预设时间段内记录的m用于保持状态下调整hold_clk(保持状态下的本地基准时钟)的频率。96.目标信号产生电路40用于根据时钟源选择电路30输出的信号产生目标时钟信号并输出。具体的,在正常状态时,时钟源选择电路30输出系统基准时钟sck和系统基准秒脉冲信号1pps,目标信号产生电路40根据时钟源选择电路30输出的系统基准时钟sck和系统基准秒脉冲信号1pps产生目标时钟信号并输出。目标信号产生电路40包括两个时钟芯片和第一分频电路。一个时钟芯片根据系统基准时钟sck生成成帧器50需要的时钟信号sysclk_a,另一个时钟芯片根据系统基准时钟sck生成第一分频电路需要的时钟信号sysclk_b。目标时钟信号可以是8k帧头,第一分频电路根据时钟信号sysclk_b产生一个8k时钟计数器hold_8k_cnt,该计数器计数到门限值hold_8k_cnt_max时清0,产生一个hold_8k信号,每次hold_8k_cnt计数到最大值时触发hold_8k时钟信号相位翻转,在正常状态下,hold_8k_cnt在系统基准秒脉冲信号1pps的上升沿清0,确保产生的hold_8k帧头与系统基准帧头是同相的。97.在保持状态时,时钟源选择电路30输出本地基准时钟hold_clk(频率微调电路20输出的调整后的本地基准时钟lck),目标信号产生电路40根据时钟源选择电路30输出的本地基准时钟hold_clk产生目标时钟信号并输出。同样的,一个时钟芯片根据本地基准时钟hold_clk生成成帧器50需要的时钟信号sysclk_a,另一个时钟芯片根据本地基准时钟hold_clk生成第一分频电路需要的时钟信号sysclk_b。hold_8k_cnt不再使用系统基准秒脉冲信号1pps清0,保持计数器hold_8k_cnt处于自由震荡状态,仅在计数到最大门限值hold_8k_cnt_max时才清0,这样输出的hold_8k帧头将维持在一个稳定范围内。98.一个脉冲包括上升沿和下降沿,上述过程均采用上升沿,也可以采用下降沿代替上述上升沿,在此不做赘述。99.综上所述,在有系统时钟源(sck_a/sck_b/1pps_a/1pps_b)时,根据主备状态,通过时钟源选择电路30选择一路系统时钟源作为系统基准时钟源sck和系统基准秒脉冲信号1pps。系统基准秒脉冲信号1pps可用来同步各个业务板。由频率综合器和高稳定度本地时钟源(highstabilitylocalclock)产生一个与系统基准时钟源sck名义上同频的本地时钟,频率微调电路20对本地时钟进行微调得到本地基准时钟lck。频率偏差检测电路70检测本地基准时钟lck与系统基准时钟源sck之间的频率偏差,根据频率检测结果,通过频率微调电路20,对本地基准时钟lck进行频率微调,让本地基准时钟lck跟踪系统基准时钟源sck。在对本地基准时钟lck进行微调的同时,记录每次调整的调整时刻和调整值,调整值用频率微调电路20中的参数m表示。通过记录一段足够长时间段内的各个调整时刻和调整值,也即记录了这段时间内本地基准时钟lck与系统基准时钟sck之间的频率关系。当系统基准时钟源丢失后,根据记录的本地基准时钟lck与系统基准时钟sck之间的频率关系,就可以通过本地基准时钟lck和频率微调电路20,产生一个性能指标符合要求的保持基准时钟hold_clk和保持1pps秒脉冲信号hold_1pps,从而实现时钟保持功能。100.相较于现有的用晶体的老化特性获得的保持算法对晶体输出时钟进行保持、数字锁相环按预测方程生成同步时钟等方法,本发明采用的方式除了时钟保持性能满足指标要求、业务保持时间满足客户需求外,还具有实现简单、成本低、可在线升级该功能的优点,适用于但不限于otn集中交叉系统。101.实施例三:102.本发明实施例还提供一种交叉连接设备,例如电交叉连接设备,如图6所示,包括:103.主时钟板100,其设置有主系统时钟源,主系统时钟源用于输出主系统时钟sck_a和主系统秒脉冲信号1pps_a。104.备用时钟板300,其设置有备用系统时钟源,备用系统时钟源用于输出备用系统时钟sck_b和备用系统秒脉冲信号1pps_b。105.一个或多个用于处理业务的业务板200,业务板200可以用于对数据进行转换,如格式转换。业务板200设置有如上所述的时钟保持系统,其中时钟保持系统的时钟源选择电路30还用于在主系统时钟和备用系统时钟中选择一个作为系统基准时钟,在主系统秒脉冲信号和备用系统秒脉冲信号中选择一个作为系统基准秒脉冲信号。106.交叉板(图中未示出),用于数据交叉。由于本发明对交叉连接设备的改进在于时钟保持系统,其已在上述实施例中详细阐述,故本实施例不做赘述。107.实施例四:108.本实施例还提供了一种交叉连接设备,其包括处理器、存储器及通信总线。其中,通信总线用于实现处理器和存储器之间的连接通信。处理器用于执行存储器中存储的一个或者多个计算机程序,以实现上述实施例一中的时钟保持方法中的至少一个步骤。本实施例中,处理器、存储器及通信总线的功能、连接关系等均由fpga(可编程的逻辑列阵)实现。即,交叉连接设备包括fpga,fpga存储有一个或者多个计算机程序,还具有如图4和图5所示的电路。fpga用于执行其存储的一个或者多个计算机程序,以实现上述实施例一中的时钟保持方法中的至少一个步骤。当然,其他实施例中,处理器也可以采用cpu、mcu等。109.本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(randomaccessmemory,随机存取存储器),rom(read-onlymemory,只读存储器),eeprom(electricallyerasableprogrammablereadonlymemory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compactdiscread-onlymemory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。110.本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器例如fpga执行,以实现上述实施例一中的时钟保持方法的至少一个步骤。111.可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。112.此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。113.以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域
:的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献