CN115665244A - 缓存水位的控制装置、方法、电子设备及存储介质 - Google Patents

缓存水位的控制装置、方法、电子设备及存储介质 Download PDF

Info

Publication number
CN115665244A
CN115665244A CN202211320988.0A CN202211320988A CN115665244A CN 115665244 A CN115665244 A CN 115665244A CN 202211320988 A CN202211320988 A CN 202211320988A CN 115665244 A CN115665244 A CN 115665244A
Authority
CN
China
Prior art keywords
water level
frequency
division coefficient
frequency division
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211320988.0A
Other languages
English (en)
Inventor
操炜鼎
吕峰洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Eswin Computing Technology Co Ltd, Haining Eswin IC Design Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202211320988.0A priority Critical patent/CN115665244A/zh
Publication of CN115665244A publication Critical patent/CN115665244A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

本申请实施例提供了一种缓存水位的控制装置、方法、电子设备及存储介质,涉及数据缓存技术领域。该装置包括:水位调整模块,用于基于当前执行的追频模式调整缓存的当前水位;水位检测模块,用于实时检测基于当前执行的追频模式调整的缓存的当前水位;模式切换模块,用于若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位;本申请实施例可始终保持缓存水位的动态平衡,即使source端提供的写时钟频率存在一定的单向偏差,缓存另一侧的读时钟频率也可应对这种偏差,使得缓存不会出现溢出或数据量不足,大大提高了缓存的适用范围。

Description

