(57)【要約】【課題】コンピュータプログラムの更新データの一部分である部分データを除く他のデータの単位時間当たりの送信量を低下させることなく、更新データを送信することができる中継装置、送信方法及びコンピュータプログラムと、該中継装置を備える通信システムとを提供する。【解決手段】中継装置１０の制御部３６は、ＥＣＵバス１４ａについて、データが送信されている送信時間が単位時間当たりに占めるＥＣＵバス占有率を算出する。次に、制御部３６は、算出したＥＣＵバス占有率に基づいて、コンピュータプログラムを更新するための更新データの一部分である部分データの単位時間当たりの送信量を決定する。第２通信部３４ａは、制御部３６が決定した単位時間当たりの送信量で、部分データを、ＥＣＵバス１４ａを介して繰り返し送信する。【選択図】図６
2018046515.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信線に接続され、該複数の通信線中の２つの通信線夫々に接続されている２つの通信装置間の通信を中継する中継装置において、
前記複数の通信線中の１つである第１通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出する算出部と、
該算出部が算出した占有率に基づいて、コンピュータプログラムを更新するための更新データの一部分である部分データの単位時間当たりの送信量を決定する決定部と、
該決定部が決定した単位時間当たりの送信量で、前記部分データを、前記第１通信線を介して繰り返し送信する送信部と
を備えることを特徴とする中継装置。
【請求項２】
第２通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出する第２の算出部と、
該第２の算出部が算出した占有率に基づいて、前記部分データの単位時間当たりの送信量を決定する第２の決定部と、
該第２の決定部が決定した単位時間当たりの送信量を示す送信量データを、前記第２通信線を介して送信する第２の送信部と、
前記第２通信線を介して前記部分データを受信する受信部と
を備えることを特徴とする請求項１に記載の中継装置。
【請求項３】
前記決定部は、前記部分データの送信間隔を決定することによって、前記部分データの単位時間当たりの送信量を決定し、
前記送信部は、該決定部が決定した送信間隔で、前記部分データを、前記第１通信線を介して繰り返し送信すること
を特徴とする請求項１又は請求項２に記載の中継装置。
【請求項４】
前記算出部の算出及び前記決定部の決定は、該送信部が前記部分データを繰り返し送信している間に行われること
を特徴とする請求項１から請求項３のいずれか１つに記載の中継装置。
【請求項５】
前記送信部は、前記算出部が算出した占有率が所定率以上である間、前記部分データの送信を停止していること
を特徴とする請求項１から請求項４のいずれか１つに記載の中継装置。
【請求項６】
請求項１から請求項５のいずれか１つに記載の中継装置と、
前記２つの通信装置と
を備えることを特徴とする通信システム。
【請求項７】
通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出し、
算出した占有率に基づいて、コンピュータプログラムを更新するための更新データの一部分である部分データの単位時間当たりの送信量を決定し、
決定した単位時間当たりの送信量で、前記部分データを、前記通信線を介して繰り返し送信すること
を特徴とする送信方法。
【請求項８】
通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出し、
算出した占有率に基づいて、コンピュータプログラムを更新するための更新データの一部分である部分データの単位時間当たりの送信量を決定し、
決定した単位時間当たりの送信量で、前記部分データが、前記通信線を介して繰り返し送信されるようにデータの送信を指示する
処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信線に接続され、該複数の通信線中の２つの通信線夫々に接続されている２つの通信装置間の通信を中継する中継装置と、該中継装置を備える通信システムと、コンピュータプログラムを更新するための更新データを送信する送信方法と、該更新データを送信するためのコンピュータプログラムとに関する。
【背景技術】
【０００２】
車両に搭載される通信システムとして、複数の通信線に接続され、複数の通信線中の２つの通信線夫々に接続されている２つの通信装置間の通信を中継する中継装置を備える通信システム（例えば、特許文献１を参照）がある。
【０００３】
特許文献１に記載の通信システムでは、通信装置は、ＥＣＵ(Electronic Control Unit：電子制御装置)であり、通信装置にはコンピュータプログラムが記憶されている。通信装置はＣＰＵ(Central Processing Unit)を有し、このＣＰＵは、通信装置に記憶されているコンピュータプログラムを実行することによって、種々の処理を実行する。
【０００４】
特許文献１に記載の通信システムでは、中継装置は、コンピュータプログラムを更新するための更新データを、前述した複数の通信線中の１つである送信線を介して通信装置に送信する。中継装置は、更新データを送信する場合、送信線について、通信負荷が高いか否かを判定する。
【０００５】
中継装置は、例えば、送信線を介してデータが送信されている送信時間が単位時間当たりに占める占有率が高いため、送信線の通信負荷が高いと判定した場合、送信線に接続されている全ての通信装置に制御指令を送信する。これにより、これらの通信装置は送信線を介して単位時間当たりに送信するデータの送信量を低下させるので、送信線の通信負荷は低下する。中継装置は、送信線の通信負荷を低下させた後、送信線を介して、コンピュータプログラムの更新対象である通信装置に更新データを送信する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１０６８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の通信システムでは、中継装置が、更新データを、送信線を介して通信装置に送信する場合において、送信線の通信負荷が高いとき、更新データを除く他のデータの単位時間当たりの送信量を低下させる。
【０００８】
送信線を介して送受信されるデータには、車両の運転に関するデータが含まれていると考えられる。車両の運転に関するデータの送受信が遅れた場合、車両内で行われる一部の制御が遅れる可能性がある。このため、更新データを除く他のデータの単位時間当たりの送信量を低下させることは好ましくない。また、更新データの送信は、通常、更新データの一部分である部分データを繰り返し送信することによって実現される。この場合においては、部分データを除く他のデータの単位時間当たりの送信量を低下させることは好ましくない。
【０００９】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、コンピュータプログラムの更新データの一部分である部分データを除く他のデータの単位時間当たりの送信量を低下させることなく、更新データを送信することができる中継装置、送信方法及びコンピュータプログラムと、該中継装置を備える通信システムとを提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係る中継装置は、複数の通信線に接続され、該複数の通信線中の２つの通信線夫々に接続されている２つの通信装置間の通信を中継する中継装置において、前記複数の通信線中の１つである第１通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出する算出部と、該算出部が算出した占有率に基づいて、コンピュータプログラムを更新するための更新データの一部分である部分データの単位時間当たりの送信量を決定する決定部と、該決定部が決定した単位時間当たりの送信量で、前記部分データを、前記第１通信線を介して繰り返し送信する送信部とを備えることを特徴とする。
【００１１】
本発明に係る中継装置は、第２通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出する第２の算出部と、該第２の算出部が算出した占有率に基づいて、前記部分データの単位時間当たりの送信量を決定する第２の決定部と、該第２の決定部が決定した単位時間当たりの送信量を示す送信量データを、前記第２通信線を介して送信する第２の送信部と、前記第２通信線を介して前記部分データを受信する受信部とを備えることを特徴とする。
【００１２】
本発明に係る中継装置は、前記決定部は、前記部分データの送信間隔を決定することによって、前記部分データの単位時間当たりの送信量を決定し、前記送信部は、該決定部が決定した送信間隔で、前記部分データを、前記第１通信線を介して繰り返し送信することを特徴とする。
【００１３】
本発明に係る中継装置は、前記算出部の算出及び前記決定部の決定は、該送信部が前記部分データを繰り返し送信している間に行われることを特徴とする。
【００１４】
本発明に係る中継装置は、前記送信部は、前記算出部が算出した占有率が所定率以上である間、前記部分データの送信を停止していることを特徴とする。
【００１５】
本発明に係る通信システムは、前述した中継装置と、前記２つの通信装置とを備えることを特徴とする。
【００１６】
本発明に係る送信方法は、通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出し、算出した占有率に基づいて、コンピュータプログラムを更新するための更新データの一部分である部分データの単位時間当たりの送信量を決定し、決定した単位時間当たりの送信量で、前記部分データを、前記通信線を介して繰り返し送信することを特徴とする。
【００１７】
本発明に係るコンピュータプログラムは、通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出し、算出した占有率に基づいて、コンピュータプログラムを更新するための更新データの一部分である部分データの単位時間当たりの送信量を決定し、決定した単位時間当たりの送信量で、前記部分データが、前記通信線を介して繰り返し送信されるようにデータの送信を指示する処理をコンピュータに実行させることを特徴とする。
【００１８】
本発明に係る中継装置、送信方法及びコンピュータプログラムにあっては、コンピュータプログラムの更新データの一部分である部分データを、通信線（第１通信線）を介して繰り返し送信する場合、この通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出し、算出した占有率に基づいて、部分データの単位時間当たりの送信量を決定する。その後、決定した単位時間当たりの送信量で部分データが送信される。
【００１９】
以上のように、通信線に係る占有率に基づいて、部分データの単位時間当たりの送信量を変更し、部分データを除く他のデータの単位時間当たりの送信量を変更することはない。このため、部分データを除く他のデータの単位時間当たりの送信量を低下させることなく、更新データが送信される。
【００２０】
本発明に係る中継装置にあっては、第２通信線を介して更新データを受信する場合、第２通信線について、データが送信されている送信時間が単位時間当たりに占める占有率を算出し、算出した占有率に基づいて、部分データの単位時間当たりの送信量を決定する。その後、決定した単位時間当たりの送信量を示す速度データを、第２通信線を介して送信し、部分データを、第２通信線を介して受信する。
【００２１】
以上のように、第２通信線に係る占有率に基づいて、部分データの単位時間当たりの送信量を変更し、部分データを除く他のデータの単位時間当たりの送信量を変更することはない。このため、部分データを除く他のデータの単位時間当たりの送信量を低下させることなく、部分データを、第２通信線を介して受信する。
【００２２】
本発明に係る中継装置にあっては、繰り返し送信される部分データの送信間隔を決定することによって、部分データの単位時間当たりの送信量の決定を実現する。
【００２３】
本発明に係る中継装置にあっては、部分データを繰り返し送信している間も、占有率の算出と、送信間隔の決定とを行う。これにより、部分データが繰り返し送信されている間も部分データの単位時間当たりの送信量が変更される。部分データを繰り返し送信している間に、通信線に係る占有率が変化した場合も、部分データの単位時間当たりの送信量は、変化した占有率に応じて変更される。
【００２４】
本発明に係る中継装置にあっては、第１通信線に係る占有率が所定率以上である間、部分データの送信を停止しているので、部分データを除く他のデータの送信に悪影響を与える確率は低い。
【００２５】
本発明に係る通信システムにあっては、中継装置は、複数の通信線中の２つの通信線夫々に接続されている２つの通信装置間の通信を中継する。中継装置は、複数の通信線中の１つである第１通信線を介して更新データを送信する。
【発明の効果】
【００２６】
本発明によれば、コンピュータプログラムの更新データの一部分である部分データを除く他のデータの単位時間当たりの送信量を低下させることなく、更新データを送信することができる。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態における通信システムの要部構成を示すブロック図である。
【図２】データフレームの説明図である。
【図３】無線器の要部構成を示すブロック図である。
【図４】無線器の更新データ送信処理の手順を示すフローチャートである。
【図５】無線器から中継装置への更新データの送信の説明図である。
【図６】中継装置の要部構成を示すブロック図である。
【図７】無線器バス占有率の算出処理の手順を示すフローチャートである。
【図８】データ長とフレーム長との関係を示す図表である。
【図９】応答処理の手順を示すフローチャートである。
【図１０】無線器バス占有率と送信間隔との関係を示す図表である。
【図１１】中継装置の更新データ送信処理の手順を示すフローチャートである。
【図１２】ＥＣＵバス占有率と送信間隔との関係を示す図表である。
【図１３】中継装置からＥＣＵへの更新データの送信の説明図である。
【図１４】ＥＣＵの要部構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
図１は、本実施の形態における通信システム１の要部構成を示すブロック図である。通信システム１は、中継装置１０、４つのＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ、無線器１３、２つのＥＣＵバス１４ａ，１４ｂ、無線器バス１５及びサーバ１６を備える。中継装置１０、ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ、無線器１３、ＥＣＵバス１４ａ，１４ｂ及び無線器バス１５は車両１００に搭載されている。
【００２９】
中継装置１０には、２つのＥＣＵバス１４ａ，１４ｂ及び無線器バス１５が各別に接続されている。ＥＣＵバス１４ａには、ＥＣＵ１１ａ，１２ａが更に接続されている。ＥＣＵバス１４ｂには、ＥＣＵ１１ｂ，１２ｂが更に接続されている。無線器バス１５には、無線器１３が更に接続されている。サーバ１６は、車両１００の外側に設置されており、外部のネットワークＮ１に接続されている。
【００３０】
ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々には、図示しない電気機器が接続されている。ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々は、自装置に接続されている電気機器に制御データを出力することによって、この電気機器の動作を制御する。
【００３１】
ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々は、通信装置として機能し、相互に有線で通信する。中継装置１０は、ＥＣＵバス１４ａに接続されているＥＣＵ、即ち、ＥＣＵ１１ａ，１２ａ中の１つと、ＥＣＵバス１４ｂに接続されているＥＣＵ、即ち、ＥＣＵ１１ｂ，１２ｂ中の１つとの間の通信を中継する。
【００３２】
例えば、ＥＣＵ１２ａは、車両１００のドアのロック又はアンロックの指示を使用者から受け付け、受け付けた指示を示す指示データを、中継装置１０に送信する。中継装置１０は、受信した指示データを、車両１００のドアのロック及びアンロックを行うドアモータに接続されているＥＣＵ１１ｂに送信する。また、例えば、ＥＣＵ１１ａは、車両１００の加速度を検出する加速度センサを有し、加速度センサが検出した加速度を示す加速度データを、中継装置１０に送信する。中継装置１０は、受信した加速度データを、車両１００のエアバッグの動作を制御するＥＣＵ１２ｂに送信する。
【００３３】
ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々は、無線器１３と有線で通信する。中継装置１０は、ＥＣＵバス１４ａに接続されているＥＣＵ、即ち、ＥＣＵ１１ａ，１２ａ中の１つと、無線器バス１５に接続されている無線器１３との間の通信を中継する。また、中継装置１０は、ＥＣＵバス１４ｂに接続されているＥＣＵ、即ち、ＥＣＵ１１ｂ，１２ｂ中の１つと、無線器バス１５に接続されている無線器１３との間の通信を中継する。無線器１３は、ネットワークＮ１を介してサーバ１６と無線で通信する。
【００３４】
例えば、ＥＣＵ１１ａは、車両の走行に関する速度又は加速度等の値を検出するセンサを有し、センサが検出した検出値を示す検出データを中継装置１０に送信する。中継装置１０は、受信した検出データを無線器１３に送信し、無線器１３は、受信した検出データをサーバ１６に送信する。また、例えば、ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々は、自装置、又は、自装置に接続されている電気機器の故障に関する診断結果を示す診断データを中継装置１０に送信する。中継装置１０は、受信した診断データを無線器１３に送信し、無線器１３は、受信した診断データをサーバ１６に送信する。更に、例えば、無線器１３は、サーバ１６から車両１００周辺の交通状況を示す交通データを受信し、受信した交通データを中継装置１０に送信する。中継装置１０は、受信した交通データを、ＥＣＵ１１ａ，１２ａ又はＥＣＵ１１ｂ，１２ｂに送信する。
【００３５】
以上のように、ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ及び無線器１３は相互に通信するため、ＥＣＵバス１４ａ，１４ｂ及び無線器バス１５夫々を介して、種々のデータが送信されている。
ＥＣＵバス１４ａ，１４ｂ夫々は第１通信線として機能し、無線器バス１５は第２通信線として機能する。
【００３６】
ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々には、制御プログラムが記憶されている（図１４を参照）。ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々において、制御プログラムが実行されることによって、電気機器を制御するための処理が実行される。
【００３７】
無線器１３は、ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ中の１つに記憶されている制御プログラムを更新するための更新データをサーバ１６から受信する。無線器１３は、サーバ１６から受信した更新データの一部分である部分データを、無線器バス１５を介して中継装置１０に繰り返し送信する。これにより、中継装置１０は更新データを受信する。中継装置１０は、無線器１３から受信した更新データの一部分である部分データを、ＥＣＵバス１４ａ，１４ｂ中の１つを介して繰り返し送信する。これにより、ＥＣＵ１１ａ，１２ａ又はＥＣＵ１１ｂ，１２ｂは更新データを受信する。ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々は、中継装置１０から受信した更新データに基づいて、自装置に記憶されている制御プログラムを更新する。
【００３８】
ＥＣＵバス１４ａ，１４ｂ及び無線器バス１５夫々を介した通信は、ＣＡＮ(Controller Area Network)プロトコル、又は、ＣＡＮ−ＦＤ(Controller Area Network with Flexible Data Rate)プロトコルに従って行われる。これらのプロトコルでは、データを含むデータフレームを送信することによって、データの送信を実現する。ＥＣＵバス１４ａ，１４ｂ及び無線器バス１５夫々はツイストペア線によって構成されている。
【００３９】
図２はデータフレームの説明図である。データフレームは、ＳＯＦ(Start Of Frame)、アービトレーションフィールド、コントロールフィールド、データフィールド、ＣＲＣ(Cyclic Redundancy Check)フィールド、ＡＣＫ(Acknowledge)及びＥＯＦ(End Of Frame)によって構成される。
【００４０】
ＳＯＦにはメッセージの開始を示す情報が含まれている。アービトレーションフィールドには、識別を行うための識別情報と、ＲＴＲ(Remote Transmission Request)ビットとが含まれる。
【００４１】
コントロールフィールドには、データフィールドに含まれているデータの長さ（以下、データ長という）を示す情報が含まれている。データ長の単位はバイトである。データフィールドには、通知されるべき内容を示すデータが含まれている。前述した指示データ、加速度データ、検出データ、交通データ及び部分データ夫々は、データフィールドに含まれるデータである。データフィールドに含まれるデータのデータ長について上限値が設けられている。データ長の上限値は、例えば８バイトである。従って、部分データのデータ長について上限値が設けられており、この上限値は、データフィールドに含まれるデータの上限値である。
【００４２】
ＣＲＣフィールドには、コード及びＣＲＣ境界を示す情報が含まれている。ＡＣＫはメッセージが正しく受信されたか否かの確認に用いられる。ＥＯＦにはメッセージの終了を示す情報が含まれている。
【００４３】
ＥＣＵバス１４ａに接続されている１つの装置がＥＣＵバス１４ａを介して送信したデータは、ＥＣＵバス１４ａに接続されている他の装置の全てによって受信される。同様に、ＥＣＵバス１４ｂに接続されている１つの装置がＥＣＵバス１４ｂを介して送信したデータは、ＥＣＵバス１４ｂに接続されている他の装置の全てによって受信される。また、無線器バス１５に接続されている１つの装置が無線器バス１５を介して送信したデータは、無線器バス１５に接続されている他の装置の全てによって受信される。
【００４４】
前述したように、データフレームには識別情報が含まれている。ＥＣＵバス１４ａ，１４ｂ及び無線器バス１５夫々において、複数のデータが同時に送信された場合、これらのデータに係る複数のデータフレーム夫々のアービトレーションフィールドに含まれる識別情報データに基づいて、アービトレーション（調停）が行われる。アービトレーションでは、同時に送信された複数のデータフレーム中の１つの送信元のみが送信を継続し、他のデータフレームの送信元は送信を停止する。
【００４５】
また、中継装置１０、ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ及び無線器１３夫々は、有線でデータを受信した場合、このデータに係るデータフレームに含まれている識別情報に基づいて、受信したデータを破棄すべきか否かを判定する。中継装置１０、ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ及び無線器１３夫々は、データを破棄すべきと判定した場合、受信したデータを破棄し、データを破棄すべきではないと判定した場合、受信したデータに係る処理を行う。
【００４６】
ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々は、部分データを受信した場合、受信した部分データを破棄すべきか否かを判定する。そして、ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々は、受信した部分データを破棄すべきではないと判定した場合、受信した部分データを記憶する。ＥＣＵ１１ａ，１１ｂ，１２ａ，１２ｂ夫々は、全ての部分データ、即ち、更新データを記憶した場合、この更新データに基づいて、制御プログラムを更新する。
【００４７】
図３は、無線器１３の要部構成を示すブロック図である。無線器１３は、無線通信部２０、有線通信部２１、タイマ２２、記憶部２３及び制御部２４を有する。これらはバス２５に各別に接続されている。有線通信部２１は、更に、無線器バス１５に接続されている。
【００４８】
無線通信部２０は、サーバ１６からネットワークＮ１を介して、データを無線で受信する。更新データは、無線通信部２０が受信するデータの１つである。無線通信部２０は、制御部２４の指示に従って、データを無線でサーバ１６に送信する。
【００４９】
有線通信部２１は、中継装置１０から無線器バス１５を介して、データを受信する。有線通信部２１は、制御部２４の指示に従って、データを中継装置１０に送信する。更新データの一部分である部分データは、有線通信部２１が送信するデータの１つである。
タイマ２２は、制御部２４の指示に従って、計時の開始及び終了を行う。タイマ２２が計時している計時時間は制御部２４によって読み出される。
【００５０】
記憶部２３は例えば不揮発性メモリである。記憶部２３には、制御プログラムＰ１が記憶されている。
制御部２４は図示しないＣＰＵを有する。制御部２４のＣＰＵは、制御プログラムＰ１を実行することによって、データ送信処理、無線送信処理及び更新データ送信処理等を実行する。制御プログラムＰ１は、制御部２４のＣＰＵにデータ送信処理、無線送信処理及び更新データ処理を実行させるためのコンピュータプログラムである。
【００５１】
なお、制御プログラムＰ１は、コンピュータが読み取り可能に、記憶媒体Ａ１に記憶されていてもよい。この場合、図示しない読み出し装置によって記憶媒体Ａ１から読み出された制御プログラムＰ１が記憶部２３に記憶される。記憶媒体Ａ１は、光ディスク、フレキシブルディスク、磁気ディスク、磁気光ディスク又は半導体メモリ等である。光ディスクは、ＣＤ（Compact Disc）−ＲＯＭ(Read Only Memory)、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ、又は、ＢＤ（Blu-ray(登録商標) Disc）等である。磁気ディスクは、例えばハードディスクである。また、図示しない通信網に接続されている図示しない外部装置から制御プログラムＰ１をダウンロードし、ダウンロードした制御プログラムＰ１を記憶部２３に記憶してもよい。
【００５２】
制御部２４は、データ送信処理、無線送信処理及び更新データ送信処理を、時分割方式で実行する。従って、制御部２４は、１つの処理で待機している間、他の処理を実行する。例えば、制御部２４は、更新データ送信処理で待機している間、データ送信処理を実行する。
【００５３】
データ送信処理は、更新データの一部分である部分データを除く他のデータを、無線器バス１５を介して送信するための処理である。制御部２４は、部分データを除く他のデータを無線通信部２０が受信した場合にデータ送信処理を実行する。データ送信処理では、制御部２４は、有線通信部２１に指示して、無線通信部２０が受信したデータを中継装置１０に送信させる。その後、制御部２４はデータ送信処理を終了する。
【００５４】
無線送信処理は、データを無線でサーバ１６に送信するための処理である。制御部２４は、有線通信部２１がデータを受信した場合、無線送信処理を実行する。無線送信処理では、制御部２４は、有線通信部２１が受信したデータのデータフレームに含まれている識別情報に基づいて、有線通信部２１が受信したデータを破棄すべきか否かを判定する。制御部２４は、有線通信部２１が受信したデータを破棄すべきと判定した場合、このデータを破棄し、無線送信処理を終了する。制御部２４は、有線通信部２１が受信したデータを破棄すべきではないと判定した場合、無線通信部２０に指示して、このデータをサーバ１６に無線で送信させ、無線送信処理を終了する。
更新データ送信処理は、更新データを、無線器バス１５を介して送信するための処理である。
【００５５】
図４は、無線器１３の更新データ送信処理の手順を示すフローチャートである。制御部２４は、無線通信部２０が更新データを受信した場合に更新データ送信処理を実行する。記憶部２３には、有線通信部２１が部分データを送信する時間間隔である無線器送信間隔と、部分データが送信された回数である無線器送信回数と、無線器送信回数に係る第１閾値とが記憶されている。第１閾値は、一定値であり、自然数である。
【００５６】
更新データ送信処理では、制御部２４は、有線通信部２１に、無線器送信間隔の通知を要求する要求データの送信を指示する（ステップＳ１）。これにより、有線通信部２１は要求データを中継装置１０に送信する。中継装置１０は、有線通信部２１から要求データを受信した場合、無線器送信間隔、又は、更新データの送信不可を示す応答データを送信する。
【００５７】
制御部２４は、ステップＳ１を実行した後、有線通信部２１が中継装置１０から応答データを受信したか否かを判定する（ステップＳ２）。制御部２４は、有線通信部２１が応答データを受信していないと判定した場合（Ｓ２：ＮＯ）、ステップＳ２を再び実行し、有線通信部２１が応答データを受信するまで待機する。
【００５８】
制御部２４は、有線通信部２１が応答データを受信したと判定した場合（Ｓ２：ＹＥＳ）、有線通信部２１が受信した応答データが送信不可を示すか否かを判定する（ステップＳ３）。制御部２４は、応答データが送信不可を示すと判定した場合（Ｓ３：ＹＥＳ）、ステップＳ１を実行する。ここで、制御部２４は、応答データが送信不可を示すと判定してから一定時間が経過した後にステップＳ１を実行する。制御部２４は、有線通信部２１が、送信不可を示さない応答データ、即ち、無線器送信間隔を示す応答データを受信するまで要求データを繰り返し送信する。
【００５９】
制御部２４は、応答データが送信不可を示していないと判定した場合（Ｓ３：ＮＯ）、記憶部２３に記憶されている無線器送信間隔を、有線通信部２１が受信した応答データが示す無線器送信間隔に変更し（ステップＳ４）、記憶部２３に記憶されている無線器送信回数をゼロに設定する（ステップＳ５）。
【００６０】
次に、制御部２４は、タイマ２２に指示して計時を開始させ（ステップＳ６）、有線通信部２１に部分データの送信を指示する（ステップＳ７）。これにより、有線通信部２１は、部分データを、無線器バス１５を介して、中継装置１０に送信する。
【００６１】
次に、制御部２４は、記憶部２３に記憶されている無線器送信回数を１だけインクリメントし（ステップＳ８）、更新データ、即ち、全ての部分データの送信が完了したか否かを判定する（ステップＳ９）。制御部２４は、更新データの送信が完了していないと判定した場合（Ｓ９：ＮＯ）、タイマ２２が計時している計時時間が、記憶部２３に記憶されている無線器送信間隔、即ち、有線通信部２１が受信した応答データが示す無線器送信間隔以上であるか否かを判定する（ステップＳ１０）。
【００６２】
制御部２４は、計時時間が無線器送信間隔未満であると判定した場合（Ｓ１０：ＮＯ）、ステップＳ１０を再び実行し、計時時間が無線器送信間隔以上となるまで待機する。制御部２４は、計時時間が無線器送信間隔以上であると判定した場合（Ｓ１０：ＹＥＳ）、タイマ２２に指示して計時を終了させ（ステップＳ１１）、記憶部２３に記憶されている無線器送信回数が第１閾値であるか否かを判定する（ステップＳ１２）。
【００６３】
制御部２４は、無線器送信回数が第１閾値ではない、即ち、無線器送信回数が第１閾値未満であると判定した場合（Ｓ１２：ＮＯ）、ステップＳ６を実行する。制御部２４は、更新データの送信が完了するか、又は、無線器送信回数が第１閾値に到達するまで、有線通信部２１に指示して、無線器送信間隔で部分データを繰り返し送信させる。
制御部２４は、無線器送信回数が第１閾値であると判定した場合（Ｓ１２：ＹＥＳ）、ステップＳ１を再び実行する。有線通信部２１は、再び、要求データを中継装置１０に送信し、中継装置１０から無線器送信間隔を示す応答データを受信する。有線通信部２１は、新たに受信した応答データが示す無線器送信間隔で部分データを繰り返し送信する。
【００６４】
制御部２４は、更新データの送信が完了したと判定した場合（Ｓ９：ＹＥＳ）、タイマ２２に指示して計時を終了させ（ステップＳ１３）、有線通信部２１に、更新データの送信が完了したことを示す完了データの送信を指示する（ステップＳ１４）。これにより、有線通信部２１は、完了データを、無線器バス１５を介して中継装置１０に送信し、中継装置１０に更新データの送信完了を通知する。
制御部２４は、ステップＳ１４を実行した後、更新データ送信処理を終了する。
【００６５】
図５は、無線器１３から中継装置１０への更新データの送信の説明図である。ここでは、第１閾値が３である場合における更新データの送信の一例が示されている。図５に示すように、無線器１３の有線通信部２１は、中継装置１０への更新データの送信を開始する場合、要求データを中継装置１０に送信し、無線器送信回数をゼロに設定する。有線通信部２１は、応答データを中継装置１０から受信し、受信した応答データが示す無線器送信間隔で部分データを繰り返し送信する。
【００６６】
制御部２４は、部分データが送信される都度、無線器送信回数を１だけインクリメントする。有線通信部２１は、無線器送信回数が第１閾値、即ち、３となった場合、再び要求データを送信し、応答データを中継装置１０から受信する。このとき、制御部２４は無線器送信回数をゼロに設定する。有線通信部２１は、中継装置１０から新たに受信した応答データが示す無線器送信間隔で部分データを中継装置１０に繰り返し送信する。
【００６７】
以上のように、無線器送信回数が第１閾値となる都度、有線通信部２１は、応答データを中継装置１０から新たに受信し、新たに受信した応答データが示す無線器送信間隔で部分データを繰り返し送信する。前述したように、部分データのデータ長について上限値が設けられている。更新データを構成する全ての部分データの中で最後に送信される部分データを除く他の部分データのデータ長は、上限値であり、一定である。
有線通信部２１は、更新データの送信が完了した場合、完了データを中継装置１０に送信し、更新データの送信完了を中継装置１０に通知する。
無線器送信間隔については後述する。
【００６８】
図６は、中継装置１０の要部構成を示すブロック図である。中継装置１０は、第１タイマ３０、２つの第２タイマ３１ａ，３１ｂ、２つの送信タイマ３２ａ，３２ｂ、第１通信部３３、２つの第２通信部３４ａ，３４ｂ、記憶部３５及び制御部３６を有する。これらは、バス３７に各別に接続されている。第１通信部３３は、更に無線器バス１５に接続されている。第２通信部３４ａは、更に、ＥＣＵバス１４ａに接続されている。第２通信部３４ｂは、更に、ＥＣＵバス１４ｂに接続されている。
【００６９】
第１タイマ３０、第２タイマ３１ａ，３１ｂ及び送信タイマ３２ａ，３２ｂ夫々は、制御部３６の指示に従って、計時の開始及び終了を行う。第１タイマ３０、第２タイマ３１ａ，３１ｂ及び送信タイマ３２ａ，３２ｂ夫々が計時した計時時間は制御部３６によって読み出される。
【００７０】
第１通信部３３は、無線器１３の有線通信部２１から、無線器バス１５を介してデータを受信する。更新データの一部分である部分データは、第１通信部３３が受信するデータの１つである。第１通信部３３は、制御部３６の指示に従って、無線器バス１５を介してデータを無線器１３の有線通信部２１に送信する。第１通信部３３は受信部として機能する。
【００７１】
第２通信部３４ａは、ＥＣＵ１１ａ，１２ａ夫々がＥＣＵバス１４ａを介して送信したデータを受信する。第２通信部３４ａは、制御部３６の指示に従って、ＥＣＵバス１４ａを介してデータをＥＣＵ１１ａ，１２ａに送信する。部分データは、第２通信部３４ａが送信するデータの１つである。
同様に、第２通信部３４ｂは、ＥＣＵ１１ｂ，１２ｂ夫々がＥＣＵバス１４ｂを介して送信したデータを受信する。第２通信部３４ｂは、制御部３６の指示に従って、ＥＣＵバス１４ｂを介してデータをＥＣＵ１１ｂ，１２ｂに送信する。部分データは、第２通信部３４ｂが送信するデータの１つである。
【００７２】
記憶部３５は例えば不揮発性メモリである。記憶部３５には、制御プログラムＰ２が記憶されている。
制御部３６は図示しないＣＰＵを有する。制御部３６は、記憶部３５に記憶されている制御プログラムＰ２を実行することによって、中継処理、無線器バス占有率の算出処理、ＥＣＵバス１４ａ，１４ｂ夫々に係るＥＣＵバス占有率の算出処理、要求データに対する応答処理、及び、ＥＣＵバス１４ａ，１４ｂ夫々を介して更新データを送信するための更新データ送信処理を実行する。
【００７３】
ここで、無線器バス占有率は、無線器バス１５について、送信が行われている送信時間が単位時間当たりに占める占有率である。ＥＣＵバス１４ａに係るＥＣＵバス占有率は、ＥＣＵバス１４ａについて、送信が行われている送信時間が単位時間当たりに占める占有率である。同様に、ＥＣＵバス１４ｂに係るＥＣＵバス占有率は、ＥＣＵバス１４ｂについて、送信が行われている送信時間が単位時間当たりに示す占有率である。これらの占有率の単位はパーセント（％）である。
【００７４】
制御プログラムＰ２は、制御部３６のＣＰＵに、中継処理、無線器バス占有率の算出処理、ＥＣＵバス１４ａ，１４ｂ夫々に係るＥＣＵバス占有率の算出処理、要求データに対する応答処理、及び、ＥＣＵバス１４ａ，１４ｂ夫々を介して更新データを送信するための更新データ送信処理を実行させるためのコンピュータプログラムである。
なお、制御プログラムＰ２は、コンピュータが読み取り可能に、記憶媒体Ａ２に記憶されていてもよい。この場合、図示しない読み出し装置によって記憶媒体Ａ２から読み出された制御プログラムＰ２が記憶部３５に記憶される。記憶媒体Ａ２は、光ディスク、フレキシブルディスク、磁気ディスク、磁気光ディスク又は半導体メモリ等である。また、図示しない通信網に接続されている図示しない外部装置から制御プログラムＰ２をダウンロードし、ダウンロードした制御プログラムＰ２を記憶部３５に記憶してもよい。
【００７５】
制御部３６は、中継処理、無線器バス占有率の算出処理、ＥＣＵバス１４ａ，１４ｂ夫々に係るＥＣＵバス占有率の算出処理、応答処理及び更新データ送信処理を、時分割方式で実行する。従って、制御部３６は、１つの処理で待機している間、他の処理を実行する。
【００７６】
中継処理は、ＥＣＵ１１ａ，１２ａ中の１つと、ＥＣＵ１１ｂ，１２ｂ中の１つとの間の通信、ＥＣＵ１１ａ，１２ａ中の１つと無線器１３との間の通信、及び、ＥＣＵ１１ｂ，１２ｂ中の１つと無線器１３との間の通信を中継するための処理である。制御部３６は、第１通信部３３が部分データを除く他のデータを受信した場合、又は、第２通信部３４ａ，３４ｂの一方がデータを受信した場合に中継処理を実行する。
【００７７】
第１通信部３３が、無線器１３から、部分データを除く他のデータを受信した場合、中継処理では、制御部３６は、第１通信部３３が受信したデータのデータフレームに含まれる識別情報に基づいて、第１通信部３３が受信したデータを破棄すべきか否かを判定する。制御部３６は、第１通信部３３が受信したデータを破棄すべきと判定した場合、このデータを破棄し、中継処理を終了する。制御部３６は、第１通信部３３が受信したデータを破棄すべきではないと判定した場合、このデータのデータフレームに含まれている識別情報に基づいて、第２通信部３４ａ，３４ｂ中の一方又は両方を選択し、選択した通信部に指示して、第１通信部３３が受信したデータを送信させる。
【００７８】
第２通信部３４ａが、ＥＣＵ１１ａ，１２ａ中の１つから、部分データを除く他のデータを受信した場合、中継処理では、制御部３６は、第２通信部３４ａが受信したデータのデータフレームに含まれる識別情報に基づいて、第２通信部３４ａが受信したデータを破棄すべきか否かを判定する。制御部３６は、第２通信部３４ａが受信したデータを破棄すべきと判定した場合、このデータを破棄し、中継処理を終了する。制御部３６は、第２通信部３４ａが受信したデータを破棄すべきではないと判定した場合、このデータのデータフレームに含まれている識別情報に基づいて、第１通信部３３及び第２通信部３４ｂ中の一方又は両方を選択し、選択した通信部に指示して、第２通信部３４ａが受信したデータを送信させる。
【００７９】
同様に、第２通信部３４ｂが、ＥＣＵ１１ｂ，１２ｂ中の１つから、部分データを除く他のデータを受信した場合、中継処理では、制御部３６は、第２通信部３４ｂが受信したデータのデータフレームに含まれる識別情報に基づいて、第２通信部３４ｂが受信したデータを破棄すべきか否かを判定する。制御部３６は、第２通信部３４ｂが受信したデータを破棄すべきと判定した場合、このデータを破棄し、中継処理を終了する。制御部３６は、第２通信部３４ｂが受信したデータを破棄すべきではないと判定した場合、このデータのデータフレームに含まれている識別情報に基づいて、第１通信部３３及び第２通信部３４ａ中の一方又は両方を選択し、選択した通信部に指示して、第２通信部３４ｂが受信したデータを送信させる。
【００８０】
図７は、無線器バス占有率の算出処理の手順を示すフローチャートである。制御部３６は無線器バス占有率の算出処理を周期的に実行する。記憶部３５には、無線器バス占有率と、無線器バス１５について、データが送信されている送信時間を示す無線器送信時間とが記憶されている。
【００８１】
無線器バス占有率の算出処理では、制御部３６は、記憶部３５に記憶されている無線器送信時間をゼロに設定し（ステップＳ２１）、第１タイマ３０に指示して計時を開始させる（ステップＳ２２）。次に、制御部３６は、第１通信部３３によって、データの送信又は受信が実行されたか否かを判定する（ステップＳ２３）。制御部３６は、データの送信又は受信が実行されたと判定した場合（Ｓ２３：ＹＥＳ）、データの送信又は受信で用いられたデータフレームのコントロールフィールドに含まれている情報からデータ長を読み出し（ステップＳ２４）、読み出したデータ長に対応するデータフレームのフレーム長を記憶部３５から読み出す（ステップＳ２５）。
なお、ステップＳ２５では、ステップＳ２４で読み出したデータ長を演算式に代入することによってフレーム長を算出してもよい。
【００８２】
図８はデータ長とフレーム長との関係を示す図表である。記憶部３５には、図８に示すようなデータ長とフレーム長との関係が記憶されている。データ長の単位は前述したようにバイトである。フレーム長の単位は秒である。図８の例では、データ長がゼロバイトであるデータフレームのフレーム長はＴ０であり、データ長が１バイトであるデータフレームのフレーム長はＴ１であり、データ長が２バイトであるデータフレームのフレーム長はＴ２である。ステップＳ２５では、制御部３６は、ステップＳ２４で読み出したデータ長に対応するフレーム長を読み出す。当然のことながら、データ長が大きい程、フレーム長は長い。このため、フレーム長Ｔ０が最も短く、フレーム長は、Ｔ０，Ｔ１，Ｔ２，・・・の順に長い。
【００８３】
次に、制御部３６は、記憶部３５に記憶されている無線器送信時間を、現在に記憶されている無線器送信時間にステップＳ２５で読み出したフレーム長を加算することによって算出される無線器送信時間に変更する（ステップＳ２６）。制御部３６は、データの送信及び受信が実行されていないと判定した場合（Ｓ２３：ＮＯ）、又は、ステップＳ２６を実行した後、第１タイマ３０が計時している計時時間が基準時間以上であるか否かを判定する（ステップＳ２７）。基準時間は、一定値であり、予め記憶部３５に記憶されている。
【００８４】
制御部３６は、計時時間が基準時間未満であると判定した場合（Ｓ２７：ＮＯ）、ステップＳ２３を実行する。制御部３６は、第１タイマ３０の計時時間が基準時間となるまでに、第１通信部３３が送受信した全てのデータフレームのフレーム長を加算することによって無線器送信時間を算出する。前述したように、無線器バス１５に接続されている１つの装置が送信したデータは、無線器バス１５に接続されている他の装置の全てによって受信される。従って、第１通信部３３が送受信した全てのデータフレームのフレーム長を加算することによって無線器送信時間を算出することができる。
【００８５】
制御部３６は、計時時間が基準時間以上であると判定した場合（Ｓ２７：ＹＥＳ）、第１タイマ３０に指示して計時を終了させ（ステップＳ２８）、記憶部３５に記憶されている無線器送信時間と１００との積を基準時間で除算することによって無線器バス占有率を算出する（ステップＳ２９）。次に、制御部３６は、記憶部３５に記憶されている無線器バス占有率を、ステップＳ２９で算出した無線器バス占有率に変更し（ステップＳ３０）、無線器バス占有率の算出処理を終了する。
【００８６】
制御部３６は、ＥＣＵバス１４ａ，１４ｂ夫々に係るＥＣＵバス占有率の算出処理を、無線器バス占有率の算出処理と同様に実行する。記憶部３５には、ＥＣＵバス１４ａ，１４ｂ夫々に係るＥＣＵバス占有率と、ＥＣＵバス１４ａ，１４ｂ夫々について、データが送信されている送信時間を示すＥＣＵ送信時間とが記憶されている。
【００８７】
無線器バス占有率の算出処理の説明において、無線器バス１５、第１タイマ３０、第１通信部３３、無線器送信時間及び無線器バス占有率夫々を、ＥＣＵバス１４ａ、第２タイマ３１ａ、第２通信部３４ａ、ＥＣＵバス１４ａに係るＥＣＵ送信時間、及び、ＥＣＵバス１４ａに係るＥＣＵバス占有率に置き換える。これにより、ＥＣＵバス１４ａに係るＥＣＵバス占有率の算出処理を説明することができる。
【００８８】
同様に、無線器バス占有率の算出処理の説明において、無線器バス１５、第１タイマ３０、第１通信部３３、無線器送信時間及び無線器バス占有率夫々を、ＥＣＵバス１４ｂ、第２タイマ３１ｂ、第２通信部３４ｂ、ＥＣＵバス１４ｂに係るＥＣＵ送信時間、及び、ＥＣＵバス１４ｂに係るＥＣＵバス占有率に置き換える。これにより、ＥＣＵバス１４ｂに係るＥＣＵバス占有率の算出処理を説明することができる。
【００８９】
ＥＣＵバス１４ａ，１４ｂ夫々に係るＥＣＵバス占有率の算出処理は、無線器バス占有率の算出処理と同様に周期的に実行される。このため、記憶部３５に記憶されている無線器バス占有率、及び、２つのＥＣＵバス占有率は、経時的に変更される。
制御部３６は、算出部及び第２の算出部として機能する。
【００９０】
図９は応答処理の手順を示すフローチャートである。制御部３６は、第１通信部３３が無線器１３の有線通信部２１から要求データを受信した場合に応答処理を実行する。応答処理では、制御部３６は、記憶部３５に記憶されている無線器バス占有率を読み出し（ステップＳ３１）、読み出した無線器バス占有率が第１基準率、例えば５０％未満であるか否かを判定する（ステップＳ３２）。第１基準率は、一定値であり、記憶部３５に予め記憶されている。
【００９１】
制御部３６は、無線器バス占有率が第１基準率未満であると判定した場合（Ｓ３２：ＹＥＳ）、ステップＳ３１で読み出した無線器バス占有率に基づいて無線器送信間隔を決定する（ステップＳ３３）。前述したように、更新データを構成する全ての部分データの中で最後に送信される部分データを除く他の部分データのデータ長は、上限値であり、一定である。従って、無線器送信間隔が短い程、無線器１３の有線通信部２１が送信する部分データの単位時間当たりの送信量は大きい。このため、ステップＳ３３で無線器送信間隔を決定することによって、部分データの単位時間当たりの送信量が決定される。制御部３６は第２の決定部としても機能する。
【００９２】
図１０は、無線器バス占有率と送信間隔との関係を示す図表である。記憶部３５には、図１０に示すような無線器バス占有率と送信間隔との関係が記憶されている。図１０の例では、０％以上かつ１０％未満である無線器バス占有率には送信間隔Ｅ０が対応する。１０％以上かつ２０％未満である無線器バス占有率には、送信間隔Ｅ０よりも長い送信間隔Ｅ１が対応する。２０％以上かつ３０％未満である無線器バス占有率には、送信間隔Ｅ１よりも長い送信間隔Ｅ２が対応する。３０％以上かつ４０％未満である無線器バス占有率には、送信間隔Ｅ２よりも長い送信間隔Ｅ３が対応する。４０％以上かつ５０％未満である無線器バス占有率には、送信間隔Ｅ３よりも長い送信間隔Ｅ４が対応する。図１０の例では第１基準率は５０％である。
【００９３】
ステップＳ３３では、制御部３６は、無線器送信間隔を、ステップＳ３１で読み出した無線器バス占有率に対応する送信間隔に決定する。図１０の例では、ステップＳ３１で読み出された無線器バス占有率が１５％である場合、ステップＳ３３では、無線器送信間隔は、送信間隔Ｅ１に決定される。
なお、ステップＳ３３では、制御部３６は、ステップＳ３１で読み出した無線器バス占有率を演算式に代入することによって送信間隔を算出し、無線器送信間隔を、算出した送信間隔に決定してもよい。
【００９４】
次に、制御部３６は、ステップＳ３３で決定した無線器送信間隔を示す応答データの送信を第１通信部３３に指示する（ステップＳ３４）。これにより、第１通信部３３は、制御部３６がステップＳ３３で決定した無線器送信間隔を示す応答データを無線器１３の有線通信部２１に送信する。
前述したように、無線器送信間隔を決定することによって、部分データの単位時間当たりの送信量が決定される。このため、制御部３６がステップＳ３３で決定した無線器送信間隔を示す応答データを送信することは、制御部３６がステップＳ３３で決定した単位時間当たりの送信量を示す応答データを送信することに相当する。
第１通信部３３は第２の送信部としても機能する。無線器送信間隔を示す応答データは送信量データに相当する。
【００９５】
制御部３６は、無線器バス占有率が第１基準率以上であると判定した場合（Ｓ３２：ＮＯ）、送信不可を示す応答データの送信を有線通信部２１に指示する。これにより、有線通信部２１は、送信不可を示す応答データを無線器１３に送信する。
制御部３６は、ステップＳ３４，Ｓ３５の一方を実行した後、応答処理を終了する。
【００９６】
以上のように、第１通信部３３が無線器１３の有線通信部２１から要求データを受信した場合において、無線器バス占有率が第１基準率未満であるとき、第１通信部３３は無線器送信間隔を示す応答データを送信する。無線器送信間隔は無線器バス占有率が小さい程短い。このため、図５に示すように、無線器バス占有率が小さい場合、無線器１３の有線通信部２１は短い無線器送信間隔で部分データを繰り返し送信し、無線器バス占有率が大きい場合、有線通信部２１は長い無線器送信間隔で部分データを繰り返し送信する。前述したように、無線器バス占有率の算出処理と応答処理とは、時分割方式で行われる。
【００９７】
従って、無線器バス占有率の算出と、無線器送信間隔の決定とは、無線器１３の有線通信部２１が部分データの送信を開始する前だけではなく、有線通信部２１が部分データを繰り返し送信している間も行われる。結果、無線器１３の有線通信部２１が部分データを繰り返し送信している間に、無線器バス占有率が変化した場合も、無線器送信間隔、即ち、部分データの単位時間当たりの送信量は、変化した無線器バス占有率に応じて変更される。
【００９８】
無線器バス占有率に基づいて、無線器送信間隔、即ち、部分データの単位時間当たりの送信量が変更され、無線器バス１５では部分データを除く他のデータの単位時間当たりの送信量を変更することはない。このため、部分データを除く他のデータの単位時間当たりの送信量を低下させることなく、中継装置１０の第１通信部３３は部分データを受信することができる。
【００９９】
通信システム１では、車両１００が停止しているために、部分データを除く他のデータの単位時間当たりの送信量が低下した場合には、部分データが短い送信間隔で送信され、車両１００が走行しているために、部分データを除く他のデータの単位時間当たりの送信量が増加した場合には、部分データが長い送信間隔で送信される。
【０１００】
無線器バス占有率が第１基準率以上である間、中継装置１０の第１通信部３３から無線器１３の有線通信部２１に送信不可の応答データが送信されるので、有線通信部２１は部分データの送信を停止している。このため、無線器バス１５において、部分データを除く他のデータの送信に悪影響を与える確率は低い。
【０１０１】
図１１は、中継装置１０の更新データ送信処理の手順を示すフローチャートである。図１１には、ＥＣＵバス１４ａを介して更新データを送信するための更新データ送信処理が示されている。制御部３６は、第１通信部３３が、無線器１３の有線通信部２１から、ＥＣＵ１１ａ，１２ａ中の１つの制御プログラムに係る更新データの一部分である部分データを受信した場合に更新データ送信処理を実行する。記憶部３５には、第２通信部３４ａが部分データを送信する時間間隔であるＥＣＵ送信間隔と、第２通信部３４ａが部分データを送信したＥＣＵ送信回数と、第２通信部３４ａのＥＣＵ送信回数に係る第２閾値とが記憶されている。第２閾値は、一定値であり、自然数である。
【０１０２】
制御部３６は、ＥＣＵバス１４ａに係るＥＣＵバス占有率を記憶部３５から読み出し（ステップＳ４１）、読み出したＥＣＵバス占有率が第２基準率、例えば４０％未満であるか否かを判定する（ステップＳ４２）。第２基準率は、一定値であり、予め記憶部３５に記憶されている。制御部３６は、ＥＣＵバス占有率が第２基準率以上であると判定した場合（Ｓ４２：ＮＯ）、ステップＳ４１を実行する。ここで、制御部３６は、ＥＣＵバス占有率が第２基準率以上であると判定してから一定時間が経過した後にステップＳ４１を実行する。制御部３６は、ＥＣＵバス１４ａに係るＥＣＵバス占有率が第２基準率未満となるまで待機する。
【０１０３】
制御部３６は、ＥＣＵバス占有率が第２基準率未満であると判定した場合（Ｓ４２：ＹＥＳ）、ステップＳ４１で読み出したＥＣＵバス占有率に基づいて、第２通信部３４ａのＥＣＵ送信間隔を決定する（ステップＳ４３）。更新データを構成する全ての部分データの中で最後に送信される部分データを除く他の部分データのデータ長は、上限値であり、一定である。従って、第２通信部３４ａのＥＣＵ送信間隔が短い程、第２通信部３４ａが送信する部分データの単位時間当たりの送信量は大きい。このため、ステップＳ４３で第２通信部３４ａのＥＣＵ送信間隔を決定することによって、部分データの単位時間当たりの送信量が決定される。制御部３６は決定部としても機能する。
【０１０４】
図１２は、ＥＣＵバス占有率と送信間隔との関係を示す図表である。記憶部３５には、図１２に示すようなＥＣＵバス占有率と送信間隔との関係が記憶されている。図１２の例では、０％以上かつ１０％未満であるＥＣＵバス占有率には送信間隔Ｇ０が対応する。１０％以上かつ２０％未満であるＥＣＵバス占有率には、送信間隔Ｇ０よりも長い送信間隔Ｇ１が対応する。２０％以上かつ３０％未満であるＥＣＵバス占有率には、送信間隔Ｇ１よりも長い送信間隔Ｇ２が対応する。３０％以上かつ４０％未満であるＥＣＵバス占有率には、送信間隔Ｇ２よりも長い送信間隔Ｇ３が対応する。図１２の例では第２基準率は４０％である。
【０１０５】
ステップＳ４３では、制御部３６は、ＥＣＵ送信間隔を、ステップＳ４１で読み出したＥＣＵバス占有率に対応する送信間隔に決定する。図１２の例では、ステップＳ４１で読み出されたＥＣＵバス占有率が２５％である場合、ステップＳ４３では、ＥＣＵ送信間隔は送信間隔Ｇ２に決定される。
なお、ステップＳ４３では、制御部３６は、ステップＳ４１で読み出したＥＣＵバス占有率を演算式に代入することによって送信間隔を算出し、第２通信部３４ａのＥＣＵ送信間隔を、算出した送信間隔に決定してもよい。
【０１０６】
次に、制御部３６は、記憶部３５に記憶されている第２通信部３４ａのＥＣＵ送信間隔を、ステップＳ４３で決定したＥＣＵ送信間隔に変更する（ステップＳ４４）。次に、制御部３６は、第２通信部３４ａのＥＣＵ送信回数をゼロに設定し（ステップＳ４５）、送信タイマ３２ａに指示して計時を開始させ（ステップＳ４６）、第２通信部３４ａに部分データの送信を指示する（ステップＳ４７）。これにより、第２通信部３４ａは、部分データをＥＣＵ１１ａ，１２ａに送信する。ＥＣＵ１１ａ，１２ａの一方は、受信した部分データを破棄し、ＥＣＵ１１ａ，１２ａの他方は、受信した部分データを記憶する。
【０１０７】
次に、制御部３６は、記憶部３５に記憶されている第２通信部３４ａのＥＣＵ送信回数を１だけインクリメントし（ステップＳ４８）、更新データ、即ち、全ての部分データの送信が完了したか否かを判定する（ステップＳ４９）。制御部３６は、更新データの送信が完了していないと判定した場合（Ｓ４９：ＮＯ）、送信タイマ３２ａが計時している計時時間が、記憶部３５に記憶されているＥＣＵ送信間隔、即ち、ステップＳ４３で決定したＥＣＵ送信間隔以上であるか否かを判定する（ステップＳ５０）。
【０１０８】
制御部３６は、計時時間がＥＣＵ送信間隔未満であると判定した場合（Ｓ５０：ＮＯ）、ステップＳ５０を再び実行し、計時時間がＥＣＵ送信間隔以上となるまで待機する。制御部３６は、計時時間がＥＣＵ送信間隔以上であると判定した場合（Ｓ５０：ＹＥＳ）、送信タイマ３２ａに指示して計時を終了させ（ステップＳ５１）、記憶部３５に記憶されているＥＣＵ送信回数が第２閾値であるか否かを判定する（ステップＳ５２）。
【０１０９】
制御部３６は、ＥＣＵ送信回数が第２閾値ではない、即ち、ＥＣＵ送信回数が第２閾値未満であると判定した場合（Ｓ５２：ＮＯ）、ステップＳ４６を実行する。制御部３６は、更新データの送信が完了するか、又は、ＥＣＵ送信回数が第２閾値に到達するまで、第２通信部３４ａに指示してＥＣＵ送信回数で部分データを繰り返し送信させる。
制御部３６は、ＥＣＵ送信回数が第２閾値であると判定した場合（Ｓ５２：ＹＥＳ）、ステップＳ４１を再び実行する。第２通信部３４ａは、ＥＣＵバス１４ａに係るＥＣＵバス占有率が第２基準率未満である場合、再び、ステップＳ４３を実行し、第２通信部３４ａはステップＳ４３で新たに決定したＥＣＵ送信間隔で部分データを繰り返し送信する。
【０１１０】
制御部３６は、更新データの送信が完了したと判定した場合（Ｓ４９：ＹＥＳ）、送信タイマ３２ａに指示して計時を終了させ（ステップＳ５３）、第２通信部３４ａに、更新データの送信が完了したことを示す完了データの送信を指示する（ステップＳ５４）。これにより、第２通信部３４ａは、完了データを、ＥＣＵバス１４ａを介してＥＣＵ１１ａ，１２ａに送信し、ＥＣＵ１１ａ，１２ａの中で部分データを記憶しているＥＣＵに更新データの送信完了を通知する。
制御部３６は、ステップＳ５４を実行した後、更新データ送信処理を終了する。
【０１１１】
制御部３６は、ＥＣＵバス１４ｂを介して更新データを送信するための更新データ送信処理を、ＥＣＵバス１４ａを介して更新データを送信するための更新データ送信処理と同様に実行する。
ＥＣＵバス１４ａを介して更新データを送信するための更新データ送信処理の説明において、ＥＣＵ１１ａ，１２ａ、ＥＣＵバス１４ａ、送信タイマ３２ａ、第２通信部３４ａ夫々を、ＥＣＵ１１ｂ，１２ｂ、ＥＣＵバス１４ｂ、送信タイマ３２ｂ、第２通信部３４ｂに置き換える。これにより、ＥＣＵバス１４ｂを介して更新データを送信するための更新データ送信処理を説明することができる。
【０１１２】
図１３は、中継装置１０からＥＣＵ１１ａ，１２ａへの更新データの送信の説明図である。ここでは、第２通信部３４ａのＥＣＵ送信回数に係る第２閾値が３である場合における更新データの送信の一例が示されている。
【０１１３】
図１３に示すように、制御部３６は、第２通信部３４ａに更新データの送信を開始させる場合、第２通信部３４ａのＥＣＵ送信間隔を、ＥＣＵバス１４ａに係るＥＣＵバス占有率に対応する送信間隔に決定する。第２通信部３４ａは、制御部３６が決定したＥＣＵ送信間隔、即ち、制御部３６が決定した単位時間当たりの送信量で部分データを繰り返し送信する。制御部３６は、決定したＥＣＵ送信間隔で第２通信部３４ａが部分データを繰り返し送信するように、部分データの送信を指示している。第２通信部３４ａは送信部として機能する。
【０１１４】
制御部３６は、部分データが送信される都度、第２通信部３４ａのＥＣＵ送信回数を１だけインクリメントする。制御部３６は、ＥＣＵ送信回数が第２閾値、即ち、３となった場合、再び、ＥＣＵバス１４ａに係るＥＣＵバス占有率に対応する第２通信部３４ａのＥＣＵ送信間隔を読み出し、第２通信部３４ａのＥＣＵ送信回数をゼロに設定する。第２通信部３４ａは、制御部３６が新たに決定したＥＣＵ送信間隔で部分データをＥＣＵ１１ａ，１２ａに繰り返し送信する。
【０１１５】
以上のように、第２通信部３４ａのＥＣＵ送信回数が、第２通信部３４ａのＥＣＵ送信回数に係る第２閾値となる都度、制御部３６は、ＥＣＵバス１４ａに係るＥＣＵバス占有率に対応する第２通信部３４ａのＥＣＵ送信間隔を決定し、第２通信部３４ａは、制御部３６が決定したＥＣＵ送信間隔で部分データを繰り返し送信する。また、前述したように、ＥＣＵバス１４ａに係るＥＣＵバス占有率の算出処理と、ＥＣＵバス１４ａを介して更新データを送信するための更新データ送信処理とは、時分割方式で行われる。
【０１１６】
従って、ＥＣＵバス１４ａに係るＥＣＵバス占有率の算出と、第２通信部３４ａが送信するＥＣＵ送信間隔の決定とは、第２通信部３４ａが部分データの送信を開始する前だけではなく、第２通信部３４ａが部分データを繰り返し送信している間も行われる。結果、第２通信部３４ａが部分データを繰り返し送信している間に、ＥＣＵバス１４ａに係るＥＣＵバス占有率が変化した場合も、ＥＣＵ送信間隔、即ち、部分データの単位時間当たりの送信量は、変化したＥＣＵバス占有率に応じて変更される。
【０１１７】
第２通信部３４ａは、更新データの送信が完了した場合、完了データをＥＣＵ１１ａ，１２ａに送信し、ＥＣＵ１１ａ，１２ａの中で部分データを記憶しているＥＣＵに更新データの送信完了を通知する。
【０１１８】
また、図１３に示すように、ＥＣＵバス１４ａに係るＥＣＵバス占有率が小さい場合、第２通信部３４ａは短いＥＣＵ送信間隔で部分データを繰り返し送信する。ＥＣＵバス１４ａに係るＥＣＵバス占有率が大きい場合、第２通信部３４ａは長いＥＣＵ送信間隔で部分データを繰り返し送信する。
【０１１９】
以上のように、ＥＣＵバス１４ａに係るＥＣＵバス占有率に基づいて、第２通信部３４ａのＥＣＵ送信間隔、即ち、部分データの単位時間当たりの送信量を変更し、ＥＣＵバス１４ａでは、部分データを除く他のデータの単位時間当たりの送信量を変更することはない。このため、部分データを除く他のデータの単位時間当たりの送信量を低下させることはなく、ＥＣＵ１１ａ，１２ａに更新データが送信される。
【０１２０】
通信システム１では、車両１００が停止しているために、部分データを除く他のデータの単位時間当たりの送信量が低下した場合には、部分データが短い送信間隔で送信され、車両１００が走行しているために、部分データを除く他のデータの単位時間当たりの送信量が増加した場合には、部分データが長い送信間隔で送信される。
【０１２１】
ＥＣＵバス１４ａに係るＥＣＵバス占有率が第２基準率以上である間、第２通信部３４ａは部分データの送信を停止している。このため、ＥＣＵバス１４ａにおいて、部分データを除く他のデータの送信に悪影響を与える確率は低い。
中継装置１０からＥＣＵ１１ｂ，１２ｂへの更新データも、中継装置１０からＥＣＵ１１ａ，１２ａへの更新データと同様に送信される。従って、第２通信部３４ｂも送信部として機能する。
【０１２２】
図１４はＥＣＵ１１ａの要部構成を示すブロック図である。ＥＣＵ１１ａは、出力部４０、通信部４１、記憶部４２及び制御部４３を有する。これらはバス４４に各別に接続されている。出力部４０は、更に、ＥＣＵ１１ａに対応する電気機器に接続されている。通信部４１は、更に、ＥＣＵバス１４ａに接続されている。
【０１２３】
出力部４０は、制御部４３の指示に従って、電気機器に制御データを出力する。電気機器は、通信部４１から入力された制御データに応じた動作を行う。
通信部４１は、ＥＣＵバス１４ａを介して、中継装置１０の第２通信部３４ａ及びＥＣＵ１２ａからデータを受信する。部分データは、通信部４１が第２通信部３４ａから受信するデータの１つである。通信部４１は、制御部４３の指示に従って、データを、中継装置１０の第２通信部３４ａ及びＥＣＵ１２ａにデータを送信する。
【０１２４】
記憶部４２は例えば不揮発性メモリである。記憶部４２には、制御プログラムＰ３及び更新プログラムＰ４が記憶されている。
制御部４３は図示しないＣＰＵを有する。制御部４３のＣＰＵは、制御プログラムＰ３を実行することによって、出力部４０に接続されている電気機器の動作を制御する制御処理と、通信部４１が受信した部分データを記憶部４２に記憶する記憶処理とを実行する。制御プログラムＰ３は、制御部４３のＣＰＵに、制御処理及び記憶処理を実行させるためのコンピュータプログラムである。
【０１２５】
制御部４３は、通信部４１が部分データを受信した場合に記憶処理を実行する。記憶処理では、制御部４３は、通信部４１が受信した部分データのデータフレームに含まれている識別情報に基づいて、通信部４１が受信した部分データを破棄すべきか否かを判定する。制御部４３は、通信部４１が受信した部分データを破棄すべきと判定した場合、この部分データを破棄する。制御部４３は、通信部４１が受信した部分データを破棄すべきではないと判定した場合、この部分データを記憶部４２に記憶する。
【０１２６】
制御部４３は、記憶部４２に更新データ、即ち、全ての部分データが記憶されている場合に更新プログラムＰ４を実行し、制御プログラムＰ３の更新処理を実行する。更新プログラムＰ４は、制御部４３のＣＰＵに制御プログラムＰ３の更新処理を実行させるためのコンピュータプログラムである。更新処理では、制御部４３は、記憶部４２に記憶されている更新データに基づいて、制御プログラムＰ３を更新する。
【０１２７】
ＥＣＵ１１ｂ，１２ａ，１２ｂ夫々はＥＣＵ１１ａと同様に構成されている。ＥＣＵ１１ａの構成の説明において、ＥＣＵ１１ａ，１２ａ夫々をＥＣＵ１２ａ，１１ａに置き換えることによって、ＥＣＵ１２ａの構成を説明することができる。また、ＥＣＵ１１ａの構成の説明において、ＥＣＵ１１ａ，１２ａ、ＥＣＵバス１４ａ及び第２通信部３４ａ夫々を、ＥＣＵ１１ｂ，１２ｂ，ＥＣＵバス１４ｂ及び第２通信部３４ｂに置き換えることによって、ＥＣＵ１１ｂの構成を説明することができる。更に、ＥＣＵ１１ａの構成の説明において、ＥＣＵ１１ａ，１２ａ、ＥＣＵバス１４ａ及び第２通信部３４ａ夫々を、ＥＣＵ１２ｂ，１１ｂ，ＥＣＵバス１４ｂ及び第２通信部３４ｂに置き換えることによって、ＥＣＵ１２ｂの構成を説明することができる。
【０１２８】
なお、ＥＣＵバス１４ａ，１４ｂ夫々について、部分データの単位時間当たりの送信量を決定する構成は、ＥＣＵ送信間隔を決定する構成に限定されない。直接に、部分データの単位時間当たりの送信量が決定されてもよい。同様に、無線器バス１５についても、部分データの単位時間当たりの送信量を決定する構成は、無線器送信間隔を決定する構成に限定されない。直接に、部分データの単位時間当たりの送信量が決定されてもよい。
【０１２９】
また、中継装置１０の第２通信部３４ａ，３４ｂ中の１つが部分データの送信を開始するタイミングは、第１通信部３３が全ての部分データの受信を完了する前であってもよいし、第１通信部３３が全ての部分データの受信を完了した後であってもよい。
更に、無線器１３の無線通信部２０がサーバ１６から一度に受信する更新データの数は、１つに限定されず、２つ以上であってもよい。例えば、無線通信部２０は、サーバ１６からＥＣＵ１１ａ，１１ｂ夫々の制御プログラムＰ３を更新するための更新データを受信する構成であってもよい。
【０１３０】
また、無線器送信間隔は、無線器バス占有率だけではなく、車両１００の速度、又は、車両１００のシフトレバーの位置等の車両１００の状態にも基づいて設定されてもよい。同様に、第２通信部３４ａ，３４ｂ夫々に係るＥＣＵ送信間隔は、ＥＣＵバス１４ａ，１４ｂ夫々に係るＥＣＵバス占有率だけではなく、車両１００の状態にも基づいて設定されてもよい。
【０１３１】
また、中継装置１０に接続されるＥＣＵバスの数は、２つに限定されず、３つ以上であってもよい。更に、中継装置１０に接続される無線器バス１５の数は、１つに限定されず、２つ以上であってもよい。また、ＥＣＵバスに接続されるＥＣＵの数は、２つに限定されず、１つ又は３つ以上であってもよい。各ＥＣＵバスに接続されるＥＣＵの数は同じでなくてもよい。また、無線器バスに無線器１３以外に通信装置が接続されてもよい。
【０１３２】
更に、ＥＣＵバス及び無線器バス夫々を介した通信のプロトコルは、ＣＡＮプロトコル又はＣＡＮ−ＦＤプロトコルに限定されず、例えば、イーサネット（登録商標）のプロトコルであってもよい。ＥＣＵバス及び無線器バス夫々を介した通信のプロトコルがＣＡＮプロトコル及びＣＡＮ−ＦＤプロトコルのいずれとも異なる場合、ＥＣＵバス１４ａ，１４ｂ及び無線器バス１５夫々はツイストペア線に限定されない。
【０１３３】
開示された本実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３４】
１  通信システム
１０  中継装置
１１ａ，１１ｂ，１２ａ，１２ｂ  ＥＣＵ（通信装置）
１４ａ，１４ｂ  ＥＣＵバス（第１通信線）
１５  無線器バス（第２通信線）
３３  第１通信部（第２の送信部、受信部）
３４ａ，３４ｂ  第２通信部（送信部）
３６  制御部（算出部、決定部、第２の算出部、第２の決定部）
Ｐ２，Ｐ３  制御プログラム（コンピュータプログラム）
【図１】
2018046515.tif 000003
【図２】
2018046515.tif 000004
【図３】
2018046515.tif 000005
【図４】
2018046515.tif 000006
【図５】
2018046515.tif 000007
【図６】
2018046515.tif 000008
【図７】
2018046515.tif 000009
【図８】
2018046515.tif 000010
【図９】
2018046515.tif 000011
【図１０】
2018046515.tif 000012
【図１１】
2018046515.tif 000013
【図１２】
2018046515.tif 000014
【図１３】
2018046515.tif 000015
【図１４】
2018046515.tif 000016