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