JP2019185693A - 車両制御装置、車両制御装置の起動方法 - Google Patents

車両制御装置、車両制御装置の起動方法 Download PDF

Info

Publication number
JP2019185693A
JP2019185693A JP2018079481A JP2018079481A JP2019185693A JP 2019185693 A JP2019185693 A JP 2019185693A JP 2018079481 A JP2018079481 A JP 2018079481A JP 2018079481 A JP2018079481 A JP 2018079481A JP 2019185693 A JP2019185693 A JP 2019185693A
Authority
JP
Japan
Prior art keywords
cpu
state
engine
operation state
setting
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.)
Granted
Application number
JP2018079481A
Other languages
English (en)
Other versions
JP2019185693A5 (ja
JP6996405B2 (ja
Inventor
恒平 成瀬
Kohei Naruse
恒平 成瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2018079481A priority Critical patent/JP6996405B2/ja
Publication of JP2019185693A publication Critical patent/JP2019185693A/ja
Publication of JP2019185693A5 publication Critical patent/JP2019185693A5/ja
Application granted granted Critical
Publication of JP6996405B2 publication Critical patent/JP6996405B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Power Sources (AREA)

Abstract

【課題】複数個のCPUを搭載した車両制御装置で、エンジン停止中であっても重複処理による処理の確実性を確保しながら、バッテリーの消耗も抑制する。【解決手段】車両制御装置に搭載されている第1CPUおよび第2CPUのうち、エンジンが停止している状態では、第1CPUを低速で動作させ、第2CPUを停止させてスイッチの設定状態を監視する。スイッチの設定状態の変化を検知すると、第2CPUは停止したまま第1CPUを標準速度で動作させ、スイッチの設定状態を複数回、確認する。その結果、設定状態が変化したことが確認されたら、停止していた第2CPUを標準速度で動作させる。こうすれば、エンジンが停止している状態では、バッテリーの消耗を抑制し、スイッチの設定状態が変化したら、それを複数回確認するので誤検出を防止できる。【選択図】図2

Description

本発明は、複数個のCPU(いわゆる中央演算装置)を搭載して、車両を制御するための少なくとも一部の処理については、複数個のCPUを用いて重複処理する技術に関する。
今日の車両は、中央演算装置(いわゆるCPU)を搭載した車両制御装置によって制御されている。また、車両制御装置に複数個のCPUを搭載して、複数個のCPUで処理を役割分担することによって高速処理を実現する技術や、車両の安全性に関わる一部の処理については、複数個のCPUで重複して処理することによって誤動作の虞を回避する技術が提案されている。また、車両制御装置を動作させるための電力は、車両に搭載されたバッテリーから供給されており、バッテリーには、エンジンの動力で駆動する発電機を用いて充電するようになっている。
もっとも、車両制御装置で行われる処理は、必ずしもエンジンの運転中に行われるとは限らない。例えば、エンジン始動スイッチが押されたことを検知して、エンジンを始動させる処理はエンジンの停止中に行われる。この処理を複数個のCPUで重複処理したのでは、車両のバッテリーを消耗させてしまう虞がある。
そこで、エンジンの停止中には、一方のCPUを停止させて、他方のCPUを用いてエンジン始動スイッチの状態を監視しておき、エンジン始動スイッチがONにされたことを検知したら、もう一方のCPUを起動させる技術が提案されている(特許文献1)。
特開2010−013988号公報
しかし、提案されている技術では、エンジンの停止中は一方のCPUが停止しているのでバッテリーの消耗は抑制することができるが、複数個のCPUを用いて重複処理しているわけではないので、処理の確実性を高める効果は得られないという問題があった。
この発明は、従来技術における上述した課題を解決するためになされたものであり、複数個のCPUを搭載した車両制御装置で、エンジン停止中であっても、重複処理による処理の確実性を確保しながら、バッテリーの消耗も抑制することが可能な技術の提供を目的とする。
上述した問題を解決するために本発明の車両制御装置および車両制御装置の起動方法では、エンジンが停止している状態では、複数のCPUの中の第2CPUを停止させ、それ以外の第1CPUを低速で動作させて、スイッチの設定状態を監視する。そして、スイッチの設定状態が変化したことが検知されると、第2CPUは停止したまま、第1CPUを標準速度で動作させて、スイッチの設定状態を所定の複数回、確認する。その結果、設定状態が変化したことが確認されたら、停止していた第2CPUを標準速度で動作させる。
こうすれば、エンジンが停止している状態では、第1CPUを低速で動作させ、第2CPUを停止させておくので、バッテリーの消耗を抑制することができる。加えて、スイッチの設定状態が変化した場合には、第2CPUは停止させたまま、第1CPUを標準速度で動作させて、スイッチの設定状態を複数回検出する。このため、スイッチの設定状態を重複して確認することになるので、誤検出する虞を防止することができる。それでいながら、第2CPUは停止しているのでバッテリーの消耗を抑制することができ、更に、第1CPUは標準速度で動作しているので、スイッチの設定状態を検出する回数が増えても、迅速に検出することができる。そして、スイッチの設定状態が変化したことが確認できたら、第2CPUも標準速度で動作させることで、第1CPUと第2CPUとで処理を分担したり、第1CPUおよび第2CPUで重複して処理することが可能となるので、処理内容に応じて迅速に、あるいは確実に処理することが可能となる。
本実施例の車両制御装置100の大まかな内部構造を示したブロック図である。 本実施例の車両制御装置100の大まかな動作を示したブロック図である。 本実施例の車両制御装置100がエンジン1の停止時に実行するエンジン停止時動作状態処理のフローチャートである。 本実施例の車両制御装置100がエンジン1の停止時に車両側のスイッチ類の設定状態を確認するために実行する確認時動作状態処理のフローチャートである。 本実施例の車両制御装置100が車両側のスイッチ類の設定状態が変化したことを検知した場合に実行する標準時動作状態処理のフローチャートである。 本実施例の車両制御装置100の起動時の動作を例示したタイムチャートである。
以下では、上述した本発明の内容を明確にするために、本発明の実施例について説明する。
A.装置構成 :
図1には、本実施例の車両制御装置100の大まかな内部構造が示されている。図示されるように、本実施例の車両制御装置100は、第1CPU100aおよび第2CPU100bの2つのCPUを搭載しており、図示しないインターフェース回路を介して、エンジン始動スイッチ10や、オートマチックトランスミッションのポジションスイッチ20や、エンジン制御装置200などに接続されている。
尚、本実施例の車両制御装置100には、第1CPU100aおよび第2CPU100bが1個ずつ(従って2個のCPUが)搭載されているものとして説明するが、第1CPU100aおよび第2CPU100bは複数個であっても構わない。もっとも、バッテリーの消耗を抑制する観点からは、第1CPU100aの数は1つであることが望ましい。
エンジン始動スイッチ10は、車両に搭載されて運転者によって操作されるスイッチであり、運転者がエンジン1を始動させようとする際にはONに設定され、運転者がエンジン1を停止させようとする際にはOFFに設定される。
ポジションスイッチ20も、車両に搭載されて運転者によって操作されるスイッチである。周知のように、車両に搭載されているオートマチックトランスミッションには、ドライブレンジ(いわゆるDレンジ)、リバースレンジ(いわゆるRレンジ)、ニュートラルレンジ(いわゆるNレンジ)、パーキングレンジ(いわゆるPレンジ)の4つの動作レンジが存在しており、運転者はポジションスイッチ20を操作することによって、これら4つの動作レンジを切り換える。
エンジン制御装置200は、車両に搭載されたエンジン1の動作を制御する。車両の運転者がエンジン始動スイッチ10をONに設定すると、それを車両制御装置100が検知して、車両の図示しないバッテリーとエンジン制御装置200とを接続する。すると、エンジン制御装置200に電力が供給されてエンジン制御装置200が起動し、エンジン制御装置200の制御の元でエンジン1が始動するようになっている。
また、車両制御装置100とエンジン制御装置200とは、車内ネットワーク30によって接続されており、車両制御装置100は、車内ネットワーク30を介してエンジン1の動作状況を認識することができる。
また、本実施例の車両制御装置100には、停止時動作状態設定部101と、設定状態監視部102と、確認時動作状態設定部103と、設定状態判断部104と、標準時動作状態設定部105と、クロック生成部106とを備えている。
尚、これらの「部」は、複数個のCPUを搭載した本実施例の車両制御装置100が、エンジン1の停止中であっても、重複処理による安全性を確保しながら、バッテリーの消耗を抑制するために備える機能に着目して、車両制御装置100の内部を便宜的に分類した抽象的な概念である。従って、車両制御装置100の内部が、これらの「部」に物理的に区分されていることを表すものではない。これらの「部」は、CPUで実行されるコンピュータープログラムとして実現することもできるし、LSIを含む電子回路として実現することもできるし、更にはこれらの組合せとして実現することもできる。
停止時動作状態設定部101は、エンジン1が停止していることを検知して、第1CPU100aおよび第2CPU100bの動作状態を、「エンジン停止時動作状態」に設定する。ここで、エンジン停止時動作状態とは、第1CPU100aが標準よりも低速で動作し、第2CPU100bが動作を停止している動作状態である。一般的なCPUと同様に、第1CPU100aおよび第2CPU100bは、供給されたクロックに同期して内部の処理を実行しており、供給されるクロックが高速になると(回路上の限界までの範囲であれば)処理速度が高くなる。
また、クロック生成部106は、第1CPU100aおよび第2CPU100bを標準の動作速度(以下、標準速度)で動作させるための標準クロックと、標準速度よりも低速で操作させるための低速クロックとを生成している。そこで、停止時動作状態設定部101は、クロック生成部106から受け取った低速クロックを第1CPU100aに供給することによって、第1CPU100aを標準よりも低速で動作させる。更に、第2CPU100bには標準クロックおよび低速クロックの何れの供給も停止することで第2CPU100bの動作を停止させる。こうすることによって、第1CPU100aおよび第2CPU100bの動作状態が、エンジン停止時動作状態に設定される。
設定状態監視部102は、停止時動作状態設定部101が、第1CPU100aおよび第2CPU100bの動作状態をエンジン停止時動作状態に設定すると起動されて、車両に搭載されている各種のスイッチ類(本実施例ではエンジン始動スイッチ10やポジションスイッチ20)の設定状態を監視する。上述したように、エンジン停止時動作状態では、第1CPU100aは低速で動作しているが、第2CPU100bは動作していないので、第1CPU100aを用いてエンジン始動スイッチ10やポジションスイッチ20の設定状態を監視する。そして、設定状態が変化したことを検知すると、設定状態が本当に変化したか否かを確認するために、確認時動作状態設定部103を起動する。
確認時動作状態設定部103は、起動すると、クロック生成部106から標準クロックを受け取って、第1CPU100aに供給するクロックを低速クロックから標準クロックに切り換える。その結果、第1CPU100aおよび第2CPU100bの動作状態は、第1CPU100aが標準速度で動作し、第2CPU100bが動作を停止した「確認時動作状態」に切り換わる。そして、確認時動作状態に切り換えたら、設定状態判断部104を起動する。
設定状態判断部104は、確認時動作状態設定部103によって起動されると、車両に搭載されている各種のスイッチ類(本実施例ではエンジン始動スイッチ10やポジションスイッチ20)の設定状態を、所定の複数回に亘って検出することにより、スイッチ類の設定状態が本当に変化したか否かを判断する。
尚、上述したように確認時動作状態では、第1CPU100aは標準速度で動作しているが、第2CPU100bは動作していないので、第1CPU100aを用いてエンジン始動スイッチ10やポジションスイッチ20の設定状態を検出する。また、確認時動作状態では第1CPU100aは標準速度で動作しているので、複数回であってもスイッチ類の状態を短時間で検出することができる。
そして、複数回の検出結果に基づいて、エンジン始動スイッチ10あるいはポジションスイッチ20などの設定状態が本当に変化したか否かを判断し、本当に変化したと判断した場合は、標準時動作状態設定部105を起動する。
標準時動作状態設定部105は、設定状態判断部104によって起動されると、クロック生成部106から標準クロックを受け取って、第1CPU100aおよび第2CPU100bに供給する。その結果、第1CPU100aおよび第2CPU100bの動作状態は、第1CPU100aおよび第2CPU100bが何れも標準速度で動作する「標準時動作状態」に切り換わる。
上述したように、本実施例の車両制御装置100は、第1CPU100aおよび第2CPU100bの動作状態として「エンジン停止時動作状態」、「確認時動作状態」、「標準時動作状態」の3つの状態を備えており、これらは次のように切り換わる。詳細には後述するが、こうすることで、エンジン1の停止中でも、重複処理による安全性の確保と、バッテリーの電力消費量の抑制とを両立させることが可能となる。
図2には、本実施例の車両制御装置100が、第1CPU100aおよび第2CPU100bの動作状態を切り換えながら動作する様子が概念的に示されている。
車両のエンジン1が動作している間は、第1CPU100aおよび第2CPU100bの動作状態は、標準時動作状態Gとなっている。前述したように標準時動作状態Gでは、第1CPU100aおよび第2CPU100bが何れも標準速度で動作しており、2つのCPUで処理を分担することによって高速処理を実現したり、重複して処理することによって処理を確実に実行して安全性を高めたりすることができる。
もちろん、2つのCPUが同時に動作するので電力消費量も大きくなるが、エンジン1で発電機を動作させてバッテリーに充電することができるので、バッテリーが消耗する虞は生じない。
車両のエンジン1が停止すると、第1CPU100aおよび第2CPU100bの動作状態は、エンジン停止時動作状態Sに切り換わる。前述したようにエンジン停止時動作状態Sでは、第2CPU100bが動作を停止するので、その分だけ電力消費量が低下する。更に、第1CPU100aは標準速度よりも低速で動作するので、第1CPU100aでの電力消費量も低下する。このため、標準時動作状態Gでの電力消費量に比べて、例えば10分の1程度まで低下する。
もちろん、エンジン停止時動作状態Sでは、第2CPU100bが停止しており、動作している第1CPU100aも低速で動作しているに過ぎないので、高速処理を実現することはできず、重複処理による処理の確実性を確保することもできない。そこで、エンジン停止時動作状態Sでは、車両の運転者による各種スイッチ類(本実施例ではエンジン始動スイッチ10やポジションスイッチ20)の操作の有無を監視する。そして、各種スイッチ類の操作が検知されたら、第1CPU100aおよび第2CPU100bの動作状態を、エンジン停止時動作状態Sから確認時動作状態Cに切り換える。
前述したように、確認時動作状態Cでは、第2CPU100bは依然として停止しているが、第1CPU100aは標準速度で動作する。そこで、各種スイッチ類の設定状態を,所定の複数回(例えば3回)に亘って検出する。すなわち、確認時動作状態Cでは第1CPU100aが標準速度で動作しているので、各種スイッチ類の設定状態を検出する回数が多くなっても、短時間で検出することができる。
そして、複数回の検出結果に基づいて、各種スイッチ類の設定が本当に変化しているか否かを判断する。例えば、エンジン停止時動作状態Sでエンジン始動スイッチ10がONになったことを検知した後、確認時動作状態Cでエンジン始動スイッチ10の設定状態を複数回、検出した結果、何れもONであった場合は、エンジン始動スイッチ10がONに設定されたものと判断する。あるいは、エンジン停止時動作状態Sでポジションスイッチ20がNレンジになったことを検知した後、確認時動作状態Cでポジションスイッチ20の設定状態を複数回、検出した結果が何れもNレンジであった場合は、ポジションスイッチ20の設定がNレンジに切り換えられたものと判断する。
このように、運転者によって各種スイッチ類(ここではエンジン始動スイッチ10あるいはポジションスイッチ20)が操作されたと判断したら、停止していた第2CPU100bを標準速度で動作させることによって、第1CPU100aおよび第2CPU100bの動作状態を標準時動作状態Gに切り換える。この結果、運転者によって各種スイッチ類が操作された内容に対応する処理を、高速にあるいは確実に実行することが可能となる。例えば、運転者によってエンジン始動スイッチ10がONに設定された場合は、エンジン1を始動させるために、エンジン制御装置200に電力を供給するための処理を実行する。あるいは、ポジションスイッチ20が操作された場合は、オートマチックトランスミッションの動作レンジを切り換えるための処理を実行する。
これに対して、各種スイッチ類が切り換えられたことを確認できなかった場合は、第1CPU100aおよび第2CPU100bの動作状態を、確認時動作状態Cからエンジン停止時動作状態Sに復帰させる。例えば、エンジン停止時動作状態Sでエンジン始動スイッチ10がONになったことを検知したにも拘わらず、確認時動作状態Cでエンジン始動スイッチ10の設定状態を複数回、検出した結果が何れもOFFであった場合は、エンジン停止時動作状態Sでの検知結果は誤検知であったものと判断する。あるいは、複数回の検出結果に、ONとOFFとが混在していた場合は、エンジン始動スイッチ10がONになったことを確認できないものと判断する。このような場合は、第1CPU100aおよび第2CPU100bの動作状態を、確認時動作状態Cからエンジン停止時動作状態Sに復帰させる。
また、各種スイッチ類が切り換えられたことが確認できたために、第1CPU100aおよび第2CPU100bの動作状態が標準時動作状態Gに切り換えられた場合でも、ポジションスイッチ20が操作された時のように、エンジン1が停止したままの状態であった場合は、標準時動作状態Gからエンジン停止時動作状態Sに切り換わる。
こうすれば、エンジン1が停止している間は、第2CPU100bは停止させたまま、第1CPU100aを低速で動作させることによって(すなわち、エンジン停止時動作状態Sで)各種スイッチ類の設定状態を検知するので、バッテリーの消耗を抑制することができる。
そして、各種スイッチ類の設定状態が変化したことを検知すると、第1CPU100aを標準速度で動作させて(すなわち、確認時動作状態Cで)各種スイッチ類の設定状態を所定の複数回、検出し、その結果に基づいて、各種スイッチ類の設定状態が変化したか否かを確認する。第1CPU100aおよび第2CPU100bで並行して確認するわけではないが、第1CPU100aで何度も検出することにより、時間的に重複して確認していることになる。また、この段階では第1CPU100aは標準速度で動作しているので、各種スイッチ類の設定状態の検出回数が複数回であっても、迅速に確認することができる。そして、各種スイッチ類の設定状態が変化したことが確認できた後は、第1CPU100aおよび第2CPU100bが標準速度で(すなわち、標準時動作状態Gで)動作するので、処理の内容に応じて高速で処理したり、重複して処理したりすることが可能となる。
もちろん、確認時動作状態Cや標準時動作状態Gでは、エンジン停止時動作状態Sに比べてバッテリーが消耗するが、確認時動作状態Cで実行する処理は、各種スイッチ類の設定状態を所定の複数回検出する処理に過ぎないので、短時間で終了する。また、各種スイッチ類の設定状態を確認した結果、エンジン始動スイッチ10がONに設定されていた場合はエンジン1が始動されるので、バッテリーが消耗する虞は生じない。また、操作されたスイッチがエンジン始動スイッチ10ではなく、従ってエンジン1が始動されなかった場合は、スイッチの操作に伴う処理が終了すると標準時動作状態Gからエンジン停止時動作状態Sに切り換わる。このため、標準時動作状態Gでもバッテリーが消耗することはない。このように、本実施例の車両制御装置100では、エンジン1が停止中のバッテリーの消耗を抑制しながら、各種スイッチ類が操作されたことを確実に且つ迅速に検出することができ、各種スイッチ類が操作されていた場合は、操作に応じた処理を迅速に行うことができる。
以下では、こうしたことを実現するために、車両制御装置100の内部で行われている処理について具体的に説明する。
B.エンジン停止時動作状態処理 :
図3には、車両のエンジン1が停止状態で第1CPU100aおよび第2CPU100bの動作状態を切り換えるために車両制御装置100が実行するエンジン停止時動作状態処理のフローチャートが示されている。車両が駐車場に停まっている場合など、運転者がエンジン1を始動させる前の状態では、このエンジン停止時動作状態処理が実行されている。
図3に示されるように、エンジン停止時動作状態処理では、先ず初めに、第1CPU100aに供給するクロックを低速クロックに設定し、第2CPU100bにはクロックの供給を停止することによって、第1CPU100aおよび第2CPU100bの動作状態を、エンジン停止時動作状態Sに設定する(S100)。
次に、第1CPU100aを用いて各種スイッチ類の設定状態を検出する(S101)。ここで、第1CPU100aを用いて検出しているのは、第2CPU100bはクロックの供給が停止された結果、動作が停止しているためである。
続いて、各種スイッチ類の設定状態を検出した結果を、現状設定状態として、スイッチ毎に記憶する(S102)。
そして、所定のクロック数が経過したか否かを判断する(S103)。上述したように,第2CPU100bは動作を停止しているので、第1CPU100aに供給される低速クロックのクロック数を計数し、計数した値が所定のクロック数(例えば、100)に達したか否かを判断する。
その結果、所定のクロック数に達していない場合は(S103:no)、低速クロックのクロック数を計数しながら、計数した値が所定のクロック数に達したか否かを判断する(S103)。供給されるクロックは低速クロックなので、計数した値が所定のクロック数に達するにはある程度の時間が掛かるが、それでもやがては、所定のクロック数に達して、S103で「yes」と判断される。
そこで、第1CPU100aを用いて各種スイッチ類の設定状態を検出する(S104)。そして、検出した設定状態が、スイッチ毎に記憶しておいた現状設定状態から変化しているか否かを判断する(S105)。
その結果、検出した設定状態が、記憶しておいた現状設定状態から変化していなかった場合は(S105:no)、再びS103に戻って、新たにクロック数の計数を開始して、計数した値が所定のクロック数に達したか否かを判断する。
これに対して、検出した設定状態が、記憶しておいた現状設定状態から変化していた場合は(S105:yes)、変化していた設定状態を、仮設定状態として記憶する(S106)。例えば、各種スイッチ類が、エンジン始動スイッチ10およびポジションスイッチ20であるとして、現状設定状態として記憶されているスイッチの設定状態が、エンジン始動スイッチ10はOFFで、ポジションスイッチ20はPレンジであったが、S104で設定状態を検出したところ、エンジン始動スイッチ10がONになっていたとする。このような場合は、エンジン始動スイッチ10について、新たな設定状態(すなわち、ON)を仮設定状態として記憶する。また、ポジションスイッチ20については、Pレンジのままなので、仮設定状態は記憶しない。
尚、エンジン始動スイッチ10については、新たに検出した設定状態が現状設定状態から変化しているにも拘わらず、新たな設定状態を「仮」設定状態としているのは、1回の検出結果に基づいて判断したのでは、誤判断する可能性があるためである。
そこで、新たに検出した設定状態を仮設定状態として記憶したら(S106)、その仮設定状態が本当に正しい設定状態であることを確認するため、第1CPU100aに供給するクロックを低速クロックから標準クロックに変更することによって、第1CPU100aおよび第2CPU100bの動作状態を、エンジン停止時動作状態から確認時動作状態に変更する(S107)。尚、確認時動作状態でも、第2CPU100bにはクロックは供給されていないので、第2CPU100bは動作を停止したままとなっている。
こうして、第1CPU100aおよび第2CPU100bの動作状態を、確認時動作状態に切り換えたら、今度は、確認時動作状態処理を開始する。
C.確認時動作状態処理 :
図4には、確認時動作状態処理のフローチャートが示されている。図示されるように、確認時動作状態処理では、第1CPU100aに供給されるクロック数が、所定のクロック数に達したか否かを判断する(S200)。ここで、第2CPU100bではなく、第1CPU100aに供給されるクロック数を計数しているのは、確認時動作状態でも第2CPU100bにはクロックが供給されないからである。
もっとも、確認時動作状態ではエンジン停止時動作状態とは異なって、第1CPU100aに供給されるクロックが、低速クロックよりも高速の標準クロックに切り換わっているので、計数しているクロック数が所定のクロック数に達するまでに要する時間は、エンジン停止時動作状態の場合よりも短くなる。
尚、本実施例では、図3のS103の判断と、図4のS200の判断とで、同じクロック数を用いているので、処理を単純化することができる。もちろん、図3のS103の判断と、図4のS200の判断とで、異なるクロック数を用いて判断しても良い。
S200で、所定のクロック数に達していないと判断した場合は(S200:no)、標準クロックのクロック数を計数しながら、計数した値が所定のクロック数に達するまで、S200の判断を繰り返すことによって待機状態となる。
その結果、所定のクロック数に達したら(S200:yes)、仮設定状態が記憶されているスイッチについての設定状態を、第1CPU100aを用いて検出し(S201)、検出結果を記憶する(S202)。
続いて、スイッチの設定状態の検出回数が、所定回数(例えば3回)に達したか否かを判断する(S203)。図4の確認時動作状態処理を開始して、S201で初めてスイッチの設定状態を検出した場合は、当然ながらS203では「no」と判断されるので、再びS200に戻って、所定のクロック数が経過した否かを判断する。そして、所定のクロック数が経過したら(S200:yes)、仮設定状態が設定されているスイッチについての設定状態を検出し(S201)、検出結果を記憶する(S202)。また、検出結果を記憶する際には、少なくとも所定回数分の検出結果については後から読み出せるように、上書きすることなく記憶しておく。そして、再び、検出回数が所定回数に達したか否かを判断する(S203)。
こうした操作を繰り返しているうちに、やがては検出回数が所定回数に達する(S203:yes)。そこで、今度は、S202で記憶しておいた所定回数分の検出結果を読み出した後(S204)、エンジン停止時動作状態処理のS106で記憶しておいた仮設定状態が正しいか否かを、所定回数の検出結果に基づいて判断する(S205)。
例えば、所定回数の全ての検出結果が、仮設定状態と一致していた場合は、仮設定状態が正しいと判断することができる。これに対して、所定回数の全ての検出結果が、仮設定状態と異なっていた場合は、仮設定状態は正しくないと判断することができる。
また、その中間の場合、すなわち、一致する検出結果と、一致しない検出結果とが混在している場合も、仮設定状態は正しくないと判断する。
もちろん、仮設定状態と一致する検出結果の方が、一致しない検出結果よりも多い場合は、仮設定状態は正しいと判断することも可能である。しかし、エンジン始動スイッチ10やポジションスイッチ20などのように、車両の安全性に関わるスイッチについては、本来的には全ての検出結果が一致するべきなので、安全性を考慮して、全ての検出結果が仮設定状態と一致しない限りは、何らかの理由で誤検出したものと判断する。
その結果、記憶しておいた仮設定状態は、スイッチの正しい設定状態であると判断した場合は(S205:yes)、本当にスイッチの設定状態が変化したものと考えられる。そこで、仮設定状態として記憶していた設定状態を、そのスイッチについての現状設定状態として記憶した後(S206)、スイッチの設定状態の変化に応じた処理を開始するべく、第1CPU100aおよび第2CPU100bに標準クロックを供給する。こうして、第1CPU100aおよび第2CPU100bの動作状態を、標準時動作状態に切り換えたら(S207)、標準時動作状態処理を開始する。
これに対して、記憶しておいた仮設定状態は、スイッチの正しい設定状態ではないと判断した場合は(S205:no)、図3に示したエンジン停止時動作状態処理のS104でスイッチの設定状態を誤検出したために、スイッチの設定状態が変化したと判断した(S105:yes)ものと考えられる。
そこで、この場合(図4のS205:no)は、記憶しておいた仮設定状態を破棄した後(S208)、図3に示したエンジン停止時動作状態処理に復帰する。
D.標準時動作状態処理 :
図5には、標準時動作状態処理のフローチャートが示されている。図示されるように、確認時動作状態処理では、前述した確認時動作状態処理で第1CPU100aを用いて設定状態を確認したスイッチについての設定状態を、第2CPU100bを用いて検出する(S300)。
そして、その検出結果が、前述した確認時動作状態処理で第1CPU100aを用いて検出した結果と一致するか否かを確認する(S301)。すなわち、図4を用いて前述したように、確認時動作状態処理ではスイッチの設定状態を所定の複数回、検出することによって、スイッチの設定状態が変化したことを確認しているが(図4のS204、S205)、同じ第1CPU100aで繰り返して検出しているに過ぎない。そこで、エンジン始動スイッチ10やポジションスイッチ20のように、安全上、重要なスイッチについては、第2CPU100bでも設定状態を検出することによって、誤検出の可能性を排除している。
その結果、前述した確認時動作状態処理の中で第1CPU100aによって得られた検出結果と、S300で第2CPU100bによって得られた検出結果とが一致していた場合は(S301:yes)、スイッチの設定状態に応じた処理を開始する(S302)。例えば、エンジン始動スイッチ10の設定状態がONになったのであれば、エンジン制御装置200にバッテリーの電力を供給することによってエンジン制御装置200を起動させ、エンジン制御装置200によってエンジン1を始動させる。
これに対して、第1CPU100aによる検出結果と、第2CPU100bによる検出結果とが一致していない場合は(S301:no)、何らかの異常が発生していると考えられるので、その旨を出力した後(S303)、図5の標準時動作状態処理を終了する。
尚、上述したように、本実施例では、図5の標準時動作状態処理を開始すると、第2CPU100bでもスイッチの設定状態を検出して(S300)、図4の確認時動作状態処理で検出した設定状態と一致することを確認する(S301)ものとして説明した。しかし、図4の確認時動作状態処理でも、スイッチの設定状態を複数回検出することによって、スイッチの設定状態を確認していることに鑑みて、S300およびS301の操作は省略しても良い。あるいは、エンジン始動スイッチ10やポジションスイッチ20などのように、車両の安全性の観点から重要なスイッチについては、S300およびS301の操作を行うが、その他のスイッチについては省略するようにしても良い。
以上のようにして、スイッチの設定状態に応じた処理を行ったら(S303)、エンジン1が停止したか否かを判断する(S304)。車両制御装置100は、エンジン1を制御するエンジン制御装置200と、車内ネットワーク30を介して通信可能となっており、エンジン1が停止しているか否かは容易に判断することができる。
その結果、エンジン1が停止していない場合は(S304:no)、第1CPU100aおよび第2CPU100bを用いて、標準時動作状態での処理を実施する(S305)。すなわち、図5の標準時動作状態処理が開始される際には、その前の確認時動作状態処理で、第1CPU100aおよび第2CPU100bに標準クロックが供給されて標準時動作状態となっている(図4のS207)。そこで、エンジン1が動作している間は、第1CPU100aおよび第2CPU100bで処理を分担して高速処理を実現したり、あるいは同じ処理を重複して実行することによって確実性を確保したりするなど、処理の内容に応じて標準時動作状態での処理を実行する。
このような標準時動作状態での処理を実施している間に、エンジン1が停止したと判断したら(S304:yes)、第1CPU100aで実行中の処理がなく、且つ、第2CPU100bで実行中の処理も無い状態が、所定時間に亘って継続したか否かを判断する(S306)。例えば、エンジン1が停止された時点で第1CPU100aと第2CPU100bとが分担して処理を実行していた場合は、一方のCPUでの処理が終了していても、他方のCPUでは処理が継続している場合がある。あるいは、一方のCPUでの処理結果を受けて、他方のCPUが処理を開始する場合もある。
そこで、エンジン1が停止されると(S304:yes)、第1CPU100aおよび第2CPU100bの何れでも処理を実行していない状態が、所定時間にわたって継続したか否かを判断する(S306)。
その結果、第1CPU100aまたは第2CPU100bの少なくとも一方が処理を実行している場合、あるいは、何れのCPUでも処理を終了しているが、まだ所定時間が経過していない場合は(S306:no)、エンジン1が停止したままか否かを確認する(S304)。そして、エンジン1が停止したままであった場合は(S304:yes)、第1CPU100aおよび第2CPU100bが処理を終了して所定時間が経過するまで、S304およびS306の判断を繰り返す。
こうした判断を繰り返している間に、エンジン1が始動された場合は、S304で「no」と判断されるので、上述したように、第1CPU100aおよび第2CPU100bを用いて標準時動作状態での処理を実施する(S305)。
また、第1CPU100aおよび第2CPU100bが処理を終了して所定時間が経過した場合は(S306:yes)、第1CPU100aに供給するクロックを標準クロックから低速クロックに切り換えると共に、第2CPU100bへのクロックの供給を停止することによって、第1CPU100aおよび第2CPU100bの動作状態を、エンジン停止時動作状態に切り換える(S307)。
そして、エンジン停止時動作状態に切り換えた後は、図3を用いて前述したエンジン停止時動作状態処理を開始する。
本実施例の車両制御装置100は、以上のようにして、エンジン停止時動作状態S、確認時動作状態C、標準時動作状態Gを切り換えることによって、エンジン1が停止している間でも、バッテリーの消耗を抑制しながら、各種のスイッチ類の設定状態が変化したことを確実に検出することができる。そして、スイッチ類の設定状態が変化したことを検出した後は、第1CPU100aおよび第2CPU100bを用いて迅速に処理を開始することができる。
図6には、エンジン始動スイッチ10の設定状態がOFFからONに変化する場合を例に用いて、上述した効果が得られる理由が示されている。
図示されるように、エンジン始動スイッチ10の設定状態がOFFの間は、エンジン1の動作状態は停止状態となっており、そして、図3を用いて前述したように、エンジン1の停止中は、第2CPU100bは動作を停止し、第1CPU100aが低速で動作するエンジン停止時動作状態Sとなっている。図中に破線の矢印で示したように、第1CPU100aは一定の間隔でエンジン始動スイッチ10の設定状態を検出するが、この程度の動作では電力消費は僅かに過ぎないので、エンジン1の停止中に車両のバッテリーの消耗が進むことはない。
その後、車両の運転者によってエンジン始動スイッチ10がONにされたとする。その時点では、第1CPU100aおよび第2CPU100bの動作状態はエンジン停止時動作状態Sとなっているが、次回にエンジン始動スイッチ10の設定状態を検出すると、第1CPU100aが低速で動作する状態から標準速度で動作する状態に切り換わる。その結果、第1CPU100aおよび第2CPU100bの動作状態は、エンジン停止時動作状態Sから確認時動作状態Cに移行する。
そして、図中に破線の矢印で示されるように、エンジン始動スイッチ10の設定状態を所定の複数回(図中では3回)、検出する。こうして、エンジン始動スイッチ10の設定状態を複数回、確認するので、第2CPU100bの動作が停止したままでも、エンジン始動スイッチ10の設定状態を誤検出してしまうことを防止することができる。加えて、第1CPU100aは標準速度で動作するので、設定状態の検出回数が複数回になっても、エンジン始動スイッチ10がONに設定されたことを迅速に確認することができる。
こうして、エンジン始動スイッチ10がONになったことが確認されたら、第2CPU100bを標準速度で起動させることによって、第1CPU100aおよび第2CPU100bの動作状態を標準時動作状態Gに移行させる。標準時動作状態Gになると、エンジン停止時動作状態Sや確認時動作状態Cに比べて電力消費量が増加するが、エンジン1も動作を開始するので、バッテリーが消耗する虞は生じない。
以上に説明したように、本実施例の車両制御装置100では、エンジン停止時動作状態S、確認時動作状態Cを切り換えることによって、エンジン1が停止している間でも、バッテリーの消耗を抑制しながら、各種のスイッチ類の設定状態が変化したことを確実に検出する。そして、スイッチ類の設定状態が変化したことを確実に検出した後は、確認時動作状態Cから標準時動作状態Gに切り換えることによって、処理を迅速に実行することが可能となる。
また、図5を用いて前述したように、エンジン1が停止した後は、第1CPU100aおよび第2CPU100bの何れの処理も終了して、所定時間が経過したことを確認してから、標準時動作状態Gをエンジン停止時動作状態Sに切り換える。このため、処理が残っているにも拘わらず、エンジン停止時動作状態Sに切り換わってしまい、迅速な処理ができなくなってしまう事態が生じることも防止可能となる。
以上、本発明の実施例について説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。
1…エンジン、 10…エンジン始動スイッチ、 20…ポジションスイッチ、
100…車両制御装置、 100a…第1CPU、 100b…第2CPU、
101…停止時動作状態設定部、 102…設定状態監視部、
103…確認時動作状態設定部、 104…設定状態判断部、
105…標準時動作状態設定部、 106…クロック生成部、
200…エンジン制御装置、
C…確認時動作状態、 G…標準時動作状態、 S…エンジン停止時動作状態。

Claims (4)

  1. 複数個のCPUを搭載し、少なくとも一部の処理については前記複数個のCPUを用いて重複処理することによって、車両を制御する車両制御装置(100)であって、
    前記車両のエンジンが停止したことを検知すると、前記複数個のCPUの中で所定の第1CPU(100a)は標準速度よりも低速で動作するが、前記第1CPUを除いた第2CPU(100b)は動作を停止するエンジン停止時動作状態に、前記複数個のCPUの動作状態を設定する停止時動作状態設定部(101)と、
    前記複数個のCPUの動作状態が前記エンジン停止時動作状態に設定されている場合に、前記車両に搭載されたスイッチ(10、20)の設定状態を、前記第1CPUを用いて監視する設定状態監視部(102)と、
    前記エンジン停止時動作状態で前記スイッチの設定状態が変化したことが検知されると、前記複数個のCPUの動作状態を、前記第1CPUは前記標準速度で動作するが、前記第2CPUの動作は停止したままの確認時動作状態に設定する確認時動作状態設定部(103)と、
    前記複数個のCPUの動作状態が前記確認時動作状態に切り換わると、前記スイッチの設定状態を所定の複数回に亘って確認することによって、前記スイッチの設定状態が変化したか否かを判断する設定状態判断部(104)と、
    前記スイッチの設定状態が変化したと判断された場合には、前記複数個のCPUの動作状態を、前記第1CPUおよび前記第2CPUが前記標準速度で動作する標準時動作状態に設定する標準時動作状態設定部(105)と
    を備える車両制御装置。
  2. 請求項1に記載の車両制御装置であって、
    前記CPUを前記標準速度で動作させるための標準クロックと、前記CPUを前記低速で動作させるための低速クロックとを生成するクロック生成部(106)を備え、
    前記停止時動作状態設定部は、前記第1CPUには前記低速クロックを供給し、前記第2CPUには前記標準クロックおよび前記低速クロックの何れの供給も停止することによって、前記複数個のCPUの動作状態を前記エンジン停止時動作状態に設定しており、
    前記確認時動作状態設定部は、前記第1CPUには前記標準クロックを供給し、前記第2CPUには前記標準クロックおよび前記低速クロックの何れの供給も停止することによって、前記複数個のCPUの動作状態を前記確認時動作状態に設定しており、
    前記標準時動作状態設定部は、前記第1CPUおよび前記第2CPUの何れにも前記標準クロックを供給することによって、前記複数個のCPUの動作状態を前記標準時動作状態に設定する
    ことを特徴とする車両制御装置。
  3. 請求項1または請求項2に記載の車両制御装置であって、
    前記停止時動作状態設定部は、前記車両のエンジン(1)が停止した状態で、前記第1CPUおよび前記第2CPUの何れも実行中の処理が存在しない状態が所定時間に亘って継続した場合には、前記複数個のCPUの動作状態を前記エンジン停止時動作状態に設定する
    ことを特徴とする車両制御装置。
  4. 複数個のCPUを搭載して車両(1)を制御する処理のために用いられ、少なくとも一部の処理については前記複数個のCPUを用いて重複して処理する車両制御装置(100)の起動方法であって、
    前記車両のエンジン(1)が停止したことを検知する工程(S304)と、
    前記車両のエンジンが停止したことが検知されると、前記複数個のCPUの動作状態を、所定の第1CPU(100a)は標準速度よりも低速で動作するが、前記第1CPUを除いた第2CPU(100b)は動作を停止するエンジン停止時動作状態に設定する工程(S100)と、
    前記停止時動作状態で、前記車両に搭載されたスイッチ(10、20)の設定状態を、前記第1CPUを用いて監視する工程(S104)と、
    前記エンジン停止時動作状態で前記スイッチの設定状態の変化が検知されると、前記複数個のCPUの動作状態を、前記第1CPUは前記標準速度で動作するが、前記第2CPUの動作は停止したままの確認時動作状態に設定する工程(S107)と、
    前記確認時動作状態に設定されると、前記スイッチの設定状態を所定の複数回に亘って確認する工程(S200〜S203)と、 1
    前記確認時動作状態での前記複数回の確認結果に基づいて前記スイッチの設定状態が変化したか否かを判断し、変化していた場合には、前記複数個のCPUの動作状態を、前記第1CPUおよび前記第2CPUが前記標準速度で動作する標準時動作状態に設定する工程(S207)と
    を備える車両制御装置の起動方法。
JP2018079481A 2018-04-17 2018-04-17 車両制御装置、車両制御装置の起動方法 Active JP6996405B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018079481A JP6996405B2 (ja) 2018-04-17 2018-04-17 車両制御装置、車両制御装置の起動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018079481A JP6996405B2 (ja) 2018-04-17 2018-04-17 車両制御装置、車両制御装置の起動方法

Publications (3)

Publication Number Publication Date
JP2019185693A true JP2019185693A (ja) 2019-10-24
JP2019185693A5 JP2019185693A5 (ja) 2021-12-16
JP6996405B2 JP6996405B2 (ja) 2022-01-17

Family

ID=68341491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018079481A Active JP6996405B2 (ja) 2018-04-17 2018-04-17 車両制御装置、車両制御装置の起動方法

Country Status (1)

Country Link
JP (1) JP6996405B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010013988A (ja) * 2008-07-02 2010-01-21 Mitsubishi Electric Corp 車載電子制御装置
JP2012107522A (ja) * 2010-11-15 2012-06-07 Shindengen Electric Mfg Co Ltd 電子制御装置、および、電子制御装置の制御方法
JP2016012339A (ja) * 2014-06-02 2016-01-21 セイコーエプソン株式会社 情報処理装置、印刷装置、及び、制御方法
JP2017045125A (ja) * 2015-08-24 2017-03-02 株式会社デンソー 電子制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010013988A (ja) * 2008-07-02 2010-01-21 Mitsubishi Electric Corp 車載電子制御装置
JP2012107522A (ja) * 2010-11-15 2012-06-07 Shindengen Electric Mfg Co Ltd 電子制御装置、および、電子制御装置の制御方法
JP2016012339A (ja) * 2014-06-02 2016-01-21 セイコーエプソン株式会社 情報処理装置、印刷装置、及び、制御方法
JP2017045125A (ja) * 2015-08-24 2017-03-02 株式会社デンソー 電子制御装置

Also Published As

Publication number Publication date
JP6996405B2 (ja) 2022-01-17

Similar Documents

Publication Publication Date Title
US7689335B2 (en) Highly reliable vehicle system start controller
JP5598499B2 (ja) 電池監視装置
JP4692318B2 (ja) 電子制御装置
JP2007263020A (ja) エンジン始動・停止制御装置
CN107077407B (zh) 车辆控制装置
CN107533498B (zh) 车辆控制装置
JP2008267297A (ja) エコラン制御装置及びエンジン再始動方法
JP2009184423A (ja) 車両用電子制御装置
JP2008248880A (ja) エンジン始動制御装置
JP5094777B2 (ja) 車載用電子制御装置
KR20060043374A (ko) 마이크로컴퓨터 감시 금지 기능을 갖는 전자 제어 시스템및 방법
JP2011093389A (ja) 制御システム、電子装置、制御装置及び装置起動方法
JP2019185693A (ja) 車両制御装置、車両制御装置の起動方法
JP5930794B2 (ja) スタータ駆動装置
KR102224076B1 (ko) 배터리의 예약 충전 기능 진단 장치 및 방법
JP6380141B2 (ja) 電子制御装置
CN113071484B (zh) 一种档位控制方法、装置及电子设备
JP6956797B2 (ja) 判定装置、判定システム及び判定方法
US5828296A (en) Vehicular theft preventive system and a theft determining device thereof
JP2005053439A (ja) 電子制御装置、プログラム
JP2007255254A (ja) エンジン始動システム
JP2011174421A (ja) エンジン始動制御装置
JP6110322B2 (ja) 電動ステアリングロック制御装置
JP2014202141A (ja) 制御装置および制御方法
JP7378445B2 (ja) 電子制御ユニット、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211129

R151 Written notification of patent or utility model registration

Ref document number: 6996405

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151