掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及时钟再生技术领域,特别是涉及基于DP协议的再生流时钟动态精准实现方法及设备。

背景技术

无时钟线的视频数据传输是DP(Displayport)协议的一大特点,将时钟信号隐藏在数据中是传输协议的设计趋势,其实现原理为将时钟信号隐藏在发送端的数据中,在接收端根据数据将时钟信号恢复出来。DP(Displayport)协议的流时钟(stream_clock)在DP协议上采用了类似频率计的原理。在发送端,确定两个计数值N和M,并将两个参数值传给接收端。接收端依据DP协议的(M/N×link_clock_frequency)来恢复stream_clock。

现有的技术通过限制M和N值的取值范围并且对所有取值进行穷举法获得PLL(Phase Locked Loop)的参数值进行stream_clock再生。这种方法限制了M和N的取值,使得输入值受限,导致恢复的时钟范围受限;并且由于使用穷举法,当输入的值不在穷举范围时,会导致再生的时钟不精确。

鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。

发明内容

本发明要解决的技术问题是现有技术通过穷举法存储对应的流时钟生成参数,这种方法限制了第一计数值M、第二计数值N的取值范围,导致恢复的时钟范围受限,且当输入的第一计数值M、第二计数值N不在穷举范围时,会导致再生的时钟不精确。

本发明采用如下技术方案:

第一方面,本发明提供了一种基于DP协议的再生流时钟动态精准实现方法,包括:

预先划分多个时钟频率区间,选取每个时钟频率区间中的相应时钟频率,使用所述时钟频率和倍频系数基准值,计算得到对应时钟频率区间的第一系数,将各时钟频率区间和各时钟频率区间所对应的第一系数对应存储;

接收来自发送端的第一计数值M、第二计数值N和数据发送频率Symbol_clk,根据所述第一计数值M、第二计数值N和数据发送频率Symbol_clk,计算得到实际时钟频率;

根据所述实际时钟频率,确定对应的第一系数;根据所述实际时钟频率和对应的第一系数,计算得到倍频系数实际值;

将所述倍频系数实际值传输给锁相环,以便于所述锁相环根据所述倍频系数实际值,进行流时钟的再生。

优选的,所述使用所述时钟频率和倍频系数基准值,计算得到对应时钟频率区间的第一系数包括:

根据第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式,确定第一关系为:

其中,

以第一关系中的

使用第一公式计算得到所述第一系数。

优选的,所述根据第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式,确定第一关系包括:

将第一乘积作为第一系数,将所述倍频系数基准值代入所述倍频系数,确定所述第一关系;其中,所述第一锁相环时钟生成公式为:使用数据发送频率Symbol_clk除以预设值得到ref_clk;

所述第二锁相环时钟生成公式为:使用所述ref_clk乘以倍频系数再除以prediv得到fvco,其中,fvco表示回馈输入频率;

所述第三锁相环时钟生成公式为:使用pclk_divb乘以pclk_divc得到所述第一乘积,使用fvco除以所述第一乘积,再除以预设值,得到所述时钟频率。

优选的,所述根据所述实际时钟频率和对应的第一系数,计算得到倍频系数实际值包括:

根据第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式,确定第二关系为:

其中,

以第二关系中的

使用第二公式计算得到所述倍频系数实际值。

优选的,所述根据所述第一计数值M、第二计数值N和数据发送频率Symbol_clk,计算得到实际时钟频率包括:

使用所述第一计数值M除以所述第二计数值N再乘以所述数据发送频率Symbol_clk,得到所述实际时钟频率。

优选的,所述将所述倍频系数实际值传输给锁相环包括:

将所述倍频系数的整数部分直接传输给所述锁相环;将所述倍频系数的小数部分转换为整数后传输给所述锁相环。

优选的,所述方法还包括:

当接收到来自于发送端的第一微调信号时,对所述倍频系数实际值增加预设增量,得到新的倍频系数实际值;将所述新的倍频系数实际值传输给锁相环,以便于所述锁相环根据所述新的倍频系数实际值,进行流时钟的再生。

优选的,所述方法还包括:

当接收到来自于发送端的第二微调信号时,对所述倍频系数实际值减少预设增量,得到新的倍频系数实际值;将所述新的倍频系数实际值传输给锁相环,以便于所述锁相环根据所述新的倍频系数实际值,进行流时钟的再生。

