(57)【要約】【課題】主従関係がある複数の処理部を備える構成において、従処理部にて生じた異常などに対する制御処理を主処理部が行うことができる通信装置及び制御方法を提供する。【解決手段】本実施の形態に係る通信装置は、通信に係る処理を行う従処理部と、前記従処理部の起動を制御する主処理部とを備え、前記従処理部は、周期的に前記主処理部へ信号を送信する周期信号送信部を有し、前記主処理部は、前記周期信号送信部が周期的に送信する信号に応じて前記従処理部の動作を制御する制御部を有する。また、前記主処理部の前記制御部は、所定時間に亘って前記信号を受信しない場合に、前記従処理部に対する所定の制御を行ってもよい。また、前記主処理部の前記制御部は、前記所定の制御として、前記従処理部の再起動又は停止する制御を行ってもよい。【選択図】図１
2019214353.tif 000002
【特許請求の範囲】
【請求項１】
通信に係る処理を行う従処理部と、
前記従処理部の起動を制御する主処理部と
を備え、
前記従処理部は、周期的に前記主処理部へ信号を送信する周期信号送信部を有し、
前記主処理部は、前記周期信号送信部が周期的に送信する信号に応じて前記従処理部の動作を制御する制御部を有する、
通信装置。
【請求項２】
前記主処理部の前記制御部は、所定時間に亘って前記信号を受信しない場合に、前記従処理部に対する所定の制御を行う、請求項１に記載の通信装置。
【請求項３】
前記主処理部の前記制御部は、前記所定の制御として、前記従処理部の再起動又は停止する制御を行う、請求項２に記載の通信装置。
【請求項４】
前記従処理部は、記憶部に記憶された複数のプログラムを選択的に実行し、
前記主処理部は、前記従処理部がいずれのプログラムを実行するかの選択指示を与え、
前記周期信号送信部が周期的に送信する信号には、いずれのプログラムを実行しているかを示す情報を含む、請求項１乃至請求項３のいずれか１つに記載の通信装置。
【請求項５】
前記主処理部は、前記従処理部が実行するプログラムを更新する処理を行い、
前記複数のプログラムには、更新前のプログラム及び更新後のプログラムを含む、請求項４に記載の通信装置。
【請求項６】
前記周期信号送信部が周期的に送信する信号には、前記従処理部の処理にて発生したエラーに関する情報を含む、請求項１乃至請求項５のいずれか１つに記載の通信装置。
【請求項７】
前記エラーに関する情報は、前記従処理部に供給される電圧の異常に関する情報である、請求項６に記載の通信装置。
【請求項８】
前記電圧の異常は、前記電圧の値が所定値未満に低下することである、請求項７に記載の通信装置。
【請求項９】
通信に係る処理を行う従処理部と、前記従処理部の起動を制御する主処理部とを備える通信装置が、
前記従処理部にて、周期的に前記主処理部へ信号を送信し、
前記主処理部にて、前記従処理部から周期的に送信される信号に応じて、前記従処理部の動作を制御する、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理部を備える通信装置及びこれらの処理部の制御方法に関する。
【背景技術】
【０００２】
従来、車両に搭載された複数のＥＣＵ（Electronic Control Unit）などの装置は、ＣＡＮ（Controller Area Network）又はイーサネット（登録商標）等の通信規格に従った通信を行っている。複数のＥＣＵは通信により情報を交換し、車両の制御などを協働して行っている。また近年では、車両に搭載されるＥＣＵの数が増大しており、車両内に複数のネットワークグループが設けられ、グループ間の通信をゲートウェイなどの装置が中継する構成が採用されている。
【０００３】
特許文献１においては、通信条件又は通信状況に合わせて通信パラメータを決定するナビゲーション装置が記載されている。このナビゲーション装置は、サーバ装置に対してメッセージを送信し、このメッセージに対する応答メッセージをサーバ装置から受信する。ナビゲーション装置は、メッセージの送信から応答メッセージの受信までの時間に基づいて、通信時間に関する通信状態を示すレスポンス値を計測する。ナビゲーション装置は、計測したレスポンス値に基づいて最適な通信パラメータを決定し、通信切断条件に関する通信パラメータに当該最適な通信パラメータを設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５０３００６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＥＣＵ又はゲートウェイ等の通信装置において、プログラムを実行して処理を行うマイコン（マイクロコントローラ）などの処理部を複数備える構成とすることが考えられる。処理部を複数備えることによって、例えば処理負荷の分散などが期待できる。しかし、一の処理部において故障などの異常が発生した場合に、他の処理部の動作に悪影響を与えるという問題がある。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、特に主従関係がある複数の処理部を備える構成において、従処理部にて生じた異常などに対する制御処理を主処理部が行うことができる通信装置及び制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
本態様に係る通信装置は、通信に係る処理を行う従処理部と、前記従処理部の起動を制御する主処理部とを備え、前記従処理部は、周期的に前記主処理部へ信号を送信する周期信号送信部を有し、前記主処理部は、前記周期信号送信部が周期的に送信する信号に応じて前記従処理部の動作を制御する制御部を有する。
【０００８】
本態様に係る制御方法は、通信に係る処理を行う従処理部と、前記従処理部の起動を制御する主処理部とを備える通信装置が、前記従処理部にて、周期的に前記主処理部へ信号を送信し、前記主処理部にて、前記従処理部から周期的に送信される信号に応じて、前記従処理部の動作を制御する。
【０００９】
なお、本願は、このような特徴的な処理部を備える通信装置として実現することができるだけでなく、かかる特徴的な処理をステップとする制御方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。また、通信装置の一部又は全部を実現する半導体集積回路として実現したり、通信装置を含むその他の装置又はシステムとして実現したりすることができる。
【発明の効果】
【００１０】
上記によれば、従処理部にて生じた異常などに対する制御処理を主処理部が行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係るゲートウェイの構成を示すブロック図である。
【図２】実施の形態１に係る主マイコンの構成を示すブロック図である。
【図３】実施の形態１に係る従マイコンの構成を示すブロック図である。
【図４】主マイコン及び従マイコンの間で送受信されるメッセージの構成を示す模式図である。
【図５】実施の形態１に係る主マイコンが起動時に行う処理の手順を示すフローチャートである。
【図６】実施の形態１に係る従マイコンが起動時に行う処理の手順を示すフローチャートである。
【図７】実施の形態１に係る従マイコンが行う周期メッセージの送信処理の手順を示すフローチャートである。
【図８】実施の形態１に係る主マイコンが行う周期メッセージに基づく制御処理の手順を示すフローチャートである。
【図９】実施の形態２に係るゲートウェイの構成を示すブロック図である。
【図１０】実施の形態２に係る従マイコンの構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
［本発明の実施の形態の説明］
最初に本発明の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１３】
（１）本態様に係る通信システムは、通信に係る処理を行う従処理部と、前記従処理部の起動を制御する主処理部とを備え、前記従処理部は、周期的に前記主処理部へ信号を送信する周期信号送信部を有し、前記主処理部は、前記周期信号送信部が周期的に送信する信号に応じて前記従処理部の動作を制御する制御部を有する。
【００１４】
本態様にあっては、通信装置は主処理部及び従処理部の２つの処理部を備える。主処理部は、従処理部の起動を制御する。従処理部は、通信に係る処理を行う。また従処理部は、周期的に所定の信号を主処理部へ送信する。主処理部は、従処理部が周期的に送信する信号に応じて、従処理部の動作を制御する。
これにより主処理部は、従処理部から周期的に送信される信号に基づいて、従処理部の動作状況などを周期的に把握することができる。
【００１５】
（２）前記主処理部の前記制御部は、所定時間に亘って前記信号を受信しない場合に、前記従処理部に対する所定の制御を行うことが好ましい。
【００１６】
本態様にあっては、従処理部が周期的に送信する信号を、主処理部が所定時間に亘って受信しない場合に、従処理部に対して所定の制御を行う。従処理部から周期的な信号を受信しない状態が所定時間に亘って継続する場合、従処理部に異常が発生したと推測することができる。このような場合に主処理部が所定の制御を行うことによって、従処理部の異常に対応することが可能となる。
【００１７】
（３）前記主処理部の前記制御部は、前記所定の制御として、前記従処理部の再起動又は停止する制御を行うことが好ましい。
【００１８】
本態様にあっては、従処理部からの周期的な信号を受信しない場合に主処理部が行う所定の制御を、従処理部を再起動又は停止する制御とする。再起動の制御を行うことにより、異常が発生した従処理部が通常の状態へ復帰する可能性がある。また停止の制御を行うことにより、従処理部の異常が主処理部及び他の装置等に悪影響を与えることを抑制できる。
【００１９】
（４）前記従処理部は、記憶部に記憶された複数のプログラムを選択的に実行し、前記主処理部は、前記従処理部がいずれのプログラムを実行するかの選択指示を与え、前記周期信号送信部が周期的に送信する信号には、いずれのプログラムを実行しているかを示す情報を含むことが好ましい。
【００２０】
本態様にあっては、記憶部に記憶された複数のプログラムの中から従処理部がいずれか１つを選択して実行する。従処理部がいずれのプログラムを実行するかは、主処理部の選択指示に応じて選択される。従処理部は、周期的な信号を送信する際に、いずれのプログラムを実行しているかを示す情報を信号に含める。これにより、周期的な信号を受信した主処理部は、従処理部がいずれのプログラムを実行しているかを把握することができ、自らが指示したプログラムが実行されているかを把握することができる。
【００２１】
（５）前記主処理部は、前記従処理部が実行するプログラムを更新する処理を行い、前記複数のプログラムには、更新前のプログラム及び更新後のプログラムを含むことが好ましい。
【００２２】
本態様にあっては、従処理部が実行するプログラムは例えばバージョンアップ又は不具合修正等の目的で更新する必要が生じる場合があり、従処理部が実行するプログラムを更新する処理を主処理部が行う。更新処理において主処理部は、新たなプログラムを従処理部の記憶部に記憶させる。従処理部のプログラムが記憶される記憶部には、複数のプログラムを記憶しておくことが可能であり、更新前のプログラムと更新後のプログラムとを記憶しておくことができる。更新後のプログラムの記憶を完了した後、主処理部が従処理部に更新後のプログラムを記憶部から読み出して実行する選択指示を与えることで、従処理部は記憶部に記憶された更新後のプログラムを実行することができる。
【００２３】
（６）前記周期信号送信部が周期的に送信する信号には、前記従処理部の処理にて発生したエラーに関する情報を含むことが好ましい。
【００２４】
本態様にあっては、従処理部は、周期的な信号を送信する際に、自身の処理にて発生したエラーに関する情報を含める。これにより、周期的な信号を受信した主処理部は、従処理部にて発生したエラーを把握することができ、エラーからの復帰などの処理を行うことが可能となる。
【００２５】
（７）前記エラーに関する情報は、前記従処理部に供給される電圧の異常に関する情報であることが好ましい。
【００２６】
本態様にあっては、従処理部に供給される電圧の異常を把握することができるので、従処理部に予め定められた動作に係る電圧値の範囲よりも高い値の電圧又は低い値の電圧が供給されることによる従処理部の動作不良を防止することができる。
【００２７】
（８）前記電圧の異常は、前記電圧の値が所定値未満に低下することであることが好ましい。
【００２８】
本態様にあっては、従処理部に供給される低電圧の異常を把握することができるので、バッテリからの供給電圧の低下により、従処理部に予め定められた電圧値の範囲よりも低い値の電圧が供給されることによる従処理部の動作不良を防ぐことができる。
【００２９】
（９）本態様に係る制御方法は、通信に係る処理を行う従処理部と、前記従処理部の起動を制御する主処理部とを備える通信装置が、前記従処理部にて、周期的に前記主処理部へ信号を送信し、前記主処理部にて、前記従処理部から周期的に送信される信号に応じて、前記従処理部の動作を制御する。
【００３０】
本態様にあっては、態様（１）と同様に、主処理部は、従処理部から周期的に送信される信号に基づいて、従処理部の動作状況などを周期的に把握することができる。
【００３１】
［本発明の実施形態の詳細］
本発明の実施形態に係る通信装置の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００３２】
（実施の形態１）
図１は、実施の形態１に係るゲートウェイの構成を示すブロック図である。実施の形態１に係るゲートウェイ３は、車両１に搭載されている。車両１には複数のＥＣＵ２ａ，２ｂが搭載されており、複数のＥＣＵ２ａ，２ｂはＣＡＮ又はイーサネットの通信規格に従って通信を行うことができる。ゲートウェイ３は、これら複数のＥＣＵ２ａ，２ｂの間のメッセージ送受信を中継する処理を行う通信装置である。実施の形態１においては、ＥＣＵ２ａはイーサネットの通信規格で通信を行い、ＥＣＵ２ｂはＣＡＮの通信規格で通信を行うものとする。ゲートウェイ３は、イーサネット用の通信線を介してＥＣＵ２ａに接続されると共に、ＣＡＮ用の通信線（ＣＡＮバス）を介してＥＣＵ２ｂに接続されている。
【００３３】
ゲートウェイ３は、主マイコン１０及び従マイコン３０の２つのマイコンを備えている。マイコンは、例えばプロセッサ、メモリ及び通信ユニット等が１つのＩＣ（Integrated Circuit）として構成されたものであり、予め記憶したプログラムを実行することによって種々の演算処理及び制御処理等を行うことができる。実施の形態１に係るゲートウェイ３は、例えば主マイコン１０及び従マイコン３０が１つの回路基板に搭載され、回路基板上に形成された配線を介して信号の授受が行われる。また回路基板にはイーサネット及びＣＡＮの通信線を接続するためのコネクタが複数搭載されており、これらの各コネクタと主マイコン１０又は従マイコン３０とが回路基板上の配線を介して接続されている。コネクタに通信線が接続されることにより、主マイコン１０及び従マイコン３０は通信線を介してＥＣＵ２ａ，２ｂとの通信を行うことができる。
【００３４】
実施の形態１に係るゲートウェイ３は、主マイコン１０がＣＡＮの通信を行い、従マイコン３０がイーサネットの通信を行う。ただしこの役割分担は一例であって、これに限るものではない。主マイコン１０にはＣＡＮの通信線が複数接続され、各通信線には複数のＥＣＵ２ｂが接続されている。主マイコン１０は、通信線間のメッセージ送受信を中継する処理を行う。同様に従マイコン３０にはイーサネットの通信線が複数接続され、各通信線にはＥＣＵ２ａが接続されている。従マイコン３０は、ＥＣＵ２ａ間のメッセージ送受信を中継する処理を行う。またゲートウェイ３は、ＥＣＵ２ａとＥＣＵ２ｂとの間でのメッセージの送受信を中継することも可能であり、この場合には主マイコン１０及び従マイコン３０の間でメッセージの授受が行われる。
【００３５】
主マイコン１０及び従マイコン３０は、通信によりメッセージの送受信を行うことができる（図１において「通信」のラベルを付した太線矢印を参照）。また主マイコン１０は、従マイコン３０の動作を制御するため、起動指示、リセット及び電源制御の信号を従マイコン３０へ出力している（図１において「起動指示」、「リセット」及び「電源制御」のラベルを付した細線矢印を参照）。これらの通信線及び信号線は、主マイコン１０及び従マイコン３０が搭載された回路基板上の配線として実現される。
【００３６】
主マイコン１０及び従マイコン３０の間で行われる通信には、例えばＭＩＩ（Media Independent Interface）の通信規格が採用され得る。この場合、主マイコン１０及び従マイコン３０の間には、主マイコン１０から従マイコン３０へのメッセージ送信のための通信線と、従マイコン３０から主マイコン１０へのメッセージ送信のための通信線と、通信に関する制御を行うための信号線とが含まれ得る。主マイコン１０及び従マイコン３０は、例えばＥＣＵ２ａからＥＣＵ２ｂへ又はＥＣＵ２ｂからＥＣＵ２ａへと中継すべきメッセージを、この通信により授受することができる。
【００３７】
主マイコン１０が出力する起動指示の信号は、従マイコン３０が起動時にメモリから読み出して実行するプログラムの選択を指示する信号である。詳細は後述するが、従マイコン３０のメモリには２つのプログラムが記憶されており、従マイコン３０は起動時にいずれか１つのプログラムを読み出して実行する。この２つのプログラムをプログラムＡ及びプログラムＢとした場合、例えば主マイコン１０が出力する起動指示の信号がローレベルであれば従マイコン３０はプログラムＡを実行し、信号がハイレベルであれば従マイコン３０はプログラムＢを実行する構成とすることができる。実施の形態１においては、起動信号の信号を送受信する信号線は１つであってよいが、例えば従マイコン３０が３つ以上のプログラムを記憶可能である場合又はプログラムの動作モードなどを更に指定可能な場合等には、起動信号の信号を送受信する信号線が複数であってもよい。
【００３８】
主マイコン１０が出力するリセットの信号は、従マイコン３０の動作をリセット（初期化）する信号である。例えば、リセット信号がローレベルの場合に従マイコン３０はリセットされ、その後にリセット信号がハイレベルに変化することでリセットが解除され、従マイコン３０の動作が開始される。このときに従マイコン３０は、起動指示の信号にて指示されたプログラムを読み出して実行することにより、動作を開始する。
【００３９】
また、主マイコン１０が出力する電源制御の信号は、従マイコン３０の電源（電力供給）をオン／オフする信号である。例えば、電源制御の信号がローレベルの場合に、従マイコン３０は電源オフとなり、停止する。電源制御の信号がハイレベルの場合に従マイコン３０は電源オンとなり、動作する。
【００４０】
実施の形態１に係るゲートウェイ３では、従マイコン３０が例えば１秒に１回の周期で所定のメッセージを主マイコン１０へ送信する。この周期的なメッセージ送信は、従マイコン３０が正常に動作していることを主マイコン１０に通知するためのメッセージであり、いわゆるKeep Aliveと呼ばれ得る信号の送信に相当する。実施の形態１においては、このメッセージを周期メッセージと呼ぶ。主マイコン１０は、１秒に１回の周期で従マイコン３０からの周期メッセージを受信する。もしこの周期メッセージが受信できない場合、主マイコン１０は、従マイコン３０に異常が発生したと判断し、従マイコン３０のリセット又は電源オフ等の制御を行う。なお、実施の形態１においては、従マイコン３０から主マイコン１０へ１秒周期で周期メッセージ送信を行う構成とするが、この周期は一例であって、これに限るものではなく、例えば周期を１００ミリ秒としてもよく、１０秒としてもよい。ただし周期メッセージの送信周期は、例えばＥＣＵ２ａ，２ｂ間のメッセージ中継のための通信の周期又は頻度等と比較して、十分に長い期間が設定されることが好ましい。
【００４１】
また実施の形態１に係るゲートウェイ３では、従マイコン３０が実行するプログラムをバージョンアップ又は不具合修正等のために更新する必要が生じた場合に、主マイコン１０が従マイコン３０のプログラムを更新する処理を行う。主マイコン１０は、例えば車両１の外部に存在するサーバ装置などから更新用のプログラムを取得する。図１において更新用のプログラムの取得経路は図示を省略しているが、例えば主マイコン１０は車両１に搭載された無線通信装置を利用して車両１の外部に存在するサーバ装置との通信を行い、更新用のプログラムを取得する構成とすることができる。主マイコン１０は、取得した更新用のプログラムを、ＭＩＩの通信により従マイコン３０へ送信する。
【００４２】
従マイコン３０は、上述のようにメモリに２つのプログラムを記憶することができる。主マイコン１０から更新用のプログラムを受信した従マイコン３０は、その時点において実行していないプログラムが記憶されたメモリの領域に、受信した更新用のプログラムを上書きして記憶する。主マイコン１０は、更新用のプログラムの送信を完了した後、メモリに記憶された更新用のプログラムを実行するよう起動指示の信号を出力すると共に、従マイコン３０をリセットする。これにより従マイコン３０は、メモリに記憶された新たなプログラム（更新用のプログラム）を読み出して実行することができ、従マイコン３０のプログラムの更新処理が完了する。
【００４３】
また従マイコン３０は、メモリに記憶された２つのプログラムのうちいずれのプログラムを実行しているかを示す情報を、１秒に１回の周期で主マイコン１０へ送信する周期メッセージに含めて送信する。周期メッセージを受信した主マイコン１０は、周期メッセージに含まれる情報に基づいて、従マイコン３０がいずれのプログラムを実行しているかを把握することができ、自身が起動指示で指示したプログラムが実行されているかを確認することができる。
【００４４】
また従マイコン３０は、自身の処理などにおいてエラーが発生している場合に、このエラーに関する情報を周期メッセージに含めて送信する。周期メッセージを受信した主マイコン１０は、周期メッセージに含まれるエラーに関する情報に基づいて、例えば従マイコン３０をリセット又は停止するなどの制御処理を行うことができる。従マイコン３０が周期メッセージを送信することが可能ではあるが、エラーが発生しているという状況を主マイコン１０が把握することができる。
【００４５】
図２は、実施の形態１に係る主マイコン１０の構成を示すブロック図である。実施の形態１に係る主マイコン１０は、プロセッサ１１、メモリ１２、ＣＡＮ通信部１３及びＩ／Ｆ（インタフェース）部１４等を備えて構成されている。プロセッサ１１は、メモリ１２に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う演算処理装置である。メモリ１２は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）又はフラッシュメモリ等の不揮発性のメモリ素子を用いて構成され、プロセッサ１１が実行する各種のプログラム及びこのプログラムを実行するために必要なデータ等を記憶する。
【００４６】
ＣＡＮ通信部１３は、ＣＡＮの通信規格に基づくメッセージの送受信を行う。実施の形態１に係る主マイコン１０は、ＣＡＮ通信部１３を２つ備えている。２つのＣＡＮ通信部１３はそれぞれ通信線が接続され、この通信線に接続されているＥＣＵ２ｂとの間でメッセージの送受信を行う。ＣＡＮ通信部１３は、プロセッサ１１から与えられたメッセージを、通信線を介してＥＣＵ２ｂへ送信する。またＣＡＮ通信部１３は、通信線を介してＥＣＵ２ｂから受信したメッセージをプロセッサ１１へ与える。
【００４７】
Ｉ／Ｆ部１４は、従マイコン３０との間での通信及び信号授受等を行う。Ｉ／Ｆ部１４は、ゲートウェイ３の回路基板上に設けられた複数の配線を介して従マイコン３０に接続される。Ｉ／Ｆ部１４は、ＭＩＩの通信規格に従って、従マイコン３０との間でメッセージの送受信を行う。Ｉ／Ｆ部１４は、プロセッサ１１から与えられたメッセージを従マイコン３０へ送信すると共に、従マイコン３０からのメッセージを受信してプロセッサ１１へ与える。またＩ／Ｆ部１４は、プロセッサ１１の制御に応じて、起動指示、リセット及び電源制御の各信号を従マイコン３０に対して出力する。
【００４８】
図３は、実施の形態１に係る従マイコン３０の構成を示すブロック図である。実施の形態１に係る従マイコン３０は、プロセッサ３１、メモリ３２、イーサネット通信部３３及びＩ／Ｆ部３４等を備えて構成されている。プロセッサ３１は、メモリ３２に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う演算処理装置である。
【００４９】
メモリ３２は、ＥＥＰＲＯＭ又はフラッシュメモリ等の不揮発性のメモリ素子を用いて構成され、プロセッサ３１が実行する各種のプログラム及びこのプログラムを実行するために必要なデータ等を記憶する。実施の形態１においてメモリ３２は、プロセッサ３１が実行するプログラムを２つ記憶することができる（図３において、プログラムＡ及びプログラムＢと図示している）。プロセッサ３１は、主マイコン１０から与えられる起動指示の信号に基づいて、メモリ３２からいずれか一方のプログラムを読み出して実行する。
【００５０】
イーサネット通信部３３は、イーサネットの通信規格に基づくメッセージの送受信を行う。なお実施の形態１において従マイコン３０は複数のイーサネット通信部３３を備えているが、図３においては構成を簡略化して３つのイーサネット通信部３３のみを図示している。複数のイーサネット通信部３３はそれぞれ通信線が接続され、この通信線に接続されているＥＣＵ２ａとの間でメッセージの送受信を行う。イーサネット通信部３３は、プロセッサ３１から与えられたメッセージを、通信線を介してＥＣＵ２ａへ送信する。またイーサネット通信部３３は、通信線を介してＥＣＵ２ａから受信したメッセージをプロセッサ３１へ与える。
【００５１】
Ｉ／Ｆ部３４は、主マイコン１０との間での通信及び信号授受等を行う。Ｉ／Ｆ部３４は、ゲートウェイ３の回路基板上に設けられた複数の配線を介して主マイコン１０に接続される。Ｉ／Ｆ部３４は、ＭＩＩの通信規格に従って、主マイコン１０との間でメッセージの送受信を行う。Ｉ／Ｆ部３４は、プロセッサ３１から与えられたメッセージを主マイコン１０へ送信すると共に、主マイコン１０からのメッセージを受信してプロセッサ３１へ与える。またＩ／Ｆ部３４は、主マイコン１０が出力した起動指示、リセット及び電源制御の各信号の状態（ハイレベル又はローレベルのいずれであるか）を取得し、取得した信号状態をプロセッサ３１へ与える。
【００５２】
図４は、主マイコン１０及び従マイコン３０の間で送受信されるメッセージの構成を示す模式図である。主マイコン１０及び従マイコン３０の間で送受信されるメッセージは、イーサネットヘッダ、マイコン間通信ヘッダ、データ及びフッタ等を含んで構成されている。なお、図示のメッセージ構成は、主マイコン１０及び従マイコン３０が通常に送受信するメッセージと、従マイコン３０が主マイコン１０へ送信する周期メッセージとで共通の構成である。
【００５３】
主マイコン１０及び従マイコン３０の間で送受信されるメッセージは、イーサネットのＭＩＩの通信規格に従うものであり、メッセージに含まれるイーサネットヘッダはこの通信規格に従う情報、例えば送受信元のアドレス及びメッセージタイプ等の情報を含む。メッセージに含まれるマイコン間通信ヘッダは、実施の形態１に特有の情報であり、ＡＣＫ有無、再送フラグ、シーケンス番号、データサイズ及びデータタイプ等の情報を含む。データは、主マイコン１０及び従マイコン３０の間で送受信すべき任意のデータである。フッタは、メッセージの終わりを示す所定のデータである。
【００５４】
マイコン間通信ヘッダのＡＣＫ有無の情報は、このメッセージに対して受信側がＡＣＫ、即ちメッセージを受信した旨の応答を行う必要があるか否かを示す情報である。再送フラグは、このメッセージを送信するのが２回目以上であることを示すフラグである。シーケンス番号は、主マイコン１０及び従マイコン３０の間でメッセージを識別するための番号が設定される。データサイズは、マイコン間通信ヘッダに続くデータのサイズが設定される。データタイプは、このメッセージの種別が設定される。従マイコン３０から主マイコン１０へ送信される周期メッセージは、マイコン間通信ヘッダのデータタイプに周期メッセージであることを示す情報が設定されることで区別される。
【００５５】
周期メッセージのデータには、上述のように、従マイコン３０のプロセッサ３１が実行しているプログラムがメモリ３２に記憶された２つのプログラムのうちのいずれであるかを示す情報が含まれる。また更に、従マイコン３０においてエラーが発生した場合には、このエラーに関する情報が周期メッセージのデータに含まれる。従マイコン３０にて発生するエラーは、例えば従マイコン３０のレジスタの設定異常、メモリ３２の読み書きのエラー、イーサネット通信に関するエラー等が考えられる。周期メッセージのデータには、エラーの有無及びエラーの種別を示す情報が、エラーに関する情報として設定され得る。
【００５６】
図５は、実施の形態１に係る主マイコン１０が起動時に行う処理の手順を示すフローチャートである。実施の形態１に係る主マイコン１０のプロセッサ１１は、例えばゲートウェイ３への電力供給が開始され、パワーオンリセットなどが解除されることにより、メモリ１２からプログラムを読み出して実行し、処理に必要な初期値の設定など自身の起動処理を行う（ステップＳ１）。自身の起動処理を終了した後、プロセッサ１１は、従マイコン３０がいずれのプログラムを実行すべきであるかを決定し、この決定に基づいて起動示の信号を出力する（ステップＳ２）。例えば主マイコン１０はメモリ３２に従マイコン３０の最新のプログラムがプログラムＡ又はプログラムＢのいずれであるかを記憶しておき、ステップＳ２においてこの記憶した情報に基づいてプロセッサ１１が実行すべきプログラムを決定することができる。
【００５７】
次いで、プロセッサ１１は、従マイコン３０への電源制御の信号をローレベルからハイレベルへ切り替えることによって、従マイコン３０の電源をオンする（ステップＳ３）。その後、プロセッサ１１は、従マイコン３０へのリセットの信号をローレベルからハイレベルへ切り替えることによって、従マイコン３０のリセットを解除し（ステップＳ４）、起動時の処理を終了する。
【００５８】
図６は、実施の形態１に係る従マイコン３０が起動時に行う処理の手順を示すフローチャートである。実施の形態１に係る従マイコン３０は、主マイコン１０による電源オンの制御に応じて処理を開始する。従マイコン３０のプロセッサ３１は、主マイコン１０からのリセットの信号に基づいて、リセットが解除されたか否かを判定する（ステップＳ１１）。リセットが解除されていない場合（Ｓ１１：ＮＯ）、プロセッサ３１は、リセットが解除されるまで待機する。
【００５９】
リセットが解除された場合（Ｓ１１：ＹＥＳ）、プロセッサ３１は、主マイコン１０から入力される信号に基づいて起動指示を取得する（ステップＳ１２）。プロセッサ３１は、取得した起動指示において指定されたプログラムをメモリ３２から読み出して実行し（ステップＳ１３）、起動時の処理を終了する。
【００６０】
図７は、実施の形態１に係る従マイコン３０が行う周期メッセージの送信処理の手順を示すフローチャートである。実施の形態１に係る従マイコン３０のプロセッサ３１は、タイマ機能などを内蔵しており、起動から又は前回の周期メッセージの送信から所定時間が経過したか否かを判定する（ステップＳ２１）。所定時間が経過していない場合（Ｓ２１：ＮＯ）、プロセッサ３１は、所定時間が経過するまで待機する。
【００６１】
所定時間が経過した場合（Ｓ２１：ＹＥＳ）、プロセッサ３１は、その時点で実行しているプログラムがメモリ３２に記憶されたプログラムＡ又はプログラムＢのいずれであるかを示す起動情報の収集を行う（ステップＳ２２）。またプロセッサ３１は、自身の処理においてエラーが発生しているか否か及びエラーが発生している場合にはそのエラーの種別等のエラー情報の収集を行う（ステップＳ２３）。プロセッサ３１は、収集した起動情報及びエラー情報をデータに含む周期メッセージを生成する（ステップＳ２４）。プロセッサ３１は、生成した周期メッセージをＩ／Ｆ部３４へ与えることにより、周期メッセージを主マイコン１０へ送信し（ステップＳ２５）、ステップＳ２１へ処理を戻す。
【００６２】
図８は、実施の形態１に係る主マイコン１０が行う周期メッセージに基づく制御処理の手順を示すフローチャートである。実施の形態１に係る主マイコン１０のプロセッサ１１は、Ｉ／Ｆ部１４にて従マイコン３０から周期メッセージを受信したか否かを判定する（ステップＳ３１）。周期メッセージを受信していない場合（Ｓ３１：ＮＯ）、プロセッサ１１は、前回の周期メッセージの受信から所定時間以上が経過したか否かを判定する（ステップＳ３２）。この判定に用いられる所定時間は、周期メッセージの送信周期である１秒とするか、又は、送信周期より長い時間（例えば３秒）としてもよい。前回の受信から所定時間以上が経過していない場合（Ｓ３２：ＮＯ）、プロセッサ１１は、ステップＳ３１へ処理を戻し、周期メッセージを受信するか、又は、前回の受信から所定時間以上が経過するまで待機する。
【００６３】
周期メッセージを受信した場合（Ｓ３１：ＹＥＳ）、プロセッサ１１は、周期メッセージのデータに含まれる起動情報を取得する（ステップＳ３３）。またプロセッサ１１は、受信した周期メッセージのデータにエラー情報が含まれていれば、これを取得する（ステップＳ３４）。プロセッサ１１は、取得した起動情報及びエラー情報に基づいて、従マイコン３０に異常があるか否かを判定する（ステップＳ３５）。ここでプロセッサ１１は、取得した起動情報と、自らが出力した起動指示とに相違がある場合、従マイコン３０に異常があると判定することができる。またプロセッサ１１は、周期メッセージにエラー情報が含まれている場合に、従マイコン３０に異常があると判定することができる。従マイコン３０に異常がない場合（Ｓ３５：ＮＯ）、プロセッサ１１は、ステップＳ３１へ処理を戻す。
【００６４】
従マイコン３０に異常がある場合（Ｓ３５：ＹＥＳ）、プロセッサ１１は、ステップＳ３６へ処理を進める。また、前回の周期メッセージの受信から所定時間以上が経過している場合（Ｓ３２：ＹＥＳ）、プロセッサ１１は、従マイコン３０に異常があると判断し、ステップＳ３６へ処理を進める。プロセッサ１１は、Ｉ／Ｆ部１４から出力するリセットの信号をハイレベルからローレベルへ切り替えることによって、従マイコン３０をリセットする（ステップＳ３６）。その後、プロセッサ１１は、リセットを解除して従マイコン３０を再起動し、再起動した従マイコン３０からの周期メッセージの有無及びその内容等に基づいて、従マイコン３０の異常が解消したか否かを判定する（ステップＳ３７）。異常が解消した場合（Ｓ３７：ＹＥＳ）、プロセッサ１１は、ステップＳ３１へ処理を戻す。異常が解消しない場合（Ｓ３７：ＮＯ）、プロセッサ１１は、Ｉ／Ｆ部１４から出力する電源制御の信号をハイレベルからローレベルへ切り替えることによって、従マイコン３０を電源オフして動作を停止させ（ステップＳ３８）、処理を終了する。
【００６５】
以上の構成の実施の形態１に係るゲートウェイ３は、主マイコン１０及び従マイコン３０の２つのマイコンを備える。主マイコン１０は、従マイコン３０の起動を制御する。主マイコン１０はＣＡＮに係る通信処理を行い、従マイコン３０はイーサネットに係る通信処理を行う。また従マイコン３０は、例えば１秒に１回の周期で周期メッセージ（所定の信号）を主マイコン１０へ送信する。主マイコン１０は、従マイコン３０からの周期メッセージに応じて、従マイコン３０の動作を制御する。これにより主マイコン１０は、従マイコン３０からの周期メッセージに基づいて、従マイコン３０の動作状況などを周期的に把握することができる。
【００６６】
またゲートウェイ３の主マイコン１０は、従マイコン３０からの周期メッセージを所定時間に亘って受信しない場合に、従マイコン３０に対して所定の制御を行う。従マイコン３０から周期メッセージを受信しない状態が所定時間に亘って継続する場合、従マイコン３０に異常が発生したと推測することができる。このような場合に主マイコン１０が所定の制御を行うことによって、従マイコン３０の異常に対応することが可能となる。
【００６７】
また主マイコン１０は、従マイコン３０から周期メッセージを所定時間に亘って受信しない場合に行う所定の制御として、従マイコン３０を再起動（リセット）又は停止（電源オフ）する制御を行う。再起動の制御を行うことにより、異常が発生した従マイコン３０が通常の状態へ復帰する可能性がある。また停止の制御を行うことにより、従マイコン３０の異常が主マイコン１０及びＥＣＵ２ａ等に悪影響を与えることを抑制できる。
【００６８】
またゲートウェイ３の従マイコン３０では、メモリ３２に記憶された２つのプログラムの中からプロセッサ３１がいずれか１つを選択した実行する。従マイコン３０のプロセッサ３１がいずれのプログラムを実行するかは、主マイコン１０からの選択指示（起動指示）に応じて選択される。従マイコン３０は、プロセッサ３１がいずれのプログラムを実行しているかを示す情報を周期メッセージに含めて主マイコン１０へ送信する。これにより、周期メッセージを受信した主マイコン１０は、従マイコン３０がいずれのプログラムを実行しているかを把握することができ、自らが指示したプログラムが実行されているかを把握することができる。
【００６９】
また従マイコン３０のプロセッサ３１が実行するプログラムは、例えばバージョンアップ又は不具合修正等の目的で更新する必要が生じる場合があり、従マイコン３０が実行するプログラムを更新する処理を主マイコン１０が行う。更新処理において主マイコン１０は、新たなプログラムを従マイコン３０のメモリ３２に記憶させる。従マイコン３０のメモリ３２には複数のプログラムを記憶しておくことが可能であり、更新前のプログラムと更新後のプログラムとを記憶しておくことができる。メモリ３２による更新後のプログラムの記憶を完了した後、主マイコン１０が従マイコン３０に更新後のプログラムを実行する選択指示を与えることで、従マイコン３０はメモリ３２に記憶された更新後のプログラムを実行することができる。
【００７０】
また従マイコン３０は、自身の処理にて発生したエラーに関する情報を周期メッセージに含めて送信する。これにより、周期メッセージを受信した主マイコン１０は、従マイコン３０にて発生したエラーを把握することができ、エラーからの復帰などの処理を行うことが可能となる。
【００７１】
（実施の形態２）
実施の形態２においては、従マイコンは供給される電圧の異常を検出する。実施の形態２におけるゲートウェイ３の構成について実施の形態１と同様の構成については同一の符号を付して詳細な説明を省略する。図９は、実施の形態２に係るゲートウェイ３の構成を示すブロック図である。図９に示すように、ゲートウェイ３には、車両１のバッテリ４から電力が供給される。ゲートウェイ３には、更に第１電源回路４０、スイッチ４１及び第２電源回路４２が設けられている。
【００７２】
バッテリ４の正極は第１電源回路４０を介して主マイコン１０に接続されている。バッテリ４の負極は接地されている。スイッチ４１の一端は第１電源回路４０に接続されており、スイッチ４１の他端は従マイコン３０及び第２電源回路４２に接続されている。第２電源回路４２は更に従マイコン３０に接続されている。
【００７３】
バッテリ４から第１電源回路４０を介して主マイコン１０に電力が供給される。スイッチ４１がオンすることにより、第１電源回路４０、第２電源回路４２を介して従マイコン３０に電力が供給され、スイッチ４１がオフすることにより、電力の供給が遮断される。スイッチ４１のオンオフは主マイコン１０により制御される。
【００７４】
バッテリ４は例えば１２Ｖのバッテリである。第１電源回路４０は、例えば、スイッチングレギュレータであり、バッテリ４から供給される電圧を３．３Ｖに変換して出力する。また、第２電源回路４２は例えば、リニアレギュレータであり、スイッチ４１がオンした場合に第１電源回路４０から出力される電圧を１．０Ｖに変換して従マイコン３０に出力する。従マイコン３０に対しては、第１電源回路４０からと、第２電源回路４２からとの２系統で電力が供給される。
【００７５】
図１０は、実施の形態２に係る従マイコン３０の構成を示すブロック図である。従マイコン３０は、実施の形態１と同様に、プロセッサ３１、メモリ３２、イーサネット通信部３３及びＩ／Ｆ部３４を備える。従マイコン３０は更に異常検出部３５を備える。ここで、従マイコン３０において、第２電源回路４２からの電力はプロセッサ３１のコア部品に供給され、第１電源回路４０からの電力はその他の構成部品に供給される。
【００７６】
異常検出部３５は、第１電源回路４０及び第２電源回路４２から供給される電圧が閾値未満となった場合に、異常を示す信号をプロセッサ３１に出力する。即ち、異常検出部３５は、供給される電圧が低電圧状態である異常を検出する。異常検出部３５は、例えばコンパレータを備え、該コンパレータにより従マイコン３０に入力される電圧と、閾値電圧とを比較して、その比較結果に基づいて異常を検出する。電圧に係る閾値は、例えば、従マイコン３０において予め定められている動作の保証に係る電圧の下限値に設定される。
【００７７】
なお、異常検出部３５は、低電圧に係る異常の検出に代えて、又はこれとともに高電圧に係る異常を検出してもよい。ここで、高電圧に係る異常とは、従マイコン３０に、予め定められている動作の保証に係る所定の電圧の範囲の上限値を超える電圧が入力されることを指す。高電圧に係る異常は、例えば、コンパレータを用いて、異常検出部３５に係る閾値を前記上限値とし、供給される電圧及び閾値を比較し、供給される電圧が閾値を超過したか否かに基づいて検出される。
【００７８】
プロセッサ３１は入力された情報を例えばメモリ３２に記憶させ、エラー情報として、主マイコン１０に出力する。プロセッサ３１は、エラー情報を、実施の形態１と同様に図７のステップＳ２３〜Ｓ２５に示すように、周期メッセージに含めて、主マイコン１０に送信する。
【００７９】
低電圧異常に係るエラー情報は、周期メッセージのデータにおいて、２系統の電力について例えば２ビットを使用する。この場合、１系統につき１ビットで低電圧異常が生じたか否かを伝達する。
【００８０】
主マイコン１０は、周期メッセージの受信により、低電圧異常に係るエラー情報を取得した場合、実施の形態１と同様、図８のステップＳ３４〜３８に示すように、従マイコン３０をリセット又は停止する。
【００８１】
以上の構成によれば、バッテリ４か従マイコン３０に供給される電圧の異常を把握することができ、従マイコン３０に予め定められた動作に係る電圧値の範囲よりも高い値の電圧又は低い値の電圧が供給されることによる従マイコン３０の動作不良を防止することができる。また、低電圧異常を異常検出部３５により検出することにより、バッテリ４の供給電圧の低下により、従マイコン３０に予め定められた電圧値の範囲よりも低い値の電圧が供給されることによる従処理部の動作不良を防ぐことができる。
【００８２】
なお実施の形態１及び２においては、ゲートウェイ３が従マイコン３０を１つ備える構成としたが、これに限るものではなく、従マイコン３０を複数備える構成としてもよい。また実施の形態１及び２においてゲートウェイ３及びＥＣＵ２ａ，２ｂが車両１に搭載されるものとしたが、これに限るものではなく、本技術は車載以外の通信装置にも適用可能である。またメッセージの中継などの処理を行う処理部をマイコンとしたが、これに限るものではなく、マイコン以外の種々の処理部であってよい。また車両１内の通信をＣＡＮ及びイーサネットの通信規格に従って行う構成としたが、これに限るものではなく、例えばＦｌｅｘＲａｙなどの他の通信規格に従って車両１内の通信を行う構成としてもよい。また従マイコン３０がエラー情報を周期メッセージに含めて主マイコン１０へ送信する構成としたが、これに限るものではなく、周期メッセージにはエラー情報を含まない構成としてもよい。更に、実施の形態２において、主マイコン１０へは１系統の電力供給、従マイコン３０へは２系統の電力系統としたが、これに限られず、主マイコン１０及び従マイコン３０への電力供給は夫々、単一又は複数系統のいずれであってもよい。
【００８３】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８４】
１  車両
２ａ，２ｂ  ＥＣＵ
３  ゲートウェイ（通信装置）  １０  主マイコン（主処理部、制御部）
１１  プロセッサ
１２  メモリ
１３  ＣＡＮ通信部
１４  Ｉ／Ｆ部
３０  従マイコン（従処理部、周期信号送信部）
３１  プロセッサ
３２  メモリ
３３  イーサネット通信部
３４  Ｉ／Ｆ部
３５  異常検出部
４  バッテリ
４０  第１電源回路
４１  スイッチ
４２  第２電源回路
【図１】
2019214353.tif 000003
【図２】
2019214353.tif 000004
【図３】
2019214353.tif 000005
【図４】
2019214353.tif 000006
【図５】
2019214353.tif 000007
【図６】
2019214353.tif 000008
【図７】
2019214353.tif 000009
【図８】
2019214353.tif 000010
【図９】
2019214353.tif 000011
【図１０】
2019214353.tif 000012