微型计算机及其时钟的修正方法

文档序号:10475840阅读:274来源:国知局
微型计算机及其时钟的修正方法
【专利摘要】将微型计算机的睡眠模式用子时钟保持为高精度。子时钟(20)通过循环计数器(22)对CR振荡电路(21)的振荡脉冲进行计数,并在每次达到目标计数Pm时输出时钟信号。CPU(11)通过脉冲计数器(26)对预定时间中的CR振荡电路(21)的振荡脉冲进行计数,根据脉冲计数P修正目标计数Pm,其中,预定时间是通过时间计数器(25)使用采用了晶体振荡器的主时钟(13)的时钟信号进行计时的预定时间。以频率精度高的主时钟的时钟信号作为基准,并非是子时钟(20)的推定而是掌握现实的计数状态来修正时钟信号,因此即使温度等环境因素发生变化依然将子时钟保持高精度。
【专利说明】
微型计算机及其时钟的修正方法
技术领域
[0001]本发明涉及一种与CPU正常动作模式下使用的时钟相独立地具有用于睡眠模式的时钟的微型计算机及其时钟的修正方法。
【背景技术】
[0002]在现在的车辆中,不只是行驶过程中的各种装置的控制,即使在停车后也通过微型计算机对室内灯的自动开灯熄灯、无钥匙锁门/开门、安全防盗、发动机启动等进行综合控制。由于CPU根据时钟信号执行预定的运算处理,所以微型计算机为了生成该时钟信号例如具备使用了晶体振荡器的时钟。
[0003]在车辆的综合控制中,随着发动机的停止,当预定的条件成立时,使CPU从车辆运行过程中用于进行所需的各种控制的正常动作模式转移到用于省电的睡眠模式,但即使在睡眠模式下也需要例如用于进行间歇动作的预定的时钟信号。
[0004]在正常动作模式下,应该控制的处理对象多,使用了振荡频率高,并且得到
0.005%左右的高频率精度的晶体振荡器的时钟是合适的,但精度越高成本越增大,并且消耗功率也变大。因此,特别是在不会对电池进行充电的发动机已停止的状态下,与使CPU转移到省电的睡眠模式相对应地,希望将时钟也切换为与正常动作模式时不同的消耗功率小的时钟。
[0005]因此,在例如使用CR振荡电路来构成睡眠时使用的时钟时,虽然成本低,消耗功率也变小,但是由于大气温度等的变化,振荡频率会有5 %左右的变化等,误差大。因此,切换为消耗功率小的时钟会伴随精度的降低,但是即使在睡眠模式下对时钟精度的要求也高,需要保持精度的对策。
[0006]以前,对于利用CR振荡电路的时钟,例如在日本特开平5-75445号公报中,提出了如下的技术:存储周围温度以及电源电压处于基准测定条件时测定到的CR振荡电路的振荡频率来作为基准振荡频率,基于预先求出的温度和振荡频率的特性以及电压和振荡频率的特性,根据当前的温度和电压的检测值运算相对于基准振荡频率的频率变化,从而求出当前的振荡频率并进行修正,由此保持振荡频率的精度。
[0007]此外,在日本特开2006-270917号公报中,提出了如下的技术:存储一数据,该数据用于根据CR振荡电路的由于温度而进行变动的振荡输出特性,决定使通信电路所管理的I帧的数据发送时间为恒定的通信速率,根据温度的检测值读出存储的数据,在通信电路中设置所决定的通信速率,由此保持控制精度。
[0008]现有技术文献
[0009]专利文献
[0010]专利文献1:日本特开平5-75445号公报[0011 ] 专利文献2:日本特开2006-270917号公报

【发明内容】