缓存水位的控制装置、方法、电子设备及存储介质
技术领域
本申请涉及数据缓存技术领域,具体而言,本申请涉及一种缓存水位的控制装置、方法、电子设备及存储介质。
背景技术
HDMI(High Definition Multimedia Interface,高清多媒体接口)是一种全数字化视频和音频接口,可以传输无压缩的多媒体数据,例如音频数据、视频数据等,在通过HDMI进行多媒体数据传输时,多媒体数据的发送端为source端,多媒体数据的接收端为sink端,sink端中包括fifo缓存和锁相环PLL(PhaseLockedLoop,锁相环),fifo(First infirst out,先进先出)缓存可以暂存source端发送的多媒体数据,多媒体数据正常播放的前提是向fifo缓存写入多媒体数据的速度和从fifo缓存中读取多媒体数据的速度处于动态平衡,这需要fifo缓存两端的时钟频率是相同的,即写指针对应的写时钟频率和读指针对应的读时钟频率是相同的,写时钟频率是由source端提供的,读时钟是sink端中的PLL根据source端发送的写时钟频率以及相关参数(例如循环时间计数器CTS)产生的,为保证fifo缓存两端的读写平衡,需要对产生的读时钟频率进行实时调整,即追频。
传统的追频方法严格依赖于source端发送的写时钟频率和相关参数,需要source端发送的写时钟频率和相关参数满足预设要求,对source端的要求较高,这种追频属于被动追频,然而市场上source端对应的产品种类丰富,并非所有的source都能严格满足要求,若在source端的写时钟频率和相关参数不满足预设要求时进行被动追频,则fifo缓存会短暂为空或暂时出现溢出,导致音频播放或视频播放效果不佳。
发明内容
本申请提供了一种缓存水位的控制装置、方法、电子设备及计算机可读存储介质及计算机程序产品,可以解决背景技术中的问题。所述技术方案如下:
根据本申请实施例的第一方面,提供了一种缓存水位的控制装置,
应用sink端,装置包括:
水位调整模块,用于基于当前执行的追频模式调整缓存的当前水位;
水位检测模块,用于实时检测基于当前执行的追频模式调整的缓存的当前水位;
模式切换模块,用于若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位;
其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的,被动追频模式用于基于固定的第二参数生成缓存的读时钟频率。
在一个可能的实现方式中,模式切换模块具体通过以下方式确定当前迭代周期的第一参数:
确定当前迭代周期对应的历史时段内的各个采样周期;每个采样周期为一个迭代周期;
确定各个采样周期的水位差,水位差为高水位警戒线与相应的采样周期的水位的差值或相应的采样周期的水位与低水位警戒线的差值;
基于各个采样周期的水位差,确定历史时段内的水位差的分布情况;
根据历史时段水位差的分布情况确定当前迭代周期的第一参数。
在一个可能的实现方式中,水位调整模块包括用于执行主动追频模式的主动追频子模块;
主动追频子模块具体用于根据当前迭代周期的第一参数确定第一目标分频系数,将第一目标分频系数发送至缓存对应的锁相环,以指示锁相环根据第一目标分频系数生成读时钟频率。
在一个可能的实现方式中,主动追频子模块包括:
分频系数获取单元,用于获取上一迭代周期的第一目标分频系数,确定上一迭代周期的第一目标分频系数中的第一整数分频系数和第一小数分频系数;
步进值确定单元,用于根据当前迭代周期的第一参数确定第一整数分频系数对应的第一步进值和第一小数分频系数对应的第二步进值;
分频系数更新单元,用于根据第一步进值对第一整数分频系数进行更新,得到当前迭代周期的第二整数分频系数;根据第二步进值对第一小数分频系数进行更新,得到当前迭代周期的第二小数分频系数;
分频系数确定单元,用于根据第二整数分频系数和第二小数分频系数,获得当前迭代周期的第一目标分频系数。
在一个可能的实现方式中,步进值确定单元具体用于确定当前迭代周期的第一参数所对应的步进等级以及步进等级对应的步进参数值;步进等级用于表征步进程度;
获取锁相环中的参考读时钟频率和source端发送的第三参数;
根据参考读时钟频率、第三参数以及步进参数值,得到上一迭代周期的整数分频系数对应的第一步进值和上一迭代周期的小数分频系数对应的第二步进值。
在一个可能的实现方式中,当前水位不符合第一预设条件包括当前水位高于高水位警戒线;
分频系数更新单元具体用于若确定当前水位高于高水位警戒线,则确定第一整数分频系数和第一步进值之间的第一和值,将第一和值作为当前迭代周期的第二整数分频系数;确定第一小数分频系数和第二步进值之间的第二和值,将第二和值作为当前迭代周期的第二小数分频系数。
在一个可能的实现方式中,当前水位不符合第一预设条件包括当前水位低于低水位警戒线;
分频系数更新单元具体若确定当前水位低于低水位警戒线,则确定第一整数分频系数和第一步进值之间的第一差值,将第一差值作为当前迭代周期的第二整数分频系数;确定第一小数分频系数和第二步进值之间的第二差值,将第二差值作为当前迭代周期的第二小数分频系数。
在一个可能的实现方式中,装置还包括:
获取模块,用于获取source端的时钟质量和缓存的最大额定水位;时钟质量用于表征写时钟频率的波动情况;
警戒线设置模块,用于根据最大额定水位和时钟质量确定缓存的高水位警戒线和低水位警戒线。
在一个可能的实现方式中,水位调整模块还包括用于执行主动追频模式的被动追频子模块;
被动追频子模块具体用于根据第二参数确定锁相环的第二目标分频系数,并将第二目标分频系数发送至锁相环,并指示锁相环根据第二目标分频系数确定读时钟频率。
根据本申请实施例的第二方面,提供了一种缓存水位的控制方法,应用sink端,该方法包括:
基于当前执行的追频模式调整缓存的当前水位;
实时检测基于当前执行的追频模式调整的缓存的当前水位;
若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位;
其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的,被动追频模式用于基于固定的第二参数生成缓存的读时钟频率。
根据本申请实施例的第三方面,提供了一种电子设备,该电子设备如第一方面所提供的装置。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第二方面所提供的方法的步骤。
根据本申请实施例的第五方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中,当计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行实现如第二方面所提供的方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例在可基于当前执行的追频模式调整缓存的当前水位,若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位,其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的。本申请实施例可始终保持缓存水位的动态平衡,即使source端提供的写时钟频率存在一定的单向偏差,缓存另一侧的读时钟频率也可应对这种偏差,使得缓存不会出现溢出或数据量不足,大大提高了缓存的适用范围,进而提高了sink端的使用范围。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种缓存水位的控制装置的结构示意图;
图2为本申请实施例提供为fifo缓存设置的各条水位线的示意图;
图3为本申请实施例提供的一种缓存水位的控制方法的流程示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
写时钟频率,本申请实施例将写时钟对应的频率称之为写时钟频率。
读时钟频率,本申请实施例将读时钟对应的频率称之为读时钟频率。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
本申请实施例中提供了一种缓存水位的控制装置10,应用sink端,如图1所示,该缓存水位的控制装置10包括:
水位调整模块110,用于基于当前执行的追频模式调整缓存的当前水位;
水位检测模块120,用于实时检测基于当前执行的追频模式调整的缓存的当前水位;
模式切换模块130,用于若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位;
其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的,被动追频模式用于基于固定的第二参数生成缓存的读时钟频率。
本申请实施例缓存可以为任意类型的可暂时存放数据的缓存,例如fifo缓存,fifo缓存是一种实现数据先进先出的存储器件,一般普遍用作数据缓冲器,也可以用于顺序数据的缓冲,比如对多媒体数据的缓冲,多媒体数据例如可以是音频数据、视频数据、图像数据等。
fifo缓存的基本单元是寄存器,作为存储器件,fifo缓存的存储能力是由其内部定义的存储寄存器的数量决定,存储寄存器的数量用最大额定水位来表征,即fifo缓存最大额定水位代表该fifo缓存的存储能力。
fifo缓存位于sink端,sink端接收来自source端发送的多媒体数据,并将多媒体数据存储至fifo缓存中,fifo缓存本身是一个先进先出的器件,可通过写指针将多媒体数据写入fifo缓存,通过读指针将多媒体数据从fifo缓存中读出。
当前水位为写指针的地址和读指针的地址之间的差值;写指针用于根据写时钟频率向缓存写入多媒体数据,读指针用于根据读时钟频率从缓存读出多媒体数据;第一预设条件包括当前水位位于高水位警戒线和低水位警戒线之间;
上述写指针向fifo缓存中写入多媒体数据的速度由写时钟频率决定,读指针从fifo缓存中读取多媒体数据的速度由读时钟频率决定,为保证多媒体数据的正常播放,需要fifo缓存两端的读时钟频率和写时钟频率处于动态平衡。
若读时钟频率大于写时钟频率,即读指针读出多媒体数据的速度快于写指针写入多媒体数据的速度,则很可能导致缓存中的数据量不足,缓存在某些时刻可能为空;若读时钟频率小于写时钟频率,即读指针读出多媒体数据的速度慢于写指针写入多媒体数据的速度,则很可能导致缓存中的数据量过多而导致数据溢出,这两种情况均会导致多媒体数据播放异常,因此,读时钟频率和写时钟频率处于动态平衡至关重要。
本申请实施例用缓存的当前水位来表征缓存中的当前数据量,缓存中的数据是先进先出,当前水位即为写指针的地址和读指针的地址之间的差值,在对缓存进行初始化时,可设置该缓存从低地址向高地址写入,在写指针的地址符合要求时,允许读指针从缓存中读出数据。具体而言,例如在初始化时,写指针开始写入音频数据的地址为0,当写指针的地址为128时,允许读指针从缓存中读取数据,后续可通过写指针的地址和读指针的地址之间的差值来确定当前水位。
缓存一般都有相应的溢出水位,包括上方溢出水位(overflow)和下方溢出水位(underflow),上方溢出水位小于最大额定水位,若当前水位超过上方溢出水位,则表征缓存中的数据量过多,即将导致数据即将溢出,在溢出时因为数据丢失导致播放异常;若当前水位小于下方溢出水位,则表征缓存中的数据量不足,在缓存为空的时候同样也会导致播放异常。
本申请实施例为缓存设置了平衡水位,平衡水位位于中水位附近(中水位为最大额定水位的一半,中水位也属于平衡水位),将中水位附近上下浮动的水位称之为平衡水位,假设最大额定水位为256,则中水位为128,平衡水位可以为上下浮动5的范围内,即128-5~128+5的范围内的水位都可称之为平衡水位。
可以理解的是,在当前水位超过上方溢出水位时,为避免数据溢出,需调高读时钟频率使得读时钟从缓存读取数据的速度变快,实现将当前水位往平衡水位方向拉;在当前水位低于下方溢出水位时,为避免缓存为空,需调低读时钟频率使得读时钟从缓存读取数据的速度变慢,同样是为了实现将当前水位往平衡水位方向拉。
然而在当前水位超过上方溢出水位时对读时钟频率进行调整可能并不能够有效避免数据溢出,在当前水位低于下方溢出水位时对读时钟频率进行调整可能并不能够有效避免数据不足,为避免上述情况本申请实施例为缓存设置了水位警戒线,在当前水位超过高警戒线时或低于低警戒线时立刻对读时钟频率进行调整,设置水位警戒线的具体过程见后续实施例。
本申请实施例水位警戒线包括高水位警戒线和低水位警戒线,高水位警戒线位于上方溢出水位和平衡水位之间;低水位警戒线位于平衡水位和下方溢出水位之间。
如图2所示,其示例性示出了本申请实施例为缓存设置的各条水位线的示意图,该缓存的最大额定水位为256,写指针从0开始写入多媒体数据,中水位为128,平衡水位为123~133范围内的水位,上方溢出水位为224,下方溢出水位为32,高水位警戒线为192,低水位警戒线为64。
本申请实施例在获取当前水位后,若当前水位位于高水位警戒线和低水位警戒线之间,则确定当前水位符合第一预设条件;若当前水位超过高水位警戒线或低于低水位警戒线,则确定当前水位不符合第一预设条件。
本申请实施例提供两种追频模式,主动追频模式和被动追频模式,在执行被动追频模式调整缓存的当前水位的过程中,若当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位,在确定当前水位处于平衡水位后,将追频模式切换为被动追频模式,在实际开发中,可通过使能信号进行追频模式切换,例如使能信号为1时,表征追频模式切换为主动追频模式,使能信号为0时,表征追频模式切换为被动追频模式。
读时钟频率是锁相环PLL生成的,PLL可根据分频系数生成读时钟频率,分频系数是PLL可识别的参数,无论是被动追频还是主动追频,都需将涉及的参数转换为PLL可识别的分频系数,使得PLL可根据分频系数生成读时钟频率,本申请实施例将在主动追频模式下生成的分频系数称之为第一目标分频系数,在被动追频模式下生成的分频系数称之为第二目标分频系数。
本申请实施例主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的。
主动追频的过程不断调整读时钟频率,读时钟频率并不是一成不变的,在当前水位超过高水位警戒线时,不断调高读时钟频率,读时钟时钟频率在迭代更新过程中一步步被提高的,在读时钟频率不断提高的过程中,当前水位被不断调整至平衡水位;在当前水位低于低水位警戒线时,不断降低读时钟频率,读时钟时钟频率在迭代更新过程中一步步被降低的,在读时钟频率不断降低的过程中,当前水位被不断调整至平衡水位。
在主动追频模式下,对读时钟频率的迭代更新实质上是对第一目标分频系数的迭代更新,第一目标分频系数处于迭代更新中的,PLL根据各个迭代周期的第一目标分频系数实现对读时钟频率的迭代更新。
本申请实施例每个迭代周期的第一目标分频系数是基于变化的第一参数迭代更新确定的,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的。
本市申请实施例被动追频模式用于基于固定的第二参数生成锁相环的第二目标分频系数,并将第二目标分频系数发送至锁相环,并指示锁相环根据第二目标分频系数确定读时钟频率,该固定的第二参数是source端发送的参数,例如source端发送的写时钟频率(TMDS CLK)、CTS(Cycle time counter,循环时间计数器)、预先设置的倍数参数N等参数,详细过程见后续内容。
本申请实施例在确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件时,将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位,可始终保持缓存水位的动态平衡,即使source端提供的写时钟频率存在一定的单向偏差,缓存另一侧的读时钟频率也可应对这种偏差,使得缓存不会出现溢出或数据量不足,大大提高了缓存的适用范围,进而提高了sink端的使用范围。
本申请实施例中提供了一种可能的实现方式,模式切换模块具体通过以下方式确定当前迭代周期的第一参数:
确定当前迭代周期对应的历史时段内的各个采样周期;每个采样周期为一个迭代周期;
确定各个采样周期的水位差,水位差为高水位警戒线与相应的采样周期的水位的差值或相应的采样周期的水位与低水位警戒线的差值;
基于各个采样周期的水位差,确定历史时段内的水位差的分布情况;
根据历史时段水位差的分布情况确定当前迭代周期的第一参数。
本申请实施例每个迭代周期都有相应的历史时段,每个历史时段内包括多个采样周期,每个采样周期为一个迭代周期,例如每个历史时段中包括10个采样周期,那么该历史时段实际上包括当前迭代周期以及当前迭代周期之前的9个迭代周期。
本申请实施例每个采样周期中包括多个小周期,每个小周期为向缓存写入一个多媒体数据以及从缓存中读出一个多媒体数据所需的时长,每个小周期对应的时长是较为短暂的,在该小周期内,缓存中的水位变化较小,若一个采样周期包括少量的小周期,则该采样周期较短,无法体现出水位的变化;若一个采样周期包括大量的小周期,则该采样周期较长,水位变化可能较大,在这种情况下可能来不及调整水位,为避免上述情况,需合理设置每个采样周期的时长,例如设置每个采样周期中包括2048个小周期。
本申请实施例一个迭代周期对应的时长和一个采样周期对应的时长是相同的,每个迭代周期都对应一个采样周期,每个迭代周期对应的历史时段是不同的,以一个采样周期为2048个小周期,当前迭代周期的历史时段中包括10个采样周期为例,可确定一个历史时段中包括20480个小周期,当前迭代周期的历史时段中的各个采样周期包括当前迭代周期对应的一个采样周期,以及该当前迭代周期之前的9个迭代周期各自对应的采样周期。
本申请实施例可确定每个采样周期的水位差,每个采样周期的水位差可以是每个采样周期的平均水位差,为高水位警戒线与一个采样周期的水位的差值或一个采样周期的水位与低水位警戒线的差值,本申请实施例一个采样周期的水位可以为该采样周期水位的均值。
本申请实施例当前迭代周期对应的历史时段内的各个采样周期的水位差确定该历史时段内的水位差的分布趋势,水位差的分布趋势可用水位差的均方根值除以采样周期的个数得到的目标值来表征,也可以用其他方式表征。
具体而言,假设历史时段内各个采样周期的水位差分别为Δa1、Δa2Δa3、Δa4、Δa5、Δa6、Δa7、Δa8、Δa9以及Δa10,则目标值k可为:
Figure BDA0003910397850000121
水位差的分布趋势可以用上述目标值k表征。
本申请实施例在确定当前迭代周期的历史时段水位差的分布情况后,可根据历史时段水位差的分布情况确定当前迭代周期的第一参数,具体的,例如将该水位差的分布情况作为当前迭代周期的第一参数。
本申请实施例中提供了一种可能的实现方式,水位调整模块包括用于执行主动追频模式的主动追频子模块;
主动追频子模块具体用于根据当前迭代周期的第一参数确定第一目标分频系数,将第一目标分频系数发送缓存对应的锁相环,以指示锁相环根据第一目标分频系数生成读时钟频率。
本申请实施例在确定当前迭代周期的历史时段内的水位差的分布趋势后,根据历史时段水位差的分布情况确定当前迭代周期的第一参数,根据当前迭代周期的第一参数确定缓存的锁相环的第一目标分频系数,将第一目标分频系数发送至锁相环,并指示锁相环根据第一目标分频系数迭代更新读时钟频率,由于该读时钟频率的是基于水位差的分布趋势生成的,能够实现对缓存中的水位进行调整,避免出现溢出或数据量不足。
本申请实施例中提供了一种可能的实现方式,主动追频子模块包括:
分频系数获取单元,用于获取上一迭代周期的第一目标分频系数,确定上一迭代周期的第一目标分频系数中的第一整数分频系数和第一小数分频系数;
步进值确定单元,用于根据当前迭代周期的第一参数确定第一整数分频系数对应的第一步进值和第一小数分频系数对应的第二步进值;
分频系数更新单元,用于根据第一步进值对第一整数分频系数进行更新,得到当前迭代周期的第二整数分频系数;根据第二步进值对第一小数分频系数进行更新,得到当前迭代周期的第二小数分频系数;
分频系数确定单元,用于根据第二整数分频系数和第二小数分频系数,获得当前迭代周期的第一目标分频系数。
本申请实施例在主动追频模式下,第一目标分频系数在不断被迭代更新,当前迭代周期的第一目标分频系数是在上一次迭代周期的第一目标分频系数的基础上生成的,初始的第一目标分频系数可以是根据source端的时钟质量预先设置的,时钟质量用于表征写时钟频率的波动情况,初始的第一目标分频系数也可以是被动追频模式结束时刻的第二目标分频系数。
本申请实施例可以用均方根除以采样周期得到的目标值可以表征当前迭代周期的第一参数,若该第一参数较大,则表征需要大幅调节读时钟频率,相应的,第一目标分频系数的步进值也较大。
分频系数包括整数分频系数和小数分频系数,本申请实施例将上一迭代周期的第一目标分频系数中的整数分频系数称之为第一整数分频系数,将上一迭代周期的第一目标分频系数中的小数分频系数称之为第一小数分频系数。
本申请实施例可根据当前迭代周期的第一参数确定第一整数分频系数对应的第一步进值和第一小数分频系数对应的第二步进值,根据第一步进值对第一整数分频系数进行更新,得到当前迭代周期的第二整数分频系数;根据第二步进值对第一小数分频系数进行更新,得到当前迭代周期的第二小数分频系数。
在确定第二整数分频系数和第二小数分频系数后,将第二整数分频系数和第二小数分频系数的和作为当前迭代周期的第一目标分频系数。
在下一个迭代周期,将该当前迭代周期的第一目标分频系数会作为新的上一迭代周期的第一目标分频系数,对应新的第一整数分频系数和新的第一小数分频系数。
本申请实施例中提供了一种可能的实现方式,
步进值确定单元具体用于确定当前迭代周期的第一参数所对应的步进等级以及步进等级对应的步进参数值;步进等级用于表征步进程度;
获取锁相环中的参考读时钟频率和source端发送的第三参数;
根据参考读时钟频率、第三参数以及步进参数值,得到上一迭代周期的整数分频系数对应的第一步进值和上一迭代周期的小数分频系数对应的第二步进值。
本申请实施例在确定当前迭代周期的第一参数后,需确定当前迭代周期的第一参数所属的步进等级,确定步进等级对应的步进参数值,步进等级用于表征步进程度。
具体的,本申请实施例可根据实际情况设置预设个数的步进等级,每个步进等级都有相应的步进参数值,例如设置7个步进等级分别为step0、step1、step2、step3、step4、step5以及step6。
假设当前迭代周期的第一参数用均方根除以采样周期得到的目标值表征,目标值为k,若0≤k≤1,则确定步进等级为step0;若1<k≤10,则确定步进等级为step1;若10<k≤20,则确定步进等级为step2;若20<k≤30,则确定步进等级为step3;若30<k≤40,则确定步进等级为step4;若40<k≤50,则确定步进等级为step5;若k>50,则确定步进等级为step6,每个步进等级都有相应的步进参数值,步进等级越大,步进参数值越大,得到的步进值越大。
本申请实施例在通过主动追频模式迭代更新第一目标分频系数时,上一迭代周期的整数分频系数对应的第一步进值和是上一迭代周期的小数分频系数对应的第二步进值基于锁相环中的参考读时钟频率、source端发送的第三参数以及步进参数值生成的,第三参数的类型和多媒体数据的类型相关。
对于音频数据而言,该第三参数采样率fs、预先设置的倍频系数N,具体的,可通过下列公式1得到第一步进值,通过下列公式2得到第二步进值,公式1为:
Figure BDA0003910397850000151
其中,step_M表征整数分频系数对应的第一步进值,step_M的初始值为0,step_number表征步进参数值,即为上述step0、step1、step2、step3、step4、step5以及step6中的任意一个步进等级对应的步进参数值,DIVB为锁相环为待生成的读时钟频率设置的分频系数,fs表征采样率,N表征倍频系数,Fref表征锁相环中预设的读时钟频率;
公式2为:
Figure BDA0003910397850000152
其中,step_K表征小数分频系数对应的第二步进值,step_K的初始值为0.1*524288,step_number表征步进参数值,即为上述step0、step1、step2、step3、step4、step5以及step6中的任意一个步进等级对应的步进参数值,DIVB为锁相环为待生成的读时钟频率设置的分频系数,fs表征采样率,N表征倍频系数,Fref表征锁相环中预设的读时钟频率;
对于其他多媒体数据而言,其均具备相应的第三参数,本申请实施例在此不再进行一一举例。
本申请实施例中提供了一种可能的实现方式,当前水位不符合第一预设条件包括当前水位高于高水位警戒线;
分频系数更新单元具体用于若当前水位高于高水位警戒线,则确定第一整数分频系数和第一步进值之间的第一和值,将第一和值作为当前迭代周期的第二整数分频系数;确定第一小数分频系数和第二步进值之间的第二和值,将第二和值作为当前迭代周期的第二小数分频系数。
本申请实施例当前水位不符合第一预设条件包括当前水位高于高水位警戒线,在当前水位高于高水位警戒线时,需要不断提高读时钟频率,由于读时钟频率和第一目标分频系数之间是正相关关系,因此,需要不断提高第一目标分频系数。
在当前水位高于高水位警戒线时,确定第一整数分频系数和第一步进值之间的第一和值,将第一和值作为当前迭代周期的第二整数分频系数;确定第一小数分频系数和第二步进值之间的第二和值,将第二和值作为当前迭代周期的第二小数分频系数。
本申请实施例中提供了一种可能的实现方式,当前水位不符合第一预设条件包括当前水位低于低水位警戒线;
分频系数更新单元具体用于若当前水位高于高水位警戒线,则确定第一整数分频系数和第一步进值之间的第一和值,将第一和值作为当前迭代周期的第二整数分频系数;确定第一小数分频系数和第二步进值之间的第二和值,将第二和值作为当前迭代周期的第二小数分频系数。
本申请实施例当前水位不符合第一预设条件包括当前水位低于低水位警戒线,由于读时钟频率和第一目标分频系数之间是正相关关系,因此,在当前水位低于低水位警戒线时,需要不断降低读时钟频率,即需要不断降低第一目标分频系数。
在当前水位低于低水位警戒线时,确定第一整数分频系数和第一步进值之间的第一差值,将第一差值作为当前迭代周期的第二整数分频系数;确定第一小数分频系数和第二步进值之间的第二差值,将第二差值作为当前迭代周期的第二小数分频系数。
本申请实施例中提供了一种可能的实现方式,该装置还包括:
获取模块,用于获取source端的时钟质量和缓存的最大额定水位;时钟质量用于表征写时钟频率的波动情况;
警戒线设置模块,用于根据最大额定水位和时钟质量确定缓存的高水位警戒线和低水位警戒线。
本申请实施例可根据source端的时钟质量和缓存的最大额定水位确定缓存的高水位警戒线和低水位警戒线,时钟质量用于表征写时钟频率的波动情况,根据最大额定水位可确定该缓存的中水位线、平衡水位线、上溢出水位和下溢出水位,高水位警戒线位于上方溢出水位和平衡水位之间,低水位警戒线位于下方溢出水位和平衡水位之间,高水位警戒线和低水位警戒线之间的范围称作警报范围,若写时钟频率波动较大,则将高水位警戒线设置稍微远离平衡水位,但不超过上溢出水位,将低水位警戒线设置稍微远离平衡水位,但不低于下溢出水位,即在写时钟频率波动较大时,警报范围较大,以便快速启动主动追频模式;若写时钟频率波动较小,则将高水位警戒线和低水位警戒线设置稍微靠近平衡水位,即在写时钟频率波动较小时,警报范围较小,以便快速启动被动追频模式。
本申请实施例中提供了一种可能的实现方式,水位调整模块还包括用于执行主动追频模式的被动追频子模块;
被动追频子模块具体用于根据第二参数确定锁相环的第二目标分频系数,并将第二目标分频系数发送至锁相环,并指示锁相环根据第二目标分频系数确定读时钟频率。
在通过被动追频模式确定读时钟频率的过程中,若当前水位符合第一预设条件,则不会切换追频模式,即始终保持被动追频模式,在通过主动追频模式迭代更新读时钟频率的过程中,若确定当前水位处于平衡水位,则将追频模式切换为被动追频模式。
本申请实施例在在进行被动追频时,可直接根据source端预先输入的第二参数确定第二目标分频系数,并将第二目标分频系数发送至锁相环,并指示锁相环根据第二目标分频系数确定读时钟频率。
本申请实施例第二参数和多媒体数据的类型相关,音频数据、视频数据都有其相应的第二参数。
具体而言,假设多媒体数据是音频数据,第二参数包括source端发送的写时钟频率(TMDS CLK)、CTS(Cycle time counter,循环时间计数器)、预先设置的倍数参数N等参数,这些参数满足(TMDS CLK/CTS)*N=128fs,其中,TMDS CLK表征写时钟频率,CTS表征循环时间计算器,N为倍频系数,通过这些参数可得到第二目标分频系数,并将该第二目标分频系数输入至PLL,PLL可根据该分频系数生成相应的读时钟频率。
本申请实施例提供了一种缓存水位的控制方法应用sink端,如图3所示,该缓存水位的控制方法可以包括:
步骤S301,基于当前执行的追频模式调整缓存的当前水位;
步骤S302,实时检测基于当前执行的追频模式调整的缓存的当前水位;
步骤S303,若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位;
其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的,被动追频模式用于基于固定的第二参数生成缓存的读时钟频率。
本申请实施例在确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件时,将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位,可始终保持缓存水位的动态平衡,即使source端提供的写时钟频率存在一定的单向偏差,缓存另一侧的读时钟频率也可应对这种偏差,使得缓存不会出现溢出或数据量不足,大大提高了缓存的适用范围,进而提高了sink端的使用范围。
本申请实施例中提供了一种可能的实现方式,当前迭代周期的第一参数是通过以下方式确定的:
确定当前迭代周期对应的历史时段内的各个采样周期;每个采样周期为一个迭代周期;
确定各个采样周期的水位差,水位差为高水位警戒线与相应的采样周期的水位的差值或相应的采样周期的水位与低水位警戒线的差值;
基于各个采样周期的水位差,确定历史时段内的水位差的分布情况;
根据历史时段水位差的分布情况确定当前迭代周期的第一参数。
本申请实施例中提供了一种可能的实现方式,执行主动追频模式包括:根据当前迭代周期的第一参数确定缓存的锁相环的第一目标分频系数,将第一目标分频系数发送至锁相环,指示锁相环根据第一目标分频系数生成读时钟频率。
本申请实施例中提供了一种可能的实现方式,根据当前迭代周期的第一参数确定缓存的锁相环的第一目标分频系数,包括:
获取上一迭代周期的第一目标分频系数,确定上一迭代周期的第一目标分频系数中的第一整数分频系数和第一小数分频系数;
根据当前迭代周期的第一参数确定第一整数分频系数对应的第一步进值和第一小数分频系数对应的第二步进值;
根据第一步进值对第一整数分频系数进行更新,得到当前迭代周期的第二整数分频系数;根据第二步进值对第一小数分频系数进行更新,得到当前迭代周期的第二小数分频系数;
根据第二整数分频系数和第二小数分频系数,获得当前迭代周期的第一目标分频系数。
本申请实施例中提供了一种可能的实现方式,根据当前迭代周期的第一参数确定第一整数分频系数对应的第一步进值和第一小数分频系数对应的第二步进值,包括:
确定当前迭代周期的第一参数所对应的步进等级以及步进等级对应的步进参数值;步进等级用于表征步进程度;
获取锁相环中的参考读时钟频率、source端发送的第三参数;
根据参考读时钟频率、第三参数以及步进参数值,得到上一迭代周期的整数分频系数对应的第一步进值和上一迭代周期的小数分频系数对应的第二步进值。
本申请实施例中提供了一种可能的实现方式,
当前水位不符合第一预设条件包括当前水位高于高水位警戒线;
根据第一步进值对第一整数分频系数进行更新,得到当前迭代周期的第二整数分频系数,包括:
若当前水位高于高水位警戒线,则确定第一整数分频系数和第一步进值之间的第一和值,将第一和值作为当前迭代周期的第二整数分频系数;
根据第二步进值对第一小数分频系数进行更新,得到当前迭代周期的第二小数分频系数,包括:
若当前水位高于高水位警戒线,则确定第一小数分频系数和第二步进值之间的第二和值,将第二和值作为当前迭代周期的第二小数分频系数。
本申请实施例中提供了一种可能的实现方式,当前水位不符合第一预设条件包括当前水位低于低水位警戒线;
根据第一步进值对第一整数分频系数进行更新,得到当前迭代周期的第二整数分频系数,包括:
若当前水位低于低水位警戒线,则确定第一整数分频系数和第一步进值之间的第一差值,将第一差值作为当前迭代周期的第二整数分频系数;
根据第二步进值对第一小数分频系数进行更新,得到当前迭代周期的第二小数分频系数,包括:
若当前水位低于低水位警戒线,则确定第一小数分频系数和第二步进值之间的第二差值,将第二差值作为当前迭代周期的第二小数分频系数。
本申请实施例中提供了一种可能的实现方式,该装置还包括:
获取source端的时钟质量和缓存的最大额定水位;时钟质量用于表征写时钟频率的波动情况;
根据最大额定水位和时钟质量确定缓存的高水位警戒线和低水位警戒线。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例提供了一种电子设备,该电子设备包括前述的缓存水位控制的装置,其实现原理相类似,本申请实施例在此不再进行过度赘述,与现有技术相比可实现:本申请实施例在可基于当前执行的追频模式调整缓存的当前水位,若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位,其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的。本申请实施例可始终保持缓存水位的动态平衡,即使source端提供的写时钟频率存在一定的单向偏差,缓存另一侧的读时钟频率也可应对这种偏差,使得缓存不会出现溢出或数据量不足,大大提高了缓存的适用范围,进而提高了sink端的使用范围。
本申请实施例中提供了又一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现缓存水位的控制方法的步骤,与相关技术相比可实现:
本申请实施例在可基于当前执行的追频模式调整缓存的当前水位,若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位,其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的。本申请实施例可始终保持缓存水位的动态平衡,即使source端提供的写时钟频率存在一定的单向偏差,缓存另一侧的读时钟频率也可应对这种偏差,使得缓存不会出现溢出或数据量不足,大大提高了缓存的适用范围,进而提高了sink端的使用范围。
在一个可选实施例中提供了一种电子设备,如图4所示,图4所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4所示的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。与现有技术相比可实现:
本申请实施例在可基于当前执行的追频模式调整缓存的当前水位,若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位,其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的。本申请实施例可始终保持缓存水位的动态平衡,即使source端提供的写时钟频率存在一定的单向偏差,缓存另一侧的读时钟频率也可应对这种偏差,使得缓存不会出现溢出或数据量不足,大大提高了缓存的适用范围,进而提高了sink端的使用范围。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。与现有技术相比可实现:
本申请实施例在可基于当前执行的追频模式调整缓存的当前水位,若确定当前执行的追频模式为被动追频模式,且当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定当前水位处于平衡水位,其中,主动追频模式用于基于变化的第一参数迭代更新缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的。本申请实施例可始终保持缓存水位的动态平衡,即使source端提供的写时钟频率存在一定的单向偏差,缓存另一侧的读时钟频率也可应对这种偏差,使得缓存不会出现溢出或数据量不足,大大提高了缓存的适用范围,进而提高了sink端的使用范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (12)

