JP5577769B2 - 通信装置及び通信方法 - Google Patents

通信装置及び通信方法 Download PDF

Info

Publication number
JP5577769B2
JP5577769B2 JP2010057161A JP2010057161A JP5577769B2 JP 5577769 B2 JP5577769 B2 JP 5577769B2 JP 2010057161 A JP2010057161 A JP 2010057161A JP 2010057161 A JP2010057161 A JP 2010057161A JP 5577769 B2 JP5577769 B2 JP 5577769B2
Authority
JP
Japan
Prior art keywords
transmission
communication device
communication
data frame
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010057161A
Other languages
English (en)
Other versions
JP2011191988A (ja
Inventor
猛 江島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2010057161A priority Critical patent/JP5577769B2/ja
Publication of JP2011191988A publication Critical patent/JP2011191988A/ja
Application granted granted Critical
Publication of JP5577769B2 publication Critical patent/JP5577769B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、通信装置に関する。
ワイヤレスUSBは、短距離間の有線通信規格として広く普及しているUSB(Universal Serial Bus)を拡張して、有線通信の安全性と速度を確保しながら、無線通信の使いやすさを持つ技術規格である。ワイヤレスUSBは、USB−IF(USB Implementers Forum)の下部組織であるワイヤレスUSBプロモータ・グループによって、仕様が作成されている。
ワイヤレスUSBは、無線技術としてUWB(Ultra Wide Band)技術を用いる。UWB技術は、3.1〜10.6[GHz]の7.5[GHz]という、広い周波数帯域を使用している。標準規格の策定をおこなう米国電気電子学会(IEEE:The Institute of Electrical and Electronic Engineers)の、IEEE802.15.3aタスクグループが、UWBの物理レイヤーの標準化を担当している。
UWBの物理層には、DS−UWB(Direct Spread-UWB)、MB−OFDM(Multi Band-Orthogonal Frequency Division Multiplexing)の2つの変調方式がある。DS−UWBは、3.1〜4.9[GHz]のローバンドと、6.2〜9.7[GHz]のハイバンドの2つのバンド(デュアルバンド)を使用する。DS−UWBでは、QPSKまたはBPSK(Binary Phase Shift Keying)によって1次変調をおこなった後、2次変調にCDMA(Code Division Multiple Access)を使用してデータを運ぶ。このとき直接周波数拡散方式を使用する。MB−OFDMは、3.1〜10.6[GHz]の帯域を14のバンド(周波数帯)に分割し、各バンドにて、まず、QPSK(Quadrature Phase Shift Keying)により、ディジタル信号を電波に乗せるための1次変調をおこない、他の電波からの干渉に強い通信を実現するための2次変調を、OFDM変調によって行う。WiMedia Allianceと呼ばれる団体が、MB−OFDMを利用するPHY(Physical)層の技術を、WiMedia PHYとして定義している。これらの変調方式を用いて変調を行うことにより、UWBでは、1[MHz]当たりの送信電力レベルを抑制する。
具体的には、FCC(米国連邦通信委員会:Federal Communications Commision)では、UWB通信における1[MHz]当たりの送信電力レベルの規制値を表すEIRP(Equivalant Isotropic Radiation)を、−41.25[dBm]以下と定めている。これは、総電力に換算すると、0.5[mW]程度であり、IEEE802.11b無線LANおよびPHS(Personal Handyphone System)が10[mw]であるのと比較すると、約20分の1となる。
前述のWiMedia Allianceは、MAC(Media Access Control)層のプロトコルを、WiMedia MAC1.0仕様として定義している。ワイヤレスUSBは、WiMedia PHY、WiMedia MACという無線技術の上に、有線の、USB−IF(USB Implementers Forum)が作成したUSB2.0仕様(Universal Serial Bus Specification Revision 2.0)をベースとするUSB技術を搭載している。そのため、ワイヤレスUSBは、通信範囲が3m以内であれば、有線のUSB2.0の最大データ転送レートである480[Mbps]でデータを転送することが可能となる。
また、ワイヤレスUSBは、送信電力が低いというUWBの特徴を持つことにより、電波の届く範囲がおよそ10[m]以内であることを想定したPAN(Personal Area Network)として位置づけられており、無線LANに比べ、より高速であることに加え、盗聴のリスクが少なく、安全性が高い通信技術であるといえる。
ワイヤレスUSBは、これらの特徴を持つことにより、今後、家庭またはオフィスなどの空間で、パソコン、プリンタなどの周辺装置との間の通信などの用途において、普及していく可能性を持っている。
ある空間におけるワイヤレスUSBを用いた通信装置の集まりであるクラスタは、該クラスタを制御する役割を持つ1台のワイヤレスUSBホストと、該ワイヤレスUSBホストによって制御される1つ以上の各周辺装置に相当するワイヤレスUSBデバイスから構成される。
例えば、パソコン、プリンタなどの周辺装置を、ワイヤレスUSBによって接続させて通信をおこなう場合、パソコンがワイヤレスUSBホストに相当し、プリンタなどの周辺装置がワイヤレスUSBデバイスに相当する。
ワイヤレスUSBは、TDMA(時分割多元接続方式:Time Division Multiple Access)を用いた技術である。ワイヤレスUSBホストは、データ送受信に先立ち、MMC(Micro-scheduled Management Command)フレームを発行する。該MMCには、ある間隔ごとに、データおよびその他の情報の送受信の対象となるワイヤレスUSBデバイスを識別するためのデバイスIDと、時間を表すパラメータ(単位:[μsec])と、以下に説明する情報要素WxCTA_IE(Wireless USB Channel Allocation Information Element)などの情報が含まれる。
WxCTA_IEは、通信の種類を示す情報要素である。WxCTA_IEに含まれる情報要素として、主に用いられるものには、ワイヤレスUSBホストからワイヤレスUSBデバイス方向のデータ通信(デバイス受信)であることを示すWDRCTA_IE(Device Receive Channel Allocation Information Element)、ワイヤレスUSBデバイスからワイヤレスUSBホスト方向のデータ通信(デバイス送信)であることを示すWDTCTA_IE(Device Transmit Channel Allocation Information Element)、ワイヤレスUSBデバイスからワイヤレスUSBホストへの状態通知(デバイス通知)であることを示すWDNTSCTA_IE(Device Notification Channel Allocation Information Element)の3つがある。MMCフレームの中にこれらの情報を追加することにより、ワイヤレスUSBホストは、例えば、「今からt[μsec]後に、デバイスID=xのワイヤレスUSBデバイスを対象として、ワイヤレスUSBホストからワイヤレスUSBデバイス方向にデータフレームを送信する。」というように、事前に、ワイヤレスUSBデバイスに対して通知することになる。ワイヤレスUSBホストとワイヤレスUSBデバイスとの間でのフロー制御手順については、ワイヤレスUSB1.0仕様(Wireless Universal Serial Bus Specification Revision 1.0)に規定されている。
一例として、ワイヤレスUSBホストが送信するMMCに含まれる、通信の種類を表すパラメータが「デバイス送信」であった場合、すなわち、ワイヤレスUSBデバイスからワイヤレスUSBホスト方向のデータ通信である場合の、ワイヤレスUSBホストとワイヤレスUSBデバイスとの間でのフロー制御手順を説明する。
図1は、ワイヤレスUSBデバイスからワイヤレスUSBホスト方向のデータ通信である場合の、ワイヤレスUSBホストとワイヤレスUSBデバイスとの間でのフロー制御手順の一例を示す。
MMCに含まれる、通信の種類を表すパラメータが「デバイス送信」であった場合(ステップS102)、対象となるワイヤレスUSBデバイスは、送信すべきデータを準備できている場合には、指定された時間に、ワイヤレスUSBホストに対してデータフレームを送信する(ステップS104)。
MMCに含まれる、通信の種類を表すパラメータが「デバイス送信」であった場合(ステップS106)、送信すべきデータフレームが無い場合には、データフレームの代わりに、送信すべきデータが無いことを示すNAK(Negative Acknowledgement)フレームを送信する(ステップS108)。NAKフレームを受け取ったワイヤレスUSBホストは、通信の種類を表すパラメータの値を「デバイス通知」に設定したMMCフレームを、ある間隔ごとに送信する(ステップS110、ステップS112)。
ワイヤレスUSBデバイスは、アプリケーション層をはじめとする上位層から送信データを受け取り、その後、ワイヤレスUSB1.0仕様に定義されたデータフレームの生成を行う(ステップS114)。
ワイヤレスUSBデバイスがデータフレームを準備できた場合には、該データフレームを準備できた直後に、通信の種類を表すパラメータの値が「デバイス通知」に設定されたMMCフレームを受信した際に(ステップS116)、データを送信する状態になったことを示す、DN_EPRdy(Device Endpoints Ready)フレームを送信する(ステップS118)。
DN_EPRdyフレームを受け取ったワイヤレスUSBホストは、ワイヤレスUSBデバイスがデータを送信できる状態になったことを知り、通信の種類を表すパラメータの値を「デバイス送信」に設定したMMCフレームを送信する(ステップS120)。
該MMCフレームを受信したワイヤレスUSBデバイスは、該MMCフレームで指定された時間に、データフレームを送信する(ステップS122)。
ワイヤレスUSBデバイスは、NAKフレームを送信し(ステップS108)、アプリケーション層をはじめとする上位層から送信データを受け取り、ワイヤレスUSB1.0仕様に定義されたデータフレームを生成し、送信すべきデータを準備する(ステップS114)。
該送信すべきデータを準備した後、ワイヤレスUSBデバイスは、通信の種類を表すパラメータの値が「デバイス通知」に設定されたMMCフレームを受信し(ステップS116)、データを送信できる状態になったことを示す、DN_EPRdy(Device Endpoints Ready)フレームを送信する(ステップS118)。
ワイヤレスUSBデバイスは、ワイヤレスUSBホストにより通信の種類を表すパラメータの値が「デバイス送信」に設定されたMMCフレームを受信する(ステップS120)。
NAKフレームを送信することから通信の種類を表すパラメータの値が「デバイス送信」に設定されたMMCフレームを受信する過程を経ることにより、データフレームを送信することができる(ステップS122)。従って、該過程の間は、データフレームを生成済であるにも拘らず、該データフレームを送信することができない。つまり、送信すべきデータフレームが生成されてから、実際に該データフレームを送信するまでの待機時間が長くなる。
待機時間が長くなることにより、単位時間当たりのデータパケット伝送量を示すスループット値が低下する。
そこで、本発明は、上述した問題点の少なくとも1つに鑑みてなされたものであり、その目的は、データフレームを生成してから、該データフレームを送信するまでの待機時間を短縮できる通信装置、及び通信方法を提供することにある。
本通信装置は、
通信相手となる通信装置からの送信指示に従って、該通信相手となる通信装置に送信すべきデータフレームを送信する通信装置であって、
前記通信相手となる通信装置に送信すべきデータフレームを生成するデータフレーム生成部と、
前記データフレームを送信できる状態になったことを示す送信可能状態通知情報を生成する送信可能状態通知情報生成部と、
前記通信相手となる通信装置からの、当該通信装置から前記通信相手となる通信装置への状態通知の指示に従って、前記送信可能状態通知情報生成部により生成された送信可能状態通知情報を送信する送信部と
を有し、
前記送信部は、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信する。
本通信方法は、
通信相手となる通信装置からの送信指示に従って、該通信相手となる通信装置に送信すべきデータフレームを送信する通信装置における通信方法であって、
前記通信相手となる通信装置に送信すべきデータフレームを生成するデータフレーム生成ステップと、
前記データフレームを送信できる状態になったことを示す送信可能状態通知情報を生成する送信可能状態通知情報生成ステップと、
前記通信相手となる通信装置からの、当該通信装置から前記通信相手となる通信装置への状態通知の指示に従って、前記送信可能状態通知情報生成ステップにより生成された送信可能状態通知情報を送信する送信ステップと
を有し、
前記送信ステップは、前記データフレーム生成ステップによりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信する。

開示の通信装置及び通信方法によれば、データフレームを生成してから、該データフレームを送信するまでの待機時間を短縮することができる。
ワイヤレスUSBホストとワイヤレスUSBデバイスとの間のフロー制御手順の一例を示すシーケンス図である。 本実施例に従った無線通信装置を示す機能ブロック図である。 本実施例に従った無線通信装置の動作を示す説明図である。 無線通信装置の動作の一例を示すフローチャートである。 本実施例に従った無線通信装置の動作の一例を示すフローチャートである。 無線通信装置の動作の一例を示すシーケンス図である。 本実施例に従った無線通信装置の動作の一例を示すシーケンス図である。 本実施例に従った無線通信装置の動作の一例を示すシーケンス図である。 本変形例に従った無線通信装置の動作の一例を示すフローチャートである。 本実施例に従った無線通信装置の動作の一例を示すフローチャートである。 本実施例に従った無線通信装置の動作の一例を示すフローチャートである。 本実施例に従った無線通信装置のDN_EPRdy送出要求を出す際の処理を示す説明図である。 本実施例に従った無線通信装置のDN_EPRdy送出要求を出す際の処理を示す説明図である。 本実施例に従った無線通信装置の動作の一例を示すシーケンス図である。 本実施例に従った無線通信装置の動作の一例を示すシーケンス図である。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
<第1の実施例>
<無線通信装置>
図2は、本実施例に従った無線通信装置100の一例を示す。本無線通信装置100には、ワイヤレスUSBデバイスが含まれる。本実施例では、一例として、無線通信装置100にワイヤレスUSBデバイスを適用した場合について説明する。
本無線通信装置100は、制御部102と、ターゲットコントローラ120とを有する。制御部102と、ターゲットコントローラ120との間は、バス160を介して接続される。
制御部102は、メインCPU104と、メモリ106と、オペレーティングシステム(OS: Operating System)108と、ドライバ110と、アプリケーションソフトウェア112と、バスコントローラ114とを有する。
メインCPU(Central Processing Unit)104は、メモリ106を用いてオペレーティングシステム108を実行させる。メインCPU104は、該オペレーティングシステム108上でドライバ110を実行させる。
メモリ106内には、バス160を介して、DMA(Direct Memory Access)転送を行うDMAC(Direct Memory Access Controller)_A用のDMAC_A用ディスクリプタテーブル1062を配置する。該DMAC_A用ディスクリプタテーブル1062には、DMA転送に関するデータサイズ、DMA転送元データ領域などの情報が格納される。
ドライバ110は、USBを用いた各機能を実現するためのファンクションドライバ1102と、USBプロトコルに基づいた通信を実現するためのUSBバスドライバ1104とを含む。該USBを用いた各機能には、プリンタ、スキャナ、ストレージなどの機能が含まれる。
ドライバ110は、バス160を介して制御部102とターゲットコントローラ120との間のデータの送受信を行う。該ドライバ110は、後述するMACハードウェア部130のレジスタに対して、値の読み書きを行う。MACハードウェア部130のレジスタに対して値の読み書きを行うことにより本無線通信装置100を制御する。
アプリケーションソフトウェア112は、ワイヤレスUSBホスト(図示無し)から送信されたデータの利用、ワイヤレスUSBホストへ送出すべきデータの生成を行う。
バスコントローラ114と、バスコントローラ132は、バスの制御を行う。
ターゲットコントローラ120は、サブCPU122と、メモリ124と、リアルタイムオペレーティングシステム(RTOS: Real Time Operating System)126と、ファームウェア128と、MACハードウェア部130と、バスコントローラ132と、DMAC_A134と、DMAC_B136と、PHY部138と、アンテナ150とを有する。
MACハードウェア部130は、PHY(Physical Layer)部138との間でデータフレームの受け渡しやデータフレームのフィルタリング等の処理を行う。
PHY部138は、周波数変換等の信号処理を行う。PHY部138内のベースバンド部1382は、電気信号とディジタルデータとの間で変換を行う。RF部1384は、電気信号の周波数と無線の電波の周波数との間で周波数変換を行う。アンテナ150は、電波の送受信を行う。
サブCPU122は、メモリ124を用いてリアルタイムオペレーティングシステム126を実行する。サブCPU122は、該リアルタイムオペレーティングシステム126上で、MACハードウェア部130の各部を制御するためのファームウェア128を実行させる。
ファームウェア128は、送信データフレーム生成部1282と、データフレーム送出部1284とを有する。
送信データフレーム生成部1282は、ドライバ110から受け取ったデータをもとに送信データフレームを生成する。データフレーム送出部1284は、該送信データフレーム生成部1282により生成されたデータフレームの送出を行う。
送信データフレーム生成部1282は、DMAC_B用のディスクリプタテーブルの生成を行うDMAC_B用ディスクリプタテーブル生成部1286と、DN_EPRdyフレームの送信要求を行うDN_EPRdy送信要求部1288を有する。
また、データフレーム送出部1284は、データフレームを送出する処理に加え、DN_EPRdy送信要求部1288により要求されたDN_EPRdyフレームを送出する処理を行う。
ファームウェア128を実行するサブCPU122は、MACハードウェア部130のレジスタ(図示無し)の設定や、制御部102との間のデータの送受信等を行う。
MACハードウェア部130はWiMedia MACの仕様に基づいた処理を実行する。PHY部138はWiMedia PHYの仕様に基づいた処理を実行する。また、MACハードウェア部130と、PHY部138との間の通信は、WiMedia MAC−PHYインタフェース仕様書によって規定されている。
<他の無線通信装置へデータを送信する際の処理>
本無線通信装置100が他の無線通信装置へデータを送信する際の無線通信装置100内の、各機能ブロックにおける処理の流れを示す。該他の無線通信装置には、ワイヤレスUSBホストが含まれる。
図3は、本無線通信装置100から他の無線通信装置方向にデータを送信する場合の、本無線通信装置100内の、各ブロックにおける処理の流れを示す。
アプリケーションソフトウェア112によりデータが生成される。該データは、ドライバ110を経由し、メモリ106に格納されたDMAC_A用ディスクリプタテーブル1062に含まれる情報に従って、ターゲットコントローラ120に転送される。
ターゲットコントローラ120では、ファームウェア128にて、データフレームが生成される。該データフレームは、MACハードウェア部130に渡され、PHY部138に入力される。PHY部138では、ベースバンド部1382によりデータフレームが電気信号に変換され、RF部1384により無線の電波信号に変換される。該電波信号は、アンテナ150を介して送出される。
ドライバ110からファームウェア128への、バス160を介したデータ転送は、DMA転送により行われる。該DMA転送は、DMAC_A134により行われる。
ドライバ110は、ファームウェア128に渡すデータを用意し、DMA転送における、データサイズ、DMA転送元データ領域などの情報を記したDMAC_A用ディスクリプタテーブル1062を作成する。ドライバ110は、ターゲットコントローラ120のMACハードウェア部130内のDMAC_A用DMA転送開始要求レジスタに設定する。DMAC_A用DMA転送開始要求レジスタに設定することにより、DMAC_A134が、DMAC_A用ディスクリプタテーブルの内容に従って、DMA転送を行うことができる。DMAC_A134はDMA転送を終了すると、ターゲットコントローラ120のサブCPU122に対して、バスインタフェース割り込みを発生させる。バスインタフェース割り込みの発生により、ファームウェア128は、メモリ124上のデータに基づいて、ワイヤレスUSB1.0仕様及びWiMedia MAC1.0仕様に規定されたデータフレームのフォーマットに従いデータフレームを生成する。
該データフレームは、MACハードウェア用の送信キュー1244へ、DMA転送によって転送される。該送信キュー1244は、メモリ124に含まれる。該DMA転送は、DMAC_B136により行われる。ファームウェア128は、DMAC_B用ディスクリプタテーブル1242を作成した後、MACハードウェア部130の、DMAC_B用DMA転送開始要求レジスタに設定する。DMAC_B用DMA転送開始要求レジスタに設定することによって、DMAC_B136が、DMAC_B用ディスクリプタテーブル1242の内容に従って、DMA転送をおこなう。DMAC_B136は、DMA転送を終了すると、サブCPU122に対して、DMA転送完了割り込みを発生させる。
送信キュー1244に格納されたデータフレームは、MACハードウェア部130によりワイヤレスUSBホストからのMMCフレームに含まれるWDTCTA_IEにて指定された時刻に送出できるように管理される。該データフレームは、ベースバンド部1382、RF部1384、及びアンテナ150を介して送出される。
MACハードウェア部130は、当該無線通信装置100がWDTCTA_IEを含むMMCフレームを受信した際に、該MMCフレームを受信した時点で、送信キュー1244にデータが格納されているかどうかを判定する。送信キュー1244にデータが格納されていない場合には、送信するデータが無いことを示すNAKフレームを送信する。送信キュー1244にデータが格納されている場合には、該データを送信する。
MACハードウェア部130は、NAKフレーム送信後、サブCPU122に対して、NAKフレーム送信完了割り込みを発生させる。該NAKフレーム送信完了割り込みによって、ファームウェア128は、該ファームウェア128に配置された、現在NAK状態にあるかどうかを示すNAKフラグをTRUEに設定する。
NAKフラグがTRUEに設定された後、DMA転送により、ドライバ110から次のデータを渡されると、サブCPU122に対してバスインタフェース割り込みが発生する。
<ファームウェアの処理>
サブCPU122に対してバスインタフェース割り込みが発生した際に、ファームウェア128により実行される処理について説明する。
図4は、従来におけるバスインタフェース割り込みが発生した際の処理を示すフローチャートである。
サブCPUに対してバスインタフェース割り込みが発生した場合には、ファームウェアは、前回バスインタフェース割り込みが発生した場合と同様に、ドライバからのデータをもとに、送信すべきデータフレームを生成する(ステップS402)。
ドライバは、DMAディスクリプタテーブルを作成する(ステップS404)。
ドライバは、DMA転送開始要求レジスタに設定する(ステップS406)。
サブCPUは、DMA転送完了割り込みの発生を検知する(ステップS408)。
ファームウェアは、DMA転送完了割り込みの発生を検知した時点でNAKフラグがTRUEであるかどうかを判定する(ステップS410)。
NAKフラグがTRUEであると判定した場合(ステップS410:YES)、ファームウェアは、MACハードウェア部に対して、NAK状態が解消されたことを示す、DN_EPRdyフレームの送信要求を行う(ステップS412)。
ファームウェアは、NAKフラグをFALSEに設定する(ステップS414)。
ステップS410において、NAKフラグがTRUEであると判定されない場合(ステップS410:NO)、換言すれば、FALSEであると判定された場合、終了する。
図5は、本無線通信装置100において、バスインタフェース割り込みが発生した際の処理を示すフローチャートである。
サブCPU122は、該サブCPU122に対してバスインタフェース割り込みが発生したかどうかを判定する(ステップS502)。
サブCPU122に対してバスインタフェース割り込みが発生したと判定された場合(ステップS502:YES)、ファームウェア128は、該バスインタフェース割り込みが発生した時点でNAKフラグがTRUE、FALSEのどちらに設定されているかを調べる(ステップS504)。一方、サブCPU122に対してバスインタフェース割り込みが発生したと判定されない場合(ステップS502:NO)、ステップS502に戻る。サブCPU122に対してバスインタフェース割り込みが発生したと判定されるまで、同様の判定処理を行う。
ステップS504によりNAKフラグがTRUEに設定されていると判定された場合(ステップS504:YES)、DN_EPRdy送信要求部1288は、NAK状態が解消されたことを示す、DN_EPRdyフレームの送信要求をMACハードウェア部130に対して行う(ステップS506)。
該DN_EPRdy送信要求部1288は、DN_EPRdyフレームの送信要求を行った後、ファームウェア128に設定されるべきNAKフラグをFALSEに設定する(ステップS508)。
ステップS508によりファームウェア128に設定されるべきNAKフラグがFALSEに設定された後、及びステップS504によりNAKフラグがTRUEに設定されていると判定されない場合、換言すればFALSEに設定されていると判定された場合(ステップS504:NO)、送信データフレーム生成部1282は、ドライバ110から受け取ったデータに基づいて、データフレームを生成する(ステップS510)。
DMA_B用ディスクリプタテーブル生成部1286は、DMA_B用ディスクリプタテーブル1242を作成する(ステップS512)。
サブCPU122は、MACハードウェア部130の、DMAC_B用DMA転送開始要求レジスタに設定する(ステップS514)。DMAC_B用DMA転送開始要求レジスタに設定することにより、DMAC_B136が、DMAC_B用ディスクリプタテーブル1242の内容に従って、DMA転送を行うことができる。DMAC_B136は、DMA転送を終了すると、サブCPU122に対して、DMA転送完了割り込みを発生させる。
サブCPU122は、DMA転送完了割り込みを検知する(ステップS516)。
<本無線通信装置と他の無線通信装置との間の処理シーケンス>
以下、従来技術の処理シーケンスのフローと、本実施例の処理シーケンスのフローとを示す。
以下、本無線通信装置を「ワイヤレスUSBデバイス」と呼び、他の無線通信装置を「ワイヤレスUSBホスト」と呼ぶ。
ワイヤレスUSBデバイスからワイヤレスUSBホスト方向のデータ通信(デバイス送信)であることを示すWDTCTA_IEを含むMMCフレームに対して、ワイヤレスUSBデバイスはデータフレームを送出する。該データフレームの送出後、ワイヤレスUSBデバイスからワイヤレスUSBホスト方向のデータ通信(デバイス送信)であることを示すWDTCTA_IEを含むMMCフレームに対して、ワイヤレスUSBデバイスはNAKフレーム送信する。NAKフレームを送信した後、ワイヤレスUSBデバイスからワイヤレスUSBホスト方向への状態通知(デバイス通知)であることを示すWDNTSCTA_IEを含むMMCフレームに対して、ワイヤレスUSBデバイスはDN_EPRdyを送信する。ワイヤレスUSBデバイスは、再度、ワイヤレスUSBホストからWDTCTA_IEを含むMMCフレームを受信する。該MMCフレームを受信した後、ワイヤレスUSBデバイスは、データフレームを送出する。以上の1サイクルにおける一連のフローと、該フローに要する処理時間を示す。
なお、ワイヤレスUSBホストにおける、WDTCTA_IEを含むMMCフレームを送出する間隔、WDNTSCTA_IEを含んだMMCフレームを送出する間隔は、ワイヤレスUSB1.0仕様に規定されていない。該WDTCTA_IEを含むMMCフレームを送出する間隔、該WDNTSCTA_IEを含んだMMCフレームを送出する間隔は、ワイヤレスUSBホストの実装に依って異なる。本実施例では、実際に、ワイヤレスUSBプロトコルアナライザを用いて、データフレームをキャプチャした結果、約1000μsecであったため、該WDTCTA_IEを含むMMCフレームを送出する間隔、該WDNTSCTA_IEを含んだMMCフレームを送出する間隔を1000μsecと仮定する。
また、NAKフレームを受信したワイヤレスUSBホストが、ワイヤレスUSBデバイスからワイヤレスUSBホスト方向への状態通知(デバイス通知)であることを示すWDNTSCTA_IEを送出するまでの時間についても同様に、データフレームをキャプチャした結果をもとに、1000μsecと仮定する。
また、WDTCTA_IEまたはWDNTSCTA_IEにより指定される、ワイヤレスUSBデバイスからのフレーム送信時間についても、データフレームをキャプチャした結果をもとに、30μsec後と仮定する。
また、ワイヤレスUSBデバイスがNAKフレームを送出するまでに、ワイヤレスUSBホストからのWDTCTA_IEを含むMMCフレームの送出と、該MMCフレームに対するワイヤレスUSBデバイスからのデータフレームの送出が、5回行われると仮定する。
ドライバ110から次のデータをDMA転送によって渡され、サブCPU122に対してバスインタフェース割り込みが発生した際の、ファームウェア128における処理に要する時間について説明する。
サブCPU122は、割り込み発生後、どのような割り込みであるかをチェックする。サブCPU122は、DMA転送完了を示すバスインタフェース割り込みであった場合には、ワイヤレスUSB1.0に基づいてデータフレームを生成し、DMAディスクリプタテーブルを作成し、DMA転送開始要求レジスタへ設定する。該データフレームを生成し、DMAディスクリプタテーブルを作成し、DMA転送開始要求レジスタへの設定を行う一連の処理は、サブCPU122上での命令で、約1000命令であると推測される。
また、ワイヤレスUSB1.0仕様には、一つのバスインタフェース割り込みに対して、複数のデータフレームを送出する、バースト転送について記載されている。該バースト転送では、一つのWDTCTA_IEに対してまとめて送信できるデータフレームの数、すなわち、バーストサイズは、最大で16フレームと規定されている。
サブCPU122の処理能力を表す単位として、一般的に、一秒間あたりに何百万命令を処理できるかを示すMIPS(Million Instructions Per Second)が用いられる。そして、現在、一般的な組み込み機器で使用されるサブCPU122は、約100MIPSのオーダーである。サブCPU122の処理能力が100MIPSである場合には、サブCPU122が、一つの命令を処理するための時間は、100MIPSの逆数となるので、10nsec(nsecは10のマイナス9乗秒)となる。そのため、上記の一連の処理を16フレームに対して行う場合の処理時間は、10nsec×1000×16=160μsecとなる。そこで、以下、該処理時間が160μsecであると仮定する。そして、この例では、NAKフレームを送出してから900μsec後に、ドライバ110から次のデータをDMA転送によって渡され、サブCPU122に対してバスインタフェース割り込みが発生するものとする。
<従来例>
図6は、従来の処理シーケンスのフローを示す。
ワイヤレスUSBホストからのWDTCTA_IEを含むMMCフレームの送出と、該MMCフレームに対するワイヤレスUSBデバイスからのデータフレームの送出が、5回行われる(ステップS602−ステップS620)。
ワイヤレスUSBホストからのWDTCTA_IEを含むMMCフレームが送出される(ステップS622)。
ワイヤレスUSBデバイスは、NAKフレームを送出する(ステップS624)。ドライバからの全データを送出済であるためである。
ワイヤレスUSBデバイスは、NAKフレーム送信してから900μsec後にドライバから新たなデータを渡されると、データフレームの送信準備を開始する(ステップS626)。データフレーム送信準備を開始する処理には、送信データフレームの生成、DMAディスクリプタテーブルの作成、DMA転送開始要求レジスタへの設定という一連の処理が含まれる。
NAKフレームを送信した後の70μsec後に、ワイヤレスUSBデバイスは、WDNTSCTA_IEを含むMMCフレームを受信する(ステップS628)。ワイヤレスUSBデバイスは、該MMCフレームにより指定される30μsec後までには、データフレーム送信準備が完了しないため、DN_EPRdyを送出することができない(ステップS630)。
ステップS626によりデータフレーム送信準備が開始されてから160μsec後に、データフレーム送信準備が完了し、DMA転送完了割り込みが発生し、MACハードウェア部に対してDN_EPRdy送出を要求する(ステップS632)。
ステップS628により、WDNTSCTA_IEを含むMMCフレーム受信してから1000μsec後に、再度WDNTSCTA_IEを含むMMCフレームを受信する(ステップS634)。
ワイヤレスUSBデバイスは、該MMCフレームにより指定される30μsec後に、DN_EPRdyを送出する(ステップS636)。
該DN_EPRdyを送信した後、ワイヤレスUSBデバイスは、970μsec後に、WDTCTA_IEを含むMMCフレーム受信する(ステップS638)。該MMCフレームに対し、ワイヤレスUSBデバイスは、該MMCフレームにより指定された30μsec後にデータフレームを送出する(ステップS640)。
図6に示される従来の処理シーケンスのフローでは、初めにWDTCTA_IEを含むMMCフレームに対してデータフレームを送出してから(ステップS620)、WDTCTA_IEを含むMMCフレームに対してNAKフレーム送信し(ステップS624)、WDNTSCTA_IEを含むMMCフレームに対して送信フレームが生成された場合にDN_EPRdyを送信し(ステップS636)、再度、WDTCTA_IEを含むMMCフレームに対してデータフレームを送出する(ステップS640)。初めにWDTCTA_IEを含むMMCフレームに対してデータフレームを送出してから(ステップS620)、再度、WDTCTA_IEを含むMMCフレームに対してデータフレームを送出する(ステップS640)までの1サイクルにおける一連の処理時間は、8000μsecと推定される。
<本無線通信装置における処理シーケンス>
図7は、本実施例に従った処理シーケンスのフローを示す。
ワイヤレスUSBホストからのWDTCTA_IEを含むMMCフレームの送出と、該MMCフレームに対するワイヤレスUSBデバイスからのデータフレームの送出が、5回行われる(ステップS702−ステップS720)。
ワイヤレスUSBホストからのWDTCTA_IEを含むMMCフレームが送出される(ステップS722)。
ワイヤレスUSBデバイスは、NAKフレームを送出する(ステップS724)。ドライバからの全データを送出済であるためである。
ワイヤレスUSBデバイスは、NAKフレームを送信してから(ステップS724)、900μsec後にドライバ110から新たなデータを渡されると、サブCPU122は、バスインタフェース割り込みが発生したことを検出する。サブCPU122によりバスインタフェース割り込みが発生したことが検出されると、ファームウェア128は、該バスインタフェース割り込みが発生した時点でNAKフラグがTRUE、FALSEのどちらに設定されているかを調べる。NAKフラグがTRUEに設定されていると判定した場合、ファームウェア128のDN_EPRdy送信要求部1288は、NAK状態が解消されたことを示す、DN_EPRdyフレームの送信要求をMACハードウェア部130に対して行う。該DN_EPRdy送信要求部1288は、DN_EPRdyフレームの送信要求を行った後、ファームウェア128に設定されるべきNAKフラグをFALSEに設定する。送信データフレーム生成部1282は、データフレーム送信準備を開始する。
該データフレーム送信準備が開始されてから70μsec後に、ワイヤレスUSBデバイスは、WDNTSCTA_IEを含むMMCフレームを受信する(ステップS728)。
ワイヤレスUSBデバイスは、該MMCフレームにより指定される30μsec後までに、DN_EPRdyを送出する(ステップS730)。
DN_EPRdyを送出してから60μsec後に、データフレーム送信準備が完了し、DMA転送完了割り込みが発生する(ステップS732)。DMA_B用ディスクリプタテーブル生成部1286は、DMA_B用ディスクリプタテーブル1242を作成する。サブCPU122は、MACハードウェア部130の、DMAC_B用DMA転送開始要求レジスタに設定する。DMAC_B136は、DMA転送を終了すると、サブCPU122に対して、DMA転送完了割り込みを発生させる。
該DMA転送完了割り込みが発生してから910μsec後に、ワイヤレスUSBデバイスは、WDTCTA_IEを含むMMCフレーム受信する(ステップS734)。ワイヤレスUSBデバイスは、該MMCフレームにより指定された30μsec後にデータフレームを送出する(ステップS736)。
図7に示される処理シーケンスのフローでは、WDTCTA_IEを含むMMCフレームに対するデータフレームを送出してから(ステップS720)、WDTCTA_IEを含むMMCフレームに対してNAKフレーム送信し(ステップS724)、WDNTSCTA_IEを含むMMCフレームに対してDN_EPRdyを送信し(ステップS730)、再度、WDTCTA_IEを含むMMCフレームに対してデータフレームを送出する(ステップS736)。
WDTCTA_IEを含むMMCフレームに対するデータフレームを送出(ステップS720)してからWDTCTA_IEを含むMMCフレームに対してデータフレームを送出する(ステップS736)までの1サイクルにおける一連の処理時間は、7000μsecと推定される。図7に示される処理シーケンスのフローでは、図6に示される従来の処理のシーケンスのフローに比べて1000μsec程度、送信すべきデータフレームを生成してから、該データフレームを送信するまでの待機時間を短縮することができる。
NAKフレーム送信後、ドライバ110から次のデータが渡された場合に、MACハードウェア部130へのDN_EPRdy送信要求を先行しておこなった後、送信データフレームの生成、DMAディスクリプタテーブルの作成、DMA転送開始要求レジスタへの設定という一連の処理からなる、データフレーム送信準備を開始することにより、次のデータフレームを実際に送出するまでに要する時間を短縮するという効果が得られる。
<変形例>
上述した実施例では、図7に示されるように、WDNTSCTA_IEを含むMMCフレームの受信(ステップS728)からWDTCTA_IEを含むMMCフレームの受信(ステップS734)までの時間間隔が1000μsecである場合を示した。しかし、該時間間隔については、ワイヤレスUSB1.0仕様に規定されてはいないため、ワイヤレスUSBホストの実装に依る。そのため、該時間間隔が短い場合には、本実施例に対して期待すべき効果が得られないこともありうる。
図8は、本実施例に従った処理シーケンスのフローを示す。
具体例として、ワイヤレスUSBデバイスがWDNTSCTA_IEを含むMMCフレームを受信(ステップS806)してからWDTCTA_IEを含むMMCフレームを受信(ステップS810)するまでの時間間隔が100μsecである場合について説明する。図8において、時間軸のスケールは、図6、及び図7の時間軸スケールとは異なる。
また、図8では、NAKフレーム送信(ステップS802)以前の処理は、図7のNAKフレーム送信以前の処理(ステップS702−ステップS724)と同様である。また、図7では、NAKフレームを送信してから(ステップS724)、ドライバ110から新たなデータを渡される(ステップS726)までの時間を900μsecと仮定したが、図8では960μsecと仮定した。
ワイヤレスUSBデバイスでは、NAKフレーム送信(ステップS802)してから960μsec後に、ターゲットコントローラ120は、ドライバ110から新たなデータを渡される。サブCPU122は、MACハードウェア部130に対してDN_EPRdy送出を要求する(ステップS804)。具体的には、サブCPU122は、バスインタフェース割り込みが発生したことを検出する。サブCPU122によりバスインタフェース割り込みが発生したことが検出されると、ファームウェア128は、該バスインタフェース割り込みが発生した時点でNAKフラグがTRUE、FALSEのどちらに設定されているかを調べる。NAKフラグがTRUEに設定されていると判定した場合、ファームウェア128のDN_EPRdy送信要求部1288は、NAK状態が解消されたことを示す、DN_EPRdyフレームの送信要求をMACハードウェア部130に対して行う。
DN_EPRdy送出を要求してから10μsec後に、ワイヤレスUSBデバイスは、WDNTSCTA_IEを含むMMCフレームを受信する(ステップS806)。該MMCフレームにより指定される30μsec後までに、ワイヤレスUSBデバイスは、DN_EPRdyを送出する(ステップS808)。
ワイヤレスUSBデバイスによりDN_EPRdyが送出されてから70μsec後に、ワイヤレスUSBホストは、WDTCTA_IEを含むMMCフレームを送信する(ステップS810)。
ワイヤレスUSBデバイスは、該MMCフレームを受信するが、実際には、まだデータフレーム送信準備を完了していない。従って、ワイヤレスUSBデバイスは、データフレームを送出することができない。すなわち、ワイヤレスUSBデバイスは、再度NAKフレームを送信せざるを得ない(ステップS812)。
ワイヤレスUSBデバイスは、データフレーム送信準備を完了し、DMA転送完了割り込みを検出する(ステップS814)。
ワイヤレスUSBホストは、WDNTSCTA_IEを含むMMCフレームを送信する(ステップS816)。
再度NAKフレームを送信せざるを得ない場合(ステップS812)には、ワイヤレスUSBデバイスは、DN_EPRdyフレームを再度送出する必要が生じる。該DN_EPRdyフレームの送出後、MACハードウェア部130へのDN_EPRdy送信要求を先行して行う場合には、NAKフレームとDN_EPRdyフレームとを、交互に送出することになる。NAKフレームとDN_EPRdyフレームとが交互に送出される結果、データフレームの送信ができなくなることがある。
<本変形例に従った無線通信装置の動作>
NAKフレームとDN_EPRdyフレームとが交互に送出される結果、データフレームの送信ができなくなることに対して、以下に示される処理を行うようにしてもよい。
図9は、本変形例に従った無線通信装置の処理を示すフローチャートである。図9は、NAKフレーム送信間隔しきい値を用いて、DN_EPRdy送信要求を先行するかどうかを判定する。
ワイヤレスUSBデバイスは、NAKフレームを送出したかどうかを判定する(ステップS902)。
NAKフレームを送出したと判定した場合、当該ワイヤレスUSBデバイスは、前回のNAKフレームを送出してからの時間間隔を算出する(ステップS904)。例えば、DN_EPRdy送出要求部1288は、前回のNAKフレームを送出してからの時間間隔を算出する。
ステップS904により算出されたNAKフレームを送出してからの時間間隔が、しきい値よりも短いかどうか、換言すればしきい値未満であるかどうかを判定する(ステップS906)。例えば、DN_EPRdy送出要求部1288は、ステップS904により算出されたNAKフレームを送出してからの時間間隔がしきい値よりも短いかどうかを判定する。
ステップS904により算出されたNAKフレームを送出してからの時間間隔がしきい値よりも短い、換言すればしきい値未満と判定された場合(ステップS906:YES)、当該ワイヤレスUSBデバイスは、DN_EPRdy送信要求を先行する処理をオフに設定する(ステップS908)。例えば、DN_EPRdy送出要求部1288は、ステップS904により算出されたNAKフレームを送出してからの時間間隔がしきい値よりも短いと判定した場合、DN_EPRdy送信要求を先行する処理をオフに設定する。
一方、ステップS902によりNAKフレームを送出すべきであると判定されない場合(ステップS902:NO)、及びステップS906によりNAKフレームを送出してからの時間間隔がしきい値よりも短いと判定されない場合、換言すればNAKフレームを送出してからの時間間隔がしきい値以上であると判定された場合(ステップS906:NO)、終了する。
上述した変形例によれば、NAKフレームを送出してからの時間間隔のしきい値を設定する。NAKフレームを送出してからの時間間隔を記録する。該記録されたNAKフレームを送出した時間間隔と、該しきい値とを比較する。該時間間隔がしきい値未満である場合にはMACハードウェアに対するDN_EPRdy送信要求を先行する機能をオフにし、該時間間隔がしきい値以上である場合にはMACハードウェアに対するDN_EPRdy送信要求を先行する機能をオンにする。
また、本変形例において、受信したWDNTSCTA_IEを含むMMCフレーム、及びWDTCTA_IEを含むMMCフレームの時間間隔を、ファームウェア128内部の配列に格納するようにしてもよい。該ファームウェア128内部の配列に格納された時間間隔の数が予め設定された数に達した場合、該時間間隔の平均値を算出する。該平均値をもとに、ワイヤレスUSBホストの、WDNTSCTA_IE及びWDTCTA_IEを含むMMCフレームが送出される時間間隔や、ドライバ110から次のデータが渡された場合に、あと何μsec後にWDNTSCTA_IEが送られてくるかを推定する。該推定結果に基づいて、MACハードウェア部130に対するDN_EPRdy送信要求を先行して出すべきかどうかを判定する。
具体的な例としては、WDNTSCTA_IE及びWDTCTA_IEを含むMMCフレームが送出される時間間隔が1000μsec以上であるかどうか、ドライバ110から次のデータが渡された場合に、次にWDNTSCTA_IEが送出されると推定されるまでの時間が、200μsec以上であるかどうか、という二つの判定条件を設定する。該二つの判定条件のうちいずれかの判定条件を満たしていれば、MACハードウェア部130に対するDN_EPRdy送信要求を先行して出すことによる効果が得られると判断する。効果が得られると判断した場合、DN_EPRdy送信要求を先行して出す機能を有効にする。
図10は、本変形例に従ったMMCフレームの受信間隔の平均値を算出する処理の一例を示す。
ワイヤレスUSBデバイスは、MMCフレームを受信したかどうかを判定する(ステップS1002)。例えば、DN_EPRdy送出要求部1288は、当該ワイヤレスUSBデバイスにより、MMCフレームが受信されたかどうかを判定する。
MMCフレームを受信したと判定した場合(ステップS1002)、ワイヤレスUSBデバイスは、前回のMMCフレーム受信からの時間間隔を配列に格納する(ステップS1004)。例えば、DN_EPRdy送出要求部1288は、MMCフレームを受信したと判定した場合、前回のMMCフレーム受信からの時間間隔を配列に格納する。
一方、MMCフレームを受信したと判定されない場合(ステップS1002:NO)、ステップS1002に戻る。MMCフレームを受信するまで、MMCフレームを受信したかどうかを判定する処理が行われる。
ワイヤレスUSBデバイスは、平均値の算出に必要となる数分のMMCフレームを受信したかどうかを判定する(ステップS1006)。該平均値の算出に必要となる数は予め設定される。例えば、DN_EPRdy送出要求部1288は、平均値の算出に必要となる数分のMMCフレームを受信したかどうかを判定する。
平均値の算出に必要となる数分のMMCフレームを受信したと判定された場合(ステップS1006:YES)、ワイヤレスUSBデバイスは、MMCフレームの受信時間間隔の平均値を算出する(ステップS1008)。例えば、DN_EPRdy送出要求部1288は、平均値の算出に必要となる数分のMMCフレームを受信したと判定した場合、MMCフレームの受信時間間隔の平均値を算出する。
一方、平均値の算出に必要となる数分のMMCフレームを受信したと判定されない場合(ステップS1006:NO)、ステップS1002に戻る。MMCフレームを受信したかどうかを判定する処理が実施される。
図11は、本実施例に従ったMMCフレームの受信間隔の平均値を算出した後、MMCフレーム受信時間間隔のしきい値を用いて、DN_EPRdy送信要求を先行させる処理をオンにするかどうかを判定する処理の一例を示す。
ワイヤレスUSBデバイスは、MMCフレーム受信時間間隔の平均値が1000[μsec]よりも短いかどうか、換言すれば1000[μsec]未満であるかどうかを判定する(ステップS1102)。例えば、DN_EPRdy送出要求部1288は、MMCフレーム受信時間間隔の平均値が1000[μsec]未満であるかどうかを判定する。
MMCフレーム受信時間間隔の平均値が1000[μsec]よりも短いと判定された場合(ステップS1102:YES)、ワイヤレスUSBデバイスは、ドライバ110からデータを受け取ったかどうかを判定する(ステップS1104)。例えば、DN_EPRdy送出要求部1288は、MMCフレーム受信時間間隔の平均値が1000[μsec]よりも短いと判定した場合、ドライバ110からデータを受け取ったかどうかを判定する。
ドライバ110からデータを受け取ったと判定された場合(ステップS1104:YES)、ワイヤレスUSBデバイスは、次のWDNTSCTA_IE受信推定時間が200[μsec]後以内かどうかを判定する(ステップS1106)。例えば、DN_EPRdy送出要求部1288は、ドライバ110からデータを受け取ったと判定された場合、次のWDNTSCTA_IE受信推定時間が200[μsec]後以内かどうかを判定する。
次のWDNTSCTA_IE受信推定時間が200[μsec]後以内であると判定した場合(ステップS1106:YES)、ワイヤレスUSBデバイスは、DN_EPRdy送信要求を先行させる処理をオフに設定する(ステップS1108)。例えば、DN_EPRdy送出要求部1288は、次のWDNTSCTA_IE受信推定時間が200[μsec]後以内であると判定した場合、DN_EPRdy送信要求を先行させる処理をオフに設定する。
一方、ステップS1102によりMMCフレーム受信時間間隔の平均値が1000[μsec]よりも長いと判定された場合、換言すれば1000[μsec]以上であると判定された場合(ステップS1102:NO)、ステップS1104によりドライバ110からデータを受け取ったと判定されない場合(ステップS1104:NO)、及びステップS1106により次のWDNTSCTA_IE受信推定時間が200[μsec]後以内であると判定されない場合(ステップS1106:NO)、終了する。例えば、DN_EPRdy送出要求部1288は、MMCフレーム受信時間間隔の平均値が1000[μsec]よりも長いと判定した場合、ドライバ110からデータを受け取ったと判定しない場合、及び次のWDNTSCTA_IE受信推定時間が200[μsec]後以内であると判定しない場合のいずれかに該当する場合、終了する。換言すれば、DN_EPRdy送信要求を先行させる処理をオフに設定しないで、オンのまま処理を継続する。
DN_EPRdy送信要求を先行して出す機能を有効にするか否かを決定する処理は、本変形例に示されるように、ファームウェア128内部で、自動的に行うようにしてもよいし、オペレーションパネルなどに設定インタフェースを搭載することにより、ユーザーがこの機能を有効にするか否かを設定できるようにしてもよい。
<第2の実施例>
<無線通信装置>
本実施例に従った無線通信装置について説明する。本無線通信装置100は、図2を参照して説明した無線通信装置と同様のブロック図により説明される。
以下、上述した実施例及び変形例と異なる部分について説明する。
上述した無線通信装置では、ワイヤレスUSBデバイス内のファームウェア128が、ドライバ110からデータを渡された場合に、MACハードウェア部130に対するDN_EPRdy送信要求を先行して出力する。
本無線通信装置100では、ファームウェア層と、その上位層であるドライバとを連携させることにより、より早くMACハードウェアへのDN_EPRdy送出要求を出すようにする。
上述した実施例では、ドライバ110からファームウェア128へのデータ転送は、DMAC_A134による、バスインタフェースを介したDMA転送により行われる。DMA転送の際には、DMAC_A134における、MACハードウェア用の送信キュー1244へのDMA転送と同様に、事前にDMAディスクリプタテーブルを作成しておく必要がある。該バスインタフェースを介したDMA転送をおこなうためのDMAディスクリプタテーブルの生成は、ドライバ110により行われる。
図12は、上述した実施例に従ったDN_EPRdy送出要求を出す際の処理を示す。
DMAディスクリプタテーブルの生成はドライバ110により行われる。ドライバ110は、該ドライバの上位層であるアプリケーション層1122からデータを渡されてから、DMAディスクリプタテーブルを生成し、DMA転送要求を行う。該処理に要する時間により、ドライバ110がアプリケーション層1122からデータを渡されてから、ファームウェア128が、バスインタフェース割り込みが発生したことを検出するまでの遅延となる。
本無線通信装置100は、該遅延を低減することを目的とする。具体的には、サブCPU122への割り込み要因の一つとして、DN_EPRdy送出要求割り込みを新たに追加する。
図13は、本実施例に従ったDN_EPRdy送出要求を出す際の処理を示す。
ドライバ110は、該ドライバ110の上位層であるアプリケーション層1122からデータを渡されると、MACハードウェア部130内の、DN_EPRdy送出要求レジスタ1302に設定する。DN_EPRdy送出要求レジスタに設定することより、サブCPU122にDN_EPRdy送出要求割り込みが発生する。ファームウェア128は、割り込み要因を調べる。ファームウェア128は、DN_EPRdy送出要求割り込みであった場合には、MACハードウェア部130に対してDN_EPRdy送出要求を行う。
本無線通信装置100では、DN_EPRdy送出要求割り込みを用いることにより、上述した実施例及び変形例に示されるMACハードウェア部130へのDN_EPRdy送出要求を先行して送出する度合いを、さらに大きくできる。
<無線通信装置の動作>
ドライバ110と連携させてDN_EPRdy送出要求を先行させる技術を用いた場合の処理のシーケンスについて説明する。
図14は、上述した実施例に従ったDN_EPRdy送出要求を先行させる技術を用いない場合の処理のシーケンスを示す。
図14において、ステップS1402−S1420は、図7を参照して説明したシーケンスにおけるステップS706−S724と同様である。
ワイヤレスUSBホストからのWDNTSCTA_IEを含むMMCフレームが送出される(ステップS1422、S1424)。
ワイヤレスUSBデバイスは、ドライバ110から新たなデータを渡されると、サブCPU122は、バスインタフェース割り込みが発生したことを検出する。サブCPU122によりバスインタフェース割り込みが発生したことが検出されると、ファームウェア128は、該バスインタフェース割り込みが発生した時点でNAKフラグがTRUE、FALSEのどちらに設定されているかを調べる。NAKフラグがTRUEに設定されていると判定した場合、ファームウェア128のDN_EPRdy送信要求部1288は、NAK状態が解消されたことを示す、DN_EPRdyフレームの送信要求をMACハードウェア部130に対して行う(ステップS1426)。
ワイヤレスUSBデバイスは、WDNTSCTA_IEを含むMMCフレームを受信する(ステップS1428)。
ワイヤレスUSBデバイスは、ワイヤレスUSBホストに対して、DN_EPRdyフレームの送信を行う(ステップS1430)。例えば、DN_EPRdy送信要求部1288は、DN_EPRdyフレームの送信要求を行った後、ファームウェア128に設定されるべきNAKフラグをFALSEに設定する。送信データフレーム生成部1282は、データフレーム送信準備を開始する。
ワイヤレスUSBデバイスでは、データフレーム送信準備が完了し、DMA転送完了割り込みが発生する(ステップS1432)。DMA_B用ディスクリプタテーブル生成部1286は、DMA_B用ディスクリプタテーブル1242を作成する。サブCPU122は、MACハードウェア部130の、DMAC_B用DMA転送開始要求レジスタに設定する。DMAC_B136は、DMA転送を終了すると、サブCPU122に対して、DMA転送完了割り込みを発生させる。
ワイヤレスUSBホストは、WDTCTA_IEを含むMMCフレームを送出する(ステップS1434)。
該MMCフレームに対して、ワイヤレスUSBデバイスはデータフレームを送出する(ステップS1436。
図15は、本実施例に従ったDN_EPRdy送出要求を先行させる技術を用いる場合の処理のシーケンスを示す。
図15において、ステップS1502−S1522は、図14を参照して説明したシーケンスにおけるステップS1402−S1422と同様である。
ワイヤレスUSBデバイスでは、ドライバ110から新たなデータを渡されると、ドライバ110は、MACハードウェア部130にDN_EPRdy送出要求レジスタに設定する(ステップS1524)。
ワイヤレスUSBホストからWDNTSCTA_IEを含むMMCフレームが送出される(ステップS1526)。
ワイヤレスUSBデバイスは、ワイヤレスUSBホストに対して、DN_EPRdyフレームの送信を行う(ステップS1528)。例えば、DN_EPRdy送信要求部1288は、DN_EPRdyフレームの送信要求を行った後、ファームウェア128に設定されるべきNAKフラグをFALSEに設定する。
ワイヤレスUSBデバイスでは、データフレーム送信準備が完了し、DMA転送完了割り込みが発生する(ステップS1530)。DMA_B用ディスクリプタテーブル生成部1286は、DMA_B用ディスクリプタテーブル1242を作成する。サブCPU122は、MACハードウェア部130の、DMAC_B用DMA転送開始要求レジスタに設定する。DMAC_B136は、DMA転送を終了すると、サブCPU122に対して、DMA転送完了割り込みを発生させる。
ワイヤレスUSBホストは、WDTCTA_IEを含むMMCフレームを送出する(ステップS1532)。
該MMCフレームに対して、ワイヤレスUSBデバイスはデータフレームを送出する(ステップS1534)。
上述した実施例及び変形例では、一例としてワイヤレスUSBについて説明したが、他の無線通信装置との間で、当該無線通信装置から該他の無線通信装置へのデータ通信であることを示す情報、当該無線通信装置から該他の無線通信装置への状態通知であることを示す情報、当該無線通信装置に送信すべきデータが無いことを示す情報、当該無線通信装置がデータを送信できる状態になったことを示す情報を送受信する処理を含むプロトコルに従った無線通信装置に適用できる。例えば、時分割多元接続方式を用いた無線通信技術を搭載する通信装置への応用が考えられる。
また、上述した実施例及び変形例では、一例として無線通信について説明したが、他の通信装置との間で、当該通信装置から該他の通信装置へのデータ通信であることを示す情報、当該通信装置から該他の通信装置への状態通知であることを示す情報、当該通信装置に送信すべきデータが無いことを示す情報、当該通信装置がデータを送信できる状態になったことを示す情報を送受信する処理を含むプロトコルに従った通信装置に適用できる。換言すれば、無線通信に限らず有線通信にも適用できる。
本実施例及び変形例によれば、通信相手となる通信装置からの送信指示に従って、該通信相手となる通信装置に送信すべきデータフレームを送信する通信装置が提供される。
該通信装置は、
前記通信相手となる通信装置に送信すべきデータフレームを生成する送信データフレーム生成部としての、データフレーム生成部と、
前記データフレームを送信できる状態になったことを示す送信可能状態通知情報を生成するDN_EPRdy送信要求部としての、送信可能状態通知情報生成部と、
該送信可能状態通知情報生成部により生成された送信可能状態通知情報を送信するデータフレーム送出部としての送信部と
を有し、
前記送信部は、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信する。
通信相手となる機器(通信装置)からの送信指示情報に基づいて、データフレームおよびデータフレームを送信できる状態になったことを示す情報の送信をおこなう通信方式を用いる。データフレームを送信できる状態になったことを示す送信可能状態通知情報を送信するための処理を実施した後に、送信データフレームの生成を完了する。このため、当該通信装置が、送信一時停止状態からデータ送信再開までの時間を短縮することができる。該短縮の結果、システム全体としてのスループットを向上させることができる。
さらに、
当該通信装置は、ワイヤレスUSB仕様に従う。
当該通信装置が搭載する通信プロトコルとしてワイヤレスUSBを適用するため、最大データ伝送レート480[Mbps]で通信を行う場合に、システム全体としてのスループット向上の度合いを大きくできる。
さらに、
前記通信相手となる通信装置との間でデータ伝送を行うMACハードウェア部としての、ハードウェアと、
該ハードウェアを制御するドライバと
を有し、
前記送信部は、前記ドライバから前記ハードウェアへの割り込みをトリガとして、前記送信可能状態通知情報を送信する。
データを送信できる状態になったことを示す送信可能状態通知情報を通信相手となる通信装置に対して送信するための処理を、ドライバからのバスインタフェース割り込みをトリガとして開始する。このため、データを送信できる状態になったことを示す情報を、誤ったタイミングで出してしまうことを抑制することができる。
さらに、
前記通信相手となる通信装置から当該通信装置から前記通信相手となる通信装置へのデータ通信であることを示す情報を受信し、該情報に対して、前記通信相手となる通信装置に送信すべきデータフレームが無いことを示す否定応答を送信した場合に、該否定応答の送信間隔を記録するDN_EPRdy送信要求部としての、送信間隔記録部
を有し、
前記送信部は、前記送信間隔記録部に記録された前記否定応答の送信間隔に基づいて、該送信間隔が所定のしきい値よりも長い場合に、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信する。
送信すべきデータフレームが無い状態であることを示す情報を送出する時間間隔を記録し、該時間間隔に対するしきい値を設定し、比較することにより、該時間間隔が該しきい値よりも短い場合には、データを送信できる状態になったことを示す送信可能状態通知情報を通信相手となる通信装置に対して送信するための処理を先行しておこなう機能をオフにする。このため、ドライバからデータが渡されるタイミングのうち、効果を得ることができる場合に処理を行うことができる。
さらに、
前記通信相手となる通信装置から送信されたMMC(Micro-scheduled Management Command)フレームに基づいて、該MMCフレームに含まれる当該通信装置の状態を示すデバイス通知情報要素又は当該通信装置から前記通信相手となる通信装置へのデータ通信に関する情報を示すデバイス送信情報要素が送信される時間間隔を記録するDN_EPRdy送信要求部としての、送信間隔記録部
を有し、
前記送信部は、前記送信間隔記録部に記録された前記時間間隔に基づいて、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信するかどうかを判定する。
ワイヤレスUSBホストから受信したMMCフレームを収集し、該MMCフレームの受信時間間隔を調べ、デバイス通知またはデバイス送信の情報要素を含むMMCフレームが送出される時間間隔を算出する。該算出結果をもとに、データを送信できる状態になったことを示す送信可能状態通知情報をワイヤレスUSBホストに対して送信するための処理を先行しておこなう機能を有効にするかどうかを決定する。このため、ドライバからデータが渡されるタイミングのうち、効果を得ることができる場合に処理を行うことができる。
さらに、
前記送信間隔記録部により記録されるべき前記デバイス通知情報要素又は前記デバイス送信情報要素が送信される時間間隔に基づいて、デバイス通知情報要素又は前記デバイス送信情報要素の送信時間を推定するDN_EPRdy送信要求部としての、送信時間推定部
を有し、
前記送信部は、前記送信時間推定部により推定された前記送信時間に基づいて、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信するかどうかを判定する。
ワイヤレスUSBホストから受信したMMCフレームを収集し、該MMCフレームの受信時間間隔を調べ、次にデバイス通知又はデバイス送信の情報要素を含むMMCフレームが送出される時間を推定する。該推定結果に基づいて、データを送信できる状態になったことを示す送信可能状態通知情報をワイヤレスUSBホストに対して送信するための処理を先行しておこなう機能を有効にするかどうかを決定する。このため、ドライバからデータが渡されるタイミングのうち、効果を得ることができる場合に処理を行うことができる。
さらに、
前記送信部に、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に前記送信可能状態通知情報を送信させるかどうかを設定するユーザインタフェース
を有する。
データを送信できる状態になったことを示す送信可能状態通知情報を通信相手となる通信装置に対して送信するための処理を先行しておこなう機能を有効にするかどうかを、ユーザーが制御できる。このため、特にスループットの高いデータ伝送を必要としない場合には、この機能を無効にすることにより、ファームウェアにおける処理量を抑制することができる。
さらに、
前記通信相手となる通信装置との間でデータ伝送を行うハードウェアと、
該ハードウェアを制御するドライバと
を有し、
前記ドライバは、前記ハードウェアに前記送信可能状態通知情報を送信させるための割り込みを行い、
送信部は、前記ドライバによる前記ハードウェアへの前記送信可能状態通知情報を送信させるための割り込みをトリガとして、前記送信可能状態通知情報を送信する。
ドライバが、データフレームを送信できる状態になったことを示す送信可能状態通知情報を送信するための処理を実施し、該実施後、送信データフレームの生成を完了する処理を行うことを要求する情報を与える。このため、通信相手となる通信装置に対して送信するための処理を先行する処理を、ドライバにおけるDMAディスクリプタテーブル生成処理の時間分、さらに早めることができる。
本実施例及び変形例によれば、通信相手となる通信装置からの送信指示に従って、該通信相手となる通信装置に送信すべきデータフレームを送信する通信装置における通信方法が提供される。
該通信方法は、
前記通信相手となる通信装置に送信すべきデータフレームを生成するデータフレーム生成ステップと、
前記データフレームを送信できる状態になったことを示す送信可能状態通知情報を生成する送信可能状態通知情報生成ステップと、
該送信可能状態通知情報生成ステップにより生成された送信可能状態通知情報を送信する送信ステップと
を有し、
前記送信ステップは、前記データフレーム生成ステップによりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信する。
以上、本発明は特定の実施例を参照しながら説明されてきたが、各実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウエアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
100 無線通信装置
102 制御部
104 メインCPU(Central Processing Unit)
106 メモリ
1062 DMAC_A用ディスクリプタテーブル
108 オペレーティングシステム(OS: Operating System)
110 ドライバ
1102 ファンクションドライバ
1104 USBバスドライバ
112 アプリケーションソフトウェア
1122 アプリケーション層
114 バスコントローラ
120 ターゲットコントローラ
122 サブCPU
124 メモリ
1242 DMAC_B用ディスクリプタテーブル
1244 送信キュー
126 リアルタイムオペレーティングシステム(RTOS: Real Time Operating System)
128 ファームウェア
1282 送信データフレーム生成部
1284 データフレーム送出部
1286 DMA_B用ディスクリプタテーブル生成部
1288 DN_EPRdy送出要求部
130 MACハードウェア部
1302 レジスタ
132 バスコントローラ
134 DMAC_A
136 DMAC_B
138 PHY部
1382 ベースバンド部
1384 RF部
150 アンテナ
160 バス
Wireless USB Specification Revision 1.0 May, 2005

Claims (9)

  1. 通信相手となる通信装置からの送信指示に従って、該通信相手となる通信装置に送信すべきデータフレームを送信する通信装置であって、
    前記通信相手となる通信装置に送信すべきデータフレームを生成するデータフレーム生成部と、
    前記データフレームを送信できる状態になったことを示す送信可能状態通知情報を生成する送信可能状態通知情報生成部と、
    前記通信相手となる通信装置からの、当該通信装置から前記通信相手となる通信装置への状態通知の指示に従って、前記送信可能状態通知情報生成部により生成された送信可能状態通知情報を送信する送信部と
    を有し、
    前記送信部は、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信する通信装置。
  2. 請求項1に記載の通信装置において、
    当該通信装置は、ワイヤレスUSB仕様に従う通信装置。
  3. 請求項1に記載の通信装置において、
    前記通信相手となる通信装置との間でデータ伝送を行うハードウェアと、
    該ハードウェアを制御するドライバと
    を有し、
    前記送信部は、前記ドライバから前記ハードウェアへの割り込みをトリガとして、前記送信可能状態通知情報を送信する通信装置。
  4. 請求項1に記載の通信装置において、
    前記通信相手となる通信装置から当該通信装置から前記通信相手となる通信装置へのデータ通信であることを示す情報を受信し、該情報に対して、前記通信相手となる通信装置に送信すべきデータフレームが無いことを示す否定応答を送信した場合に、該否定応答の送信間隔を記録する送信間隔記録部
    を有し、
    前記送信部は、前記送信間隔記録部に記録された前記否定応答の送信間隔に基づいて、該送信間隔が所定のしきい値よりも長い場合に、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信する通信装置。
  5. 請求項2に記載の通信装置において、
    前記通信相手となる通信装置から送信されたMMC(Micro-scheduled Management Command)フレームに基づいて、該MMCフレームに含まれる当該通信装置の状態を示すデバイス通知情報要素又は当該通信装置から前記通信相手となる通信装置へのデータ通信に関する情報を示すデバイス送信情報要素が送信される時間間隔を記録する送信間隔記録部
    を有し、
    前記送信部は、前記送信間隔記録部に記録された前記時間間隔に基づいて、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信するかどうかを判定する通信装置。
  6. 請求項5に記載の通信装置において、
    前記送信間隔記録部により記録されるべき前記デバイス通知情報要素又は前記デバイス送信情報要素が送信される時間間隔に基づいて、デバイス通知情報要素又は前記デバイス送信情報要素の送信時間を推定する送信時間推定部
    を有し、
    前記送信部は、前記送信時間推定部により推定された前記送信時間に基づいて、前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信するかどうかを判定する通信装置。
  7. 請求項1に記載の通信装置において、
    前記送信部に前記データフレーム生成部によりデータフレームの生成が完了する前に、前記通信相手となる通信装置に前記送信可能状態通知情報を送信させるかどうかを設定するユーザインタフェース
    を有する通信装置。
  8. 請求項1に記載の通信装置において、
    前記通信相手となる通信装置との間でデータ伝送を行うハードウェアと、
    該ハードウェアを制御するドライバと
    を有し、
    前記ドライバは、前記ハードウェアに前記送信可能状態通知情報を送信させるための割り込みを行い、
    送信部は、前記ドライバによる前記ハードウェアへの前記送信可能状態通知情報を送信させるための割り込みをトリガとして、前記送信可能状態通知情報を送信する通信装置。
  9. 通信相手となる通信装置からの送信指示に従って、該通信相手となる通信装置に送信すべきデータフレームを送信する通信装置における通信方法であって、
    前記通信相手となる通信装置に送信すべきデータフレームを生成するデータフレーム生成ステップと、
    前記データフレームを送信できる状態になったことを示す送信可能状態通知情報を生成する送信可能状態通知情報生成ステップと、
    前記通信相手となる通信装置からの、当該通信装置から前記通信相手となる通信装置への状態通知の指示に従って、前記送信可能状態通知情報生成ステップにより生成された送信可能状態通知情報を送信する送信ステップと
    を有し、
    前記送信ステップは、前記データフレーム生成ステップによりデータフレームの生成が完了する前に、前記通信相手となる通信装置に、前記送信可能状態通知情報を送信する通信方法。
JP2010057161A 2010-03-15 2010-03-15 通信装置及び通信方法 Expired - Fee Related JP5577769B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010057161A JP5577769B2 (ja) 2010-03-15 2010-03-15 通信装置及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010057161A JP5577769B2 (ja) 2010-03-15 2010-03-15 通信装置及び通信方法

Publications (2)

Publication Number Publication Date
JP2011191988A JP2011191988A (ja) 2011-09-29
JP5577769B2 true JP5577769B2 (ja) 2014-08-27

Family

ID=44796832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010057161A Expired - Fee Related JP5577769B2 (ja) 2010-03-15 2010-03-15 通信装置及び通信方法

Country Status (1)

Country Link
JP (1) JP5577769B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452326B2 (en) 2017-07-06 2019-10-22 Ricoh Company, Ltd. Information processing apparatus, information processing method, and non-transitory computer-readable storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251715A (ja) * 2006-03-17 2007-09-27 Oki Electric Ind Co Ltd データ転送方法及びそのデータ転送装置
JP2008107997A (ja) * 2006-10-24 2008-05-08 Seiko Epson Corp データ通信方法、データ通信装置及びデータ通信システム
JP2008294671A (ja) * 2007-05-23 2008-12-04 Nec Electronics Corp 応答制御方法およびデバイス装置

Also Published As

Publication number Publication date
JP2011191988A (ja) 2011-09-29

Similar Documents

Publication Publication Date Title
KR101650109B1 (ko) 단거리 무선 통신
JP5713844B2 (ja) 無線通信装置及び干渉回避方法
JP5159539B2 (ja) 通信装置、通信装置の制御方法、プログラム。
US20150327138A1 (en) Apparatus and method for auto link change in wireless communication device
EP3567971B1 (en) Method for transmitting reference signal in cell that uses unlicensed frequency band and base station
JP5905388B2 (ja) 可変sifs
US9955514B2 (en) Method for D2D radiocommunication
US8571478B2 (en) Wireless USB device and wireless USB communication system
EP3879737B1 (en) Method and device for processing synchronization signal block information and communication device
TWI629907B (zh) 無線通訊裝置及其控制方法
WO2019056370A1 (zh) 一种通信方法和装置
KR20180052597A (ko) 채널 측정 및 측정 결과 리포팅 방법 및 장치
JP5577769B2 (ja) 通信装置及び通信方法
EP2348774B1 (en) Radio communication system, control device, communication type switching method, and program
US20190327725A1 (en) Data transmission method, terminal device, and network side device
TWI807757B (zh) 用於探測參考訊號之部分探測方法及其使用者設備
JP6891631B2 (ja) 通信装置、制御装置、通信システム、通信方法、および通信制御用プログラム
US10045379B2 (en) Multi-radio wireless local area network apparatus and method
US11108597B2 (en) Data transmission method and apparatus
CN105264942A (zh) 一种数据传输发射端设备、接收端设备和方法
WO2023207804A1 (zh) 信道接入方法、装置及通信设备
JP5494228B2 (ja) 通信装置及びメモリデバイス並びに通信方法
WO2023246587A1 (zh) 传输方法、设备及可读存储介质
WO2023246586A1 (zh) 传输方法、设备及可读存储介质
WO2019183814A1 (zh) 一种接入信息的传输方法及装置、计算机存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140623

R151 Written notification of patent or utility model registration

Ref document number: 5577769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees