(57)【要約】【課題】  アイドル期間での省電力化を実現できるデータ転送制御装置及び電子機器を提供すること。【解決手段】  データ転送制御装置は、データの符号化と特殊コードの生成を行うエンコード回路５４と、エンコード回路５４からのパラレルデータをシリアルデータに変換するパラレル／シリアル変換回路５６と、シリアルデータを受け、特殊コードとデータをシリアル信号線を介して送信するトランスミッタ回路ＯＵＴＴＸを含む。ＯＵＴＴＸはアイドル状態を表す信号として、所与のビット数以上連続して論理レベルが第１の論理レベルに固定されるアイドル信号を出力する。エンコード回路５４は、上層の回路からの送信データ有効・無効信号ＴｘＶａｌｉｄにより、送信データが不存在であることが指示された場合に、その指示後にその動作を停止する。【選択図】      図９
2005260360.tif 000002
【特許請求の範囲】
【請求項１】
シリアル信号線を介したデータ転送を行うためのデータ転送制御装置であって、
所定の符号化方式によりデータを符号化する処理と、前記符号化方式により規定される特殊コードの生成処理とを行うエンコード回路と、
前記エンコード回路からパラレルのデータを受け、パラレルのデータをシリアルのデータに変換するパラレル／シリアル変換回路と、
前記パラレル／シリアル変換回路からシリアルのデータを受け、特殊コードとデータをシリアル信号線を介して送信するトランスミッタ回路とを含み、
前記トランスミッタ回路が、
アイドル状態を表す信号として、所与のビット数以上連続して論理レベルが第１の論理レベルに固定されるアイドル信号をシリアル信号線に出力し、
前記エンコード回路が、
上層の回路からの送信データ有効・無効信号により、送信データが不存在でありアイドル期間であることが指示された場合に、その指示後に動作を停止することを特徴とするデータ転送制御装置。
【請求項２】
請求項１において、
前記パラレル／シリアル変換回路が、
前記送信データ有効・無効信号により送信データの不存在が指示され、且つ、パラレル／シリアル変換回路からのシリアルデータ出力が完了した後に、動作を停止することを特徴とするデータ転送制御装置。
【請求項３】
請求項１又は２において、
前記エンコード回路、前記パラレル／シリアル変換回路の動作を停止させる動作停止回路を含み、
前記動作停止回路が、
前記エンコード回路、前記パラレル／シリアル変換回路に供給されるクロックを停止することで、前記エンコード回路、前記パラレル／シリアル変換回路の動作を停止させることを特徴とするデータ転送制御装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記エンコード回路が、
ＮビットのデータをＭビット（Ｎ＜Ｍ。Ｎ、Ｍは２以上の整数）のデータに拡張する符号化方式でデータを符号化し、
前記トランスミッタ回路が、
Ｍビット以上連続して論理レベルが第１の論理レベルに固定されるアイドル信号をシリアル信号線に出力することを特徴とするデータ転送制御装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記エンコード回路が、
ＮビットのデータをＭビット（Ｎ＜Ｍ。Ｎ、Ｍは２以上の整数）のデータに拡張する符号化方式でデータを符号化し、
前記トランスミッタ回路が、
Ｍビットの特殊コードをシリアル信号線を介して送信することを特徴とするデータ転送制御装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記エンコード回路が、
上層の回路から特殊コード生成指示信号を受け、前記特殊コード生成指示信号により指示される特殊コードの生成処理を行うことを特徴とするデータ転送制御装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記トランスミッタ回路が、
前記特殊コードとして、第１の極性のプリアンブルコードと第２の極性のプリアンブルコードとをシリアル信号線を介して送信することを特徴とするデータ転送制御装置。
【請求項８】
シリアル信号線を介したデータ転送を行うためのデータ転送制御装置であって、
特殊コードとデータをシリアル信号線を介して受信するレシーバ回路と、
前記レシーバ回路からシリアルのデータを受け、シリアルのデータをパラレルのデータに変換するシリアル／パラレル変換回路と、
所与のビット数以上連続して論理レベルが第１の論理レベルに固定されるアイドル信号を検出するアイドル検出回路と、
前記シリアル／パラレル変換回路からパラレルのデータを受け、所定の符号化方式により符号化されたデータと特殊コードの復号化処理を行うデコード回路とを含み、
前記シリアル／パラレル変換回路が、
前記アイドル検出回路によりアイドル信号が検出され、且つ、シリアル／パラレル変換回路からのパラレルデータ出力が完了した後に、動作を停止することを特徴とするデータ転送制御装置。
【請求項９】
請求項８において、
前記デコード回路が、
前記アイドル検出回路によりアイドル信号が検出され、且つ、前記デコード回路からの復号化データ出力が完了した後に、動作を停止することを特徴とするデータ転送制御装置。
【請求項１０】
請求項８又は９において、
前記デコード回路、前記シリアル／パラレル変換回路の動作を停止させる動作停止回路を含み、
前記動作停止回路が、
前記デコード回路、前記シリアル／パラレル変換回路に供給されるクロックを停止することで、前記デコード回路、前記シリアル／パラレル変換回路の動作を停止させることを特徴とするデータ転送制御装置。
【請求項１１】
請求項８乃至１０のいずれかにおいて、
前記特殊コードの１つであるプリアンブルコードの検出処理を行い、プリアンブルコードが検出されなかった場合にプリアンブルエラーを通知するプリアンブルエラー検出回路を含み、
前記プリアンブルエラー検出回路が、
第１の極性のプリアンブルコードと第２の極性のプリアンブルコードとがシリアル信号線を介して転送される場合に、最初に受信した第１の極性のプリアンブルコードについては検出処理を行わずに、その後に受信した第２の極性のプリアンブルコードの検出処理を行うことを特徴とするデータ転送制御装置。
【請求項１２】
請求項１乃至１１のいずれかのデータ転送制御装置と、
通信デバイス、プロセッサ、撮像デバイス、及び表示デバイスの少なくとも１つとを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置及び電子機器に関する。
【背景技術】
【０００２】
近年、ＥＭＩノイズの低減などを目的としたインターフェースとしてＬＶＤＳ（Low Voltage Differential Signaling）などの高速シリアル転送インターフェースが脚光を浴びている。この高速シリアル転送インターフェースでは、トランスミッタ回路がシリアル化されたデータを差動信号(diffrential signals）により送信し、レシーバ回路が差動信号を差動増幅することでデータ転送を実現する。
【０００３】
さて、一般的な携帯電話は、電話番号入力や文字入力のためのボタンが設けられる第１の機器部分と、メインＬＣＤ（Liquid Crystal Display）やサブＬＣＤやカメラが設けられる第２の機器部分と、第１、第２の機器部分を接続するヒンジなどの接続部分により構成される。この場合に、第１の機器部分に設けられる第１の基板と、第２の機器部分に設けられる第２の基板との間のデータ転送を、シリアル信号線を用いたシリアル転送により行えば、接続部分を通る配線の本数を減らすことができ、好都合である。従って、このような接続部分での効率的なシリアル転送を実現できる高速シリアルインターフェースの出現が望まれている。
【０００４】
ところで、このような高速シリアルインターフェースでは、バス上でデータが転送されていない状態であるアイドル状態が定義される。そして高速シリアルインターフェースの１つであるＩＥＥＥ１３９４などでは、複数のノード間でバスの占有権の調停が行われ、調停に勝ったノードがバスを占有する。従ってバスの占有権を失ったノードは、バスを解放するため、アイドル期間にシリアル信号線を駆動することはない。
【０００５】
一方、パーソナルコンピュータ用の高速シリアルインターフェースとして注目されているＰＣＩ Ｅｘｐｒｅｓｓでは、アイドル期間ではアイドルコードがシリアル信号線に出力される。しかしながら、アイドル期間にアイドルコードを出力する手法では、データ転送制御装置のエンコード回路（コード生成回路）やデコード回路（コード検出回路）がアイドル期間においても動作しなければならない。この点、ＰＣＩ Ｅｘｐｒｅｓｓが対象とするパーソナルコンピュータでは、省電力がそれほど厳しく要求されないため、このようにアイドル期間にアイドルコードが出力されても、それほど問題にはならない。しかしながら携帯電話などの携帯情報機器では、待機時における省電力も厳しく要求される。従ってアイドル期間での省電力を実現できるデータ転送制御装置の提供が望まれる。
【特許文献１】特開２００１−２２２２４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところはアイドル期間での省電力を実現できるデータ転送制御装置及び電子機器を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、シリアル信号線を介したデータ転送を行うためのデータ転送制御装置であって、所定の符号化方式によりデータを符号化する処理と、前記符号化方式により規定される特殊コードの生成処理とを行うエンコード回路と、前記エンコード回路からパラレルのデータを受け、パラレルのデータをシリアルのデータに変換するパラレル／シリアル変換回路と、前記パラレル／シリアル変換回路からシリアルのデータを受け、特殊コードとデータをシリアル信号線を介して送信するトランスミッタ回路とを含み、前記トランスミッタ回路が、アイドル状態を表す信号として、所与のビット数以上連続して論理レベルが第１の論理レベルに固定されるアイドル信号をシリアル信号線に出力し、前記エンコード回路が、上層の回路からの送信データ有効・無効信号により、送信データが不存在でありアイドル期間であることが指示された場合に、その指示後に動作を停止するデータ転送制御装置に関係する。
【０００８】
本発明によれば、論理レベルが第１の論理レベルに固定される信号がアイドル信号としてシリアル信号線に出力される。そして上層の回路からの送信データ有効・無効信号により、送信データが不存在であることが指示されると（アイドル期間であることが指示されると）、その指示後にエンコード回路の動作が停止する。このようにすれば、アイドル期間においてエンコード回路で無駄に電力が消費される事態を防止でき、省電力化を図れる。
【０００９】
また本発明では、前記パラレル／シリアル変換回路が、前記送信データ有効・無効信号により送信データの不存在が指示され、且つ、パラレル／シリアル変換回路からのシリアルデータ出力が完了した後に、動作を停止するようにしてもよい。
【００１０】
このようにすれば、パラレル／シリアル変換回路において処理が済んでいないデータが、回路の動作停止により失われてしまう事態を防止しながらも、省電力化を実現できる。
【００１１】
また本発明では、前記エンコード回路、前記パラレル／シリアル変換回路の動作を停止させる動作停止回路を含み、前記動作停止回路が、前記エンコード回路、前記パラレル／シリアル変換回路に供給されるクロックを停止することで、前記エンコード回路、前記パラレル／シリアル変換回路の動作を停止させるようにしてもよい。
【００１２】
このようにすればアイドル期間においてエンコード回路やパラレル／シリアル変換回路のＤフリップフロップ回路等で消費される電力を低減できる。
【００１３】
また本発明では、前記エンコード回路が、ＮビットのデータをＭビット（Ｎ＜Ｍ。Ｎ、Ｍは２以上の整数）のデータに拡張する符号化方式でデータを符号化し、前記トランスミッタ回路が、Ｍビット以上連続して論理レベルが第１の論理レベルに固定されるアイドル信号をシリアル信号線に出力するようにしてもよい。
【００１４】
このようにアイドル信号を定義すれば、アイドル信号の検出や特殊コードの検出を行う回路の構成や処理を簡素化できる。
【００１５】
また本発明では、前記エンコード回路が、ＮビットのデータをＭビット（Ｎ＜Ｍ。Ｎ、Ｍは２以上の整数）のデータに拡張する符号化方式でデータを符号化し、前記トランスミッタ回路が、Ｍビットの特殊コードをシリアル信号線を介して送信するようにしてもよい。
【００１６】
また本発明では、前記エンコード回路が、上層の回路から特殊コード生成指示信号を受け、前記特殊コード生成指示信号により指示される特殊コードの生成処理を行うようにしてもよい。
【００１７】
このように特殊コード生成指示信号を利用して特殊コードの生成を行えば、エンコード回路の処理や構成を簡素化でき、回路の小規模化等が可能になる。
【００１８】
また本発明では、前記トランスミッタ回路が、前記特殊コードとして、第１の極性のプリアンブルコードと第２の極性のプリアンブルコードとをシリアル信号線を介して送信するようにしてもよい。
【００１９】
このようにすれば、第１の論理レベルに固定されるアイドル信号を出力した場合にも、相手側データ転送制御装置はプリアンブルコードを検出して受信の準備等を確実に行うことが可能になる。
【００２０】
また本発明は、シリアル信号線を介したデータ転送を行うためのデータ転送制御装置であって、特殊コードとデータをシリアル信号線を介して受信するレシーバ回路と、前記レシーバ回路からシリアルのデータを受け、シリアルのデータをパラレルのデータに変換するシリアル／パラレル変換回路と、所与のビット数以上連続して論理レベルが第１の論理レベルに固定されるアイドル信号を検出するアイドル検出回路と、前記シリアル／パラレル変換回路からパラレルのデータを受け、所定の符号化方式により符号化されたデータと特殊コードの復号化処理を行うデコード回路とを含み、前記シリアル／パラレル変換回路が、前記アイドル検出回路によりアイドル信号が検出され、且つ、シリアル／パラレル変換回路からのパラレルデータ出力が完了した後に、動作を停止するデータ転送制御装置に関係する。
【００２１】
本発明によれば、論理レベルが第１の論理レベルに固定される信号がアイドル信号の検出が行われる。そしてアイドル信号が検出され、且つ、パラレルデータ出力が完了した後に、シリアル／パラレル回路の動作が停止する。このようにすれば、アイドル期間においてシリアル／パラレル変換回路で無駄に電力が消費される事態を防止でき、省電力化を図れる。
【００２２】
また本発明では、前記デコード回路が、前記アイドル検出回路によりアイドル信号が検出され、且つ、前記デコード回路からの復号化データ出力が完了した後に、動作を停止するようにしてもよい。
【００２３】
このようにすれば、デコード回路において処理が済んでいないデータが、回路の動作停止により失われてしまう事態を防止しながらも、省電力化を図れる。
【００２４】
また本発明では、前記デコード回路、前記シリアル／パラレル変換回路の動作を停止させる動作停止回路を含み、前記動作停止回路が、前記デコード回路、前記シリアル／パラレル変換回路に供給されるクロックを停止することで、前記デコード回路、前記シリアル／パラレル変換回路の動作を停止させるようにしてもよい。
【００２５】
このようにすればアイドル期間においてデコード回路やシリアル／パラレル変換回路のＤフリップフロップ回路等で消費される電力を低減できる。
【００２６】
また本発明では、前記特殊コードの１つであるプリアンブルコードの検出処理を行い、プリアンブルコードが検出されなかった場合にプリアンブルエラーを通知するプリアンブルエラー検出回路を含み、前記プリアンブルエラー検出回路が、第１の極性のプリアンブルコードと第２の極性のプリアンブルコードとがシリアル信号線を介して転送される場合に、最初に受信した第１の極性のプリアンブルコードについては検出処理を行わずに、その後に受信した第２の極性のプリアンブルコードの検出処理を行うようにしてもよい。
【００２７】
このように、最初に受信した第１の極性のプリアンブルコードを無視して、次の第２の極性のプリアンブルコードを検出するようにすれば、第１の極性のプリアンブルコードの例えば先頭ビットでのレベル変化に追従できずに検出エラーが発生した場合にも、その検出エラーによりプリアンブルエラーが通知されてしまう事態を防止できる。これによりデータ転送の信頼性を向上できる。
【００２８】
また本発明は、上記のいずれかのデータ転送制御装置と、通信デバイス、プロセッサ、撮像デバイス、及び表示デバイスの少なくとも１つとを含む電子機器に関係する。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３０】
１．データ転送制御装置の構成例
図１にホスト側、ターゲット側のデータ転送制御装置１０、３０の構成例を示す。本実施形態ではこれらのホスト側、ターゲット側のデータ転送制御装置１０、３０を用いることで、システムバス、インターフェースバス間のブリッジ機能を実現している。なおデータ転送制御装置１０、３０は図１の構成に限定されず、図１の回路ブロックの一部を省略したり、回路ブロック間の接続形態を変更したり、図１とは異なる回路ブロックを追加してもよい。例えばリンクコントローラ２００、３００、インターフェース回路２１０、３１０の少なくとも１つを省略する構成としてもよい。
【００３１】
ホスト（ＴＸ）側データ転送制御装置１０とターゲット（ＲＸ）側データ転送制御装置３０は、例えば差動信号(diffrential signals）のシリアルバスを介してパケット転送を行う。より具体的には、シリアルバスの差動信号線（広義にはシリアル信号線。他の説明でも同様）を電流駆動（或いは電圧駆動）することによりパケットの送受信を行う。
【００３２】
ホスト側データ転送制御装置１０は、ＣＰＵや表示コントローラ等のシステムデバイスとの間のインターフェース処理を行うインターフェース回路２１０を含む。インターフェース回路２１０は、システムデバイスとの間のＲＧＢインターフェース、ＭＰＵインターフェース、或いはシリアルインターフェースなどを実現する。
【００３３】
ホスト側データ転送制御装置１０は、リンク層の処理（パケット生成、パケット解析、トランザクション制御等）を行うリンクコントローラ２００を含む。リンクコントローラ２００は、シリアルバスを介してターゲット側データ転送制御装置３０に転送されるパケット（リクエストパケット、ストリームパケット等）を生成し、生成したパケットを送信する処理を行う。具体的には、送信トランザクションを起動して、生成したパケットの送信をトランシーバ２０に指示する。
【００３４】
ホスト側データ転送制御装置１０は、物理層の処理等を行うトランシーバ２０を含む。このトランシーバ２０は、リンクコントローラ２００により指示されたパケットを、シリアルバスを介してターゲット側データ転送制御装置３０に送信する。なおトランシーバ２０はターゲット側データ転送制御装置３０からのパケットの受信も行う。この場合にはリンクコントローラ２００が、受信したパケットを解析して、リンク層（トランザクション層）の処理を行う。
【００３５】
ホスト側データ転送制御装置１０は内部レジスタ２５０を含む。この内部レジスタ２５０は例えばポートアクセスレジスタ、コンフィギュレーションレジスタ、ＬＶＤＳレジスタ、割り込み制御レジスタ、ターゲット（ＲＸ）用レジスタ、パワーダウンモード設定レジスタなどを含む。システムデバイスは、システムバスを介して内部レジスタ２５０にアドレス（コマンド）やデータ（パラメータ）を書き込んだり、内部レジスタ２５０からリードデータやステータス情報等を読み込む。また内部レジスタ２５０のうちのターゲット用レジスタの情報はパケット化されて、ターゲット側データ転送制御装置３０の内部レジスタ３５０にシリアルバスを介して転送される。即ちターゲット側の内部レジスタ３５０はホスト側の内部レジスタ２５０のサブセット（シャドウレジスタ）になっている。
【００３６】
ターゲット側データ転送制御装置３０は、物理層の処理等を行うトランシーバ４０を含む。このトランシーバ４０は、シリアルバスを介してホスト側データ転送制御装置１０からのパケットを受信する。なおトランシーバ４０はホスト側データ転送制御装置１０へのパケットの送信も行う。この場合にはリンクコントローラ３００が、送信するパケットを生成し、生成したパケットの送信を指示する。
【００３７】
ターゲット側データ転送制御装置３０はリンクコントローラ３００を含む。このリンクコントローラ３００は、ホスト側データ転送制御装置１０からのパケットの受信処理を行い、受信したパケットを解析するリンク層（トランザクション層）の処理を行う。
【００３８】
ターゲット側データ転送制御装置３０は、インターフェースバスに接続される１又は複数のデバイス（メインＬＣＤ、サブＬＣＤ、カメラ等）との間のインターフェース処理を行うインターフェース回路３１０を含む。このインターフェース回路３１０は、図示しないＲＧＢインターフェース回路、ＭＰＵインターフェース回路、シリアルインターフェース回路などを含むことができる。
【００３９】
ターゲット側データ転送制御装置３０は内部レジスタ３５０を含む。この内部レジスタ３５０は、ターゲット側に必要な情報を記憶する。具体的には、インターフェース回路３１０から出力されるインターフェース信号の信号形式（出力フォーマット）を規定するためのインターフェース情報などを記憶する。
【００４０】
２．シリアル転送手法
次に本実施形態のシリアル転送手法とトランシーバ２０、４０の構成例を説明する。なお本実施形態において、ホスト側データ転送制御装置１０はクロックを供給する側であり、ターゲット側データ転送制御装置３０は、供給されたクロックをシステムクロックとして使用して動作する側である。
【００４１】
図１においてＤＴＯ＋、ＤＴＯ−はホスト側（データ転送制御装置１０）がターゲット側（データ転送制御装置３０）に出力するデータ（ＯＵＴデータ）である。ＣＬＫ＋、ＣＬＫ−は、ホスト側がターゲット側に供給するクロックである。ホスト側はＣＬＫ＋／−のエッジ（例えば立ち上がりエッジ。立ち下がりエッジでもよい）に同期してＤＴＯ＋／−を出力する。従ってターゲット側は、ＣＬＫ＋／−を用いてＤＴＯ＋／−をサンプリングして取り込むことができる。更に図１では、ターゲット側はホスト側から供給されたクロックＣＬＫ＋／−に基づいて動作する。即ちＣＬＫ＋／−はターゲット側のシステムクロックになる。このためＰＬＬ（Phase Locked Loop）回路１２（広義にはクロック生成回路）はホスト側に設けられ、ターゲット側には設けられていない。なおＰＬＬ回路１２を設けずに外部からのシステムクロックによりクロックＣＬＫを供給してもよい。
【００４２】
ＤＴＩ＋、ＤＴＩ−はターゲット側がホスト側に出力するデータ（ＩＮデータ）である。ＳＴＢ＋、ＳＴＢ−は、ターゲット側がホスト側に供給するストローブ（広義にはクロック）である。ターゲット側はホスト側から供給されたＣＬＫ＋／−に基づいてＳＴＢ＋／−を生成して出力する。そしてターゲット側はＳＴＢ＋／−のエッジ（例えば立ち上がりエッジ。立ち下がりエッジでもよい）に同期してＤＴＩ＋／−を出力する。従ってホスト側はＳＴＢ＋／−を用いてＤＴＩ＋／−をサンプリングして取り込むことができる。
【００４３】
ＤＴＯ＋／−、ＣＬＫ＋／−、ＤＴＩ＋／−、ＳＴＢ＋／−の各々は、トランスミッタ回路（ドライバ回路）がこれらの各々に対応する差動信号線（シリアル信号線）を電流駆動（電圧駆動でもよい）することにより送信される。なお、より高速転送を実現するためには、ＤＴＯ＋／−、ＤＴＩ＋／−の各差動信号線を２ペア以上設ければよい。
【００４４】
ホスト側のトランシーバ２０は、ＯＵＴ転送用（広義にはデータ転送用）、クロック転送用のトランスミッタ回路２２、２４や、ＩＮ転送用（広義にはデータ転送用）、ストローブ転送用（広義にはクロック転送用）のレシーバ回路２６、２８を含む。ターゲット側のトランシーバ４０は、ＯＵＴ転送用、クロック転送用のレシーバ回路４２、４４や、ＩＮ転送用、ストローブ転送用のトランスミッタ回路４６、４８を含む。なおこれらの回路ブロックの一部を含まない構成としてもよい。例えば全二重転送が不要な場合には、ホスト側のレシーバ回路２６、２８やターゲット側のトランスミッタ回路４６、４８を省略する構成にしてもよい。
【００４５】
ＯＵＴ転送用、クロック転送用のトランスミッタ回路２２、２４は、各々、ＤＴＯ＋／−、ＣＬＫ＋／−の差動信号線を電流駆動（広義にはシリアル信号線を駆動）することでＤＴＯ＋／−、ＣＬＫ＋／−を送信する。ＯＵＴ転送用、クロック転送用のレシーバ回路４２、４４は、各々、ＤＴＯ＋／−、ＣＬＫ＋／−の差動信号線に流れる電流に基づいて電流・電圧変換を行い、電流・電圧変換により得られた差動電圧信号（第１、第２の電圧信号）の比較処理（差動増幅処理）を行うことで、ＤＴＯ＋／−、ＣＬＫ＋／−を受信する。
【００４６】
ＩＮ転送用、クロック転送用のトランスミッタ回路４６、４８は、各々、ＤＴＩ＋／−、ＳＴＢ＋／−の差動信号線を電流駆動（シリアル信号線を駆動）することでＤＴＩ＋／−、ＳＴＢ＋／−を送信する。ＩＮ転送用、ストローブ転送用のレシーバ回路２６、２８は、各々、ＤＴＩ＋／−、ＳＴＢ＋／−の差動信号線に流れる電流に基づいて電流・電圧変換を行い、電流・電圧変換により得られた差動電圧信号（第１、第２の電圧信号）の比較処理（差動増幅処理）を行うことで、ＤＴＩ＋／−、ＳＴＢ＋／−を受信する。なお以下では差動信号を用いた差動伝送方式を例にとり説明するが、本実施形態はシングルエンド伝送にも適用できる。
【００４７】
３．詳細な構成例
図２、図３に本実施形態の詳細な構成例を示す。なお図２、図３の回路ブロックの一部を省略したり他の回路ブロックを追加する構成にしてもよい。また以下では、適宜、ホスト側のトランスミッタ回路２２、２４、レシーバ回路２６、２８を、各々、ＯＵＴＴＸ、ＣＬＫＴＸ、ＩＮＲＸ、ＳＴＢＲＸと表す。またターゲット側のレシーバ回路４２、４４、トランスミッタ回路４６、４８を、各々、ＯＵＴＲＸ、ＣＬＫＲＸ、ＩＮＴＸ、ＳＴＢＴＸと表す。
【００４８】
図２はホスト側のトランシーバ２０、リンクコントローラ２００の構成例である。図２においてリンクコントローラ２００（広義には上層の回路）が含むトランザクションコントローラ５０は、データ転送のトランザクション制御を行う。具体的にはリクエストパケットやアクノリッジパケットやストリームパケットなどのパケットの転送指示を行う。またパケット生成＆転送アボート回路５２は、トランザクションコントローラ５０により転送指示されたパケット（パケットのヘッダ）を生成するための処理や、データ転送をアボートするための処理を行う。
【００４９】
トランシーバ２０が含む８Ｂ／１０Ｂエンコード回路５４（広義にはエンコード回路）は、８Ｂ／１０Ｂ符号化方式（広義には、ＮビットをＭビット（Ｎ＜Ｍ。Ｎ、Ｍは２以上の整数）に拡張する符号化方式）によりデータを符号化する処理を行う。８Ｂ／１０Ｂエンコード回路５４が含むコード生成回路５５は、８Ｂ／１０Ｂ符号化で規定される１０ビット（広義にはＭビット）の特殊コードの生成処理を行う。具体的には、８Ｂ／１０Ｂ符号化方式の特殊コードに割り当てられたプリアンブルコードやストップコードやアボートコードやディレクションコード（転送方向切り替え要求コード）などの生成処理や付加処理を行う。なおエンコード回路５４が行う符号化方式は８Ｂ／１０Ｂ符号化方式には限定されない。
【００５０】
パラレル／シリアル変換回路５６は、８Ｂ／１０Ｂエンコード回路５４から受けたパラレルのデータをシリアルのデータに変換する。そしてＯＵＴＴＸは、パラレル／シリアル変換回路５６からのシリアルデータを受け、ＤＴＯ＋／−のシリアル信号線を駆動して、データを送信する。またＣＬＫＴＸは、ＰＬＬ回路１２で生成されたクロックを受け、ＣＬＫ＋／−のシリアル信号線を駆動して、クロックを送信する。これらのＯＵＴＴＸ、ＣＬＫＴＸは、シリアル信号線を電流駆動（又は電圧駆動）するアナログ回路により構成できる。またＰＬＬ回路１２で生成されたクロックは分周回路１４により分周されて、トランシーバ２０やリンクコントローラ２００内の回路ブロック（パラレルデータを処理するブロック）に供給される。
【００５１】
ＩＮＲＸは、ＤＴＩ＋／−のシリアル信号線を介して転送されるデータを受信し、受信したシリアルのデータをシリアル／パラレル変換回路６０に出力する。ＳＴＢＲＸは、ＳＴＢ＋／−のシリアル信号線を介して転送されるストローブ（クロック）を受信し、受信したストローブをシリアル／パラレル変換回路６０に出力する。これらのＩＮＲＸ、ＳＴＢＲＸは、シリアル信号線の駆動電流（又は駆動電圧）を検知するアナログ回路により構成できる。
【００５２】
シリアル／パラレル変換回路６０は、ＤＴＩ＋／−のシリアル信号線を介して転送されるシリアルのデータをパラレルのデータに変換する。具体的には、シリアル／パラレル変換回路６０は、ＤＴＩ＋／−のシリアル信号線を介して転送されるシリアルのデータを、ＳＴＢ＋／−のシリアル信号線を介して転送されるストローブ（クロック）に基づいてサンプリングする。そしてサンプリングされたシリアルのデータをパラレルのデータに変換する。
【００５３】
シリアル／パラレル変換回路６０はアイドル検出回路５９、プリアンブルエラー検出回路６１を含む。アイドル検出回路５９は例えば差動信号で「０」のアイドル信号（論理レベルが第１の論理レベルに固定されるアイドル信号）を検出する回路である。プリアンブルエラー検出回路６１は、８Ｂ／１０Ｂ符号化方式の特殊コードの１つであるプリアンブルコードの検出処理を行う。そしてプリアンブルコードが検出されないというエラー状態であるプリアンブルエラーが検出されると、リンクコントローラ２００に通知する。
【００５４】
８Ｂ／１０Ｂデコード回路６２（広義にはデコード回路）は、８Ｂ／１０Ｂ符号化方式で符号化されたデータや特殊コードの復号化処理を行う。８Ｂ／１０Ｂデコード回路６２が含むコード検出回路６３は、８Ｂ／１０Ｂ符号化で規定される特殊コードの検出処理を行う。具体的には、８Ｂ／１０Ｂ符号化方式の特殊コードに割り当てられたストップコード、アボートコード、ディレクションコード（転送方向切り替え要求コード）等の検出処理を行う。
【００５５】
エラー信号生成回路６４は、プリアンブルエラーが検出されたり、ディスパリティエラーやデコードエラーが検出されると、エラー信号を生成してトランザクションコントローラ５０に出力する。
【００５６】
インターフェース回路６５は、ＰＨＹ−ＬＩＮＫ間（トランシーバ−リンクコントローラ間）のインターフェース処理を行う回路である。このインターフェース回路６５は、通知信号を生成してリンクコントローラ２００（上層の回路）に出力する通知信号生成回路６６を含む。通知信号生成回路６６は、例えばターゲット側データ転送制御装置３０（広義には相手側データ転送制御装置）から転送方向の切り替え要求が来たことを通知する信号などを生成してリンクコントローラ２００に出力する。
【００５７】
リンクコントローラ２００が含むパケット解析＆ヘッダ・データ分離回路６８は、受信パケットの解析処理や、受信パケットのヘッダとデータを分離する処理を行う。リンクコントローラ２００が含むインターフェース回路６７は、ＰＨＹ−ＬＩＮＫ間のインターフェース処理を行う回路である。
【００５８】
なお本実施形態ではＤＴＯ＋、ＤＴＯ−を用いた半二重転送が可能になっており、そのために、ＤＴＯ＋、ＤＴＯ−のシリアル信号線に接続されるレシーバ回路ＨＲＸが設けられている。このＨＲＸは、半二重転送において転送方向が切り替わった場合に、ＤＴＯ＋、ＤＴＯ−のシリアル信号線を介して転送されるデータを受信する。また転送方向切り替え回路５８は、ＯＵＴＴＸによりデータが送信される転送方向である送信方向と、ＨＲＸによりデータが受信される転送方向である受信方向の切り替えを行う。また転送方向切り替え指示回路５７は、転送方向切り替え回路５８に、転送方向の切り替えを指示する。
【００５９】
図３はターゲット側のトランシーバ４０、リンクコントローラ３００の構成例である。図３の回路７０、７２、７４、７５、７６、７７、７８、７９、８０、８１、８２、８３、８４、８５、８６、８７、８８の構成及び動作は、各々、図２の回路５０、５２、５４、５５、５６、５７、５８、５９、６０、６１、６２、６３、６４、６５、６６、６７、６８とほぼ同様であるため、説明を省略する。なおストローブ制御回路１６（分周回路）は、ＣＬＫＲＸで受信したクロックを受け、クロック分周などのストローブ制御を行って、ストローブ信号をＳＴＢＴＸに出力する。また分周回路１８は、ＣＬＫＲＸで受信したクロックを受け、分周したクロックをトランシーバ４０やリンクコントローラ３００内の回路ブロックに供給する。またトランスミッタ回路ＴＴＸはＤＴＯ＋、ＤＴＯ−を用いた半二重転送を行うときに使用される。具体的にはＴＴＸは、半二重転送において転送方向が切り替わった場合に、ＤＴＯ＋、ＤＴＯ−のシリアル信号線を駆動して、データを送信する。この時の転送方向の切り替えは転送方向切り替え回路７８が行い、その転送方向切り替えの指示は、転送方向切り替え指示回路７７が行う。
【００６０】
４．８Ｂ／１０Ｂ符号
８Ｂ／１０Ｂ符号化では、８ビットの２５６種類のデータを１０ビットの２５６種類のデータに符号化する。この符号化により、１０ビットのデータの「１」と「０」の比率を、４：６、５：５、６：４にしてＤＣ成分のバランスを整えることができる。具体的には８Ｂ／１０Ｂ符号化では、８ビットのデータをｌｓｂからｍｓｂに向かってＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈと定義する。符号化処理では、ＡＢＣＤＥ（５ビット）のデータブロックｘ（10進表記）とＦＧＨ（３ビット）のデータブロックｙ（10進表記）に分離する。この分離したデータブロックを、DｘｙというDコードと呼ばれるキャラクタコードに置き換えて考える。そしてＡＢＣＤＥのブロックには５Ｂ／６Ｂの符号化を行い、ａｂｃｄｅｉ（６ビット）に変換する、ＦＧＨのブロックには３Ｂ／４Ｂの符号化を行い、ｆｇｈｊ（４ビット）に変換する。そしてａｂｃｄｅｉとｆｇｈｊをまとめる事により、１０ビットの符号化されたデータを得る。
【００６１】
この８Ｂ／１０Ｂ符号化によれば、「０」や「１」が連続するデータであっても、符号化後は信号のビット変化が多くなり、雑音などに起因する転送エラーの発生を低減できる。また８Ｂ／１０Ｂ符号化によれば、ビット幅が８ビットから１０ビットに拡張されるため、データ以外にも図４に示すような特殊コード（制御コード）を生成することが可能になる。
【００６２】
本実施形態では、８Ｂ／１０Ｂ符号化（ビット幅を拡張する符号化）により得られる特殊コードに、プリアンブルコードやストップコードやディレクションコード（転送方向切り替え要求コード）などを割り当てて、データ転送用のシリアル信号線（ＤＴＯ、ＤＴＩ）を介して転送している。例えば図４では、Ｋ２８．１、Ｋ２８．２、Ｋ２８．３、Ｋ２８．４、Ｋ２８．５、Ｋ２８．６、Ｋ２８．７のコードが、各々、プリアンブルコード、ストップコード、アボートコード、ディビジョンコード（多チャンネル分割転送コード）、データパワーダウンコード、ディレクションコード（転送方向切り替え要求コード）、オールパワーダウンコードに割り当てられて、データ転送用のシリアル信号線（ＤＴＯ、ＤＴＩ）を介して転送される。するとレシーバ側は、８Ｂ／１０Ｂ符号化方式における復号化処理を行って、Ｋ２８．１〜Ｋ２８．７のコードを検出することで、ディレクションコード等を検出する。
【００６３】
なお図４に示すようにそれぞれのコードには、プラスコード（ポジティブシンボルのコード）とマイナスコード（ネガティブシンボルのコード）がある。マイナスコードはプラスコードの各ビットをビット反転したコードである。
【００６４】
８Ｂ／１０Ｂ符号化では、８ビットのデータを１０ビットのプラスコードのデータとマイナスコードのデータに変換して交互に送信する。これにより、受信側は１０ビット毎に次のデータのディスパリティを予測できるため、伝送路でのエラーを検出することが可能になる。
【００６５】
５．データ転送フォーマット
図５に通常転送時におけるデータ転送フォーマットを示す。図５において、シリアル信号線を介してデータが転送されていない状態がアイドル状態である。本実施形態では、所与のビット数（Ｍビット）以上連続して、シリアル信号線の論理レベルが第１の論理レベル（例えば「０」）に固定される状態（信号）を、アイドル状態（アイドル信号）と定義している。より具体的には、差動信号の「０」が１０ビット（Ｍビット）以上連続して出力されている状態（信号）を、アイドル状態（アイドル信号）と定義している。ここで差動信号の「０」とは例えば、差動信号のマイナス側の信号線（ＤＴＯ−、ＤＴＩ−）に流れる電流の方がプラス側の信号線（ＤＴＯ＋、ＤＴＩ＋）に流れる電流よりも多い状態である。また差動信号の「１」とは例えば、差動信号のプラス側の信号線に流れる電流の方がマイナス側の信号線に流れる電流よりも多い状態である。
【００６６】
図５に示すように本実施形態では、パケット転送をする場合に、パケットとパケットの切れ目にＩＤＬＥと２つのプリアンブルコードが挿入される。具体的には送信側は、差動信号で「０」のアイドル信号ＩＤＬＥをシリアル信号線に出力した後、プラスコード（広義には第１の極性）のプリアンブルコードＰＲＥ＋とマイナスコード（広義には第２の極性）のプリアンブルコードＰＲＥ−をシリアル信号線を介して送信する。これにより受信側は、プリアンブルコードを検出してパケットの同期を取ることができる。その後、送信側は、８Ｂ／１０Ｂにより符号化されたプラスコードのＤＡＴＡ＋とマイナスコードのＤＡＴＡ−を送信し、最後にストップコードＳＴＯＰ＋／−を送信する。そしてその後、再びアイドル信号ＩＤＬＥを出力する。
【００６７】
なお図６にはバースト転送時におけるデータ転送フォーマットを示す。図６に示すようにバースト転送時には送信側は、パケットとパケットの間に１つのプリアンブルコードを挿入して受信側に送信する。このようにバースト転送時には、パケットとパケットの間にＩＤＬＥは挿入されない。このようにＩＤＬＥを挿入しないことで、バースト転送時の転送レートを高くすることができる。またパケットとパケットの間にプリアンブルコードを挿入することで、位相ずれによる受信エラーが発生した場合に、このプリアンブルコードを検出して再同期をかけることが可能になる。
【００６８】
図７に、ホスト側がターゲット側にデータを送信するときの信号波形例を示し、図８に、ターゲット側がホスト側にデータを送信をするときの信号波形例を示す。図７、図８に示すように本実施形態では、データを送信しながら同時にデータを受信するという全二重転送が可能になっている。また図７、図８に示すように本実施形態の転送フォーマットでは、データ転送の後、少なくとも１０ビット以上のアイドル期間を設けることが定義されている。
【００６９】
６．アイドル期間でのロジック回路の動作停止
パーソナルコンピュータ用の高速シリアルインターフェースであるＰＣＩ Ｅｘｐｒｅｓｓでは、アイドル期間においてアイドルコードがシリアル信号線に出力される。このアイドルコードは、通常の８Ｂ／１０Ｂ符号化データと同様にＤＣバランスを整えるために、「０」や「１」が連続しないように符号化されている。従ってこのようにアイドル期間にアイドルコードを出力する手法では、アイドル期間においてもエンコード回路（コード生成回路）やパラレル／シリアル変換回路やシリアル／パラレル変換回路やデコード回路（コード検出回路）が動作する必要があり、アイドル期間での省電力化を図れない。
【００７０】
これに対して本実施形態では図７、図８に示すように、アイドル期間においてトランスミッタ回路は、差動信号で「０」の信号（広義には、所与のビット数以上連続して論理レベルが第１の論理レベルに固定される信号）をアイドル信号としてシリアル信号線に出力する。そしてアイドル期間では、８Ｂ／１０Ｂエンコード回路（コード生成回路）、パラレル／シリアル変換回路の少なくとも一方の動作が停止する。またシリアル／パラレル変換回路、８Ｂ／１０Ｂデコード回路（コード検出回路）の少なくとも一方の動作が停止する。なお動作が停止するとは、エンコード処理（コード生成処理）やパラレル／シリアル変換処理やシリアル／パラレル変換処理やデコード処理（コード検出処理）が行われないことである。或いは、これらの処理を行う回路に供給されるクロックが停止するなどことである。
【００７１】
例えば図９（Ａ）において８Ｂ／１０Ｂエンコード回路５４（コード生成回路５５）は、リンクコントローラ２００（上層の回路）からの送信バリッド信号ＴｘＶａｌｉｄ（広義には送信データ有効・無効信号）により、送信データが不存在であることが指示された場合に（アイドル期間であることが指示された場合に）、その指示後に（その指示後の所与のタイミングで）、その動作を停止する。またパラレル／シリアル変換回路５６は、送信バリッド信号ＴｘＶａｌｉｄにより送信データの不存在が指示され、且つ、パラレル／シリアル変換回路５６からのシリアルデータ出力が完了した後に（完了後の所与のタイミングで）、その動作を停止する。この場合に、８Ｂ／１０Ｂエンコード回路５４、パラレル／シリアル変換回路５６は、次のパケットの送信が開始するまで動作を停止する。
【００７２】
具体的には図９（Ａ）では、リンクコントローラ２００からの信号ＴｘＶａｌｉｄによる送信指示を検出する送信指示検出回路６１０が設けられる。またパラレル／シリアル変換回路５６からのシリアルデータ出力の完了を検出する出力完了検出回路６１２が設けられる。また８Ｂ／１０Ｂエンコード回路５４、パラレル／シリアル変換回路５６の動作を停止させる動作停止回路６００が設けられる。そして動作停止回路６００は、信号ＴｘＶａｌｉｄがネゲート（非アクティブ）されて送信データが不存在でありアイドル期間であることが指示され、且つ、パラレル／シリアル変換回路５６からのシリアルデータ出力が完了した場合に、クロックディスエーブル信号ＣＬＫＤＩＳ１をアサート（アクティブ）する。このように信号ＣＬＫＤＩＳ１がアサートされると、８Ｂ／１０Ｂエンコード回路５４、パラレル／シリアル変換回路５６に供給されるクロックが停止し、これらの回路５４、５６の動作が停止する。なお動作ディスエーブル信号（リセット信号等）を用いてこれらの回路５４、５６の動作を停止してもよい。
【００７３】
また図９（Ｂ）においてシリアル／パラレル変換回路８０は、アイドル信号が検出され、且つ、シリアル／パラレル変換回路８０からのパラレルデータ出力が完了した後に（完了後の所与のタイミングで）、その動作を停止する。また８Ｂ／１０デコード回路８２（コード検出回路８３）は、アイドル信号が検出され、且つ、デコード回路８２（インターフェース回路８５）からの復号化データ出力が完了した後に（完了後の所与のタイミングで）、その動作を停止する。この場合に、シリアル／パラレル変換回路８０、８Ｂ／１０Ｂデコード回路８２は、次のパケットの受信が開始するまで動作を停止する。
【００７４】
具体的には図９（Ｂ）では、アイドル信号を検出するアイドル検出回路７９と、シリアル／パラレル変換回路８０からのパラレルデータ出力の完了を検出する出力完了検出回路６３０が設けられる。またデコード回路８２（インターフェース回路８５）からの復号化データ出力の完了を検出する出力完了検出回路６３２が設けられる。またシリアル／パラレル変換回路８０、８Ｂ／１０Ｂデコード回路８２の動作を停止させる動作停止回路６２０が設けられる。そして動作停止回路６２０は、アイドル検出回路７９によりアイドル信号が検出され、且つ、シリアル／パラレル変換回路８０からのパラレルデータ出力が完了した場合に、クロックディスエーブル信号ＣＬＫＤＩＳ２をアサートする。このように信号ＣＬＫＤＩＳ２がアサートされると、シリアル／パラレル変換回路８０、８Ｂ／１０Ｂデコード回路８２に供給されるクロックが停止し、これらの回路８０、８２の動作が停止する。なお動作ディスエーブル信号（リセット信号等）を用いてこれらの回路８０、８２の動作を停止してもよい。
【００７５】
このように本実施形態ではアイドル期間において、アイドルコードを出力するのではなくて、差動信号で「０」（「１」でもよい）のアイドル信号を出力するようにしているため、エンコード回路（コード生成回路）やパラレル／シリアル変換回路やシリアル／パラレル変換回路やデコード回路（コード検出回路）の動作を停止することができる。従って、アイドル期間にロジック回路において無駄な電流が流れるのを効果的に防止でき、省電力化を図れる。これにより、携帯電話などの携帯情報機器の待機時に流れる電流などを低減できる。
【００７６】
また本実施形態では、アイドル信号は、１０ビット（Ｍビット）以上連続して「０」（第１の論理レベル）になる信号になっている。このようにアイドル信号が「０」になるアイドル期間についても１０ビット以上にすれば、アイドル信号の検出処理や、図７、図８に示す１０ビット（Ｍビット）の特殊コードや１０ビットの符号化データの検出処理を容易化できる。
【００７７】
７．ＰＨＹ−ＬＩＮＫインターフェース信号
図１０に本実施形態のＰＨＹ−ＬＩＮＫ間（インターフェース回路６５、６７の間や、８５、８７の間）のインターフェース信号の例を示す。図１０においてＬＩＮＫ＿ＳＣＬＫは、ＰＨＹ（トランシーバ）がＬＩＮＫ（リンクコントローラ）に供給するシステムクロックである。Ｗａｋｅｕｐはパワーダウン状態をＬＩＮＫが解除するためのウェイクアップ信号である。ＲｅｃｅｉｖｅＷａｋｅｕｐは、Ｗａｋｅｕｐ信号を受信したことをＰＨＹがＬＩＮＫに通知するための信号である。ＳｅｔＰｏｗｅｒｄｏｗｎＣｉはＣＬＫ／ＳＴＢ用レシーバ回路をパワーダウン状態に設定することをＬＩＮＫがＰＨＹに要求するための信号である。ＲｘＤａｔａ［７：０］は、シリアル信号線での受信データを８Ｂ／１０Ｂ符号化回路により復号化してＰＨＹがＬＩＮＫに出力する８ビットのパラレル受信データである。このＲｘＤａｔａ［７：０］はＬＩＮＫ＿ＳＣＬＫに同期してＲｘＳｔｒｏｂｅと共にＰＨＹからＬＩＮＫに出力される。
【００７８】
ＲｘＶａｌｉｄは、シリアル信号線で受信したパケットのスタートからエンドまでを示す信号であり、データがＰＨＹに存在している間はアサートされる。ＲｘＳｔｒｏｂｅは、ＰＨＹがＬＩＮＫに供給するデータ用ストローブ信号である。ＲｘＳｔｒｏｂｅがアサートされている期間にＲｘＤａｔａ［７：０］が出力される。ＳｅｔＰｏｗｅｒｄｏｗｎＤｉは、データ受信用レシーバ回路をパワーダウン状態に設定することをＬＩＮＫがＰＨＹに要求するための信号である。
【００７９】
ＲｘＣＯＤＥ［３：０］は、シリアル信号線において８Ｂ／１０Ｂ符号化方式で規定（定義）されている特殊コードを検出したことをＰＨＹがＬＩＮＫに通知するための信号である。ＲｘＣＯＤＥ［３：０］はＬＩＮＫ＿ＳＣＬＫに同期して、ＲｘＳｔｒｏｂｅと共にＰＨＹからＬＩＮＫに出力される。図１１にＲｘＣＯＤＥ値の具体例を示す。ＰＨＹは、ＲｘＶａｌｉｄをアサートする時には、Ｒｘコード値＝４である「ＰＲＥＡＭＢＬＥ検出」をＬＩＮＫに出力する必要がある。
【００８０】
ＳｅｔＰｏｗｅｒｄｏｗｎＣｏは、ＣＬＫ／ＳＴＢ用トランスミッタ回路をパワーダウン状態に設定することをＬＩＮＫがＰＨＹに要求するための信号である。ＴｘＤａｔａ［７：０］は、シリアル信号線に出力する８ビットのパラレルの送信データである。ＬＩＮＫは、ＬＩＮＫ＿ＳＣＬＫに同期してＰＨＹがＴｘＳｔｒｏｂｅを出力するまで、ＴｘＤａｔａ［７：０］を保持してＰＨＹに出力する必要がある。
【００８１】
ＴｘＶａｌｉｄ（送信データ有効・無効信号）は、送信パケットのスタートからエンドまでを示す信号であり、ＬＩＮＫの送信準備ができたことをＬＩＮＫがＰＨＹに通知するための信号である。ＬＩＮＫに送信データが存在している間は、ＴｘＶａｌｉｄはアサートされる。ＴｘＶａｌｉｄはＬＩＮＫ＿ＳＣＬＫに同期して出力する必要がある。ＴｘＳｔｒｏｂｅは、ＰＨＹがデータ受信を完了したことをＬＩＮＫに通知するための信号である。ＬＩＮＫはＴｘＳｔｒｏｂｅを検出した場合、ＴｘＤａｔａを次のデータに切り替える必要がある。ＳｅｔＰｏｗｅｒｄｏｗｎＤｏは、データ転送用トランスミッタをパワーダウン状態に設定することをＬＩＮＫがＰＨＹに要求するための信号である。
【００８２】
ＴｘＣＯＤＥ［３：０］は、８Ｂ／１０Ｂ符号で規定されている特殊コードを送信することをＬＩＮＫがＰＨＹに要求するための信号である。図１２にＴｘＣＯＤＥ値の具体例を示す。ＬＩＮＫは、信号ＴｘＶａｌｉｄをアサートする時には、Ｔｘコード値＝４である「ＰＲＥＡＭＢＬＥ挿入」をＰＨＹに出力する必要がある。またＬＩＮＫは、ＬＩＮＫ＿ＳＣＬＫに同期してＰＨＹがＴｘＳｔｒｏｂｅを出力するまで、ＴｘＣＯＤＥ［３：０］を保持してＰＨＹに出力する必要がある。
【００８３】
ＴｘＳｐｅｅｄ［２：０］はターゲット側が送信データの転送レートを指示する場合に使用する信号である。半二重通信専用信号であるＤｉｒｅｃｔｉｏｎは、半二重通信実行時にシリアル信号線での現在の転送方向をＰＨＹがＬＩＮＫに通知するための信号である。例えばＤｉｒｅｃｔｉｏｎ値が「０」の場合は、転送方向が順方向（ホストからターゲットへの転送）であることが通知され、「１」の場合は、転送方向が逆方向（ターゲットからホストへの転送）であることが通知される。ＬＩＮＫは、Ｄｉｒｅｃｔｉｏｎ値で示す転送方向と逆の転送方向の転送要求を出力することが禁止される。Ｔｒａｎｓｆｅｒ＿Ｔｙｐｅは、サポートされる通信方法をＬＩＮＫがＰＨＹに対して通知するための信号である。Ｔｒａｎｓｆｅｒ＿Ｔｙｐｅ値が「０」の場合は全二重通信をサポートし、「１」の場合は半二重通信をサポートすることを示す。
【００８４】
図１３にＰＨＹ−ＬＩＮＫのインターフェース信号のデータ送信時における波形例を示す。送信側のＬＩＮＫがシリアル信号線を介したデータの送信を行う場合には、ＬＩＮＫは、信号ＴｘＶａｌｉｄをアサートして、データ送信を行う準備ができたことをＰＨＹに通知する。そしてＬＩＮＫは、ＴｘＶａｌｉｄをアサートした後、図１２のＴｘＣＯＤＥ［３：０］の値を「４」に設定して、ＰＨＹ（８Ｂ／１０Ｂエンコード回路）にプリアンブルコードの生成（出力）を指示する。このプリアンブルコードは、図４に示すように８Ｂ／１０Ｂ符号の特殊コードＫ２８．１に割り当てられたコードである。その後、シリアル信号線へのデータ出力準備ができた時点で、ＰＨＹが、ＴｘＳｔｒｏｂｅを１クロック期間だけアサートし、データ転送が開始する。そしてＬＩＮＫは、ＴｘＳｔｒｏｂｅを検出した時点で、ＴｘＣＯＤＥ［３：０］の値を「０」にして、データ転送状態に設定し、送信データＴｘＤａｔａ［７：０］をＰＨＹに出力する。またＬＩＮＫは、ＴｘＳｔｒｏｂｅを見つけるとＬＩＮＫ＿ＳＣＬＫに同期してＴｘＤａｔａを次のデータに切り替える。その後、ＬＩＮＫは、最後のデータに対するＴｘＳｔｒｏｂｅを見つけた時点で、ＬＩＮＫ＿ＳＣＬＫに同期してＴｘＶａｌｉｄをネゲートして、データ送信を終了する。このように図１３の転送ではＴｘＳｔｒｏｂｅ以外の信号はＬＩＮＫが駆動することになる。
【００８５】
図１３に示すように、信号ＴｘＶａｌｉｄがネゲートされた場合には、送信すべきデータが存在せず、アイドル状態に移行したことを意味する。この場合に、図９（Ａ）で説明したように本実施形態では、信号ＴｘＶａｌｉｄがネゲートされて送信データの不存在が指示された場合に、その指示後に８Ｂ／１０Ｂエンコード回路やパラレル／シリアル変換回路が、その動作を停止する。このようにリンクコントローラ（上層の回路）からの信号ＴｘＶａｌｉｄを有効活用して動作停止制御を行えば、８Ｂ／１０Ｂエンコード回路やパラレル／シリアル変換回路のアイドル期間での動作停止制御を、簡素な処理で実現できる。
【００８６】
また図１２、図１３で説明したように本実施形態では、ＰＨＹの８Ｂ／１０Ｂエンコード回路（コード生成回路）は、リンクコントローラ（上層の回路）から特殊コード生成指示信号ＴｘＣＯＤＥ［３：０］を受け、このＴｘＣＯＤＥ［３：０］により指示される特殊コードの生成処理を行っている。例えば図１３では、リンクコントローラが、信号ＴｘＶａｌｉｄをアサートした後に、「４」の値に設定された信号ＴｘＣＯＤＥ［３：０］を出力する。これによりリンクコントローラは、特殊コードＫ２８．１に割り当てられたプリアンブルコードの生成（出力）を、ＰＨＹの８Ｂ／１０Ｂエンコード回路（コード生成回路）に指示している。このようなＴｘＣＯＤＥ［３：０］を利用して特殊コードの生成を指示すれば、８Ｂ／１０Ｂエンコード回路の処理や構成を簡素化でき、回路の小規模化等を図れる。
【００８７】
８．マイナスコードのプリアンブルコードの検出
本実施形態では図７、図８に示すように、アイドル期間においては差動信号で「０」のアイドル信号が出力される。そしてアイドル期間の後、プラスコードのプリアンブルコードＰＲＥ＋が転送され、それに続いてマイナスコードのプリアンブルコードＰＲＥ−が転送され、その後、データパケットが転送される。このようにアイドル期間においてアイドルコードを出力しないようにすることで、前述のように省電力化を図れる。またアイドル期間とデータパケットの間にプリアンブルコードを挿入することで、受信側は、データパケットの受信準備（同期化）を行うことが可能になる。
【００８８】
ところが図４に示すように、プラスコードのプリアンブルコードＰＲＥ＋の先頭ビットは「１」になっている。従って、長いアイドル期間の後に、プリアンブルコードＰＲＥ＋が転送された場合には、「０」が長く続いた後にデータが「１」に急激に変化するようになるため、このデータの変化をアナログ回路であるレシーバ回路等が適正に検出できない可能性がある。そしてこのように「０」から「１」へのデータの変化を適正に検出できないと、プリアンブルコードＰＲＥ＋を正しいサンプリングエッジでサンプリングしているのにもかかわらず、プリアンブルエラーが誤って通知されてしまう事態が生じる。
【００８９】
そこで本実施形態では図１４に示すように、プラスコード（第１の極性）のプリアンブルコードＰＲＥ＋を無視して検出せずに、マイナスコード（第２の極性）のプリアンブルコードＰＲＥ−だけを検出するようにしている。そしてプリアンブルコードＰＲＥ−が検出されなかったことを条件に（ＰＲＥ−が１又は複数回検出されなかったことを条件に）、プリアンブルエラーの通知信号をアクティブにして、プリアンブルエラーを通知する。
【００９０】
このようにプリアンブルコードＰＲＥ−だけを検出するようにすれば、ＰＲＥ＋の先頭ビットでの「０」から「１」へのデータの変化を検出できなかった場合にも、ＰＲＥ＋は無視されるため、プリアンブルエラーが検出されることはない。従ってプリアンブルエラーが誤って通知されてしまう事態を防止できる。
【００９１】
なお図１４において期間ＴＰＲＥは、アイドル状態を表す「０」から「１」にデータが変化した後、プリアンブルコードＰＲＥ＋とＰＲＥ−の転送に必要な期間である。例えばＰＲＥ＋、ＰＲＥ−が１０ビットのコードである場合には、期間ＴＰＲＥは２０ビットのデータを転送するのに必要な期間である。この場合に、プリアンブルコードＰＲＥ−の検出処理は、「０」から「１」にデータが変化した後、期間ＴＰＲＥよりも長い検出期間ＴＤＥＣが経過するまで行うことが望ましい。そしてこの検出期間ＴＤＥＣ内にＰＲＥ−が検出されなかった場合（ＰＲＥ−が１又は複数回検出されなかった場合）に、プリアンブルエラーを通知するようにする。このようにすればＰＲＥ−を確実に検出できる。
【００９２】
即ち前述のように、ＰＲＥ＋の先頭のビットにおいてデータが「０」から「１」に急激に変化すると、アナログ回路であるレシーバ回路がその変化に追従できずに、検出エラーが生じる可能性がある。従って、検出期間ＴＤＥＣを期間ＴＰＲＥと同じ長さに設定してしまうと、ＰＲＥ−の最終ビット等を検出できずに、誤ったプリアンブルエラーが通知されるおそれがある。
【００９３】
これに対して図１４のように、検出期間ＴＤＥＣを期間ＴＰＲＥよりも長い期間に設定すれば、ＰＲＥ＋の先頭ビットで検出エラーが生じても、ＰＲＥ−の最終ビット等は適正に検出できるため、上記のような事態の発生を防止できる。
【００９４】
なお検出期間ＴＤＥＣの経過は、検出期間のカウント回路により計測できる。具体的には期間ＴＰＲＥは２０ビットの期間であるため、検出期間ＴＤＥＣとして例えば２１ビット以上の期間を設定し、検出期間カウント回路により、この２１ビット以上の検出期間ＴＤＥＣの経過をカウントすればよい。
【００９５】
９．アイドル検出回路、プリアンブルエラー検出回路の構成
図１５にアイドル検出回路、プリアンブルエラー検出回路の具体的な構成例を示す。このアイドル検出回路、プリアンブルエラー検出回路はシリアル／パラレル変換回路内に設けることができる。
【００９６】
図１５においてシリアル接続されたＦＦ１〜ＦＦ１０は、シリアルデータをパラレルデータに変換するためのＤフリップフロップ回路である。具体的には初段のフリップフロップ回路ＦＦ１にはシリアルデータが入力される。そしてＦＦ１〜ＦＦ１０の出力が１０ビットのパラレルデータとして８Ｂ／１０Ｂデコード回路に出力される。
【００９７】
またＦＦ１〜ＦＦ１０の出力は回路ＮＯＲＡに入力される。そして回路ＮＯＲＡの出力がアイドル検出信号になる。即ちＦＦ１〜ＦＦ１０の出力が全て「０」である場合には、回路ＮＯＲＡの出力が「１」になり、１０ビット（Ｍビット）連続して「０」となるアイドル信号が検出される。
【００９８】
またＦＦ１〜ＦＦ１０の出力は、回路ＮＯＲ１、ＮＯＲ２、ＡＮＤ３〜ＡＮＤ７、ＮＯＲ８、ＮＯＲ９、ＡＮＤ１０の一方の入力に接続される。またＮＯＲ１、ＮＯＲ２、ＮＯＲ８、ＮＯＲ９の他方の入力にはＶＳＳ（論理レベル「０」）が接続され、ＡＮＤ３〜ＡＮＤ７、ＡＮＤ１０の他方の入力にはＶＤＤ（論理レベル「１」）が接続される。そして回路ＮＯＲ１、ＮＯＲ２、ＡＮＤ３〜ＡＮＤ７、ＮＯＲ８、ＮＯＲ９、ＡＮＤ１０の出力は回路ＡＮＤＢに入力され、これらの出力が全て「１」である場合にはＡＮＤＢの出力が「１」になる。これにより、図４に示すようにその値が「００１１１１１００１」であるマイナスコードのプリアンブルコードＰＲＥ−を検出できる。そしてアイドル信号を検出した後（ＮＯＲＡの出力が「１」になった後）、図１４の期間ＴＤＥＣにおいてプリアンブルコードＰＲＥ−が検出されなかった場合（ＡＮＤＢの出力が「１」にならなかった場合）には、プリアンブルエラーが検出されたと判断できる。そしてこの場合にはプリアンブルエラー検出回路は、プリアンブルエラーが検出されたことを、上層のリンクコントローラに通知する。
【００９９】
このようにアイドル期間において差動信号で「０」のアイドル信号を出力すると共に、プリアンブルコードＰＲＥ＋を無視してＰＲＥ−だけを検出するようにすれば、アイドルコードを出力する場合に比べて省電力化を図れると共に、ＰＲＥ−だけを検出することで、誤検出の無い確実なプリアンブルコードの検出が可能になる。
【０１００】
１０．電子機器
図１６に本実施形態の電子機器の構成例を示す。この電子機器は本実施形態で説明したデータ転送制御装置５０２、５１２、５１４、５２０、５３０を含む。またベースバンドエンジン５００（広義には通信デバイス）、アプリケーションエンジン５１０（広義にはプロセッサ）、カメラ５４０（広義には撮像デバイス）、或いはＬＣＤ５５０（広義には表示デバイス）を含む。別の言い方をすれば図１６の電子機器は、ターゲット側データ転送制御装置５２０、５３０と、ターゲット側データ転送制御装置５２０、５３０にシリアルバス（シリアル信号線）を介して接続されるホスト側データ転送制御装置５１４と、ターゲット側データ転送制御装置５２０、５３０にインターフェースバスを介して接続される１又は複数のデバイス５４０、５５０を含む。なおこれらの一部を省略する構成としてもよい。この構成によればカメラ機能とＬＣＤ（Liquid Crystal Display）の表示機能を有する携帯電話などを実現できる。但し本実施形態の電子機器は携帯電話には限定されず、デジタルカメラ、ＰＤＡ、電子手帳、電子辞書、或いは携帯型情報端末など種々の電子機器に適用できる。
【０１０１】
図１６に示すようにベースバンドエンジン５００に設けられたホスト側のデータ転送制御装置５０２と、アプリケーションエンジン５１０（グラフィックエンジン）に設けられたターゲット側のデータ転送制御装置５１２との間で、本実施形態で説明したシリアル転送が行われる。またアプリケーションエンジン５１０に設けられたホスト側のデータ転送制御装置５１４と、カメラインターフェース回路５２２を含むデータ転送制御装置５２０や、ＬＣＤインターフェース回路５３２を含むデータ転送制御装置５３０との間でも、本実施形態で説明したシリアル転送が行われる。
【０１０２】
図１６の構成によれば、従来の電子機器に比べて、ＥＭＩノイズを低減できる。またデータ転送制御装置の小規模化、省電力化を実現することで、電子機器の更なる省電力化を図れる。また電子機器が携帯電話である場合には、携帯電話の接続部分（ヒンジ部分）に通る信号線をシリアル信号線にすることが可能になり、実装の容易化を図れる。
【０１０３】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（上層の回路、エンコード回路、デコード回路、Ｎビット、Ｍビット、第１の極性、第２の極性、シリアル信号線等）として引用された用語（リンクコントローラ、８Ｂ／１０Ｂエンコード回路、８Ｂ／１０Ｂデコード回路、８ビット、１０ビット、プラスコード、マイナスコード、差動信号線等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。またデータ転送制御装置、トランシーバ、リンクコントローラ等の構成も図１〜図３で説明した構成に限定されない。またアイドル期間における回路の動作停止手法も本実施形態で説明した手法に限定されない。
【図面の簡単な説明】
【０１０４】
【図１】データ転送制御装置の構成例。
【図２】ホスト側のトランシーバ、リンクコントローラの構成例。
【図３】ターゲット側のトランシーバ、リンクコントローラの構成例。
【図４】特殊コードに各種コードを割り当てる手法の説明図。
【図５】通常転送時のデータ転送フォーマット例。
【図６】バースト転送時のデータ転送フォーマット例。
【図７】ホスト側がターゲット側にデータを送信するときの信号波形例。
【図８】ターゲット側がホスト側にデータを送信するときの信号波形例。
【図９】図９（Ａ）（Ｂ）はアイドル期間に回路動作を停止する手法の説明図。
【図１０】ＰＨＹ−ＬＩＮＫインターフェース信号の例。
【図１１】ＲｘＣｏｄｅの例。
【図１２】ＴｘＣｏｄｅの例。
【図１３】ＰＨＹ−ＬＩＮＫのインターフェース信号の波形例。
【図１４】ＰＲＥ＋を無視してＰＲＥ−だけを検出する手法の説明図。
【図１５】アイドル検出回路、プリアンブルエラー検出回路の構成例。
【図１６】電子機器の構成例。
【符号の説明】
【０１０５】
１０  ホスト側データ転送制御装置、１２  ＰＬＬ回路、１４、１８  分周回路、
２０  トランシーバ、２２、２４  ＯＵＴ転送用、クロック転送用のトランスミッタ回路、  ２６、２８  ＩＮ転送用、ストローブ転送用のレシーバ回路、
３０  ターゲット側データ転送制御装置、４０  トランシーバ、
４２、４４  ＯＵＴ転送用、クロック転送用のレシーバ回路、
５０、７０  トランザクションコントローラ、
５２、７２  パケット生成＆転送アボート回路、
５４、７４  ８Ｂ／１０Ｂエンコード回路、５５、７５  コード生成回路、
５６、７６  パラレル／シリアル変換回路、５７、７７  転送方向切り替え指示回路、
５８、７８  転送方向切り替え回路、５９、７９  アイドル検出回路、
６０、８０  シリアル／パラレル変換回路、６１、８１  プリアンブルエラー検出回路、
６２、８２  ８Ｂ／１０Ｂデコード回路、６３、８３  コード検出回路、
６４、８４  エラー信号生成回路、６５、６７、８５、８７  インターフェース回路、
６６、８６  通知信号生成回路、６８、８８  パケット解析＆ヘッダ・データ分離回路、
【図１】
2005260360.tif 000003
【図２】
2005260360.tif 000004
【図３】
2005260360.tif 000005
【図４】
2005260360.tif 000006
【図５】
2005260360.tif 000007
【図６】
2005260360.tif 000008
【図７】
2005260360.tif 000009
【図８】
2005260360.tif 000010
【図９】
2005260360.tif 000011
【図１０】
2005260360.tif 000012
【図１１】
2005260360.tif 000013
【図１２】
2005260360.tif 000014
【図１３】
2005260360.tif 000015
【図１４】
2005260360.tif 000016
【図１５】
2005260360.tif 000017
【図１６】
2005260360.tif 000018