CN117353858B - 音频时钟同步方法、***、设备及可读存储介质 - Google Patents
音频时钟同步方法、***、设备及可读存储介质 Download PDFInfo
- Publication number
- CN117353858B CN117353858B CN202311632340.1A CN202311632340A CN117353858B CN 117353858 B CN117353858 B CN 117353858B CN 202311632340 A CN202311632340 A CN 202311632340A CN 117353858 B CN117353858 B CN 117353858B
- Authority
- CN
- China
- Prior art keywords
- clock
- frequency offset
- micro
- audio
- clock circuit
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000001360 synchronised effect Effects 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 239000013078 crystal Substances 0.000 description 3
- 238000012952 Resampling Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请公开了一种音频时钟同步方法、***、设备及可读存储介质,涉及时钟同步技术领域,应用于音频同步***,音频同步***包括主设备与从设备,从设备包括***时钟电路与数模转换器时钟电路,包括:启动所述主设备读取微数据帧,确定所述主设备读取所述微数据帧的总微帧时长,基于所述总微帧时长确定所述主设备的第一工作时钟;检测到主设备结束读取微数据帧后,获取从设备的当前***时间,将当前***时间作为从设备的第二工作时钟;依据确定第一工作时钟与第二工作时钟之间的时钟差,调整***时钟电路与数模转换器时钟电路的频偏,使得主设备与从设备音频时钟同步。本申请实现了主设备与从设备音频时钟同步。
Description
技术领域
本申请涉及时钟同步技术领域,尤其涉及一种音频时钟同步方法、***、设备及可读存储介质。
背景技术
随着电脑等主设备在远程会议场景中的普及,通过通信连接的相关外设(或称从设备)也出现了大量的应用,而通信连接使用USB(Universal Serial Bus,通用串行总线)连接的音频设备也是使用最多的一种类型,传统USB连接的音频设备在主设备端通常以UAC协议(USB Audio Class,USB音频协议)传输音频数据,这种类型的协议本身并没有提供主设备和从设备的时钟同步的机制,如果不进行时钟同步处理,在长时间录音或者放音时,会出现声音卡顿情况。
现有同步音频时钟方式,通常是从设备建立缓存区,程序判断缓存区大小变化,如果缓冲区变小过快,则通过提高从设备的采样率重采样方式或者补数据方式,降低缓冲区数据消耗速率,使其和主设备UAC声卡速度保持基本一致,反之就通过降低采样率重采样方式或者丢数据方式,加快缓冲区数据消耗速率。这种设置缓冲区的方式实质上并未实现主设备与从设备音频时钟同步,而是在音频信号数模转换之后调整采样率,这会出现音频数据的频谱会受到一定程度影响、音频数据的音质受到影响等等问题。
综上,如何实现主设备与从设备的时钟同步是本技术领域亟待解决的技术问题。
发明内容
本申请的主要目的在于提供一种音频时钟同步方法、***、设备及可读存储介质,旨在解决如何实现主设备与从设备音频时钟同步的技术问题。
为实现上述目的,本申请提供一种音频时钟同步方法所述音频时钟同步方法应用于音频同步***,所述音频同步***包括主设备与从设备,所述从设备包括***时钟电路与数模转换器时钟电路,所述音频时钟同步方法包括以下步骤:
启动所述主设备读取微数据帧,确定所述主设备读取所述微数据帧的总微帧时长,基于所述总微帧时长确定所述主设备的第一工作时钟;
检测到所述主设备结束读取微数据帧后,获取所述从设备的当前***时间,将所述当前***时间作为从设备的第二工作时钟;
依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏,使得所述主设备与所述从设备音频时钟同步。
可选地,所述确定所述主设备读取所述微数据帧的总微帧时长的步骤,包括:
获取所述主设备的单微帧时长,确定所述主设备读取到的所述微数据帧的微帧数;
以所述微帧数乘以所述单微帧时长,得到所述主设备读取微数据帧的总微帧时长。
可选地,所述基于所述总微帧时长确定所述主设备的第一工作时钟的步骤,包括:
确定所述主设备开始读取微数据帧的起始时间,基于所述总微帧时长和所述起始时间确定微帧时间,将所述微帧时间作为所述主设备的第一工作时钟,其中,所述微帧时间与所述起始时间之间的时长为所述总微帧时长。
可选地,所述依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,包括:
确定所述第一工作时钟与所述第二工作时钟之间的时钟差;
若所述时钟差大于预设阈值,则调整所述***时钟电路与所述数模转换器时钟电路的频偏,并返回执行启动所述主设备读取微数据帧的步骤,直至所述第一工作时钟与所述第二工作时钟之间的时钟差小于或等于预设阈值。
可选地,所述调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,包括:
若所述二工作时钟大于所述第一工作时钟,则降低所述***时钟电路的频偏与所述数模转换器时钟电路的频偏;
若所述第二工作时钟小于所述第一工作时钟,则增加所述***时钟电路的频偏与所述数模转换器时钟电路的频偏。
可选地,所述调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,还包括:
检测所述***时钟电路与所述数模转换器时钟电路是否为首次调整频偏;
若是,将所述第一工作时钟、所述第二工作时钟输入至预设频偏计算模型中,输出得到目标频偏,将所述***时钟电路的频偏设置为所述目标频偏,并将所述数模转换器时钟电路的频偏设置为所述目标频偏。
可选地,所述检测所述***时钟电路与所述数模转换器时钟电路是否为首次调整频偏的步骤之后,所述方法还包括:
若否,获取所述***时钟电路的第一当前频偏,获取所述数模转换器时钟电路的第二当前频偏;
基于预设算法调整所述第一当前频偏得到目标频偏,其中,所述预设算法包括比例积分微分算法;
将所述***时钟电路的第一当前频偏调整为所述目标频偏,并将所述数模转换器时钟电路的第二当前频偏调整为所述目标频偏。
此外,为实现上述目的,本申请还提供一种音频时钟同步***,所述音频同步***包括主设备与从设备,所述从设备包括***时钟电路与数模转换器时钟电路,所述音频时钟同步***还包括:
第一确定模块,用于启动所述主设备读取微数据帧,确定所述主设备读取所述微数据帧的总微帧时长,基于所述总微帧时长确定所述主设备的第一工作时钟;
第二确定模块,用于检测到所述主设备结束读取微数据帧后,获取所述从设备的当前***时间,将所述当前***时间作为从设备的第二工作时钟;
同步模块,用于依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏,使得所述主设备与所述从设备音频时钟同步。
此外,为实现上述目的,本申请还提供一种音频时钟同步设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的音频时钟同步程序,所述音频时钟同步程序被所述处理器执行时实现如上述的音频时钟同步方法的步骤。
此外,为实现上述目的,本申请还提供一种可读存储介质,可读存储介质上存储有音频时钟同步程序,音频时钟同步程序被处理器执行时实现如上述的音频时钟同步方法的步骤。
本申请通过启动主设备读取的微数据帧,确定所述主设备读取所述微数据帧的总微帧时长,基于所述总微帧时长确定所述主设备的第一工作时钟;检测到所述主设备结束读取微数据帧后,获取从设备的当前***时间,将所述当前***时间作为从设备的第二工作时钟;依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整从设备的***时钟电路与数模转换器时钟电路的频偏,使得所述主设备与所述从设备音频时钟同步。如此,与现有技术中,从设备设置缓冲区的方式相比,本申请实施例量化确定主设备与从设备的工作时钟,并且比较两者之间时钟差,以确定两者的时钟是否同步,当两者时钟不同步时,基于频偏(ppm,parts per million),表示在一个特定中心频率下的允许偏差值,指的是每隔1million时钟会产生一个时钟的偏移,如果频偏是增加,那就相当于时钟比以前多了,相当于增加时钟,反之相当于减少时钟,调整从设备***时钟电路与数模转换器时钟电路的频偏,进而达到调整从设备时钟的效果,直至两者时钟同步。由此,通过量化确定主设备与从设备各自的工作时钟,从而通过调整频偏使得主设备与从设备时钟同步,实现了主设备与从设备音频时钟同步。进一步地本申请实施例是在对音频信号进行数模转换之前就已经同步音频时钟,而不是在数模转换之后才通过软件或者信号处理方式改变数据,因此不会影响到音频数据的频谱和音质。
附图说明
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
图1是本申请实施例方案涉及的硬件运行环境的终端\***结构示意图;
图2为本申请音频时钟同步方法第一实施例的流程示意图;
图3为本申请音频时钟同步方法中主从设备微数据帧读取示意图;
图4为本申请音频时钟同步方法中时钟电路的频偏调整示意图;
图5为本申请音频时钟同步***的***模块示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的音频时钟同步设备结构示意图。
如图1所示,该音频时钟同步设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储***。
本领域技术人员可以理解,图1中示出的结构并不构成对音频时钟同步设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及音频时钟同步程序。
在图1所示的音频时钟同步设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请音频时钟同步设备中的处理器1001、存储器1005可以设置在音频时钟同步设备中,所述音频时钟同步设备通过处理器1001调用存储器1005中存储的音频时钟同步程序,并执行本申请实施例提供的音频时钟同步方法。
请参照图2,图2为本申请音频时钟同步方法第一实施例的流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中,本申请音频时钟同步方法应用于上述的终端设备。应当理解的是,基于实际应用的不同设计需要,在不同可行的实施方式当中,本申请音频时钟同步方法当然还可以具体应用于其它终端设备。
在本实施例中,所述音频时钟同步方法应用于音频同步***,所述音频时钟同步方法应用于音频同步***,所述音频同步***包括主设备与从设备,所述从设备包括***时钟电路与数模转换器时钟电路,所述音频时钟同步方法包括以下步骤:
步骤S10,启动所述主设备读取微数据帧,确定所述主设备读取所述微数据帧的总微帧时长,基于所述总微帧时长确定所述主设备的第一工作时钟;
可以理解地是,主设备也包括为其提供工作时钟的时钟电路。主设备可为提供音频数据的设备,如电脑、手机等等。从设备可为接收音频数据的设备,如麦克风、录音笔、话筒等等音频外设。
主设备与从设备之间通信连接,具体可为通过USB通信连接,主设备与从设备之间通过USB传输音频数据,主设备与从设备之间可使用UAC协议传输音频数据。在USB传输数据时,其使用了固定的SOF(Start Of Frame,帧起始)时间,而UAC传输数据时使用的是同步传输模式,该模式使用的是固定速率,也就是说UAC传输速率和SOF时间存在固定比例关系,从而可以通过SOF时间量化主设备的工作时钟,并调整从设备的工作时钟,从而使主设备时钟和从设备失踪保持在一定范围内一致。
进一步地,可以从预设起始时间开始启动主设备读取预设数量的微数据帧,该预设数量可为任意数量,如10微帧、15微帧、20微帧等等,或者从预设起始时间开始启动主设备读取预设时长的微数据帧,该预设时长可为任意时长,如1秒、2秒等等。
在一种可能的实施方式中,所述确定所述主设备读取所述微数据帧的总微帧时长的步骤,包括:
步骤S101,获取所述主设备的单微帧时长,确定所述主设备读取到的所述微数据帧的微帧数;
步骤S102,以所述微帧数乘以所述单微帧时长,得到所述主设备读取微数据帧的总微帧时长。
该单微帧时长为USB协议规定的微帧时长,具体为125微秒。帧和微帧属于物理层时间基准的概念,USB协议规定全速和低速设备SOF时间-帧时间为1毫秒,而高速设备,每个帧又分为8个微帧,SOF时间-微帧时间为125微秒。USB主设备和从设备控制器同步后,每个微帧起始点开始传输数据,在一个微帧时间里,USB轮训各个device一个微帧传输时间里,可以进行控制传输,中断传输,批量传输,同步传输。
通常微帧起始时间到来时,控制器发送中断给主设备***CPU,驱动中断处理函数处理微帧起始,把各种传输配置到控制器通道中,之后主设备开始工作,根据配置好的通道轮训各个device,通道对应的某个端点。当某个通道传输完成,主设备中断CPU,驱动处理完成后,清除通道,接着配置下一个通道。
本实施例中优选地,以微帧也即微数据帧为例,获取单微帧时长,微帧的单微帧时长为125微秒。
该预设起始时间可为任意设置的起始时间,需要说明地是,主设备与从设备从相同的预设起始时间开始量化工作时钟。为便于后续阐述与说明,本实施例中记预设起始时间为t0。
此外,也可以从预设起始时间开始启动主设备读取预设时长的微数据帧,确定预设时长内读取的微帧数,以所述微帧数乘以单微帧时长,得到主设备读取微数据帧的总微帧时长,如假设预设起始时间时,主设备读取US端口物理层((Port Physical Layer,PHY)微帧计数器寄存器为f0,经过预设时长后,微帧为f1,则读取到的微帧数为(f1-f0)。
USB使用固定的SOF时间,基于主设备读取到的微帧数,可以得到初设备的实际时钟速率。为便于后续阐述与说明,记单微帧时长为m,微帧数记为f,则主设备的总微帧时长为m*f。
在一种可能的实施方式中,所述基于所述总微帧时长确定所述主设备的第一工作时钟的步骤,包括:
步骤S103,确定所述主设备开始读取微数据帧的起始时间,基于所述总微帧时长和所述起始时间确定微帧时间,将所述微帧时间作为所述主设备的第一工作时钟,其中,所述微帧时间与所述起始时间之间的时长为所述总微帧时长。
该微帧时间为h1=t0+f*m。由此本实施例将微帧的读取转换为时间,而主设备与从设备传输音频数据,其自身是无法感知时间,对于主设备来说,其是读取数据帧,而对于从设备来说其是接收数据帧,那么使主设备读取数据帧的读取速率与从设备接收数据帧的接收速率同步,可以实现主设备与从设备音频时钟同步,由此,本申请实施例将微帧转换为时间,从而有效量化了主设备的工作时钟。
步骤S20,检测到所述主设备结束读取微数据帧后,获取所述从设备的当前***时间,将所述当前***时间作为从设备的第二工作时钟;
对于从设备,其接收数据帧的接收速率可通过数模转换器(analog to DigitalConverter,ADC)的采样速率衡量,数模转换器的采样速率与数模转换器时钟相关,如从设备在一个数模转换器的时钟周期进行预设次采样,那么时钟周期越短,则数模转换器的采样速率越快。
而在设备端***内部包括***时钟电路与数模转换器时钟电路,***时钟电路用于提供***时钟,也即为***时间提供时钟信号,如一个高电平时钟信号时间增加1秒,数模转换器时钟到电路用于提供数模准换器时钟,也即为数模转换器提供时钟信号,以供数模转换器工作,如一个高电平时钟信号,数模转换器进行一次数据帧采样,***时钟和ADC时钟都是由外部晶振经过多级锁相环控制器(Phase-locked loops,PLL)倍频或者分频得到,也就是说***时钟和ADC时钟直接是一个比例关系,从而可以通过***时钟可以有效反映ADC时钟。
从t0开始主设备读取微数据帧,设h1时主设备读取微数据帧结束,此时从设备读取***时间,即此时的***时间为t1,将t1作为从设备的第二工作时钟。从而通过比较h1和t1就可以比较出主设备端以USB微帧为基准的时钟,和从设备端***时钟的时钟快慢,而调整***时钟速率,从而使USB微帧时钟到***时钟。
步骤S30,依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏,使得所述主设备与所述从设备音频时钟同步。
确定第一工作时钟与第二工作时钟之间的时钟差,该时钟差可为绝对值差值,记第一工作时钟为h1,记第二工作时钟为t1,则该时钟差可表示为|h1-t1|。
频率误差( ppm:每百万单位) ,在表示频偏,频率偏差时,它表示在一个特定中心频率下的允许偏差值,其中频率以Hz为单位。本实施例通过调整时钟电路(包括***时钟电路与数模转换器时钟电路)的频偏,以达到调整从设备工作时钟的效果,调整该频偏直至第一工作时钟与第二工作时钟时钟同步。
在一种可能的实施方式中,所述***时钟电路包括多级第一锁相环控制器,所述***时钟电路用于向所述从设备的***提供时钟信号,所述***时钟电路包括多级第一锁相环控制器,所述数模转换器时钟电路包括多级第二锁相环控制器,所述调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,包括:
步骤S301,调整所述第一锁相环控制器的频偏,并调整所述第二锁相环控制器的频偏。
考虑到在从设备端***内部,***时钟和ADC时钟都是由外部晶振经过多级锁相环控制器(Phase-locked loops,PLL)倍频或者分频得到,也就是说***时钟和数模转换器时钟直接是一个比例关系,调整***时钟电路的频偏时,同时也按相同频偏调整数模转换器时钟,那么就可以将数模转换器时钟同步到***时间时钟,而***时钟是同步到USB微帧时钟的,从而实现数模转换器时钟同步到USB微帧时钟,从而使得主设备读取数据帧的读取速率与从设备数模转换器的采样速率同步,调整***时钟电路频偏,使得USB微帧时钟(也即第一工作时钟,主设备的音频时钟)和***时钟(也即第二工作时钟)同步,调整***时钟电路频偏的同时,以相同的方式调整数模转换器的频偏,从而以***时钟为桥梁,实现了***时钟与从设备的数模转换器时钟(从设备的音频时钟)同步,进而使得主设备和从设备音频时钟同步,不需要增加额外电路,也不会改变音频频谱影响音质。
本实施例通过启动主设备读取预设数量的微数据帧,确定所述主设备读取所述微数据帧的总微帧时长,基于所述总微帧时长确定所述主设备的第一工作时钟;检测到所述主设备结束读取微数据帧后,获取从设备的当前***时间,将所述当前***时间作为从设备的第二工作时钟;依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整从设备的***时钟电路与数模转换器时钟电路的频偏,使得所述主设备与所述从设备音频时钟同步。如此,与现有技术中,从设备设置缓冲区的方式相比,本实施例量化确定主设备与从设备的工作时钟,并且比较两者之间时钟差,以确定两者的时钟是否同步,当两者时钟不同步时,基于频偏(ppm,parts per million),表示在一个特定中心频率下的允许偏差值,指的是每隔1million时钟会产生一个时钟的偏移,如果频偏是增加,那就相当于时钟比以前多了,相当于增加时钟,反之相当于减少时钟,调整从设备***时钟电路与数模转换器时钟电路的频偏,进而达到调整从设备时钟的效果,直至两者时钟同步。由此,通过量化确定主设备与从设备各自的工作时钟,从而通过调整频偏使得主设备与从设备时钟同步,实现了主设备与从设备音频时钟同步。进一步地实施例是在对音频信号进行数模转换之前就已经同步音频时钟,而不是在数模转换之后才通过软件或者信号处理方式改变数据,因此不会影响到音频数据的频谱和音质。
进一步地,为了助于理解本申请的技术构思或工作原理,列举一具体实施例:
本具体实施例中音频时钟同步流程为:
步骤1:USB协议规定全速和低速设备SOF时间-帧时间为1毫秒,而高速设备SOF时间-微帧时间为125微秒,以下以高速设备为例。如图3所示,PC(Personal Computer,个人计算机)端(主设备端)与外设端通过USB以125uS为单位传输数据,具体PC端通过USB host接口(USB主机接口)以125uS为单位传输数据传输数据值外设端的USB Device接口(USB设备接口),USB PHY物理层微帧计数器计数传输的微帧数量,外设端程序启动时读取到的***时间为t0,同时主机端启动时读取到的时间为h0,读取USB PHY物理层微帧计数器寄存器为f0,经过1秒之后,读取***时间为t1,微帧为f1,PC端以USB微帧为基准的时间为:h1=t0 +(f1 - f0)*125uS,而设备端的时间为d1=t1,通过比较h1和t1就可以比较出主机端以USB微帧为基准的时钟速率,和设备端***时间的速率快慢,而调整***时钟速率,从而使USB微帧时钟速率同步到***时钟速率。
步骤2:如图4所示,在外设端***内部,***时钟和ADC时钟都是由外部晶振经过多级PLL倍频或者分频得到,也就是说***时钟和ADC时钟直接是一个比例关系,当通过步骤1按PPM调整***时钟时,同时也按相同PPM调整ADC时钟,那么就可以将ADC时钟速率同步到***时钟速率,而***时钟速率按步骤1是同步到USB微帧时钟速率的,从而实现ADC时钟速率同步到UAC时钟速率,使得主设备与从设备音频时钟同步。
需要说明的是,上述具体实施例仅用于理解本申请,并不构成对本申请音频时钟同步流程的限定,基于此技术构思进行更多形式的简单变换,均在本申请的保护范围内。
进一步地,基于上述本申请的第一实施例,提出本申请音频时钟同步方法的第二实施例,与上述第一实施例相同或相似的内容,可以参考上文介绍,后续不再赘述。在本实施例中,所述依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,包括:
步骤A10,确定所述第一工作时钟与所述第二工作时钟之间的时钟差;
步骤A20,若所述时钟差大于预设阈值,则调整所述***时钟电路与所述数模转换器时钟电路的频偏,并返回执行启动所述主设备读取微数据帧的步骤,直至所述第一工作时钟与所述第二工作时钟之间的时钟差小于或等于预设阈值。
本实施例中,调整频偏后重新确定主设备的第一工作时钟与从设备的工作时钟,以重新确定两者之间的时钟差,从而调整述***时钟电路与数模转换器时钟电路的频偏直至第一工作时钟与第二工作时钟之间的时钟差小于预设阈值,该预设阈值可为零,保证了主设备与从设备的音频时钟同步。
在一种可能的实施方式中,所述调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,包括:
步骤B10,若所述二工作时钟大于所述第一工作时钟,则降低所述***时钟电路的频偏与所述数模转换器时钟电路的频偏;
步骤B20,若所述第二工作时钟小于所述第一工作时钟,则增加所述***时钟电路的频偏与所述数模转换器时钟电路的频偏。
需要说明地是,调整***时钟电路的频偏与数模转换器时钟电路的频偏,具体可以调整时钟电路中锁相环控制器的频偏,记从设备***时钟电路包括的锁相环控制器为第一锁相环控制器,记从设备数模转换器时钟电路包括的锁相环控制器为第二锁相环控制器。第一锁相环控制器的频偏调整方式与第二锁相环控制器的频偏方式以及调整值相同。
第二工作时钟大于第一工作时钟,则可确定第二工作时钟的较第一工作时钟多,此时降低锁相环控制器的频偏,可以减少第二工作的时钟,从而减少第二工作时钟,使得第二工作时钟向第一工作时钟逼近。类似地,第二工作时钟小于第一工作时钟,则可确定第二工作时钟较第一工作时钟少,此时增加锁相环控制器的频偏,可以增加第二工作的时钟,从而增加第二工作时钟,使得第二工作时钟向第一工作时钟逼近。由此,保证了第二工作时钟调整的有效性。
在一种可能的实施方式中,所述调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,还包括:
步骤C10,检测所述***时钟电路与所述数模转换器时钟电路是否为首次调整频偏;
步骤C20,若是,将所述第一工作时钟、所述第二工作时钟输入至预设频偏计算模型中,输出得到目标频偏,将所述***时钟电路的频偏设置为所述目标频偏,并将所述数模转换器时钟电路的频偏设置为所述目标频偏。
该预设频偏计算模型可为ppm=-1000000*(d1 - d0)/(t1-t0),其中,d1= t1- h1,d0=t0-h0,t0为从设备端程序启动时读取到的***时间,h0为从设备端程序启动的同时主设备端读取到的***时间,h1为第一工作时钟,h1=t0+f*m,t1为第二工作时钟。首次调整***时钟电路与与数模转换器时钟电路的频偏时,具体地,首次调整第一锁相环控制器与第二锁相环控制器的频偏时,将第一锁相环控制器与第二锁相环控制器的频偏设置为该目标频偏。
在一种可能的实施方式中,所述检测所述***时钟电路与所述数模转换器时钟电路是否为首次调整频偏的步骤之后,所述方法还包括:
步骤D10,若否,获取所述***时钟电路的第一当前频偏,获取所述数模转换器时钟电路的第二当前频偏;
步骤D20,基于预设算法调整所述第一当前频偏得到目标频偏,其中,所述预设算法包括比例积分微分算法;
步骤D30,将所述***时钟电路的第一当前频偏调整为所述目标频偏,并将所述数模转换器时钟电路的第二当前频偏调整为所述目标频偏。
比例积分微分算法(Proportion Intergration Differentiation,PID),具体可以第一工作时钟与第二工作时钟的时钟差为输入,第一当前频偏与第二当前频偏相同,基于PID算法的反馈机制调整当前频偏,得到目标频偏,并将锁相环控制器(包括第一锁相环控制器与第二锁相环控制器)的当前频偏(包括第一当前频偏与第二当前频偏)调整为目标频偏。
本实施例中,基于预设频偏计算模型与预设算法可计算目标频偏,从而将锁相环控制器的频偏直接调整为目标频偏,减少了频偏的调整次数,提高了调整效率,从而提高了音频时钟同步的同步效率。
需要说明地是,若主设备与从设备之间低速设备,则可以以数据帧为基准确定第一工作时钟与第二工作时钟,确定方式与以微数据帧为基准类似,本实施例不再赘述,也即可认为本申请实施例中的微数据帧可为微帧或帧,对其帧类型并做具体限制。
此外,本申请还提供一种音频时钟同步***,参照图5所示,所述音频同步***包括主设备与从设备,所述从设备包括***时钟电路与数模转换器时钟电路,所述音频时钟同步***还包括:
第一确定模块10,用于启动所述主设备读取微数据帧,确定所述主设备读取所述微数据帧的总微帧时长,基于所述总微帧时长确定所述主设备的第一工作时钟;
第二确定模块20,用于检测到所述主设备结束读取微数据帧后,获取所述从设备的当前***时间,将所述当前***时间作为从设备的第二工作时钟;
同步模块30,用于依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏,使得所述主设备与所述从设备音频时钟同步。
此外,本申请实施例还提出一种音频时钟同步设备,音频时钟同步设备括存储器、处理器及存储在所述存储器上并可在所述处理器上执行的音频时钟同步程序,所述音频时钟同步程序被所述处理器执行时实现如上述的音频时钟同步方法的步骤。
本申请音频时钟同步设备具体实施方式与上述音频时钟同步方法各实施例基本相同,在此不再赘述。
此外,为实现上述目的,本申请还提供一种可读存储介质,可读存储介质上存储有音频时钟同步程序,音频时钟同步程序被处理器执行时实现如上述的音频时钟同步方法的步骤。
本申请可读存储介质具体实施方式与上述音频时钟同步方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (7)
1.一种音频时钟同步方法,其特征在于,所述音频时钟同步方法应用于音频同步***,所述音频同步***包括主设备与从设备,所述从设备包括***时钟电路与数模转换器时钟电路,所述音频时钟同步方法包括以下步骤:
启动所述主设备读取微数据帧,获取所述主设备的单微帧时长,确定预设时长所述主设备读取到的所述微数据帧的微帧数;
以所述微帧数乘以所述单微帧时长,得到所述主设备读取微数据帧的总微帧时长;
确定所述主设备开始读取微数据帧的起始时间,基于所述总微帧时长和所述起始时间确定微帧时间,将所述微帧时间作为所述主设备的第一工作时钟,其中,所述微帧时间与所述起始时间之间的时长为所述总微帧时长,所述起始时间为所述从设备启动时读取到的***时间;
检测到所述主设备结束读取微数据帧后,获取所述从设备的当前***时间,将所述当前***时间作为从设备的第二工作时钟;
依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏,使得所述主设备与所述从设备音频时钟同步;
其中,所述调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,包括:
检测所述***时钟电路与所述数模转换器时钟电路是否为首次调整频偏;
若是,将所述第一工作时钟、所述第二工作时钟输入至预设频偏计算模型中,输出得到目标频偏,将所述***时钟电路的频偏设置为所述目标频偏,并将所述数模转换器时钟电路的频偏设置为所述目标频偏;
其中,所述预设频偏计算模型包括: ppm=-1000000*(d1 - d0)/(t1-t0),其中,d1=t1- h1,d0=t0-h0,t0 为从设备端程序启动时读取到的***时间,h0 为从设备端程序启动的同时主设备端读取到的***时间,h1 为第一工作时钟,t1 为第二工作时钟,ppm为目标频偏。
2.如权利要求1所述的音频时钟同步方法,其特征在于,所述依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,包括:
确定所述第一工作时钟与所述第二工作时钟之间的时钟差;
若所述时钟差大于预设阈值,则调整所述***时钟电路与所述数模转换器时钟电路的频偏,并返回执行启动所述主设备读取微数据帧的步骤,直至所述第一工作时钟与所述第二工作时钟之间的时钟差小于或等于预设阈值。
3.如权利要求2所述的音频时钟同步方法,其特征在于,所述调整所述***时钟电路与所述数模转换器时钟电路的频偏的步骤,还包括:
若所述二工作时钟大于所述第一工作时钟,则降低所述***时钟电路的频偏与所述数模转换器时钟电路的频偏;
若所述第二工作时钟小于所述第一工作时钟,则增加所述***时钟电路的频偏与所述数模转换器时钟电路的频偏。
4.如权利要求1所述的音频时钟同步方法,其特征在于,所述检测所述***时钟电路与所述数模转换器时钟电路是否为首次调整频偏的步骤之后,所述方法还包括:
若否,获取所述***时钟电路的第一当前频偏,获取所述数模转换器时钟电路的第二当前频偏;
基于预设算法调整所述第一当前频偏得到目标频偏,其中,所述预设算法包括比例积分微分算法;
将所述***时钟电路的第一当前频偏调整为所述目标频偏,并将所述数模转换器时钟电路的第二当前频偏调整为所述目标频偏。
5.一种音频时钟同步***,其特征在于,所述音频时钟同步***包括主设备与从设备,所述从设备包括***时钟电路与数模转换器时钟电路,所述音频时钟同步***还包括:
第一确定模块,用于启动所述主设备读取微数据帧,获取所述主设备的单微帧时长,确定预设时长所述主设备读取到的所述微数据帧的微帧数;
以所述微帧数乘以所述单微帧时长,得到所述主设备读取微数据帧的总微帧时长;
确定所述主设备开始读取微数据帧的起始时间,基于所述总微帧时长和所述起始时间确定微帧时间,将所述微帧时间作为所述主设备的第一工作时钟,其中,所述微帧时间与所述起始时间之间的时长为所述总微帧时长,所述起始时间为所述从设备启动时读取到的***时间;
第二确定模块,用于检测到所述主设备结束读取微数据帧后,获取所述从设备的当前***时间,将所述当前***时间作为从设备的第二工作时钟;
同步模块,用于依据确定所述第一工作时钟与所述第二工作时钟之间的时钟差,调整所述***时钟电路与所述数模转换器时钟电路的频偏,使得所述主设备与所述从设备音频时钟同步;
所述同步模块,还用于:
检测所述***时钟电路与所述数模转换器时钟电路是否为首次调整频偏;
若是,将所述第一工作时钟、所述第二工作时钟输入至预设频偏计算模型中,输出得到目标频偏,将所述***时钟电路的频偏设置为所述目标频偏,并将所述数模转换器时钟电路的频偏设置为所述目标频偏;
其中,所述预设频偏计算模型包括: ppm=-1000000*(d1 - d0)/(t1-t0),其中,d1=t1- h1,d0=t0-h0,t0 为从设备端程序启动时读取到的***时间,h0 为从设备端程序启动的同时主设备端读取到的***时间,h1 为第一工作时钟,t1 为第二工作时钟,ppm为目标频偏。
6.一种音频时钟同步设备,其特征在于,所述音频时钟同步设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的音频时钟同步程序,所述音频时钟同步程序被所述处理器执行时实现如权利要求1至4中任一项所述的音频时钟同步方法的步骤。
7.一种可读存储介质,其特征在于,所述可读存储介质上存储有音频时钟同步程序,所述音频时钟同步程序被处理器执行时实现如权利要求1至4中任一项所述的音频时钟同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311632340.1A CN117353858B (zh) | 2023-12-01 | 2023-12-01 | 音频时钟同步方法、***、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311632340.1A CN117353858B (zh) | 2023-12-01 | 2023-12-01 | 音频时钟同步方法、***、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117353858A CN117353858A (zh) | 2024-01-05 |
CN117353858B true CN117353858B (zh) | 2024-03-19 |
Family
ID=89361707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311632340.1A Active CN117353858B (zh) | 2023-12-01 | 2023-12-01 | 音频时钟同步方法、***、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117353858B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103165169A (zh) * | 2011-12-19 | 2013-06-19 | Gn奈康有限公司 | 至 rf 通信装置的自适应等时usb 音频 |
CN111510235A (zh) * | 2020-03-13 | 2020-08-07 | 浙江华创视讯科技有限公司 | 音频时钟同步方法、设备、***、计算机设备和存储介质 |
CN115437988A (zh) * | 2021-06-04 | 2022-12-06 | 北京师旷科技有限公司 | 一种i2s音频时钟数据的同步方法、装置及应用 |
CN115664577A (zh) * | 2022-10-26 | 2023-01-31 | 苏州磐联集成电路科技股份有限公司 | 音频同步电路及音频同步方法 |
-
2023
- 2023-12-01 CN CN202311632340.1A patent/CN117353858B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103165169A (zh) * | 2011-12-19 | 2013-06-19 | Gn奈康有限公司 | 至 rf 通信装置的自适应等时usb 音频 |
CN111510235A (zh) * | 2020-03-13 | 2020-08-07 | 浙江华创视讯科技有限公司 | 音频时钟同步方法、设备、***、计算机设备和存储介质 |
CN115437988A (zh) * | 2021-06-04 | 2022-12-06 | 北京师旷科技有限公司 | 一种i2s音频时钟数据的同步方法、装置及应用 |
CN115664577A (zh) * | 2022-10-26 | 2023-01-31 | 苏州磐联集成电路科技股份有限公司 | 音频同步电路及音频同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117353858A (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103460189B (zh) | 用于管理处理器的功率消耗状态的技术 | |
US20050254433A1 (en) | Recording media, information processing apparatus, control method and program | |
WO2017213736A1 (en) | Power and performance aware memory-controller voting mechanism | |
CN110622099B (zh) | 设备上参考时钟的恢复 | |
US11122306B2 (en) | Synchronous playback system and synchronous playback method | |
CN111149075B (zh) | 使计算设备中的定时源同步 | |
JPWO2020059139A1 (ja) | 通信装置、通信システム、通信方法および通信プログラム | |
CN117353858B (zh) | 音频时钟同步方法、***、设备及可读存储介质 | |
CN101772747A (zh) | 时钟偏移和优先化***和方法 | |
US20240097937A1 (en) | Signaling of time for communication between integrated circuits using multi-drop bus | |
US9742966B2 (en) | Data processing system | |
EP2709371A1 (en) | Continuous data delivery with energy conservation | |
JP3971715B2 (ja) | 情報処理装置、割込制御装置、制御方法、及びこれらのプログラム | |
CN113157047A (zh) | 一种时间调整方法、装置、计算机设备及存储介质 | |
US7003277B2 (en) | Portable communication terminal, communication method of the portable communication terminal, program, and recording medium having the program recorded thereon | |
WO2020059137A1 (ja) | 通信装置、通信システム、通信方法および通信プログラム | |
US9778899B2 (en) | Techniques for setting volume level within a tree of cascaded volume controls with variating operating delays | |
US20120227079A1 (en) | Distribution system | |
US7275168B2 (en) | System and method for providing clock signals based on control signals from functional units and on a hibernate signal | |
JP3830133B2 (ja) | 電力制御装置及び方法並びに電力制御プログラム | |
CN114255788B (zh) | 一种异步采样的转换方法及其转换装置 | |
US20080004825A1 (en) | Optimized transmission of signals between a disk drive controller and a motor controller using a serial port | |
US20230259485A1 (en) | Communication apparatus, communication method, and program | |
WO2017146932A1 (en) | Soundwire xl turnaround signaling | |
EP1357537B1 (en) | Stream data processing system and method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |