(57)【特許請求の範囲】
【請求項１】
通信路上で送受信されるフレームのデータ長が可変に設定されるデータ通信方式において、
前記通信路上で送受信される第１のフレームを受信するフレーム受信手段と、
前記フレーム受信手段によって受信した前記第１のフレームが自装置宛てである場合に、前記通信路上の他の装置に接続された所定の信号線を第１の状態から第２の状態に変化させるフレーム受信判定手段と、
前記フレーム受信手段によって受信した前記第１のフレームを検査するフレーム検査手段と、
前記フレーム検査手段による検査によって、前記第１のフレームの内容が正常であると判定されたときに、前記第１のフレームの送信元装置に対して所定の応答を送信する応答送信手段と、
前記フレーム検査手段による検査が終了した後に前記信号線を前記第２の状態から前記第１の状態に復帰させるフレーム検査終了判定手段と、
を備えることを特徴とするデータ通信方式。
【請求項２】
請求項１において、
前記フレーム受信判定手段は、前記フレーム受信手段によって前記第１のフレームを受信してから第１の時間が経過した後であって、前記応答が送信される前に前記信号線を前記第２の状態に変化させることを特徴とするデータ通信方式。
【請求項３】
請求項１において、
前記第１のフレームの送信元装置は、前記第１のフレームの送信開始に先立って前記信号線を前記第２の状態に変化させ、送信終了後に前記第１の状態に復帰させており、
前記フレーム受信判定手段は、前記フレーム受信手段によって前記第１のフレームを受信後に、前記信号線が前記第１の状態に復帰してから第１の時間が経過した後であって前記応答が送信される前に、前記信号線を前記第２の状態に変化させることを特徴とするデータ通信方式。
【請求項４】
請求項２または３において、
前記通信路上の前記他の装置は、前記信号線が前記第１の状態に復帰してから前記第１の時間よりも長い第２の時間が経過しても前記信号線が前記第２の状態に変化しないときに、前記通信路に対する第２のフレームの送信が可能になることを特徴とするデータ通信方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の装置やプロセッサ等の間で非同期にデータの送受信を行うデータ通信方式に関する。
【０００２】
【従来の技術】
非同期通信を利用したデータ通信では、送信側装置は送信したいデータの前後にデータ送信元のアドレスやエラー検出用データ等を付加したフレームを送信し、受信側装置でフレームの終了を判定してデータの受信を完了するのが一般的である。また、受信側装置においてデータの受信処理を行うためにかかる時間を考慮して、送信側装置は、一のフレーム送信を終了してから次のフレームの送信を開始するまでに所定の待ち時間を設定している。
【０００３】
【発明が解決しようとする課題】
ところで、非同期通信を利用したデータ通信では、送信対象となるデータの量に応じてフレームのデータ長が可変に設定される場合がある。この場合に、上述した待ち時間は、送信される可能性のある最も長いフレームのデータ長に対応して設定される。ところが、通信全体に占める長いフレームの割合が少なく、通信の大半を短いフレームが占めているような場合を考えると、長いフレームに対応した長い待ち時間が設定されることにより無駄が生じてしまい、通信の効率が低下するという問題があった。
【０００４】
また、送信されるフレームのデータ長を短くするために、長いフレームを複数の短いフレームに分割してデータ通信が行われる場合もある。この場合に、受信側装置では、分割して送信されるフレームを一旦受信した後に整理して元の長いフレームを復元する必要があるために受信処理に要する時間が増加するので、送信側装置では、受信処理に要する時間の増加分を考慮して待ち時間を長めに設定する必要がある。したがって、一つ一つのフレームのデータ長が短くなっても待ち時間はそれほど短くならないため、通信の効率は良くなかった。
【０００５】
また、フレームの受信時において、フレームを正常に受信した受信側装置から送信側装置に対して所定の肯定応答が返信される場合に、この肯定応答を送信側装置以外の他装置においても検出し、次のフレーム送信を可能と判断する方法も考えられる。この場合には、肯定応答が返信されるまでの時間がフレームの長さに応じて可変するので、常に長い固定値の待ち時間が経過するまで待機する場合に比べて、待ち時間の無駄を解消することができる。
【０００６】
しかしながら、この方法においては、全ての装置が肯定応答を検出する必要があり、各装置の処理負担が増加するという欠点がある。また、送信されたフレームに何らかのエラーが発生した場合など、肯定応答が返信されない場合もある。この場合には、肯定応答が返信される可能性のある間、すなわち、最も長いフレームに対応して肯定応答が返信されるまでに必要な時間が経過するまでの間は、いずれの装置もフレームの送信を開始することができないので、待ち時間の無駄は解消できず、通信の効率を向上させることが難しかった。
【０００７】
本発明は、このような点に鑑みて創作されたものであり、その目的は、通信の効率を向上させることのできるデータ通信方式を提供することにある。
【００１６】
【課題を解決するための手段】
上述した課題を解決するために、本発明のデータ通信方式では、通信路上で送受信される第１のフレームをフレーム受信手段により受信し、受信した第１のフレームが自装置宛てである場合に、フレーム受信判定手段により、通信路上の他の装置に接続された所定の信号線を第１の状態から第２の状態に変化させる。そして、フレーム受信手段によって受信した第１のフレームをフレーム検査手段により検査し、この検査によって第１のフレームの内容が正常であると判定されたときに応答送信手段によって第１のフレームの送信元装置に対して所定の応答を送信しており、フレーム検査手段による検査が終了した後には、フレーム検査終了判定手段によって信号線を第２の状態から第１の状態に復帰させている。
【００１７】
第１のフレームが自装置宛てであることを確認した受信側装置が信号線を第１の状態から第２の状態に変化させ、検査が終了した後に再び信号線を第１の状態に復帰させているので、通信路上の他の装置はこの信号線の状態を監視することにより、次のフレームの送信が可能か否かを容易に判定することができる。この場合に、第１のフレームを受信した後の検査に要する時間がフレーム長に応じて増減することから、他の装置の待ち時間がフレーム長に応じた適切な長さに設定されることとなるので、無駄な待ち時間を回避してデータ通信の効率を向上させることができる。
【００１８】
上述したフレーム受信判定手段は、フレーム受信手段によって第１のフレームが受信されてから第１の時間が経過した後であって、上述した所定の応答が送信される前に信号線を第２の状態に変化させることが望ましい。
具体的には、第１の時間としては、例えば、第１のフレームの宛先を確認するために要する時間や、第１のフレームのデータ長などを抽出してこのフレームの検査に必要な時間の長さを判断するまでに必要な時間などの比較的に短い時間が考えられる。このような第１の時間が経過した後であって、所定の応答が送信されるよりも前に信号線を第２の状態に変化させることにより、応答を送信するまでの間、他の装置による次のフレームの送信を保留させておくことができるので、受信側装置から送信される応答と他のフレームとが通信路上で競合することを防ぎ、送信元装置に対して確実に応答を返すことができる。
【００１９】
また、第１のフレームの送信元装置は、第１のフレームの送信開始に先立って信号線を第２の状態に変化させ、送信終了後に第１の状態に復帰させており、フレーム受信判定手段は、フレーム受信手段によって第１のフレームを受信後に、信号線が第１の状態に復帰してから第１の時間が経過した後であって応答が送信される前に、信号線を第２の状態に変化させることが望ましい。
【００２０】
第１のフレームの送信元装置がフレーム送信の前後に信号線の状態を変化させることにより、通信路上の他の装置は、フレームの送信が行われていることを容易に認識することができる。また第１のフレームを受信する受信側装置は、信号線を監視することによりフレームの終了を容易に判断することができるので、信号線が第１の状態に復帰してから比較的に短い第１の時間が経過した後であって、所定の応答が送信されるよりも前に信号線を第２の状態に変化させることにより、応答を送信するまでの間、他の装置による次のフレームの送信を保留させておくことができる。したがって、応答と他のフレームとが通信路上で競合することを防ぎ、送信元装置に対して確実に応答を返すことができる。
【００２１】
また、通信路上の他の装置は、信号線が第１の状態に復帰してから第１の時間よりも長い第２の時間が経過しても信号線が第２の状態に変化しないときに、通信路に対する第２のフレームの送信が可能になることが望ましい。
例えば、第１のフレームの宛先がエラー等により通信路上のいずれの装置にも対応しない内容に変化したような場合には、いずれの装置もこの第１のフレームは自装置宛てではないと判断するため、対応する応答が送信されないこととなる。この場合に、上述した第１の時間よりも長い第２の時間が経過しても信号線が第２の状態に変化しなければ、第１のフレームに対応する応答を送信する受信側装置が存在しないと判断できる。したがって、第１の時間よりも長い第２の時間が経過しても信号線が第２の状態に変化しないときには第２のフレームの送信を許容することにより、不要な待ち時間を低減することができる。
【００２２】
【発明の実施の形態】
以下、本発明を適用した一実施形態のデータ通信システムについて、図面を参照しながら説明する。
〔第１の参考実施形態〕
図１は、第１の参考実施形態のデータ通信システムの全体構成を示す図である。図１に示す本参考実施形態のデータ通信システムは、音声認識装置１、ナビゲーション装置２、ＣＤチェンジャ３、オーディオ装置４を含んでおり、これらが通信路としてのバス５を介して接続されている。
【００２３】
音声認識装置１は、利用者の発声による操作音声に対して音声認識処理を行うものであり、認識結果がバス５を介してデータ通信によってナビゲーション装置２やオーディオ装置４等の他の装置に送られる。
ナビゲーション装置２は、自車位置を検出して自車位置周辺の地図を表示したり、利用者によって選択された目的地までの経路探索および経路誘導等を行うものである。
【００２４】
ＣＤチェンジャ３は、複数枚のＣＤが装填されており、利用者によって選択されたＣＤの記録面に記録された信号を読みとり、音楽等の再生を行うものである。
オーディオ装置４は、車室内のダッシュボードに収容された１つの筐体内に含まれるオールインワンタイプのオーディオ機器であり、例えばラジオチューナやカセットテープデッキの他に各種の操作キーを有する操作盤を含んでいる。この操作盤を用いて行われる各種の操作指示は、オーディオ装置４自身に含まれるラジオチューナやカセットテープデッキに対して行われるものの他に、ＣＤチェンジャ３や音声認識装置１等に対して行われるものもある。オーディオ装置４以外の他の装置に対する操作が行われると、その操作状態に応じた操作信号がバス５を介してデータ通信によって他の装置に送られる。
【００２５】
上述した各装置間のデータ通信は、フレームを単位としたシリアル通信によって行われる。図２は、各装置間で送受信されるフレームのデータ構造を示す図である。図２に示すように、本参考実施形態で用いられるフレームは、先頭から順に通信タイプ（ＴＹＰＥ）、送信先アドレス（ＤＡ）、送信元アドレス（ＳＡ）、データ長情報（ＬＥＮ）、送信データ（ＤＡＴＡ）、エラー検出用データ（ＥＲＲ）を含んで構成されている。
【００２６】
通信タイプは、このフレームを用いた通信の種類を規定したものである。例えば、通常の１対１通信、同報通信、レスポンス等が指定される。また、送信先アドレスには、このフレームの送信先となる装置に対応したアドレスが格納されている。送信元アドレスには、このフレームの送信元となる装置に対応したアドレスが格納されている。
【００２７】
データ長情報は、送信対象となっているデータ（図２に示すＤＡＴＡ）のデータ長をバイト単位で表したものである。送信データは、送信対象となっているデータが格納されている。エラー検出用データは、フレームに含まれる通信タイプから送信データまでの各データの内容にエラーがある場合にこれを検出するために付加されるものである。エラー検出用データとしては、例えば、チェックサムデータやＣＲＣ符号等が用いられる。
【００２８】
次に、上述した各装置間で相互にデータ通信を行う場合について詳細に説明する。例えば、ナビゲーション装置２から各装置に向けてフレームを送信する場合、および各装置から送信されるフレームをナビゲーション装置２が受信する場合について詳細に説明する。
【００２９】
図３は、ナビゲーション装置２の詳細構成を示す図である。図３に示すナビゲーション装置２は、ナビゲーション処理部２０および通信制御部２２を含んで構成されている。
ナビゲーション処理部２０は、自車位置周辺の地図画像の表示処理や経路探索処理、経路誘導処理等の所定のナビゲーション動作を行うものであり、例えば、経路誘導時に音声案内を行う際にオーディオ装置４に対して送信する音声割り込み要求を示すフレームが通信制御部２２に向けて出力される。
【００３０】
通信制御部２２は、ナビゲーション処理部２０から出力されるデータを通信用フォーマットを有するフレームに変換して他の装置に向けて送る送信処理や、各装置から送られてくるフレームからデータを抽出する受信処理を行うためのものであり、送信データ生成部６０、送信データバッファ６２、送信処理部６４、受信処理部６６、受信データバッファ６８、フレーム終了判定部７０、タイマ７２、タイマ時間設定部７４を含んで構成されている。
【００３１】
送信データ生成部６０は、ナビゲーション処理部２０から出力された送信データに対してデータ通信に必要な各種のデータを付加することにより、上述した図２に示したフレームを生成する。
送信データバッファ６２は、送信データ生成部６０によって生成されるフレームを一時的に格納する。送信処理部６４は、送信データバッファ６２に格納されたフレームをバイト単位で読み出してシリアルデータに変換し、さらに先頭にスタートビットを、後部にパリティ（例えば偶数パリティ）とストップビットをそれぞれ付加して、バス５上に送出する。
【００３２】
受信処理部６６は、シリアルデータの形態でフレームが入力されると、スタートビットとストップビットを検出することにより１バイト単位でデータを抽出し、パリティによるエラーチェックを行った後、このデータを順次パラレルデータに変換して上述した図２に示したフレームを復元し、このフレームに含まれるエラー検出用データ等を用いてエラー検出処理を行った後に、フレームに含まれる送信先アドレスやエラー検出用データ等を除く各種のデータを受信データバッファ６８に向けて出力する。また、受信処理部６６は、受信したフレームが自分宛てでない場合には、必要なデータ、具体的にはフレームの先頭からデータ長情報（ＬＥＮ）までの部分だけを受信して、受信データバッファ６８に向けて出力する。
【００３３】
また、受信処理部６６は、バス５上でのフレームの衝突を検出する機能を備えている。具体的には、受信処理部６６は、バス５上で送受信されるフレームの内容を監視しており、送信処理部６４から出力されるフレームの内容と、バス５上で送受信されるフレームの内容とが相違することを検出したときに、バス５上のフレームの衝突を検出する。例えば、一のフレームに含まれるビットデータ“０”と他のフレームに含まれるビットデータ“１”とがバス５上で衝突したときに、ビットデータ“０”が優先されるように各装置内の送信処理部６４が構成されているものとすると、受信処理部６６は、同じ通信制御部２２内の送信処理部６４からバス５上に送出されたフレーム内のビットデータ“１”が“０”に変化していることを検出することにより、このフレームとこれよりも優先度が高い他のフレームとがバス５上で衝突したことを知ることができる。このようにしてフレームの衝突を検出すると、受信処理部６６は、その旨を送信処理部６４およびタイマ時間設定部７４に通知する。フレーム衝突の通知を受けた送信処理部６４は、その時点でフレーム送信処理を中止し、次に送信の機会が来るまで待機状態となる。
【００３４】
受信データバッファ６８は、受信処理部６６から出力される各種のデータを一時的に格納する。このデータ格納動作が完了するとその旨の通知が受信データバッファ６８からナビゲーション処理部２０に対して行われる。
フレーム終了判定部７０は、バス５上を送受信されるフレームの終了を検出してフレーム終了信号を出力する。
【００３５】
タイマ７２は、バス５上で送受信されるフレームの終了を検出してから送信処理部６４によるフレームの送信が開始されるまでの待ち時間を計測するためのものであり、フレーム終了判定部７０から出力されるフレーム終了信号に同期してリセットされ、その後、所定時間が経過してタイムオーバーとなったときに送信許可信号を送信処理部６４に出力する。
【００３６】
タイマ時間設定部７４は、タイマ７２がタイムオーバーとなるまでの時間を設定するものであり、送信データバッファ６２に格納されたフレーム、または受信処理部６６により受信されて受信データバッファ６８に格納されたフレーム（またはフレームの一部）のいずれかからデータ長情報（図２に示す「ＬＥＮ」）を抽出してフレームのデータ長を調べ、これに応じてタイマ時間を設定する。
【００３７】
図４は、タイマ時間設定部７４により設定されるタイマ時間とデータ長との関係を示す図である。タイマ時間設定部７４は、図４に示すようなデータテーブルを備えており、フレームのデータ長に基づいてこのデータテーブルを参照することにより、タイマ時間を設定する。具体的には、タイマ時間設定部７４は、フレームのデータ長が、▲１▼５０バイト未満、▲２▼５０バイト以上１００バイト未満、▲３▼１００バイト以上１５０バイト未満、▲４▼１５０バイト以上、の場合にそれぞれ対応して、所定のタイマ時間ｔ１、ｔ２、ｔ３、ｔ４を設定する。
【００３８】
これらのタイマ時間ｔ１〜ｔ４は、各データ長（バイト数）のフレームを受信する処理に必要な時間を考慮して設定されている。具体的には、例えば、５０バイト未満の場合に設定されるタイマ時間ｔ１は、受信側装置が５０バイトのフレームを受信する場合に必要な処理時間を確保できるように設定される。また、上述したタイマ時間ｔ１〜ｔ４の大小関係は、ｔ１＜ｔ２＜ｔ３＜ｔ４となっており、フレームのデータ長が短いほどタイマ時間が短く設定され、長いほどタイマ時間が長く設定されることとなる。なお、図４に示したデータ長の区分の仕方は一例であり、これに限定されるものではない。
【００３９】
また、受信処理部６６からフレーム衝突の通知を受けた場合に、タイマ時間設定部７４は、現在バス５上で送受されているフレームのデータ長に関係なく、タイマ７２に設定するタイマ時間を最大値であるｔ４に設定する。
なお、本参考実施形態では、音声認識装置１、ＣＤチェンジャ３、オーディオ装置４のそれぞれについても、上述したナビゲーション装置２に含まれる通信制御部２２と同様の構成を有する通信制御部を備えているものとする。
【００４０】
上述した送信データ生成部６０がフレーム生成手段に、送信データバッファ６２、送信処理部６４がフレーム送信手段に、タイマ時間設定部７４が待ち時間設定手段に、受信処理部６６がフレーム衝突検出手段、フレーム受信手段にそれぞれ対応する。
【００４１】
本参考実施形態のナビゲーション装置２は上述した構成を有しており、次に、バス５上で送受信されるフレームの終了を検出した後に、次のフレーム送信を開始するまでの待ち時間を設定する際のナビゲーション装置２の動作手順について詳細に説明する。
【００４２】
（１）自装置が送信するフレームに対応して待ち時間を設定する際の動作手順
図５は、自装置が送信するフレームに対応して待ち時間を設定する際の動作手順を示す流れ図である。
送信処理部６４は、送信データバッファ６２を監視しており、送信すべきデータ（フレーム）が格納されているか否かを判定する（ステップ１００）。送信データ生成部６０によって生成されたフレームが送信データバッファ６２に格納されると、ステップ１００で肯定判断がなされ、次に送信処理部６４は、タイマ７２から送信許可信号が出力されているか否かを判定する（ステップ１０１）。
【００４３】
ところで、タイマ７２から送信許可信号が出力されるためには、（ａ）現在、送信対象となっているフレームより以前に送信されたフレームに基づいて設定されたタイマ時間が経過するか、（ｂ）他の装置により送信されたフレームに基づいて設定されたタイマ時間が経過している必要がある。ここでは、上述した（ａ）または（ｂ）の条件が満たされて、タイマ７２から送信許可信号が出力されたものとして以降の説明を行う。
【００４４】
送信許可信号が出力された場合には、ステップ１０１で肯定判断がなされ、送信処理部６４は、所定のフレーム送信処理を行う（ステップ１０２）。
また、受信処理部６６は、バス５上でフレームの衝突が発生したか否かを判定する（ステップ１０３）。フレームの衝突が発生していない場合には、ステップ１０３で否定判断がなされ、タイマ時間設定部７４は、送信データバッファ６２に格納されているデータから、現在送信されているフレームのデータ長情報を抽出し（ステップ１０４）、抽出したデータ長情報に基づいて、データ長に応じたタイマ時間を設定する（ステップ１０５）。このタイマ時間は、上述した図４に示したテーブルを参照することにより設定される。例えば、データ長が８０バイトの場合であれば、図４に示したテーブルに基づいて、タイマ時間ｔ２が設定される。
【００４５】
また、フレームの衝突が発生した場合には、上述したステップ１０３で肯定判断がなされ、受信処理部６６は、その旨を送信処理部６４およびタイマ時間設定部７４に通知する。通知を受けた送信処理部６４は、フレーム送信処理を中止する（ステップ１０６）。また、タイマ時間設定部７４は、タイマ時間を最大値であるｔ４に設定する（ステップ１０７）。
【００４６】
また、フレーム終了判定部７０は、バス５上を送受されているフレームの終了を判定し（ステップ１０８）、フレームが終了した場合にはフレーム終了信号を出力する。
フレーム終了判定部７０からフレーム終了信号が出力されると、これに同期してタイマ７２がリセットされる。そして、上述したステップ１０５またはステップ１０７において設定されたタイマ時間が経過した後に（ステップ１０９）、タイマ７２は、送信処理部６４に向けて送信許可信号を出力する（ステップ１１０）。その後、上述したステップ１００に戻り、送信データがあるか否かの判定以降の動作が繰り返される。
【００４７】
（２）他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順
図６は、他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順を示す流れ図である。
【００４８】
受信処理部６６は、バス５上でフレームが送受信されているか否かを判定し（ステップ２００）、フレームが送受信されている場合には、バス５上で何らかの通信エラーが発生したか否かを判定する（ステップ２０１）。
通信エラーが検出されない場合は、ステップ２０１で否定判断がなされ、次に受信処理部６６は、フレームに含まれる送信先アドレスを調べることにより、このフレームが自分（ナビゲーション装置２）宛てのものであるか否かを判定する（ステップ２０２）。フレームが自分宛てである場合には、ステップ２０２で肯定判断がなされ、受信処理部６６は、このフレームを全て受信する（ステップ２０３）。
【００４９】
また、フレームが自分宛てでない場合には、上述したステップ２０２で否定判断がなされ、受信処理部６６は、必要なデータ、具体的にはフレームの先頭からデータ長情報（ＬＥＮ）までの部分だけを受信する（ステップ２０４）。
また、ステップ２０３またはステップ２０４に示した受信処理と並行して、タイマ時間設定部７４は、受信データバッファ６８に格納されているデータを調べ、バス５上で現在送受信されているフレームのデータ長情報を抽出し（ステップ２０５）、抽出したデータ長情報に基づいて、データ長に応じたタイマ時間を設定する（ステップ２０６）。
【００５０】
また、バス５上で何らかの通信エラーが発生した場合には、上述したステップ２０１で肯定判断がなされ、受信処理部６６は、フレームの受信処理を中止し（ステップ２０７）、通信エラーが発生した旨をタイマ時間設定部７４に通知する。通知を受けたタイマ時間設定部７４は、タイマ時間を最大値であるｔ４に設定する（ステップ２０８）。
【００５１】
また、フレーム終了判定部７０は、バス５上を送受されているフレームの終了を判定し（ステップ２０９）、フレームが終了した場合にはフレーム終了信号を出力する。
フレーム終了判定部７０からフレーム終了信号が出力されると、これに同期してタイマ７２がリセットされる。そして、上述したステップ２０６またはステップ２０８において設定されたタイマ時間が経過した後に（ステップ２１０）、タイマ７２は、送信処理部６４に向けて送信許可信号を出力する（ステップ２１１）。その後、上述したステップ２００に戻り、バス５上でフレームが送信されているか否かの判定以降の動作が繰り返される。
【００５２】
このように、本参考実施形態のデータ通信システムでは、バス５上で送受信されるフレームの終了を検出してから所定の待ち時間が経過した後に次のフレームを送出する場合に、次のフレームの送出が可能となるまでの待ち時間を計測するためにタイマ７２に設定されるタイマ時間は、バス５上で送受されているフレームのデータ長に対応して、このフレームのデータ長が短いほど待ち時間を短く設定し、データ長が長いほど待ち時間を長くなるように可変に設定される。したがって、フレームの長さが可変に設定されるデータ通信システムにおいても、待ち時間に無駄が生じるのを防ぎ、通信の効率を向上させることができる。
【００５３】
なお、上述した参考実施形態では、タイマ時間は、フレームのデータ長に対応してｔ１〜ｔ４の４段階に設定されていたが、タイマ時間を設定する基準となるデータ長は、上述した例に限定されるものではなく任意に設定することができる。
また、タイマ時間は、フレームのデータ長に対応して４段階に設定されていたが、少ない場合は２段階や３段階でもよく、５段階以上に設定してもよい。また、上述した図４に示したようなテーブルを用いるのではなく、フレームのデータ長を抽出した後に、データ長の値に対して所定の定数を乗算して求めたタイマ時間を設定するようにしてもよい。
【００５４】
〔第２の参考実施形態〕
ところで、上述した第１の参考実施形態では、フレームに含まれるデータ長情報に基づいてデータ長に応じた待ち時間が設定されていたが、待ち時間を指示する所定のデータを送信側装置が予めフレームに付加しておくようにしてもよい。
【００５５】
図７は、第２の参考実施形態におけるナビゲーション装置２の詳細構成を示す図である。なお、図７に示す各構成は、上述した図３に示したナビゲーション装置２内の通信制御部２２を通信制御部２２ａに置き換えた点が異なっており、以下、この相違点について詳細に説明する。
【００５６】
図７に示す通信制御部２２ａは、送信データ生成部６０ａ、送信データバッファ６２、送信処理部６４、受信処理部６６、受信データバッファ６８、フレーム終了判定部７０、タイマ７２、タイマ時間設定部７４ａ、待ち時間情報設定部７６を含んで構成されている。なお、図７では、上述した図３と同一の構成要素については同じ符号が付されており、その動作についての詳細な説明は省略する。
【００５７】
送信データ生成部６０ａは、ナビゲーション処理部２０から出力される送信データに対してデータ通信に必要な各種のデータを付加することにより、フレームを生成する。
図８は、第２の参考実施形態の送信データ生成部６０ａにおいて生成されるフレームのデータ構造を示す図である。同図に示すフレームのデータ構造は、上述した図２に示した第１の参考実施形態におけるフレームのデータ構造と比べて、データ長情報（ＬＥＮ）と送信データ（ＤＡＴＡ）の間に待ち時間情報（ＴＩＦ）が挿入されている点が異なっている。この待ち時間情報は、これを含むフレームを受信した後に次のフレームの受信を開始するまでに必要な待ち時間を具体的に指示するデータを格納するものであり、待ち時間情報設定部７６によってその値が設定される。例えば、必要な待ち時間が“２ｍｓ”である場合には、その旨を表すデータが待ち時間情報に格納される。
【００５８】
タイマ時間設定部７４ａは、タイマ７２がタイムオーバーとなるまでの時間を設定するものであり、送信データバッファ６２に格納されたフレーム、または受信処理部６６により受信されて受信データバッファ６８に格納されたフレーム（またはフレームの一部）のいずれかから待ち時間情報（図８に示した「ＴＩＦ」）を抽出し、この待ち時間情報によって指示される待ち時間に対応してタイマ時間を設定する。
【００５９】
待ち時間情報設定部７６は、ナビゲーション処理部２０から送信データ生成部６０ａに対して送信データが出力されると、この送信データのデータ長に応じて待ち時間情報を設定し、送信データ生成部６０ａに出力する。
具体的には、あるフレームＡを受信するのに必要な処理時間は、受信側装置の処理能力が既知であればフレームＡのデータ長に対応してほぼ決まるものであり、必要な処理時間が分かれば、次のフレームの受信を開始するまでの待ち時間を求めることができる。したがって、本参考実施形態では、フレームのデータ長と待ち時間との関係を表すデータテーブルを予め求めて待ち時間情報設定部７６の内部メモリに格納しており、待ち時間情報設定部７６は、送信データ生成部６０ａから取得したデータ長に応じてデータテーブルを参照することにより待ち時間情報を設定している。
【００６０】
本参考実施形態のナビゲーション装置２はこのような構成を有しており、次にその動作について説明する。
（１）フレームの生成動作
図９は、送信するフレームを生成する際の動作手順を示す流れ図である。送信データ生成部６０ａは、送信対象となるデータ（送信データ）がナビゲーション処理部２０から出力されたか否かを判定する（ステップ３００）。送信データが出力されない間は、ステップ３００で否定判断がなされ、送信データ生成部６０ａは待機状態となる。
【００６１】
送信データが出力されると、ステップ３００で肯定判断がなされ、送信データ生成部６０ａは、送信データのデータ長を算出する（ステップ３０１）。データ長が算出されると、待ち時間情報設定部７６は、これに基づいて内部メモリに格納されたデータテーブルを参照して待ち時間情報を設定する（ステップ３０２）。
【００６２】
その後、送信データ生成部６０ａは、待ち時間情報設定部７６によって設定された待ち時間情報を取得し、この待ち時間情報を含む所定のフレーム（図８参照）を生成し（ステップ３０３）、生成したフレームを送信データバッファ６２に格納する（ステップ３０４）。
【００６３】
（２）自装置が送信するフレームに対応して待ち時間を設定する際の動作手順
図１０は、自装置が送信するフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。なお、第２の参考実施形態においても、基本的な動作手順は上述した図５において説明した第１の参考実施形態における手順と同様であり、図５におけるステップ１０４〜１０５に示した処理が図１０に示すステップ１１５〜１１６に置き換えられている点が異なっている。
【００６４】
バス５上でフレームの衝突が発生しておらず、ステップ１０３で否定判断がなされると、タイマ時間設定部７４ａは、送信データバッファ６２に格納されているデータから、現在送信されているフレームに含まれる待ち時間情報を抽出し（ステップ１１５）、抽出した待ち時間情報によって指定される待ち時間に対応してタイマ時間を設定する（ステップ１１６）。その後、上述した図５に示したステップ１０８以降の処理が行われる。
【００６５】
（３）他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順
図１１は、他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。なお、第２の参考実施形態においても、基本的な動作手順は上述した図６において説明した第１の参考実施形態における手順と同様であり、図６におけるステップ２０５〜２０６に示した処理が図１１に示すステップ２１５〜２１６に置き換えられている点が異なっている。
【００６６】
受信処理部６６は、バス５上で送受されているフレームが自分（ナビゲーション装置２）宛てであるか否かを判定し（ステップ２０２）、自分宛てである場合には肯定判断を行って、このフレームを全て受信する（ステップ２０３）。また、フレームが自分宛てでない場合には、ステップ２０２で否定判断がなされ、受信処理部６６は、必要なデータだけを受信する（ステップ２０４）。なお、本参考実施形態では、必要なデータとして、フレームの先頭から待ち時間情報（ＴＩＦ）までの部分が受信されるものとする。
【００６７】
上述したステップ２０３または２０４の受信動作と並行して、タイマ時間設定部７４ａは、受信データバッファ６８に格納されているフレームに含まれる待ち時間情報を抽出し（ステップ２１５）、抽出した待ち時間情報によって指定される待ち時間に対応してタイマ時間を設定する（ステップ２１６）。その後、上述した図６に示したステップ２０９以降の処理が行われる。
【００６８】
このように、第２の参考実施形態のデータ通信システムでは、フレームのデータ長と待ち時間との関係を表すデータテーブルを予め求めておき、フレーム送信時には、送信するフレームのデータ長に対応した待ち時間を具体的に指定する所定の「待ち時間情報」をフレームに含ませているので、この待ち時間情報を用いることにより、上述した第１の参考実施形態と同様に、バス５上で送受されているフレームのデータ長に対応して待ち時間を可変に設定することができる。したがって、フレームの長さが可変に設定されるデータ通信システムにおいても、待ち時間に無駄が生じるのを防ぎ、通信の効率を向上させることができる。特に、第２の参考実施形態では、待ち時間情報によって指定された待ち時間に基づいてタイマ時間を設定することができるので、受信時の処理内容を簡略化することができるという利点がある。
【００６９】
なお、上述した説明では、待ち時間情報を含んだフレームを生成し、具体的な待ち時間の値を指定するようにしていたが、待ち時間を何段階かにレベル分けしておき、このレベルを指定することにより受信側装置が待ち時間を設定するようにしてもよい。図１２は、待ち時間をレベル分けして指定する場合の変形例について説明する図である。同図に示すように、例えば、フレームのデータ長が、▲１▼５０バイト未満、▲２▼５０バイト以上１００バイト未満、▲３▼１００バイト以上１５０バイト未満、▲４▼１５０バイト以上、のそれぞれに対応した待ち時間のレベルがレベル１〜４の４段階に設定されている場合を考えると、送信データ生成部６０ａから取得したデータ長に基づいて、待ち時間情報設定部７６が待ち時間のレベルを判断して設定すればよく、タイマ時間設定部７４ａは、この待ち時間のレベル値に応じて、タイマ７２に設定するタイマ時間をｔ１〜ｔ４のいずれかに設定すればよい。
【００７０】
このように待ち時間を数段階のレベル値で表現する場合を考えると、例えば、２ビットのデータ領域を用意すれば４種類のレベルを表現でき、３ビットのデータ領域を用意すれば８種類のレベルを表現できる。したがって、上述したように「待ち時間情報」を付け加えてフレームのデータ構造を変更しなくても、図２に示したフレーム内の余剰ビットを利用することにより、待ち時間情報をフレームに付加することができる。具体的には、例えば、本参考実施形態のデータ通信システムでは、通信タイプ（ＴＹＰＥ）に８ビット（１バイト）のデータ領域が用意されており、上述したような３〜４つの通信の種類（１対１通信、同報通信、レスポンス等）であれば２ビットのデータ領域で表せることから、残りの６ビットが余剰ビットとなる。したがって、この余剰ビットのいずれか２ビット程度に待ち時間情報を格納するようにすればよい。このように余剰ビットを使って待ち時間情報を格納する変形例は、システムの都合等によりフレームのデータ構造を変更できないような場合にも対応できるという利点がある。また、上述したようにフレームの先頭の通信タイプに含まれる余剰ビットを使う場合には、自分宛てでないフレームを受信する場合においては、送信先アドレスの領域までを受信した段階で受信処理を打ち切ることができるので、受信処理の負担を軽減できるという利点もある。
【００７１】
〔第３の参考実施形態〕
上述した第２の参考実施形態では、待ち時間を指示する待ち時間情報が予めフレームに付加され、この待ち時間情報に基づいて待ち時間が設定されていたが、送信側装置または受信側装置は、フレームのデータ長を計測し、データ長の計測結果に応じて待ち時間を設定するようにしてもよい。
【００７２】
図１３は、第３の参考実施形態におけるナビゲーション装置２の詳細構成を示す図である。なお、図１３に示す各構成は、上述した図３に示したナビゲーション装置２内の通信制御部２２を通信制御部２２ｂに置き換えた点が異なっており、以下、この相違点について詳細に説明する。
【００７３】
図１３に示す通信制御部２２ｂは、送信データ生成部６０、送信データバッファ６２、送信処理部６４ａ、受信処理部６６ａ、受信データバッファ６８、フレーム終了判定部７０、タイマ７２、タイマ時間設定部７４ｂを含んで構成されている。なお、図１３では、上述した図３と同一の構成要素については同じ符号が付されており、その動作についての詳細な説明は省略する。また、第３の参考実施形態のデータ通信システムにおいては、上述した第１の参考実施形態と同様のデータ構造を有するフレーム（図２参照）が送受信されるものとする。
【００７４】
送信処理部６４ａは、所定の送信処理を行うものであり、その基本的な動作は上述した第１の参考実施形態における送信処理部６４と同様である。また、第３の参考実施形態における送信処理部６４ａは、フレームの送信処理を行う際に、送信中のフレームのデータ長を計測して計測結果をタイマ時間設定部７４ｂに通知する。
【００７５】
受信処理部６６ａは、所定の受信処理を行うものであり、その基本的な動作は上述した第１の参考実施形態における受信処理部６６と同様である。また、第３の参考実施形態における受信処理部６６ａは、バス５上を送受信されるフレームが自分宛てであるか否かに関わらずこのフレームを全て受信し、受信したフレームのデータ長を計測して計測結果をタイマ時間設定部７４ｂに通知する。なお、自分宛てでないフレームについては、データ長の計測が行われた後には、受信データバッファ６８に格納されることなく廃棄される。
【００７６】
タイマ時間設定部７４ｂは、タイマ７２がタイムオーバーとなるまでの時間を設定するものであり、送信処理部６４ａまたは受信処理部６６ａから通知されるフレームのデータ長に応じてタイマ時間を設定する。
具体的には、上述したように、あるフレームＡを受信するのに必要な処理時間は、受信側装置の処理能力が既知であればフレームＡのデータ長に対応してほぼ決まるものであり、必要な処理時間が分かれば、次のフレームの受信を開始するまでの待ち時間を求めることができる。したがって、本参考実施形態では、フレームのデータ長と待ち時間との関係を表すデータテーブルが予め求められてタイマ時間設定部７４ｂの内部メモリに格納されており、タイマ時間設定部７４ｂは、送信処理部６４ａまたは受信処理部６６ａから通知されるフレームのデータ長に応じて、データテーブルを参照することにより必要な待ち時間を算出し、この算出結果に基づいてタイマ７２のタイマ時間を設定している。
【００７７】
上述した受信処理部６６ａがデータ長計測手段に対応している。
本参考実施形態のナビゲーション装置２はこのような構成を有しており、次にその動作について説明する。
（１）自装置が送信するフレームに対応して待ち時間を設定する際の動作手順
図１４は、自装置が送信するフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。なお、第３の参考実施形態においても、基本的な動作手順は上述した図５において説明した第１の参考実施形態における手順と同様であり、図５におけるステップ１０４〜１０５に示した処理が図１４に示すステップ１２０〜１２２に置き換えられている点が異なっている。
【００７８】
バス５上でフレームの衝突が発生しておらず、ステップ１０３で否定判断がなされると、送信処理部６４ａは、現在送信中のフレームのデータ長を計測し（ステップ１２０）、計測結果をタイマ時間設定部７４ｂに通知する。
通知を受けたタイマ時間設定部７４ｂは、通知されたデータ長に応じて、内部メモリに格納しているデータテーブルを参照することにより待ち時間を算出し（ステップ１２１）、算出した待ち時間に対応してタイマ時間を設定する（ステップ１２２）。その後、上述した図５に示したステップ１０８以降の処理が行われる。
【００７９】
（２）他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順
図１５は、他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。なお、第３の参考実施形態においても、基本的な動作手順は上述した図６において説明した第１の参考実施形態における手順と同様であり、図６におけるステップ２０２〜２０６に示した処理が図１５に示すステップ２２０〜２２３に置き換えられている点が異なっている。
【００８０】
通信エラーが検出されず、ステップ２０１で否定判断がなされると、受信処理部６６ａは、バス５上で送受されているフレームの送信先が自分宛てであるか否かに関わらず、このフレームを全て受信するとともに（ステップ２２０）、受信動作と並行してフレームのデータ長を計測する（ステップ２２１）。
【００８１】
次に、タイマ時間設定部７４ｂは、受信処理部６６ａによって計測されたデータ長に基づいて、内部メモリに格納しているデータテーブルを参照することにより必要な待ち時間を算出し（ステップ２２２）、算出した待ち時間に対応してタイマ７２のタイマ時間を設定する（ステップ２２３）。その後、上述した図６に示したステップ２０９以降の処理が行われる。
【００８２】
このように、第３の参考実施形態のデータ通信システムでは、バス５上を送受信されるフレームのデータ長を計測し、計測したデータ長に応じて待ち時間を算出しているので、上述した第１および第２の参考実施形態と同様に、バス５上で送受されているフレームのデータ長に対応して待ち時間を可変に設定することができる。したがって、フレームの長さが可変に設定されるデータ通信システムにおいても、待ち時間に無駄が生じるのを防ぎ、通信の効率を向上させることができる。なお、上述した説明では、図２に示したようにフレーム中にはデータ長情報が含まれていたが、第３の参考実施形態のデータ通信システムは、バス５上を送受信されるフレームのデータ長を実際に計測しているので、フレームにデータ長情報が含まれていないデータ構造を採用しているデータ通信システムに対しても適用することができるという利点がある。
【００８３】
〔第４の参考実施形態〕
上述した第３の参考実施形態では、バス５上で送受信されるフレームのデータ長を計測した結果に基づいて待ち時間が設定されていたが、送信側装置または受信側装置は、フレームの開始タイミングから終了タイミングまでの時間を計測し、計測された時間に応じて待ち時間を設定してもよい。なお、以下の説明では、一のフレームの開始タイミングから終了タイミングまでの時間を「フレーム時間」と称して説明を行うものとする。
【００８４】
図１６は、第４の参考実施形態におけるナビゲーション装置２の詳細構成を示す図である。なお、図１６に示す各構成は、上述した図３に示したナビゲーション装置２内の通信制御部２２を通信制御部２２ｃに置き換えた点が異なっており、以下、この相違点について詳細に説明する。
【００８５】
図１６に示す通信制御部２２ｃは、送信データ生成部６０、送信データバッファ６２、送信処理部６４、受信処理部６６、受信データバッファ６８、フレーム終了判定部７０、タイマ７２、タイマ時間設定部７４ｃ、フレーム時間計測部７８を含んで構成されている。なお、図１６では、上述した図３と同一の構成要素については同じ符号が付されており、その動作についての詳細な説明は省略する。また、第４の参考実施形態のデータ通信システムにおいては、上述した第１の参考実施形態と同様のデータ構造を有するフレーム（図２参照）が送受信されるものとする。
【００８６】
タイマ時間設定部７４ｃは、タイマ７２がタイムオーバーとなるまでの時間を設定するものであり、フレーム時間計測部７８から出力されるフレーム時間（後述する）の計測結果に応じてタイマ時間を設定する。
フレーム時間計測部７８は、バス５上を送受信されているフレームの開始タイミングおよび終了タイミングを検出し、開始タイミングを検出してから終了タイミングを検出するまでの間の時間、すなわち、上述した「フレーム時間」を計測する。
【００８７】
具体的には、上述したように、あるフレームＡを受信するのに必要な処理時間は、受信側装置の処理能力が既知であればフレームＡのデータ長に対応してほぼ決まるものであり、必要な処理時間が分かれば、次のフレームの受信を開始するまでの待ち時間も決定することができる。また、フレーム時間は、フレームのデータ長にほぼ比例すると言える。したがって、本参考実施形態では、フレーム時間と待ち時間との関係を表すデータテーブルが予め求められてタイマ時間設定部７４ｃの内部メモリに格納されており、タイマ時間設定部７４ｃは、フレーム時間計測部７８によって計測されて出力されるフレーム時間に基づいて必要な待ち時間を算出し、この算出結果に基づいてタイマ７２のタイマ時間を設定している。
【００８８】
上述したフレーム時間計測部７８が時間計測手段に対応している。
本参考実施形態のナビゲーション装置２はこのような構成を有しており、次にその動作について説明する。
（１）自装置が送信するフレームに対応して待ち時間を設定する際の動作手順
図１７は、自装置が送信するフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。なお、第４の参考実施形態においても、基本的な動作手順は上述した図５において説明した第１の参考実施形態における手順と同様であり、図５におけるステップ１０４〜１０５に示した処理が図１７に示すステップ１２５〜１２７に置き換えられている点が異なっている。
【００８９】
バス５上でフレームの衝突が発生しておらず、ステップ１０３で否定判断がなされると、フレーム時間計測部７８は、フレーム時間を計測し（ステップ１２５）、計測結果をタイマ時間設定部７４ｃに出力する。
次に、タイマ時間設定部７４ｃは、フレーム時間計測部７８によって計測されたフレーム時間に基づいて、内部メモリに格納しているデータテーブルを参照することにより必要な待ち時間を算出し（ステップ１２６）、算出した待ち時間に対応してタイマ７２のタイマ時間を設定する（ステップ１２７）。その後、上述した図５に示したステップ１０８以降の処理が行われる。
【００９０】
（２）他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順
図１８は、他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。なお、第４の参考実施形態においても、基本的な動作手順は上述した図６において説明した第１の参考実施形態における手順と同様であり、図６におけるステップ２０２〜２０６に示した処理が図１８に示すステップ２２５〜２２７に置き換えられている点が異なっている。
【００９１】
通信エラーが検出されず、ステップ２０１で否定判断がなされると、フレーム時間計測部７８は、フレーム時間を計測し（ステップ２２５）、計測結果をタイマ時間設定部７４ｃに出力する。
次に、タイマ時間設定部７４ｃは、フレーム時間計測部７８によって計測されたフレーム時間に基づいて、内部メモリに格納しているデータテーブルを参照することにより必要な待ち時間を算出し（ステップ２２６）、算出した待ち時間に対応してタイマ７２のタイマ時間を設定する（ステップ２２７）。その後、上述した図６に示したステップ２０９以降の処理が行われる。
【００９２】
このように、第４の参考実施形態のデータ通信システムでは、バス５上を送受信されるフレームの開始タイミングから終了タイミングまでの時間（フレーム時間）を計測し、計測したフレーム時間に応じて待ち時間を算出しているので、上述した第１〜第３の参考実施形態と同様に、バス５上で送受されているフレームのデータ長に対応して待ち時間を可変に設定することができる。したがって、フレームの長さが可変に設定されるデータ通信システムにおいても、待ち時間に無駄が生じるのを防ぎ、通信の効率を向上させることができる。なお、上述した説明では、図２に示したようにフレーム中にはデータ長情報が含まれていたが、第４の参考実施形態のデータ通信システムは、バス５上を送受信されるフレームの送受信に要する時間を実際に計測しているので、第３の参考実施形態と同様にフレームにデータ長情報が含まれていないデータ構造を採用しているデータ通信システムに対しても適用することができるという利点がある。
【００９３】
なお、上述した各参考実施形態（第１〜第４の参考実施形態）では、ナビゲーション装置２を例に挙げて、バス５上で送受信されるフレームの終了を検出した後に、次のフレーム送信を開始するまでの待ち時間を設定する動作について詳細に説明を行っていたが、音声認識装置１、ＣＤチェンジャ３、オーディオ装置４のそれぞれについても、同様な手順によって、次のフレーム送信を開始するまでの待ち時間を設定することができる。
【００９４】
〔実施形態〕
図１９は、実施形態のデータ通信システムの全体構成を示す図である。図１９に示す本実施形態のデータ通信システムは、音声認識装置１、ナビゲーション装置２、ＣＤチェンジャ３、オーディオ装置４を含んでおり、これらが通信路としてのバス５ａを介して接続されている。図１９に示すデータ通信システムは、図１に示す第１の参考実施形態のデータ通信システムにおけるバス５をバス５ａに置き換えた点が異なっている。
【００９５】
本実施形態のバス５ａは、データ線１０２とフレーム信号線１０４の２本の線によって構成されている。
データ線１０２は、音声認識装置１、ナビゲーション装置２、ＣＤチェンジャ３、オーディオ装置４の各装置がフレームを送受信するために用いられる。
【００９６】
フレーム信号線１０４は、データ線１０２上にフレームを送出することが可能であるか否かを各装置が判断するために用いられる。具体的には、本実施形態では、フレーム信号線１０４上の信号（以後、これを「フレーム信号」と称する）がローレベルのときは、いずれかの装置によってフレームの送信が行われている状態を表し、フレーム信号がハイレベルのときは、フレームの送信が行われていない状態を表している。
【００９７】
以後、フレーム信号線１０４上のフレーム信号がローレベルとなっている状態を「アクティブ状態」と称し、フレーム信号がハイレベルとなっている状態を「非アクティブ状態」と称して説明を行う。なお、非アクティブ状態が“第１の状態”に、アクティブ状態が“第２の状態”にそれぞれ対応している。
【００９８】
フレーム信号線１０４上のフレーム信号の状態は、各装置（音声認識装置１、ナビゲーション装置２、ＣＤチェンジャ３、オーディオ装置４）によって設定される。すなわち、フレームの送信を行いたい装置は、フレーム信号が非アクティブ状態であることを確認した後にフレーム信号をアクティブ状態に設定し、その後にフレームの送信を開始する。また、各装置は、フレーム送信を行わない場合には、フレーム信号を非アクティブ状態に設定する。
【００９９】
なお、フレーム信号の状態は、いずれか一の装置がアクティブ状態に設定していれば、他の装置が非アクティブ状態に設定していてもアクティブ状態になる。逆に言えば、フレーム信号の状態は、全ての装置が非アクティブ状態に設定した場合にのみ非アクティブ状態となる。
【０１００】
図２０は、実施形態におけるナビゲーション装置２の詳細構成を示す図である。なお、図２０に示す各構成は、上述した図３に示したナビゲーション装置２内の通信制御部２２を通信制御部２２ｄに置き換えた点が異なっており、以下、この相違点について詳細に説明する。
【０１０１】
図２０に示す通信制御部２２ｄは、送信データ生成部６０、送信データバッファ６２、送信処理部６４ｂ、受信処理部６６ｂ、受信データバッファ６８、タイマ７２ａ、フレーム信号設定部８０、フレーム信号判定部８２を含んで構成されている。図２０では、上述した図３と同一の構成要素については同じ符号が付されており、その動作についての詳細な説明は省略する。また、実施形態のデータ通信システムにおいても、上述した第１の参考実施形態と同様のデータ構造を有するフレーム（図２参照）が送受信されるものとする。
【０１０２】
送信処理部６４ｂは、上述した送信処理部６４等と同様のフレーム送信処理を行うものである。具体的には、送信処理部６４ｂは、送信すべきフレームが送信データバッファ６２に格納されており、かつ、タイマ７２ａから所定の送信許可信号が出力されている場合に、フレーム信号設定部８０に対して、フレーム信号をアクティブ状態に設定するよう要求し、送信対象のフレームをデータ線１０２上に送出する。
【０１０３】
受信処理部６６ｂは、上述した受信処理部６６等と同様のフレーム受信処理やフレームの衝突検出を行うものである。また、受信処理部６６ｂは、自装置宛てのフレームを受信した場合には、エラー検出処理等の所定の受信処理に先だって、フレーム信号設定部８０に対してフレーム信号をアクティブ状態に設定するように要求する。フレーム受信時の動作の詳細については後述する。
【０１０４】
フレーム信号判定部８２は、フレーム信号線１０４上のフレーム信号の状態を判定し、判定結果をタイマ７２ａに出力する。具体的には、フレーム信号判定部８２は、フレーム信号がアクティブ状態から非アクティブ状態に変化した際には、タイマ７２ａに対してフレーム終了信号を出力する。また、フレーム信号判定部８２は、フレーム信号が非アクティブ状態からアクティブ状態に変化した際には、タイマ７２ａに対して、タイマ時間の計測停止を指示する停止信号を出力する。
【０１０５】
タイマ７２ａは、フレーム信号が非アクティブ状態となってから、送信処理部６４ｂによるフレームの送信が開始されるまでの待ち時間を計測するためのものである。具体的には、タイマ７２ａは、フレーム信号判定部８２から出力されるフレーム終了信号に同期してリセットされ、その後、所定のタイマ時間が経過してタイムオーバーとなったときに送信許可信号を送信処理部６４ｂに出力する。本実施形態では、タイマ７２ａのタイマ時間は、上述した第１〜第４の参考実施形態のように可変に設定されるのではなく、あらかじめ所定の固定値に設定されている。また、タイマ７２ａは、フレーム信号判定部８２から停止信号が出力された場合には、タイマ時間の計測動作を停止する。
【０１０６】
フレーム信号設定部８０は、送信処理部６４ｂまたは受信処理部６６ｂからの要求に基づいて、フレーム信号線１０４上のフレーム信号をアクティブ状態または非アクティブ状態に設定する。
なお、本実施形態においても、音声認識装置１、ＣＤチェンジャ３、オーディオ装置４のそれぞれは、上述したナビゲーション装置２に含まれる通信制御部２２ｄと同様の構成を有する通信制御部を備えているものとする。
【０１０７】
上述したバス５ａに含まれるデータ線１０２が通信路に、フレーム信号線１０４が信号線に、受信処理部６６ｂがフレーム受信手段に、フレーム信号設定部８０がフレーム受信判定手段およびフレーム検査終了判定手段に、送信データ生成部６０、送信データバッファ６２、送信処理部６４ｂが応答送信手段にそれぞれ対応している。
【０１０８】
本実施形態のデータ通信システムはこのような構成を有しており、次に、その動作について説明する。
（１）フレーム送信時の動作手順
図２１は、フレーム送信時の動作手順を示す流れ図である。送信処理部６４ｂは、送信データバッファ６２を監視しており、送信すべきデータ（フレーム）が格納されているか否かを判定する（ステップ４００）。送信データがない場合には、ステップ４００で否定判断がなされ、送信処理部６４ｂは待機状態となる。
【０１０９】
送信データ生成部６０によって生成されたフレームが送信データバッファ６２に格納されると、ステップ４００で肯定判断がなされ、次に送信処理部６４ｂは、タイマ７２ａから送信許可信号が出力されているか否かを判定する（ステップ４０１）。送信許可信号が出力されない間は、ステップ４０１で否定判断がなされ、送信処理部６４ｂは待機状態となる。
【０１１０】
送信許可信号が出力された場合には、ステップ４０１で肯定判断がなされ、送信処理部６４ｂは、フレーム信号設定部８０に指示を送ってフレーム信号をアクティブ状態に設定し（ステップ４０２）、その後、所定のフレーム送信処理を行う（ステップ４０３）。
【０１１１】
送信処理部６４ｂによるフレーム送信処理が行われると、受信処理部６６ｂは、データ線１０２上でフレームの衝突が発生したか否かを判定する（ステップ４０４）。フレームの衝突が発生していない場合には、ステップ４０４で否定判断がなされ、次に送信処理部６４ｂは、送信すべきデータがなくなり、フレーム送信が終了したか否かを判定する（ステップ４０５）。フレーム送信が終了するまでの間は、ステップ４０５で否定判断がなされ、上述したステップ４０４に戻り、フレームの衝突が発生したか否かの判定以降の処理が繰り返される。
【０１１２】
フレームの衝突が発生した場合には、ステップ４０４で肯定判断がなされ、受信処理部６６ｂは、その旨を送信処理部６４ｂに通知する。通知を受けた送信処理部６４ｂは、フレーム送信を中止する（ステップ４０６）。
フレーム送信が終了した場合（ステップ４０５で肯定判断）、または、フレーム送信を中止した場合に、送信処理部６４ｂは、フレーム信号設定部８０に指示を送ってフレーム信号を非アクティブ状態に設定し（ステップ４０７）、一連の処理を終了する。
【０１１３】
（２）フレーム受信時の動作手順
図２２は、フレーム受信時の動作手順を示す流れ図である。受信処理部６６ｂは、データ線１０２上でフレームが送受信されているか否かを判定し（ステップ５００）、フレームが送受信されている場合（ステップ５００で肯定判断）には、データ線１０２上で何らかの通信エラーが発生したか否かを判定する（ステップ５０１）。
【０１１４】
通信エラーが検出されない場合は、ステップ５０１で否定判断がなされ、次に受信処理部６６ｂは、フレームに含まれる送信先アドレスを調べることにより、このフレームが自分（ナビゲーション装置２）宛てのものであるか否かを判定する（ステップ５０２）。
【０１１５】
フレームが自分宛てである場合には、ステップ５０２で肯定判断がなされ、受信処理部６６ｂは、所定のフレーム受信処理を行う。その後、受信処理部６６ｂは、フレームの受信が終了したか否かを判定する（ステップ５０３）。フレーム受信が終了するまでの間は、ステップ５０３の判定が繰り返される。
【０１１６】
なお、ステップ５０３における「フレームの受信が終了する」とは、データ線１０２からシリアルデータの形態で入力されるフレームに対して、スタートビットとストップビットを検出することにより１バイト単位でデータを抽出し、このデータを順次パラレルデータに変換してフレームを復元するまでの処理を指し、フレームに含まれるエラー検出用データを用いたエラー検出処理等の処理を含まないものとする。
【０１１７】
フレームの受信が終了すると、ステップ５０３で肯定判断がなされ、受信処理部６６ｂは、フレーム信号設定部８０に指示を送り、フレーム信号をアクティブ状態に設定する（ステップ５０４）。
次に、受信処理部６６ｂは、受信したフレームに含まれるエラー検出用データを用いて、所定のエラー検出処理を行い（ステップ５０５）、何らかのエラーが検出されたか否かを判定する（ステップ５０６）。
【０１１８】
エラーが検出されない場合には、ステップ５０６で否定判断がなされ、受信処理部６６ｂは、受信したデータを受信データバッファ６２に格納するとともに、送信データ生成部６０に対して、フレームを正常に受信した旨を示す肯定応答（ＡＣＫ）をフレームの送信元装置に対して返信するように依頼する。依頼を受けた送信データ生成部６０は、肯定応答を示すフレームを生成し、送信データバッファ６２に格納する。送信処理部６４ｂは、送信データバッファ６２に格納された肯定応答を送信元装置へ返信する（ステップ５０７）。
【０１１９】
肯定応答の返信が行われると、あるいは、エラー検出処理により何らかのエラーが検出されると（上述したステップ５０６で肯定判断）、受信処理部６６ｂは、フレーム信号設定部８０に指示を送り、フレーム信号を非アクティブ状態に設定し（ステップ５０８）、一連の受信処理を終了する。
【０１２０】
また、データ線１０２上で何らかの通信エラーが発生し、上述したステップ５０１で肯定判断がなされた場合、あるいは、フレームが自分宛てではなく、上述したステップ５０２で否定判断がなされた場合には、受信処理部６６ｂは、フレーム受信を中止し（ステップ５０９）、一連の受信処理を終了する。
【０１２１】
次に、フレーム受信時におけるデータ線１０２上のフレームとフレーム信号線１０４上のフレーム信号の関係について説明する。例えば、音声認識装置１から送信されたフレームをナビゲーション装置２が受信する場合を考えるものとする。
【０１２２】
図２３は、送信されたフレームが正常に受信され、肯定応答を返信する場合の動作タイミングを示す図である。上述したように、フレーム信号は、ローレベルが「アクティブ状態」を、ハイレベルが「非アクティブ状態」をそれぞれ表している（後述する図２４、図２５も同様）。
【０１２３】
音声認識装置１は、フレームの送信に先立って、時刻ｔ10においてフレーム信号をアクティブ状態に設定する。また、フレームの送信が終了すると、音声認識装置１は、時刻ｔ11においてフレーム信号を非アクティブ状態に設定する。
時刻ｔ11において、音声認識装置１によりフレーム信号が非アクティブ状態に設定されてから、所定時間が経過した後に、ナビゲーション装置２によるフレームの受信が終了する。上述したように、「フレームの受信が終了する」というのは、ナビゲーション装置２内の受信処理部６６ｂがフレームの復元を終了することをいい、この段階ではエラー検出処理等は、まだ行われていないものとする。
【０１２４】
時刻ｔ12においてフレームの受信が終了すると、ナビゲーション装置２は、フレーム信号をアクティブ状態に設定する。その後、ナビゲーション装置２は、受信したフレームに対するエラー検出処理を行う。
時刻ｔ13においてエラー検出処理が完了し、エラーが検出されなかった場合に、ナビゲーション装置２は、音声認識装置１に向けて肯定応答（ＡＣＫ）を返信する。肯定応答の返信が終了すると、時刻ｔ14において、ナビゲーション装置２は、フレーム信号を非アクティブ状態に設定する。
【０１２５】
この場合に、ナビゲーション装置２内の受信処理部６６ｂは、音声認識装置１から送信されるフレームを、例えば１バイト毎に逐次取り込んでいるので、音声認識装置１から送信されるフレームのデータ長の長短に関わらず、音声認識装置１によるフレーム送信が終了する時刻ｔ11からナビゲーション装置２におけるフレーム受信が終了する時刻ｔ12までの時間（この時間が“第１の時間”に対応しており、以後「受信処理時間」と称する）はそれほど変動しない。
【０１２６】
そこで、本実施形態では、バス５ａに接続された各装置が次のフレームを送信可能となるまでの待ち時間ｔｓ（第２の時間）は、受信処理時間よりも長い時間となるように設定されている。この場合に、自分宛てのフレームを受信したナビゲーション装置２は、フレーム信号が非アクティブ状態となる時刻ｔ11から所定の待ち時間ｔｓが経過する前に受信処理を行い、時刻ｔ12においてフレーム信号をアクティブ状態にすることにより、他の装置によるフレーム送信の開始を保留させることができる。したがって、データ長の長いフレームを受信した場合など、エラー検出処理に時間がかかる場合であっても、先にフレーム信号をアクティブ状態に設定することにより、フレームの送信する権利を確保しておくことができる。これにより、時間的に余裕を持ってエラー検出処理を行い、肯定応答の返信を行うことができる。
【０１２７】
また、他装置は、時刻ｔ11においてフレーム信号が非アクティブ状態になってから所定の待ち時間ｔｓが経過する前にフレーム信号が再びアクティブ状態になった場合には、肯定応答を返信しようとしている装置が存在することを認識することができる。したがって、フレーム送信を行いたい他の装置は、ナビゲーション装置２による肯定応答の返信が終了し、フレーム信号が非アクティブ状態となる時刻ｔ14以降まで、フレーム送信を保留することとなる。
【０１２８】
したがって、図２３に示す場合においては、音声認識装置１によるフレーム送信が終了してから、他の装置がフレームの送信を行えるようになるまでの実質的な待ち時間（ｔ11〜ｔ14の時間）は、受信処理時間と、フレームのデータ長にほぼ比例するエラー検出処理の時間と、肯定応答の返信処理にかかる時間の合計となる。すなわち、実質的な待ち時間は、フレームのデータ長に応じて増減することとなるので、待ち時間の無駄を解消し、データ通信の効率を向上させることができる。
【０１２９】
図２４は、フレームに含まれる送信先アドレスにエラーが発生して、ナビゲーション装置２や他の装置のいずれにも受信されなかった場合の動作タイミングを示す図である。
送信されるフレームに含まれる送信先アドレスに何らかのエラーが発生した場合には、送信先アドレスがいずれの装置にも該当しないことから、ナビゲーション装置２や他装置による受信処理が行われない。このため、フレーム送信が終了し、時刻ｔ11において音声認識装置１によりフレーム信号が非アクティブ状態に設定された後には、その状態が保たれる。
【０１３０】
時刻ｔ11から所定の待ち時間ｔｓが経過すると、いずれの装置もフレームの送信が可能な状態となる。例えば、時刻ｔ15において、音声認識装置１によりフレーム信号がアクティブ状態に設定され、フレームの送信が開始される。
この場合に、従来であれば、送信される可能性のある最も長いフレームのデータ長に対応して設定される長い待ち時間が経過するまで、他装置は、フレーム送信を開始することができずに無駄が多かったが、本実施形態では、実質的な待ち時間は、短い固定値の待ち時間ｔｓのみで済むため、データ通信の効率を向上させることができる。
【０１３１】
図２５は、送信されたフレームに対してエラー検出処理を行い、エラーが検出された場合の動作タイミングを示す図である。
上述した図２３の場合と同様に、音声認識装置１によるフレーム送信が終了し、時刻ｔ11においてフレーム信号が非アクティブ状態に設定される。その後、時刻ｔ12において、ナビゲーション装置２によるフレームの受信が終了し、このタイミングでナビゲーション装置２は、フレーム信号をアクティブ状態に設定する。
【０１３２】
その後、受信したフレームに対するエラー検出処理を行った結果、エラーが検出されると、ナビゲーション装置２は、肯定応答の返信を行わずに、時刻ｔ16においてフレーム信号を非アクティブ状態に設定する。これにより、いずれの装置もフレームの送信が可能な状態となる。
【０１３３】
この場合に、実質的な待ち時間（ｔ11〜ｔ16の時間）は、受信処理時間と、フレームのデータ長にほぼ比例するエラー検出処理の時間の合計となる。すなわち、実質的な待ち時間は、フレームのデータ長に応じて増減することとなるので、待ち時間の無駄を解消し、データ通信の効率を向上させることができる。
【０１３４】
このように、実施形態のデータ通信システムでは、自装置宛てのフレームを受信した場合にナビゲーション装置２は、所定の待ち時間ｔｓが経過する前にフレーム信号をアクティブ状態に設定することにより、他の装置によるフレーム送信を保留させておき、この間にエラー検出処理などを行うことができる。この場合に、フレームを受信した後のエラー検出処理に要する時間がフレーム長に応じて増減することから、他の装置がフレームを送信可能となるまでの実質的な待ち時間はフレーム長に応じて増減することとなり、無駄な待ち時間を回避してデータ通信の効率を向上させることができる。
【０１３５】
なお、上述した実施形態では、フレーム受信時において、受信側装置（ナビゲーション装置２）は、フレームが自分宛てであることを確認した後に、フレーム信号をアクティブ状態に設定していたが、送信されているフレームがあることを認識した時点で、そのフレームが自分宛てであるか否かを確認する前にフレーム信号をアクティブ状態に設定するようにしてもよい。この場合には、受信側となる各装置は、フレーム信号をアクティブ状態に設定した後にフレームが自分宛てであるか否かを確認する。そして、自分宛てであることを確認した装置は、受信処理、エラー検出処理、肯定応答の返信処理を行う。また、フレームが自分宛てでないことを確認した装置は、その時点で受信処理を中止してフレーム信号を非アクティブ状態に設定する。
【０１３６】
このように、フレーム受信時において、フレームの宛先（送信先アドレス）を確認するよりも先に、一旦フレーム信号をアクティブ状態に設定することにより、受信側装置がフレーム信号をアクティブ状態に設定するまでの時間をより少なくすることができるので、待ち時間ｔｓをさらに短い時間に設定することができるという利点がある。
【０１３７】
また、上述した各実施形態では、本発明のデータ通信方式を車載用機器に対して適用して構成されるデータ通信システムについて説明したが、本発明の適用範囲は車載用機器に限定されるものではなく、バス等の所定の通信路を介して接続された各種装置の間でデータを送受する場合にも適用することができる。
【０１３８】
【発明の効果】
上述したように、本発明によれば、通信路上で送受信されるフレームのデータ長に応じて、次の送信フレームに対応する待ち時間が設定されるため、適切な長さの待ち時間の設定が可能であり、不要に長い待ち時間の設定を回避することによる通信効率の向上が可能になる。
【０１３９】
また、本発明によれば、第３のフレームを受信する受信側装置は、通信路上の他の装置に接続された信号線を第２の状態に変化させ、所定の検査が終了した後に信号線を第１の状態に復帰させているので、次のフレームの送信が可能か否かを他の装置が容易に認識することができる。この場合に、第３のフレームを受信した後の検査に要する時間が第３のフレームのフレーム長に応じて増減することから、他の装置の待ち時間がフレーム長に応じた適切な長さに設定されることとなり、無駄な待ち時間を回避してデータ通信の効率を向上させることができる。
【図面の簡単な説明】
【図１】  第１の参考実施形態のデータ通信システムの全体構成を示す図である。
【図２】  各装置間で送受信されるフレームのデータ構造を示す図である。
【図３】  ナビゲーション装置の詳細構成を示す図である。
【図４】  タイマ時間設定部により設定されるタイマ時間とデータ長との関係を示す図である。
【図５】  自装置が送信するフレームに対応して待ち時間を設定する際の動作手順を示す流れ図である。
【図６】  他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順を示す流れ図である。
【図７】  第２の参考実施形態におけるナビゲーション装置の詳細構成を示す図である。
【図８】  第２の参考実施形態の送信データ生成部において生成されるフレームのデータ構造を示す図である。
【図９】  送信するフレームを生成する際の動作手順を示す流れ図である。
【図１０】  自装置が送信するフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。
【図１１】  他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。
【図１２】  待ち時間をレベル分けして指定する場合の変形例について説明する図である。
【図１３】  第３の参考実施形態におけるナビゲーション装置の詳細構成を示す図である。
【図１４】  自装置が送信するフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。
【図１５】  他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。
【図１６】  第４の参考実施形態におけるナビゲーション装置の詳細構成を示す図である。
【図１７】  自装置が送信するフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。
【図１８】  他装置から送信されるフレームに対応して待ち時間を設定する際の動作手順について部分的に示す流れ図である。
【図１９】  実施形態のデータ通信システムの全体構成を示す図である。
【図２０】  実施形態におけるナビゲーション装置の詳細構成を示す図である。
【図２１】  フレーム送信時の動作手順を示す流れ図である。
【図２２】  フレーム受信時の動作手順を示す流れ図である。
【図２３】  送信されたフレームが正常に受信され、肯定応答を返信する場合の動作タイミングを示す図である。
【図２４】  フレームに含まれる送信先アドレスにエラーが発生して、ナビゲーション装置や他の装置のいずれにも受信されなかった場合の動作タイミングを示す図である。
【図２５】  送信されたフレームに対してエラー検出処理を行い、エラーが検出された場合の動作タイミングを示す図である。
【図１】
0004187920.tif 000002
【図２】
0004187920.tif 000003
【図３】
0004187920.tif 000004
【図４】
0004187920.tif 000005
【図５】
0004187920.tif 000006
【図６】
0004187920.tif 000007
【図７】
0004187920.tif 000008
【図８】
0004187920.tif 000009
【図９】
0004187920.tif 000010
【図１０】
0004187920.tif 000011
【図１１】
0004187920.tif 000012
【図１２】
0004187920.tif 000013
【図１３】
0004187920.tif 000014
【図１４】
0004187920.tif 000015
【図１５】
0004187920.tif 000016
【図１６】
0004187920.tif 000017
【図１７】
0004187920.tif 000018
【図１８】
0004187920.tif 000019
【図１９】
0004187920.tif 000020
【図２０】
0004187920.tif 000021
【図２１】
0004187920.tif 000022
【図２２】
0004187920.tif 000023
【図２３】
0004187920.tif 000024
【図２４】
0004187920.tif 000025
【図２５】
0004187920.tif 000026