(57)【要約】【課題】処理速度を向上出来る無線通信装置及び無線通信システムを提供すること。【解決手段】無線通信装置２００は、第１の長さＬframeの第１フレームを受信する受信部２１０〜２１２と、前記第１フレームを格納する第１格納部２３１と、無線方式に基づいて決定される第２の長さＬhead_maxが前記第１の長さＬframeより小さい場合には、第３の長さを前記第２の長さＬLhead_maxに設定し、そうでない場合には前記第３の長さを前記第１の長さＬframe以下の値に設定する転送量決定部２３０と、前記第１フレームに含まれる前記第３の長さの第１情報を含む転送情報を第１メモリ２２３へ転送し、前記第１フレームを前記第１の長さだけ第２メモリ２２４へ転送する第１転送制御部２３０とを具備する。【選択図】図５
2011193142.tif 000002
【特許請求の範囲】
【請求項１】
第１の長さのフレーム長を有する第１フレームを、第１無線方式を用いて受信する受信部と、
前記受信部が受信した前記第１フレームの一部または全部を格納する第１格納部と、
前記第１無線方式に基づいて決定される第２の長さが前記第１の長さより小さい場合には、第３の長さを前記第２の長さに設定し、前記第２の長さが前記第１の長さ以上である場合には、前記第３の長さを前記第１の長さ以下の値に設定する転送量決定部と、
前記第１フレームに含まれる前記第３の長さの第１情報を含む転送情報を第１メモリへ転送し、前記第１フレームを前記第１の長さだけ、前記第１メモリとは異なる第２メモリへ転送する第１転送制御部と
を具備することを特徴とする無線通信装置。
【請求項２】
Ｎ（Ｎは１以上の整数）個のプロセッサを更に備え、
前記プロセッサは、該プロセッサにおいて実行するソフトウェアを変更することにより、複数の無線通信方式で規定される通信処理に対応する
ことを特徴とする請求項１記載の無線通信装置。
【請求項３】
前記Ｎは２以上であって、
前記第１転送制御部が転送する前記転送情報を一時的に記憶し、Ｎ個の前記プロセッサのそれぞれに対して前記転送情報を転送する第２転送制御部を更に備える
ことを特徴とする請求項２記載の無線通信装置。
【請求項４】
前記第１転送制御部は、前記第１フレームが複数のサブフレームを含むことを通知された場合、
前記第１無線方式におけるフレームの種類に基づいて決定される第４の長さを有する第２情報を、前記第１格納部内の前記第１フレームから抽出し、
前記第２情報に示される第５の長さを前記第１の長さに設定した後、前記第３の長さを決定する
ことを特徴とする請求項１乃至３いずれか１項記載の無線通信装置。
【請求項５】
請求項１乃至４いずれか１項記載の無線通信装置を備え、該無線通信装置により無線通信を行うことを特徴とする無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線通信装置及び無線通信システムに関する。例えば、複数の無線通信方式に対応可能な無線通信装置に関する。
【背景技術】
【０００２】
従来、ソフトウェア処理により複数の通信システムに対応する無線通信装置が知られている（例えば、特許文献１、２参照）。
【０００３】
しかしながら従来の構成であると、プロセッサがメモリにアクセスする時間が長くなり、処理時間が大きくなる場合がある。その結果、ＭＡＣ層の機能を十分に実現することが困難となる、という問題があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２８３６５１号公報
【特許文献２】特開２００９−０３１９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は、処理速度を向上出来る無線通信装置及び無線通信システムを提供する。
【課題を解決するための手段】
【０００６】
この発明の一態様に係る無線通信装置は、第１の長さのフレーム長を有する第１フレームを、第１無線方式を用いて受信する受信部と、前記受信部が受信した前記第１フレームの一部または全部を格納する第１格納部と、前記第１無線方式に基づいて決定される第２の長さが前記第１の長さより小さい場合には、第３の長さを前記第２の長さに設定し、前記第２の長さが前記第１の長さ以上である場合には、前記第３の長さを前記第１の長さ以下の値に設定する転送量決定部と、前記第１フレームに含まれる前記第３の長さの第１情報を含む転送情報を第１メモリへ転送し、前記第１フレームを前記第１の長さだけ、前記第１メモリとは異なる第２メモリへ転送する第１転送制御部とを具備する。
【０００７】
また、この発明の一態様に係る無線通信システムは、上記無線通信装置を備え、該無線通信装置により無線通信を行う。
【発明の効果】
【０００８】
本発明によれば、処理速度を向上出来る無線通信装置及び無線通信システムを提供出来る。
【図面の簡単な説明】
【０００９】
【図１】この発明の第１実施形態に係る無線通信システムのブロック図。
【図２】第１実施形態に係る無線通信装置のブロック図。
【図３】ＭＡＣフレームの構成例を示す模式図。
【図４】ＭＡＣフレームの具体例の構成を示す模式図。
【図５】第１実施形態に係るデータ転送部のブロック図。
【図６】第１実施形態に係る転送量決定部の動作を示すフローチャート。
【図７】第１実施形態に係る転送制御部の動作を示すフローチャート。
【図８】第１実施形態に係るメモリ空間の概念図。
【図９】第１実施形態に係る無線通信方法のフローチャート。
【図１０】この発明の第２実施形態に係る無線通信装置のブロック図。
【図１１】第２実施形態に係る第２データ転送部のブロック図。
【図１２】第２実施形態に係る第２データ転送部における転送制御部の動作を示すフローチャート。
【図１３】第２実施形態に係るメモリ空間の概念図。
【図１４】第２実施形態に係る無線通信方法のフローチャート。
【図１５】この発明の第３実施形態に係るＭＡＣフレームの模式図。
【図１６】第３実施形態に係る無線通信方法のフローチャート。
【図１７】この発明の第４実施形態に係るＭＡＣフレームの模式図。
【図１８】第４実施形態に係る転送量決定部の動作を示すフローチャート。
【図１９】第４実施形態に係る転送制御部の動作を示すフローチャート。
【図２０】第４実施形態に係る無線通信方法のフローチャート。
【図２１】第４実施形態に係る無線通信方法のフローチャート。
【図２２】この発明の第５実施形態に係る無線通信装置のブロック図。
【発明を実施するための形態】
【００１０】
以下、この発明の実施形態を、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１１】
［第１の実施形態］  
この発明の第１の実施形態に係る無線通信装置及び無線通信システムについて、図１を用いて説明する。図１は、本実施形態に係る無線通信システムのブロック図であり、一例としてＩＥＥＥ８０２．１１規格に従った無線ＬＡＮシステムを示している。
【００１２】
図示するように無線通信システム（無線ＬＡＮシステム）１００は、無線通信基地局（例えば無線ＬＡＮ基地局）１０１及び複数の無線通信端末（例えば無線ＬＡＮ端末）１０２、１０３を備えており、これらによって通信ネットワークを構成している。無線ＬＡＮ基地局１０１は、無線ＬＡＮ端末１０２、１０３を収容して、ＢＳＳ（Basic Service Set）を形成している。
【００１３】
＜無線ＬＡＮ基地局及び端末の構成について＞  
図２は、本実施形態に係る無線通信装置のブロック図である。本構成を有する無線通信装置２００が、図１に示す無線ＬＡＮ基地局１０１及び／または無線ＬＡＮ端末１０２、１０３が適用される。以下では一例として、無線通信装置２００が無線ＬＡＮ端末１０２に適用される場合を例に説明する。本実施形態に係る無線通信装置２００は、複数の無線通信方式に対応可能とされ、例えばＩＥＥＥ８０２．１１（ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、及びＩＥＥＥ８０２．１１ｎを含む）規格に対応するようにプログラムされている。
【００１４】
図示するように無線通信装置２００は、大まかにはアンテナ２１０、無線部２１１、物理層部２１２、及びＭＡＣ（Medium Access Control）層部２２０を備えている。
【００１５】
アンテナ２１０は、所定の無線通信方式に従った周波数帯（例えば２．４ＧＨｚ帯または５ＧＨｚ帯）に送出された無線信号を受信し、また無線信号を所定の周波数帯で送信する。すなわち無線通信装置２００は、アンテナ２１０を介して無線ＬＡＮ基地局１０１から無線信号を受信し、また無線ＬＡＮ基地局１０１へ無線信号を送信する。
【００１６】
無線部２１１は、アンテナ２１０及び物理層部２１２に接続される。無線部２１１は、低雑音増幅器（ＬＮＡ：Low Noise Amplifier）、周波数変換器（ダウンコンバータ）、及び可変利得増幅器を備える。ＬＮＡは、アンテナ２１０からの受信信号を増幅する。ダウンコンバータは、ＬＮＡにおける増幅後の信号の周波数を、中間周波数またはベースバンド周波数に変換する。可変利得増幅器は、自動利得制御（ＡＧＣ：Automatic Gain Control）を行う。アンテナ２１０で受信された無線信号は、無線部２１１によってベースバンド信号に変換され、その後、そのベースバンド信号は物理層部２１２に出力される。
【００１７】
物理層部２１２は、アナログ-デジタル変換部（ＡＤＣ：Analog to Digital Converter）、並びに復調及び復号処理を行う受信処理部を備える。物理層部２１２においては、ベースバンド信号はＡＤＣによりデジタル信号に変換される。その後、受信処理部において、ＩＥＥＥ８０２．１１（ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、及びＩＥＥＥ８０２．１１ｎを含む）に準拠した所定の復調および復号処理を含む受信処理が行われる。これにより、デジタル信号をＩＥＥＥ８０２．１１で規定されるＭＡＣフレームに変換し、データ転送部２２５へ転送する。
【００１８】
一方、送信時には、ＭＡＣ層部２２０で生成されたＭＡＣフレームを送信する。ＭＡＣフレームは、例えばデータフレームや制御フレーム等であり、制御フレームにはＡＣＫやＣＴＳ等が含まれる。物理層部２１２は、更に送信処理部及びデジタル−アナログ変換部（ＤＡＣ：Digital to Analog Converter）を備える。そして送信処理部において、ＭＡＣフレームつき、例えばＩＥＥＥ８０２．１１（ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、及びＩＥＥＥ８０２．１１ｎを含む）に準拠した所定の変調および符号処理を含む送信処理が行われる。そしてＤＡＣは、この送信処理により生成されたデジタル信号をアナログのベースバンド信号に変換し、無線部２１１に入力する。この際、無線部２１１は、入力されたベースバンド信号を所定の周波数帯（例えば、２．４ＧＨｚ帯や５ＧＨｚ帯）にアップコンバートし、アンテナ２１０から無線信号として送出する。物理層部２１２は、ＦＰＧＡ（Field Programmable Gate Array）やリコンフィギャラブルプロセッサ等の、プログラムを変更することにより機能変更可能な回路であってもよいし、特定の処理に特化した論理回路を組み合わせたものであってもよい。
【００１９】
ＭＡＣ層部２２０は、プロセッサ２２１、メインメモリ２２４、及びデータ転送部２２５を備えている。これらはバス２２６によって、互いに通信可能に接続されている。データ転送部２２５は、物理層部２１２との間で送受信フレームのやりとりを行う。メインメモリ２２４は、主に送受信フレーム等を格納する。プロセッサ２２１は、主にＭＡＣ層で規定されるプロトコルを実行する。更にプロセッサ２２１は、命令メモリ２２２及びデータメモリ２２３を備える。命令メモリ２２２は、プロセッサ２２１（特にプロセッサ２２１において演算を行う演算部）が実行する命令プログラムを格納する。データメモリ２２３は、プロセッサ２２１がワークメモリとして使用するデータや、送受信フレームを格納する。命令メモリ２２２やデータメモリ２２３は、プロセッサ２２１が実行するためのプログラムやデータを読んだり書いたりする場合、プロセッサ２２１がメインメモリ２２４へアクセスするよりも高速にアクセス可能なメモリである。プロセッサ２２１は、具体的にはＣＰＵまたはＤＳＰ等であり、ＭＡＣ層の機能を実現する。このＭＡＣ層の機能の具体例は、例えば送信ＭＡＣフレーム（例えば、データフレーム等）の生成、応答フレーム（例えば、ＡＣＫフレーム等）の生成、及びＭＡＣフレームを送信するタイミングの調整等である。
【００２０】
＜ＭＡＣフレームの構成例＞  
次に、本実施形態に係るＭＡＣフレームの構成について説明する。一般的なＭＡＣフレームのフォーマットは、ＭＡＣヘッダ部、フレームボディ部、及びＦＣＳ部を含む。
【００２１】
ＭＡＣヘッダ部には、ＭＡＣ層における受信処理に必要な情報が設定される。フレームボディには、フレームの種類に応じた情報（上位レイヤからのデータ等）が設定される。ＦＣＳ部には、ＭＡＣヘッダ部とフレームボディ部とが正常に受信できたか否かを判定するために用いるＣＲＣ（Cyclic Redundancy Code）が設定される。
【００２２】
図３は、ＩＥＥＥ８０２．１１規格に従った無線ＬＡＮシステムにおけるＭＡＣフレームの構成例を示す模式図である。図示するように、ＭＡＣヘッダ部には、Frame Controlフィールド、Duration/IDフィールド、Addressフィールド（複数含まれる：図３のAddress1〜Address4）、Sequence Controlフィールド、QoS Controlフィールド、及びHT Controlフィールドが含まれる。
【００２３】
Frame Controlフィールドには、フレームの種類に応じた値が設定される。Duration/IDフィールドには、送信待機する期間（ＮＡＶ：Network Allocation Vector）が設定される。Addressフィールドには、当該ＭＡＣフレームの直接の宛先や最終宛先、及び／または送信元のＭＡＣアドレスが設定される。Sequence Controlフィールドには、送信するデータのシーケンス番号や、データをフラグメント化した場合のフラグメント番号が設定される。QoS controlフィールド及びHT Controlフィールドについては後述する。
【００２４】
Frame Controlフィールドには、Protocol Versionフィールド、Typeフィールド、Subtypeフィールド、“To Ds”フィールド、“From DS”フィールド、モアフラグメント（more fragment）フィールド、プロテクト（protected）フレームフィールド、及びオーダー（order）フィールド等が含まれる。
【００２５】
Protocol Versionフィールドは、ＭＡＣプロトコルのバージョンを示す。
【００２６】
Typeフィールドは、当該ＭＡＣフレームの種類を示す。すなわち、Typeフィールドに設定されるビット列によって、制御フレーム、管理フレーム、及びデータフレームのうちどのフレームタイプに属するフレームであるかを判定することができる。
【００２７】
更に、Subtypeフィールドのビット列によって、各フレームタイプ内のＭＡＣフレームの種類が示される。
【００２８】
また“To DS”フィールドには、受信局が無線ＬＡＮ基地局であるか無線ＬＡＮ端末であるかの情報が設定され、“From DS”フィールドには、送信局が無線ＬＡＮ基地局であるか、無線ＬＡＮ端末であるかの情報が設定される。例えば、無線ＬＡＮ基地局から無線ＬＡＮ端末へ送信されるフレームであれば、“To DS”フィールドには０が設定され、“From DS”フィールドには１が設定される。なお、“To DS”フィールド及び“From DS”フィールドの両方に１が設定される場合には、無線ＬＡＮ基地局間でやりとりされるフレームであることを意味し、ＭＡＣヘッダにはAddress4フィールドが付加されるが、それ以外の設定ではAddress4フィールドは付加されない。
【００２９】
More Fragmentフィールドは、データがフラグメント化された場合に、後続するフラグメントフレームが存在するか否かを示す情報を保持する。
【００３０】
プロテクトフレームフィールドには、当該フレームがプロテクトされているか否かの情報が設定される。
【００３１】
オーダーフィールドには、フレームを中継する際に、フレームの順序を入れ替えてはいけないことを示す情報、もしくはHT Controlフィールドが付加されるか否かを示す情報が設定される。
【００３２】
例えば、正常に受信されたフレームのTypeフィールドによって、当該フレームがデータフレームであることが判明した場合に、さらにSubtypeフィールドに設定されるビット列を確認することにより、QoSデータであるか、またはnon-QoSデータであるかを判別することが可能である。
【００３３】
QoSデータフレームでは、ＭＡＣヘッダ部にQoS Controlフィールドが付加される（逆にnon-QoSデータの場合にはQoS Controlフィールドは付加されない）。従って、判定の結果QoSデータであると判別した場合には、QoS Controlフィールドを確認する。このQoS Controlフィールドには、データのトラフィックに応じた識別子が設定されるＴＩＤフィールド（０〜１５までの１６種類存在）や、送達確認方式が設定されるAck policyフィールド等が含まれる。ＴＩＤフィールドを確認することでデータのトラフィック種別を認識することができ、Ack policyフィールドを確認することで、そのQoSデータがNormal Ack policyか、Block Ack policyか、それともNo Ack policyで送信されたのかを判別することができる。なお、Ack policyフィールドにNormal Ack policyを意味するビット列が設定されている場合には、QoSデータフレームの受信に対して即時応答フレームの送信を要求していることを意味する。一方、non-QoSデータ（Subtypeが“Data”を示す）フレームの受信に対しては、常に即時応答フレームの送信を要求している。また、non-QoSデータである場合のオーダーフィールドは、フレームの順序を入れ替えてはいけないことを意味する情報を示すことになっている。
【００３４】
HT Controlフィールドは、ＩＥＥＥ８０２．１１ｎ規格に対応する無線通信装置同士の通信で用いることができる。HT Controlフィールドは、８０２．１１ｎのみで規定された物理層フレームフォーマットで送信されたＭＡＣフレームが、QoSデータもしくは管理フレームである場合で、且つオーダーフィールドに１が設定されたときのみ、付加される（受信した物理層フレームが８０２．１１ｎ規格のみで規定された物理層フレームフォーマットであるか否かは、物理層部２１２からの伝送フレーム情報によって判定可能である）。このHT Controlフィールドには、８０２．１１ｎ規格で規定されるLink Adaptation機能などを支援するための情報が含まれる。
【００３５】
図３において、ＭＡＣヘッダの各フィールドの上に記した数字は、各フィールドの長さ（サイズ）を示しており、オクテット単位で示している。なお１オクテットは８ビットである。またFrame Controlフィールド内の各フィールドの上に記した数字も、各フィールドの長さ（サイズ）であり、こちらはビット単位で示している。図３の通り、ＭＡＣヘッダの最大長は、例えば３６オクテット（３６バイト）である。
【００３６】
しかしながら、ＭＡＣヘッダの長さは、フレームの種類によって異なる。この点を、図４を用いて説明する。図４は、各フレームの模式図である。図４において、データフレームはnon-QoSデータの１つであり、ＭＡＣヘッダの長さは２４オクテットである。HT Controlフィールドが付加されないQoSデータフレームのＭＡＣヘッダの長さは２６オクテットである。HT Controlフィールドが付加されたQoSデータフレームのＭＡＣヘッダの長さは３０オクテットである。管理フレームのＭＡＣヘッダの長さは２４オクテットである。ＲＴＳ（Request To Send）フレームは制御フレームの１つであり、ＭＡＣヘッダの長さは１６オクテットである。
【００３７】
＜データ転送部２２５の内部構成＞  
次に、図１に示したデータ転送部２２５の内部構成について、図５を用いて説明する。図５は、データ転送部２２５のブロック図である。図示するようにデータ転送部２２５は、転送制御部２３０、受信格納部２３１、転送量決定部２３２、ＦＣＳ部２３３、及び送信格納部２３４を備えている。
【００３８】
受信格納部２３１は、物理層部２１２から受信したＭＡＣフレームを一時的に記憶する。転送量決定部２３２は、データメモリ２２３へ転送する受信フレーム情報の長さ（サイズ）を決定する。ＦＣＳ部２３３は、受信したＭＡＣフレームのＣＲＣが正しいかどうかをチェックする。送信格納部２３４は、バス２２６から転送された送信ＭＡＣフレームを一時的に記憶する。転送制御部２３０は、受信格納部２３１、転送量決定部２２２、ＦＣＳ部２３３、及び送信格納部２３４を制御する。
【００３９】
受信格納部２３１及び送信格納部２３４は、例えばＳＲＡＭ（Static Random Access Memory）やフリップフロップ等で構成される。そしてそのメモリ容量は、送信または受信されるＭＡＣフレーム全体を格納できる容量であってもよいし、ＭＡＣフレームの一部を格納できる容量であってもよい。また、受信格納部２３１及び送信格納部２３４は、それぞれ受信または送信のための伝送レートやＭＡＣフレーム長等の情報を記憶することもできる。
【００４０】
また、データメモリ２２３へ転送する受信フレーム情報は、少なくとも受信したＭＡＣフレームのＭＡＣヘッダ部を含み、必要に応じて受信時の伝送レートや変調方式等の物理層パラメータや、ＭＡＣフレーム長等の情報（これらの情報を受信制御情報と呼ぶ）を含んでもよい。
【００４１】
＜転送量決定部２３２の動作＞  
次に、上記転送量決定部２３２の動作について、図６を用いて説明する。図６は、転送量決定部２３２の動作を示すフローチャートである。転送量決定部２３２は、転送制御部２３０が受信格納部２３１からデータメモリ２２３へ転送する受信フレーム情報の長さを決定する。前述の通り、受信フレーム情報は、ＭＡＣヘッダと受信制御情報の組み合わせである。
【００４２】
そのために、転送量決定部２３２には、無線通信方式で用いられるＭＡＣフレームのＭＡＣヘッダの最大長Ｌhead_maxと、受信制御情報の長さＬcontとが、予め設定される（ステップＳ１０）。例えば、８０２．１１ｎ規格で用いられるＭＡＣヘッダの最大長Ｌhead_maxは、図３で説明したとおり３６バイトである。従って転送量決定部２２２には、ＭＡＣヘッダの最大長Ｌhead_maxの初期値として、事前に“３６”が設定される。一方、受信制御情報の長さＬcontは、例えば４バイトであったと仮定する。
【００４３】
ここで、受信したフレームが、例えば図４に示すHT Control付きQoSデータフレームの場合で、フレームボディの長さが１００バイトであったと仮定する。このフレームの長さは１３４バイトである。このフレーム長の値Ｌframeは、物理層部２１２からデータ転送部２２５に通知される（ステップＳ１１）。転送量決定部２３２は、物理層２１２から通知された受信フレーム長（Ｌframe＝１３４バイト）と、事前に設定されたＭＡＣヘッダの最大長（Ｌhead_max＝３６バイト）とを比較する（ステップＳ１２）。
【００４４】
本例では、ＭＡＣヘッダの最大長Ｌhead_maxが受信フレーム長Ｌframeより小さい（Ｌhead_max＜Ｌframe：ステップＳ１３、ＹＥＳ）ので、ＭＡＣヘッダの最大長の値（Ｌhead_max＝３６バイト）を、転送すべきＭＡＣヘッダの長さとして転送量決定部２２２は決定する（ステップＳ１４）。そして、それに受信制御情報の長さ（Ｌcont＝４バイト）を加算した４０バイトを、受信フレーム情報の長さＬframe_contとして（ステップＳ１５）、転送制御部２３０へ通知する（ステップＳ１６）。
【００４５】
一方、受信したフレームが、図４に示すＲＴＳフレームの場合には、そのフレーム長は２０バイトである。この場合、物理層２１２から通知された受信フレーム長（Ｌframe＝２０バイト）と、事前に設定されたＭＡＣヘッダの最大長（Ｌhead_max＝３６バイト）を比較した結果、ＭＡＣヘッダの最大長Ｌhead_maxが受信フレーム長Ｌframe以上である（Ｌhead_max≧Ｌframe：ステップＳ１３、ＮＯ）。
【００４６】
よって転送量決定部２３２は、受信フレーム長の値（Ｌframe＝２０バイト）を、転送すべきＭＡＣヘッダの長さに決定する（ステップＳ１７）。そして、それに受信制御情報の長さ（Ｌcont＝４バイト）を加算した２４バイトを、受信フレーム情報の長さＬframe_contとして（ステップＳ１８）、転送制御部２３０へ通知する（ステップＳ１６）。
【００４７】
なお、ＭＡＣフレームにＦＣＳ等のフィールドが付加されている場合には、ＭＡＣヘッダの長さの決定値（Ｌframe）は、必ずしも受信フレーム長の値Ｌframeと同じ値である必要はなく、受信フレーム長の値Ｌframeより小さくても構わない。したがって、この例でＲＴＳフレームを受信した場合には、転送量決定部２３２は、ＦＣＳフィールド分（４バイト）の長さを除いた後の１６バイトの値を、転送すべきＭＡＣヘッダの長さとして決定しても良い。
【００４８】
＜転送制御部２３０の動作＞  
次に、上記転送制御部２３０の動作について説明する。転送制御部２３０は、ＭＡＣフレームの受信時には、物理層部２１２から受信格納部２３１に格納された受信フレームをメインメモリ２２４へ転送し、またＭＡＣヘッダ、受信伝送レート、及びＭＡＣフレーム長等を含む受信フレーム情報をデータメモリ２２３へ転送する制御を行う。他方、ＭＡＣフレームの送信時には、プロセッサ２２１がデータメモリ２２３またはメインメモリ２２４に用意したＭＡＣフレーム、並びに送信伝送レート及びＭＡＣフレーム長等を含む送信制御情報を、それらのメモリ（２２３または２２４）から送信格納部２３４へ転送する制御を行う。送信格納部２３４に格納されたＭＡＣフレームや送信制御情報は、物理層部２１２が読み出す。
【００４９】
転送制御部２３０には、受信フレーム情報および受信フレームの転送制御のために事前に設定されるいくつかのパラメータがある。これらのパラメータは、例えば次の通りである。  
・受信制御情報をデータメモリ２２３へ転送するための、転送先メモリアドレスＡ１。これはデータメモリ２２３内のアドレスである。  
・受信格納部２３１内において、受信制御情報が格納される領域の位置情報。例えば受信格納部２３１は複数のＦＩＦＯを含み、このうちのいずれのＦＩＦＯに格納されるかを示す情報である（例えばＦＩＦＯ１）。  
・ＭＡＣヘッダをデータメモリ２２３へ転送するための、転送先メモリアドレスＡ２。これはデータメモリ２２３内のアドレスである。  
・受信格納部２３１内において、ＭＡＣヘッダが格納される領域の位置情報。例えば受信格納部２３１は複数のＦＩＦＯを含み、このうちのいずれのＦＩＦＯに格納されるかを示す情報である（例えばＦＩＦＯ２）。  
・受信フレームをメインメモリ２２４へ転送するための、転送先メモリアドレスＡ３。これはメインメモリ２２４内のアドレスである。  
・受信格納部２３１内において、受信フレームが格納される領域の位置情報。例えば受信格納部２３１は複数のＦＩＦＯを含む場合、いずれのＦＩＦＯに格納されるかを示す情報である（例えばＦＩＦＯ３）。
【００５０】
図７は、転送制御部２３０の動作を示すフローチャートであり、特に物理層部２１２からフレームを受信する場合について示している。図示するように、まず転送制御部２３０において、転送先アドレスＡ１〜Ａ３が設定され、また受信格納部２３１内の位置情報（例えばＦＩＦＯ１〜ＦＩＦＯ３）が設定される（ステップＳ２０）。
【００５１】
その後、転送制御部２３０は、物理層部２１２から転送される受信制御情報を、受信格納部２３１における、ステップＳ２０で設定された領域に格納する（ステップＳ２１）。上記の例であると、受信制御情報はＦＩＦＯ１に格納される。
【００５２】
次に転送制御部２３０は、転送量決定部２３２に対して、受信フレーム情報の長さＬframe_contを決定するよう命令し（ステップＳ２２）、この値Ｌframe_contを取得する（ステップＳ２３）。
【００５３】
次に、ＦＣＳ部２３３に対してＣＲＣチェックを行うよう命令（ステップＳ２４）した後、物理層部２１２から転送される受信フレームを、受信格納部２３１に格納する（ステップＳ２５）。受信フレームが格納される領域はステップＳ２０で設定された領域であり、上記の例であると、ＭＡＣヘッダはＦＩＦＯ２に格納され、受信フレームはＦＩＦＯ３に格納される。
【００５４】
その後、転送制御部２３０は、データメモリ２２３のアドレスＡ１、Ａ２の領域に、受信フレーム情報を転送し（ステップＳ２６）、完了すると完了通知をプロセッサ２２１に発行する（ステップＳ２７）。この際、受信フレーム情報のサイズは、ステップＳ２３で与えられたサイズである。
【００５５】
更に転送制御部２３０は、メインメモリ２２４のアドレスＡ３の領域に受信フレームを転送し（ステップＳ２８）、完了すると完了通知をプロセッサ２２１に発行する（ステップＳ２９）。そしてアドレスＡ１〜Ａ３を更新する（ステップＳ３０）。次回のデータ転送の際には、ステップＳ３０で更新されたアドレスＡ１〜Ａ３が使用される。
【００５６】
以上のようにして、受信フレーム及び受信フレーム情報がプロセッサ２２１に転送される。ここで、データ転送時におけるデータメモリ２２３及びメインメモリ２２４について、図８を用いて説明する。図８は、転送制御部２３０によって受信フレーム情報及び受信フレームが転送されたデータメモリ２２３及びメインメモリ２２４のメモリ空間を示す概念図である。なお、転送先メモリアドレスＡ１を「アドレスＡＤＤ３」、転送先メモリアドレスＡ２の値を「アドレスＡＤＤ１」、転送先メモリアドレスＡ３の値を「アドレスＡＤＤ５」とする。従って、データメモリ２２３においては、それぞれアドレスＡＤＤ３、ＡＤＤ１から始まる領域に、受信制御情報ＩＮＦ１及びＭＡＣヘッダＨ１が格納される。またメインメモリ２２４においては、アドレスＡＤＤ５から始まる領域に受信フレームＦ１が格納される。そして転送制御部２３０は、受信制御情報ＩＮＦ１、ＭＡＣヘッダＨ１、及び受信フレームＦ１のサイズを把握しているため、これらの情報を次に格納するための領域を知ることが出来る。これにより、転送先メモリアドレスＡ１は「アドレスＡＤＤ４」に更新され、転送先メモリアドレスＡ２は「アドレスＡＤＤ２」に更新され、転送先メモリアドレスＡ３は「アドレスＡＤＤ６」に更新される。
【００５７】
＜無線通信装置２００の動作＞  
次に、上記構成の無線通信装置２００の動作について、無線ＬＡＮ基地局１０１からデータフレームを受信してＡＣＫフレームを無線ＬＡＮ基地局１０１へ返す場合の無線ＬＡＮ端末１０２の動作を例に挙げて、以下説明する。図９は、無線ＬＡＮ端末１０２としての無線通信装置２００の動作を示すフローチャートである。
【００５８】
図示するように、まず物理層部２１２は、受信したＭＡＣフレームを受信格納部２３１に格納する前に、受信開始信号を発行する。これにより物理層部２１２は、物理層部２１２から受信フレームの転送を開始することを、転送制御部２３０に通知する。また物理層部２１２は、受信開始信号の発行後から実際に受信フレームの転送を開始するまでの間に、受信伝送レートや受信ＭＡＣフレーム長等の受信制御情報を、受信格納部２３１に転送する。この受信制御情報のうち、少なくともＭＡＣフレーム長の情報は、転送量決定部２３２にも与えられる。
【００５９】
次に転送制御部２３０は、転送すべき受信フレーム情報の転送量（Ｌframe_cont）を決定するように転送量決定部２３２に要求する。そして転送制御部２３０は、転送量決定部２３２から、受信フレーム情報の転送量（Ｌframe_cont）と、ＭＡＣフレームの長さ（Ｌframe）を取得する。これにより転送制御部２３０は、データメモリ２２３のメモリ領域へ転送すべき受信フレーム情報の長さ（例えば、Ｌframe_cont＝４０バイト）と、メインメモリ２２４のメモリ領域へ転送する受信フレームの長さ（例えば、Ｌframe＝１３４バイト）とを認識する。
【００６０】
また転送制御部２３０は、受信格納部２３１に格納される受信フレームに対してＣＲＣチェックを行うように、ＦＣＳ部２２３に要求する。その後物理層部２１２は、受信開始信号から予め決まった固定時間（例えば、１μｓ）経過後に、受信フレームを受信格納部２３１に格納し始める。受信フレームは、ＦＣＳ部２３３にも転送される。
【００６１】
次に転送制御部２３０は、データメモリ２２３において、受信フレーム情報を格納すべき領域を指定する。受信フレーム情報のうち、受信制御情報については、データメモリ２２３のアドレスＡ１（図８の例ではアドレスＡＤＤ３）から開始される領域が指定される。またＭＡＣヘッダについては、アドレスＡ２（図８の例ではアドレスＡＤＤ１）から開始される領域が指定される。その後転送制御部２３０は、受信格納部２３１に対して受信フレーム情報を転送するよう命令する。
【００６２】
この命令に応答して受信格納部２３１は、受信格納部２３１内の所定の領域（例えばＦＩＦＯ１）から、４バイトの長さを持つ受信制御情報を、データメモリ２２３のアドレスＡ１から開始される領域に転送する。また、受信格納部２３１内の所定の領域（例えばＦＩＦＯ２）から、３６バイトの長さを持つＭＡＣヘッダを、データメモリ２２３のアドレスＡ２から開始される領域に転送する。この受信フレーム情報の転送が終了すると、転送制御部２３０はプロセッサ２２１に対して、受信フレーム情報の転送完了を通知する。
【００６３】
引き続き転送制御部２３０は、メインメモリ２２４において、受信フレームを格納すべき領域を指定する。この領域は、メインメモリ２２４のアドレスＡ３（図８の例ではアドレスＡＤＤ５）から開始される領域である。その後転送制御部２３０は、受信格納部２３１に対して受信フレームを転送するよう命令する。
【００６４】
この命令に応答して受信格納部２３１は、受信格納部２３１内の所定の領域（例えばＦＩＦＯ３）から、１３４バイトの長さを持つ受信フレームを、メインメモリ２２４のアドレスＡ３から開始される領域へ転送する。そして受信フレームの転送終了後、ＦＣＳ部２２３からのＣＲＣチェックの結果（ＣＲＣがＯＫかＮＧかの情報）と共に、転送制御部２３０はプロセッサ２２１に対してフレーム転送完了を通知する。
【００６５】
一方、プロセッサ２２１は、転送制御部２３０からの受信フレーム情報の転送完了通知を受けた後、データメモリ２２３からＭＡＣヘッダを読み出す。より具体的には、プロセッサ２２１の演算部は、データメモリ２２３に対して読み出し要求を発行する。これに応答して、データメモリ２２３からＭＡＣヘッダが、プロセッサ２２１の演算部に転送される。そしてプロセッサ２２１は、読み出されたＭＡＣヘッダの内容を解析する。このときの処理内容は、例えばＭＡＣヘッダ内のTypeおよびSubtypeフィールドを確認することで受信フレームの種類を特定することや、ＭＡＣヘッダのアドレスフィールドを確認することで宛先アドレスが自局装置宛てであるかを認識したりすること等である。この解析によって自局宛てのデータフレームであることがわかり、さらにＦＣＳ部２３３からのＣＲＣチェックの結果がＯＫである場合には、ＡＣＫフレーム（応答フレーム）を返信する必要があるとプロセッサ２２１は判断し、送信開始要求を転送制御部２３０に通知する。その通知を受けた転送制御部２３０は、物理層部２１２に送信開始要求を通知する。
【００６６】
ここで、送信開始要求を受けた物理層部２１２は、ＭＡＣフレームを送信する前に、Preambleデータ等のＰＨＹヘッダを送信する必要があるため、送信開始要求発行時点から物理層部２１２が実際に送信ＭＡＣフレームを処理開始するまでに時間がある。
【００６７】
従ってプロセッサ２２１は、その送信開始要求を発行後、物理層部２１２が実際に送信フレームを要求するまでの間（例えば、８μｓ）に、ＡＣＫフレームを生成して、これをデータメモリ２２３に格納する。ＡＣＫフレームの格納先はメインメモリ２２４でも構わないが、プロセッサ２２１からの書き込み速度がより速いデータメモリ２２３であることが好ましい。
【００６８】
ＡＣＫフレームを生成した後、プロセッサ２２１はＡＣＫフレームを物理層部２１２へ転送するために、転送制御部２３０に対して、フレーム転送要求と共に、ＡＣＫフレームが格納されるデータメモリ２２３のアドレス及びＡＣＫフレームのフレーム長（１０バイト）を通知する。
【００６９】
すると転送制御部２３０は、その通知されたアドレスに従って、データメモリ２２３のアドレスとデータ量を指定すると共に、ＦＣＳ部２３３に、ＡＣＫフレームの最後にＣＲＣを付加するように要求する。
【００７０】
そして、転送制御部２３０がデータメモリ２２３に対してフレーム転送指示を行うことで、データメモリ２２３から送信格納部２３４へ送信フレームが転送される。この場合、送信フレームに対してＣＲＣを付加するため、ＡＣＫフレームは送信格納部２３４からＦＣＳ部２３３を経由し、物理層部２１２へ転送される。そしてＦＣＳ部２３３は、ＡＣＫフレームの転送後にＣＲＣを物理層部２１２に転送し、ＣＲＣの転送完了後、そのことを転送制御部２３０に通知する。
【００７１】
その後、転送制御部２３０は、プロセッサ２２１に送信フレームを転送完了したことを通知する。
【００７２】
＜効果＞  
以上のように、この発明の第１の実施形態に係る構成であると、プロセッサがメモリにアクセスする時間を削減することで処理速度を向上させ、複数の無線通信方式に対応することが出来る。本効果について、以下説明する。
【００７３】
近年、ノートブック型パーソナルコンピュータ、ゲーム機、カーナビゲーションシステム、デジタルカメラ、及び携帯情報端末等の電子機器には、無線通信機能を備えた機器も普及している。この種の無線通信機能の通信方式としては、ＩＥＥＥ８０２．１１ａ／１１ｂ／１１ｇ／１１ｎ等の無線ＬＡＮ（Local Area Network）規格や、ＩＥＥＥ８０２．１６／１６ｅ規格等が知られている。
【００７４】
これらの電子機器には、複数の通信方式が実装されたり、電子機器それぞれの用途に応じて通信方式が選択されたりする。また、それぞれの無線通信方式は、通信速度の高速化等の機能向上を目的として、その規格が頻繁に変更されており（例えば、８０２．１１ｇから８０２．１１ｎなど）今後もその状況は続くと予想される。このような状況下における無線通信装置の開発では、複数の通信方式への対応が求められたり、規格変更による設計対応等が必要となったりしてきている。
【００７５】
無線通信装置において、通信規格のプロトコルに従った送受信データを処理する部分や変復調等を行う信号処理回路は、時間制約に関する仕様が厳しいことなどから、従来、この部分は主に論理回路により回路設計が行われている。しかしながら、論理回路による設計は開発自体に時間がかかり、また、通信規格変更等による設計仕様の変更は開発コストを増加させる要因となっていた。
【００７６】
一方、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等の演算処理装置は、ソフトウェアを変更することで多様な処理に対応可能であり、無線通信方式の変更や規格変更等には柔軟に対応できる。
【００７７】
このような演算処理装置を用いて複数の通信システムに対応可能な無線通信装置としては、例えば、プロセッサ、命令メモリ、データメモリ、及び信号処理回路が、バスを介して接続される構成がある（特許文献１参照）。
【００７８】
一般に、無線通信装置に実装される機能は、どのようなタイミングでネットワークの媒体（無線では空間を指す）に信号を送出するための制御方式等を規定するＭＡＣ（Medium Access Control）層プロトコルと、データの通信速度や変調方式等を規定する物理層プロトコルとによって実現される。このうち物理層で規定される機能は、時間制約が厳しく、処理量も多いため、ＦＰＧＡやリコンフィギャラブルプロセッサ等のプログラム変更によって機能変更可能な回路によって実現されることが多い。一方、ＭＡＣ層で規定される機能は、物理層と比較して数値演算量が少なく、分岐処理が多いため、汎用プロセッサを用いて実現されることが多い。
【００７９】
ここで、ＩＥＥＥ８０２．１１規格のＭＡＣ層においては、例えば、自装置宛てのデータフレームを正常受信した場合には、それに対する応答として、ＡＣＫフレームを規定時間内（ＳＩＦＳ以内。ＳＩＦＳは例えば１６μｓ）に返信する規定がある。このようにＭＡＣ層においても一部に時間制約の厳しい仕様が規定される通信規格においては、データメモリに書かれたデータフレームを汎用プロセッサが読み出し、解析し、ＡＣＫフレームをデータメモリに格納するといった処理では時間がかかる問題がある。また、ＭＡＣ層の機能拡張のために、バスに接続されるプロセッサが２つ以上必要となる場合には、バスに接続されるプロセッサが増えるため、１つのプロセッサがデータメモリへアクセスするための待ち時間が増加する可能性がある。
【００８０】
この回避方法としては、プロセッサやバスのクロック周波数を増加させ、データの書き込み・読み出し速度を上げる方法がある。しかし、クロック周波数の増加は、プロセッサやバスの動作消費電力の増加につながるため、クロック周波数はなるべく小さい値に抑えることが好ましい。
【００８１】
また、他の方法として、ＣＰＵへの負担を軽減しながら所定のメモリ領域へデータを転送する方法がある（特許文献２参照）。しかしながら、この方法ではＭＡＣプロトコルを考慮していないため、無駄なデータ転送が生じ、ＭＡＣ機能を実現するには適さない。
【００８２】
このように、従来の構成では、プロセッサがメモリへアクセスする時間がオーバーヘッドとなり、MAC層の機能を実現させることが困難になる問題があった。
【００８３】
この点、本実施形態に係る構成であると、受信したＭＡＣフレームをプロセッサ２２１により解析する無線通信装置２００において、データ転送部２２５を設けている。そしてこのデータ転送部２２５を用いることにより、物理層部２１２から転送される受信フレームを、プロセッサ２２１を介することなくデータメモリ２２３に転送出来る。よって、受信フレームの転送によるバス２２６の占有時間を短縮出来る。
【００８４】
また、プロセッサ２２１から高速にアクセス可能なデータメモリ２２３にＭＡＣヘッダを転送することで、プロセッサ２２１がＭＡＣヘッダ解析のためにデータメモリ２２３をアクセスする時間も短縮出来る。更に、プロセッサ２２１がデータメモリ２２３にアクセスしている期間は、そのアクセスによってバス２２６を占有しないため、バス２２６は別のデータ転送に使用できる。
【００８５】
またこの際、データ転送部２２５の転送量決定部２３２において、フレームに応じて最適な受信フレーム情報のサイズ（Ｌframe_cont）を決定する。よって、不要な情報までもデータメモリ２２３に転送されることを防止し、情報転送に要する時間を短縮出来る。
【００８６】
以上の結果、プロセッサ２２１がＭＡＣヘッダを解析するまでの時間を短縮することができる。よって、データの受信に対して即時に応答フレームを返信しなければならない無線通信方式にも対応することが可能となり、複数の無線通信方式に対応可能な無線通信装置を実現できる。
【００８７】
［第２の実施形態］  
次に、この発明の第２の実施形態に係る無線通信装置について説明する。本実施形態は、上記第１の実施形態において、無線通信装置２００が複数のプロセッサを備える場合に関する。以下では、第１の実施形態と異なる点についてのみ説明する。
【００８８】
＜無線通信装置２００の構成について＞  
図１０は、本実施形態に係る無線通信装置２００のブロック図である。第１の実施形態と同様に、無線通信装置２００は図１における無線ＬＡＮ基地局１０１及び／または無線ＬＡＮ端末１０２、１０３に適用出来る。以下でも、無線通信装置２００が無線ＬＡＮ端末１０２に適用される場合を例に説明する。
【００８９】
図示するように本実施形態に係る無線通信装置２００は、第１の実施形態で説明した図２の構成において、更にプロセッサ２４１及び第２データ転送部２４０を備えている。なお、第２データ転送部２４０と区別するために、データ転送部２２５を第１データ転送部２２５と呼ぶことがある。
【００９０】
プロセッサ２４１は、プロセッサ２２１と同様の構成を有しており、命令メモリ２４２及びデータメモリ２４３を備えている。命令メモリ２４２及びデータメモリ２４３の機能は、命令メモリ２２２及びデータメモリ２２３と同様である。
【００９１】
第１データ転送部２２５の構成は、第１の実施形態で説明した図５の通りであり、その機能は、受信フレーム情報を第２データ転送部２４０に転送すること以外は、第１の実施形態と同様である。受信フレームがメインメモリ２２４に転送されることや、転送量決定部２３２の動作等も、第１の実施形態と同様である。
【００９２】
第２データ転送部２４０は、データ転送部２２５から受信フレーム情報（及び受信フレーム）を受信し、これをデータメモリ２２３、２４３に転送する。第２データ転送部２４０の構成を図１１に示す。図１１は、第２データ転送部２４０のブロック図である。図示するように第２データ転送部２４０は、転送制御部２５０、受信格納部２５１、及び送信格納部２５２を備えている。
【００９３】
転送制御部２５０は、ＭＡＣフレームの受信時には、第１データ転送部２２５から受信格納部２５１に格納された受信フレームや、ＭＡＣヘッダや受信制御情報等を含む受信フレーム情報を、データメモリ２２３、２４３へ転送する制御を行う。他方、ＭＡＣフレームの送信時には、プロセッサ２２１（及び／またはプロセッサ２４１）がデータメモリ２２３（及び／またはデータメモリ２４３）に用意したＭＡＣフレームや、送信伝送レートやＭＡＣフレーム長等の送信制御情報を、それらのデータメモリ２２３（及び／またはデータメモリ２４３）から送信格納部２５２へ転送する制御を行う。送信格納部２５２に格納されたＭＡＣフレームや送信制御情報は、第１データ転送部２２５が読み出す。
【００９４】
転送制御部２５０には、受信フレーム情報の転送制御のために事前に設定されるいくつかのパラメータがある。これらのパラメータは、例えば次の通りである。  
・受信制御情報をデータメモリ２２３、２４３へ転送するための、転送先メモリアドレスＡ１−１、Ａ１−２。これは、それぞれデータメモリ２２３、２４３内のアドレスである。  
・受信格納部２５１内において、受信制御情報が格納される領域の位置情報。例えば受信格納部２５１は複数のＦＩＦＯを含み、このうちのいずれのＦＩＦＯに格納されるかを示す情報である（例えばＦＩＦＯ１）。  
・ＭＡＣヘッダをデータメモリ２２３、２４３へ転送するための、転送先メモリアドレスＡ２−１、Ａ２−２。これは、それぞれデータメモリ２２３、２４３内のアドレスである。  
・受信格納部２５１内において、ＭＡＣヘッダが格納される領域の位置情報。例えば受信格納部２５１は複数のＦＩＦＯを含み、このうちのいずれのＦＩＦＯに格納されるかを示す情報である（例えばＦＩＦＯ２）。  
図１２は、転送制御部２５０の動作を示すフローチャートであり、特に第１データ転送部２２５からフレームを受信する場合について示している。フレーム受信時における転送制御部２５０の動作は、第１の実施形態で説明した図７において、ステップＳ２２〜Ｓ２４、Ｓ２８、Ｓ２９と、受信フレームの転送を省いたものにほぼ相当する。
【００９５】
図示するように、まず転送制御部２５０において、転送先アドレスＡ１−１、Ａ１−２、Ａ２−１、Ａ２−２が設定され、また受信格納部２５１内の位置情報（例えばＦＩＦＯ１、ＦＩＦＯ２）が設定される（ステップＳ４０）。
【００９６】
その後、第１データ転送部２２５から転送される受信フレーム情報を、受信格納部２５１に格納する（ステップＳ４１）。受信フレーム情報が格納される領域はステップＳ４０で設定された領域であり、上記の例であると受信制御情報は受信格納部２５１のＦＩＦＯ１に格納され、ＭＡＣヘッダはＦＩＦＯ２に格納される。
【００９７】
その後、転送制御部２３０は、データメモリ２２３のアドレスＡ１−１、Ａ２−１の領域とデータメモリ２４３のアドレスＡ１−２、Ａ２−１の領域に受信フレーム情報を転送し（ステップＳ４２）、完了すると完了通知をプロセッサ２２１、２４１に発行する（ステップＳ４３）。そしてアドレスＡ１−１、Ａ１−２、Ａ２−１、Ａ２−２を更新する（ステップＳ４４）。次回のフレーム転送の際には、ステップＳ４４で更新されたアドレスが使用される。
【００９８】
以上のようにして、受信フレーム情報がプロセッサ２２１、２４１に転送される。ここで、データ転送時におけるデータメモリ２２３、２４３について、図１３を用いて説明する。図１３は、転送制御部２５０によって受信フレーム情報が転送されたデータメモリ２２３、２４３のメモリ空間を示す概念図である。なお、転送先メモリアドレスＡ１−１を「アドレスＡＤＤ３」、転送先メモリアドレスＡ２−１の値を「アドレスＡＤＤ１」、転送先メモリアドレスＡ１−２を「アドレスＡＤＤ９」、転送先メモリアドレスＡ２−２の値を「アドレスＡＤＤ７」とする。従って、データメモリ２２３においては、それぞれアドレスＡＤＤ３、ＡＤＤ１から始まる領域に、受信制御情報ＩＮＦ１及びＭＡＣヘッダＨ１がそれぞれ格納される。またデータメモリ２４３においては、アドレスＡＤＤ９、ＡＤＤ７から始まる領域に、受信制御情報ＩＮＦ１及びＭＡＣヘッダＨ１がそれぞれ格納される。そして転送制御部２５０は、受信制御情報ＩＮＦ１及びＭＡＣヘッダＨ１のサイズを把握しているため、これらの情報を次に格納するための領域も知ることが出来る。これにより、転送先メモリアドレスＡ１−１は「アドレスＡＤＤ４」に更新され、転送先メモリアドレスＡ２−１は「アドレスＡＤＤ２」に更新され、転送先メモリアドレスＡ１−２は「アドレスＡＤＤ１０」に更新され、転送先メモリアドレスＡ２−２は「アドレスＡＤＤ８」に更新される。
【００９９】
＜無線通信装置２００の動作＞  
次に、本実施形態に係る無線通信動作について、無線ＬＡＮ基地局１０１からデータフレームを受信してＡＣＫフレームを無線ＬＡＮ基地局１０１へ返す場合の無線ＬＡＮ端末１０２の動作を例に挙げて、以下説明する。図１４は、無線ＬＡＮ端末１０２としての無線通信装置２００の動作を示すフローチャートである。
【０１００】
ＭＡＣフレームが第１データ転送部２２５の受信格納部２３１に格納され、転送量決定部２３２でＬframe_contの演算が行われるまでは、第１の実施形態と同様である。その後第１データ転送部２２５は、ＭＡＣヘッダと受信制御情報を含む受信フレーム情報を、第２データ転送部２４０における受信格納部２５１に転送して、転送完了後、転送制御部２３０は第２データ転送部２４０における転送制御部２５０に対して、受信フレーム情報の転送完了を通知する。
【０１０１】
その後、第１データ転送部２２５は、受信フレームをメインメモリ２２４の特定のアドレス（第１の実施形態の例であるとアドレスＡ３）から開始される領域へ転送する。受信フレームの転送終了後は、データ転送部２２５は、ＣＲＣチェックの結果と共に、転送制御部２５０に対してフレーム転送完了を通知する。
【０１０２】
第２データ転送部２４０は、データ転送部２２５から転送された受信フレーム情報を、プロセッサ２２１及び２４１のデータメモリ２２３、２４３に転送する。すなわち転送制御部２５０は、データメモリ２２３において受信フレーム情報の転送先となる領域のアドレスＡ１−１を指定し、受信格納部２５１に受信フレーム情報の転送を指示する。これにより受信格納部２５１は、データメモリ２２３に受信フレーム情報を転送し、その転送の完了後、転送制御部２５０は受信フレーム情報の転送完了をプロセッサ２２１に通知する。この動作を、データメモリ２４３への転送に対しても同様に行い、転送制御部２５０は受信フレーム情報の転送完了をプロセッサ２４１に通知する。
【０１０３】
なお図１４では、まず受信フレーム情報が第２データ転送部２４０からデータメモリ２２３へ転送され、その次に第２データ転送部２４０からデータメモリ２４３に転送され、その後にＭＡＣフレームがメインメモリ２２４に転送される場合を示している。しかし転送の順序はこれに限られるものではない。
【０１０４】
すなわち第１データ転送部２２５は、第２データ転送部２４０に受信フレーム情報の転送完了通知を行った後、バス２２６が空きの状態（使用可能）であれば、受信フレームの転送を、第２データ転送部２４０とデータメモリ２２３、２４３との間における受信フレーム情報の転送と、並行して行うことができる。
【０１０５】
つまり、第２データ転送部２４０を設けたことにより、プロセッサの数が増えた場合であっても、受信フレーム情報の転送によってバス２２６が占有されてしまうことを回避出来る。これにより、データ転送部２２５が受信フレームのメインメモリ２２４への転送を開始するまでの遅延時間を小さく抑えることができる。
【０１０６】
他方、プロセッサ２２１は、転送制御部２５０からの受信フレーム情報の転送完了通知を受けた後、データメモリ２２３からＭＡＣヘッダを読み出し、その内容を解析する。このときの処理内容は、第１の実施形態と同様であるので、省略する。
【０１０７】
プロセッサ２２１は、ＡＣＫフレームを返信する必要があると判断すると、送信開始要求を転送制御部２５０に通知する。その通知を受けた転送制御部２５０は、第１データ転送部２２５の転送制御部２３０へ送信開始要求を通知し、転送制御部２３０は物理層部２１２に送信開始要求を通知する。
【０１０８】
プロセッサ２２１は、ＡＣＫフレームを生成すると、これをデータメモリ２２３に格納する。そしてプロセッサ２２１は、ＡＣＫフレームを物理層部２１２へ転送するために、転送制御部２５０に対して、フレーム転送要求と共に、データメモリ２２３においてＡＣＫフレームが格納される領域のアドレス、及びＡＣＫフレームの長さ（例えば１０バイト）を通知する。
【０１０９】
転送制御部２５０は、その通知されたアドレスに格納されたＡＣＫフレームを、データメモリ２２３から読み出し、送信格納部２５２に格納する。
【０１１０】
その後、転送制御部２５０が第１データ転送部２２５の転送制御部２３０に対してフレーム転送要求を行う。これにより転送制御部２３０は、送信格納部２５２から送信格納部２３４にＡＣＫフレームを読み出す。この後、第１データ転送部２２５は、ＣＲＣの付加されたＡＣＫフレームが物理層部２１２へ転送されるように制御する。
【０１１１】
その後、第１データ転送部２２５は、転送制御部２５０にフレーム転送完了を通知し、転送制御部２５０はプロセッサ２２１に送信フレームを転送完了したことを通知する。
【０１１２】
なお、プロセッサ２２１または２４１が送信フレーム（ここではＡＣＫフレーム）を物理層２１２へ転送する場合において、ＡＣＫフレームを、必ずしも第２データ転送部２４０内の送信格納部２５２に一旦格納してから、データ転送部２２５へ転送する必要はない。例えば別の方法としては、第２データ転送部２４０内の送信格納部２５２を無くし、第１の実施形態と同様に、プロセッサ２２１またはプロセッサ２４１が送信フレームを各データメモリ２２３、２４３から第１データ転送部２２５に直接転送できるように構成してもよい。
【０１１３】
＜効果＞  
本実施形態に係る構成であると、複数のプロセッサを有する無線通信装置であっても、ＭＡＣヘッダをプロセッサのデータメモリに転送するためにバスが占有される時間を短縮でき、第１の実施形態と同様の効果が得られる。
【０１１４】
なお、上記実施形態では無線通信装置２００に２つのプロセッサ２２１、２４１が実装される場合を例に説明したが、プロセッサの個数は２つに限らず、３つ以上であっても良い。３つ以上の場合であっても、プロセッサは第２データ転送部２４０を介してバス２２６に接続される。
【０１１５】
また、受信フレーム情報をプロセッサ２２１だけでなくプロセッサ２４１にも転送する理由は、実際のＡＣＫフレーム処理を行わないプロセッサ２４１に対しても、応答が必要なことを知らせるためである。勿論、ＡＣＫフレームの生成はプロセッサ２２１ではなくプロセッサ２４１で行っても良い。更に、場合によっては、ＡＣＫフレームの生成を、プロセッサ２２１、２４１の両方によって行っても良い。
【０１１６】
［第３の実施形態］  
次に、この発明の第３の実施形態に係る無線通信装置について説明する。本実施形態は、上記第１の実施形態を、別の無線通信方式（例えばＩＥＥＥ８０２．１６）に適用したものである。以下では、第１の実施形態と異なる点についてのみ説明する。
【０１１７】
＜構成について＞  
本実施形態に係る無線通信システムの構成は、第１の実施形態で説明した図１の通りである。そして無線基地局１０１及び無線端末１０２、１０３は、ＩＥＥＥ８０２．１６無線規格（８０２．１６ｅ等も含む）で通信可能となるようにプログラムされる。また本実施形態に係る無線通信装置は、無線基地局１０１に適用してもよいし、無線端末１０２、１０３に適用してもよい。以下では、一例として無線端末１０２に適用した場合について説明する。
【０１１８】
本実施形態に係る無線通信装置２００の構成は、第１の実施形態で説明した図２及び図５の通りである。また、本実施形態に係る無線通信装置２００において、無線信号を送受信する場合の処理手順は、第１の実施形態で記載した手順と基本的に同様である。異なる点は、アンテナ２１０及び無線部２１１の対応する周波数帯が、無線ＬＡＮの場合とは異なる（例えば、２．３ＧＨｚ帯、２．５ＧＨｚ帯、２．６ＧＨｚ帯を用いる）ことや、物理層部２１２における送受信処理が、ＩＥＥＥ８０２．１６規格で規定される機能や性能を満たすように構成される点である。
【０１１９】
＜ＭＡＣフレームの構成例＞  
次に、ＩＥＥＥ８０２．１６規格に従った無線通信システムにおけるＭＡＣフレームの構成について説明する。図１５は、ＭＡＣフレームのフォーマットを示す模式図である。
【０１２０】
図示するようにＭＡＣフレームは、Generic MAC Header（以下では、単にＭＡＣヘッダと呼ぶ）、ペイロード（Payload）、及びＣＲＣを含む。ＭＡＣヘッダは、ＨＴフィールド、ＥＣフィールド、Typeフィールド、ＥＳＦフィールド、ＣＩフィールド、Ｒｓｖフィールド、ＬＥＮフィールド、ＣＩＤフィールド、及びＨＣＳフィールドを含む。ＨＴフィールドは、ＭＡＣヘッダの後にPayloadが存在することを示す。ＥＣフィールドは、Payloadが暗号化されているか否かを示す。Typeフィールドは、Payloadに特別な情報を含むことを示す。ＥＳＦフィールドは、ＭＡＣヘッダの直後にサブヘッダが存在することを示す。ＣＩフィールドは、PayloadにＣＲＣ部が付加されるか否かを示す。ＥＫＳフィールドには、暗号鍵に関する情報が設定される。ＬＥＮフィールドは、ＭＡＣフレームの長さを示す。ＣＩＤフィールドは、基地局と端末が通信するコネクションの種類を区別するためのものである。ＨＣＳフィールドは、ＭＡＣヘッダが正常に受信できたか否かを示す。なおＲｓｖフィールドはReservedビットであり、常に０が設定される。
【０１２１】
＜無線通信装置２００の動作＞  
次に、無線端末１０２において、受信したデータフレームをメモリへ転送するまでの動作を、図１６を用いて説明する。図１６は、本実施形態に係る無線通信装置２００の動作を示すフローチャートである。
【０１２２】
基本的な動作手順は第１の実施形態と同様であるが、第３の実施形態のＭＡＣフレームでは、ＭＡＣヘッダにもＣＲＣが付加されることと、ＭＡＣフレームの長さは、ＭＡＣヘッダの中に設定されている点が異なるので、そのための処理手順が少し変わる。
【０１２３】
図示するように、まず物理層部２１２は、受信したフレームを受信格納部２３１に格納する前に、受信開始信号を発行する。また物理層部２１２は、受信開始信号の発行後から実際に受信フレームの転送を開始するまでの間に、受信伝送レートや受信フレーム長等の受信制御情報を、受信格納部２３１に転送する。この受信制御情報のうち、少なくともＭＡＣフレーム長の情報は、転送量決定部２３２にも与えられる。
【０１２４】
次に転送制御部２３０は、転送すべき受信フレーム情報の転送量（Ｌframe_cont）を決定するように転送量決定部２２２に要求する。そして転送制御部２３０は、転送量決定部２３２から、受信フレーム情報の転送量（Ｌframe_cont）を取得する。これにより転送制御部２３０は、データメモリ２２３へ転送すべき受信フレーム情報の長さ（例えば、受信制御情報が４バイトで、ＭＡＣヘッダが６バイトとすると、合計１０バイト）を認識する。
【０１２５】
また転送制御部２３０は、受信格納部２３１に格納される６バイトのＭＡＣヘッダに対してヘッダＣＲＣチェックを行うように、ＦＣＳ部２２３に要求する。その後、物理層部２１２は、受信開始信号から予め決まった固定時間（例えば、１μｓ）経過後に、受信フレームを受信格納部２３１に格納し始める。
【０１２６】
次に転送制御部２３０は、データメモリ２２３において、受信フレーム情報を格納すべき領域を指定する。受信フレーム情報のうち、受信制御情報については、データメモリ２２３のアドレスＡ１（図８の例ではアドレスＡＤＤ３）から開始される領域が指定される。またＭＡＣヘッダについては、アドレスＡ２（図８の例ではアドレスＡＤＤ１）から開始される領域が指定される。その後転送制御部２３０は、受信格納部２３１に対して受信フレーム情報を転送するよう命令する。
【０１２７】
この命令に応答して受信格納部２３１は、受信格納部２３１内の所定の領域（例えばＦＩＦＯ１）から、４バイトの長さを持つ受信制御情報を、データメモリ２２３のアドレスＡ１から開始される領域に転送する。また、受信格納部２３１内の所定の領域（例えばＦＩＦＯ２）から、６バイトの長さを持つＭＡＣヘッダを、データメモリ２２３のアドレスＡ２から開始される領域に転送する。この受信フレーム情報の転送が終了すると、転送制御部２３０はプロセッサ２２１に対して、受信フレーム情報の転送完了を通知する。
【０１２８】
一方、プロセッサ２２１は、転送制御部２３０からの受信フレーム情報の転送完了通知を受けた後、データメモリ２２３からＭＡＣヘッダを読み出す。より具体的には、プロセッサ２２１の演算部は、データメモリ２２３に対して読み出し要求を発行する。これに応答して、データメモリ２２３からＭＡＣヘッダが、プロセッサ２２１の演算部に転送される。そしてプロセッサ２２１は、読み出されたＭＡＣヘッダの内容を解析する。この際、プロセッサ２２１は、ＭＡＣヘッダのＬＥＮフィールドを確認することで、受信するＭＡＣフレームの長さを認識する。この後、プロセッサ２２１は、ＭＡＣフレームの長さであるフレーム転送量（例えば、１３４バイト）を転送制御部２３０に通知する。
【０１２９】
その通知を受けた転送制御部２３０は、受信格納部２３１に格納されるペイロードに対してペイロードＣＲＣチェックを行うように、ＦＣＳ部２２３に要求する。
【０１３０】
引き続き転送制御部２３０は、メインメモリ２２４において、受信フレームを格納すべき領域を指定する。この領域は、メインメモリ２２４のアドレスＡ３（図８の例ではアドレスＡＤＤ５）から開始される領域である。更に転送制御部２３０は、受信格納部２３１に対して受信フレームを転送するよう命令する。
【０１３１】
この命令に応答して受信格納部２３１は、受信格納部２３１内の所定の領域（例えばＦＩＦＯ３）から、１３４バイトの長さを持つ受信フレームを、メインメモリ２２４のアドレスＡ３から開始される領域へ転送する。そして受信フレームの転送終了後、ＦＣＳ部２２３からのペイロードＣＲＣチェックの結果（ＣＲＣがＯＫかＮＧかの情報）と共に、転送制御部２３０はプロセッサ２２１に対してフレーム転送完了を通知する。
【０１３２】
＜効果＞  
以上のように、第１の実施形態は、無線ＬＡＮ以外の種々の無線通信規格に従った無線通信装置にも適用出来る。なお、本実施形態は、第２の実施形態にも適用出来る。すなわち、本実施形態においても、無線通信装置２００は複数のプロセッサを備えていても良い。
【０１３３】
［第４の実施形態］  
次に、この発明の第４の実施形態に係る無線通信装置２００について説明する。本実施形態は、上記第１の実施形態において、複数のＭＡＣフレームを連結することにより１つに集約したAggregationフレームを受信する場合に関する。フレームのaggregation（連結）は、ＩＥＥＥ８０２．１１ｎ規格において定められている。
【０１３４】
＜Aggregationフレームの構成例＞  
図１７は、ＩＥＥＥ８０２．１１規格における１つのＰＳＤＵ（PLCP Service Data Unit）に複数のＭＡＣフレームを含むAggregationフレームの構成例を示す模式図である。
【０１３５】
図示するようにＰＳＤＵフレームは、Ｎ個（Ｎは正の整数）のサブフレーム（subframe）が連結されたフレームとして構成される。各サブフレームは、サブフレーム間の境界を検出するためのデリミタ（Delimiter）フィールド及びＭＡＣフレームを備える。なお、ＰＳＤＵ全体の長さ（フレーム長）をＬＰＳＤＵと呼び、個々のDelimiterの長さをＬdelimiterと呼ぶ。またＬframeは、各サブフレームに含まれるＭＡＣフレームの長さである。
【０１３６】
Delimiterフィールドは４バイトの長さを持ち（Ｌdelimiter＝４バイト）、Reservedフィールド、lengthフィールド、ＣＲＣフィールド、及びDelimiter Signatureフィールドを有する。図中における“Ｂ０”等の数値は、Delimiter内のビット位置を示す。Reservedフィールドは予約されたフィールドで、ある一定の値が設定される。lengthフィールドは、後続するＭＡＣフレームの長さを示す。ＣＲＣフィールドは、lengthフィールドの誤りを検出するためのものである。Delimiter Signatureフィールドは、このフィールドがDelimiterであることを識別するためのものである。
【０１３７】
Delimiterの後続のＭＡＣフレームのフォーマットは、図３に示す通りである。なお、ＭＡＣフレームの後に図示されるPadフィールドは、サブフレームの長さが４バイトの倍数でない場合、４バイトの倍数になるように１〜３バイトだけ付加される。ただし、ＰＳＤＵの最後のサブフレームにはPadフィールドは付加されない。
【０１３８】
＜無線通信装置２００の構成について＞  
無線通信装置２００の構成は、第１の実施形態で説明した通りであるが、一部、動作が異なる。以下では、データ転送部２２５における転送量決定部２３２と転送制御部２３０の動作について説明する。
【０１３９】
＜転送量決定部２３２の動作＞  
図１８は、本実施形態に係る転送量決定部２３２の動作を示すフローチャートである。本実施形態に係る受信フレーム情報は２種類あり、ひとつは第１の実施形態と同様の内容を有するものであり、もうひとつはDelimiterと受信制御情報の組み合わせである。また受信制御情報は、受信伝送レート、転送フレームの長さ（つまりＭＡＣフレームの長さＬframe、及びＰＳＤＵの長さＬＰＳＤＵ）、及びAggregationフレームであることを示す識別信号（無線ＬＡＮでは、この識別情報がＰＨＹヘッダに設定されるので、物理層部２１２は、Aggregationフレーム受信時に、これがAggregateされていることを認識出来る）等を含む。
【０１４０】
まず第１の実施形態と同様に、転送量決定部２３２にはＭＡＣヘッダの最大長Ｌhead_maxと、受信制御情報の長さＬcontとが、予め設定される（ステップＳ５０）。前述の通り、ＭＡＣヘッダの最大長Ｌhead_maxは例えば３６バイトであり、受信制御情報の長さＬcontは例えば４バイトである。
【０１４１】
そして転送量決定部２３２は、受信したＰＳＤＵのフレーム長ＬＰＳＤＵを、例えば物理層部２１２から受信する（ステップＳ５１）。そして転送量決定部２３２は、物理層２１２から通知された受信フレーム長ＬＰＳＤＵと、Delimiterの長さＬdelimiterとを比較する（ステップＳ５２）。Ｌdelimiterは、例えばステップＳ５０で予め設定されても良いし、または例えば物理層部２１２から与えられても良い。
【０１４２】
通常、Aggregationフレームでは、Ｌdelimiter＜ＬＰＳＤＵとなる（ステップＳ５３、ＹＥＳ）。この場合、転送量決定部２３２はDelimiter長Ｌdelimiterを選択し（ステップＳ５４）、受信フレーム情報の長さＬframe_contを（Ｌdelimiter＋Ｌcont）として（ステップＳ５５）、転送制御部２３０へ通知する（ステップＳ５６）。すなわち、Ｌframe_cont＝Ｌdelimiter（４バイト）＋Ｌcont（４バイト）＝８バイトとなる。
【０１４３】
その後、第１の実施形態で説明した図６のステップＳ１１の処理に進む。すなわち、サブフレームのＭＡＣフレーム長Ｌframeを受信して、当該サブフレームに関する受信フレーム情報の長さＬframe_contの算出を行う。この受信フレーム情報は、第１の実施形態と同様に、例えばＭＡＣヘッダと受信制御情報の組み合わせである（ＭＡＣヘッダのみであっても良い）。
【０１４４】
一方、Ｌdelimiter≧ＬＰＳＤＵであった場合（ステップＳ５３、ＮＯ）、転送量決定部２３２は受信処理を終了する（ステップＳ５７）。
【０１４５】
＜転送制御部２３０の動作＞  
次に、上記転送制御部２３０の動作について、図１９を用いて説明する。図１９は、転送制御部２３０の動作を示すフローチャートであり、特に物理層部２１２からフレームを受信する場合について示している。
【０１４６】
まず、第１の実施形態と同様に、転送制御部２３０において、転送先アドレスＡ１〜Ａ３が設定され、また受信格納部２３１内の位置情報（例えばＦＩＦＯ１〜ＦＩＦＯ３）が設定される（ステップＳ６０）。この際、更に転送先アドレスＡ４及び受信格納部２３１内の位置情報（ＦＩＦＯ４）も設定される。転送先アドレスＡ４は、データメモリ２２４においてDelimiterが転送されるべき領域のアドレスであり、ＦＩＦＯ４は受信格納部２３１内においてDelimiterが転送されるべき領域である。
【０１４７】
その後、転送制御部２３０は、物理層部２１２から転送される受信制御情報を、受信格納部２３１における、ステップＳ６０で設定された領域（例えばＦＩＦＯ１）に格納する（ステップＳ６１）。
【０１４８】
次に転送制御部２３０は、転送量決定部２３２に対して、受信フレーム情報の長さＬframe_contを決定するよう命令し（ステップＳ６２）、この値Ｌframe_contを取得する（ステップＳ６３）。ここで長さＬframe_contが算出される受信フレーム情報は、Delimiterと受信制御情報の組み合わせである。
【０１４９】
次に、ＦＣＳ部２３３に対してＣＲＣチェックを行うよう命令（ステップＳ６４）する。この際、ＣＲＣチェックの対象となるのはDelimiterである。その後、物理層部２１２から転送されるサブフレームを、受信格納部２３１に格納する（ステップＳ６５）。サブフレームが格納される領域はステップＳ６０で設定された領域であり、サブフレームはＦＩＦＯ３に格納され、そのうちのDelimiterは更にＦＩＦＯ４に格納される。
【０１５０】
その後、転送制御部２３０は、データメモリ２２３のアドレスＡ１、Ａ４の領域に受信フレーム情報を転送し（ステップＳ６６）、完了すると完了通知をプロセッサ２２１に発行する（ステップＳ６７）。この際、受信フレーム情報のサイズは、ステップＳ６３で与えられたサイズである。
【０１５１】
更に転送制御部２３０は、プロセッサ２２１から、サブフレームのＭＡＣ転送量（ＭＡＣフレームの長さＬframe）を受信する（ステップＳ６８）。するとこれに応答して転送制御部２３０は、転送量決定部２３２に対して、受信フレーム情報の長さＬframe_contを決定するよう命令し（ステップＳ６９）、この値Ｌframe_contを取得する（ステップＳ７０）。ここで長さＬframe_contが算出される受信フレーム情報は、例えばＭＡＣヘッダ（またはＭＡＣヘッダと受信制御情報の組み合わせ）である。これにより、データメモリ２２３に転送すべきＭＡＣヘッダの長さが分かったので、転送制御部２３０は、受信格納部２３１内の例えばＦＩＦＯ２内のＭＡＣヘッダ（またはＭＡＣヘッダ及び受信制御情報）を、データメモリ２２３のアドレスＡ２の領域に転送し（ステップＳ７１）、プロセッサ２２１に対して完了通知を送信する（ステップＳ７２）。
【０１５２】
更に転送制御部２３０は、受信格納部２３１の例えばＦＩＦＯ３内のＭＡＣフレームを、メインメモリのアドレスＡ３の領域に転送し（ステップＳ７３）、プロセッサ２２１に対して完了通知を送信する（ステップＳ７４）。
【０１５３】
その後、第１の実施形態と同様にして、アドレスＡ１〜Ａ４を更新する（ステップＳ７５）。そして、プロセッサ２２１から更なる転送要求が無ければ（ステップＳ７６、ＮＯ）、処理を終了する。他方、更なる転送要求があれば（ステップＳ７６、ＹＥＳ）、ステップＳ６４に戻り、次のサブフレームについて同様の処理を繰り返す。
【０１５４】
＜無線通信装置２００の動作＞  
次に、上記構成の無線通信装置２００の動作について、無線ＬＡＮ端末１０２がAggregationフレームを受信して、ＡＣＫフレームを無線ＬＡＮ基地局１０１へ返すまでの間の無線ＬＡＮ端末１０２の動作を例に挙げて、以下説明する。
【０１５５】
＜動作の大まかな流れについて＞  
まず、動作の大まかな流れを、図２０を用いて説明する。図２０は無線通信装置２００の動作を示すフローチャートである。大まかには、まず受信フレーム情報（Delimiterを含む）の長さが算出される。その後は、Delimiter転送、受信フレーム情報（ＭＡＣヘッダを含む）の長さ算出、ＭＡＣヘッダ転送、及びＭＡＣフレーム転送を、サブフレーム毎に繰り返す。
【０１５６】
図２０に示すように、まず無線通信装置２００は、フレーム受信すると、それがAggregationフレームであることを認識する（ステップＳ８０）。そして転送量決定部２３２は、図１８で説明した判定動作に応じて、Ｌframe_cont＝受信制御情報＋Ｌdelimiterに決定する（ステップＳ８１）。
【０１５７】
そして、最初のサブフレームＳＦ１についてのデータ転送を開始する（ｉ＝１、ｉは１以上Ｎ以下の自然数、ステップＳ８２）。まずデータ転送部２２５は、サブフレームＳＦｉについての受信フレーム情報を、プロセッサ２２１に転送する（ステップＳ８３）。前述の通り受信フレーム情報は、サブフレームＳＦｉについての受信制御情報とDelimiterとの組み合わせである。そしてプロセッサ２２１は、受信したDelimiterを解析する（ステップＳ８４）ことにより、サブフレームＳＦｉのＭＡＣフレーム長Ｌframeを算出する（ステップＳ８５）。
【０１５８】
すると転送量決定部２３２は、算出されたＬframeに基づいて、サブフレームＳＦｉについてのＬframe_contを算出する（ステップＳ８６）。この算出方法は、第１の実施形態で説明した図６の通りである。そしてデータ転送部２２５は、算出されたＬframe_contに基づいて、サブフレームＳＦｉのＭＡＣヘッダ（またはＭＡＣヘッダ及び受信制御情報）をデータメモリ２２３に転送し（ステップＳ８７）、引き続きサブフレームＳＦｉのＭＡＣフレーム全体をメインメモリ２２４に転送する（ステップＳ８８）。これにより、１つのサブフレームＳＦｉに関するデータ転送が完了する。
【０１５９】
その後プロセッサ２２１は、処理済みのサブフレームＳＦｉのデータ量が、ＰＳＤＵのサイズより小さいか否かを判断する（ステップＳ８９）。小さくない場合（ステップＳ８８、ＮＯ）には、既に全てのサブフレームＳＦ１〜ＳＦＮに関するデータ転送が完了しているはずなので、プロセッサ２２１はＡＣＫフレーム（例えばBlockACKフレーム）を返すための処理を行う（ステップＳ９０）。
【０１６０】
他方、ステップＳ８９において小さい（ステップＳ８９、ＹＥＳ）と判断された場合には、未転送のサブフレームが残っているはずなので、次のサブフレームＳＦ（ｉ＋１）についての転送を開始する（ステップＳ９１）。そのためプロセッサ２２１はデータ転送部２２５に対して、次のサブフレームＳＦ（ｉ＋１）についての転送指示を出して（ステップＳ９２）、ステップＳ８３に戻る。
【０１６１】
＜動作の詳細な流れについて＞  
次に、図２０を実行する際の無線通信装置２００の動作の詳細について、図２１を用いて説明する。図２１は、無線通信装置２００の動作を示すフローチャートである。基本的な動作手順は第１の実施形態と同様であるが、本実施形態に係るAggregationフレームでは、最初にＭＡＣフレームの長さを認識する目的でDelimiterを解析する手順があるため、第１の実施形態とは処理手順が少し変わる。
【０１６２】
図示するように、物理層部２１２は、受信したＰＳＤＵフレームを受信格納部２３１に格納する前に、受信開始信号を発行する。これにより物理層部２１２は、物理層部２１２から受信フレームの転送を開始することを、転送制御部２３０に通知する。また物理層部２１２は、受信開始信号の発行後から実際に受信フレームの転送を開始するまでの間に、前述の受信制御情報を受信格納部２３１に転送する。受信制御情報は、転送量決定部２３２にも与えられる。
【０１６３】
次に、転送制御部２３０は、転送すべき受信フレーム情報の転送量（Ｌframe_cont）を決定するように転送量決定部２２２に要求する。ここで決定される受信フレーム情報は、Delimiterと受信制御情報の組み合わせである。この要求に応答して転送制御部２３０は、データメモリ２２３へ転送する受信フレーム情報の長さ（例えば、Ｌframe_cont＝４バイト（受信制御情報）＋４バイト（Delimiter）＝８バイト）を認識する。
【０１６４】
また転送制御部２３０は、受信格納部２３１に格納される４バイトのDelimiterに対してＣＲＣチェックを行うように、ＦＣＳ部２２３に要求する。その後、物理層部２１２は、受信開始信号から予め決まった固定時間（例えば、１μｓ）経過後に、ＰＳＤＵフレームのサブフレームを受信格納部２３１に格納し始める。サブフレームは、ＦＣＳ部２３３にも転送される。
【０１６５】
次に転送制御部２３０は、データメモリ２２３において、受信フレーム情報を格納すべき領域を指定する。受信フレーム情報のうち、受信制御情報についてはアドレスＡ１から開始される領域が指定され、DelimiterについてはアドレスＡ４から開始される領域が指定される。その後、転送制御部２３０は、受信格納部２３１のそれぞれ指定された領域に、受信制御情報及びDelimiterを転送するよう命令する。このDelimiterは、当然ながら最初のサブフレームＳＦ１についてのDelimiterである。受信フレーム情報の転送終了後、ＦＣＳ部２２３からのDelimiter CRCチェック結果がＯＫである場合には、転送制御部２３０はプロセッサ２２１に対して、受信フレーム情報の転送完了を通知する。
【０１６６】
一方、プロセッサ２２１は、転送制御部２３０からの受信フレーム情報の転送完了通知を受けた後、データメモリ２２３からDelimiterを読み出す。より具体的には、プロセッサ２２１の演算部は、データメモリ２２３に対して読み出し要求を発行する。これに応答して、データメモリ２２３からDelimiterが、プロセッサ２２１の演算部に転送される。そしてプロセッサ２２１は、読み出されたDelimiterの内容を解析する。この際、プロセッサ２２１は、Delimiter内のlengthフィールドを確認することで、サブフレームＳＦ１のＭＡＣフレームの長さを認識する。そしてプロセッサ２２１は、ＭＡＣフレームの長さであるフレーム転送量（例えば、１３４バイト）を転送制御部２３０に通知する。
【０１６７】
この通知を受けた転送制御部２３０は、転送すべき受信フレーム情報の転送量（Ｌframe_cont）を決定するように転送量決定部２２２に要求する。ここで決定される受信フレーム情報は、サブフレームＳＦ１についてのＭＡＣヘッダ（及び受信制御情報）である。この要求に応答して転送制御部２３０は、データメモリ２２３へ転送すべき受信フレーム情報の長さを認識する。引き続き転送制御部２３０は、受信格納部２３１に格納されるＭＡＣフレーム（サブフレーム）に対してフレームＣＲＣチェックを行うように、ＦＣＳ部２２３に要求する。
【０１６８】
その後、転送制御部２３０は、データメモリ２２３においてＭＡＣヘッダを格納すべき領域（アドレスＡ２から開始される領域）を指定する。そして転送制御部２３０は、受信格納部２３１内のＦＩＦＯ２から、サブフレームＳＦ１のＭＡＣヘッダ（またはＭＡＣヘッダ及び受信制御情報）を、データメモリ２２３における指定された領域へ転送し、転送完了をプロセッサ２２１に通知する。
【０１６９】
更に転送制御部２３０は、メインメモリ２２４においてサブフレームＳＦ１のＭＡＣフレームを格納すべき領域（アドレスＡ３から開始される領域）を指定する。そして転送制御部２３０は、受信格納部２３１内のＦＩＦＯ３から、１３４バイトの長さを持つサブフレームＳＦ１のＭＡＣフレームを、メインメモリ２２４における指定された領域へ転送する。
【０１７０】
サブフレームＳＦ１についてのデータの転送終了後、転送制御部２３０は、ＦＣＳ部２２３からのフレームＣＲＣチェックの結果（ＣＲＣがＯＫかＮＧかの情報）と共に、プロセッサ２２１に対してフレーム転送完了を通知する。
【０１７１】
この時点で、サブフレームＳＦ１に関するデータ転送が完了する。もし、処理済みのサブフレームのバイト数が、ＰＳＤＵの長さより少ない場合には、次のサブフレームＳＦ２がまだ転送されてくると考えられる。この場合プロセッサ２２１は、Delimiter転送量（つまり４バイト）を転送制御部２３０に指定し、Delimiterをデータメモリ２２３に転送するように指示する。
【０１７２】
この後の処理手順は、図２１におけるＡ時点からの処理を繰り返す。図２１におけるＢ時点で、処理済みのサブフレームのデータ量がＰＳＤＵの長さに達していた場合には、ＡＣＫフレームの送信処理を行う。この処理は第１の実施形態と同様である。
【０１７３】
＜効果＞  
以上のように、第１の実施形態は、Aggregationフレームを受信処理する場合にも適用出来る。また本実施形態は、第２の実施形態にも適用出来る。すなわち、本実施形態においても、無線通信装置２００は複数のプロセッサを備えていても良い。勿論、第３の実施形態に適用されても良い。
【０１７４】
なお、本実施形態においては、AggregationフレームではＬdelimiter＜ＬＰＳＤＵとなることが明らかなようであれば、図１８におけるステップＳ５２、Ｓ５３、Ｓ５７の処理を省略しても良い。しかしながら、不慮のケースまで考慮するのであれば、これらの処理を行うことが好ましい。
【０１７５】
［第５の実施形態］  
次に、この発明の第５の実施形態に係る無線通信装置について説明する。本実施形態は、上記第１の実施形態において、ＭＡＣ層部２２０内の構成の一部を変更したものである。但し、無線通信装置の動作自体は、第１の実施形態と同様である。従って、以下では第１の実施形態と異なる点についてのみ説明する。
【０１７６】
図２２は、本実施形態に係る無線通信装置２００のブロック図である。図示するように、本実施形態に係る無線通信装置２００は、第１の実施形態で説明した図１の構成において、転送量決定部２３２をプロセッサ２２１内に設けたものに相当する。この際、プロセッサ２２１（の演算部）がソフトウェアを実行することで、プロセッサ２２１が図６の動作を行い、転送量決定部２３２の機能を果たしても良い。
【０１７７】
また図２２におけるデータ格納部２６０は、図５で説明した受信格納部２３１、送信格納部２３４、及びＦＣＳ部２３３に相当する。なおＦＣＳ部２３３は、プロセッサ２２１（の演算部）によるソフトウェアの実行により、その機能が実現されても良い。
【０１７８】
転送制御部２３０とデータ格納部２６０は、バス２６２を介してデータ転送を行い、更にプロセッサ２２１にも接続される。よって転送制御部２３０は、データ格納部２６０内のデータをデータメモリ２２３に転送することが可能である。また、バス２６２は、バスインターフェース部２６１を介してバス２６３とも接続される。そしてメインメモリ２２４はバス２６３に接続される。従って転送制御部２３０は、データ格納部２６０内のデータをメインメモリ２２４に転送することも可能である。
【０１７９】
以上の各ブロックの動作は、第１の実施形態で説明した通りである。
【０１８０】
＜効果＞  
本実施形態に係る構成であると、転送量決定部２３２をプロセッサ上のプログラムで実現している。従って、転送すべきデータ量を決定する方法を柔軟に変更することができ、転送制御部２３０に対してより細かい転送指示を行うことが可能となる。
【０１８１】
なお、図２２の構成において、メインメモリ２２４をバス２６２に接続しても良い。この場合には、バスインターフェース部２６１及びバス２６３は不要である。
【０１８２】
以上のように、この発明の第１乃至第５の実施形態に係る無線通信装置２００であると、受信部２１０〜２１２、第１格納部２３１、転送量決定部２３２、及び第１転送制御部２３０を備える。受信部２１０〜２１２は、第１の長さＬframeのフレーム長を有する第１フレームを、第１無線方式を用いて受信する。第１格納部２３１は、受信部２１０〜２１２が受信した第１フレームの一部または全部を格納する。転送量決定部２３２は、第１無線方式に基づいて決定される第２の長さＬhead_maxが第１の長さＬframeより小さい場合には、第３の長さＬframe_contを第２の長さＬhead_maxに設定し、第２の長さＬhead_maxが第１の長さＬframe以上である場合には、第３の長さＬframe_contを第１の長さＬframe以下の値に設定する。第１転送制御部２３０は、第１フレームに含まれる第３の長さＬframe_contの第１情報（ＭＡＣヘッダ）を含む転送情報（受信フレーム情報）を第１メモリ２２３へ転送し、第１フレームを第１の長さＬframeだけ、第１メモリ２２３とは異なる第２メモリ２２４へ転送する。
【０１８３】
本構成によれば、転送量決定部２３２及び第１転送制御部２３０により、必要な情報をメモリに転送する。また、転送量決定部２３２により、転送すべき情報の大きさを決定している。従って、ＭＡＣヘッダ解析のためにプロセッサ２２１がデータメモリ２２３にアクセスする時間を短縮出来る。すなわち、プロセッサ２２１がメモリにアクセスする時間がオーバーヘッドとなることを抑制し、プロセッサを用いて複数の無線通信方式に対応可能な無線通信装置において、規定時間内に応答フレームを返信することが可能となる。
【０１８４】
なお、上記実施形態においては、データメモリ２２３、２４３がプロセッサ２２１、２４１内部にあり、メインメモリ２２４がプロセッサ２２１、プロセッサ２４１外部にある場合を例に説明した。しかし、この場合に限られない。すなわち、データメモリ２２３、２４３は、プロセッサ２２１（の演算部）からのアクセス速度が、メインメモリ２２４よりも速いメモリであれば良い。例えば、データメモリ２２３、２４３は、プロセッサ２２１、２４１の動作周波数で動作し、メインメモリ２２４はそれよりも低い動作周波数で動作する場合であっても良い。またはデータメモリ２２３、２４３とプロセッサ２２１、２４１との間の距離（言い換えれば配線長、遅延）は、メインメモリ２２４とプロセッサ２２１、２４１との間の距離（配線長、遅延）よりも小さい場合であっても良い。
【０１８５】
更には、データメモリ２２３、２４３は、メインメモリ２２４よりもレイテンシー（latency）が短い場合であっても良い。すなわち、プロセッサ２２１、２４１が読み出し要求をデータメモリ２２３、２４３に発行してから、実際にデータがデータメモリ２２３、２４３から読み出せるまでの時間（例えば１クロック）は、プロセッサ２２１、２４１が読み出し要求をメインメモリ２２４に発行してから、実際にデータがメインメモリ２２４から読み出せるまでの時間（例えば１０クロック）よりも短い。レイテンシーが短いことは、結果としてプロセッサがメモリへ高速にアクセス出来ることを意味する。
【０１８６】
また、上記実施形態は適宜組み合わせることが出来る。すなわち、例えば第３乃至第５の実施形態において、プロセッサが複数設けられても良い。また、第２乃至第４の実施形態は、第５の実施形態に係る構成において実現されてもよい。
【０１８７】
また、上記実施形態で説明したフローチャートは、可能な限り順序を入れ替えても良い。そしてプロセッサ２２１、２４１は、プログラムを実行することにより上記フローチャートに示す動作を実現する。このプログラムは、メインメモリ２４０に格納されていても良いし、機器読み取り可能なあらゆる媒体（メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ等）に記録されても良い。このプログラムが実行される際には、プログラムは例えばデータメモリ２２３、２４３や命令メモリ２２２、２４２に読み出される。
【０１８８】
更に、上記実施形態では無線通信方式の例としてＩＥＥＥ８０２．１１、８０２．１６の場合について説明したが、これ以外の通信方式にも適用可能である。
【０１８９】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【０１９０】
１００…無線通信システム、１０１〜１０３、２００…無線通信装置、２１０…アンテナ、２１１…無線部、２１２…物理層部、２２０…ＭＡＣ層部、２２１、２４１…プロセッサ、２２２、２４２…命令メモリ、２２３、２４３…データメモリ、２２４…メインメモリ、２２５…データ転送部、２２６、２６２、２６３…バス、２３０、２５０…転送制御部、２３１、２５１…受信格納部、２３２…転送量決定部、２３３…ＦＣＳ部、２３４、２５２…送信格納部、２４０…第２データ転送部、２６０…データ格納部、２６１…バスＩＦ部
【図１】
2011193142.tif 000003
【図２】
2011193142.tif 000004
【図３】
2011193142.tif 000005
【図４】
2011193142.tif 000006
【図５】
2011193142.tif 000007
【図６】
2011193142.tif 000008
【図７】
2011193142.tif 000009
【図８】
2011193142.tif 000010
【図９】
2011193142.tif 000011
【図１０】
2011193142.tif 000012
【図１１】
2011193142.tif 000013
【図１２】
2011193142.tif 000014
【図１３】
2011193142.tif 000015
【図１４】
2011193142.tif 000016
【図１５】
2011193142.tif 000017
【図１６】
2011193142.tif 000018
【図１７】
2011193142.tif 000019
【図１８】
2011193142.tif 000020
【図１９】
2011193142.tif 000021
【図２０】
2011193142.tif 000022
【図２１】
2011193142.tif 000023
【図２２】
2011193142.tif 000024