(57)【特許請求の範囲】
【請求項１】
パケットに含まれるデータ列の中で送信タイミングが最後部近傍に位置する所定ビット数の特定ビットデータを抽出する特定ビット抽出手段と、
前記特定ビット抽出手段によって抽出された前記特定ビットの内容に基づいて、前記パケット内に含まれる前記特定ビットと異なる調整ビットの内容を設定することにより、前記特定ビットを所定の値に変更する特定ビット調整手段と、
前記特定ビット調整手段によって前記特定ビットの内容が変更された後の前記パケットを送信する送信処理手段と、
を備えることを特徴とするデータ通信方式。
【請求項２】
請求項１において、
前記調整ビットは、前記パケット内の余剰ビットを利用して設定されることを特徴とするデータ通信方式。
【請求項３】
請求項１または２において、
前記特定ビットは、送信データを含む所定範囲のデータに対して所定の演算を行うことにより得られるエラー検出用データの一部に対応しており、
前記所定範囲のデータの一部に前記調整ビットが含まれることを特徴とするデータ通信方式。
【請求項４】
請求項３において、
前記エラー検出用データは、前記所定範囲のデータを加算して得られるチェックサムデータであることを特徴とするデータ通信方式。
【請求項５】
請求項３において、
前記エラー検出用データは、前記所定範囲のデータを用いて所定の生成多項式を計算して得られるＣＲＣ符号であることを特徴とするデータ通信方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の装置やプロセッサ等の間で非同期にデータの送受を行うデータ通信方式に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
非同期通信を利用したデータ通信では、送信側は送信したいデータの前後にデータ送信元のアドレスやエラー検出用データ等を付加したパケットを送信し、受信側でパケットの終了を判定してデータ受信を完了するのが一般的であった。
【０００３】
車載機器等に用いられているシリアル通信の中には、通信データのデータ長を９ビットとし、そのうちの８ビットをデータ転送に用いて、残りの１ビットでパケット終了を通知するようにしたものがある。例えば、送信側において、パケットの最後のデータについては９ビット目を“１”に、それ以外のデータについては９ビット目を“０”に設定してパケットの送信が行われる。したがって、受信側では、９ビット目が“１”であるデータを受信したときにパケットの終了を判断することができる。
【０００４】
しかし、このように９ビット目を利用してパケットの終了を通知する方法では、９ビットのデータ長に対応したマイコン等が必要になるが、一般には８ビットあるいは２のべき乗倍を単位としてデータを扱う場合が多いため、９ビットを単位とするデータ通信を行おうとすると使用できるハードウエアが少なくなって、通信装置の高性能化や低コスト化に際して障害となる。また、受信側でパケット終了を判断するために９ビット毎にデータの内容を調べる必要があるため、受信装置に含まれるマイコン等の処理負担が重くなって、受信装置側で行われる処理に支障をきたすことになる。
【０００５】
このような不都合がない他の通信方法としては、ある一定時間を越えてデータが送信されない場合にこの時間を検出してパケットが終了したものと判断するものがある。一定時間を検出する方法としては、例えばパケットに含まれるデータ列に対応した信号の立ち上がりあるいは立ち下がりに同期してリセット動作を行うタイマを用い、このタイマがタイムオーバーになったときにパケットの終了を検出する。受信装置のマイコン等はタイマがタイムオーバーになったときに出力される割り込み信号を検出したときにパケットの終了を認識するため、それまではパケットの終了を知るためにパケット内の特定箇所のデータを調べる等の処理が不要であって、処理の負担が軽くなる。
【０００６】
しかし、この方法では、データ列に対応した信号の立ち上がりあるいは立ち下がりのない００ＨやＦＦＨ（Ｈは１６進数を示す）のデータがパケットの最後に存在すると、タイマのリセット動作が行われるタイミングがずれて、パケット終了を判断するまでの時間が短くなる場合があった。したがって、通信の途中でパケット終了と誤判断してしまう可能性があって、パケットの終了を確実に判断することができなかった。このため、パケットの終了を確実に判断するために、かなり長いパケット間隔をおく必要があった。
【０００７】
本発明は、このような点に鑑みて創作されたものであり、その目的は非同期通信を利用したデータ通信においてパケットの終了を確実に判断することができるデータ通信方式を提供することにある。
【０００８】
【課題を解決するための手段】
上述した課題を解決するために、本発明のデータ通信方式では、特定ビット抽出手段によって、パケットに含まれるデータ列の中で送信タイミングが最後部近傍に位置する特定ビットデータを抽出し、特定ビット調整手段によって、その内容に基づいて調整ビットの値を調整することにより特定ビットの内容が変更される。したがって、パケットの受信側において、データの入力が一定時間なかったときにパケットの終了を判断する場合に、この一定時間の計測の開始タイミングをパケットの最終ビットにほぼ一致させることができ、非同期通信において送信されるパケットの終了を確実に判断することができる。
【０００９】
特に、上述した調整ビットをパケット内の余剰ビットを利用して設定することが望ましい。余剰ビットを使用することにより、特別なビットを追加して通信データ量を増やすことなく、特定ビットの値を調整することができる。また、エラー検出用データの一部を特定ビットに対応させることが望ましい。一般に、エラー検出用データは、エラーの検出対象となる所定範囲のデータに対して所定の演算を行うことにより得られるものであり、この所定範囲のデータの一部に調整ビットを含ませておくことにより、この調整ビットの値を変更することにより特定ビットの内容を任意に変えることが可能になる。具体的に、このエラー検出用データとしては、チェックサムやＣＲＣコードを用いることが望ましい。
【００１０】
【発明の実施の形態】
以下、本発明を適用した一実施形態のデータ通信システムについて、図面を参照しながら説明する。
【００１１】
図１は、一実施形態のデータ通信システムの全体構成を示す図である。図１に示す本実施形態のデータ通信システムは、音声認識装置１、ナビゲーション装置２、ＣＤチェンジャ３、オーディオ装置４を含んでおり、これらがバス５を介して接続されている。
【００１２】
音声認識装置１は、利用者の発声による操作音声に対して音声認識処理を行うものであり、認識結果がバス５を介してデータ通信によってナビゲーション装置２やオーディオ装置４等の他の装置に送られる。ナビゲーション装置２は、自車位置を検出して自車位置周辺の地図を表示したり、利用者によって選択された目的地までの経路探索および経路誘導等を行うものである。ＣＤチェンジャ３は、複数枚のＣＤが装填され、その中の１枚が選択されて、その記録面に記録された信号の読み取りが可能になる。オーディオ装置４は、車室内のダッシュボードに収容された１つの筐体内に含まれるオールインワンタイプのオーディオ機器であり、例えばラジオチューナやカセットテープデッキの他に各種の操作キーを有する操作盤を含んでいる。この操作盤を用いて行われる各種の操作指示は、オーディオ装置４自身に含まれるラジオチューナやカセットテープデッキの操作に対して行われるものの他に、ＣＤチェンジャ３や音声認識装置１等に対して行われるものもある。オーディオ装置４以外の他の装置に対する操作が行われると、その操作状態に応じた操作信号がバス５を介してデータ通信によって他の装置に送られる。
【００１３】
次に、音声認識装置１とナビゲーション装置２との間で相互にデータ通信を行う場合の詳細について説明する。図２は、音声認識装置１およびナビゲーション装置２の詳細構成を示す図である。図２に示すように、音声認識装置１は、音声認識処理部１０およびデータ送信部１２を含んで構成されている。
【００１４】
音声認識処理部１０は、音声認識処理を行うものであり、認識結果データがデータ送信部１２に向けて出力される。データ送信部１２は、音声認識処理部１０から入力される認識結果データを通信用のフォーマットに変換して他の装置に向けて送信するためものであり、送信データ生成部６０、送信データバッファ６２、最終ビット抽出部６４、調整ビット設定部６６、送信処理部６８を含んで構成されている。
【００１５】
送信データ生成部６０は、音声認識処理部１０から出力された認識結果データに対してデータ通信に必要な各種のデータを付加することにより、送信データパケットを生成する。
【００１６】
図３は、送信データ生成部６０によって生成される送信データパケットのデータ構造を示す図である。同図に示すように、送信データパケットは、先頭から順に通信タイプ（ＴＹＰＥ）、送信先アドレス（ＤＡ）、送信元アドレス（ＳＡ）、データ長（ＬＥＮ）、送信データ（ＤＡＴＡ）、エラー検出用データ（ＥＲＲ）が含まれている。
【００１７】
通信タイプは、この通信データパケットを用いた通信の種類を規定したものであり、その具体的内容の一例が図４に示されている。すなわち、この通信タイプ用に８ビットの領域が使用されており、実際にはその先頭から３ビット目と４ビット目に含まれる２ビットデータによって通信の種類が示される。例えば、通常の１対１通信においてはこの２ビットデータとして“０１”が格納される。また、以後の通信が高速通信であることを知らせる場合にはこの２ビットデータとして“１０”が格納される。また、同報通信においてはこの２ビットデータとして“１１”が格納される。さらに、この送信データパケットがレスポンスとして使用される場合にはこの２ビットデータとして“００”が格納される。
【００１８】
この８ビットの通信タイプの残りの６ビットについては、先頭の２ビットと、第５ビット目および第６ビット目が予備として未使用状態であり、最終の２ビットが調整ビットとして使用される。なお、この調整ビットの詳細については後述する。
【００１９】
また、送信先アドレスは、この送信データパケットの送り先となる装置に対応したアドレスが格納されている。送信元アドレスは、この送信データパケットの送信元となる装置のアドレスが格納されている。音声認識装置１内のデータ送信部１２で生成される送信データパケットの場合には、この送信元アドレスには音声認識装置１のアドレスが格納される。
【００２０】
データ長は、送信対象となっている送信データの長さをバイト単位で表したものである。送信データは、送信対象となっているデータが格納されており、音声認識装置１から出力される送信データパケットでは音声認識処理部１０から出力された認識結果データがこれにあたる。エラー検出用データは、通信タイプから送信データまでの各データの内容にエラーがある場合にこれを検出するために付加されるものである。本実施形態ではチェックサムデータがエラー検出用データとして用いられており、通信タイプ、送信先アドレス、送信元アドレス、データ長、送信データを８ビット毎に区切って順次加算し、この加算結果の下位８ビットがエラー検出用データとして格納される。
【００２１】
送信データバッファ６２は、送信データ生成部６０によって生成される送信データパケットを一時的に格納する。最終ビット抽出部６４は、送信データバッファ６２に格納された送信データパケットに含まれるエラー検出用データの下位２ビット（以後、「最終ビット」と称する）を特定ビットとして抽出する。調整ビット設定部６６は、最終ビット抽出部６４によって抽出された最終ビットの内容に基づいて、この最終ビットが常に所定の値となるように通信タイプの下位２ビットに割り当てられた調整ビットの値を調整する。上述したように、通信タイプは通信の種類を指定するために用いられ、８ビットの中の２ビットが使用されるため、それ以外の６ビットは余剰ビットなっており、さらにその中の下位２ビットが調整ビットとして利用されている。
【００２２】
送信処理部６８は、送信データバッファ６２に格納された送信データパケットをバイト単位で読み出してシリアルデータに変換し、さらに先頭にスタートビット“０”を、後部にパリティ（例えば偶数パリティ）とストップビット“１”をそれぞれ付加して、バス５を介してナビゲーション装置２に向けて出力する。
【００２３】
また、図２に示すように、ナビゲーション装置２は、受信処理部２０、タイマ２２、ナビゲーション処理部２４を含んで構成されている。受信処理部２０は、音声認識装置１から送られてくるシリアルデータからスタートビットやストップビットを検出することにより１バイト単位のシリアルデータを抽出し、さらにパリティによるエラーチェックを行った後、順次パラレルデータに変換して図３に示すパケットを復元する。また、受信処理部２０は、受信したパケットに含まれるエラー検出用データを用いてエラー検出処理を行った後に送信データ（認識結果データ）のみを抽出してナビゲーション処理部２４に向けて出力する。
【００２４】
タイマ２２は、音声認識装置１あるいはその他の装置から送られてくる送信データパケットに対応したシリアルデータが入力されており、このシリアルデータに対応した信号の立ち上がり（データ列が“０”から“１”に変化する部分）に同期したリセット動作を行う。タイマ２２は、リセット動作を行ってから一定時間が経過すると、ナビゲーション処理部２４に対して割り込み信号を出力する。タイマ２２が割り込み信号を出力するまでの一定時間は、あらかじめ任意に設定することができる。
【００２５】
ナビゲーション処理部２４は、所定のナビゲーション動作を行うものであり、音声認識装置１から送られてくる認識結果データがこのナビゲーション動作において用られる。ナビゲーション処理部２４は、タイマ２２から割り込み信号が入力されると、認識結果データの入力が終了したものと判断する。
【００２６】
例えば、利用者によって目的地が音声入力された場合には、ナビゲーション処理部２４は、音声認識装置１から送られてくる認識結果データを用いてこの目的地を認識する。また、利用者によって経路探索動作の開始が音声によって指示されると、ナビゲーション装置２４は、認識結果データとしてこの指示を受け取り、所定の経路探索処理を実行する。
【００２７】
上述した最終ビット抽出部６４が特定ビット抽出手段に、調整ビット設定部６６が特定ビット調整手段に、送信データバッファ６２、送信処理部６８が送信処理手段にそれぞれ対応する。
【００２８】
本実施形態の音声認識装置１およびナビゲーション装置２は上述した構成を有しており、次にこれらの装置間で行われるデータ通信動作を説明する。図５は、音声認識装置１がナビゲーション装置２に対して送信データパケットを送信する動作手順を示す流れ図である。データ送信部１２内の送信データ生成部６０は、音声認識処理部１０から認識結果データが入力されたか否かを判定しており（ステップ１００）、認識結果データが入力されると、この認識結果データに通信タイプ、送信先アドレス、送信元アドレス、データ長のそれぞれを付加した後に（ステップ１０１）、図３に示した通信タイプから送信データまでの各データを用いてチェックサムを計算する（ステップ１０２）。なお、このチェックサムの計算においては、通信タイプの下位２ビットに含まれる調整ビットには、所定の初期値（例えば“００”）が設定されている。また、送信データ生成部６０は、ステップ１０２で計算したチェックサムデータをエラー検出用データとして付加して送信データパケットを生成し、送信データバッファ６２に格納する（ステップ１０３）。
【００２９】
次に、最終ビット抽出部６４は、送信データバッファ６２に格納された送信データパケットから最終ビットを抽出し（ステップ１０４）、調整ビット設定部６６は、この抽出された最終ビットの値が所定の値となるように調整ビットの値を設定する（ステップ１０５）。例えば、最終ビットの値が“１０”となるように調整ビットの値が設定される。調整ビットの値の設定が終了すると、調整ビット設定部６６は、送信データバッファ６２に格納された送信データパケットに含まれるエラー検出用データを再び計算し直してその内容を変更する（ステップ１０６）。その後、送信処理部６８は、送信データバッファ６２から出力される送信データパケットを順にシリアルデータに変換して、バス５を介してナビゲーション装置２に向けて出力する（ステップ１０７）。
【００３０】
次に、調整ビットの値を設定する方法を説明する。図６は、抽出された最終ビットと調整ビットの関係を示す図である。ステップ１０３において送信データバッファ６２に格納された送信データパケットに含まれるエラー検出用データ（チェックサムデータ）は、調整ビットの値を“００”として計算したものである。このとき、チェックサムの最終ビットがとり得る値は、図６に示すように、“００”、“０１”、“１０”、“１１”の４種類が考えられる。この中で、チェックサムの最終ビットが“００”の場合には、このチェックサムに“１０”を加算すればチェックサムの最終ビットが“１０”となる。したがって、チェックサムの最終ビットが“００”の場合には、対応する調整ビットが“１０”に設定される。他の場合も同様であり、最終ビットが“０１”の場合には調整ビットが“０１”に、最終ビットが“１０”の場合には調整ビットが“００”に、最終ビットが“１１”の場合には調整ビットが“１１”にそれぞれ設定され、チェックサムの最終ビットが常に“１０”となるように変更される。
【００３１】
このようにして音声認識装置１からナビゲーション装置２に対して送られる送信データパケットは、ナビゲーション装置２内の受信処理部２０とタイマ２２のそれぞれに入力される。受信処理部２０は、送信処理部６８から出力されたパケットをパラレルデータに変換し、エラー検出処理を行った後に抽出した認識結果データをナビゲーション処理部２４に向けて出力する。
【００３２】
また、タイマ２２は、送信データパケットに対応したシリアルデータが入力されると、このシリアルデータに対応した信号の立ち上がりに同期したリセット動作が繰り返され、それぞれのリセット動作の後に次のリセット動作が行われずに一定時間経過してタイムオーバーになると、ナビゲーション処理部２４に対して割り込み信号を送る。実際には、データ送信パケットのデータ列が入力されている間は頻繁にリセット動作が繰り返されるためタイムオーバーになることはなく、エラー検出用データの最終ビットとして設定された２ビットデータ“１０”が受信された後にパリティビットやストップビットが“１”に変化するタイミングでタイマ２２が再度リセットされ、その後一定時間経過後にタイムオーバーとなって割り込み信号が出力される。
【００３３】
図７は、タイマ２２の動作を説明する図である。図７に示すパケットＡおよびパケットＢのそれぞれは、内容が異なる認識結果データが送信データとして含まれる別々の送信データパケットを示している。また、図７において、ｓはスタートビットを、ｐはパリティ（例えば偶数パリティ）を、ｔはストップビットをそれぞれ示している。
【００３４】
本実施形態においては、調整ビット設定部６６によって各パケットの最後のデータの末尾が常に“１０”となるように調整されるため、パケットＡのようにその後に送信されるパリティが“１”の場合にはその立ち上がりに同期してタイマ２２がリセットされる。あるいは、パケットＢのようにパリティが“０”の場合には、さらにその後で送信されるストップビットの立ち上がりに同期してタイマ２２がリセットされる。したがって、タイマ２２がリセット動作を行った後にタイムオーバーとなってナビゲーション処理部２４に割り込み信号を出力するタイミングは、パリティの内容によって１ビット分変動するだけであり、ほとんど一定となるパケットの内容によらず常に一定となる。したがって、ナビゲーション処理部２４は、パケットの終了を正確かつ確実に判断することができる。
【００３５】
このように、本実施形態のデータ通信システムでは、調整ビットを用いて送信データ用パケットに含まれるエラー検出用データの最終ビットの値が常に“１０”になるように調整しており、ナビゲーション装置２内のタイマ２２がこの最終ビットの次に送られてくるパリティあるいはストップビットに同期して必ずリセットされるため、このリセット動作の後一定時間経過したときに出力される割り込み信号を検出することによって、ナビゲーション処理部２４は確実にパケットの終了を認識することができる。
【００３６】
また、パケットの最終ビットの値を調整するために、通信タイプの余剰ビットが用いられているため、従来から用いられている送信データパケットの容量を変えずに最終ビットの内容を調整することができる。
【００３７】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば、上述した実施形態では、信号の立ち上がりに同期してリセットされるタイマ２２を用いたが、信号の立ち下がりに同期してリセットされるタイマを用いるようにしてもよい。この場合には、エラー検出用データの最終ビットが“１”から“０”に変化するタイミングでタイマ２２がリセットされる。
【００３８】
また、上述した実施形態では、通信されるシリアルデータにパリティが含まれる場合を説明したが、パリティを含まない場合であっても本発明を適用することができる。また、上述した実施形態では、パリティの内容によってタイマ２２がリセットされるタイミングが１ビット分変動するが、２ビットの最終ビットの下位１ビットを“０”とし、パリティの内容が固定的に“０”（あるいは“１”）となるように上位１ビットの内容を設定するようにしてもよい。
【００３９】
また、上述した実施形態では、エラー検出用データとしてチェックサムを用いたが、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅ）等の他の方式によって生成されたエラー検出用データを用いるようにしてもよい。この場合には、エラー検出用データを生成する方式に合わせて、エラー検出用データの最終ビットの値が変更可能な調整ビットの値をあらかじめ求めておいて、その関係にしたがって調整ビットの値を設定して最終ビットを所定の値に調整すればよい。
【００４０】
また、上述した実施形態ではパケット内の通信タイプの余剰ビットを利用して調整ビットを設定していたが、必ずしも調整ビットを通信タイプ内に設定する必要はなく、パケット内の他の領域において余剰ビットが存在する場合にはその領域において調整ビットを設定するようにしてもよい。
【００４１】
また、上述した実施形態では、音声認識装置１からナビゲーション装置２に送信データパケットを送る場合について説明したが、反対にナビゲーション装置２から音声認識装置１に対してデータ送信パケットを送信する場合や、その他の装置間でデータ送信パケットを送信する場合にも本発明を適用することができる。あるいは、１つの装置内に複数の処理部やプロセッサが含まれている場合に、これらの間でデータ通信を行うような場合においても本発明を適用することができる。
【００４２】
【発明の効果】
上述したように、本発明によれば、パケットに含まれるデータ列の中で送信タイミングが最後となる特定ビットデータを抽出し、その内容に基づいて調整ビットの値を調整することにより特定ビットの内容が変更されるため、パケットの受信側において、データの入力が一定時間なかったときにパケットの終了を判断する場合に、この一定時間の計測の開始タイミングをパケットの最終ビットにほぼ一致させることができ、非同期通信において送信されるパケットの終了を確実に判断することができる。
【図面の簡単な説明】
【図１】一実施形態のデータ通信システムの全体構成を示す図である。
【図２】音声認識装置およびナビゲーション装置の詳細構成を示す図である。
【図３】送信データパケットのデータ構造を示す図である。
【図４】送信データパケット内の通信タイプのデータ構造を示す図である。
【図５】音声認識装置がナビゲーション装置に対して送信データパケットを送信する動作手順を示す流れ図である。
【図６】抽出された最終ビットの値と調整ビットの値の関係を示す図である。
【図７】タイマの動作を説明する図である。
【符号の説明】
１  音声認識装置
２  ナビゲーション装置
３  ＣＤチェンジャ
４  オーディオ装置
５  バス
１０  音声認識処理部
１２  データ送信部
２０  受信処理部
２２  タイマ
２４  ナビゲーション処理部
６０  送信データ生成部
６２  送信データバッファ
６４  最終ビット抽出部
６６  調整ビット設定部
６８  送信処理部
【図１】
0003623677.tif 000002
【図２】
0003623677.tif 000003
【図３】
0003623677.tif 000004
【図４】
0003623677.tif 000005
【図５】
0003623677.tif 000006
【図６】
0003623677.tif 000007
【図７】
0003623677.tif 000008