(57)【要約】      （修正有）【課題】コンピュータの異常により初期化が行われても、少なくともコンピュータに異常が発生したという情報をバックアップデータとして不揮発性メモリに書き込むことができる自動車用電子制御装置を提供する。【解決手段】サブマイコンは、エンジンを制御するＲＯＭ内蔵メインマイコンの機能状態を監視し、メインマイコンに異常が発生したことを検知したときにメインマイコンを停止させて初期化を行わせる（時刻ｔ１〜ｔ２参照）。サブマイコンは、メインマイコンを停止させて初期化を行わせた後に、メインマイコンを強制的に起動させて（時刻ｔ３参照）、ＲＡＭの機能状態フラグの情報を、メインマイコンに異常が発生したという設定値に自動的に書き換え、ＥＥＰＲＯＭにバックアップデータとして書き込ませる（時刻ｔ３〜ｔ４参照）。【選択図】図３
2018161927.tif 000002
【特許請求の範囲】
【請求項１】
揮発性メモリを有し、車載アクチュエータを制御する制御手段と、
前記制御手段を監視し、前記制御手段に異常が発生したときに前記制御手段を停止させて初期化を行わせる監視手段と、
イグニッションスイッチのオフ操作を検知してから所定時間が経過するまでの間、前記制御手段及び前記監視手段に対する電源供給を継続させる電源制御手段と、
前記所定時間中に前記揮発性メモリのデータが書き込まれる書換え可能な不揮発性メモリと、
を備え、
前記監視手段は、前記制御手段を停止させて初期化を行わせた後に、前記制御手段を強制的に起動させて、少なくとも前記制御手段に異常が発生したという情報を、前記不揮発性メモリに書き込ませることを特徴とする自動車用電子制御装置。
【請求項２】
前記制御手段は、前記監視手段によって強制的に起動したときに、前記車載アクチュエータの動作を制限する制御を行うことを特徴とする請求項１に記載の自動車用電子制御装置。
【請求項３】
前記制御手段は、前記監視手段によって強制的に起動したときに、前記揮発性メモリに前記情報を自動的に書き込み、前記情報を前記揮発性メモリから前記不揮発性メモリに書き込むことを特徴とする請求項１又は請求項２に記載の自動車用電子制御装置。
【請求項４】
前記制御手段は、前記監視手段によって強制的に起動している間に、前記車載アクチュエータの故障診断を行って、該故障診断による診断情報を前記不揮発性メモリに書き込むことを特徴とする、請求項１〜請求項３のいずれか１つに記載の自動車用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車用電子制御装置に関する。
【背景技術】
【０００２】
従来の自動車用電子制御装置には、例えば特許文献１に開示されるように、コンピュータが、イグニッションスイッチのオン状態で車載機器を制御する定常処理において、車載機器の故障診断等によって得られた各種情報を、付随する揮発性メモリに一時的に記憶するものがあり、かかる自動車用電子制御装置では、イグニッションスイッチのオフ操作後、セルフシャットオフ機能によって電源供給が継続されている間（セルフシャットオフ期間）に、揮発性メモリに一時的に記憶した各種情報を、電気的に書換え可能な不揮発性メモリにバックアップデータとして書き込んでいる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１４０３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の自動車用電子制御装置において、コンピュータに異常が発生したという異常情報を揮発性メモリに一時的に記憶させても、定常処理中にコンピュータに異常が発生したと診断して強制的にリセット処理（初期化）を行った場合には、異常情報は既に記憶している各種情報とともに消去されてしまうことが考えられ、これらの情報をセルフシャット期間にバックアップデータとして不揮発性メモリへ書き込むことができないという可能性が生じる。
【０００５】
そこで、本発明は以上のような問題点に鑑み、コンピュータの異常により初期化が行われても、少なくともコンピュータに異常が発生したという情報をバックアップデータとして不揮発性メモリに書き込み可能な自動車用電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
このため、本発明に係る自動車用電子制御装置は、揮発性メモリを有し、車載機器を制御する制御手段と、制御手段を監視し、制御手段に異常が発生したときに制御手段を停止させて初期化を行わせる監視手段と、イグニッションスイッチのオフ操作を検知してから所定時間が経過するまでの間、制御手段及び監視手段に対する電源供給を継続させる電源制御手段と、所定時間中に揮発性メモリの記憶情報を書き込まれる書換え可能な不揮発性メモリと、を備え、監視手段は、制御手段を停止させて初期化を行わせた後に、制御手段を強制的に起動させて、少なくとも制御手段に異常が発生したという情報を、不揮発性メモリに書き込ませることを特徴とする。
【発明の効果】
【０００７】
本発明の自動車用電子制御装置によれば、コンピュータの異常により初期化が行われても、少なくともコンピュータに異常が発生したという情報をバックアップデータとして不揮発性メモリに書き込むことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る自動車用電子制御装置の一例を示す回路ブロック図である。
【図２】同自動車用電子制御装置の監視処理を示すフローチャートである。
【図３】同自動車用電子制御装置の動作状態を示すタイムチャートである。
【図４】同自動車用電子制御装置の定常・異常時処理を示すフローチャートである。
【図５】同自動車用電子制御装置の自己診断処理を示すフローチャートである。
【図６】同自動車用電子制御装置の異常時書き込み処理を示すフローチャートである。
【図７】本発明の第２実施形態に係る自動車用電子制御装置の一例を示す回路ブロック図である。
【発明を実施するための形態】
【０００９】
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
［第１実施形態］
図１は、本発明の第１実施形態に係る自動車用電子制御装置の一例を示す。
【００１０】
自動車用電子制御装置１は、コンピュータを内蔵し、車載バッテリ２からイグニッションスイッチ（図中、「ＩＧＮＳＷ」と略記する。以下同様）３を介して電源供給を受けることで、車載機器を制御するものである。車載機器として、エンジン４を例に挙げて説明するが、変速装置、制動装置、操舵装置等、他の車両システムを制御対象としても本発明の自動車用電子制御装置を適用可能である。
【００１１】
自動車用電子制御装置１は、エンジン４を制御する制御手段としての制御用マイクロコンピュータ（以下、「メインマイコン」という）１０と、メインマイコン１０の機能状態を監視する監視手段としての監視用マイクロコンピュータ（以下、「サブマイコン」という）２０と、車載バッテリ２からイグニッションスイッチ３を介して供給される電源電圧を制御用電圧に調整してメインマイコン１０及びサブマイコン２０に供給する電源回路３０と、車載バッテリ２と電源回路３０との間でイグニッションスイッチ３と並列に設けられたリレースイッチ（図中、「リレーＳＷ」と略記する。以下同様）４０と、を有している。
【００１２】
（メインマイコン）
メインマイコン１０は、信号の入出力を行うインタフェースであるＩ／Ｏ（Input/Output）ポート１１と、各種演算処理を行うＣＰＵ（Central Processing Unit）１２と、揮発性メモリであるＲＡＭ（Random Access Memory）１３と、サブマイコン２０と通信回線ＣＬを介して通信を行うためのインタフェースである通信Ｉ／Ｆ１４と、電気的に書換え可能であって電源遮断時にも記憶された情報を保持する不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）１５と、を内部バス１６によって相互接続して備えている。
【００１３】
Ｉ／Ｏポート１１は、例えば、クランク角、水温、吸気量等のエンジン４の運転状態に関する検出信号Ｓeiや、イグニッションスイッチ３の出力電圧Ｖignの検出信号Ｓviを入力する一方、燃料噴射弁、点火プラグ等といったエンジン４に付随する各種アクチュエータへの制御信号Ｓeoや、リレースイッチ４０への制御信号Ｓroを出力する。なお、Ｉ／Ｏポート１１又はＩ／Ｏポート１１の前若しくは後において、検出信号Ｓei,ＳviはＡ／Ｄ（Analog/Digital）変換によってデジタル値に変換され、制御信号Ｓeo,ＳroはＤ／Ａ（Digital/Analog）変換によりアナログ値に変換されてもよい。
【００１４】
ＣＰＵ１２は、Ｉ／Ｏポート１１を介して入力したエンジン４からの検出信号Ｓeiに基づいて、例えば、燃料噴射量、燃料噴射時期、点火時期等、各種アクチュエータの制御量を演算し、この制御量に応じた制御信号ＳeoをＩ／Ｏポート１１を介してエンジン４の各種アクチュエータへ出力して、エンジン制御処理を行う。
【００１５】
また、ＣＰＵ１２は、エンジン４の故障診断処理及び学習制御処理を行って、故障診断の結果である故障診断情報、及び学習制御の結果である学習データを、内部バス１６を介してＲＡＭ１３に一時的に記憶する。
【００１６】
メインマイコン１０のＣＰＵ１２において、エンジン制御処理と、エンジン制御処理において所定のタイミングで行われるエンジン４の故障診断処理及び学習制御処理とは、イグニッションスイッチ３のオン状態に対応して定常処理として行われる。
【００１７】
自動車用電子制御装置１には、イグニッションスイッチ３のオフ操作後においてもメインマイコン１０及びサブマイコン２０への電源供給を継続させ、かつ、オフ操作から所定時間が経過したときに電源供給を自己遮断するセルフシャットオフ機能（電源制御手段）が備えられている。
【００１８】
具体的には、メインマイコン１０において、ＣＰＵ１２が、Ｉ／Ｏポート１１を介して入力された、イグニッションスイッチ３の出力電圧Ｖignの検出信号Ｓviに基づいて、イグニッションスイッチ３のオフ操作を検知したときに、リレースイッチ４０に対してこれをオンにする制御信号ＳroをＩ／Ｏポート１１を介して出力することで、イグニッションスイッチ３を迂回して車載バッテリ２から電源回路３０へ電源供給を行う。そして、ＣＰＵ１２は、イグニッションスイッチ３のオフ操作を検知してから内蔵のタイマ（図示省略）によってカウントされた時間が所定時間に達したと判定したときに、リレースイッチ４０に対してこれをオフにする制御信号Ｓroを出力することで、電源回路３０への電源供給、ひいては、メインマイコン１０及びサブマイコン２０への電源供給を自己遮断する。
【００１９】
ＣＰＵ１２は、定常処理の実行中における所定のタイミングでメインマイコン１０の機能状態について異常であるか否かの自己診断処理を行って、自己診断処理の結果である自己診断情報を、通信Ｉ／Ｆ１４及び通信回線ＣＬを介してサブマイコン２０へ送信するとともに、内部バス１６を介してＲＡＭ１３に一時的に記憶する。
【００２０】
自己診断処理において、ＣＰＵ１２は、メインマイコン１０の機能状態が正常であるという自己診断を行った場合、イグニッションスイッチ３のオフ操作が検知されてからセルフシャットオフ機能によってリレースイッチ４０がオフにされるまでのセルフシャットオフ期間に、ＲＡＭ１３に一時的に記憶された、エンジン４の故障診断情報及び学習データ、並びにメインマイコン１０の自己診断情報を、ＥＥＰＲＯＭ１５にバックアップデータとして書き込ませる（正常時書き込み）。
【００２１】
一方、自己診断処理において、ＣＰＵ１２は、メインマイコン１０の機能状態が異常であると診断した場合、サブマイコン２０からの信号に従って、メインマイコン１０を停止して初期化を行う。そして、メインマイコン１０は、初期化後、サブマイコン２０からの信号に従って強制的に起動し、定常処理を行わずに、エンジン４に付随する各種アクチュエータの動作を制限する異常時処理を行う。また、メインマイコン１０は、強制的に作動している時間（強制作動時間）中に、ＲＡＭ１３に一時的に記憶される情報を、正常時書き込みと異なるタイミングでＥＥＰＲＯＭ１５に書き込む異常時書き込み処理を行う。
【００２２】
ＥＥＰＲＯＭ１５は、定常処理、異常時処理、自己診断処理及び異常時書き込み処理を含む各種制御処理を行うための制御処理プログラムを予め格納し、ＣＰＵ１２が、ＥＥＰＲＯＭ１５からＲＡＭ１３に制御処理プログラムを適宜読み出してこれを実行することで各種制御処理を行う。なお、制御処理プログラムは、ＥＥＰＲＯＭ１５とは別のＲＯＭ（Read Only Memory）に格納されていてもよい。
【００２３】
（サブマイコン）
サブマイコン２０は、メインマイコン１０と同様に、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３及び通信Ｉ／Ｆ２４を、内部バス２５によって相互接続して備えている。
【００２４】
ＲＯＭ２３は、メインマイコン１０の機能状態を監視するための監視プログラムを予め格納し、ＣＰＵ２１は、ＲＯＭ２３から内部バス２５を介してＲＡＭ２２に監視プログラムを読み出してこれを実行することで、通信Ｉ／Ｆ２４を介して受信したメインマイコン１０の自己診断情報に基づいて、メインマイコン１０の機能状態を監視する。そして、ＣＰＵ２１は、メインマイコン１０の機能状態に異常が発生したことを検知したときに、メインマイコン１０を停止させて初期化を行わせた後、メインマイコン１０にＥＥＰＲＯＭ１５への異常時書き込み処理を行わせるべく、通信Ｉ／Ｆ２４を介してメインマイコン１０へ各種信号を送信する。
【００２５】
（サブマイコンにおける監視処理）
図２は、サブマイコン２０のＣＰＵ２１が、監視プログラムに従って、イグニッションスイッチ３のオン操作（図３の時刻ｔ０参照）によりサブマイコン２０が起動した（図３の時刻ｔ１参照）ことを契機として実行を開始する監視処理のフローチャートである。
【００２６】
ステップＳ１０１（図中では「Ｓ１０１」と略記する。以下同様）では、メインマイコン１０の自己診断処理による自己診断情報に基づいて、メインマイコン１０に異常が発生しているか否かを検知する。メインマイコン１０に異常が発生していると検知した場合には、ステップＳ１０２へ進む（Ｙｅｓ）。一方、メインマイコン１０に異常が発生していないと検知した場合には、ステップＳ１０６へ進む（Ｎｏ）。
【００２７】
ステップＳ１０２では、メインマイコン１０の停止を要求するための停止要求信号を送信する（図３の時刻ｔ３〜ｔ８参照）。この信号は、サブマイコン２０に対する電源供給が遮断されるまで（図３の時刻ｔ８参照）連続的に送信される。
【００２８】
ステップＳ１０３では、サブマイコン２０は、停止要求信号を送信してから、メインマイコン１０の初期化が終了したと判断できるまでの時間が経過したときに、メインマイコン１０を強制的に起動させるための強制起動指令信号をメインマイコン１０へ送信する（図３の時刻ｔ５参照）。
【００２９】
ステップＳ１０４では、強制起動指令信号の送信から経過した時間、すなわち強制作動時間が、設定時間Ｔに到達したか否かを判定する。
【００３０】
設定時間Ｔは、後述する図５のステップＳ３０５においてＲＡＭ１３に記憶された機能状態フラグの情報をバックアップデータとしてＥＥＰＲＯＭ１５に書き込むために必要な時間である。また、後述する図５のステップＳ３０５において、機能状態フラグの情報をＥＥＰＲＯＭ１５へ書き込むことに加えて、定常処理のうちエンジン４の故障診断処理や学習制御処理を実行し、故障診断情報や学習データをＲＡＭ１３に記憶させる場合や、あるいは、自己診断を行う場合には、設定時間Ｔは、各処理の実行時間及び情報・データの書き込み時間、あるいは自己診断に要する時間等に応じてより長く設定される。
【００３１】
ステップＳ１０４において、強制作動時間が設定時間Ｔに到達したと判定された場合にはステップＳ１０５へ進み（Ｙｅｓ）、一方、強制作動時間が設定時間Ｔに到達していない場合にはステップＳ１０４を繰り返す（Ｎｏ）。
【００３２】
ステップＳ１０５では、メインマイコン１０を強制的に停止させるための強制停止指令信号を送信する（図３の時刻ｔ６参照）。
【００３３】
ステップＳ１０６では、イグニッションスイッチ３のオフ操作が行われたか否かを判定する。イグニッションスイッチ３のオフ操作が行われたと判定した場合には、監視処理を終了し（Ｙｅｓ）、一方、イグニッションスイッチ３のオフ操作が行われていないと判定した場合には、ステップＳ１０１へ戻り、メインマイコン１０に異常が発生しているか否かを検知する（Ｎｏ）。
【００３４】
（メインマイコンにおける定常処理及び異常時処理）
図４は、メインマイコン１０のＣＰＵ１２が、制御処理プログラムに従い、メインマイコン１０の起動（図３の時刻ｔ１又はｔ５）を契機として実行を開始する定常処理及び異常時処理のフローチャートである。
【００３５】
ステップＳ２０１では、通信Ｉ／Ｆ１４を介して、サブマイコン２０から送信される停止要求信号を受信したか否かを判定する。停止要求信号を受信したか否かを判定することで、後述するように、メインマイコン１０が機能状態を異常とする自己診断を行って初期化され、かつ、初期化後にサブマイコン２０によって強制的に起動したか否かを判定することができる。停止要求信号を受信していないと判定した場合には、メインマイコン１０の機能状態が正常であるので、自己診断処理を行うべくステップＳ２０２へ進み（Ｎｏ）、一方、停止要求信号を受信したと判定した場合には、メインマイコン１０の機能状態が異常である可能性があるので、ステップＳ２０４へ進む（Ｙｅｓ）。
【００３６】
ステップＳ２０２では、前述の定常処理を行う。すなわち、ＣＰＵ１２は、エンジン制御処理を行い、エンジン制御処理における所定のタイミングでエンジン４の故障診断処理及び学習制御処理を行う。エンジン４の故障診断処理及び学習制御処理により得られた故障診断情報及び学習データはＲＡＭ１３に一時的に記憶される。
【００３７】
ステップＳ２０３では、イグニッションスイッチ３のオフ操作（図３の時刻ｔ７参照）が行われたか否かを判定する。具体的には、Ｉ／Ｏポート１１を介して入力された、イグニッションスイッチ３の出力電圧Ｖignの検出信号に基づいて、出力電圧Ｖignと閾値電圧との大小比較を行うことによって、イグニッションスイッチ３のオフ操作が行われたか否かを判定する。
【００３８】
イグニッションスイッチ３のオフ操作が行われたと判定した場合には、定常処理を終了する（Ｙｅｓ）。一方、イグニッションスイッチ３のオフ操作が行われていないと判定した場合には、ステップＳ２０２へ戻って定常処理を続行する（Ｎｏ）。
【００３９】
ステップＳ２０４では、定常処理を行わずに、エンジン４に付随する各種アクチュエータの動作を制限する異常時処理を行う（図３の時刻ｔ５〜ｔ６参照）。エンジン４に付随する各種アクチュエータの動作を制限するのは、メインマイコン１０が自己診断処理によって異常の発生を検知しているため、異常の可能性があるメインマイコン１０によって定常処理を実行すると、各種アクチュエータが不安定な動作をして車両運転に影響を及ぼす可能性があるからである。
【００４０】
各種アクチュエータの動作を制限する態様としては、例えば定常処理の強制終了等によって、各種アクチュエータの動作を停止させることができる。
【００４１】
各種アクチュエータの動作を制限する別の態様としては、例えばメインマイコン１０の正常時における定常処理とは異なる演算方法で演算された制御量あるいは所定値に制限された制御量に応じた制御信号の出力等によって、各種アクチュエータの動作を抑制することができる。
【００４２】
例えば、燃料噴射弁（電磁弁）の制御量をメインマイコン１０の正常時と異なる演算方法で演算してあるいは所定値に制限して、この制御量に応じた制御信号を出力することで、燃料噴射弁から噴射される燃料噴射量を抑制してもよい。また、例えば、エンジン４が圧縮可変機構（ＶＣＲ：Variable Compression Ratio system）を備えている場合には、ピストンの上死点位置を変更する電動アクチュエータを初期位置に固定したり、あるいは、電動アクチュエータの変化量を意図的に制限したりしてもよい。さらに、例えば、メインマイコン１０が電動アクチュエータを制御するアクチュエータ用コントローラ（ＥＤＵ）と通信を行っている場合に、通信を停止したり、通信異常と判断される値を送信したりしてＥＤＵ側に異常となったことを認識させてもよい。
【００４３】
ステップＳ２０５において、通信Ｉ／Ｆ１４を介して、サブマイコン２０から送信される強制停止指令信号を受信した場合（図３の時刻ｔ６参照）には異常時処理を終了する（Ｙｅｓ）。一方、強制停止指令信号を受信していない場合には、異常時処理を続行すべくステップＳ２０４へ戻る（Ｎｏ）。
【００４４】
（メインマイコンの自己診断処理）
図５は、メインマイコン１０のＣＰＵ１２が、制御処理プログラムに従い、メインマイコン１０の起動（図３の時刻ｔ１又はｔ５）を契機として実行を開始する自己診断処理のフローチャートである。
【００４５】
ステップＳ３０１では、通信Ｉ／Ｆ１４を介して、サブマイコン２０から送信される後述の停止要求信号を受信したか否かを判定する。停止要求信号を受信したか否かを判定することで、前述の図４のステップＳ２０１と同様に、メインマイコン１０が異常と自己診断して初期化された後、サブマイコン２０によって強制的に起動したか否かを判定することができる。停止要求信号を受信していないと判定された場合には、メインマイコン１０は強制起動していないので、自己診断処理を行うべくステップＳ３０２へ進む（Ｎｏ）。一方、停止要求信号を受信したと判定された場合には、メインマイコン１０がすでに異常であるという自己診断を行っているので、自己診断処理を行わずに終了する（Ｙｅｓ）。
【００４６】
ステップＳ３０２では、所定のタイミングでメインマイコン１０の機能状態について自己診断処理を行う。自己診断処理によりメインマイコン１０の機能状態に異常がないと診断した場合にはステップＳ３０３へ進み（Ｎｏ）、メインマイコン１０の機能状態に異常があると診断した場合にはステップＳ３０６へ進む（Ｙｅｓ）。
【００４７】
ステップＳ３０３では、メインマイコン１０の機能状態が正常である旨の自己診断情報をサブマイコン２０へ送信するとともにＲＡＭ１３に書き込む。ＲＡＭ１３に書き込まれた自己診断情報のうち、メインマイコン１０の機能状態を示す機能状態フラグは、正常を示す初期値（例えば０）に保持される。
【００４８】
ステップＳ３０４では、前述の図４のステップＳ２０３と同様に、イグニッションスイッチ３のオフ操作が行われたか否かを判定する。イグニッションスイッチ３のオフ操作が行われたと判定した場合には、セルフシャットオフ期間（図３の時刻ｔ７〜ｔ８の期間）における正常時書き込みを行うべくステップＳ３０５へ進む（Ｙｅｓ）。一方、イグニッションスイッチ３のオフ操作が行われていないと判定した場合には、ステップＳ３０２へ戻り、所定のタイミングで再び自己診断処理を行う（Ｎｏ）。
【００４９】
ステップＳ３０５では、セルフシャットオフ期間における正常時書き込みとして、ＲＡＭ１３に一時的に記憶された、エンジン４の故障診断情報及び学習データ、並びにメインマイコン１０の自己診断情報を、ＥＥＰＲＯＭ１５にバックアップデータとして書き込んで、自己診断処理を終了する。
【００５０】
ステップＳ３０６では、メインマイコン１０の機能状態が異常である旨の自己診断情報をサブマイコン２０へ送信するとともにＲＡＭ１３に書き込む（図３の時刻ｔ２〜ｔ３参照）。ＲＡＭ１３に書き込まれた自己診断情報のうち機能状態フラグは、異常を示す設定値（例えば１）に書き換えられる。
【００５１】
ステップＳ３０７では、図４のステップＳ２０１と同様に、通信Ｉ／Ｆ１４を介して、サブマイコン２０から送信される後述の停止要求信号を受信しているか否かを判定する。停止要求信号を受信していると判定された場合にはステップＳ３０８へ進み（Ｙｅｓ）、一方、停止要求信号を受信していないと判定された場合には、ステップＳ３０７を繰り返す（Ｎｏ）。
【００５２】
ステップＳ３０８では、メインマイコン１０は、正常状態へ復帰すべく、サブマイコン２０からの停止要求信号に従って停止して初期化を行う（図３の時刻ｔ４参照）。ただし、本ステップの実行によって停止したメインマイコン１０は、サブマイコン２０から後述の強制起動指令信号を受信できるように通信可能な状態となっている。
【００５３】
ステップＳ３０８の初期化によって、前述の図４のステップＳ２０２における定常処理によってＲＡＭ１３に書き込まれたエンジン４の故障診断情報及び学習データ、並びに、ステップＳ３０３及びステップＳ３０６においてＲＡＭ１３に書き込まれた自己診断情報は消去されてしまう。特に、ステップＳ３０６において異常を示す設定値に一旦書き換えられた機能状態フラグは、ステップＳ３０８において再び初期値（例えば０）に書き換えられてしまうため、メインマイコン１０は、機能状態フラグを、異常を示す設定値のままＲＡＭ１３に保持しておくことができず、セルフシャットオフ期間おいて、メインマイコン１０に異常が発生したという情報をバックアップデータとしてＥＥＰＲＯＭ１５に保持しておくことができない。このため、以下の異常時書き込み処理を実行することによって、少なくともメインマイコン１０に異常が発生したという情報をＥＥＰＲＯＭ１５へバックアップデータとして書き込めるようにしている。
【００５４】
（メインマイコンの異常時書き込み処理）
図６は、メインマイコン１０のＣＰＵ１２が、メインマイコン１０がサブマイコン２０から前述の強制起動指令信号を受信した（図３の時刻ｔ５参照）ことを契機として、制御処理プログラムに従って実行を開始する異常時書き込み処理のフローチャートである。
【００５５】
ステップＳ４０１では、メインマイコン１０は、強制起動指令信号に従って起動する（図３の時刻ｔ５参照）。なお、ステップＳ４０１によるメインマイコン１０の起動は、サブマイコン２０による強制起動であるので、図４の処理の実行が開始されると、定常処理（ステップＳ２０２）ではなく、異常時処理（ステップＳ２０４）が行われる。これにより、後述のようにＥＥＰＲＯＭ１５への書き込みが行われる際に、エンジン４に付随する各種アクチュエータが不安定な動作をして車両運転に影響を及ぼす可能性が低減される。
【００５６】
ステップＳ４０２では、メインマイコン１０の起動に伴って、メインマイコン１０の機能状態を示す機能状態フラグを、初期値から自動的に異常を示す設定値に書き換える（図３の時刻ｔ５参照）。
【００５７】
メインマイコン１０のＣＰＵ１２は、ステップＳ４０１において、サブマイコン２０から送信された強制起動指令信号を受信したうえでメインマイコン１０を起動させているので、イグニッションスイッチ３のオン操作によって正常に起動したものでないことを認識でき、機能状態フラグを、初期値から自動的に異常を示す設定値に書き換えることができる。
【００５８】
ステップＳ４０３では、ステップＳ４０２において自動的に異常を示す設定値に書き換えられた機能状態フラグの情報をバックアップデータとしてＥＥＰＲＯＭ１５に書き込む（図３の時刻ｔ５〜ｔ６参照）。これにより、メインマイコン１０は、少なくともメインマイコン１０に異常が発生したという情報を異常履歴として保持しておくことが可能となる。
【００５９】
ステップＳ４０４において、サブマイコン２０から送信される後述の強制停止指令信号を受信した場合には、ステップＳ４０５へ進む（Ｙｅｓ）。一方、強制停止指令信号を受信していない場合には、ステップＳ４０３へ戻る（Ｎｏ）。
【００６０】
ステップＳ４０５では、メインマイコン１０は強制停止指令信号に従って停止し、異常時書き込み処理を終了する（図３の時刻ｔ６参照）。メインマイコン１０の停止とともに、メインマイコン１０のＲＡＭ１３に格納された機能状態フラグの設定値は再び初期化される。
【００６１】
なお、ステップ４０３において、ＲＡＭ１３には、ステップＳ４０２によって異常を示す設定値に自動的に書き換えられた機能状態フラグの情報が記憶され、図５のステップＳ３０８の初期化によって消去されたエンジン４の故障診断情報や学習データは記憶されていない。しかし、ステップＳ４０３において、メインマイコン１０の強制作動時間中に、定常処理のうちエンジン４の故障診断処理や学習制御処理を実行することで、故障診断情報や学習データをＲＡＭ１３に記憶させてもよい。この場合、ＲＡＭ１３からＥＥＰＲＯＭ１５には、メインマイコン１０に異常が発生したという情報だけでなく、故障診断情報や学習データを書き込むことができる。
【００６２】
また、ステップＳ４０３において、メインマイコン１０の強制作動時間中に、少なくともメインマイコン１０に異常が発生したという情報をＥＥＰＲＯＭ１５に書き込んだ後、メインマイコン１０の自己診断処理を再度行うことができる。
【００６３】
メインマイコン１０は、自己診断処理によりメインマイコン１０の機能状態が再度異常と診断された場合、機能状態フラグの情報を含む自己診断情報をＲＡＭ１３に一時的に記憶させた後、バックアップデータとしてＥＥＰＲＯＭ１５へ書き込むことで、メインマイコン１０の異常の有無だけでなく、異常態様に関する情報についても異常履歴として保持しておくことができる。
【００６４】
一方、メインマイコン１０は、自己診断処理によりメインマイコン１０の機能状態が正常と診断された場合、異常書き込み処理を終了して、図５の自己診断処理においてステップＳ３０３から実行を再開するとともに、図４におけるステップＳ２０４の異常時処理を終了して、ステップＳ２０２の定常処理を実行することができる。サブマイコン２０は、メインマイコン１０から正常である旨の自己診断情報を受信することで、停止要求信号の送信を停止する。
【００６５】
（イグニッションスイッチの再オン操作時における処理）
図３の時刻ｔ７でイグニッションスイッチ３がオフ操作された後、時刻ｔ９でイグニッションスイッチ３が再度オン操作されると、時刻ｔ１０において、メインマイコン１０及びサブマイコン２０が起動する。ここで、メインマイコン１０のＥＥＰＲＯＭ１５には、前述の図６のステップＳ４０３によりメインマイコン１０に異常が発生したことを示す自己診断情報が保持されているので、メインマイコン１０のＣＰＵ１２は、ＥＥＰＲＯＭ１５に保持された自己診断情報に基づいて、定常処理を行わずに、エンジン４に付随する各種アクチュエータの動作を停止又は制限する。
【００６６】
また、メインマイコン１０のＣＰＵ１２は、時刻ｔ９でイグニッションスイッチ３が再度オン操作されて、時刻ｔ１０において起動すると、ＥＥＰＲＯＭ１５に保持されている自己診断情報を参照して、メインマイコン１０の異常解析を行う。
【００６７】
このような自動車用電子制御装置１によれば、メインマイコン１０の異常によりメインマイコン１０を停止して初期化を行った場合でも、初期化後、メインマイコン１０の異常を監視するサブマイコン２０がメインマイコン１０を強制的に起動するとともに、ＲＡＭ１３に記憶された機能状態フラグを、自動的に異常を示す設定値に書き換えている。これにより、少なくともメインマイコン１０に異常が発生したという情報をＥＥＰＲＯＭ１５へ書き込むことができる。したがって、自動車用電子制御装置１は、少なくともメインマイコン１０に異常が発生したという情報を異常履歴としてＥＥＰＲＯＭ１５に保持しておくことができるので、メインマイコン１０の異常解析精度を向上させることが可能となる。
【００６８】
また、メインマイコン１０の強制作動時間中に、定常処理のうちエンジン４の故障診断処理や学習制御処理を実行する場合や、あるいは、自己診断を行う場合には、メインマイコン１０は、故障診断情報及び学習データや、メインマイコン１０の異常態様に関する情報についてもＥＥＰＲＯＭ１５に履歴として保持しておくことができる。
【００６９】
さらに、初期化後、サブマイコン２０がメインマイコン１０を強制的に起動させる際に、メインマイコン１０の定常処理による各種アクチュエータの動作を制限するので、強制作動時間中にＥＥＰＲＯＭ１５への書き込みが行われても、車両運転に影響を及ぼす可能性を低減することができる。
【００７０】
なお、前述の実施形態において、サブマイコン２０を、メインマイコン１０の機能状態を監視するための特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）に置き換えても本発明の適用は可能である。
【００７１】
［第２実施形態］
図７は、本発明の第２実施形態に係る自動車用電子制御装置の一例を示す。なお、第１実施形態と共通の構成については同一の符号を付すことで説明を省略又は簡略化する。
【００７２】
第１実施形態の自動車用電子制御装置１は、メインマイコン１０の機能状態を監視するサブマイコン２０を備えていたが、これに代えて、第２実施形態の自動車用電子制御装置１Ａでは、サブマイコン２０を省略した１つのマイクロコンピュータ１０Ａを備えており、このμコンピュータが、複数のコア、例えば第１コア１２ａ及び第２コア１２ｂを備えたマルチコアである点で異なる。
【００７３】
第１コア１２ａは、メインマイコン１０と同様に、イグニッションスイッチ３のオン操作によりマイクロコンピュータ１０Ａに電源が供給されたことを契機として、定常処理、自己診断処理及び書き込み処理を行う（図２〜図５参照）。第２コア１２ｂは、サブマイコン２０と同様に、イグニッションスイッチ３のオン操作によりマイクロコンピュータ１０Ａに電源が供給されたことを契機として、第１コア１２ａの機能状態を監視する監視処理を開始する（図５参照）。
【００７４】
すなわち、第１コア１２ａは機能状態について自己診断を行い、異常と診断した場合には第２コアに内部バス１６を介して送信し、第２コア１２ｂは第１コア１２ａを停止させて初期化する。初期化後、第２コア１２ｂは第１コア１２ａを強制的に起動させて、ＲＡＭ１３に記憶された機能状態フラグを、自動的に異常を示す設定値に書き換えさせる。これにより、少なくとも第１コア１２ａに異常が発生したという情報をＥＥＰＲＯＭ１５へ書き込むことができる。
【００７５】
このような自動車用電子制御装置１Ａによれば、第１コア１０ａの異常により第１コア１０ａを停止して初期化を行った場合でも、少なくとも第１コア１０ａに異常が発生したという情報をＥＥＰＲＯＭ１５へ書き込むことができる。したがって、自動車用電子制御装置１Ａは、少なくとも第１コア１０ａに異常が発生したという情報を異常履歴としてＥＥＰＲＯＭ１５に保持しておくことができるので、メインマイコン１０の異常解析精度を向上させることが可能となる。
【００７６】
また、第１実施形態と同様に、第１コア１０ａの強制作動時間中に、定常処理のうちエンジン４の故障診断処理や学習制御処理を実行する場合や、あるいは、自己診断を行う場合には、マイクロコンピュータ１０Ａは、故障診断情報及び学習データや、マイクロコンピュータ１０Ａの異常態様に関する情報についてもＥＥＰＲＯＭ１５に履歴として保持しておくことができる。
【００７７】
さらに、第１実施形態と同様に、初期化後、第２コア１０ｂが第１コア１０ａを強制的に起動させる際に、第１コア１０ａの定常処理による各種アクチュエータの動作を制限するので、強制作動時間中にＥＥＰＲＯＭ１５への書き込みが行われても、車両運転に影響を及ぼす可能性を低減することができる。
【００７８】
なお、第１実施形態及び第２実施形態において、電気的に書換え可能であって電源遮断時にも記憶された情報を保持する不揮発性メモリとして、ＥＥＰＲＯＭ１５を一例に説明したが、これに代えてフラッシュメモリを用いてもよく、また、これらＥＥＰＲＯＭ１５またはフラッシュメモリは、メインマイコン１０に内蔵又は外付けのいずれであってもよい。
【００７９】
第１実施形態及び第２実施形態において、ＣＰＵ１２，２１は、プロセッサ、マイクロプロセッサ、ＭＰＵ（Micro Processing Unit）を含む概念であり、メインマイコン１０及びサブマイコン２０は、ＭＣＵ（Microcontroller）を含む概念である。
【００８０】
第１実施形態及び第２実施形態において、強制作動時間中にイグニッションスイッチのオフ操作を行った場合であっても、セルフシャットオフ期間であればメインマイコン１０又はマイクロコンピュータ１０Ａには電源が供給されているので、セルフシャットオフ期間に継続してＥＥＰＲＯＭへの書き込みを行ってもよい。
【００８１】
第１実施形態及び第２実施形態において、異常時書き込みを行った場合には、セルフシャットオフ期間においてＥＥＰＲＯＭ１５への書き込みは行わなくてもよいので、セルフシャットオフ機能を無効にすることができる。
【００８２】
第１実施形態において、メインマイコン１０の機能状態の診断は、前述のようなメインマイコン１０の自己診断処理に限らず、例えば、メインマイコン１０及びサブマイコン２０において行われた所定の演算処理の結果が一致するか否か等、メインマイコン１０とサブマイコン２０とが協働して行うことができる。同様に、第２実施形態において、第１コア１２ａの機能状態の診断についても、第１コア１２ａと第２コア１２ｂとが協働して行うことができる。
【００８３】
第１実施形態において、セルフシャットオフ機能は、メインマイコン１０とは別のデバイス（例えばサブマイコン２０）に、イグニッションスイッチ３の出力電圧Ｖignの検出信号Ｓviが入力されて、この別のデバイスが検出信号Ｓviに基づいてリレースイッチ４０に対してこれをオン又はオフにする制御信号Ｓroを出力するように構成されても実現可能である。
【００８４】
第１実施形態では、サブマイコン２０から強制起動指令信号を受信したメインマイコン１０が図３の時刻ｔ５において強制的に起動して、強制停止指令信号を受信して時刻ｔ６において動作を停止するまでの強制作動時間中に、メインマイコン１０に異常が発生したことを示す自己診断情報をＥＥＰＲＯＭ１５に書き込んでいた。しかし、最初の強制作動時間が終了した後、メインマイコン１０が自己診断処理を繰り返し行って、異常が発生したと診断する度にサブマイコン２０が停止要求信号をメインマイコン１０に向けて送信する場合には、強制作動時間毎に、メインマイコン１０に異常が発生したことを示す自己診断情報をＥＥＰＲＯＭ１５に書き込むことになる。
【００８５】
そこで、メインマイコン１０は、自己診断処理により異常が発生したと診断して、その旨の自己診断情報をサブマイコン２０へ送信すると、サブマイコン２０は、その自己診断情報をＲＡＭ２２に保存し、イグニッションスイッチ３のオフ操作後におけるセルフシャットオフ期間中に、サブマイコン２０のＲＡＭ２２に保存された自己診断情報をメインマイコン１０へ送信することで、メインマイコン１０が自己診断情報をＥＥＰＲＯＭ１５に書き込んでもよい。これにより、他の車載機器に影響を与えることなく、安定的な書き込み動作が可能となる。
【符号の説明】
【００８６】
１…自動車用電子制御装置、２…車載バッテリ、３…イグニッションスイッチ、４…エンジン、１０，１０Ａ…メインマイコン、１２…ＣＰＵ、１２ａ…第１コア、１２ｂ…第２コア、１３…ＲＡＭ、１５…ＥＥＰＲＯＭ、２０…サブマイコン、３０…電源回路、４０…リレースイッチ
【図１】
2018161927.tif 000003
【図２】
2018161927.tif 000004
【図３】
2018161927.tif 000005
【図４】
2018161927.tif 000006
【図５】
2018161927.tif 000007
【図６】
2018161927.tif 000008
【図７】
2018161927.tif 000009