(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-27
(45)【発行日】2022-10-05
(54)【発明の名称】通信装置及び制御方法
(51)【国際特許分類】
H04L 12/28 20060101AFI20220928BHJP
B60R 16/02 20060101ALI20220928BHJP
G06F 8/65 20180101ALI20220928BHJP
G06F 9/445 20180101ALI20220928BHJP
G06F 11/07 20060101ALI20220928BHJP
G06F 11/30 20060101ALI20220928BHJP
【FI】
H04L12/28 200Z
H04L12/28 100A
B60R16/02 660U
B60R16/02 660M
G06F8/65
G06F9/445
G06F11/07 157
G06F11/07 193
G06F11/07 140Q
G06F11/30 140D
G06F11/30 155
B60R16/02 660H
(21)【出願番号】P 2018230275
(22)【出願日】2018-12-07
【審査請求日】2021-03-30
(31)【優先権主張番号】P 2018110551
(32)【優先日】2018-06-08
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】岡田 遼
(72)【発明者】
【氏名】山根 元太
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2001-075684(JP,A)
【文献】特開平06-119303(JP,A)
【文献】特表2001-509291(JP,A)
【文献】特開2000-151489(JP,A)
【文献】特開2012-155444(JP,A)
【文献】特開2010-182061(JP,A)
【文献】特開2010-140159(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28-12/46
B60R 16/02
G06F 8/65
G06F 9/445
G06F 11/07
G06F 11/30
(57)【特許請求の範囲】
【請求項1】
主処理部と、従処理部
とを備え、
前記主処理部及び前記従処理部は、メッセージを送受信するための通信線、前記従処理部の起動に係る起動信号を授受するための起動信号線、及び、前記従処理部をリセットするリセット信号を授受するためのリセット信号線を介して接続されており、
前記従処理部は、通信に係る処理を行い、
前記主処理部は、前記起動信号を用いて前記従処理部の起動を制御し、
前記従処理部は、
前記通信線を介して、周期的に前記主処理部へ信号を送信
し、
前記主処理部は、前記
従処理部が周期的に送信する信号に応じて前記従処理部の動作を制御
し、
前記従処理部は、前記起動信号に応じて、記憶部に記憶された複数のプログラムを選択的に実行し、
前記主処理部は、前記起動信号を用いて、前記従処理部がいずれのプログラムを実行するかの選択指示を与え、
前記従処理部が周期的に送信する信号には、いずれのプログラムを実行しているかを示す情報を含み、
前記複数のプログラムには、更新前のプログラム及び更新後のプログラムを含み、
前記主処理部は、
前記通信線を介して前記従処理部へ更新用のプログラムを送信し、
前記更新用のプログラムの送信終了後に、前記起動信号の値を切り替え、
前記起動信号の値の切り替え後に、前記リセット信号にて前記従処理部をリセットすることで、前記従処理部が実行するプログラムを更新する処理を行う、
通信装置。
【請求項2】
前記主処理
部は、所定時間に亘って前記信号を受信しない場合に、前記従処理部に対する所定の制御を行う、請求項1に記載の通信装置。
【請求項3】
前記主処理
部は、前記所定の制御として、前記従処理部の再起動又は停止する制御を行う、請求項2に記載の通信装置。
【請求項4】
前記
従処理部が周期的に送信する信号には、前記従処理部の処理にて発生したエラーに関する情報を含む、請求項1乃至請求項
3のいずれか1つに記載の通信装置。
【請求項5】
前記エラーに関する情報は、前記従処理部に供給される電圧の異常に関する情報である、請求項
4に記載の通信装置。
【請求項6】
前記電圧の異常は、前記電圧の値が所定値未満に低下することである、請求項
5に記載の通信装置。
【請求項7】
主処理部と、従処理部
とを備え
、前記主処理部及び前記従処理部が、メッセージを送受信するための通信線、前記従処理部の起動に係る起動信号を授受するための起動信号線、及び、前記従処理部をリセットするリセット信号を授受するためのリセット信号線を介して接続された通信装置が、
前記従処理部にて、通信に係る処理を行い、
前記主処理部にて、前記起動信号を用いて前記従処理部の起動を制御し、
前記従処理部にて、
前記通信線を介して周期的に前記主処理部へ信号を送信し、
前記主処理部にて、前記従処理部から周期的に送信される信号に応じて、前記従処理部の動作を制御
し、
前記従処理部にて、前記起動信号に応じて、記憶部に記憶された複数のプログラムを選択的に実行し、
前記主処理部にて、前記起動信号を用いて、前記従処理部がいずれのプログラムを実行するかの選択指示を与え、
前記従処理部が周期的に送信する信号には、いずれのプログラムを実行しているかを示す情報を含み、
前記複数のプログラムには、更新前のプログラム及び更新後のプログラムを含み、
前記主処理部にて、
前記通信線を介して前記従処理部へ更新用のプログラムを送信し、
前記更新用のプログラムの送信終了後に、前記起動信号の値を切り替え、
前記起動信号の値の切り替え後に、前記リセット信号にて前記従処理部をリセットすることで、前記従処理部が実行するプログラムを更新する処理を行う、
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の処理部を備える通信装置及びこれらの処理部の制御方法に関する。
【背景技術】
【0002】
従来、車両に搭載された複数のECU(Electronic Control Unit)などの装置は、CAN(Controller Area Network)又はイーサネット(登録商標)等の通信規格に従った通信を行っている。複数のECUは通信により情報を交換し、車両の制御などを協働して行っている。また近年では、車両に搭載されるECUの数が増大しており、車両内に複数のネットワークグループが設けられ、グループ間の通信をゲートウェイなどの装置が中継する構成が採用されている。
【0003】
特許文献1においては、通信条件又は通信状況に合わせて通信パラメータを決定するナビゲーション装置が記載されている。このナビゲーション装置は、サーバ装置に対してメッセージを送信し、このメッセージに対する応答メッセージをサーバ装置から受信する。ナビゲーション装置は、メッセージの送信から応答メッセージの受信までの時間に基づいて、通信時間に関する通信状態を示すレスポンス値を計測する。ナビゲーション装置は、計測したレスポンス値に基づいて最適な通信パラメータを決定し、通信切断条件に関する通信パラメータに当該最適な通信パラメータを設定する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ECU又はゲートウェイ等の通信装置において、プログラムを実行して処理を行うマイコン(マイクロコントローラ)などの処理部を複数備える構成とすることが考えられる。処理部を複数備えることによって、例えば処理負荷の分散などが期待できる。しかし、一の処理部において故障などの異常が発生した場合に、他の処理部の動作に悪影響を与えるという問題がある。
【0006】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、特に主従関係がある複数の処理部を備える構成において、従処理部にて生じた異常などに対する制御処理を主処理部が行うことができる通信装置及び制御方法を提供することにある。
【課題を解決するための手段】
【0007】
本態様に係る通信装置は、主処理部と、従処理部とを備え、前記主処理部及び前記従処理部は、メッセージを送受信するための通信線、前記従処理部の起動に係る起動信号を授受するための起動信号線、及び、前記従処理部をリセットするリセット信号を授受するためのリセット信号線を介して接続されており、前記従処理部は、通信に係る処理を行い、前記主処理部は、前記起動信号を用いて前記従処理部の起動を制御し、前記従処理部は、前記通信線を介して、周期的に前記主処理部へ信号を送信し、前記主処理部は、前記従処理部が周期的に送信する信号に応じて前記従処理部の動作を制御し、前記従処理部は、前記起動信号に応じて、記憶部に記憶された複数のプログラムを選択的に実行し、前記主処理部は、前記起動信号を用いて、前記従処理部がいずれのプログラムを実行するかの選択指示を与え、前記従処理部が周期的に送信する信号には、いずれのプログラムを実行しているかを示す情報を含み、前記複数のプログラムには、更新前のプログラム及び更新後のプログラムを含み、前記主処理部は、前記通信線を介して前記従処理部へ更新用のプログラムを送信し、前記更新用のプログラムの送信終了後に、前記起動信号の値を切り替え、前記起動信号の値の切り替え後に、前記リセット信号にて前記従処理部をリセットすることで、前記従処理部が実行するプログラムを更新する処理を行う。
【0008】
本態様に係る制御方法は、主処理部と、従処理部とを備え、前記主処理部及び前記従処理部が、メッセージを送受信するための通信線、前記従処理部の起動に係る起動信号を授受するための起動信号線、及び、前記従処理部をリセットするリセット信号を授受するためのリセット信号線を介して接続された通信装置が、前記従処理部にて、通信に係る処理を行い、前記主処理部にて、前記起動信号を用いて前記従処理部の起動を制御し、前記従処理部にて、前記通信線を介して周期的に前記主処理部へ信号を送信し、前記主処理部にて、前記従処理部から周期的に送信される信号に応じて、前記従処理部の動作を制御し、前記従処理部にて、前記起動信号に応じて、記憶部に記憶された複数のプログラムを選択的に実行し、前記主処理部にて、前記起動信号を用いて、前記従処理部がいずれのプログラムを実行するかの選択指示を与え、前記従処理部が周期的に送信する信号には、いずれのプログラムを実行しているかを示す情報を含み、前記複数のプログラムには、更新前のプログラム及び更新後のプログラムを含み、前記主処理部にて、前記通信線を介して前記従処理部へ更新用のプログラムを送信し、前記更新用のプログラムの送信終了後に、前記起動信号の値を切り替え、前記起動信号の値の切り替え後に、前記リセット信号にて前記従処理部をリセットすることで、前記従処理部が実行するプログラムを更新する処理を行う。
【0009】
なお、本願は、このような特徴的な処理部を備える通信装置として実現することができるだけでなく、かかる特徴的な処理をステップとする制御方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。また、通信装置の一部又は全部を実現する半導体集積回路として実現したり、通信装置を含むその他の装置又はシステムとして実現したりすることができる。
【発明の効果】
【0010】
上記によれば、従処理部にて生じた異常などに対する制御処理を主処理部が行うことが可能となる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1に係るゲートウェイの構成を示すブロック図である。
【
図2】実施の形態1に係る主マイコンの構成を示すブロック図である。
【
図3】実施の形態1に係る従マイコンの構成を示すブロック図である。
【
図4】主マイコン及び従マイコンの間で送受信されるメッセージの構成を示す模式図である。
【
図5】実施の形態1に係る主マイコンが起動時に行う処理の手順を示すフローチャートである。
【
図6】実施の形態1に係る従マイコンが起動時に行う処理の手順を示すフローチャートである。
【
図7】実施の形態1に係る従マイコンが行う周期メッセージの送信処理の手順を示すフローチャートである。
【
図8】実施の形態1に係る主マイコンが行う周期メッセージに基づく制御処理の手順を示すフローチャートである。
【
図9】実施の形態2に係るゲートウェイの構成を示すブロック図である。
【
図10】実施の形態2に係る従マイコンの構成を示すブロック図である。
【発明を実施するための形態】
【0012】
[本発明の実施の形態の説明]
最初に本発明の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0013】
(1)本態様に係る通信システムは、通信に係る処理を行う従処理部と、前記従処理部の起動を制御する主処理部とを備え、前記従処理部は、周期的に前記主処理部へ信号を送信する周期信号送信部を有し、前記主処理部は、前記周期信号送信部が周期的に送信する信号に応じて前記従処理部の動作を制御する制御部を有する。
【0014】
本態様にあっては、通信装置は主処理部及び従処理部の2つの処理部を備える。主処理部は、従処理部の起動を制御する。従処理部は、通信に係る処理を行う。また従処理部は、周期的に所定の信号を主処理部へ送信する。主処理部は、従処理部が周期的に送信する信号に応じて、従処理部の動作を制御する。
これにより主処理部は、従処理部から周期的に送信される信号に基づいて、従処理部の動作状況などを周期的に把握することができる。
【0015】
(2)前記主処理部の前記制御部は、所定時間に亘って前記信号を受信しない場合に、前記従処理部に対する所定の制御を行うことが好ましい。
【0016】
本態様にあっては、従処理部が周期的に送信する信号を、主処理部が所定時間に亘って受信しない場合に、従処理部に対して所定の制御を行う。従処理部から周期的な信号を受信しない状態が所定時間に亘って継続する場合、従処理部に異常が発生したと推測することができる。このような場合に主処理部が所定の制御を行うことによって、従処理部の異常に対応することが可能となる。
【0017】
(3)前記主処理部の前記制御部は、前記所定の制御として、前記従処理部の再起動又は停止する制御を行うことが好ましい。
【0018】
本態様にあっては、従処理部からの周期的な信号を受信しない場合に主処理部が行う所定の制御を、従処理部を再起動又は停止する制御とする。再起動の制御を行うことにより、異常が発生した従処理部が通常の状態へ復帰する可能性がある。また停止の制御を行うことにより、従処理部の異常が主処理部及び他の装置等に悪影響を与えることを抑制できる。
【0019】
(4)前記従処理部は、記憶部に記憶された複数のプログラムを選択的に実行し、前記主処理部は、前記従処理部がいずれのプログラムを実行するかの選択指示を与え、前記周期信号送信部が周期的に送信する信号には、いずれのプログラムを実行しているかを示す情報を含むことが好ましい。
【0020】
本態様にあっては、記憶部に記憶された複数のプログラムの中から従処理部がいずれか1つを選択して実行する。従処理部がいずれのプログラムを実行するかは、主処理部の選択指示に応じて選択される。従処理部は、周期的な信号を送信する際に、いずれのプログラムを実行しているかを示す情報を信号に含める。これにより、周期的な信号を受信した主処理部は、従処理部がいずれのプログラムを実行しているかを把握することができ、自らが指示したプログラムが実行されているかを把握することができる。
【0021】
(5)前記主処理部は、前記従処理部が実行するプログラムを更新する処理を行い、前記複数のプログラムには、更新前のプログラム及び更新後のプログラムを含むことが好ましい。
【0022】
本態様にあっては、従処理部が実行するプログラムは例えばバージョンアップ又は不具合修正等の目的で更新する必要が生じる場合があり、従処理部が実行するプログラムを更新する処理を主処理部が行う。更新処理において主処理部は、新たなプログラムを従処理部の記憶部に記憶させる。従処理部のプログラムが記憶される記憶部には、複数のプログラムを記憶しておくことが可能であり、更新前のプログラムと更新後のプログラムとを記憶しておくことができる。更新後のプログラムの記憶を完了した後、主処理部が従処理部に更新後のプログラムを記憶部から読み出して実行する選択指示を与えることで、従処理部は記憶部に記憶された更新後のプログラムを実行することができる。
【0023】
(6)前記周期信号送信部が周期的に送信する信号には、前記従処理部の処理にて発生したエラーに関する情報を含むことが好ましい。
【0024】
本態様にあっては、従処理部は、周期的な信号を送信する際に、自身の処理にて発生したエラーに関する情報を含める。これにより、周期的な信号を受信した主処理部は、従処理部にて発生したエラーを把握することができ、エラーからの復帰などの処理を行うことが可能となる。
【0025】
(7)前記エラーに関する情報は、前記従処理部に供給される電圧の異常に関する情報であることが好ましい。
【0026】
本態様にあっては、従処理部に供給される電圧の異常を把握することができるので、従処理部に予め定められた動作に係る電圧値の範囲よりも高い値の電圧又は低い値の電圧が供給されることによる従処理部の動作不良を防止することができる。
【0027】
(8)前記電圧の異常は、前記電圧の値が所定値未満に低下することであることが好ましい。
【0028】
本態様にあっては、従処理部に供給される低電圧の異常を把握することができるので、バッテリからの供給電圧の低下により、従処理部に予め定められた電圧値の範囲よりも低い値の電圧が供給されることによる従処理部の動作不良を防ぐことができる。
【0029】
(9)本態様に係る制御方法は、通信に係る処理を行う従処理部と、前記従処理部の起動を制御する主処理部とを備える通信装置が、前記従処理部にて、周期的に前記主処理部へ信号を送信し、前記主処理部にて、前記従処理部から周期的に送信される信号に応じて、前記従処理部の動作を制御する。
【0030】
本態様にあっては、態様(1)と同様に、主処理部は、従処理部から周期的に送信される信号に基づいて、従処理部の動作状況などを周期的に把握することができる。
【0031】
[本発明の実施形態の詳細]
本発明の実施形態に係る通信装置の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0032】
(実施の形態1)
図1は、実施の形態1に係るゲートウェイの構成を示すブロック図である。実施の形態1に係るゲートウェイ3は、車両1に搭載されている。車両1には複数のECU2a,2bが搭載されており、複数のECU2a,2bはCAN又はイーサネットの通信規格に従って通信を行うことができる。ゲートウェイ3は、これら複数のECU2a,2bの間のメッセージ送受信を中継する処理を行う通信装置である。実施の形態1においては、ECU2aはイーサネットの通信規格で通信を行い、ECU2bはCANの通信規格で通信を行うものとする。ゲートウェイ3は、イーサネット用の通信線を介してECU2aに接続されると共に、CAN用の通信線(CANバス)を介してECU2bに接続されている。
【0033】
ゲートウェイ3は、主マイコン10及び従マイコン30の2つのマイコンを備えている。マイコンは、例えばプロセッサ、メモリ及び通信ユニット等が1つのIC(Integrated Circuit)として構成されたものであり、予め記憶したプログラムを実行することによって種々の演算処理及び制御処理等を行うことができる。実施の形態1に係るゲートウェイ3は、例えば主マイコン10及び従マイコン30が1つの回路基板に搭載され、回路基板上に形成された配線を介して信号の授受が行われる。また回路基板にはイーサネット及びCANの通信線を接続するためのコネクタが複数搭載されており、これらの各コネクタと主マイコン10又は従マイコン30とが回路基板上の配線を介して接続されている。コネクタに通信線が接続されることにより、主マイコン10及び従マイコン30は通信線を介してECU2a,2bとの通信を行うことができる。
【0034】
実施の形態1に係るゲートウェイ3は、主マイコン10がCANの通信を行い、従マイコン30がイーサネットの通信を行う。ただしこの役割分担は一例であって、これに限るものではない。主マイコン10にはCANの通信線が複数接続され、各通信線には複数のECU2bが接続されている。主マイコン10は、通信線間のメッセージ送受信を中継する処理を行う。同様に従マイコン30にはイーサネットの通信線が複数接続され、各通信線にはECU2aが接続されている。従マイコン30は、ECU2a間のメッセージ送受信を中継する処理を行う。またゲートウェイ3は、ECU2aとECU2bとの間でのメッセージの送受信を中継することも可能であり、この場合には主マイコン10及び従マイコン30の間でメッセージの授受が行われる。
【0035】
主マイコン10及び従マイコン30は、通信によりメッセージの送受信を行うことができる(
図1において「通信」のラベルを付した太線矢印を参照)。また主マイコン10は、従マイコン30の動作を制御するため、起動指示、リセット及び電源制御の信号を従マイコン30へ出力している(
図1において「起動指示」、「リセット」及び「電源制御」のラベルを付した細線矢印を参照)。これらの通信線及び信号線は、主マイコン10及び従マイコン30が搭載された回路基板上の配線として実現される。
【0036】
主マイコン10及び従マイコン30の間で行われる通信には、例えばMII(Media Independent Interface)の通信規格が採用され得る。この場合、主マイコン10及び従マイコン30の間には、主マイコン10から従マイコン30へのメッセージ送信のための通信線と、従マイコン30から主マイコン10へのメッセージ送信のための通信線と、通信に関する制御を行うための信号線とが含まれ得る。主マイコン10及び従マイコン30は、例えばECU2aからECU2bへ又はECU2bからECU2aへと中継すべきメッセージを、この通信により授受することができる。
【0037】
主マイコン10が出力する起動指示の信号は、従マイコン30が起動時にメモリから読み出して実行するプログラムの選択を指示する信号である。詳細は後述するが、従マイコン30のメモリには2つのプログラムが記憶されており、従マイコン30は起動時にいずれか1つのプログラムを読み出して実行する。この2つのプログラムをプログラムA及びプログラムBとした場合、例えば主マイコン10が出力する起動指示の信号がローレベルであれば従マイコン30はプログラムAを実行し、信号がハイレベルであれば従マイコン30はプログラムBを実行する構成とすることができる。実施の形態1においては、起動信号の信号を送受信する信号線は1つであってよいが、例えば従マイコン30が3つ以上のプログラムを記憶可能である場合又はプログラムの動作モードなどを更に指定可能な場合等には、起動信号の信号を送受信する信号線が複数であってもよい。
【0038】
主マイコン10が出力するリセットの信号は、従マイコン30の動作をリセット(初期化)する信号である。例えば、リセット信号がローレベルの場合に従マイコン30はリセットされ、その後にリセット信号がハイレベルに変化することでリセットが解除され、従マイコン30の動作が開始される。このときに従マイコン30は、起動指示の信号にて指示されたプログラムを読み出して実行することにより、動作を開始する。
【0039】
また、主マイコン10が出力する電源制御の信号は、従マイコン30の電源(電力供給)をオン/オフする信号である。例えば、電源制御の信号がローレベルの場合に、従マイコン30は電源オフとなり、停止する。電源制御の信号がハイレベルの場合に従マイコン30は電源オンとなり、動作する。
【0040】
実施の形態1に係るゲートウェイ3では、従マイコン30が例えば1秒に1回の周期で所定のメッセージを主マイコン10へ送信する。この周期的なメッセージ送信は、従マイコン30が正常に動作していることを主マイコン10に通知するためのメッセージであり、いわゆるKeep Aliveと呼ばれ得る信号の送信に相当する。実施の形態1においては、このメッセージを周期メッセージと呼ぶ。主マイコン10は、1秒に1回の周期で従マイコン30からの周期メッセージを受信する。もしこの周期メッセージが受信できない場合、主マイコン10は、従マイコン30に異常が発生したと判断し、従マイコン30のリセット又は電源オフ等の制御を行う。なお、実施の形態1においては、従マイコン30から主マイコン10へ1秒周期で周期メッセージ送信を行う構成とするが、この周期は一例であって、これに限るものではなく、例えば周期を100ミリ秒としてもよく、10秒としてもよい。ただし周期メッセージの送信周期は、例えばECU2a,2b間のメッセージ中継のための通信の周期又は頻度等と比較して、十分に長い期間が設定されることが好ましい。
【0041】
また実施の形態1に係るゲートウェイ3では、従マイコン30が実行するプログラムをバージョンアップ又は不具合修正等のために更新する必要が生じた場合に、主マイコン10が従マイコン30のプログラムを更新する処理を行う。主マイコン10は、例えば車両1の外部に存在するサーバ装置などから更新用のプログラムを取得する。
図1において更新用のプログラムの取得経路は図示を省略しているが、例えば主マイコン10は車両1に搭載された無線通信装置を利用して車両1の外部に存在するサーバ装置との通信を行い、更新用のプログラムを取得する構成とすることができる。主マイコン10は、取得した更新用のプログラムを、MIIの通信により従マイコン30へ送信する。
【0042】
従マイコン30は、上述のようにメモリに2つのプログラムを記憶することができる。主マイコン10から更新用のプログラムを受信した従マイコン30は、その時点において実行していないプログラムが記憶されたメモリの領域に、受信した更新用のプログラムを上書きして記憶する。主マイコン10は、更新用のプログラムの送信を完了した後、メモリに記憶された更新用のプログラムを実行するよう起動指示の信号を出力すると共に、従マイコン30をリセットする。これにより従マイコン30は、メモリに記憶された新たなプログラム(更新用のプログラム)を読み出して実行することができ、従マイコン30のプログラムの更新処理が完了する。
【0043】
また従マイコン30は、メモリに記憶された2つのプログラムのうちいずれのプログラムを実行しているかを示す情報を、1秒に1回の周期で主マイコン10へ送信する周期メッセージに含めて送信する。周期メッセージを受信した主マイコン10は、周期メッセージに含まれる情報に基づいて、従マイコン30がいずれのプログラムを実行しているかを把握することができ、自身が起動指示で指示したプログラムが実行されているかを確認することができる。
【0044】
また従マイコン30は、自身の処理などにおいてエラーが発生している場合に、このエラーに関する情報を周期メッセージに含めて送信する。周期メッセージを受信した主マイコン10は、周期メッセージに含まれるエラーに関する情報に基づいて、例えば従マイコン30をリセット又は停止するなどの制御処理を行うことができる。従マイコン30が周期メッセージを送信することが可能ではあるが、エラーが発生しているという状況を主マイコン10が把握することができる。
【0045】
図2は、実施の形態1に係る主マイコン10の構成を示すブロック図である。実施の形態1に係る主マイコン10は、プロセッサ11、メモリ12、CAN通信部13及びI/F(インタフェース)部14等を備えて構成されている。プロセッサ11は、メモリ12に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う演算処理装置である。メモリ12は、EEPROM(Electrically Erasable Programmable Read Only Memory)又はフラッシュメモリ等の不揮発性のメモリ素子を用いて構成され、プロセッサ11が実行する各種のプログラム及びこのプログラムを実行するために必要なデータ等を記憶する。
【0046】
CAN通信部13は、CANの通信規格に基づくメッセージの送受信を行う。実施の形態1に係る主マイコン10は、CAN通信部13を2つ備えている。2つのCAN通信部13はそれぞれ通信線が接続され、この通信線に接続されているECU2bとの間でメッセージの送受信を行う。CAN通信部13は、プロセッサ11から与えられたメッセージを、通信線を介してECU2bへ送信する。またCAN通信部13は、通信線を介してECU2bから受信したメッセージをプロセッサ11へ与える。
【0047】
I/F部14は、従マイコン30との間での通信及び信号授受等を行う。I/F部14は、ゲートウェイ3の回路基板上に設けられた複数の配線を介して従マイコン30に接続される。I/F部14は、MIIの通信規格に従って、従マイコン30との間でメッセージの送受信を行う。I/F部14は、プロセッサ11から与えられたメッセージを従マイコン30へ送信すると共に、従マイコン30からのメッセージを受信してプロセッサ11へ与える。またI/F部14は、プロセッサ11の制御に応じて、起動指示、リセット及び電源制御の各信号を従マイコン30に対して出力する。
【0048】
図3は、実施の形態1に係る従マイコン30の構成を示すブロック図である。実施の形態1に係る従マイコン30は、プロセッサ31、メモリ32、イーサネット通信部33及びI/F部34等を備えて構成されている。プロセッサ31は、メモリ32に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う演算処理装置である。
【0049】
メモリ32は、EEPROM又はフラッシュメモリ等の不揮発性のメモリ素子を用いて構成され、プロセッサ31が実行する各種のプログラム及びこのプログラムを実行するために必要なデータ等を記憶する。実施の形態1においてメモリ32は、プロセッサ31が実行するプログラムを2つ記憶することができる(
図3において、プログラムA及びプログラムBと図示している)。プロセッサ31は、主マイコン10から与えられる起動指示の信号に基づいて、メモリ32からいずれか一方のプログラムを読み出して実行する。
【0050】
イーサネット通信部33は、イーサネットの通信規格に基づくメッセージの送受信を行う。なお実施の形態1において従マイコン30は複数のイーサネット通信部33を備えているが、
図3においては構成を簡略化して3つのイーサネット通信部33のみを図示している。複数のイーサネット通信部33はそれぞれ通信線が接続され、この通信線に接続されているECU2aとの間でメッセージの送受信を行う。イーサネット通信部33は、プロセッサ31から与えられたメッセージを、通信線を介してECU2aへ送信する。またイーサネット通信部33は、通信線を介してECU2aから受信したメッセージをプロセッサ31へ与える。
【0051】
I/F部34は、主マイコン10との間での通信及び信号授受等を行う。I/F部34は、ゲートウェイ3の回路基板上に設けられた複数の配線を介して主マイコン10に接続される。I/F部34は、MIIの通信規格に従って、主マイコン10との間でメッセージの送受信を行う。I/F部34は、プロセッサ31から与えられたメッセージを主マイコン10へ送信すると共に、主マイコン10からのメッセージを受信してプロセッサ31へ与える。またI/F部34は、主マイコン10が出力した起動指示、リセット及び電源制御の各信号の状態(ハイレベル又はローレベルのいずれであるか)を取得し、取得した信号状態をプロセッサ31へ与える。
【0052】
図4は、主マイコン10及び従マイコン30の間で送受信されるメッセージの構成を示す模式図である。主マイコン10及び従マイコン30の間で送受信されるメッセージは、イーサネットヘッダ、マイコン間通信ヘッダ、データ及びフッタ等を含んで構成されている。なお、図示のメッセージ構成は、主マイコン10及び従マイコン30が通常に送受信するメッセージと、従マイコン30が主マイコン10へ送信する周期メッセージとで共通の構成である。
【0053】
主マイコン10及び従マイコン30の間で送受信されるメッセージは、イーサネットのMIIの通信規格に従うものであり、メッセージに含まれるイーサネットヘッダはこの通信規格に従う情報、例えば送受信元のアドレス及びメッセージタイプ等の情報を含む。メッセージに含まれるマイコン間通信ヘッダは、実施の形態1に特有の情報であり、ACK有無、再送フラグ、シーケンス番号、データサイズ及びデータタイプ等の情報を含む。データは、主マイコン10及び従マイコン30の間で送受信すべき任意のデータである。フッタは、メッセージの終わりを示す所定のデータである。
【0054】
マイコン間通信ヘッダのACK有無の情報は、このメッセージに対して受信側がACK、即ちメッセージを受信した旨の応答を行う必要があるか否かを示す情報である。再送フラグは、このメッセージを送信するのが2回目以上であることを示すフラグである。シーケンス番号は、主マイコン10及び従マイコン30の間でメッセージを識別するための番号が設定される。データサイズは、マイコン間通信ヘッダに続くデータのサイズが設定される。データタイプは、このメッセージの種別が設定される。従マイコン30から主マイコン10へ送信される周期メッセージは、マイコン間通信ヘッダのデータタイプに周期メッセージであることを示す情報が設定されることで区別される。
【0055】
周期メッセージのデータには、上述のように、従マイコン30のプロセッサ31が実行しているプログラムがメモリ32に記憶された2つのプログラムのうちのいずれであるかを示す情報が含まれる。また更に、従マイコン30においてエラーが発生した場合には、このエラーに関する情報が周期メッセージのデータに含まれる。従マイコン30にて発生するエラーは、例えば従マイコン30のレジスタの設定異常、メモリ32の読み書きのエラー、イーサネット通信に関するエラー等が考えられる。周期メッセージのデータには、エラーの有無及びエラーの種別を示す情報が、エラーに関する情報として設定され得る。
【0056】
図5は、実施の形態1に係る主マイコン10が起動時に行う処理の手順を示すフローチャートである。実施の形態1に係る主マイコン10のプロセッサ11は、例えばゲートウェイ3への電力供給が開始され、パワーオンリセットなどが解除されることにより、メモリ12からプログラムを読み出して実行し、処理に必要な初期値の設定など自身の起動処理を行う(ステップS1)。自身の起動処理を終了した後、プロセッサ11は、従マイコン30がいずれのプログラムを実行すべきであるかを決定し、この決定に基づいて起動示の信号を出力する(ステップS2)。例えば主マイコン10はメモリ32に従マイコン30の最新のプログラムがプログラムA又はプログラムBのいずれであるかを記憶しておき、ステップS2においてこの記憶した情報に基づいてプロセッサ11が実行すべきプログラムを決定することができる。
【0057】
次いで、プロセッサ11は、従マイコン30への電源制御の信号をローレベルからハイレベルへ切り替えることによって、従マイコン30の電源をオンする(ステップS3)。その後、プロセッサ11は、従マイコン30へのリセットの信号をローレベルからハイレベルへ切り替えることによって、従マイコン30のリセットを解除し(ステップS4)、起動時の処理を終了する。
【0058】
図6は、実施の形態1に係る従マイコン30が起動時に行う処理の手順を示すフローチャートである。実施の形態1に係る従マイコン30は、主マイコン10による電源オンの制御に応じて処理を開始する。従マイコン30のプロセッサ31は、主マイコン10からのリセットの信号に基づいて、リセットが解除されたか否かを判定する(ステップS11)。リセットが解除されていない場合(S11:NO)、プロセッサ31は、リセットが解除されるまで待機する。
【0059】
リセットが解除された場合(S11:YES)、プロセッサ31は、主マイコン10から入力される信号に基づいて起動指示を取得する(ステップS12)。プロセッサ31は、取得した起動指示において指定されたプログラムをメモリ32から読み出して実行し(ステップS13)、起動時の処理を終了する。
【0060】
図7は、実施の形態1に係る従マイコン30が行う周期メッセージの送信処理の手順を示すフローチャートである。実施の形態1に係る従マイコン30のプロセッサ31は、タイマ機能などを内蔵しており、起動から又は前回の周期メッセージの送信から所定時間が経過したか否かを判定する(ステップS21)。所定時間が経過していない場合(S21:NO)、プロセッサ31は、所定時間が経過するまで待機する。
【0061】
所定時間が経過した場合(S21:YES)、プロセッサ31は、その時点で実行しているプログラムがメモリ32に記憶されたプログラムA又はプログラムBのいずれであるかを示す起動情報の収集を行う(ステップS22)。またプロセッサ31は、自身の処理においてエラーが発生しているか否か及びエラーが発生している場合にはそのエラーの種別等のエラー情報の収集を行う(ステップS23)。プロセッサ31は、収集した起動情報及びエラー情報をデータに含む周期メッセージを生成する(ステップS24)。プロセッサ31は、生成した周期メッセージをI/F部34へ与えることにより、周期メッセージを主マイコン10へ送信し(ステップS25)、ステップS21へ処理を戻す。
【0062】
図8は、実施の形態1に係る主マイコン10が行う周期メッセージに基づく制御処理の手順を示すフローチャートである。実施の形態1に係る主マイコン10のプロセッサ11は、I/F部14にて従マイコン30から周期メッセージを受信したか否かを判定する(ステップS31)。周期メッセージを受信していない場合(S31:NO)、プロセッサ11は、前回の周期メッセージの受信から所定時間以上が経過したか否かを判定する(ステップS32)。この判定に用いられる所定時間は、周期メッセージの送信周期である1秒とするか、又は、送信周期より長い時間(例えば3秒)としてもよい。前回の受信から所定時間以上が経過していない場合(S32:NO)、プロセッサ11は、ステップS31へ処理を戻し、周期メッセージを受信するか、又は、前回の受信から所定時間以上が経過するまで待機する。
【0063】
周期メッセージを受信した場合(S31:YES)、プロセッサ11は、周期メッセージのデータに含まれる起動情報を取得する(ステップS33)。またプロセッサ11は、受信した周期メッセージのデータにエラー情報が含まれていれば、これを取得する(ステップS34)。プロセッサ11は、取得した起動情報及びエラー情報に基づいて、従マイコン30に異常があるか否かを判定する(ステップS35)。ここでプロセッサ11は、取得した起動情報と、自らが出力した起動指示とに相違がある場合、従マイコン30に異常があると判定することができる。またプロセッサ11は、周期メッセージにエラー情報が含まれている場合に、従マイコン30に異常があると判定することができる。従マイコン30に異常がない場合(S35:NO)、プロセッサ11は、ステップS31へ処理を戻す。
【0064】
従マイコン30に異常がある場合(S35:YES)、プロセッサ11は、ステップS36へ処理を進める。また、前回の周期メッセージの受信から所定時間以上が経過している場合(S32:YES)、プロセッサ11は、従マイコン30に異常があると判断し、ステップS36へ処理を進める。プロセッサ11は、I/F部14から出力するリセットの信号をハイレベルからローレベルへ切り替えることによって、従マイコン30をリセットする(ステップS36)。その後、プロセッサ11は、リセットを解除して従マイコン30を再起動し、再起動した従マイコン30からの周期メッセージの有無及びその内容等に基づいて、従マイコン30の異常が解消したか否かを判定する(ステップS37)。異常が解消した場合(S37:YES)、プロセッサ11は、ステップS31へ処理を戻す。異常が解消しない場合(S37:NO)、プロセッサ11は、I/F部14から出力する電源制御の信号をハイレベルからローレベルへ切り替えることによって、従マイコン30を電源オフして動作を停止させ(ステップS38)、処理を終了する。
【0065】
以上の構成の実施の形態1に係るゲートウェイ3は、主マイコン10及び従マイコン30の2つのマイコンを備える。主マイコン10は、従マイコン30の起動を制御する。主マイコン10はCANに係る通信処理を行い、従マイコン30はイーサネットに係る通信処理を行う。また従マイコン30は、例えば1秒に1回の周期で周期メッセージ(所定の信号)を主マイコン10へ送信する。主マイコン10は、従マイコン30からの周期メッセージに応じて、従マイコン30の動作を制御する。これにより主マイコン10は、従マイコン30からの周期メッセージに基づいて、従マイコン30の動作状況などを周期的に把握することができる。
【0066】
またゲートウェイ3の主マイコン10は、従マイコン30からの周期メッセージを所定時間に亘って受信しない場合に、従マイコン30に対して所定の制御を行う。従マイコン30から周期メッセージを受信しない状態が所定時間に亘って継続する場合、従マイコン30に異常が発生したと推測することができる。このような場合に主マイコン10が所定の制御を行うことによって、従マイコン30の異常に対応することが可能となる。
【0067】
また主マイコン10は、従マイコン30から周期メッセージを所定時間に亘って受信しない場合に行う所定の制御として、従マイコン30を再起動(リセット)又は停止(電源オフ)する制御を行う。再起動の制御を行うことにより、異常が発生した従マイコン30が通常の状態へ復帰する可能性がある。また停止の制御を行うことにより、従マイコン30の異常が主マイコン10及びECU2a等に悪影響を与えることを抑制できる。
【0068】
またゲートウェイ3の従マイコン30では、メモリ32に記憶された2つのプログラムの中からプロセッサ31がいずれか1つを選択した実行する。従マイコン30のプロセッサ31がいずれのプログラムを実行するかは、主マイコン10からの選択指示(起動指示)に応じて選択される。従マイコン30は、プロセッサ31がいずれのプログラムを実行しているかを示す情報を周期メッセージに含めて主マイコン10へ送信する。これにより、周期メッセージを受信した主マイコン10は、従マイコン30がいずれのプログラムを実行しているかを把握することができ、自らが指示したプログラムが実行されているかを把握することができる。
【0069】
また従マイコン30のプロセッサ31が実行するプログラムは、例えばバージョンアップ又は不具合修正等の目的で更新する必要が生じる場合があり、従マイコン30が実行するプログラムを更新する処理を主マイコン10が行う。更新処理において主マイコン10は、新たなプログラムを従マイコン30のメモリ32に記憶させる。従マイコン30のメモリ32には複数のプログラムを記憶しておくことが可能であり、更新前のプログラムと更新後のプログラムとを記憶しておくことができる。メモリ32による更新後のプログラムの記憶を完了した後、主マイコン10が従マイコン30に更新後のプログラムを実行する選択指示を与えることで、従マイコン30はメモリ32に記憶された更新後のプログラムを実行することができる。
【0070】
また従マイコン30は、自身の処理にて発生したエラーに関する情報を周期メッセージに含めて送信する。これにより、周期メッセージを受信した主マイコン10は、従マイコン30にて発生したエラーを把握することができ、エラーからの復帰などの処理を行うことが可能となる。
【0071】
(実施の形態2)
実施の形態2においては、従マイコンは供給される電圧の異常を検出する。実施の形態2におけるゲートウェイ3の構成について実施の形態1と同様の構成については同一の符号を付して詳細な説明を省略する。
図9は、実施の形態2に係るゲートウェイ3の構成を示すブロック図である。
図9に示すように、ゲートウェイ3には、車両1のバッテリ4から電力が供給される。ゲートウェイ3には、更に第1電源回路40、スイッチ41及び第2電源回路42が設けられている。
【0072】
バッテリ4の正極は第1電源回路40を介して主マイコン10に接続されている。バッテリ4の負極は接地されている。スイッチ41の一端は第1電源回路40に接続されており、スイッチ41の他端は従マイコン30及び第2電源回路42に接続されている。第2電源回路42は更に従マイコン30に接続されている。
【0073】
バッテリ4から第1電源回路40を介して主マイコン10に電力が供給される。スイッチ41がオンすることにより、第1電源回路40、第2電源回路42を介して従マイコン30に電力が供給され、スイッチ41がオフすることにより、電力の供給が遮断される。スイッチ41のオンオフは主マイコン10により制御される。
【0074】
バッテリ4は例えば12Vのバッテリである。第1電源回路40は、例えば、スイッチングレギュレータであり、バッテリ4から供給される電圧を3.3Vに変換して出力する。また、第2電源回路42は例えば、リニアレギュレータであり、スイッチ41がオンした場合に第1電源回路40から出力される電圧を1.0Vに変換して従マイコン30に出力する。従マイコン30に対しては、第1電源回路40からと、第2電源回路42からとの2系統で電力が供給される。
【0075】
図10は、実施の形態2に係る従マイコン30の構成を示すブロック図である。従マイコン30は、実施の形態1と同様に、プロセッサ31、メモリ32、イーサネット通信部33及びI/F部34を備える。従マイコン30は更に異常検出部35を備える。ここで、従マイコン30において、第2電源回路42からの電力はプロセッサ31のコア部品に供給され、第1電源回路40からの電力はその他の構成部品に供給される。
【0076】
異常検出部35は、第1電源回路40及び第2電源回路42から供給される電圧が閾値未満となった場合に、異常を示す信号をプロセッサ31に出力する。即ち、異常検出部35は、供給される電圧が低電圧状態である異常を検出する。異常検出部35は、例えばコンパレータを備え、該コンパレータにより従マイコン30に入力される電圧と、閾値電圧とを比較して、その比較結果に基づいて異常を検出する。電圧に係る閾値は、例えば、従マイコン30において予め定められている動作の保証に係る電圧の下限値に設定される。
【0077】
なお、異常検出部35は、低電圧に係る異常の検出に代えて、又はこれとともに高電圧に係る異常を検出してもよい。ここで、高電圧に係る異常とは、従マイコン30に、予め定められている動作の保証に係る所定の電圧の範囲の上限値を超える電圧が入力されることを指す。高電圧に係る異常は、例えば、コンパレータを用いて、異常検出部35に係る閾値を前記上限値とし、供給される電圧及び閾値を比較し、供給される電圧が閾値を超過したか否かに基づいて検出される。
【0078】
プロセッサ31は入力された情報を例えばメモリ32に記憶させ、エラー情報として、主マイコン10に出力する。プロセッサ31は、エラー情報を、実施の形態1と同様に
図7のステップS23~S25に示すように、周期メッセージに含めて、主マイコン10に送信する。
【0079】
低電圧異常に係るエラー情報は、周期メッセージのデータにおいて、2系統の電力について例えば2ビットを使用する。この場合、1系統につき1ビットで低電圧異常が生じたか否かを伝達する。
【0080】
主マイコン10は、周期メッセージの受信により、低電圧異常に係るエラー情報を取得した場合、実施の形態1と同様、
図8のステップS34~38に示すように、従マイコン30をリセット又は停止する。
【0081】
以上の構成によれば、バッテリ4か従マイコン30に供給される電圧の異常を把握することができ、従マイコン30に予め定められた動作に係る電圧値の範囲よりも高い値の電圧又は低い値の電圧が供給されることによる従マイコン30の動作不良を防止することができる。また、低電圧異常を異常検出部35により検出することにより、バッテリ4の供給電圧の低下により、従マイコン30に予め定められた電圧値の範囲よりも低い値の電圧が供給されることによる従処理部の動作不良を防ぐことができる。
【0082】
なお実施の形態1及び2においては、ゲートウェイ3が従マイコン30を1つ備える構成としたが、これに限るものではなく、従マイコン30を複数備える構成としてもよい。また実施の形態1及び2においてゲートウェイ3及びECU2a,2bが車両1に搭載されるものとしたが、これに限るものではなく、本技術は車載以外の通信装置にも適用可能である。またメッセージの中継などの処理を行う処理部をマイコンとしたが、これに限るものではなく、マイコン以外の種々の処理部であってよい。また車両1内の通信をCAN及びイーサネットの通信規格に従って行う構成としたが、これに限るものではなく、例えばFlexRayなどの他の通信規格に従って車両1内の通信を行う構成としてもよい。また従マイコン30がエラー情報を周期メッセージに含めて主マイコン10へ送信する構成としたが、これに限るものではなく、周期メッセージにはエラー情報を含まない構成としてもよい。更に、実施の形態2において、主マイコン10へは1系統の電力供給、従マイコン30へは2系統の電力系統としたが、これに限られず、主マイコン10及び従マイコン30への電力供給は夫々、単一又は複数系統のいずれであってもよい。
【0083】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0084】
1 車両
2a,2b ECU
3 ゲートウェイ(通信装置) 10 主マイコン(主処理部、制御部)
11 プロセッサ
12 メモリ
13 CAN通信部
14 I/F部
30 従マイコン(従処理部、周期信号送信部)
31 プロセッサ
32 メモリ
33 イーサネット通信部
34 I/F部
35 異常検出部
4 バッテリ
40 第1電源回路
41 スイッチ
42 第2電源回路