(57)【特許請求の範囲】
【請求項１】
共通の伝送路を介して複数の通信装置が接続され、該複数の通信装置間で非同期式の一対多通信によりフレーム信号とデータ信号とを用いてデータの授受を行うシステムにおいて、
前記複数の通信装置のうちいずれか１つの通信装置を送信ノードとし、他の全ての通信装置を受信ノードとして、前記送信ノードからフレーム信号と共に同報データを送信し、前記各受信ノードからそれぞれフレーム信号と共に前記同報データの受信を指示するＡＣＫデータを送信する際に、
前記送信ノードにおいて、前記フレーム信号を活性レベルにして前記同報データを送信し、該同報データの送信後に該フレーム信号を非活性レベルにし、規定の時間の経過後に該フレーム信号を再び活性レベルにして、該フレーム信号を所定期間活性レベルに保持しておき、
前記送信ノードにおいて前記フレーム信号が活性レベルに保持されている前記所定期間中に、前記各受信ノードにおいて、それぞれ前記フレーム信号を活性レベルにして、Ｌレベル又はＨレベルの一方の論理レベルに固定化したデータを前記ＡＣＫデータとして送信するようにしたことを特徴とする同報／ＡＣＫ送信方式。
【請求項２】
前記複数の通信装置は、それぞれ通信機能を有するコンピュータを内蔵した車載用の電子機器であることを特徴とする請求項１に記載の同報／ＡＣＫ送信方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信方式に関し、より詳細には、共通の伝送路を介して複数の通信装置（ノード）間を結合するＬＡＮ(Local Area Network)、ＳＡＮ(System AreaNetwork)等のネットワークにおいて、非同期式の一対多通信により同報データの送信及びその受信を指示するデータ（以下、「ＡＣＫ(acknowledgment)データ」という。）の送信を行う際にそのＡＣＫデータの確認を確実に行うのに適応された同報／ＡＣＫ送信方式に関する。
【０００２】
本発明に係る同報／ＡＣＫ送信方式は、例えば、車載用の電子機器（各々が通信機能を有するマイクロコンピュータ（以下、便宜上、「マイコン」という。）を内蔵したナビゲーション用コントローラ、ディスプレイ装置、ＣＤチェンジャ等）が共通のバスを介して接続されたシステムに適用され得る。
【０００３】
【従来の技術】
共通の伝送路を介して複数の通信装置（ノード）が接続されたシステムにおいて、一対一通信を行う場合、送信ノードから送出された送信データが正しく受信ノードに届いたことを示すために、受信ノードから送信ノードに対して必ずＡＣＫデータが送信される。
【０００４】
これに対し、一対多通信（同報通信）においては、１つの送信ノードから複数の受信ノードに対してデータ（同報データ）を送信するため、これに対する応答の仕方として種々の方法が採用されている。現在採用されている方法としては、各受信ノードから一切ＡＣＫデータを送信しない方法、予め決められた代表ノードだけがＡＣＫデータを送信する方法、全ての受信ノードがＡＣＫデータを送信する方法のいずれかである。
【０００５】
各受信ノードからＡＣＫデータを送信しない方法を採用した場合には、各ノード（通信装置）においてＡＣＫデータを送信するための制御回路等が不要となるのでハードウエア構成が簡素化されるというメリットがあるが、その一方で、以下の問題がある。
例えば、送信ノードからの同報データの送信が失敗した場合（つまり、各受信ノードに対して同報データが正しく伝わらなかった場合）、各受信ノードからは何の応答も送信されないため、送信ノード側では、同報データの送信が失敗したことを確認することができず、また同報データを再送信するためのリカバリーを行うことができないといった不都合が生じる。これは、円滑な同報通信の実現を妨げることにつながる。
【０００６】
一方、予め決められた代表ノードだけがＡＣＫデータを送信する方法を採用した場合には、上記のように同報データの送信が失敗した場合でもその「失敗」は送信ノードに伝わるので上記の不都合は解消される。
しかしこの方法では、システム上でいずれのノードがＡＣＫデータを送信すべきかを予め決めておかねばならず、また、代表ノードについてはＡＣＫデータを送信するための制御回路等が必要となるため、ハードウエア構成が複雑化するといった不都合が生じる。
【０００７】
これに対し、全ての受信ノードがＡＣＫデータを送信する方法を採用した場合には、上記のような同報データの送信の「失敗」に起因する不都合は解消され、また、いずれのノードを代表ノードとすべきかを予め決めておく必要もない。
しかしこの方法では、全ての受信ノードがそれぞれＡＣＫデータを共通の伝送路に送出するため、各々のＡＣＫデータがタイミング的に重なり合わないように各ノードのハードウエア構成を工夫する必要がある。さもなければ、送信ノード側で各受信ノードからのＡＣＫデータを確実に確認することはできない。
【０００８】
各受信ノードから送信されるＡＣＫデータが互いに重なり合わないようにするためには、１つの方法として、各ＡＣＫデータを互いに所定時間だけずらして送信する方法（つまり、同期がとれる送信方法）がある。
かかる同期式の一対多通信によれば、送信ノード側で各受信ノードからのＡＣＫデータを確実に確認することができる。
【０００９】
【発明が解決しようとする課題】
しかしながら、非同期式の一対多通信では、上述した不都合を必ずしも解消できるとは限らず、各受信ノードからのＡＣＫデータの送信タイミングによってはＡＣＫデータが重なり合ってしまう場合もある。その一例を、図５に示す動作波形図を参照しながら説明する。
【００１０】
図５の例示では、共通の伝送路を介して４つのノード（通信装置）Ａ，Ｂ，Ｃ及びＤが接続されたシステムにおいて、ノードＡを送信ノードとし、他のノードＢ，Ｃ及びＤを受信ノードとして一対多通信（同報／ＡＣＫ送信）を非同期で行った場合の動作タイミング波形の一例が示されている。
図５において、送信ノードＡのデータ信号は同報データを、受信ノードＢ，Ｃ及びＤの各データ信号はＡＣＫデータを示す。図示の例では、受信ノードＢ，Ｃ及びＤからそれぞれＡＣＫデータとして同じデータ：０ｘＣＢ（１１００１０１１ｂ）が送出されている。このＡＣＫデータは、ＬレベルとＨレベルの論理が混在したデータである。
【００１１】
また、共通の伝送路上には、各ノードの送受信データが「論理積」の形態で現れている。図示の例では、電気的に低いレベル、すなわち「０」レベル（以下、「Ｌレベル」という。）が電気的に高いレベル、すなわち「１」レベル（以下、「Ｈレベル」という。）よりも優先して現れる論理となっている。これは、１本の伝送路を共有して複数のノード間で通信を行う方式では、一般に、各ノードの伝送路とのインタフェース部分に「オープンドレイン」構成の回路を用いているからである。
【００１２】
図５の動作タイミング波形を参照すると、受信ノードＢ及びＣからはそれぞれ同じＡＣＫデータ（０ｘＣＢ）が送出されているにもかかわらず、双方のＡＣＫデータが時間的に重なり合っているため、伝送路上の波形（楕円で囲まれたＰで示す部分）を参照すると、ＡＣＫデータとして０ｘＣＢが現れるべきところが、別のデータ（０ｘ０８）が現れている。つまり、ＡＣＫデータ（０ｘＣＢ）が破壊されている。このため、送信ノードＡ側でＡＣＫデータの確認を行うことができない。
【００１３】
また、楕円で囲まれたＱで示す部分を参照すると、フレーム信号が新たに立ち下がっているため（非活性レベル→活性レベル）、送信ノードＡでは、伝送路上に現れているデータ信号はＡＣＫデータではなく、他のノードから新規に送出されたデータであると見なしてしまう可能性がある。
本発明は、かかる従来技術における課題に鑑み創作されたもので、非同期式の一対多通信により同報データの送信及びその受信を指示するＡＣＫデータの送信を行う際に、そのＡＣＫデータの確認を確実に行えるようにし、ひいては円滑な同報通信の実現に寄与することができる同報／ＡＣＫ送信方式を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上述した従来技術の課題を解決するため、本発明に係る同報／ＡＣＫ送信方式は、共通の伝送路を介して複数の通信装置が接続され、該複数の通信装置間で非同期式の一対多通信によりフレーム信号とデータ信号とを用いてデータの授受を行うシステムにおいて、前記複数の通信装置のうちいずれか１つの通信装置を送信ノードとし、他の全ての通信装置を受信ノードとして、前記送信ノードからフレーム信号と共に同報データを送信し、前記各受信ノードからそれぞれフレーム信号と共に前記同報データの受信を指示するＡＣＫデータを送信する際に、前記送信ノードにおいて、前記フレーム信号を活性レベルにして前記同報データを送信し、該同報データの送信後に該フレーム信号を非活性レベルにし、規定の時間の経過後に該フレーム信号を再び活性レベルにして、該フレーム信号を所定期間活性レベルに保持しておき、前記送信ノードにおいて前記フレーム信号が活性レベルに保持されている前記所定期間中に、前記各受信ノードにおいて、それぞれ前記フレーム信号を活性レベルにして、Ｌレベル又はＨレベルの一方の論理レベルに固定化したデータを前記ＡＣＫデータとして送信するようにしたことを特徴とする。
【００１５】
本発明に係る同報／ＡＣＫ送信方式によれば、非同期式の一対多通信により同報データの送信及びその受信を指示するＡＣＫデータの送信を行う際に、送信ノードにおいては、所定期間（各受信ノードがそれぞれＡＣＫ用フレーム信号を活性レベルにするまでの間）フレーム信号を活性レベルに保持しておく一方で、各受信ノードにおいては、送信ノードに返すＡＣＫデータとして、従来技術（図５参照）に見られたようなＬレベルとＨレベルの論理が混在したデータを用いるのではなく、Ｌレベル又はＨレベルの一方の論理レベルに固定化したデータを用いている。
【００１６】
このように、各受信ノードから共通の伝送路に送出されるＡＣＫデータはそれぞれＬレベル（又はＨレベル）に固定化されているので、伝送路上には、各受信ノードからのＬレベル（又はＨレベル）のＡＣＫデータが「論理積」（又は「論理和」）の形態で現れる。この場合、非同期送信により各受信ノードからのＡＣＫデータは時間的にずれて送信されるため、ＡＣＫデータが時間的に重なり合う可能性がある。このとき、伝送路上に現れるデータの長さは本来のデータ長よりも長くはなるが、そのデータは、各受信ノードから送出されたＡＣＫデータと同じＬレベル（又はＨレベル）のデータであるので、送信ノード側でＡＣＫデータを確実に確認することができる。これは、円滑な同報通信の実現に大いに寄与する。
【００１７】
また、伝送路上にデータが現れているとき、送信ノードにより伝送路上のフレーム信号が活性レベル状態に保持されている（つまり、フレーム信号が新たに非活性レベルから活性レベルに変化していない）ので、送信ノードでは、伝送路上に現れているデータはＡＣＫデータもしくはその一部であると判断することができる。これによって、ＡＣＫデータの確認を確実に行うことが可能となる。
【００１８】
【発明の実施の形態】
図１は本発明に係る同報／ＡＣＫ送信方式を適用する一実施形態としてのシステム構成を概略的に示したものである。図中、（ａ）はシステムの全体構成を示し、（ｂ）はその内部接続構成を示している。
本実施形態に係る同報／ＡＣＫ送信方式は、図示のように共通のバス１０を介して複数の車載用電子機器（ナビゲーション用コントローラ１、ディスプレイ装置２、ＣＤチェンジャ３）が接続されたシステムに適用される。各車載用電子機器は、それぞれバス１０に接続された通信機能を有する１つ以上のマイコン（ノード）を内蔵している。図示の例では、ナビゲーション用コントローラ１は４つのマイコン（ノード）１１〜１４を、ディスプレイ装置２は２つのマイコン（ノード）１５及び１６を、ＣＤチェンジャ３は１つのマイコン（ノード）１７を、それぞれ備えている。
【００１９】
本実施形態に係る同報／ＡＣＫ送信方式は、後述するように、非同期式の一対多通信により同報データの送信及びその受信を指示するＡＣＫデータの送信を行う際に、送信ノード（マイコン１１〜１７のうちいずれか１つのマイコン）において、各受信ノード（他の全てのマイコン）がそれぞれＡＣＫ用フレーム信号を活性レベル（例えばＬレベル）にするまでの間、フレーム信号を活性レベル（例えばＬレベル）に保持しておく一方で、各受信ノードにおいて、送信ノードに返すＡＣＫデータとしてＬレベル（又はＨレベル）に固定化したデータを用いたことを特徴とする。
【００２０】
以下、本実施形態のシステム構成におけるいずれか１つの送信ノード（マイコン）が行うＡＣＫ判定に係る通信処理について、その処理フローの一例を示す図２及び図３と、その通信処理に係る動作タイミング波形の一例を示す図４とを参照しながら説明する。
なお、図４の例示では、従来技術との対比をわかり易くするために図５の例示に対応させて動作タイミング波形が示されている。すなわち、共通の伝送路（図１のバス１０）を介して４つのノードＡ，Ｂ，Ｃ及びＤ（例えば、図１のマイコン１１，１５，１６及び１７）が接続されたシステムにおいて、ノードＡ（マイコン１１）を送信ノードとし、他のノードＢ，Ｃ及びＤ（マイコン１５〜１７）を受信ノードとして一対多通信（同報／ＡＣＫ送信）を非同期で行った場合の動作タイミング波形の一例が示されている。
【００２１】
図４の例では、受信ノードＢ，Ｃ及びＤから送信されるデータ信号（ＡＣＫデータ）として同じデータ：０ｘ００（００００００００ｂ）が送出されており、各ＡＣＫデータとして、従来のような論理が混在したデータではなく、一方の論理レベル（Ｌレベル）に固定化したデータを用いている。
図２を参照すると、先ず最初のステップＳ１では、送信ノードＡにおいて、フレーム信号をＬレベルに立ち下げる。これによって、伝送路上のフレーム信号ラインのレベルがＬレベルに立ち下がる（図４参照）。
【００２２】
次のステップＳ２では、送信ノードＡから伝送路上のデータ信号ラインに所定バイト数の同報データを送信する。この同報データは、前述したように各ノードの伝送路とのインタフェース部分に「オープンドレイン」構成の回路が用いられているため、優先的にＬレベルを呈する。
次のステップＳ３では、送信ノードＡにおいて、所定バイト数の同報データの送信が終了した（ＹＥＳ）か否（ＮＯ）かを判定する。判定結果がＹＥＳの場合にはステップＳ４に進み、判定結果がＮＯの場合には判定処理を繰り返す。
【００２３】
次のステップＳ４では、送信ノードＡにおいて、フレーム信号をＨレベルに立ち上げる。これによって、伝送路上のフレーム信号ラインのレベルがＨレベルに立ち上がる（図４参照）。
次のステップＳ５では、送信ノードＡにおいて、規定の時間が経過した（ＹＥＳ）か否（ＮＯ）かを判定する。判定結果がＹＥＳの場合にはステップＳ６に進み、判定結果がＮＯの場合には判定処理を繰り返す。この規定の時間は、フレーム信号が一度Ｈレベルに立ち上がってから、送信ノードＡがＡＣＫ用にフレーム信号をＬレベルにするまでの時間に設定されている。
【００２４】
次のステップＳ６では、送信ノードＡにおいて、フレーム信号をＬレベルに立ち下げる。これによって、伝送路上のフレーム信号ラインのレベルが再びＬレベルに立ち下がる（図４参照）。
次のステップＳ７では、送信ノードＡにおいて、フレーム間時間（フレーム間隔に相当する時間）が経過した（ＹＥＳ）か否（ＮＯ）かを判定する。判定結果がＹＥＳの場合にはステップＳ１１にスキップし、判定結果がＮＯの場合にはステップＳ８に進む。このフレーム間時間は、伝送路上のフレーム信号が再びＨレベルに立ち上がってから、次のフレームの送出が可能になるまでの時間に設定されている。つまりこのステップＳ７では、伝送路がアイドル状態になったか否かを判定している。
【００２５】
次のステップＳ８では（このとき、伝送路上のフレーム信号は未だＬレベルにある）、送信ノードＡにおいて、受信ノードＢ，Ｃ又はＤ（図４の例では、受信ノードＢ）から１バイト分のデータ（Ｌレベルに固定化されたＡＣＫデータ）を受信した（ＹＥＳ）か否（ＮＯ）かを判定する。判定結果がＹＥＳの場合にはステップＳ９に進み、判定結果がＮＯの場合にはステップＳ７に戻って上記の処理を繰り返す。このとき、図４に示すように受信ノードＢのデータ信号（ＡＣＫデータ）がＬレベルに立ち下がると、伝送路上のデータ信号ラインのレベルがＬレベルに立ち下がる。
【００２６】
次のステップＳ９では（このとき、伝送路上のフレーム信号は未だＬレベルにある）、送信ノードＡにおいて、受信したデータが０（Ｌレベル）であって、且つ、フレーミングエラー以外のＵＡＲＴエラーが発生していない（ＹＥＳ）か否（ＮＯ）かを判定する。判定結果がＹＥＳの場合にはステップＳ７に戻って上記の処理を繰り返し、判定結果がＮＯの場合にはステップＳ１０に進む。
【００２７】
次のステップＳ１０では（つまり、受信したデータが０（Ｌレベル）でない場合、又はフレーミングエラー以外のＵＡＲＴエラーが発生している場合）、送信ノードＡにおいて、ＡＣＫ判定をエラーとする旨の処理を行う。この後、ステップＳ７に戻って上記の処理を繰り返す。
一方、ステップＳ１１では（図３参照）、送信ノードＡにおいて、フレーム信号をＨレベルに立ち上げる。この時点では、受信ノードＤから送信されているフレーム信号は未だＬレベルにあるため、伝送路上のフレーム信号ラインのレベルも未だＬレベルにある（図４参照）。
【００２８】
次のステップＳ１２では、送信ノードＡにおいて、伝送路上のフレーム信号がＨレベルに立ち上がっている（ＹＥＳ）か否（ＮＯ）かを判定する。判定結果がＹＥＳの場合にはステップＳ１３に進み、判定結果がＮＯの場合には判定処理を繰り返す。つまり、この判定処理は、フレーム信号のレベルを一番最後までＬレベルに保持している受信ノードＤのフレーム信号がＨレベルに立ち上がるまで繰り返される。
【００２９】
次のステップＳ１３では、送信ノードＡにおいて、伝送路上のデータ信号ラインに何らかのデータの受信があった（ＹＥＳ）か否（ＮＯ）かを判定する。判定結果がＹＥＳの場合にはステップＳ１４に進み、判定結果がＮＯの場合にはステップＳ１５に進む。
ステップＳ１４では、送信ノードＡにおいて、ＡＣＫ判定がエラーである（ＹＥＳ）か否（ＮＯ）かを判定する。判定結果がＹＥＳの場合には本フローは「エンド」となり、判定結果がＮＯの場合にはステップＳ１６に進む。
【００３０】
ステップＳ１５では（つまり、伝送路上にデータが現れない場合）、送信ノードＡにおいて、ＡＣＫ判定をＡＣＫ「無し」とする旨の処理を行う。この後、本フローは「エンド」となる。
一方、ステップＳ１６では（つまり、ＡＣＫ判定がエラーでない場合）、送信ノードＡにおいて、ＡＣＫ判定を「正常」とする旨の処理を行う。この後、本フローは「エンド」となる。
【００３１】
以上説明したように、本実施形態に係る同報／ＡＣＫ送信方式によれば、図４の動作タイミング波形に示すように、受信ノードＢから送出されているデータ信号（ＡＣＫデータ）と受信ノードＣから送出されているデータ信号（ＡＣＫデータ）は時間的に重なり合ってはいるが、各ＡＣＫデータは共にＬレベルに固定化されているので、共通の伝送路上のデータ信号ラインには、各受信ノードからのＬレベルのＡＣＫデータが「論理積」の形態で現れる。
【００３２】
すなわち、楕円で囲まれたＰで示す部分を参照すると、本来のデータ長よりもデータが長くなってはいるが（フレーミングエラーの発生）、伝送路上のデータ信号ラインには、いずれかの受信ノードから送出されたＡＣＫデータと同じＬレベルのデータ（０ｘ００）が現れている。つまり、ＡＣＫデータ（０ｘ００）が破壊されていない。これによって、送信ノードＡ側でＡＣＫデータの確認を確実に行うことができ、ひいては円滑な同報通信の実現を図ることが可能となる。
【００３３】
また、楕円で囲まれたＱで示す部分を参照すると、伝送路上のデータ信号ラインにデータが現れているとき、伝送路上のフレーム信号ラインのレベルはＬレベル状態にある（つまり、この部分でフレーム信号が新たにＬレベルに立ち下がっていない）ので、送信ノードＡでは、伝送路上に現れているデータ信号はＡＣＫデータの一部であると判断することができる。つまり、この場合にもＡＣＫデータの確認を確実に行うことができる。
【００３４】
なお、上述した実施形態では、各受信ノードから送信ノードに返すＡＣＫデータとしてＬレベルに固定化したデータを用いた場合について説明したが、本発明の要旨からも明らかなように、Ｌレベルのデータ（０ｘ００）に代えて、逆の論理レベル（Ｈレベル）に固定化したデータ（０ｘＦＦ）を用いてもよいことはもちろんである。この場合には、その回路構成は、ＨレベルがＬレベルより優先的に現れるものとする。
【００３５】
また、データ信号の論理と整合させるために、フレーム信号についてもその論理レベルを逆にする（つまり、活性レベルをＨレベルとし、非活性レベルをＬレベルとする）のが好ましい。
【００３６】
【発明の効果】
以上説明したように本発明によれば、非同期式の一対多通信により同報データの送信及びその受信を指示するＡＣＫデータの送信を行う際に、送信ノードにおいて、フレーム信号を所定期間活性レベルに保持しておく一方で、各受信ノードにおいて、Ｌレベル又はＨレベルの一方の論理レベルに固定化したデータをＡＣＫデータとして送信することにより、送信ノード側でＡＣＫデータの確認を確実に行うことが可能となる。これは、円滑な同報通信の実現に寄与する。
【図面の簡単な説明】
【図１】本発明に係る同報／ＡＣＫ送信方式を適用する一実施形態としてのシステム構成を概略的に示す図である。
【図２】図１におけるいずれか１つの送信ノード（マイコン）が行うＡＣＫ判定に係る通信処理の一例を示すフロー図である。
【図３】図２の処理フローに続く処理を示すフロー図である。
【図４】図２及び図３の通信処理に係る動作タイミング波形の一例を示す図である。
【図５】従来の同報／ＡＣＫ送信方式の問題点を説明するための動作タイミング波形の一例を示す図である。
【符号の説明】
１…ナビゲーション用コントローラ
２…ディスプレイ装置
３…ＣＤチェンジャ
１０…バス（共通の伝送路）
１１〜１７…通信機能を有するマイコン（通信装置／ノード）
Ａ，Ｂ，Ｃ，Ｄ…ノード
【図１】
0004087070.tif 000002
【図２】
0004087070.tif 000003
【図３】
0004087070.tif 000004
【図４】
0004087070.tif 000005
【図５】
0004087070.tif 000006