仪表计时误差补偿方法及其系统技术方案

技术编号:17389014 阅读:43 留言:0更新日期:2018-03-04 14:03
一种仪表计时误差补偿方法,包括:对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,计算内部RC时钟的实际频率fn;在后一次唤醒外部晶振时,计算内部RC时钟的实际频率fn+1,并计算前后两次RC时钟实际频率的平均值f'n;计算Δtn;将(M+1)×Δtn的偏差时间补偿给在外部晶振前一次唤醒起始时间点至后一次唤醒起始时间点期间的仪表计时值;本发明专利技术减小了温度变化对仪表计时功能的影响,提高了仪表计时精度,对仪表MCU内部RC时钟的精度要求降低,从而降低了MCU成本,同时也降低了仪表成本,仪表计时精度的提高,使得仪表可以作为整车的主计时模块,降低了整车其他ECU对计时精度的要求。

Method and system of instrument timing error compensation

An instrument error compensation method, including: for two times before and after wake up before an external crystal, wake up the external crystal, the actual calculation of the internal clock frequency of FN RC; after a wake-up external crystal, the actual calculation of the internal clock frequency of fn+1 RC, and calculated before and after the two RC clock frequency the average value of f'n; to calculate TN (M+1); the time deviation compensation * delta TN to an external crystal before a starting time to wake up after a wake during starting time of instrument time; the invention reduces the temperature change time effect function of the instrument, improve the timing accuracy of instrument and reduce the requirement of the internal RC clock MCU instrument precision, thereby reducing the cost of MCU, but also reduces the cost of the meter, meter timing accuracy, the instrument can be used as the main vehicle timing module, reduce the The requirements of the other ECU for the timing accuracy of the whole vehicle.

【技术实现步骤摘要】
仪表计时误差补偿方法及其系统
本专利技术汽车仪表计时
,尤其涉及一种仪表计时误差补偿方法及其系统。
技术介绍
对于使用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_MDRRegister寄存器中设置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_MDRRegister寄存器中设置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×10本文档来自技高网...
仪表计时误差补偿方法及其系统

【技术保护点】
一种仪表计时误差补偿方法,其特征在于,包括:对于前后两次唤醒外部晶振,在前一次唤醒外部晶振时,通过公式(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。

【技术特征摘要】
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时钟的预设振荡次数,fRC为内部RC时钟的实际频率,N为外部晶振的振动次数,fosc为外部晶振的理论频率,tn为外部晶振前一次唤醒状态的持续时间,外部晶振前后两次唤醒的间隔时间为M×tn。2.根据权利要求1所述的一种仪表计时误差补偿方法,其特征在于,所述C为12800。3.根据权利要求1或2所述的一种仪表计时误差补偿方法,其特征在于,所述M为600。4.一种仪表计时误差补偿系统,其...

【专利技术属性】
技术研发人员:石翠娟汤云卿
申请(专利权)人:上海伟世通汽车电子系统有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1