1.一种缓存水位的控制装置,其特征在于,应用sink端,所述装置包括:
水位调整模块,用于基于当前执行的追频模式调整缓存的当前水位;
水位检测模块,用于实时检测基于当前执行的追频模式调整的缓存的当前水位;
模式切换模块,用于若确定当前执行的追频模式为被动追频模式,且所述当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定所述当前水位处于平衡水位;
其中,所述主动追频模式用于基于变化的第一参数迭代更新所述缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的,所述被动追频模式用于基于固定的第二参数生成所述缓存的读时钟频率。
2.根据权利要求1所述的装置,其特征在于,所述模式切换模块具体通过以下方式确定所述当前迭代周期的第一参数:
确定所述当前迭代周期对应的历史时段内的各个采样周期;每个采样周期为一个迭代周期;
确定所述各个采样周期的水位差,所述水位差为高水位警戒线与相应的采样周期的水位的差值或相应的采样周期的水位与低水位警戒线的差值;
基于所述各个采样周期的水位差,确定所述历史时段内的水位差的分布情况;
根据所述历史时段水位差的分布情况确定所述当前迭代周期的第一参数。
3.根据权利要求1或2所述的装置,其特征在于,所述水位调整模块包括用于执行所述主动追频模式的主动追频子模块;
所述主动追频子模块具体用于根据所述当前迭代周期的第一参数确定第一目标分频系数,将所述第一目标分频系数发送至与所述缓存对应的锁相环,以指示所述锁相环根据所述第一目标分频系数生成读时钟频率。
4.根据权利要求3所述的装置,其特征在于,所述主动追频子模块包括:
分频系数获取单元,用于获取上一迭代周期的第一目标分频系数,确定所述上一迭代周期的第一目标分频系数中的第一整数分频系数和第一小数分频系数;
步进值确定单元,用于根据所述当前迭代周期的第一参数确定所述第一整数分频系数对应的第一步进值和所述第一小数分频系数对应的第二步进值;
分频系数更新单元,用于根据所述第一步进值对所述第一整数分频系数进行更新,得到当前迭代周期的第二整数分频系数;根据所述第二步进值对所述第一小数分频系数进行更新,得到当前迭代周期的第二小数分频系数;
分频系数确定单元,用于根据所述第二整数分频系数和第二小数分频系数,获得当前迭代周期的第一目标分频系数。
5.根据权利要求4所述的装置,其特征在于,所述步进值确定单元具体用于确定所述当前迭代周期的第一参数所对应的步进等级以及所述步进等级对应的步进参数值;所述步进等级用于表征步进程度;
获取所述锁相环中的参考读时钟频率和source端发送的第三参数;
根据所述参考读时钟频率、所述第三参数以及所述步进参数值,得到所述上一迭代周期的整数分频系数对应的第一步进值和所述上一迭代周期的小数分频系数对应的第二步进值。
6.根据权利要求4所述的装置,其特征在于,所述当前水位不符合第一预设条件包括所述当前水位高于高水位警戒线;
所述分频系数更新单元具体用于若确定所述当前水位高于高水位警戒线,则确定所述第一整数分频系数和第一步进值之间的第一和值,将所述第一和值作为当前迭代周期的第二整数分频系数;确定所述第一小数分频系数和第二步进值之间的第二和值,将所述第二和值作为当前迭代周期的第二小数分频系数。
7.根据权利要求4所述的装置,其特征在于,所述当前水位不符合第一预设条件包括所述当前水位低于低水位警戒线;
所述分频系数更新单元具体若确定所述当前水位低于低水位警戒线,则确定所述第一整数分频系数和第一步进值之间的第一差值,将所述第一差值作为当前迭代周期的第二整数分频系数;确定所述第一小数分频系数和第二步进值之间的第二差值,将所述第二差值作为当前迭代周期的第二小数分频系数。
8.根据权利要求2所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取source端的时钟质量和所述缓存的最大额定水位;所述时钟质量用于表征写时钟频率的波动情况;
警戒线设置模块,用于根据所述最大额定水位和所述时钟质量确定所述缓存的高水位警戒线和低水位警戒线。
9.根据权利要求3所述的装置,其特征在于,所述水位调整模块还包括用于执行所述主动追频模式的被动追频子模块;
所述被动追频子模块具体用于根据所述第二参数确定所述锁相环的第二目标分频系数,并将所述第二目标分频系数发送至所述锁相环,以指示所述锁相环根据所述第二目标分频系数确定读时钟频率。
10.一种缓存水位的控制方法,其特征在于,应用sink端,所述方法包括:
基于当前执行的追频模式调整缓存的当前水位;
实时检测基于当前执行的追频模式调整的缓存的当前水位;
若确定当前执行的追频模式为被动追频模式,且所述当前水位不符合第一预设条件,则将当前执行的追频模式切换为主动追频模式,直至确定所述当前水位处于平衡水位;
其中,所述主动追频模式用于基于变化的第一参数迭代更新所述缓存的读时钟频率,当前迭代周期的第一参数是基于上一个迭代周期的水位确定的,所述被动追频模式用于基于固定的第二参数生成所述缓存的读时钟频率。
11.一种电子设备,包括权利要求1-9任意一项所述的装置。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求10所述的方法的步骤。
CN202211320988.0A 2022-10-26 2022-10-26 缓存水位的控制装置、方法、电子设备及存储介质 Pending CN115665244A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211320988.0A CN115665244A (zh) 2022-10-26 2022-10-26 缓存水位的控制装置、方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211320988.0A CN115665244A (zh) 2022-10-26 2022-10-26 缓存水位的控制装置、方法、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115665244A true CN115665244A (zh) 2023-01-31

