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