(57)【特許請求の範囲】
【請求項１】
モード切り替えスイッチからの出力に基づいて、マイコンが起動するモードを切り替える電子制御装置であって、  前記モード切り替えスイッチからの出力に基づいて、前記マイコンを通常モードで起動させる第１電位または前記マイコンをプログラム書き換えモードで起動させる第２電位を、前記マイコンの制御端子に印加する第１回路と、  イグニッションスイッチがオン動作される毎に前記モード切り替えスイッチからの出力を検出し、前記マイコンの制御端子へ前記第２電位を印加させる出力が連続して検出された回数をカウントし、カウント値が所定の値に達したか否かを判断する第２回路と、  前記第２回路で前記カウント値が前記所定の値に達したと判断されると、前記マイコンの制御端子に印加される電位を前記第１電位に切り替える第３回路とを備え、  前記第２回路は、前記第３回路で前記第１電位に切り替えられた後、前記カウント値をリセットする、電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの書き換えが可能な機能部を搭載した電子制御装置に関する。
【背景技術】
【０００２】
例えば特許文献１には、車両外部の書き換え装置から車両に搭載された電子制御装置の機能部（マイコンなど）のプログラムを書き換える処理の途中で異常が発生した際の対策が開示されている。
【０００３】
この特許文献１では、イグニッションスイッチがＯＮ状態であればプログラム書き換えモードによる処理を実行し、イグニッションスイッチがＯＦＦ状態であれば通常モードによる処理を実行するように、予め規定されている。そして、特許文献１では、プログラムを書き換えるモードによる処理の途中で異常が発生した場合、イグニッションスイッチをＯＦＦ状態に切り替えることで電子制御装置を通常モードで起動させる。これにより、異常の発生によってプログラムを書き換える処理が途中で中断しても、そこで処理が停滞しないようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−０９８３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の技術では、通常モードかプログラム書き換えモードかの指示を出力するスイッチから、プログラム書き換えモードの指示が出力され続けるという異常が発生した場合、イグニッションスイッチをＯＦＦ状態に変化させてもプログラム書き換えモードの指示が解除されず、通常モードを起動することができない。
【０００６】
本発明は、上記課題を鑑みてなされたものであり、プログラム書き換えモードの指示が出力され続けるという異常が発生した場合でも通常モードを起動することができる電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】  上記課題を解決するために、本発明は、モード切り替えスイッチからの出力に基づいて、マイコンが起動するモードを切り替える電子制御装置であって、モード切り替えスイッチからの出力に基づいて、マイコンを通常モードで起動させる第１電位またはマイコンをプログラム書き換えモードで起動させる第２電位を、マイコンの制御端子に印加する第１回路と、イグニッションスイッチがオン動作される毎にモード切り替えスイッチからの出力を検出し、マイコンの制御端子へ第２電位を印加させる出力が連続して検出された回数をカウントし、カウント値が所定の値に達したか否かを判断する第２回路と、第２回路でカウント値が所定の値に達したと判断されると、マイコンの制御端子に印加される電位を第１電位に切り替える第３回路とを備え、第２回路は、第３回路で第１電位に切り替えられた後、カウント値をリセットする、ことを特徴とする。【０００８】
この本発明の電子制御装置では、イグニッションスイッチがオン動作した時のモード切り替えスイッチからの出力を監視し、プログラム書き換えモードでの起動を指示する第２電位を機能部の制御端子に印加させる出力が連続して現れた回数を、カウンタでカウントする。そして、カウンタのカウント値が所定の値に達すれば、モード切り替えスイッチからの出力にかかわらず、機能部の制御端子に印加される電位を通常モードでの起動を指示する第１電位に切り替える。これにより、プログラム書き換えモードの指示が出力され続けるという異常が生じて、本来であればプログラム書き換えモードでしか起動できない状況であっても、カウント値が所定の値に達すれば強制的に通常モードで起動することができる。
【０００９】
また、本発明の電子制御装置では、カウンタのカウント値が所定の値に達してマイコンが通常モードで起動すれば、カウント値をリセットする。これにより、少なくとも所定の値の回数に１回の割合での通常モードによる起動ができる機会を確保しつつ、意図しないプログラム書き換えモードでの起動をわざと行うことで車両のユーザなどにプログラム書き換えモードの指示が出力され続けるという異常を報知することができる。
【発明の効果】
【００１０】
以上述べたように、本発明の電子制御装置によれば、プログラム書き換えモードの指示が出力され続けるという異常が発生した場合でも通常モードを起動することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る電子制御装置を含む車載システムの構成例を示す図
【図２】電子制御装置が実行する起動モード制御処理の手順を示したフローチャート
【発明を実施するための形態】
【００１２】
［概要］
本発明の電子制御装置は、マイコンの起動モードを指示するスイッチの状態を監視する。プログラム書き換えモードの起動を指示するスイッチ状態がある程度連続した場合には、電子制御装置は、スイッチ状態にかかわらず強制的に通常モードで起動する。これにより、スイッチに異常が発生しても、通常モードで起動する機会を確保できる。
【００１３】
以下、本発明が提供する電子制御装置について、車載システムへ適用した構成を一例に挙げて詳細に説明する。
【００１４】
［車載システムの構成例］
図１は、本発明の一実施形態に係る電子制御装置１０を含む車載システム１の構成例を示す図である。図１に例示した車載システム１は、電子制御装置１０、プログラム書き換えモード移行スイッチ２０、プログラム書き換えツール３０、イグニッションスイッチ４０、およびバッテリ５０、を含んで構成される。
【００１５】
バッテリ５０は、車両のエンジンルームやトランクルームなどに搭載される、例えば１２Ｖ系の二次電源である。このバッテリ５０は、一般的な車両に少なくとも１個は搭載されている。バッテリ５０は、電子制御装置１０の＋Ｂ端子に接続され、かつ、イグニッションスイッチ４０を介して電子制御装置１０のＩＧ端子に接続されている。この＋Ｂ端子に入力されるバッテリ５０の電源電位を「＋Ｂ電位」という。
【００１６】
イグニッションスイッチ（以下「ＩＧスイッチ」という）４０は、車両のドライバー席付近などに配置されるスイッチであり、バッテリ５０と電子制御装置１０（のＩＧ端子）との間に介在される。このＩＧスイッチ４０は、スイッチＯＦＦの状態であれば、図１の例ではスイッチ出力側のＩＧ端子をＬｏｗレベルの電位にすることができる。また、ＩＧスイッチ４０は、スイッチＯＮの状態であれば、図１の例ではスイッチ出力側のＩＧ端子をＨｉｇｈレベルの電位、すなわちバッテリ５０の電源電位にすることができる。このＩＧ端子に入力されるバッテリ５０の電源電位を「ＩＧ電位」という。
【００１７】
プログラム書き換えモード移行スイッチ（以下「モード切り替えスイッチ」という）２０は、外部から電子制御装置１０のＷＦＳＥ端子に接続される。このモード切り替えスイッチ２０は、後述する電子制御装置１０のマイコンが起動するモードを、通常モードとするかプログラム書き換えモードとするかを切り替えるスイッチである。モード切り替えスイッチ２０は、スイッチＯＦＦの状態であれば、図１の例ではスイッチ出力側のＷＦＳＥ端子をＨｉｇｈレベルの電位、すなわちＩＧ電位から負荷Ｒ１を介して現れる電位にすることができる。また、モード切り替えスイッチ２０は、スイッチＯＮの状態であれば、図１の例ではスイッチ出力側のＷＦＳＥ端子をＬｏｗレベル電位、すなわち接地によって現れるＧＮＤ電位にすることができる。各スイッチ状態でＷＦＳＥ端子に現れるＨｉｇｈ電位およびＬｏｗ電位は、負荷Ｒ２を介してマイコン（後述する）に入力される。
【００１８】
一端がＩＧ電位と接続され、かつ、他端がＷＦＳＥ端子に接続された負荷Ｒ１、および一端がＷＦＳＥ端子に接続され、かつ、他端がマイコンの制御端子に接続された負荷Ｒ２は、モード切り替えスイッチ２０からの出力に基づいて、マイコンを通常モードで起動させる電位またはマイコンをプログラム書き換えモードで起動させる電位を、マイコンの制御端子に印加する回路（請求項における「第１回路」）として機能する。
【００１９】
プログラム書き換えツール３０は、外部から電子制御装置１０のＰＲ端子に接続される。このプログラム書き換えツール３０は、電子制御装置１０がプログラム書き換えモードで起動した場合に、後述する電子制御装置１０のマイコンと通信を行ってプログラムの書き換え制御を行う。
【００２０】
電子制御装置１０は、プログラムの書き換えが可能な機能部を搭載した装置であり、モード切り替えスイッチ２０からの出力であるＷＦＳＥ端子の電位に基づいて、機能部が起動するモードを切り替える。この電子制御装置１０は、電源回路１１と、状態モニタ回路１２と、プログラム書き換えモードキャンセル回路１３と、マイコン１４と、を備えている。状態モニタ回路１２は、請求項における「第２回路」に相当し、プログラム書き換えモードキャンセル回路１３は、請求項における「第３回路」に相当する。
【００２１】
電源回路１１は、ＯＮ状態のＩＧスイッチ４０を介してＩＧ端子に入力されるバッテリ５０の電圧信号（例えば１２Ｖ系信号）を入力し、当該電圧信号から新たな電圧（例えば５Ｖ系電圧）を生成して所定の信号線に出力する。この新たな電圧は、例えばマイコン１４の電源として用いられる。
【００２２】
状態モニタ回路１２は、ＩＧ端子に接続されており、ＩＧ端子に現れる電位の変化、すなわちバッテリ５０の電圧信号が入力されたか否かに基づいて、ＩＧスイッチ４０がＯＮ状態であるかＯＦＦ状態であるかを判断する。また、状態モニタ回路１２は、ＷＦＳＥ端子に接続されており、ＷＦＳＥ端子に現れる電位の変化、すなわち電位がＨｉｇｈ電位であるかＬｏｗ電位であるかを検出することで、モード切り替えスイッチ２０がＯＮ状態であるかＯＦＦ状態であるかを判断する。
【００２３】
また、状態モニタ回路１２には、カウンタ１２ｃが設けられている。このカウンタ１２ｃは、ＩＧスイッチ４０がＯＦＦ状態からＯＮ状態に変化（ＩＧ＿ＯＮ動作）した時に、ＷＦＳＥ端子に現れる電位がＬｏｗ電位であることが検出されると、つまりモード切り替えスイッチ２０がＯＮ状態となっていることが判断されると、カウント値Ｃをインクリメントする。カウント値Ｃは、ＩＧスイッチ４０がＯＦＦ状態からＯＮ状態に変化（ＩＧ＿ＯＮ動作）した時に、ＷＦＳＥ端子に現れる電位がＨｉｇ電位であることが検出されるか、つまりモード切り替えスイッチ２０がＯＦＦ状態となっていることが判断されるか、またはカウント値Ｃが所定の値Ｔｈに達すると、初期化（リセット）される。
【００２４】
所定の値Ｔｈは、モード切り替えスイッチ２０がＯＮ状態であることを示すＬｏｗ電位が出力され続けるという異常（以下「モード切り替えスイッチ異常」という）が発生した場合に、電子制御装置１０のマイコン１４が強制的に通常モードで起動できるようにするために設定される値である。モード切り替えスイッチ異常は、例えば、モード切り替えスイッチ２０の電気的接点が固着したり、ＷＦＳＥ端子がＧＮＤと短絡したりして発生する。この所定の値Ｔｈは、典型的には２以上の自然数である。以上のことから、カウンタ１２ｃは、ＩＧスイッチ４０がオン動作される毎に状態モニタ回路１２で検出されるＷＦＳＥ端子の電位として、Ｌｏｗ電位が連続して検出された回数をカウントし、カウントした値が所定の値Ｔｈまで達したか否かを判断するために利用される。
【００２５】
さらに、状態モニタ回路１２は、プログラム書き換えモードキャンセル回路１３と接続されており、ＷＦＳＥ端子においてＬｏｗ電位が連続して検出された回数が所定の値Ｔｈまで達したと判断した場合に、プログラム書き換えモードキャンセル回路１３にキャンセル動作を指示する。
【００２６】
なお、状態モニタ回路１２は、＋Ｂ端子に接続されており、バッテリ５０から直接電源の供給を受けることによって常時動作している。このため、状態モニタ回路１２は、ＩＧスイッチ４０がＯＦＦ状態となったとしても、ＩＧスイッチ４０の状態、モード切り替えスイッチ２０の状態、カウンタ１２ｃのカウント値Ｃ、およびキャンセル動作の指示を、保持することができる。
【００２７】
プログラム書き換えモードキャンセル回路（以下「モードキャンセル回路」という）１３は、モード切り替えスイッチ２０とマイコン１４との間に介在される。このモードキャンセル回路１３は、モード切り替えスイッチ２０の状態および状態モニタ回路１２から指示されるキャンセル動作の有無に基づいて、マイコン１４を通常モードで起動させるか、プログラム書き換えモードで起動させるかを制御（指示）する。
【００２８】
モードキャンセル回路１３は、状態モニタ回路１２からキャンセル動作の指示がない場合には、モード切り替えスイッチ２０の状態に基づいて、起動させるモードを制御（指示）する。具体的には、モードキャンセル回路１３は、モード切り替えスイッチ２０がＯＦＦ状態、すなわちＷＦＳＥ端子に現れる電位がＨｉｇｈ電位であれば、当該Ｈｉｇｈ電位が負荷Ｒ２を介して現れる電位（以下「第１電位」という）を、マイコン１４の制御端子に印加する。この第１電位の印加によって、通常モードで起動すべきことがマイコン１４へ指示される。また、モードキャンセル回路１３は、モード切り替えスイッチ２０がＯＮ状態、すなわちＷＦＳＥ端子に現れる電位がＬｏｗ電位であれば、当該Ｌｏｗ電位が負荷Ｒ２を介して現れる電位（以下「第２電位」という）をマイコン１４の制御端子に印加する。この第２電位の印加によって、プログラム書き換えモードで起動すべきことがマイコン１４へ指示される。
【００２９】
これに対し、モードキャンセル回路１３は、状態モニタ回路１２からキャンセル動作の指示がある場合、モード切り替えスイッチ２０の状態にかかわらず、マイコン１４を通常モードで強制的に起動させる制御（指示）を行う。この通常モードによる強制的な起動は、例えば図１の例のように、モードキャンセル回路１３の内部に有するスイッチＳＷをＯＮ状態にすることで負荷Ｒ３を介してマイコン１４の制御端子を＋Ｂ電圧に接続して、当該制御端子の印加電圧を第１電位に上昇させることで容易に実現できる。
【００３０】
なお、図１の例では、モードキャンセル回路１３によってマイコン１４の制御端子に印加される電圧値は、＋Ｂ電圧を負荷Ｒ３と負荷Ｒ２とで分圧した電圧値となるため、モード切り替えスイッチ２０に異常がない時の通常モードにおいてマイコン１４の制御端子に印加される電圧値とは、厳密的には異なることになる。これに関しては、負荷Ｒ３の値を負荷Ｒ２の値に対して十分大きく設定したり、いずれの電圧値が制御端子に印加されても通常モードを起動できるように、マイコン１４が起動モードを判断するためのしきい値を設計したりすることなどで、対応可能である。
【００３１】
マイコン１４は、電子制御装置１０における様々な制御を実行するマイクロコンピュータである。このマイコン１４は、プログラムの書き換えが可能な機能部であり、モードキャンセル回路１３からの制御（指示）に従って、制御端子に第１電圧（略ＩＧ電位、略＋Ｂ電位）が印加されれば通常モードで起動し、また制御端子に第２電圧（略ＧＮＤ電位）が印加されればプログラム書き換えモードで起動する。通常モードで起動した場合には、マイコン１４は、車両の走行に関する通常の制御を行う。プログラム書き換えモードで起動した場合には、マイコン１４は、ＰＲ端子に接続されたプログラム書き換えツール３０と通信を確立させ、プログラム書き換えツール３０から送信されるプログラム情報に従って、プログラムの書き換え制御を行う。
【００３２】
なお、上述した電子制御装置１０は、典型的には中央演算処理装置（ＣＰＵ：Central Processing Unit）、メモリ、および入出力インタフェースなどを含んで構成され、メモリに格納されたプログラムをＣＰＵが読み出して解釈実行することにより、上述した電源回路１１、状態モニタ回路１２、モードキャンセル回路１３、およびマイコン１４としての機能を発揮する。
【００３３】
［車載システムで実行される起動モード切り替え処理］
図２をさらに参照して、本発明の一実施形態に係る車載システム１で行われる電子制御装置１０の起動モードを適切に切り替える処理を説明する。図２は、電子制御装置１０が実行する起動モード制御処理の手順を示したフローチャートである。なお、状態モニタ回路１２のカウンタ１２ｃは、車両出荷時に初期化されており、カウント値Ｃがゼロであるとして説明する。
【００３４】
図２に示す起動モード制御処理は、例えば車両の電源状態がアクセサリー電源オン状態（ＡＣＣ＿ＯＮ）になると開始される。起動モード制御処理を開始すると、電子制御装置１０は、ＩＧスイッチ４０の状態を監視する（Ｓ２１）。
【００３５】
ＩＧ端子に現れる電位の変化を検出して、ＩＧスイッチ４０がＯＦＦ状態からＯＮ状態に変化（ＩＧ＿ＯＮ動作）したと判断すると（Ｓ２１：Ｙｅｓ）、電子制御装置１０は、その時のモード切り替えスイッチ２０の状態を判断する（Ｓ２２）。
【００３６】
ＷＦＳＥ端子に現れるＨｉｇ電位を検出して、モード切り替えスイッチ２０がＯＦＦ状態であることを判断すると（Ｓ２２：Ｎｏ）、電子制御装置１０は、通常モードで起動する（Ｓ２５）。このステップＳ２２の判断において通常モードで起動した場合には、モード切り替えスイッチ異常が生じていないと判定される。通常モードで起動した場合には、電子制御装置１０は、状態モニタ回路１２のカウンタ１２ｃを初期化してカウント値Ｃをリセットする（Ｓ２６）。
【００３７】
一方、ＷＦＳＥ端子に現れるＬｏｗ電位を検出して、モード切り替えスイッチ２０がＯＮ状態であることを判断すると（Ｓ２２：Ｙｅｓ）、電子制御装置１０は、状態モニタ回路１２のカウンタ１２ｃをインクリメントしてカウント値Ｃを１つ増加させる（Ｓ２３）。そして、電子制御装置１０は、カウンタ１２ｃのカウント値Ｃが所定の値Ｔｈに達したか否かを判断する（Ｓ２４）。
【００３８】
上記ステップＳ２４においてカウンタ１２ｃのカウント値Ｃが所定の値Ｔｈに達していないと判断した場合（Ｓ２４：Ｎｏ）、電子制御装置１０は、プログラム書き換えモードで起動する（Ｓ２７）。このステップＳ２４の判断においてプログラム書き換えモードで起動した場合には、モード切り替えスイッチ異常が生じているか否かを判定できない状況にある。
【００３９】
これに対して、上記ステップＳ２４においてカウンタ１２ｃのカウント値Ｃが所定の値Ｔｈに達したと判断した場合（Ｓ２４：Ｙｅｓ）、電子制御装置１０は、モード切り替えスイッチ異常が生じたと判定し、強制的に通常モードで起動する（Ｓ２５）。そして、通常モードで起動した場合には、電子制御装置１０は、状態モニタ回路１２のカウンタ１２ｃを初期化してカウント値Ｃをリセットする（Ｓ２６）。
【００４０】
上記ステップＳ２１〜Ｓ２７の処理は、例えば車両の電源状態が電源オフ状態（ＡＣＣ＿ＯＦＦ）になるまで、繰り返して実行される（Ｓ２８）。
【００４１】
［実施の形態の作用・効果］
以上のように、本発明の一実施形態に係る電子制御装置１０によれば、ＩＧスイッチ４０がＯＦＦ状態からＯＮ状態に変化（ＩＧ＿ＯＮ動作）した時のモード切り替えスイッチ２０端に現れる電位を監視する。そして、プログラム書き換えモードで起動させることを指示する第２電位をマイコン１４の制御端子に印加させるＬｏｗ電位が、モード切り替えスイッチ２０端に連続して現れた回数を、カウンタ１２ｃでカウントする。カウント値Ｃが所定の値Ｔｈに達すれば、モード切り替えスイッチ２０端の電位にかかわらず、通常モードで起動させることを指示する第１電位をマイコン１４の制御端子に印加する。
【００４２】
これにより、モード切り替えスイッチ異常が生じて、本来であればプログラム書き換えモードでしか起動できない状況であっても、カウント値Ｃが所定の値Ｔｈに達すれば強制的に通常モードで起動することができる。よって、モード切り替えスイッチ異常が生じた時に、車両を全く動かすことができなくなる状態を回避でき、例えば整備工場などのメンテナンスを受けることが可能な場所までの車両走行が可能となる。
【００４３】
また、本実施形態に係る電子制御装置１０では、カウント値Ｃが所定の値Ｔｈに達することでモード切り替えスイッチ異常が生じたと判定した後に、カウンタ１２ｃを初期化する。このカウンタ１２ｃの初期化により、モード切り替えスイッチ異常が生じて、本来であればプログラム書き換えモードでしか起動できない状況であっても、所定の値Ｔｈの回数に１回の割合での通常モードによる起動ができる機会を確保することができる。加えて、意図しないプログラム書き換えモードでの起動をわざと行うことで、車両のユーザなどにモード切り替えスイッチ異常を報知することができる。
【産業上の利用可能性】
【００４４】
本発明は、プログラムの書き換えが可能な機能部を搭載した電子制御装置に利用可能であり、特にプログラム書き換えモードの指示が出力され続けるという異常が発生した場合でも通常モードを起動したい場合に有用である。
【符号の説明】
【００４５】
１      車載システム
１０    電子制御装置
１１    電源回路
１２    状態モニタ回路
１２ｃ  カウンタ
１３    プログラム書き換えモードキャンセル回路
１４    マイコン
２０    プログラム書き換えモード切り替えスイッチ
３０    プログラム書き換えツール
４０    イグニッションスイッチ
５０    バッテリ
【図１】
0006540518.tif 000002
【図２】
0006540518.tif 000003