第二方面,本发明还提供了一种基于DP协议的再生流时钟动态精准实现方法,包括:

每接收到一帧视频帧数据,根据所述视频帧数据计算对应的第一计数值M、第二计数值N和数据发送频率Symbol_clk;

接收来自于接收端的流时钟,判断所述流时钟的精度是否在预设范围内,若所述精度不在预设范围内,则根据所述流时钟的实际时钟频率,选择性地向接收端发送第一微调信号或第二微调信号;

以便于所述接收端根据所述第一微调信号或第二微调信号进行倍频系数的调整,从而调整最终再生得到的流时钟的实际时钟频率。

第三方面,本发明还提供了一种基于DP协议的再生流时钟动态精准实现设备,用于实现第一方面所述的基于DP协议的再生流时钟动态精准实现方法,所述设备包括:

至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面或第二方面所述的基于DP协议的再生流时钟动态精准实现方法。

第四方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面或第二方面所述的基于DP协议的再生流时钟动态精准实现方法。

本发明通过预先设定倍频系数基准值,从而确定时钟频率与第一系数之间的对应关系,在实际进行流时钟的再生时,基于第一系数和实际时钟频率,计算得到倍频系数实际值。先大致将PLL生成流视频所需的pclk_divb与pclk_divc的值进行固定,通过该固定值计算倍频系数实际值,以减少PLL参数计算过程的计算量,从而减少资源占用,使接收端现有的资源配置即可完成PLL参数的计算过程。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种现有技术中的流时钟再生交互流程示意图;

图2是本发明实施例提供的第一种基于DP协议的再生流时钟动态精准实现方法的流程示意图;

图3是本发明实施例提供的一种基于DP协议的再生流时钟动态精准实现方法中计算得到第一系数的流程示意图;

图4是本发明实施例提供的第二种基于DP协议的再生流时钟动态精准实现方法的流程示意图;

图5是本发明实施例提供的第三种基于DP协议的再生流时钟动态精准实现方法的流程示意图;

图6是本发明实施例提供的第四种基于DP协议的再生流时钟动态精准实现方法的流程示意图;

图7是本发明实施例提供的第五种基于DP协议的再生流时钟动态精准实现方法的流程示意图;

图8是本发明实施例提供的一种基于DP协议的再生流时钟动态精准实现方法中各时钟频率区间与对应第一系数对应存储的示意图;

图9是本发明实施例提供的一种基于DP协议的再生流时钟动态精准实现设备的架构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

在实际使用中,为了生成高精度的流时钟,接收端通常需要通过PLL(PhaseLocked Loop,锁相环)进行时钟的生成。PLL生成时钟需要倍频系数、分频系数等参数,这些参数需要根据待恢复的流时钟频率计算得到,在该计算过程中,又会引入大量的计算量,导致流时钟恢复过程需要大量的资源,甚至导致现有的接收端配置无法支持该资源损耗。现有技术中,为了避免大量的资源损耗,实现时钟恢复所通常采用的方法是穷举法,即列举大量的第一计数值M与第二计数值N,使每一对唯一的M、N对应一个流时钟频率,并对应相应PLL生成该流时钟频率所需的参数(如倍频系数、分频系数等),在这种情况下,由于M和N的取值范围通常非常大(通常情况下,M与N可以分别占用24位的存储空间,即其可取的最大值可为2的24次方),在此方式下,使用现有的存储空间通常无法穷举所有的M、N,从而限制了M、N的取值范围,使得取值受限,导致恢复的时钟范围受限;并且由于使用穷举法,当输入的M、N不在穷举范围时,会导致再生的时钟不精确。

