(57)【特許請求の範囲】
【請求項１】
複数のノードを多重通信線を介して互いに接続し、前記複数のノードの各々は、少なくとも送信データ発生時刻管理部と多重通信線上へのデータ送信制御部を備え、前記データ送信制御部から複数のデータを前記多重通信線上に送信する多重通信システムにおけるデータ送信制御方法において、
前記送信データ発生時刻管理部では、
送信データの定期送信タイムチャートにおける定期送信予定時刻か否かを監視し、
前記定期送信予定時刻であればその時刻を取得して保管し、かつ前記データ送信制御部の送信待ち列に前記送信データを転送し、
前記データ送信制御部からの前記送信データの多重通信線上への送信完了通知を受けたか否かを監視し、
前記送信完了通知を受けたときは送信完了時刻を取得して保管し、
前記取得した定期送信予定時刻と前記送信完了時刻の差を、送信遅延時間として計算し、
前記送信遅延時間が、一定時間より大きい場合は、定期送信タイムチャートを再構築し、前記一定時間より小さい場合は、当初の定期送信タイムチャートを実行する、
ことを特徴とする多重通信システムにおけるデータ送信制御方法。
【請求項２】
前記再構築は、前記送信遅延時間が一定時間より大きい場合は、常に実行する請求項１に記載の多重通信システムにおけるデータ送信制御方法。
【請求項３】
複数のノードを多重通信線を介して互いに接続し、前記複数のノードの各々は、少なくとも送信データ発生時刻管理部と多重通信線上へのデータ送信制御部を備え、前記データ送信制御部から複数のデータを前記多重通信線上に送信する多重通信システムにおけるデータ送信制御装置において、
前記送信データ発生時刻管理部には、
送信データの定期送信タイムチャートにおける定期送信予定時刻か否かを監視し、かつ前記データ送信制御部からの前記送信データの多重通信線上への送信完了通知を受けたか否かを監視する監視手段と、
前記定期送信予定時刻であればその時刻を取得して保管し、かつ前記データ送信制御部の送信待ち列に前記送信データを転送する取得及び転送手段と、
前記送信完了通知を受けたときは送信完了時刻を取得して保管し、かつ前記取得した定期送信予定時刻と前記送信完了時刻の差を送信遅延時間として計算する取得及び計算手段と、
前記送信遅延時間が、一定時間より大きい場合は、定期送信タイムチャートを再構築し、前記一定時間より小さい場合は、当初の定期送信タイムチャートを実行する再構築手段と、
を具備することを特徴とする多重通信システムにおけるデータ送信制御装置。
【請求項４】
前記再構築手段は、前記送信遅延時間が一定時間より大きい場合は、常に再構築を実行する請求項３に記載の多重通信システムにおけるデータ送信制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は多重通信システムにおけるデータ送信制御方法及び装置に関し、特に多重通信システムにおいて、通信遅れを無くし、通信効率の向上を可能にしたデータ送信制御方法及び装置に関する。
【０００２】
【従来の技術】
図４は車両用多重通信システムの要部構成図である。図中、ノード１、ノード２、ノード３等は車両用コンピュータであり、各ノードは多重通信線Ｌにより互いに接続されている。各ノードは、自身に接続されたスイッチやセンサからの入力を読み取り、当該スイッチやセンサの状態を判定してその結果を出力し、必要に応じて自身に接続されたモータやランプ等の負荷を制御する。あるいは、必要に応じて当該スイッチやセンサの状態を多重通信線Ｌを介して他のノードに送信する。また、各ノードは、上述の如くして他のノードが送信したデータを受信して、受信したデータの内容を判定し、必要に応じて自身に接続されたモータやランプ等の負荷を制御する。
【０００３】
ところで、このような多重通信システムにおいて、１つのノードが、データを多重通信線Ｌ上に送信するタイミングの点から見た送信方法として、一般に、送信データの内容に変化が生じた時に行うイベント送信と、送信データの内容が変化したか否かにかかわらず、データごとに予め設定された時間間隔（即ち、定期送信間隔）で定期的に送信する定期送信の２種類がある。
【０００４】
上記イベント送信は、例えば、車両におけるヘッドライト点灯・消灯スイッチデータのように、データ内容に生じた変化を速やかに他のノードに伝達したい時に行う。一方、上記定期送信は、例えば、エアコン制御用の車室内温度データのように、１秒ごとや５秒ごとなど定期的に更新されていればよく、特に急いで変化を伝達する必要のないデータを送信する時に行う。また、定期送信は、例えば、エンジン回転数のデータのように、非常に小刻みに変動するため、イベント送信を行うと送信頻度が高くなりすぎるようなデータを送信するときにも用いられる。
【０００５】
さらに、イベント送信を行うデータであっても、通信エラーなどの原因で、そのイベント送信が他のノードに届かなかったときのための補償として、定期送信を併用する場合もある。さらに、定期送信データを利用して、あるノードが正常に動作しているか否かを、当該ノードからの送信データが一定時間以上途絶えているか否かを判定することで、他のノードが確認することもできる。
【０００６】
図５は、図４における１つのノードの定期送信に着目した場合の内部構成と制御内容の一例であり、当該ノードが定期送信すべきデータとして、「エンジン回転数」、「車速」、「エンジン冷却水温」、「エンジンダイアグデータ」の４つのデータが設定されている場合の例である。
一般に、１つのノード内の送信部は、図示のように送信データ発生時刻を管理する（即ち、各定期送信データの定期送信間隔を管理する）部分と、多重通信線Ｌ上へのデータ送信を制御する部分とに分けられており、これら２つの部分を１つのＩＣ内で実現する場合もあれば、別々のＩＣを組み合わせて実現する場合もある。
【０００７】
まず、図示の送信データ発生時刻管理部では、当該ノードに設定されたそれぞれのデータごとに（なお、図５では、「エンジン回転数」データについてのみを処理フローチャートで示しているが、他のデータについても同様の処理を平行して行う）、データの定期送信予定時刻となったか否かを監視する（Ｓ１１）。そして、当該データの定期送信予定時刻となった場合（Ｙｅｓ）、当該データを図示のデータ送信制御部の送信待ち列（一般に「送信バッファ」と称する）に転送する（Ｓ１２）。そして、再びステップＳ１１に戻り、当該データの次回の定期送信予定時刻の監視に移る。
【０００８】
一方、図示のデータ送信制御部では、送信待ち列（送信バッファ）に多重通信線Ｌ上に送信すべきデータがあるか否かを監視している（Ｓ１３）。送信待ち列に送信すべきデータがある場合（Ｙｅｓ）、送信待ち列の先頭にあるデータを多重通信線Ｌ上に送信すべきデータとして取り出し（Ｓ１４）、当該データの多重通信線Ｌ上への送信を開始する（Ｓ１５）。そして、当該データの多重通信線Ｌ上への送信が完了したか否かを監視し（Ｓ１６）、完了していない場合には（Ｎｏ）、当該データの多重通信線Ｌ上への送信を継続する（Ｓ１７）。当該データの多重通信線Ｌ上への送信が完了している場合（Ｙｅｓ）、再びステップＳ１３に戻り、送信待ち列の監視に移る。
【０００９】
図６は各データの送信順番待ち列の構成例である。即ち、前述の送信待ち列において、「エンジン回転数」→「車速」→「エンジン冷却水温」→「エンジンダイアグデータ」の順に各データが送信順番待ちをしている場合の送信待ち列の内部構成例である。図示の例のように、送信待ち列には、図５に示した送信データ発生時刻管理部から転送された送信データがデータ送信制御部の送信待ち列に順次書き込まれていく。
【００１０】
この場合、送信待ち列における各データの多重通信線Ｌ上への送信順番の決め方としては、１つには、送信データ発生時刻管理部から送信待ち列に転送された順番を、そのまま各データの多重通信線Ｌ上への送信順番とする方法がある。他には、既に１つ以上のデータが送信待ち列にて送信順番待ちをしているところに、新たなデータが送信データ発生時刻管理部から送信待ち列に転送されてきたときに、既に送信待ち列にて送信待ちをしているデータの優先度と、新たに転送されてきたデータの優先度を比較して、比較の結果に従って新たに転送されてきたデータを送信待ち列の適当な順番に割り込ませるという方法がある。
【００１１】
そして、前述のように、図５のデータ送信制御部では、送信待ち列の先頭データを１つ取り出し、多重通信線Ｌ上に送信するのであるが、このとき取り出された先頭データ（図６では「エンジン回転数」）は送信待ち列から削除され、送信待ち列において２番目以降で送信順番待ちをしているデータの送信順番が一つずつ繰り上がるのである。
【００１２】
【発明が解決しようとする課題】
前述のように、あるノードにおいて、送信データ発生時刻管理部にて定期送信予定時刻を迎えたデータは、データ送信制御部の送信待ち列に転送され、送信待ち列の中で送信の順番が来てはじめて多重通信線Ｌ上への送信が開始される。さらに、データの多重通信線Ｌ上への送信は一瞬で終了するものではなく、当該データの多重通信線Ｌ上への送信が完了するまでには、多重通信の通信速度と当該データの長さによって決まる所定の時間が必要である。
【００１３】
また、その他にも、当該データが多重通信線Ｌ上に送信されている間に、多重通信線Ｌ上で他のノードから送信するデータと衝突した結果、当該データの送信を再度行わなければならなくなった場合、あるいは当該データの多重通信線Ｌ上への送信中に通信エラー（即ち、当該データの多重通信線Ｌ上への送信に対する他のノードからの受信通知が戻ってこない、等）が発生して、当該データの送信を再度行わなければならなくなった場合、など当該データの多重通信線Ｌ上への送信を再度行わなければならない分だけ、当該データの多重通信線Ｌ上への送信が完了するまでに時間が必要となる。
【００１４】
ところが、図５に示したように、１つのノードにて定期送信すべきデータが複数個（例えば、エンジン回転数データ、車速データ等）設定されている場合、これらデータごとに設定された定期送信間隔の公倍数にあたる時刻（図８参照）に、当該ノードにおいて複数個のデータが同時に定期送信予定時刻を迎えることになり、各データは図６に示した当該ノードの送信待ち列で送信順番待ちをすることになる。そして、前述のように、複数個の送信データが送信待ち列で送信順番待ちをする場合、送信待ち列の後方に並んだデータほど、定期送信予定時刻を迎えて送信待ち列に転送されてから多重通信線Ｌ上への送信の順番が来るまでの待ち時間が長くなり、その結果、当該データの多重通信線Ｌ上への送信の実際に完了する時刻（「送信完了時刻」とも称する）が、定期送信予定時刻（即ち、前述のように当該データが送信待ち列に転送された時刻）から大幅に遅れる（即ち、送信遅延時間が大きくなる）という問題が発生する。
【００１５】
上述の問題を以下に具体例をあげて説明する。図７及び図８は、あるノードに設定された定期送信データの定期送信タイムチャート（各データの定期送信予定時刻を示した図）の具体例であり、いずれも横軸は当該ノードが動作を開始してからの時間経過をミリ秒（ｍｓ）で表している。
今、図７に示すように、当該ノードには定期送信すべきデータとして「エンジン回転数」、「車速」、「エンジン冷却水温」、「エンジンダイアグデータ」の４つが設定されており、これら４つのデータの定期送信間隔が全て同じ５００ｍｓであるとすると、上述のように、当該ノードでは５００ｍｓごとにこれら４つのデータが同時に送信予定時刻を迎えることになる（即ち、図７において、各データの定期送信予定時刻を示す黒点が４つ同時刻の線上に並ぶ）。そして、各データが当該ノードのデータ送信制御部の送信待ち列に転送されるが、このとき前述のように送信待ち列の中で各データの送信の順番が決まる。そして、例えば図６に示すように、「エンジン回転数」→「車速」→「エンジン冷却水温」→「エンジンダイアグデータ」の順番に送信待ち列に並んだとすると、前述のように後方に並んだデータほど送信遅延時間が大きくなる。
【００１６】
また、図８に示すように、これら４つのデータの定期送信間隔が、「エンジン回転数」が２５０ｍｓ、「車速」が３００ｍｓ、「エンジン冷却水温」が５００ｍｓ、「エンジンダイアグデータ」が６００ｍｓ、とそれぞれ異なる場合であっても、それぞれの定期送信間隔の最小公倍数にあたる３０００ｍｓごとに４つのデータが同時に定期送信予定時刻を迎えることになり（即ち、図８の３０００ｍｓに示すように、各データの定期送信予定時刻を示す黒点が４つ同時刻の線上に並ぶ）、その時刻に前述の図７の例と同様の不具合が生じる。
【００１７】
上述の例のように、あるノードにおいて、ある特定の時刻に、送信すべきデータが複数個同時に定期送信予定時刻を迎えて、当該ノードのデータ送信制御部の送信待ち列の後方に並んだデータほど送信遅延時間が大きくなるという現象は、１つのノードに設定された定期送信すべきデータの数が多ければ多いほど顕著になる。
【００１８】
本発明の目的は、上述の問題に鑑み、ある定期送信データに送信遅延が生じたとき、定期送信データの定期送信タイムチャートを再構築することで送信の輻輳を緩和し、データ送信の均一化を図ることにある。
【００１９】
【課題を解決するための手段】
請求項１及び３の発明によれば、ある定期送信データに送信遅延が生じたとき、定期送信データの定期送信タイムチャートを再構築することで送信の輻輳を緩和し、データ送信の均一化を図ることができる。
即ち、あるノードの、あるデータの多重通信線Ｌ上への１回の送信が完了するごとに、定期送信における送信遅延時間Δｔを監視し、送信遅延時間Δｔが予め設定した時間より大きくなるごとに、当該データの定期送信タイムチャートを再構築することにより、データ送信制御部の送信待ち列に多くの送信データが送信順番待ちをしている可能性のある時刻を避けて、送信待ち列で送信順番待ちをしているデータが比較的少ないと判断できる時刻に、当該データの定期送信予定時刻を自動的にずらしていくことで、当該ノードの送信待ち列に多くのデータが一度に送信順番待ちをすることがなく、当該ノードに設定された各定期送信データの送信遅延時間が大きくなることを避けることができる。
【００２０】
さらに、請求項２及び４の発明によれば、定期送信タイムチャートの再構築を繰返し行うことで、定期送信予定時刻を自動的により一層分散されることができ、上述の効果をより顕著にすることができる。
【００２１】
【発明の実施の形態】
図１は上述の送信遅延時間Δｔの定義を説明する図である。ｔ１は、ある１つのノードにおける、ある１つのデータの今回の定期送信予定時刻であり、ｔ２は当該データの多重通信線Ｌ上への今回の送信が完了した時刻（送信完了時刻）である。この２つの時刻の差を、当該データの今回の定期送信における送信遅延時間Δｔと定義する。送信遅延時間Δｔは前述のように、当該データが送信待ち列の後ろに並ぶことになると大きくなる。また、送信遅延時間Δｔは、当該データが多重通信線Ｌ上に送信されている間に、多重通信線Ｌ上で他のノードから送信するデータと衝突した結果、当該データの送信を再度行わなければならなくなった場合、あるいは当該データの多重通信線Ｌ上への送信中に通信エラー（即ち、当該データの多重通信線Ｌ上への送信に対する、他のノードからの受信通知が戻ってこない、等）が発生して、当該データの送信を再度行わなければならなくなった場合などに、送信を再度行わなければならない分だけ大きくなる。
【００２２】
図２は本発明の具体的な実施形態である。図中のＳ１は、ある１つの定期送信データの送信タイムチャートの初期状態を示し、Ｔは当該データに設定した定期送信間隔である（前述の図７及び図８の黒点間に相当）。当該データは時刻ｔ３においても定期送信予定時刻を迎え、前述の送信待ち列にて待たないとするならば多重通信線Ｌ上に送信されるはずである。しかし、定期送信における送信遅延時間が大きくなり、当該データの多重通信線Ｌ上への送信が完了した送信完了時刻がｔ４であったとする。そうすると、定期送信における送信遅延時間は、定期送信予定時刻ｔ３と送信完了時刻ｔ４の差のΔｔ１となる。本発明では、送信遅延時間Δｔ１が予め決められた一定時間よりも大きい場合には、当該データの定期送信タイムチャートの再構築を行う。
【００２３】
具体的な方法としては、当該データの次回の定期送信予定時刻を、当該データの今回の多重通信線Ｌ上への送信が完了した送信完了時刻ｔ４から数えて、当該データに設定さてた定期送信間隔Ｔ後の時刻ｔ５とする。上述の１回再構築後の当該データの定期送信タイムチャートがＳ２である。なお、送信遅延時間Δｔ１が、予め決められた一定時間より小さい場合には、即ち、当該データの定期送信タイムチャートの再構築は行わない場合には、当該データの次回の定期送信予定時刻は、当該データの今回の定期送信予定時刻ｔ３から数えて、当該データの定期送信間隔Ｔ後の時刻ｔ６となる。
【００２４】
さらに、Ｓ２の定期送信タイムチャートに従えば、当該データは時刻ｔ７においても定期送信予定時刻を迎え、送信待ち列で待たないとすれば多重通信線Ｌ上に送信されるはずであるが、定期送信において再び送信遅延時間が大きくなり、当該データの多重通信線Ｌ上への送信が完了した送信完了時刻がｔ８であったとする。この場合、定期送信予定時刻ｔ７と実送信完了時刻ｔ８との時間差Δｔ２が定期送信における送信遅延時間となる。そして、本発明では送信遅延時間Δｔ２が予め決められた一定時間より大きい場合には、再度、当該データの定期送信タイムチャートの再構築を行う。
【００２５】
即ち、当該データの次回の定期送信予定時刻を、当該データの今回の多重通信線Ｌ上への送信が完了した送信完了時刻ｔ８から数えて、当該データに設定された定期送信間隔Ｔ後の時刻ｔ９とする。このようにして２回再構築後の当該データの定期送信タイムチャートがＳ３である。なお、この場合も、送信遅延時間Δｔ２が、予め決められた一定時間よりも小さい場合には、即ち、当該データの定期送信タイムチャートの再構築は行わない場合には、当該データの次回の送信予定時刻は、当該データの今回の定期送信予定時刻ｔ７から数えて、当該データに設定された定期送信間隔Ｔ後の時刻ｔ１０となる。
【００２６】
上述のように、本発明では、あるノードにおける、ある定期送信タイムチャートの再構築は１回だけでなく、当該ノードの動作中は定期送信の送信遅延時間Δｔが予め決められた一定時間よりも大きくなる度に何度でも行うものとする。なお、本発明では、あるデータに設定された定期送信間隔Ｔは常に一定であり、再構築後でも定期送信間隔Ｔは変化しない。
【００２７】
図３は、ある１つのノードの定期送信に着目し、本発明を実施した場合の当該ノードの内部構成と制御内容の一例であり、当該ノードが定期送信すべきデータとして、「エンジン回転数」、「車速」、「エンジン冷却水温」、「エンジンダイアグデータ」の４つのデータが設定されている場合の例である。
まず、図示の送信データ発生時刻管理部では、当該ノードに設定されたそれぞれのデータごとに（本例では「エンジン回転数」データについてのみ処理フローチャートの一例が示してあるが、他のデータについても同様の処理を平行して行う）、当該データの定期送信予定時刻であるか否かを監視する（Ｓ２１）。そして、当該データの定期送信予定時刻である場合（Ｙｅｓ）、定期送信予定時刻を取得して保管する（Ｓ２２）。次に、当該データを図示のデータ送信制御部の送信待ち列（送信バッファ）に転送する（Ｓ２３）。そして、次にデータ送信制御部から当該データの多重通信線Ｌ上への送信の完了通知を受けたか否か監視し、データ送信制御部から送られて来るのを待つ（Ｓ２４）。
【００２８】
データ送信制御部から、送信完了通知を受けた場合は（Ｙｅｓ）、送信完了通知を受け取ったときの時刻を、当該データの今回の定期送信における多重通信線Ｌ上への送信完了時刻として取得し保管する（Ｓ２５）。
次に、ステップＳ２２にて取得した定期送信予定時刻と、ステップＳ２５にて取得した送信完了時刻の差から、当該データの今回の定期送信における送信遅延時間Δｔを計算し、送信遅延時間Δｔが予め決められた一定時間より大きいか否かを判定する（Ｓ２６）。
【００２９】
送信遅延時間Δｔが予め決められた一定時間より大きいと判定された場合（Ｙｅｓ）、図１にて説明のように当該データの定期送信タイムチャートを再構築して、当該データの次回の定期送信予定時刻を決める（Ｓ２７）。また、送信遅延時間Δｔが予め決められた一定時間より小さいと判定された場合（Ｎｏ）、当該データの定期送信タイムチャートの再構築は行わず、定期送信タイムチャートに従って、当該データの次回の定期送信予定時刻を決める（Ｓ２８）。そして、再度、ステップＳ２１に戻り、当該データの定期送信予定時刻の監視に移る。
【００３０】
一方、図示のデータ送信制御部では、ステップＳ２９からＳ３３までは、前述の図５のステップと同様であるが、本発明では、ステップＳ３４が追加されている。即ち、前述と同様に、データ送信制御部は、送信待ち列（送信バッファ）に送信すべきデータがあるか否かを監視し（Ｓ２９）、送信待ち列に送信すべきデータがある場合（Ｙｅｓ）、送信待ち列の先頭にあるデータを、多重通信線Ｌ上に送信すべきデータとして取り出し（Ｓ３０）、当該データの多重通信線Ｌ上への送信を開始する（Ｓ３１）。そして、当該データの多重通信線Ｌ上への送信が完了したか否か監視し（Ｓ３２）、送信が完了していなければ（Ｎｏ）、送信が完了するまで当該データの多重通信線Ｌ上への送信を継続する（Ｓ３３）。
【００３１】
本発明では、ステップＳ３２にて当該データの多重通信線Ｌ上への送信が完了していれば（Ｙｅｓ）、データ送信制御部は、送信データ発生時刻管理部に対して、当該データの多重通信線Ｌ上への送信が完了したことを通知する（Ｓ３４）。送信データ発生時刻管理部では、ステップＳ２４で説明したように、この送信完了通知を受けたか否かを監視している。そして、データ送信制御部では、完了通知後に再びステップＳ２９に戻り、送信待ち列の監視に移る。
【００３２】
以上説明したように、あるノードの、あるデータの多重通信線Ｌ上への１回の送信が完了するごとに、定期送信における送信遅延時間Δｔを判定し、送信遅延時間Δｔが予め設定した時間より大きくなるごとに、当該データの定期送信タイムチャートを再構築することにより、データ送信制御部の送信待ち列に多くの送信データが送信順番待ちをしている可能性のある時刻を避けて、送信待ち列で送信順番待ちをしているデータが比較的少ないと判断できる時刻に、当該データの定期送信予定時刻を自動的にずらしていくことで、当該ノードの送信待ち列に多くのデータが一度に送信順番待ちをすることがなく、当該ノードに設定された各定期送信データの送信遅延時間が大きくなることを避けることができる。
【図面の簡単な説明】
【図１】定期送信における送信遅延時間Δｔの定義を説明する図である。
【図２】本発明の具体的な定期送信タイムチャートの説明図である。
【図３】本発明における定期送信データの送信制御方法の一例説明図である。
【図４】車両用多重通信システムの要部構成図である。
【図５】従来技術による定期送信データの送信制御方法の一例説明図である。
【図６】送信待ち列（送信バッファ）の一例内部構成図である。
【図７】車両用多重通信システムにおける、ある１つのノードに設定された定期送信データの、定期送信タイムチャートの説明図（その１）である。
【図８】車両用多重通信システムにおける、ある１つのノードに設定された定期送信データの、定期送信タイムチャートの説明図（その２）である。
【符号の説明】
１〜３…車両用コンピュータ（ノード）
Ｔ…定期送信間隔
Δｔ，Δｔ１，Δｔ２…送信遅延時間
ｔ１，ｔ３，ｔ５，ｔ６，ｔ７，ｔ９，ｔ１０…定期送信予定時刻
ｔ２，ｔ４，ｔ８…送信完了時刻
Ｓ１…当初の定期送信タイムチャート
Ｓ２，Ｓ３…再構築後の定期送信タイムチャート
【図１】
0003815873.tif 000002
【図２】
0003815873.tif 000003
【図３】
0003815873.tif 000004
【図４】
0003815873.tif 000005
【図５】
0003815873.tif 000006
【図６】
0003815873.tif 000007
【図７】
0003815873.tif 000008
【図８】
0003815873.tif 000009