JP2004118704A - インターフェイス装置およびインターフェイス装置の制御方法 - Google Patents
インターフェイス装置およびインターフェイス装置の制御方法 Download PDFInfo
- Publication number
- JP2004118704A JP2004118704A JP2002283615A JP2002283615A JP2004118704A JP 2004118704 A JP2004118704 A JP 2004118704A JP 2002283615 A JP2002283615 A JP 2002283615A JP 2002283615 A JP2002283615 A JP 2002283615A JP 2004118704 A JP2004118704 A JP 2004118704A
- Authority
- JP
- Japan
- Prior art keywords
- host system
- interface
- control signal
- signal packet
- serial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】制御信号用データバスのインターフェイスをホストシステムの仕様に応じて選択可能とする。
【解決手段】IEEE1394機能基板100に対し、ホストシステムとの間で制御信号パケットを送受信するためのインターフェイスとして、シリアルI/F18およびパラレルI/F20の2種類を設ける。それぞれのドライバソフトウェアは、基板100上に実装される。基板100の起動時に、ホストシステムにおける制御信号パケットのインターフェイスがシリアルI/F18およびパラレルI/F20の何れに接続されているかを検出し、接続されているとして検出された側のインターフェイスを、ホストシステムに対する以降の定常的なコマンドインターフェイスとして用いるように設定する。ホストシステム側の仕様に応じてコマンドインターフェイスを自動的に選択できる。
【選択図】 図2
【解決手段】IEEE1394機能基板100に対し、ホストシステムとの間で制御信号パケットを送受信するためのインターフェイスとして、シリアルI/F18およびパラレルI/F20の2種類を設ける。それぞれのドライバソフトウェアは、基板100上に実装される。基板100の起動時に、ホストシステムにおける制御信号パケットのインターフェイスがシリアルI/F18およびパラレルI/F20の何れに接続されているかを検出し、接続されているとして検出された側のインターフェイスを、ホストシステムに対する以降の定常的なコマンドインターフェイスとして用いるように設定する。ホストシステム側の仕様に応じてコマンドインターフェイスを自動的に選択できる。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
この発明は、情報信号パケットと制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとをシリアルで高速に外部に伝送可能なインターフェイス装置およびインターフェイス装置の制御方法に関する。
【0002】
【従来の技術】
近年では、IEEE(Institute Electrical and Electronic Engineers)−1394規格に代表される、情報信号パケットと制御信号パケットとをシリアルで高速に伝送可能なディジタルインターフェイスが普及してきている。IEEEー1394規格によるシリアルバスインターフェイス(以下、IEEE1394シリアルバスと略称する)は、アイソクロナス転送と、アシンクロナス転送の2つの転送モードを有する。アイソクロナス転送は、リアルタイム性が保証されており、映像データや音声データといったマルチメディアデータの転送に適している。そのため、IEEE1934シリアルバスは、コンピュータ装置のインターフェイスに止まらず、ディジタルビデオカメラといった民生機器との接続が考慮された構成となっている。
【0003】
IEEE1394シリアルバスは、物理レイヤ、リンクレイヤ、トランザクションレイヤからなる3層のレイヤ構成をとる。各レイヤについて、概略的に説明する。物理レイヤは、リンクレイヤで用いられる論理信号を、実際のバス上を流れる電気信号に変換する。物理レイヤでは、コネクタや通信信号の電気的レベルなどの物理的な処理が行われる。リンクレイヤは、物理レイヤとトランザクションレイヤとの間で信号処理を行う。データの送受信、データのチェックなどの機能も提供される。リンクレイヤでは、アイソクロナス転送と、アシンクロナス転送の処理が行われる。トランザクションレイヤは、上位アプリケーション(ホストシステム)とリンクレイヤとの間での信号処理を行う。トランザクションレイヤでは、データの読み出し、書き込み、ロックなどの処理が行われる。これら物理レイヤ、リンクレイヤおよびトランザクションレイヤは、シリアルバスマネージメントにより全体が制御される。
【0004】
図10は、従来の技術による、IEEE1394シリアルバスの機能を提供する1394機能基板120の一例の構成を示す。この1394機能基板120は、ホストシステム200と接続して用いられ、ホストシステム200に対してIEEE1394シリアルバスの機能を提供するものである。
【0005】
内部CPUバス111に対して、CPU(Central Processing Unit)101、RAM(Random Access Memory)102およびROM(Read Only Memory)103が接続される。CPU101は、ROM103に予め記憶されたプログラム(ファームウェア)に基づきこのIEEE1394機能基板120の全体の動作を制御する。RAM102は、例えばCPU101のワークメモリとして用いられる。上述したトランザクションレイヤおよびシリアルバスマネージメントは、ROM103に記憶されたファームウェアに基づくCPU101の処理により実現される。
【0006】
CPU101は、制御信号用データバス107に接続され、コネクタ108を介してホストシステム200と接続され、コマンドインターフェイスが構成される。このコマンドインターフェイスにおける制御信号パケットの送受信は、アクノリッジを用いた認証を行うことにより確実なデータ転送が可能な、アシンクロナス転送により行われる。このコマンドインターフェイスを用いた信号の送受信により、アシンクロナス転送および後述するアイソクロナス転送を含めた、1394機能基板120全体の動作が制御される。
【0007】
内部CPUバス111に対して、LINK部104が接続される。LINK部104は、例えば1個の集積回路から構成され、上述したリンクレイヤの機能が実装される。LINK部104は、TS(Transport Stream)信号用データバス109に接続され、コネクタ110を介して、ホストシステム200との間で、例えばビデオデータストリームやオーディオデータストリームといった情報信号パケットのストリームが、アイソクロナス転送により送受信される。アイソクロナス転送は、時間管理され、動画データのような、大量且つ連続的なデータをリアルタイムに転送するのに適している。
【0008】
LINK部104に対して、PHY部105が接続される。PHY部105は、例えば1個の集積回路から構成され、上述した物理レイヤの機能が実装される。PHY部105には、IEEE1394シリアルバスに準拠した、1または複数のコネクタ106A、106Bおよび106Cが接続される。PHY部105は、これらコネクタ106A、106B、106Cを介して送受信される電気信号と、LINK部104間とで信号処理を行う。
【0009】
このような構成において、従来では、上述したコマンドインターフェイスには、制御のリアルタイム性が求められるために、データバス幅が16ビットの68Kバスや、データバス幅が32ビットのPCI(Peripheral Component Interconnect)バスといった、パラレルインターフェイスが固定的に用いられていた。このようなパラレルインターフェイスは、コマンドインターフェイスを介して、例えばビットマップOSD(On Screen Display)のような、大量且つリアルタイム性が必要なデータの送受信に適している。
【0010】
【発明が解決しようとする課題】
しかしながら、通常は、コマンドインターフェイスにおいて、パラレルインターフェイスで与えられる帯域幅を使い切ることは無いと考えられる。そのため、パラレルインターフェイスのデータバス幅の多くが無駄な存在になってしまう可能性がある。
【0011】
また、上述のようなリアルタイム性が必要なデータの送受信が仕様として想定されていないホストシステム200も有り得る。この場合、データ転送において高速性が要求されないことが考えられ、やはり、パラレルインターフェイスが無駄に用いられている可能性がある。
【0012】
このような場合、ホストシステム200側において、基板上のパターン面積が無駄に占有されてしまうことになり、基板作製に当たって無駄なコストが発生してしまうという問題点があった。
【0013】
また、コマンドインターフェイスを接続するコネクタとして、パラレルインターフェイスに対応して、端子数をバイト単位で有するものが必要となってしまい、部品コスト代などの点でも、コストアップが発生してしまうという問題点があった。
【0014】
さらに、ホストシステム側でパラレルインターフェイスに対応したドライバソフトウェアを実装する必要があり、この点でもコストアップが発生してしまうという問題点があった。
【0015】
したがって、この発明の目的は、情報信号パケットを転送する情報信号用データバスと、制御信号パケットを転送する制御信号用データバスとを有し、制御信号用データバスのインターフェイスをホストシステムの仕様に応じて選択可能としたインターフェイス装置およびインターフェイス装置の制御方法を提供することにある。
【0016】
【課題を解決するための手段】
この発明は、上述した課題を解決するために、ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置において、アイソクロナス転送される情報信号パケットをホストシステムとの間で送受信する第1のインターフェイス手段と、アシンクロナス転送される制御信号パケットをホストシステムとの間でパラレル転送で送受信する第2のインターフェイス手段と、制御信号パケットをホストシステムとの間でシリアル転送で送受信する第3のインターフェイス手段と、ホストシステム側が制御信号パケットの送受信のために第2および第3のインターフェイスのうち何れを用いるようにされているかを検出する検出手段と、検出手段の検出結果に応じて第2および第3のインターフェイス手段の何れかを選択する選択手段とを有することを特徴とするインターフェイス装置である。
【0017】
また、この発明は、ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置を制御するインターフェイス装置の制御方法において、アイソクロナス転送される情報信号パケットをホストシステムとの間で第1のインターフェイス手段により送受信するステップと、アシンクロナス転送される制御信号パケットをホストシステムとの間で第2のインターフェイス手段によりパラレル転送で送受信するステップと、制御信号パケットをホストシステムとの間で第3のインターフェイス手段によりシリアル転送で送受信するステップと、ホストシステム側が制御信号パケットの送受信のために第2および第3のインターフェイスのうち何れを用いるようにされているかを検出する検出のステップと、検出のステップの検出結果に応じて第2および第3のインターフェイス手段の何れかを選択する選択のステップとを有することを特徴とするインターフェイス装置の制御方法である。
【0018】
上述したように、この発明は、アイソクロナス転送される情報信号パケットをホストシステムとの間で送受信する第1のインターフェイス手段と、アシンクロナス転送される制御信号パケットをホストシステムとの間でパラレル転送で送受信する第2のインターフェイス手段と、制御信号パケットをホストシステムとの間でシリアル転送で送受信する第3のインターフェイス手段とを備え、ホストシステム側が制御信号パケットの送受信のために第2および第3のインターフェイスのうち何れを用いるようにされているかを検出し、検出結果に応じて第2および第3のインターフェイス手段のうち1を選択するようにしているため、ホストシステム側の仕様に基づき第2および第3のインターフェイス手段を自動的に選択することができる。
【0019】
【発明の実施の形態】
以下、この発明の実施の一形態について説明する。この発明では、ホストシステムにIEEE1394シリアルバスによるインターフェイス機能を提供する、1394機能基板において、ホストシステムに対する制御用信号のインターフェイスとしてパラレルおよびシリアルインターフェイスをそれぞれ有し、ホストシステムの仕様に応じてこれらのインターフェイスを自動的に選択可能としたものである。また、パラレルおよびシリアルインターフェイスのドライバを、1394機能基板側に実装することにより、ホストシステム側の負担を軽減する。
【0020】
先ず、この発明に対する理解を容易とするために、図1を用いてIEEE1394シリアルバスのプロトコルアーキテクチャについて、概略的に説明する。IEEE1394シリアルバスは、リンクレイヤ1、物理レイヤ2およびトランザクションレイヤ3の3層のレイヤ構造を有し、これら3層のレイヤ全体がシリアルバスマネージメント4によって制御される。通常、リンクレイヤ1および物理レイヤ2は、それぞれ1つの集積回路といったハードウェアから構成され、トランザクションレイヤ3およびシリアルバスマネージメント4は、ファームウェアと称されるソフトウェアにより構成される。
【0021】
物理レイヤ2は、IEEE1394シリアルバスのコネクタおよびケーブルを介して送受信される電気信号と、リンクレイヤ1との間での信号処理を行う。すなわち、物理レイヤ2では、リンクレイヤ1で用いる論理信号を実際のバス上に流れる電気信号に変換すると共に、この逆の、バスから供給された電気信号をリンクレイヤ1で用いる論理信号に変換する、エンコード/デコード処理が行われる。さらに、物理レイヤ2では、コネクタやケーブルなどの機械的インターフェイスの規定、バスより通信される電気信号の電気的なレベルを決めるシグナルレベルなどの電気的インターフェイスの規定、通信ノード決定のためのアービトレーション、通信クロックの再同期、バスの初期化検出などの処理が行われる。
【0022】
リンクレイヤ1は、上述した物理レイヤ2と後述するトランザクションレイヤとの間での信号処理を行う。すなわち、リンクレイヤ1では、アドレス割り当て、データチェック、データのフレーム分けを行うパケット送受信、サイクルのコントロールが行われる。また、アイソクロナスデータは、トランザクションレイヤ3を介さずに処理され、例えばリンクレイヤ1から直接的に出力される。
【0023】
トランザクションレイヤ3は、例えばホストシステムといった上位アプリケーションとリンクレイヤ1との間で信号処理を行う。リンクレイヤ1では、データの読み出し、書き込み、ロックなどの処理が行われる。すなわち、トランザクションレイヤ3では、リンクレイヤ1の処理を利用して、他のノードに対するリクエストパケットの送信と、それに応じた上位アプリケーションからのレスポンスパケットの受信を行うことにより、指定されたノードとアドレスに対する一つの通信処理が行われる。また、トランザクションレイヤ3では、リクエストパケットの受信と、それに応じたレスポンスパケットの送信という、他のノードから自分への通信処理が行われる。
【0024】
シリアルバスマネージメント4は、上述の3つのレイヤ全体の制御を行う。また、IEEE1394シリアルバスでは、ノードの接続によるツリー構造を示すコンフィグレーションが保持されるコンフィグレーションROMや、制御レジスタとして用いられるCSR(Control and Status Register)がシリアルバスマネージメント4に含まれる。
【0025】
図2は、この発明の実施の一形態による、IEEE1394シリアルバスの機能を提供する1394機能基板100の一例の構成を示す。この1394機能基板100は、図示されないホストシステムと接続して用いられ、ホストシステムに対してIEEE1394シリアルバスの機能を提供するものでる。ホストシステムとしては、例えばディジタルテレビジョン受像機、ディジタルビデオレコーダ、ディジタルテレビジョン放送を受信するためのSTB(Set Top Box)などが考えられる。
【0026】
内部CPUバス10に対して、CPU(Central Processing Unit)11、RAM(Random Access Memory)12およびROM(Read Only Memory)13が接続される。CPU11は、ROM13に予め記憶されたプログラム(ファームウェア)に基づきこの1394機能基板100の全体の動作を制御する。RAM12は、例えばCPU11のワークメモリとして用いられる。上述したトランザクションレイヤ3およびシリアルバスマネージメント4は、ROM13に記憶されたファームウェアに基づくCPU11の処理により実現される。コンフィグレーションROMやCSRは、例えばRAM12やCPU11が持つレジスタを利用することができる。
【0027】
CPU11は、後述するコマンドインターフェイスにより図示されないホストシステムと接続される。このコマンドインターフェイスにおける制御信号パケットの送受信は、アシンクロナス転送により行われる。このコマンドインターフェイスを用いた信号の送受信により、アシンクロナス転送および後述するアイソクロナス転送を含めた、1394機能基板100全体の動作が制御される。
【0028】
内部CPUバス10に対して、LINK部14が接続される。LINK部14は、例えば1個の集積回路から構成され、上述したリンクレイヤ1の機能が実装される。LINK部14は、TS(Transport Stream)信号用データバス21に接続され、TS信号用コネクタ22を介して、図示されないホストシステムとの間で、例えばビデオデータストリームやオーディオデータストリームといった情報信号パケットのストリームが、アイソクロナス転送により送受信される。
【0029】
LINK部14に対して、PHY部15が接続される。PHY部15は、例えば1個の集積回路から構成され、上述した物理レイヤ2の機能が実装される。PHY部15には、IEEE1394シリアルバスに準拠した、1または複数のコネクタ16A、16Bおよび16Cが接続される。PHY部15は、これらコネクタ16A、16B、16Cを介して送受信される電気信号と、LINK部14間とで信号処理を行う。
【0030】
CPU11に対して、図示されないホストシステムとの間で制御信号パケットを送受信するためコマンドインターフェイスとして、次に示す、2種類が設けられる。
【0031】
一つは、例えばPCIバスや68Kバスに代表される、パラレル転送によるコマンドインターフェイスである。CPU11の専用のパラレルインターフェイスに対して制御信号用データバス(#1)19が接続される。制御信号用データバス(#1)19は、パラレルインターフェイス用の制御信号用コネクタ(#1)20を介してホストシステムと接続することができる。
【0032】
もう一つは、シリアル転送によるコマンドインターフェイスである。CPU11の汎用入出力ポートであるGPIO(General Purpose I/O)ポート若しくはシリアルI/Oポートに対して制御信号用データバス(#2)17が接続される。制御信号用データバス(#2)17は、シリアルインターフェイス用の制御信号用コネクタ(#2)18を介してホストシステムと接続することができる。
【0033】
また、コマンドインターフェイスとして設けられるこれらパラレルインターフェイスおよびシリアルインターフェイスのドライバソフトウェアは、この1394機能基板100上に実装される。
【0034】
これら制御信号用コネクタ(#1)20および制御信号用コネクタ(#2)18の何れか一方がホストシステムと接続される。何方のコネクタがホストシステムに接続されるかは、ホストシステムの機能や要求仕様により決定される。
【0035】
例えば、EIA(Electronic Industries Alliance)775/775Aで規定されるビットマップOSD(On Screen Display)転送を行うアプリケーションのように、高速なデータ伝送能力が要求される場合には、パラレル転送を行う制御信号用コネクタ(#1)20が用いられることが考えられる。また例えば、このビットマップOSDのような高速なデータ伝送能力を要求されないような場合や、ホストシステム側の基板上のパターン占有面積を削減し、且つ設計が容易であるなどの仕様が優先される場合には、シリアル転送を行う制御信号用コネクタ(#2)18が用いられることが考えられる。
【0036】
CPU11では、実際にセットとして1394機能基板100がホストシステムに接続された際に、1394機能基板100の起動時に制御信号用コネクタ(#1)20および制御信号用コネクタ(#2)18の何方を経由してホストシステムが接続されているかが、自動的に検出される。これにより、パラレルインターフェイスおよびシリアルインターフェイスのうち、ホストシステムにおいて何方がコマンドインターフェイスとして用いられているかが判断でき、以降は、検出されたインターフェイスを介して、1394機能基板100とホストシステムとの間の通信がなされる。
【0037】
図3は、コマンドインターフェイスとしてパラレルインターフェイスを用いたホストシステム130と、この発明の実施の一形態による1394機能基板100との一例の接続を示す。なお、この図3および下記の図4において、上述の図2と共通する部分には同一の符号を付し、詳細な説明を省略する。図3に示されるように、1394機能基板100とホストシステム130とはパラレルインターフェイスである制御信号用コネクタ(#1)20により接続され、シリアルインターフェイスである制御信号用コネクタ(#2)18は、ホストシステム130において用いられない。1394機能基板100において、CPU11は、制御信号用データバス(#1)19および制御信号用コネクタ(#1)20を介してホストシステム130と制御信号パケットの送受信を行う。
【0038】
図4は、コマンドインターフェイスとしてシリアルインターフェイスを用いたホストシステム131と、この発明の実施の一形態による1394機能基板100との一例の接続を示す。このように、1394機能基板100とホストシステム131とはシリアルインターフェイスである制御信号用コネクタ(#2)18により接続され、パラレルインターフェイスである制御信号用コネクタ(#1)20は、ホストシステム131において用いられない。1394機能基板100において、CPU11は、制御信号用データバス(#2)17および制御信号用コネクタ(#2)18を介してホストシステム131と制御信号パケットの送受信を行う。
【0039】
図5は、この発明の実施の一形態による、1394機能基板100における一例のソフトウェア構成を概略的に示す。なお、この図5において、下部に示される、LINK/PHY部50と、パラレルI/F51およびシリアルI/F52とは、それぞれ1394機能基板100におけるハードウェア部分に対応する。例えば、LINK/PHY部50は、IEEE1394シリアルバスに対応した外部機器に対するインターフェイスであって、図2のLINK部14、PHY部15、ならびに、コネクタ16A、16Bおよび16Cなどに相当する。また、パラレルI/F51およびシリアルI/F52は、1394機能基板100とホストシステムとを接続するインターフェイスである。
【0040】
パラレルI/F51は、図2の制御信号用コネクタ(#1)20および制御信号用データバス(#1)19を含み、この1394機能基板100とホストシステムとの間でパラレルデータとして制御信号パケットの送受信を行う。シリアルI/F52は、図2の制御信号用コネクタ(#2)18および制御信号用データバス(#2)を含み、1394機能基板100とホストシステムとの間でシリアルデータとして制御信号パケットの送受信を行う。
【0041】
1394機能基板100におけるソフトウェアは、例えば図2のROM13に予め格納され、この1394機能基板100の起動時にCPU11により実行されるもので、ミドルウェアレイヤとドライバレイヤの2層からなる。ミドルウェアレイヤは、ファームウェアの上位に位置するミドルウェアアプリケーション30からなる。ミドルウェアアプリケーション30は、この1394機能基板100のコネクタ16A、16Bおよび16Cに接続される、IEEE1394インターフェイスに対応した機器(ディジタルビデオカメラ、ハードディスクドライブなど)と、ホストシステムと間で送受信される、AV/Cコマンドなどの仲介を行う。1394I/Fドライバ41は、上述したIEEE1394インターフェイスにおけるファームウェアに対応し、トランザクションレイヤ3およびシリアルバスマネージメント4の処理が行われる。
【0042】
この発明の実施の一形態においては、ドライバレイヤに、パラレルI/F51およびシリアルI/F52にそれぞれ対応したドライバソフトウェアであるパラレルI/Fドライバ42およびシリアルI/Fドライバ43が実装される。パラレルI/Fドライバ42は、ミドルウェアアプリケーション30とパラレルI/F51との間で送受信されるデータに対して、それぞれのフォーマットに適合するように、フォーマット変換処理を行う。
【0043】
一方、シリアルI/Fドライバ43は、パラレルI/Fドライバ42から出力されたパラレルデータをシリアルデータに変換する処理と、シリアルI/F52から入力されたシリアルデータをパラレルデータに変換する処理とを行う。シリアルI/Fドライバ43でシリアルデータが変換されたパラレルデータは、パラレルI/Fドライバ42に供給される。
【0044】
I/O制御部40は、ホストシステムがパラレルI/F51およびシリアルI/F52の何れに接続されたかを検出し、検出結果に応じて、パラレルI/F51およびシリアルI/F52の何れかを選択するようにスイッチ回路45Aおよび45Bを制御する。すなわち、ホストシステムがパラレルI/F51に接続されていることが検出されたら、スイッチ回路45Aを「閉」に、スイッチ回路45Bを「開」に、それぞれ制御する。同様に、ホストシステムがシリアルI/F52に接続されていることが検出されたら、スイッチ回路45Aを「開」に、スイッチ回路45Bを「閉」に、それぞれ制御する。
【0045】
図6は、パラレルI/F51で送受信されるパケット60の一例の構成を示す。ここでは、データバス幅が16ビットとされ、以下では、この16ビットを1ワードとして説明する。先頭側の4ワードがメッセージヘッダ、それ以降がデータエリアとされる。データエリアでは、データが先頭から順にバイト単位で詰め込まれる。最終バイトを詰め込んだ際に、最終ワードに余りが生じたときは、余りの部分に所定のスタッフィングバイトが詰め込まれる。
【0046】
先頭の1ワードのうち上位4ビットがフィールドContinuation、下位12ビットがフィールドFragmentCntとされる。フィールドContinuationにより、一つのメッセージが複数のフレームに分割された際に、現在読み出しているフレームが独立した単一のメッセージであるか、若しくは、分割された最後のサブフレームであるか、それとも後続するサブフレームがあるかが示される。フィールドFragmentCntにより、一つのメッセージが複数のサブフレームに分割された際の、分割パケットの個数が示される。
【0047】
先頭から2ワード目は、データエリアのスタッフィングバイトを含まないデータ長がバイト単位で示される。
【0048】
先頭から3ワード目は、上位5ビットがReservedとされており、次の3ビットがフィールドMsgType、下位8ビットがフィールドTransactionIDとされている。フィールドMsgTypeにより、このパケットのデータタイプが示される。フィールドMsgTypeの3ビットのうち、上位1ビット目でデータの方向が、2ビット目でコマンドバッファかデータバッファかが、3ビット目でリクエストかレスポンスかがそれぞれ示される。フィールドTransactionIDは、メッセージ毎に固有のインクリメントカウンタであり、異なるメッセージフレームの送信時にインクリメントされる。分割された一連のサブフレーム内では、フィールドTransactionIDの値は同一とされる。
【0049】
先頭から4ワード目は、上位8ビットがフィールドPortID、下位8ビットがフィールドPortID Dependentとされる。フィールドPortIDにより、メッセージの送り先がコードで示される。フィールドPortID Dependentにより、フィールドPortIDで示されたメッセージの送り先での詳細処理がコードで示される。
【0050】
図7は、シリアルI/Fドライバ43における一例のフォーマット変換処理を示す。パラレルI/Fドライバ42から出力されたパケット60は、シリアルI/Fドライバ43に供給される。このパケット60は、シリアルI/Fドライバ43に供給されると、例えばバッファメモリに一旦溜め込まれ、データ61として示されるように、1ワードがバイト単位に並べ替えられる。パケット60において、データエリアにスタッフィングバイトが用いられている場合は、データ61にも、スタッフィングバイトがそのまま付加される。
【0051】
このデータ61をボディとして、ボディに対して、データ62として示されるように、同期制御のためにヘッダおよびフッタが付加される。このデータ62が、例えば、先頭1バイト目の下位ビットから順にビットシリアルにバッファメモリから読み出されることで、シリアルデータとされる。このシリアルデータは、シリアルI/F52に導出される。
【0052】
なお、シリアルI/F52から入力されるシリアルデータは、シリアルI/Fドライバ42により上述と逆の処理を施されてパラレルデータに変換され、パラレルI/Fドライバ42に供給される。例えば、シリアルデータは、ヘッダおよびフッタが取り除かれ、1バイト毎に切り出される。そして、先頭バイトから2バイトずつ組み合わされて1ワードとされ、パケット60が形成される。
【0053】
図8は、シリアルI/Fドライバ43で送受信されるシリアルデータの一例のフォーマットを示す。この図8に示されるフォーマットは、上述のデータ62に対応するものである。ヘッダ部分において、先頭の1バイトは、フィールドStart_Byteとされる。先頭から2バイト目は、上位2ビットがフィールドpacketType(図8中では「pType」と表記)、下位6ビットがフィールドCounterとされる。先頭から3バイト目および4バイト目の2バイトを用いて、ボディ部分のデータ長が示される。また、フッタ部分は、1バイトのフィールドStop_Byteである。
【0054】
フィールドStart_Byteおよびフッタ部分のフィールドStop_Byteは、互いに異なる固定的な値が用いられ、それぞれ1パケットの先頭および終了バイトが示される。フィールドpacketTypeにより、このパケットが同期をとるためのシンクパケットか、データ本体が格納されるデータパケットか、或いは、両者に対する認証のためのアクノリッジパケットかが示される。フィールドCounterは、1データパケット毎にインクリメントされるカウンタである。
【0055】
このように、この発明の実施の一形態では、シリアルI/F52を介してホストシステムと送受信されるデータのフォーマットは、パラレルI/F51によるデータをそのまま含む。そのため、パラレルI/F51およびシリアルI/F52は、同様の制御信号の送受信を行うことが可能である。
【0056】
図9は、1394機能基板100において、パラレルI/F51およびシリアルI/F52の何れを用いるかを決定する一例の処理を示すフローチャートである。1394機能基板100が組み込まれているホストシステムに電源が投入されると、1394機能基板100にも電源が供給され、ホストシステムおよび1394機能基板100がそれぞれ起動する。1394機能基板100では、起動後、先ず、ブート処理と内部初期化が行われる(ステップS10)。例えば、ROM13に格納されたファームウェアがCPU11に読み込まれ、起動処理がなされると共に、RAM12の内容のクリア、LINK部14、PHY部15のメモリやレジスタなどの初期化が行われる。
【0057】
ブート処理および内部初期化処理が完了すると、ステップS11で、パラレルI/F51およびシリアルI/F52に対して、それぞれ通信開始要求のコマンドが送信される。次のステップS12で、応答待ちが行われ、通信開始要求のコマンドに対する応答がパラレルI/F51およびシリアルI/F52の何れから返されるかが監視される。なお、ここでの応答待ちは、システムの仕様に応じて、ポーリング(polling)若しくは割り込み(interrupt)の処理にて実現される。そして、パラレルI/F51およびシリアルI/F52のうち、応答が返ってきた方がホストシステムにより制御信号パケットの送受信のために用いられているインターフェイスに接続されているとされ、以降の定常状態におけるホストシステムとの通信経路に設定される(ステップS13)。すなわち、I/O制御部40により、ステップS12の応答待ちの結果に基づき上述のようにしてスイッチ回路45Aおよび45Bがそれぞれ制御され、パラレルI/F51およびシリアルI/F52のうち一方が通信経路として設定される。設定された通信経路により、通信が開始される(ステップS14)。
【0058】
なお、上述では、この発明がIEEE1394インターフェイスに適用されるように説明したが、これはこの例に限定されない。この発明は、接続されるホストシステムの仕様により要求されるデータ転送速度が大きく異なる場合がある、他のインターフェイスにも適用可能なものである。
【0059】
【発明の効果】
以上説明したように、この発明によるインターフェイス機能基板では、制御信号用のインターフェイスとしてパラレルおよびシリアルの2種類を内蔵し、接続されるホストシステムの仕様に応じて、用いるインターフェイスを自動的に設定するようにされている。そのため、機能基板側のインターフェイスを変更することなく、ホストシステム側が要求する機能や能力、コストに応じて、ホストシステム側が、用いるインターフェイスを決めることができるという効果がある。
【0060】
したがって、この発明が適用されたインターフェイス機能基板を用いることで、1種類の機能基板で、制御信号用のインターフェイスとしてシリアル転送を用いるホストシステムと、パラレル転送を用いるホストシステムとに、機能基板およびホストシステム側の何れにも設計の変更を行うことなく対応することができるという効果がある。
【0061】
また、この発明の実施の一形態では、パラレルおよびシリアルインターフェイスのドライバソフトウェアおよびその制御部が独立しているので、ミドルウェアの開発を、パラレルおよびシリアルの何方のインターフェイスを用いるかを意識することなく行うことが可能になる。そのため、インターフェイス機能基板の機能のバージョンアップなどによりミドルウェアを追加開発する場合でも、単一のインターフェイスしか有しない場合と同様の開発工数で済むという効果がある。
【図面の簡単な説明】
【図1】IEEE1394シリアルバスのプロトコルアーキテクチャを概略的に示す略線図である。
【図2】の発明の実施の一形態によるIEEE1394シリアルバスの機能を提供する1394機能基板の一例の構成を示すブロック図である。
【図3】コマンドインターフェイスとしてパラレルインターフェイスを用いたホストシステムと、この発明の実施の一形態による1394機能基板との一例の接続を示すブロック図である。
【図4】コマンドインターフェイスとしてシリアルインターフェイスを用いたホストシステムと、この発明の実施の一形態による1394機能基板との一例の接続を示すブロック図である。
【図5】この発明の実施の一形態による1394機能基板における一例のソフトウェア構成を概略的に示すブロック図である。
【図6】パラレルI/Fで送受信されるパケットの一例の構成を示す略線図である。
【図7】シリアルI/Fドライバにおける一例のフォーマット変換処理を示す略線図である。
【図8】シリアルI/Fドライバで送受信されるシリアルデータの一例のフォーマットを示す略線図である。
【図9】1394機能基板においてパラレルI/FおよびシリアルI/Fの何れを用いるかを決定する一例の処理を示すフローチャートである。
【図10】従来の技術によるIEEE1394シリアルバスの機能を提供する1394機能基板の一例の構成を示すブロック図である。
【符号の説明】
1・・・リンクレイヤ、2・・・物理レイヤ、3・・・トランザクションレイヤ、4・・・シリアルバスマネージメント、11・・・CPU、12・・・RAM、13・・・ROM、14・・・LINK部、15・・・PHY部、17・・・制御信号用データバス(#2)、18・・・制御信号用コネクタ(#2)、19・・・制御信号用データバス(#1)、20・・・制御信号用コネクタ(#1)、21・・・TS信号用データバス、22・・・TS信号用コネクタ、30・・・ミドルウェアアプリケーション、40・・・I/O制御部、41・・・1394I/Fドライバ、42・・・パラレルI/Fドライバ、43・・・シリアルI/Fドライバ、45A,45B・・・スイッチ回路、51・・・パラレルI/F、52・・・シリアルI/F、100・・・1394機能基板
【発明の属する技術分野】
この発明は、情報信号パケットと制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとをシリアルで高速に外部に伝送可能なインターフェイス装置およびインターフェイス装置の制御方法に関する。
【0002】
【従来の技術】
近年では、IEEE(Institute Electrical and Electronic Engineers)−1394規格に代表される、情報信号パケットと制御信号パケットとをシリアルで高速に伝送可能なディジタルインターフェイスが普及してきている。IEEEー1394規格によるシリアルバスインターフェイス(以下、IEEE1394シリアルバスと略称する)は、アイソクロナス転送と、アシンクロナス転送の2つの転送モードを有する。アイソクロナス転送は、リアルタイム性が保証されており、映像データや音声データといったマルチメディアデータの転送に適している。そのため、IEEE1934シリアルバスは、コンピュータ装置のインターフェイスに止まらず、ディジタルビデオカメラといった民生機器との接続が考慮された構成となっている。
【0003】
IEEE1394シリアルバスは、物理レイヤ、リンクレイヤ、トランザクションレイヤからなる3層のレイヤ構成をとる。各レイヤについて、概略的に説明する。物理レイヤは、リンクレイヤで用いられる論理信号を、実際のバス上を流れる電気信号に変換する。物理レイヤでは、コネクタや通信信号の電気的レベルなどの物理的な処理が行われる。リンクレイヤは、物理レイヤとトランザクションレイヤとの間で信号処理を行う。データの送受信、データのチェックなどの機能も提供される。リンクレイヤでは、アイソクロナス転送と、アシンクロナス転送の処理が行われる。トランザクションレイヤは、上位アプリケーション(ホストシステム)とリンクレイヤとの間での信号処理を行う。トランザクションレイヤでは、データの読み出し、書き込み、ロックなどの処理が行われる。これら物理レイヤ、リンクレイヤおよびトランザクションレイヤは、シリアルバスマネージメントにより全体が制御される。
【0004】
図10は、従来の技術による、IEEE1394シリアルバスの機能を提供する1394機能基板120の一例の構成を示す。この1394機能基板120は、ホストシステム200と接続して用いられ、ホストシステム200に対してIEEE1394シリアルバスの機能を提供するものである。
【0005】
内部CPUバス111に対して、CPU(Central Processing Unit)101、RAM(Random Access Memory)102およびROM(Read Only Memory)103が接続される。CPU101は、ROM103に予め記憶されたプログラム(ファームウェア)に基づきこのIEEE1394機能基板120の全体の動作を制御する。RAM102は、例えばCPU101のワークメモリとして用いられる。上述したトランザクションレイヤおよびシリアルバスマネージメントは、ROM103に記憶されたファームウェアに基づくCPU101の処理により実現される。
【0006】
CPU101は、制御信号用データバス107に接続され、コネクタ108を介してホストシステム200と接続され、コマンドインターフェイスが構成される。このコマンドインターフェイスにおける制御信号パケットの送受信は、アクノリッジを用いた認証を行うことにより確実なデータ転送が可能な、アシンクロナス転送により行われる。このコマンドインターフェイスを用いた信号の送受信により、アシンクロナス転送および後述するアイソクロナス転送を含めた、1394機能基板120全体の動作が制御される。
【0007】
内部CPUバス111に対して、LINK部104が接続される。LINK部104は、例えば1個の集積回路から構成され、上述したリンクレイヤの機能が実装される。LINK部104は、TS(Transport Stream)信号用データバス109に接続され、コネクタ110を介して、ホストシステム200との間で、例えばビデオデータストリームやオーディオデータストリームといった情報信号パケットのストリームが、アイソクロナス転送により送受信される。アイソクロナス転送は、時間管理され、動画データのような、大量且つ連続的なデータをリアルタイムに転送するのに適している。
【0008】
LINK部104に対して、PHY部105が接続される。PHY部105は、例えば1個の集積回路から構成され、上述した物理レイヤの機能が実装される。PHY部105には、IEEE1394シリアルバスに準拠した、1または複数のコネクタ106A、106Bおよび106Cが接続される。PHY部105は、これらコネクタ106A、106B、106Cを介して送受信される電気信号と、LINK部104間とで信号処理を行う。
【0009】
このような構成において、従来では、上述したコマンドインターフェイスには、制御のリアルタイム性が求められるために、データバス幅が16ビットの68Kバスや、データバス幅が32ビットのPCI(Peripheral Component Interconnect)バスといった、パラレルインターフェイスが固定的に用いられていた。このようなパラレルインターフェイスは、コマンドインターフェイスを介して、例えばビットマップOSD(On Screen Display)のような、大量且つリアルタイム性が必要なデータの送受信に適している。
【0010】
【発明が解決しようとする課題】
しかしながら、通常は、コマンドインターフェイスにおいて、パラレルインターフェイスで与えられる帯域幅を使い切ることは無いと考えられる。そのため、パラレルインターフェイスのデータバス幅の多くが無駄な存在になってしまう可能性がある。
【0011】
また、上述のようなリアルタイム性が必要なデータの送受信が仕様として想定されていないホストシステム200も有り得る。この場合、データ転送において高速性が要求されないことが考えられ、やはり、パラレルインターフェイスが無駄に用いられている可能性がある。
【0012】
このような場合、ホストシステム200側において、基板上のパターン面積が無駄に占有されてしまうことになり、基板作製に当たって無駄なコストが発生してしまうという問題点があった。
【0013】
また、コマンドインターフェイスを接続するコネクタとして、パラレルインターフェイスに対応して、端子数をバイト単位で有するものが必要となってしまい、部品コスト代などの点でも、コストアップが発生してしまうという問題点があった。
【0014】
さらに、ホストシステム側でパラレルインターフェイスに対応したドライバソフトウェアを実装する必要があり、この点でもコストアップが発生してしまうという問題点があった。
【0015】
したがって、この発明の目的は、情報信号パケットを転送する情報信号用データバスと、制御信号パケットを転送する制御信号用データバスとを有し、制御信号用データバスのインターフェイスをホストシステムの仕様に応じて選択可能としたインターフェイス装置およびインターフェイス装置の制御方法を提供することにある。
【0016】
【課題を解決するための手段】
この発明は、上述した課題を解決するために、ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置において、アイソクロナス転送される情報信号パケットをホストシステムとの間で送受信する第1のインターフェイス手段と、アシンクロナス転送される制御信号パケットをホストシステムとの間でパラレル転送で送受信する第2のインターフェイス手段と、制御信号パケットをホストシステムとの間でシリアル転送で送受信する第3のインターフェイス手段と、ホストシステム側が制御信号パケットの送受信のために第2および第3のインターフェイスのうち何れを用いるようにされているかを検出する検出手段と、検出手段の検出結果に応じて第2および第3のインターフェイス手段の何れかを選択する選択手段とを有することを特徴とするインターフェイス装置である。
【0017】
また、この発明は、ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置を制御するインターフェイス装置の制御方法において、アイソクロナス転送される情報信号パケットをホストシステムとの間で第1のインターフェイス手段により送受信するステップと、アシンクロナス転送される制御信号パケットをホストシステムとの間で第2のインターフェイス手段によりパラレル転送で送受信するステップと、制御信号パケットをホストシステムとの間で第3のインターフェイス手段によりシリアル転送で送受信するステップと、ホストシステム側が制御信号パケットの送受信のために第2および第3のインターフェイスのうち何れを用いるようにされているかを検出する検出のステップと、検出のステップの検出結果に応じて第2および第3のインターフェイス手段の何れかを選択する選択のステップとを有することを特徴とするインターフェイス装置の制御方法である。
【0018】
上述したように、この発明は、アイソクロナス転送される情報信号パケットをホストシステムとの間で送受信する第1のインターフェイス手段と、アシンクロナス転送される制御信号パケットをホストシステムとの間でパラレル転送で送受信する第2のインターフェイス手段と、制御信号パケットをホストシステムとの間でシリアル転送で送受信する第3のインターフェイス手段とを備え、ホストシステム側が制御信号パケットの送受信のために第2および第3のインターフェイスのうち何れを用いるようにされているかを検出し、検出結果に応じて第2および第3のインターフェイス手段のうち1を選択するようにしているため、ホストシステム側の仕様に基づき第2および第3のインターフェイス手段を自動的に選択することができる。
【0019】
【発明の実施の形態】
以下、この発明の実施の一形態について説明する。この発明では、ホストシステムにIEEE1394シリアルバスによるインターフェイス機能を提供する、1394機能基板において、ホストシステムに対する制御用信号のインターフェイスとしてパラレルおよびシリアルインターフェイスをそれぞれ有し、ホストシステムの仕様に応じてこれらのインターフェイスを自動的に選択可能としたものである。また、パラレルおよびシリアルインターフェイスのドライバを、1394機能基板側に実装することにより、ホストシステム側の負担を軽減する。
【0020】
先ず、この発明に対する理解を容易とするために、図1を用いてIEEE1394シリアルバスのプロトコルアーキテクチャについて、概略的に説明する。IEEE1394シリアルバスは、リンクレイヤ1、物理レイヤ2およびトランザクションレイヤ3の3層のレイヤ構造を有し、これら3層のレイヤ全体がシリアルバスマネージメント4によって制御される。通常、リンクレイヤ1および物理レイヤ2は、それぞれ1つの集積回路といったハードウェアから構成され、トランザクションレイヤ3およびシリアルバスマネージメント4は、ファームウェアと称されるソフトウェアにより構成される。
【0021】
物理レイヤ2は、IEEE1394シリアルバスのコネクタおよびケーブルを介して送受信される電気信号と、リンクレイヤ1との間での信号処理を行う。すなわち、物理レイヤ2では、リンクレイヤ1で用いる論理信号を実際のバス上に流れる電気信号に変換すると共に、この逆の、バスから供給された電気信号をリンクレイヤ1で用いる論理信号に変換する、エンコード/デコード処理が行われる。さらに、物理レイヤ2では、コネクタやケーブルなどの機械的インターフェイスの規定、バスより通信される電気信号の電気的なレベルを決めるシグナルレベルなどの電気的インターフェイスの規定、通信ノード決定のためのアービトレーション、通信クロックの再同期、バスの初期化検出などの処理が行われる。
【0022】
リンクレイヤ1は、上述した物理レイヤ2と後述するトランザクションレイヤとの間での信号処理を行う。すなわち、リンクレイヤ1では、アドレス割り当て、データチェック、データのフレーム分けを行うパケット送受信、サイクルのコントロールが行われる。また、アイソクロナスデータは、トランザクションレイヤ3を介さずに処理され、例えばリンクレイヤ1から直接的に出力される。
【0023】
トランザクションレイヤ3は、例えばホストシステムといった上位アプリケーションとリンクレイヤ1との間で信号処理を行う。リンクレイヤ1では、データの読み出し、書き込み、ロックなどの処理が行われる。すなわち、トランザクションレイヤ3では、リンクレイヤ1の処理を利用して、他のノードに対するリクエストパケットの送信と、それに応じた上位アプリケーションからのレスポンスパケットの受信を行うことにより、指定されたノードとアドレスに対する一つの通信処理が行われる。また、トランザクションレイヤ3では、リクエストパケットの受信と、それに応じたレスポンスパケットの送信という、他のノードから自分への通信処理が行われる。
【0024】
シリアルバスマネージメント4は、上述の3つのレイヤ全体の制御を行う。また、IEEE1394シリアルバスでは、ノードの接続によるツリー構造を示すコンフィグレーションが保持されるコンフィグレーションROMや、制御レジスタとして用いられるCSR(Control and Status Register)がシリアルバスマネージメント4に含まれる。
【0025】
図2は、この発明の実施の一形態による、IEEE1394シリアルバスの機能を提供する1394機能基板100の一例の構成を示す。この1394機能基板100は、図示されないホストシステムと接続して用いられ、ホストシステムに対してIEEE1394シリアルバスの機能を提供するものでる。ホストシステムとしては、例えばディジタルテレビジョン受像機、ディジタルビデオレコーダ、ディジタルテレビジョン放送を受信するためのSTB(Set Top Box)などが考えられる。
【0026】
内部CPUバス10に対して、CPU(Central Processing Unit)11、RAM(Random Access Memory)12およびROM(Read Only Memory)13が接続される。CPU11は、ROM13に予め記憶されたプログラム(ファームウェア)に基づきこの1394機能基板100の全体の動作を制御する。RAM12は、例えばCPU11のワークメモリとして用いられる。上述したトランザクションレイヤ3およびシリアルバスマネージメント4は、ROM13に記憶されたファームウェアに基づくCPU11の処理により実現される。コンフィグレーションROMやCSRは、例えばRAM12やCPU11が持つレジスタを利用することができる。
【0027】
CPU11は、後述するコマンドインターフェイスにより図示されないホストシステムと接続される。このコマンドインターフェイスにおける制御信号パケットの送受信は、アシンクロナス転送により行われる。このコマンドインターフェイスを用いた信号の送受信により、アシンクロナス転送および後述するアイソクロナス転送を含めた、1394機能基板100全体の動作が制御される。
【0028】
内部CPUバス10に対して、LINK部14が接続される。LINK部14は、例えば1個の集積回路から構成され、上述したリンクレイヤ1の機能が実装される。LINK部14は、TS(Transport Stream)信号用データバス21に接続され、TS信号用コネクタ22を介して、図示されないホストシステムとの間で、例えばビデオデータストリームやオーディオデータストリームといった情報信号パケットのストリームが、アイソクロナス転送により送受信される。
【0029】
LINK部14に対して、PHY部15が接続される。PHY部15は、例えば1個の集積回路から構成され、上述した物理レイヤ2の機能が実装される。PHY部15には、IEEE1394シリアルバスに準拠した、1または複数のコネクタ16A、16Bおよび16Cが接続される。PHY部15は、これらコネクタ16A、16B、16Cを介して送受信される電気信号と、LINK部14間とで信号処理を行う。
【0030】
CPU11に対して、図示されないホストシステムとの間で制御信号パケットを送受信するためコマンドインターフェイスとして、次に示す、2種類が設けられる。
【0031】
一つは、例えばPCIバスや68Kバスに代表される、パラレル転送によるコマンドインターフェイスである。CPU11の専用のパラレルインターフェイスに対して制御信号用データバス(#1)19が接続される。制御信号用データバス(#1)19は、パラレルインターフェイス用の制御信号用コネクタ(#1)20を介してホストシステムと接続することができる。
【0032】
もう一つは、シリアル転送によるコマンドインターフェイスである。CPU11の汎用入出力ポートであるGPIO(General Purpose I/O)ポート若しくはシリアルI/Oポートに対して制御信号用データバス(#2)17が接続される。制御信号用データバス(#2)17は、シリアルインターフェイス用の制御信号用コネクタ(#2)18を介してホストシステムと接続することができる。
【0033】
また、コマンドインターフェイスとして設けられるこれらパラレルインターフェイスおよびシリアルインターフェイスのドライバソフトウェアは、この1394機能基板100上に実装される。
【0034】
これら制御信号用コネクタ(#1)20および制御信号用コネクタ(#2)18の何れか一方がホストシステムと接続される。何方のコネクタがホストシステムに接続されるかは、ホストシステムの機能や要求仕様により決定される。
【0035】
例えば、EIA(Electronic Industries Alliance)775/775Aで規定されるビットマップOSD(On Screen Display)転送を行うアプリケーションのように、高速なデータ伝送能力が要求される場合には、パラレル転送を行う制御信号用コネクタ(#1)20が用いられることが考えられる。また例えば、このビットマップOSDのような高速なデータ伝送能力を要求されないような場合や、ホストシステム側の基板上のパターン占有面積を削減し、且つ設計が容易であるなどの仕様が優先される場合には、シリアル転送を行う制御信号用コネクタ(#2)18が用いられることが考えられる。
【0036】
CPU11では、実際にセットとして1394機能基板100がホストシステムに接続された際に、1394機能基板100の起動時に制御信号用コネクタ(#1)20および制御信号用コネクタ(#2)18の何方を経由してホストシステムが接続されているかが、自動的に検出される。これにより、パラレルインターフェイスおよびシリアルインターフェイスのうち、ホストシステムにおいて何方がコマンドインターフェイスとして用いられているかが判断でき、以降は、検出されたインターフェイスを介して、1394機能基板100とホストシステムとの間の通信がなされる。
【0037】
図3は、コマンドインターフェイスとしてパラレルインターフェイスを用いたホストシステム130と、この発明の実施の一形態による1394機能基板100との一例の接続を示す。なお、この図3および下記の図4において、上述の図2と共通する部分には同一の符号を付し、詳細な説明を省略する。図3に示されるように、1394機能基板100とホストシステム130とはパラレルインターフェイスである制御信号用コネクタ(#1)20により接続され、シリアルインターフェイスである制御信号用コネクタ(#2)18は、ホストシステム130において用いられない。1394機能基板100において、CPU11は、制御信号用データバス(#1)19および制御信号用コネクタ(#1)20を介してホストシステム130と制御信号パケットの送受信を行う。
【0038】
図4は、コマンドインターフェイスとしてシリアルインターフェイスを用いたホストシステム131と、この発明の実施の一形態による1394機能基板100との一例の接続を示す。このように、1394機能基板100とホストシステム131とはシリアルインターフェイスである制御信号用コネクタ(#2)18により接続され、パラレルインターフェイスである制御信号用コネクタ(#1)20は、ホストシステム131において用いられない。1394機能基板100において、CPU11は、制御信号用データバス(#2)17および制御信号用コネクタ(#2)18を介してホストシステム131と制御信号パケットの送受信を行う。
【0039】
図5は、この発明の実施の一形態による、1394機能基板100における一例のソフトウェア構成を概略的に示す。なお、この図5において、下部に示される、LINK/PHY部50と、パラレルI/F51およびシリアルI/F52とは、それぞれ1394機能基板100におけるハードウェア部分に対応する。例えば、LINK/PHY部50は、IEEE1394シリアルバスに対応した外部機器に対するインターフェイスであって、図2のLINK部14、PHY部15、ならびに、コネクタ16A、16Bおよび16Cなどに相当する。また、パラレルI/F51およびシリアルI/F52は、1394機能基板100とホストシステムとを接続するインターフェイスである。
【0040】
パラレルI/F51は、図2の制御信号用コネクタ(#1)20および制御信号用データバス(#1)19を含み、この1394機能基板100とホストシステムとの間でパラレルデータとして制御信号パケットの送受信を行う。シリアルI/F52は、図2の制御信号用コネクタ(#2)18および制御信号用データバス(#2)を含み、1394機能基板100とホストシステムとの間でシリアルデータとして制御信号パケットの送受信を行う。
【0041】
1394機能基板100におけるソフトウェアは、例えば図2のROM13に予め格納され、この1394機能基板100の起動時にCPU11により実行されるもので、ミドルウェアレイヤとドライバレイヤの2層からなる。ミドルウェアレイヤは、ファームウェアの上位に位置するミドルウェアアプリケーション30からなる。ミドルウェアアプリケーション30は、この1394機能基板100のコネクタ16A、16Bおよび16Cに接続される、IEEE1394インターフェイスに対応した機器(ディジタルビデオカメラ、ハードディスクドライブなど)と、ホストシステムと間で送受信される、AV/Cコマンドなどの仲介を行う。1394I/Fドライバ41は、上述したIEEE1394インターフェイスにおけるファームウェアに対応し、トランザクションレイヤ3およびシリアルバスマネージメント4の処理が行われる。
【0042】
この発明の実施の一形態においては、ドライバレイヤに、パラレルI/F51およびシリアルI/F52にそれぞれ対応したドライバソフトウェアであるパラレルI/Fドライバ42およびシリアルI/Fドライバ43が実装される。パラレルI/Fドライバ42は、ミドルウェアアプリケーション30とパラレルI/F51との間で送受信されるデータに対して、それぞれのフォーマットに適合するように、フォーマット変換処理を行う。
【0043】
一方、シリアルI/Fドライバ43は、パラレルI/Fドライバ42から出力されたパラレルデータをシリアルデータに変換する処理と、シリアルI/F52から入力されたシリアルデータをパラレルデータに変換する処理とを行う。シリアルI/Fドライバ43でシリアルデータが変換されたパラレルデータは、パラレルI/Fドライバ42に供給される。
【0044】
I/O制御部40は、ホストシステムがパラレルI/F51およびシリアルI/F52の何れに接続されたかを検出し、検出結果に応じて、パラレルI/F51およびシリアルI/F52の何れかを選択するようにスイッチ回路45Aおよび45Bを制御する。すなわち、ホストシステムがパラレルI/F51に接続されていることが検出されたら、スイッチ回路45Aを「閉」に、スイッチ回路45Bを「開」に、それぞれ制御する。同様に、ホストシステムがシリアルI/F52に接続されていることが検出されたら、スイッチ回路45Aを「開」に、スイッチ回路45Bを「閉」に、それぞれ制御する。
【0045】
図6は、パラレルI/F51で送受信されるパケット60の一例の構成を示す。ここでは、データバス幅が16ビットとされ、以下では、この16ビットを1ワードとして説明する。先頭側の4ワードがメッセージヘッダ、それ以降がデータエリアとされる。データエリアでは、データが先頭から順にバイト単位で詰め込まれる。最終バイトを詰め込んだ際に、最終ワードに余りが生じたときは、余りの部分に所定のスタッフィングバイトが詰め込まれる。
【0046】
先頭の1ワードのうち上位4ビットがフィールドContinuation、下位12ビットがフィールドFragmentCntとされる。フィールドContinuationにより、一つのメッセージが複数のフレームに分割された際に、現在読み出しているフレームが独立した単一のメッセージであるか、若しくは、分割された最後のサブフレームであるか、それとも後続するサブフレームがあるかが示される。フィールドFragmentCntにより、一つのメッセージが複数のサブフレームに分割された際の、分割パケットの個数が示される。
【0047】
先頭から2ワード目は、データエリアのスタッフィングバイトを含まないデータ長がバイト単位で示される。
【0048】
先頭から3ワード目は、上位5ビットがReservedとされており、次の3ビットがフィールドMsgType、下位8ビットがフィールドTransactionIDとされている。フィールドMsgTypeにより、このパケットのデータタイプが示される。フィールドMsgTypeの3ビットのうち、上位1ビット目でデータの方向が、2ビット目でコマンドバッファかデータバッファかが、3ビット目でリクエストかレスポンスかがそれぞれ示される。フィールドTransactionIDは、メッセージ毎に固有のインクリメントカウンタであり、異なるメッセージフレームの送信時にインクリメントされる。分割された一連のサブフレーム内では、フィールドTransactionIDの値は同一とされる。
【0049】
先頭から4ワード目は、上位8ビットがフィールドPortID、下位8ビットがフィールドPortID Dependentとされる。フィールドPortIDにより、メッセージの送り先がコードで示される。フィールドPortID Dependentにより、フィールドPortIDで示されたメッセージの送り先での詳細処理がコードで示される。
【0050】
図7は、シリアルI/Fドライバ43における一例のフォーマット変換処理を示す。パラレルI/Fドライバ42から出力されたパケット60は、シリアルI/Fドライバ43に供給される。このパケット60は、シリアルI/Fドライバ43に供給されると、例えばバッファメモリに一旦溜め込まれ、データ61として示されるように、1ワードがバイト単位に並べ替えられる。パケット60において、データエリアにスタッフィングバイトが用いられている場合は、データ61にも、スタッフィングバイトがそのまま付加される。
【0051】
このデータ61をボディとして、ボディに対して、データ62として示されるように、同期制御のためにヘッダおよびフッタが付加される。このデータ62が、例えば、先頭1バイト目の下位ビットから順にビットシリアルにバッファメモリから読み出されることで、シリアルデータとされる。このシリアルデータは、シリアルI/F52に導出される。
【0052】
なお、シリアルI/F52から入力されるシリアルデータは、シリアルI/Fドライバ42により上述と逆の処理を施されてパラレルデータに変換され、パラレルI/Fドライバ42に供給される。例えば、シリアルデータは、ヘッダおよびフッタが取り除かれ、1バイト毎に切り出される。そして、先頭バイトから2バイトずつ組み合わされて1ワードとされ、パケット60が形成される。
【0053】
図8は、シリアルI/Fドライバ43で送受信されるシリアルデータの一例のフォーマットを示す。この図8に示されるフォーマットは、上述のデータ62に対応するものである。ヘッダ部分において、先頭の1バイトは、フィールドStart_Byteとされる。先頭から2バイト目は、上位2ビットがフィールドpacketType(図8中では「pType」と表記)、下位6ビットがフィールドCounterとされる。先頭から3バイト目および4バイト目の2バイトを用いて、ボディ部分のデータ長が示される。また、フッタ部分は、1バイトのフィールドStop_Byteである。
【0054】
フィールドStart_Byteおよびフッタ部分のフィールドStop_Byteは、互いに異なる固定的な値が用いられ、それぞれ1パケットの先頭および終了バイトが示される。フィールドpacketTypeにより、このパケットが同期をとるためのシンクパケットか、データ本体が格納されるデータパケットか、或いは、両者に対する認証のためのアクノリッジパケットかが示される。フィールドCounterは、1データパケット毎にインクリメントされるカウンタである。
【0055】
このように、この発明の実施の一形態では、シリアルI/F52を介してホストシステムと送受信されるデータのフォーマットは、パラレルI/F51によるデータをそのまま含む。そのため、パラレルI/F51およびシリアルI/F52は、同様の制御信号の送受信を行うことが可能である。
【0056】
図9は、1394機能基板100において、パラレルI/F51およびシリアルI/F52の何れを用いるかを決定する一例の処理を示すフローチャートである。1394機能基板100が組み込まれているホストシステムに電源が投入されると、1394機能基板100にも電源が供給され、ホストシステムおよび1394機能基板100がそれぞれ起動する。1394機能基板100では、起動後、先ず、ブート処理と内部初期化が行われる(ステップS10)。例えば、ROM13に格納されたファームウェアがCPU11に読み込まれ、起動処理がなされると共に、RAM12の内容のクリア、LINK部14、PHY部15のメモリやレジスタなどの初期化が行われる。
【0057】
ブート処理および内部初期化処理が完了すると、ステップS11で、パラレルI/F51およびシリアルI/F52に対して、それぞれ通信開始要求のコマンドが送信される。次のステップS12で、応答待ちが行われ、通信開始要求のコマンドに対する応答がパラレルI/F51およびシリアルI/F52の何れから返されるかが監視される。なお、ここでの応答待ちは、システムの仕様に応じて、ポーリング(polling)若しくは割り込み(interrupt)の処理にて実現される。そして、パラレルI/F51およびシリアルI/F52のうち、応答が返ってきた方がホストシステムにより制御信号パケットの送受信のために用いられているインターフェイスに接続されているとされ、以降の定常状態におけるホストシステムとの通信経路に設定される(ステップS13)。すなわち、I/O制御部40により、ステップS12の応答待ちの結果に基づき上述のようにしてスイッチ回路45Aおよび45Bがそれぞれ制御され、パラレルI/F51およびシリアルI/F52のうち一方が通信経路として設定される。設定された通信経路により、通信が開始される(ステップS14)。
【0058】
なお、上述では、この発明がIEEE1394インターフェイスに適用されるように説明したが、これはこの例に限定されない。この発明は、接続されるホストシステムの仕様により要求されるデータ転送速度が大きく異なる場合がある、他のインターフェイスにも適用可能なものである。
【0059】
【発明の効果】
以上説明したように、この発明によるインターフェイス機能基板では、制御信号用のインターフェイスとしてパラレルおよびシリアルの2種類を内蔵し、接続されるホストシステムの仕様に応じて、用いるインターフェイスを自動的に設定するようにされている。そのため、機能基板側のインターフェイスを変更することなく、ホストシステム側が要求する機能や能力、コストに応じて、ホストシステム側が、用いるインターフェイスを決めることができるという効果がある。
【0060】
したがって、この発明が適用されたインターフェイス機能基板を用いることで、1種類の機能基板で、制御信号用のインターフェイスとしてシリアル転送を用いるホストシステムと、パラレル転送を用いるホストシステムとに、機能基板およびホストシステム側の何れにも設計の変更を行うことなく対応することができるという効果がある。
【0061】
また、この発明の実施の一形態では、パラレルおよびシリアルインターフェイスのドライバソフトウェアおよびその制御部が独立しているので、ミドルウェアの開発を、パラレルおよびシリアルの何方のインターフェイスを用いるかを意識することなく行うことが可能になる。そのため、インターフェイス機能基板の機能のバージョンアップなどによりミドルウェアを追加開発する場合でも、単一のインターフェイスしか有しない場合と同様の開発工数で済むという効果がある。
【図面の簡単な説明】
【図1】IEEE1394シリアルバスのプロトコルアーキテクチャを概略的に示す略線図である。
【図2】の発明の実施の一形態によるIEEE1394シリアルバスの機能を提供する1394機能基板の一例の構成を示すブロック図である。
【図3】コマンドインターフェイスとしてパラレルインターフェイスを用いたホストシステムと、この発明の実施の一形態による1394機能基板との一例の接続を示すブロック図である。
【図4】コマンドインターフェイスとしてシリアルインターフェイスを用いたホストシステムと、この発明の実施の一形態による1394機能基板との一例の接続を示すブロック図である。
【図5】この発明の実施の一形態による1394機能基板における一例のソフトウェア構成を概略的に示すブロック図である。
【図6】パラレルI/Fで送受信されるパケットの一例の構成を示す略線図である。
【図7】シリアルI/Fドライバにおける一例のフォーマット変換処理を示す略線図である。
【図8】シリアルI/Fドライバで送受信されるシリアルデータの一例のフォーマットを示す略線図である。
【図9】1394機能基板においてパラレルI/FおよびシリアルI/Fの何れを用いるかを決定する一例の処理を示すフローチャートである。
【図10】従来の技術によるIEEE1394シリアルバスの機能を提供する1394機能基板の一例の構成を示すブロック図である。
【符号の説明】
1・・・リンクレイヤ、2・・・物理レイヤ、3・・・トランザクションレイヤ、4・・・シリアルバスマネージメント、11・・・CPU、12・・・RAM、13・・・ROM、14・・・LINK部、15・・・PHY部、17・・・制御信号用データバス(#2)、18・・・制御信号用コネクタ(#2)、19・・・制御信号用データバス(#1)、20・・・制御信号用コネクタ(#1)、21・・・TS信号用データバス、22・・・TS信号用コネクタ、30・・・ミドルウェアアプリケーション、40・・・I/O制御部、41・・・1394I/Fドライバ、42・・・パラレルI/Fドライバ、43・・・シリアルI/Fドライバ、45A,45B・・・スイッチ回路、51・・・パラレルI/F、52・・・シリアルI/F、100・・・1394機能基板
Claims (5)
- ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置において、
アイソクロナス転送される情報信号パケットをホストシステムとの間で送受信する第1のインターフェイス手段と、
アシンクロナス転送される制御信号パケットを上記ホストシステムとの間でパラレル転送で送受信する第2のインターフェイス手段と、
上記制御信号パケットを上記ホストシステムとの間でシリアル転送で送受信する第3のインターフェイス手段と、
上記ホストシステム側が上記制御信号パケットの送受信のために上記第2および第3のインターフェイスのうち何れを用いるようにされているかを検出する検出手段と、
上記検出手段の検出結果に応じて上記第2および第3のインターフェイス手段の何れかを選択する選択手段と
を有することを特徴とするインターフェイス装置。 - 請求項1に記載のインターフェイス装置において、
上記検出手段は、起動直後に、上記第2および第3のインターフェイスを介して上記ホストシステムに対して通信開始要求を送信して該通信開始要求に対する応答待ちを行い、上記第2および第3のインターフェイスのうち上記通信開始要求に対する上記応答が返って来た方を、上記ホストシステム側で上記制御信号パケットの送受信のために用いるようにされたインターフェイスであるとして検出するようにしたことを特徴とするインターフェイス装置。 - 請求項1に記載のインターフェイス装置において、
上記第3のインターフェイス手段は、上記第2のインターフェイス手段よりパラレル転送で供給されたパラレルデータをシリアルデータに並べ替えて上記ホストシステムにシリアル転送し、上記ホストシステムよりシリアル転送で入力されたシリアルデータをパラレルデータに並べ替えて上記第2のインターフェイス手段にパラレル転送するようにしたことを特徴するインターフェイス装置。 - 請求項1に記載のインターフェイス装置において、
上記第2のインターフェイス手段で送受信されるデータおよび上記第3のインターフェイス手段で送受信されるデータは、主要部分が同一の情報であることを特徴とするインターフェイス装置。 - ホストシステムと接続され、アイソクロナス転送される情報信号パケットと、アシンクロナス転送される制御信号パケットとをホストシステムとの間で送受信し、情報信号パケットと制御信号パケットとを外部に伝送可能なインターフェイス装置を制御するインターフェイス装置の制御方法において、アイソクロナス転送される情報信号パケットをホストシステムとの間で第1のインターフェイス手段により送受信するステップと、
アシンクロナス転送される制御信号パケットを上記ホストシステムとの間で第2のインターフェイス手段によりパラレル転送で送受信するステップと、
上記制御信号パケットを上記ホストシステムとの間で第3のインターフェイス手段によりシリアル転送で送受信するステップと、
上記ホストシステム側が上記制御信号パケットの送受信のために上記第2および第3のインターフェイスのうち何れを用いるようにされているかを検出する検出のステップと、
上記検出のステップの検出結果に応じて上記第2および第3のインターフェイス手段の何れかを選択する選択のステップと
を有することを特徴とするインターフェイス装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002283615A JP2004118704A (ja) | 2002-09-27 | 2002-09-27 | インターフェイス装置およびインターフェイス装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002283615A JP2004118704A (ja) | 2002-09-27 | 2002-09-27 | インターフェイス装置およびインターフェイス装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004118704A true JP2004118704A (ja) | 2004-04-15 |
Family
ID=32277431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002283615A Pending JP2004118704A (ja) | 2002-09-27 | 2002-09-27 | インターフェイス装置およびインターフェイス装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004118704A (ja) |
-
2002
- 2002-09-27 JP JP2002283615A patent/JP2004118704A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6006286A (en) | System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions | |
JP3843667B2 (ja) | データ転送制御装置及び電子機器 | |
JPH1040211A (ja) | パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路 | |
US7430618B2 (en) | Data transfer control device and electronic equipment | |
US20030179719A1 (en) | Method and apparatus for transmitting packets at a transfer rate that depends on a response from a destination | |
JP3584789B2 (ja) | データ転送制御装置及び電子機器 | |
US6363428B1 (en) | Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network | |
JPH10229410A (ja) | データ処理装置、電子機器および通信システム | |
US6580711B1 (en) | Serial interface circuit and signal processing method of the same | |
US6578095B1 (en) | Data transfer control device for transferring data among a plurality of nodes and electronic equipment | |
JP3539287B2 (ja) | データ転送制御装置及び電子機器 | |
JP3494040B2 (ja) | データ転送制御装置及び電子機器 | |
JP4184458B2 (ja) | 通信インタフェースで受信されたパケットデータからの制御情報の抽出方法ならびにビデオデータパケット制御回路 | |
US6834316B1 (en) | Data transfer controller and electronic device | |
JP2004118704A (ja) | インターフェイス装置およびインターフェイス装置の制御方法 | |
JPH1117710A (ja) | シリアルインタフェース回路 | |
JP3967792B2 (ja) | パケット化されたデータ通信インタフェース機器のpciシリアルバスインタフェース機器回路を自律的に動作させるための方法ならびに自律ブート回路 | |
KR100364756B1 (ko) | 자동수신모드를 갖는 비동기화 데이터 수신장치 | |
JP2003218887A (ja) | 通信装置およびネットワークシステム | |
JP3610982B2 (ja) | データ転送制御装置及び電子機器 | |
JP2000032010A (ja) | デ―タ通信システム、デ―タ通信方法、デ―タ通信装置、デジタルインタフェ―ス及び記憶媒体 | |
JPH1069456A (ja) | パケットデータ通信システム内のdma機械を制御するためのパケット制御リストを形成するための方法ならびにそのフォーマット | |
JPH11355320A (ja) | デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタ―フェイス | |
JPH11317755A (ja) | デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタ―フェイス | |
JP2002366508A (ja) | データ転送方法 |