CN112540641A - 一种时钟精度修正方法、装置及存储介质 - Google Patents
一种时钟精度修正方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112540641A CN112540641A CN202011183825.3A CN202011183825A CN112540641A CN 112540641 A CN112540641 A CN 112540641A CN 202011183825 A CN202011183825 A CN 202011183825A CN 112540641 A CN112540641 A CN 112540641A
- Authority
- CN
- China
- Prior art keywords
- party
- baud rate
- transmission data
- clock
- low levels
- 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.)
- Granted
Links
- 238000012937 correction Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 81
- 230000005540 biological transmission Effects 0.000 claims abstract description 54
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 17
- 239000013078 crystal Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002715 modification method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种时钟精度修正方法、装置及存储介质,用于修正时钟精度不同的通信双方中时钟精度较低的第一方的时钟精度;所述时钟精度修正方法用于所述通信双方中时钟精度较低的第一方,包括:采集所述通信双方中时钟精度较高的第二方发送的连续的高低电平的平均脉冲宽度;根据采集的连续的高低电平的平均脉冲宽度,确定所述第二方传输数据的第二波特率;根据确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率。本发明提供的方案在不增加成本的同时,能够确保通讯的准确性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种时钟精度修正方法、装置及存储介质。
背景技术
在我国,分体式变频空调变得愈发普及。空调正常工作时,内机与外机需要进行通讯以进行控制信息的交换。基于成本与技术的要求,一般来说,家用分体式变频空调大多使用串口通讯。串口通讯除了基于协议的要求,还需要通讯的芯片时钟频率在一定的偏差范围内,使得通讯时内外机芯片均能正确读出电平信息,保证通讯正常。基于这点,当芯片内置振荡器偏差过大时,一般会使用外置振荡器(例如晶振或陶振)以保证芯片时钟频率的准确性。
如果内、外机均使用外置振荡器,这无疑增加了成本。当通讯的一方主体(如内机)使用了晶振,一般来说,晶振的时钟偏差能保证在0.1%内,则芯片的时钟频率就能得到保证。而外机基于成本要求,使用芯片内置的振荡器,正常的情况下的时钟精度也能满足通讯要求。然而,某些情况下,如当工况发生变化,外部环境较高时,振荡器会产生温漂,精度会下降。同时,当空调使用年限较长时,光耦性能衰减,寄生电容变大等会导致通讯的高低电平脉宽变窄。这都对外机的时钟精度提出了更高的要求,否则将导致通讯异常。
发明内容
本发明的主要目的在于克服上述现有技术的缺陷,提供一种时钟精度修正方法、装置、存储介质及空调,以解决现有技术中保证芯片时钟频率准确性的问题。
本发明一方面提供了一种时钟精度修正方法,用于修正时钟精度不同的通信双方中时钟精度较低的第一方的时钟精度;所述时钟精度修正方法用于所述通信双方中时钟精度较低的第一方,包括:采集所述通信双方中时钟精度较高的第二方发送的连续的高低电平的平均脉冲宽度;根据采集的连续的高低电平的平均脉冲宽度,确定所述第二方传输数据的第二波特率;根据确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率。
可选地,所述通信双方,包括:分体式空调的内机和外机;和/或,通过eCAP模块采集所述第二方发送的连续的高低电平的平均脉冲宽度。
可选地,根据采集的连续的高低电平的脉冲宽度,确定所述第二方传输数据的第二波特率,包括:根据采集的连续的高低电平的脉冲宽度,计算所述第二方每传输1bit数据的时间;根据确定的所述第一方每传输1bit数据的时间,计算所述第二方传输数据的第二波特率。
可选地,根据确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率,包括:将所述第一方传输数据的第一波特率修正为确定的所述第二方传输数据的第二波特率。
本发明另一方面提供了一种时钟精度修正装置,用于修正时钟精度不同的通信双方中时钟精度较低的第一方的时钟精度;所述时钟精度修正装置用于所述通信双方中时钟精度较低的第一方,所述装置,包括:采集单元,用于采集所述通信双方中时钟精度较高的第二方发送的连续的高低电平的平均脉冲宽度;确定单元,用于根据所述采集单元采集的连续的高低电平的平均脉冲宽度,确定所述第二方传输数据的第二波特率;修正单元,用于根据所述确定单元确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率。
可选地,所述通信双方,包括:分体式空调的内机和外机;和/或,通过eCAP模块采集所述第二方发送的连续的高低电平的平均脉冲宽度。
可选地,所述确定单元,根据所述采集单元采集的连续的高低电平的脉冲宽度,确定所述第二方传输数据的第二波特率,包括:根据采集的连续的高低电平的脉冲宽度,计算所述第二方每传输1bit数据的时间;根据确定的所述第一方每传输1bit数据的时间,计算所述第二方传输数据的第二波特率。
可选地,所述修正单元,根据所述确定单元确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率,包括:将所述第一方传输数据的第一波特率修正为确定的所述第二方传输数据的第二波特率。
本发明又一方面提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
根据本发明的技术方案,通信双方(例如空调内外机)中一方通讯主体芯片的时钟精度不是很高,可以通过捕捉通讯时另一方精度较高的芯片的波形脉宽,计算出相应的波特率时间,从而对自己的时钟精度进行修正,以保证通讯正常。根据本发明的技术方案,不增加成本的同时,能确保通讯的准确性,避免通讯故障。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明提供的时钟精度修正方法的一实施例的方法示意图;
图2a示出了修正所述第一方传输数据的第一波特率的一种情况的示意图;
图2b示出了修正所述第一方传输数据的第一波特率的另一种情况的示意图;
图3是波特率计算及修正示意图;
图4是本发明提供的时钟精度修正方法的一具体实施例的方法示意图;
图5是本发明提供的时钟精度修正装置的一实施例的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供一种时钟精度修正方法。所述时钟精度修正方法用于修正时钟精度不同的通信双方中时钟精度较低的一方的时钟精度。所述通信双方采用串口通讯。所述通信双方中时钟精度较低的一方(的通信芯片)具有I/O口高低电平捕捉功能。
在一些具体实施方式中,所述通信双方包括:分体式空调的内机和外机。所述分体式空调(例如分体变频式空调)的内机芯片和外机芯片的时钟精度不同,所述内机芯片和外机芯片中时钟精度较低的芯片具有I/O口高低电平捕捉功能。例如,分体变频式空调内、外机,因使用硬件而可以知道它们时钟精度的准确性。当内、外机中一方芯片时钟精度相对较高,而另一方芯片时钟精度相对较低(例如基于成本或PCB布板空间要求,使用内置精度不是很高的振荡器),而时钟精度相对较低的芯片具有捕捉I/O口高低电平的功能,例如通过芯片的增强型捕获模块eCAP捕捉对方通信的平均脉宽。
把分体式空调的内外机通讯芯片看作两个主体,串口通讯的硬件电路看作一个整体,即一个黑盒子。因为硬件的原因,通讯时会吞噬掉单个bit一定的上升沿、下降沿时间,但对于一定时间内高低电平的组合来说,硬件吞噬掉的时间是固定的,可忽略不计,这使得更改修正的方法变得可行。
图1是本发明提供的时钟精度修正方法的一实施例的方法示意图。
如图1所示,根据本发明的一个实施例,所述时钟精度修正方法至少包括步骤S110、步骤S120和步骤S130。
步骤S110,采集所述通信双方中时钟精度较高的第二方发送的连续的高低电平的平均脉冲宽度。
具体地,所述通信双方中时钟精度较低的第一方捕捉时钟精度较高的第二方发送的连续的高低电平,根据采集的连续的高低电平,确定所述第二方每传输1bit数据的时间,即一个bit的脉冲宽度时间。例如,分体式空调中内机芯片的时钟精度较高,外机芯片的时钟精度较低,(外机)捕捉内机通讯时连续的高低电平,判断一段时间内,内机发了多少个bit。例如统计64bit后,得出总的时间,然后求出平均发送一个bit的时间。在一些具体实施方式中,通过芯片的增强型捕获模块eCAP捕捉第二方发送的连续的高低电平的平均脉冲宽度。
步骤S120,根据采集的连续的高低电平的平均脉冲宽度,确定所述第二方传输数据的第二波特率。
具体地,将采集的连续的高低电平的平均脉冲宽度转换为波特率,即所述第二方传输数据的第二波特率。例如,波特率表示每秒钟传送的码元符号的个数,例如波特率2400kbit/s表示每秒钟可以传输2400kbits,那么每传输1bit所需时间:1s/2400bit/s=1*109/2400=416.667us,反之,得到每传输1bit所需时间,可得到波特率:1s/416.667us=2400bit/s。
步骤S130,根据确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率。
具体地,将所述第一方传输数据的第一波特率修正为所述第二方传输数据的第二波特率。
图2a和图2b为通过实验模拟了两种不同情况下修正所述第一方传输数据的第一波特率的示意图。图2a示出了修正所述第一方传输数据的第一波特率的一种情况的示意图。如图2a所示,为接收器与发送器波特率设置不一致的情况,接收器(SCI-RX)波特率设置为9601,通过eCAP测量波特率的数值,发送器(SCI-TX)的波特率设置为9889,与发送器相比接收器的波特率错误率为-3%,接收器将其波特率校正为与发射器相同,即修正后,接收器波特率与发送器波特率相同。
图2b示出了修正所述第一方传输数据的第一波特率的另一种情况的示意图。如图2b所示,为接收器上的INTOSC(内部晶振Interior Oscillator)错误的情况(例如硬件原因导致)。由于接收器上的INTOSC有错误,因此通过eCAP采集并计算得到的波特率是9601,那么,根据采集计算得到的波特率,将接收器自身的波特率修正为与计算得到的波特率相同。从而可以提供正确的波特率输出,即使接收器“认为”自身正在输出的波特率为9601,但在外部测量时,它也会输出给发送器所需的正确的9889波特率。例如,本发明模拟分析过程中通过逻辑分析器看到的发送器发送给接收器的波特率是9889,修正后通过逻辑分析器看到的接收器作为发送器时发送给发送器的波特率(实际已修正为9601)也是9889。
图3是波特率计算及修正示意图。如图3所示,接收器起始波特率(错误的)=9601(偏差于发送器的-3%),eCAP采集的数值eCAP=10415,检测到的波特率(需要修正回来的正确值)=9889,eCAP采集的数值eCAP=10111.8。转换脉宽为波特率,然后更新设备波特率为9889,从而使接收器输入或输出与发送器的相匹配。
在一些具体实施方式中,硬件配置当中使用两个C2000板。发送器向接收器发送错误的波特率。接收器通过eCAP模块(增强型捕获模块)测量波特率的数值,并可以自适应调整自身的波特率用以匹配。在接收器的波特率偏差很大的情况下,也能识别发送器/接收器的波特率/内部晶振偏差较大,从而也能正确识别修正过来。
在一些具体实施方式中,软件配置方面,对于发送器。外部(芯片外围电路)/目标板(发送器PCB板,例如空调内机主板)的软件需要选择外部振荡器作为时钟源,并确保将用于SCI设置为100MHz的LSPCLK(低速时钟)。一旦选择了时钟源,就初始化SCITX(以及可选的SCIRX)。最后,创建一个无限循环,在该循环中,通过SCITX连续传输进行SCI通信。
对于接收器,需进行初始化。配置芯片底层配置后,才能捕捉内机通信发过来的高低电平的脉宽,通过捕捉的脉宽时间来校正外机芯片的波特率。需配置以下内容才能调整接收器上的波特率:
A.时钟:确保使用INTOSC2并选择100MHz的LSPCLK;
B.SCI模块:修正完成后即可使用;
C.XBAR输入:将GPIO28/SCI连接到INPUTXBAR7上,搭配ECAP1一起使用;
D.eCAP模块:监视接收到的SCI通信脉冲宽度。
在一些实施方式中,采集第二方发送的连续的高低电平的平均脉冲宽度,进而根据平均脉冲宽度计算第二方的第二波特率的具体过程如下:
A.捕获输入SCI通信的脉冲宽度,每捕获4次中断一次,将这4次捕获的脉冲宽度添加到数据组中;
B.一旦捕获数据组已满,则计算数据组的平均脉冲宽度(并因此计算波特率);
C.将波特率更新为尽可能接近计算的平均值。
SCI通信是可变的脉冲宽度,对于许多应用来说,不能保证脉冲的模式(例如0xA5)。优选地,在计算平均脉冲宽度之前对采样数组进行预处理。例如,在软件中,可通过以下简化步骤来计算平均脉冲宽度:
①丢弃大于10bit的脉冲宽度(丢弃空闲时间);
②将n bit值除以n;
③对修正后的采样数组取平均值。
为清楚说明本发明技术方案,下面再以一个具体实施例对本发明提供的时钟精度修正方法的执行流程进行描述。
图4是本发明提供的时钟精度修正方法的一具体实施例的方法示意图。如图4所示,采集脉宽,其中采集的脉宽若大于等于10bit,则丢弃(设定脉宽为0);脉宽偏差在±5%的范围内时,不做修正,进一步判断1bit采集脉宽的数组是否满足超过50%的数组为非零值,若满足,则计算所有非零值的平均值,进而得到平均波特率;若不满足,则返回错误代码,波特率原偏离目标值。若脉宽偏差不在±5%的范围内,则对采集的脉宽进行修正,(采集的脉宽宽度在1个bit范围内的,则直接判断是否满足±5%的范围内;若采集的脉宽宽度大于1个bit的,例如如采样脉宽宽度在两个bit范围内,则用采样的时间/2,得出一个1bit的脉宽,再判断是否满足在±5%的范围内[#BITS=采集/目标]更新采集值:采集值/=#BITS)修正后,若脉宽偏差仍然不在±5%的范围内,则丢弃,若修正后脉宽偏差在±5%的范围内,则进一步判断1bit采集脉宽的数组是否满足超过50%的数组为非零值,若满足,则计算所有非零值的平均值,进而得到平均波特率;若不满足,则返回错误代码,波特率原偏离目标值。
本发明还提供一种时钟精度修正装置。所述时钟精度修正装置用于修正时钟精度不同的通信双方中时钟精度较低的一方的时钟精度。所述通信双方中时钟精度较低的一方(的通信芯片)具有I/O口高低电平捕捉功能。所述通信双方采用串口通讯。
在一些具体实施方式中,所述通信双方包括:分体式空调的内机和外机。所述分体式空调(例如分体变频式空调)的内机芯片和外机芯片的时钟精度不同,所述内机芯片和外机芯片中时钟精度较低的芯片具有I/O口高低电平捕捉功能。例如,分体变频式空调内、外机,因使用硬件而可以知道它们时钟精度的准确性。当内、外机中一方芯片时钟精度相对较高,而另一方芯片时钟精度相对较低(例如基于成本或PCB布板空间要求,使用内置精度不是很高的振荡器),而时钟精度相对较低的芯片具有捕捉I/O口高低电平的功能,例如通过芯片的增强型捕获模块eCAP捕捉对方通信的平均脉宽。
把分体式空调的内外机通讯芯片看作两个主体,串口通讯的硬件电路看作一个整体,即一个黑盒子。因为硬件的原因,通讯时会吞噬掉单个bit一定的上升沿、下降沿时间,但对于一定时间内高低电平的组合来说,硬件吞噬掉的时间是固定的,可忽略不计,这使得更改修正的方法变得可行。
图5是本发明提供的时钟精度修正装置的一实施例的结构框图。如图5所示,所述时钟精度修正装置100包括采集单元110、确定单元120和修正单元130。
采集单元110用于采集所述通信双方中时钟精度较高的第二方发送的连续的高低电平的平均脉冲宽度。
具体地,采集单元110捕捉时钟精度较高的第二方发送的连续的高低电平,根据采集的连续的高低电平,确定所述第二方每传输1bit数据的时间,即一个bit的脉冲宽度时间。例如,分体式空调中内机芯片的时钟精度较高,外机芯片的时钟精度较低,(外机)捕捉内机通讯时连续的高低电平,判断一段时间内,内机发了多少个bit。例如统计64bit后,得出总的时间,然后求出平均发送一个bit的时间。在一些具体实施方式中,通过芯片的增强型捕获模块eCAP捕捉第二方发送的连续的高低电平的平均脉冲宽度。
确定单元120用于根据所述采集单元110采集的连续的高低电平的平均脉冲宽度,确定所述第二方传输数据的第二波特率。
具体地,将采集单元110采集的连续的高低电平的平均脉冲宽度转换为波特率,即所述第二方传输数据的第二波特率。例如,波特率表示每秒钟传送的码元符号的个数,例如波特率2400kbit/s表示每秒钟可以传输2400kbits,那么每传输1bit所需时间:1s/2400bit/s=1*109/2400=416.667us,反之,得到每传输1bit所需时间,可得到波特率:1s/416.667us=2400bit/s。
修正单元130用于根据所述确定单元120确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率。
具体地,将所述第一方传输数据的第一波特率修正为所述第二方传输数据的第二波特率。
图2a和图2b为通过实验模拟了两种不同情况下修正所述第一方传输数据的第一波特率的示意图。图2a示出了修正所述第一方传输数据的第一波特率的一种情况的示意图。如图2a所示,为接收器与发送器波特率设置不一致的情况,接收器(SCI-RX)波特率设置为9601,通过eCAP测量波特率的数值,发送器(SCI-TX)的波特率设置为9889,与发送器相比接收器的波特率错误率为-3%,接收器将其波特率校正为与发射器相同,即修正后,接收器波特率与发送器波特率相同。
图2b示出了修正所述第一方传输数据的第一波特率的另一种情况的示意图。如图2b所示,为接收器上的INTOSC(内部晶振Interior Oscillator)错误的情况(例如硬件原因导致)。由于接收器上的INTOSC有错误,因此通过eCAP采集并计算得到的波特率是9601,那么,根据采集计算得到的波特率,将接收器自身的波特率修正为与计算得到的波特率相同。从而可以提供正确的波特率输出,即使接收器“认为”自身正在输出的波特率为9601,但在外部测量时,它也会输出给发送器所需的正确的9889波特率。例如,本发明模拟分析过程中通过逻辑分析器看到的发送器发送给接收器的波特率是9889,修正后通过逻辑分析器看到的接收器作为发送器时发送给发送器的波特率(实际已修正为9601)也是9889。
图3是波特率计算及修正示意图。如图3所示,接收器起始波特率(错误的)=9601(偏差于发送器的-3%),eCAP采集的数值eCAP=10415,检测到的波特率(需要修正回来的正确值)=9889,eCAP采集的数值eCAP=10111.8。转换脉宽为波特率,然后更新设备波特率为9889,从而使接收器输入或输出与发送器的相匹配。
在一些具体实施方式中,硬件配置当中使用两个C2000板。发送器向接收器发送错误的波特率。接收器通过eCAP模块(增强型捕获模块)测量波特率的数值,并可以自适应调整自身的波特率用以匹配。在接收器的波特率偏差很大的情况下,也能识别发送器/接收器的波特率/内部晶振偏差较大,从而也能正确识别修正过来。
在一些具体实施方式中,软件配置方面,对于发送器。外部/目标板的软件需要选择外部振荡器作为时钟源,并确保将用于SCI设置为100MHz的LSPCLK(低速时钟)。一旦选择了时钟源,就初始化SCITX(以及可选的SCIRX)。最后,创建一个无限循环,在该循环中,通过SCITX连续传输进行SCI通信。
对于接收器,需进行初始化。配置芯片底层配置后,才能捕捉内机通信发过来的高低电平的脉宽,通过捕捉的脉宽时间来校正外机芯片的波特率。需配置以下内容才能调整接收器上的波特率:
A.时钟:确保使用INTOSC2并选择100MHz的LSPCLK;
B.SCI模块:修正完成后即可使用;
C.XBAR输入:将GPIO28/SCI连接到INPUTXBAR7上,搭配ECAP1一起使用;
D.eCAP模块:监视接收到的SCI通信脉冲宽度。
在一些实施方式中,采集第二方发送的连续的高低电平的平均脉冲宽度,进而根据平均脉冲宽度计算第二方的第二波特率的具体过程如下:
A.捕获输入SCI通信的脉冲宽度,每捕获4次中断一次,将这4次捕获的脉冲宽度添加到数据组中;
B.一旦捕获数据组已满,则计算数据组的平均脉冲宽度(并因此计算波特率);
C.将波特率更新为尽可能接近计算的平均值。
SCI通信是可变的脉冲宽度,对于许多应用来说,不能保证脉冲的模式(例如0xA5)。优选地,在计算平均脉冲宽度之前对采样数组进行预处理。例如,在软件中,可通过以下简化步骤来计算平均脉冲宽度:
①丢弃大于10bit的脉冲宽度(丢弃空闲时间);
②将n bit值除以n;
③对修正后的采样数组取平均值。
表1为根据本发明技术方案的测试结果数据,从结果中可以看出修正后的波特率错误率得到了极大地降低,基本达到了目标匹配值。
测试步骤:
A.发送器设置为正确的波特率(需要尝试匹配的波特率);
B.接收器设置为错误的波特率(-3%或+3%);
C.接收器运行修正以匹配发送器。
表1
本发明还提供对应于所述时钟精度修正方法的一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
据此,本发明提供的方案,通信双方(例如空调内外机)中一方通讯主体芯片的时钟精度不是很高,可以通过捕捉通讯时另一方精度较高的芯片的波形脉宽,计算出相应的波特率时间,从而对自己的时钟精度进行修正,以保证通讯正常。根据本发明的技术方案,不增加成本的同时,能确保通讯的准确性,避免通讯故障。
本文中所描述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果在由处理器执行的软件中实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体予以传输。其它实例及实施方案在本发明及所附权利要求书的范围及精神内。举例来说,归因于软件的性质,上文所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任何者的组合执行的软件实施。此外,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为控制装置的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (9)
1.一种时钟精度修正方法,其特征在于,用于修正时钟精度不同的通信双方中时钟精度较低的第一方的时钟精度;
所述时钟精度修正方法用于所述通信双方中时钟精度较低的第一方,包括:
采集所述通信双方中时钟精度较高的第二方发送的连续的高低电平的平均脉冲宽度;
根据采集的连续的高低电平的平均脉冲宽度,确定所述第二方传输数据的第二波特率;
根据确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率。
2.根据权利要求1所述的方法,其特征在于,
所述通信双方,包括:分体式空调的内机和外机;
和/或,
通过eCAP模块采集所述第二方发送的连续的高低电平的平均脉冲宽度。
3.根据权利要求1或2所述的方法,其特征在于,根据采集的连续的高低电平的脉冲宽度,确定所述第二方传输数据的第二波特率,包括:
根据采集的连续的高低电平的脉冲宽度,计算所述第二方每传输1bit数据的时间;
根据确定的所述第一方每传输1bit数据的时间,计算所述第二方传输数据的第二波特率。
4.根据权利要求1或2所述的方法,其特征在于,根据确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率,包括:
将所述第一方传输数据的第一波特率修正为确定的所述第二方传输数据的第二波特率。
5.一种时钟精度修正装置,其特征在于,用于修正时钟精度不同的通信双方中时钟精度较低的第一方的时钟精度;
所述时钟精度修正装置用于所述通信双方中时钟精度较低的第一方,所述装置,包括:
采集单元,用于采集所述通信双方中时钟精度较高的第二方发送的连续的高低电平的平均脉冲宽度;
确定单元,用于根据所述采集单元采集的连续的高低电平的平均脉冲宽度,确定所述第二方传输数据的第二波特率;
修正单元,用于根据所述确定单元确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率。
6.根据权利要求5所述的装置,其特征在于,
所述通信双方,包括:分体式空调的内机和外机;
和/或,
通过eCAP模块采集所述第二方发送的连续的高低电平的平均脉冲宽度。
7.根据权利要求5或6所述的装置,其特征在于,所述确定单元,根据所述采集单元采集的连续的高低电平的脉冲宽度,确定所述第二方传输数据的第二波特率,包括:
根据采集的连续的高低电平的脉冲宽度,计算所述第二方每传输1bit数据的时间;
根据确定的所述第一方每传输1bit数据的时间,计算所述第二方传输数据的第二波特率。
8.根据权利要求5或6所述的装置,其特征在于,所述修正单元,根据所述确定单元确定的所述第二方传输数据的第二波特率修正所述第一方传输数据的第一波特率,包括:
将所述第一方传输数据的第一波特率修正为确定的所述第二方传输数据的第二波特率。
9.一种存储介质,其特征在于,其上存储有计算机程序,所述程序被处理器执行时实现权利要求1-4任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011183825.3A CN112540641B (zh) | 2020-10-29 | 2020-10-29 | 一种时钟精度修正方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011183825.3A CN112540641B (zh) | 2020-10-29 | 2020-10-29 | 一种时钟精度修正方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112540641A true CN112540641A (zh) | 2021-03-23 |
CN112540641B CN112540641B (zh) | 2024-04-12 |
Family
ID=75013594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011183825.3A Active CN112540641B (zh) | 2020-10-29 | 2020-10-29 | 一种时钟精度修正方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540641B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118244093A (zh) * | 2024-03-25 | 2024-06-25 | 北京中科昊芯科技有限公司 | 芯片内部时钟的校准方法、装置、电子设备及存储介质 |
Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976227A (zh) * | 2006-12-20 | 2007-06-06 | 北京中星微电子有限公司 | 脉冲宽度调制装置 |
CN101299657A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 全数字接收机符号定时同步装置 |
CN102201960A (zh) * | 2011-04-28 | 2011-09-28 | 华南理工大学 | 一种基于排序脉宽差分的波特率自适应方法 |
CN102411344A (zh) * | 2011-06-27 | 2012-04-11 | 北京日立控制系统有限公司 | 分布式控制系统时钟的高精度同步方法 |
CN102904766A (zh) * | 2011-07-27 | 2013-01-30 | 深圳英飞拓科技股份有限公司 | 串行通信波特率识别方法、装置及监控设备 |
CN103605138A (zh) * | 2013-07-26 | 2014-02-26 | 成都海亨利科技有限公司 | 一种卫星导航接收机时钟修正方法与装置 |
CN103618588A (zh) * | 2013-11-26 | 2014-03-05 | 中国科学院嘉兴微电子与系统工程中心 | 一种自动波特率检测方法及检测模块 |
CN103684678A (zh) * | 2012-11-01 | 2014-03-26 | 国网电力科学研究院 | 一种用于uart的波特率自适应方法、装置及uart |
CN103970698A (zh) * | 2014-02-28 | 2014-08-06 | 北京经纬恒润科技有限公司 | 串行通信的波特率识别方法、装置、微控制器及系统 |
CN104168080A (zh) * | 2013-05-15 | 2014-11-26 | 上海贝尔股份有限公司 | 一种用于自适应波特率的方法、装置和设备 |
CN104834622A (zh) * | 2015-03-31 | 2015-08-12 | 深圳市三朋电子有限公司 | 通过rs232接口进行多个设备时间同步的方法及装置 |
CN104901687A (zh) * | 2015-05-20 | 2015-09-09 | 珠海市杰理科技有限公司 | 时钟频率校准方法和系统 |
CN104980147A (zh) * | 2014-04-08 | 2015-10-14 | 刘伯安 | 一种连续时差测量的方法及装置 |
CN105049151A (zh) * | 2015-07-03 | 2015-11-11 | 福州瑞芯微电子股份有限公司 | 一种用于串口通信控制的方法和通信串口 |
CN105388780A (zh) * | 2015-06-10 | 2016-03-09 | 南京大全自动化科技有限公司 | 一种irig-b000码模拟装置 |
CN105790756A (zh) * | 2016-03-17 | 2016-07-20 | 杭州晟元数据安全技术股份有限公司 | 一种利用uart通讯校准时钟的方法及装置 |
CN106411483A (zh) * | 2016-08-23 | 2017-02-15 | 华立科技股份有限公司 | 一种检测仪表通讯波特率准确度的方法及系统 |
CN106528478A (zh) * | 2016-12-06 | 2017-03-22 | 天津北芯微科技有限公司 | 一种单总线异步串口通信系统及其通信方法 |
CN106788920A (zh) * | 2016-12-19 | 2017-05-31 | 珠海格力电器股份有限公司 | 一种波特率偏差检测方法、装置及空调室内机 |
CN108988832A (zh) * | 2017-06-02 | 2018-12-11 | 上海诺基亚贝尔股份有限公司 | 用于检测与电子装置相关联的延迟的方法和相应的电子装置 |
CN109075742A (zh) * | 2018-08-06 | 2018-12-21 | 深圳市汇顶科技股份有限公司 | 波特率校准电路及串口芯片 |
CN109450607A (zh) * | 2018-09-10 | 2019-03-08 | 北京中电华大电子设计有限责任公司 | 一种通用异步收发器的波特率校准方法和装置 |
CN109660310A (zh) * | 2019-01-14 | 2019-04-19 | 深圳前海达闼云端智能科技有限公司 | 一种时钟同步的方法、装置、计算设备及计算机存储介质 |
CN109672427A (zh) * | 2018-12-28 | 2019-04-23 | 深圳市英威腾自动控制技术有限公司 | 一种数字滤波方法、系统及相关设备 |
CN110750399A (zh) * | 2019-09-24 | 2020-02-04 | 深圳震有科技股份有限公司 | 一种串口误码率测试方法及装置、计算机设备、可读存储介质 |
CN111412580A (zh) * | 2020-03-30 | 2020-07-14 | 美的集团股份有限公司 | 波特率校准方法、空调器及计算机可读存储介质 |
CN111711445A (zh) * | 2020-06-24 | 2020-09-25 | 中国地质科学院地球物理地球化学勘查研究所 | 标称频率误差的校正方法、装置以及电子设备 |
CN111786865A (zh) * | 2020-06-09 | 2020-10-16 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及设备 |
CN111800249A (zh) * | 2020-07-06 | 2020-10-20 | 山东管理学院 | 串行通信波特率误差容忍范围提升方法及系统 |
CN111796579A (zh) * | 2020-06-30 | 2020-10-20 | 东风电驱动系统有限公司 | 车辆远程监控终端的can总线波特率配置方法及系统 |
-
2020
- 2020-10-29 CN CN202011183825.3A patent/CN112540641B/zh active Active
Patent Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976227A (zh) * | 2006-12-20 | 2007-06-06 | 北京中星微电子有限公司 | 脉冲宽度调制装置 |
CN101299657A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 全数字接收机符号定时同步装置 |
CN102201960A (zh) * | 2011-04-28 | 2011-09-28 | 华南理工大学 | 一种基于排序脉宽差分的波特率自适应方法 |
CN102411344A (zh) * | 2011-06-27 | 2012-04-11 | 北京日立控制系统有限公司 | 分布式控制系统时钟的高精度同步方法 |
CN102904766A (zh) * | 2011-07-27 | 2013-01-30 | 深圳英飞拓科技股份有限公司 | 串行通信波特率识别方法、装置及监控设备 |
CN103684678A (zh) * | 2012-11-01 | 2014-03-26 | 国网电力科学研究院 | 一种用于uart的波特率自适应方法、装置及uart |
CN104168080A (zh) * | 2013-05-15 | 2014-11-26 | 上海贝尔股份有限公司 | 一种用于自适应波特率的方法、装置和设备 |
CN103605138A (zh) * | 2013-07-26 | 2014-02-26 | 成都海亨利科技有限公司 | 一种卫星导航接收机时钟修正方法与装置 |
CN103618588A (zh) * | 2013-11-26 | 2014-03-05 | 中国科学院嘉兴微电子与系统工程中心 | 一种自动波特率检测方法及检测模块 |
CN103970698A (zh) * | 2014-02-28 | 2014-08-06 | 北京经纬恒润科技有限公司 | 串行通信的波特率识别方法、装置、微控制器及系统 |
CN104980147A (zh) * | 2014-04-08 | 2015-10-14 | 刘伯安 | 一种连续时差测量的方法及装置 |
CN104834622A (zh) * | 2015-03-31 | 2015-08-12 | 深圳市三朋电子有限公司 | 通过rs232接口进行多个设备时间同步的方法及装置 |
CN104901687A (zh) * | 2015-05-20 | 2015-09-09 | 珠海市杰理科技有限公司 | 时钟频率校准方法和系统 |
CN105388780A (zh) * | 2015-06-10 | 2016-03-09 | 南京大全自动化科技有限公司 | 一种irig-b000码模拟装置 |
CN105049151A (zh) * | 2015-07-03 | 2015-11-11 | 福州瑞芯微电子股份有限公司 | 一种用于串口通信控制的方法和通信串口 |
CN105790756A (zh) * | 2016-03-17 | 2016-07-20 | 杭州晟元数据安全技术股份有限公司 | 一种利用uart通讯校准时钟的方法及装置 |
CN106411483A (zh) * | 2016-08-23 | 2017-02-15 | 华立科技股份有限公司 | 一种检测仪表通讯波特率准确度的方法及系统 |
CN106528478A (zh) * | 2016-12-06 | 2017-03-22 | 天津北芯微科技有限公司 | 一种单总线异步串口通信系统及其通信方法 |
CN106788920A (zh) * | 2016-12-19 | 2017-05-31 | 珠海格力电器股份有限公司 | 一种波特率偏差检测方法、装置及空调室内机 |
CN108988832A (zh) * | 2017-06-02 | 2018-12-11 | 上海诺基亚贝尔股份有限公司 | 用于检测与电子装置相关联的延迟的方法和相应的电子装置 |
CN109075742A (zh) * | 2018-08-06 | 2018-12-21 | 深圳市汇顶科技股份有限公司 | 波特率校准电路及串口芯片 |
CN109450607A (zh) * | 2018-09-10 | 2019-03-08 | 北京中电华大电子设计有限责任公司 | 一种通用异步收发器的波特率校准方法和装置 |
CN109672427A (zh) * | 2018-12-28 | 2019-04-23 | 深圳市英威腾自动控制技术有限公司 | 一种数字滤波方法、系统及相关设备 |
CN109660310A (zh) * | 2019-01-14 | 2019-04-19 | 深圳前海达闼云端智能科技有限公司 | 一种时钟同步的方法、装置、计算设备及计算机存储介质 |
CN110750399A (zh) * | 2019-09-24 | 2020-02-04 | 深圳震有科技股份有限公司 | 一种串口误码率测试方法及装置、计算机设备、可读存储介质 |
CN111412580A (zh) * | 2020-03-30 | 2020-07-14 | 美的集团股份有限公司 | 波特率校准方法、空调器及计算机可读存储介质 |
CN111786865A (zh) * | 2020-06-09 | 2020-10-16 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及设备 |
CN111711445A (zh) * | 2020-06-24 | 2020-09-25 | 中国地质科学院地球物理地球化学勘查研究所 | 标称频率误差的校正方法、装置以及电子设备 |
CN111796579A (zh) * | 2020-06-30 | 2020-10-20 | 东风电驱动系统有限公司 | 车辆远程监控终端的can总线波特率配置方法及系统 |
CN111800249A (zh) * | 2020-07-06 | 2020-10-20 | 山东管理学院 | 串行通信波特率误差容忍范围提升方法及系统 |
Non-Patent Citations (4)
Title |
---|
吴子桃;王一;邓康明;张渊;: "MSP430精准配置高速串口波特率的方法", 单片机与嵌入式系统应用, no. 08 * |
方利缘;赵永昌;康兴国;邹金龙;任朋利;: "基于迭代和修正的波特率自适应算法", 探测与控制学报, no. 01 * |
李森源;易清明;石敏;: "波特率自适应信号接收装置设计及其FPGA实现", 计算机应用与软件, no. 01 * |
樊利军;田柏林;: "基于FPGA的UART自适应波特率发生器的实现", 北京工业职业技术学院学报, no. 01 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118244093A (zh) * | 2024-03-25 | 2024-06-25 | 北京中科昊芯科技有限公司 | 芯片内部时钟的校准方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112540641B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6335230B2 (ja) | Crcカウンターの正規化 | |
US10841021B2 (en) | Circuit for calibrating baud rate and serial port chip | |
CN107147553B (zh) | 从站波特率及帧格式的调整方法、调整装置及调整设备 | |
CN112559412B (zh) | 一种串口波特率自适应接收端、实现方法、系统 | |
CN111984477B (zh) | 一种PCIe设备信号参数动态校正装置和方法 | |
US20150049795A1 (en) | Receiving data compensation method to improve data receiving rate and receiving modem circuit thereof | |
CN111177060B (zh) | 串口数据发送方法、接收方法、相应装置及终端设备 | |
US9825736B2 (en) | Transmitter noise in system budget | |
CN111694776B (zh) | 一种芯片中通讯接口的识别方法和装置 | |
CN112540641A (zh) | 一种时钟精度修正方法、装置及存储介质 | |
JP4783709B2 (ja) | 信号補正量設定装置、信号補正量設定方法および信号補正量設定プログラム | |
CN108551382B (zh) | 一种通信数据纠错方法及装置 | |
CN117200923A (zh) | 一种异步通信方法及装置 | |
US8249177B2 (en) | Detection of frame marker quality | |
CN107113255B (zh) | 收发器电路以及用于对通信系统进行调谐和用于在收发器之间的通信的方法 | |
US20160182089A1 (en) | Reed-solomon erasure decoding with error detection for retransmission | |
CN113709010A (zh) | 一种不限帧长的Modbus通信协议系统 | |
US20050055619A1 (en) | Method, system, and apparatus for bit error capture and analysis for serial interfaces | |
US10846085B2 (en) | Multi-lane data processing circuit and system | |
CN109506337B (zh) | 一种通讯方法、装置、存储介质及空调 | |
CN112783815B (zh) | 高速序列计算机总线的信号调整方法及其相关计算机系统 | |
CN117707827A (zh) | 一种采样数据处理方法及装置 | |
CN115964320A (zh) | 波特率识别方法、装置、识别波特率的芯片及存储介质 | |
WO2020140525A1 (zh) | Uart模块、uart模块传输参数的调节方法和系统级芯片 | |
KR100376249B1 (ko) | 메시지 길이에 따른 가변형 에러 제어 방법 |
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 |