CN107748831B - 仪表计时误差补偿方法及其*** - Google Patents
仪表计时误差补偿方法及其*** Download PDFInfo
- Publication number
- CN107748831B CN107748831B CN201711142948.0A CN201711142948A CN107748831B CN 107748831 B CN107748831 B CN 107748831B CN 201711142948 A CN201711142948 A CN 201711142948A CN 107748831 B CN107748831 B CN 107748831B
- Authority
- CN
- China
- Prior art keywords
- crystal oscillator
- external crystal
- clock
- internal
- frequency
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Electric Clocks (AREA)
- Oscillators With Electromechanical Resonators (AREA)
Abstract
一种仪表计时误差补偿方法,包括:对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,计算内部RC时钟的实际频率fn;在后一次唤醒外部晶振时,计算内部RC时钟的实际频率fn+1,并计算前后两次RC时钟实际频率的平均值f'n;计算Δtn;将(M+1)×Δtn的偏差时间补偿给在外部晶振前一次唤醒起始时间点至后一次唤醒起始时间点期间的仪表计时值;本发明减小了温度变化对仪表计时功能的影响,提高了仪表计时精度,对仪表MCU内部RC时钟的精度要求降低,从而降低了MCU成本,同时也降低了仪表成本,仪表计时精度的提高,使得仪表可以作为整车的主计时模块,降低了整车其他ECU对计时精度的要求。
Description
技术领域
本发明汽车仪表计时技术领域,尤其涉及一种仪表计时误差补偿方法及其***。
背景技术
对于使用RTC计时策略功能的汽车仪表,当仪表进入睡眠状态的时候,仪表使用的是内部RC时钟进行计时。
目前,现有技术是不对仪表内部RC时钟频率进行任何的温漂补偿。当环境温度变化过大的时候,仪表一直使用未补偿的频率来进行计时,那么必将会带入温度变化引起的时钟频率变化而造成的计时误差,影响仪表计时的精度。
发明内容
基于此,针对上述技术问题,提供一种仪表计时误差补偿方法及其***。
为解决上述技术问题,本发明采用如下技术方案:
一种仪表计时误差补偿方法,包括:
对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,通过公式(1)计算内部RC时钟的实际频率fn:
C/fRC=N/fosc (1);
在后一次唤醒外部晶振时,通过上述公式(1)计算内部RC时钟的实际频率fn+1,并通过公式(2)计算前后两次RC时钟实际频率的平均值f'n:
f'n=(fn+fn+1)/2 (2);
通过公式(3)计算Δtn:
Δtn=C/fn-C/f'n (3);
将(M+1)×Δtn的偏差时间补偿给在外部晶振前一次唤醒起始时间点至后一次唤醒起始时间点期间的仪表计时值;
其中,C为所述内部RC时钟的预设振荡次数,fRC为内部RC时钟的实际频率,N为外部晶振的振动次数,fosc为外部晶振的理论频率,tn为外部晶振前一次唤醒状态的持续时间,外部晶振前后两次唤醒的间隔时间为M×tn。
所述C为12800。
所述M为600。
本发明还涉及一种仪表计时误差补偿***,包括存储模块,所述存储模块中存储有多条指令,所述指令由处理器加载并执行:
对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,通过公式(1)计算内部RC时钟的实际频率fn:
C/fRC=N/fosc (1);
在后一次唤醒外部晶振时,通过上述公式(1)计算内部RC时钟的实际频率fn+1,并通过公式(2)计算前后两次RC时钟实际频率的平均值f'n:
f'n=(fn+fn+1)/2 (2);
通过公式(3)计算Δtn:
Δtn=C/fn-C/f'n (3);
将(M+1)×Δtn的偏差时间补偿给在外部晶振前一次唤醒起始时间点至后一次唤醒起始时间点期间的仪表计时值;
其中,C为所述内部RC时钟的预设振荡次数,fRC为内部RC时钟的实际频率,N为外部晶振的振动次数,fosc为外部晶振的理论频率,tn为外部晶振前一次唤醒状态的持续时间,外部晶振前后两次唤醒的间隔时间为M×tn。
所述C为12800。
所述M为600。
本发明减小了温度变化对仪表计时功能的影响,提高了仪表计时精度,对仪表MCU内部RC时钟的精度要求降低,从而降低了MCU成本,同时也降低了仪表成本,仪表计时精度的提高,使得仪表可以作为整车的主计时模块,降低了整车其他ECU对计时精度的要求,对整车成本控制也起到了非常积极的作用。
附图说明
下面结合附图和具体实施方式本发明进行详细说明:
图1为本发明的逻辑流程图;
图2为本发明的逻辑时序图。
具体实施方式
如图1以及图2所示,一种仪表计时误差补偿方法,包括:
首先需要说明的是,在睡眠模式下,仪表会定期唤醒外部晶振,对内部RC时钟进行校准,外部晶振每次在唤醒状态的持续时间均相等,在本实施例中持续时间设定为100ms,每隔600×100ms唤醒一次外部晶振。
一、对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,通过公式(1)计算内部RC时钟的实际频率fn:
C/fRC=N/fosc (1)。
其中,C为内部RC时钟的预设振荡次数,fRC为内部RC时钟的实际频率,N为外部晶振的振动次数,fosc为外部晶振的理论频率,tn为外部晶振前一次唤醒状态的持续时间。
以理论频率为128KHz的内部RC时钟,理论频率为8MHz的外部晶振为例,M设置为600,在仪表内部的频率计数器的CMU_MDR Register寄存器中设置C为12800,内部RC时钟振动12800次的理论时间为C/fRC=12800/128000=100ms,通过仪表内部的频率计数器计算100ms内外部晶振实际震荡的次数N后,可以通过公式(1)反推得到内部RC时钟的实际频率fRC,由于外部晶振频率稳定,并且几乎没有温漂,故可以作为标称值。
二、在后一次唤醒外部晶振时,通过上述公式(1)计算内部RC时钟的实际频率fn+1,并通过公式(2)计算前后两次RC时钟实际频率的平均值f'n:
f'n=(fn+fn+1)/2 (2)。
其中,由于环境温度的变化,频率fn与fn+1并不相同,内部时钟频率变化根据温度变化是线性的,所以可以按平均值来取值。
三、通过公式(3)计算Δtn:
Δtn=C/fn-C/f'n (3)。
四、将(M+1)×Δtn的偏差时间补偿给在外部晶振前一次唤醒起始时间点至后一次唤醒起始时间点期间的仪表计时值。
其中,外部晶振前后两次唤醒的间隔时间为M×tn。
以此类推,可以算出Δtn+1,Δtn+2……,并将它们补偿给相应期间的仪表计时值。
本发明减小了温度变化对仪表计时功能的影响,提高了仪表计时精度,对仪表MCU内部RC时钟的精度要求降低,从而降低了MCU成本,同时也降低了仪表成本,仪表计时精度的提高,使得仪表可以作为整车的主计时模块,降低了整车其他ECU对计时精度的要求,对整车成本控制也起到了非常积极的作用。
如图1以及图2所示,本发明还涉及一种仪表计时误差补偿***,包括存储模块,存储模块中存储有多条指令,指令由处理器加载并执行:
一、对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,通过公式(1)计算内部RC时钟的实际频率fn:
C/fRC=N/fosc (1)。
其中,C为内部RC时钟的预设振荡次数,fRC为内部RC时钟的实际频率,N为外部晶振的振动次数,fosc为外部晶振的理论频率,tn为外部晶振前一次唤醒状态的持续时间。
以理论频率为128KHz的内部RC时钟,理论频率为8MHz的外部晶振为例,M设置为600,在仪表内部的频率计数器的CMU_MDR Register寄存器中设置C为12800,内部RC时钟振动12800次的理论时间为C/fRC=12800/128000=100ms,通过仪表内部的频率计数器计算100ms内外部晶振实际震荡的次数N后,可以通过公式(1)反推得到内部RC时钟的实际频率fRC,由于外部晶振频率稳定,并且几乎没有温漂,故可以作为标称值。
二、在后一次唤醒外部晶振时,通过上述公式(1)计算内部RC时钟的实际频率fn+1,并通过公式(2)计算前后两次RC时钟实际频率的平均值f'n:
f'n=(fn+fn+1)/2 (2)。
其中,由于环境温度的变化,频率fn与fn+1并不相同,内部时钟频率变化根据温度变化是线性的,所以可以按平均值来取值。
三、通过公式(3)计算Δtn:
Δtn=C/fn-C/f'n (3)。
四、将(M+1)×Δtn的偏差时间补偿给在外部晶振前一次唤醒起始时间点至后一次唤醒起始时间点期间的仪表计时值。
其中,外部晶振前后两次唤醒的间隔时间为M×tn。
以此类推,可以算出Δtn+1,Δtn+2……,并将它们补偿给相应期间的仪表计时值。
需要指出的是,在睡眠模式下,仪表会定期唤醒外部晶振,对内部RC时钟进行校准,外部晶振每次在唤醒状态的持续时间均相等,在本实施例中持续时间为100ms,每隔600×100ms唤醒一次外部晶振。
但是,本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。
Claims (6)
1.一种仪表计时误差补偿方法,其特征在于,包括:
对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,通过公式(1)计算内部RC时钟的实际频率fn:
C/fRC=N/fosc (1);
在后一次唤醒外部晶振时,通过上述公式(1)计算内部RC时钟的实际频率fn+1,并通过公式(2)计算前后两次RC时钟实际频率的平均值f'n:
f'n=(fn+fn+1)/2 (2);
通过公式(3)计算Δtn:
Δtn=C/fn-C/f'n (3);
将(M+1)×Δtn的偏差时间补偿给在外部晶振前一次唤醒起始时间点至后一次唤醒起始时间点期间的仪表计时值;
其中,C为所述内部RC时钟的预设振荡次数,fn=fRC为内部RC时钟的实际频率,N为外部晶振的振动次数,fosc为外部晶振的理论频率,tn为外部晶振前一次唤醒状态的持续时间,外部晶振前后两次唤醒的间隔时间为M×tn。
2.根据权利要求1所述的一种仪表计时误差补偿方法,其特征在于,所述C为12800。
3.根据权利要求1或2所述的一种仪表计时误差补偿方法,其特征在于,所述M为600。
4.一种仪表计时误差补偿***,其特征在于,包括存储模块,所述存储模块中存储有多条指令,所述指令由处理器加载并执行:
对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,通过公式(1)计算内部RC时钟的实际频率fn:
C/fRC=N/fosc (1);
在后一次唤醒外部晶振时,通过上述公式(1)计算内部RC时钟的实际频率fn+1,并通过公式(2)计算前后两次RC时钟实际频率的平均值f'n:
f'n=(fn+fn+1)/2 (2);
通过公式(3)计算Δtn:
Δtn=C/fn-C/f'n (3);
将(M+1)×Δtn的偏差时间补偿给在外部晶振前一次唤醒起始时间点至后一次唤醒起始时间点期间的仪表计时值;
其中,C为所述内部RC时钟的预设振荡次数,fn=fRC为内部RC时钟的实际频率,N为外部晶振的振动次数,fosc为外部晶振的理论频率,tn为外部晶振前一次唤醒状态的持续时间,外部晶振前后两次唤醒的间隔时间为M×tn。
5.根据权利要求4所述的一种仪表计时误差补偿***,其特征在于,所述C为12800。
6.根据权利要求4或5所述的一种仪表计时误差补偿***,其特征在于,所述M为600。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711142948.0A CN107748831B (zh) | 2017-11-17 | 2017-11-17 | 仪表计时误差补偿方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711142948.0A CN107748831B (zh) | 2017-11-17 | 2017-11-17 | 仪表计时误差补偿方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107748831A CN107748831A (zh) | 2018-03-02 |
CN107748831B true CN107748831B (zh) | 2021-01-08 |
Family
ID=61251507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711142948.0A Active CN107748831B (zh) | 2017-11-17 | 2017-11-17 | 仪表计时误差补偿方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107748831B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645683B (zh) * | 2021-10-14 | 2021-12-24 | 昂科信息技术(上海)股份有限公司 | 晶振自适应时钟同步方法及*** |
CN114578153B (zh) * | 2022-01-26 | 2023-05-16 | 奉加科技(上海)股份有限公司 | 一种晶振振荡检测电路 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799526A (zh) * | 2009-02-06 | 2010-08-11 | 杭州中科微电子有限公司 | 一种gps接收机中高精度的rtc电路的校准方法及其模块 |
CN103699173A (zh) * | 2013-11-04 | 2014-04-02 | 矽恩微电子(厦门)有限公司 | 一种实时时钟计时误差补偿方法 |
CN104679098A (zh) * | 2013-11-29 | 2015-06-03 | 上海华虹集成电路有限责任公司 | 微控制器时钟频率自动校准电路 |
CN104901687A (zh) * | 2015-05-20 | 2015-09-09 | 珠海市杰理科技有限公司 | 时钟频率校准方法和*** |
CN106075722A (zh) * | 2016-06-03 | 2016-11-09 | 苏州景昱医疗器械有限公司 | 植入式神经刺激装置的频率校正方法及校正*** |
CN106130547A (zh) * | 2016-06-20 | 2016-11-16 | 大唐微电子技术有限公司 | 一种时钟频率校准方法和装置 |
CN107256065A (zh) * | 2017-07-14 | 2017-10-17 | 佛山华芯微特科技有限公司 | 一种实时时钟的处理***及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008031498B4 (de) * | 2008-07-03 | 2012-03-08 | Infineon Technologies Ag | Taktbestimmung eines Sensors |
US9727310B2 (en) * | 2015-03-31 | 2017-08-08 | Toshiba Corporation | Entropy source for random number generator |
-
2017
- 2017-11-17 CN CN201711142948.0A patent/CN107748831B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799526A (zh) * | 2009-02-06 | 2010-08-11 | 杭州中科微电子有限公司 | 一种gps接收机中高精度的rtc电路的校准方法及其模块 |
CN103699173A (zh) * | 2013-11-04 | 2014-04-02 | 矽恩微电子(厦门)有限公司 | 一种实时时钟计时误差补偿方法 |
CN104679098A (zh) * | 2013-11-29 | 2015-06-03 | 上海华虹集成电路有限责任公司 | 微控制器时钟频率自动校准电路 |
CN104901687A (zh) * | 2015-05-20 | 2015-09-09 | 珠海市杰理科技有限公司 | 时钟频率校准方法和*** |
CN106075722A (zh) * | 2016-06-03 | 2016-11-09 | 苏州景昱医疗器械有限公司 | 植入式神经刺激装置的频率校正方法及校正*** |
CN106130547A (zh) * | 2016-06-20 | 2016-11-16 | 大唐微电子技术有限公司 | 一种时钟频率校准方法和装置 |
CN107256065A (zh) * | 2017-07-14 | 2017-10-17 | 佛山华芯微特科技有限公司 | 一种实时时钟的处理***及方法 |
Non-Patent Citations (4)
Title |
---|
A 10 to 11.5GHz rotational phase and frequency detector for clock recovery circuit;Fan-Ta Chen 等;《2011 IEEE International Symposium of Circuits and Systems (ISCAS)》;20110705;第185-188页 * |
High performance low phase noise PLL clock synthesizer with LVDS outputs;Gundel, A. 等;《2006 IEEE Long Island Systems, Applications and Technology Conference》;20070917;第1-7页 * |
基于FPGA的全场景试验***主时钟终端频率校准方法;罗必露 等;《电测与仪表》;20151010;第52卷(第19期);第11-17页 * |
配对算法在汽车仪表测试中的应用;王炤晖;《轻工科技》;20160331(第3期);第103、137页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107748831A (zh) | 2018-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067394B (zh) | 片上时钟校准装置及校准方法 | |
CN107256065B (zh) | 一种实时时钟的处理***及方法 | |
EP2369438A1 (en) | Calibration method of a real time clock signal | |
WO2019118981A1 (en) | Fine-grained clock resolution using low and high frequency clock sources in a low-power system | |
TWI411804B (zh) | 補償一時脈偏差之方法以及裝置 | |
US9510289B1 (en) | In system calibration of wake up timer | |
CN113346881B (zh) | 数字时钟校准方法、无线遥控器及存储介质 | |
CN107748831B (zh) | 仪表计时误差补偿方法及其*** | |
CN107765760B (zh) | 仪表睡眠模式下rtc模块时钟源动态校准方法及其*** | |
TWI661678B (zh) | 改良式低功率振盪器 | |
US10172092B1 (en) | Systems and methods for providing a sleep clock on a wireless communications device | |
CN106569544A (zh) | 实时时钟芯片及其时钟校准方法、装置 | |
US9342054B2 (en) | Apparatus and method of keeping time of day over an industrial temperature range | |
TW201519611A (zh) | 通訊裝置及頻偏校正方法 | |
CN102981551A (zh) | 一种实时时钟温度补偿***及方法 | |
CN202059372U (zh) | 基于高频晶体实现时钟晶体振荡器闭环温度补偿的装置 | |
JPH11183661A (ja) | 移動通信装置 | |
CN106612104B (zh) | 一种实时时钟误差补偿装置及方法 | |
US7554415B2 (en) | Microcomputer including a CR oscillator circuit | |
CN103034116A (zh) | 一种提高石英计时器时间计时准确度的方法 | |
JP2011197910A (ja) | クロック制御回路およびマイクロコンピュータ | |
CN105116712A (zh) | 一种内置晶振自动校准方法 | |
CN111865306B (zh) | 一种实时时钟时基分频器及实时时钟调校方法 | |
CN112953514A (zh) | 校准蓝牙时钟的方法和装置 | |
EP2333954B1 (en) | Clock recovery in a battery powered device |
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 |