为了使本发明的目的、技术方案及优点更加清楚明白,在此还对现有技术中的流时钟再生的机制和原理进行说明,如图1所示,流时钟再生涉及发送端、接收端和锁相环(PLL),其中,发送端根据视频帧,获取对应的流时钟,并根据该流时钟,生成第一计数值M、第二计数值N和数据发送频率Symbol_clk,这三个参数值通过类似频率计的原理实现,即在发送端,首先确定一个第二计数值N,这个第二计数值N是并不是严格的多少,能达到要求的精度即可,第二计数值N的作用是使用Symbol clock计时N个周期,也就是N×link_clock_period这么长的时间,以这个时间作为一个门限。在这段时间内,对发送端的流时钟stream_clock进行计数,得到了计数器个数M。于是,在门限时间内,共有N个Symbol clock和M个stream_clock。协议规定了M、N为24bit。随后第一计数值M、第二计数值N以及Symbolclock的时钟频率Symbol_clk会被打包到数据包中传输给接收端,由接收端确定得到Stream_clk,根据该Stream_clk确定锁相环PLL生成流时钟所需的参数,其中,最重要的参数即倍频系数,由于倍频系数的精度要求高,且其可能存在多个小数位,为了确保在对其进行处理过程中精度不发生损失,将倍频系数分为两部分(即整数部分fbdiv和小数部分frac)进行传输。

基于第一计数值M和第二计数值N的生成原理,Stream_clk的计算公式为:

现有技术通过穷举法存储对应的流时钟生成参数,这种方法限制了第一计数值M、第二计数值N的取值范围,导致恢复的时钟范围受限,且当输入的第一计数值M、第二计数值N不在穷举范围时,会导致再生的时钟不精确。为了解决此问题,本发明实施例提供了一种基于DP协议的再生流时钟动态精准实现方法,该方法用于接收端,如图2所示,包括:

在步骤201中,预先划分多个时钟频率区间,选取每个时钟频率区间中的相应时钟频率,使用所述时钟频率和倍频系数基准值,计算得到对应时钟频率区间的第一系数,将各时钟频率区间和各时钟频率区间所对应的第一系数对应存储。

可以理解的是,所述倍频系数基准值可以根据流时钟的再生需求分析得到,本发明对此不做限制。在一些实施方式中,所述选取每个时钟频率区间中的相应时钟频率可以是选取时钟频率区间的中间值参与第一系数的计算。所述第一系数在实际使用场景下为pclk_divb与pclk_divc的乘积,其中,pclk_divb表示第一分频系数,pclk_divc表示第二分频系数;所述时钟频率区间的划分可根据经验和流时钟的再生需求分析得到,划分的区间越多,对应计算所需的资源越大,流时钟的精度越高,反之,划分的区间越少,对应计算所需的资源越少,流时钟的精度越低。

在步骤202中,接收来自发送端的第一计数值M、第二计数值N和数据发送频率Symbol_clk,根据所述第一计数值M、第二计数值N和数据发送频率Symbol_clk,计算得到实际时钟频率。在一些实施方式中,所述根据第一计数值M、第二计数值N和数据发送频率Symbol_clk,计算得到实际时钟频率具体包括:使用所述第一计数值M除以所述第二计数值N再乘以所述数据发送频率Symbol_clk,得到所述实际时钟频率,即

在步骤203中,根据所述实际时钟频率,确定对应的第一系数;根据所述实际时钟频率和对应的第一系数,计算得到倍频系数实际值。

在步骤204中,将所述倍频系数实际值传输给锁相环,以便于所述锁相环根据所述倍频系数实际值,进行流时钟的再生。

需要说明的是,若未经特殊说明,本实施例中的时钟频率均指代流时钟的时钟频率,其中实际时钟频率指代的是由第一计数值M、第二计数值N以及数据发送频率Symbol_clk实际计算得到的时钟频率;所述倍频系数基准值和倍频系数实际值均指代传输给PLL的倍频系数参数,其中,倍频系数基准值可为根据流时钟的再生需求分析设定的倍频系数参数的一个大致值,而根据该大致值计算得到第一系数,进而计算得到的倍频系数实际值,可理解为倍频系数参数的准确值。同样的,若未经特殊说明,本实施例中的倍频系数均指代PLL侧生成流时钟所需的倍频系数。

本实施例通过预先设定倍频系数基准值,从而确定时钟频率与第一系数之间的对应关系,在实际进行流时钟的再生时,基于第一系数和实际时钟频率,计算得到倍频系数实际值。其先大致将PLL生成流视频所需的pclk_divb与pclk_divc的值进行固定,通过该固定值计算倍频系数实际值,以减少PLL参数计算过程的计算量,从而减少资源占用,使接收端现有的资源配置即可完成PLL参数的计算过程。

在一些实施方式中,所述使用所述时钟频率和倍频系数基准值,计算得到对应时钟频率区间的第一系数,如图3所示,具体包括:

