(57)【要約】【課題】スレーブがマスターから送受信要求を受けた場合であっても、新旧のデータを混在させることなく、新しいデータをスレーブが使用できる電子制御装置を得る。【解決手段】電子制御装置は、マスター対象データ領域（Ａ７）、複数の送信マスターバンク（Ａ２，Ａ３）、送信マスター情報領域（Ａ１）、受信スレーブ情報領域（Ａ４）および複数の受信スレーブバンク（Ａ５，Ａ６）を含むマスターメモリ（２３）を有するマスターマイコンと、スレーブ対象データ領域（Ｂ７）、複数の送信スレーブバンク（Ｂ５，Ｂ６）、送信スレーブ情報領域（Ｂ４）、受信マスター情報領域（Ｂ１）および複数の受信マスターバンク（Ｂ２，Ｂ３）を含むスレーブメモリ（３３）を有するスレーブマイコンとを備えて構成される。【選択図】図２
2018181231.tif 000002
【特許請求の範囲】
【請求項１】
マスターメモリを有する主データ送受信装置と、スレーブメモリを有する従データ送受信装置とを備え、前記主データ送受信装置と前記従データ送受信装置とが相互に通信可能に接続されている電子制御装置であって、
前記マスターメモリは、
対象データを格納するマスター対象データ領域と、
前記マスター対象データ領域内の前記対象データをマスターデータとして格納する複数の送信マスターバンクと、
前記複数の送信マスターバンクのうち、更新対象マスターバンクとして設定された送信マスターバンクを示す更新対象マスターバンク情報を含むマスター情報を格納する送信マスター情報領域と、
前記従データ送受信装置から受信したスレーブ情報を格納する受信スレーブ情報領域と、
前記従データ送受信装置から受信したスレーブデータを、前記受信スレーブ情報領域内の前記スレーブ情報に従って格納する複数の受信スレーブバンクと、
を有し、
前記スレーブメモリは、
前記対象データを格納するスレーブ対象データ領域と、
前記スレーブ対象データ領域内の前記対象データを前記スレーブデータとして格納する複数の送信スレーブバンクと、
前記複数の送信スレーブバンクのうち、更新対象スレーブバンクとして設定された送信スレーブバンクを示す更新対象スレーブバンク情報を含む前記スレーブ情報を格納する送信スレーブ情報領域と、
前記主データ送受信装置から受信した前記マスター情報を格納する受信マスター情報領域と、
前記主データ送受信装置から受信した前記マスターデータを、前記受信マスター情報領域内の前記マスター情報に従って格納する複数の受信マスターバンクと、
を有し、
前記主データ送受信装置は、マスターデータ送信処理として、
設定された前記更新対象マスターバンク内の既存のマスターデータを、送信する新たなマスターデータに更新し、前記送信マスター情報領域内の前記マスター情報を送信した後、前記更新対象マスターバンク内の前記マスターデータを送信し、
前記従データ送受信装置は、マスターデータ反映処理として、
前記受信マスター情報領域内の前記更新対象マスターバンク情報と異なる前記受信マスターバンクを反映対象マスターバンクとして設定し、前記スレーブ対象データ領域内の既存の対象データを、設定された前記反映対象マスターバンク内の前記マスターデータに更新し、
前記従データ送受信装置は、スレーブデータ準備処理として、
設定された前記更新対象スレーブバンク内の既存のスレーブデータを、送信する新たなスレーブデータに更新し、
前記主データ送受信装置は、スレーブデータ受信処理として、
前記送信スレーブ情報領域内の前記スレーブ情報を受信し、前記受信スレーブ情報領域内の前記更新対象スレーブバンク情報と異なる前記送信スレーブバンクを受信対象スレーブバンクとして設定し、設定された前記受信対象スレーブバンク内の前記スレーブデータを受信する
電子制御装置。
【請求項２】
前記マスター情報は、
前記更新対象マスターバンク内の前記既存のマスターデータが更新された回数を示すマスターバンク更新カウンタ値をさらに含み、
前記主データ送受信装置は、前記マスターデータ送信処理において、
前記更新対象マスターバンク内の前記マスターデータを送信した後、前記送信マスター情報領域内の前記マスターバンク更新カウンタ値をインクリメントし、前記マスター情報をさらに送信し、
前記従データ送受信装置は、前記マスターデータ反映処理において、
前記スレーブ対象データ領域内の前記既存の対象データの更新前後で、前記受信マスター情報領域内の前記マスターバンク更新カウンタ値が異なっていれば、前記反映対象マスターバンクの設定と、前記スレーブ対象データ領域内の前記既存の対象データの更新を再度行う
請求項１に記載の電子制御装置。
【請求項３】
前記主データ送受信装置は、前記マスターデータ送信処理において、
前記更新対象マスターバンク内の前記マスターデータを送信した後、前記更新対象マスターバンクの設定を切り替えるマスターバンク切替処理を行う
請求項１または２に記載の電子制御装置。
【請求項４】
前記マスター情報は、
前記主データ送受信装置の動作状態を示すマスター動作情報をさらに含み、
前記スレーブ情報は、
前記更新対象スレーブバンクの設定を切り替えるスレーブバンク切替処理を許可するか否かを示すスレーブバンク切替情報をさらに含み、
前記主データ送受信装置は、前記スレーブデータ受信処理において、
前記送信スレーブ情報領域内の前記スレーブ情報を受信する前に、前記送信マスター情報領域内の前記マスター動作情報を「受信中」に設定して前記送信マスター情報領域内の前記マスター情報を送信し、前記受信対象スレーブバンク内の前記スレーブデータの受信が完了した後に、前記送信マスター情報領域内の前記マスター動作情報を「アイドル」に設定して前記送信マスター情報領域内の前記マスター情報を送信し、
前記従データ送受信装置は、マスター情報受信時処理として、
前記スレーブデータ受信処理で送信された前記送信マスター情報領域内の前記マスター情報を受信し、前記受信マスター情報領域内の前記マスター動作情報が「アイドル」を示せば、前記送信スレーブ情報領域内の前記スレーブバンク切替情報を「有効」に設定し、前記マスター動作情報が「受信中」を示せば、前記スレーブバンク切替情報を「無効」に設定し、
前記従データ送受信装置は、前記スレーブデータ準備処理において、
前記更新対象スレーブバンク内の前記既存のスレーブデータの更新後に、前記送信スレーブ情報領域内の前記スレーブバンク切替情報が「有効」を示す場合、前記スレーブバンク切替処理を行い、
前記主データ送受信装置は、前記スレーブデータ受信処理において、
前記受信スレーブ情報領域内の前記スレーブバンク切替情報が「有効」を示す間は、前記送信スレーブ情報領域内の前記スレーブ情報の受信を繰り返し、前記スレーブバンク切替情報が「無効」となれば、前記受信対象スレーブバンク内の前記スレーブデータを受信する
請求項１から３のいずれか１項に記載の電子制御装置。
【請求項５】
前記従データ送受信装置は、前記スレーブデータ準備処理において、
前記更新対象スレーブバンク内の前記既存のスレーブデータの更新後に、前記送信スレーブ情報領域内の前記スレーブバンク切替情報が「無効」を示す場合、前記スレーブバンク切替処理の予約を行い、
前記従データ送受信装置は、前記マスター情報受信時処理において、
前記送信スレーブ情報領域内の前記スレーブバンク切替情報を「有効」に設定した際、前記予約があれば、前記スレーブバンク切替処理を行う
請求項４に記載の電子制御装置。
【請求項６】
前記スレーブ情報は、
前記更新対象スレーブバンク内の前記既存のスレーブデータが更新された回数を示すスレーブバンク更新カウンタ値をさらに含み、
前記主データ送受信装置は、スレーブ異常検出処理として、
前記受信スレーブ情報領域内の前記スレーブバンク更新カウンタ値を監視することで前記従データ送受信装置の異常を検出する
請求項１から５のいずれか１項に記載の電子制御装置。
【請求項７】
前記マスター情報は、
前記更新対象マスターバンク内の前記既存のマスターデータが更新された回数を示すマスターバンク更新カウンタ値をさらに含み、
前記従データ送受信装置は、マスター異常検出処理として、
前記受信マスター情報領域内の前記マスターバンク更新カウンタ値を監視することで前記主データ送受信装置の異常を検出する
請求項１から６のいずれか１項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相互に通信可能に接続されている複数のデータ送受信装置を備えた電子制御装置に関する。
【背景技術】
【０００２】
従来において、処理負荷の分散を実現するとともに、使用可能な機能の制限に対応するための電子制御装置（ＥＣＵともいう）が提案されている。このような電子制御装置は、主データ送受信装置（以下、マスターと称す）と従データ送受信装置（以下、スレーブと称す）とを備え、マスターとスレーブとの間でデータ通信が行われるように構成されている（例えば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２９９３２７０号公報
【特許文献２】特開平８−４４６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、特許文献１に記載の従来技術では、スレーブがマスターに送信するデータ群を更新している間、または、スレーブがマスターから受信したデータ群を使用している間において、スレーブがマスターから送受信要求を受けた場合、更新後の新しいデータと、更新前の古いデータが混在した整合性のないデータ群を使用してしまうという問題がある。また、特許文献２に記載の従来技術では、受信完了割込みの利用が必要であるので、受信完了割込みのないデータ通信に対しては適用できない。
【０００５】
本発明は、上記のような課題を解決するためになされたものであり、スレーブがマスターから送受信要求を受けた場合であっても、新旧のデータを混在させることなく、新しいデータをスレーブが使用することのできる電子制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明における電子制御装置は、マスターメモリを有する主データ送受信装置と、スレーブメモリを有する従データ送受信装置とを備え、主データ送受信装置と従データ送受信装置とが相互に通信可能に接続されている電子制御装置であって、マスターメモリは、対象データを格納するマスター対象データ領域と、マスター対象データ領域内の対象データをマスターデータとして格納する複数の送信マスターバンクと、複数の送信マスターバンクのうち、更新対象マスターバンクとして設定された送信マスターバンクを示す更新対象マスターバンク情報を含むマスター情報を格納する送信マスター情報領域と、従データ送受信装置から受信したスレーブ情報を格納する受信スレーブ情報領域と、従データ送受信装置から受信したスレーブデータを、受信スレーブ情報領域内のスレーブ情報に従って格納する複数の受信スレーブバンクと、を有し、スレーブメモリは、対象データを格納するスレーブ対象データ領域と、スレーブ対象データ領域内の対象データをスレーブデータとして格納する複数の送信スレーブバンクと、複数の送信スレーブバンクのうち、更新対象スレーブバンクとして設定された送信スレーブバンクを示す更新対象スレーブバンク情報を含むスレーブ情報を格納する送信スレーブ情報領域と、主データ送受信装置から受信したマスター情報を格納する受信マスター情報領域と、主データ送受信装置から受信したマスターデータを、受信マスター情報領域内のマスター情報に従って格納する複数の受信マスターバンクと、を有し、主データ送受信装置は、マスターデータ送信処理として、設定された更新対象マスターバンク内の既存のマスターデータを、送信する新たなマスターデータに更新し、送信マスター情報領域内のマスター情報を送信した後、更新対象マスターバンク内のマスターデータを送信し、従データ送受信装置は、マスターデータ反映処理として、受信マスター情報領域内の更新対象マスターバンク情報と異なる受信マスターバンクを反映対象マスターバンクとして設定し、スレーブ対象データ領域内の既存の対象データを、設定された反映対象マスターバンク内のマスターデータに更新し、従データ送受信装置は、スレーブデータ準備処理として、設定された更新対象スレーブバンク内の既存のスレーブデータを、送信する新たなスレーブデータに更新し、主データ送受信装置は、スレーブデータ受信処理として、送信スレーブ情報領域内のスレーブ情報を受信し、受信スレーブ情報領域内の更新対象スレーブバンク情報と異なる送信スレーブバンクを受信対象スレーブバンクとして設定し、設定された受信対象スレーブバンク内のスレーブデータを受信するものである。
【発明の効果】
【０００７】
本発明によれば、スレーブがマスターから送受信要求を受けた場合であっても、新旧のデータを混在させることなく、新しいデータをスレーブが使用することのできる電子制御装置を得ることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１における電子制御装置の概略構成を示すブロック図である。
【図２】本発明の実施の形態１におけるマスターＲＡＭおよびスレーブＲＡＭのそれぞれの概略構成を示すブロック図である。
【図３】本発明の実施の形態１におけるマスターマイコンによるマスターデータの送信処理を示すフローチャートである。
【図４】本発明の実施の形態１におけるスレーブマイコンによるマスターデータの反映処理を示すフローチャートである。
【図５】本発明の実施の形態１におけるスレーブマイコンによるスレーブデータの準備処理を示すフローチャートである。
【図６】本発明の実施の形態１におけるマスターマイコンによるスレーブデータの受信処理を示すフローチャートである。
【図７】本発明の実施の形態１におけるスレーブマイコンによるマスター情報の受信時処理を示すフローチャートである。
【図８】本発明の実施の形態１におけるマスターマイコンによるスレーブマイコンの異常検出処理を示すフローチャートである。
【図９】本発明の実施の形態１におけるスレーブマイコンによるマスターマイコンの異常検出処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明による電子制御装置を、好適な実施の形態にしたがって図面を用いて説明する。なお、図面の説明においては、同一部分または相当部分には同一符号を付し、重複する説明を省略する。
【００１０】
実施の形態１．
＜電子制御装置１の構成の説明＞
図１は、本発明の実施の形態１における電子制御装置１の概略構成を示すブロック図である。図１において、電子制御装置１は、相互に通信可能に接続されているマスターマイクロコンピュータ（以下、マスターマイコンと略す）２およびスレーブマイクロコンピュータ（以下、スレーブマイコンと略す）３を備える。
【００１１】
マスターマイコン２には、演算処理を行うＣＰＵ２１と、不揮発性メモリに相当するＲＯＭ２２と、データの書き込みおよび読み出し可能なメモリに相当するＲＡＭ２３と、通信コントローラ２４と、通信ポート２５とが内蔵されている。
【００１２】
マスターマイコン２に内蔵される各機能ブロックは、アドレスバスまたはデータバスに相当する接続バス２６により相互に接続されている。また、ＲＯＭ２２には、制御プログラム等の制御データが格納されている。ＣＰＵ２１は、ＲＯＭ２２に格納された制御プログラムを実行する。
【００１３】
スレーブマイコン３は、マスターマイコン２と同様の構成である。すなわち、スレーブマイコン３には、演算処理を行うＣＰＵ３１と、不揮発性メモリに相当するＲＯＭ３２と、データの書き込みおよび読み出し可能なメモリに相当するＲＡＭ３３と、通信コントローラ３４と、通信ポート３５とが内蔵されている。
【００１４】
スレーブマイコン３に内蔵される各機能ブロックは、アドレスバスまたはデータバスに相当する接続バス３６により相互に接続されている。また、ＲＯＭ３２には、制御プログラム等の制御データが格納されている。ＣＰＵ３１は、ＲＯＭ３２に格納された制御プログラムを実行する。
【００１５】
なお、以下では、マスターマイコン２に内蔵されるＲＡＭ２３を、マスターＲＡＭ２３と称し、スレーブマイコン３に内蔵されるＲＡＭ３３を、スレーブＲＡＭ３３と称す。
【００１６】
＜マスターＲＡＭ２３およびスレーブＲＡＭ３３の各構成の説明＞
次に、マスターＲＡＭ２３およびスレーブＲＡＭ３３のそれぞれの構成について、図２を参照しながら説明する。図２は、本発明の実施の形態１におけるマスターＲＡＭ２３およびスレーブＲＡＭ３３のそれぞれの概略構成を示すブロック図である。
【００１７】
マスターＲＡＭ２３（マスターメモリ）は、マスター情報領域Ａ１（送信マスター情報領域）と、マスターバンクＡ２（送信マスターバンク）と、マスターバンクＡ３（送信マスターバンク）と、スレーブ情報領域Ａ４（受信スレーブ情報領域）と、スレーブバンクＡ５（受信スレーブバンク）と、スレーブバンクＡ６（受信スレーブバンク）と、対象データ領域Ａ７（マスター対象データ領域）を有する。
【００１８】
スレーブＲＡＭ３３は、マスターＲＡＭ２３と同様の構成である。すなわち、スレーブＲＡＭ３３（スレーブメモリ）は、マスター情報領域Ｂ１（受信マスター情報領域）と、マスターバンクＢ２（受信マスターバンク）と、マスターバンクＢ３（受信マスターバンク）と、スレーブ情報領域Ｂ４（送信スレーブ情報領域）と、スレーブバンクＢ５（送信スレーブバンク）と、スレーブバンクＢ６（送信スレーブバンク）と、対象データ領域Ｂ７（スレーブ対象データ領域）を有する。
【００１９】
＜マスターＲＡＭ２３内の各領域の説明＞
マスター情報領域Ａ１には、マスター動作情報Ａ１１と、更新対象マスターバンク情報Ａ１２と、マスターバンク更新カウンタ値Ａ１３とが、マスター情報として格納される。
【００２０】
マスター動作情報Ａ１１は、マスターマイコン２の動作状態を示す情報である。更新対象マスターバンク情報Ａ１２は、マスターバンクＡ２とマスターバンクＡ３のうち、更新対象マスターバンクとして設定されたマスターバンクを示す情報である。マスターバンク更新カウンタ値Ａ１３は、更新対象マスターバンク内の既存のマスターデータが更新された回数を示す情報である。
【００２１】
対象データ領域Ａ７には、制御データ等の対象データが格納される。マスターバンクＡ２には、スレーブマイコン３に送信される対象データ領域Ａ７内の対象データがマスターデータとして格納される。同様に、マスターバンクＡ３には、スレーブマイコン３に送信される対象データ領域Ａ７内の対象データがマスターデータとして格納される。
【００２２】
スレーブ情報領域Ａ４には、スレーブマイコン３から受信したスレーブ情報領域Ｂ４内のスレーブ情報が格納される。すなわち、スレーブバンク切替情報Ｂ４１、更新対象スレーブバンク情報Ｂ４２およびスレーブバンク更新カウンタ値Ｂ４３が、それぞれ、スレーブバンク切替情報Ａ４１、更新対象スレーブバンク情報Ａ４２およびスレーブバンク更新カウンタ値Ａ４３として、スレーブ情報領域Ａ４に格納される。
【００２３】
スレーブバンクＡ５およびスレーブバンクＡ６には、スレーブマイコン３から受信したスレーブデータが、スレーブ情報領域Ａ４内のスレーブ情報に従って格納される。すなわち、スレーブバンクＡ５には、スレーブマイコン３から受信したスレーブバンクＢ５内のスレーブデータが格納される。スレーブバンクＡ６には、スレーブマイコン３から受信したスレーブバンクＢ６内のスレーブデータが格納される。
【００２４】
＜スレーブＲＡＭ３３内の各領域の説明＞
マスター情報領域Ｂ１には、マスターマイコン２から受信したマスター情報領域Ａ１内のマスター情報が格納される。すなわち、マスター動作情報Ａ１１、更新対象マスターバンク情報Ａ１２およびマスターバンク更新カウンタ値Ａ１３が、それぞれ、マスター動作情報Ｂ１１、更新対象マスターバンク情報Ｂ１２およびマスターバンク更新カウンタ値Ｂ１３として、マスター情報領域Ｂ１に格納される。
【００２５】
マスターバンクＢ２およびマスターバンクＢ３には、マスターマイコン２から受信したマスターデータが、マスター情報領域Ｂ１内のマスター情報に従って格納される。すなわち、マスターバンクＢ２には、マスターマイコン２から受信したマスターバンクＡ２内のマスターデータが格納される。マスターバンクＢ３には、マスターマイコン２から受信したマスターバンクＡ３内のマスターデータが格納される。
【００２６】
スレーブ情報領域Ｂ４には、スレーブバンク切替情報Ｂ４１と、更新対象スレーブバンク情報Ｂ４２と、スレーブバンク更新カウンタ値Ｂ４３とが、スレーブ情報として格納される。
【００２７】
スレーブバンク切替情報Ｂ４１は、更新対象スレーブバンクの設定を切り替えるスレーブバンク切替処理を許可するか否かを示す情報である。更新対象スレーブバンク情報Ｂ４２は、スレーブバンクＢ５とスレーブバンクＢ６のうち、更新対象スレーブバンクとして設定されたスレーブバンクを示す情報である。スレーブバンク更新カウンタ値Ｂ４３は、更新対象スレーブバンク内の既存のスレーブデータが更新された回数を示す情報である。
【００２８】
対象データ領域Ｂ７には、制御データ等の対象データが格納される。スレーブバンクＢ５には、マスターマイコン２に送信される対象データ領域Ｂ７内の対象データがスレーブデータとして格納される。同様に、スレーブバンクＢ６には、マスターマイコン２に送信される対象データ領域Ｂ７内の対象データがスレーブデータとして格納される。
【００２９】
＜マスターマイコン２とスレーブマイコン３の間の第１のデータ通信の説明＞
次に、マスターマイコン２がマスターデータを送信する際の一連の処理と、スレーブマイコン３がマスターデータをスレーブＲＡＭ３３に反映する際の一連の処理について、図３および図４を参照しながら説明する。
【００３０】
＜マスターデータ送信処理の説明＞
まず、マスターマイコン２がマスターデータを送信する際の一連の処理について、図３を参照しながら説明する。図３は、本発明の実施の形態１におけるマスターマイコン２によるマスターデータの送信処理を示すフローチャートである。なお、図３のフローチャートの処理は、例えば、予め設定されたタイミングで繰り返し実行される。
【００３１】
ステップＳ１０１において、マスターマイコン２は、マスター動作情報Ａ１１を「送信中」に設定し、ステップＳ１０２へと進む。
【００３２】
ステップＳ１０２において、マスターマイコン２は、対象データ領域Ａ７内の対象データを、現在設定されている更新対象マスターバンク、すなわち、更新対象マスターバンク情報Ａ１２が示すマスターバンクにマスターデータとして複製し、ステップＳ１０３へと進む。マスターマイコン２は、更新対象マスターバンクにマスターデータを複製することで、更新対象マスターバンク内の既存のマスターデータを、スレーブマイコン３に送信する新たなマスターデータに更新する。
【００３３】
ステップＳ１０３において、マスターマイコン２は、スレーブマイコン３に対して受信要求を行い、マスター情報領域Ａ１内のマスター情報をスレーブマイコン３に送信し、ステップＳ１０４へと進む。この場合、スレーブマイコン３は、マスター情報領域Ａ１内のマスター情報を受信し、そのマスター情報を、マスター情報領域Ｂ１に反映する。
【００３４】
ステップＳ１０４において、マスターマイコン２は、スレーブマイコン３に対して受信要求を行い、更新対象マスターバンク内のマスターデータ、すなわち、ステップＳ１０２で複製したマスターデータを、スレーブマイコン３に送信し、ステップＳ１０５へと進む。この場合、スレーブマイコン３は、マスターデータを受信し、そのマスターデータを、更新対象マスターバンク情報Ｂ１２が示すマスターバンクに反映する。
【００３５】
すなわち、スレーブマイコン３は、更新対象マスターバンク情報Ｂ１２がマスターバンクＡ２を示す場合には、マスターバンクＡ２に対応するマスターバンクＢ２にマスターデータを反映する。一方、スレーブマイコン３は、更新対象マスターバンク情報Ｂ１２がマスターバンクＡ３を示す場合には、マスターバンクＡ３に対応するマスターバンクＢ３にマスターデータを反映する。
【００３６】
ステップＳ１０５において、マスターマイコン２は、マスターデータの送信が完了したか否かを判定する。マスターマイコン２は、マスターデータの送信が完了した場合には、ステップＳ１０５へと進み、マスターデータの送信が完了していない場合には、ステップＳ１０４へと戻る。
【００３７】
ステップＳ１０１〜ステップＳ１０５に示すように、マスターマイコン２は、設定された更新対象マスターバンク内の既存のマスターデータを、スレーブマイコン３に送信する新たなマスターデータに更新する。また、マスターマイコン２は、マスター情報領域Ａ１内のマスター情報をスレーブマイコン３に送信した後、更新対象マスターバンク内のマスターデータをスレーブマイコン３に送信する。
【００３８】
ステップＳ１０６において、マスターマイコン２は、マスターバンク更新カウンタ値Ａ１３を１だけ加算し、ステップＳ１０７へと進む。
【００３９】
ステップＳ１０７において、マスターマイコン２は、更新対象マスターバンク情報Ａ１２を確認する。マスターマイコン２は、その確認の結果、更新対象マスターバンク情報Ａ１２がマスターバンクＡ２を示す場合には、ステップＳ１０８へと進み、更新対象マスターバンク情報Ａ１２がマスターバンクＡ３を示す場合には、ステップＳ１０９へと進む。
【００４０】
ステップＳ１０８において、マスターマイコン２は、次回の更新対象マスターバンクを「マスターバンクＡ３」に設定し、ステップＳ１１０へと進む。この場合、マスターマイコン２は、設定したマスターバンクＡ３を、更新対象マスターバンク情報Ａ１２としてマスター情報領域Ａ１に格納する。
【００４１】
ステップＳ１０９において、マスターマイコン２は、次回の更新対象マスターバンクを「マスターバンクＡ２」に設定し、ステップＳ１１０へと進む。この場合、マスターマイコン２は、設定したマスターバンクＡ２を、更新対象マスターバンク情報Ａ１２としてマスター情報領域Ａ１に格納する。
【００４２】
ステップＳ１１０において、マスターマイコン２は、マスター動作情報Ａ１１を「アイドル」に設定し、ステップＳ１１１へと進む。
【００４３】
ステップＳ１０７〜ステップＳ１０９から分かるように、マスターマイコン２は、ステップＳ１０４で送信したマスターデータを格納するマスターバンクと異なるマスターバンクを、次回の更新対象マスターバンクとして設定する。例えば、ステップＳ１０４で送信したマスターデータがマスターバンクＡ２に格納されていた場合には、マスターバンクＡ３が次回の更新対象マスターバンクとして設定される。
【００４４】
ステップＳ１１１において、マスターマイコン２は、マスター情報領域Ａ１内のマスター情報をスレーブマイコン３に送信し、一連の処理を終了する。この場合、スレーブマイコン３は、マスター情報領域Ａ１内のマスター情報を受信し、そのマスター情報を、マスター情報領域Ｂ１に反映する。
【００４５】
ステップＳ１０４〜ステップＳ１０６およびステップＳ１１１に示すように、マスターマイコン２は、更新対象マスターバンク内のマスターデータをスレーブマイコン３に送信した後、マスター情報領域Ａ１内のマスターバンク更新カウンタ値Ａ１３をインクリメントし、マスター情報領域Ａ１内のマスター情報をスレーブマイコン３にさらに送信する。
【００４６】
また、ステップＳ１０４、ステップＳ１０５およびステップＳ１０７〜ステップＳ１０９に示すように、マスターマイコン２は、更新対象マスターバンク内のマスターデータをスレーブマイコン３に送信した後、更新対象マスターバンクの設定を切り替えるマスターバンク切替処理を行う。
【００４７】
＜マスターデータ反映処理の説明＞
続いて、スレーブマイコン３がマスターデータをスレーブＲＡＭ３３に反映する際の一連の処理について、図４を参照しながら説明する。図４は、本発明の実施の形態１におけるスレーブマイコン３によるマスターデータの反映処理を示すフローチャートである。なお、図４のフローチャートの処理は、例えば、予め設定されたタイミングで繰り返し実行される。
【００４８】
ステップＳ２０１において、スレーブマイコン３は、マスター情報領域Ｂ１内のマスターバンク更新カウンタ値Ｂ１３を確認し、ステップＳ２０２へと進む。
【００４９】
ステップＳ２０２において、スレーブマイコン３は、マスター情報領域Ｂ１内の更新対象マスターバンク情報Ｂ１２を確認し、ステップＳ２０３へと進む。
【００５０】
ステップＳ２０３において、スレーブマイコン３は、ステップＳ２０２で確認した更新対象マスターバンク情報Ｂ１２がマスターバンクＡ２を示す場合には、ステップＳ２０４へと進む。一方、ステップＳ２０３において、スレーブマイコン３は、ステップＳ２０２で確認した更新対象マスターバンク情報Ｂ１２がマスターバンクＡ３を示す場合には、ステップＳ２０５へと進む。
【００５１】
ステップＳ２０４において、スレーブマイコン３は、対象データ領域Ｂ７に反映する対象となる反映対象マスターバンクを、「マスターバンクＢ３」に設定し、ステップＳ２０６へと進む。
【００５２】
ステップＳ２０５において、スレーブマイコン３は、反映対象マスターバンクを、「マスターバンクＢ２」に設定し、ステップＳ２０６へと進む。
【００５３】
ステップＳ２０２〜ステップＳ２０５から分かるように、スレーブマイコン３は、更新対象マスターバンク情報Ｂ１２に従って、反映対象マスターバンクを設定する。
【００５４】
例えば、更新対象マスターバンク情報Ｂ１２がマスターバンクＡ２を示す場合、マスターマイコン２においてマスターバンクＡ２が更新中である可能性がある。そのため、マスターバンクＡ３に対応するマスターバンクＢ３に格納されるマスターデータを対象データ領域Ｂ７に反映すべきである。そこで、このように、更新対象マスターバンク情報Ｂ１２がマスターバンクＡ２を示す場合、スレーブマイコン３は、反映対象マスターバンクを、「マスターバンクＢ３」に設定する。
【００５５】
ステップＳ２０６において、スレーブマイコン３は、反映対象マスターバンクに格納されるマスターデータを、対象データ領域Ｂ７に反映し、ステップＳ２０７へと進む。スレーブマイコン３は、反映対象マスターバンク内のマスターバンクを対象データ領域Ｂ７に反映することで、対象データ領域Ｂ７内の既存の対象データを、反映対象マスターバンク内のマスターデータに更新する。
【００５６】
ステップＳ２０２〜ステップＳ２０６に示すように、スレーブマイコン３は、マスター情報領域Ｂ１内の更新対象マスターバンク情報Ｂ１２と異なるマスターバンクを反映対象マスターバンクとして設定し、対象データ領域Ｂ７内の既存の対象データを、設定された反映対象マスターバンク内のマスターデータに更新する。
【００５７】
ステップＳ２０７において、スレーブマイコン３は、マスター情報領域Ｂ１内のマスターバンク更新カウンタ値Ｂ１３を再度確認し、ステップＳ２０８へと進む。
【００５８】
ステップＳ２０８において、スレーブマイコン３は、マスターデータの対象データ領域Ｂ７への反映中にマスターバンク更新カウンタ値Ｂ１３が変化したか否かを判断する。すなわち、スレーブマイコン３は、ステップＳ２０１で確認したマスターバンク更新カウンタ値Ｂ１３と、ステップＳ２０７で確認したマスターバンク更新カウンタ値Ｂ１３とを比較する。
【００５９】
スレーブマイコン３は、その比較の結果、両者が同じ値の場合には、マスターバンク更新カウンタ値Ｂ１３が変化していないと判断し、処理を終了する。一方、スレーブマイコン３は、その比較の結果、両者が異なる値の場合には、マスターバンク更新カウンタ値Ｂ１３が変化したと判断し、ステップＳ２０１へと戻り、一連の処理を再度実行する。
【００６０】
つまり、反映対象マスターバンク内のマスターデータの対象データ領域Ｂ７への反映中において、マスターバンク更新カウンタ値Ｂ１３が変化すれば、反映対象マスターバンクと異なるマスターバンクに最新のマスターデータが格納されたこととなる。そこで、このような場合、スレーブマイコン３は、最新のマスターデータを対象データ領域Ｂ７に反映するために、一連の処理を再度実行する。
【００６１】
ステップＳ２０１〜ステップＳ２０８に示すように、スレーブマイコン３は、対象データ領域Ｂ７内の既存の対象データの更新前後で、マスター情報領域Ｂ１内のマスターバンク更新カウンタ値Ｂ１３が異なっていれば、反映対象マスターバンクの設定と、対象データ領域Ｂ７内の既存の対象データの更新を再度行う。
【００６２】
＜マスターマイコン２とスレーブマイコン３の間の第２のデータ通信の説明＞
次に、スレーブマイコン３がスレーブデータを準備する際の一連の処理と、マスターマイコン２がスレーブデータを受信する際の一連の処理について、図５および図６を参照しながら説明する。
【００６３】
＜スレーブデータ準備処理の説明＞
まず、スレーブマイコン３がスレーブデータを準備する際の一連の処理について、図５を参照しながら説明する。図５は、本発明の実施の形態１におけるスレーブマイコン３によるスレーブデータの準備処理を示すフローチャートである。なお、図５のフローチャートの処理は、例えば、予め設定されたタイミングで繰り返し実行される。
【００６４】
ステップＳ３０１において、スレーブマイコン３は、対象データ領域Ｂ７内の対象データを、現在設定されている更新対象スレーブバンク、すなわち、更新対象スレーブバンク情報Ｂ４２が示すスレーブバンクにスレーブデータとして複製し、ステップＳ３０２へと進む。スレーブマイコン３は、更新対象スレーブバンクにスレーブデータを複製することで、更新対象スレーブバンク内の既存のスレーブデータを、マスターマイコン２に送信する新たなスレーブデータに更新する。
【００６５】
ステップＳ３０２において、スレーブマイコン３は、スレーブバンク更新カウンタ値Ｂ４３を１だけ加算し、ステップＳ３０３へと進む。
【００６６】
ステップＳ３０３において、スレーブマイコン３は、スレーブバンク切替情報Ｂ４１を確認し、スレーブバンク切替情報Ｂ４１が無効である場合には、ステップＳ３０４へと進み、スレーブバンク切替情報Ｂ４１が有効である場合には、ステップＳ３０５へと進む。
【００６７】
ステップＳ３０４において、スレーブマイコン３は、即時に更新対象スレーブバンクの設定を切り替えることができないので、スレーブバンク切替処理の予約を行い、処理を終了する。
【００６８】
ステップＳ３０５において、スレーブマイコン３は、更新対象スレーブバンクの設定を切り替えるために、現在設定されている更新対象スレーブバンク、すなわち、更新対象スレーブバンク情報Ｂ４２が示すスレーブバンクを確認する。スレーブマイコン３は、その確認の結果、更新対象スレーブバンクがスレーブバンクＢ５である場合には、ステップＳ３０６へと進み、更新対象スレーブバンクがスレーブバンクＢ６である場合には、ステップＳ３０７へと進む。
【００６９】
ステップＳ３０６において、スレーブマイコン３は、次回の更新対象スレーブバンクを「スレーブバンクＢ６」に設定し、処理を終了する。この場合、スレーブマイコン３は、設定したスレーブバンクＢ６を、更新対象スレーブバンク情報Ｂ４２としてスレーブ情報領域Ｂ４に格納する。
【００７０】
ステップＳ３０７において、スレーブマイコン３は、次回の更新対象スレーブバンクを「スレーブバンクＢ５」に設定し、処理を終了する。この場合、スレーブマイコン３は、設定したスレーブバンクＢ５を、更新対象スレーブバンク情報Ｂ４２としてスレーブ情報領域Ｂ４に格納する。
【００７１】
ステップＳ３０５〜ステップＳ３０７から分かるように、スレーブマイコン３は、ステップＳ３０１でスレーブデータを複製したスレーブバンクと異なるスレーブバンクを、次回の更新対象スレーブバンクとして設定する。例えば、ステップＳ３０１でスレーブデータを複製したスレーブバンクがスレーブバンクＢ５の場合には、スレーブバンクＢ６が次回の更新対象スレーブバンクとして設定される。
【００７２】
ステップＳ３０１、ステップＳ３０３およびステップＳ３０５〜ステップＳ３０７に示すように、スレーブマイコン３は、更新対象スレーブバンク内の既存のスレーブデータの更新後に、スレーブ情報領域Ｂ４内のスレーブバンク切替情報Ｂ４１が「有効」を示せば、スレーブバンク切替処理を行う。
【００７３】
ステップＳ３０１、ステップＳ３０３およびステップＳ３０４に示すように、スレーブマイコン３は、更新対象スレーブバンク内の既存のスレーブデータの更新後に、スレーブ情報領域Ｂ４内のスレーブバンク切替情報Ｂ４１が「無効」を示せば、スレーブバンク切替処理の予約を行う。
【００７４】
＜スレーブデータ受信処理の説明＞
続いて、マスターマイコン２がスレーブデータを受信する際の一連の処理について、図６を参照しながら説明する。図６は、本発明の実施の形態１におけるマスターマイコン２によるスレーブデータの受信処理を示すフローチャートである。なお、図６のフローチャートの処理は、例えば、予め設定されたタイミングで繰り返し実行される。
【００７５】
ステップＳ４０１において、マスターマイコン２は、マスター情報領域Ａ１内のマスター動作情報Ａ１１を「受信中」に設定し、ステップＳ４０２へと進む。
【００７６】
ステップＳ４０２において、マスターマイコン２は、スレーブマイコン３に対して受信要求を行い、マスター情報領域Ａ１内のマスター情報をスレーブマイコン３に送信し、ステップＳ４０２へと進む。この場合、スレーブマイコン３は、マスター情報領域Ａ１内のマスター情報を受信し、そのマスター情報を、マスター情報領域Ｂ１に反映する。
【００７７】
ステップＳ４０３において、マスターマイコン２は、スレーブマイコン３に対して送信要求を行うことで、スレーブマイコン３からスレーブ情報領域Ｂ４内のスレーブ情報を受信し、ステップＳ４０４へと進む。この場合、マスターマイコン２は、受信したスレーブ情報領域Ｂ４内のスレーブ情報を、スレーブ情報領域Ａ４に反映する。
【００７８】
ステップＳ４０４において、マスターマイコン２は、スレーブ情報領域Ａ４内のスレーブバンク切替情報Ａ４１を確認し、スレーブバンク切替情報Ａ４１が無効を示す場合には、ステップＳ４０５へと進み、スレーブバンク切替情報Ｂ４１が有効を示す場合には、ステップＳ４０３へと戻る。
【００７９】
ステップＳ４０５において、マスターマイコン２は、スレーブ情報領域Ａ４内の更新対象スレーブバンク情報Ａ４２を確認し、更新対象スレーブバンク情報Ａ４２がスレーブバンクＢ５を示す場合には、ステップＳ４０６へと進み、更新対象スレーブバンク情報Ａ４２がスレーブバンクＢ６を示す場合には、ステップＳ４０７へと進む。
【００８０】
ステップＳ４０６において、マスターマイコン２は、スレーブマイコン３から受信する対象となるスレーブデータを格納する受信対象スレーブバンクを「スレーブバンクＢ６」に設定し、ステップＳ４０８へと進む。
【００８１】
ステップＳ４０７において、マスターマイコン２は、受信対象スレーブバンクを「スレーブバンクＢ５」に設定し、ステップＳ４０８へと進む。
【００８２】
ステップＳ４０５〜ステップＳ４０７から分かるように、マスターマイコン２は、更新対象スレーブバンク情報Ａ４２に従って、受信対象スレーブバンクを設定する。
【００８３】
例えば、更新対象スレーブバンク情報Ａ４２がスレーブバンクＢ５を示す場合、スレーブマイコン３においてスレーブバンクＢ５が更新中である可能性がある。そのため、マスターマイコン２は、更新中でないスレーブバンクＢ６に格納されるスレーブデータを受信すべきである。そこで、このように、更新対象スレーブバンク情報Ａ４２がスレーブバンクＢ５を示す場合、スレーブマイコン３は、受信対象スレーブバンクを、「スレーブバンクＢ６」に設定する。
【００８４】
ステップＳ４０８において、マスターマイコン２は、スレーブマイコン３に対して送信要求を行うことで、受信対象スレーブバンク内のスレーブデータをスレーブマイコン３から受信し、ステップＳ４０９へと進む。
【００８５】
ステップＳ４０９において、マスターマイコン２は、スレーブデータの受信が完了したか否かを判定する。マスターマイコン２は、スレーブデータの受信が完了した場合には、ステップＳ４１０へと進み、スレーブデータの受信が完了していない場合には、ステップＳ４０８へと戻る。このように、マスターマイコン２は、スレーブデータを全て受信するまで、スレーブデータの受信を継続する。
【００８６】
ステップＳ４１０において、マスターマイコン２は、マスター情報領域Ａ１内のマスター動作情報Ａ１１を「アイドル」に設定し、ステップＳ４１１へと進む。
【００８７】
ステップＳ４１１において、マスターマイコン２は、マスター情報領域Ａ１内のマスター情報をスレーブマイコン３に送信し、処理を終了する。この場合、スレーブマイコン３は、マスター情報領域Ａ１内のマスター情報を受信し、そのマスター情報を、マスター情報領域Ｂ１に反映する。
【００８８】
ステップＳ４０３、ステップＳ４０５〜ステップＳ４０７およびステップＳ４０８に示すように、マスターマイコン２は、スレーブ情報領域Ｂ４内のスレーブ情報を受信し、スレーブ情報領域Ａ４内の更新対象スレーブバンク情報Ａ４２と異なるスレーブバンクを受信対象スレーブバンクとして設定し、設定された受信対象スレーブバンク内のスレーブデータを受信する。
【００８９】
また、ステップＳ４０１〜ステップＳ４０３およびステップＳ４０９〜ステップＳ４１１に示すように、マスターマイコン２は、スレーブ情報領域Ｂ４内のスレーブ情報を受信する前に、マスター情報領域Ａ１内のマスター動作情報Ａ１１を「受信中」に設定してマスター情報領域Ａ１内のマスター情報を送信し、受信対象スレーブバンク内のスレーブデータの受信が完了した後に、マスター情報領域Ａ１内のマスター動作情報Ａ１１を「アイドル」に設定してマスター情報領域Ａ１内のマスター情報を送信する。
【００９０】
さらに、ステップＳ４０３、ステップＳ４０４およびステップＳ４０８に示すように、マスターマイコン２は、スレーブ情報領域Ａ４内のスレーブバンク切替情報Ａ４１が「有効」を示す間は、スレーブ情報領域Ｂ４内のスレーブ情報の受信を繰り返し、スレーブバンク切替情報Ａ４１が「無効」となれば、受信対象スレーブバンク内のスレーブデータを受信する。
【００９１】
＜マスター情報受信時処理の説明＞
次に、先の図６のステップＳ４０２またはステップＳ４１１が実行された場合に、スレーブマイコン３がマスター情報領域Ａ１内のマスター情報を受信し、そのマスター情報をマスター情報領域Ｂ１に反映した後の一連の処理について、図７を参照しながら説明する。図７は、本発明の実施の形態１におけるスレーブマイコン３によるマスター情報の受信時処理を示すフローチャートである。なお、図７のフローチャートの処理は、先の図６のステップＳ４０２またはステップＳ４１１が実行され、スレーブマイコン３がマスターマイコン２からマスター情報を受信すれば行われる。
【００９２】
ステップＳ５０１において、スレーブマイコン３は、マスター情報領域Ｂ１内のマスター動作情報Ｂ１１を確認し、マスター動作情報Ｂ１１が受信中を示す場合には、ステップＳ５０２へと進み、マスター動作情報Ｂ１１がアイドルを示す場合には、ステップＳ５０３へと進む。
【００９３】
ステップＳ５０２において、スレーブマイコン３は、マスターマイコン２からの送信要求に応答して受信対象スレーブバンク内のスレーブデータをマスターマイコン２に送信している間に、スレーブバンク切替処理が行われるのを抑制するために、スレーブバンク切替情報Ｂ４１を「無効」に設定し、処理を終了する。
【００９４】
ステップＳ５０３において、スレーブマイコン３は、スレーブバンク切替情報Ｂ４１を「有効」に設定し、ステップＳ５０４へと進む。
【００９５】
ステップＳ５０４において、スレーブマイコン３は、スレーブバンク切替処理の予約の有無を確認し、その予約がある場合には、ステップＳ５０５へと進み、その予約がない場合には、処理を終了する。
【００９６】
ステップＳ５０５において、スレーブマイコン３は、予約があるので、スレーブバンク切替処理を行い、処理を終了する。
【００９７】
ステップＳ５０１〜ステップＳ５０３に示すように、スレーブマイコン３は、スレーブデータ受信処理で送信されたマスター情報領域Ａ１内のマスター情報を受信した場合、マスター情報領域Ｂ１内のマスター動作情報Ｂ１１が「アイドル」を示せば、スレーブ情報領域Ｂ４内のスレーブバンク切替情報Ｂ４１を「有効」に設定し、マスター動作情報Ｂ１１が「受信中」を示せば、スレーブバンク切替情報Ｂ４１を「無効」に設定する。
【００９８】
また、ステップＳ５０４およびステップＳ５０５に示すように、スレーブマイコン３は、スレーブ情報領域Ｂ４内のスレーブバンク切替情報Ｂ４１を「有効」に設定した際、スレーブバンク切替処理の予約があれば、スレーブバンク切替処理を行う。
【００９９】
＜マスターマイコン２とスレーブマイコン３のそれぞれの異常検出の説明＞
次に、マスターマイコン２がスレーブマイコン３の異常を検出する際の一連の処理と、スレーブマイコン３がマスターマイコン２の異常を検出する際の一連の処理について、図８および図９を参照しながら説明する。
【０１００】
＜スレーブ異常検出処理の説明＞
まず、マスターマイコン２がスレーブマイコン３の異常を検出する際の一連の処理について、図８を参照しながら説明する。図８は、本発明の実施の形態１におけるマスターマイコン２によるスレーブマイコン３の異常検出処理を示すフローチャートである。なお、図８のフローチャートの処理は、例えば、予め設定されたタイミングで繰り返し実行される。
【０１０１】
ステップＳ６０１において、マスターマイコン２は、スレーブ情報領域Ａ４内のスレーブバンク更新カウンタ値Ａ４３の異常加算の有無を確認する。ここで、更新カウンタ値の異常加算とは、一定時間内の更新カウンタ値の変化が設計値よりも大きくなる異常である。例えば、一定時間内に更新カウンタ値が＋１変化する設計に対して、その更新カウンタ値が＋３変化すれば、更新カウンタ値の異常加算がありと判定される。
【０１０２】
ステップＳ６０１において、マスターマイコン２は、スレーブバンク更新カウンタ値Ａ４３の異常加算がありと判定した場合には、ステップＳ６０３へと進み、スレーブバンク更新カウンタ値Ａ４３の異常加算がなしと判定された場合には、ステップＳ６０２へと進む。
【０１０３】
ステップＳ６０２において、マスターマイコン２は、スレーブ情報領域Ａ４内のスレーブバンク更新カウンタ値Ａ４３の固着の有無を確認する。ここで、更新カウンタ値の固着とは、一定時間内に更新カウンタ値の変化がない異常である。例えば、一定時間内に更新カウンタ値が同じ値のままであれば、更新カウンタ値の固着がありと判定される。
【０１０４】
ステップＳ６０２において、マスターマイコン２は、スレーブバンク更新カウンタ値Ａ４３の固着がありと判定した場合には、ステップＳ６０３へと進み、スレーブバンク更新カウンタ値Ａ４３の固着がなしと判定された場合には、処理を終了する。
【０１０５】
ステップＳ６０３において、マスターマイコン２は、スレーブマイコン３が異常であることを検出し、処理を終了する。
【０１０６】
このように、マスターマイコン２は、スレーブ情報領域Ａ４内のスレーブバンク更新カウンタ値Ａ４３を監視することで、スレーブマイコン３の異常を検出する。
【０１０７】
＜マスター異常検出処理の説明＞
続いて、スレーブマイコン３がマスターマイコン２の異常を検出する際の一連の処理について、図９を参照しながら説明する。図９は、本発明の実施の形態１におけるスレーブマイコン３によるマスターマイコン２の異常検出処理を示すフローチャートである。なお、図９のフローチャートの処理は、例えば、予め設定されたタイミングで繰り返し実行される。
【０１０８】
ステップＳ７０１において、スレーブマイコン３は、マスター情報領域Ｂ１内のマスターバンク更新カウンタ値Ｂ１３の異常加算の有無を確認する。スレーブマイコン３は、マスターバンク更新カウンタ値Ｂ１３の異常加算がありと判定した場合には、ステップＳ７０３へと進み、マスターバンク更新カウンタ値Ｂ１３の異常加算がなしと判定された場合には、ステップＳ７０２へと進む。
【０１０９】
ステップＳ７０２において、スレーブマイコン３は、マスター情報領域Ｂ１内のマスターバンク更新カウンタ値Ｂ１３の固着の有無を確認する。スレーブマイコン３は、マスターバンク更新カウンタ値Ｂ１３の固着がありと判定した場合には、ステップＳ７０３へと進み、マスターバンク更新カウンタ値Ｂ１３の固着がなしと判定された場合には、処理を終了する。
【０１１０】
ステップＳ７０３において、スレーブマイコン３は、マスターマイコン２が異常であることを検出し、処理を終了する。
【０１１１】
このように、スレーブマイコン３は、マスター情報領域Ｂ１内のマスターバンク更新カウンタ値Ｂ１３を監視することで、マスターマイコン２の異常を検出する。
【０１１２】
以上、本実施の形態１によれば、電子制御装置は、マスターデータ送信処理およびスレーブデータ受信処理を行うマスターマイコンと、マスターデータ反映処理およびスレーブデータ準備処理を行うスレーブマイコンとを備えて構成されている。
【０１１３】
マスターマイコンは、マスターデータ送信処理として、更新対象マスターバンク内の既存のマスターデータを、送信する新たなマスターデータに更新し、送信マスター情報領域内のマスター情報を送信した後、更新対象マスターバンク内のマスターデータを送信するように構成されている。スレーブマイコンは、マスターデータ反映処理として、受信マスター情報領域内の更新対象マスターバンク情報と異なる受信マスターバンクを反映対象マスターバンクとして設定し、スレーブ対象データ領域内の既存の対象データを、設定された反映対象マスターバンク内のマスターデータに更新するように構成されている。
【０１１４】
また、スレーブマイコンは、スレーブデータ準備処理として、更新対象スレーブバンク内の既存のスレーブデータを、送信する新たなスレーブデータに更新するように構成されている。マスターマイコンは、スレーブデータ受信処理として、送信スレーブ情報領域内のスレーブ情報を受信し、受信スレーブ情報領域内の更新対象スレーブバンク情報と異なる送信スレーブバンクを受信対象スレーブバンクとして設定し、設定された受信対象スレーブバンク内のスレーブデータを受信するように構成されている。
【０１１５】
上記のようにマスターマイコンとスレーブマイコンを構成することで、スレーブマイコンは、マスターマイコンから対象データの送受信要求を受けた場合であっても、新旧のデータを混在させることなく、新しいデータを使用することができる。
【０１１６】
なお、実施の形態１では、マスターとして機能するマスターマイコンと、スレーブとして機能するスレーブマイコンとの間のデータ通信に対して本発明を適用する場合を例示しているが、これに限定されず、複数の電子制御装置間のデータ通信に対しても本発明が適用可能である。また、実施の形態１では、マスターバンクおよびスレーブバンクのそれぞれを２領域に分割する場合を例示したが、これに限定されず、３領域以上に分割してもよい。
【符号の説明】
【０１１７】
１  電子制御装置、２  マスターマイコン、３  スレーブマイコン、２１，３１  ＣＰＵ、２２，３２  ＲＯＭ、２３，３３  ＲＡＭ、２４，３４  通信コントローラ、２５，３５  通信ポート、２６，３６  接続バス、Ａ１，Ｂ１  マスター情報領域、Ａ１１，Ｂ１１  マスター動作情報、Ａ１２，Ｂ１２  更新対象マスターバンク情報、Ａ１３，Ｂ１３  マスターバンク更新カウンタ値、Ａ２，Ｂ２  マスターバンク、Ａ３，Ｂ３  マスターバンク、Ａ４，Ｂ４  スレーブ情報領域、Ａ４１，Ｂ４１  スレーブバンク切替情報、Ａ４２，Ｂ４２  更新対象スレーブバンク情報、Ａ４３，Ｂ４３  スレーブバンク更新カウンタ値、Ａ５，Ｂ５  スレーブバンク、Ａ６，Ｂ６  スレーブバンク、Ａ７，Ｂ７  対象データ領域。
【図１】
2018181231.tif 000003
【図２】
2018181231.tif 000004
【図３】
2018181231.tif 000005
【図４】
2018181231.tif 000006
【図５】
2018181231.tif 000007
【図６】
2018181231.tif 000008
【図７】
2018181231.tif 000009
【図８】
2018181231.tif 000010
【図９】
2018181231.tif 000011