(57)【要約】【課題】  無線ＬＡＮとＢｌｕｅｔｏｏｔｈ(R)とが混在する環境において、妨害波を送信することなく、無線ＬＡＮとの干渉を防止する。【解決手段】  本通信装置は、通信相手に対する電波送出前に、周波数ホッピングにおける周波数スロット毎に受信強度を検出する検出手段と、検出手段により検出された受信強度が所定のレベル以上である場合には当該周波数スロットについてのキャリアセンスカウンタを増分する手段と、検出手段による各周波数スロットの受信強度検出を所定時間行った後、キャリアセンスカウンタの値に基づいて、通信相手との通信に使用する周波数スロットを決定する手段とを有する。【選択図】図４
2007074060.tif 000002
【特許請求の範囲】
【請求項１】
通信相手に対する電波送出前に、周波数ホッピングにおける周波数スロット毎に受信強度を検出する検出手段と、
前記検出手段により検出された受信強度が所定のレベル以上である場合には当該周波数スロットについてのキャリアセンスカウンタを増分する手段と、
前記検出手段による周波数スロット毎の受信強度検出を所定時間行った後、前記キャリアセンスカウンタの値に基づいて、前記通信相手との通信に使用する周波数スロットを決定する手段と、
を有する通信装置。
【請求項２】
前記キャリアセンスカウンタの値が所定の条件を満たす使用不可な周波数スロットを避けて、前記通信相手に対する問い合わせ又は接続を行う通信処理手段
をさらに有する請求項１記載の通信装置。
【請求項３】
前記通信処理手段が、
マスタからスレーブへパケットを送信するサイクルと前記スレーブから前記マスタへパケットを送信する次のサイクルとのいずれかで前記使用不可な周波数スロットを用いることになる場合、前記マスタからスレーブへパケットを送信するサイクルにおけるパケットの送信を回避する
請求項２記載の通信装置。
【請求項４】
ホストコントローラインターフェース・コマンドに応答して前記検出手段の動作を開始させる手段
をさらに有する請求項１記載の通信装置。
【請求項５】
前記ホストコントローラインターフェース・コマンドが、前記所定のレベルに関する情報と、前記検出手段によって検出を行う時間に関する情報とを含む
請求項４記載の通信装置。
【請求項６】
通信相手に対する電波送出前に、周波数ホッピングにおける周波数スロット毎に受信強度を検出する検出ステップと、
前記検出ステップにおいて検出された受信強度が所定のレベル以上である場合には当該周波数スロットについてのキャリアセンスカウンタを増分する手段と、
前記検出ステップを各前記周波数スロットについて所定時間行った後、前記キャリアセンスカウンタの値に基づいて、前記通信相手との通信に使用する周波数スロットを決定するステップと、
を含む通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに重複する周波数帯域を用いる２つの無線通信方法を同時に実施するための技術に関する。
【背景技術】
【０００２】
２．４ＧＨｚ帯（IEEE802.11ｂ及びｇ）を使用する無線ＬＡＮ（Local Area Network）における無線通信と近距離無線通信規格であるＢｌｕｅｔｏｏｔｈ（登録商標）における無線通信とを両方用いる環境においては、それら相互の干渉を防ぐ必要がある。このため、Ｂｌｕｅｔｏｏｔｈ  Ｖｅｒ．１．２以降、接続後、受信感度やパケットの再送回数に基づきエラーが発生したとされる周波数スロットを使用しないようにするＡＦＨ（Adaptive Frequency Hopping）という手法が用いられていた。しかしながら、ＡＦＨは接続後、データ通信中において、定期的に機能する方式であり、問い合わせ又は接続する際、無線ＬＡＮで通信を行う通信装置の存在を特定できず、ＡＦＨが機能するまで妨害波が送信されてしまっていた。
【０００３】
例えば、特開２００２−１９８８６７号公報及び特開２００２−１９８８６８号公報には、同じ周波数帯域を使用する複数種の無線通信方式を同じエリアで同時に使用することを可能にするための技術が開示されている。具体的には、同一の無線周波数帯域を使用するＩＥＥＥ８０２．１１ｂとＢｌｕｅｔｏｏｔｈとの間の信号の干渉を防止するために、Ｂｌｕｅｔｏｏｔｈモジュールおよび無線ＬＡＮモジュールにはそれぞれ通信チャネル制御部が設けられている。これら通信チャネル制御部は、使用中の通信チャネルそれぞれデータ誤り率に基づいて他の無線通信方式と干渉している通信チャネルを探し出して、その通信チャネルの使用を中止（他の無線通信方式に解放）するという制御を行う。しかし、問い合わせ又は接続の前にデータ誤り率を検出することはできない。
【０００４】
また、特開２００２−３００１７２号公報は、同一周波数帯を使用する様々な方式の無線通信装置が混在する環境であっても、不要な通信速度性能の劣化を避け、無線通信方式間での速度の公平さを維持するための技術が開示されている。具体的には、当該無線通信装置の利用周波数情報収集部は、その無線通信装置の無線通信部の使用する周波数、時刻、方向の情報を収集するとともに、周辺無線通信装置から周辺無線通信装置の無線通信部の使用する周波数、時刻、方向の情報を収集する。当該無線通信装置では、収集された情報に基づいて、データ送信の延期、送信フレームの短縮、データ送受信の一時中断、電波干渉耐性の優れた変調の使用、送受信方向の選別、あるいは衝突周波数の使用回避などの方法によって、電波干渉による通信速度性能の劣化を避ける。しかしながら、利用周波数情報収集に特別の機構が必要となる。
【０００５】
さらに、特開２００３−１８１７０号公報には、以下のような技術が開示されている。すなわち、第１及び第２の無線チャネルを用いてそれぞれ別の無線通信装置と無線通信を行う際に、当該第１及び第２の無線チャネルを用いた無線通信で、いずれか一方の無線通信装置から、同一無線チャネルを用いた他のグループのキャリアが検出されたことが通知された場合、他方の無線通信装置との無線通信を抑制するよう制御を行うものである。そうすれば、既に使用中の無線チャネルが優先されるようになり、キャリアの衝突を回避することができる。しかし、無線ＬＡＮとＢｌｕｅｔｏｏｔｈとが混在している状態において、Ｂｌｕｅｔｏｏｔｈで通信を行う他の通信装置が存在している場合には、単純にキャリアを検出しただけではＢｌｕｅｔｏｏｔｈの周波数ホッピングの中でのキャリアの検出なのか、無線ＬＡＮによるキャリアの検出なのかを判別できない。
【０００６】
また、特開２００３−３７５２９号公報には、無線通信システム間の相互干渉を回避するための技術が開示されている。具体的には、測定部は受信モード及び送信モード間のスイッチングタイムの間割り当てられる転送スロットで使用するチャネルを介して受信された信号の強度を測定する。判断部は測定された受信信号の強度と基準信号強度とを比較してデータを転送するか否かを判断する。制御部は判断部の判断に基づきデータに対する転送動作を行うようにする信号を出力する。無線通信システムは制御部から入力された信号に応じてデータを転送する。しかしながら、上でも述べたように、所定レベル以上の信号を検出しただけでは、干渉チャネルについて十分な判別を行うことはできない。
【０００７】
さらに、特開２００３−１９９１６０号公報には、同一周波数帯で複数の無線通信手段が混在使用されていても、伝送中の電波干渉の有無に応じて最適な無線通信手段を自動選択し、効率的な伝送が行えるようにするための技術が開示されている。具体的には、ＩＥＥＥ８０２．１１ｂ準拠の無線ＬＡＮを担当するＩＥＥＥ８０２．１１ｂ無線部及びＩＥＥＥ８０２．１１ｂベースバンド部と、Ｂｌｕｅｔｏｏｔｈによる無線通信を担当するＩＥＥＥ８０２．１１ｂ無線部及びＩＥＥＥ８０２．１１ｂベースバンド部とを備え、これらが同一周波数帯を用いる無線通信装置にあって、制御部は、ＩＥＥＥ８０２．１１ｂにより電波干渉の有無を定期的に監視し、電波干渉が検出されたときには無線ＬＡＮからＢｌｕｅｔｏｏｔｈに切り替えて通信を行う。また、電波干渉が検出されなかったときにはＩＥＥＥ８０２．１１ｂによる通信を継続する。特定の方式で通信を行う必要がある場合には対処できない。
【０００８】
また、特開２００４−３１２５９８号公報には、以下のような技術が開示されている。すなわち、伝送特性記憶部は、受信結果により得られる伝送誤り率やパケット誤り率、あるいは、受信電界強度等の情報を記憶するが、記憶する際、ホッピングパタン生成部からホッピング周波数情報を得て、ホッピング周波数毎に伝送特性を記憶する。ベースバンド処理制御部は伝送特性記憶部に送信するホッピング周波数の伝送特性を引き出し、最大パケット長判定部に与え、最大パケット長を知り、その最大パケットを用いて通信を行う。これによって、複数方式の無線通信装置が近傍に共存する環境において、通信効率劣化を軽減できる。しかし、パケット長を変更する必要がある。
【０００９】
さらに、特開２００５−４５３８８号公報には、干渉が検出できなくとも、干渉してしまうチャネルを回避して通信できるようにし、通信時の干渉を低減または防止するための技術が開示されている。具体的には、通信に使用可能な周波数チャネルの通信状態を判別する判別工程と、判別工程における判別に基づいて、所定の通信状態の周波数チャネルを特定し、該所定の通信状態の周波数チャネルを含む所定幅の周波数帯域を除く周波数帯域に含まれる周波数チャネルを通信に利用する周波数チャネルとして設定する設定工程を有する。しかし、無線ＬＡＮが使用する周波数チャネルの中心周波数近傍に対し、所定レベル以上の信号を検出しただけでは、干渉チャネルについて十分な判別を行うことはできない。
【特許文献１】特開２００２−１９８８６７号公報
【特許文献２】特開２００２−１９８８６８号公報
【特許文献３】特開２００２−３００１７２号公報
【特許文献４】特開２００３−１８１７０号公報
【特許文献５】特開２００３−３７５２９号公報
【特許文献６】特開２００３−１９９１６０号公報
【特許文献７】特開２００４−３１２５９８号公報
【特許文献８】特開２００５−４５３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
以上述べたように、従来技術では、無線ＬＡＮとＢｌｕｅｔｏｏｔｈとが混在する環境において、データ誤り率又は電波干渉を検出しただけでは、無線ＬＡＮで通信を行う通信装置の存在のみを特定することはできない。
【００１１】
従って、本発明の目的は、無線ＬＡＮとＢｌｕｅｔｏｏｔｈとが混在する環境において、妨害波を送信することなく、ＡＦＨが機能するまでの間、無線ＬＡＮとの干渉を防止するための新規な技術を提供することである。
【課題を解決するための手段】
【００１２】
本発明に係る通信装置は、通信相手に対する電波送出前に、周波数ホッピングにおける周波数スロット毎に受信強度を検出する検出手段と、検出手段により検出された受信強度が所定のレベル以上である場合には当該周波数スロットについてのキャリアセンスカウンタを増分する手段と、検出手段による周波数スロット毎の受信強度検出を所定時間行った後（または検出手段による各周波数スロットの受信強度検出を複数回行った後）、キャリアセンスカウンタの値に基づいて、通信相手との通信に使用する周波数スロットを決定する手段とを有する。
【００１３】
検出手段については既存のハードウエアを変更することなく、既に保持するハードウエア・リソースを受信スキャン状態に遷移させ、周波数ホッピングを行わせるだけでよい。受信強度検出だけを行うため、妨害波を送信することはない。また、たまたまＢｌｕｅｔｏｏｔｈで通信を行う他の通信装置が無線信号を送信する周波数スロットと検出手段による検出を行う周波数スロットが同時刻に発生することがあるが、そのような状況が連続することはない。一方無線ＬＡＮの場合には常に検出手段が信号を検出することになるので、検出手段によって各周波数スロットの受信強度検出を所定時間行えば、キャリアセンスカウンタの値は該当周波数スロットをセンスする毎に上昇するので、無線ＬＡＮによる使用周波数帯域を特定することができる。これによって使用不可な周波数スロットを特定し、当該使用不可な周波数スロットを除外することによって特定される使用可能な周波数スロットにて通信を行うことができる。
【００１４】
また、キャリアセンスカウンタの値が所定の条件を満たす使用不可な周波数スロットを避けて、通信相手に対する問い合わせ又は接続を行う通信処理手段をさらに有するようにしてもよい。
【００１５】
なお、通信処理手段が、マスタからスレーブへパケットを送信するサイクルとスレーブからマスタへパケットを送信する次のサイクルとのいずれかで使用不可な周波数スロットを用いることになる場合、マスタからスレーブへパケットを送信するサイクルにおけるパケットの送信を回避するようにしてもよい。このようにすれば完全に妨害波の送信を防止することができるようになる。
【００１６】
さらに、ホストコントローラインターフェース（ＨＣＩ）・コマンドに応答して検出手段の動作を開始させる手段をさらに有するようにしてもよい。上で述べた所定のレベルに関する情報と検出手段によって検出を行う時間に関する情報を予め設定しておき、従来から用いられているＨＣＩコマンドを受信すると、当該情報を用いて上で述べた処理を実施するようにしても良い。
【００１７】
また、ホストコントローラインターフェース・コマンドが、所定のレベルに関する情報と、検出手段によって検出を行う時間に関する情報とを含むようにしてもよい。このように新たなパラメータを含むＨＣＩコマンドを規定して、当該ＨＣＩコマンドを用いるようにしても良い。
【００１８】
本発明に係る通信装置は、コンピュータ・ハードウエアとプログラムの組み合わせにて構成され、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【００１９】
本発明によれば、無線ＬＡＮとＢｌｕｅｔｏｏｔｈとが混在する環境において、妨害波を送信することなく、ＡＦＨが機能するまでの間、無線ＬＡＮとの干渉を防止することができるようになる。
【発明を実施するための最良の形態】
【００２０】
図１に本発明の一実施の形態に係る通信装置１００の機能ブロック図を示す。通信装置１００は、Ｂｌｕｅｔｏｏｔｈの規格に従って他の通信装置と無線通信を行うものであって、アプリケーション・システム部１０と、Ｂｌｕｅｔｏｏｔｈモジュールシステム部２０とを有する。アプリケーション・システム部１０は、データ通信の要求元となるアプリケーション１１と、Ｂｌｕｅｔｏｏｔｈによる通信の上位プロトコルに必要な処理を実施するＢｌｕｅｔｏｏｔｈ上位プロトコル部１２と、ホストコントロールインターフェース（ＨＣＩ（Host Control Interface））を介してＢｌｕｅｔｏｏｔｈモジュールシステム部２０とのデータのやりとりを行うＨＣＩドライバ１３とを有する。また、Ｂｌｕｅｔｏｏｔｈモジュールシステム部２０は、ＨＣＩを介してＨＣＩドライバ１３とデータのやりとりを行うＨＣＩコントローラ２１と、他の通信装置との通信リンクを管理するリンク管理部２２と、周波数ホッピングの管理、パケット再送、以下で述べる本実施の形態に係る処理及びＲＦ（Radio Frequency）部２４の制御などを行うベースバンド部２３と、２．４ＧＨｚ帯の周波数帯域で周波数ホッピング型のスペクトラム拡散方式で電波の送受信を行うＲＦ部２４とを含む。図１に示す構成自体は従来と同じであるから、以下では本実施の形態に関係する部分のみを主に説明する。
【００２１】
なお、図１では本実施の形態に関係する、Ｂｌｕｔｏｏｔｈで通信を行う通信装置１００のみを示しているが、無線ＬＡＮで通信する装置が近隣に存在しているものとする。現在、２．４ＧＨｚのＩＳＭ（Industry, Science, and Medical）帯域を使用する無線ＬＡＮ規格にはＩＥＥＥ８０２．１１ｂと８０２．１１ｇがある。８０２．１１ｂでは、変調方式にスペクトラム拡散の直接拡散方式（ＤＳＳＳ（Direct Sequence Spread Spectrum））を採用しており、８０２．１１ｇではＣＣＫ（Complementary Code Keying）−ＯＦＤＭ（Orthogonal Frequency Division Multiplexing）を採用している。また、２．４ＧＨｚのＩＳＭ周波数帯域を、ＲＣＲ−３３（２４７１ＭＨｚ〜２４９７ＭＨｚ）で１チャンネル、ＡＲＩＢ ＳＴＤ−Ｔ６６（５ＭＨｚ間隔，２４００ＭＨｚ〜２４８３．５ＭＨｚ）で１３チャンネル、計１４チャンネルに分割し、それぞれのチャンネルに割り当てられた占有周波数帯域幅（ＲＣＲ  ＳＴＤ−３３：２６ＭＨｚ，ＡＲＩＢ ＳＴＤ−Ｔ６６:２２ＭＨｚ）で通信を行う。
【００２２】
これに対し、Ｂｌｕｅｔｏｏｔｈでは、変調方式にスペクトラム拡散の周波数ホッピング方式（ＦＨＳＳ：Frequency Hopping Spread Spectrum）を採用しており、ランダムに７９チャネル全ての周波数帯域（１ＭＨｚ間隔、２４０２ＭＨｚ乃至２４８０ＭＨｚ）を使用して通信を行う。このように、無線ＬＡＮでは使用する周波数帯域が集中しているのに対し、Ｂｌｕｅｔｏｏｔｈでは拡散するようになる。本実施の形態ではこの特性を以下で説明する処理において用いる。
【００２３】
次に、図１に示した通信装置１００の処理を図２乃至図８を用いて説明する。まず、アプリケーション１１において他の通信装置に対してデータを送信する必要が生ずると、アプリケーション１１から所定の指示がＢｌｕｅｔｏｏｔｈ上位プロトコル部１２を介してＨＣＩドライバ１３に出力され、ＨＣＩドライバ１３はＨＣＩコマンド（又はＨＣＩベンダ・コマンド）をＨＣＩを介してＢｌｕｅｔｏｏｔｈモジュールシステム部２０に出力する（図２：ステップＳ１）。
【００２４】
ＨＣＩコマンドは、例えば図３に示すようなフォーマットを有する。すなわち、ＨＣＩコマンド（又はＨＣＩベンダ・コマンド）のＯｐＣｏｄｅフィールド３０１と、パラメータ長フィールド３０２と、以下で述べるキャリアセンスを継続する期間のためのキャリアセンス周波数ホッピング期間フィールド３０３と、以下で述べるキャリアセンスレベル（例えばＲＳＳＩ（Received Signal Strength Indicator））の閾値のためのキャリアセンスレベル・フィールド３０４とを有する。ＯｐＣｏｄｅフィールド３０１には、ＯＣＦ（Opcode Command Field）と、ＯＧＦ（Opcode Group Field）とを含む。ＨＣＩコマンドについては従来から用いられていたが、このようにキャリアセンス周波数ホッピング期間フィールド３０３及びキャリアセンスレベル・フィールド３０４を設ける構成は本実施の形態で導入したものである。
【００２５】
次に、ＨＣＩコマンドをＨＣＩコントローラ２１を介して受け取ったＢｌｕｅｔｏｏｔｈモジュールシステム部２０のベースバンド部２３は、使用不可チャンネル特定処理を実施する（ステップＳ３）。この処理については図４及び図５を用いて詳細に説明する。ベースバンド部２３は、図３に示したようなＨＣＩコマンドからキャリアセンス周波数ホッピング期間及びキャリアセンスレベルを取得し、当該キャリアセンス周波数ホッピング期間を計測期間として、キャリアセンスレベルを閾値として設定する（図４：ステップＳ１１）。そしてベースバンド部２３は、時間の計測を開始する。
【００２６】
ここでキャリアセンス周波数ホッピング期間の設定について説明しておく。通信装置１００によりキャリアセンスが行われるチャンネル周波数スロットと、Ｂｌｕｅｔｏｏｔｈで通信を行っている他の通信装置で無線信号の送信が行われる周波数スロットとが、最低１回は重複するようにキャリアセンス周波数ホッピングを行う場合には、約３．９秒必要となる。これは以下のように算出される。すなわち、７９チャンネルを一律に並べ替え、制御順を付けた場合、チャンネル周波数ホッピング・パターンは７９！通りとなる。また、キャリアセンス周波数ホッピングのパターンも７９！通りとなる。そこで、チャンネル周波数ホッピング・パターンとキャリアセンス周波数ホッピング・パターンの考えられる全ての組み合わせ事象は７９！×７９！となる。ここで、１つの周波数スロットに着目すると、チャンネル周波数ホッピング・パターンが、キャリアセンス周波数ホッピング・パターンにおけるその周波数スロットと重なる組み合わせ事象は７８！×７８！となる。そのため、チャンネル周波数ホッピング・パターンとキャリアセンス周波数ホッピング・パターンとの全ての組み合わせ事象に対し、１つの周波数スロットが重なる組み合わせ事象が発生する確率は（７８！×７８！）／（７９！×７９！）＝１／（７９×７９）となる。従って、７９×７９＝６２４１回周波数ホッピングを行うと、チャンネル周波数ホッピング・パターンとキャリアセンス周波数ホッピング・パターンとは各周波数スロットで最低１回は重なることになる。よって、６２４１回×０．６２５／１０００＝３．９００６２５秒となる。以上は、Ｂｌｕｅｔｏｏｔｈのバージョン１．１の場合の確率である。現在のバージョン１．２では、ＡＦＨモードにより”Same Channel Mechanism”が機能し、スレーブはマスタと同じ周波数スロットで応答する。そのため、バージョン１．２において必要なキャリアセンス周波数ホッピング期間は、バージョン１．１の二倍になり、約７．８秒となる。このように算出された時間よりキャリアセンス周波数ホッピング期間より短くすると、Ｂｌｕｅｔｏｏｔｈで通信を行っている他の通信機の存在は認識することができなくなるが、キャリアセンスの時間を短縮できる。無線ＬＡＮで通信を行っている通信装置の存在については問題なく認識可能である。キャリアセンス周波数ホッピング期間をより長い時間にセットすることには問題はなく、Ｂｌｕｅｔｏｏｔｈを用いて通信を行う通信装置の検出精度が向上する。なお、このように算出されたキャリアセンス周波数ホッピング期間は、従来技術において必要とされる時間より短くなっている。
【００２７】
また、ベースバンド部２３は、キャリアセンスレベル以上の入力信号ノイズを検出した回数をカウントする変数ｆ［ｋ］（ｋは１乃至７９の整数）を初期化する（ステップＳ１３）。そして、周波数スロット番号ｋ（１乃至７９のいずれでも可）をＲＦ部２４に設定し（ステップＳ１５）、ＲＦ部２４に当該周波数スロット番号の周波数帯域について周辺電波環境の監視を行わせる（ステップＳ１７）。なお、キャリアセンス周波数ホッピングは、チャンネル周波数ホッピングに合わせて６２５μｓｅｃ毎に行われる。したがって、６２５μｓｅｃ経過するまで周辺の電波環境の監視を継続させる（ステップＳ１９）。ＲＦ部２４は、入力信号ノイズレベルのデータをベースバンド部２３に出力する。
【００２８】
そして、ベースバンド部２３は、閾値として設定されたキャリアセンスレベル以上の入力信号ノイズを検出したかを判断する（ステップＳ２１）。すなわち、無線信号の受信強度が、閾値として設定されたキャリアセンスレベル以上であるか確認する。閾値として設定されたキャリアセンスレベル以上の入力信号ノイズを検出した場合には、変数ｆ［ｋ］の値をｆ［ｋ］＝ｆ［ｋ］＋１というように更新する（ステップＳ２３）。一方、閾値として設定されたキャリアセンスレベル以上の入力信号ノイズを検出してない場合には、ステップＳ２５に移行する。
【００２９】
その後、ベースバンド部２３は、設定されたキャリアセンス周波数ホッピング期間を経過したか否かを計測時間に基づき判断する（ステップＳ２５）。もし、キャリアセンス周波数ホッピング期間を経過していないと判断された場合には、周波数スロット番号ｋを周知の方法で変更して（ステップＳ２７）、ステップＳ１７に戻る（ステップＳ１７）。すなわち、異なる周波数スロットについてキャリアセンスを行う。
【００３０】
一方、キャリアセンス周波数ホッピング期間を経過したと判断された場合には、ベースバンド部２３は、ＲＦ部２４に対してキャリアセンス周波数ホッピングを終了させる（ステップＳ２９）。
【００３１】
このような処理を行うと、図５（ａ）乃至（ｃ）のような変数ｆ［ｋ］の値を得ることができるようになる。図５（ａ）乃至（ｃ）では、縦軸はｆ［ｋ］の値を表し、横軸はｋを表す。図５（ａ）には、周辺にＢｌｕｅｔｏｏｔｈで通信を行っている他の通信装置のみが存在する場合におけるｆ［ｋ］を模式的に表す。すなわち、どの周波数スロットにおいてもほぼフラットな値となる。これは、チャンネル周波数ホッピングでは特定の周波数スロットのみを使用するのではなく、ｋ＝１から７９で分散して使用するためである。ｆ［ｋ］の値は、キャリアセンス周波数ホッピング期間に依存する。長ければ大きな値となり、短ければ小さい値となる。
【００３２】
なお、無線ＬＡＮで通信を行う通信装置が通信中でなければ、当該通信装置からビーコンが周期的に送出されるだけで、当該通信装置が使用する周波数帯域に大きな値のｆ［ｋ］値は得られない。しかし、このときＢｌｕｅｔｏｏｔｈで通信する通信装置が問い合わせ又は接続のために、無線ＬＡＮで通信を行う通信装置が使用する占有周波数帯域においてパケットを送信しても問題ない。
【００３３】
一方、図５（ｂ）には、周辺に無線ＬＡＮで通信を行っている他の通信装置のみが存在する場合におけるｆ［ｋ］を模式的に表す。すなわち、特定の周波数スロット（周波数スロット群を構成する）において大きな値をとり、他の周波数スロットではほぼ０となる。特定の周波数スロットは、無線ＬＡＮで使用されるチャンネルの周波数帯域に重なる。複数のチャンネルが使用されていれば、ｆ［ｋ］が０ではない周波数スロット群が複数生ずる。
【００３４】
さらに図５（ｃ）では、周辺に無線ＬＡＮで通信を行っている通信装置とＢｌｕｅｔｏｏｔｈで通信を行っている通信装置が存在する場合におけるｆ［ｋ］を模式的に表す。すなわち、特定の周波数スロット（周波数スロット群を構成する）において大きな値をとり、それ以外の周波数スロットではほぼフラットに小さな値をとる。前者については、無線ＬＡＮで使用されるチャンネルの周波数帯域に重なる。後者については、Ｂｌｕｅｔｏｏｔｈにおける周波数ホッピングによるため、特定の周波数スロットに偏ることはない。
【００３５】
このような図５（ａ）乃至（ｃ）のようなｆ［ｋ］から特徴的な周波数スロット状態が特定されるので、無線ＬＡＮで使用されているチャンネルの周波数帯域に重なる周波数スロット、すなわちチャンネルを特定する。
【００３６】
図２の説明に戻って、ベースバンド部２３は、ｆ［ｋ］から使用不可チャンネルを特定し、当該チャンネル番号をＲＦ部２４に設定する（ステップＳ５）。具体的には、Ｂｌｕｅｔｏｏｔｈの周波数ホッピングにおいて使用された周波数スロットとキャリアセンスの周波数スロットとが重複した場合に計数されるｆ［ｋ］値を除去することによって、無線ＬＡＮで使用されている周波数帯域に対応する周波数スロット、すなわちチャンネルを特定する。例えば、ｆ［ｋ］の最大値と最小値との差又は比が所定値以上である場合には、例えばｆ［ｋ］の平均を閾値としてｆ［ｋ］が当該閾値以上である周波数スロットの番号ｋを特定する。また、ｆ［ｋ」の最大値と最小値との差が所定値未満である場合には、無線ＬＡＮで通信を行っている通信装置は存在しないものとして取り扱う。なお、ステップＳ５を実施することによって、残余のチャンネルが使用可能なチャンネルとして特定されることになる。
【００３７】
ベースバンド部２３は、ステップＳ５で特定された使用不可チャンネルをＲＦ部２４に設定し、当該使用不可チャンネルの使用を回避するようにＲＦ部２４に指示する。
【００３８】
その後、ＲＦ部２４は、使用不可チャンネルの設定に従って通信相手の他の通信装置に対して問い合わせ又は接続を行う（ステップＳ７）。また、使用不可チャンネルの設定を接続中のＡＦＨ情報とすることもできる。
【００３９】
ステップＳ７については、別途図６乃至図８を用いて説明する。前提として、Ｂｌｕｅｔｏｏｔｈで通信を行う通信装置１００が問い合わせ、そして接続を行う場合には、使用する周波数帯域については、Ｂｌｕｅｔｏｏｔｈアドレスから７９チャンネルのうちの３２チャンネルを一義的に算出する。更に算出された３２チャンネルをＡ列、Ｂ列と１６チャンネルごとに分割し、マスタについては１０ｍｓｅｃの単一周期でＡ列、Ｂ列を一定期間毎に繰り返し、ＩＱ又はＩＤパケットを３１２．５μｓｅｃ間隔で送信しながら、問い合わせ周波数ホッピング又は呼び出し周波数ホッピングを行う。これに対し、スレーブは同様に算出された３２チャンネルを１．２８ｓｅｃ毎に変化させ、問い合わせスキャン（問い合わせ応答周波数ホッピング）又は呼び出しスキャン（呼び出し応答周波数ホッピング）を行う。
【００４０】
図６に標準的な呼び出しシーケンス又は問い合わせシーケンスにおけるＴＸ及びＲＸサイクルを示す。ＴＸサイクルは、マスタがＩＱパケット又はＩＤパケットを送信するためのスロットであり、ＲＸサイクルは、スレーブがＩＱパケット又はＩＤパケットに応答するためのスロットである。いずれも６２５μｓｅｃである。マスタは、ＴＸサイクルにおいて、ｈｏｐｆ（ｋ）という周波数スロットで６８μｓｅｃ間でＩＱ又はＩＤパケットを送信する。または、３１２．５μｓｅｃ後にｈｏｐｆ（ｋ＋１）という周波数スロットで６８μｓｅｃ間ＩＱ又はＩＤパケットを送信する。これに対してスレーブは、ｈｏｐｆ（ｋ）と言う周波数でＩＱ又はＩＤパケットを受信する。または、３１２．５μｓｅｃ後にｈｏｐｆ（ｋ＋１）という周波数スロットでＩＱ又はＩＤパケットを受信する。そうすると、ＲＸサイクルでは、ＩＱ又はＩＤパケットの送信から６２５μｓｅｃ後に、スレーブは、ｈｏｐｆ’（ｋ）で応答を返す。但し、ｈｏｐｆ（ｋ）＝ｈｏｐｆ’（ｋ）であって、同じ周波数スロットで応答を返すようになっている。また、スレーブは、ｈｏｐｆ（ｋ＋１）という周波数スロットでＩＱ又はＩＤパケットを受信すると、その送信から６２５μｓｅｃ後に、ｈｏｐｆ’（ｋ＋１）で応答を返す。次のＴＸサイクルでは、マスタは、ｈｏｐｆ（ｋ＋２）又はｈｏｐｆ（ｋ＋３）という周波数スロットでＩＱ又はＩＤパケットを送信することができる。
【００４１】
このような前提の下、本実施の形態における問い合わせシーケンスでは、図７に示すような処理が行われる。なお、ｈｏｐｆ（ｋ）及びｈｏｐｆ（ｋ＋３）という周波数スロットは使用不可として特定されているものとする。そのため、マスタは、最初のサイクル（マスタからスレーブへのサイクル）におけるｈｏｐｆ（ｋ）という周波数スロットを使用するタイミングでは、ディレイ・ウエイト（Delay Wait）でＩＱパケットを送らず、ｈｏｐｆ（ｋ＋１）という周波数スロットを使用するタイミングにおいてＩＱパケットをスレーブに送信する。これに応答して、スレーブは、ｈｏｐｆ（ｋ＋１）という周波数スロットでＩＱパケットを受信する。そしてスレーブは、２番目のサイクル（スレーブからマスタへのサイクル）で、ＩＱパケットの送信から６２５μｓｅｃ後に、ＩＱパケットを受信した同じ周波数スロットｈｏｐｆ’（ｋ＋１）でＦＨＳパケットをマスタに返信する。通常であれば、３番目のサイクル（マスタからスレーブへのサイクル）におけるｈｏｐｆ（ｋ＋３）という周波数スロットでスレーブにパケットを送信するが、ｈｏｐｆ（ｋ＋３）は使用不可の周波数スロットであるから、ディレイ・ウエイトでパケットの送信をスキップする。
【００４２】
次に、図８に示すような接続シーケンスを実行する。なお、ここではｈｏｐｆ（ｋ）及びｈｏｐｆ（ｋ＋２）という周波数スロットは使用不可として特定されているものとする。まず最初のサイクル（マスタからスレーブへのサイクル）におけるｈｏｐｆ（ｋ）という周波数スロットを使用するタイミングでは、ディレイ・ウエイト（Delay Wait）でＩＤパケットを送らず、ｈｏｐｆ（ｋ＋１）という周波数スロットを使用するタイミングにおいてＩＤパケットをスレーブに送信する。これに応答して、スレーブは、ｈｏｐｆ（ｋ＋１）という周波数スロットでＩＤパケットを受信する。そしてスレーブは、２番目のサイクル（スレーブからマスタへのサイクル）で、ＩＤパケットの送信から６２５μｓｅｃ後に、ＩＤパケットを受信した同じ周波数スロットｈｏｐｆ’（ｋ＋１）でＩＤパケットをマスタに返信する。通常であれば、３番目のサイクル（マスタからスレーブへのサイクル）におけるｈｏｐｆ（ｋ＋２）という周波数スロットでスレーブにＦＨＳパケットを送信するが、ｈｏｐｆ（ｋ＋２）は使用不可の周波数スロットであるから、ディレイ・ウエイトでパケットの送信をスキップする。当然、スレーブは何らのパケットを受信せず、パケットを待つ。４番目のサイクル（スレーブからマスタへのサイクル）においても、スレーブはマスタから何も受信していないので、何らのパケットも送信しない。その後、５番目のサイクル（マスタからスレーブへのサイクル）においては、ｈｏｐｆ（ｋ＋３）という周波数スロットでＦＨＳパケットをスレーブに送信し、スレーブは当該ＦＨＳパケットを受信する。
【００４３】
しかし、接続シーケンスはここでは終わらない。Ｂｌｕｅｔｏｏｔｈでは更に、呼び出し周波数ホッピング完了後、ＡＦＨモードが機能する前に通常のチャンネル周波数ホッピングへと移行し、ＬＭＰ（Link Manager Protocol）メッセージでネゴシエーションを取りながら、最終的にＡＣＬリンクを確立させる。ＡＦＨモードが機能するのは、この接続の最中である。ＡＦＨモードが機能する前、スレーブの応答タイミングでは、マスタからスレーブへのサイクルにおける周波数スロットに対して、スレーブからマスタへのサイクルにおいて異なる周波数スロットで応答するため、場合によってはスレーブが、使用不可として特定されている周波数スロットで、ＮＵＬＬ（ＡＣＫ）又はＬＭＰパケットを送信してしまう可能性がある。そこで、マスタは、マスタからスレーブと次のスレーブからマスタへの２つのサイクル（１．２５ｍｓｅｃ＝６２５μｓｅｃ＋６２５μｓｅｃ）単位で、いずれかのサイクルにおいて、使用不可として特定されている周波数スロットが出現するか判断して、スレーブにおいて使用不可として特定されている周波数スロットが出現するのを避ける。すなわち、２つのサイクル単位でいずれかのサイクルにおいて使用不可として特定されている周波数スロットが出現すれば、ＮＵＬＬ、ＰＯＬＬ、ＬＭＰパケットを送信せず、ディレイ・ウエイトを挿入しながら、ＮＵＬＬ、ＰＯＬＬ、ＬＭＰパケットを送信することで、周囲に存在する通信中の無線ＬＡＮの通信装置に対し、妨害波を出力せず、ＡＣＬリンクを確立することも可能となる。
【００４４】
以上述べたような処理を行うことによって、Ｂｌｕｅｔｏｏｔｈの通信装置が問い合わせ（Inquiry）前、又は接続（Paging、Authentication又はParing）前に、周辺電波環境を監視することで、周囲に存在する無線通信中の通信装置を認識することができる。そして、Ｂｌｕｅｔｏｏｔｈの通信装置は、認識された通信装置が使用する周波数帯域へ妨害波を送出せず、電波干渉を回避しながら、問い合わせ又は接続を行うことができるようになる。
【００４５】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図３に示したようなＨＣＩコマンドのフォーマットは一例であって、従来のＨＣＩコマンドに応答して、予めベースバンド部２３に設定されているキャリアセンス周波数ホッピング期間及びキャリアセンスレベルを用いて図４に示した処理を実施するようにしてもよい。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態の機能ブロック図である。
【図２】本発明の実施の形態におけるメイン処理フローを示す図である。
【図３】ＨＣＩコマンドのフォーマット例を示す図である。
【図４】使用不可チャンネル特定処理の処理フローを示す図である。
【図５】（ａ）乃至（ｃ）は、周波数スロットの検出状況を表す変数ｆ［ｋ］の概要を示す図である。
【図６】通常の呼び出しシーケンス又は問い合わせシーケンスの信号フローを示す図である。
【図７】本発明の実施の形態における問い合わせシーケンスの信号フローを示す図である。
【図８】本発明の実施の形態における接続シーケンスの信号フローを示す図である。
【符号の説明】
【００４７】
１０  アプリケーション・システム部    １１  アプリケーション
１２  Ｂｌｕｅｔｏｏｔｈ上位プロトコル部
１３  ＨＣＩドライバ
２０  Ｂｌｕｅｔｏｏｔｈモジュールシステム部
２１  ＨＣＩコントローラ    ２２  リンク管理部
２３  ベースバンド部    ２４  ＲＦ部
１００  通信装置
【図１】
2007074060.tif 000003
【図２】
2007074060.tif 000004
【図３】
2007074060.tif 000005
【図４】
2007074060.tif 000006
【図５】
2007074060.tif 000007
【図６】
2007074060.tif 000008
【図７】
2007074060.tif 000009
【図８】
2007074060.tif 000010