(57)【特許請求の範囲】
【請求項１】
シングルエンド信号と差動信号とを伝送する外部の第１伝送経路を介して信号が入力される第１入力端子と、
差動信号を伝送する外部の第２伝送経路を介して信号が入力される第２入力端子と、
前記第１入力端子と線路で接続され、前記第１入力端子から入力された信号が並列して供給されるシングルエンド信号レシーバと差動信号レシーバと、
前記第２入力端子と線路で接続され、前記第２入力端子から差動信号が入力されてきたことを検知する検知回路と、
前記検知回路によって、前記第２入力端子から入力される差動信号が検知されると、前記差動信号レシーバにイネーブル信号の継続的な出力を開始するコントローラとを備え、
前記検知回路は、前記差動信号レシーバが停止状態であるときに前記差動信号の入力を検知すると、前記差動信号レシーバを起動し、
前記差動信号レシーバは、前記イネーブル信号を入力されている間は、起動されている状態を継続する
ことを特徴とするインターフェース回路。
【請求項２】
前記差動信号レシーバは、起動されている場合において差動クロック信号を入力されると、当該差動クロック信号と同じ周波数のシングルエンド信号であるクロック信号を生成して出力し、
前記差動信号レシーバから出力される第１クロック信号が入力されると、当該第１クロック信号の周波数より高い周波数の第２クロック信号を生成して出力するクロック変換回路と、
前記第２入力端子と線路で接続され、前記第２入力端子から入力された信号を受ける差動データ信号レシーバと、
停止状態でないときに外部の第３伝送経路に前記第２クロック信号に同期する差動信号を出力する差動信号ドライバとを備え、
前記検知回路は、前記差動データ信号レシーバが停止状態であるときに前記差動信号の入力を検知すると、前記差動データ信号レシーバを起動し、前記差動データ信号レシーバが起動されている状態であるときに前記差動信号の入力を検知しなくなると、前記差動データ信号レシーバを停止し、
前記差動信号ドライバは、停止状態において出力がハイインピーダンス状態となる
ことを特徴とする請求項１記載のインターフェース回路。
【請求項３】
前記差動信号ドライバが停止状態である場合における前記第３伝送経路の電位をグラウンド電位に維持するための状態維持回路を備え、
前記検知回路は、前記差動信号の検知を、前記第２入力端子から入力されてきた信号の振幅が所定の電位以上となる場合に行う
ことを特徴とする請求項２記載のインターフェース回路。
【請求項４】
前記差動信号ドライバが停止状態である場合における前記第３伝送経路の電位をグラウンド電位よりも高い第１の所定電位に維持するための状態維持回路を備え、
前記検知回路は、前記差動信号の検知を、前記第２入力端子から入力されてきた信号の電位が、グラウンド電位よりも高く、前記第１の所定電位よりも低い第２の所定電位以下となる場合に行う
ことを特徴とする請求項２記載のインターフェース回路。
【請求項５】
外部のホスト側インターフェース回路と通信を行うインターフェース回路であって、
前記ホスト側インターフェース回路は、
差動クロック信号を前記第１伝送経路に出力するホスト側差動クロック信号ドライバと、
差動信号を前記第２伝送経路に出力するホスト側差動データ信号ドライバと、
前記第３伝送経路に伝送されている差動信号を受信するホスト側差動データ信号レシーバと、
前記ホスト側差動データ信号ドライバに第１の所定の差動信号からなる待機信号を出力させるホスト側コントローラとを備え、
前記ホスト側コントローラは、前記ホスト側差動クロック信号ドライバが差動クロック信号を出力している場合において、前記ホスト側差動データ信号ドライバに前記待機信号を出力させるときに、前記ホスト側差動データ信号レシーバが、第２の所定の差動信号からなる、前記待機信号に対する返信信号を受信すると、前記ホスト側差動データ信号レシーバが前記返信信号を受信してから所定時間経過後に、前記ホスト側差動クロック信号ドライバに差動クロック信号の出力を停止させる
ことを特徴とする請求項３記載のインターフェース回路。
【請求項６】
前記コントローラは、前記イネーブル信号を出力している場合において、起動されている状態の前記差動データ信号レシーバに前記待機信号が入力されるときに、前記検知回路が前記差動信号の入力を検知しなくなると、前記差動信号ドライバに前記返信信号を出力させ、前記差動信号ドライバに前記返信信号を出力させてから前記所定時間以内に、前記イネーブル信号の出力を停止する
ことを特徴とする請求項５記載のインターフェース回路。
【請求項７】
シングルエンド信号と差動信号とを伝送する第１伝送経路と、
差動信号を伝送する第２伝送経路と、
前記第１伝送経路に差動信号を出力する差動信号ドライバと、
前記第１伝送経路にシングルエンド信号を出力するシングルエンド信号ドライバと、
前記第２伝送経路に差動信号を出力する差動データ信号ドライバと、
前記第１伝送経路に伝送されている信号を並列に供給されるシングルエンド信号レシーバと差動信号レシーバと、
前記第２伝送経路に差動信号が伝送されてきたことを検知する検知回路と、
前記検知回路によって、前記第２伝送経路に伝送される差動信号が検知されると、前記差動信号レシーバにイネーブル信号の継続的な出力を開始するコントローラとを備え、
前記検知回路は、前記差動信号レシーバが停止状態であるときに前記差動信号の伝送を検知すると、前記差動信号レシーバを起動し、
前記差動信号レシーバは、前記イネーブル信号を入力されている間は、起動されている状態を継続する
ことを特徴とするインターフェースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、差動信号を処理するインターフェース回路に関する。
【背景技術】
【０００２】
メモリカード等のデバイスと、パーソナルコンピュータ等のホストとの間の通信方式には、シングルエンド信号を用いて通信を行う方式（以下、「シングルエンド方式」と呼ぶ。）と、差動信号を用いて通信を行う方式（以下、「差動方式」と呼ぶ。）とがある。
シングルエンド方式は、差動方式に比べて、そのインターフェース回路の回路構成が簡素であるという利点があるのに対し、差動方式は、シングルエンド方式に比べて、より速い通信速度での通信を実現することができるという利点がある。
【０００３】
既存のシステムが、デバイスとホストとの間の通信方式としてシングルエンド方式を採用している場合において、デバイスとホストとの間の通信速度をより速くすることが望まれているとき、既存のシステムとの互換性を考慮して、シングルエンド方式と差動方式との双方の通信方式をサポートするシステムを導入することがある。
このようなシステムでは、デバイスとホストとは、シングルエンド方式に対応するインターフェース回路と、差動方式に対応するインターフェース回路との双方を備える。
【０００４】
シングルエンド方式と差動方式との双方の通信方式をサポートするシステムにおいて、信号線の本数を少なくするための技術として、例えば、特許文献１に記載されている技術が知られている。
この技術は、シングルエンド信号を伝送するための信号線と、差動信号を伝送するための信号線とを共用することで、信号線の本数を少なくするというものである。
【０００５】
一方、差動信号を受信する差動信号受信回路は、差動信号を受信することができる起動状態であれば、例え有効な差動信号を受信していなくても、一定量の電力を消費する。
有効な差動信号を受信することのない期間における、差動信号受信回路の消費電力を削減するための技術として、例えば、特許文献２に記載されている技術が知られている。
この技術は、ホストが、差動信号を送信するための信号線を利用してデバイス側の差動信号受信回路の起動状態を制御するというものである。
【０００６】
ここでは、ホストが、停止状態のデバイス側の差動信号受信回路を起動状態とするときに、差動信号受信回路を起動状態とする旨の、シングルエンド信号をデバイスへ送信し、起動状態のデバイス側の差動信号受信回路を停止状態とするときに、差動信号受信回路を停止状態とする旨の、差動信号からなるコマンド（以下、「停止コマンド」と呼ぶ。）をデバイスへ送信する。
【０００７】
特許文献２に記載されている技術を用いて、シングルエンド信号の伝送と差動信号の伝送とを共用する信号線に接続される差動信号受信回路の起動状態を制御する場合には、その信号線とは別の、差動信号のみを伝送する信号線を用いて差動信号受信回路の起動状態を制御することで実現できる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−１８３６９１号公報
【特許文献２】特開２００５−２３６９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、ホストとデバイスとが通信する場合に、伝送エラーが発生して、通信信号のビット化けが発生することがある。
特許文献２に記載されている技術を用いるシステムにおいて、ホストから送信される停止コマンド以外のコマンドが伝送エラーの発生によって停止コマンドに化けてしまい、デバイス側の差動信号受信回路が意図しないタイミングで停止状態となることがある。
【００１０】
デバイス側の差動信号受信回路が意図しないタイミングで停止状態となると、ホストとデバイスとが正常な通信を行うことができなくなってしまうことがある。
そこで本発明は、係る問題に鑑みてなされたものであり、通信信号にビット化けが発生してしまう場合であっても、差動信号受信回路が意図しないタイミングで停止状態となってしまう可能性を低く抑えるインターフェース回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明に係るインターフェース回路は、シングルエンド信号と差動信号とを伝送する外部の第１伝送経路を介して信号が入力される第１入力端子と、差動信号を伝送する外部の第２伝送経路を介して信号が入力される第２入力端子と、前記第１入力端子と線路で接続され、前記第１入力端子から入力された信号が並列して供給されるシングルエンド信号レシーバと差動信号レシーバと、前記第２入力端子と線路で接続され、前記第２入力端子から差動信号が入力されてきたことを検知する検知回路と、前記検知回路によって、前記第２入力端子から入力される差動信号が検知されると、前記差動信号レシーバにイネーブル信号の継続的な出力を開始するコントローラとを備え、前記検知回路は、前記差動信号レシーバが停止状態であるときに前記差動信号の入力を検知すると、前記差動信号レシーバを起動し、前記差動信号レシーバは、前記イネーブル信号を入力されている間は、起動されている状態を継続することを特徴とする。
【発明の効果】
【００１２】
上述の構成を備える本発明に係るインターフェース回路によると、差動信号レシーバは、イネーブル信号が入力されている間は、起動されている状態を継続する。
従って、差動信号レシーバは、意図しないタイミングで停止してしまう可能性を低く抑えられるようになる。
【図面の簡単な説明】
【００１３】
【図１】デバイス１００とホスト１５０との回路図
【図２】データ変換回路１２３の回路構成を示すブロック図
【図３】デバイス１００とコネクタ３００との斜視図
【図４】差動信号のタイミングチャート
【図５】デバイス側処理のフローチャート
【図６】ホスト側処理のフローチャート
【図７】デバイス側初期化プロトコル処理のフローチャート
【図８】デバイス側初期化プロトコル処理のタイミングチャート
【図９】ホスト側初期化プロトコル処理のフローチャート
【図１０】ホスト側初期プロトコル化処理において、シングルエンド信号を用いてホスト側初期化プロトコル処理を行う場合のタイミングチャート
【図１１】パケット送信処理のフローチャート
【図１２】パケット送信処理のタイミングチャート
【図１３】ホスト側待機モード遷移処理のフローチャート
【図１４】デバイス側待機モード遷移処理のフローチャート
【図１５】デバイス９００とホスト９５０との回路図
【図１６】変形例における差動信号のタイミングチャート
【図１７】検知回路１７００の回路構成を示すブロック図
【図１８】インターフェース回路１８００の回路図
【発明を実施するための形態】
【００１４】
＜実施の形態＞
＜概要＞
以下、本発明に係るインターフェース回路の一実施形態として、通信方式としてシングルエンド方式と差動方式との双方をサポートするインターフェース回路が搭載されたメモリカード等のデバイスと、パーソナルコンピュータ等のホストとからなるシステムについて説明する。
【００１５】
このシステムで利用されるインターフェース回路は、差動信号の入力端子対のうちの１対が、シングルエンド信号を入出力されるための端子を兼用している。
また、この兼用端子対から入力される差動信号を受信する差動信号受信回路は、この兼用端子とは別の、差動信号の入力専用端子対に差動信号が入力されることで起動され、起動された後は、リンクコントローラによって起動状態を維持される。
【００１６】
従って、ホストは、デバイスの入力専用端子対に出力する差動信号を制御することで、兼用端子対から入力される差動信号を受信する差動信号受信回路の起動を制御することができ、さらに、この差動信号受信回路は、意図しないタイミングで停止状態となってしまう可能性が低く抑えられている。
以下、本実施の形態に係るインターフェース回路の構成について、図面を参照しながら説明する。
【００１７】
＜構成＞
図１は、デバイス１００とホスト１５０との回路図である。
＜デバイス１００＞
デバイス１００は、例えば３２ＧＢ（Giga Byte）の記憶容量を有するメモリカードであって、ホスト１５０との間で通信を行うデバイス側インターフェース回路１０１と、データを記憶するフラッシュストレージ回路１０２と、ホスト１５０と電気的に接続するための端子群とを備える。
【００１８】
端子群は、ＤＡＴ２端子１０３と、ＤＡＴ３端子１０４と、ＣＭＤ端子１０５と、ＣＬＫ端子１０６と、ＤＡＴ０／ＲＣＬＫ＋端子１０７と、ＤＡＴ１／ＲＣＬＫ―端子１０８と、Ｄ０＋端子１０９と、Ｄ０−端子１１０と、Ｄ１＋端子１１１と、Ｄ１−端子１１２と、ＶＤＤ端子１１７と、ＶＳＳ端子１１８とからなる。
デバイス側インターフェース回路１０１は、差動信号を用いる通信を行うデバイス側差動インターフェース回路１２０と、シングルエンド信号を用いる通信を行うデバイス側シングルエンドインターフェース回路１４０とから構成される。
【００１９】
以下、デバイス側差動インターフェース回路１２０の構成について説明する。
＜デバイス側差動インターフェース回路１２０＞
デバイス側差動インターフェース回路１２０は、物理層ＰＨＹ１２１と、リンクコントローラ１２２とから構成される。
物理層ＰＨＹ１２１は、データ変換回路１２３と、ＰＬＬ（Phase Locked Loop）回路１２４と、論理和回路１２５と、検知回路１２６と、差動クロック入力回路１２７と、差動データ入力回路１２８と、差動データ出力回路１２９と、抵抗１３０と、抵抗１３１とから構成される。
【００２０】
差動クロック入力回路１２７は、データ入力端子ｉｎ０と、データ入力端子ｉｎ１と、イネーブル信号入力端子ｅｎと、データ出力端子ｏｕｔとを有し、ＤＡＴ０／ＲＣＬＫ＋端子１０７と、ＤＡＴ１／ＲＣＬＫ―端子１０８と、抵抗１３０と、ＰＬＬ回路１２４と、リンクコントローラ１２２と、フラッシュストレージ回路１０２とに接続し、以下の機能を有する。
【００２１】
機能：イネーブル信号入力端子ｅｎから、差動クロック入力回路１２７を起動状態とするためのイネーブル信号が入力されている間起動状態となり、データ入力端子ｉｎ０と、データ入力端子ｉｎ１とから入力される差動クロック信号を受信し、受信した差動クロック信号から同じ周波数のシングルエンドクロック信号を生成して、データ出力端子ｏｕｔから出力する機能。
【００２２】
ここで、差動クロック入力回路１２７が受信することができる差動クロック信号は、ピーク間の電位差が４００ｍＶ程度となる差動信号である。
ここで、起動状態とは、差動クロック信号を受信することができる状態であって、内蔵する定電流源が定常的に電流を流すために、差動クロック信号受信の有無に関わらず定常的に電力を消費する。また、停止状態とは、差動クロック信号を受信することができない状態であって、内蔵する定電流源が電流を流さないため、電力を消費することはない。
【００２３】
また、この差動クロック入力回路１２７が受信する差動クロック信号の最大動作周数は、例えば１５０ＭＨｚである。
差動データ入力回路１２８は、差動クロック入力回路１２７と同様の回路構成と特徴とを有する回路であり、Ｄ０＋端子１０９と、Ｄ０−端子１１０と、抵抗１３１と、検知回路１２６と、データ変換回路１２３とに接続し、以下の機能を有する。
【００２４】
機能：イネーブル信号入力端子ｅｎから差動データ入力回路１２８を起動状態とするためのイネーブル信号が入力されている間起動状態となり、データ入力端子ｉｎ０と、データ入力端子ｉｎ１とから入力される差動データ信号を受信し、受信した差動データ信号からシングルエンドデータ信号を生成して、データ出力端子ｏｕｔから出力する機能。
差動データ出力回路１２９は、データ入力端子ｉｎと、データ出力端子ｏｕｔ０と、イネーブル信号入力端子ｅｎと、データ出力端子ｏｕｔ１とを有し、Ｄ１＋端子１１１と、Ｄ１−端子１１２と、データ変換回路１２３と、リンクコントローラ１２２とに接続し、以下の２つの機能を有する。
【００２５】
機能１：イネーブル信号入力端子ｅｎから差動データ出力回路１２９を起動状態とするためのイネーブル信号が入力されている間起動状態となり、データ入力端子ｉｎから入力されるシングルエンド信号から差動信号を生成して、データ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１とから出力する機能。
ここで、差動データ出力回路１２９が出力する差動信号とは、ピーク間の電位差が４００ｍＶ程度となる差動信号であり、出力することができる差動データ信号の最大動作周波数は、例えば１５００ＭＨｚである。
【００２６】
機能２：イネーブル信号入力端子ｅｎからイネーブル信号が入力されていない間停止状態となり、データ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１との電位を、内蔵するプルダウン回路によりＶＳＳ電位とする機能。
ここで、起動状態とは、差動データ信号を出力することができる状態であって、内蔵する定電流源が定常的に電流を流すために、定常的に電力を消費する。また、停止状態とは、差動データ信号を出力することができない状態であって、内蔵する定電流源が電流を流さないため、電力を消費することはない。
【００２７】
ＰＬＬ回路１２４は、クロック入力端子と、クロック出力端子と、アクティベート信号入力端子と、ロック信号出力端子とを有し、差動クロック入力回路１２７と、データ変換回路１２３と、リンクコントローラ１２２と、フラッシュストレージ回路１０２とに接続し、以下の２つの機能を有する。
機能１：アクティベート信号入力端子に、ＰＬＬ回路１２４を動作させるためのアクティベート信号が入力されている間に、クロック入力端子にクロック信号が入力されると、差動データ入力回路１２８に送られてくる差動信号と同じ周波数のクロック信号を生成し、出力クロック端子から出力する機能。
【００２８】
ここでは、入力端子に入力されるクロック信号の周波数が例えば１５０ＭＨｚの場合に、入力クロック信号の例えば１０逓倍の周波数である、例えば１５００ＭＨｚのクロック信号を生成し、出力クロック端子から出力するとする。
機能２：内部に含むＶＣＯ（Voltage Controlled Oscillator：電圧制御発振機）が安定して発振している間、ロック信号出力端子からロック信号を出力する機能。
【００２９】
検知回路１２６は、第１入力端子と、第２入力端子と、ホールド信号入力端子と、出力端子とを有し、Ｄ０＋端子１０９と、Ｄ０−端子１１０と、差動データ入力回路１２８と、論理和回路１２５と、リンクコントローラ１２２とに接続し、以下の機能を有する。
機能：第１入力端子の電位と第２入力端子の電位との差が閾値（ここでは２００ｍＶ）以上の状態が所定の期間継続したときに出力端子から、差動データ信号を検知している旨を示す受信イネーブル信号を出力し、第１入力端子の電位と第２入力端子の電位との差が閾値（ここでは２００ｍＶ）未満の状態が所定の期間継続したときに出力端子から受信イネーブル信号を出力しない機能。
【００３０】
また、この検知回路１２６は、差動信号の検知を安定したものとするために、電位差の検知においてヒステリシス特性を有することが望ましい。
また、有効データの受信期間に置いて、検知回路１２６に入力される差動信号は差動Low／Highのビット遷移が発生し、安定した検知ができない恐れがある。そこで、リンクコントローラ１２２は、検知回路１２６からの受信イネーブル信号によって有効データの受信を開始してから、その有効データの終端までホールド信号を出力し、検知回路１２６は、そのホールド信号を受信している期間、受信イネーブル信号出力を維持する構成でもよい。
【００３１】
論理和回路１２５は、検知回路１２６と、リンクコントローラ１２２と、差動クロック入力回路１２７とに接続し、検知回路１２６から出力される受信イネーブル信号と、リンクコントローラ１２２から出力される、差動クロック入力回路１２７を起動状態とするためのイネーブルモード信号との論理和信号を、イネーブル信号として差動クロック入力回路１２７へ出力する２入力論理和回路である。
【００３２】
抵抗１３０は、ＤＡＴ０／ＲＣＬＫ＋端子１０７とＤＡＴ１／ＲＣＬＫ−端子１０８とに接続し、ホスト１５０側から見た場合における、ＤＡＴ０／ＲＣＬＫ＋端子１０７とＤＡＴ１／ＲＣＬＫ−端子１０８との間のインピーダンス特性を整合させ、差動クロック信号の振幅を適切なものとするための終端抵抗であって、抵抗値は例えば１００Ωである。
抵抗１３１は、Ｄ０＋端子１０９とＤ０−端子１１０とに接続し、ホスト１５０側から見た場合における、Ｄ０＋端子１０９とＤ１−端子１１０との間のインピーダンス特性を整合させ、差動データ信号の振幅を適切なものとするための終端抵抗であって、抵抗値は例えば１００Ωである。
【００３３】
データ変換回路１２３は、差動データ入力回路１２８と、差動データ出力回路１２９と、リンクコントローラ１２２と、ＰＬＬ回路１２４と、差動クロック入力回路１２７とに接続し、差動データ入力回路１２８から入力される信号を変換してリンクコントローラ１２２に出力する機能と、リンクコントローラ１２２から入力される信号を変換して差動データ出力回路１２９に出力する機能とを有する。
【００３４】
図２は、データ変換回路１２３の構成を示す回路図である。
同図に示されるように、データ変換回路１２３は、シリアルパラレル変換回路２０１と、復号回路２０２と、受信バッファ２０３と、パラレルシリアル変換回路２１１と、符号化回路２１２と、送信バッファ２１３とから構成される。
シリアルパラレル変換回路２０１は、差動データ入力回路１２８と、復号回路２０２と、ＰＬＬ回路１２４と、差動クロック入力回路１２７とに接続し、ＰＬＬ回路１２４から入力される、例えば１５００ＭＨｚのクロック信号に同期して動作する１ビットのフリップフロップで差動データ入力回路１２８から入力される１ビットのシリアル信号を取得し、１０サイクルかけて取得したシリアル信号を、差動クロック入力回路１２７から入力される、例えば１５０ＭＨｚのクロック信号に同期して動作する１０ビットのフリップフロップから１０ビットのパラレル信号として復号回路２０２に出力する回路である。
【００３５】
復号回路２０２は、シリアルパラレル変換回路２０１と、受信バッファ２０３とに接続し、シリアルパラレル変換回路２０１から入力される、８ｂ／１０ｂ方式で符号化された１０ビットの信号を復号し、復号した８ビットの信号を受信バッファ２０３に出力する機能を有する。
受信バッファ２０３は、復号回路２０２と、リンクコントローラ１２２とに接続するＦＩＦＯ（First InFirst Out）メモリバッファであって、復号回路２０２から入力される８ビットの信号を一時的に記憶してリンクコントローラ１２２へ出力する機能を有する。
【００３６】
送信バッファ２１３は、リンクコントローラ１２２と、符号化回路２１２とに接続するＦＩＦＯメモリバッファであって、リンクコントローラ１２２から入力される８ビットの信号を一時的に記憶して符号化回路２１２へ出力する機能を有する。
符号化回路２１２は、送信バッファ２１３と、パラレルシリアル変換回路２１１とに接続し、送信バッファ２１３から出力される８ビットの信号を、８ｂ／１０ｂ方式で符号化して１０ビットの信号を生成し、生成した１０ビットの信号をパラレルシリアル変換回路２１１へ出力する機能を有する。
【００３７】
パラレルシリアル変換回路２１１は、符号化回路２１２と、差動データ出力回路１２９と、ＰＬＬ回路１２４と、差動クロック入力回路１２７とに接続し、差動クロック入力回路１２７から入力される、例えば１５０ＭＨｚのクロック信号に同期して動作する１０ビットのフリップフロップで、符号化回路２１２から入力される１０ビットのパラレル信号を取得し、ＰＬＬ回路１２４から入力される、例えば１５００ＭＨｚのクロック信号に同期して動作する１ビットのフリップフロップから、シリアル信号として差動データ出力回路１２９に出力する回路である。
【００３８】
再び図１に戻って、デバイス側差動インターフェース回路１２０の構成の説明を続ける。
リンクコントローラ１２２は、データ変換回路１２３と、ＰＬＬ回路１２４と、論理和回路１２５と、差動データ出力回路１２９と、差動クロック入力回路１２７と、フラッシュストレージ回路１０２とに接続し、以下の４つの機能を有する。
【００３９】
機能１：物理層ＰＨＹ１２１を制御してホスト１５０と通信する機能。
機能２：ホスト１５０から受信したデータをフラッシュストレージ回路１０２に書き込む機能。
機能３：ホスト１５０に送信するデータをフラッシュストレージ回路１０２から読み出す機能。
【００４０】
機能４：初期化時に検知回路１２６から受信イネーブル信号を入力され、クロック受信を開始すると、待機モード遷移処理（後述）が実行されるまで、イネーブルモード信号とアクティベート信号とを出力し続ける機能。
次に、以下、デバイス側シングルエンドインターフェース回路１４０の構成について説明する。
【００４１】
＜デバイス側シングルエンドインターフェース回路１４０＞
デバイス側シングルエンドインターフェース回路１４０は、バッファ回路１４１と、データ処理回路１４２とから構成される。
バッファ回路１４１は、ＤＡＴ０／ＲＣＬＫ＋端子１０７と、ＤＡＴ１／ＲＣＬＫ―端子１０８と、ＤＡＴ２端子１０３と、ＤＡＴ３端子１０４と、ＣＭＤ端子１０５と、ＣＬＫ端子１０６と、データ処理回路１４２と、フラッシュストレージ回路１０２とに接続し、以下の３つの機能を有する。
【００４２】
機能１：ＤＡＴ０／ＲＣＬＫ＋端子１０７と、ＤＡＴ１／ＲＣＬＫ―端子１０８と、ＤＡＴ２端子１０３と、ＤＡＴ３端子１０４と、ＣＭＤ端子１０５とから入力されるシングルエンド信号それぞれを受信して、受信した信号それぞれをデータ処理回路１４２に出力する機能。
機能２：データ処理回路１４２から出力される信号それぞれを入力されると、入力された信号それぞれを対応する端子にシングルエンド信号として出力する機能。
【００４３】
機能３：ＣＬＫ端子１０６から入力される、例えば５０ＭＨｚのシングルエンドクロック信号を受信して、データ処理回路１４２と、フラッシュストレージ回路１０２とに出力する機能。
データ処理回路１４２は、バッファ回路１４１と、フラッシュストレージ回路１０２とに接続し、バッファ回路１４１を用いてホスト１５０と通信する機能と、ホスト１５０から受信したデータをフラッシュストレージ回路１０２に書き込む機能と、ホスト１５０に送信するデータをフラッシュストレージ回路１０２から読み出す機能とを有する。
【００４４】
以下、その他の回路の構成について説明する。
＜その他の回路＞
フラッシュストレージ回路１０２は、リンクコントローラ１２２と、データ処理回路１４２と、バッファ回路１４１と、差動クロック入力回路１２７とに接続する、例えば、３２ＧＢの記憶容量を持つ、例えばフラッシュメモリといった不揮発性メモリおよびその制御回路である。
【００４５】
ＶＤＤ端子１１７とＶＳＳ端子１１８とは、ホスト１５０から、例えば３．３Ｖの電位差の電力の供給を受けるための端子である。
ＤＡＴ２端子１０３とＤＡＴ３端子１０４とＣＭＤ端子１０５とは、それぞれ、ホスト１５０との間でシングルエンド信号を入出力されるための入出力端子であって、それぞれ、バッファ回路１４１と接続している。
【００４６】
ＣＬＫ端子１０６は、ホスト１５０からシングルエンドクロック信号を入力されるための入力端子であって、バッファ回路１４１と接続している。
ＤＡＴ０／ＲＣＬＫ＋端子１０７とＤＡＴ１／ＲＣＬＫ−端子１０８とは、ホスト１５０からの差動クロック信号を入力されるための入力端子対と、ホスト１５０との間で２ビットシングルエンド信号を入出力されるための２ビットの入出力端子を兼用する端子であって、それぞれ、差動クロック入力回路１２７と、抵抗１３０と、バッファ回路１４１とに接続している。
【００４７】
Ｄ０＋端子１０９とＤ０−端子１１０とは、ホスト１５０からの差動データ信号を入力されるための入力端子対であって、それぞれ、差動データ入力回路１２８と、検知回路１２６と、抵抗１３１とに接続している。
Ｄ１＋端子１１１とＤ１−端子１１２とは、ホスト１５０への差動データ信号を出力するための出力端子対であって、それぞれ、差動データ出力回路１２９に接続している。
【００４８】
＜ホスト１５０＞
ホスト１５０は、デバイス１００と通信する機能を有する、例えばパーソナルコンピュータであって、デバイス１００との間で通信を行うホスト側インターフェース回路１５１と、ＣＰＵ１６３と、ＲＯＭ１６４と、ＲＡＭ１６５と、バス１６６と、図示していない入力装置と、デバイス１００と電気的に接続するための端子群とを備える。
【００４９】
端子群は、ＤＡＴ２端子１５３と、ＤＡＴ３端子１５４と、ＣＭＤ端子１５５と、ＣＬＫ端子１５６と、ＤＡＴ０／ＲＣＬＫ＋端子１５７と、ＤＡＴ１／ＲＣＬＫ―端子１５８と、Ｄ０＋端子１５９と、Ｄ０−端子１６０と、Ｄ１＋端子１６１と、Ｄ１−端子１６２と、ＶＤＤ端子１６７と、ＶＳＳ端子１６８とからなる。
ホスト側インターフェース回路１５１は、差動信号を用いる通信を行うホスト側差動インターフェース回路１７０と、シングルエンド信号を用いる通信を行うホスト側シングルエンドインターフェース回路１９０と、クロック信号を生成するクロックジェネレータ１８１とから構成される。
【００５０】
以下、ホスト側差動インターフェース回路１７０の構成について説明する。
＜ホスト側差動インターフェース回路１７０＞
ホスト側差動インターフェース回路１７０は、物理層ＰＨＹ１７１と、リンクコントローラ１７２とから構成される。
物理層ＰＨＹ１７１は、データ変換回路１７３と、ＰＬＬ回路１７４と、検知回路１７６と、差動クロック出力回路１７７と、差動データ出力回路１７８と、差動データ入力回路１７９と、抵抗１８０とから構成される。
【００５１】
差動クロック出力回路１７７は、データ入力端子ｉｎと、データ出力端子ｏｕｔ０と、イネーブル信号入力端子ｅｎと、データ出力端子ｏｕｔ１とを有し、クロックジェネレータ１８１と、ＤＡＴ０／ＲＣＬＫ＋端子１５７と、ＤＡＴ１／ＲＣＬＫ―端子１５８と、リンクコントローラ１７２とに接続し、以下の２つの機能を有する。
機能１：イネーブル信号入力端子ｅｎから差動クロック出力回路１７７を起動状態とするためのイネーブル信号が入力されている間起動状態となり、データ入力端子ｉｎから入力されるシングルエンド信号から差動信号を生成して、データ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１とから出力する機能。
【００５２】
ここで、差動クロック出力回路１７７が出力する差動信号とは、ピーク間の電位差が４００ｍＶ程度となる差動信号であり、出力することができる差動データ信号の最大動作周波数は、例えば１５００ＭＨｚである。
機能２：イネーブル信号入力端子ｅｎからイネーブル信号が入力されていない間停止状態となり、データ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１とがハイインピーダンス状態となる機能。
【００５３】
差動データ出力回路１７８は、差動データ出力回路１２９と同様の回路構成と特徴とを有する回路であり、データ変換回路１７３と、Ｄ０＋端子１５９と、Ｄ０−端子１６０と、リンクコントローラ１７２とに接続する。
差動データ入力回路１７９は、差動データ入力回路１２８と同様の回路構成と特徴とを有する回路であり、Ｄ１＋端子１６１と、Ｄ１−端子１６２と、抵抗１８０と、検知回路１７６と、データ変換回路１７３とに接続する。
【００５４】
ＰＬＬ回路１７４は、クロック入力端子と、クロック出力端子とを有し、クロックジェネレータ１８１と、データ変換回路１７３とに接続し、クロック入力端子に、例えば１５０ＭＨｚのクロック信号が入力されると、入力クロック信号の１０逓倍の周波数である、例えば１５００ＭＨｚのクロック信号を生成し、出力クロック端子から出力する機能を有する。
【００５５】
検知回路１７６は、検知回路１２６と同様の回路構成を有する回路であり、Ｄ１＋端子１６１と、Ｄ１−端子１６２と、差動データ入力回路１７９と、リンクコントローラ１７２とに接続する。
抵抗１８０は、Ｄ１＋端子１６１とＤ１−端子１６２とに接続し、ホスト１５０側から見た場合における、Ｄ１＋端子１６１とＤ１−端子１６２との間のインピーダンス特性を整合させ、差動データ信号の振幅を適切なものとするための終端抵抗であって、抵抗値は例えば１００Ωである。
【００５６】
データ変換回路１７３は、データ変換回路１２３と同様の回路構成を有する回路であり、差動データ入力回路１２８と、差動データ出力回路１２９と、リンクコントローラ１２２と、ＰＬＬ回路１２４と、差動クロック入力回路１２７とに接続する。
リンクコントローラ１７２は、データ変換回路１７３と、ＰＬＬ回路１７４と、差動データ入力回路１７９と、差動クロック出力回路１７７と、バス１６６とに接続し、以下の３つの機能を有する。
【００５７】
機能１：物理層ＰＨＹ１２１を制御してデバイス１００と通信する機能。
機能２：デバイス１００から受信したデータをバス１６６に出力する機能。
機能３：デバイス１００に送信するデータをバス１６６から読み出す機能。
次に、以下、ホスト側シングルエンドインターフェース回路１９０の構成について説明する。
【００５８】
＜ホスト側シングルエンドインターフェース回路１９０＞
ホスト側シングルエンドインターフェース回路１９０は、バッファ回路１９１と、データ処理回路１９２と、プルアップ抵抗１８２〜プルアップ抵抗１８６とから構成される、デバイス１００との間でシングルエンド信号を用いる通信を行うインターフェース回路である。
【００５９】
バッファ回路１９１は、ＤＡＴ０／ＲＣＬＫ＋端子１５７と、ＤＡＴ１／ＲＣＬＫ―端子１５８と、ＤＡＴ２端子１５３と、ＤＡＴ３端子１５４と、ＣＭＤ端子１５５と、ＣＬＫ端子１５６と、データ処理回路１９２と、バス１６６とに接続し、以下の３つの機能を有する。
機能１：ＤＡＴ０／ＲＣＬＫ＋端子１５７と、ＤＡＴ１／ＲＣＬＫ―端子１５８と、ＤＡＴ２端子１５３と、ＤＡＴ３端子１５４と、ＣＭＤ端子１５５とから入力されるシングルエンド信号それぞれを受信して、受信した信号それぞれをデータ処理回路１９２に出力する機能。
【００６０】
機能２：データ処理回路１９２から出力される信号それぞれを受信して、受信した信号それぞれを対応する端子に出力する機能。
機能３：クロックジェネレータ１８１から入力される、例えば５０ＭＨｚのシングルエンドクロック信号を受信して、ＣＬＫ端子１５６に出力する機能。
データ処理回路１９２は、バッファ回路１９１と、クロックジェネレータ１８１と、バス１６６とに接続し、バッファ回路１９１を用いてデバイス１００と通信する機能と、デバイス１００から受信したデータをバス１６６に出力する機能と、デバイス１００に送信するデータをバス１６６から読み出す機能とを有する。
【００６１】
プルアップ抵抗１８２〜プルアップ抵抗１８６は、それぞれ、対応する配線がハイインピーダンス状態とならないように、電位をＶＤＤ電位にプルアップするための抵抗であって、抵抗値は、例えば５０ｋΩである。
以下、その他の回路の構成について説明する。
＜その他の回路＞
クロックジェネレータ１８１は、リンクコントローラ１７２と、ＰＬＬ回路１７４と、差動クロック出力回路１７７と、バッファ回路１９１と、データ処理回路１９２とに接続し、５０ＭＨｚのクロック信号と１５０ＭＨｚのクロック信号とを生成し、生成した５０ＭＨｚのクロック信号を、バッファ回路１９１と、データ処理回路１９２とに出力し、生成した１５０ＭＨｚのクロック信号を、リンクコントローラ１７２と、ＰＬＬ回路１７４と、差動クロック出力回路１７７とに出力する機能を有する。
【００６２】
ＣＰＵ１６３は、バス１６６と接続し、ＲＯＭ１６４又はＲＡＭ１６５に記憶されているプログラムを実行することで、ＲＯＭ１６４、ＲＡＭ１６５、ホスト側インターフェース回路１５１を制御して、様々な機能、例えば、ＲＡＭ１６５に記憶されているデータをフラッシュストレージ回路１０２に記憶させるため、リンクコントローラ１７２を指示することで、データをデバイス１００へ送信させる機能等を実現する。
【００６３】
ＲＯＭ１６４はバス１６６と接続し、ＣＰＵ１６３の動作を規定するプログラムと、ＣＰＵ１６３が利用するデータとを記憶する。
ＲＡＭ１６５は、バス１６６と接続し、ＣＰＵ１６３がプログラムを実行することに伴って発生するデータを一時的に記憶する。
バス１６６は、ＣＰＵ１６３と、ＲＯＭ１６４と、ＲＡＭ１６５と、リンクコントローラ１７２と、データ処理回路１９２とに接続するバスである。
【００６４】
ＶＤＤ端子１６７とＶＳＳ端子１６８とは、デバイス１００へ、例えば３．３Ｖの電位差の電力の供給をするための端子である。
ＤＡＴ２端子１５３とＤＡＴ３端子１５４とＣＭＤ端子１５５とは、それぞれ、デバイス１００との間でシングルエンド信号を入出力されるための入出力端子であって、それぞれ、バッファ回路１９１と接続している。
【００６５】
ＣＬＫ端子１５６は、デバイス１００へシングルエンドクロック信号を入力されるための出力端子であって、バッファ回路１９１と接続している。
ＤＡＴ０／ＲＣＬＫ＋端子１５７とＤＡＴ１／ＲＣＬＫ−端子１５８とは、デバイス１００への差動クロック信号を出力ための出力端子対と、デバイス１００との間で２ビットシングルエンド信号を入出力されるための２ビットの入出力端子を兼用する端子であって、それぞれ、差動クロック出力回路１７７と、バッファ回路１９１とに接続している。
【００６６】
Ｄ０＋端子１５９とＤ０−端子１６０とは、デバイス１００の差動データ信号を出力するための出力端子対であって、それぞれ、差動データ出力回路１７８に接続している。
Ｄ１＋端子１６１とＤ１−端子１６２とは、デバイス１００からの差動データ信号を入力されるための入力端子対であって、それぞれ、差動データ入力回路１７９と、検知回路１７６と、抵抗１８０とに接続している。
【００６７】
図示していない入力装置は、ホスト１５０を操作するユーザからの、ホスト１５０を操作するためのコマンドの入力を受け付けるための入力インターフェースであって、例えば、キーボード、マウス等によって構成される。
以下、上述のデバイス１００と上述のホスト１５０との接続形態について、図面を用いて説明する。
【００６８】
図３は、デバイス１００と、ホスト１５０の一部であるコネクタ３００との斜視図である。
デバイス１００は、コネクタ３００に挿入されることで、ホスト１５０と接続される。
同図に示されるように、デバイス１００は、例えば長さ３２ｍｍ、幅２４ｍｍ、厚さ２．１ｍｍのカード状の形状で、その主表面上に、金属製（例えば銅製）の端子群を備える。
【００６９】
ホスト１５０は、コネクタ３００と、接続ケーブル３１０と、図示しないホスト筐体とを備え、コネクタ３００とホスト筐体とは、接続ケーブル３１０を介して接続されている。
コネクタ３００は、デバイス１００を挿入するための挿入孔３０１と、挿入孔３０１の内部に金属製（例えば銅製）の端子群を備える。
【００７０】
デバイス１００が挿入孔３０１に挿入されることで、挿入孔３０１の内部の端子のそれぞれと、対応するデバイス１００側の端子のそれぞれとは、互いに物理的に接触する状態、すなわち、互いに電気的に接続する状態となる。
＜差動信号＞
以下、デバイス１００とホスト１５０との間の通信に用いられる差動信号について、図面を用いて説明する。
【００７１】
図４は、デバイス１００とホスト１５０との間の通信に用いられる差動信号の一例としての、差動データ出力回路１７８が出力する差動信号のタイミングチャートである。
この例は、差動データ出力回路１７８のイネーブル信号が時刻Ｔ１〜時刻Ｔ５の間に出力される場合において、差動データ出力回路１７８が差動信号からなるパケットデータである差動パケット信号を出力するときのタイミングチャートとなっている。
【００７２】
同図に示されるように、デバイス１００とホスト１５０との間の通信に用いられる差動信号は、一方の信号線の電位が０Ｖの時に他方の信号線の電位が４００ｍＶとなる、振幅が４００ｍＶの差動信号である。
時刻Ｔ１以前は、差動データ出力回路１７８のイネーブル信号が出力されていないので、差動データ出力回路１７８は、停止状態となり、Ｄ０＋端子１５９とＤ０−端子１６０との双方に、ＶＳＳ電位である０Ｖの信号を出力する。
【００７３】
時刻Ｔ１に、差動データ出力回路１７８のイネーブル信号が出力されると、差動データ出力回路１７８は、停止状態から起動状態に変化し、入力信号である論理値“０”に対応する差動Ｌｏｗ信号の出力を開始する。
ここで、差動Ｌｏｗ信号とは、論理値“０”を示す差動信号であって、例えば、Ｄ０＋端子１５９が０Ｖとなり、Ｄ０−端子１６０が４００ｍＶとなる差動信号である。
【００７４】
差動データ出力回路１７８は、起動状態になると１５００Ｈｚの動作周波数で動作し、論理値“０”が入力されている期間、差動Ｌｏｗ信号を出力し続ける。
時刻Ｔ２になると、差動データ出力回路１７８に所定サイクル数からなる同期信号の入力が開始され、差動データ出力回路１７８は、同期信号に対応する差動信号である、差動同期信号の出力を開始する。
【００７５】
ここで、同期信号とは、８ｂ／１０ｂ方式において通常のデータ伝送に用いられるＤシンボルと区別されるシンボルであって、例えば８ｂ／１０ｂ方式におけるＫ２８．５と呼ばれるシンボルが用いられる。
時刻Ｔ３になると、差動データ出力回路１７８に８ｂ／１０ｂ方式におけるＤシンボルの組み合わせからなるパケット信号の入力が開始され、差動データ出力回路１７８はパケットの出力を開始する。
【００７６】
時刻Ｔ４になると、差動データ出力回路１７８の入力信号が、論理値“０”となり、差動データ出力回路１７８は、再び差動Ｌｏｗ信号の出力を開始する。
時刻Ｔ５に、差動データ出力回路１７８のイネーブル信号が出力されなくなると、差動データ出力回路１７８は、起動状態から停止状態に変化し、Ｄ０＋端子１５９とＤ０−端子１６０との双方に、ＶＳＳ電位である０Ｖの信号の出力を開始する。
【００７７】
＜動作＞
デバイス１００とホスト１５０とからなるシステムは、例えば、ホスト１５０がデバイス１００に記憶されているデータを読み出す処理といった、様々な処理を行う。
ここでは、このシステムの行う処理において、デバイス１００の行う特徴的な処理であるデバイス側処理と、ホスト１５０の行う特徴的な処理であるホスト側処理とについて、それぞれ図面を用いて説明する。
【００７８】
＜デバイス側処理＞
デバイス側処理は、デバイス１００が、差動信号を用いてホスト１５０と通信を行う処理のことである。
図５は、デバイス１００の行うデバイス側処理のフローチャートである。
デバイス側処理は、デバイス１００とホスト１５０とからなるシステムを利用するユーザによって、デバイス１００がコネクタ２００に挿入されることによって開始する。
【００７９】
デバイス１００は、コネクタ２００に挿入されると、ＶＤＤ端子１１７とＶＤＤ端子１６７とが接触し、ＶＳＳ端子１１８とＶＳＳ端子１６８とが接触し、ホスト１５０から、ＶＤＤ端子１１７とＶＳＳ端子１１８とを介して、例えば３．３Ｖの電位差の電力の供給を受け、デバイス１００が起動される。
デバイス１００が起動されると、リンクコントローラ１２２と物理層ＰＨＹ１２１とはパワーオンリセットされて初期化され（ステップＳ５００）、待機モードとなる。
【００８０】
待機モードでは、差動クロック入力回路１２７と差動データ入力回路１２８と差動データ出力回路１２９とが停止状態となり、ＰＬＬ回路１２４は起動していない状態となる。
デバイス１００は、待機モードとなった後に、後述のデバイス側初期化処理を実行する（ステップＳ５１０）ことで、ホスト１５０と差動信号を用いてパケット通信を行うことができる状態となる。
【００８１】
ステップＳ５１０の処理が終わると、デバイス１００は、後述のパケット処理を実行して（ステップＳ５２０）、ホスト１５０とパケット通信を行う。
デバイス１００は、ホスト１５０とのパケット通信が終わると、後述のデバイス側待機モード遷移処理を実行する（ステップＳ５３０）ことで、再び待機モードとなる。
デバイス１００は、再び待機モードとなった後に、コネクタ２００から抜き取られて、ＶＤＤ端子１１７とＶＳＳ端子１１８とから電力が供給されなくなれば（ステップＳ５４０：Ｙｅｓ）、そのデバイス側処理を終了する。
【００８２】
デバイス１００は、再び待機モードとなった後に、コネクタ２００から抜き取られずに、ＶＤＤ端子１１７とＶＳＳ端子１１８とから電力が供給されなくならなければ（ステップＳ５４０：Ｎｏ）、再びステップＳ５１０に戻って、ステップＳ５１０以降の処理を実行する。
＜ホスト側処理＞
ホスト側処理は、ホスト１５０が、差動信号を用いてデバイス１００と通信を行う処理のことである。
【００８３】
図６は、ホスト１５０の行うホスト側処理のフローチャートである。
ホスト側処理は、デバイス１００とホスト１５０とからなるシステムを利用するユーザによって、デバイス１００がコネクタ２００に挿入され、ホスト１５０の入力装置が操作されて、ＣＰＵ１６３にデバイス１００が接続された旨の通知信号が入力されることによって開始する。
【００８４】
ＣＰＵ１６３は、デバイス１００が接続された旨の通知信号が入力されると、リンクコントローラ１７２と物理層ＰＨＹ１７１とをパワーオンリセットして初期化する（ステップＳ６００）。
リンクコントローラ１７２と物理層ＰＨＹ１７１とが初期化されると、後述のホスト側初期化処理を実行する（ステップＳ６１０）ことで、デバイス１００を、差動信号を用いてパケット通信を行うことができる状態にする。
【００８５】
ステップＳ６１０の処理が終わると、ホスト１５０は、後述のパケット処理を実行して（ステップＳ６２０）、デバイス１００とパケット通信を行う。
ホスト１５０は、デバイス１００とのパケット通信が終わると、後述のホスト側待機モード遷移処理を実行して（ステップＳ６３０）、デバイス１００を待機モードとし、リンクコントローラ１７２と物理層ＰＨＹ１７１とを、ステップＳ６００にて初期化された状態に戻す。
【００８６】
ホスト１５０は、ステップＳ６３０の処理が終了した後に、ユーザによって、ホスト１５０の入力装置が操作されて、ＣＰＵ１６３にデバイス１００が接続されなくなった旨の通知信号が入力されると（ステップＳ６４０：Ｙｅｓ）、ＣＰＵ１６３によってリンクコントローラ１７２と物理層ＰＨＹ１７１とに供給する電源をオフにされ、そのホスト側処理を終了する。
【００８７】
ホスト１５０は、ステップＳ６３０の処理が終了した後に、ＣＰＵ１６３にデバイス１００が接続されなくなった旨の通知信号が入力されなければ（ステップＳ６４０：Ｙｅｓ）、再びステップＳ６１０に戻って、ステップＳ６１０以降の処理を実行する。
＜デバイス側初期化プロトコル処理＞
デバイス側初期化プロトコル処理は、デバイス１００がホスト１５０と差動信号を用いてパケット通信を行うことができる状態となるための処理である。
【００８８】
図７は、デバイス側初期化プロトコル処理のフローチャートである。図８は、デバイス側初期化プロトコル処理のタイミングチャートである。
デバイス側初期化プロトコル処理は、デバイス１００が待機モードとなることによって開始される。
デバイス１００は、待機モードとなると、Ｄ０＋端子１０９とＤ０−端子１１０とから差動Ｌｏｗ信号が入力されるのを待つ（ステップＳ７００）。
【００８９】
Ｄ０＋端子１０９とＤ０−端子１１０とから差動Ｌｏｗ信号が入力される（図８の時刻Ｔ１１）と、検知回路１２６は、差動信号が入力されたことを検知し、受信イネーブル信号を出力する（ステップＳ７０５：時刻Ｔ１２）。
差動クロック入力回路１２７と差動データ入力回路１２８とは、受信イネーブル信号が入力されると起動状態となり（ステップＳ７１０）。差動クロック入力回路１２７は、差動リファレンスクロック信号の受信を開始し、差動データ入力回路１２８は差動Ｌｏｗ信号の受信を開始する（ステップＳ７１５）。
【００９０】
リンクコントローラ１２２は、受信イネーブル信号によるリファレンスクロックの受信を開始すると、イネーブルモード信号とアクティベート信号とを出力し（ステップＳ７２０）、ＰＬＬ回路１２４は起動される。以降、差動クロック入力回路１２７は、検知回路１２６からの受信イネーブル信号に依らず、イネーブルモード信号によってリファレンスクロック信号を受信し続ける状態となる。
【００９１】
一方、リンクコントローラ１２２は、差動データ出力回路１２９にイネーブル信号を出力して起動状態とし、差動データ出力回路１２９から、Ｄ１＋端子１１１とＤ１−端子１１２とに差動Ｌｏｗ信号を出力させる（ステップＳ７２５：時刻Ｔ１３）。
ＰＬＬ回路１２４は、起動されてもしばらくは発振が安定しない状態（ＰＬＬ１２４の発振待ち状態：ステップＳ７３０）となり、その後発振が安定してロック状態となる（ステップＳ７３５）と、リンクコントローラ１２２にロック信号を出力することで、ロック状態となった旨を通知する。
【００９２】
リンクコントローラ１２２は、ロック信号を受け取ると、Ｄ０＋端子１０９とＤ０−端子１１０とから差動同期信号が入力されるのを待つ（ステップＳ７４０）。
Ｄ０＋端子１０９とＤ０−端子１１０とから差動同期信号が入力されると、リンクコントローラ１２２は、差動データ出力回路１２９から、Ｄ１＋端子１１１とＤ１−端子１１２とに差動同期信号を出力させ（ステップＳ７４５：時刻Ｔ１４）、Ｄ０＋端子１０９とＤ０−端子１１０とから差動Ｌｏｗ信号が入力されるのを待つ（ステップＳ７５０）。
【００９３】
Ｄ０＋端子１０９とＤ０−端子１１０とから入力される差動Ｌｏｗ信号を、差動データ入力回路１２８が受信する（時刻Ｔ１５）と、リンクコントローラ１２２は、差動データ出力回路１２９を用いて、Ｄ１＋端子１１１とＤ１−端子１１２とから、差動Ｌｏｗ信号を所定周期出力させた後、差動データ出力回路１２９に出力しているイネーブル信号を停止し、差動データ出力回路１２９を停止状態とする（ステップＳ７５５：時刻Ｔ１６）。
【００９４】
一方、検知回路１２６は、Ｄ０＋端子１０９とＤ０−端子１１０とから差動Ｌｏｗ信号が入力されなくなると、受信イネーブル信号の出力を停止する（ステップＳ７６０）。
受信イネーブル信号の出力が停止されると、差動データ入力回路１２８は停止状態となる。
ステップＳ７５５の処理とステップＳ７６０の処理とが終了すると、デバイス側初期化プロトコル処理は終了する。
【００９５】
デバイス側初期化プロトコル処理が終了しても、リンクコントローラ１２２は、イネーブルモード信号とアクティベート信号とを出力し続けるため、差動クロック入力回路１２７は差動リファレンスクロック信号の受信を継続し、ＰＬＬ回路１２４は発振状態を継続する。
＜ホスト側初期化プロトコル処理＞
ホスト側初期化プロトコル処理は、ホスト１５０が、デバイス１００を、通信を行うことができる状態にするための処理である。
【００９６】
図９は、ホスト側初期化プロトコル処理のフローチャートである。図１０は、ホスト側初期化プロトコル処理において、シングルエンド信号を用いてホスト側初期化プロトコル処理を行う場合のタイミングチャートである。
ホスト側初期化プロトコル処理は、リンクコントローラ１７２と物理層ＰＨＹ１７１とが初期化されることでその処理を開始する。
【００９７】
リンクコントローラ１７２と物理層ＰＨＹ１７１とが初期化され、ホスト側差動インターフェース回路１７０が正しく起動された状態となると（ステップＳ９００がＹｅｓとなるまでステップＳ９００：Ｎｏを繰り返す）、リンクコントローラ１７２は、データ変換回路１７３に論理値“０”を出力し、差動クロック出力回路１７７にイネーブル信号を出力して起動状態とし、差動データ出力回路１７８にイネーブルモード信号を出力して起動状態とする。
【００９８】
差動クロック出力回路１７７は、起動状態になると、クロックジェネレータから入力される１５０ＭＨｚのクロック信号を用いて１５０ＭＨｚの差動リファレンスクロック信号を生成して、ＤＡＴ０／ＲＣＬＫ＋端子１５７とＤＡＴ１／ＲＣＬＫ―端子１５８とに出力し、差動データ出力回路１７８は、起動状態になると、入力される論理値“０”に対応する差動Ｌｏｗ信号をＤ０＋端子１５９とＤ０−端子１６０とに出力する（ステップＳ９１０）。
【００９９】
一方、リンクコントローラ１７２は、差動データ出力回路１７８にイネーブル信号を出力してから所定時間ｔ１（例えば、２００μｓ）以内にＤ１＋端子１６１とＤ１−端子１６２とから差動Ｌｏｗ信号が入力されたか否かを調べる（ステップＳ９２０）。
ステップＳ９２０の処理において、所定時間ｔ１（例えば、２００μｓ）以内に差動Ｌｏｗ信号が入力された場合には（ステップＳ９２０：Ｙｅｓ）、リンクコントローラ１７２は、差動データ出力回路１７８を用いて、Ｄ０＋端子１５９とＤ０−端子１６０とから、差動同期信号を繰り返し出力させ（ステップＳ９３０）、Ｄ１＋端子１６１とＤ１−端子１６２とから差動同期信号が入力されるのを待つ（ステップＳ９４０）。
【０１００】
Ｄ１＋端子１６１とＤ１−端子１６２とから入力される差動同期信号を、差動データ入力回路１７９が受信すると、リンクコントローラ１７２は、差動データ出力回路１７８を用いて、Ｄ０＋端子１５９とＤ０−端子１６０とから、差動Ｌｏｗ信号を所定周期出力させた後、差動データ出力回路１７８を停止状態として、差動信号の出力を停止させる（ステップＳ９５０）。
【０１０１】
リンクコントローラ１７２が差動データ出力回路１７８を停止状態として、差動信号の出力を停止させることで、ホスト側初期化プロトコル処理は、その処理を終了する。
この場合、ホスト側初期化プロトコル処理が終了しても、差動クロック出力回路１７７は、差動リファレンスクロック信号の出力を継続する。
ステップＳ９２０の処理において、所定時間ｔ１（例えば、２００μｓ）以内に差動Ｌｏｗ信号が入力されなかった場合には（ステップＳ９２０：Ｎｏ）、リンクコントローラ１７２は、差動クロック出力回路１７７の停止状態として差動リファレンスクロック信号の出力を停止させ、差動データ出力回路１７８を停止状態として差動Ｌｏｗ信号の出力を停止させる（ステップＳ９６０）。
【０１０２】
ステップＳ９２０の処理において、所定時間ｔ１（例えば、２００μｓ）以内に差動Ｌｏｗ信号が入力されなかった場合として考えられる例としては、デバイス１００の差動信号の送受信を行うための回路が故障しているとき、デバイス１００の端子とホスト１５０の端子との接触不良等が原因で、デバイス１００とホスト１５０とが差動信号を用いて正しく通信できなかったとき、コネクタ２００に挿入されたデバイスが、デバイス１００ではなく、差動信号の送受信を行うための回路が搭載されていないデバイスであったとき等が考えられる。
【０１０３】
ステップＳ９６０の処理が終わると、リンクコントローラ１７２は、データ処理回路１９２に、バス１６６を介して、差動信号を用いた通信が正しく行われなかった旨の信号を出力する。
データ処理回路１９２は、差動信号を用いた通信が正しく行われなかった旨の信号を受けると、シングルエンド信号を用いてデータ処理回路１４２と通信を行い、デバイス１００を初期化する（ステップＳ９７０：図１０の時刻Ｔ２１〜時刻Ｔ２２の間）。
【０１０４】
デバイス１００が初期化されると、ホスト側初期化プロトコル処理は終了する。
この場合、その後のデバイス１００とホスト１５０との通信は、シングルエンド信号を用いて行われる。
＜パケット送信処理＞
パケット送信処理は、ホスト１５０がデバイス１００へ、又はデバイス１００がホスト１５０へ、差動信号を用いてパケットを送信する処理である。
【０１０５】
ここでは、ホスト１５０がデバイス１００へ、差動信号を用いてパケットを送信する場合について説明するが、デバイス１００がホスト１５０へ、差動信号を用いてパケット信号を送信する場合の処理も同様である。
図１１は、パケット送信処理のフローチャートである。図１２は、パケット送信処理のタイミングチャートである。
【０１０６】
ホスト１５０のリンクコントローラ１７２は、差動信号を用いてパケットをデバイス１００に送信する処理を行う場合に、まず、差動データ出力回路１７８を用いて、Ｄ０＋端子１５９とＤ０−端子１６０とから、差動Ｌｏｗ信号を所定周期出力させる（ステップＳ１１００：図１２の時刻Ｔ３１）。
デバイス１００のＤ０＋端子１０９とＤ０−端子１１０とから差動Ｌｏｗ信号が入力されると、検知回路１２６は、差動Ｌｏｗ信号が入力されたことを検知し受信イネーブル信号を出力し、差動データ入力回路１２８は、起動状態となり（ステップＳ１１１０）、差動Ｌｏｗ信号の受信を開始する。
【０１０７】
ホスト１５０のリンクコントローラ１７２は、差動Ｌｏｗ信号を所定周期出力させると、差動データ出力回路１７８を用いて、Ｄ０＋端子１５９とＤ０−端子１６０とから、例えば１０回連続する差動同期信号を出力させる（ステップＳ１１２０：時刻Ｔ３２）。
デバイス１００のリンクコントローラ１２２は、差動データ入力回路１２８を介して差動同期信号を受信する。
【０１０８】
ステップＳ１１２０の処理が終わると、ホスト１５０のリンクコントローラ１７２は、差動データ出力回路１７８を用いて、Ｄ０＋端子１５９とＤ０−端子１６０とから、差動信号からなるパケットを出力させる（ステップＳ１１３０：時刻Ｔ３３）。
デバイス１００のリンクコントローラ１２２は、差動データ入力回路１２８を介してパケットを受信する。
【０１０９】
ステップＳ１１３０の処理が終わると、ホスト１５０のリンクコントローラ１７２は、差動データ出力回路１７８を用いて、Ｄ０＋端子１５９とＤ０−端子１６０とから、差動Ｌｏｗ信号を所定周期出力させる（ステップＳ１１４０：時刻Ｔ３４）。
デバイス１００のリンクコントローラ１２２は、差動データ入力回路１２８を介して差動Ｌｏｗ信号を受信すると、差動データ出力回路１７８を停止状態とし、Ｄ０＋端子１５９とＤ０−端子１６０とから、差動信号の出力を停止する（ステップＳ１１５０：時刻Ｔ３５）。
【０１１０】
Ｄ０＋端子１０９とＤ０−端子１１０とから差動信号が入力されなくなると、検知回路１２６は差動信号を検知しなくなり、受信イネーブル信号の出力を停止し、差動データ入力回路１２８は停止状態となり、パケット送信処理はその処理を終了する。
＜ホスト側待機モード遷移処理＞
ホスト側待機モード遷移処理は、ホスト１５０が、デバイス１００と通信してデバイス１００を待機モードに遷移させる処理である。
【０１１１】
図１３は、ホスト側待機モード遷移処理のフローチャートである。
ホスト側待機モード遷移処理が開始されると、ホスト１５０は、パケットとして、デバイス１００を待機モードにする旨のコマンド（以下、待機コマンドと呼ぶ。）を、デバイス１００に送信する（ステップＳ１３００）。待機コマンドの送信は、上述のパケット送信処理によって実現される。
【０１１２】
ホスト１５０は、デバイス１００から、待機コマンドを受信した旨のコマンド（以下、返信コマンドと呼ぶ。）を受信すると（ステップＳ１３１０）、待機コマンドを送信してから所定時間ｔ２（例えば、２００μｓ）経過し、かつ、検知回路１７６から受信イネーブル信号が出力されなくなるまで待機する（ステップＳ１３２０）。
ステップＳ１３２０の処理が終わると、ホスト１５０は、リンクコントローラ１７２と物理層ＰＨＹ１７１とを、パワーオンリセットされて初期化された直後の状態に戻し（ステップＳ１３３０）、差動クロック出力回路１７７からの差動リファレンスクロック信号の出力を停止させる（ステップＳ１３４０）。
【０１１３】
ホスト１５０は、差動クロック出力回路１７７からの差動リファレンスクロック信号の出力を停止させると、ホスト側待機モード遷移処理を終了する。
＜デバイス側待機モード遷移処理＞
デバイス側待機モード遷移処理は、デバイス１００が、ホスト１５０から待機コマンドを受信して、自機を待機モードにする処理である。
【０１１４】
図１４は、デバイス側待機モード遷移処理のフローチャートである。
デバイス側待機モード遷移処理は、デバイス１００が、ホスト１５０から送信される待機コマンドを受信することで開始する。
デバイス１００は、ホスト１５０から送信される待機コマンドを受信する（ステップＳ１４００）と、待機コマンドを受信した旨のコマンド（以下、返信コマンドと呼ぶ。）を、ホスト１５０に送信する（ステップＳ１４１０）。返信コマンドの送信は、上述のパケット送信処理によって実現される。
【０１１５】
ステップＳ１４１０の処理が終わると、デバイス１００は、検知回路１２６から受信イネーブル信号が出力されなくなるまで待機する（ステップＳ１４２０）。
ステップ１４２０の処理が終わると、デバイス１００は、リンクコントローラ１２２と物理層ＰＨＹ１２１とを、パワーオンリセットされて初期化された直後の状態である待機モードとする（ステップＳ１４３０）。
【０１１６】
ステップＳ１４３０の処理において、リンクコントローラ１２２は、イネーブルモード信号の出力とアクティベート信号の出力とを停止する。
ステップＳ１４３０の処理が終わると、デバイス１００は、ホスト１５０から供給される差動リファレンスクロック信号の受信を停止し（ステップＳ１４４０）、デバイス側待機モード遷移処理を終了する。
【０１１７】
ここで、デバイス１００は、ホスト１５０に返信コマンドを送信して（ステップＳ１４１０）から、ホスト１５０から供給される差動リファレンスクロック信号の受信を停止する（ステップＳ１４４０）までの処理を、所定時間ｔ２（例えば、２００μｓ）以内に、実行する必要がある。
なぜなら、デバイス１００は、差動リファレンスクロック信号を受信しなくなると、ステップＳ１４３０の処理とステップＳ１４４０の処理とを実行することができなくなってしまうからである。
【０１１８】
逆にいえば、ホスト１５０は、デバイス１００がステップＳ１４３０の処理とステップＳ１４４０の処理とを正常に実行するために、ステップＳ１３２０（図１３参照）において、所定時間ｔ２（例えば、２００μｓ）待機する必要がある。
＜まとめ＞
上述のデバイス１００とホスト１５０とからなるシステムによれば、差動信号の受信端子とシングルエンド信号の送受信端子とを兼用する端子対（ＤＡＴ０／ＲＣＬＫ＋端子１０７、ＤＡＴ１／ＲＣＬＫ―端子１０８）に接続される差動データ入力回路１２８は、ホスト１５０から、差動信号の受信専用端子対（Ｄ０＋端子１０９、Ｄ０−端子１１０）を介して差動信号の入力を制御されることで、その起動を制御され、起動された後は、リンクコントローラ１２２から出力されるイネーブルモード信号によって、起動状態を維持される。
【０１１９】
リンクコントローラ１２２は、イネーブルモード信号を出力している場合において、待機コマンドを受信すると、検知回路１２６が差動信号の入力を検知しなくなるのを待って、イネーブルモード信号の出力を停止する。
また、ＰＬＬ回路１２４は、初期化プロトコル処理によって一旦ＰＬＬ回路１２４が安定的に発振する状態になると、その後、待機モード遷移処理によって動作が停止させられるまで発振を継続する。従って、デバイス１００は、通信を行う毎にＰＬＬ回路１２４の発振待ちをする必要がない。
＜変形例＞
＜概要＞
以下、本発明に係るインターフェース回路の一実施形態として、実施の形態に係るデバイス１００とホスト１５０とからなるシステムの一部を変形した変形システムにおいて利用されるインターフェース回路について説明する。
【０１２０】
実施の形態では、差動信号を出力する差動信号出力回路のそれぞれは、イネーブル信号入力端子ｅｎからイネーブル信号が入力されていない間、データ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１とからＶＳＳ電位の信号を継続的に出力する例について説明したが、変形例では、差動信号を出力する差動信号出力回路のそれぞれは、イネーブル信号入力端子ｅｎからイネーブル信号が入力されていない間、データ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１とがハイインピーダンス状態となる例となっている。
【０１２１】
以下、本変形例に係るインターフェース回路の構成について、実施の形態に係るインターフェース回路との相違点を中心に、図面を参照しながら説明する。
＜構成＞
図１５は、デバイス９００とホスト９５０との回路図である。
デバイス９００は、実施の形態におけるデバイス１００から、差動データ出力回路１２９が差動データ出力回路９２８に変更され、Ｄ１＋端子１１１に繋がる配線にプルアップ抵抗９１１が追加で接続され、Ｄ１−端子１１２に繋がる配線にプルアップ抵抗９１２が追加で接続されたものである。
【０１２２】
これらの変更、及び追加に伴って、これらの変更、及び追加された回路の上位階層である、物理層ＰＨＹ１２１が物理層ＰＨＹ９２１に変更され、デバイス側差動インターフェース回路１２０がデバイス側差動インターフェース回路９２０に変更され、デバイス側インターフェース回路１０１がデバイス側インターフェース回路９０１に変更されている。
差動データ出力回路９２９は、実施の形態における差動データ出力回路１２９から、その機能の一部が変形されたものであって、差動データ出力回路１２９の機能１に加えて、以下の機能を有する。
【０１２３】
変形機能２：イネーブル信号入力端子ｅｎからイネーブル信号が入力されていない間停止状態となり、データ出力端子ｏｕｔ０の出力とデータ出力端子ｏｕｔ１の出力とを、ハイインピーダンス状態とする機能。
プルアップ抵抗９１１、プルアップ抵抗９１２は、それぞれ、対応する配線がハイインピーダンス状態とならないように、電位をＶＤＤ電位（例えば３．３Ｖ）にプルアップするための抵抗であって、抵抗値は、例えば５０ｋΩである。
【０１２４】
ホスト９５０は、実施の形態におけるホスト１５０から、差動クロック出力回路１７７が差動クロック出力回路９７７に変更され、差動データ出力回路１７８が差動データ出力回路９７８に変更され、Ｄ０＋端子１５９に？がる配線にプルアップ抵抗９０３が追加で接続され、Ｄ０−端子１６０に？がる配線にプルアップ抵抗９０４が追加で接続されたものである。
【０１２５】
これらの変更、及び追加に伴って、これらの変更、及び追加された回路の上位階層である、物理層ＰＨＹ１７１が物理層ＰＨＹ９７１に変更され、ホスト側差動インターフェース回路１７０がホスト側差動インターフェース回路９７０に変更され、ホスト側シングルエンドインターフェース回路１９０がホスト側シングルエンドインターフェース回路９９０に変更され、ホスト側インターフェース回路１５１がデバイス側インターフェース回路９５１に変更されている。
【０１２６】
差動クロック出力回路９７７は、差動データ出力回路９２９と同様の回路構成と特徴とを有する回路である。
差動データ出力回路９７８は、差動データ出力回路９２９と同様の回路構成と特徴とを有する回路である。
＜差動信号＞
以下、上述のデバイス９００とホスト９５０との間の通信に用いられる差動信号について、図面を用いて説明する。
【０１２７】
図１６は、デバイス９００とホスト９５０との間の通信に用いられる差動信号の一例としての、差動データ出力回路９７８が出力する差動信号のタイミングチャートである。
同図に示されるように、デバイス１００とホスト１５０との間の通信に用いられる差動信号は、一方の信号線の電位が０Ｖの時に他方の信号線の電位が４００ｍＶとなる、振幅が４００ｍＶの差動信号である。
【０１２８】
また、差動データ出力回路９７８の出力がハイインピーダンス状態である期間、Ｄ０＋端子１５９とＤ０−端子１６０とは、それぞれ、プルアップ抵抗によってＶＤＤ電位（例えば、３．３Ｖ）にプルアップされる。
時刻Ｔ１以前は、差動データ出力回路９７８のイネーブル信号が論理値“０”となっているので、差動データ出力回路１７８は、停止状態となり、Ｄ０＋端子１５９とＤ０−端子１６０との双方は、プルアップ抵抗によってＶＤＤ電位（例えば３．３Ｖ）にプルアップされている。
【０１２９】
時刻Ｔ１に、差動データ出力回路９７８のイネーブル信号が論理値“０”から論理値“１”に変化すると、差動データ出力回路９７８は、停止状態から起動状態に変化し、入力信号が論理値“０”なので、例えば、Ｄ０＋端子１５９が０Ｖとなり、Ｄ０−端子１６０が４００ｍＶとなる差動Ｌｏｗ信号の出力を開始する。
差動データ出力回路１７８は、起動状態になると１５００ＭＨｚの動作周波数で動作し、論理値“０”が入力されている期間、差動Ｌｏｗ信号を出力し続ける。
【０１３０】
時刻Ｔ２に、差動データ出力回路１７８に所定サイクル数からなる同期信号の入力が開始されると、差動データ出力回路１７８は、差動同期信号の出力を開始する。
時刻Ｔ３に、差動データ出力回路１７８にパケット信号の入力が開始されると、差動データ出力回路１７８は差動パケット信号の出力を開始する。
時刻Ｔ４に、差動データ出力回路１７８の入力信号が、論理値“０”となると、差動データ出力回路１７８は、例えば、Ｄ０＋端子１５９が０Ｖとなり、Ｄ０−端子１６０が４００ｍＶとなる差動Ｌｏｗ信号の出力を開始する。
【０１３１】
時刻Ｔ５に差動データ出力回路１７８のイネーブル信号が論理値“１”から論理値“０”に変化すると、差動データ出力回路１７８は、起動状態から停止状態に変化し、Ｄ０＋端子１５９とＤ０−端子１６０との双方は、プルアップ抵抗によってＶＤＤ電位（例えば１．８Ｖ）にプルアップされる。
＜動作＞
デバイス９００とホスト９５０とからなる変形システムは、実施の形態におけるデバイス１００とホスト１５０とからなるシステムと同様の処理を行う。
【０１３２】
よって、ここでは、デバイス９００とホスト９５０とからなる変形システムの動作についての説明を省略する。
＜補足＞
以上、本発明に係るインターフェース回路の一実施形態として、実施の形態、変形例を用いて、通信方式としてシングルエンド方式と差動方式との双方をサポートするインターフェース回路について説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りのインターフェース回路に限られないことはもちろんである。
（１）実施の形態において、デバイス１００は、メモリカードであるとして説明したが、デバイス側インターフェース回路１０１と同等の機能を持つ回路を有していれば、必ずしもメモリカードである必要はない。
【０１３３】
例えば、ＲＦ（Radio Frequency）トランシーバ等を有するＷＬＡＮ（Wireless Local Area Network）デバイス等が考えられる。
（２）実施の形態において、ホスト１５０は、パーソナルコンピュータであるとして説明したが、ホスト側インターフェース回路１５１と同等の機能を持つ回路を有していれば、必ずしもパーソナルコンピュータである必要はない。
【０１３４】
例えば、ブルーレイレコーダ等といったＡＶ（Audio Visual）機器、携帯電話機等が考えられる。
（３）実施の形態において、ＰＬＬ回路１２４とＰＬＬ回路１７４とは、入力クロック信号の１０逓倍の出力クロック信号を出力するとして説明したが、クロックジェネレータ１８１が生成するクロックの周波数を、通信に利用する差動信号の動作周波数に変換する機能があれば、必ずしも１０逓倍の出力クロック信号を出力する必要はなく、例えば、３０逓倍等であっても構わない。
（４）実施の形態において、クロックジェネレータ１８１は、ＰＬＬ回路１７４に周波数が１５０ＭＨｚのクロック信号を出力するとして説明したが、ＰＬＬ回路１７４によって逓倍されたクロック信号の周波数が、通信に利用する差動信号の動作周波数となれば、必ずしも１５０ＭＨｚのクロック信号を出力する必要はなく、例えば、５０ＭＨｚのクロック信号を出力するとしても構わない。
（５）実施の形態において、通信に利用する差動信号は、振幅が４００ｍＶであるとして説明したが、デバイス１００とホスト１５０とが通信に利用することができるものであれば、必ずしも振幅が４００ｍＶである必要はなく、例えば、２００ｍＶ、８００ｍＶ等であっても構わない。
（６）実施の形態において、データ変換回路１２３は、８ｂ／１０ｂ方式で符号化又は復号するとして説明したが、通信に利用する差動信号の品質を高めるための符号化又は復号方式であれば、必ずしも８ｂ／１０ｂ方式で符号化又は復号する必要はなく、例えば、６４ｂ／６６ｂ方式で符号化又は復号しても構わない。
【０１３５】
さらには、必ずしも符号化自体を行う必要がない場合も考えられる。
（７）実施の形態において、デバイス１００は、電位差３．３Ｖの電力を供給されるとして説明したが、デバイス１００が正常に動作することができる電位差であれば、必ずしも電位差は３．３Ｖである必要はなく、例えば、１．８Ｖなどであっても構わない。また、シングルエンドインターフェースと、差動インターフェース用の電源端子を独立に設け、例えばシングルエンドインターフェースには３．３Ｖ、差動インターフェースには１．８Ｖを独立に供給しても構わない。
（８）実施の形態において、ホスト側処理は、ユーザによってデバイス１００がＣＰＵ１６３に接続された旨の通知信号が入力されることで開始されるとして説明したが、デバイス１００がホスト１５０に接続されたことを検知することで開始されれば、必ずしもユーザによってデバイス１００がホスト１５０に接続された旨のコマンドが入力されることで開始される必要はない。
【０１３６】
例えば、コネクタ２００は、デバイス１００が挿入されたことを検知することができるセンサを有し、ホスト側処理は、このセンサによってコネクタ２００にデバイス１００が挿入されたことを検知することで、その処理を開始されるとしても構わない。
（９）変形例において、検知回路１２６は、入力端子対における電位差が閾値（ここでは２００ｍＶ）以上の場合に受信イネーブル信号を出力する回路であるとしたが、入力端子対に差動信号が入力されていることを検知して受信イネーブル信号を出力することができれば、必ずしも、入力端子対における電位差が閾値（ここでは２００ｍＶ）以上の場合に受信イネーブル信号を出力する回路でなくても構わない。
【０１３７】
例えば、図１７に示される検知回路１７００等が考えられる。
検知回路１７００は、レベル判定回路１７０１とレベル判定回路１７０２と２入力論理積否定回路１７０３とから構成され、２つの入力端子と１つの出力端子とを備える。
レベル判定回路１７０１とレベル判定回路１７０２とは、それぞれ、プルアップ電位（例えば、３．３Ｖ）と差動信号における最大電位（例えば、４００ｍＶ）との間の所定の電位（例えば、１．３５Ｖ）以上の信号が入力されると、論理値“１”を出力し、所定の電位（例えば、１．３５Ｖ）未満の信号が入力されると、論理値“０”を出力する回路である。
【０１３８】
この検知回路１７００は、２つの入力端子が、それぞれ、プルアップ電位（例えば、１．８Ｖ）の場合には、論理値“０”を出力し、２つの入力端子のうち、少なくとも１方の入力端子が差動信号における最大電位（例えば、４００ｍＶ）よりも低い電位の場合は、論理値“１”を出力する。
従って、この検知回路１７００を、変形例における検知回路１２６の代わりに、入力端子対に差動信号が入力されていることを検知して受信イネーブル信号を出力する回路として利用することができる。
（１０）実施の形態において、差動データ出力回路１２９は、停止状態となると、内蔵するプルダウン回路によりデータ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１との電位をＶＳＳ電位とするとしたが、差動データ出力回路１２９が停止状態となると、Ｄ１＋端子１１１の電位とＤ１−端子１１２の電位とがＶＳＳ電位となる構成であれば、必ずしも、内蔵するプルダウン回路によりデータ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１との電位をＶＳＳ電位とする必要はない。
【０１３９】
例えは、差動データ出力回路１２９は、停止状態となるとデータ出力端子ｏｕｔ０とデータ出力端子ｏｕｔ１とがハイインピーダンス状態となる構成であって、Ｄ１＋端子１１１とＤ１−端子１１２とには、それぞれ差動データ出力回路１２９の外部のプルダウン抵抗が接続されている構成であっても構わない。
（１１）以下、さらに本発明の一実施形態に係るインターフェース回路の構成及びその変形例と各効果について説明する。
【０１４０】
（ａ）本発明の一実施形態に係るインターフェース回路は、シングルエンド信号と差動信号とを伝送する外部の第１伝送経路を介して信号が入力される第１入力端子と、差動信号を伝送する外部の第２伝送経路を介して信号が入力される第２入力端子と、前記第１入力端子と線路で接続され、前記第１入力端子から入力された信号が並列して供給されるシングルエンド信号レシーバと差動信号レシーバと、前記第２入力端子と線路で接続され、前記第２入力端子から差動信号が入力されてきたことを検知する検知回路と、前記検知回路によって、前記第２入力端子から入力される差動信号が検知されると、前記差動信号レシーバにイネーブル信号の継続的な出力を開始するコントローラとを備え、前記検知回路は、前記差動信号レシーバが停止状態であるときに前記差動信号の入力を検知すると、前記差動信号レシーバを起動し、前記差動信号レシーバは、前記イネーブル信号を入力されている間は、起動されている状態を継続することを特徴とする。
【０１４１】
上述の構成を備える本発明に係るインターフェース回路によると、差動信号レシーバは、イネーブル信号が入力されている間は、起動されている状態を継続する。
従って、差動信号レシーバは、意図しないタイミングで停止してしまう可能性を低く抑えられるようになる。
図１８は、上述の変形例におけるインターフェース回路１８００の回路図である。
【０１４２】
同図に示される通り、インターフェース回路１８００は、入力口Ａ１８１１と入力口Ｂ１８１２とからなる第１入力端子１８１０と、入力口Ｃ１８２１と入力口Ｄ１８２２とからなる第２入力端子１８２０と、シングルエンド信号レシーバ１８３０と、差動信号レシーバ１８５０と、検知回路１８４０と、コントローラ１８６０とから構成される。
第１入力端子１８１０は、シングルエンド信号と差動信号とを伝送する第１伝送経路１８９１を介して信号が入力される。
【０１４３】
第２入力端子１８２０は、差動信号を伝送する第２伝送経路１８９２を介して信号が入力される。
シングルエンド信号レシーバ１８３０と差動信号レシーバ１８５０とは、第１入力端子１８１０と線路で接続され、前記第１入力端子１８１０から入力された信号が並列して供給される。
【０１４４】
検知回路１８４０は、第２入力端子１８２０と線路で接続され、第２入力端子１８２０から差動信号が入力されてきたことを検知し、差動信号レシーバ１８５０が停止状態であるときに差動信号の入力を検知すると、差動信号レシーバ１８５０を起動する。
コントローラ１８６０は、検知回路１８４０によって差動信号が検知されると、差動信号レシーバ１８５０にイネーブル信号を出力する。
【０１４５】
差動信号レシーバ１８５０は、コントローラ１８６０からイネーブル信号を入力されている間は、起動状態を継続する。
シングルエンド信号レシーバ１８３０は、一例として、１組のＣＭＯＳバッファによって実現される。
検知回路１８４０は、一例として、実施の形態における検知回路１２６（図１参照）として実現される。
【０１４６】
差動信号レシーバ１８５０は、一例として、実施の形態における論理和回路１２５と、施の形態における差動クロック入力回路１２７とからなり、論理和回路１２５の出力が、差動クロック入力回路１２７のイネーブル信号入力端子ｅｎに接続されることによって実現される。
（ｂ）また、前記差動信号レシーバは、起動されている場合において差動クロック信号を入力されると、当該差動クロック信号と同じ周波数のシングルエンド信号であるクロック信号を生成して出力し、前記差動信号レシーバから出力される第１クロック信号が入力されると、当該第１クロック信号の周波数より高い周波数の第２クロック信号を生成して出力するクロック変換回路と、前記第２入力端子と線路で接続され、前記第２入力端子から入力された信号を受ける差動データ信号レシーバと、停止状態でないときに外部の第３伝送経路に前記第２クロック信号に同期する差動信号を出力する差動信号ドライバとを備え、前記検知回路は、前記差動信号レシーバが停止状態であるときに前記差動信号の入力を検知すると、前記差動信号レシーバを起動し、前記差動信号レシーバが起動されている状態であるときに前記差動信号の入力を検知しなくなると、前記差動信号レシーバを停止し、前記差動信号ドライバは、停止状態において出力がハイインピーダンス状態となるとしてもよい。
【０１４７】
これにより、第２入力端子から入力される差動信号を制御されることで、差動信号レシーバの起動されている状態を維持しつつ、差動データ信号レシーバを停止状態とすることができるようになる。
（ｃ）また、前記差動信号ドライバが停止状態である場合における前記第３伝送経路の電位をグラウンド電位にする状態維持回路を備え、前記検知回路は、前記差動信号の検知を、前記第２入力端子から入力されてきた信号の振幅が所定の電位以上となる場合に行うとしてもよい。
【０１４８】
これにより、第３伝送経路の電位がグラウンド電位に維持されていないことを調べることで、差動信号ドライバが停止状態でないことがわかるようになる。
（ｄ）また、前記差動信号ドライバが停止状態である場合における前記第３伝送経路の電位をグラウンド電位よりも高い第１の所定電位にする状態維持回路を備え、前記検知回路は、前記差動信号の検知を、前記第２入力端子から入力されてきた信号の電位が、グラウンド電位よりも高く、前記第１の所定電位よりも低い第２の所定電位以下となる場合に行うとしてもよい。
【０１４９】
これにより、第３伝送経路の電位が第１の所定電位に維持されていないことを調べることで、差動信号ドライバが停止状態でないことがわかるようになる。
（ｅ）また、外部のホスト側インターフェース回路と通信を行うインターフェース回路であって、前記ホスト側インターフェース回路は、差動クロック信号を前記第１伝送経路に出力するホスト側差動クロック信号ドライバと、差動信号を前記第２伝送経路に出力するホスト側差動データ信号ドライバと、前記第３伝送経路に伝送されている差動信号を受信するホスト側差動データ信号レシーバと、前記ホスト側差動データ信号ドライバに第１の所定の差動信号からなる待機信号を出力させるホスト側コントローラとを備え、前記ホスト側コントローラは、前記ホスト側差動クロック信号ドライバが差動クロック信号を出力している場合において、前記ホスト側差動データ信号ドライバに前記待機信号を出力させるときに、前記ホスト側差動データ信号レシーバが、第２の所定の差動信号からなる、前記待機信号に対する返信信号を受信すると、前記ホスト側差動データ信号レシーバが前記返信信号を受信してから所定時間経過後に、前記ホスト側差動クロック信号ドライバに差動クロック信号の出力を停止させるとしてもよい。
【０１５０】
これにより、第２伝送経路から待機信号が入力された場合において、差動信号ドライバが返信信号を出力したときに限って、第１伝送経路から入力される差動クロック信号が停止されるようになる。
（ｆ）また、前記コントローラは、前記イネーブル信号を出力している場合において、起動されている状態の前記差動データ信号レシーバに前記待機信号が入力されるときに、前記検知回路が前記差動信号の入力を検知しなくなると、前記差動信号ドライバに前記返信信号を出力させ、前記差動信号ドライバに前記返信信号を出力させてから前記所定時間以内に、前記イネーブル信号の出力を停止するとしてもよい。
【０１５１】
これにより、第２伝送経路から待機信号が入力された場合において、検知回路が差動信号の入力を検知しなくなるときに限って、差動信号ドライバが返信信号を出力し、コントローラがイネーブル信号の出力を停止するようになる。
【産業上の利用可能性】
【０１５２】
本発明は、差動信号を用いて通信を行うインターフェース回路を備える機器に広く利用することができる。
【符号の説明】
【０１５３】
１００  デバイス
１０１  デバイス側インターフェース回路
１２０  デバイス側差動インターフェース回路
１２１  物理層ＰＨＹ
１２２  リンクコントローラ
１２３  データ変換回路
１２４  ＰＬＬ回路
１２５  論理和回路
１２６  検知回路
１２７  差動クロック入力回路
１２８  差動データ入力回路
１２９  差動データ出力回路
１４０  デバイス側シングルエンドインターフェース回路
１４１  バッファ回路
１４２  データ処理回路
１５０  ホスト
１５１  ホスト側インターフェース回路
１７０  ホスト側差動インターフェース回路
１７１  物理層ＰＨＹ
１７２  リンクコントローラ
１７３  データ変換回路
１７４  ＰＬＬ回路
１７６  検知回路
１７７  差動クロック出力回路
１７８  差動データ出力回路
１７９  差動データ入力回路
１８１  クロックジェネレータ
１９０  デバイス側シングルエンドインターフェース回路
１９１  バッファ回路
１９２  データ処理回路
【図１】
0005453449.tif 000002
【図２】
0005453449.tif 000003
【図３】
0005453449.tif 000004
【図４】
0005453449.tif 000005
【図５】
0005453449.tif 000006
【図６】
0005453449.tif 000007
【図７】
0005453449.tif 000008
【図８】
0005453449.tif 000009
【図９】
0005453449.tif 000010
【図１０】
0005453449.tif 000011
【図１１】
0005453449.tif 000012
【図１２】
0005453449.tif 000013
【図１３】
0005453449.tif 000014
【図１４】
0005453449.tif 000015
【図１５】
0005453449.tif 000016
【図１６】
0005453449.tif 000017
【図１７】
0005453449.tif 000018
【図１８】
0005453449.tif 000019