在步骤301中,根据第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式,确定第一关系为:

其中,

在步骤302中,使用第一公式计算得到所述第一系数。

根据所述第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式,确定第一关系,具体包括:将第一乘积作为第一系数,将所述倍频系数基准值代入所述倍频系数,确定所述第一关系;其中,所述第一锁相环时钟生成公式为:使用数据发送频率Symbol_clk除以预设值得到ref_clk;所述第二锁相环时钟生成公式为:使用所述ref_clk乘以倍频系数再除以prediv得到fvco;所述第三锁相环时钟生成公式为:使用pclk_divb乘以pclk_divc得到所述第一乘积,使用fvco除以所述第一乘积,再除以预设值,得到所述时钟频率。

所述第一锁相环时钟生成公式表现为:

所述第二锁相环时钟生成公式表现为:

所述第三锁相环时钟生成公式表现为:

其中,

在此需要说明的是,

锁相环根据所述第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式生成对应的时钟,结合第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式,并将需要进行再生的流时钟的时钟频率

使用预先设定的倍频系数基准值代入

其中,864即为第一预设参数。

由于对于PLL侧而言,其对于所需各参数的需求为各参数之间的关系确定,即满足最终计算得到的

依旧基于第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟,所述根据所述实际时钟频率和对应的第一系数,计算得到倍频系数实际值,具体包括:根据第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式,确定第二关系为:

由于第一系数与倍频系数之间存在第二关系:

依旧将

其中,3.375即为第二预设参数,根据该第二公式,计算得到倍频系数实际值。

在实际使用中,为了确保在倍频系数的处理过程中精度不发生损失,通常将倍频系数实际值分为两部分(即整数部分fbdiv和小数部分frac)进行传输,其中,将所述倍频系数的整数部分直接传输给所述锁相环;将所述倍频系数的小数部分转换为整数后传输给所述锁相环。

为了进一步提高流时钟生成的精度,本实施例还根据发送端的流时钟需求对倍频系数实际值进行微调,从而调整最终再生得到的流时钟,如图4所示,即所述方法还包括:

在步骤401中,当接收到来自于发送端的第一微调信号时,对所述倍频系数实际值增加预设增量,得到新的倍频系数实际值。

在步骤402中,将所述新的倍频系数实际值传输给锁相环,以便于所述锁相环根据所述新的倍频系数实际值,进行流时钟的再生。

如图5所示,所述方法还包括:

在步骤501中,当接收到来自于发送端的第二微调信号时,对所述倍频系数实际值减少预设增量,得到新的倍频系数实际值。

在步骤502中,将所述新的倍频系数实际值传输给锁相环,以便于所述锁相环根据所述新的倍频系数实际值,进行流时钟的再生。

其中,所述第一微调信号在实际使用中表现为Pin_ctrl_inc,所述第二微调信号在实际使用中表现为Pin_ctrl_dec,所述第一微调信号和所述第二微调信号均由发送端根据再生得到的流时钟生成得到,以调节流时钟的生成精度。所述预设增量可根据经验分析得到,在实际使用中,所述预设增量通常为小于1的小数值。

结合倍频系数实际值的整数部分和小数部分分开传输的传输方式,所述对所述倍频系数实际值增加预设增量,得到新的倍频系数,在实际使用中表现为:对frac增加预设增量,若增加预设增量导致frac超出了预设的frac最大值,则向fbdiv进行进位。同样的,所述对所述倍频系数实际值减少预设增量,得到新的倍频系数,在实际使用中表现为:对frac减少预设增量,若增加预设增量导致frac超出了预设的frac最小值,则向fbdiv进行进位。

在上述实施例提供的用于接收端的基于DP协议的再生流时钟动态精准实现方法的基础上,本实施例还提供了一种基于DP协议的再生流时钟动态精准实现方法,该方法用于发送端,如图6所示,包括:

在步骤601中,每接收到一帧视频帧数据,根据所述视频帧数据计算对应的第一计数值M、第二计数值N和数据发送频率Symbol_clk。

在步骤602中,接收来自于接收端的流时钟,判断所述流时钟的精度是否在预设范围内,若所述精度不在预设范围内,则根据所述流时钟的实际时钟频率,选择性地向接收端发送第一微调信号或第二微调信号。

