JP2024002146A - 通信装置、usbデバイス、通信方法、及びプログラム - Google Patents

通信装置、usbデバイス、通信方法、及びプログラム Download PDF

Info

Publication number
JP2024002146A
JP2024002146A JP2022101176A JP2022101176A JP2024002146A JP 2024002146 A JP2024002146 A JP 2024002146A JP 2022101176 A JP2022101176 A JP 2022101176A JP 2022101176 A JP2022101176 A JP 2022101176A JP 2024002146 A JP2024002146 A JP 2024002146A
Authority
JP
Japan
Prior art keywords
communication device
communication
data transfer
usb
transition
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.)
Pending
Application number
JP2022101176A
Other languages
English (en)
Inventor
脩 梁井
Osamu Yanai
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 JP2022101176A priority Critical patent/JP2024002146A/ja
Publication of JP2024002146A publication Critical patent/JP2024002146A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

【課題】ホスト側でデータ転送を一時停止していることをデバイス側で検知し、データ転送を再開したときにエラーが発生することを抑制する。【解決手段】通信装置は、他の通信装置とUSB通信を行う通信装置であって、前記他の通信装置から前記USB通信でデータ転送される転送データを受信する受信部と、前記受信部が所定の量の前記転送データを受信した場合、前記データ転送の一時停止を要求する一時停止要求と、前記データ転送が可能な通常状態より消費電力が少ない省電力状態への移行を要求する移行要求とを、前記他の通信装置に送信する送信部と、前記他の通信装置に送信した前記移行要求に対して、前記他の通信装置から前記省電力状態への移行を許可することを示す応答を受信した場合、前記データ転送の終了処理を実行する通信制御部と、を有する。【選択図】図2

Description

本発明は、通信装置、USBデバイス、通信方法、及びプログラムに関する。
USB(Universal Serial Bus)通信のバルク転送において、ホスト側から受信可能な最大パケットサイズの整数倍のデータが送信されたときに、データの最後に送られるZLP(Zero Length Packet)の送信が保証されていないという問題ある。
この問題に対して、ダミーパケットの計測によってダミーパケットの最大パケット間隔を検出してタイマ時間TAとし、実データのパケット間隔とタイマ時間TAとの比較により、実データの転送終了を判定する技術が知られている(例えば、特許文献1参照)。
しかし、従来の技術では、ホスト側でデータ転送を一時停止している場合に、デバイス側で検知することができず、データ転送を再開したときにエラーが発生してしまう場合がある。
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、ホスト側でデータ転送を一時停止していることをデバイス側で検知し、データ転送を再開したときにエラーが発生することを抑制する。
上記の課題を解決するため、本発明の一実施形態に係る通信装置は、他の通信装置とUSB通信を行う通信装置であって、前記他の通信装置から前記USB通信でデータ転送される転送データを受信する受信部と、前記受信部が所定の量の前記転送データを受信した場合、前記データ転送の一時停止を要求する一時停止要求と、前記データ転送が可能な通常状態より消費電力が少ない省電力状態への移行を要求する移行要求とを、前記他の通信装置に送信する送信部と、前記他の通信装置に送信した前記移行要求に対して、前記他の通信装置から前記省電力状態への移行を許可することを示す応答を受信した場合、前記データ転送の終了処理を実行する通信制御部と、を有する。
本発明の一実施形態によれば、ホスト側でデータ転送を一時停止していることをデバイス側で検知し、データ転送を再開したときにエラーが発生することを抑制することができる。
一実施形態に係る通信装置のハードウェア構成の例を示す図である。 一実施形態に係るUSBデバイスの機能構成の例を示す図である。 USBデバイスの省電力制御の例について説明するための図である。 USBデバイスのデータ転送制御の例について説明するための図である。 第1の実施形態に係る通信装置の処理の例を示すフローチャートである。 第2の実施形態に係る通信装置の例を示すフローチャート(1)である。 第2の実施形態に係る通信装置の例を示すフローチャート(2)である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<通信装置の構成>
図1は、一実施形態に係る通信装置のハードウェア構成の例を示す図である。通信装置10は、例えば、USB(Universal Serial Bus)ホストの機能を有する他の通信装置とUSB通信を行うUSBデバイスの機能を備えた電子機器である。図1の例では、通信装置10が、例えば、プリンタ、スキャナ、コピー、及びFAX(facsimile)等の機能を備えた画像形成装置である場合のハードウェア構成の一例を示している。
ただし、通信装置10は、USBデバイスの機能を有する画像形成装置以外の電子機器であってもよい。例えば、通信装置10は、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)等の電子機器であっても良い。また、通信装置10は、デジタルサイネージ、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、デジタルカメラ、音楽プレーヤ、又はウェアラブル端末等の電子機器であってもよい。
他の通信装置20は、USBホストの機能を有する、例えば、PC(Personal Computer)、タブレット端末、又はスマートフォン等の情報処理装置である。
図1の例では、通信装置10は、CPU(Central Processing Unit)11、メモリ12、ストレージデバイス13、プリンタ14、スキャナ15、FAX16、USBデバイス100、及びバスB等を有する。
CPU11は、例えば、メモリ12、又はストレージデバイス13等の記憶媒体に記憶した所定のプログラムを実行することにより、通信装置10の全体を制御するプロセッサ(演算装置)である。メモリ12には、例えば、CPU11のワークエリア等として用いられる揮発性のメモリであるRAM(Random Access Memory)、及び起動用のプログラム等を予め記憶した不揮発性のメモリであるROM(Read Only Memory)等が含まれる。ストレージデバイス13は、例えば、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)等の大容量で不揮発性の記憶装置である。
プリンタ14は、印刷処理を実行するデバイスである。スキャナ15は、原稿の読取処理を実行するデバイスである。FAX16は、FAXの送受信処理を実行するデバイスである。なお、通信装置10が、例えば、プロジェクタである場合、通信装置10は、プリンタ14、スキャナ15、及びFAX16等に代えて、画像投影処理を実行する画像投影デバイスを有する。
USBデバイス100は、例えば、他の通信装置20と、USB通信でデータを送受信するUSB I/F(Interface)110と、USB I/F110によるUSB通信を制御するUSBデバイスコントローラとを含む。バスBは、上記の各構成要素に共通に接続され、例えば、アドレス信号、データ信号、及び各種の制御信号等を伝送する。
図2は、一実施形態に係るUSBデバイスの機能構成の例を示す図である。USB I/F110は、例えば、受信部111と、送信部112とを含む。受信部111は、USBホストである他の通信装置20から、USB通信でデータ転送される転送データを受信する受信処理を実行する。送信部112は、USBデバイスコントローラ120からの制御に従って、例えば、データ転送の一時停止要求、又は省電力状態への移行を要求する移行要求等を、他の通信装置20に送信する送信処理を実行する。
USBデバイスコントローラ120は、例えば、コンピュータの構成を有し、所定のプログラムを実行することにより、エンドポイント制御部210、通信制御部220、及び省電力制御部230等を実現している。なお、エンドポイント制御部210、通信制御部220、及び省電力制御部230等は、ハードウェアによって実現されるものであってもよい。
エンドポイント制御部210は、USB通信のデータを格納するFIFO(First In, First Out)バッファであるエンドポイントを有し、エンドポイントに対するデータの入出力を制御する。
通信制御部220は、エンドポイント制御部210を利用して、他の通信装置20とのUSB通信を制御する通信制御処理を実行する。通信制御部220は、一例として、図2に示すように、パケット監視部221、コマンド制御部222、タイマ制御部223、及び転送速度制御部224等を有する。
パケット監視部221は、例えば、通信装置10が受信可能な最大パケットサイズの整数倍のデータ、及びUSB通信のリンクコマンド等を監視する。コマンド制御部222は、例えば、リンクコマンドの送受信、及び他の通信装置20からデータ転送される転送データの終端の判定等を行う。タイマ制御部223は、例えば、パケットの待ち時間等を制御する。転送速度制御部224は、例えば、SS(Super Speed)、HS(Hi-Speed)、FS(Full Speed)等のUSB通信のスピードモードを制御する。
省電力制御部230は、USBデバイス100を、データ転送が可能な通常状態より消費電力が少ない省電力状態への移行、及び通常状態への復帰等を制御する。
(省電力制御について)
ここでは、本実施形態の前提となる、USBデバイスの省電力制御(パワーマネージメント)の概要について説明する。
図3(A)~(C)に示すように、USBデバイスであるデバイス301は、省電力状態への移行要求(LGO_UX)を、USBホストであるホスト302に送信することにより、ホスト302に省電力状態への移行を要求することができる。
例えば、USB3.0のスーパースピードでは、アイドル(First Exit)U1、アイドル(Slow Exit)U2、及びサスペンドU3の3段階の省電力状態がある。この場合、デバイス301は、例えば、アイドルU1状態への移行要求(LGO_U1)をホスト302に送信することにより、アイドルU1状態への移行を要求することができる。
これに対して、ホスト302は、データ転送を一時停止している未送信のデータ(ペンディングデータ)がない場合、図3(A)に示すように、省電力状態への移行を許可する移行許可(LAU)をデバイス301に送信する。
一方、ホスト302は、データ転送を一時停止している未送信のデータがある場合、図3(B)に示すように、省電力状態への移行を拒否する移行拒否(LXU)をデバイス301に送信する。ただし、ホスト302が省電力状態への移行に対応していない場合、ホスト302は、未送信データの有無に関わらず、移行拒否(LXU)をデバイス301に送信する場合がある。
また、デバイス301は、例えば、図3(C)に示すように、省電力状態への移行要求(LGO_UX)に対して、ホスト302から応答がない場合、例えば、USB3.0の仕様に従って、リカバリ状態に遷移する。
(データ転送の一時停止、及び再開処理について)
ここでは、本実施形態の前提となる、USB通信によるデータ転送の一時停止、及び再開処理の概要について説明する。
例えば、図4(A)において、ホスト302は、USB3.0以降のUSB規格のバルク転送で、デバイス301に転送データを転送しているものとする。このとき、デバイス301は、例えば、データ転送の一時停止要求(例えばNRDY パケット)をホスト302に送信することにより、データ転送の一時停止をホスト302に要求することができる。
なお、NRDY(Not Ready) パケットは、データ転送の一時停止要求の一例である。例えば、デバイス301は、NRDY パケットに代えて、データを受信できないことを示す ACK パケット(例えば、NumP フィールドに0を設定した ACK パケット)を、データ転送の一時停止要求としてホスト302に送信してもよい。
ホスト302は、デバイス301から、データ転送の一時停止要求を受け付けると、データ転送を一時停止する。
また、デバイスは、例えば、データ転送の再開要求(例えば ERDY パケット)をホスト302に送信することにより、データ転送の再開をホスト302に要求することができる。なお、ERDY(Endpoint Ready)パケットは、データ転送の再開要求の一例である。デバイス301は、ERDY パケット以外のパケットで、データ転送の再開要求を行うものであってもよい。
(通信装置の処理の概要)
本実施形態に係る通信装置10は、上述した、USB規格の省電力制御、及びデータ転送の一時停止、及び再開処理を利用して、ホスト側でデータ転送を一時停止していることをデバイス側で検知する機能を有している。
例えば、通信装置10は、USB3.0以降のUSB規格のバルク転送において、他の通信装置20から受信可能な最大パケットサイズの整数倍のデータを受信した場合、データ転送の一時停止要求と省電力状態への移行要求を他の通信装置20に送信する。
これは、USB通信のバルク転送において、ホスト側から受信可能な最大パケットサイズの整数倍のデータが送信されたときに、データの最後に送られるZLP(Zero Length Packet)の送信が保証されていないためである。なお、通信装置10は、他の通信装置20から、最大パケットサイズに満たないショートパケット、又はZLPを受信した場合、転送データの終端であると判定して、データ転送を終了する。
また、通信装置10は、他の通信装置20に送信した省電力状態への移行要求に対して、他の通信装置20から省電力状態への移行を許可することを示す応答を受信した場合、他の通信装置20のデータ転送が完了していると判定する。
これは、USB規格では、デバイス-ホスト間の省電力状態への移行条件の制約として、ペンディング中のパケットがある場合、省電力状態へ移行してはいけないことが定められているためである。従って、通信装置10は、他の通信装置20に送信した省電力状態への移行要求に対して、他の通信装置20から省電力状態への移行を許可することを示す応答を受信した場合、ホスト側のデータ転送が完了していると判断することができる。
一方、通信装置10が、他の通信装置20に送信した省電力状態への移行要求に対して、他の通信装置20から省電力状態への移行を拒否することを示す応答を受信した場合、次の2つの状態が考えられる。
(1)データの終端ではない(まだ、送信待ちの転送データがある)。
(2)他の通信装置20が、省電力状態への移行に対応していない。
この場合、通信装置10は、他の通信装置20に、データ転送の再開要求を送信し、所定の時間内に転送データを受信した場合、(1)データの終端ではないと判定し、データ転送を再開する。一方、通信装置10は、他の通信装置20に、データ転送の再開要求を送信し、所定の時間内に転送データを受信できない場合、(2)他の通信装置20が、省電力状態に対応していないと判定し、データ転送の終了処理を実行する。
このように、本実施形態によれば、ホスト側でデータ転送を一時停止していることをデバイス側で検知することができる。これにより、本実施形態に係る通信装置10は、データ転送を再開したときにエラーが発生することを抑制することができる。
<処理の流れ>
続いて、本実施形態に係る通信方法の処理の流れについて説明する。
[第1の実施形態]
図5は、第1の実施形態に係る通信装置の処理の例を示すフローチャートである。この処理は、例えば、図1~4で説明した通信装置10が、他の通信装置(USBホスト)20から、USB3.0以降のUSB規格のバルク転送で転送データを受信しているときに実行する処理の一例を示している。なお、図5に示す処理の開始時点において、通信装置10は、他の通信装置20とUSB通信を確立済であるものとする。
ステップS501において、通信装置10の通信制御部220は、受信部111が、ショートパケット、又はZLPを受信したか否かを判断する。受信部111がショートパケット、又はZLPを受信した場合、通信制御部220は、処理をステップS502に移行させる。一方、受信部111がショートパケット、又はZLPを受信していない場合、通信制御部220は、処理をステップS503に移行させる。
ステップS502に移行すると、通信制御部220は、ショートパケット(最大パケットサイズに満たないパケット)、又はZLPを受信したので、転送データの終端であると判定し、データ転送を完了(終了)する。
一方、ステップS501からステップS503に移行すると、通信制御部220は、受信部111が、最大パケットサイズ(例えば、64バイト、512バイト、又は1024バイト)の整数倍のデータを受信したか否かを判断する。受信部111が最大パケットサイズの整数倍のデータを受信していない場合、通信制御部220は、処理をステップS501に戻す。一方、受信部111が最大パケットサイズの整数倍のデータを受信した場合、通信制御部220は、処理をステップS504に移行させる。
ステップS504に移行すると、通信制御部220は、エンドポイント制御部210、及び送信部112を用いて、データ転送の一時停止要求を他の通信装置20に送信する。これにより、送信部112は、例えば、前述した NRDY パケットを他の通信装置20に送信する。或いは、送信部112は、NumP フィールドに0を設定した ACK パケットを他の通信装置20に送信してもよい。
ステップS505において、通信制御部220は、エンドポイント制御部210、及び送信部112を用いて、省電力状態への移行要求(LGO_UX)を他の通信装置20に送信する。
ステップS506において、通信制御部220は、送信部112が他の通信装置20に送信した省電力状態への移行要求(LGO_UX)に対して、受信部111が、他の通信装置20から省電力状態への移行許可(LAU)を受信したか否かを判断する。移行許可を受信した場合、通信制御部220は、処理をステップS507に移行させる。一方、移行許可を受信していない場合、通信制御部220は、処理をステップS508に移行させる。
ステップS507に移行すると、通信制御部220はデータ転送の終了処理を行う。
一方、ステップS506からステップS508に移行すると、通信制御部220は、受信部111が、他の通信装置20から省電力状態への移行拒否(LXU)を受信したか否かを判断する。移行拒否を受信した場合、通信制御部220は、処理をステップS510に移行させる。一方、移行拒否を受信していない場合、通信制御部220は、処理をステップS509に移行させる。
ステップS509に移行すると、通信制御部220は、USB3.0の仕様に従って、リカバリ状態に遷移する。
一方、ステップS508からステップS510に移行すると、通信制御部220は、エンドポイント制御部210、及び送信部112を用いて、他の通信装置20に、データ転送の再開要求を送信する。これにより、送信部112は、例えば、前述した ERDY パケットを他の通信装置20に送信する。
ステップS511において、通信制御部220は、受信部111が、所定の時間内に転送データを受信したか否かを判断する。所定の時間内に転送データを受信した場合、通信制御部220は、処理をステップS501に戻す。一方、所定の時間内に転送データを受信していない場合(所定の時間以上データ転送がない場合)、通信制御部220は、処理をステップS512に移行させる。
ステップS512に移行すると、通信制御部220はデータ転送の終了処理を行う。
図5の処理により、通信装置10は、ホスト側でデータ転送を一時停止していることをデバイス側で検知し、データ転送を再開したときにエラーが発生することを抑制することができる。
[第2の実施形態]
図6、7は、第2の実施形態に係る通信装置の処理の例を示すフローチャートである。この処理は、図5で説明した処理のより具体的な処理の一例を示している。なお、基本的な処理内容は、図5で説明した第1の実施形態に係る通信装置の処理と同様なので、ここでは、第1の実施形態と同様の処理に対する詳細な説明は省略する。
ステップS601において、通信装置10の通信制御部220は、受信部111が、ショートパケット、又はZLPを受信したか否かを判断する。受信部111がショートパケット、又はZLPを受信した場合、通信制御部220は、処理をステップS602に移行させる。一方、受信部111がショートパケット、又はZLPを受信していない場合、通信制御部220は、処理をステップS603に移行させる。
ステップS602に移行すると、通信制御部220はデータ転送を完了(終了)する。
一方、ステップS601からステップS603に移行すると、通信制御部220は、受信部111が、最大パケットサイズの整数倍のデータを受信したか否かを判断する。受信部111が最大パケットサイズの整数倍のデータを受信していない場合、通信制御部220は、処理をステップS601に戻す。一方、受信部111が最大パケットサイズの整数倍のデータを受信した場合、通信制御部220は、処理をステップS604に移行させる。
ステップS604に移行すると、通信制御部220は、エンドポイント制御部210、及び送信部112を用いて、データ転送の一時停止要求を他の通信装置20に送信する。
ステップS605に移行すると、エンドポイント制御部210、及び送信部112を用いて、省電力状態への移行要求(LGO_UX)を他の通信装置20に送信する。
ステップS606において、通信制御部220は、送信部112が他の通信装置20に送信した省電力状態への移行要求(LGO_UX)に対して、受信部111が、他の通信装置20から省電力状態への移行許可(LAU)を受信したか否かを判断する。移行許可を受信した場合、通信制御部220は、処理をステップS607に移行させる。一方、移行許可を受信していない場合、通信制御部220は、処理をステップS608に移行させる。
ステップS607に移行すると、通信制御部220は、ZLP(ダミーZLP)を生成し、生成したZLPを、エンドポイント制御部210、及び送信部112を用いて、他の通信装置20に送信する。なお、この処理は、図5のステップS507のデータ転送の終了処理の具体的な一例である。
一方、ステップS602からステップS604に移行すると、通信制御部220は、受信部111が、他の通信装置20から省電力状態への移行拒否(LXU)を受信したか否かを判断する。移行拒否を受信した場合、通信制御部220は、処理をステップS610に移行させる。一方、移行拒否を受信していない場合、通信制御部220は、処理をステップS609に移行させる。
ステップS609に移行すると、通信制御部220は、データ転送を中止する。なお、この処理は、例えば、図5ステップS509でリカバリ状態に遷移したときの具体的な処理の一例である。
一方、ステップS608からステップS610に移行すると、通信制御部220は、エンドポイント制御部210、及び送信部112を用いて、他の通信装置20に、データ転送の再開要求を送信する。
ステップS611において、通信制御部220は、受信部111が転送データを受信したか否かを判断する。転送データを受信した場合、通信制御部220は、処理をステップS601に戻す。一方、転送データを受信しない場合、通信制御部220は、処理を図7のステップS701に移行させる。
ステップS701に移行すると、通信制御部220は、所定の時間待機した後、処理をステップS702に移行させる。
ステップS702に移行すると、通信制御部220は、カウント値に1を加算して、所定をステップS703に移行させる。なお、カウント値は、例えば、図6の処理を開始した時点で、例えば、初期値の0に設定されているものとする。
ステップS703に移行すると、通信制御部220は、カウント値が所定値に達したか否かを判断する。ここで、所定値は、省電力状態への移行要求の送信をリトライするリトライ回数が、予め設定されているものとする。カウント値が所定値に達した場合、通信制御部220は、処理をステップS704に移行させる。一方、カウント値が所定値に達していない場合、通信制御部220は、処理を図6のステップS601に戻して、省電力状態への移行要求を再送信する。
ステップS704に移行すると、通信制御部220は、ZLP(ダミーZLP)を生成し、生成したZLPを、エンドポイント制御部210、及び送信部112を用いて、他の通信装置20に送信した後、処理を図6のステップS602に移行させる。なお、図7の処理は、例えば、図5のステップS511、S512において、所定の時間内にデータ受信しない場合に、データ転送の終了処理を実行する処理の具体的な一例である。
図6、7に示すように、通信制御部220は、データ転送の再開要求を送信した後に、他の通信装置20からデータを受信できない場合、省電力状態への移行要求の送信をリトライしてもよい。なお、通信制御部220は、データ転送の再開要求を送信した後に、他の通信装置20からデータを受信できない場合、データ送信の再開要求の送信をリトライしてもよい。
以上、本発明の各実施形態によれば、ホスト側でデータ転送を一時停止していることをデバイス側で検知し、データ転送を再開したときにエラーが発生することを抑制することができる。
<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
<付記>
本明細書には、下記の各項の情報処理装置、利用者端末、情報提供方法、及びプログラムが開示されている。
(第1項)
他の通信装置とUSB通信を行う通信装置であって、
前記他の通信装置から前記USB通信でデータ転送される転送データを受信する受信部と、
前記受信部が所定の量の前記転送データを受信した場合、前記データ転送の一時停止を要求する一時停止要求と、前記データ転送が可能な通常状態より消費電力が少ない省電力状態への移行を要求する移行要求とを、前記他の通信装置に送信する送信部と、
前記他の通信装置に送信した前記移行要求に対して、前記他の通信装置から前記省電力状態への移行を許可することを示す応答を受信した場合、前記データ転送の終了処理を実行する通信制御部と、
を有する、通信装置。
(第2項)
前記通信制御部は、前記他の通信装置に送信した前記移行要求に対して、前記他の通信装置から前記省電力状態への移行を拒否することを示す応答を受信した場合、前記他の通信装置に前記データ転送の再開を要求するデータ転送の再開要求を送信する、第1項に記載の通信装置。
(第3項)
前記通信制御部は、前記他の通信装置に送信した前記データ転送の再開要求に対して、所定の時間以上、前記他の通信装置から前記データ転送がない場合、前記データ転送の終了処理を実行する、第2項に記載の通信装置。
(第4項)
前記データ転送の終了処理は、前記他の通信装置にZLP(Zero Length Packet)を送信する処理を含む、第1項~第3項のいずれかに記載の通信装置。
(第5項)
前記データ転送は、USB3.0以降のUSB規格のバルク転送を含み、
前記送信部は、前記受信部が、前記通信装置が受信可能な最大パケットサイズの整数倍のデータを受信した場合、前記一時停止要求と前記移行要求とを前記他の通信装置に送信する、
第1項~第4項のいずれかに記載の通信装置。
(第6項)
前記一時停止要求は、NRDY(Not Ready)パケット、又はデータを受信できないことを示すACK(Acknowledgement)パケットを含む、第1項~第5項のいずれかに記載の通信装置。
(第7項)
前記再開要求は、ERDY(Endpoint Ready)パケットを含む、第2項又は第3項に記載の通信装置。
(第8項)
USBホストとUSB通信を行うUSBデバイスであって、
前記USBホストから前記USB通信でデータ転送される転送データを受信する受信部と、
前記受信部が所定の量の前記転送データを受信した場合、前記データ転送の一時停止を要求する一時停止要求と、前記データ転送が可能な通常状態より消費電力が少ない省電力状態への移行を要求する移行要求とを、前記USBホストに送信する送信部と、
前記USBホストに送信した前記移行要求に対して、前記USBホストから前記省電力状態への移行を許可することを示す応答を受信した場合、前記データ転送の終了処理を実行する通信制御部と、
を有する、USBデバイス。
(第9項)
他の通信装置とUSB通信を行う通信装置が、
前記他の通信装置から前記USB通信でデータ転送される転送データを受信する受信処理と、
前記受信処理で所定の量の前記転送データを受信した場合、前記データ転送の一時停止を要求する一時停止要求と、前記データ転送が可能な通常状態より消費電力が少ない省電力状態への移行を要求する移行要求とを、前記他の通信装置に送信する送信処理と、
前記他の通信装置に送信した前記移行要求に対して、前記他の通信装置から前記省電力状態への移行を許可することを示す応答を受信した場合、前記データ転送の終了処理を実行する通信制御処理と、
を実行する、通信方法。
(第10項)
第9項に記載の通信方法をコンピュータに実行させる、プログラム。
以上、本発明の実施形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、及び応用が可能である。
10 通信装置
20 他の通信装置(USBホスト)
100 USBデバイス
111 受信部
112 送信部
210 エンドポイント制御部
220 通信制御部
230 省電力制御部
特開2006-191406号公報

