(57)【要約】【課題】  デバイスの電源投入を知って直ちにホストがバスリセット信号を発行した場合でもバスリセット解除直後から確実に通信ができる、デバイスのためのＵＳＢインタフェースを提供する。【解決手段】  ＵＳＢコントローラ１は、デバイスの電源投入をホストに知らせるための信号線Ｄ＋のプルアップを、スイッチング素子Ｑ１を介して制御できるようになっている。デバイスの電源が投入されると、デバイスのＣＰＵ３は、自身の初期化及びＵＳＢコントローラ１の初期化を行う。この初期化の間、ＵＳＢコントローラ１はスイッチング素子Ｑ１を初期状態のオフに維持して、ホストに対して擬似的な電源オフ状態を作っている。そして、ＵＳＢコントローラ１の初期化が完了すると、ＵＳＢコントローラ１はスイッチング素子Ｑ１をターンオンして信号線Ｄ＋のプルアップする。【選択図】      図１
2004355656.tif 000002
【特許請求の範囲】
【請求項１】
デバイスに搭載され、ホストに対するＵＳＢインタフェースを提供するＵＳＢコントローラにおいて、
前記デバイスの電源がオンであるかオフであるかを前記ホストに知らせるための電源状態を示す信号線と、
前記デバイスの電源投入からＵＳＢコントローラの初期化が完了するまでの初期化期間中、前記信号線の電源状態を電源オフ状態にし、前記初期化期間後に前記電源状態を電源オン状態に移行させる状態制御回路と、
を備えたＵＳＢコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストと周辺のデバイスとの間の通信インタフェースの一つであるＵＳＢ(Universal Serial Bus：ユニバーサルシリアルバス)インタフェースを提供するＵＳＢコントローラに関する。
【背景技術】
【０００２】
デバイスに搭載されるＵＳＢインタフェースは、ホストと双方向通信を行うための2本の信号線を有している。この信号線の一方はデバイス側おいてデバイスの電源ラインにプルアップ抵抗を介して接続されており、ケーブルで接続された状態で電源投入されると、デバイスの電源投入と同時にプルアップされる。これによりホスト側はデバイスの電源投入を知る。デバイスの電源投入の後、ホスト又はＵＳＢハブは通信に先立ってバスリセット信号を発行する。デバイスのＵＳＢインタフェースは、バスリセット信号を受けると、以後通信が正常に行えるようデフォルト状態になる必要がある。その際、ＵＳＢインタフェースを提供するＵＳＢコントローラは、ＵＳＢインタフェースの動作を安定に行うために初期化を行う必要がある。そこで、従来のＵＳＢインタフェースは、バスリセット信号が入ってからそれが解除されるまでの期間（バスリセット期間）に初期化を行なっている。バスリセット期間は１０ｍsec程度である。
【０００３】
【特許文献１】特開平7-219692
【発明の開示】
【発明が解決しようとする課題】
【０００４】
デバイスが正常に通信を行えるようになるためには、上述したＵＳＢコントローラの初期化だけでなく、それ以前にデバイス自体のＣＰＵやレジスタやメモリ等の初期化なども完了させておく必要があり、それにはバスリセット期間以上の相当の時間がかかる。ところが、ホスト側からは、デバイスの電源投入を知ると直ちにバスリセット信号を発行し、それに間髪を入れずに通信データを送り出してくる可能性がある。このような場合、デバイスでは、バスリセット期間だけでは全ての初期化が完了できず、よって、通信データが正常に受信できないという不具合が生じる。
【０００５】
従って、本発明の目的は、デバイスの電源投入を知って直ちにホストがバスリセット信号を発行した場合でも、バスリセット解除直後から確実に通信ができる、デバイスのＵＳＢインタフェースを提供することにある。
【課題を解決するための手段】
【０００６】
本発明のＵＳＢコントローラは、ホストに電源オン、オフを知らせる信号線を制御して、デバイスの電源投入からＵＳＢコントローラの初期化が完了するまでの初期化期間中、ホストに対する擬似的な電源オフ状態を作り、初期化期間後に信号線を電源オン状態に移行させる。典型的には、前述のようにデバイスの電源で信号線がプルアップされると電源投入をホストに知らせることになるので、電源が投入されても初期化が終わるまで信号線をプルアップせず、初期化後にプルアップするようにする。このような制御を実現するため、後述する実施形態では、デバイスの電源ラインと信号線とを、トランジスタなどのスイッチング素子で接続し、初期化期間中はスイッチング素子をオフ状態に維持し、初期化後にスイッチング素子をターンオンして信号線をプルアップする。或いは、デバイスの電源ラインと信号線との間に初期化期間相当の遅延時間をもった遅延回路を介在させることにより、プルアップの開始を初期化完了時点後または完了時点近くまで遅延させるようにしてもよい。
【０００７】
本発明によれば、デバイスの電源投入後ＵＳＢコントローラの初期化が終了してから、ホスト側がデバイスの電源投入を知るので、ホスト側が電源投入を知って直ちにバスリセット信号を発行して通信を開始しても、ＵＳＢコントローラは確実にその通信を行うことができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を詳細に説明する。
【０００９】
図１は、本発明の一実施形態にかかるデバイスの全体ブロック図である。
【００１０】
図１に示すように、デバイスは、外部のホスト（図示せず）に対してＵＳＢインタフェースを提供するＵＳＢコントローラ１と、このデバイスのファンクションを実現する装置、典型的にはＣＰＵ３を有している。ＵＳＢコントローラ１とＣＰＵ３とはバスで接続され、アドレス信号、データ、割り込み信号などのやり取りが行なえる。デバイスの電源投入時には、デバイスで発生するシステムリセット信号がＣＰＵ３及びＵＳＢコントローラ１に入る。
【００１１】
ＵＳＢコントローラ１は前記ホストと双方向通信を行うための２本の信号線Ｄ＋、Ｄ−を有しており、これら信号線Ｄ＋、Ｄ−は抵抗Ｒ１、Ｒ３をそれぞれ通して、ホスト又はＵＳＢハブなどからのＵＳＢケーブル（何れも図示せず）と結合するためのコネクタ５に接続されている。２本の信号線Ｄ＋、Ｄ−は、通信データの伝送路としての役割だけでなく、デバイスの種類や電源状態をホスト側に知らせる役割ももっている。すなわち、信号線Ｄ＋は、デバイス側でその電位がハイレベルにプルアップされると、デバイスは高速デバイスであって、そのデバイスの電源が投入されていることをホスト側へ通知することになる。もう一方の信号線Ｄ−は、これがデバイス側でハイレベルにプルアップされると、そのデバイスは低速デバイスであり、その電源が投入されていることをホスト側へ知らせることになる。
【００１２】
本実施形態は、デバイスが高速デバイスである場合を例示しており、信号線Ｄ＋がプルアップ抵抗Ｒ５及びスイッチング素子、例えばＰＮＰトランジスタＱ１のコレクタ−エミッタパス、を通じてデバイスの電源ライン（直流プラスライン）に接続されている。また、ＰＮＰトランジスタＱ１のベースは、ベース抵抗Ｒ７を通してＵＳＢコントローラ１の制御端子LEDOUTに接続されている。従って、デバイスの電源が投入されただけでは信号線Ｄ＋はプルアップされず、その後ＵＳＢコントローラ１が制御端子LEDOUTからＰＮＰトランジスタＱ１をターンオンして初めて、信号線Ｄ＋がプルアップされホスト側にデバイスの電源投入が通知されるようになっている。なお、デバイスが低速デバイスである場合は、信号線Ｄ−に対して同様のプルアップ回路が結合される。両方の信号線Ｄ＋、Ｄ−に同様にプルアップ回路を設け、いずれか一方がデバイスの種類に応じて選択できるようになっていてもよい。
【００１３】
以下、上記構成の下でのデバイス電源投入後の動作を図２のフローチャートに従って説明する。
【００１４】
デバイスの電源が投入されると、デバイスのシステムリセット信号がＣＰＵ３及びＵＳＢコントローラ１に入力される。システムリセット信号が解除された時点（Ｓ１）から、まずＣＰＵ３が初期化（Ｓ２）を開始する。このシステムリセット解除時点では、ＵＳＢコントローラ１においては、トランジスタＱ１はＯＦＦ状態であり、割り込み機能はマスクされて割り込みディゼーブル状態であり、また、ハードウェア自動処理機能ＣＰＵ３に処理を任せた場合、ＵＳＢインタフェースとして時間的に間に合わない一部の処理を、ＵＳＢコントローラ１内のハードウェアが自動的に処理する機能もこの時点ではディセーブル状態である。
【００１５】
ＣＰＵ３は、自身の初期化を終了すると、ＵＳＢコントローラ１の初期化（Ｓ３）を開始する。このＵＳＢコントローラ１の初期化では、ＣＰＵ３は、ＵＳＢコントローラ１内に記録されている割り込みのゴミを消して割り込み機能を初期化し、ＵＳＢコントローラ１のモード設定を行ってハードウエア自動処理機能をイネーブルにする。
【００１６】
その後、ＣＰＵ３は割り込み設定を行う（Ｓ４）。すなわち、ＣＰＵ３の割り込み受信をイネーブルにし、ＵＳＢコントローラ１の割り込み機能をイネーブルにする（Ｓ４）。以上でＵＳＢコントローラ１の初期化が完了する。すると、ＵＳＢコントローラ１は、制御端子LEDOUTを介してトランジスタＱ１がターンオンして、ホストに対して電源投入を知らせる（Ｓ５）。
【００１７】
以上ように、デバイスの電源が投入されても、ＵＳＢコントローラ１の初期化が完了するまでは、信号線Ｄ＋、Ｄ−をローレベルに保持して、ホスト側に対して擬似的な電源オフ状態を作っておく。そして、ＵＳＢコントローラ１の初期化が完了したときに初めて、ホスト側に電源投入を知らせる。電源投入を知って、ホストが直ちにバスリセット信号を発行し通信を開始しても、デバイス側は既に通信準備が整っているから正常に通信を行うことができる。
【００１８】
以上説明した実施の形態は、あくまで本発明の説明のための例示であり、本発明の技術的範囲を上記実施形態にのみ限定する趣旨ではない。本発明はその趣旨を逸脱することなく、上述の具体的な構成以外の様々な形態でも実施することが出来る。例えば、信号線のプルアップ回路の具体構成は上記実施例のようである必要はなく、要するに初期化終了時点近くまでプルアップを遅延させ得るものであるならば、例えば初期化に要する時間分の遅延時間をもった遅延回路や、その他の構成であっても構わない。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態の全体構成を示すブロック図。
【図２】本発明の一実施形態の電源投入後の動作を表すフローチャート。
【符号の説明】
【００２０】
１  ＵＳＢコントローラ
３  ＣＰＵ
５  コネクタ
Ｑ１  トランジスタ（スイッチング素子）
Ｒ１，Ｒ３，Ｒ５，Ｒ７  抵抗
【図１】
2004355656.tif 000003
【図２】
2004355656.tif 000004