JP2020166752A - 情報処理装置と情報処理装置の制御方法、ならびにプログラム - Google Patents

情報処理装置と情報処理装置の制御方法、ならびにプログラム Download PDF

Info

Publication number
JP2020166752A
JP2020166752A JP2019068844A JP2019068844A JP2020166752A JP 2020166752 A JP2020166752 A JP 2020166752A JP 2019068844 A JP2019068844 A JP 2019068844A JP 2019068844 A JP2019068844 A JP 2019068844A JP 2020166752 A JP2020166752 A JP 2020166752A
Authority
JP
Japan
Prior art keywords
state
device controller
information processing
signal
host
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
JP2019068844A
Other languages
English (en)
Inventor
奈音 笹原
Naoto Sasahara
奈音 笹原
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019068844A priority Critical patent/JP2020166752A/ja
Publication of JP2020166752A publication Critical patent/JP2020166752A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】 情報処理装置は、デバイスがホストから出力されるリセット信号に伴う割り込み信号を検知できない状態にある場合に、ユーザによるデバイスの取り外しをせずともUSBデバイスの取り付けに伴う処理を再度行うことを目的とする。【解決手段】 本実施形態に記載の情報処理装置は、デバイスコントローラと制御手段と、を有し、前記制御手段が、前記デバイスコントローラが前記ホストに出力する信号を第1の状態から第2の状態に変化させ、前記ホストが前記第2の状態の検知した後に出力した信号に基づいて入力される前記第2の割り込み信号に基づき、前記デバイスコントローラと前記ホストの間の通信速度設定を行う情報処理装置であり、前記第2の割り込み信号が入力されずに経過した時間に応じて、前記信号線を前記第2の状態から前記第1の状態に変化させることを特徴とする。【選択図】 図5

Description

