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

一种基于PID的主从设备间的时钟同步方法与流程

2022-09-08 00:22:40 来源:中国专利 TAG:

一种基于pid的主从设备间的时钟同步方法
技术领域
1.本发明涉及时钟同步技术领域,具体涉及一种基于pid的主从设备间的时钟同步方法。


背景技术:

2.对于音频系统来说,通常会存在多台设备,每天设备上均安装有用于产生时钟的晶振,但因为生产晶振工艺或所处工作环境等问题,晶振频率或多或少都存在频率误差,通常或多或少存在
±
20ppm的频率误差。特别是对于长时间的音频传输中,因存在时钟不同步而导致设备之间出现延时,进而会导致整个音频系统同步性能越来越差,从而导致设备间无法同步播放音频,随着同步误差不断积累,甚至会出现杂音、爆音或其他音频异常播放问题,为此需要较好的时钟同步方法。
3.现有音频系统中的时钟同步处理,通常是在主设备(例如作为声音源端的话筒)向从设备(例如作为播放音源的设备功放音响)提供时钟,该时钟用晶振产生,该时钟作为播放音频用的音频时钟。但这样的时钟依然完全取决于晶振,仍然存在不同设备之间的音频时钟不同步的问题,为此需要能够提供更好的时钟同步处理方法。


技术实现要素:

4.针对现有技术的不足,本发明的目的提供一种基于pid的主从设备间的同步方法,其能够解决背景技术描述到的现有技术存在的问题。
5.实现本发明的目的的技术方案为:一种基于pid的主从设备间的同步方法,包括有且仅有一台主设备和若干台从设备,主设备安装有主时钟,每台从设备安装有从时钟,包括如下步骤:
6.步骤1:按公式

计算出从设备与主设备之间采用1588v2协议确定从时钟与主时钟之间的时钟偏差e(m),e(m)表示采用1588v2协议计算出第m次确定从时钟与主时钟之间的基准时钟偏差:
7.e(m)=[(t2-t1) (t3-t4)]/2
‑‑‑‑‑‑①
[0008]
式中,t1表示从设备向主设备发送同步请求的发送时刻,t2表示主设备接收到同步请求的接收时刻,t3表示向从设备发送的同步请求回应报文的发送时刻,同步请求回应报文携带有t2和t3,t4表示从设备接收到同步请求回应报文的接收时刻;
[0009]
步骤2:从设备初始化后,按公式

计算出从设备与主设备的当前时刻下的第k次时钟偏差e(k):
[0010]
e(k)=e(k 1)-e(1)
‑‑‑‑‑‑②
[0011]
式中,e(1)和e(k 1)也即是公式

中m分别取1和k 1时的基准时钟偏差的取值;
[0012]
步骤3:按公式

计算出当前时刻下第k次用于调节pwm占空比的调节控制量u(k):
[0013]
[0014]
式中,k1、k2和k3为权重系数,为常数,
[0015]
根据调节控制量u(k)调整第k次所对应的当前时刻下的pwm信号的占空比,从而调节从设备的从时钟的频率,使得从时钟的频率与主时钟的频率保持同步,从而实现主从设备间的时钟同步,
[0016]
其中,调节控制量u(k)输入从设备的压控晶振,以调节压控晶振输出的频率,压紧晶振输出的频率作为从时钟的频率。
[0017]
进一步地,
[0018]
进一步地,时刻t1和t4是从时钟根据从设备内压控晶振输出的频率计数得到的计数值,时刻t2和t3是主时钟根据主设备内压控晶振输出的频率计数得到的计数值。
[0019]
进一步地,所述时刻t1和t4是从时钟根据从设备内压控晶振输出的频率计数得到的计数值,时刻t2和t3是主时钟根据主设备内压控晶振输出的频率计数得到的计数值,其具体实现包括:
[0020]
主时钟输出p%占空比的pwm信号,p为正整数,pwm信号经滤波器转换为电压信号,电压信号输入给压控晶振以控制压控晶振的输出频率mclk,该输出频率mclk进行计数得到的计数值作为主时钟和从时钟的时间戳,该时间戳对应t2和t3,
[0021]
从时钟输出p%占空比的pwm信号,pwm信号经滤波器转换为电压信号,电压信号输入给压控晶振以控制压控晶振的输出频率mclk,该输出频率mclk进行计数得到的计数值作为从时钟的时间戳,该时间戳对应t1和t4。
[0022]
进一步地,p=50。
[0023]
本发明的有益效果为:本发明采用1588v2协议交互准确计算主从时钟偏差,且采用pid控制算法根据偏差计算控制量校准压控晶振频率实现高精度同步,能够很好地在主从设备间进行时钟同步,同步精度误差小于10us(微妙),基于该同步时钟而应用到音频系统中,采用音频分析仪分析音频系统下的音频同步播放的失真率稳定在0.005%左右,能够满足高要求下的同步播放。
附图说明
[0024]
图1为本发明较佳实施例的流程示意图。
具体实施方式
[0025]
为了使本技术的目的、技术方案和优点更加清楚,下面结合附图对本技术具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0026]
如图1所示,一种基于pid的主从设备间的同步方法,包括有且仅有一台主设备,若
干台从设备,主设备安装有主时钟,每台从设备安装有从时钟,包括如下步骤:
[0027]
步骤1:从设备与主设备之间采用1588v2协议确定从时钟与主时钟之间的时钟偏差e(m),e(m)表示采用1588v2协议第m次确定从时钟与主时钟之间的基准时钟偏差,基准时钟偏差e(m)按公式

