JP2020016927A - 情報処理装置、および、情報処理装置の制御方法とプログラム - Google Patents
情報処理装置、および、情報処理装置の制御方法とプログラム Download PDFInfo
- Publication number
- JP2020016927A JP2020016927A JP2018137630A JP2018137630A JP2020016927A JP 2020016927 A JP2020016927 A JP 2020016927A JP 2018137630 A JP2018137630 A JP 2018137630A JP 2018137630 A JP2018137630 A JP 2018137630A JP 2020016927 A JP2020016927 A JP 2020016927A
- Authority
- JP
- Japan
- Prior art keywords
- usb device
- information processing
- usb
- processing apparatus
- cable
- 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
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】 情報処理装置がUSBデバイスとの信号の送受信を行うことが出来ない状態であっても、USBデバイスが取り付けられているか否かを検知することができるようにすることを目的とする。【解決手段】 本発明に記載の情報処理装置は、USBデバイスを制御する制御手段と、前記制御手段と前記USBデバイスを接続し、前記制御手段と前記USBデバイスのデータのやり取りに用いられるUSBケーブルと、を有する情報処理装置において、前記USBケーブルと異なるケーブルの出力に基づいて、前記USBデバイスが前記制御手段に取り付けられていることを検知する検知手段と、を有することを特徴とする。【選択図】 図3
Description
本発明は情報処理装置、および、情報処理装置の制御方法とプログラムに係るものである。
複合機等の情報処理装置に、カードリーダやファクスボード等の様々なUSBデバイスを接続することで、情報処理装置の機能を拡張することができる。情報処理装置にUSBデバイスを接続する際には、USBケーブルを用いて情報処理装置とUSBデバイスを接続する。
USBケーブルを用いて情報処理装置にUSBデバイスが接続されると、USBケーブルを介してUSBデバイスに電力が供給される。電力が供給されたUSBデバイスは、データの送受信に用いられる信号線をプルアップする。情報処理装置は、USBデバイスの信号線のプルアップを検知してUSBデバイスが接続されたことを検知する。USBデバイスの接続を検知した情報処理装置は、USBデバイスと通信するために必要な処理を実行し、USBデバイスとの通信を開始する。
特許文献1に記載の装置は、D+またはD−の信号線のプルアップを検知して、USBデバイスが接続されたことを検知する。そして、特許文献1に記載の装置は、D+、またはD−のプルアップを検知し、USBデバイスの接続を検知してから所定の時間が経過した後に、リセット信号を出力して、USBデバイスのリセット処理を開始させる。
情報処理装置とUSBデバイスを接続するためのUSBケーブルが断線したり、抜けていたりすると、情報処理装置がUSBデバイスに電力を供給できなかったり、USBデバイスによりプルアップされた信号を受信できない。そのため、上記のような状態では、ユーザがUSBケーブルを用いてUSBデバイスを接続しても、情報処理装置がUSBデバイスの接続を検知することができない。
本発明は、情報処理装置がUSBデバイスとの信号の送受信を行うことが出来ない状態であっても、USBデバイスが取り付けられているか否かを検知することができるようにすることを目的とする。
本発明に記載の情報処理装置は、USBデバイスを制御する制御手段と、前記制御手段と前記USBデバイスを接続し、前記制御手段と前記USBデバイスのデータのやり取りに用いられるUSBケーブルと、を有する情報処理装置において、前記USBケーブルと異なるケーブルの出力に基づいて、前記USBデバイスが前記制御手段と接続されていることを検知する検知手段と、を有することを特徴とする。
本発明に記載の情報処理装置は、情報処理装置がUSBデバイスとの信号の送受信を行うことが出来ない状態であっても、USBデバイスが取り付けられているか否かを検知することができるようにすることができる。
<第1の実施形態>
以下、本発明を実施するための形態について図面を用いて説明する。
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本実施例に記載の情報処理装置100の構成を示すハードウェアブロック図である。本実施形態では、情報処理装置としてプリンタやスキャナを有する複合機を例に説明する。本実施形態における情報処理装置は複合機と異なる情報処理装置、たとえば、複写機やPC等の情報処理装置であってもよい。
制御部110は、情報処理装置100全体を制御するためのメインコントローラである。本実施形態では、制御部110は1つの回路基板であるとする。ROM102、HDD113は情報処理装置100を制御するためのプログラムを格納するメモリである。CPU101は、ROM102または、HDD113に格納されたプログラムを実行することでシステムバス116に接続される各デバイスを総括的に制御する。なお、HDD113は、スキャンやプリントに用いられる画像データの一時格納領域としても使われる。
RAM103は、CPU101の主メモリ、ワークエリア等として機能する。操作部コントローラ108は、情報処理装置100に備えられた操作パネル109、ディスプレイ111を制御する。操作パネル109は、たとえばタッチパネルで構成され、ディスプレイ111にタッチパネルが重ねて配置されることで、ユーザはディスプレイ111をタッチして操作するかのように情報処理装置100を操作できる。ディスクコントローラ112は、HDD113へのデータの書き込み、読み出しを制御する。
プリンタ114は、電子写真方式で実現される、紙への印字部である。プリンタ114はプリンタI/F130を介してシステムバス116に接続される。本実施形態では電子写真方式で用紙に画像を印刷するとするが、印字方式は、インクジェット方式など異なる方式であってもよい。
115はスキャナであり、紙に印刷された画像を読み込むための画像読み取り部である。スキャナ115はスキャナI/F131を介して、システムバス116に接続される。スキャナ115は、オプションとしてADF(オートドキュメントフィーダ)(不図示)を有している。スキャナ115はADFに載置された複数枚の原稿を自動的に連続して読み込むことができる。
USBホストコントローラ117は、システムバス116に接続され、USBデバイス119へコマンドを出力したり、USBデバイスから送信された信号を受信したりする。
USBデバイス119はUSBケーブル122を介してシステムバス116に接続されたデバイスである。制御部110に接続されるUSBデバイスとは、例えばキーボードやメモリスティック、カードリーダ、またファクス機能を持ったファクスボードなどである。本実施形態では、USBデバイス119としてファクスボードが接続された場合を例に説明する。ファクスボードは、情報処理装置が画像データのファクス送信、ファクス受信に使用することのできる回線を増設するためのUSBデバイスである。制御部110にUSBデバイス119を接続することで、情報処理装置100の機能を拡張することができる。
USBケーブル122は、USBホストコントローラ117とUSBデバイス119を接続するケーブルである。USBケーブル122は、USBデバイス119に電力を供給するための信号線(Vbus)と、データを送受信するための2本の信号線(D+、D−)、USBデバイスをグラウンドに接地させるためのグラウンド線の4本の信号線で構成される。USBホストコントローラ117とUSBデバイス119は、USBケーブル122のデータ線を介して情報の送受信を実行する。
GPIO(General Purpose Input/Output)120は汎用入出力ポートである。本実施形態では、GPIO120がUSBデバイス119と接続されている。GPIO120は端子への入力が第1の閾値よりも低い状態から高い状態に変化したことに従って1(High)をレジスタに設定する。一方で、端子への入力が第2の閾値よりも高い状態から低い状態に変化したことに従ってGPIO120は0(Low)をレジスタに設定する。本実施系形態では、第1の閾値を3V、第2の閾値を2Vとして説明する。第1の閾値と第2の閾値の値は第1の閾値の値の方が大きい値であれば、上記の値に限定されない。
ここで、第1の閾値と第2の閾値は異なる値とするが、第1の閾値と第2の閾値を同じ値としてもよい。GPIO120に電源が供給されると、初期化処理が実行される。初期化処理においては、GPIOの各ピンが入力動作と出力動作のいずれの動作を行うピンかが設定される。本実施形態において使用されるGPIO120のピンは、入力ピンとして動作するように設定される。
ケーブル121はUSBデバイス119とGPIO120を接続するための信号線である。本実施形態において、情報処理装置100は、ケーブル121と接続されるGPIO120のレジスタに設定された値に応じて、USBホストコントローラ117にUSBデバイス119が接続されているか否かを判定する。CPU101は、ケーブル121を介してGPIO120に入力される電圧が閾値よりも低い場合、USBデバイスが接続されており、GPIO120に入力される電圧が閾値よりも高い場合、USBデバイスは接続されていないと判定する。
USBデバイス119の種類によっては、図1に示すように、USBデバイス119が情報処理装置100に内蔵される場合がある。このような場合には、ユーザが外からUSBデバイスが接続されているか否かを容易に確認することができない。そのため、USBケーブル122の断線や抜け等により、USBホストコントローラ117がUSBデバイス119を検知しなかった場合に、ユーザはUSBデバイスが制御部110に接続されているか否かを知ることが難しい。即ち、USBデバイスが接続されていないから検知されないのか、USBデバイスは接続されているが、USBケーブルの断線や抜けによりUSBデバイスを検知することが出来ないのかをユーザが区別しにくい。
そこで、本実施形態では、USBケーブル122のほかにケーブル121を用意する。ケーブル121で、USBデバイス119とGPIO120の所定のポートとを接続する。そして、GPIO120の所定のポートに印加されている電圧に基づいて、USBデバイス119の有無を判定する。このようにすることでUSBケーブル122の断線や抜けにより、USBホストコントローラ117がUSBデバイス119の接続を検知出来ない状態であっても、USBデバイス119が取り付けられているか否かを判定することができるようになる。
図2は本実施形態におけるUSBデバイスの一例を示すブロック図である。本実施形態では、ファクスボードを例に説明するが、他のUSBデバイスであっても構わない。
CPU601はUSBデバイス119全体を制御するための制御部である。CPU601はシステムバス608を介してUSBデバイス119の各ブロックを制御する。ROM602はUSBデバイス119を動作させるためのプログラム等を格納する記憶部である。CPU601はROM602に格納されたプログラムをRAM603に展開し、実行する。RAM603は、画像データ等データを一時的に格納する領域である。さらにRAM603はCPU601のワークメモリとしても使用される。MODEM605は、NCU606、電話回線607を介して、画像データのファクス送信やファクス受信を行う。NCU606は電話回線607から受信された信号をMODEM605に渡したり、MODEM605から出力された信号を電話回線607に送信したりする。
USBデバイスコントローラ604は、USBケーブル122を介してUSBホストコントローラ117に接続される。USBデバイスコントローラ604は、USBホストコントローラ117から信号を受信したり、USBホストコントローラ117に信号を送信したりする。
なお、本実施形態では、USBケーブル122を介して情報処理装置の制御部110から電力を供給されるUSBデバイスを例に説明するが、電力から直接電源が供給されるUSBデバイスであっても構わない。
次に、図3を用いて、制御部110とUSBデバイス119の間の配線の一例を説明する模式図である。
図3(a)はUSBデバイス119と制御部110を接続する前の状態を示す模式図である。USBホストコントローラ117とUSBデバイスコントローラ604は接続されていない。コネクタ204はケーブル121が差し込まれるコネクタである。コネクタ204から延びる配線は、USBデバイス119のグラウンドに繋がっている。本実施形態では、コネクタ204から延びる信号線は、ファクスボード基板のグラウンド層に接続されている。ファクスボード基板のグラウンド層は、ファクスボード基板が設置されている情報処理装置の電源のGNDに接続されている。コネクタ204からグラウンドに延びる信号線は、図2のシステムバス608や、他のブロックには接続されていない。
GPIO120の所定のピンには、電源オン時にプルアップ抵抗201を介して定電圧5Vが印加される。即ち、USBデバイス119を接続しないまま、情報処理装置100が電源オンされた場合、GPIO120の所定のピンに5Vの電圧が印加される。USBデバイス119が接続されていない状態で情報処理装置100の電源がオンになった場合、GPIO120のレジスタには1(High)が設定される。CPU101が当該レジスタを読み出すことで、USBデバイス119が情報処理装置に取り付けられていないことを判定することができる。
図3(b)は、USBケーブル122と、ケーブル121を用いてUSBデバイス119と制御部110が接続された場合の模式図である。USBデバイス119と制御部110が接続された状態で情報処理装置100の電源がオンされた場合、Vbus123を介してUSBデバイス119に電力が供給され、USBデバイス119と制御部110との間の通信が開始される。一方で、GPIO120の入力ポートは、ケーブル121を介してUSBデバイス119のグラウンドに接続される。したがって、GPIO120の入力ポートに印加される電圧は0Vとなる。入力ポートの電圧が第2の閾値より低いため、GPIOのレジスタに0(Low)が設定される。CPU101が当該レジスタを参照することで、USBデバイス119が取り付けられていることを判定することができる。
図3(b)において、USBケーブル122が断線していた場合、Vbus123による電力供給が行えなかったり、D+124、D−125によるデータの送受信が行えない。たとえば、USBケーブル122の断線や抜けによって、Vbusを介して電力供給を行うことができない場合、USBデバイス119はいずれの信号線もプルアップしない。そのため、USBホストコントローラ117はUSBデバイス119の接続を検知できない。
USBデバイスが情報処理装置の筐体内に取り付けられるデバイスである場合、ユーザは装置にUSBデバイスが取り付けられているかどうかを容易に確認することができない。上記のようなUSBデバイスを備える情報処理装置において、USBデバイス119が取り付けられていない場合と、USBデバイス119は取り付けられているが、USBケーブルの断線や抜けでUSBデバイス119を検知できない場合とを区別が難しい。そこで、本実施形態では、USBケーブル122と異なるケーブル121を用いて制御部110のGPIO120とUSBデバイス119とを接続する。そして、CPU101がGPIO120のレジスタ値を参照して、USBデバイス119の取り付け有無を判定する。さらに、USBデバイス119の取り付け有無と、USBホストコントローラ117がUSBデバイス119の接続検知の結果に応じて、USBデバイス119が正常に動作していないことをユーザに通知する。
図4は、情報処理装置の電源がオンになったときに実行される処理である。図4に記載の処理を実行するためのプログラムはROM102に格納されており、CPU101がプログラムを読み出して実行することで処理が実現される。本実施形態においては、電源オン時に1度実行するものとして説明するが、電源がオンになった後、所定時間おきに図4に記載の処理を繰り返し実行するとしてもよい。なお、図4の説明においては、接続されているUSBデバイスのデバイス状態の遷移を合わせて説明する。図4の説明に示されるUSBデバイスのデバイス状態は、USBの規格で決められたデバイス状態を示している。
CPU101はUSBデバイス119が接続されているか否かを判定する(S400)。CPU101はUSBホストコントローラ117のD+、D−の信号線の出力を参照し、USBデバイス119が接続されているか否かを判定する。D+、D−のいずれか一方の信号線がプルアップされている場合、CPU101はUSBデバイス119が接続されていると判定する。USBデバイスが接続されていない場合、図4に記載の処理を終了する。USBデバイスが接続されている場合、CPU101はS401に処理を進める。この時、USBデバイス119は電源が供給されているが、リセット処理が完了していないpowered状態である。
S400でUSBデバイス119が接続されていると判定した場合、CPU101はUSBデバイス119に対してリセットコマンドを発行する(S401)。CPU101は、USBデバイス119の接続を検知してから所定の時間が経過した後、一定時間リセットコマンドを発行する。USBデバイス119は、USBホストコントローラ117を介して受信されたリセットコマンドを受け付けて、USBデバイスの初期化処理を実行する。例えば、USBデバイス119自身に対して設定されているアドレスを初期化したりする。リセット処理が完了したUSBデバイス119は、powered状態からリセット処理の完了を示すdefault状態へ遷移する。
そして、CPU101はUSBホストコントローラ117を介して一定時間リセットコマンドを出力した後、Get descriptorコマンドを出力する(S402)。そして、CPU101は、USBデバイス119からディスクリプタデータを受信する。ここで、CPU101は、接続されているUSBデバイス119がどのようなデバイスかを示す情報を取得する。CPU101は、たとえば、ベンダIDやクラスID、通信速度、メモリ容量等の情報をUSBデバイス119から取得する。
CPU101は、必要なディスクリプタのデータ取得が完了したか否かを判定する(S403)。CPU101が必要な情報を全て取得した場合には、S404へ処理を進める。一方で、ディスクリプタデータの取得を開始してから所定時間が経過してもディスクリプタのデータの取得が完了しない場合、CPU101は図4に記載の処理を終了する。所定の時間が経過してもディスクリプタデータの取得が完了しない場合とは、例えば、CPU101がUSBホストコントローラを介して出力したコマンドに対する応答を受信しない状態が所定時間継続した場合である。
ディスクリプタのデータの取得が完了した場合、CPU101はSet addressコマンドを出力する(S404)。CPU101は、接続されているUSBデバイスに固有のアドレスを付与する。USBデバイス119はアドレスが設定されることにより、default状態からアドレス設定が完了した状態を示すaddress状態に移行する。
CPU101はアドレスの設定が完了したか否かを判定する(S406)。アドレスの設定が正常に完了した場合、CPU101は処理をS407に進める。アドレスの設定が正常に完了しない場合、CPU101は図4に記載の処理を終了する。アドレスの設定が正常に終了しない場合とは、例えば、Set Addressコマンドを発行してから所定の時間が経過してもUSBデバイス119から応答がない場合や、USBデバイスの状態を取得してもaddress状態でない場合などである。
CPU101は、Set ConfigurationコマンドをUSBデバイス119に出力する(S407)。USBデバイス119は、コンフィグレーションが完了した後に、address状態からコンフィグレーションの完了を示すconfigured状態に移行する。
CPU101はコンフィグレーションが正常に完了したか否かを判定する(S408)。コンフィグレーションが正常に終了しなかった場合、CPU101は図4に記載の処理を終了する。コンフィグレーションが正常に完了しなかった場合とは、たとえば、CPU101がコンフィグレーション処理中に発行したコマンドに対して所定の時間が経過しても応答がなかった場合などである。また、コンフィグレーションが開始してから所定の時間が経過した後に、CPU101が取得したUSBデバイスの状態がconfigured状態でない場合等である。
CPU101は、コンフィグレーションが完了したUSBデバイス119の情報をRAM103に格納する(S409)。USBデバイス119の情報とは、たとえば、S402で取得したディスクリプタのデータや、S404で設定したアドレスの情報等である。S409に記載の処理を完了した後、CPU101は図4に記載の処理を終了する。
情報処理装置の起動時にUSBデバイスが接続されており、正常に動作することが出来る場合には図4のS400〜S409の処理が順次実行される。しかしながら、USBホストコントローラ117とUSBデバイス119を接続するUSBケーブルが断線していたり、抜けていたりすると、S409に記載のUSBデバイス119のデータの格納まで進まずに図4に記載の処理を完了してしまう。例えば、USBケーブル122のVbusが断線したり、USBケーブル122が抜けている場合、USBデバイスへ電力が供給されない。したがって、CPU101はS400でUSBデバイスが接続されていないと判定されてしまい、図4に記載の処理が終了してしまう。この場合、ユーザは制御部110とUSBデバイス119をUSBケーブル122で接続したつもりであっても、CPU101はUSBデバイス119が取り付けられていることを検知することが出来ない。
また、ファームウェア故障や、D+,D−の信号線の断線等が発生している場合、USBデバイス119は、CPU101の発行するコマンドを受信できなかったり、CPU101の発行したコマンドに応答できない。このような場合にも、S409における当該USBデバイス119の情報の格納まで処理を進めることが出来ず、CPU101はUSBデバイス119が接続されていることを検知できない。そこで、本実施形態では、USBケーブル122と異なるケーブル121を用いてUSBデバイスの接続有無を判定する。
図5は情報処理装置の起動時に実行されるUSBデバイスが正常に動作することができない状態を検知するための処理である。図5に記載の処理を実行するためのプログラムはROM102等に格納されており、CPU101が当該プログラムを読み出して実行することにより処理が実現される。なお、本実施形態において図5に記載の処理は、情報処理装置の起動時に図4に記載の処理の後に実行される。
CPU101はGPIOのレジスタの値を取得する(S500)。情報処理装置100の電源がオンになった後、GPIO120の所定のピンには定電圧が印加される。しかし、GPIO120とUSBデバイス119がケーブル121を介して接続されている場合、GPIO120のピンの電圧はグラウンドと同電位になる。このとき、GPIO120のレジスタは0(Low)に設定される。一方で、GPIO120とUSBデバイス119がケーブル121を介して接続されていない場合、GPIO120の所定のピンは印加された定電圧と同電位になる。この時、GPIO120のレジスタは1(High)に設定される。CPU101は、GPIO120の所定のポートのレジスタの値を取得する。
CPU101は、取得したGPIO120のレジスタ値に基づいて、USBデバイスが情報処理装置に取り付けられているか否かを判定する(S501)。S500で取得されたレジスタの値が1の場合、CPU101はUSBデバイス119が取り付けられていないと判定し、図5に記載の処理を終了する。一方で、S500で取得されたレジスタの値が0の場合、CPU101はUSBデバイス119が取り付けられていると判定し、S502に記載の処理を実行する。
CPU101は、コンフィグレーションが完了しているUSBデバイスがあるか否かを判定する(S502)。CPU101はRAM103にコンフィグレーションが完了したUSBデバイスの情報が記憶されているか否かを判定する。ここで、CPU101は、図4のS409において、RAM103に格納された情報を参照する。RAM103にUSBデバイスの情報が格納されている場合、CPU101はコンフィグレーションの完了したUSBデバイスがあると判定する。RAM103にUSBデバイスの情報が格納されていない場合、CPU101はコンフィグレーションの完了したUSBデバイスがないと判定する。
コンフィグレーションの完了したUSBデバイスの情報がRAM103に格納されている場合、CPU101はUSBホストコントローラ117を介して、USBデバイス119からUSBデバイスの故障が通知されたか否かを判定する(S503)。USBデバイス119から故障が通知された場合、CPU101は処理をS504へ進める。一方で、USBデバイス119から故障が通知されない場合、CPU101は図5に記載の処理を終了する。S503において、USBホストコントローラ117とUSBデバイス119はすでに通信を開始している。USBデバイス119は自身のROM602に格納された故障判定用のプログラムを用いて故障判定を実行する。故障判定プログラムを実行した結果、USBデバイス119が正常に動作することが出来ないと判定された場合に、USBデバイス119は制御部110のCPU101に故障を通知する。
S502でコンフィグレーションの完了したUSBデバイスの情報がなかった場合、CPU101がRAM103に格納されるUSBデバイスが正常に動作していないことを示すフラグをオンに設定する(S504)。当該フラグは、USBデバイスが正常に動作していないことを示すフラグであり、オンの場合にはUSBデバイスが正常に動作することが出来ないことを示す。
S503でUSBデバイス119から故障が通知された場合も、S504の処理を実行する。
そして、CPU101は、USBデバイスが正常に動作していないことを示す画面をディスプレイ111に表示する(S505)。CPU101は操作部コントローラ108を制御し、図6に示す画面をディスプレイ111に表示する。図6は情報処理装置に取り付けられているUSBデバイスが正常に動作していないことをユーザに通知する画面である。本実施形態において、USBデバイス119は情報処理装置に内蔵されるデバイスである。そのためユーザが容易にUSBデバイス119の取り付け、取り外しを行うことが出来ない。そこで、情報処理装置100は、図6に示す画面を介して、サービスマンへの連絡を促す。ユーザから連絡を受けたサービスマンは、USBデバイス119を交換したり、USBデバイス119の設置しなおしをする。本実施形態では、USBデバイス119が正常に動作していないことを画面でユーザに通知した。USBデバイス119が正常に動作していないことを検知したことを、ネットワークを介して外部の装置にメール等で警告するとしてもよい。
なお、本実施形態では図4に記載の処理を実行した後に、図5に記載の処理を実行するとして説明した。図5のS502に記載の処理が実行されるまでに、図4の処理が完了していれば図4と図5に記載の処理が並行して実行されていてもよい。
上記のように、USBケーブル122とは異なるケーブル121を用いてUSBデバイスと情報処理装置を接続する。そして、ケーブル121の出力に基づいて、USBデバイスが情報処理装置に取り付けられているか否かを判定する。このようにすることで、USBケーブルが切断や抜けにより、USBケーブルを介した通信ができない場合でも、USBデバイスが情報処理装置に取り付けられていることを検知することができる。
<第2の実施形態>
第1の実施形態では、情報処理装置の電源がオンになったときGPIOのレジスタの値を取得した。そして、取得したレジスタ値に基づいて、USBデバイスが接続されていると判定された場合、コンフィグレーションが完了したUSBデバイスがあるか否かを判定した。第2の実施形態では、電源がオンになってから所定の時間が経過した後コンフィグレーションが完了したUSBデバイスがあるか否かを判定する。コンフィグレーションされたUSBデバイスがない場合に、USBデバイスの取り付けがあるか否かを判定し、USBデバイスが正常に動作していないことを検知する。
第1の実施形態では、情報処理装置の電源がオンになったときGPIOのレジスタの値を取得した。そして、取得したレジスタ値に基づいて、USBデバイスが接続されていると判定された場合、コンフィグレーションが完了したUSBデバイスがあるか否かを判定した。第2の実施形態では、電源がオンになってから所定の時間が経過した後コンフィグレーションが完了したUSBデバイスがあるか否かを判定する。コンフィグレーションされたUSBデバイスがない場合に、USBデバイスの取り付けがあるか否かを判定し、USBデバイスが正常に動作していないことを検知する。
第2の実施形態における情報処理装置やUSBデバイスのハードウェア構成、および、USBデバイスとの通信確立に係る処理は、第1の実施形態と同様であるため、図1から図4に記載の内容と同様である。
第2の実施形態では、第1の実施形態の図5の処理に替えて、図7に記載の処理を実行する。
図7は、情報処理装置の電源がオンになったときに実行されるUSBデバイスが正常に動作していないことを検知するための処理を示すフローチャートである。図7に示す処理を実行するためのプログラムはROM102に格納されており、CPU101が当該プログラムを実行することで処理が実現される。
なお、本実施形態では、情報処理装置が電源オンになり図4に示す処理が完了した後に、図7に記載の処理を実行するとする。情報処理装置が電源オンとなった後、所定の時間毎に図7に記載の処理を実行するとしてもよい。
CPU101は、RAM103にUSBデバイスの情報が格納されているか否かを判定する(S700)。ここで、CPU101が参照する情報は、S409においてRAM103に格納された情報である。CPU101はRAM103にUSBデバイスの情報が格納されている場合、図7に記載の処理を終了する。RAM103にUSBデバイスの情報が格納されていない場合、CPU101はコンフィグレーションが完了しているUSBデバイスがないと判定する。
CPU101はGPIO120のレジスタの値を取得する(S701)。ケーブル121を介してUSBデバイス119が取り付けられている場合、GPIO120のレジスタには0(Low)が設定されている。一方で、ケーブル121を介してUSBデバイス119が取り付けられていない場合、GPIO120のレジスタには1(High)が設定されている。
CPU101は、S701で取得したレジスタの値に基づいて、USBデバイス119が取り付けられているか否かを判定する(S702)。S701で取得されたレジスタの値が0の場合、USBデバイス119が取り付けられていると判定する。S701で取得されたレジスタの値が1の場合、USBデバイス119が取り付けられていないと判定する。USBデバイス119が取り付けられていないと判定された場合、CPU101は図7に記載の処理を終了する。USBデバイス119が取り付けられていると判定された場合、CPU101はS703に処理を進める。
CPU101は、USBデバイス119が正常に動作していないことを示すフラグをオンに設定する(S703)。なお、本実施形態において当該フラグはRAM103に格納されているものとする。
CPU101は、ディスプレイ111にUSBが正常に動作していないことを通知する画面を表示する(S704)。CPU101は、操作部コントローラ108を制御し、ディスプレイ111に図6に示す画面を表示する。第1の実施形態と同様に、情報処理装置のディスプレイ111ではなく、ネットワークを介して接続される外部の装置に、USBデバイス119が正常に動作していないことを示す通知を送信するとしてもよい。
第2の実施形態では、コンフィグレーションを完了したUSBデバイスがない場合に、GPIOの出力を取得する。このようにすることで、コンフィグレーションが完了している場合にはGPIOの出力を取得する処理を行うことなく、図7に記載の処理を完了することができる。
<その他の実施形態>
第1の実施形態、および、第2の実施形態では、CPU101がRAM103に格納されたコンフィグレーション済みのUSBデバイスの情報を参照し、コンフィグレーションの完了したUSBデバイスが登録されているか否かを判定する。図4のS409においてコンフィグレーションが完了したUSBデバイスがあることを示すフラグをオンに設定するとしてもよい。そして、図5のS502や図7のS700において、CPU101が当該フラグを参照するとしてもよい。このとき、図5のS502において、CPU101は上記不タグがオンである場合にS503に処理を進め、上記フラグがオフである場合にS504に処理を進める。また、図7のS700において、CPU101は上記フラグがオンである場合に、図7に記載の処理を終了し、上記フラグがオフである場合に処理をS701に進める。
第1の実施形態、および、第2の実施形態では、CPU101がRAM103に格納されたコンフィグレーション済みのUSBデバイスの情報を参照し、コンフィグレーションの完了したUSBデバイスが登録されているか否かを判定する。図4のS409においてコンフィグレーションが完了したUSBデバイスがあることを示すフラグをオンに設定するとしてもよい。そして、図5のS502や図7のS700において、CPU101が当該フラグを参照するとしてもよい。このとき、図5のS502において、CPU101は上記不タグがオンである場合にS503に処理を進め、上記フラグがオフである場合にS504に処理を進める。また、図7のS700において、CPU101は上記フラグがオンである場合に、図7に記載の処理を終了し、上記フラグがオフである場合に処理をS701に進める。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。
Claims (18)
- USBデバイスを制御する制御手段と、
前記制御手段と前記USBデバイスを接続し、前記制御手段と前記USBデバイスのデータのやり取りに用いられるUSBケーブルと、を有する情報処理装置において、
前記USBケーブルと異なるケーブルの出力に基づいて、前記USBデバイスが前記制御手段に取り付けられていることを検知する検知手段と、を有することを特徴とする情報処理装置。 - 前記検知手段は、前記ケーブルの出力する電圧に基づいて、前記USBデバイスが前記制御手段に取り付けられていることを検知することを特徴とする請求項1に記載の情報処理装置。
- 前記検知手段は、前記ケーブルの出力する電圧が所定の閾値よりも小さいことに基づいて、前記USBデバイスが前記制御手段に取り付けられていることを検知する請求項2に記載の情報処理装置。
- 前記検知手段は、前記USBケーブルと異なるケーブルが取り付けられていない状態で、前記所定の閾値よりも大きな電圧が印加されていることを特徴とする請求項3に記載の情報処理装置。
- 前記USBケーブルと異なるケーブルは、前記USBデバイスのグラウンドと接続されることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
- 前記制御手段は、前記USBケーブルの出力に基づいて、前記USBデバイスと前記制御手段との通信を確立するための処理を開始することを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
- 前記USBケーブルを介した通信に基づいて、前記USBデバイスとの接続が確立されたUSBデバイスの情報を格納する記憶手段をさらに有し、
前記制御手段は、前記記憶手段に前記USBデバイスの情報が格納されていることに基づいて、通信することのできる前記USBデバイスが接続されていると判定することを特徴とする請求項6に記載の情報処理装置。 - 前記検知手段により前記USBデバイスの接続が検知されなかった場合、前記制御手段は通信することのできる前記USBデバイスが接続されているか否かの判定を行わないことを特徴とする請求項6または7に記載の情報処理装置。
- 前記検知手段により前記USBデバイスの取り付けを検知し、前記制御手段が通信することのできる前記USBデバイスが接続されていないと判定した場合、前記USBデバイスが正常に動作しないことをユーザに通知する通知手段をさらに有することを特徴とする請求項6乃至8のいずれか一項に記載の情報処理装置。
- 前記通知手段は、前記USBデバイスが正常に動作していないことを通知する画面を表示手段に表示させることを特徴とする請求項9に記載の情報処理装置。
- 前記検知手段はGPIOのレジスタの値を取得することで前記USBデバイスが前記制御手段に取り付けられていることを検知することを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置。
- 前記USBケーブルと異なるケーブルが接続される前記GPIOのピンは、信号が入力されるピンとして設定されたピンであることを特徴とする請求項11に記載の情報処理装置。
- 前記USBデバイスは前記情報処理装置に内蔵されるデバイスであることを特徴とする請求項1乃至12のいずれか一項に記載の情報処理装置。
- 前記USBデバイスは、前記情報処理装置が画像データを外部の装置にファクス送信するためのファクス機能を実現するためのデバイスであることを特徴とする請求項13に記載の情報処理装置。
- 画像を読み取る読み取り手段と、画像を用紙に印刷する印刷手段のすくなくとも一方を有することを特徴とする請求項1乃至14のいずれか一項に記載の情報処理装置。
- 前記制御手段は、前記USBケーブルを介して、前記USBデバイスの情報を取得するためのコマンドを出力し、前記USBケーブルを介して、前記USBデバイスから前記コマンドの応答を受信することを特徴とする請求項1乃至15のいずれか一項に記載の情報処理装置。
- USBデバイスを制御する制御手段と、
前記制御手段と前記USBデバイスを接続し、前記制御手段と前記USBデバイスのデータのやり取りに用いられるUSBケーブルと、を有する情報処理装置の制御方法であって、
前記USBケーブルと異なるケーブルの出力に基づいて、前記USBデバイスが前記制御手段に取り付けられていることを検知する検知工程を有することを特徴とする情報処理装置の制御方法。 - 請求項17に記載の情報処理装置の制御方法をコンピュータが実現するためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018137630A JP2020016927A (ja) | 2018-07-23 | 2018-07-23 | 情報処理装置、および、情報処理装置の制御方法とプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018137630A JP2020016927A (ja) | 2018-07-23 | 2018-07-23 | 情報処理装置、および、情報処理装置の制御方法とプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020016927A true JP2020016927A (ja) | 2020-01-30 |
Family
ID=69580952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018137630A Pending JP2020016927A (ja) | 2018-07-23 | 2018-07-23 | 情報処理装置、および、情報処理装置の制御方法とプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020016927A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11620412B2 (en) * | 2020-03-17 | 2023-04-04 | Kyndryl, Inc. | Preventing damage from malicious hardware |
-
2018
- 2018-07-23 JP JP2018137630A patent/JP2020016927A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11620412B2 (en) * | 2020-03-17 | 2023-04-04 | Kyndryl, Inc. | Preventing damage from malicious hardware |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7765344B2 (en) | Apparatus and method for dynamically providing hub or host operations | |
JP4135735B2 (ja) | 画像形成装置及びデータ処理プログラム | |
US7653772B2 (en) | Control system, electronic device and image forming apparatus | |
KR100675849B1 (ko) | 화상형성장치와 그 수행작업 저장방법 | |
EP2897024A1 (en) | Image forming apparatus and power supply control method thereof | |
US10116826B1 (en) | Method and apparatus for automatically resuming a print job from portable memory device | |
JP7251172B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US8817287B2 (en) | Image forming apparatus, method for controlling the same, and storage medium | |
JP7354770B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2020016927A (ja) | 情報処理装置、および、情報処理装置の制御方法とプログラム | |
CN107181884B (zh) | 处理装置、主机装置、usb设备的节电方法及计算机程序 | |
CN103810003A (zh) | 信息处理装置及其控制方法 | |
JP2007094659A (ja) | 電子機器および省電力制御方法 | |
JP2007034614A (ja) | 通信装置及びその制御方法 | |
EP2426592A2 (en) | Image forming apparatus and method of forming image thereof | |
US9924059B2 (en) | Apparatus having power-saving function, method of processing information, and computer program product | |
US20150229783A1 (en) | Facsimile device, option unit, and control device | |
JP4277497B2 (ja) | 複合装置 | |
JP2017102609A (ja) | 通信装置およびその制御方法、並びにプログラム | |
JP2022127796A (ja) | 電子機器、電子機器の制御方法、及び電子機器の制御プログラム | |
JP6798278B2 (ja) | 複合機、複合機において実行される制御方法及び複合機の制御プログラム | |
JP2018075809A (ja) | 画像形成装置、画像形成方法、及びプログラム | |
JP2007306386A (ja) | 電池駆動による記録装置 | |
JP2020166752A (ja) | 情報処理装置と情報処理装置の制御方法、ならびにプログラム | |
JP2021197069A (ja) | 周辺装置、usbケーブルおよびインターフェース条件を判別する方法 |