(57)【要約】【課題】データの送信に係る所要時間が短い通信装置、送信方法及びコンピュータプログラムを提供する。【解決手段】中継装置３０では、制御部４５は、第１通信バス１２を介した複数のデータの同時送信を検知する。制御部４５が所定時間内に同時送信を検知した回数が所定回数未満である場合、ＣＡＮ通信部４０ａは、第１通信バス１２を介したデータの送信を開始する。制御部４５が所定時間内に同時送信を検知した回数が所定回数以上である場合、イーサネット通信部４１ａは、第１通信線１３を介してデータを送信する。【選択図】図３
2020039034.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置に接続される通信バスを介した複数のデータの同時送信を検知する検知部と、
所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を開始する第１送信部と、
前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の１つにデータを送信する第２送信部と
を備える通信装置。
【請求項２】
前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の１つを除く他のデータの送信元の装置は、データの送信を停止する
請求項１に記載の通信装置。
【請求項３】
前記第２送信部は、前記第１送信部が前記通信バスを介したデータの送信を停止した場合、前記通信線を介して、前記第１送信部が送信を停止したデータを送信する
請求項１又は請求項２に記載の通信装置。
【請求項４】
前記第２送信部は、共通のデータについて、前記第１送信部が前記通信バスを介した送信を停止した回数が第２の所定回数以上となった場合、前記通信線を介して、前記第１送信部が送信を停止した共通のデータを送信し、
前記第２の所定回数は２以上である
請求項３に記載の通信装置。
【請求項５】
前記通信バスを介した通信で用いられるプロトコルは、前記通信線を介した通信で用いられるプロトコルと異なる
請求項１から請求項４のいずれか１つに記載の通信装置。
【請求項６】
前記第２送信部の数は、前記第１送信部から前記通信バスを介してデータを受信する装置の数よりも少ない
請求項１から請求項５のいずれか１つに記載の通信装置。
【請求項７】
前記通信バスに接続される前記複数の装置とは異なる第２の装置からデータを受信する受信部を備え、
前記第１送信部及び第２送信部は、前記受信部が受信したデータを送信する
請求項１から請求項６のいずれか１つに記載の通信装置。
【請求項８】
複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、
所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介してデータを送信するステップと、
前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の１つにデータを送信するステップと
を含む送信方法。
【請求項９】
コンピュータに、
複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、
所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を指示するステップと、
前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介した前記複数の装置中の１つへのデータの送信を指示するステップと
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置、送信方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
車両には、複数の通信装置が通信バスを介してデータを相互に送信する通信システム（例えば、特許文献１を参照）が搭載されている。特許文献１に記載の通信システムでは、通信バスを介した通信は、例えば、ＣＡＮ(Controller Area Network)のプロトコルに従って行われる。
【０００３】
ＣＡＮのプロトコルに従った通信では、複数の通信装置夫々は、送信先の装置に通知すべき内容を示すメインデータを含むデータフレームを送信することによって、メインデータを送信する。データフレームには、送信に係る優先度を示すサブデータが更に含まれる。通信バスを介して複数のデータフレームの同時送信が開始された場合、複数のデータフレームの中で優先度が最も高いデータフレームの送信は継続され、他のデータフレームの送信は停止する。優先度が低いデータフレームの送信は、優先度が高いデータフレームの送信が完了した後に再び開始される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１４４３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の通信システムでは、通信バスの通信負荷、即ち、通信バスを介してデータフレームが送信されている送信時間が単位時間当たりに占める割合が大きい場合、優先度が低いデータフレームのメインデータの送信に係る所要時間は長い。従って、通信負荷が大きい場合、優先度が低いデータフレームのメインデータに基づく処理が適切なタイミングで実行されない可能性がある。
【０００６】
例えば、通信負荷が大きい状況で車両の窓の開放を指示するメインデータを含むデータフレームが送信されたと仮定する。ここで、このデータフレームの優先度が低い場合、データフレームが停滞し、窓の開放にかかる時間が長く、乗員に不快感を与える可能性がある。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、データの送信に係る所要時間が短い通信装置、送信方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る通信装置は、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知する検知部と、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を開始する第１送信部と、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の１つにデータを送信する第２送信部とを備える。
【０００９】
本発明の一態様に係る送信方法は、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介してデータを送信するステップと、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の１つにデータを送信するステップとを含む。
【００１０】
本発明の一態様に係るコンピュータプログラムは、コンピュータに、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を指示するステップと、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介した前記複数の装置中の１つへのデータの送信を指示するステップとを実行させる。
【００１１】
なお、本発明を、このような特徴的な処理部を備える通信装置として実現することができるだけでなく、かかる特徴的な処理をステップとする送信方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。また、本発明を、通信装置の一部又は全部を実現する半導体集積回路として実現したり、通信装置を含む通信システムとして実現したりすることができる。
【発明の効果】
【００１２】
上記の態様によれば、データの送信に係る所要時間が短い。
【図面の簡単な説明】
【００１３】
【図１】実施形態１における通信システムの要部構成を示すブロック図である。
【図２】ＣＡＮ用のデータフレームの説明図である。
【図３】中継装置の要部構成を示すブロック図である。
【図４】第１中継データ記憶処理の手順を示すフローチャートである。
【図５】第１中継データ送信処理の手順を示すフローチャートである。
【図６】第１中継データ送信処理の手順を示すフローチャートである。
【図７】衝突検知回数の説明図である。
【図８】高機能ＥＣＵの要部構成を示すブロック図である。
【図９】制御データ記憶処理の手順を示すフローチャートである。
【図１０】送信データ記憶処理の手順を示すフローチャートである。
【図１１】送信データ送信処理の手順を示すフローチャートである。
【図１２】送信データ送信処理の手順を示すフローチャートである。
【図１３】実施形態２におけるＣＡＮ用のデータフレームの説明図である。
【図１４】第１中継データ記憶処理の手順を示すフローチャートである。
【図１５】第１中継データ送信処理の手順を示すフローチャートである。
【図１６】第１中継データ送信処理の手順を示すフローチャートである。
【図１７】制御データ記憶処理の手順を示すフローチャートである。
【図１８】送信データ記憶処理の手順を示すフローチャートである。
【図１９】送信データ送信処理の手順を示すフローチャートである。
【図２０】送信データ送信処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
［本発明の実施形態の説明］
最初に本発明の実施態様を列挙して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１５】
（１）本発明の一態様に係る通信装置は、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知する検知部と、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を開始する第１送信部と、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の１つにデータを送信する第２送信部とを備える。
【００１６】
（２）本発明の一態様に係る通信装置では、前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の１つを除く他のデータの送信元の装置は、データの送信を停止する。
【００１７】
（３）本発明の一態様に係る通信装置では、前記第２送信部は、前記第１送信部が前記通信バスを介したデータの送信を停止した場合、前記通信線を介して、前記第１送信部が送信を停止したデータを送信する。
【００１８】
（４）本発明の一態様に係る通信装置では、前記第２送信部は、共通のデータについて、前記第１送信部が前記通信バスを介した送信を停止した回数が第２の所定回数以上となった場合、前記通信線を介して、前記第１送信部が送信を停止した共通のデータを送信し、前記第２の所定回数は２以上である。
【００１９】
（５）本発明の一態様に係る通信装置では、前記通信バスを介した通信で用いられるプロトコルは、前記通信線を介した通信で用いられるプロトコルと異なる。
【００２０】
（６）本発明の一態様に係る通信装置では、前記第２送信部の数は、前記第１送信部から前記通信バスを介してデータを受信する装置の数よりも少ない。
【００２１】
（７）本発明の一態様に係る通信装置は、前記通信バスに接続される前記複数の装置とは異なる第２の装置からデータを受信する受信部を備え、前記第１送信部及び第２送信部は、前記受信部が受信したデータを送信する。
【００２２】
（８）本発明の一態様に係る送信方法は、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介してデータを送信するステップと、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の１つにデータを送信するステップとを含む。
【００２３】
（９）本発明の一態様に係るコンピュータプログラムは、コンピュータに、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を指示するステップと、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介した前記複数の装置中の１つへのデータの送信を指示するステップとを実行させる。
【００２４】
上記の一態様に係る通信装置、送信方法及びコンピュータプログラムにあっては、所定時間内に通信バスを介して同時送信が行われた回数が多い場合、通信バスの通信負荷が大きいので、通信線を介してデータを送信する。このため、データが長期間停滞することなく、データの送信に係る所有時間が短い。
【００２５】
上記の一態様に係る通信装置にあっては、通信バスを介した複数のデータの同時送信が開始された場合、同時に送信されている複数のデータ中の１つを除く他のデータの送信元の装置は送信を停止する。複数のデータ中の１つの送信元の装置は送信を継続する。これにより、通信バスを介して適切な通信が行われる。
【００２６】
上記の一態様に係る通信装置にあっては、所定時間内に同時送信を検知した回数が所定回数未満である場合、通信バスを介したデータの送信を開始する。例えば、通信バスを介してデータの送信を開始した場合において、同時送信が開始されたとき、通信バスを介したデータの送信を停止する可能性がある。通信バスを介したデータの送信を停止した場合、送信を停止したデータを、通信線を介して送信する。従って、データの送信に係る所要時間が更に短い。
【００２７】
上記の一態様に係る通信装置にあっては、共通のデータについて、通信バスを介した送信を停止した回数が第２の所定回数となった場合、送信を停止した共通のデータを、通信線を介して送信する。従って、通信バスを介してデータが送信される頻度が適当な値に調整される。
【００２８】
上記の一態様に係る通信装置にあっては、通信バスを介した通信では例えばＣＡＮのプロトコルが用いられる。一方で、通信線を介した通信では、例えば、イーサネット（登録商標）のプロトコルが用いられる。
【００２９】
上記の一態様に係る通信装置にあっては、通信バス及び通信線に接続される高機能な装置の数が少ない。このため、製造費用が安価である。
【００３０】
上記の一態様に係る通信装置にあっては、第２の装置から受信したデータを、通信バスに接続される装置に送信する。
【００３１】
［本発明の実施形態の詳細］
本発明の実施形態に係る通信システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００３２】
図１は、実施形態１における通信システムＮの要部構成を示すブロック図である。通信システムＮは車両１００に好適に搭載されている。通信システムＮは、４つの高機能ＥＣＵ(Electronic Control Unit)１０，２０、６つの低機能ＥＣＵ１１，２１、第１通信バス１２、２つの第１通信線１３、第２通信バス２２、２つの第２通信線２３及び中継装置３０を備える。
【００３３】
２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１は第１通信バス１２に接続されている。２つの高機能ＥＣＵ２０及び３つの低機能ＥＣＵ２１は第２通信バス２２に接続されている。第１通信バス１２及び第２通信バス２２は、更に、中継装置３０に接続されている。２つの高機能ＥＣＵ１０夫々は、更に、第１通信線１３に接続されている。２つの高機能ＥＣＵ２０夫々は、更に、第２通信線２３に接続されている。中継装置３０は、２つの第１通信線１３及び２つの第２通信線２３に接続されている。
【００３４】
高機能ＥＣＵ１０，２０及び低機能ＥＣＵ１１，２１夫々は、車両１００に搭載された電気機器に関する制御を行う。高機能ＥＣＵ１０，２０及び低機能ＥＣＵ１１，２１は、通信装置として機能し、相互に通信する。これにより、４つの高機能ＥＣＵ１０，２０及び６つの低機能ＥＣＵ１１，２１中の少なくとも２つは協調動作を行う。
【００３５】
例えば、車両１００のドアのドアノブを人物が接触した場合、低機能ＥＣＵ１１に、ドアの解錠を指示するデータが入力される。低機能ＥＣＵ１１は、高機能ＥＣＵ２０にこのデータを送信する。高機能ＥＣＵ２０は、ドアの解錠を指示するデータを受信した場合、ドアを解錠するドアモータを駆動する駆動機に、受信したデータを出力する。これにより、ドアが解錠される。
【００３６】
中継装置３０は、２つの高機能ＥＣＵ２０及び３つの低機能ＥＣＵ２１中の１つから受信したデータを、２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の少なくとも１つに送信する。同様に、中継装置３０は、２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の１つから受信したデータを、２つの高機能ＥＣＵ２０及び３つの低機能ＥＣＵ２１中の少なくとも１つに送信する。中継装置３０も通信装置として機能する。
【００３７】
通信システムＮでは、送信先である装置に通知すべき内容を示すメインデータを含むデータフレームを送信することによって、メインデータを送信する。メインデータは、例えば、ドアの解錠を指示するデータである。データフレームには、メインデータの他に種々のサブデータが含まれる。サブデータは、メインデータを識別するための識別データ、送信元の装置を示す送信元データ、又は、送信先の装置を示す送信先データ等である。データフレームは、「１」又は「０」を示す複数のビットデータによって構成される。
【００３８】
２つの高機能ＥＣＵ１０、３つの低機能ＥＣＵ１１及び中継装置３０は、第１通信バス１２を介して相互に通信する。第１通信バス１２に接続されている装置中の１つが送信したデータフレームは、第１通信バス１２に接続されている全ての装置によって受信される。２つの高機能ＥＣＵ１０、３つの低機能ＥＣＵ１１及び中継装置３０夫々は、他の装置が送信したデータフレームだけではなく、自装置が送信したデータフレームも受信する。
【００３９】
第１通信バス１２を介した通信では、ＣＡＮのプロトコルが用いられる。第１通信バス１２は、ツイストペアケーブルであり、撚り合された２つの導線を含む。２つの導線間の電圧差を、ゼロＶを超える所定電圧に調整することによってドミナントを送信する。２つの導線間の電圧差をゼロＶに調整することによってレセッシブを送信する。第１通信バス１２を介してドミナント及びレセッシブが同時に出力された場合、第１通信バス１２に含まれる２つの導線間の電位差は所定電圧であり、第１通信バス１２はドミナントを示す。
【００４０】
ドミナントは、ビットデータの「１」又は「０」に対応する。ドミナントが「１」に対応する場合、レセッシブは「０」に対応する。ドミナントが「０」に対応する場合、レセッシブは「１」に対応する。
以下では、ドミナント及びレセッシブ夫々は、「１」及び「０」を示すと仮定する。従って、「１」を示すビットデータと、「０」を示すビットデータとが同時に送信された場合、「１」を示すビットデータが受信される。
【００４１】
図２は、ＣＡＮ用のデータフレームの説明図である。ＣＡＮ用のデータフレームでは、ＳＯＦ(Start Of Frame)フィールド、ＩＤ(Identification Data)フィールド、データフィールド、衝突通知フィールド及びＥＯＦ(End Of Frame)フィールド等が設けられている。データフィールドにメインデータが含まれる。データフィールドとは異なるフィールドにサブデータが含まれる。
【００４２】
ＳＯＦフィールド及びＥＯＦフィールド夫々に含まれるサブデータは、データフレームの開始及び終了を示す。ＳＯＦフィールド及びＥＯＦフィールドを構成する一又は複数のビットデータの値は、ＣＡＮ用の全てのデータフレームで共通である。ＩＤフィールドに含まれるサブデータは、データフィールドに含まれるメインデータを識別するための識別データであり、複数のビットデータで構成される。
【００４３】
第１通信バス１２を介して複数のデータフレームの同時送信が開始された場合、複数のデータフレームのＩＤフィールドに含まれるサブデータに基づいて調停が行われる。これにより、同時に送信された複数のデータフレーム中の１つを除く他のデータフレームの送信元である装置は、データフレームの送信を停止する。
【００４４】
なお、複数のデータフレームの同時送信は、複数のデータフレームが同時に送信されることを意味する。また、同時送信の「同時」は、複数のデータフレームが送信される複数の時点が完全に一致している状態だけではなく、１つのビットデータの期間中に複数のデータフレームの送信が開始された状態も示す。同時送信が行われることを衝突と呼ぶ。
【００４５】
第１通信バス１２に接続される装置は、第１通信バス１２を介してデータフレームを送信する場合、送信したビットデータの値を、受信したビットデータの値と照合する。前述したように、「１」（ドミナント）を示すビットデータと、「０」（レセッシブ）を示すビットデータとが同時に送信された場合、「１」を示すビットデータが受信される。従って、第１通信バス１２に接続される装置は、「０」を示すビットデータを送信したにも関わらず、「１」を示すビットデータを受信した場合、複数のデータフレームの衝突を検出する。「１」を示すビットデータを送信した装置は、衝突を検出することはない。
【００４６】
衝突を検出した装置は、第１通信バス１２を介したデータフレームの送信を停止する。従って、第１通信バス１２を介して、複数のデータフレームの同時送信が開始された場合、即ち、衝突が発生した場合、同時に送信された複数のデータフレーム中の１つを除く他のデータフレームの送信元である装置は、データフレームの送信を停止する。同時に送信された複数のデータフレーム中の１つの送信元である装置は送信を継続する。これにより、第１通信バス１２を介して適切な通信が行われる。
【００４７】
前述した調停は、ＩＤフィールドに含まれる複数のビットデータが送信されている間に実行される。前述したように、「１」を示すビットデータと、「０」を示すビットデータとが同時に送信された場合、「１」を示すビットデータが受信される。従って、ＩＤフィールドに含まれる識別データを２進数の数値とみなした場合、この数値が大きい程、データフレームの送信に係る優先度は大きい。同時に送信された複数のデータフレームの中で優先度が最も大きいデータフレームの送信元である装置が送信を継続し、他のデータフレームの送信元である装置は送信を停止する。
【００４８】
図２に示すＣＡＮ用のデータフレームの衝突通知フィールドは、１つのビットデータによって構成される。第１通信バス１２を介した複数のデータフレームの同時送信が開始された場合において、送信を継続した装置は、送信中のデータフレームの衝突通知フィールドでは、「０」（レセッシブ）を示すビットデータを送信する。送信を停止した装置は、他の装置が送信しているデータフレームの衝突通知フィールドで「１」（ドミナント）を示すビットデータを送信する。このとき、衝突通知フィールドのビットデータは「１」（ドミナント）を示す。これにより、第１通信バス１２に接続されている全ての装置に衝突の発生が通知され、これらの装置は衝突を検知する。
【００４９】
第１通信バス１２を介して送信されたデータフレームの数が１である場合、衝突通知フィールドのビットデータは「０」を示す。これにより、衝突が発生していないことが、第１通信バス１２に接続されている全ての装置に通知される。
【００５０】
高機能ＥＣＵ１０、低機能ＥＣＵ１１及び中継装置３０夫々は、第１通信バス１２を介してデータフレームを受信した場合、受信したデータフレームのＩＤフィールドに含まれる識別データに基づいて、受信したデータフレームのデータフィールドに含まれるメインデータを記憶するか否かを判定する。高機能ＥＣＵ１０、低機能ＥＣＵ１１及び中継装置３０夫々は、メインデータを記憶すると判定した場合、メインデータを記憶し、メインデータを記憶しないと判定した場合、受信したデータフレームを無視する。
【００５１】
２つの高機能ＥＣＵ２０、３つの低機能ＥＣＵ２１及び中継装置３０は、第２通信バス２２を介して相互に通信する。第２通信バス２２を介した通信は、第１通信バス１２を介した通信と同様である。従って、第２通信バス２２を介した通信では、ＣＡＮのプロトコルが用いられる。第２通信バス２２は、ツイストペアケーブルであり、撚り合された２つの導線を含む。
【００５２】
第２通信バス２２を介した通信でも、図２に示すＣＡＮ用のデータフレームが用いられる。第２通信バス２２を介した複数のデータフレームの同時送信が開始された場合、第１通信バス１２を介した通信と同様に調停が行われる。第２通信バス２２を介して、複数のデータフレームの同時送信が開始された場合、同時に送信された複数のデータフレーム中の１つを除く他のデータフレームの送信元である装置は、データフレームの送信を停止する。同時に送信された複数のデータフレーム中の１つの送信元である装置は送信を継続する。これにより、第２通信バス２２を介して適切な通信が行われる。ＩＤフィールドに含まれるサブデータは、第２通信バス２２を介したデータフレームの送信に係る優先度を示す。
【００５３】
第２通信バス２２を介した複数のデータフレームの同時送信が開始された場合、送信が継続されたデータフレームの衝突通知フィールドのビットデータが「１」（ドミナント）を示し、第２通信バス２２に接続されている全ての装置に衝突の発生が通知される。これらの装置は衝突を検知する。
【００５４】
高機能ＥＣＵ２０、低機能ＥＣＵ２１及び中継装置３０夫々は、第２通信バス２２を介してデータフレームを受信した場合、受信したデータフレームのＩＤフィールドに含まれる識別データに基づいて、受信したデータフレームのデータフィールドに含まれるメインデータを記憶するか否かを判定する。高機能ＥＣＵ２０、低機能ＥＣＵ２１及び中継装置３０夫々は、メインデータを記憶すると判定した場合、メインデータを記憶し、メインデータを記憶しないと判定した場合、受信したデータフレームを無視する。
【００５５】
中継装置３０は、第１通信線１３を介して高機能ＥＣＵ１０と通信し、第２通信線２３を介して高機能ＥＣＵ２０と通信する。第１通信線１３及び第２通信線２３夫々を介した通信では、イーサネット（登録商標）のプロトコルが用いられ、イーサネット用のデータフレームが送信される。イーサネット用のデータフレームには、メインデータの他に、データフレームの送信元の装置を示す送信元データ、及び、データフレームの送信先の装置を示す送信先データが含まれている。
【００５６】
第１通信バス１２を介した通信で用いるプロトコルは、第１通信線１３を介した通信で用いるプロトコルと異なる。同様に、第２通信バス２２を介した通信で用いるプロトコルは、第２通信線２３を介した通信で用いるプロトコルと異なる。
【００５７】
中継装置３０は、第１通信線１３を介して高機能ＥＣＵ１０にデータフレームを送信し、第２通信線２３を介して高機能ＥＣＵ２０にデータフレームを送信する。高機能ＥＣＵ１０，２０夫々は、第１通信線１３及び第２通信線２３を介してデータフレームを中継装置３０に送信する。
【００５８】
高機能ＥＣＵ１０及び中継装置３０夫々は、第１通信線１３を介してデータフレームを受信した場合、受信したデータフレームに含まれるメインデータを記憶する。高機能ＥＣＵ２０及び中継装置３０夫々は、第２通信線２３を介してデータフレームを受信した場合、受信したデータフレームに含まれるメインデータを記憶する。第１通信線１３及び第２通信線２３夫々を介した通信は、１対１の通信である。このため、第１通信線１３及び第２通信線２３夫々に接続される装置の数は２である。
【００５９】
中継装置３０は、自装置に記憶されているメインデータを送信することによって、メインデータの送信を中継する。高機能ＥＣＵ１０，２０及び低機能ＥＣＵ１１，２１夫々は、自装置に記憶されているメインデータに基づいて電気機器に関する制御を行う。
【００６０】
図３は中継装置３０の要部構成を示すブロック図である。中継装置３０は、２つのＣＡＮ通信部４０ａ，４０ｂ、４つのイーサネット通信部４１ａ，４１ｂ、一時記憶部４２、時計部４３、記憶部４４及び制御部４５を有する。これらは、中継装置３０内において、内部バス４６に接続されている。ＣＡＮ通信部４０ａは、更に、第１通信バス１２に接続されている。イーサネット通信部４１ａは、更に、第１通信線１３に接続されている。ＣＡＮ通信部４０ｂは、更に、第２通信バス２２に接続されている。イーサネット通信部４１ｂは、更に、第２通信線２３に接続されている。
【００６１】
ＣＡＮ通信部４０ａ，４０ｂ及びイーサネット通信部４１ａ，４１ｂは、インタフェースであり、制御部４５の指示に従って、データフレームを送信する。具体的には、これらは、データフレームを構成する複数のビットデータを順次送信する。
【００６２】
ＣＡＮ通信部４０ａは、更に、制御部４５の指示に従って、中継装置３０とは異なる装置が第１通信バス１２を介して送信しているデータフレームの衝突通知フィールドで「１」（ドミナント）を示すビットデータを送信する。ＣＡＮ通信部４０ｂは、更に、制御部４５の指示に従って、中継装置３０とは異なる装置が第２通信バス２２を介して送信しているデータフレームの衝突通知フィールドで「１」を示すビットデータを送信する。
【００６３】
ＣＡＮ通信部４０ａは、第１通信バス１２を介して送信された全てのデータフレームを受信する。イーサネット通信部４１ａは、自身に接続されている第１通信線１３を介して高機能ＥＣＵ１０から送信されたデータフレームを受信する。ＣＡＮ通信部４０ｂは、第２通信バス２２を介して送信された全てのデータフレームを受信する。イーサネット通信部４１ｂは、自身に接続されている第２通信線２３を介して高機能ＥＣＵ２０から送信されたデータフレームを受信する。制御部４５は、ＣＡＮ通信部４０ａ，４０ｂ及びイーサネット通信部４１ａ，４１ｂが受信したデータフレームをこれらから取得する。
【００６４】
制御部４５は、データを一時記憶部４２に記憶する。一時記憶部４２では、データが一時的に記憶される。一時記憶部４２に記憶されているデータは、制御部４５によって一時記憶部４２から読み出される。制御部４５は、送信を中継する中継データを一時記憶部４２に記憶する。また、制御部４５は、中継データに対応付けて、送信を停止した送信停止回数を示す送信停止回数データを一時記憶部４２に記憶する。送信停止回数データが示す回数は、自身に対応する中継データについて、ＣＡＮ通信部４０ａ，４０ｂ中の１つが送信を停止した回数を示す。
【００６５】
制御部４５は、更に、第１通信バス１２において衝突が発生した日時を示す第１衝突時刻データと、第２通信バス２２において衝突が発生した日時を示す第２衝突時刻データとを一時記憶部４２に記憶する。一時記憶部４２に記憶されているデータは、一時記憶部４２への電力供給が停止した場合に消去される。
【００６６】
制御部４５は、時計部４３から日時を示す日時データを取得する。制御部４５が取得した日時データは、この日時データを取得した時点の日時を示す。
【００６７】
記憶部４４は不揮発性メモリである。記憶部４４には、コンピュータプログラムＰ１が記憶されている。制御部４５は、一又は複数のＣＰＵ(Central Processing Unit)を有する。制御部４５が有する一又は複数のＣＰＵは、コンピュータプログラムＰ１を実行することによって、第１中継データ記憶処理、第２中継データ記憶処理、第１中継データ送信処理及び第２中継データ送信処理を並行して実行する。
【００６８】
第１中継データ記憶処理は、ＣＡＮ通信部４０ａ及びイーサネット通信部４１ａが受信したデータフレームに含まれるメインデータを、中継データとして一時記憶部４２に記憶する処理である。第２中継データ記憶処理は、ＣＡＮ通信部４０ｂ及びイーサネット通信部４１ｂが受信したデータフレームに含まれるメインデータを、中継データとして一時記憶部４２に記憶する処理である。
【００６９】
第１中継データ送信処理は、第１通信バス１２又は第１通信線１３を介してデータフレームを送信する処理である。第２中継データ送信処理は、第２通信バス２２又は第２通信線２３を介してデータフレームを送信する処理である。
【００７０】
コンピュータプログラムＰ１は、制御部４５が有する一又は複数のＣＰＵに、第１中継データ記憶処理、第２中継データ記憶処理、第１中継データ送信処理及び第２中継データ送信処理を実行させるために用いられる。
【００７１】
なお、コンピュータプログラムＰ１は、制御部４５が有する一又は複数のＣＰＵが読み取り可能に、記憶媒体Ａ１に記憶されていてもよい。この場合、図示しない読み出し装置によって記憶媒体Ａ１から読み出されたコンピュータプログラムＰ１が記憶部４４に記憶される。記憶媒体Ａ１は、光ディスク、フレキシブルディスク、磁気ディスク、磁気光ディスク又は半導体メモリ等である。光ディスクは、ＣＤ（Compact Disc）−ＲＯＭ(Read Only Memory)、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ、又は、ＢＤ（Blu-ray(登録商標) Disc）等である。磁気ディスクは、例えばハードディスクである。また、図示しない通信網に接続されている図示しない外部装置からコンピュータプログラムＰ１をダウンロードし、ダウンロードしたコンピュータプログラムＰ１を記憶部４４に記憶してもよい。
【００７２】
図４は、第１中継データ記憶処理の手順を示すフローチャートである。制御部４５は、第１中継データ記憶処理を周期的に実行する。制御部４５は、まず、２つのイーサネット通信部４１ａ中の１つが第１通信線１３を介してデータフレームを受信したか否かを判定する（ステップＳ１）。制御部４５は、第１通信線１３を介してデータフレームを受信したと判定した場合（Ｓ１：ＹＥＳ）、イーサネット通信部４１ａが受信したデータフレームに含まれるメインデータを、中継データとして一時記憶部４２に記憶する（ステップＳ２）。
【００７３】
制御部４５は、第１通信線１３を介してデータフレームを受信していないと判定した場合（Ｓ１：ＮＯ）、ＣＡＮ通信部４０ａが第１通信バス１２を介してデータフレームを受信したか否かを判定する（ステップＳ３）。制御部４５は、第１通信バス１２を介してデータフレームを受信していないと判定した場合（Ｓ３：ＮＯ）、第１中継データ記憶処理を終了する。
【００７４】
制御部４５は、第１通信バス１２を介してデータフレームを受信したと判定した場合（Ｓ３：ＹＥＳ）、ＣＡＮ通信部４０ａが受信したデータフレームの衝突通知フィールドに含まれるビットデータの値に基づいて、第１通信バス１２において衝突が発生したか否かを判定する（ステップＳ４）。前述したように、衝突が発生した場合、衝突通知フィールドのビットデータは「１」（ドミナント）を示す。衝突が発生していない場合、衝突通知フィールドのビットデータは「０」（レセッシブ）を示す。第１通信バス１２における衝突の発生は、第１通信バス１２を介して複数のデータフレームの同時送信が行われたことを意味する。
【００７５】
制御部４５は、ステップＳ４を実行することによって、第１通信バス１２における衝突、即ち、第１通信バス１２を介した複数のデータフレームの同時送信を検知する。具体的には、制御部４５は、衝突通知フィールドのビットデータが「１」（ドミナント）を示す場合に衝突を検知する。制御部４５は検知部として機能する。
【００７６】
ステップＳ４において制御部４５が検知する同時送信は、中継装置３０と、２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の少なくとも１つとが行った同時送信だけではない。ステップＳ４において、制御部４５は、２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の少なくとも２つが行った同時送信も検知する。前述したように、第１通信バス１２に接続されている装置の１つが送信したデータフレームは、第１通信バス１２に接続されている全ての装置によって受信される。このため、第１通信バス１２を介して行われた全ての同時送信を検知することができる。
【００７７】
制御部４５は、第１通信バス１２において衝突が発生したと判定した場合、即ち、第１通信バス１２を介した複数のデータフレームの同時送信を検知した場合（Ｓ４：ＹＥＳ）、時計部４３から日時データを取得する（ステップＳ５）。次に、制御部４５は、ステップＳ５で取得した日時データを第１衝突時刻データとして一時記憶部４２に記憶する（ステップＳ６）。
【００７８】
制御部４５は、第１通信バス１２において衝突が発生していないと判定した場合（Ｓ４：ＮＯ）、又は、ステップＳ６を実行した後、ＣＡＮ通信部４０ａが受信したデータフレームに含まれるメインデータについて送信の中継が必要であるか否かを判定する（ステップＳ７）。記憶部４４には、送信を中継する必要があるメインデータに対応する複数の識別データが記憶されている。
【００７９】
ステップＳ７において、制御部４５は、ＣＡＮ通信部４０ａが受信したデータフレームのＩＤフィールドに含まれている識別データが、記憶部４４に記憶されている複数の識別データ中の１つと一致した場合、中継が必要であると判定する。制御部４５は、ＣＡＮ通信部４０ａが受信したデータフレームのＩＤフィールドに含まれている識別データが、記憶部４４に記憶されている複数の識別データのいずれとも一致しなかった場合、中継が必要ではないと判定する。
【００８０】
制御部４５は、中継が必要ではないと判定した場合（Ｓ７：ＮＯ）、第１中継データ記憶処理を終了する。その後、制御部４５は、ＣＡＮ通信部４０ａが受信したデータフレームに係る処理を実行することはなく、このデータフレームを無視する。
【００８１】
制御部４５は、中継が必要であると判定した場合（Ｓ７：ＹＥＳ）、ＣＡＮ通信部４０ａが受信したデータフレームのデータフィールドに含まれているメインデータを、中継データとして一時記憶部４２に記憶する（ステップＳ８）。制御部４５は、ステップＳ２，Ｓ８の一方を実行した後、ステップＳ２，Ｓ８中の実行したステップで記憶した中継データに対応付けて送信停止回数データを記憶する（ステップＳ９）。ステップＳ９が実行された時点では、中継装置３０は、ステップＳ２又はステップＳ８で記憶された中継データの送信を開始していない。このため、ステップＳ９では、制御部４５は、送信停止回数としてゼロを示す送信停止回数データを一時記憶部４２に記憶する。
制御部４５は、ステップＳ９を実行した後、第１中継データ記憶処理を終了する。
【００８２】
以上のように、制御部４５は、第１通信バス１２又は第１通信線１３を介してデータフレームが受信されてない場合、第１中継データ記憶処理を繰り返し実行し、第１通信バス１２又は第１通信線１３を介してデータフレームが受信されるまで待機する。制御部４５は、イーサネット通信部４１ａが第１通信線１３を介してデータフレームを受信した場合、イーサネット通信部４１ａが受信したデータフレームに含まれているメインデータを中継データとして記憶する。制御部４５は、更に、この中継データに対応する送信停止回数データを一時記憶部４２に記憶する。
【００８３】
制御部４５は、ＣＡＮ通信部４０ａが第１通信バス１２を介してデータフレームを受信した場合において、ＣＡＮ通信部４０ａが受信したデータフレームに含まれているメインデータの送信を中継する必要があるとき、このメインデータを中継データとして一時記憶部４２に記憶する。更に、制御部４５は、この中継データに対応する送信停止回数データを記憶する。制御部４５は、第１通信バス１２を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す第１衝突時刻データを記憶する。
【００８４】
制御部４５は、第２中継データ記憶処理を周期的に実行する。第２中継データ記憶処理の内容は、第１中継データ記憶処理の内容と同様である。第１中継データ記憶処理の説明において、高機能ＥＣＵ１０、低機能ＥＣＵ１１、第１通信バス１２、第１通信線１３、ＣＡＮ通信部４０ａ、イーサネット通信部４１ａ及び第１衝突時刻データ夫々を、高機能ＥＣＵ２０、低機能ＥＣＵ２１、第２通信バス２２、第２通信線２３、ＣＡＮ通信部４０ｂ、イーサネット通信部４１ｂ及び第２衝突時刻データに置き換える。これにより、第２中継データ記憶処理を理解することができる。第２衝突時刻データは、第２通信バス２２における衝突を検知した日時を示す。
【００８５】
制御部４５は、第２通信バス２２又は第２通信線２３を介してデータフレームが受信されてない場合、第２中継データ記憶処理を繰り返し実行し、第２通信バス２２又は第２通信線２３を介してデータフレームが受信されるまで待機する。制御部４５は、イーサネット通信部４１ｂが第２通信線２３を介してデータフレームを受信した場合、イーサネット通信部４１ｂが受信したデータフレームに含まれているメインデータを中継データとして記憶する。制御部４５は、更に、この中継データに対応する送信停止回数データを一時記憶部４２に記憶する。
【００８６】
制御部４５は、ＣＡＮ通信部４０ｂが第２通信バス２２を介してデータフレームを受信した場合において、ＣＡＮ通信部４０ｂが受信したデータフレームに含まれているメインデータの送信を中継する必要があるとき、このメインデータを中継データとして一時記憶部４２に記憶する。更に、制御部４５は、この中継データに対応する送信停止回数データを記憶する。制御部４５は、第２通信バス２２を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す第２衝突時刻データを記憶する。
【００８７】
図５及び図６は、第１中継データ送信処理の手順を示すフローチャートである。制御部４５は、送信先の装置が２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の１つである中継データが一時記憶部４２に記憶されている場合に第１中継データ送信処理を実行する。ＣＡＮ用のデータフレームに含まれていた中継データの送信先の装置は、このデータフレームのＩＤフィールドに含まれている識別データに基づいて決まる。イーサネット用のデータフレームに含まれていた中継データの送信先の装置は、このデータフレームに含まれている送信先データが示す装置である。
【００８８】
第１中継データ送信処理では、制御部４５は、送信対象である中継データの送信先の装置が２つの高機能ＥＣＵ１０中の１つであるか否かを判定する（ステップＳ１１）。制御部４５は、送信先の装置が２つの高機能ＥＣＵ１０中の１つではないと判定した場合（Ｓ１１：ＮＯ）、送信対象である中継データがメインデータとしてデータフィールドに含まれたＣＡＮ用のデータフレームを生成する（ステップＳ１２）。
【００８９】
次に、制御部４５は、ステップＳ１２で生成したデータフレームの１つのビットデータの送信をＣＡＮ通信部４０ａに指示する（ステップＳ１３）。これにより、ＣＡＮ通信部４０ａは、第１通信バス１２を介してビットデータを送信する。第１中継データ送信処理では、制御部４５は、ステップＳ１３を繰り返し実行し、ＣＡＮ通信部４０ａは、ステップＳ１２で生成したデータフレームを構成する複数のビットデータを順次送信する。
【００９０】
即ち、第１中継データ送信処理において、第１回目のステップＳ１３では、制御部４５は、ＣＡＮ通信部４０ａに、データフレームの１番目のビットデータを送信させる。第２回目のステップＳ１３では、制御部４５はＣＡＮ通信部４０ａにデータフレームの２番目のビットデータを送信させる。このように、制御部４５は、ＣＡＮ通信部４０ａに、データフレームを構成する複数のビットデータを順次送信させる。図２に示すＣＡＮ用のデータフレームでは、左端のビットデータからビットデータが順次送信される。
【００９１】
前述したように、ＣＡＮ通信部４０ａは、自身が送信したビットデータを受信する。また、データフレームのＩＤフィールドに含まれるビットデータを送信している間に衝突が検出される可能性がある。
【００９２】
制御部４５は、ステップＳ１３を実行した後、第１通信バス１２において衝突が発生したか否かを判定する（ステップＳ１４）。制御部４５は、ステップＳ１３で「０」（レセッシブ）を示すビットデータの送信を指示した場合において、ＣＡＮ通信部４０ａが「１」（ドミナント）を示すビットデータを受信したとき、衝突が発生したと判定する。制御部４５は、ステップＳ１３で「１」を示すビットデータの送信を指示した場合、又は、ステップＳ１３で送信を指示したビットデータと、ＣＡＮ通信部４０ａが受信したビットデータとが「０」を示す場合、衝突は発生していないと判定する。
【００９３】
制御部４５は、衝突が発生していないと判定した場合（Ｓ１４：ＮＯ）、ステップＳ１２で生成したデータフレームのＩＤフィールドに含まれるビットデータの送信が完了したか否かを判定する（ステップＳ１５）。制御部４５は、ＩＤフィールドに含まれるビットデータの送信が完了していないと判定した場合（Ｓ１５：ＮＯ）、ステップＳ１３を実行し、ＣＡＮ通信部４０ａに次のビットデータを送信させる。
【００９４】
制御部４５は、ＩＤフィールドに含まれるビットデータの送信が完了したと判定した場合（Ｓ１５：ＹＥＳ）、ステップＳ１３と同様に、ステップＳ１２で生成したデータフレームの１つのビットデータの送信をＣＡＮ通信部４０ａに指示する（ステップＳ１６）。これにより、ＣＡＮ通信部４０ａは、第１通信バス１２を介してビットデータを送信する。第１中継データ送信処理では、制御部４５は、ステップＳ１６を繰り返し実行する。ＩＤフィールドに含まれるビットデータの送信は完了しているので、ＣＡＮ通信部４０ａは、ＩＤフィールドの次のフィールドに含まれるビットデータから、ビットデータを順次送信する。
【００９５】
制御部４５は、ステップＳ１６を実行した後、ステップＳ１２で生成したデータフレームを構成する全てのビットデータの送信が完了したか否かを判定する（ステップＳ１７）。制御部４５は、全てのビットデータの送信が完了していないと判定した場合（Ｓ１７：ＮＯ）、再びステップＳ１６を実行し、ＣＡＮ通信部４０ａに次のビットデータを送信させる。ＣＡＮ通信部４０ａは、データフレームを構成する全てのビットデータの送信が完了するまで、ビットデータを順次送信する。
【００９６】
第１通信バス１２を介した通信はＣＡＮのプロトコルに従っているので、ＩＤフィールド以降のフィールドに含まれるビットデータの送信では、衝突が発生することはない。第１通信バス１２を介した送信を行う装置の数は１つである。このため、ステップＳ１６に係るビットデータの送信について、制御部４５は衝突が発生したか否かを判定しない。
【００９７】
制御部４５は、全てのビットデータの送信が完了したと判定した場合（Ｓ１７：ＹＥＳ）、ＣＡＮ通信部４０ａが送信した中継データ、及び、この中継データに対応する送信停止回数データを一時記憶部４２から削除する（ステップＳ１８）。制御部４５は、ステップＳ１８を実行した後、第１中継データ記憶処理を終了する。
【００９８】
衝突が発生したと判定した後においては、第１中継データ記憶処理が終了するまで、制御部４５が、ＣＡＮ通信部４０ａにビットデータの送信を指示することはなく、ＣＡＮ通信部４０ａは、ステップＳ１２で生成したデータフレームの送信を停止する。中継装置３０とは異なる装置、即ち、２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の少なくとも１つが第１通信バス１２を介したデータフレームの送信を継続する。
【００９９】
制御部４５は、衝突が発生したと判定した場合（Ｓ１４：ＹＥＳ）、送信対象であった中継データに対応する送信停止回数データが示す送信停止回数を１だけインクリメントする（ステップＳ１９）。次に、制御部４５は、中継装置３０とは異なる装置が第１通信バス１２を介して送信しているデータフレームにおいて、衝突通知フィールド以前のビットデータの送信が完了したか否かを判定する（ステップＳ２０）。
【０１００】
制御部４５は、衝突通知フィールド以前のビットデータの送信が完了していないと判定した場合（Ｓ２０：ＮＯ）、ステップＳ２０を再び実行し、衝突通知フィールド以前のビットデータの送信が完了するまで待機する。
【０１０１】
制御部４５は、衝突通知フィールド以前のビットデータの送信が完了したと判定した場合（Ｓ２０：ＹＥＳ）、「１」（ドミナント）を示すビットデータの送信をＣＡＮ通信部４０ａに指示する（ステップＳ２１）。これにより、送信中のデータフレームの衝突通知フィールドに含まれるビットデータは「１」を示し、第１通信バス１２に接続されている全ての装置に衝突の発生が通知される。
【０１０２】
制御部４５は、ステップＳ２１を実行した後、第１中継データ送信処理を終了する。送信が停止された中継データは、送信停止回数が１だけインクリメントされた状態で一時記憶部４２に記憶され続ける。次の第１中継データ送信処理において、この中継データの送信が再び開始される。
【０１０３】
制御部４５は、送信先の装置が２つの高機能ＥＣＵ１０中の１つであると判定した場合（Ｓ１１：ＹＥＳ）、送信対象である中継データに対応する送信停止回数データが示す送信停止回数、即ち、送信対象である中継データの送信停止回数が第１閾値以上であるか否かを判定する（ステップＳ２２）。第１閾値は、２以上の整数であり、予め設定されている。第１閾値は、第２の所定回数に相当する。
【０１０４】
制御部４５は、送信停止回数が第１閾値未満であると判定した場合（Ｓ２２：ＮＯ）、基準時間内において衝突を検知した回数（以下、衝突検知回数）が第２閾値以上であるか否かを判定する（ステップＳ２３）。基準時間は、一定であり、予め設定されている。第２閾値は、自然数であり、予め設定されている。第２閾値は所定回数に相当する。
【０１０５】
図７は衝突検知回数の説明図である。図７では、時間軸において、衝突が検知された時点、具体的には、一時記憶部４２に記憶されている第１衝突時刻データが示す時点（日時）が黒丸で示されている。衝突検知回数は、ステップＳ２３の実行を開始した時点から基準時間遡った時点から、ステップＳ２３の実行が開始された時点までに、衝突を検知した回数である。図７の例では、衝突検知回数は７である。
【０１０６】
制御部４５は、衝突検知回数が第２閾値未満である場合（Ｓ２３：ＮＯ）、ステップＳ１２を実行する。従って、送信先の装置が２つの高機能ＥＣＵ１０中の１つである場合において、送信停止回数が第１閾値未満であり、かつ、衝突検知回数が第２閾値未満であるとき、ＣＡＮ通信部４０ａは、中断データについて、第１通信バス１２を介した送信を開始する。ＣＡＮ通信部４０ａは第１送信部として機能する。
【０１０７】
制御部４５は、送信停止回数が第１閾値以上であると判定した場合（Ｓ２２：ＹＥＳ）、又は、衝突検知回数が第２閾値以上であると判定した場合（Ｓ２３：ＹＥＳ）、送信対象である中継データをメインデータとして含むイーサネット用のデータフレームを生成する（ステップＳ２４）。
【０１０８】
次に、制御部４５は、中継データの送信先である装置に基づいて、２つのイーサネット通信部４１ａの中から１つのイーサネット通信部４１ａを選択する（ステップＳ２５）。次に、制御部４５は、ステップＳ２４で生成したデータフレームの送信を、ステップＳ２５で選択したイーサネット通信部４１ａに指示する（ステップＳ２６）。これにより、ステップＳ２５で選択されたイーサネット通信部４１ａは、ステップＳ２４で生成されたデータフレーム、即ち、ＣＡＮ通信部４０ａが送信を停止したデータを含むデータフレームを、第１通信線１３を介して高機能ＥＣＵ１０に送信する。送信停止回数が第１閾値以上であると制御部４５が判定した場合にイーサネット通信部４１ａが送信するデータフレームには、ＣＡＮ通信部４０ａが送信を停止したメインデータが含まれている。イーサネット通信部４１ａは第２送信部として機能する。
【０１０９】
制御部４５は、ステップＳ２６を実行した後、イーサネット通信部４１ａが送信した中継データ、及び、この中継データに対応する送信停止回数データを一時記憶部４２から削除する（ステップＳ２７）。制御部４５は、ステップＳ２７を実行した後、第１中継データ送信処理を終了する。
【０１１０】
以上のように、中継装置３０では、送信先の装置が３つの低機能ＥＣＵ１１中の１つである中継データは、ＣＡＮ通信部４０ａによって、第１通信バス１２を介して送信される。送信先の装置が２つの高機能ＥＣＵ１０中の１つである中継データについて、送信停止回数が第１閾値未満であり、かつ、衝突検知回数が第２閾値未満である場合、ＣＡＮ通信部４０ａが第１通信バス１２を介して中継データを送信する。送信先の装置が２つの高機能ＥＣＵ１０中の１つである中継データについて、送信停止回数が第１閾値以上であるか、又は、衝突検知回数が第２閾値以上である場合、２つのイーサネット通信部４１ａ中の１つが中継データを、第１通信線１３を介して送信する。
【０１１１】
送信先の装置が２つの高機能ＥＣＵ１０中の１つである中継データについて、基準時間内に第１通信バス１２を介して同時送信が行われた回数、即ち、衝突検知回数が多い場合、第１通信バス１２の通信負荷が大きいので、第１通信線１３を介して中継データを送信する。このため、中継装置３０で中継データが長期間停滞することはなく、中継データの送信に係る所要時間は短い。通信負荷は、第１通信バス１２を介してデータフレームが送信されている送信時間が単位時間当たりに占める割合である。
【０１１２】
衝突検知回数が第２閾値未満である場合、ＣＡＮ通信部４０ａは第１通信バス１２を介した中継データの送信を開始する。第１通信バスを介した中継データの送信では、衝突が発生したために送信を停止する可能性がある。共通の中継データについて、送信停止回数が第１閾値となった場合、２つのイーサネット通信部４１ａ中の１つが第１通信線１３を介して、ＣＡＮ通信部４０ａが送信を停止した共通の中継データを送信する。このように、衝突が発生したために送信が停止した場合、中継データは第１通信線１３を介して送信されるので、中継データの送信に係る所要時間は更に短い。また、送信停止回数が多い場合に中継データが第１通信線１３を介して送信されるので、第１通信バスを介してデータフレームが送信される頻度が適当な値に調整される。
【０１１３】
制御部４５は、送信先の装置が２つの高機能ＥＣＵ２０及び３つの低機能ＥＣＵ２１中の１つである中継データが一時記憶部４２に記憶されている場合に第２中継データ送信処理を実行する。第２中継データ送信処理は、第１中継データ送信処理と同様である。第１中継データ送信処理の説明において、高機能ＥＣＵ１０、低機能ＥＣＵ１１、第１通信バス１２、第１通信線１３、ＣＡＮ通信部４０ａ、イーサネット通信部４１ａ及び第１衝突時刻データ夫々を、高機能ＥＣＵ２０、低機能ＥＣＵ２１、第２通信バス２２、第２通信線２３、ＣＡＮ通信部４０ｂ、イーサネット通信部４１ｂ及び第２衝突時刻データに置き換える。これにより、第２中継データ送信処理を理解することができる。ＣＡＮ通信部４０ｂも第１送信部として機能する。イーサネット通信部４１ｂも第２送信部として機能する。
【０１１４】
従って、中継装置３０は、送信先の装置が２つの高機能ＥＣＵ２０及び３つの低機能ＥＣＵ２１中の１つである中継データの送信に関しても、送信先の装置が２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の１つである中継データの送信に関して奏する効果と同様の効果を奏する。
【０１１５】
中継装置３０において、イーサネット通信部４１ａの数は、ＣＡＮ通信部４０ａから第１通信バス１２を介してデータフレームを受信する装置の数よりも少ない。また、イーサネット通信部４１ｂの数は、ＣＡＮ通信部４０ｂから第２通信バス２２を介してデータフレームを受信する装置の数よりも少ない。このため、高機能ＥＣＵ１０，２０夫々の数は少ない。結果、中継装置３０及び通信システムＮの製造費用は安価である。
【０１１６】
中継装置３０では、ＣＡＮ通信部４０ｂは２つの高機能ＥＣＵ２０及び３つの低機能ＥＣＵ２１からデータフレームを受信する。イーサネット通信部４１ｂは、自身に接続されている高機能ＥＣＵ２０からデータフレームを受信する。ＣＡＮ通信部４０ｂ及びイーサネット通信部４１ｂが受信したデータフレームに含まれるメインデータは一時記憶部４２に記憶される。ＣＡＮ通信部４０ａ及びイーサネット通信部４１ａは、一時記憶部４２に記憶されたメインデータを含むデータフレームを送信する。これにより、ＣＡＮ通信部４０ｂ、高機能ＥＣＵ２０及び低機能ＥＣＵ２１中の１つからＣＡＮ通信部４０ａ、高機能ＥＣＵ１０及び低機能ＥＣＵ２１中の１つへの送信が中継される。
【０１１７】
同様に、ＣＡＮ通信部４０ａは２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１からデータフレームを受信する。イーサネット通信部４１ａは、自身に接続されている高機能ＥＣＵ１０からデータフレームを受信する。ＣＡＮ通信部４０ａ及びイーサネット通信部４１ａが受信したデータフレームに含まれるメインデータは一時記憶部４２に記憶される。ＣＡＮ通信部４０ｂ及びイーサネット通信部４１ｂは、一時記憶部４２に記憶されたメインデータを含むデータフレームを送信する。これにより、ＣＡＮ通信部４０ｂ、高機能ＥＣＵ２０及び低機能ＥＣＵ２１中の１つからＣＡＮ通信部４０ａ、高機能ＥＣＵ１０及び低機能ＥＣＵ２１中の１つへの送信が中継される。
ＣＡＮ通信部４０ａ，４０ｂ及びイーサネット通信部４１ａ，４１ｂ夫々は受信部としても機能する。
【０１１８】
高機能ＥＣＵ１０，２０は、中継装置３０と同様にメインデータを送信し、メインデータの送信に関して中継装置３０が奏する効果と同様の効果を奏する。以下では、高機能ＥＣＵ１０の詳細な構成を説明する。
【０１１９】
図８は高機能ＥＣＵ１０の要部構成を示すブロック図である。高機能ＥＣＵ１０は、ＣＡＮ通信部５０、イーサネット通信部５１、一時記憶部５２、時計部５３、記憶部５４及び制御部５５を有する。これらは、高機能ＥＣＵ１０内において、内部バス５６に接続されている。ＣＡＮ通信部５０は、更に、第１通信バス１２に接続されている。イーサネット通信部５１は、更に、第１通信線１３に接続されている。
【０１２０】
ＣＡＮ通信部５０及びイーサネット通信部５１は、インタフェースであり、制御部５５の指示に従って、データフレームを送信する。具体的には、これらは、データフレームを構成する複数のビットデータを順次送信する。ＣＡＮ通信部５０は、更に、制御部５５の指示に従って、高機能ＥＣＵ１０とは異なる装置が第１通信バス１２を介して送信しているデータフレームの衝突通知フィールドで「１」（ドミナント）を示すビットデータを送信する。
【０１２１】
ＣＡＮ通信部５０は、第１通信バス１２を介して送信された全てのデータフレームを受信する。イーサネット通信部５１は、第１通信線１３を介して中継装置３０から送信されたデータフレームを受信する。制御部５５は、ＣＡＮ通信部５０及びイーサネット通信部５１が受信したデータフレームをこれらから取得する。
【０１２２】
制御部５５は、データを一時記憶部５２に記憶する。一時記憶部５２では、データが一時的に記憶される。一時記憶部５２に記憶されているデータは、制御部５５によって一時記憶部４２から読み出される。制御部５５は、電気機器に関する制御で用いる制御データと、第１通信バス１２又は第１通信線１３を介して送信する送信データとを一時記憶部４２に記憶する。また、制御部５５は、送信データに対応付けて、送信を停止した送信停止回数を示す送信停止回数データを一時記憶部５２に記憶する。送信停止回数データが示す回数は、自身に対応する送信データについて、ＣＡＮ通信部５０が送信を停止した回数を示す。
【０１２３】
制御部５５は、更に、第１通信バス１２において衝突が発生した日時を示す衝突時刻データを一時記憶部５２に記憶する。一時記憶部５２に記憶されているデータは、一時記憶部５２への電力供給が停止した場合に消去される。
【０１２４】
制御部５５は、時計部５３から日時を示す日時データを取得する。制御部５５が取得した日時データは、この日時データを取得した時点の日時を示す。
【０１２５】
記憶部５４は不揮発性メモリである。記憶部５４には、コンピュータプログラムＰ２が記憶されている。制御部５５は、一又は複数のＣＰＵを有する。制御部５５が有する一又は複数のＣＰＵは、コンピュータプログラムＰ２を実行することによって、制御データ記憶処理、制御処理、送信データ記憶処理及び送信データ送信処理を並行して実行する。
【０１２６】
制御データ記憶処理は、ＣＡＮ通信部５０又はイーサネット通信部５１が受信したデータフレームに含まれるメインデータを制御データとして一時記憶部５２に記憶する処理である。制御処理は、一時記憶部５２に記憶されている制御データに基づいて、電気機器に関する制御を行う処理である。送信データ記憶処理は、送信データを生成し、生成した送信データを記憶する処理である。送信データ送信処理は、送信データを送信する処理である。
【０１２７】
コンピュータプログラムＰ２は、制御部５５が有する一又は複数のＣＰＵに、制御データ記憶処理、制御処理、送信データ記憶処理及び送信データ送信処理を実行させるために用いられる。
【０１２８】
なお、コンピュータプログラムＰ２は、制御部５５が有する一又は複数のＣＰＵが読み取り可能に、記憶媒体Ａ２に記憶されていてもよい。この場合、図示しない読み出し装置によって記憶媒体Ａ２から読み出されたコンピュータプログラムＰ２が記憶部５４に記憶される。記憶媒体Ａ２は、光ディスク、フレキシブルディスク、磁気ディスク、磁気光ディスク又は半導体メモリ等である。また、図示しない通信網に接続されている図示しない外部装置からコンピュータプログラムＰ２をダウンロードし、ダウンロードしたコンピュータプログラムＰ２を記憶部５４に記憶してもよい。
【０１２９】
図９は、制御データ記憶処理の手順を示すフローチャートである。制御部５５は制御データ記憶処理を周期的に実行する。制御データ記憶処理のステップＳ３１〜Ｓ３６夫々は、第１中継データ記憶処理のステップＳ１〜Ｓ６と同様である。このため、ステップＳ３１〜Ｓ３６の詳細な説明を省略する。
【０１３０】
ステップＳ１〜Ｓ６の説明において、ＣＡＮ通信部４０ａ、イーサネット通信部４１ａ、制御部４５、中継データ及び第１衝突時刻データ夫々を、ＣＡＮ通信部５０、イーサネット通信部５１、制御部５５、制御データ及び衝突時刻データに置き換える。これにより、ステップＳ３１〜Ｓ３６を理解することができる。制御部５５も検知部として機能する。
【０１３１】
ステップＳ３２では、制御部５５は、イーサネット通信部５１が受信したデータフレームに含まれるメインデータを、制御データとして一時記憶部５２に記憶する。制御部５５は、ステップＳ３２を実行した後、制御データ記憶処理を終了する。また、制御部５５は、第１通信バス１２を介してデータフレームを受信していないと判定した場合（Ｓ３３：ＮＯ）、制御データ記憶処理を終了する。ステップＳ３６では、制御部５５は、ステップＳ３５で取得した日時データを衝突時刻データとして一時記憶部５２に記憶する。
【０１３２】
制御部５５は、第１通信バス１２において衝突が発生していないと判定した場合（Ｓ３４：ＮＯ）、又は、ステップＳ３６を実行した後、ＣＡＮ通信部５０が受信したデータフレームに含まれるメインデータの送信先の装置が自装置であるか否かを判定する（ステップＳ３７）。記憶部５４には、送信先の装置が自装置であるメインデータに対応する複数の識別データが記憶されている。
【０１３３】
ステップＳ３７において、制御部５５は、ＣＡＮ通信部５０が受信したデータフレームのＩＤフィールドに含まれている識別データが、記憶部５４に記憶されている複数の識別データ中の１つと一致した場合、送信先の装置が自装置であると判定する。制御部５５は、ＣＡＮ通信部５０が受信したデータフレームのＩＤフィールドに含まれている識別データが、記憶部５４に記憶されている複数の識別データのいずれとも一致しなかった場合、送信先の装置が自装置ではないと判定する。
【０１３４】
制御部５５は、送信先の装置が自装置ではないと判定した場合（Ｓ３７：ＮＯ）、制御データ記憶処理を終了する。その後、制御部５５は、ＣＡＮ通信部５０が受信したデータフレームに係る処理を実行することはなく、このデータフレームを無視する。
【０１３５】
制御部５５は、送信先の装置が自装置であると判定した場合（Ｓ３７：ＹＥＳ）、ＣＡＮ通信部５０が受信したデータフレームのデータフィールドに含まれているメインデータを、制御データとして一時記憶部５２に記憶する（ステップＳ３８）。制御部５５は、ステップＳ３８を実行した後、制御データ記憶処理を終了する。
【０１３６】
以上のように、制御部５５は、第１通信バス１２又は第１通信線１３を介してデータフレームが受信されてない場合、制御データ記憶処理を繰り返し実行し、第１通信バス１２又は第１通信線１３を介してデータフレームが受信されるまで待機する。制御部５５は、イーサネット通信部５１が第１通信線１３を介してデータフレームを受信した場合、イーサネット通信部５１が受信したデータフレームに含まれているメインデータを制御データとして記憶する。
【０１３７】
制御部５５は、ＣＡＮ通信部５０が第１通信バス１２を介してデータフレームを受信した場合において、ＣＡＮ通信部５０が受信したデータフレームの送信先の装置が自装置であるとき、このデータフレームに含まれるメインデータを制御データとして一時記憶部５２に記憶する。更に、制御部５５は、第１通信バス１２を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す衝突時刻データを記憶する。
【０１３８】
制御部５５は、一時記憶部５２に制御データが記憶されている場合、制御処理を実行する。制御処理では、制御部５５は、一時記憶部５２に記憶されている制御データに基づく処理を実行する。例えば、制御部５５は、図示しない出力部に、特定の動作を指示するデータを電気機器に出力させ、電気機器に特定の動作を行わせる。その後、制御部５５は、一時記憶部５２から、実行した処理に係る制御データを削除し、制御処理を終了する。他の制御データが一時記憶部５２に記憶されている場合、制御部５５は再び制御処理を実行する。
【０１３９】
図１０は送信データ記憶処理の手順を示すフローチャートである。制御部５５は、例えば、センサの検出結果を示すデータ又は特定の動作を指示するデータ等が図示しない入力部に入力された場合に送信データ記憶処理を実行する。送信データ記憶処理では、制御部５５は、まず、送信データを生成し（ステップＳ４１）、生成した送信データを一時記憶部５２に記憶する（ステップＳ４２）。
【０１４０】
次に、制御部５５は、ステップＳ４２で記憶した送信データに対応付けて送信停止回数データを記憶する（ステップＳ４３）。ステップＳ４３が実行された時点では、高機能ＥＣＵ１０は、ステップＳ４２で記憶された送信データの送信を開始していない。このため、ステップＳ４３では、制御部５５は、送信停止回数としてゼロを示す送信停止回数データを一時記憶部５２に記憶する。
制御部５５は、ステップＳ４３を実行した後、送信データ記憶処理を終了する。
【０１４１】
図１１及び図１２は、送信データ送信処理の手順を示すフローチャートである。制御部５５は、送信先の装置が自装置とは異なる高機能ＥＣＵ１０、低機能ＥＣＵ１１及び中継装置３０中の１つである送信データが一時記憶部４２に記憶されている場合に送信データ送信処理を実行する。送信データの送信先の装置は、送信データの内容に応じて適宜決定される。送信先の装置が中継装置３０である送信データは、具体的には、送信先の装置が第１通信バス１２に接続されるいずれの装置とも異なる装置である送信データである。
【０１４２】
送信データ送信処理のステップＳ５２〜Ｓ６４夫々は、第１中継データ送信処理のステップＳ１２〜Ｓ２４と同様である。このため、ステップＳ５２〜Ｓ６４の詳細な説明を省略する。ステップＳ１２〜Ｓ２４の説明において、ＣＡＮ通信部４０ａ、一時記憶部４２、制御部４５及び中継データ夫々を、ＣＡＮ通信部５０、一時記憶部５２、制御部５５及び送信データに置き換える。これにより、ステップＳ５２〜Ｓ６４を理解することができる。ＣＡＮ通信部５０も第１送信部として機能する。
【０１４３】
送信データ送信処理では、制御部５５は、まず、送信対象である送信データの送信先の装置が、自装置とは異なる高機能ＥＣＵ１０又は中継装置３０であるか否かを判定する（ステップＳ５１）。制御部５５は、送信先の装置が高機能ＥＣＵ１０又は中継装置３０ではない、即ち、送信先の装置が３つの低機能ＥＣＵ１１中の１つであると判定した場合（Ｓ５１：ＮＯ）、ステップＳ５２を実行し、ＣＡＮ通信部５０が第１通信バス１２を介して送信データを送信する。
【０１４４】
衝突が発生してＣＡＮ通信部５０が第１通信バス１２を介した送信を停止した場合、自装置とは異なる高機能ＥＣＵ１０、３つの低機能ＥＣＵ１１及び中継装置３０中の少なくとも１つが第１通信バス１２を介した送信を継続する。ＣＡＮ通信部５０は、第１通信バス１２を介して送信されているデータフレームの衝突通知フィールドにおいて、「１」（ドミナント）を示すビットデータを送信し、衝突を通知する。
【０１４５】
制御部５５は、送信先の装置が自装置とは異なる高機能ＥＣＵ１０又は中継装置３０である場合（Ｓ５１：ＹＥＳ）、ステップＳ６２を実行する。制御部５５は、送信停止回数が第１閾値以上であると判定した場合（Ｓ６２：ＹＥＳ）、又は、衝突検知回数が第２閾値以上であると判定した場合（Ｓ６３：ＹＥＳ）、ステップＳ６４を実行する。ステップＳ６４では、イーサネット用のデータフレームを生成する。
【０１４６】
送信データ送信処理の衝突検知回数は、ステップＳ６３の実行を開始した時点から基準時間遡った時点から、ステップＳ６３の実行が開始された時点までに、衝突を検知した回数である。送信データ送信処理に係る第１閾値は、中継データ送信処理に係る第１閾値と同一であってもよいし、異なっていてもよい。同様に、送信データ送信処理に係る第２閾値は、中継データ送信処理に係る第２閾値と同一であってもよいし、異なっていてもよい。
【０１４７】
制御部５５は、ステップＳ６４を実行した後、イーサネット通信部５１にステップＳ６４で生成したデータフレームの送信を指示する（ステップＳ６５）。これにより、イーサネット通信部５１は、ステップＳ６４で生成したデータフレームを、第１通信線１３を介して中継装置３０に送信する。送信データの送信先の装置が自装置とは異なる高機能ＥＣＵ１０である場合、中継装置３０を介して、この高機能ＥＣＵ１０に送信データが送信される。イーサネット通信部５１も第２送信部として機能する。
【０１４８】
制御部５５は、ステップＳ６５を実行した後、イーサネット通信部５１が送信した送信データ、及び、この送信データに対応する送信停止回数データを一時記憶部５２から削除する（ステップＳ６６）。制御部５５は、ステップＳ６６を実行した後、送信データ送信処理を終了する。
【０１４９】
以上のように、高機能ＥＣＵ１０では、送信先の装置が３つの低機能ＥＣＵ１１中の１つである送信データは、ＣＡＮ通信部５０によって、第１通信バス１２を介して送信される。送信先の装置が、自装置と異なる高機能ＥＣＵ１０又は中継装置３０である送信データについて、送信停止回数が第１閾値未満であり、かつ、衝突検知回数が第２閾値未満である場合、ＣＡＮ通信部５０は第１通信バス１２を介して送信データを送信する。
【０１５０】
送信先の装置が、自装置とは異なる高機能ＥＣＵ１０又は中継装置３０である送信データについて、送信停止回数が第１閾値以上であるか、又は、衝突検知回数が第２閾値以上である場合、イーサネット通信部５１がこの送信データを送信する。
送信データの送信に関して、高機能ＥＣＵ１０は、中継装置３０が奏する効果と同様の効果を奏する。
【０１５１】
高機能ＥＣＵ２０の構成は、高機能ＥＣＵ１０の構成と同様である。高機能ＥＣＵ１０の構成の説明において、第１通信バス１２及び第１通信線１３夫々を、第２通信バス２２及び第２通信線２３に置き換える。これにより、高機能ＥＣＵ２０の構成を理解することができる。高機能ＥＣＵ２０は、高機能ＥＣＵ１０が奏する効果を同様に奏する。
【０１５２】
第１通信バス１２のみを介して送信されるメインデータ、即ち、送信先又は送信元が低機能ＥＣＵ１１であるメインデータの送信に係る優先度は、第１通信バス１２及び第１通信線１３を介して送信することが可能なメインデータの送信に係る優先度よりも高いことが好ましい。この場合、メインデータの送信に係る所要時間が更に短い。同様に、第２通信バス２２のみを介して送信されるメインデータ、即ち、送信先又は送信元が低機能ＥＣＵ２１であるメインデータの送信に係る優先度は、第２通信バス２２及び第２通信線２３を介して送信することが可能なメインデータの送信に係る優先度よりも高いことが好ましい。この場合も、メインデータの送信に係る所要時間が更に短い。
【０１５３】
（実施形態２）
第１通信バス１２又は第２通信バス２２を介した複数のデータフレームの同時送信を通知する構成は、送信を停止した装置が、送信中のデータフレームの衝突通知フィールドにおいて、「１」（ドミナント）を示すビットデータを送信する構成に限定されない。
以下では、実施形態２について、実施形態１と異なる点を説明する。後述する構成を除く他の構成については、実施形態１と共通している。このため、実施形態１と共通する構成部には実施形態１と同一の参照符号を付してその説明を省略する。
【０１５４】
図１３は、実施形態２におけるＣＡＮ用のデータフレームの説明図である。実施形態２におけるＣＡＮ用のデータフレームでは、実施形態１と同様に、ＳＯＦフィールド、ＩＤフィールド、データフィールド及びＥＯＦフィールド等が設けられている。実施形態２におけるＣＡＮ用のデータフレームでは、衝突検知フィールドは設けられていない。従って、送信を停止した装置が、送信中のデータフレームの衝突通知フィールドにおいて、「１」（ドミナント）を示すビットデータを送信することによって、衝突を通知することはない。
【０１５５】
図１４は、第１中継データ記憶処理の手順を示すフローチャートである。実施形態２においても、中継装置３０の制御部４５は、第１中継データ記憶処理を周期的に実行する。実施形態２における第１中継データ記憶処理のステップＳ７１〜Ｓ７３，Ｓ７４，Ｓ７５夫々は、実施形態１における第１中継データ記憶処理のステップＳ１〜Ｓ３，Ｓ７，Ｓ８と同様である。このため、ステップＳ７１〜Ｓ７５の詳細な説明を省略する。
【０１５６】
制御部４５は、第１通信バス１２を介してデータフレームを受信したと判定した場合（Ｓ７３：ＹＥＳ）、ステップＳ７４を実行する。制御部４５は、制御部４５は、ステップＳ７２，Ｓ７５の一方を実行した後、第１中継データ記憶処理を終了する。
【０１５７】
以上のように、制御部４５は、第１通信バス１２又は第１通信線１３を介してデータフレームが受信されてない場合、第１中継データ記憶処理を繰り返し実行し、第１通信バス１２又は第１通信線１３を介してデータフレームが受信されるまで待機する。制御部４５は、イーサネット通信部４１ａが第１通信線１３を介してデータフレームを受信した場合、イーサネット通信部４１ａが受信したデータフレームに含まれているメインデータを中継データとして記憶する。
【０１５８】
更に、制御部４５は、ＣＡＮ通信部４０ａが第１通信バス１２を介してデータフレームを受信した場合において、ＣＡＮ通信部４０ａが受信したデータフレームに含まれているメインデータの送信を中継する必要があるとき、このメインデータを中継データとして一時記憶部４２に記憶する。
なお、実施形態２における第２中継データ記憶処理の内容は、第１中継データ記憶処理の内容と同様である。
【０１５９】
図１５及び図１６は、第１中継データ送信処理の手順を示すフローチャートである。制御部４５は、実施形態１と同様に、送信先の装置が２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の１つである中継データが一時記憶部４２に記憶されている場合に第１中継データ送信処理を実行する。実施形態２における第１中継データ送信処理のステップＳ８１〜Ｓ８７，Ｓ９１〜Ｓ９４夫々は、実施形態１における第１中継データ送信処理のステップＳ１１〜Ｓ１７，Ｓ２３〜Ｓ２６と同様である。このため、ステップＳ８１〜Ｓ８７，Ｓ９１〜Ｓ９４の詳細な説明を省略する。
【０１６０】
制御部４５は、ステップＳ８４を実行することによって、第１通信バス１２における衝突、即ち、第１通信バス１２を介した複数のデータフレームの同時送信を検知する。具体的には、制御部４５は、ステップＳ８３で「０」（レセッシブ）を示すビットデータの送信を指示した場合において、ＣＡＮ通信部４０ａが「１」（ドミナント）を示すビットデータを受信したとき、衝突を検知する。
【０１６１】
制御部４５は、全てのビットデータの送信が完了したと判定した場合（Ｓ８７：ＹＥＳ）、ＣＡＮ通信部４０ａが送信した中継データを一時記憶部４２から削除する（ステップＳ８８）。制御部４５は、第１通信バス１２において衝突が発生したと判定した場合、即ち、第１通信バス１２を介した複数のデータフレームの同時送信を検知した場合（Ｓ８４：ＹＥＳ）、時計部４３から日時データを取得する（ステップＳ８９）。次に、制御部４５は、ステップＳ８９で取得した日時データを第１衝突時刻データとして一時記憶部４２に記憶する（ステップＳ９０）。制御部４５は、ステップＳ８８，Ｓ９０中の１つを実行した後、第１中継データ記憶処理を終了する。
【０１６２】
制御部４５は、送信先の装置が２つの高機能ＥＣＵ１０中の１つであると判定した場合（Ｓ８１：ＹＥＳ）、ステップＳ９１を実行する。実施形態２における第１中継データ送信処理の衝突検知回数は、ステップＳ９１の実行を開始した時点から基準時間遡った時点から、ステップＳ９１の実行が開始された時点までに、衝突を検知した回数である。制御部４５は、ステップＳ９４を実行した後、イーサネット通信部４１ａが送信した中継データを一時記憶部４２から削除し（ステップＳ９５）、第１中継データ送信処理を終了する。
【０１６３】
以上のように、中継装置３０では、制御部４５は、第１通信バス１２を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す第１衝突時刻データを記憶する。送信先の装置が３つの低機能ＥＣＵ１１中の１つである中継データは、ＣＡＮ通信部４０ａによって、第１通信バス１２を介して送信される。送信先の装置が２つの高機能ＥＣＵ１０中の１つである中継データについて、衝突検知回数が第２閾値未満である場合、ＣＡＮ通信部４０ａが第１通信バス１２を介して中継データを送信する。送信先の装置が２つの高機能ＥＣＵ１０中の１つである中継データについて、衝突検知回数が第２閾値以上である場合、２つのイーサネット通信部４１ａ中の１つが中継データを、第１通信線１３を介して送信する。
【０１６４】
送信先の装置が２つの高機能ＥＣＵ１０中の１つである中継データについて、基準時間内に第１通信バス１２を介して同時送信が行われた回数、即ち、衝突検知回数が多い場合、第１通信バス１２の通信負荷が大きいので、第１通信線１３を介して中継データを送信する。このため、中継装置３０で中継データが長期間停滞することはなく、中継データの送信に係る所要時間は短い。
【０１６５】
実施形態２において、第２中継データ送信処理は、第１中継データ送信処理と同様である。第２中継データ送信処理では、取得した日時データを、第１衝突時刻データとしてではなく、第２衝突時刻データとして記憶する。中継装置３０は、送信先の装置が２つの高機能ＥＣＵ２０及び３つの低機能ＥＣＵ２１中の１つである中継データの送信に関しても、送信先の装置が２つの高機能ＥＣＵ１０及び３つの低機能ＥＣＵ１１中の１つである中継データの送信に関して奏する効果と同様の効果を奏する。
【０１６６】
図１７は、制御データ記憶処理の手順を示すフローチャートである。高機能ＥＣＵ１０の制御部５５は、実施形態１と同様に、制御データ記憶処理を周期的に実行する。実施形態２における制御データ記憶処理のステップＳ１０１〜Ｓ１０３，Ｓ１０４，Ｓ１０５夫々は、実施形態１における制御データ記憶処理のステップＳ３１〜Ｓ３３，Ｓ３７，Ｓ３８と同様である。このため、ステップＳ１０１〜Ｓ１０５の詳細な説明を省略する。
制御部５５は、第１通信バス１２を介してデータフレームを受信したと判定した場合（Ｓ１０３：ＹＥＳ）、ステップＳ１０４を実行する。
【０１６７】
以上のように、高機能ＥＣＵ１０では、制御部５５は、第１通信バス１２又は第１通信線１３を介してデータフレームが受信されてない場合、制御データ記憶処理を繰り返し実行し、第１通信バス１２又は第１通信線１３を介してデータフレームが受信されるまで待機する。制御部５５は、イーサネット通信部５１が第１通信線１３を介してデータフレームを受信した場合、イーサネット通信部５１が受信したデータフレームに含まれているメインデータを制御データとして記憶する。制御部５５は、ＣＡＮ通信部５０が第１通信バス１２を介してデータフレームを受信した場合において、ＣＡＮ通信部５０が受信したデータフレームの送信先の装置が自装置であるとき、このデータフレームに含まれるメインデータを制御データとして一時記憶部５２に記憶する。
【０１６８】
図１８は送信データ記憶処理の手順を示すフローチャートである。高機能ＥＣＵ１０の制御部５５は、実施形態１と同様に、例えば、センサの検出結果を示すデータ又は特定の動作を指示するデータ等が図示しない入力部に入力された場合に送信データ記憶処理を実行する。実施形態２における送信データ記憶処理のステップＳ１１１，Ｓ１１２夫々は、実施形態１における送信データ記憶処理のステップＳ４１，Ｓ４２と同様である。このため、ステップＳ１１１，Ｓ１１２の詳細な説明を省略する。
実施形態２における送信データ記憶処理では、制御部５５は、ステップＳ１１２を実行した後、送信データ記憶処理を終了する。
【０１６９】
図１９及び図２０は、送信データ送信処理の手順を示すフローチャートである。制御部５５は、実施形態１と同様に、送信先の装置が自装置とは異なる高機能ＥＣＵ１０、低機能ＥＣＵ１１及び中継装置３０中の１つである送信データが一時記憶部４２に記憶されている場合に送信データ送信処理を実行する。実施形態２におけるステップＳ１２１〜Ｓ１２７，Ｓ１３１〜Ｓ１３３夫々は、実施形態１におけるステップＳ５１〜Ｓ５７，Ｓ６３〜Ｓ６５と同様である。このため、ステップＳ１２１〜Ｓ１２７，Ｓ１３１〜Ｓ１３３の詳細な説明を省略する。
【０１７０】
制御部５５は、ステップＳ１２４を実行することによって、第１中継データ送信処理のステップＳ８４と同様に、第１通信バス１２における衝突、即ち、第１通信バス１２を介した複数のデータフレームの同時送信を検知する。
【０１７１】
制御部５５は、全てのビットデータの送信が完了したと判定した場合（Ｓ１２７：ＹＥＳ）、ＣＡＮ通信部５０が送信した送信データを一時記憶部５２から削除する（ステップＳ１２８）。制御部５５は、第１通信バス１２において衝突が発生したと判定した場合、即ち、第１通信バス１２を介した複数のデータフレームの同時送信を検知した場合（Ｓ１２４：ＹＥＳ）、時計部５３から日時データを取得する（ステップＳ１２９）。次に、制御部５５は、ステップＳ１２９で取得した日時データを衝突時刻データとして一時記憶部５２に記憶する（ステップＳ１３０）。制御部５５は、ステップＳ１２８，Ｓ１３０中の１つを実行した後、送信データ送信処理を終了する。
【０１７２】
制御部５５は、送信先の装置が自装置とは異なる高機能ＥＣＵ１０又は中継装置３０である場合（Ｓ１２１：ＹＥＳ）、ステップＳ１３１を実行する。実施形態２における送信データ送信処理の衝突検知回数は、ステップＳ１３１の実行を開始した時点から基準時間遡った時点から、ステップＳ１３１の実行が開始された時点までに、衝突を検知した回数である。制御部５５は、ステップＳ１３３を実行した後、イーサネット通信部５１が送信した送信データを一時記憶部５２から削除し（ステップＳ１３４）、送信データ送信処理を終了する。
【０１７３】
以上のように、高機能ＥＣＵ１０では、制御部５５は、第１通信バス１２を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す衝突時刻データを記憶する。送信先の装置が３つの低機能ＥＣＵ１１中の１つである送信データは、ＣＡＮ通信部５０によって、第１通信バス１２を介して送信される。送信先の装置が、自装置と異なる高機能ＥＣＵ１０又は中継装置３０である送信データについて、衝突検知回数が第２閾値未満である場合、ＣＡＮ通信部５０は第１通信バス１２を介して送信データを送信する。送信先の装置が、自装置とは異なる高機能ＥＣＵ１０又は中継装置３０である送信データについて、衝突検知回数が第２閾値以上である場合、イーサネット通信部５１がこの送信データを送信する。
送信データの送信に関して、高機能ＥＣＵ１０は、中継装置３０が奏する効果と同様の効果を奏する。
【０１７４】
高機能ＥＣＵ２０の構成は、高機能ＥＣＵ１０の構成と同様である。高機能ＥＣＵ２０は、高機能ＥＣＵ１０が奏する効果を同様に奏する。
【０１７５】
なお、実施形態１，２において、第１通信バス１２又は第２通信バス２２を介した複数のデータフレームの同時送信を通知する構成は、送信を停止した場合に、衝突の発生を示すメインデータを含むデータフレームを、第１通信バス１２又は第２通信バス２２を介して送信する構成であってもよい。この場合、ＣＡＮ用のデータフレームにおいて、衝突通知フィールドは不要である。
【０１７６】
第１通信バス１２及び第２通信バス２２夫々に接続される高機能ＥＣＵ１０の数は、２に限定されず、１又は３以上であってもよい。また、第１通信バス１２及び第２通信バス２２夫々に接続される低機能ＥＣＵ１１の数は、３に限定されず、１、２又は４以上であってもよい。更に、第１通信バス１２又は第２通信バス２２に接続される複数の装置の中で、中継装置３０を除く全ての装置は、高機能ＥＣＵ１０であってもよい。
【０１７７】
第１通信バス１２及び第２通信バス２２を介した通信で用いられるプロトコルは、ＣＡＮのプロトコルに限定されず、通信バスを介した通信で用いられるプロトコルであればよい。第１通信線１３及び第２通信線２３を介した通信で用いられるプロトコルは、イーサネットのプロトコルに限定されない。中継データ送信処理及び送信データ送信処理夫々に係る第１閾値は、２以上の整数に限定されず、１であってもよい。中継装置３０に接続される通信バスの数は、２に限定されず、３以上であってもよい。
【０１７８】
開示された実施形態１，２はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７９】
１０，２０  高機能ＥＣＵ（通信装置）
１１，２１  低機能ＥＣＵ
１２  第１通信バス
１３  第１通信線
２２  第２通信バス
２３  第２通信線
３０  中継装置（通信装置）
４０ａ，４０ｂ  ＣＡＮ通信部（第１送信部、受信部）
４１ａ，４１ｂ  イーサネット通信部（第２送信部、受信部）
４２，５２  一時記憶部
４３，５３  時計部
４４，５４  記憶部
４５，５５  制御部（検知部）
４６，５６  内部バス
５０  ＣＡＮ通信部（第１送信部）
５１  イーサネット通信部（第２送信部）
１００  車両
Ａ１，Ａ２  記憶媒体
Ｎ  通信システム
Ｐ１，Ｐ２  コンピュータプログラム
【図１】
2020039034.tif 000003
【図２】
2020039034.tif 000004
【図３】
2020039034.tif 000005
【図４】
2020039034.tif 000006
【図５】
2020039034.tif 000007
【図６】
2020039034.tif 000008
【図７】
2020039034.tif 000009
【図８】
2020039034.tif 000010
【図９】
2020039034.tif 000011
【図１０】
2020039034.tif 000012
【図１１】
2020039034.tif 000013
【図１２】
2020039034.tif 000014
【図１３】
2020039034.tif 000015
【図１４】
2020039034.tif 000016
【図１５】
2020039034.tif 000017
【図１６】
2020039034.tif 000018
【図１７】
2020039034.tif 000019
【図１８】
2020039034.tif 000020
【図１９】
2020039034.tif 000021
【図２０】
2020039034.tif 000022