上記課題を解決するためになされた第1の発明は、周波数の異なる多数のチャンネルの中からホッピングパターンに基づいて選択したチャンネルによりパケットの通信を行う通信制御部と、パケットの通信エラーをチャンネルごとのチャンネルエラーカウンタでカウントするチャンネルエラーカウント処理部と、チャンネルの電界強度を測定する測定部を有する無線通信装置であって、前記通信制御部は、チャンネルエラーカウンタが第1の閾
値以上となったチャンネルをホッピングパターンから除外し、不良チャンネルをホッピングパターンから除外するとホッピングパターンのチャンネル数が所定数以下となるときに、測定部で測定した全ての不良チャンネルの電界強度の測定値のうち不良チャンネルごとの最高値が最も小さく、かつ前記チャンネルエラーカウンタが第1の閾値よりも緩い第2の閾値以下であるチャンネルを前記ホッピングパターンへ追加することを特徴としたものであり、第1の閾値よりも緩い第2の閾値を設定し、通信エラーが発生するとカウントアップするチャンネルエラーカウンタの値がこの第2の閾値以下であることを追加用チャンネルの条件としているので、通信エラーの発生頻度が低い周波数帯域であるか否かを判断することができる。
また上記課題を解決するためになされた第2の発明は、不良チャンネルをホッピングパターンから除外するとホッピングパターンのチャンネル数が所定数以下となるときに、測定部で複数回ずつ測定した全ての不良チャンネルの電界強度の測定値のうち、不良チャンネルごとの最高値が最も小さく、かつチャンネルエラーカウンタが第2の閾値以下であるチャンネルをホッピングパターンへ追加することを特徴としたものであり、測定部でそれぞれ複数回ずつ測定した全ての不良チャンネルの電界強度の測定値のうち、不良チャンネルごとの最高値が最も小さいチャンネルを追加用チャンネルとする条件とすることで、変動のある干渉ノイズの影響を少ないものとすることができる。
また上記課題を解決するためになされた第3の発明は、追加用チャンネルの電界強度を測定部にて測定し、その測定値が所定値以下であるときに追加用チャンネルとすることを特徴としたものであり、追加用チャンネルを再度測定部で測定した結果が所定値以下であるときのみとしたことにより、干渉ノイズの発生状況を再度確認することで、より信頼性の高い測定結果を元に追加用チャンネルを決定することができる。
また上記課題を解決するためになされた第4の発明は、通信制御部は、不良チャンネルごとの電界強度の最高値が所定値以下であるときのみ、追加用チャンネルとすることを特徴としたものであり、不良チャンネルごとの電界強度の最高値が所定値以下としたことで、干渉ノイズの多いチャンネルが追加用チャンネルとして抽出されることを防止することができる。
また上記課題を解決するためになされた第5の発明は、周波数の異なる多数のチャンネルの中からホッピングパターンに基づいて選択したチャンネルによりパケットの通信を行う通信制御部と、パケットの通信エラーをチャンネルごとのチャンネルエラーカウンタでカウントするチャンネルエラーカウンタと、ブロックごとのエラーをカウントするブロックエラーカウンタを有するチャンネルエラーカウント処理部と、チャンネルエラーカウンタが第1の閾値以上となったチャンネルを不良チャンネルとしてホッピングパターンから除外し、また追加すべきチャンネルを前記ホッピングパターンへ追加するチャンネル管理部と、チャンネルの電界強度を測定する測定部を有する無線通信装置であって、前記通信制御部は通信している間に前記干渉回避手順を実行し、この干渉回避手順では、あるチャンネルでエラーが発生したらチャンネルエラーカウンタは該チャンネルのエラー値を更新するとともに該チャンネルが属するブロックのブロックエラーカウンタを更新し、ブロックエラーカウンタが不良ブロック閾値以上であるか否かを判定し、該チャンネルが属するブロックのブロックエラーカウンタが不良ブロック閾値以上である場合は該チャンネルが属するブロックをホッピングパターンから除くことができるか否かを判定し、このブロックをホッピングパターンから除くことができるか否かの判定では、不良ブロック閾値以上になった不良ブロックをそのままホッピングパターンから除くとホッピングパターンのチャンネル数が所定数を割り込む場合は不良ブロックの退避を行ない、不良ブロック閾値以上になった不良ブロックをそのままホッピングパターンから除いてもホッピングパターンのチャンネル数が所定数を割り込まない場合は不良ブロックに属するチャンネルを待機状
態とし、前記ブロックエラーカウンタが不良ブロック閾値未満であった場合は、該ブロックに属するチャンネル毎にホッピングパターンに追加すべきか否かの判定を行ない、追加すると決定されたチャンネルを前記ホッピングパターンへ追加することを特徴としたものであり、これにより、不良と判断されるチャンネルを1度にブロック単位でホッピングパターンから除くことができ、また良好と判断されるチャンネルを1度にブロック単位で追加することができる。
(実施の形態1)
以下、図面に基づいて本発明の実施の形態1について説明する。
図1は、本発明の実施の形態に係る無線通信装置の一例であるコードレス電話機の親機が他の無線通信装置に無線ネットワークを介して接続している図である。図2は、本発明の実施の形態に係る無線通信装置の一例であるコードレス電話機の親機の構成図である。図3は、本発明の実施の形態に係る無線通信装置のエラー値の重み付けについて説明する図である。図4は、チャンネルエラーカウンタおよびブロックエラーカウンタの構成の一例を示す図である。図5は、ホッピングテーブルの構成を示す図である。
図1に示すように、無線ネットワーク1には、コードレス電話機の親機2を中心として、子機3、PDA(Personal Digital Assistant)4、通信機能を有するデジタルカメラ5が、電波を介して接続できる範囲内にいる。
この無線ネットワーク1は、ブルートゥースの仕様に準拠したピコネットとよばれる無線ネットワークであり、親機2がマスタ装置、その他の通信装置がスレーブ装置として通信している。親機2は、有線で公衆回線網6に接続されており、公衆回線網6を介して通話相手と通信することができる。
このように本発明の実施の形態に係る無線通信装置の一例であるコードレス電話機の親機の構成を図2に基づいて説明する。
図2は、本発明の実施の形態に係る無線ネットワークに接続可能な電子装置の一例であるコードレス電話機の親機2の構成図である。
図2において、親機2は、アンテナ10から受信した無線電波の復調や、アンテナ10へ送信する無線電波の変調をする無線部11を有している。
無線部11は、ISM(Industry Science Medical)バンドとよばれる、2.402GHzから2.480GHzまでの周波数帯域を使用して、例えば波数変調方式(Frequency Shift Keying)や位相変調方式(Phase Shift Keying)で変調、復調する。
無線部11は、受信したブルートゥースに準拠したパケットを同期相関器12へ出力する。
同期相関器12は、受信したパケットの先頭部分であるアクセスコードにより、親機2が接続する無線ネットワーク内のパケットであるか否かを判断する。また、無線部11は、親機2が周波数ホッピングに使用するチャンネルの周波数帯域の電界強度を測定する測定手段としての機能を有している。
同期相関器12は、アクセスコードにより受信したパケットが、親機2が接続する無線ネットワークのパケットであると判定すると、パケットを受信パケット解析部13へ出力する。また、同期相関器12は、アクセスコードに含まれるプリアンブル、シンクワード
またはトレーラなどで発生した同期エラーをチェックして、通信エラーが発生した場合には、エラー計数処理部20へ通知する。
受信パケット解析部13は、パケットの中間部であるパケットヘッダを解析することで、無線ネットワーク内のそれぞれの通信装置との同期確立に使用される共通パケットや、音声データの同期通信に使用されるSCOパケットや、データの送受信の非同期通信に使用されるACLパケットなどを判定する。
受信パケット解析部13によりパケットがSCOパケットで音声データの受信であると判断されると、SCOパケットは音声パケット処理部14へ出力される。また、受信パケット解析部13によりパケットがACLパケットと判定されればデータパケット処理部18へ出力される。
また、受信パケット解析部13は、パケットヘッダに含まれる8ビットの誤り検出符号(HEC)をチェックして、通信エラーが発生した場合には、エラー計数処理部20へ通知する。
音声パケット処理部14は、SCOパケットの最終部であるペイロード内に格納されている音声データを分離してスピーチバッファ15に格納する。また、音声パケット処理部14は、ペイロードに含まれる16ビットのCRC、または60ビットのパリティをチェックし、エラー発生時には、エラー計数処理部20へ通知する。そして、音声パケット処理部14内に設定される閾値以上のエラーがあった場合は、エラー計数処理部20へ通知するとともに、そのパケットを破棄する。
スピーチバッファ15は、例えば子機3から送信される音声データを格納しスピーチデコーダ16へ出力する。
スピーチデコーダ16は音声データをアナログ信号に変換し、スピーカ17から音声として出力する。
データパケット処理部18は、ACLパケットの最終部であるペイロード内に格納されているデータを分離してデータバッファ19に格納する。
また、データパケット処理部18は、ペイロードに含まれる16ビットのCRCをチェックし、エラー発生時には、エラー計数処理部20へ通知するとともに、所定の値以上のエラーが発生した場合は、そのパケットを破棄する。
データバッファ19に格納されたデータは、通信制御部21により読み出されて解析され、そのパケットに対する応答処理が行われる。
通信制御部21は、親機2の通信手順の制御を行う通信手段であり、同期相関器12、受信パケット解析部13、音声パケット処理部14と、データパケット処理部18と、送信パケット作成部30を制御することで、無線ネットワークを介して接続された他の無線通信装置と送受信の制御を行う。また、通信制御部21は、データバッファ19に格納されたパケットの内容に応じて各種の通信制御および送信電力の制御などを行う。通信制御部21は、無線部11から電界強度の測定をした結果をエラーカウンタ処理部22へ通知する。また、その測定結果に基づいて、ホッピングパターンから除いたチャンネルを電界強度の強さ順に並べた測定テーブル28を作成し、ホッピングパターンに追加するか否かの判定をする機能を有している。
エラー計数処理部20は、同期相関器12、受信パケット解析部13、音声パケット処理部14およびデータパケット処理部18からエラーを検出した旨の通知があると、パケットのエラーが発生した箇所に応じた重み付けとしたエラー値をエラーカウンタ処理部22へ出力する。
この同期相関器12と、受信パケット解析部13と、音声パケット処理部14と、データパケット処理部18と、エラー計数処理部20とでエラー検出部を構成している。
ここで、エラー計数処理部20がエラーカウンタ処理部22へ出力するエラー値の内容について、図2および図3に基づいて説明する。
エラー値の重み付けは、エラー検出する同期相関器12、受信パケット解析部13、音声パケット処理部14、データパケット処理部18によって異なっている。
図3に示すように、パケット50は、ブルートゥースの仕様に準拠したフォーマットである。パケット50は、先頭部であるアクセスコード51と、中間部であるパケットヘッダ52と、最終部であるペイロード53の3つのパートから構成されている。
アクセスコード51は、その先頭部にバイナリで1と0が4ビット繰り返し配置されたプリアンブル54と、64ビットのブルートゥースアドレスが格納されるシンクワード55と、プリアンブル54と同様にバイナリで1と0が4ビット繰り返し配置されたトレーラ56から構成される。
同期相関器12は、このアクセスコード51が正しいビット列とならない時に、エラーとしてエラー計数処理部20へ通知する。
パケットヘッダ52は、10ビットの通信を管理するために必要なパラメータと、8ビットのHEC(ヘッダーエラーコード)とを有している。受信パケット解析部13は、パケットヘッダ52のHEC(ヘッダーエラーコード)をチェックして、エラー発生が検出された場合に、エラー計数処理部20へ通知する。
ペイロード53は、8ビットか16ビットのペイロードヘッダと、可変長であるペイロードボディと、16ビットのCRC、または60ビットのパリティから構成される。
音声パケット処理部14とデータパケット処理部18は、CRC、またはパリティをチェックして、エラー発生が検出された場合に、エラー計数処理部20へ通知する。
また、ペイロード53に格納されるデータが音声データの場合は、音声データ4ビットごとに1ビットのパリティが付加されたデータ列が形成されてペイロード53に格納されている。
従って、音声パケット処理部14に格納されたペイロード53の音声データに所定の値以上のエラーが含まれている場合、ペイロードパケットエラーとし、所定の値未満の場合は、ペイロードエラーとするよう、エラー計数処理部20へ通知する。
エラー計数処理部20では、エラー発生箇所に応じた重み付けを用いてエラー値としてエラーカウンタ処理部22へ出力する。例えば、同期相関器12で検出した同期エラー(Sync-Error:SERR)を「3」とし、受信パケット解析部13で検出したパケットヘッダエラー(Header-Error:HERR)を「2」とし、音声パケット処理部14およびデータパケット処理部18に検出したペイロードエラー(Payload-Error:PERR)を「1」とし、
ペイロードパケットエラー(Payload Packet-Error:PPERR)を「3」とした重み付けとしたエラー値とする。
このように、通信エラーの発生箇所の重要性に応じた重み付けを行うことで、後述するチャンネルエラーカウンタおよびブロックエラーカウンタのカウントアップを発生箇所に応じて大きくすることができる。従って、重要度の高い箇所が通信エラーとなったチャンネルを迅速にホッピングパターンから除くことができ、通信品質の向上を図ることができる。
また、この重み付けは一例であり、全て同じ数値とすることで、エラーの発生箇所に関わらず同じ重み付けとすることも可能である。
また、エラー計数処理部20に、通信エラーの発生箇所に応じた重み付けを設定として備えることで、親機2の設置環境に応じた重み付けとすることも可能である。
エラーカウンタ処理部22は、チャンネルエラーカウンタとブロックエラーカウンタの2つのカウンタを有している。
その1つであるチャンネルエラーカウンタは、通信エラーが発生したチャンネルのエラー値をカウントするカウンタである。通信時にパケットの通信エラーが発生し、エラー計数処理部20から出力される通信エラーの発生箇所に応じたエラー値を入力し、該当するチャンネルのカウンタの値に加算する。チャンネルエラーカウンタは、周波数ホッピングに使用するチャンネルごとに設けている。
ブロックエラーカウンタは、周波数ホッピングに使用する全チャンネルを所定数ごとに区分してブロックとし、そのブロックごとに設けている。ブロックエラーカウンタは、そのブロックに属するチャンネルのチャンネルエラーカウンタの合計である。
また、エラーカウンタ処理部22は、通信をしていないスロットにおいて無線部11が測定したチャンネルの電界強度の値を通信制御部21を経由して入力する。あるチャンネルについて電界強度測定し、その測定値が所定値以下であった場合には、当該チャンネルについてのチャンネルエラーカウンタをカウントダウンする。
通信に使われていないスロットのチャンネルで電界強度が大きいということは、そのチャンネルでは通信相手ではない他の装置(例えば、電子レンジや他の無線ネットワークの通信装置)からの干渉電波が強いことを示している。従って、通信をしていないスロットのチャンネルの電界強度が所定値以下であるということは、通信エラーが発生しにくいチャンネルの周波数帯域であることを示している。
また、無線部11が測定した電界強度の値が、所定値より大きい場合には、チャンネルエラーカウンタをカウントアップする。これらのカウントアップおよびカウントダウンは、本実施の形態では、「1」としているが、親機2の設置環境に応じて適宜決めることができる。
また、エラーカウンタ処理部22は、所定時間経過するたびにタイマ27から発生する割り込みを受けた通信制御部21からの通知により、周波数ホッピングをするホッピングパターンに含まれるチャンネルのチャンネルエラーカウンタをカウントダウンする機能を有している。
これは、親機2が通信を開始すると、他の無線通信装置である子機3、PDA4、デジ
タルカメラ5などと頻繁に通信を行うため、通信をしていないスロットが無くなってしまう。従って、無線部11にてホッピングパターンに含まれているチャンネルの電界強度を測定する機会がほとんどなくなる。そのため、チャンネルエラーカウンタとブロックエラーカウンタは、通信エラーによるカウントアップのみとなり、周波数ホッピングに使用する全てのチャンネルが後述する不良チャンネルとなる可能性がある。このような状態を防止するため、エラーカウンタ処理部22は、タイマ27からの割り込みをトリガとしたカウントダウンを行っている。
詳細に説明すると、エラーカウンタ処理部22は、タイマ27から発生する割り込みを受けた通信制御部21からの通知により、周波数ホッピングをするホッピングパターンに含まれているチャンネルのチャンネルエラーカウンタの値を「1」カウントダウンし、ブロックエラーカウンタを再計算することで、ブロックエラーカウンタの値をカウントダウンさせる。ブロックを3チャンネルごとに区分した場合では、ブロックカウンタの値を「3」カウントダウンさせる。
タイマ27から発生する割り込み時間間隔である所定時間は、30秒程度とするのが望ましい。所定時間を数秒程度とすると、たまたま通信しない時間が数十秒あったのみで、チャンネルエラーカウンタの値が、数回カウントダウンされ、干渉電波の影響を受けているチャンネルにもかかわらず良好チャンネルとなってしまう。このような事態を防止するため、タイマ27の割り込みを発生させる時間間隔である前記所定時間を30秒程度としている。
ここで、エラーカウンタ処理部22が有するチャンネルエラーカウンタおよびブロックエラーカウンタの構成の一例を図4に基づいて説明する。
図4(a)に示すように、チャンネルエラーカウンタは、親機2が周波数ホッピングに使用する偶数チャンネルを示すチャンネル番号ごとに設けている。また、ブロックエラーカウンタは、そのチャンネルを3チャンネルごとに区分したブロックごとに設けている。
チャンネル番号0ではチャンネルエラーカウンタは「2」であり、チャンネル番号2では「0」であり、チャンネル番号4では「4」であるので、ブロックエラーカウンタは合計「6」となっている。
図2に戻って、チャンネル管理部23は、エラーカウンタ処理部22によって、各チャンネルエラーカウンタとブロックエラーカウンタをカウントアップまたはカウントダウンされたカウンタに対応するチャンネルをホッピングパターンから除くまたは追加するなどの制御を行う。
チャンネル管理部23は、親機2が、通信を行うに際し、ブロック単位で通信品質が維持できないと判断される不良ブロック閾値と、ブロック単位で通信しても良いと判断される良好ブロック閾値と、チャンネル単位で通信品質が維持できないと判断される不良チャンネル閾値と、チャンネル単位で通信しても良いと判断される良好チャンネル閾値とを有している。その中のブロック単位で判断するための不良ブロック閾値は、ブロックエラーカウンタの値がこの不良ブロック閾値以上であるならばそのブロック単位で通信品質が維持できないと判断される閾値(第1の閾値)である。また良好ブロック閾値(第2の閾値)は不良ブロック閾値(第1の閾値)よりも緩い値に設定され、ブロックエラーカウンタの値がこの良好ブロック閾値以下であるブロックを良好と判断する。またチャンネル単位で判断するための不良チャンネル閾値は、チャンネルエラーカウンタの値がこの不良チャンネル閾値以上であるならばチャンネル単位で通信品質が維持できないと判断される閾値(第1の閾値)である。また良好チャンネル閾値(第2の閾値)は不良チャンネル閾値(
第1の閾値)よりも緩い値に設定され、チャンネルエラーカウンタの値がこの良好チャンネル閾値以下であるチャンネルを良好と判断する。
チャンネル管理部23は、この不良ブロック閾値以上となったブロックエラーカウンタのブロックに属するチャンネルをホッピングパターンから除いた待機状態としたホッピングテーブル24とする。これにより、不良と判断されるチャンネルを1度にブロック単位でホッピングパターンから除くことができる。
また、チャンネル管理部23は、この良好ブロック閾値以下となったブロックエラーカウンタに属するチャンネルをホッピングパターンに追加したホッピングテーブル24とすることで、良好と判断されるチャンネルを1度にブロック単位で追加することができる。
図4(b)に示すように、例えば、不良ブロック閾値を「16」とすると、チャンネル番号6,8,10が属するブロックは、ブロックエラーカウンタの値が「16」なので、不良ブロックとしてホッピングテーブル24から除かれる。
ホッピングテーブル24は、チャンネル管理部23がエラーカウンタ処理部22のチャンネルエラーカウンタおよびブロックエラーカウンタに基づいて作成する各チャンネルの各状態を管理したテーブルである。
図5にホッピングテーブル24の構成を示す。このホッピングテーブル24には、チャンネルエラーカウンタの値が不良チャンネル閾値未満で通信しても良いと判断されるものが良好チャンネルとして、また不良チャンネル閾値以上で通信品質が維持できないと判断されるものが不良チャンネルとして、各チャンネル毎に状態情報が書き込まれる。また「使用」はホッピングパターンとして使用しているもの、「待機」は使用していないものを示す状態情報であるる。
また、ホッピングテーブル24には各ブロック毎でも状態情報が書き込まれる。すなわちブロックエラーカウンタの値が不良ブロック閾値未満であるものが良好ブロックとして、また不良ブロック閾値以上であるものが不良ブロックとして状態情報が書き込まれる。
また、このホッピングテーブル24の状態情報として「使用」とされているチャンネルのみを用いてホッピングパターンが設定されている。
ホッピングチャンネル計算部25は、ホッピングテーブル24と、クロックカウンタ26の値に基づいて、周波数ホッピングするチャンネルの順序を算出する。算出したチャンネルの順序の中からホッピングテーブル24を参照して待機状態にあるチャンネルを除いた、使用状態のみのチャンネルをホッピングパターンとする機能を有している。
ホッピングチャンネル計算部25により算出されたホッピングパターンにより、通信制御部21は、スレーブ装置と通信を行う。また、待機状態から使用状態または使用状態から待機状態へホッピングテーブル24が変更となった場合に、通信制御部21は、その変更となったホッピングテーブル24の内容と、いつからその変更を適用するかの適用時間とをデータバッファ32へ格納して、送信パケット作成部30を経由してスレーブ装置へ送信し、周波数ホッピングの同期を取る。
スピーチエンコーダ33は、マイク34から入力された音声をデジタルへ変換し、音声データとしてスピーチバッファ31へ格納する。
送信パケット作成部30は、スピーチバッファ31に格納された音声データに基づいて
パケットを作成し、無線部11へ出力する。
また、同期確立のパケットの送出や、各種情報の通知を行う場合には、通信制御部21が作成したデータをデータバッファ32に格納して、送信パケット作成部30によりパケットとして無線部11から送信される。
以上のように構成される本発明の実施の形態に係る無線通信装置の一例であるコードレス電話機の親機の動作を、図1〜図16に基づいて説明する。
図6は、本発明の実施の形態に係る無線通信装置の干渉回避手順の説明をするフローチャートである。図7は、本発明の実施の形態に係る無線通信装置のブロック退避手順を説明するフローチャートである。図8は、本発明の実施の形態に係る無線通信装置のチャンネル退避手順を説明するフローチャートである。図9は、本発明の実施の形態に係る無線通信装置の再測定手順を説明する測定テーブルの構成を示す図である。図10は、本発明の実施の形態に係る無線通信装置の不良チャンネル復帰手順を説明するフローチャートである。図11は、本発明の実施の形態に係る無線通信装置の良好ブロック処理を説明するフローチャートである。図12は、本発明の実施の形態に係る無線通信装置の不良ブロック処理を説明するフローチャートである。図13は、本発明の実施の形態に係る無線通信装置のチャンネルエラーカウンタの動作を説明する図である。図14は、1つのチャンネルに対応するチャンネルエラーカウンタの数値の増減を示した図である。図15は、ブルートゥースのパークモードを説明する図である。図16は、親機が不良チャンネル復帰手順を行うタイミングを得るための動作を説明するフローチャートである。
図6に示すように、まず、S10にて親機2が、共通パケット、ACLパケットまたはSCOパケットを、チャンネル番号8にて受信したものとする。この時点でのチャンネルエラーカウンタおよびブロックエラーカウンタを図4(a)に示すように、チャンネル番号8のエラー値は、チャンネルエラーカウンタは「5」、チャンネル番号8が属するブロックのブロックエラーカウンタはチャンネル番号6〜10の合計で「13」である。
同期相関器12、受信パケット解析部13、音声パケット処理部14、データパケット処理部18のいずれかでエラーが検出された場合(S20)、エラーカウンタ処理部22は、エラー計数処理部20より通知されたパケットのエラー発生箇所に応じた重み付けされたエラー値を入力する。このエラー値は、図3で示される重み付けに基づいた値である。受信したパケットに同期エラーが発生した場合には、エラー計数処理部20により「3」が出力される(S30)。
S20にて、パケットの受信でエラーがない場合は、S10へ移行する。
エラーカウンタ処理部22は、入力したエラー値をパケットの受信に使用したチャンネルに該当するチャンネルエラーカウンタに加算する。同期エラーの場合はチャンネルエラーカウンタに「3」を加算(カウントアップ)する。例えば、図4(b)に示すようにチャンネル番号8のチャンネルエラーカウンタは、「5」に「3」を加算して「8」となっている(S40)。
チャンネル管理部23は、カウントアップしたチャンネルエラーカウンタの値が、不良チャンネル閾値以上であるか否かを判定する。例えば、不良チャンネル閾値を「8」とする。この場合、チャンネル番号8のチャンネルエラーカウンタは「8」なので、S60へ移行する(S50)。
チャンネル番号8は、不良チャンネル閾値以上であるので、チャンネル管理部23は、
ホッピングテーブル24のチャンネル番号8の状態を不良チャンネルとする(S60)。
S50にて、不良チャンネル閾値が8未満であれば、S60の処理は実行せずS70へ移行する。
エラーカウンタ処理部22は、チャンネル番号8のチャンネルエラーカウンタが更新されているので、チャンネル番号8が属するブロックのブロックエラーカウンタの更新を行う。そしてチャンネル管理部23は、ブロックエラーカウンタが不良ブロック閾値以上であるか否かを判定する。例えば、不良ブロック閾値を「16」とする。この場合、チャンネル番号8が属するブロックのエラー値は、チャンネル番号6,8,10の合計である16であり、不良ブロック閾値と等しいため、S80へ移行する(S70)。
チャンネル番号8が属するブロックが、不良ブロックであるため、チャンネル管理部23は、不良ブロックをホッピングパターンから除くことができるか否かの判定をする(S80)。
この判定は、次のような手順で行われる。まず、全チャンネルの中から、ホッピングパターンとして使用している使用状態であるチャンネル数をカウントする。そして、そのカウント値からホッピングパターンを行う最小チャンネル数を閾値とした値を減算する。最小チャンネル数を「20」とした場合では、周波数ホッピングは最低20チャンネルで行うことを意味している。つまり、その減算した値が、ブロックを構成するチャンネル数より小さい場合は、S70で不良ブロック閾値以上になった不良ブロックをホッピングパターンから除くと最小チャンネル数より少なくなってしまう可能性があるため、不良ブロックのチャンネルを待機状態にできない。従って、S90へ移行し、ブロック退避手順に従って不良ブロックの退避を行う。
また、減算した値が、ブロックを構成するチャンネル数以上である場合は、不良ブロックをホッピングパターンから除いても最小チャンネル数より多いため、S100へ移行し、S70で不良ブロック閾値以上となった不良ブロックに属するチャンネルを待機状態とし、ホッピングパターンから除く。
S70にて、ブロックエラーカウンタが不良ブロック閾値未満であった場合は、S110へ移行する。そしてS110では、S60にて不良チャンネルとしたチャンネルをホッピングパターンから除くことができるか否かの判定を行う。
この判定は、次の手順で行われる。まず、全チャンネルの中から、ホッピングパターンとして使用している使用状態であるチャンネル数をカウントする。そして、そのカウント値がホッピングパターンを行う最小チャンネル数とした閾値より多いか否かの判定をする。つまり最小チャンネル数を「20」とすると、その使用状態であるチャンネル数が、最小チャンネル数「20」以下であると、S40でカウントアップして不良チャンネルとなったチャンネルを待機状態とし、ホッピングパターンから除くと最小チャンネル数「20」より少なくなってしまう。従って、S110の判定では否となりS120へ移行し、後述するチャンネル退避手順に従って不良チャンネルの退避を行う。また、最小チャンネル数より大きい場合には、S130へ移行する。
その使用状態であるチャンネル数が、最小チャンネル数「20」より多いと、不良チャンネルをホッピングパターンから除いても最小チャンネル数より多いため、不良チャンネルを待機状態とすることができるのでS130へ移行し、不良チャンネルを待機状態とし、ホッピングパターンから除く。
このように、ブロックエラーカウンタが不良ブロック閾値以上となるような広帯域の干渉ノイズにより通信エラーが発生した場合に、チャンネル管理部23が、チャンネルを所定数ごとに区分したブロック単位で、ホッピングパターンから除いたホッピングテーブル24とすることができる。従って、通信制御部21が、この不良チャンネルを除いたホッピングパターンで周波数ホッピングをすることができ、干渉ノイズにより影響が発生したチャンネルを素早く回避させることができる。
また、ブロックエラーカウンタが不良ブロック閾値未満であるが、チャンネルエラーカウンタが不良チャンネルとなるような狭帯域の干渉電波により通信エラーが発生した場合に、チャンネル管理部23が、チャンネル単位でホッピングパターンから除いたホッピングテーブル24とすることができる。従って、通信制御部21が、この不良チャンネルを除いたホッピングパターンで周波数ホッピングをすることができ、干渉ノイズの帯域幅に応じたホッピングパターンとすることができる。
次に、不良ブロックに属するチャンネルをホッピングパターンから除くと最小チャンネル数より少なくなる可能性がある場合に実行されるブロック退避手順を図7に基づいて説明する。
まず、チャンネル管理部23は、ホッピングテーブル24に基づき、不良ブロックとなったブロックに属するチャンネルの状態の判定を行う。良好ブロックに属するチャンネルが通信エラーの発生によって不良ブロックとなっても、そのブロック内の他のチャンネルが既に待機状態であれば、この他のチャンネルはホッピングパターンから除かれている。これは、新たに待機状態のチャンネルを待機状態とすることができないからである。この判定は、まず1番目のチャンネルの状態から判定を行い待機状態であれば、S250へ移行する(S200)。
使用状態であれば、チャンネル管理部23は、そのチャンネルが不良チャンネルであるか否かを判定する。これは、不良チャンネルとなっているということは、干渉電波の影響を受けていることを意味しているため、積極的に不良チャンネルを退避させホッピングパターンから除くための判定である。不良チャンネルでなければ、S250へ移行する(S210)。
次に、使用状態であり、かつ不良チャンネルと判定されたチャンネルは、待機状態としてホッピングパターンから除くことができるか否かの判定を行う。これは、図6のS110での判定と同様の手順で行われる(S220)。
S220にて、不良チャンネルを待機状態とし、ホッピングパターンから除くと最小チャンネル数より少なくなってしまう場合には、後述するチャンネル退避手順に従って不良チャンネルの退避を行う(S230)
S220にて、不良チャンネルを待機状態としても、最小チャンネル数以上である場合には、不良チャンネルを待機状態とする(S240)。
そして、不良ブロックとしたブロックに属するチャンネル全てについて、S200からS240までの処理を行った否かの判定をし、行っていなければS200から2番目,3番目の各チャンネルについて実施する。3つのチャンネルを1つブロックに区分している場合には、3回繰り返す。全てのチャンネルについて処理を行っていれば、ブロック退避手順を終了する。(S250)。
このようにして、不良ブロックに属するチャンネルをホッピングパターンから除くと最小チャンネル数より少なくなる可能性がある場合に、チャンネル単位でホッピングパター
ンから除くことが可能か否かの判定を行う。
この判定により周波数ホッピングを行う最低のチャンネル数である最小チャンネル数を確保しつつ、不良ブロックに属する不良チャンネルをホッピングパターンから除くことができる。
次に、新たに不良チャンネルとなったチャンネルをホッピングパターンから除くと最小チャンネル数より少なくなる場合に実行されるチャンネル退避手順を図8に基づいて説明する。
まず、チャンネル管理部23は、最も小さいチャンネル番号から、そのチャンネルの状態が使用状態であるか否かの調査をする。例えば、図4(a)では、チャンネル番号2が使用状態であるか否かを判定する。使用状態である場合には、S350へ移行する(S300)。
次に、チャンネル管理部23は、待機状態であるチャンネルが不良チャンネルであるか否かの判定を行う。この判定およびS300の判定により、不良ブロックとなったために、その不良ブロックに属する全てのチャンネルが待機状態となりホッピングパターンから除かれたが、チャンネルエラーカウンタは不良チャンネル閾値より小さく、通信するに支障がないと思われるチャンネルを抽出することができる。待機状態であるチャンネルが不良チャンネルである場合には、S350へ移行する(S310)。
そして、いままで調査したチャンネルの中でチャンネルエラーカウンタの値が、最も小さいチャンネルか否かを判定する。小さい場合には、S330へ移行し、小さくない場合には、S350へ移行する(S320)。
チャンネル管理部23は、S320で判定されたチャンネのチャンネル番号を記憶する(S330)。
全てのチャンネルについて調査したか否かの判定を行い(S340)、調査していない場合には、調査対象のチャンネル番号を更新(S350)して、S300へ戻る。
S330の処理において、チャンネル管理部23が記憶したチャンネルが抽出できたか否かの判定を行う。つまり、チャンネルの状態が、良好チャンネルであり、待機状態であって、かつ最もチャンネルエラーカウンタの値が小さいチャンネルが抽出できたか否かを意味している。これは、最小チャンネル数を確保しつつ、新たに不良チャンネルとなったチャンネルをホッピングパターンから除くために、不良チャンネルとなったチャンネルの代わりに使用状態としてホッピングパターンに追加することができるチャンネルが抽出できたことになる(S360)。
抽出できた場合では、S330の処理にて記憶したチャンネル番号のチャンネルの状態を使用状態として、ホッピングテーブル24へ追加し(S370)、ホッピングパターンから除きたい新たに不良チャンネルとなったチャンネルの状態を待機状態とする(S380)。
S360にて、チャンネルが抽出できなかった場合には、後述する再測定手順にて、交換の対象となるチャンネルの選択を行う(S390)。
このようにして、新たに不良チャンネルとなったチャンネルをホッピングパターンから除くと最小チャンネル数より少なくなる場合に、チャンネルの状態が、良好チャンネルで
あり、待機状態であって、かつ最もチャンネルエラーカウンタの値が小さいチャンネルを全チャンネルから選択し、そして不良チャンネルとホッピングパターンの入れ替えをする。そうすることで、最小チャンネル数を確保しつつ、不良チャンネルをホッピングパターンから除くことができる。
次に、待機状態であるチャンネルの電界強度を測定して、不良チャンネルと待機状態にあるチャンネルを入れ替え対象とするチャンネルを選択する再測定手順を図9に基づいて説明する。
再測定手順は、周波数ホッピングを行うチャンネル数が、最小のチャンネル数となり、新たに不良チャンネルが発生した場合に、この手順により、不良チャンネルをホッピングパターンから除いて、代わりにホッピングパターンに追加する追加用のチャンネルを抽出する。これは、通信制御部21が、エラーカウンタ処理部22の各チャンネルのチャンネルエラーカウンタの値と、無線部11によって測定される電界強度とに基づいて、入れ替え対象とするチャンネルを選択する測定テーブル28を作成して抽出を行う。以下にその手順を説明する。
(1)図9に示す測定テーブル28は、チャンネルエラーカウンタの値が第1の閾値である不良チャンネル閾値以上であるチャンネルを抽出して作成されている。本実施の形態では測定テーブル28は、不良チャンネル閾値を「8」としているので、チャンネルエラーカウンタの値が「8」以上となっているチャンネルを抽出して作成されている。
(2)無線部11により、そのチャンネルの周波数帯域での電界強度を所定回数測定し、通信制御部21がその電界強度の測定結果に基づいて測定テーブル28を作成する。図9では4回測定して測定テーブル28を作成している。この回数は、1回でも良いし、6回以上としても良いが、回数が少ないと信頼性に欠け、回数が多いと処理時間を要してしまうため、3回から5回程度が望ましい。この回数をチャンネル管理部23に設定として記憶させることにより、親機2の設置環境に最適な回数で処理を行うことができる。
(3)4回測定した後に、その最大値を抽出して降順に並び替える。図9においては、チャンネル番号38を測定した2回目の「230」が最高値であり、かつ全チャンネルの測定値の最高値であるため、測定テーブル28の最上位となっている。また、チャンネル番号4の1回目に測定された「89」が全チャンネルの最低値であるため、測定テーブル28の最下位となっている。この電界強度は、大きい程、親機2が設置された周囲に干渉の元となる装置があることを示し、小さいと、通信に影響を与えるものがないということを示している。
(4)通信制御部21は、測定された電界強度の最大値が不良チャンネルの中でもっとも小さく、かつチャンネルエラーカウンタの値が第2の閾値である追加チャンネル閾値以下のチャンネルを測定テーブル28から検索する。図9においては、チャンネルエラーカウンタの値が追加チャンネル閾値「16」以下のチャンネルとしている。チャンネル番号4は、測定された電界強度の最大値が「89」で全チャンネル中最も小さい値ではあるが、チャンネルエラーカウンタの値が「20」であり、追加チャンネル閾値「16」より大きいため、次に上位のチャンネル番号8のチャンネルエラーカウンタと、閾値「16」を比較する。
(5)チャンネル番号8のチャンネルエラーカウンタは「10」なので、閾値「16」より小さい。従ってチャンネル番号8が選択される。
(6)チャンネル番号8の周波数帯域を無線部11にて再測定する。
(7)チャンネル番号8の再測定結果が、所定値以下か否かを判定する。
(8)所定値以下であれば、不良チャンネルとなったチャンネルと、チャンネル番号8を交換する。つまり、不良チャンネルを待機状態とし、チャンネル番号8を使用状態とし、ホッピングパターンへ追加する。
(9)(7)の測定結果が所定値より大きい場合は、その次に上位のチャンネル番号68のチャンネルエラーカウンタが追加チャンネル閾値「16」より小さいかを判定する。
(10)以降、(5)から(9)を繰り返して、不良チャンネルをホッピングパターンから除いて、代わりにホッピングパターンに追加する追加用のチャンネルを抽出する。
但し、この抽出は、測定用テーブル28の全チャンネルが対象となるものではなく、4回の再測定した結果の最大の電界強度の値が、良と判定される閾値以下であるチャンネルを追加用のチャンネルの抽出の条件とする。本実施の形態では「115」とする。これによって、交換用のチャンネルとして干渉ノイズの多いチャンネルが抽出されることを防止している。図9では、この「良」と判定する閾値「115」を示す線を図示している。
このように、不良チャンネルとなった各周波数帯域を再測定することにより、一時的な干渉ノイズでの通信エラーで不良チャンネルとなり、その後は、通信するに支障がないと思われるチャンネルを抽出することができる。
次に、各チャンネルの電界強度に基づいてチャンネルエラーカウンタを更新して、そのチャンネルをホッピングパターンから除いたり、追加したりする不良チャンネル復帰手順を図10に基づいて説明する。
この不良チャンネル復帰手順は、マスタ装置である親機2の送信スロット後のスレーブ装置からの受信スロットにおいて、受信するパケットがない空きスロットとなった場合に実行される。その際に無線部11が測定するチャンネルは、親機2が送信したチャンネルの次のホッピングパターンに基づいたチャンネルとなる。
受信動作時に、スレーブ装置である他の無線通信装置(例えば、子機3,PDA4,デジタルカメラ5)からパケットが送信された場合は、干渉ノイズであるか正常なパケットであるか電界強度の測定だけでは区別が付かない。従って、この不良チャンネル復帰手順は実行されない。この場合は、図3で示されるように、受信パケットの各エラー発生箇所に応じたチャンネルエラーカウンタのカウントアップを行う。
まず、S400にて通信制御部21は、空きスロットのホッピングパターンに従ったチャンネルの電界強度を無線部11から入力し、エラーカウンタ処理部22へ出力する。
エラーカウンタ処理部22は、測定結果が、干渉ノイズが無いまたは小さいことを示すカウントダウン閾値以下か否かを判定する(S410)。
S410にて、カウントダウン閾値以下であると判定された場合は、エラーカウンタ処理部22は、そのチャンネルに対応するチャンネルエラーカウンタの値をカウントダウンする。これは、一時的な干渉ノイズによって通信エラーが発生し、チャンネルエラーカウンタがカウントアップされたが、再度、そのチャンネルの電界強度を測定して干渉ノイズの有無を調査することで、通信に支障がない程度の電界強度であれば、エラーカウンタ処理部22により、チャンネルエラーカウンタをカウントダウンするというものである。そ
してS450へ移行する(S420)。
S410にて、測定結果がカウントダウン閾値より大きいと判定された場合、測定結果がカウントアップ閾値以上か否かを判定する。カウントアップ閾値は、カウントダウン閾値より大きい値としており、カウントアップ閾値とカウントダウン閾値は異なる値としている。このような関係とすることにより、チャンネルエラーカウンタの値をカウントダウンさせるには干渉ノイズが大きく、またカウントアップするにはそれほど干渉ノイズの影響は無い場合に、チャンネルエラーカウンタの値を更新することなく、現状のままのチャンネルエラーカウンタの値とすることができる(S430)。
S430にて、測定結果がカウントアップ閾値以上であると判定された場合、そのチャンネルの周波数帯域と重なる干渉ノイズが存在することを示しているので、チャンネルエラーカウンタをカウントアップする。そしてS450へ移行する(S440)。
エラーカウンタ処理部22は、電界強度の測定を行ったチャンネルが属するブロックのブロックエラーカウンタを再計算する(S450)。
電界強度を測定したチャンネルは、S450にて再計算する前の状態が、不良ブロックに属していたか、否かの判定をする。良好ブロックであればS470へ移行し、不良ブロックであればS490へ移行する(S460)
良好ブロックであれば、S460にてブロックエラーカウンタを再計算した結果、不良ブロック閾値以上であるか否かの判定を行う(S470)。
再計算した結果が、不良ブロック閾値未満であれば、良好ブロック処理(S480)を行う。
ここで、良好ブロック処理について図11に基づいて説明する。
チャンネルの電界強度を測定し、そのチャンネルが属するブロックが不良ブロックでない場合、そのチャンネルのチャンネルエラーカウンタが、通信しても良いと判断される良好チャンネル閾値以下であるか否かを判定する。本実施の形態では良好チャンネル閾値を「6」とする(S600)。
S600にて、良好チャンネル閾値以下であると判定された場合、そのチャンネルの状態を良好チャンネルへ変更してホッピングパターンへ追加して終了する(S610)。
S600にて、良好チャンネル閾値より大きいと判定された場合、次に通信品質が維持できないと判断される不良チャンネル閾値以上であるか否かの判定をする。本実施の形態では不良チャンネル閾値を「8」とする(S620)。
S620にて、不良チャンネル閾値以上と判定されると、そのチャンネルの状態を不良チャンネルへ変更してホッピングパターンから除いて終了する。
S620にて、不良チャンネル閾値より小さいと判定されると、また良好なチャンネルとするにはチャンネルエラーカウンタ値が大きく、不良チャンネルとするにはチャンネルエラーカウンタ値が小さいので、チャンネルの状態はそのまま変更せず終了する。
図10に戻って、S470にて再計算したブロックエラーカウンタの値が不良ブロック閾値以上である場合には、そのブロックを不良ブロックとして待機状態とすることができるか否かを判定する(S500)。
S500にて待機状態とすることができると判定された場合は、S400で測定したチャンネルが属するブロックを全て待機状態とする(S510)。
S500にて待機状態とすることが不可であると判定された場合は、図7にて説明したブロック退避手順を実施する(S520)。
S400にて電界強度を測定したチャンネルが属するブロックのブロックエラーカウンタを、S450にて再計算した結果が、良好ブロック閾値以下であるか否かを判定する(S490)。
S490にて、良好ブロック閾値以下であると判定された場合は、不良ブロック処理(S530)を行い終了する。また、良好ブロック閾値より大きいと判定された場合は、そのまま終了する。
次に、S530での不良ブロック処理について、図12に基づいて説明する。
チャンネルの電界強度を測定し、そのチャンネルが属するブロックが不良ブロックである場合、そのチャンネルのチャンネルエラーカウンタが通信しても良いと判断される良好チャンネル閾値以下であるか否かを判定する。良好チャンネル閾値は「6」としたので、チャンネルエラーカウンタの値を良好チャンネル閾値「6」と比較する(S700)。
S700にて、チャンネルエラーカウンタが良好チャンネル閾値以下である場合には、そのチャンネルの状態を良好チャンネルとしてホッピングパターンに追加する(S710)。
S700にて、チャンネルエラーカウンタが良好チャンネル閾値より大きい場合には、そのチャンネルが属するブロック全てについて調査したか否かの判定をし、まだ調査していない場合は、S700へ移行する。全てのチャンネルについて、調査し終えた場合には、終了する(S720)。
このように、パケットの受信時に通信エラーが発生してカウントアップしたチャンネルエラーカウンタおよびブロックエラーカウンタを、カウントダウンさせることができる。このカウントダウンは、パケットの受信がない空きスロットにて、ホッピングパターンに従ったチャンネルの電界強度を測定して、その測定結果に応じて行う。
チャンネルの電界強度を測定した結果に応じて、チャンネルエラーカウンタおよびブロックエラーカウンタをカウントダウンまたはカウントアップすることで、不良ブロックとしたが、その後の干渉電波の測定で通信可能と判断したブロックをホッピングパターンに追加することができ、周波数ホッピングに使用するチャンネルの周波数帯域をブロックの単位で広げることができる。また、狭帯域の干渉ノイズがあった場合でも、チャンネルごとホッピングパターンに追加することができる。
また、ブロックが不良ブロックであるか否かの判定の基準となる不良ブロック閾値は、良好なブロックであるか否かの判定の基準となる良好ブロック閾値より大きくして、ブロックの状態遷移がヒステリシスの関係となるようにしている。これにより、電界強度の測定値によって不良ブロックと良好ブロックとの状態遷移を頻繁に繰り返すことを防止することができる。
このようにして、チャンネルエラーカウンタとブロックエラーカウンタとをカウントア
ップし、ホッピングテーブルからチャンネルまたはブロックを除き、そして電界強度を測定した結果によってカウントダウンしてチャンネルまたブロックをホッピングパターンに追加している。
次に、エラーカウンタ処理部22がタイマ27からの割り込みに応じてホッピングパターンに含まれるチャンネルエラーカウンタをカウントダウンするカウントダウン処理を図13に基づいて説明する。
まず、タイマ27から30秒ごとに割り込みが通信制御部21へ通知され、エラーカウンタ処理部22へその旨の通知が送信される。
この通知により、エラーカウンタ処理部22がチャンネル管理部23を介してホッピングテーブル24の最初のチャンネルの状態を取得する。そしてエラーカウンタ処理部22は、チャンネルの状態が使用状態であるか否かを判定する。チャンネルの状態が使用状態ではない待機状態の場合はS850へ移行する(S800)。
チャンネルの状態が使用状態である場合、エラーカウンタ処理部22は、そのチャンネルのチャンネルエラーカウンタから所定値をカウントダウンする処理を行う。本実施の形態ではチャンネルエラーカウンタから所定値として「1」をカウントダウンする。
例えば、図4(a)のチャンネル番号0のチャンネルエラーカウンタの値「2」から「1」カウントダウンする(S810)。
次に、エラーカウンタ処理部22は、カウントダウンしたチャンネルが不良チャンネルか否かを判定する。この判定は、もともと良好チャンネルであれば、チャンネルの状態は変わらないため、次のチャンネルを調査するためにS850へ移行する(S820)。
チャンネルエラーカウンタの値から「1」カウントダウンしたことで、良好チャンネル閾値以下であるか否かを判定する。良好チャンネル閾値以下である場合には、チャンネルエラーカウンタから「1」をカウントダウンする前は不良チャンネルであり、カウントダウンしたことで良好チャンネルになったことを示す。良好チャンネル閾値よりチャンネルエラーカウンタの値が大きい場合には、次にチャンネルを調査するためにS850へ移行する(S830)。
チャンネルエラーカウンタの値が、良好チャンネル閾値以下である場合では、チャンネルの状態を良好チャンネルへ変更する(S840)。
エラーカウンタ処理部22は、チャンネルが属するブロックの状態の調査が終了したか否かの判定をする。完了していない場合は、そのブロックに属するチャンネル全てに対してS800からS840までを繰り返すために、S800へ移行する。
例えば、図4(a)に示されるチャンネル番号0,2,4が同じブロックなので、チャンネル番号0,2,4のチャンネルエラーカウンタについてカウントダウンし、チャンネルの状態について調査したか判定する(S850)。
S850にて、ブロック単位での調査が終了した場合、エラーカウンタ処理部22は、ブロックのブロックエラーカウンタを再計算する。これは、そのブロックに属するチャンネルエラーカウンタを合計することにより行われる(S860)。
エラーカウンタ処理部22は、調査したブロックが不良ブロックであるか否かの判定を
する。この判定は、もともと良好ブロックであれば、ブロックの状態は変わらないため、次のブロックの調査をするためにS900へ移行する(S870)。
エラーカウンタ処理部22は、S860にて調査したブロックのブロックエラーカウンタを再計算した結果が良好ブロック閾値以下であるか否かの判定をする。良好ブロック閾値よりブロックエラーカウンタの値が大きい場合は、S900へ移行する(S880)。
ブロックエラーカウンタの値が良好ブロック閾値以下である場合は、エラーカウンタ処理部22は、チャンネル管理部23へ通知し、ホッピングテーブル24のブロックの状態を良好ブロックへ変更する(S890)。
周波数ホッピングをする全チャンネルについて調査したかを判定し、全てのチャンネルの調査が終了していない場合は、S800へ移行して、S800からS890までの処理を繰り返す。全てのチャンネルの調査が終了した場合は処理を終了する(S900)。
チャンネルエラーカウンタとブロックエラーカウンタのカウントアップおよびカウントダウンする様子を図14に基づいて説明する。
図14は、1つのチャンネルに対応するチャンネルエラーカウンタの数値の増減を示した図である。親機2がパケットの送信を行ってないアイドル状態では、チャンネルの電界強度を測定してその測定結果に応じて、チャンネルエラーカウンタの値は、図10に示される不良チャンネル復帰手順により増減している。
そして、親機2が通信状態となり、他の無線ネットワークからパケットを受信する。その際に、そのパケットのペイロードに含まれるCRCにエラーがあった場合、パケットエラーをデータパケット処理部18が検出する。図3に示すようにペイロードエラーはエラー発生回数に応じて重み付けが異なるが、この場合「3」とすると、データパケット処理部18からの通知により「3」をエラー計数処理部20が、エラーカウンタ処理部22へ通知する。そして、エラーカウンタ処理部22は、チャンネルエラーカウンタを「3」カウントアップする。
次に受信したパケットのパケットヘッダに含まれるHEC(Header Error Check)にエラーが発生していることを、受信パケット解析部13が検出する。パケットエラーは重み付けが「2」であるため、エラー計数処理部20は「2」をエラーカウンタ処理部22へ通知する。そしてエラーカウンタ処理部22は、チャンネルエラーカウンタを「2」カウントアップする。
次に、同様にして、アクセスワードに含まれるSYNCにエラーが発生していることを同期相関器12が検出する。アクセスコードの同期エラーは重み付けが「3」であるため、エラーカウンタ処理部22は、チャンネルエラーカウンタを「3」カウントアップする。
その時点で、チャンネルエラーカウンタの値は、不良チャンネル閾値以上となったため、不良チャンネルとしてホッピングパターンから除かれる。その後は、図10から図12に示される不良チャンネル復帰手順により、干渉ノイズがない場合に段々チャンネルエラーカウンタが減少していき、良好チャンネル閾値以下となったことで、ホッピングパターンに追加される。
このようにして、各チャンネルが干渉ノイズによって影響を受けた場合に、ホッピングパターンから除かれ、影響がなくなると追加される。
次に、図10から図12にて説明した不良チャンネル復帰手順を行うタイミングについて、図15および図16に基づいて説明する。
図15は、ブルートゥースのパークモードを説明する図である。図16は、親機が不良チャンネル復帰手順を行うタイミングを得るための動作を説明するフローチャートである。
親機2が通信を開始すると、ブルートゥースではホッピングパターンとして使用するチャンネルがランダムなので、不良チャンネル復帰手順による電界強度の測定を、各チャンネル均等に行うことが困難である。そこで、確実に不良チャンネル復帰手順を行うタイミングを図ることが必要となる。
ブルートゥースでは、スレーブ装置が低消費電力モードであるパークモードへ遷移した場合では、ピコネット内でのマスタ装置から周期的にビーコンと呼ばれるパケットが送信される。また、スレーブ装置には、マスタ装置に対してアクセス要求をするための時間スロットであるアクセスウィンドウが与えられる。
マスタ装置がスレーブ装置に対して送信するパークモードへの遷移を要求する場合、マスタ装置はスレーブ装置にパークモードへの遷移を要求するためのパケット(LMP_park_req_reqパケット)を送信する。マスタ装置から周期的に出されるビーコンのタイミング、スレーブ装置のアクセスウィンドウのタイミングは、前記パケット(LMP_park_req_reqパケット)に含まれる制御データの時間情報により規定される。
この時間情報は、図15に示すように、ビーコンスロットの時間間隔であるビーコン列間隔T1と、ビーコンの開始からアクセスウィンドウまでの時間であるアクセスウィンドウ開始オフセットT2と、ビーコンの周期であるビーコン周期T3の各時間の定義を含んでいる。アクセスウィンドウは、そのアクセスウィンドウ開始オフセットT2により、ビーコン開始のスロットから相対的に定義される。
ブルートゥースにおけるビーコンスロットでは、マスタ装置である親機2が、ビーコンを送信した次のスロットでは、スレーブ装置である子機3、PDA4、デジタルカメラ5からの応答は不要なので、空きスロットとなる。
また、アクセスウィンドウにおいては、マスタ装置から送信される同報パケットに次の受信スロットは、パークモードへ遷移したそれぞれのスレーブ装置に割り当てられるAR_ADDR(Access Request Address)に基づいて応答するスロットが決まっているため、AR_ADDRに応じたスロットに、そのAR_ADDRに割り当てられたスレーブ装置からの通信がないと、どのスレーブ装置からも応答がない空きスロットなる。
このようにして得られる空きスロットのタイミングで、不良チャンネル復帰手順を行うことで、各チャンネルに対して均一に測定することが可能となる。
この空きスロットを得るための親機2の通信制御部21の動作を図16に基づいて説明する。
まず、スレーブ装置である子機3がパークモードへ遷移したとする。親機2は子機3へ、LMP_park_reqパケットにて、時間情報を含む制御データを送信して状態遷移を要求する。親機2の通信制御部21は、タイマ27へ時間情報あるT1,T2およびT3の時間設定をする。ビーコンスロットにてビーコンを送出してS910から実行を始める。
S910にて、ビーコンの周期であるビーコン周期T3の割り込み発生の有無を判定する。発生がない場合はS920へ移行する。割り込み発生有りの場合は、ビーコンスロットの開始を示しているので、ビーコンを送出するとともに、ビーコンスロットでは、スレーブ装置である子機3の応答はないので、空きスロットとなる。従って、S940にて、図10で示される不良チャンネル復帰手順を実行することができる。
S920にて、ビーコンスロットの時間間隔であるビーコン列間隔T1の割り込みの発生の有無を判定する。発生がない場合はS930へ移行する。割り込み発生有りの場合は、次のビーコン送出タイミングなので、ビーコンを送出するとともに、S940にて、図10で示される不良チャンネル復帰手順を実行することができる。
S930にて、ビーコンの開始からアクセスウィンドウまでの時間であるアクセスウィンドウ開始オフセットT2の割り込みの有無を判定する。発生がない場合はS910へ戻って割り込みの待ちを継続する。
割り込み発生有りの場合は、アクセスウィンドウの開始を示しているので、通信制御部21は、アクセスウィンドウの送信スロットで同報パケットなどの送信を行うとともに、S950にて、次の受信スロットが通信する装置がいるアクティブスロット(空きスロットではない)か否かの判定を行う。
空きスロットである場合、つまり、子機2の通信によるアクティブスロットではない場合、S940へ移行し、不良チャンネル復帰手順を実行する。
空きスロットでない場合、つまり、子機2の通信によるアクティブスロットである場合、S910へ戻り割り込み待ちを繰り返す。
このようにして、不良チャンネル復帰手順による電界強度の測定を、ビーコンスロットやアクセスウィンドウの空きスロットを使用することで、各チャンネル均等に行っている。
以上のように、不良チャンネルまたは不良ブロックを除いたホッピングパターンとしている。このホッピングパターンをマスタ装置である親機2は、スレーブ装置へ通知することにより、新しいホッピングパターンで、お互いが相違なく周波数ホッピングする。これは、ホッピングチャンネル計算部25がクロックカウンタ26に基づいて周波数ホッピングするチャンネルの順序を算出し、チャンネルの状態が使用状態のみとしたホッピングパターンを通信制御部21がデータバッファ32へ格納し、送信パケット作成部30により、LMP_classificationの制御パケットとして送信することにより実現している。