本発明は、情報処理装置と情報処理装置の制御方法、ならびにプログラムに関するものである。
Universal Serial Bus(以下 USB)のI/F(インターフェース)が搭載されているUSBホストでは、当該I/Fを介してUSBストレージや、USBカードリーダ、USBキーボード等をUSBホストに接続することができる。USBホストに接続されたUSBデバイスはUSBホストにより制御される。
USBデバイスには、USBホストと通信するためのデバイスコントローラが備えられている。USBデバイスがUSBホストと接続されると、USBホストはUSBデバイスコントローラと通信経路の確立を行う。USBデバイスとUSBホスト間での通信経路の確立が完了すると、USBホストはUSBデバイスを制御することが出来るようになる。
USBホストとUSBデバイスの間で行われる通信経路の確立処理においては、USBホストからの信号を受信したUBSデバイスコントローラがUSBデバイスのCPUに適宜割り込み信号を入力する。割り込み信号が入力されたCPUはUSBデバイスコントローラを制御し、USBホストとUSBデバイスコントローラの通信確立に必要な処理を実行する。
特許文献1では、USBデバイスがUSBホストのUSB I/Fに取り付けられ、USBホストからバスリセット信号を受け取った後、一定時間経過してもUSBデバイスのステートに変化が無ければ再接続を実行する技術が示されている。
特開2008−204005号公報
USBデバイスをUSBホストと接続した際に電気的なノイズが発生すると、USBデバイスコントローラがそのノイズのせいで正常に動作しなくなってしまう場合がある。
上記のケースでは、USBホストがバスリセット信号を送信してくる前にUSBデバイスコントローラが正常に動作しなくなる。そのため、USBホストがUSBデバイスに対してリセット信号を送信しても、USBデバイスはリセット信号を認識せず、CPUに対して必要な割り込み信号を出力しない。バスリセット信号の受信に伴う割り込み信号がCPUに入力されないため、CPUはUSBデバイスコントローラとUSBデバイス間の通信確立処理を始めるための処理をしない。このような場合に再度、通信確立処理を実行するためにはユーザが、一度USBデバイスをUSBホストから取り外し、再度取り付けなくてはならない。
本願に記載の情報処理装置は、デバイスがホストから出力されるリセット信号を検知できない状態にある場合に、ユーザによるデバイスの取り外しをせずとも当該デバイスの取り付けに伴う処理を再度行うことを目的とする。
本実施形態に記載の情報処理装置は、ホストとの通信に用いられるデバイスコントローラと、前記デバイスコントローラを制御する制御手段と、を有し、前記デバイスコントローラは、前記ホストからの電力供給に基づき、前記制御手段に第1の割り込み信号を入力し、前記制御手段は、前記第1の割り込み信号の入力に基づき、前記デバイスコントローラの信号線の出力を第1の状態から第2の状態に変化させ、前記デバイスコントローラは、前記ホストが前記第2の状態の検知した後に出力した信号に基づいて、前記制御手段に第2の割り込み信号を入力し、前記制御手段は、前記第2の割り込み信号が入力された後に、前記デバイスコントローラと前記ホストの間の通信速度設定を行う情報処理装置において、前記制御手段は、前記第2の割り込み信号が入力されずに経過した時間に応じて、前記デバイスコントローラの前記信号線の出力を前記第2の状態から前記第1の状態に変化させることを特徴とする。
本願に記載の情報処理装置は、USBデバイスがUSBホストから出力されるリセット信号に伴う割り込み信号を検知できない状態にある場合に、ユーザによるデバイスの取り外しをせずともUSBデバイスの取り付けに伴う処理を再度行うことができる。
本実施形態における、情報処理装置1のハードウェア構成の一例を示す図である。 本実施形態における、USBデバイスコントローラの詳細の一例を示す図である。 本実施形態における、USBホストに情報処理装置1を接続した際の接続処理に関するシーケンス図である。 本実施形態において、USBホストに情報処理装置1を接続した際にUSBデバイスドライバの初期化処理が必要となる場合のシーケンス図である。 本実施形態における、情報処理装置1が実施する処理を示すフローチャートの一例である。
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らない。
図1は、情報処理装置1のハードウェア構成図である。本図を用いて情報処理装置1の構成を説明する。
中央演算処理装置(以下、CPU)101は、情報処理装置1を動作されるためのソフトウェアを動作させる制御部である。システムバス102は、CPU101が他のユニットにアクセスするため及び、他のユニット同士がアクセスするためのデータパスである。eMMC(embedded Multi Media Card)103は、本情報処理装置1のソフトウェアおよび、本情報処理装置1が動作するために必要なデータベース、一時保存ファイルが格納される記憶領域である。図1では、eMMCと記載しているが、HDDやSSDといった他の大容量不揮発メモリでも構わない。RAM(Random Access Memory)104は、情報処理装置1のプログラムが展開され、プログラム動作時の変数や各ユニットからDirect Memory Access(DMA)で転送されるデータの記憶領域である。ネットワークI/F106は、本情報処理装置1とネットワーク上の他の機器と通信を行うためのインタフェースである。ネットワークコントローラ105は、CPU101の制御に基づき、ネットワークI/F106を制御するコントローラである。
USBホストI/F108は情報処理装置1にUSBデバイスを接続するためのインタフェースである。USBホストコントローラ107は、CPU101により制御され、USBホストI/F108を介した情報処理装置1とUSBデバイスの通信を制御するコントローラである。図1では、USBホストI/F108は1つのみの記載であるが、実際には複数存在あってもよい。
USBデバイスI/F110は、情報処理装置1がUSBデバイスとしてUSBホストとなるデバイスに接続するためのインタフェースである。USBデバイスコントローラ109とUSBホストはVBUS線、GND線、D+線、D−線で接続される。VBUS線はUSBホストが情報処理装置に電力を供給するための線である。GND線は接地される線である。D+線、D−線はデータ転送に用いられる信号線であり、USB規格においては、この2本の線を差動動作させることでデータ転送をする。USBデバイスコントローラ109は、CPU101の制御に基づき、USBデバイスI/F110とUSBホスト間の通信を制御する。USBホストとUSBデバイスコントローラ109は複数の信号線を差動動作させることでデータ転送を行う。本実施形態においては、外部のPC等の装置をUSBホストとし、情報処理装置1がUSBデバイスとして動作する場合を例に説明する。
ディスプレイ112は、情報処理装置1の動作状況をユーザ等が確認できるように表示する表示部であり、ディスプレイコントローラ111は、ディスプレイ112への表示制御を行う。入力部114はキーボードやマウス、10キー、カーソルキー、タッチパネルや、操作部キーボード等、情報処理装置1へのユーザからの指示を受け付けるハードウェアである。入力部コントローラ113はCPU101からの制御に基づき、入力部114を制御する。入力部114がタッチパネルである場合、タッチパネルがディスプレイ112の表面に重ねて設置される。
リアルタイムクロック(以下、RTC)115は、情報処理装置1の時計機能、アラーム機能、タイマ機能等に用いられる時刻計時を行うハードウェアである。
スキャナ117は、原稿台に載置された原稿上の画像を読み取り画像データを生成する読取部である。スキャナ117は、スキャナI/F116を介してシステムバス102と接続される。プリンタ119は用紙に画像を形成する画像形成部である。プリンタ119はプリンタI/F118を介してシステムバス102に接続される。情報処理装置1がUSBデバイスとして動作する場合、USBホストから入力された画像データに基づきプリンタ119が画像を印刷したり、スキャナ117により生成された画像データをUSBホストに出力したりする。
また、SATA I/F120を介して接続されるHDD121は画像データ等の容量が大きいデータを保存するために使用される。
図2は、情報処理装置1に搭載されているUSBデバイスI/F110とUSBデバイスコントローラ109の詳細を示す図である。
制御部201は、CPU101がシステムバス102を介して制御する領域である。PHY部202はUSBホスト205からUSBデバイスI/F110を介して入力される電気信号を受信し、デジタルデータに変換して制御部201にわたす。リセットモジュール203は、USBデバイスコントローラ109の制御部201、PHY部202、設定レジスタ207をリセットするためのリセット部である。設定レジスタ207は、情報処理装置1がUSBデバイスとして動作し、USBホストと通信するために必要な設定情報が記憶する記憶部である。設定レジスタ207には、End Pointに関する設定値と、Phy振幅調整、バースト長設定、DMA設定、通信可能速度設定等が記憶される。End Pointとしての設定値とは、例えば当該End Pointがデータの入力に用いられるのか、出力に用いられるのかといったEnd Pointの種類を表す値や、1度の転送で当該End Pointに入力することのできるデータサイズ等である。
CPU101上で動作するUSBデバイスドライバがUSBホスト205との通信や、USBデバイスコントローラ109に対する設定、制御部201に対して書き込みや読み込み命令をすることで処理が実行される。
USBデバイスコントローラ109をリセットする場合、CPU101がシステムバス102を介してコントロールレジスタ204が持つリセット命令を示すビットへ書き込みを行う。コントロールレジスタ204は、USBデバイスコントローラ109の外部に存在し、USBデバイスコントローラ109にリセット信号を送信して、USBデバイスコントローラ109のリセット処理の開始を指示する。コントロールレジスタ204は、リセット命令を示すビットへの書き込みがなされたことに従って、リセットモジュール203に対してリセット信号を出力する。リセットモジュール203は、コントロールレジスタ204からのリセット信号に基づいて、USBデバイスコントローラ109全体のリセットを実行する。USBデバイスコントローラ109全体のリセットとは、設定レジスタ207の設定値をクリアしたり、制御部201のバッファのデータをクリアしたりする処理である。本実施例においては、リセットモジュール203を有することにより、USBデバイスコントローラ109が正常に動作しなくなった場合でも、USBデバイスコントローラ109の制御部201、PHY202、設定レジスタ207をリセットすることができる。
USBデバイスコントローラ109は割り込みライン206を通してCPU101に対して割り込み信号を送信することができる。
図3は情報処理装置1がUSBデバイスI/F110を介してUSBホスト205に接続された時の通信経路の設定処理を示すシーケンス図である。USBデバイスドライバはCPU101上で実行されている。USBホスト205と情報処理装置1はUSB規格に則って接続処理を実行する。
USBケーブルが接続されると、USBデバイスコントローラ109のVBUS線とUSBホスト205のVBUS線が結線される(S301)。USBデバイスコントローラ109は、VBUS線への電力供給を検知するとCPU101に対してVBUS線への電力供給の検知に伴う割り込み信号を出力する(S302)。USBデバイスコントローラ109は、CPU101に通知する割り込み信号の種類を示すためのレジスタを有している。割り込み信号の種類とは、たとえば、VBUS線への電力供給の検知に伴う割り込みや、USBホスト205からのリセット信号の検知に伴う割り込み、通信速度が決定されたことに伴う割り込み等である。USBデバイスコントローラ109は、割り込み信号を通知する前に通知する割り込み信号に対応する上記のレジスタを設定する。割り込み信号が通知されたCPU101は、上記のレジスタを参照することで割り込み信号が通知された契機を検知する。
CPU101は、VBUS検知に伴う割り込み信号が入力されたことに基づいて、USBデバイスコントローラ109を制御して差動信号線の一方であるD+線をPull Upさせる(S303)。S303の処理により、D+線はHighを出力し、D−線がLowを出力する状態となる。
USBデバイスのD+線,D−線とUSBホストのD+線,D−線が結線されると、USBホスト205のD+線がPull Upされる(S304)。
USBホスト205はD+線の電圧がHighになっていることを検知する(S305)。USBホスト205はD+線の電圧がHighになったことを検知することで、USBデバイスが接続されたことを認識する。USBホスト205はD+線がHighになったことを検知した後、USBデバイスに対してバスリセット信号を送信する(S306)。S306において、USBホスト205はD+線、D−線の出力をともにLowにする。これにより、D+線、D−線の出力がともにLowの状態となる。
USBデバイスコントローラ109はバスリセット信号を受信し、CPU101に対してバスリセット受信に伴う割り込み信号を出力する(S307)。S307において、USBデバイスコントローラ109は、D+線、D−線がともにLowになったことを検知し、CPU101に割り込み信号を出力する。
CPU101は、バスリセット受信に伴う割り込み信号を受信し、End Point初期化処理を実行する(S308)。End Point初期化処理とは、USBデバイスコントローラ109の制御部201が持つバッファをクリアする処理や設定レジスタ207時内のEnd Pointに関する設定値をクリアする処理である。
End Pointの初期化処理後、USBホスト205とUSBデバイスコントローラ109は通信速度を決めるためのスピードエニュメレーションを実行する(S309)。S309における、スピードエニュミレーションはチャ―プ信号を用いたチャ―プハンドシェイクにより行われる処理であり、USBホスト205と情報処理装置1間での通信速度の設定を行うものである。
スピードエニュメレーションが完了するとUSBデバイスコントローラ109はCPU101に対して速度確立に伴う割り込み信号を出力する(S310)。割り込みを受けたCPU101は次のホストからの通信に備えてEnd Point設定を行う(S311)。End Point設定とは、CPU101はそれぞれのEnd PointのタイプやMAXパケットサイズ、バッファサイズの設定等を設定レジスタ207に設定する処理である。
USBデバイスコントローラ109は、End Pointの設定後、USBホスト205にバスリセットが完了を通知する(S312)。S312の後、USBデバイスコントローラ109を介してUSBホストとCPU101の間でConfiguration通信が実行される(S313)。S313に記載のConfiguration通信が完了した後、USBホスト205は信号線D+線、D−線を差動動作させ、データ転送を開始する。
図3に記載のシーケンスにおいて、USBホストとUSBデバイスの接続時に電気的なノイズが発生すると、USBデバイスコントローラ109がS306において出力されたバスリセット信号を検知できなくなってしまう。その結果、USBデバイスコントローラ109がバスリセット信号の受信に伴う割り込みをCPU101に対して行わず、USBホストとUSBデバイス間で通信速度を設定するための処理が開始されない。従来、USBデバイスコントローラがUSBデバイスドライバに対して、バスリセット受信に伴う割り込み信号を出力しない場合、ユーザがUSBデバイスを一度取り外し、再度取り付けUSBホストとUSBデバイスの接続処理を始めからやり直す必要があった。
そこで、本実施形態では、USBデバイスがD+線をPull Upしてから所定時間が経過してもバスリセット受信に伴う割り込み信号が検知されない場合に、USBデバイスドライバをリセットしてUSBホストとUSBデバイス間の接続処理を再度行う。これにより、ユーザがUSBデバイスの再度取り付けを行わなくてもUSBホストとUSBデバイス間での接続処理を再実行することができるようになる。
ここで、図4のシーケンス図をもちいて、USBデバイスコントローラ109がバスリセット信号に伴う割り込み信号をCPU101に出力しなかった場合のシーケンスを説明する。図3と同様の処理については同様の符号を付与し、図3と異なる点のみを説明する。
CPU101は、VBUS接続に伴う割り込みを検知してから所定時間が経過したことによるタイムアウトを受信する(S500)。VBUS接続に伴う割り込みを検知してからの経過時間についてはRTC115を用いて計測する。また、ここではCPU101がVBUS接続に伴う割り込みを検知してからの経過時間を例に説明するが、CPU101がD+線をPull Upしてからの経過時間を計測するとしてもよい。
CPU101は、タイムアウト通知に基づき、USBデバイスコントローラ109のソフトウェアリセットを実行する(S501)。CPU101はコントロールレジスタ204を書き換えUSBデバイスコントローラ109のソフトウェアリセット処理を開始させる。ソフトウェアリセット処理において、Pull UpされていたD+線がPull Downされる。これにより、D+線、D−線の出力がともにLowの状態となる。さらに、S501のソフトウェアリセット処理において、設定レジスタ207に記憶された設定値がクリアされる。ここでは、設定レジスタ207に記憶されたEnd Pointに関する設定値だけでなく、Phy振幅調整、バースト長設定、DMA設定、通信可能速度設定等をクリアする。
USBホスト205はD+線がPull Downされたことを検知し、USBデバイスの取り外されたとして、USBデバイスの切断を認識する(S502)。
CPU101はS501でUSBデバイスコントローラ109にソフトウェアリセットを指示してから所定時間が経過したことに基づき、USBデバイスコントローラ109の初期化処理を実行する(S503)。初期化処理において、CPU101は設定レジスタに対して、Phy振幅調整、バースト長設定、DMA設定、通信可能速度設定等の設定を書き込む。
CPU101はUSBデバイスコントローラの初期設定が完了したことに基づき、D+線のPull Upを指示する(S511)。USBデバイスコントローラ109がD+線のPull Upを検知して以降の処理は、図3と同様である。
上記のように、本実施形態では、USBデバイスコントローラがUSBホストからのバスリセット信号の受信に基づく、CPU101へのリセット信号の出力を行わなかった場合に、USBデバイスコントローラを初期化し、接続処理を再度実行する。このようにすることで、USBホストとUSBデバイスが通信を開始するための処理を開始しない場合であっても、自動で上記処理の再実行に必要な処理を行うことができる。
図5は、本実施形態における情報処理装置1の実行する処理を示すフローチャートである。図5に記載の処理を実行するためのプログラムはeMMC103等に記憶されており、CPU101が当該プログラムをRAM104に展開し実行することで処理が実現される。なお、図5に示すフローチャートに記載の処理は、情報処理装置1の電源がオンされたときに実行される。
CPU101は、コントロールレジスタ204を設定し、USBデバイスコントローラ109のソフトウェアリセットを実行する(S400)。CPU101はコントロールレジスタ204の値を書き変える。これにより、コントロールレジスタ204からリセットモジュール203に信号が入力され、USBデバイスコントローラ109のリセット処理が開始される。
CPU101は、コントロールレジスタ204を設定し、USBデバイスコントローラ109のリセットを指示した後、所定時間待機する(S401)。S401において所定時間とは、リセットモジュール203がUSBデバイスコントローラ109のリセット処理を完了するまでに必要な時間よりも長い時間であることが望ましい。
CPU101はUSBデバイスコントローラ109のリセット指示後、所定時間が経過した後に、設定レジスタ207を設定する(S402)。S402において、CPU101は設定レジスタ207にPhy振幅調整、バースト長設定、DMA設定、通信可能速度等、USBデバイスコントローラ109がUSBホスト205と通信するために必要な値を設定する。
CPU101は、VBUS接続による割り込みを検知したか否かを判定する(S403)。VBUS接続による割り込みとは、図3のS302に相当する割り込み信号である。CPU101がUSBデバイスコントローラ109からVBUS接続に伴う割り込み信号を受信した場合、CPU101はS404に処理を進める。
CPU101は、USBデバイスコントローラ109へD+線をPull Upさせる指示を出力する(S404)。USBデバイスコントローラ109はCPU101からの当該指示に基づき、D+線の出力をHighにする。これにより、D+線にはHigh、D−線にはLowが出力される。
CPU101はバスリセット信号に伴う割り込み信号を受信したか否かを判定する(S405)。バスリセット信号に伴う割り込み信号とは、図3におけるS307に示す割り込み信号である。USBデバイスコントローラ109は、D+線、D−線がともにLowになったことを検知し、CPU101にバスリセット割り込み信号を出力する。S405においては、CPU101が当該バスリセット割り込み信号を受信したか否かを判定する。
S405において、CPU101がバスリセット信号に伴う割り込み信号を検知した場合、CPU101はUSBデバイスコントローラ109のEnd Pointの初期化処理を実行する(S406)。USBデバイスコントローラ109はEnd Pointが初期化された後、USBホスト205と通信して通信速度設定を行う。
その後、CPU101はスピードエニュメレーションの完了より通信速度が設定されたことに伴う割り込み信号を受信したか否かを判定する(S407)。通信速度の設定に伴う割り込みを受信した場合、CPU101はS408に処理を進める。通信速度の設定に伴う割り込みを受信していない場合、CPU101は再度S407に記載の処理を実行する。
通信速度設定による割り込み信号を受信した後、CPU101はUSBデバイスコントローラ109のEnd Pointを設定する(S408)。そして、CPU101はUSBホスト205とのConfigration通信を実行する(S409)。図5に記載の処理が完了したのち、USBデバイスコントローラ109とUSBホスト205は信号線であるD+線、D−線を差動動作させ、データ転送を行う。
S405においてUSBデバイスコントローラがバスリセット信号を受信したことに伴う割り込み信号を受信していない場合、CPU101はVBUS検知に伴う割り込み信号の受信から所定の時間が経過したか否かを判定する(S410)。VBUS検知に伴う割り込み信号の受信から所定の時間が経過していない場合、CPU101はS405に処理を戻す。VBUS検知に伴う割り込み信号の受信から所定の時間が経過した場合、CPU101はコントロールレジスタ204を設定し、USBデバイスコントローラ109のリセット処理を実行する(S411)。VBUS検知に伴う割り込み信号の受信から所定時間が経過してもバスリセット信号の検知に伴う割り込み信号を受信しない場合とは、USBデバイスコントローラ109がバスリセット信号の検知に伴う割り込みをCPU101に出力しない場合である。
CPU101は、コントロールレジスタ204を設定後、所定時間待機する(S412)。S412における所定時間は、リセットモジュール203がUSBデバイスコントローラ109をリセットするのにかかる時間よりも長い時間であることが望ましい。
CPU101は、設定レジスタ207にUSBデバイスコントローラ109がUSBホスト205と通信するために必要な設定値を設定する(S413)。そして、CPU101は処理をS404に戻し、USBデバイスコントローラ109に対してD+線のPull Upを指示する。以降の処理は上述した通りである。
上記の図4のフローチャートの特に、S410〜S413を行うことによって、USBデバイスコントローラが接続シーケンスの初期段階で異常を発生しても、ユーザの手を煩わせることなく自動的に復旧と再接続処理を実行することができる。
なお、図4ではS410でバスリセット信号に伴う割り込み信号の受信が所定時間されなかった場合にUSBデバイスコントローラ109のリセット処理を実行するとした。S411〜S413に記載の処理を所定回数実行してもUSBデバイスコントローラ109とUSBホスト205の通信が確立されない場合、エラーコードやエラーメッセージを表示し図4に記載の処理を終了するとしてもよい。
本実施形態においては、CPU101がVBUS検知による割り込み信号を受信してから所定時間が経過してもバスリセット信号の検知に伴う割り込み信号を受信しない場合、ユーザによるUSBデバイスの抜き差しなしに接続処理を再実行することができる。
<その他の実施形態>
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (17)

  1. ホストとの通信に用いられるデバイスコントローラと、
    前記デバイスコントローラを制御する制御手段と、を有し、
    前記デバイスコントローラは、前記ホストからの所定の電圧の信号が供給されたことに基づき、前記制御手段に第1の割り込み信号を入力し、
    前記制御手段は、前記第1の割り込み信号の入力に基づき、前記デバイスコントローラの信号線の出力を第1の状態から第2の状態に変化させ、
    前記デバイスコントローラは、前記ホストが前記信号線の出力が前記第2の状態であることを検知して出力した信号に基づいて、前記制御手段に第2の割り込み信号を入力し、
    前記制御手段は、前記第2の割り込み信号が入力された後に、前記デバイスコントローラと前記ホストの間の通信速度設定を行う情報処理装置において、
    前記制御手段は、前記第2の割り込み信号が入力されずに経過した時間に応じて、前記デバイスコントローラの前記信号線の出力を前記第2の状態から前記第1の状態に変化させることを特徴とする情報処理装置。
  2. 前記デバイスコントローラは複数の信号線を有し、前記複数の信号線を差動動作させることにより前記ホストと通信し、
    前記第1の状態において、前記複数の信号線のうち一つの信号線はLowを出力し、
    前記第2の状態において、前記複数の信号線のうち前記一つの信号線はHighを出力することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の状態において、前記複数の信号線のうち他の信号線はLowを出力し、
    前記第2の状態において、前記複数の信号線のうち前記他の信号線はLowを出力することを特徴とする請求項2に記載の情報処理装置。
  4. 前記デバイスコントローラは、前記制御手段から出力されたリセット指示に従って、前記デバイスコントローラの前記信号線の状態を前記第2の状態から前記第1の状態に変化させるリセット手段を有し、
    前記制御手段は、前記第2の割り込み信号が入力されずに経過した時間に応じて、前記リセット手段への前記リセット指示を出力することを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 前記制御手段は、前記信号線の出力を第2の状態から前記第1の状態に変化させた後、前記第1の割り込み信号が入力されることなく、前記信号線の出力を前記第1の状態から前記第2の状態に変化させることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記デバイスコントローラは、前記ホストと通信するための設定値を記憶し、
    前記制御手段は、前記信号線の出力を前記第2の状態から前記第1の状態に変化させ、かつ、前記デバイスコントローラに記憶された前記設定値をクリアさせることを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 原稿上の画像を読み取り、画像データを生成する読取手段をさらに有し、
    前記デバイスコントローラは、前記読取手段により生成された画像データを前記ホストに送信することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 用紙に画像を形成する画像形成手段をさらに有し、
    前記画像形成手段は、前記ホストから送信された画像データに基づき前記用紙に画像を形成することを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 前記ホストと前記デバイスコントローラはUSB規格に基づき通信することを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
  10. 前記通信速度設定は、チャ―プハンドシェイクによる通信速度の設定であることを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。
  11. 前記制御手段は、前記信号線の出力を前記第1の状態から前記第2の状態に変えてから前記第2の割り込み信号が入力されずに経過した時間に応じて、前記デバイスコントローラの前記信号線の出力を前記第2の状態から前記第1の状態に変化させることを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置。
  12. 前記制御手段は、前記第1の割り込み信号を検知してから前記第2の割り込み信号が入力されずに経過した時間に応じて、前記デバイスコントローラの前記信号線の出力を前記第2の状態から前記第1の状態に変化させることを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置。
  13. 前記デバイスコントローラは、
    前記ホストからの電気信号を受信し、当該電気信号をデジタルデータに変換するPhyと、
    前記コントローラからの信号を受信し、前記Phyを制御する制御部と、
    前記ホストと通信するための設定値を記憶する記憶部と、
    を有し、
    前記リセット手段は、前記Phyと前記制御部と前記記憶部の少なくとも一つをリセットすることを特徴とする請求項4に記載の情報処理装置。
  14. 前記制御手段は、前記第2の信号を受信していない経過時間に応じて、前記リセット手段に前記Phy、前記制御部、前記記憶部の少なくとも一つをリセットさせることを特徴とする請求項13に記載の情報処理装置。
  15. 前記記憶部には、前記デバイスコントローラが前記ホストと通信するために必要な設定が記憶されることを特徴とする請求項13または14に記載の情報処理装置。
  16. ホストとの通信に用いられるデバイスコントローラと、
    前記デバイスコントローラを制御する制御手段と、を有し、
    前記ホストからの電力供給に基づき、前記デバイスコントローラが前記制御手段に第1の割り込み信号を入力する第1の入力工程と、
    前記第1の割り込み信号の入力に基づき、前記制御手段が前記デバイスコントローラの信号線の出力を第1の状態から第2の状態に変化させる第1の制御工程と、
    前記第1の制御工程における制御に基づき、前記信号線を前記第1の状態から前記第2の状態にする第2の制御工程と、
    前記ホストが前記第2の状態を検知した後に、前記デバイスコントローラが出力した信号に基づいて、前記制御手段に第2の割り込み信号を入力する第2の入力工程と、
    前記制御手段は、前記第2の割り込み信号が入力されると、前記デバイスコントローラと前記ホストの間の通信速度設定を行う設定工程と、を有する情報処理装置の制御方法において、
    前記第2の割り込み信号が入力されずに経過した時間に応じて、前記制御手段が前記デバイスコントローラの前記信号線の出力を前記第2の状態から前記第1の状態に変化させる第3の制御工程を有することを特徴とする情報処理装置の制御方法。
  17. 請求項16に記載の情報処理装置の制御方法をコンピュータに実行させるためのコンピュータプログラム。