Claims (10)

  1. 他の通信装置とUSB通信を行う通信装置であって、
    前記他の通信装置から前記USB通信でデータ転送される転送データを受信する受信部と、
    前記受信部が所定の量の前記転送データを受信した場合、前記データ転送の一時停止を要求する一時停止要求と、前記データ転送が可能な通常状態より消費電力が少ない省電力状態への移行を要求する移行要求とを、前記他の通信装置に送信する送信部と、
    前記他の通信装置に送信した前記移行要求に対して、前記他の通信装置から前記省電力状態への移行を許可することを示す応答を受信した場合、前記データ転送の終了処理を実行する通信制御部と、
    を有する、通信装置。
  2. 前記通信制御部は、前記他の通信装置に送信した前記移行要求に対して、前記他の通信装置から前記省電力状態への移行を拒否することを示す応答を受信した場合、前記他の通信装置に前記データ転送の再開を要求するデータ転送の再開要求を送信する、請求項1に記載の通信装置。
  3. 前記通信制御部は、前記他の通信装置に送信した前記データ転送の再開要求に対して、所定の時間以上、前記他の通信装置から前記データ転送がない場合、前記データ転送の終了処理を実行する、請求項2に記載の通信装置。
  4. 前記データ転送の終了処理は、前記他の通信装置にZLP(Zero Length Packet)を送信する処理を含む、請求項1乃至3のいずれか一項に記載の通信装置。
  5. 前記データ転送は、USB3.0以降のUSB規格のバルク転送を含み、
    前記送信部は、前記受信部が、前記通信装置が受信可能な最大パケットサイズの整数倍のデータを受信した場合、前記一時停止要求と前記移行要求とを前記他の通信装置に送信する、
    請求項1乃至3のいずれか一項に記載の通信装置。
  6. 前記一時停止要求は、NRDY(Not Ready)パケット、又はデータを受信できないことを示すACK(Acknowledgement)パケットを含む、請求項5に記載の通信装置。
  7. 前記再開要求は、ERDY(Endpoint Ready)パケットを含む、請求項2又は3に記載の通信装置。
  8. USBホストとUSB通信を行うUSBデバイスであって、
    前記USBホストから前記USB通信でデータ転送される転送データを受信する受信部と、
    前記受信部が所定の量の前記転送データを受信した場合、前記データ転送の一時停止を要求する一時停止要求と、前記データ転送が可能な通常状態より消費電力が少ない省電力状態への移行を要求する移行要求とを、前記USBホストに送信する送信部と、
    前記USBホストに送信した前記移行要求に対して、前記USBホストから前記省電力状態への移行を許可することを示す応答を受信した場合、前記データ転送の終了処理を実行する通信制御部と、
    を有する、USBデバイス。
  9. 他の通信装置とUSB通信を行う通信装置が、
    前記他の通信装置から前記USB通信でデータ転送される転送データを受信する受信処理と、
    前記受信処理で所定の量の前記転送データを受信した場合、前記データ転送の一時停止を要求する一時停止要求と、前記データ転送が可能な通常状態より消費電力が少ない省電力状態への移行を要求する移行要求とを、前記他の通信装置に送信する送信処理と、
    前記他の通信装置に送信した前記移行要求に対して、前記他の通信装置から前記省電力状態への移行を許可することを示す応答を受信した場合、前記データ転送の終了処理を実行する通信制御処理と、
    を実行する、通信方法。
  10. 請求項9に記載の通信方法をコンピュータに実行させる、プログラム。
