(57)【要約】【課題】マイコンにて誤動作が生じることが抑制された制御システムを提供する。【解決手段】アプリ及びリプログが記憶されたメモリ（１２，２２）と、アプリ若しくはリプログに基づいて動作するＣＰＵ（１１，２１）と、を有するマイコン（１０，２０）及び、複数のマイコンのメモリそれぞれに記憶されたデータを順次一つずつ書き換える書換装置（４０）を備える制御システム。複数のマイコンそれぞれのＣＰＵは、アプリモードの場合、複数のマイコン間の通信が正常か否かを判定し、通信が正常ではないと判定した場合、書換装置から、自身をアプリモードからリプログモードに移行させる移行コマンドが第１所定時間以内に入力されたか否かを判定し、移行コマンドが第１所定時間以内に入力された場合、リプログモードに移行する。【選択図】図１
2014164596.tif 000002
【特許請求の範囲】
【請求項１】
データとしてアプリケーションソフト及びリプログラミングソフトが記憶されたメモリ（１２，２２）と、前記アプリケーションソフト若しくは前記リプログラミングソフトに基づいて動作するＣＰＵ（１１，２１）と、を有する複数のマイコン（１０，２０）、及び、複数の前記マイコンそれぞれのメモリに記憶された前記データを書き換えるためのコマンドを前記マイコンに送信する書換装置（４０）を備える制御システムであって、
前記書換装置は、前記コマンドとして、
前記アプリケーションソフトに基づいて動作するアプリモードから、前記リプログラミングソフトに基づいて動作するリプログモードへの移行を前記ＣＰＵに指示する移行コマンドと、
前記メモリのデータの書き換え処理を前記ＣＰＵに指示する書換コマンドと、を有し、
前記書換装置は、前記移行コマンドを送信した後、複数の前記マイコンそれぞれに応じた前記書換コマンドを順次送信することで、複数の前記マイコンそれぞれのメモリに記憶された前記データを順次一つずつ書き換えることを前記ＣＰＵに指示し、
複数の前記マイコンそれぞれのＣＰＵは、
自身が前記アプリモードの場合、複数の前記マイコン間の通信が正常か否かを判定し、
通信が正常だと判定した場合、前記アプリモードを維持し、
通信が正常ではないと判定した場合、前記書換装置から前記移行コマンドが第１所定時間以内に入力されたか否かを判定し、
前記移行コマンドが前記第１所定時間以内に入力された場合、前記リプログモードに移行することを特徴とする制御システム。
【請求項２】
複数の前記マイコンそれぞれのＣＰＵが、前記アプリモードであるのか、それとも、前記リプログモードであるのかを判定する判定部（３０）を有し、
前記判定部は、
複数の前記マイコンのＣＰＵの全てが前記アプリモードであると判定した場合、複数の前記マイコンのＣＰＵの全てに、前記アプリモードに移行する指示を含む第１制御信号を出力し、
複数の前記マイコンのＣＰＵの少なくとも１つが前記リプログモードであると判定した場合、複数の前記マイコンのＣＰＵの全てに、前記リプログモードに移行する指示を含む第２制御信号を出力することを特徴とする請求項１に記載の制御システム。
【請求項３】
複数の前記マイコンそれぞれのＣＰＵは、前記アプリモードの場合、複数の前記マイコン間の通信が正常か否かを判定する前に、自身が前記アプリモードである旨を含む第１モード信号を前記判定部に出力し、前記リプログモードの場合、前記書き換え処理を行う前に、自身が前記リプログモードである旨を含む第２モード信号を前記判定部に出力し、
前記判定部は、複数の前記マイコンのＣＰＵの全てから前記第１モード信号が入力された場合、複数の前記マイコンのＣＰＵの全てに、前記第１制御信号を出力し、複数の前記マイコンのＣＰＵの少なくとも１つから前記第２モード信号が入力された場合、複数の前記マイコンのＣＰＵの全てに、前記第２制御信号を出力することを特徴とする請求項２に記載の制御システム。
【請求項４】
前記書換装置は、複数の前記マイコンの内の１つに前記移行コマンドを出力しており、
前記移行コマンドの入力のために前記リプログモードに移行されたマイコンから前記第２モード信号が前記判定部に入力され、前記判定部から前記第２制御信号が自身に入力されることで、前記移行コマンドが入力されないマイコンは、前記リプログモードに移行することを特徴とする請求項３に記載の制御システム。
【請求項５】
複数の前記マイコンそれぞれのＣＰＵは、
通信が正常ではないと判定した場合、前記書換装置から、前記移行コマンドが前記第１所定時間以内に入力されたか否かを判定する前に、前記判定部から、前記第２制御信号が入力されたか否かを判定し、
前記第２制御信号が入力されたと判定した場合、前記リプログモードに移行し、
前記第２制御信号が入力されなかったと判定した場合、前記書換装置から、前記移行コマンドが前記第１所定時間以内に入力されたか否かを判定することを特徴とする請求項２〜４いずれか１項に記載の制御システム。
【請求項６】
複数の前記マイコンそれぞれのＣＰＵは、前記移行コマンドが前記第１所定時間以内に入力されなかった場合、自身と電気的に接続された前記ＣＰＵにリセット信号の送信指示を含む指示信号を出力することを特徴とする請求項１〜５いずれか１項に記載の制御システム。
【請求項７】
複数の前記マイコンそれぞれは、互いに異なる照合キーを有しており、
前記書換装置は、前記書換コマンドとして、
複数の前記マイコンの内の一つが有する前記照合キーを含み、この照合キーと自身が有する前記照合キーとが合致した場合、前記書換装置への照合完了信号の返信を前記ＣＰＵに指示する照合コマンドと、
前記メモリに記憶されたデータの消去を前記ＣＰＵに指示する消去コマンドと、
前記メモリへの新たなデータの書き込みを前記ＣＰＵに指示する書込コマンドと、を有し、
前記書換装置は、複数の前記マイコンそれぞれに応じた前記書換コマンドとして、複数の前記マイコンそれぞれが有する前記照合キーを含む前記書換コマンドを順次送信することで、複数の前記マイコンそれぞれのメモリに記憶された前記データを順次一つずつ書き換えることを特徴とする請求項１〜６いずれか１項に記載の制御システム。
【請求項８】
前記書換装置は、
前記照合コマンドを送信してから、前記照合完了信号を第２所定時間以内に受信したか否かを判定し、
前記照合完了信号を前記第２所定時間以内に受信したと判定した場合、前記照合完了信号を送信したマイコンの書き換え処理は正常に終了したと判定し、
前記照合完了信号を前記第２所定時間以内に受信しなかったと判定した場合、前記照合完了信号を送信したマイコンの書き換え処理は異常であると判定することを特徴とする請求項７に記載の制御システム。
【請求項９】
前記書換装置は、前記書き換え処理の判定を表示する画面（４１）を有し、
前記書換装置は、前記照合完了信号を送信したマイコンの書き換え処理は正常に終了したと判定した場合、その旨を前記画面に表示することを特徴とする請求項８に記載の制御システム。
【請求項１０】
前記書換装置は、前記照合完了信号を送信したマイコンの書き換え処理は異常であると判定した場合、その旨を前記画面に表示することを特徴とする請求項９に記載の制御システム。
【請求項１１】
前記画面は、タッチパネルになっており、
前記画面には、複数の前記マイコンの内、いずれのマイコンの書き換え処理を行うかを選択する選択スイッチが表示されることを特徴とする請求項１０に記載の制御システム。
【請求項１２】
前記書換装置は、複数の前記マイコンの書き換え処理の終了状態に応じて、いずれのマイコンの書き換え処理を再度行うかを設定するためのパラメータを有し、該パラメータは、ユーザーによって設定可能となっていることを特徴とする請求項１〜１１のいずれか１項に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマイコンと書換装置を備える制御システムに関するものである。
【背景技術】
【０００２】
従来、例えば特許文献１に示されるように、第一及び第二のマイクロコンピュータを備える電子制御装置が提案されている。各マイクロコンピュータは、データ書換可能な不揮発性メモリと、通信ラインに接続された通信回路と、を内蔵している。各マイクロコンピュータは、通信回路を介して自身宛の書込対象のデータを受信すると、書込対象のデータを不揮発性メモリに書き込み、不揮発性メモリが記憶するデータを更新する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６８１０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記したように、従来、複数のマイクロコンピュータそれぞれに内蔵された不揮発性メモリのデータを書き換える電子制御装置が記載されている。このような電子制御装置では、複数のマイクロコンピュータの不揮発性メモリ内の一つに対してデータの書き換え処理が行われた後、残りの不揮発性メモリに対して、データの書き換え処理が順次行われる。したがって、電子制御装置が２つのマイクロコンピュータを有する場合、一方のマイクロコンピュータの不揮発性メモリの書き換えが終了した時点で、他方のマイクロコンピュータの不揮発性メモリの書き換えは全く行われていないことになる。この時点で、通信障害などが起きて、２つのマイクロコンピュータが落ちると、他方のマイクロコンピュータで書き換えが全く行われないままになる。しかしながら、この状態で電子制御装置が再起動されると、一方のマイクロコンピュータは、書き換えられたデータに基づいて立ち上がり、他方のマイクロコンピュータは、書き換えられていないデータに基づいて立ち上がることとなる。この結果、各マイクロコンピュータは、適した信号を送受信しなくなり、各マイクロコンピュータ（マイコン）にて誤動作が生じる可能性がある。
【０００５】
そこで、本発明は上記問題点に鑑み、マイコンにて誤動作が生じることが抑制された制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記した目的を達成するために、本発明は、データとしてアプリケーションソフト及びリプログラミングソフトが記憶されたメモリ（１２，２２）と、アプリケーションソフト若しくはリプログラミングソフトに基づいて動作するＣＰＵ（１１，２１）と、を有する複数のマイコン（１０，２０）、及び、複数のマイコンそれぞれのメモリに記憶されたデータを書き換えるためのコマンドをマイコンに送信する書換装置（４０）を備える制御システムであって、書換装置は、コマンドとして、アプリケーションソフトに基づいて動作するアプリモードから、リプログラミングソフトに基づいて動作するリプログモードへの移行をＣＰＵに指示する移行コマンドと、メモリのデータの書き換え処理をＣＰＵに指示する書換コマンドと、を有し、書換装置は、移行コマンドを送信した後、複数のマイコンそれぞれに応じた書換コマンドを順次送信することで、複数のマイコンそれぞれのメモリに記憶されたデータを順次一つずつ書き換えることをＣＰＵに指示し、複数のマイコンそれぞれのＣＰＵは、自身がアプリモードの場合、複数のマイコン間の通信が正常か否かを判定し、通信が正常だと判定した場合、アプリモードを維持し、通信が正常ではないと判定した場合、書換装置から移行コマンドが第１所定時間以内に入力されたか否かを判定し、移行コマンドが第１所定時間以内に入力された場合、リプログモードに移行することを特徴とする。
【０００７】
このように本発明によれば、複数のマイコン（１０，２０）それぞれのＣＰＵ（１１，２１）は、アプリモードの場合、複数のマイコン（１０，２０）間の通信が正常ではないと判定した場合、書換装置（４０）から移行コマンドが第１所定時間以内に入力されたか否かを判定する。そして、複数のマイコン（１０，２０）それぞれのＣＰＵ（１１，２１）は、移行コマンドが第１所定時間以内に入力された場合、リプログモードに移行する。これによれば、通信障害などによって、複数のマイコンの内の一部が、書き換えられたアプリケーションソフトに基づいて立ち上がり、残りのマイコンが、書き換えられていないアプリケーションソフトに基づいて立ち上がったとしても、各マイコン（１０，２０）のＣＰＵ（１１，２１）が、強制的にリプログモードに移行される。そのため、各マイコン（１０，２０）のメモリ（１２，２２）に記憶されたアプリケーションソフトが不一致となった結果、各マイコン（１０，２０）間で適した信号を送受信しなくなることが抑制される。この結果、各マイコン（１０，２０）にて誤動作が生じることが抑制される。
【０００８】
複数のマイコンそれぞれのＣＰＵが、アプリモードであるのか、それとも、リプログモードであるのかを判定する判定部（３０）を有し、判定部は、複数のマイコンのＣＰＵの全てがアプリモードであると判定した場合、複数のマイコンのＣＰＵの全てに、アプリモードに移行する指示を含む第１制御信号を出力し、複数のマイコンのＣＰＵの少なくとも１つがリプログモードであると判定した場合、複数のマイコンのＣＰＵの全てに、リプログモードに移行する指示を含む第２制御信号を出力する構成が好適である。
【０００９】
これによれば、通信障害などによって、リプログラミングが未終了のマイコンがあったとしても、各マイコン（１０，２０）のＣＰＵ（１１，２１）が、強制的にリプログモードに移行される。そのため、各マイコン（１０，２０）のモードが不一致となった結果、各マイコン（１０，２０）間で適した信号を送受信しなくなることが抑制される。これにより、各マイコン（１０，２０）にて誤動作が生じることが抑制される。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る制御システムの概略構成を示すブロック図である。
【図２】図１に示す制御システムの信号を説明するための概念図である。
【図３】図１に示すＣＰＵの処理を説明するためのフローチャートである。
【図４】書換装置の処理を説明するためのフローチャートである。
【図５】書換装置の処理を説明するためのフローチャートである。
【図６】画面の概略構成を示す正面図である。
【図７】画面の概略構成を示す正面図である。
【図８】第２実施形態における制御システムの信号を説明するための概念図である。
【図９】第２実施形態における第２ＣＰＵの処理を説明するためのフローチャートである。
【図１０】制御システムの変形例を示すブロック図である。
【図１１】図１０に示す制御システムの信号を説明するための概念図である。
【図１２】図１０に示すマイコンの処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図に基づいて説明する。
（第１実施形態）
図１〜図７に基づいて、本実施形態に係る制御システムを説明する。なお、図２は、ＣＰＵ１１，２１それぞれが、アプリモードで起動した場合を示しており、図３のステップＳ４０〜ステップＳ８０に対応している。
【００１２】
図１に示すように、制御システム１００は、第１マイコン１０と、第２マイコン２０と、書換装置４０と、を有する。本実施形態に係る制御システム１００は、判定部３０を有し、マイコン１０，２０それぞれと判定部３０とが電気的に接続され、マイコン１０，２０それぞれと書換装置４０とが電気的に接続されている。
【００１３】
図２に示すように、マイコン１０，２０それぞれは、後述するモード信号を判定部３０に出力し、判定部３０は、入力されるモード信号に応じた制御信号をマイコン１０，２０に出力する。これにより、マイコン１０，２０それぞれの駆動モードが制御される。書換装置４０は、ユーザーからの書換指示の入力に応じて、マイコン１０，２０それぞれが有するデータを書き換えるためのコマンド（命令文）をマイコン１０，２０それぞれに出力する。これにより、マイコン１０，２０それぞれは、入力されるコマンドにしたがって、自身が有するデータの書き換え処理を行う。マイコン１０，２０それぞれは、書き換え処理の際、コマンドに含まれる指示に対する応答信号を書換装置４０に返信するが、図２では、その応答信号の代表として、後述する照合完了信号のみを示している。
【００１４】
マイコン１０，２０それぞれは、外部から入力される信号によって起動が制御される。具体的に言えば、マイコン１０，２０それぞれは、外部から入力されるリセット信号の入力が解除されると、起動される。リセット信号が解除されるタイミングは、マイコン１０，２０それぞれで同時となっており、マイコン１０，２０それぞれは、同時に起動される。
【００１５】
図１に示すように、第１マイコン１０は、第１ＣＰＵ１１と、第１メモリ１２と、を有し、第２マイコン２０は、第２ＣＰＵ２１と、第２メモリ２２と、を有する。メモリ１２，２２それぞれには、データとして、アプリケーションソフト（以下、アプリと示す）及びリプログラミングソフト（以下、リプログと示す）が記憶されており、ＣＰＵ１１，２１それぞれは、アプリ若しくはリプログに基づいて動作する。
【００１６】
ＣＰＵ１１，２１それぞれは、アプリに基づいて動作するアプリモードの場合、通常処理を行い、リプログに基づいて動作するリプログモードの場合、書換装置４０から入力されるコマンドに基づいて、メモリ１２，２２に記憶されたデータを書き換える書き換え処理を行う。ＣＰＵ１１，２１それぞれは、アプリモードで終了した場合、アプリモードで起動し、リプログモードで終了した場合、リプログモードで起動する。通常、ＣＰＵ１１，２１それぞれは、アプリモードで終了する。ＣＰＵ１１，２１それぞれが、リプログモードで終了するのは、通信障害などによって、リプログラミングが途中で終了した場合（未終了の場合）である。
【００１７】
ＣＰＵ１１，２１それぞれは、アプリモードの場合、自身がアプリモードである旨を含む第１モード信号を判定部３０に出力し、リプログモードの場合、自身がリプログモードである旨を含む第２モード信号を判定部３０に出力する。ＣＰＵ１１，２１それぞれは、判定部３０から、後述する第１制御信号が入力されると、アプリモードに強制的に移行され、後述する第２制御信号が入力されると、リプログモードに強制的に移行される。また、ＣＰＵ１１，２１それぞれは、書換装置４０から、後述する移行コマンドが入力されると、リプログモードに強制的に移行される。本実施形態に係る第１モード信号は、電圧レベルの低いＬｏ信号であり、第２モード信号は、Ｌｏ信号よりも電圧レベルの高いＨｉ信号である。
【００１８】
メモリ１２，２２それぞれには、上記したアプリとリプログの他に、照合キーが記憶されている。第１メモリ１２に記憶された照合キーと第２メモリ２２に記憶された照合キーとは、互いに異なっている。ＣＰＵ１１，２１それぞれは、後述する、メモリ１２，２２に記憶された照合キーのいずれか一方と等しい照合キーを含む照合コマンドが入力されると、入力された照合キーとメモリ１２，２２に記憶された照合キーとを照合する。そして、ＣＰＵ１１，２１それぞれは、照合コマンドに含まれる照合キーとメモリ１２，２２に記憶された照合キーとが合致したと判定した場合、書換装置４０へ照合完了信号を送信する。その後、ＣＰＵ１１，２１それぞれに、後述する消去コマンド、書込コマンド、及び、チェックコマンドが書換装置４０から送信される。ＣＰＵ１１，２１それぞれは、これらのコマンドに基づいて書き換え処理を行うが、その処理については後述する。
【００１９】
判定部３０は、ＣＰＵ１１，２１それぞれが、アプリモードであるのか、それとも、リプログモードであるのかを判定するものである。判定部３０は、ＣＰＵ１１，２１それぞれがアプリモードであると判定した場合、ＣＰＵ１１，２１それぞれに、アプリモードに移行する指示を含む第１制御信号を出力し、ＣＰＵ１１，２１の少なくとも１つがリプログモードであると判定した場合、ＣＰＵ１１，２１それぞれに、リプログモードに移行する指示を含む第２制御信号を出力する。上記したように、ＣＰＵ１１，２１それぞれは、各モードに対応したモード信号を判定部３０に出力する。判定部３０は、ＣＰＵ１１，２１それぞれから第１モード信号が入力された場合、ＣＰＵ１１，２１それぞれに、第１制御信号を出力する。こうすることで、ＣＰＵ１１，２１それぞれを、アプリモードにする。これとは異なり、判定部３０は、ＣＰＵ１１，２１の少なくとも１つから第２モード信号が入力された場合、ＣＰＵ１１，２１それぞれに、第２制御信号を出力する。こうすることで、判定部３０は、ＣＰＵ１１，２１それぞれを、リプログモードにする。本実施形態に係る判定部３０は、ＯＲを含み、第１制御信号はＬｏ信号、第２制御信号はＨｉ信号である。
【００２０】
書換装置４０は、メモリ１２，２２それぞれに記憶されたデータ（アプリ）を書き換えるためのコマンドをＣＰＵ１１，２１それぞれに送信するものである。書換装置４０は、コマンドとして、移行コマンドと、書換コマンドと、を有する。移行コマンドは、アプリモードからリプログモードへの移行をＣＰＵ１１，２１に指示するコマンドであり、書換コマンドは、メモリ１２，２２のデータの書き換え処理をＣＰＵ１１，２１に指示するコマンドである。書換装置４０は、移行コマンドをＣＰＵ１１，２１それぞれに送信した後、マイコン１０，２０それぞれに応じた書換コマンドを順次送信する。こうすることで、メモリ１２，２２それぞれに記憶されたデータを順次一つずつ書き換えることをＣＰＵ１１，２１に指示する。
【００２１】
書換装置４０は、書換コマンドとして、照合コマンドと、消去コマンドと、書込コマンドと、チェックコマンドと、を有する。ＣＰＵ１１，２１それぞれは、書換コマンドが入力されると、書き換え処理として、照合処理と、消去処理と、書込処理と、チェック処理と、を行う。
【００２２】
照合コマンドは、メモリ１２，２２の内の一つに記憶された照合キーを含み、この照合キーと自身が有する照合キーとが合致した場合、書換装置４０への照合完了信号の返信をＣＰＵ１１，２１に指示するコマンドである。したがって、ＣＰＵ１１，２１それぞれは、照合コマンドが入力されると、照合コマンドに含まれる照合キーと、メモリ１２，２２に記憶された照合キーとを照合し、両者が合致したと判定した場合、書換装置４０へ照合完了信号を返信する照合処理を行う。
【００２３】
消去コマンドは、メモリ１２，２２に記憶されたデータにおける消去対象のデータの消去をＣＰＵ１１，２１に指示するコマンドである。したがって、ＣＰＵ１１，２１それぞれは、消去コマンドが入力されると、メモリ１２，２２に記憶されたデータを消去する消去処理を行う。
【００２４】
書込コマンドは、メモリ１２，２２へ、書換装置４０から送信された新たなデータの書き込みをＣＰＵ１１，２１に指示するコマンドである。したがって、ＣＰＵ１１，２１それぞれは、書込コマンドが入力されると、メモリ１２，２２へデータを書き込む書込処理を行う。
【００２５】
チェックコマンドは、メモリ１２，２２に書き込んだデータと書換装置４０から送信されたデータとを照合して、書き換えが成功したか否かのチェックをＣＰＵ１１，２１に指示するコマンドである。したがって、ＣＰＵ１１，２１それぞれは、チェックコマンドが入力されると、書き換えが成功したか否かのチェックするチェック処理を行う。
【００２６】
本実施形態に係る書換装置４０は、先ず、第２マイコン２０に応じた書換コマンドとして、第２メモリ２２に記憶された照合キーを含む書換コマンドを送信する。その後、書換装置４０は、第１マイコン１０に応じた書換コマンドとして、第１メモリ１２に記憶された照合キーを含む書換コマンドを送信する。こうすることで、書換装置４０は、メモリ１２，２２に記憶されたデータを、ＣＰＵ１１，２１に順次一つずつ書き換えさせる。
【００２７】
書換装置４０は、図６及び図７に示すように、画面４１を有する。画面４１は、タッチパネルになっており、書き換え処理の判定と、どのマイコン１０，２０の書き換え処理を行うかを選択する選択スイッチと、書き換え開始を指示する開始スイッチと、を表示する。書換装置４０は、図６及び図７に示すように、マイコン１０，２０の書き換え処理が異常であるのか、それとも、正常に終了したのかを画面４１に表示する。
【００２８】
書換装置４０は、マイコン１０，２０の書き換え処理の終了状態に応じて、いずれのマイコン１０，２０の書き換え処理を再度行うかを設定するためのパラメータを有している。このパラメータは、ユーザーによって設定可能となっている。
【００２９】
次に、本実施形態に係るＣＰＵ１１，２１の起動動作を図３に基づいて説明する。ＣＰＵ１１，２１それぞれは、リセット信号の入力が解除されて起動すると、先ず、メモリ１２，２２の書き込み処理が正常に終了しているか否かを判定する。ＣＰＵ１１，２１それぞれは、メモリ１２，２２の書き込み処理が正常に終了していないと判定した場合、ステップＳ２０に移行し、メモリ１２，２２の書き込み処理が正常に終了していると判定した場合、ステップＳ４０に移行する。以上が、ステップＳ１０である。
【００３０】
ステップＳ２０に移行すると、ＣＰＵ１１，２１それぞれは、リプログモードに移行する。以上が、ステップＳ２０である。
【００３１】
ステップＳ２０後、ＣＰＵ１１，２１それぞれは、第２モード信号を判定部３０に出力して、書き換え処理を行う。以上が、ステップＳ３０である。
【００３２】
これとは異なり、ステップＳ４０に移行すると、ＣＰＵ１１，２１それぞれは、アプリモードに移行する。以上が、ステップＳ４０である。
【００３３】
ステップＳ４０後、ＣＰＵ１１，２１それぞれは、第１モード信号を判定部３０に出力する。以上が、ステップＳ５０である。
【００３４】
ステップＳ５０後、ＣＰＵ１１，２１それぞれは、マイコン１０，２０間の通信が正常か否かを判定する。ＣＰＵ１１，２１それぞれは、マイコン１０，２０間の通信が正常だと判定した場合、アプリモードを維持して、通常処理を行う。これとは異なり、ＣＰＵ１１，２１それぞれは、マイコン１０，２０間の通信が正常ではないと判定した場合、ステップＳ７０に移行する。以上が、ステップＳ６０である。
【００３５】
ところで、マイコン１０，２０間の通信が正常ではない場合とは、２つの場合が考えられる。１つは、マイコン１０，２０間の通信系統に異常がある場合で、これは、リセット処理を行うことで解消される。もう一つは、通信障害などによって、マイコン１０，２０の一方が、書き換えられたアプリに基づいてアプリモードになり、マイコン１０，２０の他方が、書き換えられていないアプリに基づいてアプリモードになった結果、マイコン１０，２０間で適した信号を受信しなかった場合である。これは、全てのマイコン１０，２０のアプリを同一のアプリ（相互関係が成立したアプリ）に書き換えることで解消される。以下、ＣＰＵ１１，２１の起動動作の説明を再開する。
【００３６】
ステップＳ７０に移行すると、ＣＰＵ１１，２１それぞれは、判定部３０から第２制御信号が入力されているか否かを判定する。ＣＰＵ１１，２１それぞれは、第２制御信号が入力されていると判定した場合、ステップＳ２０に移行して、リプログモードに移行する。そして、上記したステップＳ３０を経て、書き換え処理を行う。これとは異なり、ＣＰＵ１１，２１それぞれは、第２制御信号が入力されていないと判定した場合、ステップＳ８０に移行する。なお、ＣＰＵ１１，２１それぞれが、第２制御信号が入力されていないと判定したということは、判定部３０から第１制御信号が入力されている、ということであり、ＣＰＵ１１，２１それぞれがアプリモードであることを示している。
【００３７】
ステップＳ８０に移行すると、ＣＰＵ１１，２１それぞれは、移行コマンドが第１所定時間以内に書換装置４０から入力されたか否かを判定する。ＣＰＵ１１，２１それぞれは、第１所定時間以内に移行コマンドが入力されたと判断した場合、ステップＳ２０に移行して、リプログモードに移行する。そして、上記したステップＳ３０を経て、書き換え処理を行う。これにより、全てのマイコン１０，２０のアプリが同一のアプリ（相互関係が成立したアプリ）に書き換えられる。これとは異なり、ＣＰＵ１１，２１それぞれは、第１所定時間以内に移行コマンドが入力されなかったと判断した場合、ＣＰＵ１１，２１の通信系統に異常が生じていると判断して、リセット処理（相手マイコンへのリセット発行）を行う。これにより、ＣＰＵ１１，２１の通信系統の異常が解消される。
【００３８】
次に、本実施形態に係る書換装置４０の動作を図４及び図５に基づいて説明する。書換装置４０は、先ず、書換指示が、ユーザーから入力されたか否かを判定する。ユーザーから書換指示が入力されていないと判定した場合、現在の状態を維持し、ユーザーから書換指示が入力されている判定した場合、ステップＳ２２０に移行する。以上が、ステップＳ２１０である。ユーザーは、書換装置４０が有する画面４１に表示されるスイッチを適宜タッチすることで、書換指示を書換装置４０に入力する。書換対象は、全てのマイコン１０，２０の場合もあれば、マイコン１０，２０のいずれか一方の場合もある。
【００３９】
ステップＳ２２０に移行すると、書換装置４０は、移行コマンドをマイコン１０，２０それぞれに出力する。以上が、ステップＳ２２０である。
【００４０】
ステップＳ２２０後、書換装置４０は、ユーザーの書換対象が、全てのマイコン１０，２０なのか、それとも、マイコン１０，２０のどちらか一方なのかを判定する。書換装置４０は、書換対象が全てのマイコン１０，２０であると判定した場合、ステップＳ２４０に移行し、書換対象が第１マイコン１０のみであると判定した場合、ステップＳ２８０に移行する。以上が、ステップＳ２３０である。
【００４１】
ステップＳ２４０に移行すると、書換装置４０は、第２メモリ２２に記憶された照合キーの含まれた照合コマンドを第２マイコン２０に送信して、ステップＳ２５０に移行する。第２マイコン２０は、照合コマンドに含まれる照合キーと第２メモリ２２に記憶された照合キーとを照合し、両者が合致したと判定すると、書換装置４０へ照合完了信号を返信する。
【００４２】
ステップＳ２５０において、書換装置４０は、照合コマンドを送信してから、照合完了信号を第２所定時間以内に受信したか否かを判定する。書換装置４０は、照合完了信号を第２所定時間以内に受信しなかったと判定した場合、第２マイコン２０の書き換え処理（照合処理）は異常であると判定して、ステップＳ２６０に移行する。これとは異なり、書換装置４０は、照合完了信号を第２所定時間以内に受信したと判定した場合、第２マイコン２０の照合処理は正常に終了したと判定し、ステップＳ２７０に移行する。
【００４３】
ステップＳ２６０に移行すると、書換装置４０は、第２マイコン２０の書き換えは異常である旨を、画面４１に表示する。そして、ステップＳ２１０に移行して、ユーザーの指示を待つ。
【００４４】
ステップＳ２７０に移行すると、書換装置４０は、第２マイコン２０に適した、消去コマンドと、書込コマンドと、チェックコマンドとを順次第２マイコン２０に出力する。これにより、第２メモリ２２のデータを書き換える。
【００４５】
ステップＳ２７０後、ステップＳ２８０に移行すると、書換装置４０は、第１メモリ１２に記憶された照合キーの含まれた照合コマンドを第１マイコン１０に送信して、ステップＳ２９０に移行する。第１マイコン１０は、照合コマンドに含まれる照合キーと第１メモリ１２に記憶された照合キーとを照合し、両者が合致したと判定すると、書換装置４０へ照合完了信号を返信する。
【００４６】
ステップＳ２９０において、書換装置４０は、照合コマンドを送信してから、照合完了信号を第２所定時間以内に受信したか否かを判定する。書換装置４０は、照合完了信号を第２所定時間以内に受信しなかったと判定した場合、第１マイコン１０の書き換え処理（照合処理）は異常であると判定して、ステップＳ３００に移行する。これとは異なり、書換装置４０は、照合完了信号を第２所定時間以内に受信したと判定した場合、第１マイコン１０の書き換え処理は正常に終了したと判定し、ステップＳ３１０に移行する。
【００４７】
ステップＳ３００に移行すると、書換装置４０は、第１マイコン１０の書き換えは異常である旨を、画面４１に表示する。そして、ステップＳ２１０に移行して、ユーザーの指示を待つ。
【００４８】
ステップＳ３１０に移行すると、書換装置４０は、第１マイコン１０に適した、消去コマンドと、書込コマンドと、チェックコマンドとを順次第１マイコン１０に出力する。これにより、第１メモリ１２のデータを書き換える。
【００４９】
ステップＳ３１０後、ステップＳ３２０に移行すると、書換装置４０は、全てのマイコン１０，２０の書き換えが終了したか否かをチェックする。全てのマイコン１０，２０の書き換えが終了していないと判定した場合、書換装置４０は、マイコン１０，２０の書き換えは異常である旨を、画面４１に表示する。そして、ステップＳ２１０に移行して、ユーザーの指示を待つ。これとは異なり、マイコン１０，２０の書き換えが正常に終了したと判定した場合、書換装置４０は、ステップＳ３３０に移行する。
【００５０】
ステップＳ３３０に移行すると、マイコン１０，２０の書き換えは正常に終了した旨を、画面４１に表示する。そして、書き換えるためのコマンドのマイコン１０，２０への送信を終了する。
【００５１】
次に、本実施形態に係る制御システム１００の作用効果を説明する。上記したように、ＣＰＵ１１，２１それぞれは、アプリモードにおいて、マイコン１０，２０間の通信が正常ではないと判定した場合、書換装置４０から移行コマンドが第１所定時間以内に入力されたか否かを判定する。そして、ＣＰＵ１１，２１それぞれは、移行コマンドが第１所定時間以内に入力された場合、リプログモードに移行する。これによれば、通信障害などによって、第２マイコン２０が、書き換えられたアプリに基づいて立ち上がり、第１マイコン１０が、書き換えられていないアプリに基づいて立ち上がったとしても、各マイコン１０，２０のＣＰＵ１１，２１が、強制的にリプログモードに移行される。そのため、各マイコン１０，２０のメモリ１２，２２に記憶されたアプリが不一致となった結果、各マイコン１０，２０間で適した信号を送受信しなくなることが抑制される。この結果、各マイコン１０，２０にて誤動作が生じることが抑制される。
【００５２】
また、本実施形態に係る制御システム１００によれば、通信障害などのため、第１マイコン１０にて書き換え処理が正常に終了したが、第２マイコン２０にて書き換えが未終了（書き換えが途中までした実施できていない状態）となった場合、各マイコン１０，２０それぞれの起動時に、第１マイコン１０から第１モード信号が出力され、第２マイコン２０から第２モード信号が出力される。この結果、判定部３０から第２制御信号がＣＰＵ１１，２１に入力され、ＣＰＵ１１，２１は、リプログモードに移行する。これとは逆に、第１マイコン１０にて書き換え処理が未終了だが、第２マイコン２０にて書き換えが正常に終了した場合、各マイコン１０，２０それぞれの起動時に、第１マイコン１０から第２モード信号が出力され、第２マイコン２０から第１モード信号が出力される。この結果、判定部３０から第２制御信号がＣＰＵ１１，２１に入力され、ＣＰＵ１１，２１は、リプログモードに移行する。
【００５３】
これによれば、第１マイコン１０と第２マイコン２０それぞれが、通信障害のために、異なるモードで起動したとしても、同一のモードに移行される。そのため、マイコン１０，２０それぞれのモードが不一致となった結果、マイコン１０，２０間で適した信号を送受信しなくなることが抑制される。このため、マイコン１０，２０それぞれにて誤動作が生じることが抑制される。
【００５４】
なお、マイコン１０，２０それぞれにて書き換え処理が正常に終了した場合、マイコン１０，２０それぞれの起動時に、マイコン１０，２０それぞれから第１モード信号が出力される。そのため、判定部３０から第１制御信号がＣＰＵ１１，２１に入力され、ＣＰＵ１１，２１それぞれは、アプリモードに移行する。これとは異なり、マイコン１０，２０それぞれにて書き換え処理が未終了の場合、マイコン１０，２０それぞれの起動時に、マイコン１０，２０それぞれから第２モード信号が出力される。そのため、判定部３０から第２制御信号がＣＰＵ１１，２１に入力され、ＣＰＵ１１，２１それぞれは、リプログモードに移行する。
【００５５】
以上、示したように、第１マイコン１０と第２マイコン２０それぞれが、いかなるモードで起動したとしても、同一のモードに移行される。そのため、マイコン１０，２０それぞれのモードが不一致となった結果、マイコン１０，２０間で適した信号を送受信しなくなることが抑制される。このため、マイコン１０，２０それぞれにて誤動作が生じることが抑制される。
【００５６】
上記したように、判定部３０により、第１マイコン１０と第２マイコン２０それぞれが、いかなるモードで起動したとしても、同一のモードに移行される。しかしながら、通信障害などによって、第２マイコン２０が、書き換えられたアプリに基づいて立ち上がり、第１マイコン１０が、書き換えられていないアプリに基づいて立ち上がった結果、同一のモードであるにも関わらず、マイコン１０，２０間で適した信号を送受信しなくなる虞がある。
【００５７】
また、制御システム１００では、ＣＰＵ１１，２１それぞれは、アプリモードにおいて、マイコン１０，２０間の通信が正常ではないと判定した場合、書換装置４０から移行コマンドが第１所定時間以内に入力されたか否かを判定する。そして、ＣＰＵ１１，２１それぞれは、移行コマンドが第１所定時間以内に入力された場合、リプログモードに移行する。これによれば、通信障害などによって、第２マイコン２０が、書き換えられたアプリに基づいて立ち上がり、第１マイコン１０が、書き換えられていないアプリに基づいて立ち上がったとしても、各マイコン１０，２０のＣＰＵ１１，２１が、強制的にリプログモードに移行される。そのため、各マイコン１０，２０のメモリ１２，２２に記憶されたアプリが不一致となった結果、各マイコン１０，２０間で適した信号を送受信しなくなることが抑制される。この結果、各マイコン１０，２０にて誤動作が生じることが抑制される。
【００５８】
ＣＰＵ１１，２１それぞれは、ステップＳ７０にて、判定部３０から第２制御信号が入力されているか否かを判定する。そして、ＣＰＵ１１，２１それぞれは、第２制御信号が入力されていると判定した場合、ステップＳ２０に移行して、リプログモードに移行する。また、ＣＰＵ１１，２１それぞれは、第２制御信号が入力されていないと判定した場合、ステップＳ８０に移行して、移行コマンドが第１所定時間以内に書換装置４０から入力されたか否かを判定する。そして、ＣＰＵ１１，２１それぞれは、第１所定時間以内に移行コマンドが入力されたと判断した場合、ステップＳ２０に移行して、リプログモードに移行する。
【００５９】
通信障害などによって、リプログラミングが未終了のマイコンが生じる方が、リプログラミングが全く行われないマイコンが生じるよりも、起こり易い。換言すれば、書き換えられたアプリに基づいて第２ＣＰＵ２１が起動し、アプリが書き換え途中であるために、リプログに基づいて第１ＣＰＵ１１が起動する方が、書き換えられたアプリに基づいて第２ＣＰＵ２１が起動し、全く書き換えられてないアプリに基づいて第１ＣＰＵ１１が起動するよりも、起こり易い。したがって、上記のように、先ず、ステップＳ７０にて、リプログラミングが未終了のマイコンが生じた場合に、強制的にリプログモードに移行させ、その後、リプログラミングが全く行われないマイコンが生じた場合に、ステップＳ８０にて、強制的にリプログモードに移行させる。
【００６０】
ＣＰＵ１１，２１それぞれは、ステップＳ６０において、マイコン１０，２０間の通信が正常か否かを判定する。そして、ＣＰＵ１１，２１それぞれは、マイコン１０，２０間の通信が正常ではないと判定した場合、ステップＳ７０に移行する。その後、ＣＰＵ１１，２１それぞれは、ステップＳ８０において、移行コマンドが第１所定時間以内に書換装置４０から入力されたか否かを判定する。そして、ＣＰＵ１１，２１それぞれは、第１所定時間以内に移行コマンドが入力されなかったと判断した場合、リセット処理（相手マイコンへのリセット発行）を行う。
【００６１】
マイコン１０，２０間の通信が正常ではなく、第１所定時間以内に移行コマンドが入力されない、ということは、マイコン１０，２０の通信系統に異常があるということである。したがって、上記したリセット処理により、ＣＰＵ１１，２１の通信系統の異常が解消される。
【００６２】
書換装置４０は、画面４１を有する。画面４１には、マイコン１０，２０の書き換え処理が異常であるのか、それとも、正常に終了したのかが表示される。これにより、書き換え処理が正常に終了したか否かがユーザーに認識される。
【００６３】
画面４１は、タッチパネルになっており、画面４１には、書き換え処理の判定とともに、どのマイコン１０，２０の書き換え処理を行うかを選択する選択スイッチと、書き換え開始を指示する開始スイッチと、が表示される。これにより、ユーザーによって、書き換え処理の対象とするマイコンを選択することができる。そのため、全てのマイコンを書き換え処理の対象とする構成と比べて、書き換え処理の時間が短くなる。
【００６４】
書換装置４０は、マイコン１０，２０の書き換え処理の終了状態に応じて、いずれのマイコン１０，２０の書き換え処理を再度行うかを設定するためのパラメータを有している。このパラメータは、ユーザーによって設定可能となっている。これにより、ユーザーの嗜好に応じて、マイコンの書き換え処理の対象がオートで選択され、書き換え処理がオートで行われる。例えば、第２マイコン２０の書き換え処理が正常に終了し、第１マイコン１０の書き換え処理が異常となった場合、第１マイコン１０のみを再度書き換え処理するように、パラメータを設定することができる。
【００６５】
（第２実施形態）
次に、本発明の第２実施形態を、図８及び図９に基づいて説明する。第２実施形態に係る制御システム１００は、第１実施形態によるものと共通するところが多いので、以下、共通部分については詳しい説明を省略し、異なる部分を重点的に説明する。なお、第１実施形態で示した要素と同一の要素には、同一の符号を付与している。
【００６６】
第１実施形態では、書換装置４０は、ＣＰＵ１１，２１それぞれに、移行コマンドを出力する例を示した。これに対して、本実施形態では、書換装置４０は、図８に示すように、第１ＣＰＵ１１のみに、移行コマンドを出力する点を特徴とする。この場合、移行コマンドの入力のためにリプログモードに移行された第１ＣＰＵ１１から出力された第２モード信号が、判定部３０に入力される。この結果、判定部３０から出力された第２制御信号が、第２ＣＰＵ２１に入力される。これにより、第２ＣＰＵ２１がリプログモードに移行する。これによれば、書換装置４０が、ＣＰＵ１１，２１それぞれに、ＣＰＵ１１，２１それぞれに適した移行コマンドを出力する構成とは異なり、移行コマンドの数が低減される。この結果、書換装置４０の設計が簡素化され、書換装置４０の品質をチェックする時間が短くなる。
【００６７】
なお、この場合、第２ＣＰＵ２１は、図９に示すように、ステップＳ７０において、第３所定時間以内に第２制御信号が入力されるか否かを判定する。第３所定時間以内に第２制御信号が入力された場合、第２ＣＰＵ２１は、リプログモードに移行する。第３所定時間以内に第２制御信号が入力されなかった場合、第２ＣＰＵ２１は、リセット処理を行う。
【００６８】
本実施形態では、書換装置４０が、第１ＣＰＵ１１のみに移行コマンドを出力する例を示した。しかしながら、書換装置４０が、第２ＣＰＵ２１のみに移行コマンドを出力する構成を採用することもできる。この場合、第１ＣＰＵ１１が、図９に示す処理を行う。
【００６９】
以上、本発明の好ましい実施形態について説明したが、本発明は上記した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００７０】
各実施形態では、制御システム１００が判定部３０を有する例を示した。しかしながら、図１０〜図１２に示すように、制御システム１００は、判定部３０を有していなくともよい。この場合においても、通信障害などによって、第２マイコン２０が、書き換えられたアプリに基づいて立ち上がり、第１マイコン１０が、書き換えられていないアプリに基づいて立ち上がったとしても、各マイコン１０，２０のＣＰＵ１１，２１が、書換装置４０から出力された移行コマンドによって、強制的にリプログモードに移行される。そのため、各マイコン１０，２０のメモリ１２，２２に記憶されたアプリが不一致となった結果、各マイコン１０，２０間で適した信号を送受信しなくなることが抑制される。この結果、各マイコン１０，２０にて誤動作が生じることが抑制される。なお、この変形例の場合、ＣＰＵ１１，２１それぞれは、起動処理において、判定部３０と関わりのある処理を行わなくなる。具体的に言えば、図１２に示すように、ステップＳ３０，Ｓ５０，Ｓ７０を行わなくなる。
【００７１】
各実施形態では、第２マイコン２０の書き換え処理をした後、第１マイコン１０の書き換え処理を行う例を示した。しかしながら、これとは逆に、第１マイコン１０の書き換え処理をした後、第２マイコン２０の書き換え処理を行ってもよい。
【００７２】
各実施形態では、制御システム１００が２つのマイコン１０，２０を有する例を示した。しかしながら、マイコンの数としては複数であればよく、制御システム１００が３つ以上のマイコンを有する構成を採用することもできる。
【００７３】
各実施形態では、第１モード信号がＬｏ信号であり、第２モード信号がＨｉ信号である例を示した。しかしながら、第１モード信号がＨｉ信号であり、第２モード信号がＬｏ信号であってもよい。
【００７４】
各実施形態では、第１制御信号がＬｏ信号であり、第２制御信号がＨｉ信号である例を示した。しかしながら、第１制御信号がＨｉ信号であり、第２制御信号がＬｏ信号であってもよい。
【００７５】
各実施形態では、判定部３０がＯＲを含む例を示した。しかしながら、図示しないが、判定部３０がＮＯＲ、ＮＡＮＤ、若しくは、ＡＮＤを含む構成を採用することもできる。なお、判定部３０がＮＯＲを含む場合、第１モード信号がＬｏ信号、第２モード信号がＨｉ信号となり、第１制御信号がＨｉ信号、第２制御信号がＬｏ信号となる。判定部３０がＮＡＮＤを含む場合、第１モード信号がＨｉ信号、第２モード信号がＬｏ信号となり、第１制御信号がＬｏ信号、第２制御信号がＨｉ信号となる。そして、判定部３０がＡＮＤを含む場合、第１モード信号がＨｉ信号、第２モード信号がＬｏ信号となり、第１制御信号がＨｉ信号、第２制御信号がＬｏ信号となる。
【符号の説明】
【００７６】
１０・・・第１マイコン
１１・・・第１ＣＰＵ
１２・・・第１メモリ
２０・・・第２マイコン
２１・・・第２ＣＰＵ
２２・・・第２メモリ
４０・・・書換装置
１００・・・制御システム
【図１】
2014164596.tif 000003
【図２】
2014164596.tif 000004
【図３】
2014164596.tif 000005
【図４】
2014164596.tif 000006
【図５】
2014164596.tif 000007
【図６】
2014164596.tif 000008
【図７】
2014164596.tif 000009
【図８】
2014164596.tif 000010
【図９】
2014164596.tif 000011
【図１０】
2014164596.tif 000012
【図１１】
2014164596.tif 000013
【図１２】
2014164596.tif 000014