Family

ID=84991080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211320988.0A Pending CN115665244A (zh) 2022-10-26 2022-10-26 缓存水位的控制装置、方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115665244A (zh)

Similar Documents

Publication Publication Date Title
US7817767B2 (en) Processor-controlled clock-data recovery
US9564908B2 (en) Digital phase-locked loop and method of operating the same
US9264217B2 (en) Clock drift compensation applying paired clock compensation values to buffer
KR20180048952A (ko) 3-페이즈 인터페이스에 대한 멀티페이즈 클록 데이터 복구
US10509588B2 (en) System and method for controlling memory frequency using feed-forward compression statistics
US9189433B2 (en) Tracking a relative arrival order of events being stored in multiple queues using a counter
CN109408427B (zh) 一种跨时钟域数据处理方法及系统
JP2008503985A (ja) 電力管理装置、システム及び方法
US8984538B2 (en) Bidirectional counting of dual outcome events
KR20240021983A (ko) 최적화된 시간 스케일들 및 정확한 프리젠테이션 시간 스탬프들을 제공하기 위한 시스템들 및 방법들
WO2022134997A1 (zh) 视频跳转播放方法、装置、终端设备及存储介质
CN115665244A (zh) 缓存水位的控制装置、方法、电子设备及存储介质
US8495409B2 (en) Host controller, semiconductor device and method for setting sampling phase
CN105511835B (zh) 一种异步fifo控制器及防止异步fifo缓存数据溢出的方法
CN113727172B (zh) 视频缓存播放方法、装置、电子设备及存储介质
US20150172502A1 (en) Data processing apparatus and data processing method
CN110958540B (zh) 一种usb音频的转换方法及装置
US10326433B2 (en) Clock filter and clock processing method
US6557109B1 (en) Synchronizing device and method that adjusts readout speed according to remaining quantity of data in memory while operating decoder on fixed frequency system clock
US10417148B2 (en) Bus system and bus traffic control apparatus for controlling the same
US20060020718A1 (en) Resource sharing apparatus, systems, and methods
CN108781085B (zh) 生成具有用于从回看缓冲器预取经解压缩数据的回看预取指令的压缩数据流
CN114928862B (zh) 基于任务卸载和服务缓存的系统开销降低方法及系统
US20090292836A1 (en) Data access device and method for communication system
CN114928862A (zh) 基于任务卸载和服务缓存的系统开销降低方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination