(57)【要約】【課題】複数のマイコン間で、ＣＰＵによる介入なしで、データテーブルに保存されたすべてのデータの送受信を行いながら、データを受信するマイコンにおいて、すべてのデータの受信の完了を把握することが可能な電子制御装置を提供する。【解決手段】送信側マイコン２０の送受信部は、一旦、送信すべきデータの送信処理を開始すると、ＣＰＵ２８による介入を受けることなく、送信用データテーブル２１に保存されるすべてのデータを送信する。送信すべきデータには、受信側マイコン３０において、送信側マイコン２０の送信用データテーブル２１に保存されるすべてのデータの受信を完了したか否かを判定するための判定用データが含まれている。受信側マイコン２０は、判定用データに基づいて、すべてのデータの受信が完了したか否かを判定する。【選択図】図４
2020024637.tif 000002
【特許請求の範囲】
【請求項１】
複数のマイコン（２０、３０）を備えた電子制御装置（１０）であって、
前記複数のマイコンは、それぞれ、
演算処理装置（２８）と、
送信すべきデータと受信するデータを格納するデータテーブル（２１、３２）と、
前記複数のマイコン間において、データを送受信する送受信部（２３〜２６、３１）と、を備え
前記データテーブルには、前記送受信部による複数回の送受信によって送受信される量のデータが保存可能であり、
前記送受信部は、一旦、送信すべきデータの送信処理を開始すると、前記演算処理装置による介入を受けることなく、前記データテーブルに保存されるすべてのデータを送信するものであり、
前記送信すべきデータには、データを受信するマイコンにおいて、データを送信するマイコンのデータテーブルに保存されるすべてのデータの受信を完了したか否かを判定するための判定用データが含まれており、
データを受信するマイコンは、前記判定用データに基づいて、すべてのデータの受信が完了したか否かを判定する電子制御装置。
【請求項２】
前記複数のマイコンは、互いに照合が可能な照合キーを保有しており、
データを送信するマイコンは、前記照合キーを前記判定用データとして用い、送信すべきデータの最終データとして前記照合キーを送信し、
データを受信するマイコンは、前記判定用データとしての前記照合キーの確認により、すべてのデータの受信を完了したと判定する請求項１に記載の電子制御装置。
【請求項３】
データを送信するマイコンは、前記最終データを送信すると、データを受信するマイコンに送信完了信号を送信し、
データを受信するマイコンは、前記送信完了信号を受信すると、受信するデータを保存するデータテーブルに前記照合キーが保存されているか否かを確認する請求項２に記載の電子制御装置。
【請求項４】
データを受信するマイコンは、定期的に、受信するデータを保存するデータテーブルに前記照合キーが保存されているか否かを確認する請求項２に記載の電子制御装置。
【請求項５】
前記複数のマイコンは、前記照合キーとして、同じ値の照合用データを保有する請求項２乃至４のいずれかに記載の電子制御装置。
【請求項６】
前記照合キーは、前記複数のマイコンにおいて、同じルールに則って変化する請求項２乃至５のいずれかに記載の電子制御装置。
【請求項７】
前記送受信部は、
送信処理の対象となるデータを格納するレジスタ（２４）と、
前記データテーブルに保存されたデータを前記レジスタに転送する転送部（２３）と、を備え、
前記転送部が、前記レジスタに格納されるデータの送信が終了するごとに、前記データテーブルから新たなデータを前記レジスタに転送することにより、前記送受信部は、前記演算処理装置による介入を受けることなく、前記データテーブルに保存されるすべてのデータを送信する請求項１乃至６のいずれかに記載の電子制御装置。
【請求項８】
データを受信するマイコンの送受信部は、データの１回の受信ごとに、データを受信したことを通知する受信通知信号を、データを送信するマイコンの送受信部に送信し、
前記転送部は、前記受信通知信号の受信をトリガとして、前記データテーブルから新たなデータを前記レジスタに転送する請求項７に記載の電子制御装置。
【請求項９】
前記転送部は、前記データテーブルに保存されたすべてのデータの転送が完了すると、前記演算処理装置へ完了通知を出力する請求項７又は８に記載の電子制御装置。
【請求項１０】
データを送信するマイコンは、送信するすべてのデータのデータ量を示す量データを前記判定用データとして用い、前記量データを、送信すべきデータの最初のデータとして送信し、
データを受信するマイコンは、前記量データが示すデータ量のデータを受信したことを確認すると、すべてのデータの受信を完了したと判定する請求項１に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマイコンを備えた電子制御装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、電子制御ユニット（ＥＣＵ）が、メインマイコン、サブマイコン、入出力制御ドライバＩＣを有し、メインマイコン、サブマイコン、及び入出力制御ドライバＩＣが、相互に、チップセレクト信号線を有したクロック同期式シリアルバス通信であるＳＰＩ（シリアルペリフェラルインターフェース）通信を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３４３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、特許文献１に記載されているように、近年、自動車に搭載されるＥＣＵは、排ガス規制に対処したり、燃費の向上を図ったりするため、高度化、複雑化した制御機能が求められる傾向にある。そのような要求に応えるため、ＥＣＵに複数のマイコンを内蔵するとともに、それら複数のマイコン間でデータ通信を行って、複数のマイコンが協調して制御機能を実行することが考えられる。ただし、複数のマイコンが協調して制御機能を実行するためには、それぞれのマイコンの中央演算処理装置（ＣＰＵ）にできるかぎり負荷をかけずに、かつ、複数のマイコン間で一度に大量のデータの通信を行うことができることが望まれる。
【０００５】
そのため、複数のマイコンにそれぞれ、大量のデータを保存可能なデータテーブルを設け、送信すべきデータがデータテーブルに保存されたら、ＣＰＵによる介入なしで、データテーブルに保存されたすべてのデータを、例えばＳＩＰＩ（シリアルインタープロセッサインターフェース）のような送受信部によって送受信させることが考えられる。
【０００６】
しかしながら、上記のケースでは、データを送信するマイコンでは、データテーブルに保存されたすべてのデータの読み出しの完了などから、すべてのデータの送信が完了したことを把握できるが、データを受信するマイコンにおいて、すべてのデータの受信がいつ完了したかを把握することができない。すべてのデータの受信の完了を把握できないと、データを受信したマイコンは、例えば、受信したデータを使用した処理が開始できなかったり、送信すべきデータがあっても、その送信を開始できなかったりといった問題が生じる。
【０００７】
本発明は、上述した点に鑑みてなされたものであり、複数のマイコン間で、ＣＰＵによる介入なしで、データテーブルに保存されたすべてのデータの送受信を行いながら、データを受信するマイコンにおいて、すべてのデータの受信の完了を把握することが可能な電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明による電子制御装置（１０）は、複数のマイコン（２０、３０）を備え、
複数のマイコンは、それぞれ、
演算処理装置（２８）と、
送信すべきデータと受信するデータを格納するデータテーブル（２１、３２）と、
複数のマイコン間において、データを送受信する送受信部（２３〜２６、３１）と、を備え
データテーブルには、送受信部による複数回の送受信によって送受信される量のデータが保存可能であり、
送受信部は、一旦、送信すべきデータの送信処理を開始すると、演算処理装置による介入を受けることなく、データテーブルに保存されるすべてのデータを送信するものであり、
送信すべきデータには、データを受信するマイコンにおいて、データを送信するマイコンのデータテーブルに保存されるすべてのデータの受信を完了したか否かを判定するための判定用データが含まれており、
データを受信するマイコンは、判定用データに基づいて、すべてのデータの受信が完了したか否かを判定することを特徴とする。
【０００９】
このように、本発明による電子制御装置の複数のマイコンは、複数のマイコン間においてデータを送受信する送受信部を備えている。送受信部は、一旦、送信すべきデータの送信処理を開始すると、演算処理装置による介入を受けることなく、データテーブルに保存されるすべてのデータを送信する。従って、複数のマイコン間で、演算処理装置による介入なしで、データテーブルに保存されたすべてのデータの送受信を行うことができる。特に、本発明の電子制御装置では、送信されるデータには、データを受信するマイコンにおいて、データを送信するマイコンのデータテーブルに保存されるすべてのデータの受信を完了したか否かを判定するための判定用データが含まれている。従って、データを受信するマイコンは、判定用データに基づいて、すべてのデータの受信が完了したか否かを判定することができる。
【００１０】
上記括弧内の参照番号は、本開示の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら発明の範囲を制限することを意図したものではない。
【００１１】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る電子制御装置の構成を示す構成図である。
【図２】複数のマイコン間のデータ通信処理に係る構成を示す構成図である。
【図３】送信側マイコンが送信するデータについて説明するための説明図である。
【図４】送信側マイコンと受信側マイコン間における、具体的なデータの送受信処理の一例について説明するための説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係る電子制御装置について図面を参照して説明する。図１は、本実施形態の電子制御装置１０の構成を示す構成図である。
【００１４】
電子制御装置１０は、例えば、車両に搭載されて、エンジンの燃料噴射や点火時期を制御する用途に適用される。この場合、電子制御装置１０は、エンジンの回転角度、エンジンの回転速度、アクセルペダルの踏み込み量、エンジンの水温、車両の走行速度などの複数のデータを、各種のセンサからのセンサ信号などに基づいて取得する。電子制御装置１０は、取得した複数のデータに基づいて、最適なタイミングで燃料噴射や点火が行われるように、燃料噴射タイミングや点火タイミングを決定する。そして、電子制御装置１０は、決定した燃料噴射タイミングや点火タイミングに基づき、インジェクタやイグナイタに駆動信号を出力する。
【００１５】
電子制御装置１０は、上述したような複雑なエンジン制御を適切に実行するため、図１に示すように、第１マイコン２０と第２マイコン３０との複数のマイコン２０、３０を備え、制御処理負荷を分散できるように構成されている。なお、マイコンの数は２個に限られず、電子制御装置１０は、３個以上のマイコンを有していてもよい。
【００１６】
ただし、複数のマイコン２０、３０が協調して制御処理を実行するためには、それら複数のマイコン２０、３０間でデータ通信を行って、制御に必要なデータ、制御タイミングや制御結果に関するデータなどを共有する必要がある。その際、それぞれのマイコン２０、３０の中央演算処理装置（ＣＰＵ）２８が、制御処理を実行するための演算処理に加えて、データ通信処理も実行するとすれば、それぞれのＣＰＵ２８の能力がデータ通信処理に割かれることになるので、高性能なＣＰＵを採用する必要が生じたり、ＣＰＵが実行する制御に遅れが生じたりといった問題が生じることが懸念される。
【００１７】
そのため、本実施形態に係る電子制御装置１０では、複数のマイコン２０、３０間で、ＣＰＵ２８による介入なしで、データ通信処理を行いうるように構成されている。以下、複数のマイコン２０、３０間のデータ通信処理に係る構成について、図２〜図４を参照して詳しく説明する。なお、図２、図４では、送信側マイコンである第１マイコン２０と受信側マイコンである第２マイコン３０との構成が異なるように描かれているが、これは、送信処理に必要とされる構成および受信処理に必要とされる構成だけを図示したことによるものであり、第１マイコン２０と第２マイコン３０とは同じ構成を備えている。換言すれば、第２マイコン３０がデータ送信を行う送信側マイコンとなり、第１マイコン２０がデータを受信する受信側マイコンとなった場合、第２マイコン３０は、図２、図４に示される送信側マイコンの構成に従ってデータを送信し、第１マイコン２０は、図２、図４に示される受信側マイコンの構成に従ってデータを受信する。以下の説明では、第１マイコン２０が送信側マイコン、第２マイコン３０が受信側マイコンとなった場合について説明する。
【００１８】
図２に示すように、第１マイコン２０と第２マイコン３０とは、通信線４０を介して接続され、この通信線４０を介してデータ通信を行う。本実施形態では、データ通信には、差動信号によりデータをリシアルに通信するＬＶＤＳ（低電圧差動信号）技術が用いられる。通信線４０は、差動信号の相互通信を可能とするため、第１マイコン２０から第２マイコン３０へデータを送信するための２本の送信線と、第１マイコン２０が第２マイコン３０からのデータを受信するための２本の受信線とを含んでいる。ただし、送信線と受信線とを共通化してもよい。また、データ通信のために、ＬＶＤＳ技術以外のシリアル通信技術を用いてもよい。
【００１９】
第１マイコン２０は、送信すべきデータを格納する送信用データテーブル２１と、転送先のアドレス値を格納する転送先アドレステーブル２２と、を有する。送信用データテーブル２１は、第１マイコン２０のＲＡＭに形成される。送信用データテーブル２１には、後述するＳＩＰＩ２６による複数回の送信処理によって送信される量のデータが格納される。送信用データテーブル２１へのデータの格納は、例えば、第１マイコン２０のＣＰＵ２８によって行われる。ただし、送信用データテーブル２１へのデータの格納は、ＣＰＵ２８ではなく後述するＤＭＡＣ２３によって行うようにしてもよい。また、図２および図３では、送信する１つのデータの単位を４ｂｙｔｅとしているが、送信データの単位の大きさは４ｂｙｔｅに限られず、別の大きさを単位としたものでもよい。一方、転送先アドレステーブル２２は、第１マイコン２０のＲＡＭもしくはＲＯＭに形成される。転送先アドレステーブル２２には、後述する第２マイコン３０の受信用データテーブル３２に含まれる各格納領域を示すアドレス値が格納される。転送先アドレステーブル２２に格納するアドレス値は、先頭から連続したものであっても良いし、連続したものでなくてもよい。
【００２０】
図２においては、送信用データテーブル２１、転送先アドレステーブル２２、および受信用データテーブル３２を１セット分だけ示しているが、これらを複数セット分設けてもよい。その場合、各セットにおける各々のテーブルのサイズは同じであってもよいし、異なっていてもよい。また、第１マイコン２０が受信側マイコンとなり、第２マイコン３０が送信側マイコンとなった場合には、第１マイコン２０の送信用データテーブル２１を受信用データテーブルとして利用し、第２マイコン３０の受信用データテーブル３２を送信用データテーブルとして利用してもよい。
【００２１】
第１マイコン２０は、送信用データテーブル２１に格納されたデータ（データ１〜データＮ）および転送先アドレステーブルに格納されたアドレス値（アドレス値１〜アドレス値Ｎ）を、それぞれ、転送データレジスタ２４および転送先アドレスレジスタ２５に転送するＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２３を有する。このＤＭＡＣ２３は、直接、ＲＡＭもしくはＲＯＭに形成された送信用データテーブル２１および転送先アドレステーブル２２にアクセスし、格納されているデータおよびアドレス値を読み出す。そして、送信用データテーブル２１から読み出したデータを転送データレジスタ２４に転送し、転送先アドレステーブル２２から読み出したアドレス値を転送先アドレスレジスタ２５に転送する。ＤＭＡＣ２３は、一旦、転送処理を開始すると、送信用データテーブル２１に格納されたすべてのデータの送信が完了するまで、データとアドレス値との各レジスタ２４、２５への転送を繰り返し実行する。ＤＭＡＣ２３は、最後のデータおよびアドレス値の転送が完了すると、転送完了通知をＣＰＵ２８へ出力する。
【００２２】
第１マイコン２０は、送信すべきデータを一時的に保存する転送データレジスタ２４と、受信側マイコンでの格納領域を示すアドレス値を一時的に保存する転送先アドレスレジスタ２５を有している。さらに、第１マイコン２０は、転送データレジスタ２４に保存されたデータおよび転送先アドレスレジスタ２５に保存されたアドレス値を、第２マイコン３０へ向けて送信する送信処理を行うＳＩＰＩ（シリアルインタープロセッサインターフェース）２６を有している。ＳＩＰＩ２６は、転送先アドレスレジスタ２５にアドレス値が保存されたことをトリガとして、データおよびアドレス値を第２マイコン３０のＳＩＰＩ３１へ送信する送信処理を開始する。
【００２３】
第２マイコン３０のＳＩＰＩ３１は、第１マイコン２０のＳＩＰＩ２６から送信されたデータおよびアドレス値を受信する。図示していないが、第１マイコン２０から第２マイコン３０、あるいは第２マイコン３０から第１マイコン２０へクロック信号が供給されている。このクロック信号を利用して、第１マイコン２０のＳＩＰＩ２６と第２マイコン３０のＳＩＰＩ３１は、共通のクロック信号に従って同期して動作する。このため、第２マイコン３０のＳＩＰＩ３１は、第１マイコン２０のＳＩＰＩ２６が送信したデータおよびアドレス値を受信する受信処理を実行することができる。
【００２４】
第２マイコン３０は、ＲＡＭに形成された、受信したデータを格納する受信用データテーブル３２を有する。第２マイコン３０のＳＩＰＩ３１は、受信したデータを、受信したアドレス値が示す、受信用データテーブル３２の格納領域に保存する。なお、第２マイコン３０が、後述する手法によって、第１マイコン２０の送信用データテーブル２１に格納されたすべてのデータを受信したと判定した場合、受信用データテーブル３２に保存されたすべてのデータの読み出しを完了させるとともに、受信用データテーブル３２のそれぞれのデータ格納領域を空に（すなわち、データ消去）しておくことが好ましい。
【００２５】
次に、第１マイコン２０が送信するデータについて図３を参照して説明する。第１マイコン２０は、図３に示すように、送信すべきデータの最終データとして、第２マイコン３０において照合が可能な照合キー２７を送信する。
【００２６】
図３に示すように、第１マイコン２０および第２マイコン３０は、互いに照合が可能な照合キー２７、３３を保有している。これらの照合キー２７、３３は、第１マイコン２０および第２マイコン３０のＲＡＭまたはＲＯＭに保存されている。図３には、第１マイコン２０と第２マイコン３０とが、同じ値の照合キー２７、３３を有する例が示されている。しかしながら、照合キー２７、３３は、第１マイコン２０および第２マイコン３０において互いに照合が可能である限り、必ずしも同一の値でなくともよい。例えば、一方の照合キーの値を他方の照合キーの値にある一定値を加算した値にするなど、一定の関係を有するものであってもよい。さらに、照合キー２７、３３は、一定値ではなく、可変値としてもよい。例えば、照合キー２７、３３は、送信側マイコンでは送信データの最終データとして付加するごと、受信側マイコンでは判定用データとして照合されるごとに、同じルールに則って変化（例えば、増加、減少など）するものであってもよい。
【００２７】
次に、送信側マイコンである第１マイコン２０と受信側マイコンである第２マイコン３０間における、具体的なデータの送受信処理の一例について、図４を参照して説明する。なお、図４においては、説明の便宜のため、第１マイコン２０の転送先アドレステーブル２２、転送データレジスタ２４、転送先アドレスレジスタ２５、および第２マイコン３０のＳＩＰＩ３１を省略している。
【００２８】
最初に、ＣＰＵ２８が、所定の制御処理を実施するための制御ソフトウェア２８ａを実行することにより、その制御ソフトウェア２８ａの一機能として、ドライバソフトウェア２８ｂを通じて、送信用データテーブル２１に送信データを書き込む（ステップ１）。この際、制御ソフトウェア２８ａは、送信データの最終データ（データＮ）として、上述した照合キー２７を書き込む。なお、ドライバソフトウェア２８ｂは、ベーシックソフトウエアとして、記憶デバイス（ＲＯＭ、ＲＡＭ等）からのデータの読み出しや記憶デバイスへの書き込みを実行したり、ＤＭＡＣ２３などの周辺機器との間で信号のやり取りを行ったりするものである。ただし、上述したように、送信用データテーブル２１への送信データの書き込みはＤＭＡＣ２３が行ってもよい。
【００２９】
すべての送信データの書き込みが終了すると、次に、制御ソフトウェア２８ａは、ドライバソフトウェア２８ｂを通じてデータ転送開始指示をＳＩＰＩ２６へ与える（ステップ２）。具体的には、制御ソフトウェア２８ａが、送信用データテーブル２１のデータ１および転送先アドレステーブル２２のアドレス値１を、それぞれ、転送データレジスタ２４および転送先アドレスレジスタ２５に書き込む。この書き込みをトリガとして、ＳＩＰＩ２６は、第２マイコン３０へ向けてデータ１の送信を実行する（ステップ３）。あるいは、すべての送信データの書き込みが終了した後に、制御ソフトウェア２８ｂがＤＭＡＣ２３に転送開始を指示して、ＤＭＡＣ２３が、データ１及びアドレス値１の各レジスタ２４、２５への転送を行ってもよい。
【００３０】
第２マイコン３０のＳＩＰＩ３１は、第１マイコン２０のＳＩＰＩ２６からデータ１を受信し、その受信したデータ１を受信用データテーブル３２のアドレス値１によって指定された格納領域に書き込むと、受信通知ＡＣＫを返送する（ステップ４）。従って、第１マイコン２０のＳＩＰＩ２６が、第２マイコン３０のＳＩＰＩ３１から受信通知ＡＣＫを受信した場合、データ１の送受信が正常に実施され、受信用データテーブル３２にはデータ１が正しく書き込まれたとみなすことができる。そのため、第１マイコン２０のＳＩＰＩ２６は、データ１の送信に対する受信通知ＡＣＫの受信に応じて、次のデータ２の送信処理を行うべく、ＤＭＡＣ２３へＤＭＡトリガ信号を出力する（ステップ５）。
【００３１】
ＤＭＡＣ２３は、ＳＩＰＩ２６からＤＭＡトリガ信号を受信すると、送信用データテーブル２１からデータ２を読み出してＳＩＰＩ２６（転送データレジスタ２４）へＤＭＡ転送するとともに、転送先アドレステーブル２２からアドレス値２を読み出してＳＩＰＩ２６（転送先アドレスレジスタ２５）へＤＭＡ転送する（ステップ６）。このＤＭＡＣ２３によるアドレス値２のＤＭＡ転送をトリガとして、ＳＩＰＩ２６は、第２マイコン３０へ向けてデータ２の送信を行う（ステップ７）。送信されたデータ２が受信用データテーブル３２に書き込まれると、データ１の場合と同様に、第２マイコン３０のＳＩＰＩ３１は受信通知ＡＣＫを返送する（ステップ８）。
【００３２】
このようなデータと受信通知ＡＣＫの送受信処理が繰り返されることにより、ＣＰＵ２８の介在なしで、送信用データテーブル２１に格納されているすべてのデータ（データ２〜データＮ）が、ＳＩＰＩ２６へＤＭＡ転送され、ＳＩＰＩ２６は、ＤＭＡ転送されたデータ２〜データＮの送信処理を実行することができる。なお、制御ソフトウェア２８ａが、送信用データテーブル２１にいくつのデータが格納されているかをＤＭＡＣ２３に予め指示することで、ＤＭＡＣ２３に、任意の数のデータのＤＭＡ転送を行わせることができる。
【００３３】
ＤＭＡＣ２３は、最後のデータＮのＤＭＡ転送が完了すると、割り込みによりＤＭＡ転送の完了を通知する（ステップ９）。このＤＭＡ転送の完了通知は、ドライバソフトウェア２８ｂにて受け付けられる。ドライバソフトウェア２８ｂは、ＤＭＡ転送の完了通知を受け付けると、制御ソフトウェア２８ａにデータ転送完了通知を出力する（ステップ１０）。これにより、制御ソフトウェア２８ａは、送信用データテーブル２１に格納したすべてのデータの送信が完了したことを把握することができる。そのため、第１マイコン２０において、例えば、送信すべき他のデータがある場合には、そのデータを送信用データテーブル２１に格納する処理を開始することが可能となる。
【００３４】
なお、図４に示すように、最後のデータＮに対する第２マイコン３０のＳＩＰＩ３１からの受信通知ＡＣＫは無視される（ステップ１１）。つまり、最後のデータＮに対する受信通知ＡＣＫに応じて、ドライバソフトウェア２８ｂへ割り込み通知を出力するようにはしていない。ドライバソフトウェア２８ｂへの割り込み通知を、最後のデータＮに対する受信通知ＡＣＫに応じてではなく、上述したように、ＤＭＡ転送の完了に応じて行うようにした理由は、以下の通りである。すなわち、受信通知ＡＣＫをドライバソフトウェア２８ｂへの割り込み通知を出力する要因として使用した場合、最後のデータＮだけでなく、すべてのデータ１〜データＮに対する受信通知ＡＣＫによってドライバソフトウェア２８ｂへの割り込み通知が発生し、それにより、ＣＰＵ２８の処理負荷が増大してしまうためである。
【００３５】
このように、送信側マイコンである第１マイコン２０では、ＤＭＡＣ２３からのＤＭＡ転送の完了通知によって、送信用データテーブル２１に格納したすべてのデータの送信が完了したことを把握することができる。しかし、受信側マイコンである第２マイコン３０では、第１マイコン２０から送信されたデータを受信するだけであるため、そのままでは、すべてのデータの受信がいつ完了したかを把握することができない。すべてのデータの受信の完了を把握できないと、受信側マイコンである第２マイコン３０は、例えば、受信したデータを使用した処理が開始できなかったり、送信すべきデータがあっても、その送信のための処理を開始できなかったりといった問題が生じる。
【００３６】
そのため、本実施形態に係る電子制御装置１０では、上述したように、送信側マイコン（第１マイコン２０）が、送信すべきデータの最終データとして、受信側マイコン（第２マイコン３０）において照合が可能な照合キー２７を送信することとした。これにより、第２マイコン３０では、照合キー２７を判定用データとして用いることにより、すべてのデータの受信が完了したか否かを判定することが可能となる。つまり、受信用データテーブル３２に格納されたデータ１〜Ｎに照合キー２７が含まれていることを、第２マイコン３０が保有する照合キー３３に基づいて判定した場合、第２マイコン３０は、すべてのデータの受信が完了したことを判定することができる。
【００３７】
さらに、送信すべきデータの最終データを照合キー２７とすることにより、受信側マイコンである第２マイコン３０において、送信側マイコンである第１マイコン２０から送信されたすべてのデータを正しく受信できたことを確認することが可能になる。この理由を以下に説明する。
【００３８】
上述したように、受信側マイコンである第２マイコン３０のＳＩＰＩ３１が、送信側マイコンである第１マイコン２０のＳＩＰＩ２６が送信したデータを受信し、その受信したデータを受信用データテーブル３２に書き込むと、第２マイコン３０のＳＩＰＩ３１は受信通知ＡＣＫを返送する。従って、第２マイコン３０のＳＩＰＩ３１からの受信通知ＡＣＫの返送は、第２マイコン３０において、第１マイコン２０のＳＩＰＩ２６から送信されたデータを正常に受信することができ、かつ、そのデータが受信用データテーブル３２に正しく書き込まれたことを示していると言える。そして、第１マイコン２０では、受信通知ＡＣＫを受信することを、次のデータの送信処理のトリガとしているので、第２マイコン３０の受信用データテーブルに最終データＮまでのデータが格納されている場合、最終データＮを除くデータ１〜データＮ−１は、第２マイコン３０において、正常に受信され、受信用データテーブルに正しく書き込まれたことが保証されているといえる。
【００３９】
ただし、最終データＮに対する受信通知ＡＣＫは、他のデータに対する受信通知ＡＣＫのように、次のデータの送信処理のトリガとして利用されることもなく、単に無視されるだけである。このため、最終データＮに対する受信通知ＡＣＫが返送されなかったとしても、第１マイコン２０で、例えば最終データＮの再送処理を行うことはなく、そのまま、データ送信処理が終了する。このため、最終データＮに関しては、第２マイコン３０において正しく受信されたかどうかを保証できない。
【００４０】
その点、本実施形態では、送信側マイコンである第１マイコン２０が、最終データＮとして、受信側マイコンである第２マイコン３０において照合可能な照合キー２７を送信するので、第２マイコン３０において、最終データＮが正しく受信されたことを確認することができる。つまり、第２マイコン３０において、受信用データテーブル３２に格納されたデータに照合キー２７が含まれていると判定されれば、最終データＮが第２マイコン３０にて正常に受信され、受信用データテーブル３２に書き込まれたとみなすことができる。逆に、第１マイコン２０において送信処理が完了したにも係わらず、受信用データテーブル３２内で照合キー２７が見つからない場合、最終データＮが第２マイコン３０にて正常に受信されなかったことを意味する。このような場合、第２マイコン３０から第１マイコン２０へデータの再送を指示したり、第１マイコン２０および第２マイコン３０における制御処理を一部の機能のみに制限する安全処置を施したりすることが好ましい。
【００４１】
第２マイコン３０が、受信用データテーブル３２内に照合キー２７が格納されているかどうかを確認するタイミングは、いくつか考えられる。
【００４２】
第１マイコン２０においては、上述したように、ＤＭＡＣ２３からのデータ転送完了通知により、送信用データテーブル２１に格納されたすべてのデータの送信処理の完了を把握することができる。そのため、第１マイコン２０が、いわゆるハンドシェイク信号などを利用して、送信処理の完了を第２マイコン３０に通知する。第２マイコン３０は、この通知を受けたときに、受信用データテーブル３２内に格納されたデータに照合キー２７が含まれているかどうかを検索してもよい。
【００４３】
あるいは、第２マイコン３０は、一定の時間間隔で定期的に、受信用データテーブル３２内に格納されたデータに照合キー２７が含まれているかどうかを検索してもよい。この場合、受信用データテーブル３２にデータが正しく書き込まれたと判定されたときに、受信用データテーブル３２内のデータを空にしておくことで、例えば、受信用データテーブル３２に最後のデータの書き込みが行われたときから所定時間が経過した時点で、受信用データテーブル３２内に照合キー２７を発見できないとき、受信用データテーブル３２にデータが正しく書き込まれなかったとみなすことができる。
【００４４】
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００４５】
例えば、上述した実施形態では、判定用データとして、送信されるべきデータの最終データとして送信される、送信側マイコンと受信側マイコンとで照合可能な照合キーを用いていた。しかしながら、判定用データは、このような照合キーに限られるわけではない。例えば、送信側マイコンは、送信するすべてのデータのデータ量を示す量データを判定用データとして用いて、この判定用データ（量データ）を、送信すべきデータの最初のデータとして送信してもよい。この場合、送信側マイコンと受信側マイコンとで、最初に送信されるデータの受信用データテーブルにおける格納場所を事前に取り決めておけば、受信側マイコンは、判定用データ（量データ）から受信すべきデータのデータ量を把握することができる。そして、そのデータ量に対応するデータが、受信用データベースに書き込まれたとき、受信側マイコンは、受信すべきすべてのデータを受信したと判定することができる。
【符号の説明】
【００４６】
１０：電子制御装置、２０：第１マイコン、２１：送信用データテーブル、２２：転送先アドレステーブル、２３：ＤＭＡＣ、２４：転送データレジスタ、２５：転送先アドレスレジスタ、２７：照合キー、２８：ＣＰＵ、３０：第２マイコン、３２：受信用データテーブル、３３：照合キー、４０：通信線
【図１】
2020024637.tif 000003
【図２】
2020024637.tif 000004
【図３】
2020024637.tif 000005
【図４】
2020024637.tif 000006