JP2019068844A 2019-03-29 2019-03-29 情報処理装置と情報処理装置の制御方法、ならびにプログラム Pending JP2020166752A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019068844A JP2020166752A (ja) 2019-03-29 2019-03-29 情報処理装置と情報処理装置の制御方法、ならびにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019068844A JP2020166752A (ja) 2019-03-29 2019-03-29 情報処理装置と情報処理装置の制御方法、ならびにプログラム

Publications (1)

Publication Number Publication Date
JP2020166752A true JP2020166752A (ja) 2020-10-08

Family

ID=72714908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019068844A Pending JP2020166752A (ja) 2019-03-29 2019-03-29 情報処理装置と情報処理装置の制御方法、ならびにプログラム

Country Status (1)

Country Link
JP (1) JP2020166752A (ja)

Similar Documents

Publication Publication Date Title
JP2018116648A (ja) 情報処理装置、その制御方法、及びプログラム
KR102320386B1 (ko) 화상 형성 장치 및 화상 형성 장치의 전력 제어 방법
JP2016041470A (ja) 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム
TW386215B (en) Emulation system and information processor
JP4198167B2 (ja) アダプタ装置、データ伝送システム
JP2020166752A (ja) 情報処理装置と情報処理装置の制御方法、ならびにプログラム
CN107066072B (zh) 电子装置及其控制方法
JP7374622B2 (ja) 情報処理装置
US20090033959A1 (en) Image forming apparatus and storage medium control method thereof
JP2020016927A (ja) 情報処理装置、および、情報処理装置の制御方法とプログラム
JP6758995B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
CN108234804B9 (zh) 打印装置及其控制方法
JP2019200660A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2019101972A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2022039044A (ja) 情報処理装置および情報処理装置の制御方法
TWI755068B (zh) 具有系統作業能力的資料儲存裝置
JP6415633B2 (ja) 情報処理装置及びその制御方法
JP2008027447A (ja) Usb記憶装置及びその媒体タイプの切り替え方法
JP2008204005A (ja) 周辺装置の通信方法、コンピュータプログラム、及び周辺装置
JP2024058152A (ja) 情報処理装置および情報処理装置の制御方法
JP2023103764A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JPH10124265A (ja) 印刷装置
JP6213029B2 (ja) 通信装置、及び通信システム
CN116189754A (zh) 固态硬盘测试验证方法、装置、计算机设备及存储介质
JP5162496B2 (ja) プログラマブル表示装置および通信設定方法