微型計算機及其時鐘的修正方法
【專利摘要】將微型計算機的睡眠模式用子時鐘保持為高精度。子時鐘(20)通過循環(huán)計數(shù)器(22)對CR振蕩電路(21)的振蕩脈沖進行計數(shù),并在每次達到目標計數(shù)Pm時輸出時鐘信號。CPU(11)通過脈沖計數(shù)器(26)對預定時間中的CR振蕩電路(21)的振蕩脈沖進行計數(shù),根據脈沖計數(shù)P修正目標計數(shù)Pm,其中,預定時間是通過時間計數(shù)器(25)使用采用了晶體振蕩器的主時鐘(13)的時鐘信號進行計時的預定時間。以頻率精度高的主時鐘的時鐘信號作為基準,并非是子時鐘(20)的推定而是掌握現(xiàn)實的計數(shù)狀態(tài)來修正時鐘信號,因此即使溫度等環(huán)境因素發(fā)生變化依然將子時鐘保持高精度。
【專利說明】
微型計算機及其時鐘的修正方法
技術領域
[0001]本發(fā)明涉及一種與CPU正常動作模式下使用的時鐘相獨立地具有用于睡眠模式的時鐘的微型計算機及其時鐘的修正方法。
【背景技術】
[0002]在現(xiàn)在的車輛中,不只是行駛過程中的各種裝置的控制,即使在停車后也通過微型計算機對室內燈的自動開燈熄燈、無鑰匙鎖門/開門、安全防盜、發(fā)動機啟動等進行綜合控制。由于CPU根據時鐘信號執(zhí)行預定的運算處理,所以微型計算機為了生成該時鐘信號例如具備使用了晶體振蕩器的時鐘。
[0003]在車輛的綜合控制中,隨著發(fā)動機的停止,當預定的條件成立時,使CPU從車輛運行過程中用于進行所需的各種控制的正常動作模式轉移到用于省電的睡眠模式,但即使在睡眠模式下也需要例如用于進行間歇動作的預定的時鐘信號。
[0004]在正常動作模式下,應該控制的處理對象多,使用了振蕩頻率高,并且得到
0.005%左右的高頻率精度的晶體振蕩器的時鐘是合適的,但精度越高成本越增大,并且消耗功率也變大。因此,特別是在不會對電池進行充電的發(fā)動機已停止的狀態(tài)下,與使CPU轉移到省電的睡眠模式相對應地,希望將時鐘也切換為與正常動作模式時不同的消耗功率小的時鐘。
[0005]因此,在例如使用CR振蕩電路來構成睡眠時使用的時鐘時,雖然成本低,消耗功率也變小,但是由于大氣溫度等的變化,振蕩頻率會有5 %左右的變化等,誤差大。因此,切換為消耗功率小的時鐘會伴隨精度的降低,但是即使在睡眠模式下對時鐘精度的要求也高,需要保持精度的對策。
[0006]以前,對于利用CR振蕩電路的時鐘,例如在日本特開平5-75445號公報中,提出了如下的技術:存儲周圍溫度以及電源電壓處于基準測定條件時測定到的CR振蕩電路的振蕩頻率來作為基準振蕩頻率,基于預先求出的溫度和振蕩頻率的特性以及電壓和振蕩頻率的特性,根據當前的溫度和電壓的檢測值運算相對于基準振蕩頻率的頻率變化,從而求出當前的振蕩頻率并進行修正,由此保持振蕩頻率的精度。
[0007]此外,在日本特開2006-270917號公報中,提出了如下的技術:存儲一數(shù)據,該數(shù)據用于根據CR振蕩電路的由于溫度而進行變動的振蕩輸出特性,決定使通信電路所管理的I幀的數(shù)據發(fā)送時間為恒定的通信速率,根據溫度的檢測值讀出存儲的數(shù)據,在通信電路中設置所決定的通信速率,由此保持控制精度。
[0008]現(xiàn)有技術文獻
[0009]專利文獻
[0010]專利文獻1:日本特開平5-75445號公報[0011 ] 專利文獻2:日本特開2006-270917號公報
【發(fā)明內容】
[0012]發(fā)明要解決的問題
[0013]然而,上述現(xiàn)有技術都是根據參照微型計算機出廠之前或者在裝配到車輛之前測量到的特性和配置而計算出的間接性的當前數(shù)據,推定并修正當前的振蕩頻率或誤差狀態(tài),存在無法驗證該推定值與當前的狀態(tài)是否準確地吻合的問題。因此,難以說能夠切實地應對較高的要求精度。
[0014]因此,本發(fā)明是鑒于上述現(xiàn)有的問題點而做出的,其目的在于,提供一種能夠將省電的睡眠模式下使用的時鐘保持為更高精度的微型計算機及其時鐘的修正方法。
[0015]解決課題的方法
[0016]為此,本發(fā)明在具有至少一個時鐘的微型計算機中,取得來自頻率精度比所述時鐘高的標準時鐘信號源的計數(shù)數(shù)據,以來自所述標準時鐘信號源的計數(shù)數(shù)據為基準,測量所述時鐘的計數(shù)數(shù)據,根據該測量結果修正所述時鐘的時鐘信號。
[0017]發(fā)明效果
[0018]根據本發(fā)明,由于將時鐘的計數(shù)數(shù)據作為直接測量對象,所以并非推定而是掌握現(xiàn)實的計數(shù)狀態(tài),據此來執(zhí)行確實的修正,能夠應對高的精度要求。
【附圖說明】
[0019]圖1是表示本實施方式的車輛綜合控制裝置的結構的框圖。
[0020]圖2是表示子時鐘修正的控制流程的流程圖。
【具體實施方式】
[0021 ]以下對本發(fā)明實施方式進行說明。
[0022]圖1是表示實施方式的車輛綜合控制裝置的圖。
[0023]車輛綜合控制裝置10由微型計算機構成,具有:CPU11;存儲程序和數(shù)據的存儲器12;向CPUll供給時鐘信號的使用了晶體振蕩器的主時鐘13;用于將外部的包含點火開關2和門開關3的各種開關和傳感器等輸入裝置I與CPUll連接的輸入接口(入力IF)14;用于將門鎖、室內燈、尾燈等輸出裝置4與CPUl I連接的輸出接口(出力IF) 15;車載網絡(CAN)連接用通信接口 16;以及作為它們的驅動源的電源電路17。
[0024]CPUll為了能夠切換為作為動作模式的正常動作模式和用于省電的睡眠模式,內置了子時鐘20、計時計數(shù)器25以及脈沖計數(shù)器26。
[0025]子時鐘20由CR振蕩電路21和對CR振蕩電路21的振蕩脈沖進行計數(shù)的循環(huán)計數(shù)器22構成。
[0026]計時計數(shù)器25對輸入給CPUll的來自主時鐘13的時鐘信號進行計數(shù)從而對后述的預定時間T進行計時。
[0027]脈沖計數(shù)器26在計時計數(shù)器25工作時對預定時間T中的CR振蕩電路21的振蕩脈沖進行計數(shù)。
[0028]基于車輛的點火開關2的接通操作,CPUlI啟動主時鐘13,并且在正常動作模式下進行動作,把來自主時鐘13的時鐘信號作為基礎執(zhí)行運算處理。
[0029]在此,主時鐘13的振蕩頻率為4MHz,將其時鐘信號原樣地作為運算處理的定時信號,但是也存在如下情況:CPUll將來自主時鐘13的時鐘信號進行分頻或倍增后作為內部時鐘,并將其作為運算處理的定時信號。
[0030]將點火開關2關斷從而發(fā)動機停止,在停車狀態(tài)下例如在進行了門開關后經過了預定的時間時等預定條件成立時,CPUll轉移到睡眠模式。在向睡眠模式轉移時,CPUll將主時鐘13暫停,另一方面將內置的子時鐘20開啟將其時鐘信號作為定時信號,間歇性地執(zhí)行有無中斷或預定的監(jiān)視。
[0031 ]在轉移到睡眠模式時進行子時鐘20的修正。以下對該修正進行說明。
[0032]首先,子時鐘20成為如下那樣的設定:使CR振蕩電路21的振蕩頻率為125KHZ,例如使循環(huán)計數(shù)器的目標計數(shù)Pm為125000,當每次循環(huán)計數(shù)器22達到該目標計數(shù)Pm時,退出循環(huán)來輸出時鐘信號,由此作為基準狀態(tài)子時鐘20輸出周期為Isec的時鐘信號。將基準狀態(tài)的時鐘間隔(周期I sec)稱為基準時間S。
[0033]CPU11在該正常動作模式的期間以適當間隔的中斷,參照頻率精度比子時鐘高的主時鐘13的時鐘信號來作為標準時鐘信號,測定子時鐘20的狀態(tài)。
[0034]具體地說,在通過計時計數(shù)器25對來自主時鐘13的時鐘信號進行計數(shù)從而計時的預定時間T中,通過脈沖計數(shù)器26測量子時鐘20的CR振蕩電路21的振蕩脈沖,來求出脈沖計數(shù)P。
[0035]重復取得該脈沖計數(shù)P,根據轉移到睡眠模式前最后取得的最新的脈沖計數(shù)P,對子時鐘20的循環(huán)計數(shù)器22施加修正。
[0036]S卩,當把預定時間T設為與基準時間S相同的Isec時,作為在此期間CR振蕩電路21應該輸出的脈沖數(shù),被設定為目標計數(shù)Pm的基準計數(shù)Po成為125000。但是,在測量到的脈沖計數(shù)P為120000的情況下,由于與目標計數(shù)Pm之間有5000脈沖的誤差α,所以在將循環(huán)計數(shù)器22的目標計數(shù)Pm直接設為基準計數(shù)Po即125000時,達到目標計數(shù)Pm后輸出的時鐘信號與基準時間S相比延遲,時鐘間隔(周期)變得比Isec長。
[0037]因此,如果以上述誤差α的量修正循環(huán)計數(shù)器22的目標計數(shù)Pm,則沒有延遲以極其接近基準時間S的周期輸出時鐘信號。為此,通過Pm = Pm-Ci修正目標計數(shù)Pm。
[0038]在測量到的脈沖計數(shù)P比基準計數(shù)Po多時,也通過相同的修正,沒有提前以極其接近基準時間S的周期輸出時鐘信號。
[0039]在此,由于誤差的計算公式Ct= Pm-P,所以修正后的目標計數(shù)??為:
[0040]Pm=Pm-α = Pm- (Pm-P) = P
[0041 ]即,新的??的值是脈沖計數(shù)P ο換句話說,關于修正,將目標計數(shù)?^變更為作為測量結果的脈沖計數(shù)P即可。
[0042]此外,在上述例子中,將進行測量的預定時間T設置為與子時鐘20的時鐘信號的基準時間S相同,使目標計數(shù)Pm與測量到的脈沖計數(shù)P之間的差為誤差a,但是例如為了縮短測量時間,在使預定時間T為基準時間S的1/2時,使測量到的脈沖計數(shù)P的2倍值與目標計數(shù)Pm之間的差為誤差a來修正目標計數(shù)Pm即可。
[0043]因此,進行一般化在使預定時間T是基準時間S的k倍時,通過a= Pm-(P/k),將目標計數(shù)Pm修正為:
[0044]Pm=Pm-a = Pm-(Pm-(P/k)) =P/k
[0045]當k大于I時,使P/k為基于INT函數(shù)的整數(shù)。
[0046]圖2是表示CPUlI中的子時鐘20修正的控制流程的流程圖。
[0047]當把點火開關2接通時,CPUlI啟動主時鐘13,并且進入正常動作模式,將來自主時鐘13的時鐘信號作為處理定時的基礎。由此,通過車輛綜合控制裝置開始進行與車輛的行駛有關的控制。
[0048]在CPUll中,首先作為初始化在步驟100中,將計時計數(shù)器25以及脈沖計數(shù)器26復位,并且對子時鐘20的循環(huán)計數(shù)器22的目標計數(shù)Pm設定時鐘信號的與預定的基準時間S對應的基準計數(shù)PO(在為125KHz時針對S = Imsec設定125000)。
[0049]在步驟101,檢查是否為時鐘測量的中斷定時,當為中斷定時時前進到步驟102,如果不是中斷定時,則前進到步驟106。
[0050]在步驟102,開啟CPUl I內置的子時鐘20。
[0051]然后,在步驟103,通過計時計數(shù)器25開始對來自主時鐘13的時鐘信號進行計數(shù),同時還開始脈沖計數(shù)器26的計數(shù),測量預定時間T中的子時鐘20(CR振蕩電路)的振蕩脈沖從而得到脈沖計數(shù)P。將預定時間T預先決定為基準時間S的k倍。
[0052]在接下來的步驟104中,將測量到的脈沖計數(shù)P存儲在存儲器12中。當在存儲器12中存儲有上次流程中的脈沖計數(shù)P時,通過覆蓋來進行更新。
[0053]此后,在步驟105關閉子時鐘20,前進到步驟106。這時,還對計時計數(shù)器25以及脈沖計數(shù)器26進行復位。
[0054]在步驟106,包括點火開關2關閉在內檢查輸入裝置I中向睡眠轉移的預定條件是否成立,如果條件沒有成立則返回步驟101,如果條件成立則前進到步驟107。
[0055]在步驟107,讀出在存儲器12中存儲的脈沖計數(shù)P,將子時鐘20的循環(huán)計數(shù)器22的目標計數(shù)匕的值修正為P/k。
[0056]然后,在步驟108,關閉主時鐘13并且開啟子時鐘20,切換時鐘。
[0057]在步驟109,將CPU自身轉移到睡眠模式。
[0058]然后,檢查正常動作模式的條件是否成立,如果成立則轉移到動作模式的切換,但是省略說明。
[0059]根據以上所述,根據轉移到睡眠模式緊前的最新的CR振蕩電路21的振蕩狀態(tài),修正子時鐘20的誤差,CPUll即使在睡眠模式下,也能夠根據具有與高精度的主時鐘13同等水平的精度的時鐘信號來執(zhí)行預定的處理。
[0060]在本實施方式中,車輛綜合控制裝置10相當于本發(fā)明的微型計算機,特別是子時鐘20相當于睡眠模式用時鐘,主時鐘13相當于標準時鐘信號源。而且,子時鐘20中的CR振蕩電路21相當于時鐘的振蕩源。
[0061]主時鐘13的時鐘信號相當于來自標準時鐘信號源的計數(shù)數(shù)據,CR振蕩電路21的振蕩脈沖相當于時鐘的計數(shù)數(shù)據。
[0062]計時計數(shù)器25取得向CPUll輸入的主時鐘13的時鐘信號的線路結構相當于本發(fā)明的標準數(shù)據取得單元。
[0063]另外,圖2的流程圖的步驟103相當于本發(fā)明的第I工序,步驟104相當于測量單元以及第2工序,并且步驟108相當于修正單元以及第3工序。
[0064]實施方式如上述那樣構成,子時鐘20由CR振蕩電路20和對CR振蕩電路21的振蕩脈沖進行計數(shù)在每次達到目標計數(shù)Pm時輸出時鐘信號的循環(huán)計數(shù)器22形成,對在通過頻率精度比子時鐘20高的主時鐘13的時鐘信號進行計時的預定時間T中子時鐘20(CR振蕩電路21)的振蕩脈沖進行計數(shù),通過與該脈沖計數(shù)P對應的目標計數(shù)Pm的修正來修正子時鐘20的時鐘信號,因此并非推定而是掌握現(xiàn)實的計數(shù)狀態(tài),據此來執(zhí)行確實的修正。
[0065]另外,如上所述,根據脈沖計數(shù)P修正循環(huán)計數(shù)器22的目標計數(shù)Pm,其中,脈沖計數(shù)P是把基于主時鐘13的時鐘信號進行的計時作為基準而測量到的脈沖計數(shù),因此即使是低成本低消耗功率構成的子時鐘22也能夠輸出具有與高精度的主時鐘13同等水平的精度的時鐘信號,從而能夠應對高的精度要求。
[0066]特別是關于子時鐘22的狀態(tài),CPUll在正常動作模式期間以預定時間間隔使子時鐘20動作,將其振蕩脈沖的脈沖計數(shù)P存儲在存儲器12中;
[0067]CPUll在從正常動作模式向睡眠模式轉移時,使用在存儲器12中存儲的最新的脈沖計數(shù)P來進行目標計數(shù)Pm的修正;
[0068]在進入睡眠模式時,始終進行與最新的子時鐘20的狀態(tài)相適應的修正,穩(wěn)定后輸出高精度的時鐘信號。
[0069]因為子時鐘20內置于CPUll中,所以不僅能夠低消耗電力地構成子時鐘20,而且不需要車輛綜合控制裝置10內的布線和設置空間。
[0070]在上述實施方式中,把來自具備晶體振蕩器且相對于CPUlI外置的主時鐘13的時鐘信號作為用于對預定時間T進行計時的計數(shù)數(shù)據,但是,例如也可以把其它的車載設備接收、提取的表示標準時刻的標準電波數(shù)據或GPS信號中包含的時間信號作為來自標準時鐘信號源的計數(shù)數(shù)據,經由車載網絡取得,從而用于預定時間T的計時。
[0071]由此,也能夠從用于睡眠模式的子時鐘20輸出高精度的時鐘信號。
[0072]另外,在本實施方式中,如上所述,能夠容易地低消耗功率地構成,此外能夠廉價地構成,所以將用于睡眠模式的時鐘設為CPUll中內置的以CR振蕩電路21作為振蕩源的子時鐘20,但并不限于此,也可以設為相對于CPU外置的子時鐘20。
[0073]并且,例如如果與主時鐘13相比振蕩頻率低且消耗功率小,則用于睡眠模式的時鐘并不限于CR振蕩電路,也可以是使用晶體振蕩器或陶瓷振蕩器的時鐘。
[0074]此外,實施方式中所示的各數(shù)值都是示例,本發(fā)明并不限于記載的數(shù)值。
[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循環(huán)計數(shù)器
[0090]25計時計數(shù)器
[0091]26脈沖計數(shù)器
【主權項】
1.一種微型計算機,其具有至少一個時鐘,其特征在于,具備: 標準數(shù)據取得單元,其取得來自頻率精度比所述時鐘高的標準時鐘信號源的計數(shù)數(shù)據; 測量單元,其以來自所述標準時鐘信號源的計數(shù)數(shù)據為基準,測量所述時鐘的計數(shù)數(shù)據;以及 修正單元,其根據該測量單元的測量結果,修正所述時鐘的時鐘信號。2.根據權利要求1所述的微型計算機,其特征在于, 所述時鐘由振蕩源和對來自該振蕩源的振蕩脈沖進行計數(shù)的循環(huán)計數(shù)器構成,在每次振蕩脈沖達到循環(huán)計數(shù)器的目標計數(shù)時輸出時鐘信號, 所述測量單元求出對預定時間內的所述時鐘的所述振蕩脈沖進行計數(shù)得到的脈沖計數(shù),所述預定時間是通過來自所述標準時鐘信號源的計數(shù)數(shù)據進行計時的時間。3.根據權利要求2所述的微型計算機,其特征在于, 所述修正單元根據由所述測量單元求出的脈沖計數(shù)修正所述循環(huán)計數(shù)器的目標計數(shù)。4.根據權利要求3所述的微型計算機,其特征在于, 還具有存儲器, 所述測量單元在CPU的正常動作模式時,以預定時間間隔使所述時鐘動作來求出所述脈沖計數(shù),并將該脈沖計數(shù)存儲在所述存儲器中, 在從正常動作模式向睡眠模式轉移時,所述修正單元使用在所述存儲器中存儲的最新的所述脈沖計數(shù)進行所述目標計數(shù)的修正。5.根據權利要求2至4中的任意一項所述的微型計算機,其特征在于, 所述時鐘將CR振蕩電路作為所述振蕩源,所述時鐘內置在CRJ中。6.根據權利要求1至5中的任意一項所述的微型計算機,其特征在于, 所述標準時鐘信號源是用于正常動作模式的與所述CPU連接的主時鐘,所述時鐘是與主時鐘獨立的用于睡眠模式的子時鐘。7.—種微型計算機的時鐘的修正方法,該微型計算機具有至少一個所述時鐘,所述微型計算機的時鐘的修正方法的特征在于,具有: 第I工序,取得來自頻率精度比該時鐘高的標準時鐘信號產生源的計數(shù)數(shù)據; 第2工序,以來自所述標準時鐘信號產生源的計數(shù)數(shù)據為基準,測量所述時鐘的計數(shù)數(shù)據;以及 第3工序,根據第2工序的測量結果,修正所述時鐘的時鐘信號。8.根據權利要求7所述的微型計算機的時鐘的修正方法,其特征在于, 所述時鐘由振蕩源和對來自該振蕩源的振蕩脈沖進行計數(shù)的循環(huán)計數(shù)器構成,在每次振蕩脈沖達到循環(huán)計數(shù)器的目標計數(shù)時輸出時鐘信號, 所述第2工序求出對預定時間內的所述時鐘的振蕩脈沖進行計數(shù)得到的脈沖計數(shù),所述預定時間是通過來自所述標準時鐘信號源的計數(shù)數(shù)據進行計時的時間。9.根據權利要求8所述的微型計算機的時鐘的修正方法,其特征在于, 根據在所述第2工序求出的脈沖計數(shù)修正所述循環(huán)計數(shù)器的目標計數(shù),由此來進行所述第3工序。10.根據權利要求9所述的微型計算機的時鐘的修正方法,其特征在于,所述微型計算機具有存儲器, 所述第2工序在CPU的正常動作模式時,以預定時間間隔使所述時鐘動作來求出所述脈沖計數(shù),并將該脈沖計數(shù)存儲在所述存儲器中, 在從正常動作模式向睡眠模式轉移時,所述第3工序使用在所述存儲器中存儲的最新的所述脈沖計數(shù)來進行所述目標計數(shù)的修正。11.根據權利要求7至10中的任意一項所述的微型計算機的時鐘的修正方法,其特征在于, 所述第I工序讀出用于正常動作模式的與CPU連接的主時鐘的時鐘信號來作為來自所述標準時鐘信號源的計數(shù)數(shù)據,并且,所述第2工序測量與所述主時鐘獨立的用于睡眠模式的子時鐘的時鐘信號來作為所述時鐘的計數(shù)數(shù)據。12.根據權利要求7至10中的任意一項所述的微型計算機的時鐘的修正方法,其特征在于, 所述第I工序讀入標準電波或者GPS信號的時鐘信號來作為來自所述標準時鐘信號源的計數(shù)數(shù)據。
【文檔編號】H03K5/00GK105829989SQ201480068967
【公開日】2016年8月3日
【申請日】2014年11月11日
【發(fā)明人】宮坂浩
【申請人】康奈可關精株式會社