JP2010088000A - ワイヤレスusbホスト装置 - Google Patents

ワイヤレスusbホスト装置 Download PDF

Info

Publication number
JP2010088000A
JP2010088000A JP2008256854A JP2008256854A JP2010088000A JP 2010088000 A JP2010088000 A JP 2010088000A JP 2008256854 A JP2008256854 A JP 2008256854A JP 2008256854 A JP2008256854 A JP 2008256854A JP 2010088000 A JP2010088000 A JP 2010088000A
Authority
JP
Japan
Prior art keywords
wireless usb
data
usb host
data rate
transmission
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.)
Granted
Application number
JP2008256854A
Other languages
English (en)
Other versions
JP5262535B2 (ja
Inventor
Takeshi Ejima
猛 江島
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008256854A priority Critical patent/JP5262535B2/ja
Publication of JP2010088000A publication Critical patent/JP2010088000A/ja
Application granted granted Critical
Publication of JP5262535B2 publication Critical patent/JP5262535B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Transceivers (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】データ伝送効率を向上させたワイヤレスUSBホスト装置を提供する。
【解決手段】ワイヤレスUSBデバイスとの間において、ワイヤレスUSBによる伝送データの通信を行なうためのワイヤレスUSBホスト装置において、伝送データの通信を行なう際の単位時間当たりの伝送データ量を算出し、伝送データ量に基づいて伝送データの通信を行なう際のデータレートを動的に調整し、伝送データの通信を行なうことを特徴とするワイヤレスUSBホスト装置を提供することにより上記課題を解決する。
【選択図】 図1

Description

本発明は、ワイヤレスUSBホスト装置に関する。
ワイヤレスUSBは、短距離間の有線通信規格として広く普及しているUSB(Universal Serial Bus)を拡張して、有線通信の安全性と速度を確保しながら、無線通信の使いやすさを実現させた技術規格である。
ワイヤレスUSBにおいては、無線技術としてUWB(Ultra Wide Band)技術が採用されている。UWBは、3.1GHzから10.6GHzまでの7.5GHzの周波数帯域を使用する無線方式である。このワイヤレスUSBは、無線LANと比較して、高速、かつ、安全であるという特徴を有しており、次世代の無線技術として注目されているものであり、プリンタやスキャナ等やビデオ、オーディオ等の情報の通信に用いることができる。
ワイヤレスUSBは中心となるワイヤレスUSBホストと、このワイヤレスUSBにより制御される複数のワイヤレスUSBデバイスによって構成されている。
例えば、ワイヤレスUSBホストからワイヤレスUSBデバイスへのデータ伝送においては、ワイヤレスUSBホストが、事前に、どのワイヤレスUSBデバイスあてに、いつデータを送るかを通知する。それに対して、ワイヤレスUSBデバイスは、その通知された時間に送信されるデータを受信する。
一方、ワイヤレスUSBデバイスからワイヤレスUSBホストへのデータ伝送においては、ワイヤレスUSBホストが、事前に、どのワイヤレスUSBデバイスがいつデータを送るべきかを通知する。それに対し、ワイヤレスUSBデバイスは、その通知された時間にデータを転送する。
このように、ワイヤレスUSBホストとワイヤレスUSBデバイスの間における通信は、ワイヤレスUSBホストがワイヤレスUSBデバイスを制御する方式で行なわれる。
また、ワイヤレスUSBホストとワイヤレスUSBデバイスとの間におけるデータ転送効率、即ち、単位時間当たりの通信データ量となるスループット値を高めるためには、基本的には、ワイヤレスUSBデバイスがサポートするデータレートの中で、最も高いレートであることが望ましい。
しかしながら、ワイヤレスUSBホストとワイヤレスUSBデバイス間の距離や、周囲の電波状況等により、ワイヤレスUSBデバイスがサポートするデータレートの中で最も高いデータレートにおける伝送が、必ずしも、最もスループットを高くするものとならない場合がある。よってスループットを高めるため、データレートを動的に変更する方法が考えられている。例えば、無線LANにおける技術の中には、データレートと必要最小受信レベルしきい値の対応が規定されており、あるデータレートにおける情報の伝送中における受信レベルが、そのレートに対する最小受信レベルしきい値を下回った場合、自動的にレートを下げるという方法が用いられている。
また、特許文献1では、無線LANにおいて、データ受信側の機器から送信側の機器に対して、正しくデータを受信したことを通知するためのACKパケットが送られない場合には、データ送信側が、送信データレートを下げる方法が記載されている。
また、特許文献2では、受信データの誤りの有無を調べることにより、伝送失敗率を求め、得られた失敗率に基づき伝送レートを変化させる方法が記載されている。
特開2005−102228号公報 特開2003−51781号公報
ところで、ワイヤレスUSBは、3.1GHzから10.6GHzまでの広い周波数帯域をベースとしており、無線LANにおける技術のような、データレートと必要最小受信レベルしきい値の対応関係は、周波数帯によって変化するため、一様にはならないという問題点を有している。
また、特許文献1に記載されている方法では、データ受信側の機器から送信側の機器に対して、正しくデータを受信したことを通知するためのACKパケットを利用している。このような方法をワイヤレスUSBに適用すると、ワイヤレスUSBホスト機器をデータ送信側として用いた場合には、このような方法を用いてデータレートの調整を行なうことが可能であるが、データ受信側として用いた場合には、データレートの調整を行なうことができないといった問題点を有していた。
また、特許文献2に記載されている方法では、受信データの誤りの有無を調べることにより、伝送失敗率を求める。よって、ワイヤレスUSBホスト機器をデータ送信側として用いる場合には、データレートの調整を行なうことができない。さらに、受信データの誤りの有無を調べるため、処理が重くなる傾向にある。
本発明は、このような問題に対しなされたものであり、ワイヤレスUSBにおけるデータ通信において、データ伝送効率を向上させたワイヤレスUSBホスト装置を提供することができる。また、ワイヤレスUSBホストからワイヤレスUSBデバイスへ、また、ワイヤレスUSBデバイスからワイヤレスUSBホストへの双方におけるデータ伝送において、データ伝送効率を向上させたワイヤレスUSBホスト装置を提供するものである。
本発明は、ワイヤレスUSBデバイスとの間において、ワイヤレスUSBによる伝送データの通信を行なうためのワイヤレスUSBホスト装置において、前記伝送データの通信を行なう際の単位時間当たりの伝送データ量を算出し、前記伝送データ量に基づいて前記伝送データの通信を行なう際のデータレートを動的に調整し、前記データレートに基づき前記伝送データの通信を行なうことを特徴とする。
また、本発明は、前記データレートの動的な調整は、前記ワイヤレスUSBホスト装置における送信と受信の双方向について行なわれるものであることを特徴とする。
また、本発明は、前記伝送データ量は、DMA転送のために設定されたデータサイズの値に基づき算出するものであることを特徴とする。
また、本発明は、前記データサイズの値は対応させたテーブルの配列として記憶されているものであって、前記テーブルはチェーンとして用いられるものであることを特徴とする。
また、本発明は、前記データレートの調整は、前記単位時間当たりの伝送データ量を所定の基準値と比較し、前記比較の結果に基づき前記データレートを変更し調整するものであることを特徴とする。
また、本発明は、前記基準値との比較は、現在のレートよりも下げるか否かを判断するものであることを特徴とする。
また、本発明は、前記基準値との比較は、現在のレートよりも上げるか否かを判断するものであることを特徴とする。
また、本発明は、前記データレートの調整は、所定の時間ごとに定期的に行なわれるものであることを特徴とする。
また、本発明は、前記データレートは、ベンダーの独自の設定を格納するレジスタ群の領域内において設定されるものであることを特徴とする。
また、本発明は、前記伝送データのファイルの最後となる伝送データには、前記ファイルの最後の伝送データである旨を示すデータパターンが含まれており、前記データパターンを検出した場合には、前記データレートの調整を行なわないことを特徴とする。
また、本発明は、前記データレートの動的な調整は、アイソクロナス転送モードにおいて行なうことを特徴とする。
本発明によれば、ワイヤレスUSBにおけるデータ通信において、データ伝送効率を向上させたワイヤレスUSBホスト装置を提供することができる。また、ワイヤレスUSBホストからワイヤレスUSBデバイスへ、また、ワイヤレスUSBデバイスからワイヤレスUSBホストへの双方におけるデータ伝送において、データ伝送効率を向上させたワイヤレスUSBホスト装置を提供することができる。
次に、本発明を実施するための最良の形態について、以下に説明する。
〔第1の実施の形態〕
第1の実施の形態について説明する。本実施の形態は、ワイヤレスUSBホストからワイヤレスUSBデバイス(不図示)へのデータ伝送、即ち、ワイヤレスUSBホストにおける送信方向においてデータレートを変更することが可能なワイヤレスUSBホスト装置である。
図1に、本実施の形態におけるワイヤレスUSBホスト装置の構成図を示す。本実施の形態におけるワイヤレスUSBホスト装置は、ホストコントローラ1とターゲットデバイス2により構成されており、このホストコントローラ1とターゲットデバイス2は、PCI−Expressバス3を介して接続されている。
ホストコントローラ1は、メインCPU(Central Processing Unit)10とメモリ11を有しており、さらに、メモリ11は、オペレーティングシステム12及びデバイスドライバ13を有している。
メインCPU10は、メモリ11内におけるオペレーティングシステム12を実行させ、オペレーティングシステム12上においてデバイスドライバ13を実行させる。
デバイスドライバ13は、PCI−Expressバス3を介してターゲットデバイス2とのデータの送受信を行なうとともに、後述するMAC部22のレジスタに対して値の読み書きを行なうことによりターゲットデバイス2を制御する。
また、ターゲットデバイス2は、サブCPU20と、メモリ21と、MAC部22と、PHY(Physical Layer)部23と、アンテナ24とを備えている。
サブCPU20は、サブCPU内DMAC30を有している。
メモリ21は、リアルタイムオペレーティングシステム25と、ファームウェア26とを有している。
MAC部22は、DMAC(Direct Memory Access Controller)27、送信FIFO(First In First Out)28、受信FIFO29を有しており、データフレームの生成やデータフレームのファイリング等の処理を行なう。
PHY部23は、RF部40、PHY/RFレジスタ41、ベースバンド部42を有しており、周波数変換等の信号処理を行なう。RF部40はアンテナ24と接続されており、ベースバンド部42は、送信部50と受信部51とを有している。
サブCPU20は、メモリ21を用いて、リアルタイムオペレーティングシステム25を実行し、リアルタイムオペレーティングシステム25上で、MAC部22の各部を制御するためのファームウェア26を実行させる。
ホストコントローラ1におけるメモリ11と、ターゲットデバイス2におけるメモリ21との間のデータ転送は、DMAC27によるDMA(Direct Memory Access)転送によって行なわれる。また、メモリ21とMAC部22内の送信FIFO28と受信FIFO29との間においてもデータ転送が行なわれる。このデータ転送はサブCPU内DMAC30によるDMA転送によって行なわれる。
データを送信する場合には、メモリ11からメモリ21にデータがDMA転送され、その後、メモリ21からMAC部22内の送信FIFO28にDMA転送される。一方、データを受信する場合には、MAC部22内の受信FIFO29からメモリ21にデータがDMA転送され、その後、メモリ21からメモリ11にDMA転送される。
ファームウェア26を実行するサブCPU20は、MAC部22における各種レジスタの設定や、ホストコントローラ1との間のデータの受送信等を行なう。また、ファームウェア26を実行するサブCPU20は、PHY部23におけるPHY/RFレジスタ41の値の読み書きをMAC−PHY(WiMedia MAC−PHY)バス31を介して行なう。
MAC部22及びPHY部23は、それぞれWiMedia MAC及びWiMedia PHYの各仕様に基づいた処理を実行する。また、MAC部22及びPHY部23との間の通信は、WiMedia MAC−PHYインターフェースの仕様により規定されており、異なるベンダーのMAC部22とPHY部23とを接続して使用することも可能である。
次に、図2に基づきWiMedia MAC−PHYインターフェースの仕様について説明する。図に示すように、PHY/RFレジスタ41に対して、ベースアドレス(基準アドレス)に対するオフセットが、0x00番地から0x1F番地までの範囲は、送受信するチャネルなどの動的なパラメータ設定を格納するための領域(ダイナミックレジスタ群)として規定されている。また、ベースアドレスに対するオフセットが0x20番地から0x7F番地までの範囲は、ターゲットデバイス2がサポートする通信速度及び信号送出レベルの設定値の値等の静的な設定を格納するための領域(スタティックレジスタ群)として規定されている。また、ベースアドレスに対するオフセットが0x80番地から0xFF番地までの範囲は、ベンダーによる独自の設定を格納するための領域(ベンダー領域)として規定されている。
図3に示すように、本実施の形態では、このベンダー領域内のレジスタ群の一つとして、例えば、オフセット0xA0番地に送信データレート設定レジスタを割り当て、0xA1番地に受信データレート設定レジスタを割り当てる。ワイヤレスUSBが取り得るデータレートは、53.3、80、106.7、160、200、320、400、480Mbpsの8通りであるため、各レジスタの下位3ビットを用いて、53.3Mbpsに0と、80Mbpsに1と、106.7Mbpsに2と、160Mbpsに3と、200Mbpsに4と、320Mbpsに5と、400Mbpsに6と、480Mbpsに7と割り当てる。よって、送信データレート設定レジスタにおいては、TX_RATEが、受信データレート設定レジスタにおいては、RX_RATEが、各々設けられている。尚、図3においては、割り当てられる数字は2進法で記載されている。
ワイヤレスUSBホストとワイヤレスUSBデバイスがデータ通信できるようにするためには、ワイヤレスUSBデバイスが、ワイヤレスUSBホストの指示に基づいて、コンフィギュレーションされることが前提となる。尚、ここで、コンフィギュレーションとは、ワイヤレスUSBホストとワイヤレスUSBデバイスとの間での通信が可能となるように、パケットサイズ、エンドポイント、インターフェース数、最大消費電力等のワイヤレスUSBデバイスの特性を表すパラメータを設定して、ワイヤレスUSBデバイスを構成することを意味するものである。
図4に基づき、ワイヤレスUSBデバイスがコンフィギュレーションされるまでのワイヤレスUSBホストとワイヤレスUSBデバイスにおける情報の受け渡し、及び、ワイヤレスUSBデバイスの状態遷移について説明する。
まず、非接続状態にあるワイヤレスUSBデバイスは、ワイヤレスUSBホストが送出するMMCパケットをモニタし、その中のCHID(Connection Host Identifier)を調べ、自らが接続可能なワイヤレスUSBホストであるか否かを調べる。接続可能なワイヤレスUSBホストである場合には、MMCパケット中に含まれるワイヤレスUSBデバイスからワイヤレスUSBホストに通知メッセージを送るための時間について記述したWDNSCTA_IEを検出した後、その時間に、接続要求を表すDN_CONNECTメッセージをワイヤレスUSBホストあてに送出する。DN_CONNECTメッセージを受け取ったワイヤレスUSBホストは、接続許可を表すWCONNECTACK_IEをMMCパケットに含めて、ワイヤレスUSBデバイスあてに送出する。これにより、ワイヤレスUSBホストとワイヤレスUSBデバイスは、接続状態における非認証状態に遷移する。
次に、4ウェイハンドシェークという手順により、ワイヤレスUSBホストとワイヤレスUSBデバイスの間で、暗号鍵を作成するための情報の受け渡しを行ない接続状態における認証状態に遷移する。
次に、ワイヤレスUSBデバイスは、ワイヤレスUSBホストから送出されるワイヤレスUSBデバイスを識別するためのDevice Addressが0(ゼロ)に設定されたSET_ADDRESSデバイスリクエストを受け取ることにより、デフォルト状態に遷移する。
その後、ワイヤレスUSBデバイスは、ワイヤレスUSBホストから送出される、Device Addressが0(ゼロ)以外の値に設定されたSET_ADDRESSデバイスリクエストを受け取ることにより、アドレス割り当て状態に遷移する。
次に、ワイヤレスUSBホストは、ワイヤレスUSBデバイスが所有するコンフィギュレーションディスクリプタを調べるために、どのディスクリプタが欲しいかを示すパラメータに、コンフィギュレーションディスクリプタであることを示す値を設定して、GET_DESCRIPTORデバイスリクエストを発行する。これに対して、ワイヤレスUSBデバイスは、自らが所有するコンフィギュレーションディスクリプタ全てをワイヤレスUSBホストに通知する。
尚、各コンフィギュレーションディスクリプタテーブルには、それぞれを識別するための値であるbConfiguration Valueが含まれている。ワイヤレスUSBホストは、受け取ったコンフィギュレーションディスクリプタの内容をもとに、ワイヤレスUSBデバイスをどのようにコンフィギュレーションしたいかを決定して、そのコンフィギュレーションディスクリプタに対応するbConfiguration Valueをパラメータとして、SET_CONFIGURATIONデバイスリクエストを発行する。ワイヤレスUSBデバイスは、その内容に応じて、自らをコンフィギュレーションする。これにより、コンフィギュレーション状態に遷移する。
以上が、ワイヤレスUSBにおける非接続状態からコンフィギュレーション状態に遷移するまでの流れの概要である。
コンフィギュレーション状態に遷移した後、ワイヤレスUSBホストからワイヤレスUSBデバイスへとデータを転送する場合には、ワイヤレスUSBホストが送信するデータフレームのPHYヘッダ中のData rateフィールドに、送信データレートを設定する。本実施の形態では、DMA転送によって行なわれる単位時間当たりのデータ送信量、即ち、送信スループット値を定期的に計算し、計算された送信スループット値をもとに必要に応じて、Data rateフィールドに設定する送信データレートを更新するという手法を用いる。
次に、図5に基づき本実施の形態におけるワイヤレスUSBホスト装置の送信データレートの調整方法について説明する。
本実施の形態におけるワイヤレスUSBホスト装置のDMA転送は、1つのパケットごとに、DMA転送用バッファ及びDMAディスクリプタテーブルを割り当てる。DMAディスクリプタテーブルには、DMA転送用バッファの起点となるアドレス(以下「START_ADD」と記す)、データサイズ(以下「SIZE」と記す)、次のDMAデータスクリプタテーブルのアドレス(以下「NEXT_ADD」と記す)、データ送信後のステータス(以下「STATUS」と記す)などの情報を記憶させる。
そして、1からn番目まで(nは2以上の整数)のDMAディスクリプタテーブルのチェーンを形成する。即ち、x番目(1≦x<n)のDMAディスクリプタテーブルのNEXT_ADDには、x+1番目のDMAディスクリプタテーブルの先頭アドレスを設定する。そして、n番目のDMAディスクリプタテーブルのNEXT_ADDには、1番目のDMAディスクリプタテーブルの先頭アドレスを設定する。x番目のDMAディスクリプタテーブルにおけるSTART_ADDとNEXT_ADDの値は、一度、値を設定すれば、その後、データ転送中に書き換える必要はなく不変となるものである。
DMAディスクリプタテーブルは、DMA送信用とDMA受信用とで、それぞれ別個なものを用いる。
DMA送信用ディスクリプタテーブルにおけるSTART_ADD、SIZE、NEXT_ADD等の値の設定は、デバイスドライバ13が行なう。デバイスドライバ13は、オペレーティングシステム12から渡されるデータフレームを、START_ADDに設定されるDMA転送用バッファに書き込む。そして、そのフレームサイズをSIZEに設定する。
本実施の形態では、このSIZEへの設定を行なう際に、x番目のDMA送信用ディスクリプタテーブルに、SIZEとしてどの値を書き込んだか、という情報を対応づけて配列の形式で記憶させておく。
前述のDMA送信用ディスクリプタテーブルのSTATUSは、2つのフラグ情報から構成される。1つは、デバイスドライバ13が、そのDMA送信用ディスクリプタテーブルに、次のデータを設定することが可能な状態にあるか否か、即ち、デバイスドライバ13が設定したデータについてDMA送信済みか否かを示すAVAILABLEフラッグである。デバイスドライバ13がデータフレームのSIZEを設定した際に、このAVAILABLEフラグをOFFに設定する。そして、データをDMA転送すると、DMAC27がAVAILABLEフラグをONに設定する。
もう一つは、DMA転送が正しくなされたか否かを示すCORRECTフラグである。DMA転送を行なった後、DMA転送が正しくなされていれば、DMAC27がCORRECTフラグをONにする。一方、DMA転送において何からのエラーが発生した場合には、DMAC27がCORRECTフラグをOFFにする。DMAC27は、送信データのDMA転送を終了すると、DMA送信完了割り込みを発生させる。デバイスドライバ13は、このDMA送信完了割り込みが発生するごとに、CORRECTフラグの値がONであるかOFFであるかを調べ、ONであれば、そのときのDMA送信用ディスクリプタテーブルx番目に対するSIZEの値を配列から読み込んでデータサイズ累積カウンタに足し合わせた後、どのDMA送信用ディスクリプタテーブルであるかを示すカウンタを1つインクリメントする。CORRECTフラグの値がOFFにするである場合には、データサイズ累積カウンタへの足し合わせは行なわずに、どのDMA送信用ディスクリプタテーブルであるかを示すカウンタを1つインクリメントする。
1番目のデータフレーム送信開始後に、ある所定の時間ごとにタイマー割り込みを発生させるタイマーを起動する。タイマー割り込みが発生すると、デバイスドライバ13中のデータレート調整処理関数がコールされる。
次に、図6に基づき送信時におけるデータレート調整処理関数の流れを説明する。
最初に、ステップ2(S2)において、送信したファイルにファイル末尾であることを示すEOF(End of Flag)が含まれているか否かのチェックを行なう。EOFが含まれている場合には、その後の受信データレートの調整を必要としないため、そこでデータの受信が終了する。よって、EOFが含まれていると判断された場合には終了し、EOFが含まれていないと判断された場合には、ステップ4に移行する。
次に、ステップ4(S4)では、送信スループット値の計算を行なう。具体的には、データサイズ累積カウンタの値をタイマー間隔で割ることにより、送信スループット値を求める。
次に、ステップ6(S6)では、データサイズ累積カウンタをクリアにする。これは、次の送信スループット値を計算するために行なわれるものである。
次に、求めた送信スループット値をもとに、送信データレートの調整が必要であるか否かが判断される。
この判断を行なうために、図7に示すようなデータレートごとに、UPしきい値とDOWNしきい値とを定めたテーブルを事前に作成しておく。UPしきい値は、そのデータレートで十分に高い送信スループットが得られているため、その一つ上のデータレートに上げることが可能であることを示すしきい値である。一方、DOWNしきい値は、その送信データレートでは十分な送信スループットが得られていないため、その一つ下の送信データレートに下げるべきであることを示すしきい値である。DOWNしきい値を下回る場合の具体的な過程としては、例えば、送信側にあたるワイヤレスUSBホストと受信側に当たるワイヤレスUSBデバイスの間における電波状況がよくないと、ワイヤレスUSBデバイスからの送信される正しくデータを受信したことを通知するためのACKパケットが届かない場合があり、このような場合には、再送が必要となるため送信FIFO28が空かなくなる。この状態が続くとDMA転送が滞り、送信スループット値が低くなり、DOWNしきい値を下回ることになる。
よって、ステップ8(S8)では、現在の送信データレートは、取り得る値における最低値であるか否かが判断される。現在の送信データレートが取り得る値における最低値であると判断された場合には終了し、現在の送信データレートが取り得る値における最低値でないと判断された場合には、ステップ10に移行する。
次に、ステップ10(S10)では、送信スループット値が、現在の送信データレートにおけるDOWNしきい値を下回っているか否かが判断される。送信スループット値が現在の送信データレートにおけるDOWNしきい値を下回っていると判断された場合にはステップ12に移行し、送信スループット値が現在の送信データレートにおけるDOWNしきい値を下回っていないと判断された場合にはステップ16に移行する。
次に、ステップ12(S12)では、現在の送信データレートよりも1つ低いデータレートを送信データレート設定レジスタに設定する。
次に、ステップ14(S14)では、PHY部23において新たに設定された送信データレートを送信フレームのPHYヘッダ内のData rateフィールドに設定し終了する。
一方、ステップ16(S16)では、現在の送信データレートは、取り得る値における最高値であるか否かが判断される。現在の送信データレートが取り得る値における最高値であると判断された場合には終了し、現在の送信データレートが取り得る値における最高値でないと判断された場合には、ステップ18に移行する。
次に、ステップ18(S18)では、送信スループット値が、現在の送信データレートにおけるUPしきい値を上回っているか否かが判断される。送信スループット値が現在の送信データレートにおけるUPしきい値を上回っていると判断された場合にはステップ20に移行し、送信スループット値が現在の送信データレートにおけるUPしきい値を上回っていないと判断された場合には終了する。
次に、ステップ20(S20)では、現在の送信データレートよりも1つ高いデータレートを送信データレート設定レジスタに設定する。
次に、ステップ22(S22)では、PHY部23において新たに設定された送信データレートを送信フレームのPHYヘッダ内のData rateフィールドに設定し終了する。
このようにして、本実施の形態におけるワイヤレスUSBホスト装置は、DMA送信する際に用いるDMA送信用ディスクリプタテーブルと送信データのサイズとを対応づけて保存しておき、DMA送信完了割り込みが発生する度に、送信データのサイズを蓄積し、タイマー割り込み発生ごとに送信スループットを計算し、その値が、その送信データレートにおけるDOWNしきい値を下回っているか否か、また、UPしきい値を上回っているか否かを調べ、その結果に基づき送信データレートを上げ下げして調節するため、効率的なデータ送信が可能となる。
なお、以上のデータレートを動的に調整するための処理では、送信スループット値に基づき送信データレートの変更の必要性の有無を判断している。そのため、データが連続的に送信されることが前提となる。そこで、これらの調整はワイヤレスUSBの仕様に定められた連続的で一定の転送速度が要求される用途で用いられるアイソクロナス転送モードの際にのみ行なわれる。
〔第2の実施の形態〕
第2の実施の形態は、ワイヤレスUSBデバイスからワイヤレスホストへのデータ伝送、即ち、ワイヤレスUSBホストにおける送信方向においてデータレートを変更することが可能なワイヤレスUSBホスト装置である。
本実施の形態におけるワイヤレスUSBホスト装置の構成及び、非接続状態からコンフィギュレーション状態に遷移するまでの流れは、第1の実施の形態と同様である。
コンフィギュレーション状態に遷移した後、ワイヤレスUSBデバイスからワイヤレスUSBホストへとデータを送信する場合には、ワイヤレスUSBホストが制御パケットとなるMMCパケット中の情報要素WDTCTA_IE中のbmTXAttributesフィールドに、データレートを設定する。
本実施の形態では、DMA転送によって行なわれる単位時間当たりのデータ受信量、即ち、受信スループット値を定期的に計算し、計算された受信スループット値に基づき、必要に応じてbmTXAttributesに設定するデータレートを更新するものである。
次に、本実施の形態における受信データレートの調整方法について説明する。
本実施の形態におけるワイヤレスUSBホスト装置のデータ受信時においては、DMA転送において、1つのパケットごとにDMA転送用バッファ及びDMA受信用ディスクリプタテーブルを割り当てる。
DMA受信用ディスクリプタテーブルのSTATUSは、AVAILABLEフラグ及びCORRECTフラグの2つのフラグ情報により構成される。受信時においては、AVAILABLEフラグは、そのディスクリプタテーブルを次のDMA受信に使用することが可能な状態であるか否か、即ち、DMA受信したデータをデバイスドライバ13が読取り済みか否かを示すものである。CORRECTフラグは、その受信データのDMA転送が正しくなされたか否かを示す。DMAC27は、受信データのDMA転送を終了すると、AVAILABLEフラグをOFFに設定し、DMA受信完了割り込みを発生させる。DMA受信完了割り込みが発生すると、デバイスドライバ13は、CORRECTフラグの値がONであるかOFFであるかを調べ、ONであれば、AVAILABLEフラグをONに設定した後、その時の受信用ディスクリプタテーブルx番目のSIZEに設定された分だけ、DMA転送用バッファからデータを読み取り、オペレーティングシステム12に転送する。そして、SIZEの値をデータサイズ累積カウンタに足し合わせた後、どのディスクリプタテーブルであるかのカウンタを1つインクリメントする。CORRECTフラグの値がOFFである場合には、データサイズ累積カウンタへの足し合わせは行わずに、どのDMA受信用ディスクリプタテーブルであるかを示すカウンタを1つインクリメントする。
1番目のデータフレーム受信開始後に、ある所定の時間ごとにタイマー割り込みを発生させるタイマーを起動する。タイマー割り込みが発生すると、デバイスドライバ13中のデータレート調整処理関数がコールされる。
次に、図8に基づき受信時におけるデータレート調整処理関数の流れを説明する。
最初に、ステップ102(S102)において、受信したファイルにファイル末尾であることを示すEOF(End of Flag)が含まれているか否かのチェックを行なう。EOFが含まれている場合には、その後の受信データレートの調整を必要としないため、そこでデータの受信が終了する。よって、EOFが含まれていると判断された場合には終了し、EOFが含まれていないと判断された場合には、ステップ104に移行する。
次に、ステップ104(S104)では、受信スループット値の計算を行なう。具体的には、データサイズ累積カウンタの値をタイマー間隔で割ることにより、受信スループット値を求める。
次に、ステップ106(S106)では、データサイズ累積カウンタをクリアにする。これは、次の受信スループット値を計算するために行なわれるものである。
次に、求めた受信スループット値をもとに、受信データレートの調整が必要であるか否かが判断される。
次に、ステップ108(S108)では、現在の受信データレートは、取り得る値における最低値であるか否かが判断される。現在の受信データレートが取り得る値における最低値であると判断された場合には終了し、現在の受信データレートが取り得る値における最低値でないと判断された場合には、ステップ110に移行する。
次に、ステップ110(S110)では、受信スループット値が、現在の受信データレートにおけるDOWNしきい値を下回っているか否かが判断される。受信スループット値が現在の受信データレートにおけるDOWNしきい値を下回っていると判断された場合にはステップ112に移行し、受信スループット値が現在のデータレートにおけるDOWNしきい値を下回っていないと判断された場合にはステップ116に移行する。
次に、ステップ112(S112)では、現在の受信データレートよりも1つ低いデータレートを受信データレート設定レジスタに設定する。
次に、ステップ114(S114)では、PHY部23において新たに設定された受信データレートをMMCパケット中の情報要素WDTCTA_IE中のbmTXAttributesフィールドに設定し終了する。
一方、ステップ116(S116)では、現在の受信データレートは、取り得る値における最高値であるか否かが判断される。現在の受信データレートが取り得る値における最高値であると判断された場合には終了し、現在の受信データレートが取り得る値における最高値でないと判断された場合には、ステップ118に移行する。
次に、ステップ118(S118)では、受信スループット値が、現在の受信データレートにおけるUPしきい値を上回っているか否かが判断される。受信スループット値が現在の受信データレートにおけるUPしきい値を上回っていると判断された場合にはステップ120に移行し、受信スループット値が現在の受信データレートにおけるUPしきい値を上回っていないと判断された場合には終了する。
次に、ステップ120(S120)では、現在の受信データレートよりも1つ高いデータレートを受信データレート設定レジスタに設定する。
次に、ステップ122(S122)では、PHY部23において新たに設定された受信データレートをMMCパケット中の情報要素WDTCTA_IE中のbmTXAttributesフィールドに設定し終了する。
このようにして、本実施の形態におけるワイヤレスUSBホスト装置は、DMA受信する際に、DMA受信完了割り込みが発生する度に、受信データのサイズを蓄積し、タイマー割り込み発生ごとに受信スループットを計算し、その値が、その受信データレートにおけるDOWNしきい値を下回っているか否か、また、UPしきい値を上回っているか否かを調べ、その結果に基づき受信データレートを上げ下げして調節するため、効率的なデータ受信が可能となる。
なお、以上のデータレートを動的に調整するための処理では、受信スループット値に基づき受信データレートの変更の必要性の有無を判断している。そのため、データが連続的に受信されることが前提となる。そこで、これらの調整はワイヤレスUSBの仕様に定められた連続的で一定の転送速度が要求される用途で用いられるアイソクロナス転送モードの際にのみ行なわれる。
以上、本発明の実施に係る形態について説明したが、上記内容は、発明の内容を限定するものではない。
本発明におけるワイヤレスUSBホスト装置の構成図 MAC−PHYレジスタの説明図 データレート設定レジスタの説明図 ワイヤレスUSBホストにおける状態遷移の概略説明図 DMA転送用ディスクリプタテーブルの説明図 第1の実施の形態におけるデータレート調整のフローチャート データレートごとのしきい値に関する説明図 第2の実施の形態におけるデータレート調整のフローチャート
符号の説明
1 ホストコントローラ
2 ターゲットデバイス
3 PCI−EXPRESSバス
10 メインCPU
11 メモリ
12 オペレーティングシステム
13 デバイスドライバ
20 サブCPU
21 メモリ
22 MAC部
23 PHY部
24 アンテナ
25 リアルタイムオペレーティングシステム
26 ファームウェア
27 DMAC
28 送信FIFO
29 受信FIFO
30 サブCPU内DMAC
31 MAC−PHYバス
40 RF部
41 PHY/RFレジスタ
42 ベースバンド部
50 送信部
51 受信部

Claims (11)

  1. ワイヤレスUSBデバイスとの間において、ワイヤレスUSBによる伝送データの通信を行なうためのワイヤレスUSBホスト装置において、
    前記伝送データの通信を行なう際の単位時間当たりの伝送データ量を算出し、
    前記伝送データ量に基づいて前記伝送データの通信を行なう際のデータレートを動的に調整し、
    前記データレートに基づき前記伝送データの通信を行なうことを特徴とするワイヤレスUSBホスト装置。
  2. 前記データレートの動的な調整は、前記ワイヤレスUSBホスト装置における送信と受信の双方向について行なわれるものであることを特徴とする請求項1に記載のワイヤレスUSBホスト装置。
  3. 前記伝送データ量は、DMA転送のために設定されたデータサイズの値に基づき算出するものであることを特徴とする請求項1または2に記載のワイヤレスUSBホスト装置。
  4. 前記データサイズの値は対応させたテーブルの配列として記憶されているものであって、
    前記テーブルはチェーンとして用いられるものであることを特徴とする請求項3に記載のワイヤレスUSBホスト装置。
  5. 前記データレートの調整は、前記単位時間当たりの伝送データ量を所定の基準値と比較し、
    前記比較の結果に基づき前記データレートを変更し調整するものであることを特徴とする請求項1から4のいずれかに記載のワイヤレスUSBホスト装置。
  6. 前記基準値との比較は、現在のレートよりも下げるか否かを判断するものであることを特徴とする請求項5に記載のワイヤレスUSBホスト装置。
  7. 前記基準値との比較は、現在のレートよりも上げるか否かを判断するものであることを特徴とする請求項5または6に記載のワイヤレスUSBホスト装置。
  8. 前記データレートの調整は、所定の時間ごとに定期的に行なわれるものであることを特徴とする請求項1から7のいずれかに記載のワイヤレスUSBホスト装置。
  9. 前記データレートは、ベンダーの独自の設定を格納するレジスタ群の領域内において設定されるものであることを特徴とする請求項1から8に記載のいずれかに記載のワイヤレスUSBホスト装置。
  10. 前記伝送データのファイルの最後となる伝送データには、前記ファイルの最後の伝送データである旨を示すデータパターンが含まれており、
    前記データパターンを検出した場合には、前記データレートの調整を行なわないことを特徴とする請求項1から9のいずれかに記載のワイヤレスUSBホスト装置。
  11. 前記データレートの動的な調整は、アイソクロナス転送モードにおいて行なうことを特徴とする請求項1から10のいずれかに記載のワイヤレスUSBホスト装置。
JP2008256854A 2008-10-01 2008-10-01 ワイヤレスusbホスト装置 Expired - Fee Related JP5262535B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008256854A JP5262535B2 (ja) 2008-10-01 2008-10-01 ワイヤレスusbホスト装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008256854A JP5262535B2 (ja) 2008-10-01 2008-10-01 ワイヤレスusbホスト装置

Publications (2)

Publication Number Publication Date
JP2010088000A true JP2010088000A (ja) 2010-04-15
JP5262535B2 JP5262535B2 (ja) 2013-08-14

Family

ID=42251466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008256854A Expired - Fee Related JP5262535B2 (ja) 2008-10-01 2008-10-01 ワイヤレスusbホスト装置

Country Status (1)

Country Link
JP (1) JP5262535B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248407A (ja) * 2010-05-21 2011-12-08 Ricoh Co Ltd 通信装置及びメモリデバイス並びに通信方法
EP2737723A4 (en) * 2011-07-25 2015-08-12 Aliphcom MULTIPLE LOGICAL REPRESENTATIONS OF AUDIO FUNCTIONS IN A WIRELESS AUDIO TRANSMITTER THAT TRANSMIT AUDIO DATA AT DIFFERENT DATA RATES
WO2015167254A1 (ko) * 2014-04-29 2015-11-05 삼성전자 주식회사 무선 환경에서 usb 통신을 위한 데이터 전송을 제어하는 방법 및 장치
JP2019050524A (ja) * 2017-09-11 2019-03-28 株式会社東芝 通信装置、通信方法およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348118A (ja) * 2002-05-22 2003-12-05 Sony Corp 通信方法、通信ブリッジ装置及び通信端末装置
JP2004088464A (ja) * 2002-08-27 2004-03-18 Alps Electric Co Ltd データ伝送方法
JP2004274580A (ja) * 2003-03-11 2004-09-30 Canon Inc 携帯機器および制御方法
JP2006293800A (ja) * 2005-04-13 2006-10-26 Sony Corp 情報処理装置、および情報処理方法
JP2007208824A (ja) * 2006-02-03 2007-08-16 Ricoh Co Ltd 近距離無線データ通信装置
JP2008153898A (ja) * 2006-12-15 2008-07-03 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348118A (ja) * 2002-05-22 2003-12-05 Sony Corp 通信方法、通信ブリッジ装置及び通信端末装置
JP2004088464A (ja) * 2002-08-27 2004-03-18 Alps Electric Co Ltd データ伝送方法
JP2004274580A (ja) * 2003-03-11 2004-09-30 Canon Inc 携帯機器および制御方法
JP2006293800A (ja) * 2005-04-13 2006-10-26 Sony Corp 情報処理装置、および情報処理方法
JP2007208824A (ja) * 2006-02-03 2007-08-16 Ricoh Co Ltd 近距離無線データ通信装置
JP2008153898A (ja) * 2006-12-15 2008-07-03 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG200700449001; 川田丈浩外: '802.11無線LANにおけるリアルタイムアプリケーションのためのクロスレイヤ最適化に関する考察' 電子情報通信学会技術研究報告NS2006-150 , 20070118 *
JPN6012055740; 'MAC-PHY Interface for ECMA-368' ECMA Standard ECMA-369, 1st Edition , 200512, Ecma International *
JPN6013002114; 川田丈浩外: '802.11無線LANにおけるリアルタイムアプリケーションのためのクロスレイヤ最適化に関する考察' 電子情報通信学会技術研究報告NS2006-150 , 20070118 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248407A (ja) * 2010-05-21 2011-12-08 Ricoh Co Ltd 通信装置及びメモリデバイス並びに通信方法
EP2737723A4 (en) * 2011-07-25 2015-08-12 Aliphcom MULTIPLE LOGICAL REPRESENTATIONS OF AUDIO FUNCTIONS IN A WIRELESS AUDIO TRANSMITTER THAT TRANSMIT AUDIO DATA AT DIFFERENT DATA RATES
WO2015167254A1 (ko) * 2014-04-29 2015-11-05 삼성전자 주식회사 무선 환경에서 usb 통신을 위한 데이터 전송을 제어하는 방법 및 장치
JP2019050524A (ja) * 2017-09-11 2019-03-28 株式会社東芝 通信装置、通信方法およびプログラム
US10868886B2 (en) 2017-09-11 2020-12-15 Kabushiki Kaisha Toshiba Communication device scheduling communication processing, communication method, and computer program product

Also Published As

Publication number Publication date
JP5262535B2 (ja) 2013-08-14

Similar Documents

Publication Publication Date Title
US10575332B2 (en) Wireless communication method for simultaneous data communication, and wireless communication terminal using same
US10701732B2 (en) Wireless communication terminal and wireless communication method for clear channel allocation
JP5268844B2 (ja) ワイヤレス通信システム
JP5343276B2 (ja) 近距離無線通信
TWI421693B (zh) 無線通用串列匯流排裝置及無線通用串列匯流排通信系統
US20210204165A1 (en) Wireless communication method and wireless communication terminal for transmitting information on buffer status
US20220377607A1 (en) Wireless communication method for transmitting ack and wireless communication terminal using same
US20090323723A1 (en) Wireless communication apparatus and packet transfer method thereof
JP5262535B2 (ja) ワイヤレスusbホスト装置
JP2019036910A (ja) 無線通信装置および無線通信方法
JP2023165904A (ja) フラグメンテーションを利用する無線通信方法及びそれを使用する無線通信端末
US9992691B2 (en) Systems and methods for managing high network data rates
JP2016072917A (ja) 無線アクセスポイント、および、プログラム
JP5494228B2 (ja) 通信装置及びメモリデバイス並びに通信方法
JP2010232984A (ja) 無線通信装置、無線通信方法、無線通信プログラム及び記録媒体
CN116896431A (zh) 处理块确认

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130308

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: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R151 Written notification of patent or utility model registration

Ref document number: 5262535

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees