JP5262535B2 - Wireless USB host device - Google Patents
Wireless USB host device Download PDFInfo
- Publication number
- JP5262535B2 JP5262535B2 JP2008256854A JP2008256854A JP5262535B2 JP 5262535 B2 JP5262535 B2 JP 5262535B2 JP 2008256854 A JP2008256854 A JP 2008256854A JP 2008256854 A JP2008256854 A JP 2008256854A JP 5262535 B2 JP5262535 B2 JP 5262535B2
- Authority
- JP
- Japan
- Prior art keywords
- wireless usb
- data
- data rate
- usb host
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Transceivers (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本発明は、ワイヤレスUSBホスト装置に関する。 The present invention relates to a wireless USB host device.
ワイヤレスUSBは、短距離間の有線通信規格として広く普及しているUSB(Universal Serial Bus)を拡張して、有線通信の安全性と速度を確保しながら、無線通信の使いやすさを実現させた技術規格である。 Wireless USB has expanded USB (Universal Serial Bus), which is widely used as a standard for wired communication over short distances, and has realized the ease of using wireless communication while ensuring the safety and speed of wired communication. It is a technical standard.
ワイヤレスUSBにおいては、無線技術としてUWB(Ultra Wide Band)技術が採用されている。UWBは、3.1GHzから10.6GHzまでの7.5GHzの周波数帯域を使用する無線方式である。このワイヤレスUSBは、無線LANと比較して、高速、かつ、安全であるという特徴を有しており、次世代の無線技術として注目されているものであり、プリンタやスキャナ等やビデオ、オーディオ等の情報の通信に用いることができる。 In the wireless USB, UWB (Ultra Wide Band) technology is adopted as a wireless technology. UWB is a wireless system that uses a frequency band of 7.5 GHz from 3.1 GHz to 10.6 GHz. This wireless USB is characterized by high speed and safety compared to a wireless LAN, and is attracting attention as a next-generation wireless technology, such as a printer, scanner, video, audio, etc. It can be used for information communication.
ワイヤレスUSBは中心となるワイヤレスUSBホストと、このワイヤレスUSBにより制御される複数のワイヤレスUSBデバイスによって構成されている。 The wireless USB includes a central wireless USB host and a plurality of wireless USB devices controlled by the wireless USB.
例えば、ワイヤレスUSBホストからワイヤレスUSBデバイスへのデータ伝送においては、ワイヤレスUSBホストが、事前に、どのワイヤレスUSBデバイスあてに、いつデータを送るかを通知する。それに対して、ワイヤレスUSBデバイスは、その通知された時間に送信されるデータを受信する。 For example, in data transmission from a wireless USB host to a wireless USB device, the wireless USB host notifies in advance which data is sent to which wireless USB device. On the other hand, the wireless USB device receives data transmitted at the notified time.
一方、ワイヤレスUSBデバイスからワイヤレスUSBホストへのデータ伝送においては、ワイヤレスUSBホストが、事前に、どのワイヤレスUSBデバイスがいつデータを送るべきかを通知する。それに対し、ワイヤレスUSBデバイスは、その通知された時間にデータを転送する。 On the other hand, in data transmission from a wireless USB device to a wireless USB host, the wireless USB host notifies in advance which wireless USB device should send data when. On the other hand, the wireless USB device transfers data at the notified time.
このように、ワイヤレスUSBホストとワイヤレスUSBデバイスの間における通信は、ワイヤレスUSBホストがワイヤレスUSBデバイスを制御する方式で行なわれる。 As described above, communication between the wireless USB host and the wireless USB device is performed by a method in which the wireless USB host controls the wireless USB device.
また、ワイヤレスUSBホストとワイヤレスUSBデバイスとの間におけるデータ転送効率、即ち、単位時間当たりの通信データ量となるスループット値を高めるためには、基本的には、ワイヤレスUSBデバイスがサポートするデータレートの中で、最も高いレートであることが望ましい。 In order to increase the data transfer efficiency between the wireless USB host and the wireless USB device, that is, the throughput value that is the amount of communication data per unit time, basically, the data rate supported by the wireless USB device is Of these, the highest rate is desirable.
しかしながら、ワイヤレスUSBホストとワイヤレスUSBデバイス間の距離や、周囲の電波状況等により、ワイヤレスUSBデバイスがサポートするデータレートの中で最も高いデータレートにおける伝送が、必ずしも、最もスループットを高くするものとならない場合がある。よってスループットを高めるため、データレートを動的に変更する方法が考えられている。例えば、無線LANにおける技術の中には、データレートと必要最小受信レベルしきい値の対応が規定されており、あるデータレートにおける情報の伝送中における受信レベルが、そのレートに対する最小受信レベルしきい値を下回った場合、自動的にレートを下げるという方法が用いられている。 However, transmission at the highest data rate among the data rates supported by the wireless USB device does not necessarily result in the highest throughput due to the distance between the wireless USB host and the wireless USB device, surrounding radio wave conditions, and the like. There is a case. Therefore, in order to increase the throughput, a method of dynamically changing the data rate is considered. For example, in wireless LAN technology, the correspondence between a data rate and a necessary minimum reception level threshold is defined, and the reception level during transmission of information at a certain data rate is the minimum reception level threshold for that rate. A method of automatically lowering the rate when the value falls below is used.
また、特許文献1では、無線LANにおいて、データ受信側の機器から送信側の機器に対して、正しくデータを受信したことを通知するためのACKパケットが送られない場合には、データ送信側が、送信データレートを下げる方法が記載されている。 Further, in Patent Document 1, in a wireless LAN, when an ACK packet for notifying that data has been correctly received is not transmitted from a data receiving device to a transmitting device, the data transmitting device A method for lowering the transmission data rate is described.
また、特許文献2では、受信データの誤りの有無を調べることにより、伝送失敗率を求め、得られた失敗率に基づき伝送レートを変化させる方法が記載されている。
ところで、ワイヤレスUSBは、3.1GHzから10.6GHzまでの広い周波数帯域をベースとしており、無線LANにおける技術のような、データレートと必要最小受信レベルしきい値の対応関係は、周波数帯によって変化するため、一様にはならないという問題点を有している。 By the way, wireless USB is based on a wide frequency band from 3.1 GHz to 10.6 GHz, and the correspondence between the data rate and the required minimum reception level threshold varies depending on the frequency band, as in the technology of wireless LAN. Therefore, there is a problem that it is not uniform.
また、特許文献1に記載されている方法では、データ受信側の機器から送信側の機器に対して、正しくデータを受信したことを通知するためのACKパケットを利用している。このような方法をワイヤレスUSBに適用すると、ワイヤレスUSBホスト機器をデータ送信側として用いた場合には、このような方法を用いてデータレートの調整を行なうことが可能であるが、データ受信側として用いた場合には、データレートの調整を行なうことができないといった問題点を有していた。 In the method described in Patent Document 1, an ACK packet for notifying that data has been correctly received from a data receiving device to a transmitting device is used. When such a method is applied to the wireless USB, when the wireless USB host device is used as the data transmission side, the data rate can be adjusted using such a method. When used, there is a problem that the data rate cannot be adjusted.
また、特許文献2に記載されている方法では、受信データの誤りの有無を調べることにより、伝送失敗率を求める。よって、ワイヤレスUSBホスト機器をデータ送信側として用いる場合には、データレートの調整を行なうことができない。さらに、受信データの誤りの有無を調べるため、処理が重くなる傾向にある。
In the method described in
本発明は、このような問題に対しなされたものであり、ワイヤレスUSBにおけるデータ通信において、データ伝送効率を向上させたワイヤレスUSBホスト装置を提供することができる。また、ワイヤレスUSBホストからワイヤレスUSBデバイスへ、また、ワイヤレスUSBデバイスからワイヤレスUSBホストへの双方におけるデータ伝送において、データ伝送効率を向上させたワイヤレスUSBホスト装置を提供するものである。 The present invention has been made to solve such a problem, and can provide a wireless USB host device with improved data transmission efficiency in data communication in wireless USB. Further, the present invention provides a wireless USB host device with improved data transmission efficiency in data transmission both from a wireless USB host to a wireless USB device and from a wireless USB device to a wireless USB host.
本発明は、ワイヤレスUSBデバイスとの間において、ワイヤレスUSBによる伝送データの通信を行なうためのワイヤレスUSBホスト装置において、前記伝送データの通信を行なう際の単位時間当たりの伝送データ量を算出し、前記伝送データ量に基づいて前記伝送データの通信を行なう際のデータレートを動的に調整し、前記データレートに基づき前記伝送データの通信を行なうものであって、前記伝送データ量は、DMA転送のために設定されたデータサイズの値に基づき算出するものであって、前記データレートの調整は、前記単位時間当たりの伝送データ量をUPしきい値及びDOWNしきい値と比較し、前記比較の結果に基づき前記データレートを変更し調整するものであることを特徴とする。
The present invention calculates a transmission data amount per unit time when performing communication of the transmission data in a wireless USB host device for performing communication of transmission data by wireless USB with a wireless USB device, Dynamically adjusting a data rate when performing communication of the transmission data based on the transmission data amount, and performing communication of the transmission data based on the data rate, wherein the transmission data amount is a value of DMA transfer The data rate adjustment is performed by comparing the amount of transmission data per unit time with an UP threshold value and a DOWN threshold value, and adjusting the data rate. The data rate is changed and adjusted based on the result.
また、本発明は、前記データレートの動的な調整は、前記ワイヤレスUSBホスト装置における送信と受信の双方向について行なわれるものであることを特徴とする。 Further, the present invention is characterized in that the dynamic adjustment of the data rate is performed in both directions of transmission and reception in the wireless USB host device.
また、本発明は、前記伝送データ量は、DMA転送のために設定されたデータサイズの値に基づき算出するものであることを特徴とする。 Also, the present invention is characterized in that the transmission data amount is calculated based on a data size value set for DMA transfer.
また、本発明は、前記データサイズの値は対応させたテーブルの配列として記憶されているものであって、前記テーブルはチェーンとして用いられるものであることを特徴とする。 Further, the present invention is characterized in that the data size values are stored as an array of corresponding tables, and the tables are used as a chain.
また、本発明は、前記データレートの調整は、前記単位時間当たりの伝送データ量を所定の基準値と比較し、前記比較の結果に基づき前記データレートを変更し調整するものであることを特徴とする。 Further, the present invention is characterized in that the adjustment of the data rate is performed by comparing the transmission data amount per unit time with a predetermined reference value, and changing and adjusting the data rate based on the comparison result. And
また、本発明は、前記DOWNしきい値との比較は、現在のレートよりも下げるか否かを判断するものであることを特徴とする。 Further, the present invention is compared with the DOWN threshold is characterized in that it is intended to determine whether lowering than current rate.
また、本発明は、前記UPしきい値との比較は、現在のレートよりも上げるか否かを判断するものであることを特徴とする。 Further, the present invention is compared with the UP threshold is characterized in that it is intended to determine whether increased than the current rate.
また、本発明は、前記データレートの調整は、所定の時間ごとに定期的に行なわれるものであることを特徴とする。 Further, the present invention is characterized in that the adjustment of the data rate is performed periodically every predetermined time.
また、本発明は、前記データレートは、ベンダーの独自の設定を格納するレジスタ群の領域内において設定されるものであることを特徴とする。 Further, the present invention is characterized in that the data rate is set in an area of a register group for storing a unique setting of a vendor.
また、本発明は、前記伝送データのファイルの最後となる伝送データには、前記ファイルの最後の伝送データである旨を示すデータパターンが含まれており、前記データパターンを検出した場合には、前記データレートの調整を行なわないことを特徴とする。 Further, in the present invention, the transmission data that is the last of the transmission data file includes a data pattern indicating that it is the last transmission data of the file, and when the data pattern is detected, The data rate is not adjusted.
また、本発明は、前記データレートの動的な調整は、アイソクロナス転送モードにおいて行なうことを特徴とする。 The present invention is characterized in that the dynamic adjustment of the data rate is performed in an isochronous transfer mode.
本発明によれば、ワイヤレスUSBにおけるデータ通信において、データ伝送効率を向上させたワイヤレスUSBホスト装置を提供することができる。また、ワイヤレスUSBホストからワイヤレスUSBデバイスへ、また、ワイヤレスUSBデバイスからワイヤレスUSBホストへの双方におけるデータ伝送において、データ伝送効率を向上させたワイヤレスUSBホスト装置を提供することができる。 According to the present invention, it is possible to provide a wireless USB host device with improved data transmission efficiency in wireless USB data communication. In addition, it is possible to provide a wireless USB host device with improved data transmission efficiency in data transmission both from the wireless USB host to the wireless USB device and from the wireless USB device to the wireless USB host.
次に、本発明を実施するための最良の形態について、以下に説明する。 Next, the best mode for carrying out the present invention will be described below.
〔第1の実施の形態〕
第1の実施の形態について説明する。本実施の形態は、ワイヤレスUSBホストからワイヤレスUSBデバイス(不図示)へのデータ伝送、即ち、ワイヤレスUSBホストにおける送信方向においてデータレートを変更することが可能なワイヤレスUSBホスト装置である。
[First Embodiment]
A first embodiment will be described. The present embodiment is a wireless USB host device capable of changing data rate in a transmission direction in a data transmission from a wireless USB host to a wireless USB device (not shown), that is, in the wireless USB host.
図1に、本実施の形態におけるワイヤレスUSBホスト装置の構成図を示す。本実施の形態におけるワイヤレスUSBホスト装置は、ホストコントローラ1とターゲットデバイス2により構成されており、このホストコントローラ1とターゲットデバイス2は、PCI−Expressバス3を介して接続されている。
FIG. 1 shows a configuration diagram of a wireless USB host device according to the present embodiment. The wireless USB host device in the present embodiment is configured by a host controller 1 and a
ホストコントローラ1は、メインCPU(Central Processing Unit)10とメモリ11を有しており、さらに、メモリ11は、オペレーティングシステム12及びデバイスドライバ13を有している。 The host controller 1 has a main CPU (Central Processing Unit) 10 and a memory 11, and the memory 11 further has an operating system 12 and a device driver 13.
メインCPU10は、メモリ11内におけるオペレーティングシステム12を実行させ、オペレーティングシステム12上においてデバイスドライバ13を実行させる。
The
デバイスドライバ13は、PCI−Expressバス3を介してターゲットデバイス2とのデータの送受信を行なうとともに、後述するMAC部22のレジスタに対して値の読み書きを行なうことによりターゲットデバイス2を制御する。
The device driver 13 transmits / receives data to / from the
また、ターゲットデバイス2は、サブCPU20と、メモリ21と、MAC部22と、PHY(Physical Layer)部23と、アンテナ24とを備えている。
The
サブCPU20は、サブCPU内DMAC30を有している。
The
メモリ21は、リアルタイムオペレーティングシステム25と、ファームウェア26とを有している。
The
MAC部22は、DMAC(Direct Memory Access Controller)27、送信FIFO(First In First Out)28、受信FIFO29を有しており、データフレームの生成やデータフレームのファイリング等の処理を行なう。
The
PHY部23は、RF部40、PHY/RFレジスタ41、ベースバンド部42を有しており、周波数変換等の信号処理を行なう。RF部40はアンテナ24と接続されており、ベースバンド部42は、送信部50と受信部51とを有している。
The PHY unit 23 includes an
サブCPU20は、メモリ21を用いて、リアルタイムオペレーティングシステム25を実行し、リアルタイムオペレーティングシステム25上で、MAC部22の各部を制御するためのファームウェア26を実行させる。
The
ホストコントローラ1におけるメモリ11と、ターゲットデバイス2におけるメモリ21との間のデータ転送は、DMAC27によるDMA(Direct Memory Access)転送によって行なわれる。また、メモリ21とMAC部22内の送信FIFO28と受信FIFO29との間においてもデータ転送が行なわれる。このデータ転送はサブCPU内DMAC30によるDMA転送によって行なわれる。
Data transfer between the memory 11 in the host controller 1 and the
データを送信する場合には、メモリ11からメモリ21にデータがDMA転送され、その後、メモリ21からMAC部22内の送信FIFO28にDMA転送される。一方、データを受信する場合には、MAC部22内の受信FIFO29からメモリ21にデータがDMA転送され、その後、メモリ21からメモリ11にDMA転送される。
In the case of transmitting data, the data is DMA-transferred from the memory 11 to the
ファームウェア26を実行するサブCPU20は、MAC部22における各種レジスタの設定や、ホストコントローラ1との間のデータの受送信等を行なう。また、ファームウェア26を実行するサブCPU20は、PHY部23におけるPHY/RFレジスタ41の値の読み書きをMAC−PHY(WiMedia MAC−PHY)バス31を介して行なう。
The
MAC部22及びPHY部23は、それぞれWiMedia MAC及びWiMedia PHYの各仕様に基づいた処理を実行する。また、MAC部22及びPHY部23との間の通信は、WiMedia MAC−PHYインターフェースの仕様により規定されており、異なるベンダーのMAC部22とPHY部23とを接続して使用することも可能である。
The
次に、図2に基づきWiMedia MAC−PHYインターフェースの仕様について説明する。図に示すように、PHY/RFレジスタ41に対して、ベースアドレス(基準アドレス)に対するオフセットが、0x00番地から0x1F番地までの範囲は、送受信するチャネルなどの動的なパラメータ設定を格納するための領域(ダイナミックレジスタ群)として規定されている。また、ベースアドレスに対するオフセットが0x20番地から0x7F番地までの範囲は、ターゲットデバイス2がサポートする通信速度及び信号送出レベルの設定値の値等の静的な設定を格納するための領域(スタティックレジスタ群)として規定されている。また、ベースアドレスに対するオフセットが0x80番地から0xFF番地までの範囲は、ベンダーによる独自の設定を格納するための領域(ベンダー領域)として規定されている。
Next, the specifications of the WiMedia MAC-PHY interface will be described with reference to FIG. As shown in the figure, the offset from the base address (reference address) with respect to the PHY /
図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進法で記載されている。 As shown in FIG. 3, in this embodiment, as one of the register groups in this vendor area, for example, a transmission data rate setting register is assigned to an offset address 0xA0 and a reception data rate setting register is assigned to an address 0xA1. The data rates that the wireless USB can take are 8 types of 53.3, 80, 106.7, 160, 200, 320, 400, and 480 Mbps. Therefore, the lower 3 bits of each register are used, and 0 is set to 53.3 Mbps. 1 for 80 Mbps, 2 for 106.7 Mbps, 3 for 160 Mbps, 4 for 200 Mbps, 5 for 320 Mbps, 6 for 400 Mbps and 7 for 480 Mbps. Therefore, TX_RATE is provided in the transmission data rate setting register, and RX_RATE is provided in the reception data rate setting register. In FIG. 3, the assigned numbers are described in binary.
ワイヤレスUSBホストとワイヤレスUSBデバイスがデータ通信できるようにするためには、ワイヤレスUSBデバイスが、ワイヤレスUSBホストの指示に基づいて、コンフィギュレーションされることが前提となる。尚、ここで、コンフィギュレーションとは、ワイヤレスUSBホストとワイヤレスUSBデバイスとの間での通信が可能となるように、パケットサイズ、エンドポイント、インターフェース数、最大消費電力等のワイヤレスUSBデバイスの特性を表すパラメータを設定して、ワイヤレスUSBデバイスを構成することを意味するものである。 In order to enable data communication between the wireless USB host and the wireless USB device, it is assumed that the wireless USB device is configured based on an instruction from the wireless USB host. Here, the configuration refers to the characteristics of the wireless USB device such as the packet size, endpoint, number of interfaces, and maximum power consumption so that communication between the wireless USB host and the wireless USB device is possible. It means that a wireless USB device is configured by setting parameters to be represented.
図4に基づき、ワイヤレスUSBデバイスがコンフィギュレーションされるまでのワイヤレスUSBホストとワイヤレスUSBデバイスにおける情報の受け渡し、及び、ワイヤレスUSBデバイスの状態遷移について説明する。 Based on FIG. 4, information exchange between the wireless USB host and the wireless USB device until the wireless USB device is configured, and state transition of the wireless USB device will be described.
まず、非接続状態にあるワイヤレス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デバイスは、接続状態における非認証状態に遷移する。 First, the wireless USB device in the disconnected state monitors the MMC packet sent out by the wireless USB host, checks the CHID (Connection Host Identifier) therein, and determines whether or not it is a wireless USB host that can be connected to itself. Investigate. In the case of a connectable wireless USB host, after detecting WDNSCTA_IE describing the time for sending a notification message from the wireless USB device included in the MMC packet to the wireless USB host, the connection request is indicated at that time. A DN_CONNECT message is sent to the wireless USB host. The wireless USB host that has received the DN_CONNECT message includes WCONNECTACK_IE indicating connection permission in the MMC packet and sends it to the wireless USB device. As a result, the wireless USB host and the wireless USB device transition to the unauthenticated state in the connected state.
次に、4ウェイハンドシェークという手順により、ワイヤレスUSBホストとワイヤレスUSBデバイスの間で、暗号鍵を作成するための情報の受け渡しを行ない接続状態における認証状態に遷移する。 Next, information for creating an encryption key is exchanged between the wireless USB host and the wireless USB device by a procedure called four-way handshake, and the state transits to the authentication state in the connected state.
次に、ワイヤレスUSBデバイスは、ワイヤレスUSBホストから送出されるワイヤレスUSBデバイスを識別するためのDevice Addressが0(ゼロ)に設定されたSET_ADDRESSデバイスリクエストを受け取ることにより、デフォルト状態に遷移する。 Next, the wireless USB device transitions to a default state by receiving a SET_ADDRESS device request in which Device Address for identifying the wireless USB device transmitted from the wireless USB host is set to 0 (zero).
その後、ワイヤレスUSBデバイスは、ワイヤレスUSBホストから送出される、Device Addressが0(ゼロ)以外の値に設定されたSET_ADDRESSデバイスリクエストを受け取ることにより、アドレス割り当て状態に遷移する。 Thereafter, the wireless USB device transitions to the address assignment state by receiving a SET_ADDRESS device request that is sent from the wireless USB host and whose Device Address is set to a value other than 0 (zero).
次に、ワイヤレスUSBホストは、ワイヤレスUSBデバイスが所有するコンフィギュレーションディスクリプタを調べるために、どのディスクリプタが欲しいかを示すパラメータに、コンフィギュレーションディスクリプタであることを示す値を設定して、GET_DESCRIPTORデバイスリクエストを発行する。これに対して、ワイヤレスUSBデバイスは、自らが所有するコンフィギュレーションディスクリプタ全てをワイヤレスUSBホストに通知する。 Next, in order to check the configuration descriptor owned by the wireless USB device, the wireless USB host sets a value indicating that it is a configuration descriptor in a parameter indicating which descriptor is desired, and sends a GET_DESCRIPTOR device request. Issue. On the other hand, the wireless USB device notifies the wireless USB host of all configuration descriptors owned by itself.
尚、各コンフィギュレーションディスクリプタテーブルには、それぞれを識別するための値であるbConfiguration Valueが含まれている。ワイヤレスUSBホストは、受け取ったコンフィギュレーションディスクリプタの内容をもとに、ワイヤレスUSBデバイスをどのようにコンフィギュレーションしたいかを決定して、そのコンフィギュレーションディスクリプタに対応するbConfiguration Valueをパラメータとして、SET_CONFIGURATIONデバイスリクエストを発行する。ワイヤレスUSBデバイスは、その内容に応じて、自らをコンフィギュレーションする。これにより、コンフィギュレーション状態に遷移する。 Each configuration descriptor table includes bConfiguration Value, which is a value for identifying each configuration descriptor table. The wireless USB host determines how to configure the wireless USB device based on the contents of the received configuration descriptor, and uses the bConfiguration Value corresponding to the configuration descriptor as a parameter to issue a SET_CONFIGURATION device request. Issue. The wireless USB device configures itself according to its contents. Thereby, the state transits to the configuration state.
以上が、ワイヤレスUSBにおける非接続状態からコンフィギュレーション状態に遷移するまでの流れの概要である。 The above is the outline of the flow from the non-connected state to the configuration state in wireless USB.
コンフィギュレーション状態に遷移した後、ワイヤレスUSBホストからワイヤレスUSBデバイスへとデータを転送する場合には、ワイヤレスUSBホストが送信するデータフレームのPHYヘッダ中のData rateフィールドに、送信データレートを設定する。本実施の形態では、DMA転送によって行なわれる単位時間当たりのデータ送信量、即ち、送信スループット値を定期的に計算し、計算された送信スループット値をもとに必要に応じて、Data rateフィールドに設定する送信データレートを更新するという手法を用いる。 After transferring to the configuration state, when data is transferred from the wireless USB host to the wireless USB device, the transmission data rate is set in the Data rate field in the PHY header of the data frame transmitted by the wireless USB host. In the present embodiment, the data transmission amount per unit time performed by DMA transfer, that is, the transmission throughput value is periodically calculated, and in the Data rate field as necessary based on the calculated transmission throughput value. A method of updating the transmission data rate to be set is used.
次に、図5に基づき本実施の形態におけるワイヤレスUSBホスト装置の送信データレートの調整方法について説明する。 Next, a method for adjusting the transmission data rate of the wireless USB host device according to the present embodiment will be described with reference to FIG.
本実施の形態におけるワイヤレスUSBホスト装置のDMA転送は、1つのパケットごとに、DMA転送用バッファ及びDMAディスクリプタテーブルを割り当てる。DMAディスクリプタテーブルには、DMA転送用バッファの起点となるアドレス(以下「START_ADD」と記す)、データサイズ(以下「SIZE」と記す)、次のDMAデータスクリプタテーブルのアドレス(以下「NEXT_ADD」と記す)、データ送信後のステータス(以下「STATUS」と記す)などの情報を記憶させる。 In the DMA transfer of the wireless USB host device in this embodiment, a DMA transfer buffer and a DMA descriptor table are allocated for each packet. In the DMA descriptor table, an address (hereinafter referred to as “START_ADD”), a data size (hereinafter referred to as “SIZE”), and an address of the next DMA data scripter table (hereinafter referred to as “NEXT_ADD”) are used as the DMA transfer buffer. ), Information such as a status after data transmission (hereinafter referred to as “STATUS”) is stored.
そして、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の値は、一度、値を設定すれば、その後、データ転送中に書き換える必要はなく不変となるものである。 A chain of DMA descriptor tables from 1 to the nth (n is an integer of 2 or more) is formed. That is, the head address of the (x + 1) -th DMA descriptor table is set in NEXT_ADD of the x-th (1 ≦ x <n) DMA descriptor table. Then, the start address of the first DMA descriptor table is set in NEXT_ADD of the nth DMA descriptor table. Once the values of START_ADD and NEXT_ADD in the x-th DMA descriptor table are set, they do not need to be rewritten during data transfer and remain unchanged.
DMAディスクリプタテーブルは、DMA送信用とDMA受信用とで、それぞれ別個なものを用いる。 Separate DMA descriptor tables are used for DMA transmission and DMA reception.
DMA送信用ディスクリプタテーブルにおけるSTART_ADD、SIZE、NEXT_ADD等の値の設定は、デバイスドライバ13が行なう。デバイスドライバ13は、オペレーティングシステム12から渡されるデータフレームを、START_ADDに設定されるDMA転送用バッファに書き込む。そして、そのフレームサイズをSIZEに設定する。 The device driver 13 sets values such as START_ADD, SIZE, and NEXT_ADD in the DMA transmission descriptor table. The device driver 13 writes the data frame passed from the operating system 12 in the DMA transfer buffer set in START_ADD. Then, the frame size is set to SIZE.
本実施の形態では、このSIZEへの設定を行なう際に、x番目のDMA送信用ディスクリプタテーブルに、SIZEとしてどの値を書き込んだか、という情報を対応づけて配列の形式で記憶させておく。 In this embodiment, when this SIZE is set, information indicating which value is written as SIZE is stored in the x-th DMA transmission descriptor table in the form of an array.
前述のDMA送信用ディスクリプタテーブルのSTATUSは、2つのフラグ情報から構成される。1つは、デバイスドライバ13が、そのDMA送信用ディスクリプタテーブルに、次のデータを設定することが可能な状態にあるか否か、即ち、デバイスドライバ13が設定したデータについてDMA送信済みか否かを示すAVAILABLEフラッグである。デバイスドライバ13がデータフレームのSIZEを設定した際に、このAVAILABLEフラグをOFFに設定する。そして、データをDMA転送すると、DMAC27がAVAILABLEフラグをONに設定する。 STATUS of the above-mentioned DMA transmission descriptor table is composed of two pieces of flag information. One is whether or not the device driver 13 is in a state where the next data can be set in the DMA transmission descriptor table, that is, whether or not the data set by the device driver 13 has been DMA-transmitted. Is an AVAILABLE flag. When the device driver 13 sets the SIZE of the data frame, this AVAILABLE flag is set to OFF. When the data is transferred by DMA, the DMAC 27 sets the AVAILABLE flag to 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つインクリメントする。 The other is a CORRECT flag indicating whether or not the DMA transfer is correctly performed. After the DMA transfer, if the DMA transfer is correct, the DMAC 27 turns on the CORRECT flag. On the other hand, if any error occurs in the DMA transfer, the DMAC 27 turns off the CORRECT flag. When the DMAC 27 finishes the DMA transfer of the transmission data, the DMAC 27 generates a DMA transmission completion interrupt. Each time this DMA transmission completion interrupt occurs, the device driver 13 checks whether the value of the CORRECT flag is ON or OFF, and if it is ON, the SIZE of the DMA transmission descriptor table x-th at that time After reading the value from the array and adding it to the data size accumulation counter, the counter indicating which DMA transmission descriptor table is used is incremented by one. When the value of the CORRECT flag is OFF, the counter indicating the DMA transmission descriptor table is incremented by one without adding to the data size accumulation counter.
1番目のデータフレーム送信開始後に、ある所定の時間ごとにタイマー割り込みを発生させるタイマーを起動する。タイマー割り込みが発生すると、デバイスドライバ13中のデータレート調整処理関数がコールされる。 After starting the transmission of the first data frame, a timer for generating a timer interrupt is started every predetermined time. When the timer interruption occurs, the data rate adjustment processing function in the device driver 13 is called.
次に、図6に基づき送信時におけるデータレート調整処理関数の流れを説明する。 Next, the flow of the data rate adjustment processing function during transmission will be described with reference to FIG.
最初に、ステップ2(S2)において、送信したファイルにファイル末尾であることを示すEOF(End of Flag)が含まれているか否かのチェックを行なう。EOFが含まれている場合には、その後の受信データレートの調整を必要としないため、そこでデータの受信が終了する。よって、EOFが含まれていると判断された場合には終了し、EOFが含まれていないと判断された場合には、ステップ4に移行する。
First, in step 2 (S2), it is checked whether the transmitted file includes an EOF (End of Flag) indicating the end of the file. If EOF is included, it is not necessary to adjust the reception data rate thereafter, so that the data reception ends. Therefore, when it is determined that the EOF is included, the process ends. When it is determined that the EOF is not included, the process proceeds to
次に、ステップ4(S4)では、送信スループット値の計算を行なう。具体的には、データサイズ累積カウンタの値をタイマー間隔で割ることにより、送信スループット値を求める。 Next, in step 4 (S4), a transmission throughput value is calculated. Specifically, the transmission throughput value is obtained by dividing the value of the data size accumulation counter by the timer interval.
次に、ステップ6(S6)では、データサイズ累積カウンタをクリアにする。これは、次の送信スループット値を計算するために行なわれるものである。 Next, in step 6 (S6), the data size accumulation counter is cleared. This is done to calculate the next transmission throughput value.
次に、求めた送信スループット値をもとに、送信データレートの調整が必要であるか否かが判断される。 Next, it is determined whether or not the transmission data rate needs to be adjusted based on the obtained transmission throughput value.
この判断を行なうために、図7に示すようなデータレートごとに、UPしきい値とDOWNしきい値とを定めたテーブルを事前に作成しておく。UPしきい値は、そのデータレートで十分に高い送信スループットが得られているため、その一つ上のデータレートに上げることが可能であることを示すしきい値である。一方、DOWNしきい値は、その送信データレートでは十分な送信スループットが得られていないため、その一つ下の送信データレートに下げるべきであることを示すしきい値である。DOWNしきい値を下回る場合の具体的な過程としては、例えば、送信側にあたるワイヤレスUSBホストと受信側に当たるワイヤレスUSBデバイスの間における電波状況がよくないと、ワイヤレスUSBデバイスからの送信される正しくデータを受信したことを通知するためのACKパケットが届かない場合があり、このような場合には、再送が必要となるため送信FIFO28が空かなくなる。この状態が続くとDMA転送が滞り、送信スループット値が低くなり、DOWNしきい値を下回ることになる。 In order to make this determination, a table in which the UP threshold value and the DOWN threshold value are defined for each data rate as shown in FIG. 7 is created in advance. The UP threshold value is a threshold value that indicates that a sufficiently high transmission throughput is obtained at the data rate, so that the data rate can be increased to a higher data rate. On the other hand, the DOWN threshold is a threshold indicating that the transmission data rate should not be lowered to the next lower transmission data rate because sufficient transmission throughput is not obtained. As a specific process when the value falls below the DOWN threshold, for example, if the radio wave condition between the wireless USB host on the transmission side and the wireless USB device on the reception side is not good, the correct data transmitted from the wireless USB device is transmitted. The ACK packet for notifying that the message has been received may not arrive. In such a case, retransmission is necessary and the transmission FIFO 28 is not empty. If this state continues, DMA transfer is delayed, the transmission throughput value becomes low, and falls below the DOWN threshold value.
よって、ステップ8(S8)では、現在の送信データレートは、取り得る値における最低値であるか否かが判断される。現在の送信データレートが取り得る値における最低値であると判断された場合には終了し、現在の送信データレートが取り得る値における最低値でないと判断された場合には、ステップ10に移行する。 Therefore, in step 8 (S8), it is determined whether or not the current transmission data rate is the lowest value that can be taken. If it is determined that the current transmission data rate is the lowest possible value, the process ends. If it is determined that the current transmission data rate is not the lowest possible value, the process proceeds to step 10. .
次に、ステップ10(S10)では、送信スループット値が、現在の送信データレートにおけるDOWNしきい値を下回っているか否かが判断される。送信スループット値が現在の送信データレートにおけるDOWNしきい値を下回っていると判断された場合にはステップ12に移行し、送信スループット値が現在の送信データレートにおけるDOWNしきい値を下回っていないと判断された場合にはステップ16に移行する。 Next, in step 10 (S10), it is determined whether or not the transmission throughput value is below the DOWN threshold value at the current transmission data rate. If it is determined that the transmission throughput value is below the DOWN threshold value at the current transmission data rate, the process proceeds to step 12, and the transmission throughput value is not below the DOWN threshold value at the current transmission data rate. If it is determined, the process proceeds to step 16.
次に、ステップ12(S12)では、現在の送信データレートよりも1つ低いデータレートを送信データレート設定レジスタに設定する。 Next, in step 12 (S12), a data rate one lower than the current transmission data rate is set in the transmission data rate setting register.
次に、ステップ14(S14)では、PHY部23において新たに設定された送信データレートを送信フレームのPHYヘッダ内のData rateフィールドに設定し終了する。 Next, in step 14 (S14), the transmission data rate newly set in the PHY unit 23 is set in the Data rate field in the PHY header of the transmission frame, and the process ends.
一方、ステップ16(S16)では、現在の送信データレートは、取り得る値における最高値であるか否かが判断される。現在の送信データレートが取り得る値における最高値であると判断された場合には終了し、現在の送信データレートが取り得る値における最高値でないと判断された場合には、ステップ18に移行する。 On the other hand, in step 16 (S16), it is determined whether or not the current transmission data rate is the highest possible value. If it is determined that the current transmission data rate is the highest possible value, the process ends. If it is determined that the current transmission data rate is not the highest possible value, the process proceeds to step 18. .
次に、ステップ18(S18)では、送信スループット値が、現在の送信データレートにおけるUPしきい値を上回っているか否かが判断される。送信スループット値が現在の送信データレートにおけるUPしきい値を上回っていると判断された場合にはステップ20に移行し、送信スループット値が現在の送信データレートにおけるUPしきい値を上回っていないと判断された場合には終了する。 Next, in step 18 (S18), it is determined whether or not the transmission throughput value exceeds the UP threshold value at the current transmission data rate. If it is determined that the transmission throughput value exceeds the UP threshold value at the current transmission data rate, the process proceeds to step 20, and the transmission throughput value does not exceed the UP threshold value at the current transmission data rate. If it is determined, the process ends.
次に、ステップ20(S20)では、現在の送信データレートよりも1つ高いデータレートを送信データレート設定レジスタに設定する。 Next, in step 20 (S20), a data rate that is one higher than the current transmission data rate is set in the transmission data rate setting register.
次に、ステップ22(S22)では、PHY部23において新たに設定された送信データレートを送信フレームのPHYヘッダ内のData rateフィールドに設定し終了する。 Next, in step 22 (S22), the transmission data rate newly set in the PHY unit 23 is set in the Data rate field in the PHY header of the transmission frame, and the process ends.
このようにして、本実施の形態におけるワイヤレスUSBホスト装置は、DMA送信する際に用いるDMA送信用ディスクリプタテーブルと送信データのサイズとを対応づけて保存しておき、DMA送信完了割り込みが発生する度に、送信データのサイズを蓄積し、タイマー割り込み発生ごとに送信スループットを計算し、その値が、その送信データレートにおけるDOWNしきい値を下回っているか否か、また、UPしきい値を上回っているか否かを調べ、その結果に基づき送信データレートを上げ下げして調節するため、効率的なデータ送信が可能となる。 In this way, the wireless USB host device according to the present embodiment stores the DMA transmission descriptor table used for DMA transmission and the size of transmission data in association with each other, and whenever a DMA transmission completion interrupt occurs. Then, the transmission data size is accumulated, and the transmission throughput is calculated every time the timer interrupt occurs, whether the value is below the DOWN threshold value at the transmission data rate, and above the UP threshold value. Since the transmission data rate is adjusted by increasing or decreasing based on the result, efficient data transmission is possible.
なお、以上のデータレートを動的に調整するための処理では、送信スループット値に基づき送信データレートの変更の必要性の有無を判断している。そのため、データが連続的に送信されることが前提となる。そこで、これらの調整はワイヤレスUSBの仕様に定められた連続的で一定の転送速度が要求される用途で用いられるアイソクロナス転送モードの際にのみ行なわれる。 In the process for dynamically adjusting the above data rate, it is determined whether or not the transmission data rate needs to be changed based on the transmission throughput value. Therefore, it is assumed that data is transmitted continuously. Therefore, these adjustments are performed only in the isochronous transfer mode used in applications requiring a continuous and constant transfer speed defined in the wireless USB specification.
〔第2の実施の形態〕
第2の実施の形態は、ワイヤレスUSBデバイスからワイヤレスホストへのデータ伝送、即ち、ワイヤレスUSBホストにおける受信方向においてデータレートを変更することが可能なワイヤレスUSBホスト装置である。
[Second Embodiment]
The second embodiment is a wireless USB host device capable of changing the data rate in the data transmission direction from the wireless USB device to the wireless host, that is, the reception direction in the wireless USB host.
本実施の形態におけるワイヤレスUSBホスト装置の構成及び、非接続状態からコンフィギュレーション状態に遷移するまでの流れは、第1の実施の形態と同様である。 The configuration of the wireless USB host device in this embodiment and the flow from the non-connection state to the transition to the configuration state are the same as those in the first embodiment.
コンフィギュレーション状態に遷移した後、ワイヤレスUSBデバイスからワイヤレスUSBホストへとデータを送信する場合には、ワイヤレスUSBホストが制御パケットとなるMMCパケット中の情報要素WDTCTA_IE中のbmTXAttributesフィールドに、データレートを設定する。 When data is transmitted from the wireless USB device to the wireless USB host after transitioning to the configuration state, the data rate is set in the bmTXAttributes field in the information element WDTTCA_IE in the MMC packet that the wireless USB host controls. To do.
本実施の形態では、DMA転送によって行なわれる単位時間当たりのデータ受信量、即ち、受信スループット値を定期的に計算し、計算された受信スループット値に基づき、必要に応じてbmTXAttributesに設定するデータレートを更新するものである。 In the present embodiment, the data reception amount per unit time performed by DMA transfer, that is, the reception throughput value is periodically calculated, and the data rate set in bmTXAttributes as necessary based on the calculated reception throughput value Is to be updated.
次に、本実施の形態における受信データレートの調整方法について説明する。 Next, a reception data rate adjustment method in the present embodiment will be described.
本実施の形態におけるワイヤレスUSBホスト装置のデータ受信時においては、DMA転送において、1つのパケットごとにDMA転送用バッファ及びDMA受信用ディスクリプタテーブルを割り当てる。 At the time of data reception by the wireless USB host device in this embodiment, a DMA transfer buffer and a DMA reception descriptor table are allocated for each packet in DMA transfer.
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つインクリメントする。 The STATUS of the DMA reception descriptor table is composed of two pieces of flag information, an AVAILABLE flag and a CORRECT flag. At the time of reception, the AVAILABLE flag indicates whether or not the descriptor table can be used for the next DMA reception, that is, whether or not the device driver 13 has read the DMA received data. It is. The CORRECT flag indicates whether or not the DMA transfer of the received data has been performed correctly. When the DMAC 27 finishes the DMA transfer of the received data, it sets the AVAILABLE flag to OFF and generates a DMA reception completion interrupt. When a DMA reception completion interrupt occurs, the device driver 13 checks whether the value of the CORRECT flag is ON or OFF, and if it is ON, sets the AVAILABLE flag to ON, and then the reception descriptor table x at that time Data is read from the DMA transfer buffer by the amount set in the SIZE and transferred to the operating system 12. Then, after adding the value of SIZE to the data size accumulation counter, the counter of which descriptor table is added is incremented by one. When the value of the CORRECT flag is OFF, the counter indicating which DMA reception descriptor table is incremented by one without adding to the data size accumulation counter.
1番目のデータフレーム受信開始後に、ある所定の時間ごとにタイマー割り込みを発生させるタイマーを起動する。タイマー割り込みが発生すると、デバイスドライバ13中のデータレート調整処理関数がコールされる。 After starting the reception of the first data frame, a timer for generating a timer interrupt is started every predetermined time. When the timer interruption occurs, the data rate adjustment processing function in the device driver 13 is called.
次に、図8に基づき受信時におけるデータレート調整処理関数の流れを説明する。 Next, the flow of the data rate adjustment processing function at the time of reception will be described based on FIG.
最初に、ステップ102(S102)において、受信したファイルにファイル末尾であることを示すEOF(End of Flag)が含まれているか否かのチェックを行なう。EOFが含まれている場合には、その後の受信データレートの調整を必要としないため、そこでデータの受信が終了する。よって、EOFが含まれていると判断された場合には終了し、EOFが含まれていないと判断された場合には、ステップ104に移行する。 First, in step 102 (S102), it is checked whether the received file includes an EOF (End of Flag) indicating the end of the file. If EOF is included, it is not necessary to adjust the reception data rate thereafter, so that the data reception ends. Therefore, the process ends when it is determined that the EOF is included, and the process proceeds to step 104 when it is determined that the EOF is not included.
次に、ステップ104(S104)では、受信スループット値の計算を行なう。具体的には、データサイズ累積カウンタの値をタイマー間隔で割ることにより、受信スループット値を求める。 Next, in step 104 (S104), a reception throughput value is calculated. Specifically, the reception throughput value is obtained by dividing the value of the data size accumulation counter by the timer interval.
次に、ステップ106(S106)では、データサイズ累積カウンタをクリアにする。これは、次の受信スループット値を計算するために行なわれるものである。 Next, in step 106 (S106), the data size accumulation counter is cleared. This is done to calculate the next receive throughput value.
次に、求めた受信スループット値をもとに、受信データレートの調整が必要であるか否かが判断される。 Next, it is determined whether or not the reception data rate needs to be adjusted based on the obtained reception throughput value.
次に、ステップ108(S108)では、現在の受信データレートは、取り得る値における最低値であるか否かが判断される。現在の受信データレートが取り得る値における最低値であると判断された場合には終了し、現在の受信データレートが取り得る値における最低値でないと判断された場合には、ステップ110に移行する。 Next, in step 108 (S108), it is determined whether or not the current reception data rate is the lowest possible value. If it is determined that the current received data rate is the lowest possible value, the process ends. If it is determined that the current received data rate is not the lowest possible value, the process proceeds to step 110. .
次に、ステップ110(S110)では、受信スループット値が、現在の受信データレートにおけるDOWNしきい値を下回っているか否かが判断される。受信スループット値が現在の受信データレートにおけるDOWNしきい値を下回っていると判断された場合にはステップ112に移行し、受信スループット値が現在のデータレートにおけるDOWNしきい値を下回っていないと判断された場合にはステップ116に移行する。 Next, in step 110 (S110), it is determined whether the reception throughput value is below a DOWN threshold value at the current reception data rate. If it is determined that the reception throughput value is below the DOWN threshold value at the current reception data rate, the process proceeds to step 112, and it is determined that the reception throughput value is not below the DOWN threshold value at the current data rate. If so, the process proceeds to step 116.
次に、ステップ112(S112)では、現在の受信データレートよりも1つ低いデータレートを受信データレート設定レジスタに設定する。 Next, in step 112 (S112), a data rate one lower than the current reception data rate is set in the reception data rate setting register.
次に、ステップ114(S114)では、PHY部23において新たに設定された受信データレートをMMCパケット中の情報要素WDTCTA_IE中のbmTXAttributesフィールドに設定し終了する。 Next, in step 114 (S114), the reception data rate newly set in the PHY unit 23 is set in the bmTXAttributes field in the information element WDTCTA_IE in the MMC packet, and the process ends.
一方、ステップ116(S116)では、現在の受信データレートは、取り得る値における最高値であるか否かが判断される。現在の受信データレートが取り得る値における最高値であると判断された場合には終了し、現在の受信データレートが取り得る値における最高値でないと判断された場合には、ステップ118に移行する。 On the other hand, in step 116 (S116), it is determined whether or not the current received data rate is the highest possible value. If it is determined that the current received data rate is the highest possible value, the process is terminated. If it is determined that the current received data rate is not the highest possible value, the process proceeds to step 118. .
次に、ステップ118(S118)では、受信スループット値が、現在の受信データレートにおけるUPしきい値を上回っているか否かが判断される。受信スループット値が現在の受信データレートにおけるUPしきい値を上回っていると判断された場合にはステップ120に移行し、受信スループット値が現在の受信データレートにおけるUPしきい値を上回っていないと判断された場合には終了する。 Next, in step 118 (S118), it is determined whether or not the reception throughput value exceeds the UP threshold value at the current reception data rate. If it is determined that the reception throughput value exceeds the UP threshold value at the current reception data rate, the process proceeds to step 120, and the reception throughput value does not exceed the UP threshold value at the current reception data rate. If it is determined, the process ends.
次に、ステップ120(S120)では、現在の受信データレートよりも1つ高いデータレートを受信データレート設定レジスタに設定する。 Next, in step 120 (S120), a data rate that is one higher than the current received data rate is set in the received data rate setting register.
次に、ステップ122(S122)では、PHY部23において新たに設定された受信データレートをMMCパケット中の情報要素WDTCTA_IE中のbmTXAttributesフィールドに設定し終了する。 Next, in step 122 (S122), the reception data rate newly set in the PHY unit 23 is set in the bmTXAttributes field in the information element WDTCTA_IE in the MMC packet, and the process ends.
このようにして、本実施の形態におけるワイヤレスUSBホスト装置は、DMA受信する際に、DMA受信完了割り込みが発生する度に、受信データのサイズを蓄積し、タイマー割り込み発生ごとに受信スループットを計算し、その値が、その受信データレートにおけるDOWNしきい値を下回っているか否か、また、UPしきい値を上回っているか否かを調べ、その結果に基づき受信データレートを上げ下げして調節するため、効率的なデータ受信が可能となる。 In this way, the wireless USB host device in the present embodiment accumulates the size of received data every time a DMA reception completion interrupt occurs during DMA reception, and calculates the reception throughput each time a timer interrupt occurs. In order to check whether the value is below the DOWN threshold value at the reception data rate and above the UP threshold value, and to adjust the reception data rate by raising or lowering based on the result. Efficient data reception is possible.
なお、以上のデータレートを動的に調整するための処理では、受信スループット値に基づき受信データレートの変更の必要性の有無を判断している。そのため、データが連続的に受信されることが前提となる。そこで、これらの調整はワイヤレスUSBの仕様に定められた連続的で一定の転送速度が要求される用途で用いられるアイソクロナス転送モードの際にのみ行なわれる。 In the above-described process for dynamically adjusting the data rate, it is determined whether or not the reception data rate needs to be changed based on the reception throughput value. Therefore, it is assumed that data is received continuously. Therefore, these adjustments are performed only in the isochronous transfer mode used in applications requiring a continuous and constant transfer speed defined in the wireless USB specification.
以上、本発明の実施に係る形態について説明したが、上記内容は、発明の内容を限定するものではない。 As mentioned above, although the form which concerns on implementation of this invention was demonstrated, the said content does not limit the content of invention.
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 受信部
1
11 Memory 12 Operating system 13
21
28 Sending FIFO
29 Receive FIFO
30 DMAC in sub CPU
31 MAC-
Claims (9)
前記伝送データの通信を行なう際の単位時間当たりの伝送データ量を算出し、
前記伝送データ量に基づいて前記伝送データの通信を行なう際のデータレートを動的に調整し、
前記データレートに基づき前記伝送データの通信を行なうものであって、
前記伝送データ量は、DMA転送のために設定されたデータサイズの値に基づき算出するものであって、
前記データレートの調整は、前記単位時間当たりの伝送データ量をUPしきい値及びDOWNしきい値と比較し、
前記比較の結果に基づき前記データレートを変更し調整するものであることを特徴とするワイヤレスUSBホスト装置。 In a wireless USB host device for communicating transmission data by wireless USB with a wireless USB device,
Calculate the amount of transmission data per unit time when performing communication of the transmission data,
Dynamically adjusting the data rate when communicating the transmission data based on the amount of transmission data;
Communication of the transmission data based on the data rate,
The transmission data amount is calculated based on a data size value set for DMA transfer,
The adjustment of the data rate is performed by comparing the transmission data amount per unit time with the UP threshold value and the DOWN threshold value,
A wireless USB host device, wherein the data rate is changed and adjusted based on a result of the comparison.
前記テーブルはチェーンとして用いられるものであることを特徴とする請求項1に記載のワイヤレスUSBホスト装置。 The data size value is stored as an array of corresponding tables,
The wireless USB host device according to claim 1 , wherein the table is used as a chain.
前記データパターンを検出した場合には、前記データレートの調整を行なわないことを特徴とする請求項1から7のいずれかに記載のワイヤレスUSBホスト装置。 The transmission data that is the last of the transmission data file includes a data pattern indicating that it is the last transmission data of the file,
When detecting the data pattern, the wireless USB host device according to any one of claims 1 to 7, characterized in that not adjusted for the data rate.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008256854A JP5262535B2 (en) | 2008-10-01 | 2008-10-01 | Wireless USB host device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008256854A JP5262535B2 (en) | 2008-10-01 | 2008-10-01 | Wireless USB host device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010088000A JP2010088000A (en) | 2010-04-15 |
JP5262535B2 true JP5262535B2 (en) | 2013-08-14 |
Family
ID=42251466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008256854A Expired - Fee Related JP5262535B2 (en) | 2008-10-01 | 2008-10-01 | Wireless USB host device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5262535B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5494228B2 (en) * | 2010-05-21 | 2014-05-14 | 株式会社リコー | COMMUNICATION DEVICE, MEMORY DEVICE, AND COMMUNICATION METHOD |
US9201812B2 (en) * | 2011-07-25 | 2015-12-01 | Aliphcom | Multiple logical representations of audio functions in a wireless audio transmitter that transmits audio data at different data rates |
KR20150124796A (en) * | 2014-04-29 | 2015-11-06 | 삼성전자주식회사 | A method and apparatus for controlling data transmitting for universal serial bus communication in a radio environment |
JP2019050524A (en) | 2017-09-11 | 2019-03-28 | 株式会社東芝 | Communication device, communication method, and program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4032824B2 (en) * | 2002-05-22 | 2008-01-16 | ソニー株式会社 | Communication method and communication bridge device |
JP4178010B2 (en) * | 2002-08-27 | 2008-11-12 | アルプス電気株式会社 | Data transmission method |
JP4208611B2 (en) * | 2003-03-11 | 2009-01-14 | キヤノン株式会社 | Mobile device with camera |
JP5008270B2 (en) * | 2005-04-13 | 2012-08-22 | ソニー株式会社 | Information processing apparatus and information processing method |
JP4690898B2 (en) * | 2006-02-03 | 2011-06-01 | 株式会社リコー | Short-range wireless data communication device |
JP2008153898A (en) * | 2006-12-15 | 2008-07-03 | Sony Corp | Communication system, communication device and communication method, and computer program |
-
2008
- 2008-10-01 JP JP2008256854A patent/JP5262535B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010088000A (en) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10575332B2 (en) | Wireless communication method for simultaneous data communication, and wireless communication terminal using same | |
JP5268844B2 (en) | Wireless communication system | |
EP2300923B1 (en) | Wireless usb device and wireless usb communication system | |
US20090323723A1 (en) | Wireless communication apparatus and packet transfer method thereof | |
US20210204165A1 (en) | Wireless communication method and wireless communication terminal for transmitting information on buffer status | |
JP5262535B2 (en) | Wireless USB host device | |
KR20120091321A (en) | Systems, methods and apparatus for data communication | |
US20230276300A1 (en) | Wireless communication method using fragmentation and wireless communication terminal using same | |
WO2005050942A1 (en) | Radio communication system, method for controlling transmission of reception acknowledgement signal, and radio station used therein | |
JP6283808B2 (en) | Wireless access point and program | |
JP5494228B2 (en) | COMMUNICATION DEVICE, MEMORY DEVICE, AND COMMUNICATION METHOD | |
US20230327810A1 (en) | Handling block acknowledgements | |
JP2010232984A (en) | Wireless communication device, wireless communication method, wireless communication program, and recording medium |
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 |