特許第5968561号(P5968561)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カルソニックカンセイ株式会社の特許一覧

特許5968561マイクロコンピュータおよびそのクロックの補正方法
<>
  • 特許5968561-マイクロコンピュータおよびそのクロックの補正方法 図000002
  • 特許5968561-マイクロコンピュータおよびそのクロックの補正方法 図000003
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5968561
(24)【登録日】2016年7月15日
(45)【発行日】2016年8月10日
(54)【発明の名称】マイクロコンピュータおよびそのクロックの補正方法
(51)【国際特許分類】
   G06F 1/04 20060101AFI20160728BHJP
   H03K 5/00 20060101ALI20160728BHJP
【FI】
   G06F1/04 510
   G06F1/04 303
   H03K5/00 B
【請求項の数】10
【全頁数】9
(21)【出願番号】特願2015-553427(P2015-553427)
(86)(22)【出願日】2014年11月11日
(86)【国際出願番号】JP2014079886
(87)【国際公開番号】WO2015093187
(87)【国際公開日】20150625
【審査請求日】2016年4月2日
(31)【優先権主張番号】特願2013-261052(P2013-261052)
(32)【優先日】2013年12月18日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000004765
【氏名又は名称】カルソニックカンセイ株式会社
(74)【代理人】
【識別番号】100148301
【弁理士】
【氏名又は名称】竹原 尚彦
(74)【代理人】
【識別番号】100077779
【弁理士】
【氏名又は名称】牧 哲郎
(74)【代理人】
【識別番号】100110157
【弁理士】
【氏名又は名称】山田 基司
(72)【発明者】
【氏名】宮坂 浩
【審査官】 久々宇 篤志
(56)【参考文献】
【文献】 特開2004−226165(JP,A)
【文献】 特開2013−167597(JP,A)
【文献】 特開平7−181273(JP,A)
【文献】 特開2011−60159(JP,A)
【文献】 特開2005−257494(JP,A)
【文献】 特開2005−299517(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/04
H03K 5/00
(57)【特許請求の範囲】
【請求項1】
少なくとも一つのクロックを有するマイクロコンピュータにおいて、
前記クロックより周波数精度の高い標準クロック信号源からのカウントデータを取得する標準データ取得手段と、
前記標準クロック信号源からのカウントデータを基準にして前記クロックのカウントデータを計測する計測手段と、
前記クロックのカウントデータを格納するメモリと、
該計測手段による計測結果に基づいて、前記クロックのクロック信号を補正する補正手段とを有し、
前記計測手段は、前記マイクロコンピュータの通常動作モード時に所定時間間隔で前記クロックを動作させて前記クロックのカウントデータを計測し、前記クロックのカウントデータを前記メモリに格納し、
前記補正手段は、通常動作モードからスリープモードへの移行時に、前記メモリに格納されている最新の前記クロックのカウントデータを用いて前記クロックのクロック信号を補正することを特徴とするマイクロコンピュータ。
【請求項2】
前記クロックは、発振源と該発振源からの発振パルスをカウントするループカウンタからなり、発振パルスがループカウンタの目標カウントに達するごとにクロック信号を出力するものであって、
前記計測手段は、前記標準クロック信号源からのカウントデータで計時する所定時間における前記クロックの前記発振パルスを計数したパルスカウントを求めるものであることを特徴とする請求項1に記載のマイクロコンピュータ。
【請求項3】
前記補正手段は、前記計測手段で求めたパルスカウントに応じて、前記ループカウンタの目標カウントを補正するものであることを特徴とする請求項2に記載のマイクロコンピュータ。
【請求項4】
前記クロックは、CR発振回路を前記発振源としてCPUに内蔵されていることを特徴とする請求項2または3に記載のマイクロコンピュータ。
【請求項5】
前記標準クロック信号源が通常動作モード用に前記CPUに接続されたメインクロックであり、前記クロックは、前記メインクロックとは別個のスリープモード用のサブクロックであることを特徴とする請求項1から4のいずれか1に記載のマイクロコンピュータ。
【請求項6】
少なくとも一つのクロックを有するマイクロコンピュータにおける前記クロックの補正方法であって、
該クロックより周波数精度の高い標準クロック信号発生源からのカウントデータを取得する第1工程と、
前記標準クロック信号発生源からのカウントデータを基準にして前記クロックのカウントデータを計測する第2工程と、
第2工程の計測結果に基づいて、前記クロックのクロック信号を補正する第3工程とを有し、
前記第2工程は、前記マイクロコンピュータの通常動作モード時に所定時間間隔で前記クロックを動作させて前記クロックのカウントデータを計測し、前記クロックのカウントデータをメモリに格納し、
前記第3工程は、通常動作モードからスリープモードへの移行時に、前記メモリに格納されている最新の前記パルスカウントを用いて前記クロックのクロック信号を補正することを特徴とするマイクロコンピュータにおけるクロックの補正方法。
【請求項7】
前記クロックが、発振源と該発振源からの発振パルスをカウントするループカウンタからなり、発振パルスがループカウンタの目標カウントに達するごとにクロック信号を出力するものであって、
前記第2工程は、前記標準クロック信号源からのカウントデータで計時する所定時間における前記クロックの発振パルスを計数したパルスカウントを求めるものであることを特徴とする請求項6に記載のマイクロコンピュータにおけるクロックの補正方法。
【請求項8】
前記第3工程は、前記第2工程で求めたパルスカウントに応じて、前記ループカウンタの目標カウントを補正することにより行うことを特徴とする請求項7に記載のマイクロコンピュータにおけるクロックの補正方法。
【請求項9】
前記第1工程は、前記標準クロック信号源からのカウントデータとして、通常動作モード用にCPUに接続されたメインクロックのクロック信号を読み込むと共に、前記第2工程は、前記クロックのカウントデータとして、前記メインクロックとは別個のスリープモード用のサブクロックのクロック信号を計測することを特徴とする請求項6から8のいずれか1に記載のマイクロコンピュータにおけるクロックの補正方法。
【請求項10】
前記第1工程は、前記標準クロック信号源からのカウントデータとして、標準電波またはGPS信号のクロック信号を読み込むことを特徴とする請求項6から8のいずれか1に記載のマイクロコンピュータにおけるクロックの補正方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CPUの通常動作モード用とは別個にスリープモード用のクロックを有するマイクロコンピュータ、およびそのクロックの補正方法に関する。
【背景技術】
【0002】
現今の車両では、走行中における各種装置の制御に止まらず、停車後においてもルームランプの自動点消灯、キーレスによるドアのロック・アンロック、盗難に対するセキュリティ、エンジン始動等がマイクロコンピュータにより統合制御されるようになっている。マイクロコンピュータはクロック信号に基づいてCPUが所定の演算処理を実行するので、そのクロック信号を生成するために例えばクリスタル振動子を用いたクロックを備えている。
車両の統合制御においては、CPUを車両の運転中に必要な諸制御のための通常動作モードから、エンジン停止に伴って所定の条件が成立すると省電力のためのスリープモードに移行させるが、スリープモードにおいても例えば間欠動作のための所定のクロック信号を必要とする。
【0003】
通常動作モードでは制御すべき処理対象も多く、発振周波数が高くかつ0.005%程度の高い周波数精度が得られるクリスタル振動子を用いたクロックが適切であるが、精度が高いものほどコストが増大するとともに消費電力も大きくなる。したがって、とくにバッテリの充電が行われないエンジン停止中、CPUを省電力のスリープモードに移行させるのに対応して、クロックも通常動作時とは異なる消費電力の小さいクロックに切り替えることが望ましい。
そこで、スリープ時用のクロックを例えばCR発振回路を用いて構成すると、低コストで消費電力も小さくなるが、雰囲気温度等によっては5%程度発振周波数が変化するなど誤差が大きい。したがって、消費電力の小さいクロックへの切り替えは精度の低下を伴うこととなるが、しかしスリープモードにおいてもクロックの精度に対する要求が高くなっているので、精度保持の方策が必要となる。
【0004】
従来、CR発振回路によるクロックについて、例えば特開平5−75445号公報には、周囲温度および電源電圧が基準測定条件にあるときに測定したCR発振回路の発振周波数を基準発振周波数として記憶しておき、基準発振周波数からの周波数変動をあらかじめ求められた温度と発振周波数の特性、および電圧と発振周波数の特性に基づいて現在の温度と電圧の検出値から演算して現在の発振周波数を求め、補正することにより発振周波数の精度を保持しようとする技術が提案されている。
【0005】
また、特開2006−270917号公報には、CR発振回路の温度により変動する発振出力特性に基づいて、通信回路で管理される1フレームのデータ送信時間を一定とするための通信レートを決定するデータを記憶しておき、温度の検出値に応じて記憶データを読み出して決定した通信レートを通信回路に設定することにより、制御精度を保持する技術が提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平5−75445号公報
【特許文献2】特開2006−270917号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記従来の技術はいずれもマイクロコンピュータの出荷あるいは車両搭載前に測定された特性やプロファイルを参照して算出した間接的な現在データに基づいて、現在の発振周波数あるいは誤差状態を推定して補正を行うものであり、その推定値が現在の状態と正確に合致しているかどうか検証できないという問題を有している。そのため、高い要求精度に確実に対応できるとは言い難い。
【0008】
したがって本発明は、上記従来の問題点に鑑み、省電力のスリープモードで用いられるクロックをより高精度に保持可能としたマイクロコンピュータ、およびそのクロックの補正方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
このため、本発明は、少なくとも一つのクロックを有するマイクロコンピュータにおいて、前記クロックより周波数精度の高い標準クロック信号源からのカウントデータを取得し、前記マイクロコンピュータの通常動作モード時に所定時間間隔で前記クロックを動作させて、前記標準クロック信号源からのカウントデータを基準にして前記クロックのカウントデータを計測し、前記クロックのカウントデータをメモリに格納し、通常動作モードからスリープモードへの移行時に、前記メモリに格納されている最新の前記パルスカウントを用いて前記クロックのクロック信号を補正するものとした。
【発明の効果】
【0010】
本発明によれば、クロックのカウントデータを直接計測対象としているので、推定ではなく現実のカウント状態が把握され、これに基づいて確実な補正が行われ、高い精度要求に応えることができる。
【図面の簡単な説明】
【0011】
図1】実施の形態にかかる車両統合制御装置の構成を示すブロック図である。
図2】サブクロックの補正にかかる制御の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について説明する。
図1は実施の形態にかかる車両統合制御装置を示す図である。
車両統合制御装置10は、マイクロコンピュータで構成され、CPU11、プログラムやデータを格納するメモリ12、CPU11にクロック信号を供給するクリスタル振動子を用いたメインクロック13、外部のイグニションスイッチ2やドアスイッチ3を含む各種スイッチやセンサなどの入力装置1とCPU11をつなぐ入力インタフェース(入力IF)14、ドアロックやランプ、ライトなどの出力装置4とCPU11をつなぐ出力インタフェース(出力IF)15、車載ネットワーク(CAN)接続用の通信インタフェース16、およびこれらの駆動源としての電源回路17を有している。
【0013】
CPU11は、動作モードとして通常動作モードと省電力のためのスリープモードとに切り替え可能となっており、サブクロック20と計時カウンタ25、およびパルスカウンタ26を内蔵している。
サブクロック20は、CR発振回路21とCR発振回路21の発振パルスをカウントするループカウンタ22とからなっている。
計時カウンタ25は、CPU11に入力するメインクロック13からのクロック信号をカウントして後述する所定時間Tを計時する。
パルスカウンタ26は、計時カウンタ25の動作時に所定時間TにおけるCR発振回路21の発振パルスをカウントする
【0014】
車両のイグニションスイッチ2のON操作に基づいて、CPU11はメインクロック13を起動するとともに通常動作モードで動作し、メインクロック13からのクロック信号を基礎として演算処理を実行する。
ここでは、メインクロック13の発振周波数が4MHzで、そのクロック信号がそのまま演算処理のタイミング信号とされるが、CPU11によってはメインクロック13からのクロック信号を分周あるいは逓倍して内部クロックとし、これを演算処理のタイミング信号とする場合もある。
【0015】
イグニションスイッチ2がOFFされてエンジンが停止し、停車状態で例えばドアが開閉されたあと所定時間が経過するなど所定の条件が成立すると、CPU11はスリープモードに移行する。スリープモードへの移行に当たって、CPU11はメインクロック13を休止させる一方、内蔵のサブクロック20をONさせてそのクロック信号をタイミング信号として割り込みの有無や所定の監視を間欠的に実行する。
【0016】
スリープモード移行に際してはサブクロック20の補正が行われる。以下、この補正について説明する。
まず、サブクロック20はCR発振回路21の発振周波数を125KHzとし、例えばループカウンタの目標カウントPmを125000として、ループカウンタ22が当該目標カウントPmに達するごとにループから抜けてクロック信号を出力する設定となっており、これにより基準状態として周期1secのクロック信号を出力する。基準状態のクロック間隔(周期1sec)を基準時間Sと呼ぶ。
【0017】
CPU11は、その通常動作モードの間に適時間隔の割り込みで、サブクロックより周波数精度の高いメインクロック13のクロック信号を標準クロック信号として参照し、サブクロック20の状態を測定する。
具体的には、メインクロック13からのクロック信号を計時カウンタ25でカウントして計時される所定時間Tにおける、サブクロック20のCR発振回路21の発振パルスをパルスカウンタ26で計測して、パルスカウントPを求める。
このパルスカウントPの取得を繰り返し、スリープモード移行前の最後に取得された最新のパルスカウントPに基づいて、サブクロック20のループカウンタ22に補正をかける。
【0018】
すなわち、所定時間Tを例えば基準時間Sと同一の1secとすると、その間にCR発振回路21が出力すべきパルス数として目標カウントPmに設定された基準カウントPoは125000となる。しかし、計測されたパルスカウントPが120000であった場合には目標カウントPmとの間に5000パルスの誤差αがあるので、ループカウンタ22の目標カウントPmを基準カウントPoである125000のままにしておいた場合には、目標カウントPmまで達してから出力されるクロック信号は基準時間Sより遅延して、クロック間隔(周期)は1secより長いことになる。
【0019】
そこで、ループカウンタ22の目標カウントPmを上記の誤差α分だけ補正すれば、クロック信号が遅延することなく基準時間Sに極めて近い周期で出力されることになる。このため、目標カウントPmを、Pm=Pm−αにより補正する。
計測されたパルスカウントPが基準カウントPoより多かった場合も同じ補正により、早まることなく基準時間Sに極めて近い周期で出力される。
ここで、誤差の算出式はα=Pm−Pであるから、補正後の目標カウントPmは
Pm=Pm−α=Pm−(Pm−P)=P
となる。
すなわち、新たなPmの値はパルスカウントPとなる。換言すれば、補正は目標カウントPmを測定結果であるパルスカウントPに変更すればよいことになる。
【0020】
なお、上述の例では、計測する所定時間Tをサブクロック20のクロック信号の基準時間Sと同一に設定し、目標カウントPmと計測したパルスカウントPの差を誤差αとしたが、例えば計測時間を短縮するため、所定時間Tを基準時間Sの1/2とする場合には、計測したパルスカウントPの2倍値と目標カウントPmの差を誤差αとして目標カウントPmを補正すればよい。
したがって、一般化して所定時間Tを基準時間Sのk倍とした場合、α=Pm−(P/k)で、目標カウントPmは
Pm=Pm−α=Pm−(Pm−(P/k))=P/k
に補正することになる。
なお、kが1より大きいときは、P/kはINT関数による整数とする。
【0021】
図2はCPU11におけるサブクロック20の補正にかかる制御の流れを示すフローチャートである。
イグニションスイッチ2がONされると、CPU11はメインクロック13を起動させるとともに通常動作モードに入り、メインクロック13からのクロック信号を処理タイミングの基礎とする。これにより、車両統合制御装置10による車両の走行にかかわる制御が開始される。
CPU11では、まず初期化としてステップ100において、計時カウンタ25およびパルスカウンタ26をリセットするとともに、サブクロック20のループカウンタ22の目標カウントPmに、クロック信号のあらかじめ定められた基準時間Sに対応する基準カウントPo(125KHzの場合S=1msecに対して125000)を設定する。
【0022】
ステップ101において、クロック計測の割り込みタイミングであるかどうかをチェックし、割り込みタイミングであるときはステップ102へ進み、割り込みタイミングでなければステップ106へ進む。
ステップ102では、CPU11内蔵のサブクロック20をONする。
そして、ステップ103において、メインクロック13からのクロック信号を計時カウンタ25で計数開始と同時にパルスカウンタ26のカウントを開始して、所定時間Tにおけるサブクロック20(CR発振回路21)の発振パルスを計測しパルスカウントPを得る。所定時間Tはあらかじめ基準時間Sのk倍に定めてある。
計測したパルスカウントPは、続くステップ104において、メモリ12に格納する。メモリ12に前回のフローにおけるパルスカウントPが格納されている場合には上書きにより更新される。
このあと、ステップ105でサブクロック20をOFFしてステップ106へ進む。この際、計時カウンタ25およびパルスカウンタ26もリセットされる。
【0023】
ステップ106では、イグニションスイッチ2のOFFを含み入力装置1にスリープへの所定の条件が成立しているかどうかをチェックし、条件が成立していないときはステップ101へ戻り、条件が成立しているときはステップ107へ進む。
ステップ107では、メモリ12に格納されているパルスカウントPを読み出して、サブクロック20のループカウンタ22の目標カウントPmの値をP/kに補正する。
【0024】
そして、ステップ108において、メインクロック13をOFFさせるとともにサブクロック20をONして、クロックを切り替える。
ステップ109において、CPU自体をスリープモードに移行する。
このあとは、通常動作モードの条件が成立するかどうかがチェックされ、成立すれば動作モードの切り替えに移るが説明は省略する。
【0025】
以上により、スリープモード移行直前の最新のCR発振回路21の発振状態に基づいて、サブクロック20の誤差が補正され、CPU11はスリープモードにおいても高精度のメインクロック13と同等レベルの精度をもったクロック信号に基づいて所定の処理を実行することができる。
【0026】
本実施の形態では、車両統合制御装置10が発明におけるマイクロコンピュータに該当し、とくにサブクロック20がスリープモード用のクロックに、メインクロック13が標準クロック信号源に該当する。そして、サブクロック20におけるCR発振回路21がクロックの発振源に該当する。
メインクロック13のクロック信号が標準クロック信号源からのカウントデータに該当し、CR発振回路21の発振パルスがクロックのカウントデータに該当する。
CPU11に入力するメインクロック13のクロック信号が計時カウンタ25に取り込まれる経路構成が発明における標準データ取得手段に該当する。
また、図2のフローチャートのステップ103が発明における第1工程に該当し、ステップ104が計測手段および第2工程に、そしてステップ108が補正手段および第3工程に該当する。
【0027】
実施の形態は以上のように構成され、サブクロック20をCR発振回路21とその発振パルスをカウントして目標カウントPmに達するごとにクロック信号を出力するループカウンタ22とで形成し、サブクロック20より周波数精度の高いメインクロック13のクロック信号で計時する所定時間Tにおけるサブクロック20(CR発振回路21)の発振パルスをカウントして、そのパルスカウントPに応じた目標カウントPmの補正によりサブクロック20のクロック信号を補正するものとしたので、推定ではなく現実のカウント状態が把握されて、これに基づいて確実な補正が行われる。
【0028】
また、上述のようにメインクロック13のクロック信号による計時を基準として計測したパルスカウントPに応じて、ループカウンタ22の目標カウントPmを補正するので、低コストで消費電力も低く構成されるサブクロック22であっても、高精度のメインクロック13と同等レベルの精度をもったクロック信号が出力され、高い要求精度に対応できるものとなった。
【0029】
とくにサブクロック22の状態については、CPU11が通常動作モードにある間に所定時間間隔でサブクロック20を動作させ、その発振パルスのパルスカウントPをメモリ12に格納しておき、
CPU11が通常動作モードからスリープモードへの移行するときに、メモリ12に格納されている最新のパルスカウントPを用いて目標カウントPmの補正を行うので、
スリープモードに入る際には常に最新のサブクロック20の状態に適応した補正が実行され、安定して高精度のクロック信号が出力される。
【0030】
サブクロック20はCPU11に内蔵されているので、低消費電力に構成するのが容易であるとともに、車両統合制御装置10内の配線や設置スペースが不要となる。
【0031】
なお、上記実施の形態では、クリスタル振動子を備えてCPU11に対して外付けしたメインクロック13からのクロック信号を所定時間Tを計時するためのカウントデータとしたが、例えば他の車載機器で受信・抽出した標準時刻を示す標準電波データやGPS信号に含まれる時間信号を標準クロック信号源からのカウントデータとして、車載ネットワークを介して取り込み。所定時間Tの計時に使用してもよい。
これによっても、スリープモード用のサブクロック20から高精度のクロック信号を出力させることができる。
【0032】
また、実施の形態では、先に述べたとおり低消費電力に構成するのが容易であること、また安価に構成出来ることから、スリープモード用のクロックをCPU11に内蔵されたCR発振回路21を発振源とするサブクロック20としたが、これに限定されず、CPU11に対して外付けのものとしてもよい。
さらに、例えばメインクロック13より発振周波数が低くて消費電力の小さいものであれば、スリープモード用のクロックはCR発振回路に限らず、クリスタル振動子やセラミック振動子によるものでもよい。
なお、実施の形態に示した諸数値はいずれも例示であって、本発明は記載の数値に限定されない。
【符号の説明】
【0033】
1 入力装置
2 イグニションスイッチ
3 出力装置
10 車両統合制御装置
11 CPU
12 メモリ
13 メインクロック
14 入力インタフェース
15 出力インタフェース
16 通信インタフェース
17 電源回路
20 サブクロック
21 CR発振回路
22 ループカウンタ
25 計時カウンタ
26 パルスカウンタ
図1
図2