IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社オートネットワーク技術研究所の特許一覧 ▶ 住友電装株式会社の特許一覧 ▶ 住友電気工業株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】通信装置及び通信システム
(51)【国際特許分類】
   H04L 12/40 20060101AFI20240918BHJP
   G06F 13/42 20060101ALI20240918BHJP
【FI】
H04L12/40 Z
G06F13/42 320B
【請求項の数】 4
(21)【出願番号】P 2021078008
(22)【出願日】2021-04-30
(65)【公開番号】P2022171397
(43)【公開日】2022-11-11
【審査請求日】2023-08-31
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】小林 伸行
(72)【発明者】
【氏名】森口 雅勝
(72)【発明者】
【氏名】萩原 剛志
(72)【発明者】
【氏名】近藤 正樹
(72)【発明者】
【氏名】泉 達也
(72)【発明者】
【氏名】山根 遼
(72)【発明者】
【氏名】神田 一郎
【審査官】長谷川 未貴
(56)【参考文献】
【文献】国際公開第2019/226585(WO,A1)
【文献】特開2007-067599(JP,A)
【文献】特開2012-134712(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-13/00
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
通信バスを介してデータを送信する通信装置であって、
処理を実行する処理部を備え、
前記処理部は、
ビーコン信号が送信された場合に、前記通信装置自身及び複数の第2の通信装置が、予め定められている順序に従って、通信バスを介して送信するデータの1つを、前記複数の第2の通信装置に含まれる対象通信装置が送信するタイミングで、前記対象通信装置がデータを送信したか否かを判定し、
前記対象通信装置がデータを送信しなかったと判定した場合、前記順序を変更し、
前記通信バスを介して送信されるデータは、送信先が、前記通信装置自身及び前記複数の第2の通信装置の中で送信元以外の通信装置とは異なるダミーデータを含み、
データを送信するデータ送信部を備え、
前記データ送信部は、前記ビーコン信号の送信が終了してから第1所定期間が経過したタイミングで、又は、順番が1つ前である第2の通信装置がデータの送信を終了してから第2所定期間が経過したタイミングでデータを送信し、
前記処理部は、前記対象通信装置がデータを送信しなかったと判定した場合、前記第1所定期間又は第2所定期間を延長する
通信装置。
【請求項2】
前記処理部は、前記対象通信装置がデータを送信しなかったと複数回、連続して判定した場合、前記順序を変更する
請求項1に記載の通信装置。
【請求項3】
前記ビーコン信号を繰り返し送信する信号送信部を備える
請求項1又は請求項2に記載の通信装置。
【請求項4】
通信バスに接続される複数の通信装置を備え、
前記複数の通信装置は、ビーコン信号が送信された場合に予め定められた順序に従って、前記通信バスを介してデータを送信し、
前記複数の通信装置に含まれる対象通信装置は、前記対象通信装置以外の残りの通信装置中の1つに送信する送信データが存在しない場合、送信先が前記残りの通信装置とは異なるダミーデータを送信し、
前記複数の通信装置の中で前記対象通信装置とは異なる通信装置は、処理を実行する処理部を備え、
前記処理部は、
前記対象通信装置がデータを送信するタイミングで、前記対象通信装置がデータを送信したか否かを判定し、
前記対象通信装置がデータを送信していないと判定した場合、前記順序を変更し、
前記複数の通信装置には、前記ダミーデータを送信しない非送信装置が含まれ、
前記処理部は、前記対象通信装置がデータを送信していないと判定した場合、前記非送信装置に、前記ダミーデータの送信を開始させる
通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は通信装置及び通信システムに関する。
【背景技術】
【0002】
特許文献1には、複数の通信装置が通信バスに接続されている通信システムが開示されている。この通信システムは、車両に搭載されている。各通信装置は、通信バスを介して他の通信装置にデータを送信する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-213653号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の通信システムでは、通信装置の故障の検知について考慮されていない。
【0005】
本開示は斯かる事情に鑑みてなされたものであり、その目的とするところは、通信バスに接続されている装置の故障を検知することができる通信装置及び通信システムを提供することにある。
【課題を解決するための手段】
【0006】
本開示の一態様に係る通信装置は、通信バスを介してデータを送信する通信装置であって、処理を実行する処理部を備え、前記処理部は、ビーコン信号が送信された場合に、前記通信装置自身及び複数の第2の通信装置が、予め定められている順序に従って、通信バスを介して送信するデータの1つを、前記複数の第2の通信装置に含まれる対象通信装置が送信するタイミングで、前記対象通信装置がデータを送信したか否かを判定し、前記対象通信装置がデータを送信しなかったと判定した場合、前記順序を変更し、前記通信バスを介して送信されるデータは、送信先が、前記通信装置自身及び前記複数の第2の通信装置の中で送信元以外の通信装置とは異なるダミーデータを含む。
【0007】
本開示の一態様に係る通信システムは、通信バスに接続される複数の通信装置を備え、前記複数の通信装置は、ビーコン信号が送信された場合に予め定められた順序に従って、前記通信バスを介してデータを送信し、前記複数の通信装置に含まれる対象通信装置は、前記対象通信装置以外の残りの通信装置中の1つに送信する送信データが存在しない場合、送信先が前記残りの通信装置とは異なるダミーデータを送信し、前記複数の通信装置の中で前記対象通信装置とは異なる通信装置は、処理を実行する処理部を備え、前記処理部は、前記対象通信装置がデータを送信するタイミングで、前記対象通信装置がデータを送信したか否かを判定し、前記対象通信装置がデータを送信していないと判定した場合、前記順序を変更する。
【0008】
なお、本開示を、このような特徴的な処理部を備える通信装置として実現することができるだけでなく、かかる特徴的な処理をステップとする通信方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。また、本開示を、通信装置の一部又は全部を実現する半導体集積回路として実現したり、通信装置を含む通信システムとして実現したりすることができる。
【発明の効果】
【0009】
上記の態様によれば、対象通信装置の故障を検知することができる。
【図面の簡単な説明】
【0010】
図1】実施形態1における通信システムの要部構成を示すブロック図である。
図2】データフレームの送信方法の説明図である。
図3】第1ECU及び(N-1)個の第2ECUのID、役割及び送信の順番を示す図表である。
図4】ビーコン信号の波形図である。
図5】データフレームの内容の説明図である。
図6】第1ECUの要部構成を示すブロック図である。
図7】ビット通信器の回路図である。
図8】送信フレームの送信準備の手順を示すフローチャートである。
図9】第1ECUのIC制御部が実行する送信処理の手順を示すフローチャートである。
図10】第2ECUのIC制御部が実行する送信処理の手順を示すフローチャートである。
図11】故障検知処理の手順を示すフローチャートである。
図12】更新処理の手順を示すフローチャートである。
図13】順番テーブルの更新の説明図である。
図14】通信システムの効果の説明図である。
図15】実施形態2における第1ECUの要部構成を示すブロック図である。
図16】待機期間テーブルの内容を示す図表である。
図17】更新処理の手順を示すフローチャートである。
図18】通信システムの効果の説明図である。
図19】実施形態1,2における通信システムの特徴の説明図である。
図20】実施形態1,2における通信システムの他の特徴の説明図である。
図21】実施形態3におけるデータフレームの送信方法の説明図である。
図22】待機期間テーブルの内容を示す図表である。
図23】実施形態4におけるデータフレームの送信方法の説明図である。
図24】故障検知処理の手順を示すフローチャートである。
図25】ダミーフレームを送信しない第2ECUの更新処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0012】
(1)本開示の一態様に係る通信装置は、通信バスを介してデータを送信する通信装置であって、処理を実行する処理部を備え、前記処理部は、ビーコン信号が送信された場合に、前記通信装置自身及び複数の第2の通信装置が、予め定められている順序に従って、通信バスを介して送信するデータの1つを、前記複数の第2の通信装置に含まれる対象通信装置が送信するタイミングで、前記対象通信装置がデータを送信したか否かを判定し、前記対象通信装置がデータを送信しなかったと判定した場合、前記順序を変更し、前記通信バスを介して送信されるデータは、送信先が、前記通信装置自身及び前記複数の第2の通信装置の中で送信元以外の通信装置とは異なるダミーデータを含む。
【0013】
上記の態様にあっては、通信バスを介して送信されたデータは、通信バスに接続されている全ての装置によって受信される。例えば、対象通信装置は、通信バスに接続されている装置中の1つに送信する送信データ及びダミーデータの一方を必ず送信する。対象通信装置がデータを送信したか否かを判定することによって故障を検知する。対象通信装置がデータを送信しなかったと判定された場合、送信の順序は、故障装置の順番が除かれた順序に変更される。
【0014】
(2)本開示の一態様に係る通信装置では、前記処理部は、前記対象通信装置がデータを送信しなかったと複数回、連続して判定した場合、前記順序を変更する。
【0015】
上記の態様にあっては、対象通信装置がデータを送信しなかったと複数回、連続して判定した場合に対象通信装置の故障を検知する。従って、対象通信装置の故障を誤って検知する可能性は低い。
【0016】
(3)本開示の一態様に係る通信装置は、前記ビーコン信号を繰り返し送信する信号送信部を備える。
【0017】
上記の態様にあっては、ビーコン信号の繰り返し送信と、故障の検知とを行う。
【0018】
(4)本開示の一態様に係る通信装置は、データを送信するデータ送信部を備え、前記データ送信部は、前記ビーコン信号の送信が終了してから第1所定期間が経過したタイミングで、又は、順番が1つ前である第2の通信装置がデータの送信を終了してから第2所定期間が経過したタイミングでデータを送信し、前記処理部は、前記対象通信装置がデータを送信しなかったと判定した場合、前記第1所定期間又は第2所定期間を延長する。
【0019】
上記の態様にあっては、例えば、対象通信装置の故障を検知した場合、送信の順序を、故障装置の順番が除かれた順序に変更する。順番が最後である装置がデータの送信を終了した場合、ビーコン信号が送信される。対象通信装置の故障が検知された場合、第1所定期間又は第2所定期間が延長されるので、ビーコン信号が送信される送信間隔の低下を防止することができる。
【0020】
(5)本開示の一態様に係る通信システムは、通信バスに接続される複数の通信装置を備え、前記複数の通信装置は、ビーコン信号が送信された場合に予め定められた順序に従って、前記通信バスを介してデータを送信し、前記複数の通信装置に含まれる対象通信装置は、前記対象通信装置以外の残りの通信装置中の1つに送信する送信データが存在しない場合、送信先が前記残りの通信装置とは異なるダミーデータを送信し、前記複数の通信装置の中で前記対象通信装置とは異なる通信装置は、処理を実行する処理部を備え、前記処理部は、前記対象通信装置がデータを送信するタイミングで、前記対象通信装置がデータを送信したか否かを判定し、前記対象通信装置がデータを送信していないと判定した場合、前記順序を変更する。
【0021】
上記の態様にあっては、通信バスを介して送信されたデータは、通信バスに接続されている全ての装置によって受信される。対象通信装置は、送信データ及びダミーデータの一方を必ず送信する。対象通信装置がデータを送信したか否かを判定することによって故障を検知する。故障装置は、対象通信装置がデータを送信しなかったと判定した場合、送信の順序を、故障装置の順番が除かれた順序に変更する。
【0022】
(6)本開示の一態様に係る通信システムでは、前記複数の通信装置には、前記ダミーデータを送信しない非送信装置が含まれ、前記処理部は、前記対象通信装置がデータを送信していないと判定した場合、前記非送信装置に、前記ダミーデータの送信を開始させる。
【0023】
上記の態様にあっては、対象通信装置の故障が検知された場合、非送信装置がダミーデータの送信を開始する。このため、ビーコン信号が送信される送信間隔の低下を防止することができる。
【0024】
[本開示の実施形態の詳細]
本開示の実施形態に係る通信システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0025】
(実施形態1)
<通信システムの構成>
図1は、実施形態1における通信システム1の要部構成を示すブロック図である。通信システム1は、車両Mに搭載されている。通信システム1は、第1ECU11及び(N-1)個の第2ECU12を備える。ECUはElectronic Control Unitの略語である。Nは、3以上の整数であり、通信システム1が備えるECUの数である。第1ECU11及び(N-1)個の第2ECU12は通信バスBに接続されている。
【0026】
第1ECU11及び(N-1)個の第2ECU12それぞれには、電気機器及びセンサが接続されている。電気機器及びセンサの図示は省略されている。センサは、車両に関する値を検出し、検出した検出値を、センサに接続されている第1ECU11又は第2ECU12に出力する。第1ECU11及び(N-1)個の第2ECU12それぞれは、例えば、センサの検出値が入力された場合、センサの検出値をメインデータとして含むデータフレームを、通信バスBを介して送信する。データフレームは送信先を示している。なお、メインデータはセンサの検出値に限定されない。
【0027】
第1ECU11は、第2ECU12の故障を検知する。第2ECU12の故障は、データフレームの送信の停止である。第1ECU11は、第2ECU12の故障を検知した場合、故障した第2ECU12を示すメインデータを含むデータフレームを、通信バスを介して送信する。以下では、故障した第2ECU12を示すメインデータを故障データと記載する。故障データを含むデータフレームの送信先は、正常な残りの第2ECU12である。
【0028】
第1ECU11及び(N-1)個の第2ECU12中の1つのECUがデータフレームを送信した場合、第1ECU11及び(N-1)個の第2ECU12の全てがデータフレームを受信する。第1ECU11及び(N-1)個の第2ECU12それぞれは、データフレームを受信した場合において、データフレームの送信先が自装置ではないとき、受信したデータフレームを破棄する。
【0029】
第1ECU11は、データフレームを受信した場合において、データフレームの送信先が自装置であるとき、第1ECU11は、受信したデータフレームに含まれるメインデータに基づいて、自装置に接続されている電気機器が行う動作を決定する。第2ECU12は、メインデータが故障データとは異なるデータフレームを受信した場合において、データフレームの送信先が自装置であるとき、第2ECU12は、受信したデータフレームに含まれるメインデータに基づいて、自装置に接続されている電気機器が行う動作を決定する。
【0030】
第1ECU11及び(N-1)個の第2ECU12それぞれは、電気機器が行う動作を決定した場合、決定した動作を示す動作信号を電気機器に出力する。動作信号が電気機器に入力された場合、電気機器は、入力された動作信号が示す動作を行う。
【0031】
第1ECU11は、故障データを含むデータフレームを送信することによって、正常な第2ECU12に、故障した第2ECU12を通知する。第1ECU11が第2ECU12の故障を検知した場合、第1ECU11及び正常な第2ECU12それぞれは、予め決められている故障用の処理を実行する。
【0032】
<データフレームの送信方法>
図2はデータフレームの送信方法の説明図である。図3は、第1ECU11及び(N-1)個の第2ECU12のID、役割及び送信の順番を示す図表である。IDはIdentification Dataの略語である。図2及び図3では、Nが5である例が示されている。
【0033】
第1ECU11及び(N-1)個の第2ECU12それぞれは、例えば、PLCA(Physical Layer Collision Avoidance)方式に従ってデータフレームを送信する。図2に示すように、ビーコン信号が通信バスBを介して繰り返し送信される。ビーコン信号が送信された場合、5つのデータフレームが通信バスBを介して送信される。ビーコン信号は、データフレームの送信の開始を示す。ビーコン信号は、マスターの役割を果たすECUによって送信される。第1ECU11は、マスターの役割を果たし、通信バスBを介してビーコン信号を繰り返し送信する。(N-1)個の第2ECU12それぞれはスレーブの役割を果たす。
【0034】
第1ECU11がビーコン信号を送信した場合、第1ECU11及び(N-1)個の第2ECU12は、予め定められた順序に従ってデータフレームを送信する。図3に示すように、第1ECU11及び(N-1)個の第2ECU12それぞれには、予めIDが割り当てられている。図3の例では、第1ECU11のIDは001である。4つの第2ECU12それぞれには、002~005中の1つが割り当てられている。図3では、001~005それぞれの送信の順番は、1番目~5番目に設定されている。マスターの送信の順番は1番目である。
【0035】
第1ECU11がビーコン信号を送信した場合、まず、IDが001である第1ECU11がデータフレームを送信する。次に、IDが002である第2ECU12がデータフレームを送信する。以降、003~005に対応する3つの第2ECU12がデータフレームを順番に送信する。第1ECU11は、IDが005である第2ECU12がデータフレームの送信を終了した場合、ビーコン信号を再び送信する。
【0036】
第1ECU11は、ビーコン信号の送信を終了してから、待機期間が経過するまで待機する。待機期間は、一定値であり、予め設定されている。第1ECU11は、待機期間が経過した場合、データフレームを送信する。各第2ECU12は、データフレームの送信が終了してから待機期間が経過するまで待機する。各第2ECU12は、待機期間が経過した場合、データフレームを送信する。待機期間は第1所定期間及び第2所定期間に相当する。
【0037】
以上のように、例えば、PLCA方式では、マスターの役割を果たす第1ECU11と、スレーブの役割を果たす(N-1)個の第2ECU12がビーコン信号を用いて同期を取ることによって、データの衝突が回避される。
Nが5とは異なる場合、Nが5である場合と同様に、第1ECU11及び(N-1)個の第2ECU12は、予め定められている順序に従ってデータフレームを送信する。
【0038】
<ビーコン信号>
図4はビーコン信号の波形図である。図4の縦軸及び横軸それぞれでは、電圧差及び時間が示されている。図4に示すビーコン信号の波形は一例である。通信バスBには、第1導線W1及び第2導線W2(図7参照)を含む。第1導線W1及び第2導線W2は撚り合されている。これにより、ツイストペア線が実現されている。ビーコン信号は複数のビットで構成されている。第1ECU11及び(N-1)個の第2ECU12それぞれは、1ビットの期間が経過する都度、通信バスBに含まれる第1導線W1及び第2導線W2の電圧差をハイレベル電圧又はローレベル電圧に調整することによって、ビーコン信号を送信する。図4では、ハイレベル電圧及びローレベル電圧それぞれをH及びLで示している。
【0039】
第1ECU11及び(N-1)個の第2ECU12それぞれは、1ビットの期間が経過する都度、通信バスBに含まれる第1導線W1及び第2導線W2の電圧差を、ハイレベル電圧又はローレベル電圧に調整することによって、データフレームを送信する。
【0040】
各ビットでは、ハイレベル電圧又はローレベル電圧が示されている。図4の例では、ビーコン信号は7ビットで構成されている。ハイレベル電圧及びローレベル電圧で交互に出力されている。なお、ビーコン信号を構成するビットの数は7に限定されない。
【0041】
ビーコン信号の波形は予め定められている。第1ECU11が、ビーコン信号を、通信バスBを介して送信した場合、全ての第2ECU12はビーコン信号を受信する。各第2ECU12では、ハイレベル電圧及びローレベル電圧によって構成されるクロック信号が出力される。クロック信号では、電圧の立ち上がり又は立ち下がりが周期的に行われる。電圧の立ち上がりは、ローレベル電圧からハイレベル電圧への切替えである。電圧の立ち下がりは、ハイレベル電圧からローレベル電圧への切替えである。各第2ECU12は、ビーコン信号を受信した場合、クロック信号の立ち上がり又は立ち下がりの時点を調整する。各第2ECU12それぞれは、例えば、立ち上がり又は立ち下がりの時点を、ビーコン信号の終了時点に調整する。
【0042】
ここで、クロック信号の立ち上がりの時点で処理が実行される構成では、クロック信号の立ち上がりの時点が調整される。クロック信号の立ち下がりの時点で処理が実行される構成では、クロック信号の立ち下がりの時点が調整される。
【0043】
各第2ECU12がクロック信号の立ち上がり又は立ち下がりの時点を調整することによって、第1ECU11及び(N-1)個の第2ECU12の同期が実現される。これにより、第1ECU11及び(N-1)個の第2ECU12が処理を実行するタイミングが実質的に一致する。なお、ビーコン信号の波形は、図4に示す波形に限定されない。
【0044】
<データフレームの内容>
図5は、データフレームの内容の説明図である。データフレームは、送信先フィールド、データ長フィールド及びデータフィールドを含む。データフレームは、データであり、複数のビットによって構成されている。各ビットでは、ハイレベル電圧又はローレベル電圧が出力される。ビット値の1及びゼロそれぞれは、例えば、ハイレベル電圧及びローレベル電圧に対応する。
【0045】
データフレームの送信先フィールドでは、データフレームの送信先が示されている。送信先フィールドでは、例えばIDが示されている。データフレームのデータフィールドには、メインデータが含まれている。前述したように、メインデータは、例えば、センサの検出値である。データフレームのデータ長フィールドは、メインデータの長さを示す。メインデータの長さの単位はビットである。
【0046】
データフレームに関して、データフィールド以外の部分を構成するビットの数は固定されている。メインデータの長さが決まれば、データフレームの長さが決まる。メインデータを構成するビットの数は変動する。ただし、メインデータを構成するビットの数の上限値は予め定められている。
【0047】
第1ECU11及び(N-1)個の第2ECU12それぞれは、送信先が、通信バスBに接続されているECUの中で送信元以外のECU中に存在するデータフレームを送信する。以下では、このデータフレームを送信フレームと記載する。送信フレームは送信データに相当する。故障データを含むデータフレームは送信フレームである。
【0048】
図3に示すように、5つのIDが割り当てられている場合において、IDが001である第1ECU11が送信する送信フレームの送信先は、002~005に対応する4つの第2ECU12中の少なくとも1つである。同様の場合において、IDが002である第2ECU12が送信する送信フレームの送信先は、001に対応する第1ECU11及び003~005に対応する3つの第2ECU12中の少なくとも1つである。
【0049】
第1ECU11及び(N-1)個の第2ECU12それぞれは、更に、送信先が第1ECU11及び(N-1)個の第2ECU12とは異なるデータフレームを送信する。以下では、このデータフレームをダミーフレームと記載する。ダミーフレームはダミーデータに相当する。
【0050】
図3に示すように、5つのIDが割り当てられている場合において、ダミーフレームの送信先は、001に対応する第1ECU11及び002~005に対応する4つの第2ECU12のいずれとも異なる。ダミーフレームの送信先は、例えば、IDが999であるECUである。
【0051】
前述したように、第1ECU11及び(N-1)個の第2ECU12それぞれは、データフレームを受信した場合において、データフレームの送信先が自装置とは異なるとき、受信したデータフレームを破棄する。従って、ダミーフレームが送信された場合、第1ECU11及び(N-1)個の第2ECU12それぞれは、受信したダミーフレームを破棄する。
【0052】
以上のように、ダミーフレームの送信先は、通信バスBに接続されているECU中に存在しない。従って、ダミーフレームの送信先は、通信バスBに接続されているECUの中で、送信元以外のECUのいずれとも異なる。
【0053】
<第1ECU11の構成>
図6は第1ECU11の要部構成を示すブロック図である。第1ECU11は、通信IC21、入力部22、出力部23、装置記憶部24及び装置制御部25を有する。ICはIntegrated Circuitの略語である。通信IC21、入力部22、出力部23、装置記憶部24及び装置制御部25は装置バス26に接続されている。通信IC21は、更に、通信バスBに接続されている。入力部22は、更に、センサに接続されている。出力部23は、更に、電気機器に接続されている。センサ及び電気機器の図示は省略されている。
【0054】
センサは、検出値を入力部22に出力する。装置制御部25は、例えば、センサの検出値が入力部22に入力された場合、メインデータとしてセンサの検出値を含む送信フレームを生成する。装置制御部25は、生成した送信フレームを通信IC21に与える。通信IC21は、送信フレームが与えられた場合、与えられた送信フレームを、通信バスBを介して送信する。
【0055】
通信IC21は、通信バスBを介して送信されたデータフレームを受信する。通信IC21は、データフレームを受信した場合において、受信したデータフレームの送信先が第1ECU11とは異なるとき、受信したデータフレームを破棄する。従って、通信IC21は、ダミーフレームを受信した場合、受信したダミーフレームを破棄する。
【0056】
通信IC21は、データフレームを受信した場合において、受信したデータフレームの送信先が第1ECU11であるとき、受信したデータフレームを装置制御部25に与える。送信先が第1ECU11であるデータフレームは送信フレームである。前述したように、故障データを含むデータフレームの送信先は第2ECU12である。このため、送信先が第1ECU11である送信フレームに、故障データが含まれていることはない。
【0057】
装置制御部25は、受信した送信フレームを与えられた場合、与えられた送信フレームのメインデータに基づいて、電気機器が行う動作を決定する。装置制御部25は、電気機器が行う動作を決定した場合、出力部23に指示して、決定した動作を示す動作信号を電気機器に出力させる。前述したように、電気機器は、動作信号が入力された場合、入力された動作信号が示す動作を行う。
【0058】
通信IC21は、第2ECU12の故障を検知する。通信IC21は、第2ECU12の故障を検知した場合、故障データを含む送信フレームを送信する。この送信フレームの送信先は、正常な第2ECU12である。
【0059】
装置記憶部24は、例えば、不揮発性メモリである。装置記憶部24には、コンピュータプログラムPが記憶されている。装置制御部25は、処理を実行する処理素子、例えばCPU(Central Processing Unit)を有する。装置制御部25の処理素子は、コンピュータプログラムPを実行することによって、送信フレーム生成処理及び信号出力処理を並行して実行する。送信フレーム生成処理では、装置制御部25は、前述したように送信フレームを生成し、生成した送信フレームを通信IC21に与える。信号出力処理では、装置制御部25は、前述したように、出力部23に指示して動作信号を出力させる。
【0060】
なお、コンピュータプログラムPは、コンピュータプログラムPを読み取り可能に記録した非一時的な記憶媒体Aを用いて、第1ECU11に提供されてもよい。記憶媒体Aは、例えば可搬型メモリである。可搬型メモリの例として、CD-ROM、USB(Universal Serial Bus)メモリ、SDカード、マイクロSDカード又はコンパクトフラッシュ(登録商標)等が挙げられる。記憶媒体Aが可搬型メモリである場合、装置制御部25の処理素子は、図示しない読取装置を用いて記憶媒体AからコンピュータプログラムPを読み取ってもよい。読み取ったコンピュータプログラムPは装置記憶部24に記憶される。更に、コンピュータプログラムPは、第1ECU11の図示しない通信部が外部装置と通信することによって、第1ECU11に提供されてもよい。この場合、装置制御部25の処理素子は、通信部を通じてコンピュータプログラムPを取得する。取得したコンピュータプログラムPは装置記憶部24に記憶される。
【0061】
<通信IC21の構成>
通信IC21は、IC制御部31、インタフェース32、IC記憶部33、クロック部34及びビット通信器35を有する。これらはICバス36に接続されている。インタフェース32は、更に装置バス26に接続されている。クロック部34は、更にビット通信器35に接続されている。ビット通信器35は、更に、通信バスBに接続されている。
【0062】
装置制御部25は、インタフェース32を介して、送信フレームをIC制御部31に与える。IC制御部31は、処理を実行する処理素子、例えばCPUを有し、処理部として機能する。IC制御部31は、送信フレームが与えられた場合、与えられた送信フレームをIC記憶部33に書き込む。IC記憶部33は、例えば、不揮発性メモリである。IC記憶部33には、ダミーフレームが予め記憶されている。
【0063】
IC制御部31は第2ECU12の故障を検知する。IC制御部31は、第2ECU12の故障を検知した場合、故障した第2ECU12を示す故障データを含む送信フレームを生成する。IC制御部31は、生成した送信フレームをIC記憶部33に書き込む。
【0064】
クロック部34は、クロック信号をビット通信器35に出力している。IC制御部31は、IC記憶部33に記憶されている送信フレーム又はダミーフレームを、1ビットずつビット通信器35に与える。IC制御部31は、ビーコン信号を、1ビットずつビット通信器35に与える。
【0065】
ビット通信器35は、クロック信号において、立ち上がりが行われる都度、IC制御部31から与えられた1ビットの信号又はデータを送信する。ビット通信器35は、通信バスBに含まれる第1導線W1及び第2導線W2の電圧差を、ハイレベル電圧又はローレベル電圧に調整することによって、1ビットの信号又はデータを送信する。クロック信号の1周期の間、電圧差はハイレベル電圧又はローレベル電圧に維持される。クロック信号の周期は、1ビットの期間に対応する。
【0066】
ビット通信器35は、クロック信号において、立ち上がりが行われる都度、通信バスBに含まれる第1導線W1及び第2導線W2の電圧差を検出することによって、1ビットの信号又はデータを受信する。ビット通信器35は、受信した1ビットの信号又はデータをIC制御部31に通知する。
【0067】
なお、ビット通信器35は、クロック信号において、立ち下がりが行われる都度、IC制御部31から与えられた1ビットのデータを送信してもよい。また、ビット通信器35は、クロック信号において、立ち下がりが行われる都度、通信バスBの電圧差を検出することによって、1ビットの信号又はデータを受信してもよい。
【0068】
IC制御部31は、ビット通信器35がデータフレームを受信した場合において、受信したデータフレームの送信先が第1ECU11ではないとき、受信したデータフレームを破棄する。従って、IC制御部31は、ビット通信器35がダミーフレームを受信した場合、受信したダミーフレームを破棄する。IC制御部31は、ビット通信器35がデータフレームを受信した場合において、受信したデータフレームの送信先が第1ECU11であるとき、受信したデータフレームを、インタフェース32を介して装置制御部25に与える。前述したように、IC制御部31が装置制御部25に与えるデータフレームは送信フレームである。
【0069】
IC記憶部33には、図示しないコンピュータプログラムが記憶されている。IC制御部31は、コンピュータプログラムを実行することによって、書き込み処理、送信処理、受信処理、故障検知処理及び更新処理を並行して実行する。書き込み処理では、IC制御部31は、前述したように、IC記憶部33に送信フレームを書き込む。送信処理では、IC制御部31は、ビーコン信号をビット通信器35に送信させる。IC制御部31は、ビーコン信号をビット通信器35に送信させた後、送信フレーム又はダミーフレームをビット通信器35に送信させる。受信処理では、IC制御部31は、前述したように、ビット通信器35が受信したデータフレームに関する処理を実行する。故障検知処理では、IC制御部31は第2ECU12の故障を検知する。更新処理では、IC制御部31は順番テーブルを更新する。
【0070】
IC記憶部33には、第1ECU11及び(N-1)個の第2ECU12が行う送信の順序を示す順番テーブルが記憶されている。送信処理では、IC制御部31は、順番テーブルが示す順序に従って、送信フレーム又はダミーフレームをビット通信器35に送信させる。順番テーブルでは、図3に示すように、N個のIDそれぞれに対応付けて送信の順番が示されている。
【0071】
<ビット通信器35の構成>
図7はビット通信器35の回路図である。ビット通信器35は、3つの抵抗41a,41b,42、3つのキャパシタ43,44a,44b、コモンモードチョークコイル45及び変換部46を有する。コモンモードチョークコイル45は、第1インダクタ45a、第2インダクタ45b及び環状の磁性体を有する。第1インダクタ45a及び第2インダクタ45bそれぞれは、磁性体に巻き付いている。
【0072】
ビット通信器35の変換部46は、機器導線Waによって通信バスBの第1導線W1に接続されている。ビット通信器35の変換部46は、機器導線Wbによって通信バスBの第2導線W2に接続されている。変換部46は、更に、クロック部34及びICバス36に接続されている。
【0073】
機器導線Waの中途にキャパシタ44aと、第1インダクタ45aとが配置されている。キャパシタ44aは、第1インダクタ45aの第1導線W1側に配置されている。同様に、機器導線Wbの中途にキャパシタ44bと、第2インダクタ45bとが配置されている。キャパシタ44bは、第2インダクタ45bの第2導線W2側に配置されている。
【0074】
キャパシタ44aの第1導線W1側において、抵抗41aの一端が機器導線Waに接続されている。同様に、キャパシタ44bの第2導線W2側において、抵抗41bの一端が機器導線Wbに接続されている。抵抗41aの他端は抵抗41bの他端に接続されている。抵抗41a,41b間の接続ノードは、抵抗42及びキャパシタ43の一端に接続されている。抵抗42及びキャパシタ43の他端は第1導体G1に接続されている。第1導体G1は第1ECU11内に配置されている。
【0075】
抵抗41a,41b,42及びキャパシタ43は、終端回路として機能し、第1導線W1及び第2導線W2の電圧差で表される信号又はデータの反射を抑制する。
2つのキャパシタ44a,44bそれぞれは、2つの機器導線Wa,Wbから入力された2つの電圧から直流成分を除去する。キャパシタ44a,44bは、直流成分が除去された2つの電圧をコモンモードチョークコイル45に出力する。
【0076】
コモンモードチョークコイル45は、キャパシタ44a,44bが出力した2つの電圧からコモンモードノイズを除去し、コモンモードノイズを除去した2つの電圧を変換部46に出力する。
【0077】
変換部46は、クロック部34から入力されるクロック信号の立ち上がり又は立ち下がりが行わる都度、コモンモードチョークコイル45から入力された2つの電圧の電圧差を検出する。変換部46は、電圧差を検出した場合、検出した電圧差に対応するビット値をIC制御部31に出力する。ビット値はゼロ又は1である。例えば、電圧差がローレベル電圧である場合、ビット値としてゼロを出力する。電圧差がハイレベル電圧である場合、ビット値として1を出力する。ビット値は、基準電位が第2導体G2の電位である電圧によって表される。ビット値の1及びゼロそれぞれは、例えば、基準電位が第2導体G2であるハイレベル電圧及びローレベル電圧に対応する。第2導体G2は、第1ECU11内に配置されており、第1導体G1とは異なる。
【0078】
前述したように、ビット通信器35は、1ビットの信号又はデータを送信する。IC制御部31は、1ビットの信号又はデータを変換部46に与える。変換部46は、クロック部34から入力されるクロック信号の立ち上がり又は立ち下がりが行わる都度、2つの機器導線Wa,Wbの電圧差を、IC制御部31から与えられた1ビットの信号又はデータに対応する電圧に調整する。
【0079】
変換部46から出力された2つの電圧は、コモンモードチョークコイル45に入力される。コモンモードチョークコイル45は、変換部46が出力した2つの電圧からコモンモードノイズを除去し、コモンモードノイズを除去した2つの電圧を2つのキャパシタ44a,44bに出力する。2つのキャパシタ44a,44bは、コモンモードチョークコイル45から入力された2つの電圧から直流成分を除去する。キャパシタ44a,44bは、直流成分が除去された2つの電圧を通信バスBの第1導線W1及び第2導線W2に印加する。これにより、第1導線W1及び第2導線W2の電圧差がハイレベル電圧又はローレベル電圧に調整される。
【0080】
ビット通信器35の構成は、IEEE802.3cg(IEEEは登録商標)の10BASE-T1Sに準拠している。従って、ビット通信器35は、データレートが10Mbpsであるベースバンド信号の送信を実現するように構成されている。ここで、ベースバンド信号は、第1導線W1及び第2導線W2によって構成されるツイストペア線を介して送信される。IEEEは、Institute of Electrical and Electronics Engineersの略語である。
【0081】
<第2ECU12の構成>
第2ECU12の構成の中で、データフレームの受信及びビーコン信号の送信に関する構成を除く他の構成は、第1ECU11と同様に構成されている。第1ECU11の構成の説明において、第1ECU11を第2ECU12に置き換える。これにより、第2ECU12の構成を説明することができる。
【0082】
IC制御部31は、ビット通信器35がデータフレームを受信した場合において、受信したデータフレームの送信先が第2ECU12ではないとき、受信したデータフレームを破棄する。従って、IC制御部31は、ビット通信器35がダミーフレームを受信した場合、受信したダミーフレームを破棄する。IC制御部31は、ビット通信器35がデータフレームを受信した場合において、受信したデータフレームの送信先が第2ECU12(自装置)であるとき、データフレームのメインデータが故障データであるか否かを判定する。
【0083】
IC記憶部33には故障データが記憶されている。故障している第2ECU12がない場合、故障データは故障なしを示す。IC制御部31は、メインデータが故障データであると判定した場合、IC記憶部33に記憶されている故障データを、受信したデータフレームに含まれる故障データに更新する。IC制御部31は、メインデータが故障データではないと判定した場合、受信したデータフレームを、インタフェース32を介して装置制御部25に与える。
【0084】
第2ECU12では、IC制御部31は、ビーコン信号をビット通信器35に与えることはない。ビット通信器35はビーコン信号を受信する。IC制御部31は、ビーコン信号を受信した場合、ビーコン信号の説明で述べたように、受信したビーコン信号に基づいて、クロック信号の立ち上がり又は立ち下がりの時点を調整する。クロック信号の立ち上がりの時点で処理が実行される構成では、クロック信号の立ち上がりの時点が調整される。クロック信号の立ち下がりの時点で処理が実行される構成では、クロック信号の立ち下がりの時点が調整される。
【0085】
第2ECU12のIC制御部31は、第1ECU11のIC制御部31と同様に、書き込み処理、送信処理及び更新処理を実行する。ただし、第2ECU12の送信処理では、IC制御部31は、ビット通信器35が受信したビーコン信号に基づいて、クロック信号の調整を行った後、送信フレーム又はダミーフレームをビット通信器35に送信させる。第2ECU12の受信処理では、IC制御部31は、前述したように、ビット通信器35が受信したデータフレームに関する処理を実行する。第2ECU12のIC制御部31は、故障を検知することはない。
【0086】
<データフレームを送信する手順>
図8は、送信フレームの送信準備の手順を示すフローチャートである。第1ECU11及び(N-1)個の第2ECU12それぞれにおいて、送信フレームの送信準備は同様に行われる。図8では、装置制御部25の送信フレーム生成処理と、IC制御部31の書き込み処理とが示されている。
【0087】
送信フレーム生成処理では、装置制御部25は、まず、送信フレームを生成するか否かを判定する(ステップS1)。ステップS1では、装置制御部25は、例えば、センサの検出値が入力部22に入力された場合、送信フレームを生成すると判定する。この場合、送信フレームのメインデータは、入力部22に入力されたセンサの検出値である。装置制御部25は、送信フレームを生成しないと判定した場合(S1:NO)、再び、ステップS1を実行し、送信フレームを生成するタイミングが到来するまで待機する。
【0088】
装置制御部25は、送信フレームを生成すると判定した場合(S1:YES)、送信フレームを生成する(ステップS2)。例えば、ステップS2が実行される都度、装置制御部25は、データ長が予め定められている所定長である送信フレームを常に生成してもよい。所定長は、例えば、データフレームのデータフィールドを構成するビットの数の上限値である。データ長が固定されている場合、装置制御部25が生成する送信フレームを構成するビットの数は常に一定である。データ長が所定長である送信フレームが生成される構成では、ダミーフレームのデータ長も所定長であってもよい。この場合、ダミーフレームを構成するビットの数は、送信フレームを構成するビットの数と同じである。
【0089】
次に、装置制御部25は、ステップS2で生成した送信フレームを、インタフェース32を介してIC制御部31に与える(ステップS3)。装置制御部25は、ステップS3を実行した後、送信フレーム生成処理を終了する。装置制御部25は、送信フレーム生成処理を終了した後、再び送信フレーム生成処理を実行する。
【0090】
IC制御部31は、書き込み処理では、まず、装置制御部25から送信フレームが与えられたか否かを判定する(ステップS11)。IC制御部31は、送信フレームが与えられていないと判定した場合(S11:NO)、再びステップS11を実行し、装置制御部25から送信フレームが与えられるまで待機する。
【0091】
IC制御部31は、装置制御部25から送信フレームが与えられたと判定した場合(S11:YES)、与えられた送信フレームをIC記憶部33に書き込む(ステップS12)。IC制御部31は、ステップS12を実行した後、書き込み処理を終了する。IC制御部31は、書き込み処理を終了した後、再び書き込み処理を実行する。
【0092】
以上のように、装置制御部25が送信フレームを生成した場合、生成した送信フレームはIC記憶部33に書き込まれる。IC記憶部33に記憶されている送信フレームは通信バスBを介して送信される。
【0093】
図9は、第1ECU11のIC制御部31が実行する送信処理の手順を示すフローチャートである。第1ECU11のIC制御部31は、送信処理では、まず、ビーコン信号を送信するか否かを判定する(ステップS21)。待機期間が経過した時点において、順番が最後である第2ECU12がデータフレームの送信を開始した場合、この第2ECU12がデータフレームの送信を終了した時点が、ビーコン信号が送信されるタイミングである。待機期間が経過した時点において、順番が最後である第2ECU12がデータフレームの送信を開始しなかった場合、待機期間が経過した時点が、ビーコン信号が送信されるタイミングである。前述したように、データフレームのデータ長フィールドでは、メインデータのデータ長が示されている。IC制御部31は、順番が最後である第2ECU12が送信しているデータフレームのデータ長フィールドにおいて示されるデータ長に基づいて、データフレームの送信が終了するタイミングを把握することができる。
【0094】
IC制御部31は、ビーコン信号を送信しないと判定した場合(S21:NO)、再びステップS21を実行し、ビーコン信号を送信するタイミングが到来するまで待機する。IC制御部31は、ビーコン信号を送信すると判定した場合(S21:YES)、ビット通信器35に指示して、ビーコン信号を、通信バスBを介して送信させる(ステップS22)。前述したように、第2ECU12では、ビット通信器35がビーコン信号を受信した場合、IC制御部31は、クロック信号を調整する。
【0095】
IC制御部31は、ステップS22を実行した後、データフレームの送信を開始するタイミングであるか否かを判定する(ステップS23)。第1ECU11はマスターの役割を果たすので、第1ECU11の送信の順番は1番目である。この場合、ステップS23では、IC制御部31は、ビーコン信号の送信が終了してから待機期間が経過したか否かを判定する。待機期間が経過したタイミングが送信を開始するタイミングである。IC制御部31は、送信を開始するタイミングではないと判定した場合(S23:NO)、ステップS23を再び実行し、送信を開始するタイミングが到来するまで待機する。
【0096】
IC制御部31は、送信を開始するタイミングであると判定した場合(S23:YES)、送信フレームがIC記憶部33に記憶されているか否かを判定する(ステップS24)。IC制御部31は、送信フレームがIC記憶部33に記憶されていると判定した場合(S24:YES)、ビット通信器35に指示して、IC記憶部33に記憶されている送信フレームを、通信バスBを介して1ビットずつ送信させる(ステップS25)。ビット通信器35はデータ送信部として機能する。IC制御部31は、ステップS25を実行した後、送信した送信フレームをIC記憶部33から削除する(ステップS26)。
【0097】
IC制御部31は、送信フレームがIC記憶部33に記憶されていないと判定した場合(S24:NO)、ビット通信器35に指示して、IC記憶部33に記憶されているダミーフレームを1ビットずつ送信させる(ステップS27)。IC制御部31は、ステップS26,S27の一方を実行した後、送信処理を終了する。IC制御部31は、送信処理を終了した後、再び送信処理を実行する。送信処理が繰り返し実行されるので、ビット通信器35は、ビーコン信号を繰り返し送信する。ビット通信器35は信号送信部としても機能する。
【0098】
図10は、第2ECU12のIC制御部31が実行する送信処理の手順を示すフローチャートである。第2ECU12のIC制御部31が実行する送信処理のステップS34~S37それぞれは、第1ECU11のIC制御部31が実行する送信処理のステップS24~S27と同様である。従って、ステップS34~S37の説明を省略する。
【0099】
第2ECU12のIC制御部31は、送信処理では、まず、ビット通信器35がビーコン信号を受信したか否かを判定する(ステップS31)。IC制御部31は、ビット通信器35がビーコン信号を受信していないと判定した場合(S31:NO)、ステップS31を再び実行し、ビット通信器35がビーコン信号を受信するまで待機する。
【0100】
IC制御部31は、ビット通信器35がビーコン信号を受信したと判定した場合(S31:YES)、クロック部34が出力しているクロック信号を調整する(ステップS32)。ステップS32では、IC制御部31は、クロック信号の立ち上がり又は立ち下がりの時点を前述したように調整する。IC制御部31は、ステップS32を実行した後、データフレームの送信を開始するタイミングであるか否かを判定する(ステップS33)。
【0101】
図3に示すように、送信の順番が割り当てられている場合、ステップS33では、IC制御部31は、待機期間が経過した時点において、順番テーブルにおいて順番が1つ前である第1ECU11又は第2ECU12がデータフレームの送信を開始したと仮定する。この場合、順番が1つ前である第1ECU11又は第2ECU12がデータフレームの送信を終了してから待機期間が経過した時点が送信を開始するタイミングである。待機期間が経過した時点において、順番が1つ前である第1ECU11又は第2ECU12がデータフレームの送信を開始しなかった場合、この時点から更に待機期間が経過した時点が、データフレームの送信を開始するタイミングである。
【0102】
IDが002である第2ECU12に関して、順番が1つ前であるECUは、IDが001である第1ECU11である。IDが003である第2ECU12に関して、順番が1つ前であるECUは、IDが002である第2ECU12である。
【0103】
IC制御部31は、順番が1つ前である第1ECU11又は第2ECU12が送信しているデータフレームのデータ長フィールドにおいて示されるデータ長に基づいて、第1ECU11又は第2ECU12がデータフレームの送信を終了するタイミングを把握することができる。
【0104】
IC制御部31は、データフレームの送信を開始するタイミングではないと判定した場合(S33:NO)、ステップS33を実行し、データフレームの送信を開始するタイミングが到来するまで待機する。IC制御部31は、データフレームの送信を開始するタイミングであると判定した場合(S33:YES)、ステップS34を実行する。IC制御部31は、送信処理を終了した後、再び送信処理を実行する。
【0105】
以上のように、第1ECU11及び(N-1)個の第2ECU12それぞれのビット通信器35は、自装置以外の残りのECUに送信する送信フレームがIC記憶部33内に存在しない場合、ダミーフレームを送信する。従って、第1ECU11及び(N-1)個の第2ECU12それぞれのビット通信器35は、送信の順番が回ってきた場合、送信フレーム又はダミーフレームを必ず送信する。
【0106】
また、第1ECU11及び(N-1)個の第2ECU12に関して、データフレームを送信する順序は、図3に示すように、予め定められている。従って、第1ECU11及び(N-1)個の第2ECU12のビット通信器35は、ビーコン信号が送信された場合、予め定められた順序に従って、通信バスBを介してデータフレームを送信する。ビーコン信号は、第1ECU11及び(N-1)個の第2ECU12のビット通信器35が行うデータフレームの送信の開始を示す。第1ECU11及び第2ECU12それぞれは、データを送信する通信装置として機能する。第2ECU12は第2の通信装置としても機能する。
【0107】
<故障検知処理>
図11は故障検知処理の手順を示すフローチャートである。前述したように、故障検知処理は第1ECU11のIC制御部31によって実行される。IC制御部31は、故障検知処理を終了した場合、再び、故障検知処理を実行する。
IC記憶部33には、整数Kの値が記憶されている。整数Kの値は、IC制御部31によって変更される。故障データは第1ECU11のIC記憶部33に記憶されている。故障データが示す第2ECU12はIC制御部31によって更新される。前述したように、故障している第2ECU12がない場合、故障データは、故障なしを示す。
【0108】
故障検知処理では、第1ECU11のIC制御部31は、(N-1)個の第2ECU12それぞれがデータフレームを送信したか否かを判定する。第2ECU12は対象通信装置として機能する。2番目~N番目の第2ECU12それぞれについて、データフレームを送信しなかったと連続して判定した判定回数がIC記憶部33に記憶されている。(N-1)個の判定回数それぞれは、IC制御部31によって変更される。第1ECU11が起動した時点では、(N-1)個の判定回数はゼロである。
【0109】
第1ECU11のIC制御部31は、故障検知処理では、まず、整数Kの値を2に変更する(ステップS41)。次に、IC制御部31は、K番目の第2ECU12の送信タイミングであるか否かを判定する(ステップS42)。K番目は、データフレームを送信する順番であり、順番テーブルによって示されている。送信タイミングは、データフレームを送信するタイミングである。
【0110】
IC制御部31は、K番目の第2ECU12の送信タイミングではないと判定した場合(S42:NO)、ステップS42を再び実行し、K番目の第2ECU12の送信タイミングが到来するまで待機する。IC制御部31は、K番目の第2ECU12の送信タイミングであると判定した場合(S42:YES)、K番目の第2ECU12がデータフレームを送信したか否かを判定する(ステップS43)。
【0111】
前述したように、通信バスBに接続されている1つのECUが送信したデータフレームは、通信バスBに接続されている全てのECUによって受信される。従って、IC制御部31は、ビット通信器35がデータフレームを受信していない場合、K番目の第2ECU12はデータフレームを送信していないと判定する。IC制御部31は、ビット通信器35がデータフレームを受信した場合、K番目の第2ECU12はデータフレームを送信したと判定する。
【0112】
IC制御部31は、K番目の第2ECU12がデータフレームを送信しなかったと判定した場合(S43:NO)、K番目の第2ECU12の判定回数を1だけインクリメントする(ステップS44)。次に、IC制御部31は、K番目の第2ECU12の判定回数が所定回数であるか否かを判定する(ステップS45)。所定回数は、一定値であり、2以上である。IC制御部31は、K番目の第2ECU12の判定回数が所定回数以上であると判定した場合(S45:YES)、K番目の第2ECU12において故障が発生しているとして、故障データを更新する(ステップS46)。ステップS46では、IC制御部31は、故障データが示す第2ECU12に、K番目の第2ECU12を追加する。故障データでは、K番目の第2ECU12はIDによって示される。
【0113】
IC制御部31は、K番目の第2ECU12がデータフレームを送信したと判定した場合(S43:YES)、K番目の第2ECU12の判定回数をゼロに変更する(ステップS47)。IC制御部31は、K番目の第2ECU12の判定回数が所定回数未満であると判定した場合(S45:NO)、又は、ステップS46,S47の一方を実行した後、整数Kを1だけインクリメントする(ステップS48)。次に、IC制御部31は、整数Kの値がNであるか否かを判定する(ステップS49)。IC制御部31は、整数Kの値がNではないと判定した場合(S49:NO)、ステップS42を実行する。IC制御部31は、2番目からN番目までの(N-1)個の第2ECU12それぞれがデータフレームを送信したか否かを判定する。
【0114】
IC制御部31は、整数Kの値がNであると判定した場合(S49:YES)、今回の故障検知処理において、故障データを更新したか否かを判定する(ステップS50)。IC制御部31は、故障データを更新したと判定した場合(S50:YES)、故障データを含む送信フレームをIC記憶部33に書き込む(ステップS51)。これにより、ビット通信器35は、故障データを含む送信フレームを、通信バスBを介して送信する。第2ECU12のIC記憶部33には故障データが記憶されている。第2ECU12では、ビット通信器35が故障データを含む送信フレームを受信した場合、IC制御部31は、IC記憶部33に記憶されている故障データを、ビット通信器35が受信した送信フレームに含まれる故障データに更新する。
【0115】
IC制御部31は、故障データを更新していないと判定した場合(S50:NO)、又はステップS51を実行した後、故障検知処理を終了する。前述したように、IC制御部31は、故障検知処理を終了した後、再び、故障検知処理を実行する。
【0116】
<順番テーブルの更新>
図12は、更新処理の手順を示すフローチャートである。更新処理は、第1ECU11及び(N-1)個の第2ECU12のIC制御部31によって実行される。IC制御部31は、更新処理では、IC記憶部33に記憶されている故障データが更新されたか否かを判定する(ステップS61)。IC制御部31は、故障データが更新されていないと判定した場合(S61:NO)、ステップS61を再び実行し、故障データがIC記憶部33に更新されるまで待機する。
【0117】
IC制御部31は、故障データが更新されていると判定した場合(S61:YES)、順番テーブルの更新タイミングであるか否かを判定する(ステップS62)。IC制御部31は、順番テーブルの更新タイミングではないと判定した場合(S62:NO)、ステップS62を再び実行し、順番テーブルの更新タイミングが到来するまで待機する。更新タイミングは、例えば、通信IC21が起動したタイミング、又は、次のビーコン信号の送信が開始されるタイミングである。IC制御部31は、順番テーブルの更新タイミングであると判定した場合(S62:YES)、IC記憶部33に記憶されている故障データに基づいて、順番テーブルを更新する(ステップS63)。
【0118】
図13は、順番テーブルの更新の説明図である。図13に示すように、順番テーブルでは、各IDに、データフレームの送信の順番が対応付けられている。図13の例では、001~005それぞれは、1番目~5番目に対応する。故障データがIDとして003を示す場合、IC制御部31は、順番テーブルにおいて、003の欄を削除する。これにより、3番目が削除されるため、4番目及び5番目それぞれを、3番目及び4番目に変更する。これにより、第1ECU11及び3つの正常な第2ECU12は、003の第2ECU12は存在しないとして、データフレームを送信する。
【0119】
図12に示すように、IC制御部31は、ステップS63を実行した後、更新処理を終了する。IC制御部31は、更新処理を終了した後、再び更新処理を実行する。
【0120】
以上のように、第1ECU11のIC制御部31は、(N-1)個の第2ECU12に含まれる対象通信装置がデータを送信しなかったと所定回数、連続して判定した場合、対象通信装置の故障を検知する。従って、対象通信装置の故障を誤って検知する可能性は低い。
【0121】
第1ECU11のIC制御部31は、対象通信装置の故障を検知した場合、故障データを更新し、ビット通信器35に指示して、更新した故障データを、対象通信装置以外の残りの第2ECU12に送信させる。これにより、残りの第2ECU12の故障データは、更新され、第1ECU11の故障データと一致する。その後、第1ECU11及び正常な第2ECU12は、更新された故障データに基づいて、順番テーブルが示す送信の順序を、対象通信装置が除かれた順序に更新する。結果、第1ECU11のIC制御部31は、対象通信装置がデータフレームを送信しなかったと所定回数、連続して判定した場合、データフレームが送信される順序を対象通信装置が除かれた順序に変更する。第1ECU11は、順序を変更する通信装置としても機能する。
【0122】
図14は通信システム1の効果の説明図である。図14では、Nが5である例が示されている。第1ECU11及び(N-1)個の第2ECU12が正常に動作している場合、図14の上段に示すように、第1ECU11がビーコン信号を送信された場合、第1ECU11及び(N-1)個の第2ECU12が順番テーブルが示す順序に従ってデータフレームを送信する。順番が最後である第2ECU12がデータフレームを終了した場合、第1ECU11がビーコン信号を再び送信する。
【0123】
3番目の第2ECU12において故障が発生し、3番目の第2ECU12がデータフレームの送信を停止したと仮定する。この場合、2番目の第2ECU12がデータフレームの送信を終了してから待機期間が経過した時点において、3番目の第2ECU12がデータフレームを送信しない。このため、更に、待機期間が経過した時点で4番目の第2ECU12がデータフレームを送信する。従って、2番目の第2ECU12がデータフレームの送信を終了してから、待機期間が2度経過した後、4番目の第2ECU12がデータフレームの送信を開始する。
【0124】
3番目の第2ECU12において故障が発生している場合、3番目の第2ECU12はデータフレームを送信しないので、第1ECU11は3番目の第2ECU12の故障を検知することができる。第1ECU11が3番目の第2ECU12の故障を検知した場合、故障データが更新され、故障している第2ECU12として、3番目の第2ECU12が示される。第1ECU11は、故障データを含む送信フレームを送信し、2番目、4番目及び5番目の第2ECU12に3番目の第2ECU12の故障が通知される。結果、第1ECU11と、2番目、4番目及び5番目の第2ECU12とにおいて、順番テーブルが示す順序が更新される。
【0125】
結果、第1ECU11及び(N-2)個の第2ECU12が、更新された順番テーブルが示す順序に従って、データフレームを送信する。待機期間が2度経過することがないため、ビーコン信号が送信される送信間隔が短縮される。通信バスBを介して、単位時間当たりに送信されるデータのデータ量は、故障が発生する前のデータ量と殆ど同じである。
【0126】
(実施形態2)
実施形態1において、待機期間は変更されない。しかしながら、待機期間は、故障した第2ECU12の数に応じて変更されてもよい。
以下では、実施形態2について、実施形態1と異なる点を説明する。後述する構成を除く他の構成については、実施形態1と共通しているため、実施形態1と共通する構成部には実施形態1と同一の参照符号を付してその説明を省略する。
【0127】
<第1ECU11の構成>
図15は、実施形態2における第1ECU11の要部構成を示すブロック図である。第1ECU11のIC記憶部33には、待機期間テーブル及び装置数データが記憶されている。以下では、第1ECU11及び(N-1)個の第2ECU12中の正常なECUの数を装置数と記載する。装置数データは装置数を示す。装置数データが示す装置数は、IC制御部31によって変更される。
【0128】
図16は待機期間テーブルの内容を示す図表である。待機期間テーブルでは、装置数と待機期間との関係が示されている。図16に示すように、装置数が小さい程、待機期間は長い。図16には、Nが5である例が示されている。第1ECU11のIC制御部31が待機する待機期間は、装置数データが示す装置数に対応する待機期間である。
【0129】
<第2ECU12の構成>
第2ECU12のIC記憶部33にも、待機期間テーブル及び装置数データが記憶されている。第1ECU11及び(N-1)個の第2ECU12のIC記憶部33に記憶されている待機期間テーブルは同じである。第2ECU12のIC制御部31が待機する待機期間も、装置数データが示す装置数に対応する待機期間である。
【0130】
<順番テーブルの更新>
図17は、更新処理の手順を示すフローチャートである。実施形態1と同様に、更新処理は、第1ECU11及び(N-1)個の第2ECU12のIC制御部31によって実行される。実施形態2において、IC制御部31は、更新処理のステップS61~S63を実施形態1と同様に実行する。このため、ステップS61~S63の説明を省略する。IC制御部31は、ステップS63を実行した後、装置数データが示す装置数を、Nから、故障データが示す第2ECU12の数を減算することによって算出される値に調整する(ステップS71)。IC制御部31は、ステップS71を実行した後、更新処理を終了する。IC制御部31は、更新処理を終了した後、再び更新処理を実行する。
【0131】
実施形態1の説明で述べたように、第1ECU11のIC制御部31は、対象通信装置がデータフレームを送信しなかったと複数回、連続して判定した場合、故障データを更新する。第1ECU11のIC制御部31は、更に、ビット通信器35に指示して、更新した故障データを、対象通信装置以外の残りの第2ECU12に送信させる。これにより、残りの第2ECU12の故障データは、更新され、第1ECU11の故障データと一致する。第1ECU11及び正常な第2ECU12では、故障データが更新された場合、装置数が低減される。結果、第1ECU11及び正常な第2ECU12の待機期間が延長される。
【0132】
<通信システム1の効果>
図18は、通信システム1の効果の説明図である。図18では、Nが5である例が示されている。実施形態1と同様に、第1ECU11及び(N-1)個の第2ECU12が正常に動作している場合、図18の上段に示すように、第1ECU11がビーコン信号を送信する都度、第1ECU11及び(N-1)個の第2ECU12は、順番テーブルが示す順序に従ってデータフレームを送信する。
【0133】
3番目の第2ECU12において故障が発生した場合においては、2番目の第2ECU12がデータフレームの送信を終了してから、待機期間が2度経過した後、4番目の第2ECU12がデータフレームの送信を開始する。その後、故障データが更新され、第1ECU11及び(N-2)個の正常な第2ECU12が、順番テーブルが示す順序に従って、データフレームを送信する。
【0134】
実施形態2では、3番目の第2ECU12の故障が検知された場合、装置数は、Nから(N-1)に変更され、待機期間が延長される。これにより、ビーコン信号が送信される送信間隔の低下を防止することができる。待機期間テーブルにおける待機期間は、装置数に無関係に送信間隔が一定値となるように設定されている。
実施形態2における通信システム1は、実施形態1における通信システム1が奏する効果の中で、待機期間を装置数に無関係に一定に維持することによって得られる効果を除く他の効果を同様に奏する。
【0135】
<実施形態1,2における通信システム1の特徴>
図19は、実施形態1,2における通信システム1の特徴の説明図である。図19には、実施形態1及び実施形態2それぞれにおいて順番テーブルが更新された後のデータフレームの送信が示されている(図14及び図18の下段参照)。実施形態1,2では、故障した第2ECU12は存在しないとして、第1ECU11及び(N-2)個の第2ECU12がデータフレームを順番に送信する。
【0136】
通信バスBでは、第1導線W1及び第2導線W2間の電圧差がローレベル電圧又はハイレベル電圧に切替えられる。ハイレベル電圧からローレベル電圧への切替え回数と、ローレベル電圧からハイレベル電圧への切替え回数との和を、通信バスBの電圧の切替え回数と記載する。通信バスBの電圧が切替わった場合、通信バスBから外乱ノイズが発生する。外乱ノイズは、通信バスBとは異なる導線を介して出力される信号に干渉するノイズである。外乱ノイズが大きい場合、通信バスBとは異なる導線を介して出力される信号、例えば、動作信号が誤って読み取られる可能性がある。
【0137】
実施形態1における通信システム1では、1つの第2ECU12において故障が発生した場合、待機期間を変更しないので、ビーコン信号の送信間隔が低下する。結果、単位時間当たりに送信されるデータのデータ量は、故障が発生する前のデータ量と殆ど同じである。しかしながら、ビーコン信号の送信間隔が低下するため、通信バスBでは、単位時間当たりの切替え回数が増加する。このため、外乱ノイズの強度は上昇する。
【0138】
一方で、実施形態2における通信システム1では、1つの第2ECU12において故障が発生した場合、待機期間が延長されるので、単位時間当たりに送信されるデータのデータ量は、故障が発生する前のデータ量から低下する。しかしながら、ビーコン信号の送信間隔は変化しないため、通信バスBでは、単位時間当たりの切替え回数は殆ど変化しない。結果、外乱ノイズの強度も殆ど変化しない。
【0139】
図20は、実施形態1,2における通信システム1の他の特徴の説明図である。図20には、第2ECU12において故障が発生する前において、通信バスBを介して伝播する信号(データ)のスペクトルが示されている。横軸及び縦軸それぞれには、周波数及び強度が示されている。図20に示すように、複数のスペクトルが励起し、励起するスペクトルの周波数間隔は、ビーコン信号の送信間隔の逆数で表される。
【0140】
実施形態1における通信システム1では、第2ECU12において故障が発生した場合、前述したように、ビーコン信号の送信間隔が低下する。このため、スペクトルの周波数間隔は上昇する。これにより、励起するスペクトルの数が低下するので、各スペクトルの強度が上昇する。結果、外乱ノイズとして作用するスペクトルの強度が上昇する。
【0141】
一方で、実施形態2における通信システム1では、第2ECU12において故障が発生した場合であっても、前述したように、ビーコン信号の送信間隔は変化しない。このため、第2ECU12において故障が発生した場合であっても、通信バスBを介して伝播する信号(データ)のスペクトルは変化しない。結果、外乱ノイズとして作用するスペクトルの強度は変化しない。
【0142】
(実施形態3)
実施形態2では、故障した第2ECU12の数に無関係にビーコン信号の送信間隔を維持する。しかしながら、故障した第2ECU12の数に無関係にビーコン信号の送信間隔を維持する必要はない。
以下では、実施形態3について、実施形態2と異なる点を説明する。後述する構成を除く他の構成については、実施形態2と共通しているため、実施形態2と共通する構成部には実施形態2と同一の参照符号を付してその説明を省略する。
【0143】
<データフレームの送信方法>
図21は、実施形態3におけるデータフレームの送信方法の説明図である。図21には、Nが5である例が示されている。実施形態3における通信システム1では、ビーコン信号の送信間隔は所定間隔以上である場合、外乱ノイズの強度が小さいので、通信バスBとは異なる導線を介して出力される信号が誤って読み取られる可能性は低い。更に、所定間隔は、第2ECU12において故障が発生する前のビーコン信号の送信間隔よりも短い。
【0144】
正常な第2ECU12の数がP以上である場合、ビーコン信号の送信間隔は所定間隔以上である。従って、実施形態3における通信システム1では、正常な第2ECU12の数がP以上である場合、実施形態1と同様にビーコン信号の送信間隔を低下させる。正常な第2ECU12の数がP未満である場合、実施形態2と同様にビーコン信号の送信間隔を維持させる。これにより、単位時間当たりに送信されるデータのデータ量の低下を抑制しつつ、ビーコン信号の送信間隔を所定間隔以上の値に維持する。図21では、Pが2である例が示されている。Pは(N-1)未満である。
【0145】
<待機期間テーブルの内容>
図22は、待機期間テーブルの内容を示す図表である。実施形態2,3を比較した場合、待機期間テーブルの内容が異なる。実施形態2の説明で述べたように、装置数データが示す装置数は、第1ECU11及び(N-1)個の第2ECU12中の正常なECUの数である。図22では、N及びPそれぞれが8及び4である例が示されている。図22に示すように、装置数が(P+1)以上である場合、待機期間は共通の値である。従って、第2ECU12において故障が発生した場合において、正常な第2ECU12の数が(P+1)以上であるとき、待機期間は変更されず、ビーコン信号を送信間隔は低下する。
【0146】
装置数がP以下である場合においては、正常な第2ECU12の数が小さい程、待機期間は長い。従って、第2ECU12において故障が発生した場合において、正常な第2ECU12の数が(P-1)以下であるとき、待機期間は延長される。
【0147】
<通信システム1の効果>
実施形態3における通信システム1では、単位時間当たりに送信されるデータのデータ量の低下を抑制しつつ、ビーコン信号の送信間隔を所定間隔以上の値に維持する。
実施形態3における通信システム1は、実施形態1,2における通信システム1が奏する効果を同様に奏する。
【0148】
<実施形態2,3の変形例>
実施形態2,3における通信システム1において、ビーコン信号の送信間隔の維持を実現する方法は、待機期間を延長する方法に限定されない。待機期間を延長する代わりに、例えば、データフレームのデータ量を上昇させることによって、ビーコン信号の送信間隔を維持してもよい。データフレームのデータ量の上昇は、例えば、メインデータのデータ量を上昇させることによって実現される。
【0149】
(実施形態4)
実施形態1では、第1ECU11及び(N-1)個の第2ECU12がダミーフレームを送信する。しかしながら、第1ECU11及び(N-1)個の第2ECU12の中にダミーフレームを送信しないECUが含まれてもよい。
以下では、実施形態4について、実施形態1と異なる点を説明する。後述する構成を除く他の構成については、実施形態1と共通しているため、実施形態1と共通する構成部には実施形態1と同一の参照符号を付してその説明を省略する。
【0150】
<データフレームの送信方法>
図23は、実施形態4におけるデータフレームの送信方法の説明図である。図23には、Nが5である例が示されている。実施形態3と同様に、ビーコン信号の送信間隔が所定間隔以上である場合、外乱ノイズの強度が小さいので、通信バスBとは異なる導線を介して出力される信号が誤って読み取られる可能性は低い。実施形態4における通信システム1では、U個のECUがデータフレームを送信した場合、ビーコン信号の送信間隔は所定間隔以上である。Uは、自然数であり、N未満である。図23では、Uが3である例が示されている。
【0151】
実施形態4における通信システム1では、第1ECU11及び(N-1)個の第2ECU12の中で、(N-U)個のECUそれぞれは、ダミーフレームを送信しない。U個のECU中の1つにおいて故障が発生した場合、(N-U)個のECU中の1つがダミーフレームの送信を開始する。これにより、ビーコン信号の送信間隔を所定間隔以上の値に維持する。
【0152】
<データフレームを送信する手順>
第1ECU11がダミーフレームを送信する構成では、第1ECU11のIC制御部31は、実施形態1と同様に送信処理を実行する。
第1ECU11がダミーフレームを送信しない構成では、第1ECU11のIC制御部31は、送信処理において、ダミーフレームを送信する第1ECU11のIC制御部31が実行する送信処理のステップS21~S26を同様に実行する。IC制御部31は、送信フレームがIC記憶部33に記憶されていないと判定した場合(S24:NO)、ステップS27を実行することなく、送信処理を終了する。
【0153】
第2ECU12がダミーフレームを送信する構成では、第2ECU12のIC制御部31は、実施形態1と同様に送信処理を実行する。
第2ECU12がダミーフレームを送信しない構成では、第2ECU12のIC制御部31は、送信処理において、ダミーフレームを送信する第2ECU12のIC制御部31が実行する送信処理のステップS31~S36を同様に実行する。IC制御部31は、送信フレームがIC記憶部33に記憶されていないと判定した場合(S34:NO)、ステップS37を実行することなく、送信処理を終了する。
【0154】
実施形態4における通信システム1では、U個のECUそれぞれは、送信フレームがIC記憶部33内に存在しない場合、ダミーフレームを送信する。(N-U)個のECUそれぞれは、送信フレームがIC記憶部33内に存在しない場合、ダミーフレームを送信しない。
【0155】
第1ECU11がU個のECUに含まれている場合、第1ECU11のIC制御部31は、実施形態1と同様に送信処理を実行する。第1ECU11が(N-U)個のECUに含まれている場合、第1ECU11のIC制御部31は、ステップS27が省略された送信処理を実行する。この場合、第1ECU11は非送信装置として機能する。
【0156】
第2ECU12がU個のECUに含まれている場合、U個のECUに含まれている第2ECU12のIC制御部31は、実施形態1と同様に送信処理を実行する。第2ECU12が(N-U)個のECUに含まれている場合、(N-U)個のECUに含まれている第2ECU12のIC制御部31は、ステップS37が省略された送信処理を実行する。(N-U)個のECUが含まれる第2ECU12は非送信装置として機能する。
【0157】
<故障検知処理>
図24は故障検知処理の手順を示すフローチャートである。実施形態1と同様に、第1ECU11のIC制御部31が故障検知処理を実行する。図24では、第1ECU11お及び(N-1)個の第2ECU12の中で、1番目からU番目までのECUがダミーフレームを送信する例が示されている。実施形態4における第1ECU11のIC制御部31は、実施形態1と同様に、ステップS41~S48,S50,S51を実行する。このため、ステップS41~S48,S50,S51の説明を省略する。
【0158】
第1ECU11のIC制御部31は、ステップS48を実行した後、整数Kの値がUであるか否かを判定する(ステップS81)。IC制御部31は、整数Kの値がUではないと判定した場合(S81:NO)、ステップS42を実行する。IC制御部31は、整数Kの値がUであると判定した場合(S81:YES)、ステップS50を実行する。
以上のように、第1ECU11のIC制御部31は、(U-1)個の第2ECU12それぞれにおける故障の発生を検知する。
【0159】
<順番テーブルの更新>
ダミーフレームを送信する第1ECU11及び第2ECU12それぞれのIC制御部31は、実施形態1と同様に更新処理を実行する。
【0160】
図25は、ダミーフレームを送信しない第2ECU12の更新処理の手順を示すフローチャートである。ダミーフレームを送信しない第2ECU12のIC制御部31は、更新処理において、ダミーフレームを送信する第2ECU12のIC制御部31が実行する更新処理のステップS61~S63を同様に実行する。このため、ステップS61~S63の説明を省略する。
【0161】
ダミーフレームを送信しない第2ECU12のIC制御部31は、ステップS63を実行した後、送信処理を、ダミーフレームを送信する送信処理に変更するか否かを判定する(ステップS91)。例えば、(U+1)番目の第2ECU12のIC制御部31は、故障した第2ECU12の数が1となった場合に送信処理を変更すると判定する。(U+2)番目の第2ECU12のIC制御部31は、故障した第2ECU12の数が2となった場合、送信処理を変更すると判定する。
【0162】
IC制御部31は、送信処理を変更すると判定した場合(S91:YES)、送信処理を、ダミーフレームを送信する送信処理に変更する(ステップS92)。IC制御部31は、送信処理を変更しないと判定した場合(S91:NO)、又は、ステップS92を実行した後、更新処理を終了する。IC制御部31は、更新処理を終了した後、更新処理を再び実行する。
【0163】
実施形態1の説明で述べたように、第1ECU11では、IC制御部31は、対象通信装置がデータフレームを送信していないと所定回数、連続して判定した場合、IC記憶部33に記憶されている故障データを更新する。更に、第1ECU11のIC制御部31は、ビット通信器35に指示して、故障データを含む送信フレームを(N-1)個の第2ECU12に送信させる。これにより、ダミーフレームを送信しない第2ECU12のIC制御部31は、更新処理を実行し、送信処理を変更する。以上のように、IC制御部31は、対象通信装置がデータフレームを送信していないと所定回数、連続して判定した場合、ダミーフレームを送信しない第2ECU12にダミーフレームの送信を開始させる。
【0164】
<通信システム1の効果>
実施形態4における通信システム1では、対象通信装置の故障が検知された場合、ダミーフレームを送信しない第2ECU12がダミーフレームの送信を開始する。このため、ビーコン信号の送信間隔の低下を防止することができる。
実施形態4における通信システム1は、実施形態1における通信システム1が奏する効果を同様に奏する。
【0165】
<実施形態4の変形例>
実施形態4において、1番目からU番目のECUに、ダミーフレームを送信しないECUが含まれてもよい。この場合、残りのECUにダミーフレームを送信するECUが含まれる。第1ECU11のIC制御部31は、ダミーフレームを送信する(U-1)個の第2ECU12それぞれについて、故障が発生しているか否かを順番に判定する。また、第1ECU11がダミーフレームを送信しないECUであってもよい。この場合、第1ECU11は、ダミーフレームを送信しない第2ECU12の更新処理と同様の更新処理を実行する。
【0166】
<実施形態1~4の変形例>
実施形態1~4において、ダミーフレームは、送信先が送信元と一致するデータフレームであってもよい。この場合、第1ECU11及び(N-1)個の第2ECU12それぞれのIC制御部31は、ビット通信器35がデータフレームを受信した場合において、受信したデータフレームの送信先及び送信元が同じであるとき、受信したデータフレームを破棄する。また、データフレームの送信先が1つに限定される場合、故障データを含む送信フレームの1回の送信によって正常な第2ECU12に故障を通知することができない。この場合、第1ECU11は、送信先が相互に異なる複数の送信フレームを送信することによって、故障の通知を実現する。
【0167】
更に、第1ECU11のIC制御部31は、対象通信装置がデータフレームを送信しなかったと所定回数、判定した場合、データフレームが送信される順序を対象通信装置が除かれた順序に変更してもよい。この場合、K番目の第2ECU12の判定回数は、K番目の第2ECU12について、データフレームが送信しなかった合計の回数である。また、所定回数は1であってもよい。この場合、故障検知処理のステップS44,S45,S47は省略される。第1ECU11のIC制御部31は、故障検知処理において、K番目の第2ECU12がデータフレームを送信しなかったと判定した場合(S43:NO)、ステップS46を実行する。IC制御部31は、K番目の第2ECU12がデータフレームを送信したと判定した場合(S43:YES)、ステップS48を実行する。
【0168】
故障を検知するECUは、第1ECU11に限定されず、第2ECU12が行ってもよい。この場合、第1ECU11は第2の通信装置として機能する。故障データを含む送信フレームの送信先は正常なECUである。故障を検知する第2ECU12は、順序を変更する通信装置として機能する。故障を検知するECUの数は1に限定されない。第1ECU11及び(N-1)個の第2ECU12それぞれが、ダミーフレームを送信する第2ECU12の故障を検知してもよい。この場合、故障データを含むデータフレームの送信は不要である。第1ECU11及び(N-1)個の第2ECU12それぞれのIC制御部31は、第2ECU12の故障を検知した場合において、故障した第2ECU12の順番が自装置の順番よりも前であるとき、自装置の順番を1つ前に変更する。
【0169】
第1ECU11及び第2ECU12それぞれにおいて、IC制御部31ではなく、装置制御部25が送信処理を実行してもよい。また、第1ECU11及び第2ECU12それぞれにおいて、装置制御部25及びIC制御部31が協同して送信処理を実行してもよい。また、通信バスBに接続される装置はECUに限定されない。通信バスBに接続される装置は、通信バスBを介してデータを送信する通信装置であれば、問題はない。
【0170】
データフレームの送信が終了するタイミングを把握する方法は、データ長に基づく方法に限定されない。データフレームの最後に、送信の終了を示すEOFフィールドが設けられている場合、EOFフィールドの送信が終了したタイミングがデータフレームの送信が終了するタイミングである。EOFはEnd Of Frameの略語である。EOFフィールドの波形は予め決定されている。
【0171】
開示された実施形態1~4はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0172】
以上の説明は、以下に付記する特徴を含む。
[付記1]
通信システム1では、ビーコン信号が送信された場合、第1ECU11及び複数の第2ECU12は、予め定められている順序に従って、通信バスBを介してデータフレームを送信する。通信バスBを介して、送信先が第1ECU11及び複数の第2ECU12とは異なるダミーフレームが送信される。第1ECU11は、第2ECU12がデータフレームを送信するタイミングで、第2ECU12がデータフレームを送信したか否かを判定する。第1ECU11は、第2ECU12がデータフレームを送信しなかったと判定した場合、送信の順序を変更する。
【符号の説明】
【0173】
1 通信システム
11 第1ECU(通信装置、第2の通信装置、非送信装置)
12 第2ECU(通信装置、第2の通信装置、対象通信装置、非送信装置)
21 通信IC
22 入力部
23 出力部
24 装置記憶部
25 装置制御部
26 装置バス
31 IC制御部(処理部)
32 インタフェース
33 IC記憶部
34 クロック部
35 ビット通信器(データ送信部、信号送信部)
36 ICバス
41a,41b,42 抵抗
43,44a,44b キャパシタ
45 コモンモードチョークコイル
45a 第1インダクタ
45b 第2インダクタ
46 変換部
A 記憶媒体
B 通信バス
G1 第1導体
G2 第2導体
M 車両
P コンピュータプログラム
W1 第1導線
W2 第2導線
Wa,Wb 機器導線
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25