计算得到:
[0028]
e(m)=[(t2-t1) (t3-t4)]/2
‑‑‑‑‑‑①
[0029]
式中,t1表示从设备向主设备发送同步请求的发送时刻,t2表示主设备接收到同步请求的接收时刻,t3表示向从设备发送的同步请求回应报文的发送时刻,同步请求回应报文携带有t2和t3,t4表示从设备接收到同步请求回应报文的接收时刻。
[0030]
其中,时刻t1至t4各自的时间值是按步骤s1得到的计数值,其中,时刻t1和t4是从时钟根据从设备内压控晶振输出的频率计数得到的计数值,时刻t2和t3是主时钟根据主设备内压控晶振输出的频率计数得到的计数值:
[0031]
步骤s1:主时钟输出p%占空比的pwm信号,p为正整数,例如,50%占空比的pwm信号,pwm信号经滤波器转换为电压信号,电压信号输入给压控晶振以控制压控晶振的输出频率mclk,该输出频率mclk进行计数得到的计数值作为主时钟的时间戳,该时间戳对应t2和t3,
[0032]
从时钟输出的pwm信号经滤波器转换的电压信号输入给从设备上的压控晶振以控制压控晶振的输出频率mclk,从设备输出的频率mclk的计数值作为从时钟的时间戳,
[0033]
从时钟输出p%占空比的pwm信号,pwm信号经滤波器转换为电压信号,电压信号输入给压控晶振以控制压控晶振的输出频率mclk,该输出频率mclk进行计数得到的计数值作为从时钟的时间戳,该时间戳对应t1和t4,
[0034]
主时钟和从时钟均在初始化后同步开始输出pwm信号给各自的滤波器,并经滤波器转换为电压信号后输入给各自的压控晶振。
[0035]
例如,主设备的主时钟的频率为10hz,从设备的从时钟的频率为9hz,则在单位时间(1秒)内,主时钟的计数值为10,从时钟的计数值为9,这就说明从时钟与主时钟的频率不同,为此,需要将从时钟的频率调整到与主时钟相同的频率上。当累进到第二个频率周期后,主时钟的计数值为20,从时钟的计数值为18,因此,可以根据主从时钟的频率进行计数得到类似与真实时间一样的计数值,该计数值可以作为时间戳。
[0036]
步骤2:从设备初始化后,按公式

计算出从设备与主设备的当前时刻下的第k次时钟偏差e(k):
[0037]
e(k)=e(k 1)-e(1)
‑‑‑‑‑‑②
[0038]
式中,e(1)和e(k 1)也即是公式

中m分别取1和k 1时的基准时钟偏差的取值,也即是采用1588v2协议第1次确定从时钟与主时钟之间的基准时钟偏差,采用1588v2协议第k 1次确定从时钟与主时钟之间的基准时钟偏差。
[0039]
从公式

来看,计算当前时刻下的第k次时钟偏差是根据下一次的时钟偏差和初始(第一次)的时钟偏差之间的差值作为本次的时钟偏差。
[0040]
步骤3:按公式

计算出当前时刻下第k次用于调节pwm占空比的调节控制量u(k):
[0041][0042]
式中,k1、k2和k3为权重系数,为常数,在本实施例中,
其中,k1、k2和k3具体数值的确定可以通过根据公式

进行多轮实验得到。
[0043]
根据调节控制量u(k)调整第k次所对应的当前时刻下的pwm信号的占空比,从而调节从设备的从时钟的频率,从时钟的频率作为音频芯片的音频时钟,使得从时钟的频率与主时钟的频率保持同步,从而实现了主从设备间的时钟同步,当主设备时钟同步后,主从设备所构成的音频系统即可同步播放音频。通过按时间依次计算得到不同次数(即k值不同)的调节控制量u(k),从而可以实时动态地调整从时钟的频率,维持从时钟的频率始终与主时钟的频率同步。
[0044]
其中,从设备初始化状态下,默认按与主设备初始化相同占空比的pwm信号输出到从设备的压控晶振,后续,从设备根据调节控制量u(k)调整pwm信号的占空比,从而调整压控晶振输出的频率,从而维持经压控晶振输出后的频率保持与主时钟同步。
[0045]
在上述公式

中,其对应为pid控制算法,pid算法包括比例项、积分项和微分项,如下公式:
[0046][0047]
在该公式中,第一项即是比例项,第二项是积分项,第三项是微分项,kp表示权重系数,为了方便计算和实际应用,该公式转换为离散型的公式,如下:
[0048][0049][0050]
将每一项前面的系数设为新的一个系数后,可简化为:
[0051][0052]
将系数用公式

表示的表示即可得到公式

,因此,公式

是基于pid调节控制量u(k),因此,本发明也是基于pid来实现时钟同步的。
[0053]
本发明采用1588v2协议交互准确计算主从时钟偏差,且采用pid控制算法根据偏差计算控制量校准压控晶振频率实现高精度同步,能够很好地在主从设备间进行时钟同步,同步精度误差小于10us(微妙),基于该同步时钟而应用到音频系统中,采用音频分析仪分析音频系统下的音频同步播放的失真率稳定在0.005%左右,能够满足高要求下的同步播放。
[0054]
本发明可以很好地应用在电子核心产业,例如嵌入集成在高端整机产品中,使得高端整机产品中具有良好的基于时钟的同步性能,例如工业控制设备,从而使得能够更精准同步地控制。
[0055]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0056]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0057]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0058]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0059]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
再多了解一些

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

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

相关文献