JP2022101176A 2022-06-23 2022-06-23 通信装置、usbデバイス、通信方法、及びプログラム Pending JP2024002146A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022101176A JP2024002146A (ja) 2022-06-23 2022-06-23 通信装置、usbデバイス、通信方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022101176A JP2024002146A (ja) 2022-06-23 2022-06-23 通信装置、usbデバイス、通信方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2024002146A true JP2024002146A (ja) 2024-01-11

Family

ID=89472648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022101176A Pending JP2024002146A (ja) 2022-06-23 2022-06-23 通信装置、usbデバイス、通信方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2024002146A (ja)

Similar Documents

Publication Publication Date Title
US7028109B2 (en) Data transfer control device including buffer controller with plurality of pipe regions allocated to plurality of endpoints
JP3632695B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP5639107B2 (ja) ユニバーサル・シリアル・バス(usb)のためのフロー制御
JP2004021613A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US8977875B2 (en) Power supplying control apparatus, management control apparatus, image processing apparatus, and computer readable storage medium
JP2009176294A (ja) 画像処理装置及びその省電力制御方法、半導体集積回路及びその省電力制御方法、並びに半導体装置
JP6261156B2 (ja) 画像形成装置
JP3726898B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US20180024613A1 (en) Image forming apparatus and power control method for image forming apparatus
JP2005122372A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US7469304B2 (en) Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation
CN107181884B (zh) 处理装置、主机装置、usb设备的节电方法及计算机程序
JP3636160B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP2024002146A (ja) 通信装置、usbデバイス、通信方法、及びプログラム
JP2004194257A (ja) 制御装置および制御方法
US20100106869A1 (en) USB Storage Device and Interface Circuit Thereof
JP7009866B2 (ja) 電子機器、通信処理方法及びプログラム
JP2000187578A (ja) インタフェイス装置
JP5768540B2 (ja) 画像処理装置およびデータ転送管理方法
JP2012182721A (ja) 画像形成装置およびその制御方法
JP5845767B2 (ja) 電力供給制御装置、管理制御装置、画像処理装置、電力供給制御プログラム
JP2004110619A (ja) データ通信装置
JP4127071B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP2004355041A (ja) Dma転送中継装置,dma転送方法,及びdma転送システム
EP3001324B1 (en) Information processing apparatus, controlling method for information processing apparatus, and storage medium