JP2013149180A - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- JP2013149180A JP2013149180A JP2012010675A JP2012010675A JP2013149180A JP 2013149180 A JP2013149180 A JP 2013149180A JP 2012010675 A JP2012010675 A JP 2012010675A JP 2012010675 A JP2012010675 A JP 2012010675A JP 2013149180 A JP2013149180 A JP 2013149180A
- Authority
- JP
- Japan
- Prior art keywords
- control
- usb
- pipe
- external device
- communication
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Power Sources (AREA)
Abstract
【課題】USBのパイプの空き具合とソフトウェアの制御の優先度とに基づいて、最適なデータ転送速度を自動で設定することで、複数接続された外部装置との通信の待ち状態を軽減し、このとき十分な電力供給も行う。
【解決手段】エンジン・メカコン部40のカーネル43において、アプリケーションやサービス・ミドルウェア等のソフトウェアが実行する制御における優先度を判断し、ドライバ層42によってUSB3.0と2.0のパイプの設定及び切り換えの制御を行う。エンジン・メカコン部40では、パイプが全て使用中で、実行しようとうする外部装置3の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、待機状態の制御なかから、優先度の高いものを空きが生じたパイプに割り当てる。また、優先度の高い通信を行う外部装置3に対してバスパワーによる電力供給を行う。
【選択図】図2
【解決手段】エンジン・メカコン部40のカーネル43において、アプリケーションやサービス・ミドルウェア等のソフトウェアが実行する制御における優先度を判断し、ドライバ層42によってUSB3.0と2.0のパイプの設定及び切り換えの制御を行う。エンジン・メカコン部40では、パイプが全て使用中で、実行しようとうする外部装置3の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、待機状態の制御なかから、優先度の高いものを空きが生じたパイプに割り当てる。また、優先度の高い通信を行う外部装置3に対してバスパワーによる電力供給を行う。
【選択図】図2
Description
本発明は、制御装置、より詳細には、USB(Universal Serial Bus)3.0に対応したインタフェースにより接続された外部装置を制御する制御装置に関する。
近年、USBインタフェースを使用して、ホスト装置に対してさまざまなデバイスを外部装置として接続し、ホスト装置と外部装置との間で双方向のデータ通信を行ってデバイスを制御するとともに、ホスト装置から外部装置への電力供給によるパワーマネジメントが行なわれている。
USB2.0の規格仕様においては、ある種のP2Pによる双方向通信を行うものとして、送信と受信で1本ずつのデータ通信路がサポートされている。従ってUSB2.0では、論理的な通信線としてパイプを設定したとき、ホスト側から送信パイプを使用してデータを送信している際に、受信パイプでデータを取得する、と言った処理は可能であるが、受信パイプを同時処理で使用する際には、時分割処理などの細工をする必要がある。また、受信パイプを使用してデータを受信しているときに、送信パイプでデータを送信する場合にも同じことが言える。
USB2.0までの規格では、複数の処理、例えば複数のタスクや複数のプロセスに係るデータの送受信通信をUSBによる送受信パイプを使用して処理させるのは不向きである。ここで例えば、USBハブシステムの組み込みなどによる細工を施すことでUSB1.1とUSB2.0とを独立させてデータ通信させることは可能であるが、この場合は、転送スピードが低下してしまうため実用的ではない。
また、USB2.0では、規格にバスパワー、つまりホストバスアダプタからの電源供給を規定しているが、USB2.0で規定されているバスパワーは、最大電流がローパワーデバイスで100mA、ハイパワーデバイスで500mAである。このレベルのバスパワーの場合、ホスト装置側から外部装置に電源供給を行っても、結果的に電力が不足し、外部装置に外部電源を接続して不足した電力を賄いながら通信を行うケースが多い。
これに対してUSB2.0の後方互換性を有するUSB3.0が規格化されている。USB2.0では、2本のデータ通信路により、USB1.1のロースピード(1.5Mbps)、及びフルスピード(12Mbps)の通信モードに加えて、ハイスピード(480Mbps)の高速通信モードが追加されている。USB3.0では、さらに送信用信号線1ペアと受信用信号線1ペアによる4本のデータ通信路が追加され、最大4.8Gbpsのスーパースピードの通信モードをサポートし、これによりUSB2.0の10倍の通信速度が得られる。
また、USB3.0では、規格上のバスパワーとして最大電流が900mAまで引き上げられていることから、パワーマネジメントできるデバイスの数も増やすことができ、複数のデバイスに対するホスト装置からの電力供給が期待される背景がある。
USB規格に基づくインタフェースを用いた通信制御の技術に関して、例えば特許文献1には、双方向電気的連接が可能なソケット構造が開示されている。このソケット構造により、コネクタは正方向、反対方向の双方向共に挿入して電気的連接が可能であるため使用が簡便である双方向電気的連接が可能なソケット構造を提供するとされている。
また、特許文献2には、USBバージョン3.0に対応したハブ(Hub)装置の内部の接続状態を変更可能なタイミングを通知するためのUSBハブ装置が開示されている。このUSBハブ装置は、USB3.0に対応し、複数のアップストリームポートと、複数のダウンストリームポートと、コントローラと、通知する回路とを具備するUSBハブ装置である。コントローラは、複数のアップストリームポートと、複数のダウンストリームポートとの論理的な接続状態を制御すると共に、論理的な接続状態を外部から与えられるポート選択信号によって変更する。
また、特許文献3には、反流によるクロストークを防止することができる、信号干渉の遮断を可能とするためのコネクタが開示されている。このコネクタは、2対の信号伝達端子の間にカバー部材の溝を形成することにより、その2対の信号伝達端子のカバー部材における反流によるクロストークを防止することができるものとされている。
また、特許文献4には、USB3.0のスーパースピード・データ通信に対応する高速な転送速度を達成するためのシリアルバスデバイスが開示されている。このシリアルバスデバイスには、処理装置及び処理装置に結合された差分クロック補償装置が含まれる。処理装置はパケットを生成する。差分クロック補償装置は、リンク・パートナーに対する差分クロックを補償するために、パケットのタイプに従ってパケットより前に少なくとも1つのスキップ順序集合をリンク・パートナーに送信するか否かを判定する。これにより、データ・パケットが受信側のリンク・パートナーに送信されるときのデータオーバーフローまたはデータアンダーフローを防止することができ、また、送信側のリンク・パートナーと受信側のリンク・パートナーとの差分クロックが補償されることによって、2つのリンク・パートナー間の伝送効率が上がるとされている。
USB2.0に基づく通信規格では、送信受信のパイプは、D+とD−の2本の信号線にしか対応していないため、ホスト装置が複数の外部装置とUSBによる通信を行いたい場合、ホスト装置で使用しているタスクやプロセスがUSBのパイプを解放しない限り、待機状態となって通信ができない状態になるため、最適なデータ転送速度で通信を行うことができない、という課題があった。
また、上記のように、USB2.0で規定されているバスパワーの場合、ホスト装置側から外部装置に電源供給を行っても、結果的に電力が不足して外部装置に外部電源を接続して不足した電力を賄いながら通信を行うケースが多い。十分なバスパワーによって通信と同時に電力供給を行うことが求められる。
特許文献1の発明は、USB3.0の仕組みで双方向の通信を連続的に行い続けるためのソケットを確立したものであり、複数の通信を同時に行うようにしたものではない。また、特許文献2では、USB3.0のハブ装置の仕組みで、USB2.0のハイスピードと、USB3.0のスーパースピードの送受信パイプの切り替えを通知するものにすぎない。また、特許文献3の発明は、ハード的にUSB2.0とUSB3.0の信号干渉を遮断するコネクタを開示するものにすぎない。さらに特許文献4のシリアルバスデバイスは、USB3.0に対応していない機器との通信に対して、調停をしてUSB3.0の通信に必要なパケットフレームを付加して、スーパースピードでの通信に対応することが主の効果となるものである。これら先行技術には、複数の外部装置と通信を行うときの優先度を考慮して最適な通信制御を行うことについては記載されていない。
本発明は、上述のごとき実情に鑑みてなされたもので、接続された外部装置との間でUSB規格に基づくインタフェースでデータの通信を行う際に、パイプの空き具合とソフトウェアの制御の優先度とに基づいて、最適なデータ転送速度を自動で設定することで、複数接続された外部装置との通信の待ち状態を軽減し、このとき十分な電力供給も行うことで、通信の性能向上を実現する制御装置を提供することを目的とするものである。
上記課題を解決するために、本発明の第1の技術手段は、USBに対応したデータ通信が可能なインタフェースにより外部装置と接続する接続部と、前記外部装置を対象とした制御を行うソフトウェアの機能を実行する制御部とを有し、該制御部は、前記ソフトウェアの機能を実行するときに、制御対象とする前記外部装置との間で、USBに基づくデータ通信を行う制御装置であって、前記制御部は、外部装置とのデータ通信を行う際に、前記ソフトウェアが実行しようとする制御の優先度に基づいて、優先度の高い制御については、USB3.0に対応したパイプを優先的に割り当ててデータ通信を行うことを行うことを特徴としたものである。
第2の技術手段は、第1の技術手段において、前記制御装置に複数の外部装置が接続されているとき、前記制御部が、前記パイプが全て使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたパイプに割り当てることを特徴としたものである。
第3の技術手段は、第2の技術手段において、前記制御部が、前記パイプが使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、
前記USB3.0に対応したパイプに空きが生じたときに、予め取得した前記外部装置の機器情報に基づいて、前記待機状態の制御の制御対象となっている外部装置がUSB3.0に対応しているか否かを判別し、前記制御対象となっている外部装置がUSB3.0に対応している場合には、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたUSB3.0に対応したパイプに割り当てることを特徴としたものである。
前記USB3.0に対応したパイプに空きが生じたときに、予め取得した前記外部装置の機器情報に基づいて、前記待機状態の制御の制御対象となっている外部装置がUSB3.0に対応しているか否かを判別し、前記制御対象となっている外部装置がUSB3.0に対応している場合には、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたUSB3.0に対応したパイプに割り当てることを特徴としたものである。
第4の技術手段は、第3の技術手段において、前記制御装置が、USB3.0に対応したパイプ、及びUSB2.0に対応したパイプに空きがあり、前記ソフトウェアが実行しようとする制御が複数あって、該複数の制御の制御対象となっているそれぞれの外部装置がUSB3.0に対応している場合、前記優先度の高い制御を順にUSB3.0に対応したパイプに割り当て、USB3.0に対応したパイプが全て使用された状態でさらに、ソフトウェアが実行しようとする制御が残っている場合、該残っている制御をUSB2.0に対応したパイプに割り当てることを特徴としたものである。
第5の技術手段は、第4の技術手段において、前記制御装置が、前記USB3.0に対応した外部装置に対して、USB2.0に対応したパイプを割り当ててデータ通信を行っているとき、USB3.0に対応したパイプに空き生じた場合、USB2.0に対応したパイプからUSB3.0に対応したパイプに切り換えてデータ通信を行うことを特徴としたものである。
第6の技術手段は、第2〜第5のいずれか1の技術手段において、前記パイプが全て使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに直ちにデータ通信を開始できるように、データの送受信に使用するメモリバッファとは別に、待機状態となっている制御に使用する通信データを保持する待機用のバッファを備えることを特徴としたものである。
第7の技術手段は、第1〜第6のいずれか1の技術手段において、前記制御部が、前記外部装置とのデータ通信の処理中に、前記優先度に基づいて、前記データ通信を行う前記外部装置に対して電力を供給することを特徴としたものである。
本発明によれば、接続された外部装置との間でUSB規格に基づくインタフェースでデータの通信を行う際に、パイプの空き具合とソフトウェアの制御の優先度とに基づいて、最適なデータ転送速度を自動で設定することで、複数接続された外部装置との通信の待ち状態を軽減し、このとき十分な電力供給も行うことで、通信の性能向上を実現する制御装置を提供することができる。
図1は、本発明による制御装置を適用したシステムの一例を示す図で、記録紙等に画像データを画像形成(印刷)する画像形成装置に本発明を適用したときのシステム構成例を示すものである。
PC(Personal Computer)2は、画像形成装置1に対して印刷要求を行なう装置であり、ユーザ操作等に従ってプリンタドライバ4が画像データと制御コマンドを含む印刷データを生成して画像形成装置1に送信する。
PC(Personal Computer)2は、画像形成装置1に対して印刷要求を行なう装置であり、ユーザ操作等に従ってプリンタドライバ4が画像データと制御コマンドを含む印刷データを生成して画像形成装置1に送信する。
画像形成装置1は、コントローラ部10及び印刷実行部20を備える。コントローラ部10は、PC2からの印刷要求を受けて印刷実行部20に印刷指示を出す処理等、画像形成装置全体の主制御を行う。また、コントローラ部10は、PC2とのI/F11、CPU12、RAMやROM等のメモリ13、及び印刷実行部20との通信を行うためのUSB I/F14を備える。USB I/F14は、コントローラ部10と印刷実行部20との間でUSBに対応した通信モードで通信を行うためのI/Fである。
I/F11は、PC2から送信される印刷データを受信する部分である。印刷データは、この他、図示しない原稿画像読み取り装置(スキャナ部)から読み取った画像や、可搬型記録媒体から読み取った画像に基づいて生成することができる。
CPU12は、印刷データに含まれる画像データに所定の画像処理を施してビットマップデータを生成し、印刷データに含まれる制御コマンドを解釈して印刷実行部20に対して適切な印刷処理を指示する。
メモリ13は、CPU12が実行するアプリケーションやサービス・ミドルウェア等のソフトウェアを記録するROMや、印刷データや各処理後の画像データ等を一時的に格納するRAM等からなる。
CPU12は、印刷データに含まれる画像データに所定の画像処理を施してビットマップデータを生成し、印刷データに含まれる制御コマンドを解釈して印刷実行部20に対して適切な印刷処理を指示する。
メモリ13は、CPU12が実行するアプリケーションやサービス・ミドルウェア等のソフトウェアを記録するROMや、印刷データや各処理後の画像データ等を一時的に格納するRAM等からなる。
印刷実行部20は、印刷エンジンに相当するもので、CPU21、コントローラ部10との通信インタフェースを構成するUSB I/F22、ROMやRAM等のメモリ23、及び外部接続される各種の外部装置との間で、USBに基づく通信を行うUSB I/F24を有している。
印刷実行部20は、印刷機構とメカコントローラの機能を有し、印刷機構は、図示しない感光体ドラムや帯電ユニット、露光ユニット、現像装置、転写ユニット等を有し、メカコントローラの制御によって記録紙に画像データの画像形成を行う。
印刷実行部20は、印刷機構とメカコントローラの機能を有し、印刷機構は、図示しない感光体ドラムや帯電ユニット、露光ユニット、現像装置、転写ユニット等を有し、メカコントローラの制御によって記録紙に画像データの画像形成を行う。
画像形成装置1には、複数の外部装置3が接続可能である。外部装置3としては、例えば画像形成装置で画像形成した記録紙に対して、端とじステープル、中とじ、パンチ穴開けなどの加工処理を行うフィニッシャや、画像形成装置1の画像形成処理に課金を行うためのコインラック等が適用される。
そして外部装置3と印刷実行部20のUSB I/F24とが、USBに対応したデータ通信路で接続される。USB I/F24は、USBデバイスである外部装置3を複数のポートで同時に接続し、CPU21がUSB規格に基づくHub(ハブ)制御を行って、各外部装置3とデータ通信を行う。これにより、画像形成装置1は、USBのホストとして機能し、Hubデバイスである外部装置3を個々に制御することができる。また、USB I/F24のポートからは、外部装置3に対して電源供給が行われる。
そして外部装置3と印刷実行部20のUSB I/F24とが、USBに対応したデータ通信路で接続される。USB I/F24は、USBデバイスである外部装置3を複数のポートで同時に接続し、CPU21がUSB規格に基づくHub(ハブ)制御を行って、各外部装置3とデータ通信を行う。これにより、画像形成装置1は、USBのホストとして機能し、Hubデバイスである外部装置3を個々に制御することができる。また、USB I/F24のポートからは、外部装置3に対して電源供給が行われる。
本発明に係る制御装置は、USBに対応したデータ通信が可能なインタフェースにより外部装置と接続する接続部と、外部装置を対象とした制御を行うソフトウェアの機能を実行する制御部とを有し、制御部がソフトウェアの機能を実行するときに、制御対象とする外部装置との間で、USBに基づくデータ通信を行うものである。
画像形成装置1に適用された制御装置は、USB I/F24により外部装置3との接続部が構成され、コントローラ部10及び印刷実行部20により、外部装置を対象とした制御を行う制御部が構成される。ここでコントローラ部10及び印刷実行部20でアップリケーションやサービス・ミドルウェア等のソフトウェアの機能が実行され、ソフトウェアが実行するタスク、プロセス、スレッド等が特定の外部装置3を制御するときに、画像形成装置1のHub制御によって、対象の外部装置3との間でデータ通信を実行する。
画像形成装置1に適用された制御装置は、USB I/F24により外部装置3との接続部が構成され、コントローラ部10及び印刷実行部20により、外部装置を対象とした制御を行う制御部が構成される。ここでコントローラ部10及び印刷実行部20でアップリケーションやサービス・ミドルウェア等のソフトウェアの機能が実行され、ソフトウェアが実行するタスク、プロセス、スレッド等が特定の外部装置3を制御するときに、画像形成装置1のHub制御によって、対象の外部装置3との間でデータ通信を実行する。
図2は、本発明の制御装置の要部のハードウェアとソフトウェアのアーキテクチャの構成例を説明する図である。本例の制御装置は、コントローラ部30とエンジン・メカコン(メカコントローラ)部40とを有している。コントローラ部30は、図1の構成のコントローラ部10に相当し、エンジン・メカコン部40は、図1の構成の印刷実行部20に相当する。
コントローラ部30のアーキテクチャは、各種アプリケーション及びサービス・ミドルウェアによるアプリ/サービス・ミドルウェア層31と、システムソフトウェアであるデバイスドライバによるドライバ層32と、CPU及びCPU等のハードウェアとソフトウェアコンポーネントとのやりとりを管理するカーネル33とからなっている。
ドライバ層32は、USB3.0に対応したドライバを有し、USB3.0とUSB2.0に対応した通信制御や、USB3.0によるパワーマネジメントを行う機能を有する。
ドライバ層32は、USB3.0に対応したドライバを有し、USB3.0とUSB2.0に対応した通信制御や、USB3.0によるパワーマネジメントを行う機能を有する。
また、エンジン・メカコン部40のアーキテクチャも同様に、各種アプリケーション及びサービス・ミドルウェアによるアプリ/サービス・ミドルウェア層41と、システムソフトウェアであるデバイスドライバによるドライバ層42と、CPU及びCPU等のハードウェアとソフトウェアコンポーネントとのやりとりを管理するカーネル43とからなっている。
エンジン・メカコン部40のアプリ/サービス・ミドルウェア層41は、例えば、接続される外部装置3の機能に合わせて、外部装置3のモータ制御、各種のプロセス制御、フィニッシャ/オプション制御、カラー制御等の特定の外部装置を制御対象とした各種のタスクやプロセス、スレッド等を実行する。
また、ドライバ層42は、USB3.0に対応したドライバを有し、USB3.0とUSB2.0に対応した通信制御や、USB3.0のHubシステム制御、及びUSB3.0によるパワーマネジメントを行う機能を有する。
また、ドライバ層42は、USB3.0に対応したドライバを有し、USB3.0とUSB2.0に対応した通信制御や、USB3.0のHubシステム制御、及びUSB3.0によるパワーマネジメントを行う機能を有する。
コントローラ部30と、エンジン・メカコン部40とは、USBに対応したデータ通信路61によって接続される。また、エンジン・メカコン部40は、複数の外部装置3との間でUSBに対応したデータ通信路71によって接続される。これらは、USBに対応した物理的な通信線によって構成される。物理的な通信線により、コントローラ部30からエンジン・メカコン部40に電力供給62がなされ、エンジン・メカコン部40から外部装置3に電力供給72がなされる。この場合、エンジン・メカコン部40が直接電源から電力を得ている場合には、その電力を外部装置3に供給することができる。
外部装置3の接続は、USBケーブル等の物理的な通信線が接続されたときに、エンジン・メカコン部40のドライバ層42が、プラグアンドプレイによって認識する。これにより、システムレベル及びアプリケーションレベルの通信において、アプリケーションやデバイスドライバ等のソフトウェアが通信するためのパイプが設定される。
コントローラ部30のアプリケーションやサービス・ミドルウェア、あるいはエンジン・メカコン部40のアプリケーションやサービス・ミドルウェアで特定の外部装置3を対象とするタスクやプロセス、スレッド等が実行された際に、USBに対応したデータ通信路により外部装置3とのデータ通信が行われ、外部装置3が制御される。このとき、エンジン・メカコン部40のドライバ層42によるUSBのHub制御により、特定の外部装置3との間のデータ通信路にパイプが設定され、データ通信が行われる。
USB3.0では、2本のデータ通信路を用いたUSB2.0によるハイスピード(480Mbps)の高速通信モードに加えて、さらに付加された4本のデータ通信路によるスーパースピード(4.8Gbps)の高速通信モードが実行可能である。データ通信は、INとOUTの2本のデータ信号線を用いて行われるため、時分割転送等の細工をしない限り、基本的にはハイスピードで1本、スーパースピードで2本の論理接続によるパイプが設定される。
USBにおける論理的な通信は、エンドポイントとパイプの概念で表される。例えば、エンジン・メカコン部40と外部装置3とのUSBに基づく通信の場合、USBデバイスである外部装置3側には、エンドポイントとしてFIFO(First In First Out)バッファが用意され、これが通信のための実体となる。同様に、ホストであるエンジン・メカコン部40側にもバッファが用意され、両者のバッファ同士がパイプで接続されてデータを送受信する。
エンジン・メカコン部40では、Hub制御によってそれぞれの外部装置3との間でパイプを設定する。このとき特定の外部装置3との間でパイプが設定されてデータ通信を行う場合、USB3.0で使用できる2本のスーパースピードのパイプと、1本のハイスピードのパイプのいずれかを使用する。そして、パイプが使用されているときは、排他制御により、他の通信は待機状態となり、パイプが空くのを待つことになる。
本発明に係る制御装置の特徴として、エンジン・メカコン部40のカーネル43において、アプリケーションやサービス・ミドルウェアが実行するタスクやプロセス、スレッド等のその時点における優先度を判断し、エンジン・メカコン部40のドライバ層42によってUSB3.0と2.0のパイプの設定及び切り換えの制御を行う。
基本的には、エンジン・メカコン部40では、アプリケーションやサービス・ミドルウェアが実行するタスクやプロセス、スレッド等の優先度に従って通信を行う外部装置と、使用するパイプを決定する。ここでは、パイプが全て使用中で、アプリケーションやサービス・ミドルウェアが実行しようとする制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、待機状態の制御のなかから、優先度の高いものを、空きが生じたパイプに割り当てる。
例えばエンジン・メカコン部40では、USB3.0に対応したスーパースピードのパイプに空きが生じたときに、予め取得した外部装置の機器情報に基づいて、待機状態のタスクやプロセス、スレッド等によって制御対象となっている外部装置が、USB3.0に対応しているかを判別する。そしてその外部装置がUSB3.0に対応している場合には、待機状態のタスクやプロセス、スレッド等のなかから、優先度の高いものを空きが生じたスーパースピードのパイプに割り当てる。
また、エンジン・メカコン部40では、USB3.0に対応したスーパースピードのパイプ、及びUSB2.0に対応したハイスピードのパイプに空きがあり、待機状態のタスクやプロセス、スレッド等の制御が複数あって、それらの制御対象となっている外部装置のそれぞれがUSB3.0に対応している場合、優先度の高い制御を順にスーパースピードのパイプに割り当てる。そして、スーパースピードのパイプが全て使用された状態でさらに、待機状態の制御が残っている場合、その制御をハイスピードのパイプに割り当てる。
また、エンジン・メカコン部40では、USB3.0に対応した外部装置に対して、ハイスピードのパイプを割り当ててデータ通信を行っているとき、スーパースピードのパイプに空き生じた場合、ハイスピードのパイプからスーパースピードに対応したパイプに切り換えてデータ通信を行うようにすることができる。
このように、本発明に係る制御装置は、そのシステム上で動作するアプリケーションやサービス・ミドルウェアなどのソフトウェアの機能によってタスクやプロセス、スレッド等の制御が実行されるときに、ドライバによってパイプの状態を監視して、ソフトウェアが制御の対象としている外部装置に対して、その制御の優先度に応じた最善の通信速度でデータ通信を行うことができるようにする。
従来のUSB2.0に対応したデータ通信路では、2本のデータ通信路しかなくハイスピードの通信速度にしか対応していないため、通信の待機状態が大量に発生すると考えられる。これに対してUSB3.0では、バックグランドで数本のパイプを使用していても、空いているパイプで通信を行うことでき、待機状態となるタスクやプロセス、スレッド等を低減させることができる。そしてこのときに、タスクやプロセス、スレッド等の制御の優先度に基づいてパイプを割り当てることで、優先度に応じた最適な通信処理を行うことができるようになる。
また、制御装置のエンジン・メカコン部40は、外部装置3とのデータ通信の処理中に、そのデータ通信を行う外部装置3に対してバスパワーを供給することができる。上記のようにUSB3.0では、規格上の最大電流900mAのバスパワーを供給できる。この場合、エンジン・メカコン部40は、アプリケーションやサービス・ミドルウェアによるタスクやプロセス、スレッド等の優先度に従って、電力供給を割り当てるようにすることができる。
つまり、エンジン・メカコン部40は、実行すべきタスクやプロセス、スレッド等の優先度に従って、パイプを割り当てて通信を行うが、このときに優先度が高くパイプを割り当てて通信を行う外部装置3に対して、優先的に電力供給を行うようにすることができる。このときタスクやプロセス、スレッド等の制御の優先度に従って、所定の配分条件に従ってパスパワーを配分して供給してもよい。
また、制御装置では、外部装置3とのデータ通信が終了してパイプに空きが生じるまでは、他の制御によるデータ通信は排他制御によって待機状態になる。従って、本発明に係る実施形態では、パイプが全て使用中で、アプリケーションやサービス・ミドルウェアなどのソフトウェアが実行しようとうする外部装置3の制御が待機状態となっている場合、データの送受信に使用するメモリバッファとは別に、待機状態となっている制御に使用する通信データを保持する待機用のバッファを備える。これにより、使用中のいずれかのパイプに空きが生じたときに、待機用のバッファに保持した通信データによって直ちに制御用の通信を開始することができるようになる。
図3及び図4は、本発明に係る制御装置における処理の一例を説明するためのフローチャートである。制御装置は、例えば図2に示す構成を有し、USBに対応した通信を行うUSBデバイスである外部装置3を複数接続する。制御装置のコントローラ部30やエンジン・メカコン部40は、接続された外部装置を、プラグアンドプレイで認識してデバイスサーチを行う(ステップS1)。
制御装置のコントローラ部30及びエンジン・メカコン部40は、各々のシステムコントロールで認識した外部装置3と、その外部装置3を使用するソフトウェアのタスクやプロセス、スレッド等の優先度との紐付けを行う(ステップS2)。紐付けを行うソフトウェアは、起動しているアプリケーションやサービス・ミドルウェアに係るものである。そしてコントローラ部30及びエンジン・メカコン部40は、紐付けしたタスクやプロセス、スレッド等の優先度を監視する(ステップS3)。
このとき、コントローラ部30及びエンジン・メカコン部40は、外部装置3と通信をするためのパイプをチェックして、空き状況が有るか、それともBusy状態で空きが無いかを判断する(ステップS4)。ここで空きが無い場合(Noの場合)は、使用できるパイプが空くまで待機する。具体的には、USB3.0の2本のスーパースピードの空きパイプ、またはUSB2.0の1本のハイスピードのパイプが空くまで待機する。
そして、ステップS4で、パイプに空きがあると判断した場合、空いたパイプがUSB3.0によるスーパースピードのパイプであるか判別する(ステップS5)。空いたパイプが、USB3.0のスーパースピードではなく、USB2.0のハイスピードのパイプであった場合、外部装置3のUSBのバージョンに係わりなく、ハイスピードのパイプで通信を行う(ステップS6)。そしてパイプの使用が終了すると(ステップS7−Yes)、通信を終了する(ステップS8)。
ステップS5で、空いたパイプが、USB3.0のスーパースピードのパイプであった場合、制御装置のアプリケーションやサービス・ミドルウェアが実行しようとするタスク、プロセスないしスレッドが対象としている外部装置3のUSBのバージョンを確認する(ステップS9)。
そして、USB2.0に対応している外部装置3に対しては、ステップS10〜S11の処理を行い、USB3.0に対応している外部装置3に対しては、ステップS12〜S23の処理を行う。ここでは、制御装置では、各外部装置3との通信により得られたUSBデータのフレームに含まれる機器情報から、その外部装置3がUSB3.0による通信が可能か、もしくはUSB2.0による通信を行う装置であるかを確認する。
そして、USB2.0に対応している外部装置3に対しては、ステップS10〜S11の処理を行い、USB3.0に対応している外部装置3に対しては、ステップS12〜S23の処理を行う。ここでは、制御装置では、各外部装置3との通信により得られたUSBデータのフレームに含まれる機器情報から、その外部装置3がUSB3.0による通信が可能か、もしくはUSB2.0による通信を行う装置であるかを確認する。
まず、ステップS6で通信を行いたい外部装置3がUSB2.0仕様の装置である場合、USB2.0によるハイスピードのパイプで通信を行う(ステップS10)。そしてパイプの使用が終了すると(ステップS11−Yes)、通信を終了する(ステップS8)。
一方、ステップS6で、アプリケーションやサービス・ミドルウェアが通信を行いたい外部装置3がUSB3.0に対応している場合には、USB3.0のスーパースピードで通信を行う。ここで、USB3.0に対応した外部装置3が複数ある場合、その外部装置3と通信したいアプリケーションやサービス・ミドルウェアのプロセスやタスクの優先度をチェックして、優先度に応じてパイプを割り当てる(ステップS12)。従って、複数のタスクやプロセス、スレッド等があれば、それらの優先度に応じて、それぞれ以下のステップS21〜S23の処理、またはステップS13〜S20の処理が実行される。
ここで、タスクやプロセス、スレッド等の優先度が高い外部装置3、つまり即座に通信を行いたい外部装置3に対しては、高パフォーマンスのスーパースピードで通信をできるように、USB3.0に基づくスーパースピードのパイプを割り当てる(ステップS21)。この場合、USB3.0では、2本の送信用データ通信路と2本の受信用データ通信路により、2本のパイプを構成することができるため、優先度の高い2つの外部装置3に対してスーパースピードのパイプを割り当てることができる。つまり、対象となるUSB3.0の外部装置3が複数ある場合、その中で優先度が高い上位2つのタスクやプロセス、スレッド等が制御対象としている外部装置3に対して、スーパースピードのパイプを割り当てることができる。
そして、制御装置は、スーパースピードのパイプが割り当てられた外部装置3との間で必要なデータ通信を行って(ステップS22)、パイプの使用が終了すると(ステップS23−Yes)、通信を終了する(ステップS8)。
一方、ステップS7でタスク、プロセスないしスレッドの優先度が低い制御の対象となっている外部装置3に対しては、USB3.0のパイプの空きがなければUSB2.0のハイスピードで通信を行う。この場合、USB3.0に対応しているにもかかわらず、USB2.0のハイスピードのパイプが割り当てられる外部装置は、その時点で優先度が3位以下の外部装置になる。
ここでは、まず、スーパースピードで必要なパイプを監視システムに通知する(ステップS13)。監視システムは、コントローラ部30及びエンジン・メカコン部40で動作している。そして、USB2.0のハイスピードでの通信を開始する(ステップS14)。監視システムでは、ハイスピードでの通信中に、スーパースピードのパイプに空きが生じたか否かを監視し、空きがあるか否かを判断する(ステップS15)。
スーパースピードのパイプに空きがない場合(ステップS15−No)、ハイスピードの通信を続行し、パイプの使用が終了すれば(ステップS19―Yes)、通信を終了する(ステップS23)。
また、スーパースピードのパイプに空きが有る場合(ステップS15−Yes)、ハイスピードのパイプで通信している外部装置3は通信途中であるため、途中からUSB3.0のスーパースピードでの通信モードに切り換えが可能なアプリケーションやサービス・ミドルウェアであるかを確認する(ステップS16)。そして切り換え可能であれば、ハイスピードのパイプからスーパースピードのパイプに切り換えて通信を行う(ステップS17)。
また、スーパースピードのパイプに空きが有る場合(ステップS15−Yes)、ハイスピードのパイプで通信している外部装置3は通信途中であるため、途中からUSB3.0のスーパースピードでの通信モードに切り換えが可能なアプリケーションやサービス・ミドルウェアであるかを確認する(ステップS16)。そして切り換え可能であれば、ハイスピードのパイプからスーパースピードのパイプに切り換えて通信を行う(ステップS17)。
このように優先度の高いタスク等により、スーパースピードで通信を行っている外部装置3が、通信を終了して送受信のパイプを解放したときに、他の外部装置3がUSB2.0のハイスピードで通信を行っている場合には、ハイスピードで通信を行っている外部装置3に対して、USB3.0のスーパースピードのパイプを割り当てることができる。この場合、USB3.0に対応しているにもかかわらず、USB2.0のハイスピードで通信を行っている外部装置3が複数ある場合には、その中で最も優先度の高い外部装置3にスーパースピードのパイプを割り当てるようにする。
そして、ハイスピードからスーパースピードに切り換えたパイプの使用が終了すると(ステップS18−Yes)、通信を終了する(ステップS8)。また、ステップS16で切り換え可能でない場合には、そのままハイスピードで通信を続行し、パイプの使用が終了すると(ステップS20−Yes)、通信を終了する(ステップS8)。
1…画像形成装置、2…PC、3…外部装置、10…コントローラ部、11…I/F、12…CPU、13…メモリ、14…USB I/F、20…印刷実行部、21…CPU、22…USB I/F、23…メモリ、24…USB I/F、30…コントローラ部、31…アプリ/サービス・ミドルウェア層、32…ドライバ層、33…カーネル、40…エンジン・メカコン部、41…アプリ/サービス・ミドルウェア層、42…ドライバ層、43…カーネル、61…データ通信路、62…電力供給、71…データ通信路、72…電力供給。
Claims (7)
- USBに対応したデータ通信が可能なインタフェースにより外部装置と接続する接続部と、前記外部装置を対象とした制御を行うソフトウェアの機能を実行する制御部とを有し、該制御部は、前記ソフトウェアの機能を実行するときに、制御対象とする前記外部装置との間で、USBに基づくデータ通信を行う制御装置であって、
前記制御部は、外部装置とのデータ通信を行う際に、前記ソフトウェアが実行しようとする制御の優先度に基づいて、優先度の高い制御については、USB3.0に対応したパイプを優先的に割り当ててデータ通信を行うことを行うことを特徴とする制御装置。 - 請求項1に記載の制御装置において、
前記制御装置に複数の外部装置が接続されているとき、
前記制御部は、前記パイプが全て使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたパイプに割り当てることを特徴とする制御装置。 - 請求項2に記載の制御装置において、
前記制御部は、前記パイプが使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、
前記USB3.0に対応したパイプに空きが生じたときに、予め取得した前記外部装置の機器情報に基づいて、前記待機状態の制御の制御対象となっている外部装置がUSB3.0に対応しているか否かを判別し、前記制御対象となっている外部装置がUSB3.0に対応している場合には、前記待機状態の制御のなかから、前記優先度の高い制御を、前記空きが生じたUSB3.0に対応したパイプに割り当てることを特徴とする制御装置。 - 請求項3に記載の制御装置において、
前記制御装置は、USB3.0に対応したパイプ、及びUSB2.0に対応したパイプに空きがあり、前記ソフトウェアが実行しようとする制御が複数あって、該複数の制御の制御対象となっているそれぞれの外部装置がUSB3.0に対応している場合、
前記優先度の高い制御を順にUSB3.0に対応したパイプに割り当て、USB3.0に対応したパイプが全て使用された状態でさらに、ソフトウェアが実行しようとする制御が残っている場合、該残っている制御をUSB2.0に対応したパイプに割り当てることを特徴とする制御装置。 - 請求項4に記載の制御装置において、
前記制御装置は、前記USB3.0に対応した外部装置に対して、USB2.0に対応したパイプを割り当ててデータ通信を行っているとき、USB3.0に対応したパイプに空き生じた場合、USB2.0に対応したパイプからUSB3.0に対応したパイプに切り換えてデータ通信を行うことを特徴とする制御装置。 - 請求項2〜5のいずれか1に記載の制御装置において、
前記パイプが全て使用中で、前記ソフトウェアが実行しようとうする外部装置の制御が待機状態となっている場合、いずれかのパイプに空きが生じたときに直ちにデータ通信を開始できるように、データの送受信に使用するメモリバッファとは別に、待機状態となっている制御に使用する通信データを保持する待機用のバッファを備えることを特徴とする制御装置。 - 請求項1〜6のいずれか1に記載の制御装置において、
前記制御部は、前記外部装置とのデータ通信の処理中に、前記優先度に基づいて、前記データ通信を行う前記外部装置に対して電力を供給することを特徴とする制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012010675A JP2013149180A (ja) | 2012-01-23 | 2012-01-23 | 制御装置 |
PCT/JP2012/084043 WO2013111507A1 (ja) | 2012-01-23 | 2012-12-28 | 制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012010675A JP2013149180A (ja) | 2012-01-23 | 2012-01-23 | 制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013149180A true JP2013149180A (ja) | 2013-08-01 |
Family
ID=48873245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012010675A Pending JP2013149180A (ja) | 2012-01-23 | 2012-01-23 | 制御装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2013149180A (ja) |
WO (1) | WO2013111507A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426644A (zh) * | 2017-08-31 | 2019-03-05 | 西安中兴新软件有限责任公司 | 一种usb数据传输的速率调整方法及装置、设备 |
EP3807740A4 (en) * | 2018-06-14 | 2022-01-19 | Hewlett-Packard Development Company, L.P. | DELEGATING THE PERFORMANCE OF A UNIVERSAL SERIAL BUS TO MULTIPLE OUTPUTS |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006120115A (ja) * | 2004-09-22 | 2006-05-11 | Seiko Epson Corp | 情報機器及びその制御方法 |
JP2006330831A (ja) * | 2005-05-23 | 2006-12-07 | Sharp Corp | 携帯電子機器 |
JP2011513883A (ja) * | 2008-06-30 | 2011-04-28 | インテル・コーポレーション | 非対称ユニバーサルシリアルバス通信 |
-
2012
- 2012-01-23 JP JP2012010675A patent/JP2013149180A/ja active Pending
- 2012-12-28 WO PCT/JP2012/084043 patent/WO2013111507A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006120115A (ja) * | 2004-09-22 | 2006-05-11 | Seiko Epson Corp | 情報機器及びその制御方法 |
JP2006330831A (ja) * | 2005-05-23 | 2006-12-07 | Sharp Corp | 携帯電子機器 |
JP2011513883A (ja) * | 2008-06-30 | 2011-04-28 | インテル・コーポレーション | 非対称ユニバーサルシリアルバス通信 |
Also Published As
Publication number | Publication date |
---|---|
WO2013111507A1 (ja) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6400714B2 (ja) | Usbハブを有する自動車システムとの柔軟なモバイルデバイス接続性 | |
EP2453362A2 (en) | Data transferring apparatus and control method thereof | |
EP2428897B1 (en) | Server device connecting with usb device and device sharing method | |
JP4379516B2 (ja) | 電力制御システム、電力制御装置、電力制御方法及びプログラム | |
JP4377603B2 (ja) | バス通信システムおよびその通信制御方法 | |
JP2009009211A (ja) | 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム | |
JP5464862B2 (ja) | 画像形成装置、その制御方法およびプログラム | |
JP2015174375A (ja) | 画像形成装置およびその制御方法、並びにプログラム | |
WO2017056725A1 (ja) | 車載制御装置 | |
CN106851041B (zh) | 具有省电模式的信息处理装置及其控制方法 | |
US9652427B2 (en) | Processor module, micro-server, and method of using processor module | |
JP4613328B2 (ja) | Usbデバイスサーバおよびusbデバイスサーバシステム | |
JP4757005B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2009230201A (ja) | Usbコントローラ、及びバッファメモリ制御方法 | |
JP2004334417A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
KR920009449B1 (ko) | 공통 버스제어방법 및 시스템 | |
WO2013111507A1 (ja) | 制御装置 | |
JP2007296796A (ja) | 画像形成装置、画像形成方法、および画像形成プログラム | |
JP2007293708A (ja) | ワイヤレスusb装置 | |
JP6701116B2 (ja) | 印刷装置およびプログラム | |
JP2004118261A (ja) | ホストとデバイスのいずれの役割も選択的に設定することができる通信コントローラを備えた電子機器 | |
JP5030538B2 (ja) | データ通信システム、ユニットおよびデータ通信方法 | |
JP2006202234A (ja) | Usb通信経路切り換え制御装置 | |
WO2012013140A1 (zh) | 图像形成控制卡及图像形成设备 | |
KR102018666B1 (ko) | Usb 디바이스가 연결될 수 있는 전자장치 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160705 |