在步骤603中,以便于所述接收端根据所述第一微调信号或第二微调信号进行倍频系数的调整,从而调整最终再生得到的流时钟的实际时钟频率。

所述判断所述流时钟的精度是否在预设范围内可以是:在预设时间段内,计算流时钟的实际周期数量,判断实际周期数量与预设周期数量之间的差值是否小于预设差值;若实际周期数量与预设周期数量之间的差值不小于预设差值,且实际周期数量小于预设周期数量,则流时钟的实际时钟频率小于所需的时钟频率,向接收端发送第一微调信号;若实际周期数量与预设周期数量之间的差值不小于预设差值,且实际周期数量大于预设周期数量,则流时钟的实际时钟频率大于所需的时钟频率,向接收端发送第二微调信号;直至实际周期数量与预设周期数量之间的差值小于预设差值时,认为所述流时钟的精度在预设范围内。所述预设时间段、预设周期数量、预设差值和预设范围均可根据流时钟的需求分析得到的。

本发明基于上述所描述的方法基础上,结合具体的应用场景,并借由相关场景下的技术表述来阐述本发明特性场景下的实现过程。本实施例所提供的基于DP协议的再生流时钟动态精准实现方法,如图7所示,具体包括:

在步骤701中,根据DP协议提供的Stream_clk再生公式和PLL侧提供的时钟生成公式得到PLL参数fbdiv和frac的计算公式。

其中,Stream_clk再生公式为:

PLL侧时钟生成公式包括第一锁相环时钟生成公式、第二锁相环时钟生成公式和第三锁相环时钟生成公式,其中,第一锁相环时钟生成公式为:

第二锁相环时钟生成公式为:

和第三锁相环时钟生成公式为:

PLL侧时钟生成公式其中fvco公式是PLL固定公用的,并且fvco的取值范围是有限制的比如0.5G至1.5G、1G至3G等;ref_clk公式由具体实现决定,一般会将Symbol_clk降10或者20分频使用,原因是偶整数分频容易实现并且时钟精度损失小,低频给到fvco会使得模拟实现的电路更小,生成的时钟精度高的优势;Pll_clk公式由具体实现决定,由于fvco的取值范围是有限,为了扩大低频时钟范围在fvco公式后做了分频处理。

根据上述PLL侧时钟生成公式得到第二关系为:

以及

在步骤702中,根据上层给定的Symbol_clk,确定prediv值,使得

在步骤703中,设定

Stream_clk的取值范围和划分根据具体资源所定,越细致的划分,得到的

其中,将

在步骤704中,根据发送端端提供的第二计数值N、第一计数值M和数据发送频率Symbol_clk,计算出Stream_clk再生的值(即实际时钟频率的值),根据实际时钟频率的值,找到对应的时钟频率区间,选择该区间所对应的第一系数的值,将该值和实际时钟频率的值代入下式进行计算:

即可得到

下面以时钟频率区间与第一系数按照如图8所示的表格预先存储,且接收得到实际的第一计数值M、第二计数值N和数据发送频率Symbol_clk进行举例说明,如:接收得到第一计数值M为200,第二计数值N为100,Symbol_clk为100M时,根据公式

按照如图8所示的表格,查找得到对应的时钟频率区间为200至300,对应的第一系数为5,根据该第一系数与

计算得到倍频系数实际值

从而根据

如图9所示,是本发明实施例的基于DP协议的再生流时钟动态精准实现方法的设备的架构示意图。本实施例的基于DP协议的再生流时钟动态精准实现方法的设备包括一个或多个处理器21以及存储器22。其中,图9中以一个处理器21为例。

处理器21和存储器22可以通过总线或者其他方式连接,图9中以通过总线连接为例。

存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如上述实施例中的基于DP协议的再生流时钟动态精准实现方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行基于DP协议的再生流时钟动态精准实现方法。本实施例所述设备执行第一方面的所述方法时,所述设备为接收端,所述设备执行第二方面的所述方法时,所述设备为发送端。

存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例中的基于DP协议的再生流时钟动态精准实现方法。

值得说明的是,上述设备和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于射频技术监控碳累积量实现DPF准确再生的设备及柴油机微粒捕集器DPF
  • 基于UDP协议传输的国标设备视频流的防串流方法
技术分类

06120116349109