(57)【特許請求の範囲】
【請求項１】
通信相手となる通信装置に送信すべきデータを格納するデータ格納領域、
該データ格納領域に格納されたデータを分割した分割データを格納する分割データ格納領域、及び
該分割データに対応する記述情報を格納する記述情報テーブル格納領域
を有するメモリと、
該メモリに格納されたデータを送信する送信部と、
前記分割データに対応する記述情報に従って、前記分割データを前記送信部に転送する転送部と、
該転送部により前記分割データが前記送信部に転送される度に、前記記述情報テーブル格納領域を切り替えるように指定するレジスタと、を有し、
前記データ格納領域へ通信相手となる通信装置に送信すべきデータを格納する処理と、前記転送部による前記分割データを前記送信部に転送する処理と、が並行して行われることを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置において、
前記分割データ格納領域は、前記通信相手となる通信装置との間で通信に先立って設定されるバースト数により表される１又は複数のデータフレームを有し、
前記記述情報テーブル格納領域は、前記分割データ格納領域に含まれるデータフレームと同数の記述情報を有する通信装置。
【請求項３】
請求項１又は２に記載の通信装置において、
前記通信装置は、ワイヤレスＵＳＢ仕様に従う通信装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の通信装置において、
前記レジスタは、前記記述情報テーブル格納領域のうち最後の記述情報テーブル格納領域を切り替える際に、最初の記述情報テーブル格納領域を指定する通信装置。
【請求項５】
請求項４に記載の通信装置において、
前記記述情報テーブル格納領域は、リングバッファにより構成される通信装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の通信装置において、
レジスタは、前記記述情報テーブル格納領域を順次切り替える指定を、各記述情報テーブル格納領域に対応付けられたビットを１に設定することにより行う通信装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の通信装置において、
前記記述情報テーブル格納領域の数に対応するカウンタと、
前記分割データ及び該分割データに対応する記述情報を生成する生成部と、
を有し、
前記生成部は、前記記述情報を生成する度に前記カウンタを増加させ、
前記転送部は、前記送信部に前記分割データを転送する度に前記カウンタを減少させ、
前記生成部は、前記カウンタの値に基づいて、前記分割データ及び該分割データに対応する記述情報を生成するかどうかを判定する通信装置。
【請求項８】
請求項２に記載の通信装置において、
前記転送部は、前記分割データ格納領域に含まれるデータフレームの全てが前記通信相手となる通信装置により正常に受信されたと判定された場合に、前記分割データの前記送信部への転送が完了したと判定する通信装置。
【請求項９】
データを格納するデータ格納領域
該データ格納領域に格納されたデータを分割した分割データを格納する分割データ格納領域、及び
該分割データに対応する記述情報を格納すべき複数の記述情報テーブル格納領域
を有し、
前記データ格納領域には、通信相手となる通信装置に送信すべきデータが格納され、
前記分割データに対応する記述情報に従って、前記分割データが転送される度に、前記記述情報テーブル格納領域が切り替えられ、
前記データ格納領域へ通信相手となる通信装置に送信すべきデータを格納する処理と、前記分割データを転送される処理とが並行して行われることを特徴とするメモリデバイス。
【請求項１０】
請求項９に記載のメモリデバイスにおいて、
前記分割データ格納領域は、１又は複数のデータフレームを有し、
前記記述情報テーブル格納領域は、前記分割データ格納領域に含まれるデータフレームと同数の記述情報を有するメモリデバイス。
【請求項１１】
通信装置が実行する方法であって、
前記通信装置は、
通信相手となる通信装置に送信すべきデータを格納するデータ格納領域
該データ格納領域に格納されたデータを分割した分割データを格納する分割データ格納領域、及び
該分割データに対応する記述情報を格納する記述情報テーブル格納領域
を有するメモリ
を有し、
前記通信装置は、
該メモリに格納されたデータを送信する送信ステップと、
前記分割データに対応する記述情報に従って、前記分割データを、前記送信ステップを実行する送信部に転送する転送ステップと、
該転送ステップにより前記分割データが前記送信部に転送される度に、前記記述情報テーブル格納領域を切り替えるように指定するステップと、を実行し、
前記データ格納領域へ通信相手となる通信装置に送信すべきデータを格納する処理と、前記分割データを前記送信部に転送する前記転送ステップとが並行して実行されることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関する。
【背景技術】
【０００２】
ワイヤレスＵＳＢは、短距離の有線通信規格として広く普及しているＵＳＢ（Universal Serial Bus）を拡張して、有線通信の安全性と速度を確保しながら、無線通信の使いやすさを持つ技術規格である。ワイヤレスＵＳＢは、ＵＳＢ−ＩＦ（USB Implementers Forum）の下部組織であるワイヤレスＵＳＢプロモータ・グループによって、仕様が作成されている。
【０００３】
ワイヤレスＵＳＢは、無線技術としてＵＷＢ(Ultra Wide Band)技術を用いる。ＵＷＢ技術は、３．１〜１０．６[GHz]の７．５[GHz]という、広い周波数帯域を使用している。標準規格の策定をおこなう米国電気電子学会（ＩＥＥＥ：The Institute of Electrical and Electronic Engineers）の、ＩＥＥＥ８０２．１５．３ａタスクグループが、ＵＷＢの物理レイヤーの標準化を担当している。
【０００４】
ＵＷＢの物理層には、ＤＳ−ＵＷＢ（Direct Spread-UWB）、ＭＢ−ＯＦＤＭ（Multi Band-Orthogonal Frequency Division Multiplexing）の２つの変調方式がある。ＤＳ−ＵＷＢは、３．１〜４．９[GHz]のローバンドと、６．２〜９．７[GHz]のハイバンドの２つのバンド（デュアルバンド）を使用する。ＤＳ−ＵＷＢでは、ＱＰＳＫまたはＢＰＳＫ（Binary Phase Shift Keying）によって１次変調をおこなった後、２次変調にＣＤＭＡ（Code Division Multiple Access）を使用してデータを運ぶ。このとき直接周波数拡散方式を使用する。ＭＢ−ＯＦＤＭは、３．１〜１０．６[GHz]の帯域を１４のバンド（周波数帯）に分割し、各バンドにて、まず、ＱＰＳＫ（Quadrature Phase Shift Keying）により、ディジタル信号を電波に乗せるための１次変調をおこない、他の電波からの干渉に強い通信を実現するための２次変調を、ＯＦＤＭ変調によって行う。ＷｉＭｅｄｉａ  Ａｌｌｉａｎｃｅと呼ばれる団体が、ＭＢ−ＯＦＤＭを利用するＰＨＹ（Physical）層の技術を、ＷｉＭｅｄｉａ  ＰＨＹとして定義している。これらの変調方式を用いて変調を行うことにより、ＵＷＢでは、１[MHz]当たりの送信電力レベルを抑制する。
【０００５】
具体的には、ＦＣＣ（米国連邦通信委員会：Federal Communications Commission）では、ＵＷＢ通信における１[MHz]当たりの送信電力レベルの規制値を表すＥＩＲＰ（Equivalent Isotropic Radiation）を、−４１．２５[dBm]以下と定めている。これは、総電力に換算すると、０．５[mW]程度であり、ＩＥＥＥ８０２．１１ｂ無線ＬＡＮおよびＰＨＳ（Personal Handyphone System）が１０[mW]であるのと比較すると、約２０分の１となる。
【０００６】
前述のＷｉＭｅｄｉａ Ａｌｌｉａｎｃｅは、ＭＡＣ（Media Access Control）層のプロトコルを、ＷｉＭｅｄｉａ ＭＡＣ１．０仕様として定義している。ワイヤレスＵＳＢは、ＷｉＭｅｄｉａ ＰＨＹ、ＷｉＭｅｄｉａ ＭＡＣという無線技術の上に、有線の、ＵＳＢ−ＩＦ（USB Implementers Forum）が作成したＵＳＢ２．０仕様（Universal Serial Bus Specification Revision 2.0）をベースとするＵＳＢ技術を搭載している。そのため、ワイヤレスＵＳＢは、通信範囲が３ｍ以内であれば、有線のＵＳＢ２．０の最大データ転送レートである４８０[Mbps]でデータを転送することが可能となる。
【０００７】
また、ワイヤレスＵＳＢは、送信電力が低いというＵＷＢの特徴を持つことにより、電波の届く範囲がおよそ１０[m]以内であることを想定したＰＡＮ（Personal Area Network）として位置づけられており、無線ＬＡＮに比べ、より高速であることに加え、盗聴のリスクが少なく、安全性が高い通信技術であるといえる。
【０００８】
ワイヤレスＵＳＢは、これらの特徴を持つことにより、今後、家庭またはオフィスなどの空間で、パソコン、プリンタなどの周辺装置との間の通信などの用途において、普及していく可能性を持っている。
【０００９】
ワイヤレスＵＳＢは、有線ＵＳＢ2.0をベースとした技術である。有線ＵＳＢ2.0をベースとした技術であるため、ワイヤレスＵＳＢの通信の形態は、有線ＵＳＢ2.0における、パーソナルコンピュータに代表される１台のＵＳＢホストと、該ＵＳＢホストにより制御される１又は複数台の周辺装置であるＵＳＢデバイスとからなる。ワイヤレスＵＳＢでは、有線ＵＳＢ2.0におけるＵＳＢホスト、及びＵＳＢデバイスが、それぞれワイヤレスＵＳＢホスト、及びワイヤレスＵＳＢデバイスに対応する。
【００１０】
例えば、パソコン、プリンタなどの周辺装置を、ワイヤレスＵＳＢによって接続させて通信をおこなう場合、パソコンがワイヤレスＵＳＢホストに相当し、プリンタなどの周辺装置がワイヤレスＵＳＢデバイスに相当する。
【００１１】
ワイヤレスＵＳＢは、ＴＤＭＡ（時分割多元接続方式： Time Division Multiple Access）を用いた技術である。ワイヤレスＵＳＢホストは、データ送受信に先立ち、ＭＭＣ（Micro-scheduled Management Command）フレームを発行する。該ＭＭＣフレームは特定の宛先を指定したものではなく、ワイヤレスホストに制御される全ワイヤレスUSBデバイスが宛先となる。該ＭＭＣには、ある間隔ごとに、データおよびその他の情報の送受信の対象となるワイヤレスＵＳＢデバイスを識別するためのデバイスＩＤと、時間を表すパラメータ（単位：[μsec]）と、以下に説明する情報要素ＷｘＣＴＡ＿ＩＥ（Wireless USB Channel Allocation Information Element）などの情報が含まれる。
【００１２】
ＷｘＣＴＡ＿ＩＥは、通信の種類を示す情報要素である。ＷｘＣＴＡ＿ＩＥに含まれる情報要素として、主に用いられるものには、ワイヤレスＵＳＢホストからワイヤレスＵＳＢデバイス方向のデータ通信（デバイス受信）であることを示すＷＤＲＣＴＡ＿ＩＥ（Device Receive Channel Allocation Information Element）、ワイヤレスＵＳＢデバイスからワイヤレスＵＳＢホスト方向のデータ通信（デバイス送信）であることを示すＷＤＴＣＴＡ＿ＩＥ（Device Transmit Channel Allocation Information Element）、ワイヤレスＵＳＢデバイスからワイヤレスＵＳＢホストへの状態通知（デバイス通知）であることを示すＷＤＮＴＳＣＴＡ＿ＩＥ（Device Notification Channel Allocation Information Element）の３つがある。ＭＭＣフレームの中にこれらの情報を追加することにより、ワイヤレスＵＳＢホストは、例えば、「今からｔ[μsec]後に、デバイスＩＤ＝ｘのワイヤレスＵＳＢデバイスを対象として、ワイヤレスＵＳＢホストからワイヤレスＵＳＢデバイス方向にデータフレームを送信する。」というように、事前に、ワイヤレスＵＳＢデバイスに対して通知することになる。ワイヤレスＵＳＢホストとワイヤレスＵＳＢデバイスとの間でのフロー制御手順については、ワイヤレスＵＳＢ１．０仕様（Wireless Universal Serial Bus Specification Revision 1.0）に規定されている。
【００１３】
タイマーを用いてＤＭＡ転送の実行を行う手法や、複数のＤＭＡ転送要求に対して、ＤＭＡ転送の制御データの入力時刻やＩ／Ｏの重要度をもとに優先度を設定して、優先度の高いＤＭＡ転送から順に実行する手法について提案されている（例えば、特許文献１参照）。しかし、該提案ではＤＭＡ転送の要求を行う度に優先度を設定しなければならない煩雑さが伴う。
【００１４】
ワイヤレスＵＳＢによるＤＭＡ転送について提案されている（例えば、特許文献２、３参照）。しかし、ＤＭＡ転送を用いたフローの詳細については記載されていない。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
ワイヤレスＵＳＢデバイスからワイヤレスＵＳＢホストへデータを送信する際には、ワイヤレスＵＳＢホストが、ＭＭＣフレームに含まれるデータ送信要求を表すＷＤＴＣＴＡ＿ＩＥで指定する時間に、ワイヤレスＵＳＢデバイスがデータフレームを送信することにより行われる。
【００１６】
なお、ワイヤレスＵＳＢデバイスにより指定された時間に送信する際に必要となる時間管理は、ＭＡＣハードウェアのスケジュール管理機能により行われる。
【００１７】
ワイヤレスＵＳＢデバイスは、ＷＤＴＣＴＡ＿ＩＥ、すなわちデータ送信要求で指定された時間にデータフレームを送出できない場合は、データフレームの準備ができるまで待ってほしいことを示すフロー制御開始フレームを送出する。
【００１８】
図１は、ワイヤレスＵＳＢホストとワイヤレスＵＳＢデバイスとの間におけるデータ伝送とフロー制御の処理の流れを示す。
【００１９】
ワイヤレスＵＳＢデバイスは、ワイヤレスＵＳＢホストからのＭＭＣ（データ送信要求）を受信する（ステップＳ１０２）。
【００２０】
ワイヤレスＵＳＢデバイスは、該データ送信要求により指定された時間にデータフレームを送ることができる場合には、データフレームを送信する（ステップＳ１０４）。
【００２１】
ワイヤレスＵＳＢデバイスは、ワイヤレスＵＳＢホストからのＭＭＣ（データ送信要求）を受信する（ステップＳ１０６）。
【００２２】
ワイヤレスＵＳＢデバイスは、該データ送信要求により指定された時間にデータフレームを送ることができない場合、換言すればデータフレームの準備ができていない場合には、フロー制御開始フレームを送信する（ステップＳ１０８）。
【００２３】
該フロー制御開始フレームを受信したワイヤレスＵＳＢホストは、ＭＭＣ（フロー制御解除フレーム要求）を送出する（ステップＳ１１０）。該ＭＭＣ（フロー制御解除フレーム要求）にも、ＷＤＴＣＴＡ＿ＩＥと同様に、時間が記述されている。
【００２４】
ワイヤレスＵＳＢデバイスは、送信データフレームの準備ができていなければ、何も応答しない。
【００２５】
ワイヤレスＵＳＢホストは、ＭＭＣ（フロー制御解除フレーム要求）を送出する（ステップＳ１１２）。
【００２６】
ワイヤレスＵＳＢデバイスは、データフレームの生成を行う（ステップＳ１１４）。
【００２７】
ワイヤレスＵＳＢホストは、ＭＭＣ（フロー制御解除フレーム要求）を送出する（ステップＳ１１６）。
【００２８】
ワイヤレスＵＳＢデバイスは、送信データフレームの準備ができていれば、指定された時間に、フロー制御解除フレームを送信する（ステップＳ１１８）。
【００２９】
該フロー制御解除フレームを受信したワイヤレスＵＳＢホストは、ＭＭＣ（データ送信要求）を送出する（ステップＳ１２０）。
【００３０】
ワイヤレスＵＳＢデバイスは、ＭＭＣ（データ送信要求）により指定された時間にデータフレームを送出する（ステップＳ１２２）。
【００３１】
図１に示される処理において、ワイヤレスＵＳＢデバイスにおいて送信データフレームの準備に時間がかかってしまうと、以下に示される問題が生じる。
【００３２】
ワイヤレスＵＳＢにおいて送信データフレームの準備に時間がかかることによりフロー制御と該フロー制御を解除するまでの間は、データ送信が滞る。データ送信が滞ることにより、単位時間あたりの送信データ量を表すスループット値の低下を招き、データ伝送に要する時間が長くなる。
【００３３】
そこで、本発明は、送信データフレームの準備に要する時間を短縮して、システム全体としてのスループット値を向上させることを目的とする。
【課題を解決するための手段】
【００３４】
本通信装置は、
通信相手となる通信装置に送信すべきデータを格納するデータ格納領域、
該データ格納領域に格納されたデータを分割した分割データを格納する分割データ格納領域、及び
該分割データに対応する記述情報を格納する記述情報テーブル格納領域
を有するメモリと、
該メモリに格納されたデータを送信する送信部と、
前記分割データに対応する記述情報に従って、前記分割データを前記送信部に転送する転送部と、
該転送部により前記分割データが前記送信部に転送される度に、前記記述情報テーブル格納領域を切り替えるように指定するレジスタと、を有し、
前記データ格納領域へ通信相手となる通信装置に送信すべきデータを格納する処理と、前記転送部による前記分割データを前記送信部に転送する処理と、が並行して行われる。
【００３５】
本メモリデバイスは、
データを格納するデータ格納領域
該データ格納領域に格納されたデータを分割した分割データを格納する分割データ格納領域、及び
該分割データに対応する記述情報を格納すべき複数の記述情報テーブル格納領域
を有し、
前記データ格納領域には、通信相手となる通信装置に送信すべきデータが格納され、
前記分割データに対応する記述情報に従って、前記分割データが転送される度に、前記記述情報テーブル格納領域が切り替えられ、
前記データ格納領域へ通信相手となる通信装置に送信すべきデータを格納する処理と、前記分割データを転送される処理とが並行して行われる。
【００３６】
本方法は、
通信装置における方法であって、
前記通信装置は、
通信相手となる通信装置に送信すべきデータを格納するデータ格納領域
該データ格納領域に格納されたデータを分割した分割データを格納する分割データ格納領域、及び
該分割データに対応する記述情報を格納する記述情報テーブル格納領域
を有するメモリ
を有し、
前記通信装置は、
該メモリに格納されたデータを送信する送信ステップと、
前記分割データに対応する記述情報に従って、前記分割データを、前記送信ステップを実行する送信部に転送する転送ステップと、
該転送ステップにより前記分割データが前記送信部に転送される度に、前記記述情報テーブル格納領域を切り替えるように指定するステップと、を実行し、
前記データ格納領域へ通信相手となる通信装置に送信すべきデータを格納する処理と、前記分割データを前記送信部に転送する前記転送ステップとが並行して実行される。
【発明の効果】
【００３７】
開示の通信装置、メモリデバイス、及び通信方法によれば、送信データフレームの準備に要する時間を短縮して、システム全体としてのスループット値を向上させることができる。
【図面の簡単な説明】
【００３８】
【図１】ワイヤレスＵＳＢホストとワイヤレスＵＳＢデバイスとの間のフロー制御手順の一例を示すシーケンス図である。
【図２】本実施例に従った無線通信装置の一例を示す機能ブロック図である。
【図３】本実施例に従った無線通信装置の後段ＤＭＡ用ディスクリプタテーブルチェイン配列の一例を示す説明図である。
【図４】本実施例に従った無線通信装置の後段ＤＭＡマルチプレクサレジスタに設定される値の一例を示す説明図である。
【図５】本実施例に従った無線通信装置の動作の一例を示すフローチャート（その１）である。
【図６】本実施例に従った無線通信装置の動作の一例を示すフローチャート（その２）である。
【図７】本実施例に従った無線通信装置の動作の一例を示すフローチャート（その３）である。
【発明を実施するための形態】
【００３９】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００４０】
＜実施例＞
＜システム＞
図２は、本実施例に従った無線通信装置１００が適用されるシステムの一例を示す。本無線通信装置１００には、ワイヤレスＵＳＢデバイスが含まれる。本実施例では、一例として、無線通信装置１００にワイヤレスＵＳＢデバイスを適用した場合について説明する。
【００４１】
本実施例では、ワイヤレスＵＳＢデバイスが、ワイヤレスＵＳＢカードにより構成される場合について説明する。カードに限らず他の形態でもよい。例えば、ボードであってもよい。該ワイヤレスＵＳＢカードは、機器２００に接続される。該機器２００には、送信すべきデータが蓄積される。例えば、スキャナ機能を有する機器であってもよい。スキャナ機能を有する機器である場合、画情報データが蓄積される。また、該機器２００は、ハードディスクであってもよい。
【００４２】
該機器２００とワイヤレスＵＳＢデバイスとの間は、バス３００により接続される。例えば、ＰＣＩバス(Peripheral Components Interconnect bus)により接続されてもよい。この場合、機器２００に、ＰＣＩバスを介して無線通信装置１００が装着される。
【００４３】
＜機器＞
機器２００は、メモリ２０２を有する。メモリ２０２には、機器２００がスキャナ機能を有する場合には、スキャン対象となる画情報データ２０２４が格納される。
【００４４】
機器２００は、メインＣＰＵ(Central Processing Unit)２０４を有する。メインＣＰＵ２０４は、無線通信装置１００のメモリ１０４に、メモリ２０２に格納されたあるサイズの画情報データを、ダイレクトメモリアクセス(DMA: Direct Memory Access）転送方式により転送する。該転送の際には、メモリ２０２に格納された前段DMA用ディスクリプタテーブル２０２２に含まれるＤＭＡ用ディスクリプタテーブルが使用される。
【００４５】
以下の説明では、該ＤＭＡ転送を前段ＤＭＡと記す。前段DMAは、機器２００から無線通信装置１００へのＤＭＡ転送である。また、該前段ＤＭＡを実行する無線通信装置１００のハードウェアを前段ダイレクトメモリアクセスコンバータ(DMAC: ＤＭＡＣ Direct Memory Access Converter)１１０と記す。
【００４６】
＜無線通信装置＞
本無線通信装置１００は、ローカルCPU(Central Processing Unit)１０２を有する。ローカルCPU１０２は、ファームウェア１０８に、後段ＤＭＡ用ディスクリプタテーブルを記述させる。メモリ１０４から送信ＦＩＦＯ１１４へのＤＭＡ転送を後段ＤＭＡ転送と呼ぶ。リアルタイムオペレーティングシステム１０６は、ファームウェア１０８上で動作する。
【００４７】
本無線通信装置１００は、メモリ１０４を有する。メモリ１０４は、機器２００から前段DMA転送されたデータを一時的に格納する。該格納されたデータは無線送信される。
【００４８】
＜メモリの構成＞
メモリ１０４は、前段DMA転送後データ１０４２を有する。前段DMA転送後データ１０４２は、機器２００により前段DMA転送されたデータが一時的に格納される領域である。
【００４９】
前段DMA転送後データ１０４２が格納される領域は、ワイヤレスＵＳＢデータフレームのデータ部分のサイズ×バーストサイズ×後段ＤＭＡディスクリプタテーブルチェイン配列１０４４に含まれる後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎ（要素）の数分の領域であるのが好ましい。１回の前段ＤＭＡ転送されるべきデータのサイズは、ワイヤレスＵＳＢデータフレームのデータ部分のサイズ×バーストサイズである。後段ＤＭＡディスクリプタテーブルチェイン配列１０４４に含まれる後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎ（要素）の数分の前段ＤＭＡを実施される前に、前段DMA転送後データ１０４２に格納されたデータが上書きされないようにするためである。
【００５０】
さらに、後段ＤＭＡディスクリプタテーブルチェイン配列１０４４に含まれる後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎ（要素）の上書きを防ぐために、後段ＤＭＡ転送待ちとなっている後段ＤＭＡ用ディスクリプタテーブルチェインの数を示すカウンタ（チェインカウンタ）を用いるようにしてもよい。
【００５１】
該前段DMA転送後データ１０４２は、送信FIFO１１４に転送される。該前段DMA転送後データ１０４２が送信FIFO１１４にDMA転送されることを後段DMA転送と呼ぶ。
【００５２】
メモリ１０４は、後段DMA用ディスクリプタテーブルチェイン配列１０４４を有する。後段DMA用ディスクリプタテーブルチェイン配列１０４４には、複数の後段DMA用ディスクリプタテーブルチェイン１０４６ｎ（ｎは、０≦ｎの整数）が含まれる。各後段DMA用ディスクリプタテーブルチェイン１０４６ｎは、複数の後段DMA用ディスクリプタテーブル１０４８１−１０４８ｍ（ｍは、ｍ＞０の整数）が含まれる。ここで、ｍは当該無線通信装置１００の製造の際に設定されてもよい。例えば、ｍは８であってもよいし、１６であってもよい。
【００５３】
＜後段DMA用ディスクリプタテーブルチェイン配列の構成＞
図３は、後段DMA用ディスクリプタテーブルチェイン配列１０４４の一例を示す。図３には、一例として、後段DMA用ディスクリプタテーブルチェイン配列１０４４に、８個の後段DMA用ディスクリプタテーブルチェイン１０４６ｎ（チェイン０−チェイン７により示される）が含まれる場合について示す。換言すれば、ｎ＝０−７の場合について示される。チェイン０、チェイン１、チェイン２、チェイン３、チェイン４、チェイン５、チェイン６、チェイン７の順に、各チェインに含まれる後段ＤＭＡ用ディスクリプタテーブルを用いて後段ＤＭＡ転送が行われる。チェイン７に含まれる後段ＤＭＡ用ディスクリプタテーブルを用いた後段ＤＭＡ転送が行われた後、チェイン０に含まれる後段ＤＭＡ用ディスクリプタテーブルを用いた後段ＤＭＡ転送が行われる。換言すれば、最後の後段DMA用ディスクリプタテーブルチェインを用いた後段ＤＭＡ転送が行われた後、最初の後段DMA用ディスクリプタテーブルチェインを用いた後段ＤＭＡ転送が行われる。このような後段ＤＭＡ転送を実現するために、例えば、後段ＤＭＡ用ディスクリプタテーブルディスクリプタ配列をリングバッファにより構成してもよい。リングバッファに含まれるチェイン０−７は、後段ＤＭＡマルチプレクサレジスタの８桁のビットのそれぞれに対応付けられる。
【００５４】
ファームウェア１０８は、後段ＤＭＡ用ディスクリプタテーブルチェイン配列に含まれる複数の後段ＤＭＡ用ディスクリプタテーブルチェインのうち該当する後段ＤＭＡ用ディスクリプタテーブルチェインに対応するビットのみを"１"に設定することにより指定する。図３に示される例では、後段ＤＭＡ用ディスクリプタテーブルチェイン０が後段ＤＭＡ転送の対象である場合について示される。後段ＤＭＡ用ディスクリプタテーブルチェイン０が後段ＤＭＡ転送の対象である場合には、ファームウェア１０８は、後段ＤＭＡマルチプレクサレジスタ１２２に"０００・・・００１"という値を書き込む。後段ＤＭＡ転送が完了した場合には、後段ＤＭＡＣ１２２は、ローカルＣＰＵ１０２に対して後段ＤＭＡ完了割り込みを発生する。ファームウェア１０８は、後段ＤＭＡマルチプレクサレジスタ１２２の値を読み込み、次に使用すべき後段ＤＭＡ用ディスクリプタテーブルチェインを指定するための８桁のビット、例えば、該ビット値を左に１ビットシフトさせた値を後段ＤＭＡマルチプレクサレジスタ１２２に書き込む。
【００５５】
図４は、後段ＤＭＡマルチプレクサレジスタ１２２に設定されるべき値の例を示す。ファームウェア１０８は、後段ＤＭＡ転送が完了して、後段ＤＭＡ完了割り込みが発生するごとに、後段ＤＭＡマルチプレクサレジスタ１２２の値を読み込み、次に使用すべき後段ＤＭＡ用ディスクリプタテーブルチェインを指定するための８桁のビット、例えば該値を左に１ビットシフトさせた値を後段ＤＭＡマルチプレクサレジスタ１２２に書き込む。図４に示される例では、後段ＤＭＡ用ディスクリプタテーブルチェイン７の次の要素は後段ＤＭＡ用ディスクリプタテーブルチェイン０であるため、後段ＤＭＡ用ディスクリプタテーブルチェイン７が対象となっているときに割り込みが発生した場合には、ファームウェア１０８は、"１００・・・０００"を左に１ビットシフトさせずに、"０００・・・００１"を書き込む。
【００５６】
メモリ１０４は、ワイヤレスUSBデータフレーム１０５０が含まれる。ワイヤレスUSBデータフレーム１０５０は、前段DMA転送後データ１０４２が分割されることにより、ワイヤレスＵＳＢ１．０仕様に規定されたサイズとされたものである。
【００５７】
後段ＤＭＡ転送は、後段ＤＭＡ用ディスクリプタテーブルチェイン配列１０４４を用いて実行される。
【００５８】
本無線通信装置１００は、リアルタイムオペレーティングシステム１０６を有する。
【００５９】
本無線通信装置１００は、ファームウェア１０８を有する。ファームウェア１０８は、前段ＤＭＡ転送後データ１０４２を、ワイヤレスＵＳＢ１．０仕様に規定されたサイズのデータ領域に区切る。ファームウェア１０８は、宛先やフレームサイズなどを含むワイヤレスＵＳＢヘッダの追加を行うことにより、ワイヤレスＵＳＢデータフレームを形成する。ファームウェア１０８は、該ワイヤレスＵＳＢデータフレームをメモリ１０４のワイヤレスＵＳＢデータフレーム１０５０に配置する。また、ファームウェア１０８は、後段ＤＭＡ転送の際に、メモリ１０４内のどのアドレス領域に存在するデータを送信すべきか、該転送すべきデータのサイズがどれぐらいであるかなどの情報を、後段ＤＭＡ用ディスクリプタテーブル１０４８１−１０４８ｍに書き込む。後段ＤＭＡ用ディスクリプタテーブル１０４８１−１０４８ｍは、後段ＤＭＡＣ１１２が後段ＤＭＡ転送を実施する際に読み込むものである。ファームウェア１０８は、後段ＤＭＡ用ディスクリプタテーブル１０４８１−１０４８ｍに、該情報を書き込んだ後、フラグをＦＡＬＳＥに設定する。該フラグは、後段ＤＭＡ用ディスクリプタテーブル１０４８１−１０４８ｍが後段ＤＭＡＣ１１２に転送済みであることを示すものである。
【００６０】
ファームウェア１０８は、後段ＤＭＡ用ディスクリプタテーブル１０４８１に、次の後段ＤＭＡ用ディスクリプタテーブル１０４８２の先頭アドレスを示すネクストディスクリプタテーブルポインタ情報を記述する。さらに、ファームウェア１０８は、後段ＤＭＡ用ディスクリプタテーブル１０４８２に、次の後段ＤＭＡ用ディスクリプタテーブル１０４８３の先頭アドレスを示すネクストディスクリプタテーブルポインタ情報を記述する。以下同様に、ネクストディスクリプタテーブルポインタ情報が記述される。
【００６１】
このようにして、１又は複数の後段ＤＭＡ用ディスクリプタテーブル１０４８１−１０４８ｍを繋げることにより後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎが形成される。
【００６２】
後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎに含まれるべき後段ＤＭＡ用ディスクリプタテーブルの数は、バースト数に依存する。該バースト数は、まとめて送出できるワイヤレスＵＳＢデータフレームの数により表される。該バースト数の決定は、ワイヤレスＵＳＢホストとワイヤレスＵＳＢデバイスとの間で、データ伝送に先立って行われる。該バースト数は、ワイヤレスＵＳＢ１．０仕様に規定されているプロトコルに基づいて、お互いがサポートできるバースト数の情報交換をした結果に基づいて決定される。
【００６３】
ファームウェア１０８は、後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６１の作成をおこなった後、後段ＤＭＡ転送要求設定レジスタ１２０の後段ＤＭＡ転送要求ビットをオンに設定する。また、ファームウェア１０８は、後段ＤＭＡ転送要求設定レジスタ１２０の後段ＤＭＡ用ディスクリプタテーブル１０４８１のアドレス設定フィールドに、後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６１の１番目の後段ＤＭＡ用ディスクリプタテーブル１０４８１の先頭アドレスを書き込む。該書き込みにより、ワイヤレスＵＳＢフレームの後段ＤＭＡ転送要求となる。
【００６４】
該ワイヤレスＵＳＢデータフレームは、送信ＦＩＦＯ (First-In First-Out)１１４に転送される。メモリ１０４から送信ＦＩＦＯ１１４への転送も、ＤＭＡ転送により行われる。
【００６５】
本無線通信装置１００は、前段ＤＭＡＣ１１０を有する。前段ＤＭＡＣ１１０は、前段ＤＭＡＣを実行する。
【００６６】
本無線通信装置１００は、後段ＤＭＡＣ１１２を有する。後段ＤＭＡＣ１１２は、後段ＤＭＡＣを実行する。後段ＤＭＡＣ１１２は、後段ＤＭＡＣ転送要求レジスタ１２０に先頭アドレスが書き込まれたことにより転送要求を検出する。該転送要求により、後段ＤＭＡＣ１１２は、後段ＤＭＡ転送要求設定レジスタ１２０の先頭の後段ＤＭＡ用ディスクリプタテーブル１０４８１のアドレス設定フィールドの先頭アドレスを読み込み、後段ＤＭＡ用ディスクリプタテーブル１０４８１の内容に基づいて、後段ＤＭＡ転送を行う。そして、後段ＤＭＡ用ディスクリプタテーブル１０４８１に含まれるネクストディスクリプタテーブルポインタ情報に基づいて、後段ＤＭＡ用ディスクリプタテーブル１０４８２の内容に基づいて、後段ＤＭＡ転送を行う。以下同様に、後段ディスクリプタテーブルチェイン分の後段ＤＭＡ転送を行う。
【００６７】
本無線通信装置１００は、送信ＦＩＦＯ１１４を有する。送信ＦＩＦＯ１１４は、メモリ１０４からのデータのうち先に入力されたデータを先に出力する。
【００６８】
本無線通信装置１００は、ＭＡＣハードウェア１１６を有する。ＭＡＣハードウェア１１６は、ＤＭＡ転送を行う。該ＤＭＡ転送には、前段ＤＭＡ転送と、後段ＤＭＡ転送とが含まれる。ファームウェア１０８は、前段ＤＭＡ転送用のディスクリプタテーブルを作成した後、ＭＡＣハードウェア１１６に含まれる前段ＤＭＡ転送要求設定レジスタに書き込む。該書き込みにより、ＭＡＣハードウェア１１６は前段ＤＭＡ転送を行う。
【００６９】
また、ＭＡＣハードウェア１１６は、管理機能に従って、後段ＤＭＡ転送により送信ＦＩＦＯ１１４に格納されたデータフレームをＰＨＹハードウェア１１８に入力する。該入力は、ワイヤレスＵＳＢホストからのＭＭＣフレームのＷＤＴＣＴＡ＿ＩＥに記述される時間に従って行われる。該ＰＨＹハードウェア１１８に入力されたデータフレームは、電波として空中に送出される。
【００７０】
USBデバイスにより送信されたデータフレームを受信したワイヤレスＵＳＢホストは、該データフレームに異常が無かった場合には、ＭＭＣフレームに、正しく受信したことを示すＡＣＫ情報を含める。該ＡＣＫ情報を含めたＭＭＣフレームを受信したワイヤレスＵＳＢデバイスの後段ＤＭＡＣ１１２は、後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎの、後段ＤＭＡ用ディスクリプタテーブル１０４８ｍの使用済みフラグをＴＲＵＥに設定する。
【００７１】
本無線通信装置１００は、ＰＨＹハードウェア１１８を有する。ＰＨＹハードウェア１１８は、ＭＡＣハードウェア部１１６により入力されたデータフレームのフィルタリングを行う。ＰＨＹハードウェア１１８は、周波数変換等の信号処理を行う。ＰＨＹハードウェア１１８は、ディジタルデータと電気信号との間で変換を行う。ＰＨＹハードウェア１１８は、電気信号の周波数と無線の電波の周波数との間で周波数変換を行う。ＰＨＹハードウェア１１８は、アンテナを介して電波の送受信を行う。
【００７２】
本無線通信装置１００は、後段ＤＭＡ転送要求設定レジスタ１２０を有する。後段ＤＭＡ転送要求設定レジスタ１２０は、後段ＤＭＡ転送を要求する際に設定されるレジスタである。ファームウェア１０８は、後段ＤＭＡ転送用のディスクリプタテーブルを作成した後、後段ＤＭＡ転送要求設定レジスタ１２０に書き込む。該書き込みにより、ＭＡＣハードウェア１１６は後段ＤＭＡ転送を行う。
【００７３】
本無線通信装置１００は、後段ＤＭＡマルチプレクサレジスタ１２２を有する。後段ＤＭＡマルチプレクサレジスタ１２２は、後段ＤＭＡ用ディスクリプタテーブルチェイン配列１０４４から、後段ＤＭＡ転送の対象となるべき後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎを順次選択する。後段ＤＭＡマルチプレクサレジスタ１２２は、後段ＤＭＡ転送の対象となるデータが、後段ＤＭＡ用ディスクリプタテーブルチェイン配列１０４４のどの要素であるか、換言すれば、どの後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎであるかを指定する。各後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎには、（ｎ−１）桁のビットのそれぞれのビットが対応付けられてもよい。後段ＤＭＡマルチプレクサレジスタ１２２は、各後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎのうち後段ＤＭＡ転送すべき後段ＤＭＡ用ディスクリプタテーブルチェインを指定する際に、該（ｎ−１）桁のビットのうちいずれかのビットを指定する。各後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎと（ｎ−１）桁のビットとの間の対応付けは、ハードウェア的に配線することによって行われてもよい。
【００７４】
後段ＤＭＡＣ１１２は、スケジュール管理機能により管理された時間に達したとき、後段ＤＭＡマルチプレクサレジスタ１２２の値が"１"となっているビットに対応する後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎに対して、後段ＤＭＡが要求されている場合に後段ＤＭＡを実行する。
【００７５】
＜本無線通信装置の動作＞
図５、図６は、本無線通信装置１００の動作を説明するためのフローチャートである。図５には、機器２００による処理が主に示される。
【００７６】
機器２００による処理について説明する。
【００７７】
機器２００は、画情報データ２０２４をメモリ２００に展開する（ステップＳ５０２）。例えば、メインCPU２０４は、メモリ２０２上に、画情報データ２０２４を展開する。
【００７８】
機器２００は、チェインカウンタが最大値未満であるかどうかを判定する（ステップＳ５０４）。
【００７９】
チェインカウンタが最大値未満であると判定した場合（ステップＳ５０４：ＹＥＳ）、機器２００は、前段ＤＭＡ用ディスクリプタテーブルを作成する（ステップＳ５０６）。例えば、メインCPU２０４は、前段ＤＭＡ用ディスクリプタテーブル２０２２を作成する。一方、チェインカウンタが最大値未満でないと判定した場合（ステップＳ５０４：ＮＯ）、ステップＳ５０４に戻る。
【００８０】
機器２００は、前段ＤＭＡ転送開始要求を行う（ステップＳ５０８）。例えば、メインCPU２０４は、無線通信装置１００に対して、前段ＤＭＡ転送開始要求を行う（ステップＳ５０８）。
【００８１】
機器２００は、前段ＤＭＡ転送完了の割り込みが発生したかどうかを判定する（ステップＳ５１０）。例えば、メインCPU２０４は、前段ＤＭＡ転送完了の割り込みが発生したかどうかの判定を行う。
【００８２】
前段ＤＭＡ転送完了の割り込みが発生したと判定した場合（ステップＳ５１０：ＹＥＳ）、無線通信装置１００は、ワイヤレスＵＳＢデータフレームの送信を行う（ステップＳ５１２）。該ワイヤレスＵＳＢデータフレームの送信には、後段ＤＭＡ転送が含まれる。一方、前段ＤＭＡ転送完了の割り込みが発生したと判定されない場合（ステップＳ５１０：ＮＯ）、ステップＳ５１０に戻る。前段ＤＭＡ転送完了の割り込みが発生するまで継続される。
【００８３】
本無線通信装置１００による処理について説明する。
【００８４】
図６は、本無線通信装置１００による処理が主に示される。
【００８５】
本無線通信装置１００は、ワイヤレスＵＳＢデータフレームを生成する（ステップＳ６０２）。例えば、ファームウェア１０８は、前段ＤＭＡ転送後データ１０４２を、ワイヤレスＵＳＢ１．０仕様に規定されたサイズのデータ領域に区切り、宛先やフレームサイズなどを含むワイヤレスＵＳＢヘッダの追加を行うことにより、ワイヤレスＵＳＢデータフレームを形成する。
【００８６】
本無線通信装置１００は、後段ＤＭＡ用ディスクリプタテーブルを生成する（ステップＳ６０４）。例えば、ファームウェア１０８は、後段ＤＭＡ転送の際に、メモリ１０４内のどのアドレス領域に存在するデータを送信すべきか、該転送すべきデータのサイズがどれぐらいであるかなどの情報を、後段ＤＭＡ用ディスクリプタテーブル１０４８１−１０４８ｍに書き込む。
【００８７】
本無線通信装置１００は、ステップＳ６０４により生成された後段ＤＭＡ用ディスクリプタテーブル１０４８１−１０４８ｍを、後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎに追加する（ステップＳ６０６）。例えば、ファームウェア１０８は、１又は複数の後段ＤＭＡ用ディスクリプタテーブル１０４８１−１０４８ｍを繋げることにより後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎを形成する。
【００８８】
本無線通信装置１００は、バーストサイズ分の後段ＤＭＡ用ディスクリプタテーブルを作成したかどうかを判定する（ステップＳ６０８）。例えば、ファームウェア１０８は、バーストサイズ分の後段ＤＭＡ用ディスクリプタテーブルを作成したかどうかを判定する。
【００８９】
バーストサイズ分の後段ＤＭＡ用ディスクリプタテーブルを作成したと判定した場合（ステップＳ６０８：ＹＥＳ）、本無線通信装置１００は、チェインカウンタを増加させる（ステップＳ６１０）、例えば、ファームウェア１０８は、チェインカウンタを増加させる。
【００９０】
一方、バーストサイズ分の後段ＤＭＡ用ディスクリプタテーブルを作成していないと判定した場合（ステップＳ６０８：ＮＯ）、ステップＳ６０２に戻る。バーストサイズ分の後段ＤＭＡ用ディスクリプタテーブルを作成したと判定されるまで継続される。
【００９１】
本無線通信装置１００は、後段ＤＭＡ転送開始を要求する（ステップＳ６１２）。例えば、ファームウェア１０８は、後段ＤＭＡ転送要求設定レジスタ１２０の後段ＤＭＡ用ディスクリプタテーブル１０４８１のアドレス設定フィールドに、後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６１の１番目の後段ＤＭＡ用ディスクリプタテーブル１０４８１の先頭アドレスを書き込む。該書き込みにより、ワイヤレスＵＳＢフレームの後段ＤＭＡ転送要求となる。
【００９２】
本無線通信装置１００は、後段ＤＭＡ転送完了割り込みが発生したかどうかを判定する（ステップＳ６１４）。例えば、後段ＤＭＡＣ１１２は、後段ＤＭＡ転送完了割り込みが発生したかどうかを判定する。
【００９３】
後段ＤＭＡ転送完了割り込みが発生したと判定した場合（ステップＳ６１４：ＹＥＳ）、本無線通信装置１００は、レジスタの値を１ビットシフトさせる。例えば、後段ＤＭＡマルチプレクサレジスタ１２２には、レジスタの値を１ビットシフトさせた値がファームウェア１０８から入力される（ステップＳ６１６）。
【００９４】
本無線通信装置１００は、チェインカウンタをディクリメントする（ステップＳ６１８）。例えば、ファームウェア１０８は、チェインカウンタを減少させる。一方、後段ＤＭＡ転送完了割り込みが発生しないと判定した場合（ステップＳ６１４：ＮＯ）、本無線通信装置１００は、全画情報データ（全画像情報）の送信が済んだかどうかを判定する（ステップＳ６２０）。
【００９５】
全画像情報の送信が済んだと判定した場合（ステップＳ６２０：ＹＥＳ）、終了する。一方、全画像情報の送信が済んでいないと判定した場合（ステップＳ６２０：ＮＯ）、図３のステップＳ５０４に遷移する。
【００９６】
＜チェインカウンタ＞
図７は、本無線通信装置１００の動作を示すフローチャートである。図７には、チェインカウンタに係る処理が主に示される。
【００９７】
本無線通信装置１００は、前段ＤＭＡ転送後のデータに基づいて、データフレーム及びディスクリプタテーブルチェインを生成する（ステップＳ７０２）。例えば、ファームウェア１０８は、前段ＤＭＡ転送後のデータに基づいてワイヤレスＵＳＢデータフレーム及び後段ＤＭＡ用ディスクリプタテーブルチェインを生成する。
【００９８】
本無線通信装置１００は、キューとしての後段ＤＭＡ用ディスクリプタテーブルチェイン（要素）を０（零）として、該後段ＤＭＡ用ディスクリプタテーブルチェインに対する後段ＤＭＡ転送要求をオンにする（ステップＳ７０４）。例えば、ファームウェア１０８は、後段ＤＭＡ用ディスクリプタテーブルチェイン配列の後段ＤＭＡ用ディスクリプタテーブルチェインを０として追加し、該後段ＤＭＡ用ディスクリプタテーブルチェインに対する後段ＤＭＡ転送要求をオンにする。
【００９９】
本無線通信装置１００は、後段ＤＭＡ転送要求がオンにされたため、チェインカウンタを増加させる（ステップＳ７０６）。
【０１００】
本無線通信装置１００は、後段ＤＭＡマルチプレクサレジスタのビット０を"１"に設定する（ステップＳ７０８）。後段ＤＭＡマルチプレクサレジスタ１２２のインデックスを表すフィールドの値が、チェイン０に設定される。ここで、後段ＤＭＡ転送が完了するまでの間に、前段ＤＭＡ転送が実行される。前段ＤＭＡ転送の準備の際に、チェインカウンタの値が最大値に等しい場合には前段ＤＭＡ転送の準備を行わずに待機する。ここで、最大値は、後段ＤＭＡディスクリプタテーブルチェイン配列１０４４に格納可能な後段ＤＭＡ用ディスクリプタテーブルチェインの数の最大値である。換言すれば、後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎの（ｎ−１）の値である。一方、前段ＤＭＡ転送の準備の際に、チェインカウンタの値が後段ＤＭＡ用ディスクリプタテーブルチェインの数の最大値より小さい場合には前段ＤＭＡ転送の準備を継続する。図７に示される例では、前段ＤＭＡ転送の準備が継続される。
【０１０１】
本無線通信装置１００は、前段ＤＭＡ転送後のデータに基づいて、データフレーム及びディスクリプタテーブルチェインを生成する（ステップＳ７１０）。例えば、ファームウェア１０８は、前段ＤＭＡ転送後のデータに基づいてワイヤレスＵＳＢデータフレーム及び後段ＤＭＡ用ディスクリプタテーブルチェインを生成する。
【０１０２】
本無線通信装置１００は、キューとしての後段ＤＭＡ用ディスクリプタテーブルチェイン（要素）を１として、該後段ＤＭＡ用ディスクリプタテーブルチェインに対する後段ＤＭＡ転送要求をオンにする（ステップＳ７１２）。例えば、ファームウェア１０８は、後段ＤＭＡ用ディスクリプタテーブルチェイン配列の後段ＤＭＡ用ディスクリプタテーブルチェインを１として追加し、該後段ＤＭＡ用ディスクリプタテーブルチェインに対する後段ＤＭＡ転送要求をオンにする。
【０１０３】
本無線通信装置１００は、後段ＤＭＡ転送要求がオンにされたため、チェインカウンタを増加させる（ステップＳ７１４）。
【０１０４】
本無線通信装置１００は、後段ＤＭＡ用ディスクリプタテーブルチェイン１に対応する後段ＤＭＡ転送を行う。該後段ＤＭＡ転送が完了した際に、後段ＤＭＡ転送完了割り込みが発生する（ステップＳ７１６）。例えば、ＭＡＣハードウェア１１６のスケジュール管理機能によって後段ＤＭＡ用ディスクリプタテーブルチェイン１に対応する後段ＤＭＡ転送が実行されて、後段ＤＭＡ転送完了割り込みが発生する。
【０１０５】
本無線通信装置１００は、チェインカウンタを減少させる（ステップＳ７１８）。ファームウェア１０８は、後段ＤＭＡ転送完了割り込みが発生するごとに、チェインカウンタの値を減少させる。
【０１０６】
本無線通信装置１００は、後段ＤＭＡマルチプレクサレジスタのビット１を"１"に設定する（ステップＳ７２０）。換言すれば、後段ＤＭＡマルチプレクサレジスタの値を左にビットシフトする。ファームウェア１０８は、後段ＤＭＡマルチプレクサレジスタ１２２のインデックスフィールドの値を、次の後段ＤＭＡ用ディスクリプタテーブルチェイン１に書き換える。ファームウェア１０８は、後段ＤＭＡマルチプレクサレジスタ１２２に、後段ＤＭＡマルチプレクサレジスタの値を左にビットシフトさせた値を書き込む。
【０１０７】
本無線通信装置１００は、前段ＤＭＡ転送後のデータに基づいて、データフレーム及びディスクリプタテーブルチェインを生成する（ステップＳ７２２）。例えば、ファームウェア１０８は、前段ＤＭＡ転送後のデータに基づいてワイヤレスＵＳＢデータフレーム及び後段ＤＭＡ用ディスクリプタテーブルチェインを生成する。
【０１０８】
本無線通信装置１００は、キューとしての後段ＤＭＡ用ディスクリプタテーブルチェイン（要素）を２として、該後段ＤＭＡ用ディスクリプタテーブルチェインに対する後段ＤＭＡ転送要求をオンにする（ステップＳ７２４）。例えば、ファームウェア１０８は、後段ＤＭＡ用ディスクリプタテーブルチェイン配列の後段ＤＭＡ用ディスクリプタテーブルチェインを２として追加し、該後段ＤＭＡ用ディスクリプタテーブルチェインに対する後段ＤＭＡ転送要求をオンにする。
【０１０９】
本無線通信装置１００は、後段ＤＭＡ転送要求がオンにされたため、カウンタを増加させる（ステップＳ７２６）。
【０１１０】
本無線通信装置１００は、後段ＤＭＡ用ディスクリプタテーブルチェイン２に対応する後段ＤＭＡ転送を行う。該後段ＤＭＡ転送が完了した際に、後段ＤＭＡ転送完了割り込みが発生する（ステップＳ７２８）。例えば、ＭＡＣハードウェア１１６のスケジュール管理機能によって後段ＤＭＡ用ディスクリプタテーブルチェイン２に対応する後段ＤＭＡ転送が実行されて、後段ＤＭＡ転送完了割り込みが発生する。
【０１１１】
本無線通信装置１００は、チェインカウンタを減少させる（ステップＳ７３０）。ファームウェア１０８は、後段ＤＭＡ転送完了割り込みが発生するごとに、チェインカウンタの値をディクリメントする。
【０１１２】
本無線通信装置１００は、後段ＤＭＡマルチプレクサレジスタのビット２を"１"に設定する（ステップＳ７３２）。換言すれば、後段ＤＭＡマルチプレクサレジスタの値を左にビットシフトする。ファームウェア１０８は、後段ＤＭＡマルチプレクサレジスタ１２２のインデックスフィールドの値を、次の後段ＤＭＡ用ディスクリプタテーブルチェイン２に書き換える。ファームウェア１０８は、後段ＤＭＡマルチプレクサレジスタ１２２に、後段ＤＭＡマルチプレクサレジスタの値を左にビットシフトさせた値を書き込む。
【０１１３】
このようにチェインカウンタの値を扱うことによって、前段ＤＭＡ転送、後段ＤＭＡ転送いずれにおいても、ＤＭＡ転送待ちのデータが上書きされることを回避することができる。
【０１１４】
図７では、後段ＤＭＡマルチプレクサレジスタ１２２のインデックスフィールドの値の書き換えの際に、後段ＤＭＡ転送完了割り込みの発生をトリガとする例が示される。該後段ＤＭＡ転送完了を、単に後段ＤＭＡ転送によるデータ転送が終了したことだけではなく、ワイヤレスＵＳＢホストから、正しく受信したことを示すＡＣＫ情報を含めたＭＭＣフレームを受信したことまでを含むと定義してもよい。
【０１１５】
これまで、再送が発生する場合でも、データ転送が行われた場合には、転送完了割り込みが発生する。換言すれば、後段ＤＭＡ用ディスクリプタテーブルチェインに含まれる後段ＤＭＡ用ディスクリプタテーブルに対応するワイヤレスＵＳＢデータフレームの一部に受信エラーが発生し、再送される場合でも、転送完了割り込みが発生する。
【０１１６】
本実施例では、本無線通信装置１００は、ワイヤレスＵＳＢホストにより後段ＤＭＡ用ディスクリプタテーブルチェインに含まれる後段ＤＭＡ用ディスクリプタテーブルに対応するワイヤレスＵＳＢデータフレームの全てを受信されたと判定される場合に、転送完了割り込みを発生させる。換言すれば、後段ＤＭＡ用ディスクリプタテーブルチェインに含まれる後段ＤＭＡ用ディスクリプタテーブルに対応するワイヤレスＵＳＢデータフレーム毎に、転送完了割り込みを発生させるかどうかを判定する。後段ＤＭＡ用ディスクリプタテーブルチェインに含まれる後段ＤＭＡ用ディスクリプタテーブルに対応するワイヤレスＵＳＢデータフレームの一部の受信エラーが発生した場合に、該一部のワイヤレスＵＳＢデータフレームに対応する後段ＤＭＡ用ディスクリプタテーブルだけを残し、該残した後段ＤＭＡ用ディスクリプタテーブル以外の後段ＤＭＡ用ディスクリプタテーブルを上書きして、新たに後段ＤＭＡ用ディスクリプタテーブルを作成するのは好ましくない。後段ＤＭＡ用ディスクリプタテーブルは、後段ＤＭＡ用ディスクリプタテーブルチェイン毎に作成されるためである。後段ＤＭＡ用ディスクリプタテーブルチェインに含まれる後段ＤＭＡ用ディスクリプタテーブルに対応するワイヤレスＵＳＢデータフレームの全てを受信できた場合に、転送完了割り込みを発生させることにより、本無線通信装置１００は、後段ＤＭＡ用ディスクリプタテーブルチェイン毎に、後段ＤＭＡ用ディスクリプタテーブルを作成できる。換言すれば、受信エラーが発生しているワイヤレスＵＳＢデータフレームに対応する後段ＤＭＡ用ディスクリプタテーブルが上書きされることを回避できる。
【０１１７】
すなわち、後段ＤＭＡ転送によるデータ転送が終了したことだけではなく正しく受信したことを示すＡＣＫ情報を含めたＭＭＣフレームを受信したことまでを含むと定義した場合、後段ＤＭＡ転送完了となった場合には、該データフレームの再送の必要が無く、該当するデータフレームに対応する後段ＤＭＡ用ディスクリプタテーブルチェインを上書きしても問題ないことが明確になる。該当するデータフレームに対応する後段ＤＭＡ用ディスクリプタテーブルチェインを上書きしても問題ないことが明確になるため、ディスクリプタテーブルの管理などの処理が簡単になる。
【０１１８】
本実施例において、後段ＤＭＡ転送が完了した際に、後段ＤＭＡ完了割り込みの発生を受けて、ファームウェア１０８が、ＤＭＡマルチプレクサレジスタ１２２の設定値のビットシフトを行う例について示したが、ＭＡＣハードウェア１１６により実行されるようにしてもよい。
【０１１９】
本実施例に係る無線通信装置１００によれば、前段ＤＭＡ転送と、後段ＤＭＡ転送とを、並行して実行できる。複数の後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎを設け、該複数の後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎを配列化したためである。
【０１２０】
複数の後段ＤＭＡ用ディスクリプタテーブルチェイン１０４６ｎを配列化することにより、後段ＤＭＡ用ディスクリプタテーブルチェイン配列１０４４を構成する。該構成により、ＭＡＣハードウェア１１６のスケジュール管理機能により時間管理されて実行される後段ＤＭＡ転送の完了待ちの間に、次の前段ＤＭＡ転送を実行できる。該次の前段ＤＭＡ転送されたデータからワイヤレスＵＳＢデータフレームを作成し、後段ＤＭＡ用ディスクリプタテーブルチェインを作成する際に、後段ＤＭＡ転送の対象である後段ＤＭＡ用ディスクリプタテーブルチェインを上書きすることなく設定できるためである。
【０１２１】
後段ＤＭＡ用ディスクリプタテーブルチェインを指定する際には、後段ＤＭＡマルチプレクサレジスタ１２２により、複数の後段ＤＭＡ用ディスクリプタテーブルチェインのそれぞれに対応するビットを"１"に設定する。後段ＤＭＡ転送完了後に、該後段ＤＭＡマルチプレクサレジスタ１２２のレジスタの値を、左に１ビットシフトさせる。１ビットシフトさせることにより、複数の後段ＤＭＡ用ディスクリプタテーブルチェインのうち、次の後段ＤＭＡ用ディスクリプタテーブルチェインに切り替えることができる。
【０１２２】
本実施例では、一例としてワイヤレスＵＳＢ技術を適用した無線通信装置について説明したが、時分割多元接続(TDMA: Time Division Multiple Access)方式が適用される無線通信装置に適用できる。
【０１２３】
本通信装置は、
通信相手となる通信装置に送信すべきデータを格納する、前段ＤＭＡ転送後データとしてのデータ格納領域
該データ格納領域に格納されたデータを分割した分割データを格納する、ワイヤレスＵＳＢデータフレームとしての分割データ格納領域、及び
該分割データに対応する、後段ＤＭＡ用ディスクリプタテーブルチェインとしての記述情報を格納する記述情報テーブル格納領域
を有するメモリと、
該メモリに格納されたデータを送信する、送信ＦＩＦＯ、ＭＡＣハードウェア、及びＰＨＹハードウェアとしての送信部と、
前記分割データに対応する記述情報に従って、前記分割データを前記送信部に転送する、後段ＤＭＡＣとしての転送部と、
該転送部により前記分割データが前記送信部に転送される度に、前記記述情報テーブル格納領域を切り替えるように指定する、後段ＤＭＡＣマルチプレクサレジスタとしてのレジスタと
を有する。
【０１２４】
送信データフレームの生成及びＤＭＡ転送要求の実施を高速に行うことが可能となるため、システム全体のスループットを向上させることができる。
【０１２５】
さらに、
前記分割データ格納領域は、前記通信相手となる通信装置との間で通信に先立って設定されるバースト数により表される１又は複数のデータフレームを有し、
前記記述情報テーブル格納領域は、前記分割データ格納領域に含まれるデータフレームと同数の、後段ＤＭＡ用ディスクリプタテーブルとしての記述情報を有する。
【０１２６】
通信相手となる通信装置からのデータと、分割データ格納領域に格納させるべきデータの区切りを共通にできるため、メモリの使用効率を向上させることができる。
【０１２７】
さらに、
当該通信装置は、ワイヤレスＵＳＢ仕様に従う。
【０１２８】
さらに、
レジスタは、前記記述情報テーブル格納領域のうち最後の記述情報テーブル格納領域を切り替える際に、最初の記述情報テーブル格納領域を指定する。
【０１２９】
さらに、
前記記述情報テーブル格納領域は、リングバッファにより構成される。
【０１３０】
複数の記述情報テーブル格納領域の最後の記述情報テーブル格納領域に対して特別な処理を必要とせず、記述情報テーブル格納領域の指定が容易となる。
【０１３１】
さらに、
前記レジスタは、前記記述情報テーブル格納領域を切り替える指定を、各記述情報テーブル格納領域に対応付けられたビットを１に設定することにより行う。
【０１３２】
ＤＭＡ転送の対象とすべき記述情報テーブル格納領域の指定をビットシフトにより行うことにより、ＤＭＡ転送の対象の指定を容易にできる。
【０１３３】
さらに、
前記データ格納領域へ通信相手となる通信装置に送信すべきデータを格納する処理と、前記転送部による前記分割データを前記送信部に転送する処理とが並行して行われる。
【０１３４】
送信データフレームの生成及びＤＭＡ転送要求の実施を高速に行うことが可能となるため、システム全体のスループットを向上させることができる。
【０１３５】
さらに、
前記複数の記述情報テーブル格納領域の数に対応するカウンタ
を有し、
前記生成部は、前記記述情報を生成する度に前記カウンタを増加させ、
前記転送部は、前記送信部に前記分割データを転送する度に前記カウンタを減少させ、
前記生成部は、前記カウンタの値に基づいて、前記分割データ及び該分割データに対応する記述情報を生成するかどうかを判定する。
【０１３６】
ＤＭＡ転送待ち状態にあるデータフレームの上書きを回避できる。
【０１３７】
さらに、
前記転送部は、前記分割データ格納領域に含まれるデータフレームの全てが前記通信相手となる通信装置により正常に受信されたと判定された場合に、前記分割データの前記送信部への転送が完了したと判定する。
【０１３８】
データフレームの再送を考慮する必要なく、分割データ格納領域の解放、記述情報の開放におけ処理が簡単になる。
【０１３９】
本実施例により提供されるメモリデバイスは、
データを格納するデータ格納領域
該データ格納領域に格納されたデータを分割した分割データを格納する分割データ格納領域、及び
該分割データに対応する記述情報を格納すべき複数の記述情報テーブル格納領域
を有し、
前記データ格納領域には、通信相手となる通信装置に送信すべきデータが格納され、
前記分割データに対応する記述情報に従って、前記分割データが転送される度に、前記記述情報テーブル格納領域が切り替えられる。
【０１４０】
さらに、
前記分割データ格納領域は、１又は複数のデータフレームを有し、
前記記述情報テーブル格納領域は、前記分割データ格納領域に含まれるデータフレームと同数の記述情報を有する。
【０１４１】
本実施例により提供される方法は、
通信装置における方法であって、
前記通信装置は、
通信相手となる通信装置に送信すべきデータを格納するデータ格納領域
該データ格納領域に格納されたデータを分割した分割データを格納する分割データ格納領域、及び
該分割データに対応する記述情報を格納する記述情報テーブル格納領域
を有するメモリ
を有し、
該メモリに格納されたデータを送信する送信ステップと、
前記分割データに対応する記述情報に従って、前記分割データを、前記送信ステップを実行する送信部に転送する転送ステップと、
該転送ステップにより前記分割データが前記送信部に転送される度に、前記記述情報テーブル格納領域を切り替えるように指定するステップと
を有する。
【０１４２】
以上、本発明は特定の実施例を参照しながら説明されてきたが、各実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウエアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【０１４３】
１００  無線通信装置
１０２  ローカルCPU(Central Processing Unit)
１０４  メモリ
１０４２  前段DMA転送後データ
１０４４  後段DMA用ディスクリプタテーブルチェイン配列
１０４６ｎ（ｎは、０≦ｎの整数）  後段DMA用ディスクリプタテーブルチェイン
１０４８ｍ（ｍは、ｍ＞０の整数）  後段DMA用ディスクリプタテーブル
１０５０  ワイヤレスUSBデータフレーム
１０６  リアルタイムオペレーティングシステム
１０８  ファームウェア
１１０  前段DMAC
１１２  後段DMAC
１１６  MACハードウェア
１１８  PHYハードウェア
１２０  後段DMA転送要求設定レジスタ
１２２  後段DMAマルチプレクサレジスタ
２００  機器
２０２  メモリ
２０２２  前段ＤＭＡ用ディスクリプタテーブル
２０２４  画情報データ
２０４  メインＣＰＵ
３００  バス
【先行技術文献】
【特許文献】
【０１４４】
【特許文献１】特開２００２−０４１４４５号公報
【特許文献２】特表２００８−５４６２３７号公報
【特許文献３】特開２００７−１６６５３８号公報
【図１】
0005494228.tif 000002
【図２】
0005494228.tif 000003
【図３】
0005494228.tif 000004
【図４】
0005494228.tif 000005
【図５】
0005494228.tif 000006
【図６】
0005494228.tif 000007
【図７】
0005494228.tif 000008