[0012]发明要解决的问题
[0013]然而,上述现有技术都是根据参照微型计算机出厂之前或者在装配到车辆之前测量到的特性和配置而计算出的间接性的当前数据,推定并修正当前的振荡频率或误差状态,存在无法验证该推定值与当前的状态是否准确地吻合的问题。因此,难以说能够切实地应对较高的要求精度。
[0014]因此,本发明是鉴于上述现有的问题点而做出的,其目的在于,提供一种能够将省电的睡眠模式下使用的时钟保持为更高精度的微型计算机及其时钟的修正方法。
[0015]解决课题的方法
[0016]为此,本发明在具有至少一个时钟的微型计算机中,取得来自频率精度比所述时钟高的标准时钟信号源的计数数据,以来自所述标准时钟信号源的计数数据为基准,测量所述时钟的计数数据,根据该测量结果修正所述时钟的时钟信号。
[0017]发明效果
[0018]根据本发明,由于将时钟的计数数据作为直接测量对象,所以并非推定而是掌握现实的计数状态,据此来执行确实的修正,能够应对高的精度要求。
【附图说明】
[0019]图1是表示本实施方式的车辆综合控制装置的结构的框图。
[0020]图2是表示子时钟修正的控制流程的流程图。
【具体实施方式】
[0021 ]以下对本发明实施方式进行说明。
[0022]图1是表示实施方式的车辆综合控制装置的图。
[0023]车辆综合控制装置10由微型计算机构成,具有:CPU11;存储程序和数据的存储器12;向CPUll供给时钟信号的使用了晶体振荡器的主时钟13;用于将外部的包含点火开关2和门开关3的各种开关和传感器等输入装置I与CPUll连接的输入接口(入力IF)14;用于将门锁、室内灯、尾灯等输出装置4与CPUl I连接的输出接口(出力IF) 15;车载网络(CAN)连接用通信接口 16;以及作为它们的驱动源的电源电路17。
[0024]CPUll为了能够切换为作为动作模式的正常动作模式和用于省电的睡眠模式,内置了子时钟20、计时计数器25以及脉冲计数器26。
[0025]子时钟20由CR振荡电路21和对CR振荡电路21的振荡脉冲进行计数的循环计数器22构成。
[0026]计时计数器25对输入给CPUll的来自主时钟13的时钟信号进行计数从而对后述的预定时间T进行计时。
[0027]脉冲计数器26在计时计数器25工作时对预定时间T中的CR振荡电路21的振荡脉冲进行计数。
[0028]基于车辆的点火开关2的接通操作,CPUlI启动主时钟13,并且在正常动作模式下进行动作,把来自主时钟13的时钟信号作为基础执行运算处理。
[0029]在此,主时钟13的振荡频率为4MHz,将其时钟信号原样地作为运算处理的定时信号,但是也存在如下情况:CPUll将来自主时钟13的时钟信号进行分频或倍增后作为内部时钟,并将其作为运算处理的定时信号。
[0030]将点火开关2关断从而发动机停止,在停车状态下例如在进行了门开关后经过了预定的时间时等预定条件成立时,CPUll转移到睡眠模式。在向睡眠模式转移时,CPUll将主时钟13暂停,另一方面将内置的子时钟20开启将其时钟信号作为定时信号,间歇性地执行有无中断或预定的监视。
[0031 ]在转移到睡眠模式时进行子时钟20的修正。以下对该修正进行说明。
[0032]首先,子时钟20成为如下那样的设定:使CR振荡电路21的振荡频率为125KHZ,例如使循环计数器的目标计数Pm为125000,当每次循环计数器22达到该目标计数Pm时,退出循环来输出时钟信号,由此作为基准状态子时钟20输出周期为Isec的时钟信号。将基准状态的时钟间隔(周期I sec)称为基准时间S。
[0033]CPU11在该正常动作模式的期间以适当间隔的中断,参照频率精度比子时钟高的主时钟13的时钟信号来作为标准时钟信号,测定子时钟20的状态。
[0034]具体地说,在通过计时计数器25对来自主时钟13的时钟信号进行计数从而计时的预定时间T中,通过脉冲计数器26测量子时钟20的CR振荡电路21的振荡脉冲,来求出脉冲计数P。
[0035]重复取得该脉冲计数P,根据转移到睡眠模式前最后取得的最新的脉冲计数P,对子时钟20的循环计数器22施加修正。
[0036]S卩,当把预定时间T设为与基准时间S相同的Isec时,作为在此期间CR振荡电路21应该输出的脉冲数,被设定为目标计数Pm的基准计数Po成为125000。但是,在测量到的脉冲计数P为120000的情况下,由于与目标计数Pm之间有5000脉冲的误差α,所以在将循环计数器22的目标计数Pm直接设为基准计数Po即125000时,达到目标计数Pm后输出的时钟信号与基准时间S相比延迟,时钟间隔(周期)变得比Isec长。
[0037]因此,如果以上述误差α的量修正循环计数器22的目标计数Pm,则没有延迟以极其接近基准时间S的周期输出时钟信号。为此,通过Pm = Pm-Ci修正目标计数Pm。
[0038]在测量到的脉冲计数P比基准计数Po多时,也通过相同的修正,没有提前以极其接近基准时间S的周期输出时钟信号。
[0039]在此,由于误差的计算公式Ct= Pm-P,所以修正后的目标计数??为:
[0040]Pm=Pm-α = Pm- (Pm-P) = P
[0041 ]即,新的??的值是脉冲计数P ο换句话说,关于修正,将目标计数?^变更为作为测量结果的脉冲计数P即可。
[0042]此外,在上述例子中,将进行测量的预定时间T设置为与子时钟20的时钟信号的基准时间S相同,使目标计数Pm与测量到的脉冲计数P之间的差为误差a,但是例如为了缩短测量时间,在使预定时间T为基准时间S的1/2时,使测量到的脉冲计数P的2倍值与目标计数Pm之间的差为误差a来修正目标计数Pm即可。
[0043]因此,进行一般化在使预定时间T是基准时间S的k倍时,通过a= Pm-(P/k),将目标计数Pm修正为:
[0044]Pm=Pm-a = Pm-(Pm-(P/k)) =P/k
[0045]当k大于I时,使P/k为基于INT函数的整数。
[0046]图2是表示CPUlI中的子时钟20修正的控制流程的流程图。
[0047]当把点火开关2接通时,CPUlI启动主时钟13,并且进入正常动作模式,将来自主时钟13的时钟信号作为处理定时的基础。由此,通过车辆综合控制装置开始进行与车辆的行驶有关的控制。
[0048]在CPUll中,首先作为初始化在步骤100中,将计时计数器25以及脉冲计数器26复位,并且对子时钟20的循环计数器22的目标计数Pm设定时钟信号的与预定的基准时间S对应的基准计数PO(在为125KHz时针对S = Imsec设定125000)。
[0049]在步骤101,检查是否为时钟测量的中断定时,当为中断定时时前进到步骤102,如果不是中断定时,则前进到步骤106。
[0050]在步骤102,开启CPUl I内置的子时钟20。
[0051]然后,在步骤103,通过计时计数器25开始对来自主时钟13的时钟信号进行计数,同时还开始脉冲计数器26的计数,测量预定时间T中的子时钟20(CR振荡电路)的振荡脉冲从而得到脉冲计数P。将预定时间T预先决定为基准时间S的k倍。
[0052]在接下来的步骤104中,将测量到的脉冲计数P存储在存储器12中。当在存储器12中存储有上次流程中的脉冲计数P时,通过覆盖来进行更新。
[0053]此后,在步骤105关闭子时钟20,前进到步骤106。这时,还对计时计数器25以及脉冲计数器26进行复位。
[0054]在步骤106,包括点火开关2关闭在内检查输入装置I中向睡眠转移的预定条件是否成立,如果条件没有成立则返回步骤101,如果条件成立则前进到步骤107。
[0055]在步骤107,读出在存储器12中存储的脉冲计数P,将子时钟20的循环计数器22的目标计数匕的值修正为P/k。
[0056]然后,在步骤108,关闭主时钟13并且开启子时钟20,切换时钟。
[0057]在步骤109,将CPU自身转移到睡眠模式。
[0058]然后,检查正常动作模式的条件是否成立,如果成立则转移到动作模式的切换,但是省略说明。
[0059]根据以上所述,根据转移到睡眠模式紧前的最新的CR振荡电路21的振荡状态,修正子时钟20的误差,CPUll即使在睡眠模式下,也能够根据具有与高精度的主时钟13同等水平的精度的时钟信号来执行预定的处理。
[0060]在本实施方式中,车辆综合控制装置10相当于本发明的微型计算机,特别是子时钟20相当于睡眠模式用时钟,主时钟13相当于标准时钟信号源。而且,子时钟20中的CR振荡电路21相当于时钟的振荡源。
[0061]主时钟13的时钟信号相当于来自标准时钟信号源的计数数据,CR振荡电路21的振荡脉冲相当于时钟的计数数据。
[0062]计时计数器25取得向CPUll输入的主时钟13的时钟信号的线路结构相当于本发明的标准数据取得单元。
[0063]另外,图2的流程图的步骤103相当于本发明的第I工序,步骤104相当于测量单元以及第2工序,并且步骤108相当于修正单元以及第3工序。
[0064]实施方式如上述那样构成,子时钟20由CR振荡电路20和对CR振荡电路21的振荡脉冲进行计数在每次达到目标计数Pm时输出时钟信号的循环计数器22形成,对在通过频率精度比子时钟20高的主时钟13的时钟信号进行计时的预定时间T中子时钟20(CR振荡电路21)的振荡脉冲进行计数,通过与该脉冲计数P对应的目标计数Pm的修正来修正子时钟20的时钟信号,因此并非推定而是掌握现实的计数状态,据此来执行确实的修正。
[0065]另外,如上所述,根据脉冲计数P修正循环计数器22的目标计数Pm,其中,脉冲计数P是把基于主时钟13的时钟信号进行的计时作为基准而测量到的脉冲计数,因此即使是低成本低消耗功率构成的子时钟22也能够输出具有与高精度的主时钟13同等水平的精度的时钟信号,从而能够应对高的精度要求。
[0066]特别是关于子时钟22的状态,CPUll在正常动作模式期间以预定时间间隔使子时钟20动作,将其振荡脉冲的脉冲计数P存储在存储器12中;
[0067]CPUll在从正常动作模式向睡眠模式转移时,使用在存储器12中存储的最新的脉冲计数P来进行目标计数Pm的修正;
[0068]在进入睡眠模式时,始终进行与最新的子时钟20的状态相适应的修正,稳定后输出高精度的时钟信号。
[0069]因为子时钟20内置于CPUll中,所以不仅能够低消耗电力地构成子时钟20,而且不需要车辆综合控制装置10内的布线和设置空间。
[0070]在上述实施方式中,把来自具备晶体振荡器且相对于CPUlI外置的主时钟13的时钟信号作为用于对预定时间T进行计时的计数数据,但是,例如也可以把其它的车载设备接收、提取的表示标准时刻的标准电波数据或GPS信号中包含的时间信号作为来自标准时钟信号源的计数数据,经由车载网络取得,从而用于预定时间T的计时。
[0071]由此,也能够从用于睡眠模式的子时钟20输出高精度的时钟信号。
[0072]另外,在本实施方式中,如上所述,能够容易地低消耗功率地构成,此外能够廉价地构成,所以将用于睡眠模式的时钟设为CPUll中内置的以CR振荡电路21作为振荡源的子时钟20,但并不限于此,也可以设为相对于CPU外置的子时钟20。
[0073]并且,例如如果与主时钟13相比振荡频率低且消耗功率小,则用于睡眠模式的时钟并不限于CR振荡电路,也可以是使用晶体振荡器或陶瓷振荡器的时钟。
[0074]此外,实施方式中所示的各数值都是示例,本发明并不限于记载的数值。
[0075]符号说明
[0076]I输入装置
[0077]2点火开关
[0078]3输出装置
[0079]10车辆综合控制装置
[0080]11 CPU[0081 ] 12存储器
[0082]13主时钟
[0083]14输入接口
[0084]15输出接口
[0085]16通信接口
[0086]17电源电路
[0087]20子时钟
[0088]21 CR振荡电路
[0089]22循环计数器
[0090]25计时计数器
[0091]26脉冲计数器
【主权项】
1.一种微型计算机,其具有至少一个时钟,其特征在于,具备: 标准数据取得单元,其取得来自频率精度比所述时钟高的标准时钟信号源的计数数据; 测量单元,其以来自所述标准时钟信号源的计数数据为基准,测量所述时钟的计数数据;以及 修正单元,其根据该测量单元的测量结果,修正所述时钟的时钟信号。2.根据权利要求1所述的微型计算机,其特征在于, 所述时钟由振荡源和对来自该振荡源的振荡脉冲进行计数的循环计数器构成,在每次振荡脉冲达到循环计数器的目标计数时输出时钟信号, 所述测量单元求出对预定时间内的所述时钟的所述振荡脉冲进行计数得到的脉冲计数,所述预定时间是通过来自所述标准时钟信号源的计数数据进行计时的时间。3.根据权利要求2所述的微型计算机,其特征在于, 所述修正单元根据由所述测量单元求出的脉冲计数修正所述循环计数器的目标计数。4.根据权利要求3所述的微型计算机,其特征在于, 还具有存储器, 所述测量单元在CPU的正常动作模式时,以预定时间间隔使所述时钟动作来求出所述脉冲计数,并将该脉冲计数存储在所述存储器中, 在从正常动作模式向睡眠模式转移时,所述修正单元使用在所述存储器中存储的最新的所述脉冲计数进行所述目标计数的修正。5.根据权利要求2至4中的任意一项所述的微型计算机,其特征在于, 所述时钟将CR振荡电路作为所述振荡源,所述时钟内置在CRJ中。6.根据权利要求1至5中的任意一项所述的微型计算机,其特征在于, 所述标准时钟信号源是用于正常动作模式的与所述CPU连接的主时钟,所述时钟是与主时钟独立的用于睡眠模式的子时钟。7.—种微型计算机的时钟的修正方法,该微型计算机具有至少一个所述时钟,所述微型计算机的时钟的修正方法的特征在于,具有: 第I工序,取得来自频率精度比该时钟高的标准时钟信号产生源的计数数据; 第2工序,以来自所述标准时钟信号产生源的计数数据为基准,测量所述时钟的计数数据;以及 第3工序,根据第2工序的测量结果,修正所述时钟的时钟信号。8.根据权利要求7所述的微型计算机的时钟的修正方法,其特征在于, 所述时钟由振荡源和对来自该振荡源的振荡脉冲进行计数的循环计数器构成,在每次振荡脉冲达到循环计数器的目标计数时输出时钟信号, 所述第2工序求出对预定时间内的所述时钟的振荡脉冲进行计数得到的脉冲计数,所述预定时间是通过来自所述标准时钟信号源的计数数据进行计时的时间。9.根据权利要求8所述的微型计算机的时钟的修正方法,其特征在于, 根据在所述第2工序求出的脉冲计数修正所述循环计数器的目标计数,由此来进行所述第3工序。10.根据权利要求9所述的微型计算机的时钟的修正方法,其特征在于,所述微型计算机具有存储器, 所述第2工序在CPU的正常动作模式时,以预定时间间隔使所述时钟动作来求出所述脉冲计数,并将该脉冲计数存储在所述存储器中, 在从正常动作模式向睡眠模式转移时,所述第3工序使用在所述存储器中存储的最新的所述脉冲计数来进行所述目标计数的修正。11.根据权利要求7至10中的任意一项所述的微型计算机的时钟的修正方法,其特征在于, 所述第I工序读出用于正常动作模式的与CPU连接的主时钟的时钟信号来作为来自所述标准时钟信号源的计数数据,并且,所述第2工序测量与所述主时钟独立的用于睡眠模式的子时钟的时钟信号来作为所述时钟的计数数据。12.根据权利要求7至10中的任意一项所述的微型计算机的时钟的修正方法,其特征在于, 所述第I工序读入标准电波或者GPS信号的时钟信号来作为来自所述标准时钟信号源的计数数据。
【文档编号】H03K5/00GK105829989SQ201480068967
【公开日】2016年8月3日
【申请日】2014年11月11日
【发明人】宫坂浩
【申请人】康奈可关精株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1