(57)【要約】【課題】マイコンが再起動した場合により重要な機能が処理を継続可能な情報処理装置を提供すること。【解決手段】第１の動作モードから第２の動作モードに移行する第２のマイコン７０を有し、第２のマイコンが第１のマイコン５０と接続された情報処理装置１００であって、第２のマイコンの異常発生時に第２のマイコンを再起動する再起動手段４２と、第２の動作モードから第１の動作モードに復帰するためのイベント発生を検出するイベント検出手段４４と、第１のマイコンから周期的な信号を受信する周期信号受信手段７４と、再起動手段により再起動された後の第１の動作モード及びイベント検出手段がイベント発生を検出したために復帰した第１の動作モードにおいて、周期信号受信手段が信号を受信したか否かに基づき、第２のマイコンが再起動した状態又は第２の動作モードから第１の動作モードに復帰した状態のいずれかを検出する復帰有無検出手段７２と、を有することを特徴とする。【選択図】図２
2014109869.tif 000002
【特許請求の範囲】
【請求項１】
所定の条件が成立した場合に第１の動作モードから第２の動作モードに移行する第２のマイコンを有し、前記第２のマイコンが第１のマイコンと接続されている情報処理装置であって、
前記第２のマイコンの異常発生時に前記第２のマイコンを再起動する再起動手段と、
前記第２の動作モードから前記第１の動作モードに復帰するためのイベント発生を検出するイベント検出手段と、
前記第１のマイコンから周期的な信号を受信する周期信号受信手段と、
前記再起動手段により再起動された後の前記第１の動作モード、及び、前記イベント検出手段がイベント発生を検出したために復帰した前記第１の動作モードにおいて、前記周期信号受信手段が前記信号を受信したか否かに基づき、前記第２のマイコンが再起動した状態、又は、前記第２の動作モードから前記第１の動作モードに復帰した状態のいずれかの状態を検出する復帰有無検出手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第２のマイコンが第１の制御アプリを実行することで実現される、制御情報を更新しながら制御を行う第１の制御手段と、
前記制御情報を記憶する不揮発性の記憶手段と、を有し、
前記復帰有無検出手段が前記第２のマイコンが再起動した状態であると検出した場合、前記第１の制御手段は、前記記憶手段から読み出した前記制御情報に基づき途中まで実行されていた制御を再開する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第２のマイコンが第２の制御アプリを実行することで実現される第２の制御手段と、
前記第２のマイコンが第２の制御アプリを実行中に前記第２のマイコンに生じた異常を検出する異常検出手段と、
前記異常検出手段が前記異常を検出した場合に、前記制御情報を前記記憶手段に退避する制御情報退避手段と、を有し、
前記再起動手段は、前記制御情報退避手段が前記制御情報を退避した後、前記第２のマイコンを再起動する、
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
異なる前記制御情報を更新しながら制御を行う２つ以上の前記第１の制御手段を有し、
前記異常検出手段が前記異常を検出した場合、前記制御情報退避手段は、制御が途中の前記第１の制御手段の識別情報を前記制御情報に含めて前記記憶手段に退避する、
ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記第１の制御手段は、駐車中の車両の走行を制限するパーキングロック機構のロック状態とアンロック状態を切り替えるパーキングロック制御手段であり、
前記制御情報は、ロック制御中又はアンロック制御中の状態情報と、係止部材の初期位置と、前記初期位置からの相対位置とを含む、
ことを特徴とする請求項２〜４いずれか１項記載の情報処理装置。
【請求項６】
前記第１のマイコンと前記第２のマイコンは同一の筐体に収容されており、
前記周期信号受信手段は、前記第１のマイコンが前記第２のマイコンに前記第１のマイコンが正常に動作していることを通知するパルス信号を前記信号として受信する、
ことを特徴とする請求項１〜５いずれか１項記載の情報処理装置。
【請求項７】
前記第２のマイコンが再起動された直後又は前記第２の動作モードから前記第１の動作モードに復帰した直後に前記周期信号受信手段が前記信号を受信した場合、前記復帰有無検出手段は前記第２のマイコンが再起動したことを検出する、
ことを特徴とする請求項１〜６いずれか１項記載の情報処理装置。
【請求項８】
前記第１のマイコンは車両のメインスイッチがＯＮ操作されてから所定時間で起動を完了して前記信号の送信を開始し、
前記第２のマイコンが再起動された時から前記所定時間内又は前記第２の動作モードから前記第１の動作モードに復帰した時から前記所定時間内に前記周期信号受信手段が前記信号を受信した場合、前記復帰有無検出手段は前記第２のマイコンが再起動したことを検出する、
ことを特徴とする請求項１〜７いずれか１項記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
第１のマイコンと接続され、所定の条件が成立した場合に第１の動作モードから第２の動作モードに移行する第２のマイコンを有する情報処理装置に関する。
【背景技術】
【０００２】
車両制御の電子化が進む中、車載スペースや製造コストを節約するため、それまでは別々のＥＣＵ（Electronic Control Unit）に搭載されていた機能を１つのＥＣＵに搭載する統合ＥＣＵが開発されるようになった。
【０００３】
図１は、統合ＥＣＵに統合される機能の一例を示す図である。例えば、メインマイコンと接近警報機能を備えたサブマイコンを有する制御ＥＣＵ、及び、パーキングロック制御を行うＰ（パーキング）制御ＥＣＵがすでに存在する場合に、Ｐ制御ＥＣＵを制御ＥＣＵに統合する態様がある。また、接近警報ＥＣＵ、Ｐ制御ＥＣＵ及び制御ＥＣＵがすでに存在する場合に、接近警報ＥＣＵとＰ制御ＥＣＵを制御ＥＣＵに統合する態様がある。
【０００４】
制御ＥＣＵはすでにメインマイコンが実行するメインの機能を有しているため、統合時には、従来、メインマイコンの監視用に用いられていたサブマイコンに接近警報機能とＰ制御機能が搭載される。
【０００５】
車両に搭載された際、サブマイコンはＰ制御機能及び接近警報機能を時分割して実行するが、マイコンであるため例えば接近警報機能を実行中に不具合が発生することがある。マイコンでは不具合に対しリセットすることで復帰を試みる技術が知られている（例えば、特許文献１参照。）。特許文献１には、複数のプロセッサを備え、互いに暴走したプロセッサをリセットして再起動させるマルチプロセッサが開示されている。
【０００６】
ところで、自動車の電子制御機能を対象とした機能安全の規格ＩＳＯ２６２６２が策定され、２０１４年以降の車両はこの規格に対応することが必要になっている。ＩＳＯ２６２６２では、機能の故障が及ぼす影響の大きさなどに応じて機能毎にＡＳＩＬ（Ａ〜Ｄ、ＱＭというランクがある）という指標を設定し、ＡＳＩＬに応じた安全対策を施すことが求められる。マイコンで動作するアプリもこのＡＳＩＬに応じた安全対策が必要になる。
【０００７】
各機能に対し安全対策が施されていることは、第三者の認証を受けることができる（上記の規格上、認証を受けるかどうかは任意である）。マイコンで動作するアプリの場合、開発プロセスにおいてＡＳＩＬに応じた機能安全のための取り組みが実現されていることで、安全対策が施されているという認証を受けることができる。
【０００８】
例えば、ＡＳＩＬの低いアプリの異常に起因してＡＳＩＬの高い機能が影響を受ける場合、ＡＳＩＬの高い機能の機能安全を考慮して開発されていることが要請される。すなわち、ＡＳＩＬの低いアプリの異常に起因してサブマイコンがリセットされた場合、機能安全の観点からＡＳＩＬが高い機能は速やかに復帰されなければならない。上記の例ではＰ制御機能のアプリは接近警報機能のアプリよりもＡＳＩＬが高いので、サブマイコンが接近警報機能のアプリを実行中に異常が発生しても、速やかにＰ制御機能のアプリが実行可能にならなければならない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−１６９７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
リセットされたサブマイコンは一般的なＰＣ（Personal Computer）などに比べると極めて短時間に再起動する。しかし、Ｐ制御機能のアプリは学習情報を利用して動作しているため、Ｐ制御機能のアプリの実行中にサブマイコンがリセットされた場合、学習情報も消去され、再開したP制御機能のアプリが制御を完了するまでに時間がかかってしまう（学習情報がないと、現在の駆動方向や駆動量を把握するため学習情報がある場合よりも時間がかかってしまう。）。このため、統合ＥＣＵのＰ制御機能についてＩＳＯ２６２６２の認証を受けるには何らかの対策が望まれる。
【００１１】
Ｐ制御機能の学習情報をサブマイコンの再起動が生じても消去されない不揮発性メモリに常に記憶させておくことが考えられる。しかし、不揮発性メモリの記憶容量は限られており、学習情報を常に不揮発メモリに記憶しておくことは好ましい解決策ではない。
【００１２】
サブマイコンの再起動時だけ不揮発メモリを使用するのであれば、記憶容量を圧迫する懸念が小さいので、サブマイコンの再起動時だけ、再起動の直前にＰ制御機能などが学習情報を不揮発メモリに記憶することが考えられる。
【００１３】
しかしながら、再起動の直前に学習情報を不揮発メモリに記憶することは可能でも、再起動後のＰ制御機能はサブマイコンが再起動したのか、それともＩＧ−ＯＮにより起動したのかを判断することができない。このため、不揮発メモリに学習情報が記憶されていても、再起動後に不揮発メモリに記憶されている学習情報を詠み出すことができないという問題があった。
【００１４】
本発明は、マイコンが再起動した場合に再起動したことを検出して適切な処理を行うことができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、所定の条件が成立した場合に第１の動作モードから第２の動作モードに移行する第２のマイコンを有し、前記第２のマイコンが第１のマイコンと接続されている情報処理装置であって、前記第２のマイコンの異常発生時に前記第２のマイコンを再起動する再起動手段と、前記第２の動作モードから前記第１の動作モードに復帰するためのイベント発生を検出するイベント検出手段と、前記第１のマイコンから周期的な信号を受信する周期信号受信手段と、前記再起動手段により再起動された後の前記第１の動作モード、及び、前記イベント検出手段がイベント発生を検出したために復帰した前記第１の動作モードにおいて、前記周期信号受信手段が前記信号を受信したか否かに基づき、前記第２のマイコンが再起動した状態、又は、前記第２の動作モードから前記第１の動作モードに復帰した状態のいずれかの状態を検出する復帰有無検出手段と、を有することを特徴とする。
【発明の効果】
【００１６】
マイコンが再起動した場合により重要な機能が処理を継続可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】統合ＥＣＵに統合される機能の一例を示す図である。
【図２】本実施形態においてサブマイコンが再起動したことを検出する方法の概略を説明する図の一例である。
【図３】サブマイコンが制御するパーキング切替機構の概略を説明する図の一例である。
【図４】制御ＥＣＵに搭載されたメインマイコンとサブマイコンの概略ブロック図の一例である。
【図５】メインマイコンとサブマイコンが実行する制御又は処理について説明する図の一例である。
【図６】サブマイコンの機能ブロック図の一例である。
【図７】学習情報の一例を示す図である。
【図８】再起動したのか低消費電力モードから復帰したのかの判定方法を説明する図の一例である。
【図９】パーキング制御部の動作手順、接近警報制御部の動作手順、及び、プラットフォームの動作手順のフローチャート図の一例である。
【図１０】サブマイコンの起動直後におけるパーキング制御部の動作手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態について図面を参照しながら説明する。しかしながら、本願の技術的範囲が本実施の形態に限定されるものではない。
【００１９】
図２は、本実施形態においてサブマイコン７０が再起動したことを検出する方法の概略を説明する図の一例である。本実施形態ではＩＧ−ＯＮ時に、メインマイコン５０が起動を完了するまでの時間と、サブマイコン７０が復帰するまでの時間が異なることを利用して、Ｐ制御機能は、サブマイコン７０が再起動したのか又はＩＧ−ＯＮにより復帰したのかを判定する。
【００２０】
図示するようにメインマイコン５０はＩＧ電源で動作し、サブマイコン７０は＋Ｂ（バッテリー）電源で動作する。ＩＧ電源とは、ＩＧ−ＯＮの状態でのみバッテリーから電力供給される電源経路であり、＋Ｂ電源とはＩＧ−ＯＮかＩＧ−ＯＦＦかに拘わらずバッテリーから電力供給可能な電源経路である。
【００２１】
図２（ａ）に示すように、メインマイコン５０は、サブマイコン７０がＷＤ（Watch  Dog）パルスを出力していることを検出することでサブマイコン７０が動作していることを監視し、サブマイコン７０は、メインマイコン５０がＷＤパルスを出力していることを検出することでメインマイコン５０が動作していることを監視する。起動中のメインマイコン５０又はサブマイコン７０は常にＷＤパルスを出力している。
【００２２】
図２（ｂ）に示すように、＋Ｂ電源のサブマイコン７０はバッテリーが装着されている限りＩＧ−ＯＦＦ状態でも常に動作しているか、又は、消費電力を低減した低消費電力モードで動作している。
【００２３】
ここで、ＩＧ−ＯＦＦ状態であるためサブマイコン７０が低消費電力モードであり、運転者や乗員（以下、ユーザという）がＩＧ−ＯＮの操作を行ったとする。図２（ｄ）に示すように、ＩＧ−ＯＮによりメインマイコン５０が起動を開始し、サブマイコン７０は復帰を開始するが、低消費電力モードから復帰するサブマイコン７０は、メインマイコン５０よりも早く起動を完了する。このため、Ｐ制御機能は、まだ起動を完了していないメインマイコン５０がＷＤパルスを出力していないことを確認できる。よって、Ｐ制御機能はサブマイコンがＩＧ−ＯＮで復帰したこと（再起動でないこと）を確認できる。
【００２４】
これに対し、ＩＧ−ＯＮ状態で、サブマイコン７０が再起動したとする。図２（ｃ）に示すように、ＩＧ−ＯＮ状態なのでサブマイコン７０の再起動に影響されずメインマイコン５０はＷＤパルスの出力を継続する。サブマイコン７０は再起動後、Ｐ制御機能を起動させ、Ｐ制御機能はメインマイコン５０がＷＤパルスを出力していることを検出するので、再起動したことを確認できる。
【００２５】
したがって、サブマイコン７０は、自身が再起動したのでなければメインマイコン５０よりも早く起動を完了すること（低消費電力モードから復帰すること）及びＷＤパルスを利用して自身が再起動したことを検出できる。再起動したことを検出したサブマイコン７０は再起動時に必要な処理（例えば、Ｐ機能制御に使う学習情報を読み出す）を行うことができる。
【００２６】
なお、以下の本実施形態ではＩＧスイッチのＯＮをメインマイコン５０が動作を開始する契機とするが、ハイブリッド車（プラグインハイブリッド車を含む）や電気自動車ではメインスイッチのＯＮを契機とする。すなわち、ＩＧスイッチは所定の電源系統のＥＣＵが起動を開始する契機の一例であり、本実施形態は様々な車種に適用可能である。
【００２７】
また、「起動する」ことには再起動することと低消費電力モードから復帰することを含む。起動した直後のマイコンはプログラム実行モードである。
【００２８】
〔パーキング切替機構〕
図３は、本実施形態のサブマイコン７０が制御するパーキング切替機構７００の概略を説明する図の一例である。パーキング切替機構７００は、車両の駆動軸（ドライブシャフト等）と連動して回転するパーキングギヤ９１と、車両に固定されたパーキングポール９２の噛合および噛合解除を実行させて、パーキングギヤ９１のロック（パーキング状態）とアンロック（パーキング解除状態）を切り替える。
【００２９】
すなわち、パーキングギヤ９１の凹部９１ａとパーキングポール９２の凸部９２ａの係脱によって、ロックとアンロックの切り替えが行われる。ロックによりパーキングギヤ９１の回転を規制することで、ドライブシャフトやディファレンシャルギヤ等を介して車両の駆動輪がロックされて、車両のパーキング状態が達成される。
【００３０】
マニュアルシャフト９７はＳＷＢアクチュエータ９５によって回転駆動され、マニュアルシャフト９７と一体に回転するように、略扇形状のディテントプレート９６が取り付けられている。ディテントプレート９６は、略扇形状の円弧部に複数の凹部９６ａが設けられている。油圧バルブボディ９４に固定されたディテントスプリング９８の先端の係合部９８ａが凹部９６ａに嵌まり合うことで、パーキングギヤ９１のロック状態を保持する。
【００３１】
ディテントプレート９６には、パーキングポール９２を駆動するためのパーキングロッド９９が取り付けられている。パークキングロッド９９の先端には円錐部９３が設けられている。円錐部９３は、固定部材８９とパーキングポール９２の間に介在されるものであり、マニュアルシャフト９７を矢印Ａ方向から見て時計回り方向に回転させると、ディテントプレート９６を介してパーキングロッド９９が矢印Ｂ方向へ変位して円錐部９３がパーキングポール９２を押し上げる。すると、パーキングポール９２が軸９２ｂを中心に矢印Ｃ方向に回転し、パーキングポール９２の凸部９２ａがパーキングギヤ９１の凹部９１ａに噛合し、パーキング切替機構７００によるロック状態（パーキング状態）が達成される。
【００３２】
アンロック時にはＳＷＢアクチュエータ９５がマニュアルシャフト９７を矢印Ａ方向から見て反時計回り方向に回転させる。パーキングロッド９９が矢印Ｂ方向とは反対方向に引き戻され、パーキングポール９２を押し上げる力が無くなる。矢印Ｃ方向とは反対方向に作用する不図示の付勢力によりパーキングポール９２の凸部９２ａがパーキングギヤ９１の凹部９１ａから外れ、パーキングギヤ９１がフリーになり、パーキング切替機構７００のアンロック状態（パーキング解除状態）が達成される。
【００３３】
サブマイコン７０は、アンロック状態からロック状態に切替制御を行う際、パーキングロッド９９の変位量（ＳＷＢアクチュエータの回転量でもよい）が、円錐部９３がパーキングポールを十分に押し上げるために必要な所定量になるようにＳＷＢアクチュエータ９５を回転駆動する。また、ロック状態からアンロック状態に切替制御を行う際、パーキングロッド９９の変位量が、円錐部９３がパーキングポール９２による押し上げ力をなくすために必要な所定量になるようにＳＷＢアクチュエータ９５を回転駆動する。このため、サブマイコン７０は制御開始直後に、パーキングロッドの初期位置を記憶し、初期位置からの相対位置が所定量になるまでＳＷＢアクチュエータ９５を制御する。ここで、サブマイコン７０は所定周期（４ミリ秒）毎にいくつかのアプリを実行しているが、１周期ではロック又はアンロックの制御は完了しないため、いくつかの周期に渡ってロック又はアンロックの制御を継続している。周期を跨って処理を行う場合、制御方向と過去の周期により達成された変位量とを記憶しておく必要があるため、サブマイコン７０はＲＡＭ（又はＳＲＡＭなどでもよい）に、制御方向、初期位置及び動作位置（初期位置からの相対位置）を記憶する。
【００３４】
ところが、サブマイコン７０がリセットされてしまうとこれらの情報がクリアされてしまう。サブマイコン７０は再起動後にロック制御又はアンロック制御を再開するが、制御方向、初期位置及び動作位置が記憶されていないため、制御完了までに長い時間がかかってしまう（例えば、ＳＷＢアクチュエータ９５を駆動して初期位置を探すなどの処理が必要になるため）。
【００３５】
本実施例では、サブマイコン７０のリセット前に制御方向、初期位置及び動作位置を不揮発メモリに記憶しておき、サブマイコン７０の起動後に再起動（リセット）されたのか又は復帰したのか（ＩＧ−ＯＮされたのか）を判断する。そして、再起動された場合には制御方向、初期位置及び動作位置を不揮発メモリから読み出すことでロック又はアンロックを再開する。これにより、制御完了までに長い時間がかかることを抑制できる。
【００３６】
〔構成例〕
図４は、制御ＥＣＵ１００に搭載されたメインマイコン５０とサブマイコン７０の概略ブロック図の一例を示す。メインマイコン５０とサブマイコン７０は１つの筐体に収容された１つの電子制御装置として動作する。メインマイコン５０は、システムバスＢ１に接続された、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ＩＮＴＣ１４、ＷＤＴ１５、及び、ＤＭＡＣ１６を有し、周辺バスＢ２に接続されたＣＡＮコントローラ１８、ＵＡＲＴ１９、カウンタ回路２１、及び、Ｉ／Ｏ２０を有する。システムバスＢ１と周辺バスＢ２はブリッジ１７を介して接続されている。また、電源端子２２とＲＳＴ端子２３を有している。
【００３７】
サブマイコン７０は、メインマイコン５０と同じ構成でよいが、サブマイコン７０の処理内容や処理負荷に応じた構成とする。これによりサブマイコン７０にかかるコストを低減可能になる。サブマイコン５０は、システムバスＢ３に接続された、ＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、ＩＮＴＣ３４、ＷＤＴ３５、及び、ＤＭＡＣ３６を有し、周辺バスＢ４に接続されたＩ／Ｏ３８、カウンタ回路３９、及び、ＵＡＲＴ４１を有する。システムバスＢ３と周辺バスＢ４はブリッジ３７を介して接続されている。また、ＲＳＴ端子４２、電源端子４３及び起動端子４４を有している。例えば、サブマイコン７０はＣＡＮコントローラを有していないが、これを有していてもよいし、メインマイコン５０にない機能を備えていてもよい。以下、メインマイコン５０について説明するが、サブマイコン７０についても同様である。
【００３８】
ＣＰＵ１１は、ＲＯＭ１３に記憶されたプログラムを実行することで制御ＥＣＵ１００に必要な処理を行う。ＲＡＭ１２にはプログラムやデータが展開され、ＣＰＵ１１がアクセスする作業メモリになる。また、ＲＯＭ１３にはプラットフォームが記憶されている。プラットフォームは、例えばＯＳ（Operating  System）やデバイスドライバでもよいし、AUTOSAR（登録商標）のＢＳＷ（Basic  Software）とＲＴＥ（Runtime Environment）を含む構成でもよい。
【００３９】
ＩＮＴＣ１４は割込みマスク・マスクの解除などの設定が可能なレジスタと割込み要求が設定されるレジスタなどを有し、レジスタを監視して、周辺機器からの割り込み要求を割込みの優先順位に基づき調停してＣＰＵ１１に通知する。これによりＣＰＵ１１は、例えばＩＳＲ（Interrupt Service Routine）を実行して、割込みした周辺機器に応じて定められている処理を行う。
【００４０】
ＷＤＴ１５は、動作クロックをカウントして計測した時間が予め定められたリセット時間に達すると（オーバーフローすると）、異常検出する回路である。ＣＰＵ１１はプログラムを実行中にＷＤＴ１５をクリアする処理を定期的に実行しており、正常にプログラムが実行されていればＷＤＴ１５がオーバーフローしない。しかし、ＣＰＵ１１の処理負荷が上昇したり、プログラムの不具合によりＷＤＴ１５をクリアするタイミングが遅れるとＷＤＴがオーバーフローする。このように異常を検出したＷＤＴ１５はＣＰＵ１１又は電源ＩＣ４０に通知して、サブマイコン７０が所定の処理（例えばメインマイコン５０のリセット）を行うようになっている。
【００４１】
ＤＭＡＣ１６は、ＲＡＭ１２と周辺回路の間やＲＡＭ１２内で、ＣＰＵ１１を介することなくデータを転送する。本実施例では主に周辺回路としてＵＡＲＴ１９を使用する。ＣＰＵ１１がＵＡＲＴ１９からサブマイコン７０にデータを転送する場合、ＣＰＵ１１はＲＡＭ１２に記憶されているデータのアドレスと送信先であるＵＡＲＴ１９のアドレスをＤＭＡＣ１６のレジスタに設定する。ＤＭＡＣ１６は、ＲＡＭ１２から読み出したデータをＵＡＲＴ１９に書き込み、ＵＡＲＴ１９が転送を完了すると次のデータをＵＡＲＴに書き込むことを繰り返す。また、ＣＰＵ１１が外部からデータを受信する場合、ＵＡＲＴ１９にデータが到達するとＤＭＡＣ１６に転送要求する。ＤＭＡＣ１６は、ＵＡＲＴ１９が受信したデータを予め定められたＲＡＭ１２のアドレスに転送する。なお、ＤＭＡＣ1６はＤＭＡバッファと呼ばれるデータの一時記憶領域を有しており、予め定められたサイズのデータがＤＭＡバッファに蓄積されるとＤＭＡＣ１６はＲＡＭ１２にデータを転送し、ＩＮＴＣ１４に割込み要求する。これによりＣＰＵ１１は、ＵＡＲＴ１９が受信したデータを読み出すことができる。
【００４２】
ＵＡＲＴ１９がデータを受信する度に割込みを発生させるのでなくＤＭＡＣ１６にある程度のサイズのデータが蓄積されてからＣＰＵ１１に割り込みするので、ＣＰＵ１１の負荷を低減できる。このようなＤＭＡＣ１６を利用したマイコン間の通信をＤＭＡ通信という。
【００４３】
ブリッジ１７は、システムバスＢ１と周辺バスＢ２の間の周波数の違いを吸収し、システムバスＢ１に接続された回路と周辺バスＢ２に接続された回路とを通信可能に接続する。また、システムバスＢ１と周辺バスＢ２の使用権を調停する。ＣＡＮコントローラ１８は、メインマイコン５０がＣＡＮバス４６に接続された他のＥＣＵと通信するための通信回路である。ＣＡＮコントローラ１８はＣＡＮフレームを受信するとＩＮＴＣ１４を介してＣＰＵ１１に通知するが、ＵＡＲＴ１９と同様にＤＭＡＣ１６を利用してもよい。また、ＣＰＵ１１がＣＡＮフレームを送信する際は、ＣＰＵ１１がＣＡＮコントローラ１８にデータ送信を要求し、ＣＡＮコントローラ１８がＲＡＭ１２からデータを読みだしＣＡＮフレームを作成してＣＡＮバス４６に送信する。
【００４４】
Ｉ／Ｏ２０は、ＷＤパルスを出力する入出力インタフェースである。Ｉ／Ｏ２０の出力はＨｉｇｈ又はＬｏｗの状態を取るため、ＣＰＵ１１が定期的にＩ／Ｏ２０の出力を制御することでＷＤパルスを出力できる。また、カウンタ回路２１はＷＤパルスの立ち上がりエッジ又は立ち下がりエッジをカウントする回路である。例えばカウント値がパルスの周期時間で大きくなることからＷＤパルスが出力されていることを確認できる。
【００４５】
メインマイコン５０のＲＳＴ端子２３とサブマイコン７０のＲＳＴ端子４２には電源ＩＣ４０が接続されている。電源ＩＣ４０はスイッチ５４をＯＦＦにすることでメインマイコン５０をリセットでき、スイッチ５５をＯＦＦにすることでサブマイコン７０をリセットすることができる。また、電源ＩＣ４０は、メインマイコン５０がサブマイコン７０を監視するのとは別にサブマイコン７０が動作していること監視し、サブマイコン７０がメインマイコン５０を監視するのとは別にメインマイコン５０が動作していること監視する。監視の方法には、例えばＷＤパルスや所定の端子の状態を利用してもよいし、定期的な応答確認を用いてもよい。
【００４６】
メインマイコン５０にはＩＧ電源５１が接続されており、ＩＧスイッチ５３がＯＮになりＩＧ−ＯＮ状態になるとＩＧ電源５１からレギュレータなどで整えられた規定の電圧が電源端子２２に供給される。メインマイコン５０のＲＳＴ端子（Ｌｏｗアクティブ）２３は一般的なパワーオンリセット回路を介して、ＩＧ電源５１と接続される。よって、ＲＳＴ端子２３に供給される電圧はＲＣ回路により所定時間Ｌｏｗを維持するため、メインマイコン５０はリセット状態になりリセット状態から起動できる。
【００４７】
サブマイコン７０には＋Ｂ電源５２が接続されており、バッテリーが装着されていれば、常に、バッテリーからレギュレータなどで整えられた規定の電圧が電源端子４３に供給される。サブマイコン７０のＣＰＵ３１は所定の条件が成立すると（例えば、ＩＧ−ＯＦＦ、処理負荷が低下する、外部から要求される等）、プログラム実行モードからスリープモードやスタンバイモードなどの低消費電力モードに移行する。スリープモードやスタンバイモードの状態はマイコンによって様々である。例えば、スリープモードはＣＰＵ３１のレジスタ内容を保持したままクロックが供給されない状態、スタンバイモードはＣＰＵ３１のレジスタ内容をＲＡＭ１２に退避してクロックが供給されない状態、である。いずれの場合も、プログラム実行モードに復帰されるまでの時間は、再起動によりプログラム実行モードになるまでの時間よりも短い。
【００４８】
電源ＩＣ４０がスイッチ５５をＯＦＦにすることでサブマイコン７０をリセットした後、電源ＩＣ４０はスイッチ５５をＯＮにしてサブマイコン７０を再起動させる。なお、メインマイコン５０がサブマイコン７０を再起動させてもよい。
【００４９】
また、サブマイコン７０は低消費電力モードからプログラム実行モードに復帰するため、起動端子４４を有している。起動端子４４にはサブマイコン７０を復帰させる各種のＥＣＵが接続されうるが、図ではイモビライザＥＣＵ４５が接続されている。イモビライザＥＣＵ４５はキーの認証が成立すると認証ＯＫをサブマイコン７０に出力してサブマイコン７０を復帰させる。この他、サブマイコン７０がどのようなイベントを契機に復帰するかは適宜設定できる。ＩＧ−ＯＮをイベントとすることも可能である。
【００５０】
図５は、メインマイコン５０とサブマイコン７０が実行する制御又は処理について説明する図の一例である。メインマイコン５０はサブマイコン７０よりも重要な処理を行うとしてよいが、本実施形態ではメインマイコン５０が行う処理はサブマイコン７０が行う処理と関連していない。図では重要処理Ｘ５０１としたが、重要処理Ｘ５０１として、例えば、ＩＧリレー・ＡＣＣリレーのＯＮ／ＯＦＦを制御するパワーマネージメント制御、ハイブリッド車のエンジン出力とモータ出力を決定するＨＶ制御、車間距離を維持して車速を制御するオートクルーズ制御等が挙げられる。
【００５１】
サブマイコン７０は一例としてパーキング制御と接近警報制御を行う。パーキング制御部７０１はパーキング切替機構７００のアンロック状態とロック状態を切り替える。接近警報制御部７０２は車の発進から約２５〔km/h〕に至るまでの速度域において、自動で警報音を出力する。警報音は、例えばモーター音を模した音であり、周囲の人に車両の走行状態を想起させる。また、車速の上昇に伴い周波数を高めることで、車速の変化を報知する。
【００５２】
パーキング制御は駐車中の車両の停止状態を維持するという観点から安全性が定義され、接近警報は接近を報知するという観点から安全性が定義されている。本実施形態ではパーキング制御の方が接近警報制御よりも安全性が高いとして説明する。なお、パーキング制御と接近警報制御はアプリの一例であって、サブマイコン７０はＡＳＩＬレベルが異なる２つ以上のアプリを実行し、ＡＳＩＬレベルの低いアプリの異常でサブマイコン７０をリセットする機能を有していればよい。
【００５３】
接近警報制御部７０２は、車速などの車両環境に応じて音の出力の有無及び音の高低を変えるなどの処理を行うが、この処理により、割り込み頻度が増大したり短時間に細かな電圧制御が必要になるなどＣＰＵ３１の処理負荷が高くなる場合がある。このため接近警報制御の実行時に異常が発生する場合があり得る。
【００５４】
プラットフォーム７０３はパーキング制御部７０１と接近警報制御部７０２をタイマ割込みなどで周期的に交互に実行する。例えば、タイマ割込み毎にパーキング制御部７０１と接近警報制御部７０２のタスクを生成し、終了するとＣＰＵのレジスタ内容やデータをメモリに退避する。これを周期的に繰り返す。
【００５５】
図６は、サブマイコン７０の機能ブロック図の一例を示す。パーキング制御部７０１、接近警報制御部７０２及びプラットフォーム７０３はそれぞれ図示する機能を有するが、各機能ブロックの配置は一例でありサブマイコン７０としてこれらの機能を有していれば配置は限定されない。パルス作成部７５はＩ／Ｏ３８が出力する信号のレベルを周期的に切り替える。例えばＷＤパルスの周期が２ミリ秒であれば、１ミリ秒ごとにＨレベルからＬレベルに、ＬレベルからＨレベルに交互に切り替える。これを繰り返すことで、ＷＤパルスが出力される。なお、ＷＤパルスの周期は、プラットフォーム７０３がタスクを繰り返す周期よりも短いとするが、長くてもよい。
【００５６】
ＷＤパルスが出力されない場合、サブマイコン７０に異常が生じている可能性があることが分かるので、メインマイコン５０は電源ＩＣ４０を介してサブマイコン７０をリセットすることができる。
【００５７】
なお、このようにＩ／Ｏ３８を制御するのでなくマイコンに一般的に内蔵されているパルス出力回路を使用してＷＤパルスを出力してもよい。この場合、パルス作成部７５は周期に応じた値をパルス出力回路のタイマに設定するだけで、パルス出力回路が指示された周期のＷＤパルスを出力できる。ただし、この場合、サブマイコン７０によるプログラムの実行に異常が生じてもＷＤパルスが出力され続ける可能性がある。このため、パルス作成部７５が定期的にパルス出力回路に指示しないと、パルス出力を停止するパルス出力回路を用いることが好ましい。
【００５８】
パルス検出部７４はメインマイコン５０から送信されるＷＤパルスを検出している。つまりサブマイコン７０側でメインマイコン５０のＷＤパルスを監視し、メインマイコン５０が正常に動作しているか否かを判定する。監視には、定期的にカウンタ回路３９のカウント値を読み取り、変化しているか否かを判定してもよいし、ＷＤパルスの入力端子を監視してＨレベルとＬレベルが切りかわっているか否かを判定してもよい。ＷＤパルスが停止している場合には、電源ＩＣ４０を介してメインマイコン５０をリセットすることができる。
【００５９】
学習情報作成部７１は、パーキング制御部７０１がパーキング切替機構７００の制御状態を示す学習情報を作成し例えばＲＡＭ３２に記憶している。学習情報については図７で説明する。
【００６０】
接近警報制御部７０２の異常発生通知部７３は例えばＷＤＴ３５を実体としており、異常が発生し接近警報制御部７０２がＷＤＴのオーバーフローまでにクリアできないと、ＣＰＵ３１に割り込みするなどしてリセット処理部７６を起動させる。リセット処理部７６は学習情報７８を不揮発メモリ７７に退避し、その後、電源ＩＣ４０に対しサブマイコン７０のリセットを要求する。不揮発メモリ７７はＲＯＭ３３（フラッシュＲＯＭ）やEEPROMなどであり、リセットされても記憶内容を失わないメモリであればよい。以上の機能により、サブマイコン７０は学習情報７８を不揮発メモリ７７に記憶したままリセットされる。
【００６１】
そして、サブマイコン７０がリセットにより再起動した直後に、再起動判定部７２はパルス検出部７４がＷＤパルスを検出したか否かにより、サブマイコン７０のみが再起動したのか低消費電力モードから復帰したのか（ＩＧ−ＯＮされたのか）を判定する。
【００６２】
〔学習情報〕
図７（ａ）は学習情報の一例を示す図である。左図に示すように学習情報７８は、「Status」に処理データが対応づけられた情報である。「Status」はパーキング切替機構７００がロック状態かアンロック状態か示す。処理データは上記の初期位置と動作位置である。例えばロック状態でユーザによりパーキングＳＷ７９が押下された場合、学習情報作成部７１は学習情報７８を参照してパーキング切替機構７００が"ロック中"なので、学習情報７８の「Status」を"アンロック中"に更新する。また、学習情報作成部７１は「初期位置」にロック位置を記憶する。また、「動作位置」は初期値がゼロであり、パーキング制御部７０１がパーキングロッド９９の位置を制御する度に、学習情報作成部７１が更新する。したがって、「Status」は継続したい制御の情報が格納される。アンロック状態でユーザによりパーキングＳＷ７９が押下された場合は、「Status」が"ロック中"になり、「初期位置」はアンロック位置となる。動作位置は同様である。
【００６３】
図７（ｂ）はリセットの前後で継続すべき処理が複数個ある場合に不揮発メモリ７７に記憶されるデータ構造を説明する図の一例である。本実施例では説明を容易にするため、主にパーキング制御の学習情報７８を例に説明しているが、サブマイコン７０がリセットの前後で継続処理したい処理（以下、重要処理という）やデータブロックを複数個有している場合がある。また、データの内容は車両や統合ＥＣＵによっても異なる。
【００６４】
しかし、全ての重要処理が同時又は時間的に並行に発生することは起こりにくいため、不揮発メモリ７７に保存するデータは１つのデータブロックでよい。このため、各重要処理はそれぞれＲＡＭ３２にデータブロックを記憶するが、リセット処理部７６はこのうち処理が継続中の重要処理のデータブロックを不揮発メモリ７７に保存する。例えば、処理Ｂが継続中であれば、不揮発メモリには処理Ｂのｂ１〜ｂ３が保存される。
【００６５】
この場合、「Status」には重要処理の識別情報（例えばパーキング制御）と、重要処理にて保存すべきリセット前の状態（パーキング制御では"ロック"中又は"アンロック中"）が設定される。したがって、リセットによる再起動後に実行される重要処理は「Status」を読み出すことで重要処理を判別して、中断前の状態を検出し処理を継続できる。
【００６６】
〔判断方法〕
図８は再起動したのか低消費電力モードから復帰したのかの判定方法を説明する図の一例である。図８（ａ）はＩＧ−ＯＮ時のメインマイコンの起動及びサブマイコン７０の復帰のタイミングチャート図の一例を示す。
t1：ユーザがイモビライザＥＣＵ４５によりキー（スマートキー、メカニカルキー）の認証を受ける。これによりサブマイコン７０の起動端子に認証ＯＫが入力されサブマイコン７０が低消費電力モードからプログラム実行モードに復帰する。低消費電力モードからプログラム実行モードに復帰するための時間はマイコンによって様々だが、リセットから再起動するよりも早いとしてよい。また、本実施形態では、サブマイコン７０はＩＧ−ＯＮよりも早く復帰の契機（認証ＯＫ）を取得するのでＩＧ−ＯＮよりも前に復帰することも可能である。このため、サブマイコン７０のパルス検出部７４は復帰直後にＷＤパルスを検出することがなく、再起動判定部７２はサブマイコン７０が低消費電力モードから復帰した（ＩＧ−ＯＮされた）と判定できる。
t2：その後、ユーザがＩＧスイッチ５３をＯＮに操作すると、メインマイコン５０はリセット状態となる。
t3：リセット後、メインマイコン５０は起動を完了する。メインマイコン５０はＷＤパルスを出力する。
【００６７】
図８（ｂ）はサブマイコン７０のリセット時のサブマイコン７０の再起動のタイミングチャート図の一例を示す。すでにＩＧ−ＯＮ状態なので、メインマイコン５０は起動中であり、ＷＤパルスを出力している。
t1：電源ＩＣ４０がサブマイコン７０をリセットする。サブマイコン７０はリセット状態になる。
t2：リセット後、サブマイコン７０は起動を完了する。サブマイコン７０のパルス検出部７４は起動直後からＷＤパルスを検出するため、再起動判定部７２はサブマイコン７０がリセットされたと判定できる。
【００６８】
なお、図８（ａ）（ｂ）の「直後」とは、「再起動後、他のアプリを実行することなく」又は「再起動後、可能な限り早く」等を意味する。復帰直後であれば、メインマイコン５０は起動してない。しかしながら図８（ａ）の期間Ｔに示すように制御ＥＣＵ１００の仕様で定まる所定時間であれば、復帰直後でなくてもメインマイコン５０は起動してないので、復帰後、所定時間内にＷＤパルスの有無を判別すればよい。
【００６９】
したがって、このような周期的な信号をサブマイコン７０が受信できれば、メインマイコン５０とサブマイコン７０が別々のＥＣＵに搭載されていてもよい。この場合、メインマイコン５０とサブマイコン７０は信号用の専用線で接続されていることが好ましい。
【００７０】
〔動作手順〕
図９（ａ）はパーキング制御部７０１の動作手順を、図９（ｂ）は接近警報制御部７０２の動作手順を、図９（ｃ）はプラットフォーム７０３の動作手順の一例をそれぞれ示している。
【００７１】
パーキング制御部７０１はユーザがパーキングＳＷ７９を操作することで制御を開始する。以降は周期が到来する毎に処理を再開する。パーキングＳＷ７９が操作された時のみ、「Status」に "ロック中"又は"アンロック中"を設定し、「初期位置」に制御開始時のロック位置又はアンロック位置を設定し、「動作位置」にゼロを設定する。
【００７２】
制御の再開時、パーキング制御部７０１はＲＡＭ３２に記憶されている学習情報７８を読み出す（Ｓ１０−１）。
【００７３】
次に、パーキング制御部７０１は「Status」に"ロック中"又は"アンロック中"のどちらが設定されているかを判定し、パーキングロッド９９をロック方向又はアンロック方向に駆動する（Ｓ１０−２）。学習情報作成部７１は学習情報の「動作位置」を「初期位置」からの相対位置で更新する（Ｓ１０−３）。
【００７４】
接近警報制御部７０２は周期が到来する毎に処理を実行する。接近警報制御部７０２は車速から接近警報を出力する必要があるか否かを判定する（Ｓ２０−１）。
【００７５】
車速が低速であるなどの理由により接近警報を出力する必要がある場合、接近警報制御部７０２は接近警報を出力する（Ｓ２０−２）。
【００７６】
異常が発生した場合（Ｓ２０−３）、異常発生通知部７３がプラットフォーム７０３のリセット処理部７６に異常発生を通知する（Ｓ２０−４）。
【００７７】
これにより、リセット処理部７６はパーキング制御部７０１から学習情報７８を取得するか、予め既知のＲＡＭ３２のアドレスから学習情報７８を読み出す（Ｓ３０−１）。
【００７８】
リセット処理部７６は学習情報７８を不揮発メモリ７７に保存する（Ｓ３０−２）。なお、学習情報７８の保存はパーキング制御部７０１が行ってもよい。
【００７９】
そして、リセット処理部７６は電源ＩＣ４０にリセットを要求する（Ｓ３０−３）。これによりサブマイコン７０がリセットされる。
【００８０】
図１０は、サブマイコン７０の起動後におけるパーキング制御部７０１の動作手順を示すフローチャート図の一例である。
【００８１】
サブマイコン７０のリセット又は復帰により、サブマイコン７０が起動を完了する（Ｓ１１０）。再起動判定部７２はサブマイコン７０の起動直後にＷＤパルスが確認できるか否かを判定する（Ｓ１２０）。
【００８２】
ＷＤパルスが確認できる場合（Ｓ１２０のＹｅｓ）、メインマイコン５０が起動中なので再起動判定部７２はサブマイコン７０がリセットされたと判定する（Ｓ１３０）。
【００８３】
リセットされた場合、ロック又はアンロックの制御中の可能性があるため、パーキング制御部７０１は不揮発メモリ７７から学習情報７８を読み出す（Ｓ１４０）。
【００８４】
そして、パーキング制御部７０１は学習情報７８の動作位置からロック又はアンロックの制御を再開する（Ｓ１５０）。以降は、図９（ａ）の処理が実行される。学習情報７８を利用して制御を再開するので、学習情報７８がない場合よりも早期にロック／アンロックを完了できる。
【００８５】
また、ＷＤパルスが確認できない場合（Ｓ１２０のＮｏ）、メインマイコン５０が起動中でないので再起動判定部７２はＩＧ−ＯＮされたと判定する（Ｓ１６０）。
【００８６】
ＩＧ−ＯＮされたと判定した場合、車両が移動しないようにパーキング制御部７０１はパーキング切替機構７００をロックする（Ｓ１７０）。この場合、学習情報７８はＲＡＭ３２に記憶されている。
【００８７】
そして、学習情報作成部７１はロック位置を初期位置として、動作位置を初期化（ゼロ）して学習情報７８を更新する（Ｓ１８０）。なお、「Status」はすでに"ロック中"となっている。
【００８８】
学習情報作成部７１は学習情報７８をＲＡＭ３２に記憶する（Ｓ１９０）。その後、ユーザが車両を発進させるためパーキングＳＷ７９を操作すると、パーキング制御部７０１はパーキング切替機構７００のアンロックを開始する（Ｓ２００）。
【００８９】
以上説明したように、本実施形態のサブマイコン７０は、メインマイコン５０との電源の違いを利用して、ＩＧ−ＯＮにより復帰したのかリセットにより再起動したのかを判定できる。より具体的には、電源の違いにより、メインマイコン５０が起動完了するまでの時間と、サブマイコン７０が復帰するまでの時間が異なることを利用している。リセットされた場合には、リセット前に行っていた処理を確実に継続でき、重要な処理が相対的に重要でない処理により停止しても、速やかに処理を再開することができる。
【００９０】
〔ＷＤパルスの他の例〕
本実施形態では、サブマイコン７０が再起動したのか低消費電力モードから復帰したのかを、メインマイコン５０が出力するＷＤパルスで判定した。しかし、ＷＤパルスでなくても、メインマイコン５０が定期的に出力する信号であれば判定に利用することができる。定期の期間としては、例えば図８（ａ）の矢印Ｔの期間内であればよい。すなわち、矢印Ｔの期間に1回以上の信号があれば、サブマイコン７０はＷＤパルスと同様にリセットされたことを検出できる。
【００９１】
矢印Ｔの期間はサブマイコン７０の復帰要因と復帰時間、及び、メインマイコン５０がＩＧ−ＯＮから起動完了するまでの時間により変わるが、数１０〜数１００ミリ秒以上であるとしてよい。よって、メインマイコン５０が数１００ミリ秒以内の定期的に出力する信号であればＷＤパルスを代用できる。
【００９２】
このような信号としては、メインマイコン５０がサブマイコン７０に送信すべきデータがあるか否かを問い合わせるリクエスト信号がある。また、メインマイコン５０とサブマイコン７０が同じ周期で処理を行う場合に、該周期と同じ周期で送信される同期信号などがある。よって、本実施形態ではこれらの信号をＷＤと同様に使用できる。
【符号の説明】
【００９３】
４０      電源ＩＣ
５０      メインマイコン
５１      ＩＧ電源
５２      ＋Ｂ電源
７０      サブマイコン
１００    制御ＥＣＵ
７００    パーキング切替機構
７０１    パーキング制御部
７０２    接近警報制御部
７０３    プラットフォーム
【図１】
2014109869.tif 000003
【図２】
2014109869.tif 000004
【図３】
2014109869.tif 000005
【図４】
2014109869.tif 000006
【図５】
2014109869.tif 000007
【図６】
2014109869.tif 000008
【図７】
2014109869.tif 000009
【図８】
2014109869.tif 000010
【図９】
2014109869.tif 000011
【図１０】
2014109869.tif 000012