JP4198892B2 - 周波数ホッピング型の無線通信装置 - Google Patents

周波数ホッピング型の無線通信装置 Download PDF

Info

Publication number
JP4198892B2
JP4198892B2 JP2001095169A JP2001095169A JP4198892B2 JP 4198892 B2 JP4198892 B2 JP 4198892B2 JP 2001095169 A JP2001095169 A JP 2001095169A JP 2001095169 A JP2001095169 A JP 2001095169A JP 4198892 B2 JP4198892 B2 JP 4198892B2
Authority
JP
Japan
Prior art keywords
clock
value
hopping
frequency
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001095169A
Other languages
English (en)
Other versions
JP2002300089A (ja
Inventor
信也 福岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pioneer Corp
Original Assignee
Pioneer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pioneer Corp filed Critical Pioneer Corp
Priority to JP2001095169A priority Critical patent/JP4198892B2/ja
Publication of JP2002300089A publication Critical patent/JP2002300089A/ja
Application granted granted Critical
Publication of JP4198892B2 publication Critical patent/JP4198892B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明が属する技術分野】
本発明は、周波数ホッピング型の無線通信装置に関する。
【0002】
【従来の技術】
ブルートゥース技術を用いた無線通信においては、周波数ホッピング型のスペクトラム拡散変調方式が採用されており、実際に通信を行う際にはピコネットと呼ばれるネットワークが通信可能範囲内の通信装置間にて形成される。1つのピコネットに加わった通信装置各々は同一のホッピング周波数パターンで通信を行う状態にある。また、ピコネットにおける通信装置間においては1つの通信装置がマスタ装置となり、それ以外はスレーブ装置になるという関係が生じる。ピコネット内の通信ではマスタ装置と最大7つのスレーブ装置との間で行われ、スレーブ装置間で直接の通信を行われない。ブルートゥース用の無線通信装置はマスタ装置及びスレーブ装置のいずれにもなれる機能を有している。
【0003】
また、ブルートゥース技術を用いた無線通信においては、2.4GHzのISM(Industry Scientific and Medical)周波数帯が用いられ、79又は23の無線チャンネルに分割されて使用される。また、各無線チャンネルを1/1600秒=625μsec毎に分割した単位がタイムスロットとされ、各無線通信装置は割り当てられたタイムスロットにおいてパケットを送信する。無線通信の際にタイムスロットの割り当てが同一の無線チャンネルではなく、ホッピング周波数パターンに従って無線チャンネルを切り換えて行われる。マスタ装置はピコネットのホッピング周波数を提供する。図1はマスタ装置とスレーブ装置との間の通信の際のタイムスロットの変化を示している。
【0004】
ブルートゥース用の無線通信装置間でピコネット通信を開始する際にはインクワイアリ(問い合わせ)という動作が先ず行われる。インクワイアリを行う無線通信装置はマスタ装置となってIQパケットを送信する。IQパケットはGIAC(General Inquiry Access Code)と呼ばれるアクセスコードからなる。マスタ装置はGIACと自身のクロック値とからホッピング周波数を算出してIQパケットをそのホッピング周波数で定まる無線チャンネルにて送信する。クロック値は各無線通信装置が所有するクロックカウンタの値である。ホッピングパターンとしてA列とB列とがあり、A列とB列とが複数回繰り返される。マスタ装置と通信可能な範囲にあり、インクワイアリに応答可能な状態にある無線通信装置はスレーブ装置として動作する。スレーブ装置はGIACと自身のクロック値とからホッピング周波数を算出して、IQパケットの受信を監視する。スレーブ装置はIQパケットを受信すると、スレーブ装置自身の情報を含む応答パケットを送信する。すなわち、応答パケットを受信すると、自身のクロック値とアドレス値とを含むFHSパケットを応答したマスタ装置に対して送信する。アドレス値はBD_ADDRと称された各無線通信装置固有の値である。マスタ装置はFHSパケットをスレーブ装置から受信することにより、マスタ装置の周辺に存在するBT(ブルートゥース)装置の情報を入手することになる。こうしてインクワイアリ動作は終了となり、ページング(呼び出し)を行って実際のピコネット通信が開始できるようになる。実際のピコネット通信を行うためにはマスタ装置のアドレス値と自身のクロック値とからホッピング周波数を算出してデータパケットをスレーブ装置に送信し、スリーブ装置もそのデータパケットから得られるマスタ装置のアドレス値とマスタ装置のクロック値と自身のクロック値に基づいてホッピング周波数を算出して送信周波数を設定してデータパケットをマスタ装置に対して送信するというページングを行う。
【0005】
すなわち、マスタ装置が通信可能な範囲に特定の無線通信装置(スレーブ装置)の存在を知っている場合にはページングが行われる。ページングを行うマスタ装置はIDパケットを送信する。IDパケットはスレーブ装置のアドレス値から生成されるDAC(Device Access Code)と呼ばれるアクセスコードからなる。マスタ装置はDACとスレーブクロックの推定値とからホッピング周波数を算出してIDパケットをそのホッピング周波数で定まる無線チャンネルにて送信する。ホッピングパターンとしてA列とB列とがあり、A列とB列とが複数回繰り返される。ページングに応答可能な状態にあるスレーブ装置は自身のアドレス値と自身のクロック値とからホッピング周波数を算出して、IDパケットの受信を監視する。スレーブ装置はIDパケットを受信すると、スレーブ装置自身のアドレス値等の情報を含む応答パケットを送信する。マスタ装置は、応答パケットを受信すると、自身のクロック値とアドレス値とを含むFHSパケットを応答したスレーブ装置に対して送信する。スレーブ装置はFHSパケットをマスタ装置から受信すると、応答パケットを再度マスタ装置に送信する。マスタ装置は応答パケットを再度受信すると、ページング動作は終了となり、上記のインクワイアリの場合と同様に実際のピコネット通信が開始される。
【0006】
【発明が解決しようとする課題】
インクワイアリやページング動作の際にはマスタ装置が送信するIQパケットの無線チャンネルをマスタ装置のクロック値に基づいて設定し、一方、スレーブ装置はIQパケットを監視するために受信する無線チャンネルをマスタ装置のクロック値とは異なる自身のクロック値に基づいて設定するので、マスタ装置とスレーブ装置とが通信可能な範囲内に存在してもIQパケットをスレーブ装置が受信するまでに時間が掛かる場合があり、その場合には実際のピコネット通信を直ちに開始することができないという問題点があった。
【0007】
【課題を解決するための手段】
そこで、本発明の目的は、マスタ装置の通信可能範囲に存在するスレーブ装置との通信確立を早急になすことができる周波数ホッピング型の無線通信装置を提供することである。
本発明の周波数ホッピング型の無線通信装置は、互いに異なる少なくとも2つのクロック値を同一のタイミングで継続して変化させつつ出力するクロック生成手段と、固有のアドレス値を生成するアドレス生成手段と、2つのクロック値のうちの一方のクロック値と前記アドレス値とに応じて第1ホッピング周波数を算出する第1ホッピング周波数算出手段と、前記2つのクロック値のうちの他方のクロック値と前記アドレス値とに応じて第2ホッピング周波数を算出する第2ホッピング周波数算出手段と、第1ホッピング周波数に応じた送信周波数でパケットを送信する第1送信手段と、第2ホッピング周波数に応じた送信周波数でパケットを送信する第2送信手段と、を備えたことを特徴としている。
【0008】
【発明の実施の形態】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図2は3つのブルートゥース送受信機能を備えた無線通信装置の送信部分を示している。この無線通信装置は、クロック生成回路11、選択制御回路12、アドレス生成回路13、3つのホッピング周波数算出回路14〜16、選択制御回路17及び送信回路18〜20を備えている。
【0009】
クロック生成回路11は図3に示すように、3つ分のマスタクロック生成部21〜23及びスレーブクロック生成部24〜26と、メモリ27を有している。第1のマスタクロック生成部21は、クロック信号発生回路31、クロックカウンタ32、オフセット回路33及び加算回路34からなる。クロック信号発生回路31は水晶発振器を備えて所定の周波数のクロック信号を発生する。クロックカウンタ32はクロック信号のパルスを計数する。オフセット回路33はオフセット値をメモリ27及び加算回路34に出力する。加算回路34はクロックカウンタ32の計数値とオフセット回路33の出力オフセット値とを加算してメモリ27に出力する。
【0010】
第2のマスタクロック生成部22は、オフセット回路35及び加算回路36からなり、第3のマスタクロック生成部23は、オフセット回路37及び加算回路38からなる。オフセット回路35及び37はオフセット値を出力する。オフセット回路33、35及び37各々から発せられるオフセット値は互いに異なる。加算回路36はクロックカウンタ32の計数値とオフセット回路35の出力オフセット値とを加算して選択制御回路12に出力する。加算回路38はクロックカウンタ32の計数値とオフセット回路37の出力オフセット値とを加算してメモリ27に出力する。
【0011】
第1のスレーブクロック生成部24は、クロックカウンタ42、オフセット回路43及び加算回路44からなり、クロックカウンタ42にはクロック信号発生回路31からクロック信号が供給される。クロック信号発生回路31がない以外は第1のマスタクロック生成部と同様の構成である。クロックカウンタ42には受信データのプリセット機能を備えている。
【0012】
第2のスレーブクロック生成部25,26各々は、第1のスレーブクロック生成部24と同一の構成を備えている。
メモリ27は、第1のマスタクロック生成部21のクロックカウンタ32の計数値及び加算回路34の出力値、第2のマスタクロック生成部22の加算回路36の出力値、第3のマスタクロック生成部23の加算回路38の出力値、第1のスレーブクロック生成部24のクロックカウンタ42の計数値及び加算回路44の出力値、第2のスレーブクロック生成部25のクロックカウンタ(図示せず)の計数値及び加算回路(図示せず)の出力値、並びに第3のスレーブクロック生成部26のクロックカウンタ(図示せず)の計数値及び加算回路(図示せず)の出力値を個別に保持出力し、新たな値が供給されると更新保持する。
【0013】
選択制御回路12は、メモリ27から出力される各値、すなわちクロック値をホッピング周波数算出回路14〜16に選択的に供給する。
アドレス生成回路13は、3つのアドレス値を生成し、その各アドレス値をホッピング周波数算出回路14〜16に供給する。アドレス生成回路13は、ホッピング周波数算出回路14〜16には互いに異なるアドレス値を供給するが、インクワイアリ時にはホッピング周波数算出回路14〜16に同一のアドレス値を供給する。
【0014】
ホッピング周波数算出回路14〜16は共に同一構成であり、選択制御回路12から供給されたクロック値とアドレス生成回路13から供給されたアドレス値とに基づいてホッピング周波数f1〜f3を算出する。ホッピング周波数算出回路14〜16各々で算出されたホッピング周波数f1〜f3は選択制御回路17に供給される。
【0015】
選択制御回路17はホッピング周波数算出回路14〜16からのホッピング周波数f1〜f3を送信回路18〜20に選択的に供給する。また、選択制御回路17はホッピング周波数f1〜f3を検出する検出回路17aを有する。検出回路17aによって検出されたホッピング周波数f1〜f3のうちのいずれか2つの周波数が同一である場合には選択制御回路17は一方のホッピング周波数の供給を強制的に停止する。
【0016】
送信回路18〜20各々は、変調器及び送信器を備え、変調器において供給されたホッピング周波数を用いてデータに対する周波数ホッピング型のスペクトラム拡散方式の変調を行った後、送信機において電力増幅してアンテナから送信する構成である。
かかる無線通信装置においては、本装置がマスタ装置となって通信相手の無線通信(スレーブ装置)を検出して通信を確立するためのインクワイアリ動作の際には、図4に示すように、先ず、空きブルートゥース送受信系があるか否かが判別される(ステップS1)。3つのブルートゥース送受信系のうちで現在通信状態にないブルートゥース送受信系、すなわち空きブルートゥース送受信系がある場合には、その台数は何台か判別する(ステップS2)。
【0017】
なお、第1のマスタクロック生成部21、ホッピング周波数算出回路14及び送信回路18は第1のブルートゥース送受信系に属し、第2のマスタクロック生成部22、ホッピング周波数算出回路15及び送信回路19は第2のブルートゥース送受信系に属し、第3のマスタクロック生成部23、ホッピング周波数算出回路16及び送信回路20は第2のブルートゥース送受信系に属する。
【0018】
1台の空きブルートゥース送受信系がある場合には、その1台の空きブルートゥース送受信系によるインクワイアリ動作を開始する(ステップS3)。2台の空きブルートゥース送受信系がある場合には、その2台の空きブルートゥース送受信系によるインクワイアリ動作を開始する(ステップS4)。また、3台の空きブルートゥース送受信系がある場合には、その3台の空きブルートゥース送受信系によるインクワイアリ動作を開始する(ステップS5)。インクワイアリ動作によって通信相手装置としてのスレーブ装置が応答して来たならば(ステップS6)、スレーブ装置からの応答パケットを受信したブルートゥース送受信系による通信が実行される(ステップS7)。
【0019】
一方、空きブルートゥース送受信系が存在しない場合、すなわちいずれのブルートゥース送受信系も通信中にある場合には、空きタイムスロットがあるか否かが判別される(ステップS8)。空きタイムスロットがある場合にはその空きタイムスロットを用いていずれかのブルートゥース送受信系によるインクワイアリ動作を開始する(ステップS9)。空きタイムスロットがない場合には3台の空きブルートゥース送受信系のいずれか1の空きブルートゥース送受信系の通信を停止させ(ステップS10)、その通信を停止させたブルートゥース送受信系によるインクワイアリ動作を開始する(ステップS11)。ステップS10の送受信を停止させるブルートゥース通信系の選択方法は、例えば、情報の重要性やリアルタイム性などが考慮される。すなわち、これから通信したい情報に対して、現在の通信系の情報との比較によって選択されれば良い。
【0020】
ステップS4又はS5のように複数台のブルートゥース送受信系によってインクワイアイ動作を行う場合には、その複数台のブルートゥース送受信系の各ホッピング周波数算出のためのクロック値の変化タイミングがほぼ一致しているので、複数台のブルートゥース送受信系各々のホッピング周波数の変化がほぼ同一タイミングで行われる。例えば、ステップS5の場合には、選択制御回路12はメモリ27に保持された第1のマスタクロック生成部21のクロックカウンタ32の計数値をクロック値として第1ホッピング周波数算出回路14に供給し、第2のマスタクロック生成部22の加算回路36の出力値をクロック値として第2ホッピング周波数算出回路15に供給し、第3のマスタクロック生成部23の加算回路38の出力値をクロック値として第3ホッピング周波数算出回路16に供給する。アドレス生成回路13は、同一のアドレス値をホッピング周波数算出回路14〜16に供給する。第1〜第3ホッピング周波数算出回路14〜16に供給される各クロック値はほぼ同一タイミングで変化するので、第1〜第3ホッピング周波数算出回路14〜16各々で算出されるホッピング周波数f1〜f3の変化もほぼ同一タイミングで生ずる。よって、送信回路18〜20各々の送信信号のタイムスロットがほぼ同一タイミングが形成され、各クロック値自体の違いにより互いに異なるホッピングパターンとなるので、タイムスロットにおける送信周波数(無線チャンネル)が一致する可能性は極めて低くなる。言い換えれば、同一タイミングで3つの異なる無線チャンネルでIQパケットがマスタ装置から送信されるので、異なるホッピングパターンで無線チャンネルを監視するスレーブ装置ではマスタ装置からのIQパケットを早急に受信する確率が高くなる。
【0021】
なお、上記した実施例においては、インクワイアリ動作について説明したが、ページング動作の場合についても同様である。
図5は本発明の他の実施例として無線通信装置のクロック生成回路を示している。このクロック生成回路においては、図3に示した第1のマスタクロック生成部21のクロックカウンタ32の出力にプリセットカウンタ51が備えられている。プリセットカウンタ51には、標準時データを受信するクロックデータ受信機52が接続されている。プリセットカウンタ51には予め定められた時刻にクロックデータ受信機52から出力される標準時データがセットされる。すなわち、プリセットカウンタ51は標準時データによってクロックカウンタ32の計数値を校正して出力する。その他の構成は図3と同様にである。この図5に示したクロック生成回路を備えた無線通信装置がマスタ装置及びスレーブ装置として用いられるならば、同一のクロック値によるホッピングパターンとなるので、インクワイアリ動作やページング動作の場合に更に早急な通信確立が可能となる。また、かかる無線通信装置がスレーブ装置として動作する場合を考慮して第1〜第3のスレーブクロック生成部24〜26にも第1のマスタクロック生成部21と同様にプリセットカウンタが備えられているが、図5には第1のスレーブクロック生成部24内にプリセットカウンタ53を設けた構成だけを示している。
【0022】
なお、上記した各実施例においては、ブルートゥース技術を用いた無線通信装置の場合について説明したが、他の周波数ホッピング型の無線通信装置にも適用することができる。
また、上記した各実施例の無線通信装置は、3つの送信系を備えているが、複数の送信系を備えたものであれば、本発明を適用することができる。
【0023】
【発明の効果】
以上の如く、本発明によれば、マスタ装置が通信可能範囲に存在するスレーブ装置との通信確立を早急になすことができる。
【図面の簡単な説明】
【図1】マスタ装置とスレーブ装置との間の通信の際のタイムスロットの変化を示す図である。
【図2】本発明による無線通信装置を示すブロック図である。
【図3】図2の装置中のクロック生成回路の具体的構成を示すブロック図である。
【図4】インクワイアリ動作を示すフローチャートである。
【図5】他の実施例としてクロック生成回路の具体的構成を示すブロック図である。
【符号の説明】
11 クロック生成回路
12,17 選択制御回路
13 アドレス生成回路
14〜16 ホッピング周波数算出回路
18〜20 送信回路

Claims (3)

  1. 互いに異なる少なくとも2つのクロック値を同一のタイミングで継続して変化させつつ出力するクロック生成手段と、
    固有のアドレス値を生成するアドレス生成手段と、
    前記2つのクロック値のうちの一方のクロック値と前記アドレス値とに応じて第1ホッピング周波数を算出する第1ホッピング周波数算出手段と、
    前記2つのクロック値のうちの他方のクロック値と前記アドレス値とに応じて第2ホッピング周波数を算出する第2ホッピング周波数算出手段と、
    第1ホッピング周波数に応じた送信周波数でパケットを送信する第1送信手段と、
    第2ホッピング周波数に応じた送信周波数でパケットを送信する第2送信手段と、を備えたことを特徴とする周波数ホッピング型の無線通信装置。
  2. 前記クロック生成手段は、クロック信号をクロック信号発生手段と、前記クロック信号のパルスを計数して前記一方のクロック値を生成するクロックカウンタと、前記一方のクロック値にオフセット値を加算して前記他方のクロック値を出力する加算手段とを含むことを特徴とする請求項1記載の周波数ホッピング型の無線通信装置。
  3. 前記クロック生成手段は、標準時信号を受信する標準時受信手段と、前記クロックカウンタの計数値を前記標準時によって校正して前記一方のクロック値を生成する手段とを有することを特徴とする請求項2記載の周波数ホッピング型の無線通信装置。
JP2001095169A 2001-03-29 2001-03-29 周波数ホッピング型の無線通信装置 Expired - Fee Related JP4198892B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001095169A JP4198892B2 (ja) 2001-03-29 2001-03-29 周波数ホッピング型の無線通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001095169A JP4198892B2 (ja) 2001-03-29 2001-03-29 周波数ホッピング型の無線通信装置

Publications (2)

Publication Number Publication Date
JP2002300089A JP2002300089A (ja) 2002-10-11
JP4198892B2 true JP4198892B2 (ja) 2008-12-17

Family

ID=18949260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001095169A Expired - Fee Related JP4198892B2 (ja) 2001-03-29 2001-03-29 周波数ホッピング型の無線通信装置

Country Status (1)

Country Link
JP (1) JP4198892B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104041132B (zh) * 2012-01-13 2016-01-20 三菱电机株式会社 无线通信装置以及无线通信方法
CN111107527B (zh) * 2019-10-08 2023-03-24 珠海市杰理科技股份有限公司 蓝牙主设备、从设备的控制方法、装置及蓝牙设备

Also Published As

Publication number Publication date
JP2002300089A (ja) 2002-10-11

Similar Documents

Publication Publication Date Title
US10291755B2 (en) Systems and methods for adaptive scanning and/or advertising
US10891248B2 (en) Configuring wireless communications according to multiple communication protocols
US7778432B2 (en) Hearing aid wireless network
JP4037831B2 (ja) ブルートゥース無線通信システムにおいてハンドオーバを実行する方法および装置
US5515369A (en) Method for frequency sharing and frequency punchout in frequency hopping communications network
Bartolomeu et al. Survey on low power real-time wireless MAC protocols
US8156229B2 (en) Device discovery and connection establishment for ad hoc networks
JP4499974B2 (ja) 近接する無線通信ネットワーク間の自己干渉確率の最小化方法と装置
US7193986B2 (en) Wireless network medium access control protocol
US7050420B2 (en) System for maintaining synchronization between multiple asynchronous communication links
EP3255931B1 (en) Configuring wireless communications and an advertising event according to multiple communication protocols
KR20090098890A (ko) 초광대역 통신을 위한 채널 액세스
US20030139191A1 (en) Wireless communication apparatus capable of improving connection rate
Yousefi et al. Analysis of time synchronization based on current measurement for Bluetooth Low Energy (BLE)
EP4095553A1 (en) Method for transceiving a message for uwb distance measurement, method and system for distance measurement and transceiver for uwb distance measurement
KR100869272B1 (ko) 근거리 Ad―hoc 통신망에서의 다중접속제어 방법
JP4198892B2 (ja) 周波数ホッピング型の無線通信装置
US7184458B2 (en) Reduced subset scan and dual frequency wakeup for bluetooth inquiry operation
JP3571602B2 (ja) 周波数ホッピング通信方式用送受信装置
US6757318B1 (en) Apparatus and method for synchronizing with a communication network by shadowing a page response connection to the network
EP1738480B1 (en) Device for use in a frequency hopping system
WO2002025838A1 (en) Wireless communications
JP2003508961A (ja) 未調整周波数ホッピングシステムのリソース管理
JP2000286856A (ja) 無線lanシステム
JP2003218733A (ja) 短距離無線伝送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080930

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081002

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees