(57)【要約】【課題】制御信号用データバスのインターフェイスをホストシステムの仕様に応じて選択可能とする。【解決手段】ＩＥＥＥ１３９４機能基板１００に対し、ホストシステムとの間で制御信号パケットを送受信するためのインターフェイスとして、シリアルＩ／Ｆ１８およびパラレルＩ／Ｆ２０の２種類を設ける。それぞれのドライバソフトウェアは、基板１００上に実装される。基板１００の起動時に、ホストシステムにおける制御信号パケットのインターフェイスがシリアルＩ／Ｆ１８およびパラレルＩ／Ｆ２０の何れに接続されているかを検出し、接続されているとして検出された側のインターフェイスを、ホストシステムに対する以降の定常的なコマンドインターフェイスとして用いるように設定する。ホストシステム側の仕様に応じてコマンドインターフェイスを自動的に選択できる。【選択図】　図２
2004118704.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置において、
アイソクロナス転送される情報信号パケットをホストシステムとの間で送受信する第１のインターフェイス手段と、
アシンクロナス転送される制御信号パケットを上記ホストシステムとの間でパラレル転送で送受信する第２のインターフェイス手段と、
上記制御信号パケットを上記ホストシステムとの間でシリアル転送で送受信する第３のインターフェイス手段と、
上記ホストシステム側が上記制御信号パケットの送受信のために上記第２および第３のインターフェイスのうち何れを用いるようにされているかを検出する検出手段と、
上記検出手段の検出結果に応じて上記第２および第３のインターフェイス手段の何れかを選択する選択手段と
を有することを特徴とするインターフェイス装置。
【請求項２】
請求項１に記載のインターフェイス装置において、
上記検出手段は、起動直後に、上記第２および第３のインターフェイスを介して上記ホストシステムに対して通信開始要求を送信して該通信開始要求に対する応答待ちを行い、上記第２および第３のインターフェイスのうち上記通信開始要求に対する上記応答が返って来た方を、上記ホストシステム側で上記制御信号パケットの送受信のために用いるようにされたインターフェイスであるとして検出するようにしたことを特徴とするインターフェイス装置。
【請求項３】
請求項１に記載のインターフェイス装置において、
上記第３のインターフェイス手段は、上記第２のインターフェイス手段よりパラレル転送で供給されたパラレルデータをシリアルデータに並べ替えて上記ホストシステムにシリアル転送し、上記ホストシステムよりシリアル転送で入力されたシリアルデータをパラレルデータに並べ替えて上記第２のインターフェイス手段にパラレル転送するようにしたことを特徴するインターフェイス装置。
【請求項４】
請求項１に記載のインターフェイス装置において、
上記第２のインターフェイス手段で送受信されるデータおよび上記第３のインターフェイス手段で送受信されるデータは、主要部分が同一の情報であることを特徴とするインターフェイス装置。
【請求項５】
ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置を制御するインターフェイス装置の制御方法において、アイソクロナス転送される情報信号パケットをホストシステムとの間で第１のインターフェイス手段により送受信するステップと、
アシンクロナス転送される制御信号パケットを上記ホストシステムとの間で第２のインターフェイス手段によりパラレル転送で送受信するステップと、
上記制御信号パケットを上記ホストシステムとの間で第３のインターフェイス手段によりシリアル転送で送受信するステップと、
上記ホストシステム側が上記制御信号パケットの送受信のために上記第２および第３のインターフェイスのうち何れを用いるようにされているかを検出する検出のステップと、
上記検出のステップの検出結果に応じて上記第２および第３のインターフェイス手段の何れかを選択する選択のステップと
を有することを特徴とするインターフェイス装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、情報信号パケットと制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとをシリアルで高速に外部に伝送可能なインターフェイス装置およびインターフェイス装置の制御方法に関する。
【０００２】
【従来の技術】
近年では、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ　Ｅｌｅｃｔｒｉｃａｌ　ａｎｄ　Ｅｌｅｃｔｒｏｎｉｃ　Ｅｎｇｉｎｅｅｒｓ）−１３９４規格に代表される、情報信号パケットと制御信号パケットとをシリアルで高速に伝送可能なディジタルインターフェイスが普及してきている。ＩＥＥＥー１３９４規格によるシリアルバスインターフェイス（以下、ＩＥＥＥ１３９４シリアルバスと略称する）は、アイソクロナス転送と、アシンクロナス転送の２つの転送モードを有する。アイソクロナス転送は、リアルタイム性が保証されており、映像データや音声データといったマルチメディアデータの転送に適している。そのため、ＩＥＥＥ１９３４シリアルバスは、コンピュータ装置のインターフェイスに止まらず、ディジタルビデオカメラといった民生機器との接続が考慮された構成となっている。
【０００３】
ＩＥＥＥ１３９４シリアルバスは、物理レイヤ、リンクレイヤ、トランザクションレイヤからなる３層のレイヤ構成をとる。各レイヤについて、概略的に説明する。物理レイヤは、リンクレイヤで用いられる論理信号を、実際のバス上を流れる電気信号に変換する。物理レイヤでは、コネクタや通信信号の電気的レベルなどの物理的な処理が行われる。リンクレイヤは、物理レイヤとトランザクションレイヤとの間で信号処理を行う。データの送受信、データのチェックなどの機能も提供される。リンクレイヤでは、アイソクロナス転送と、アシンクロナス転送の処理が行われる。トランザクションレイヤは、上位アプリケーション（ホストシステム）とリンクレイヤとの間での信号処理を行う。トランザクションレイヤでは、データの読み出し、書き込み、ロックなどの処理が行われる。これら物理レイヤ、リンクレイヤおよびトランザクションレイヤは、シリアルバスマネージメントにより全体が制御される。
【０００４】
図１０は、従来の技術による、ＩＥＥＥ１３９４シリアルバスの機能を提供する１３９４機能基板１２０の一例の構成を示す。この１３９４機能基板１２０は、ホストシステム２００と接続して用いられ、ホストシステム２００に対してＩＥＥＥ１３９４シリアルバスの機能を提供するものである。
【０００５】
内部ＣＰＵバス１１１に対して、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１０１、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１０２およびＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１０３が接続される。ＣＰＵ１０１は、ＲＯＭ１０３に予め記憶されたプログラム（ファームウェア）に基づきこのＩＥＥＥ１３９４機能基板１２０の全体の動作を制御する。ＲＡＭ１０２は、例えばＣＰＵ１０１のワークメモリとして用いられる。上述したトランザクションレイヤおよびシリアルバスマネージメントは、ＲＯＭ１０３に記憶されたファームウェアに基づくＣＰＵ１０１の処理により実現される。
【０００６】
ＣＰＵ１０１は、制御信号用データバス１０７に接続され、コネクタ１０８を介してホストシステム２００と接続され、コマンドインターフェイスが構成される。このコマンドインターフェイスにおける制御信号パケットの送受信は、アクノリッジを用いた認証を行うことにより確実なデータ転送が可能な、アシンクロナス転送により行われる。このコマンドインターフェイスを用いた信号の送受信により、アシンクロナス転送および後述するアイソクロナス転送を含めた、１３９４機能基板１２０全体の動作が制御される。
【０００７】
内部ＣＰＵバス１１１に対して、ＬＩＮＫ部１０４が接続される。ＬＩＮＫ部１０４は、例えば１個の集積回路から構成され、上述したリンクレイヤの機能が実装される。ＬＩＮＫ部１０４は、ＴＳ（Ｔｒａｎｓｐｏｒｔ　Ｓｔｒｅａｍ）信号用データバス１０９に接続され、コネクタ１１０を介して、ホストシステム２００との間で、例えばビデオデータストリームやオーディオデータストリームといった情報信号パケットのストリームが、アイソクロナス転送により送受信される。アイソクロナス転送は、時間管理され、動画データのような、大量且つ連続的なデータをリアルタイムに転送するのに適している。
【０００８】
ＬＩＮＫ部１０４に対して、ＰＨＹ部１０５が接続される。ＰＨＹ部１０５は、例えば１個の集積回路から構成され、上述した物理レイヤの機能が実装される。ＰＨＹ部１０５には、ＩＥＥＥ１３９４シリアルバスに準拠した、１または複数のコネクタ１０６Ａ、１０６Ｂおよび１０６Ｃが接続される。ＰＨＹ部１０５は、これらコネクタ１０６Ａ、１０６Ｂ、１０６Ｃを介して送受信される電気信号と、ＬＩＮＫ部１０４間とで信号処理を行う。
【０００９】
このような構成において、従来では、上述したコマンドインターフェイスには、制御のリアルタイム性が求められるために、データバス幅が１６ビットの６８Ｋバスや、データバス幅が３２ビットのＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスといった、パラレルインターフェイスが固定的に用いられていた。このようなパラレルインターフェイスは、コマンドインターフェイスを介して、例えばビットマップＯＳＤ（Ｏｎ　Ｓｃｒｅｅｎ　Ｄｉｓｐｌａｙ）のような、大量且つリアルタイム性が必要なデータの送受信に適している。
【００１０】
【発明が解決しようとする課題】
しかしながら、通常は、コマンドインターフェイスにおいて、パラレルインターフェイスで与えられる帯域幅を使い切ることは無いと考えられる。そのため、パラレルインターフェイスのデータバス幅の多くが無駄な存在になってしまう可能性がある。
【００１１】
また、上述のようなリアルタイム性が必要なデータの送受信が仕様として想定されていないホストシステム２００も有り得る。この場合、データ転送において高速性が要求されないことが考えられ、やはり、パラレルインターフェイスが無駄に用いられている可能性がある。
【００１２】
このような場合、ホストシステム２００側において、基板上のパターン面積が無駄に占有されてしまうことになり、基板作製に当たって無駄なコストが発生してしまうという問題点があった。
【００１３】
また、コマンドインターフェイスを接続するコネクタとして、パラレルインターフェイスに対応して、端子数をバイト単位で有するものが必要となってしまい、部品コスト代などの点でも、コストアップが発生してしまうという問題点があった。
【００１４】
さらに、ホストシステム側でパラレルインターフェイスに対応したドライバソフトウェアを実装する必要があり、この点でもコストアップが発生してしまうという問題点があった。
【００１５】
したがって、この発明の目的は、情報信号パケットを転送する情報信号用データバスと、制御信号パケットを転送する制御信号用データバスとを有し、制御信号用データバスのインターフェイスをホストシステムの仕様に応じて選択可能としたインターフェイス装置およびインターフェイス装置の制御方法を提供することにある。
【００１６】
【課題を解決するための手段】
この発明は、上述した課題を解決するために、ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置において、アイソクロナス転送される情報信号パケットをホストシステムとの間で送受信する第１のインターフェイス手段と、アシンクロナス転送される制御信号パケットをホストシステムとの間でパラレル転送で送受信する第２のインターフェイス手段と、制御信号パケットをホストシステムとの間でシリアル転送で送受信する第３のインターフェイス手段と、ホストシステム側が制御信号パケットの送受信のために第２および第３のインターフェイスのうち何れを用いるようにされているかを検出する検出手段と、検出手段の検出結果に応じて第２および第３のインターフェイス手段の何れかを選択する選択手段とを有することを特徴とするインターフェイス装置である。
【００１７】
また、この発明は、ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置を制御するインターフェイス装置の制御方法において、アイソクロナス転送される情報信号パケットをホストシステムとの間で第１のインターフェイス手段により送受信するステップと、アシンクロナス転送される制御信号パケットをホストシステムとの間で第２のインターフェイス手段によりパラレル転送で送受信するステップと、制御信号パケットをホストシステムとの間で第３のインターフェイス手段によりシリアル転送で送受信するステップと、ホストシステム側が制御信号パケットの送受信のために第２および第３のインターフェイスのうち何れを用いるようにされているかを検出する検出のステップと、検出のステップの検出結果に応じて第２および第３のインターフェイス手段の何れかを選択する選択のステップとを有することを特徴とするインターフェイス装置の制御方法である。
【００１８】
上述したように、この発明は、アイソクロナス転送される情報信号パケットをホストシステムとの間で送受信する第１のインターフェイス手段と、アシンクロナス転送される制御信号パケットをホストシステムとの間でパラレル転送で送受信する第２のインターフェイス手段と、制御信号パケットをホストシステムとの間でシリアル転送で送受信する第３のインターフェイス手段とを備え、ホストシステム側が制御信号パケットの送受信のために第２および第３のインターフェイスのうち何れを用いるようにされているかを検出し、検出結果に応じて第２および第３のインターフェイス手段のうち１を選択するようにしているため、ホストシステム側の仕様に基づき第２および第３のインターフェイス手段を自動的に選択することができる。
【００１９】
【発明の実施の形態】
以下、この発明の実施の一形態について説明する。この発明では、ホストシステムにＩＥＥＥ１３９４シリアルバスによるインターフェイス機能を提供する、１３９４機能基板において、ホストシステムに対する制御用信号のインターフェイスとしてパラレルおよびシリアルインターフェイスをそれぞれ有し、ホストシステムの仕様に応じてこれらのインターフェイスを自動的に選択可能としたものである。また、パラレルおよびシリアルインターフェイスのドライバを、１３９４機能基板側に実装することにより、ホストシステム側の負担を軽減する。
【００２０】
先ず、この発明に対する理解を容易とするために、図１を用いてＩＥＥＥ１３９４シリアルバスのプロトコルアーキテクチャについて、概略的に説明する。ＩＥＥＥ１３９４シリアルバスは、リンクレイヤ１、物理レイヤ２およびトランザクションレイヤ３の３層のレイヤ構造を有し、これら３層のレイヤ全体がシリアルバスマネージメント４によって制御される。通常、リンクレイヤ１および物理レイヤ２は、それぞれ１つの集積回路といったハードウェアから構成され、トランザクションレイヤ３およびシリアルバスマネージメント４は、ファームウェアと称されるソフトウェアにより構成される。
【００２１】
物理レイヤ２は、ＩＥＥＥ１３９４シリアルバスのコネクタおよびケーブルを介して送受信される電気信号と、リンクレイヤ１との間での信号処理を行う。すなわち、物理レイヤ２では、リンクレイヤ１で用いる論理信号を実際のバス上に流れる電気信号に変換すると共に、この逆の、バスから供給された電気信号をリンクレイヤ１で用いる論理信号に変換する、エンコード／デコード処理が行われる。さらに、物理レイヤ２では、コネクタやケーブルなどの機械的インターフェイスの規定、バスより通信される電気信号の電気的なレベルを決めるシグナルレベルなどの電気的インターフェイスの規定、通信ノード決定のためのアービトレーション、通信クロックの再同期、バスの初期化検出などの処理が行われる。
【００２２】
リンクレイヤ１は、上述した物理レイヤ２と後述するトランザクションレイヤとの間での信号処理を行う。すなわち、リンクレイヤ１では、アドレス割り当て、データチェック、データのフレーム分けを行うパケット送受信、サイクルのコントロールが行われる。また、アイソクロナスデータは、トランザクションレイヤ３を介さずに処理され、例えばリンクレイヤ１から直接的に出力される。
【００２３】
トランザクションレイヤ３は、例えばホストシステムといった上位アプリケーションとリンクレイヤ１との間で信号処理を行う。リンクレイヤ１では、データの読み出し、書き込み、ロックなどの処理が行われる。すなわち、トランザクションレイヤ３では、リンクレイヤ１の処理を利用して、他のノードに対するリクエストパケットの送信と、それに応じた上位アプリケーションからのレスポンスパケットの受信を行うことにより、指定されたノードとアドレスに対する一つの通信処理が行われる。また、トランザクションレイヤ３では、リクエストパケットの受信と、それに応じたレスポンスパケットの送信という、他のノードから自分への通信処理が行われる。
【００２４】
シリアルバスマネージメント４は、上述の３つのレイヤ全体の制御を行う。また、ＩＥＥＥ１３９４シリアルバスでは、ノードの接続によるツリー構造を示すコンフィグレーションが保持されるコンフィグレーションＲＯＭや、制御レジスタとして用いられるＣＳＲ（Ｃｏｎｔｒｏｌ　ａｎｄ　Ｓｔａｔｕｓ　Ｒｅｇｉｓｔｅｒ）がシリアルバスマネージメント４に含まれる。
【００２５】
図２は、この発明の実施の一形態による、ＩＥＥＥ１３９４シリアルバスの機能を提供する１３９４機能基板１００の一例の構成を示す。この１３９４機能基板１００は、図示されないホストシステムと接続して用いられ、ホストシステムに対してＩＥＥＥ１３９４シリアルバスの機能を提供するものでる。ホストシステムとしては、例えばディジタルテレビジョン受像機、ディジタルビデオレコーダ、ディジタルテレビジョン放送を受信するためのＳＴＢ（Ｓｅｔ　Ｔｏｐ　Ｂｏｘ）などが考えられる。
【００２６】
内部ＣＰＵバス１０に対して、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１２およびＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１３が接続される。ＣＰＵ１１は、ＲＯＭ１３に予め記憶されたプログラム（ファームウェア）に基づきこの１３９４機能基板１００の全体の動作を制御する。ＲＡＭ１２は、例えばＣＰＵ１１のワークメモリとして用いられる。上述したトランザクションレイヤ３およびシリアルバスマネージメント４は、ＲＯＭ１３に記憶されたファームウェアに基づくＣＰＵ１１の処理により実現される。コンフィグレーションＲＯＭやＣＳＲは、例えばＲＡＭ１２やＣＰＵ１１が持つレジスタを利用することができる。
【００２７】
ＣＰＵ１１は、後述するコマンドインターフェイスにより図示されないホストシステムと接続される。このコマンドインターフェイスにおける制御信号パケットの送受信は、アシンクロナス転送により行われる。このコマンドインターフェイスを用いた信号の送受信により、アシンクロナス転送および後述するアイソクロナス転送を含めた、１３９４機能基板１００全体の動作が制御される。
【００２８】
内部ＣＰＵバス１０に対して、ＬＩＮＫ部１４が接続される。ＬＩＮＫ部１４は、例えば１個の集積回路から構成され、上述したリンクレイヤ１の機能が実装される。ＬＩＮＫ部１４は、ＴＳ（Ｔｒａｎｓｐｏｒｔ　Ｓｔｒｅａｍ）信号用データバス２１に接続され、ＴＳ信号用コネクタ２２を介して、図示されないホストシステムとの間で、例えばビデオデータストリームやオーディオデータストリームといった情報信号パケットのストリームが、アイソクロナス転送により送受信される。
【００２９】
ＬＩＮＫ部１４に対して、ＰＨＹ部１５が接続される。ＰＨＹ部１５は、例えば１個の集積回路から構成され、上述した物理レイヤ２の機能が実装される。ＰＨＹ部１５には、ＩＥＥＥ１３９４シリアルバスに準拠した、１または複数のコネクタ１６Ａ、１６Ｂおよび１６Ｃが接続される。ＰＨＹ部１５は、これらコネクタ１６Ａ、１６Ｂ、１６Ｃを介して送受信される電気信号と、ＬＩＮＫ部１４間とで信号処理を行う。
【００３０】
ＣＰＵ１１に対して、図示されないホストシステムとの間で制御信号パケットを送受信するためコマンドインターフェイスとして、次に示す、２種類が設けられる。
【００３１】
一つは、例えばＰＣＩバスや６８Ｋバスに代表される、パラレル転送によるコマンドインターフェイスである。ＣＰＵ１１の専用のパラレルインターフェイスに対して制御信号用データバス（＃１）１９が接続される。制御信号用データバス（＃１）１９は、パラレルインターフェイス用の制御信号用コネクタ（＃１）２０を介してホストシステムと接続することができる。
【００３２】
もう一つは、シリアル転送によるコマンドインターフェイスである。ＣＰＵ１１の汎用入出力ポートであるＧＰＩＯ（Ｇｅｎｅｒａｌ　Ｐｕｒｐｏｓｅ　Ｉ／Ｏ）ポート若しくはシリアルＩ／Ｏポートに対して制御信号用データバス（＃２）１７が接続される。制御信号用データバス（＃２）１７は、シリアルインターフェイス用の制御信号用コネクタ（＃２）１８を介してホストシステムと接続することができる。
【００３３】
また、コマンドインターフェイスとして設けられるこれらパラレルインターフェイスおよびシリアルインターフェイスのドライバソフトウェアは、この１３９４機能基板１００上に実装される。
【００３４】
これら制御信号用コネクタ（＃１）２０および制御信号用コネクタ（＃２）１８の何れか一方がホストシステムと接続される。何方のコネクタがホストシステムに接続されるかは、ホストシステムの機能や要求仕様により決定される。
【００３５】
例えば、ＥＩＡ（Ｅｌｅｃｔｒｏｎｉｃ　Ｉｎｄｕｓｔｒｉｅｓ　Ａｌｌｉａｎｃｅ）７７５／７７５Ａで規定されるビットマップＯＳＤ（Ｏｎ　Ｓｃｒｅｅｎ　Ｄｉｓｐｌａｙ）転送を行うアプリケーションのように、高速なデータ伝送能力が要求される場合には、パラレル転送を行う制御信号用コネクタ（＃１）２０が用いられることが考えられる。また例えば、このビットマップＯＳＤのような高速なデータ伝送能力を要求されないような場合や、ホストシステム側の基板上のパターン占有面積を削減し、且つ設計が容易であるなどの仕様が優先される場合には、シリアル転送を行う制御信号用コネクタ（＃２）１８が用いられることが考えられる。
【００３６】
ＣＰＵ１１では、実際にセットとして１３９４機能基板１００がホストシステムに接続された際に、１３９４機能基板１００の起動時に制御信号用コネクタ（＃１）２０および制御信号用コネクタ（＃２）１８の何方を経由してホストシステムが接続されているかが、自動的に検出される。これにより、パラレルインターフェイスおよびシリアルインターフェイスのうち、ホストシステムにおいて何方がコマンドインターフェイスとして用いられているかが判断でき、以降は、検出されたインターフェイスを介して、１３９４機能基板１００とホストシステムとの間の通信がなされる。
【００３７】
図３は、コマンドインターフェイスとしてパラレルインターフェイスを用いたホストシステム１３０と、この発明の実施の一形態による１３９４機能基板１００との一例の接続を示す。なお、この図３および下記の図４において、上述の図２と共通する部分には同一の符号を付し、詳細な説明を省略する。図３に示されるように、１３９４機能基板１００とホストシステム１３０とはパラレルインターフェイスである制御信号用コネクタ（＃１）２０により接続され、シリアルインターフェイスである制御信号用コネクタ（＃２）１８は、ホストシステム１３０において用いられない。１３９４機能基板１００において、ＣＰＵ１１は、制御信号用データバス（＃１）１９および制御信号用コネクタ（＃１）２０を介してホストシステム１３０と制御信号パケットの送受信を行う。
【００３８】
図４は、コマンドインターフェイスとしてシリアルインターフェイスを用いたホストシステム１３１と、この発明の実施の一形態による１３９４機能基板１００との一例の接続を示す。このように、１３９４機能基板１００とホストシステム１３１とはシリアルインターフェイスである制御信号用コネクタ（＃２）１８により接続され、パラレルインターフェイスである制御信号用コネクタ（＃１）２０は、ホストシステム１３１において用いられない。１３９４機能基板１００において、ＣＰＵ１１は、制御信号用データバス（＃２）１７および制御信号用コネクタ（＃２）１８を介してホストシステム１３１と制御信号パケットの送受信を行う。
【００３９】
図５は、この発明の実施の一形態による、１３９４機能基板１００における一例のソフトウェア構成を概略的に示す。なお、この図５において、下部に示される、ＬＩＮＫ／ＰＨＹ部５０と、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２とは、それぞれ１３９４機能基板１００におけるハードウェア部分に対応する。例えば、ＬＩＮＫ／ＰＨＹ部５０は、ＩＥＥＥ１３９４シリアルバスに対応した外部機器に対するインターフェイスであって、図２のＬＩＮＫ部１４、ＰＨＹ部１５、ならびに、コネクタ１６Ａ、１６Ｂおよび１６Ｃなどに相当する。また、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２は、１３９４機能基板１００とホストシステムとを接続するインターフェイスである。
【００４０】
パラレルＩ／Ｆ５１は、図２の制御信号用コネクタ（＃１）２０および制御信号用データバス（＃１）１９を含み、この１３９４機能基板１００とホストシステムとの間でパラレルデータとして制御信号パケットの送受信を行う。シリアルＩ／Ｆ５２は、図２の制御信号用コネクタ（＃２）１８および制御信号用データバス（＃２）を含み、１３９４機能基板１００とホストシステムとの間でシリアルデータとして制御信号パケットの送受信を行う。
【００４１】
１３９４機能基板１００におけるソフトウェアは、例えば図２のＲＯＭ１３に予め格納され、この１３９４機能基板１００の起動時にＣＰＵ１１により実行されるもので、ミドルウェアレイヤとドライバレイヤの２層からなる。ミドルウェアレイヤは、ファームウェアの上位に位置するミドルウェアアプリケーション３０からなる。ミドルウェアアプリケーション３０は、この１３９４機能基板１００のコネクタ１６Ａ、１６Ｂおよび１６Ｃに接続される、ＩＥＥＥ１３９４インターフェイスに対応した機器（ディジタルビデオカメラ、ハードディスクドライブなど）と、ホストシステムと間で送受信される、ＡＶ／Ｃコマンドなどの仲介を行う。１３９４Ｉ／Ｆドライバ４１は、上述したＩＥＥＥ１３９４インターフェイスにおけるファームウェアに対応し、トランザクションレイヤ３およびシリアルバスマネージメント４の処理が行われる。
【００４２】
この発明の実施の一形態においては、ドライバレイヤに、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２にそれぞれ対応したドライバソフトウェアであるパラレルＩ／Ｆドライバ４２およびシリアルＩ／Ｆドライバ４３が実装される。パラレルＩ／Ｆドライバ４２は、ミドルウェアアプリケーション３０とパラレルＩ／Ｆ５１との間で送受信されるデータに対して、それぞれのフォーマットに適合するように、フォーマット変換処理を行う。
【００４３】
一方、シリアルＩ／Ｆドライバ４３は、パラレルＩ／Ｆドライバ４２から出力されたパラレルデータをシリアルデータに変換する処理と、シリアルＩ／Ｆ５２から入力されたシリアルデータをパラレルデータに変換する処理とを行う。シリアルＩ／Ｆドライバ４３でシリアルデータが変換されたパラレルデータは、パラレルＩ／Ｆドライバ４２に供給される。
【００４４】
Ｉ／Ｏ制御部４０は、ホストシステムがパラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２の何れに接続されたかを検出し、検出結果に応じて、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２の何れかを選択するようにスイッチ回路４５Ａおよび４５Ｂを制御する。すなわち、ホストシステムがパラレルＩ／Ｆ５１に接続されていることが検出されたら、スイッチ回路４５Ａを「閉」に、スイッチ回路４５Ｂを「開」に、それぞれ制御する。同様に、ホストシステムがシリアルＩ／Ｆ５２に接続されていることが検出されたら、スイッチ回路４５Ａを「開」に、スイッチ回路４５Ｂを「閉」に、それぞれ制御する。
【００４５】
図６は、パラレルＩ／Ｆ５１で送受信されるパケット６０の一例の構成を示す。ここでは、データバス幅が１６ビットとされ、以下では、この１６ビットを１ワードとして説明する。先頭側の４ワードがメッセージヘッダ、それ以降がデータエリアとされる。データエリアでは、データが先頭から順にバイト単位で詰め込まれる。最終バイトを詰め込んだ際に、最終ワードに余りが生じたときは、余りの部分に所定のスタッフィングバイトが詰め込まれる。
【００４６】
先頭の１ワードのうち上位４ビットがフィールドＣｏｎｔｉｎｕａｔｉｏｎ、下位１２ビットがフィールドＦｒａｇｍｅｎｔＣｎｔとされる。フィールドＣｏｎｔｉｎｕａｔｉｏｎにより、一つのメッセージが複数のフレームに分割された際に、現在読み出しているフレームが独立した単一のメッセージであるか、若しくは、分割された最後のサブフレームであるか、それとも後続するサブフレームがあるかが示される。フィールドＦｒａｇｍｅｎｔＣｎｔにより、一つのメッセージが複数のサブフレームに分割された際の、分割パケットの個数が示される。
【００４７】
先頭から２ワード目は、データエリアのスタッフィングバイトを含まないデータ長がバイト単位で示される。
【００４８】
先頭から３ワード目は、上位５ビットがＲｅｓｅｒｖｅｄとされており、次の３ビットがフィールドＭｓｇＴｙｐｅ、下位８ビットがフィールドＴｒａｎｓａｃｔｉｏｎＩＤとされている。フィールドＭｓｇＴｙｐｅにより、このパケットのデータタイプが示される。フィールドＭｓｇＴｙｐｅの３ビットのうち、上位１ビット目でデータの方向が、２ビット目でコマンドバッファかデータバッファかが、３ビット目でリクエストかレスポンスかがそれぞれ示される。フィールドＴｒａｎｓａｃｔｉｏｎＩＤは、メッセージ毎に固有のインクリメントカウンタであり、異なるメッセージフレームの送信時にインクリメントされる。分割された一連のサブフレーム内では、フィールドＴｒａｎｓａｃｔｉｏｎＩＤの値は同一とされる。
【００４９】
先頭から４ワード目は、上位８ビットがフィールドＰｏｒｔＩＤ、下位８ビットがフィールドＰｏｒｔＩＤ　Ｄｅｐｅｎｄｅｎｔとされる。フィールドＰｏｒｔＩＤにより、メッセージの送り先がコードで示される。フィールドＰｏｒｔＩＤ　Ｄｅｐｅｎｄｅｎｔにより、フィールドＰｏｒｔＩＤで示されたメッセージの送り先での詳細処理がコードで示される。
【００５０】
図７は、シリアルＩ／Ｆドライバ４３における一例のフォーマット変換処理を示す。パラレルＩ／Ｆドライバ４２から出力されたパケット６０は、シリアルＩ／Ｆドライバ４３に供給される。このパケット６０は、シリアルＩ／Ｆドライバ４３に供給されると、例えばバッファメモリに一旦溜め込まれ、データ６１として示されるように、１ワードがバイト単位に並べ替えられる。パケット６０において、データエリアにスタッフィングバイトが用いられている場合は、データ６１にも、スタッフィングバイトがそのまま付加される。
【００５１】
このデータ６１をボディとして、ボディに対して、データ６２として示されるように、同期制御のためにヘッダおよびフッタが付加される。このデータ６２が、例えば、先頭１バイト目の下位ビットから順にビットシリアルにバッファメモリから読み出されることで、シリアルデータとされる。このシリアルデータは、シリアルＩ／Ｆ５２に導出される。
【００５２】
なお、シリアルＩ／Ｆ５２から入力されるシリアルデータは、シリアルＩ／Ｆドライバ４２により上述と逆の処理を施されてパラレルデータに変換され、パラレルＩ／Ｆドライバ４２に供給される。例えば、シリアルデータは、ヘッダおよびフッタが取り除かれ、１バイト毎に切り出される。そして、先頭バイトから２バイトずつ組み合わされて１ワードとされ、パケット６０が形成される。
【００５３】
図８は、シリアルＩ／Ｆドライバ４３で送受信されるシリアルデータの一例のフォーマットを示す。この図８に示されるフォーマットは、上述のデータ６２に対応するものである。ヘッダ部分において、先頭の１バイトは、フィールドＳｔａｒｔ＿Ｂｙｔｅとされる。先頭から２バイト目は、上位２ビットがフィールドｐａｃｋｅｔＴｙｐｅ（図８中では「ｐＴｙｐｅ」と表記）、下位６ビットがフィールドＣｏｕｎｔｅｒとされる。先頭から３バイト目および４バイト目の２バイトを用いて、ボディ部分のデータ長が示される。また、フッタ部分は、１バイトのフィールドＳｔｏｐ＿Ｂｙｔｅである。
【００５４】
フィールドＳｔａｒｔ＿Ｂｙｔｅおよびフッタ部分のフィールドＳｔｏｐ＿Ｂｙｔｅは、互いに異なる固定的な値が用いられ、それぞれ１パケットの先頭および終了バイトが示される。フィールドｐａｃｋｅｔＴｙｐｅにより、このパケットが同期をとるためのシンクパケットか、データ本体が格納されるデータパケットか、或いは、両者に対する認証のためのアクノリッジパケットかが示される。フィールドＣｏｕｎｔｅｒは、１データパケット毎にインクリメントされるカウンタである。
【００５５】
このように、この発明の実施の一形態では、シリアルＩ／Ｆ５２を介してホストシステムと送受信されるデータのフォーマットは、パラレルＩ／Ｆ５１によるデータをそのまま含む。そのため、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２は、同様の制御信号の送受信を行うことが可能である。
【００５６】
図９は、１３９４機能基板１００において、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２の何れを用いるかを決定する一例の処理を示すフローチャートである。１３９４機能基板１００が組み込まれているホストシステムに電源が投入されると、１３９４機能基板１００にも電源が供給され、ホストシステムおよび１３９４機能基板１００がそれぞれ起動する。１３９４機能基板１００では、起動後、先ず、ブート処理と内部初期化が行われる（ステップＳ１０）。例えば、ＲＯＭ１３に格納されたファームウェアがＣＰＵ１１に読み込まれ、起動処理がなされると共に、ＲＡＭ１２の内容のクリア、ＬＩＮＫ部１４、ＰＨＹ部１５のメモリやレジスタなどの初期化が行われる。
【００５７】
ブート処理および内部初期化処理が完了すると、ステップＳ１１で、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２に対して、それぞれ通信開始要求のコマンドが送信される。次のステップＳ１２で、応答待ちが行われ、通信開始要求のコマンドに対する応答がパラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２の何れから返されるかが監視される。なお、ここでの応答待ちは、システムの仕様に応じて、ポーリング（ｐｏｌｌｉｎｇ）若しくは割り込み（ｉｎｔｅｒｒｕｐｔ）の処理にて実現される。そして、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２のうち、応答が返ってきた方がホストシステムにより制御信号パケットの送受信のために用いられているインターフェイスに接続されているとされ、以降の定常状態におけるホストシステムとの通信経路に設定される（ステップＳ１３）。すなわち、Ｉ／Ｏ制御部４０により、ステップＳ１２の応答待ちの結果に基づき上述のようにしてスイッチ回路４５Ａおよび４５Ｂがそれぞれ制御され、パラレルＩ／Ｆ５１およびシリアルＩ／Ｆ５２のうち一方が通信経路として設定される。設定された通信経路により、通信が開始される（ステップＳ１４）。
【００５８】
なお、上述では、この発明がＩＥＥＥ１３９４インターフェイスに適用されるように説明したが、これはこの例に限定されない。この発明は、接続されるホストシステムの仕様により要求されるデータ転送速度が大きく異なる場合がある、他のインターフェイスにも適用可能なものである。
【００５９】
【発明の効果】
以上説明したように、この発明によるインターフェイス機能基板では、制御信号用のインターフェイスとしてパラレルおよびシリアルの２種類を内蔵し、接続されるホストシステムの仕様に応じて、用いるインターフェイスを自動的に設定するようにされている。そのため、機能基板側のインターフェイスを変更することなく、ホストシステム側が要求する機能や能力、コストに応じて、ホストシステム側が、用いるインターフェイスを決めることができるという効果がある。
【００６０】
したがって、この発明が適用されたインターフェイス機能基板を用いることで、１種類の機能基板で、制御信号用のインターフェイスとしてシリアル転送を用いるホストシステムと、パラレル転送を用いるホストシステムとに、機能基板およびホストシステム側の何れにも設計の変更を行うことなく対応することができるという効果がある。
【００６１】
また、この発明の実施の一形態では、パラレルおよびシリアルインターフェイスのドライバソフトウェアおよびその制御部が独立しているので、ミドルウェアの開発を、パラレルおよびシリアルの何方のインターフェイスを用いるかを意識することなく行うことが可能になる。そのため、インターフェイス機能基板の機能のバージョンアップなどによりミドルウェアを追加開発する場合でも、単一のインターフェイスしか有しない場合と同様の開発工数で済むという効果がある。
【図面の簡単な説明】
【図１】ＩＥＥＥ１３９４シリアルバスのプロトコルアーキテクチャを概略的に示す略線図である。
【図２】の発明の実施の一形態によるＩＥＥＥ１３９４シリアルバスの機能を提供する１３９４機能基板の一例の構成を示すブロック図である。
【図３】コマンドインターフェイスとしてパラレルインターフェイスを用いたホストシステムと、この発明の実施の一形態による１３９４機能基板との一例の接続を示すブロック図である。
【図４】コマンドインターフェイスとしてシリアルインターフェイスを用いたホストシステムと、この発明の実施の一形態による１３９４機能基板との一例の接続を示すブロック図である。
【図５】この発明の実施の一形態による１３９４機能基板における一例のソフトウェア構成を概略的に示すブロック図である。
【図６】パラレルＩ／Ｆで送受信されるパケットの一例の構成を示す略線図である。
【図７】シリアルＩ／Ｆドライバにおける一例のフォーマット変換処理を示す略線図である。
【図８】シリアルＩ／Ｆドライバで送受信されるシリアルデータの一例のフォーマットを示す略線図である。
【図９】１３９４機能基板においてパラレルＩ／ＦおよびシリアルＩ／Ｆの何れを用いるかを決定する一例の処理を示すフローチャートである。
【図１０】従来の技術によるＩＥＥＥ１３９４シリアルバスの機能を提供する１３９４機能基板の一例の構成を示すブロック図である。
【符号の説明】
１・・・リンクレイヤ、２・・・物理レイヤ、３・・・トランザクションレイヤ、４・・・シリアルバスマネージメント、１１・・・ＣＰＵ、１２・・・ＲＡＭ、１３・・・ＲＯＭ、１４・・・ＬＩＮＫ部、１５・・・ＰＨＹ部、１７・・・制御信号用データバス（＃２）、１８・・・制御信号用コネクタ（＃２）、１９・・・制御信号用データバス（＃１）、２０・・・制御信号用コネクタ（＃１）、２１・・・ＴＳ信号用データバス、２２・・・ＴＳ信号用コネクタ、３０・・・ミドルウェアアプリケーション、４０・・・Ｉ／Ｏ制御部、４１・・・１３９４Ｉ／Ｆドライバ、４２・・・パラレルＩ／Ｆドライバ、４３・・・シリアルＩ／Ｆドライバ、４５Ａ，４５Ｂ・・・スイッチ回路、５１・・・パラレルＩ／Ｆ、５２・・・シリアルＩ／Ｆ、１００・・・１３９４機能基板
【図１】
2004118704.tif 000003
【図２】
2004118704.tif 000004
【図３】
2004118704.tif 000005
【図４】
2004118704.tif 000006
【図５】
2004118704.tif 000007
【図６】
2004118704.tif 000008
【図７】
2004118704.tif 000009
【図８】
2004118704.tif 000010
【図９】
2004118704.tif 000011
【図１０】
2004118704.tif 000012