(57)【特許請求の範囲】
【請求項１】
論理エントリである複数のユニットを含む物理エントリであるサブモジュール、を複数有する１つの論理エントリとして各々が機能する複数のモジュールと、
前記モジュールと前記サブモジュールとを接続する第１のシリアルバスと、
前記複数のサブモジュール間を接続する第２のシリアルバスと、
を備え、
前記各モジュールは、
ＩＥＥＥ１３９４方式のリンク層及び物理層として機能するＩＥＥＥ１３９４通信部と、
ＣＳＲ（Ｃｏｎｔｒｏｌ  ａｎｄ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒｓ）として機能し、前記ユニットに割り当てられたアドレス空間内の記憶情報、及び前記サブユニットに割り当てられたアドレス空間内の記憶情報を記憶する記憶部と、
ＩＥＥＥ１３９４方式のトランザクション層及びアプリケーション層として機能するホストコントローラと、
を有し、
前記各サブモジュールは、
ワイヤレス機器であり、
ＩＥＥＥ１３９４方式のリンク層及び物理層として機能するＩＥＥＥ１３９４通信部と、
ＣＳＲ（Ｃｏｎｔｒｏｌ  ａｎｄ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒｓ）として機能し、前記ユニットに割り当てられたアドレス空間内の記憶情報、及び前記サブユニットに割り当てられたアドレス空間内の記憶情報を記憶する記憶部と、
ＩＥＥＥ１３９４方式のトランザクション層及びアプリケーション層として機能するホストコントローラと、
前記複数のユニット間の通信を行うためのユニット間通信部と、
を有する、電子機器。
【請求項２】
前記モジュールのＩＥＥＥ１３９４通信部から出力されたパケットが前記第１のシリアルバスを介して第１の前記サブモジュールに送信される第１ステップと、
前記第１ステップで送信されたパケットが前記第１のサブモジュールのＩＥＥＥ１３９４通信部により受信される第２ステップと、
前記第１のサブモジュールのＩＥＥＥ１３９４通信部により受信されたパケットがアシンクロナスライト、リード、又はロックリクエストパケットである場合に、前記第１のサブモジュールのホストコントローラにより、当該パケット内にある、着信先ユニットのメモリアドレスを示すディスティネーションオフセットが読み込まれる第３ステップと、
前記第１のサブモジュールのホストコントローラにより、読み込まれたディスティネーションオフセットに基づいて着信先ユニットが判断される第４ステップと、
前記第１のサブモジュールのホストコントローラにより判断された着信先ユニットの情報が前記ユニット間通信部に送られる第５ステップと、
前記ユニット間通信部により、前記第２のシリアルバスを介して、前記着信先ユニットを含む第２の前記サブモジュールに前記パケットが送信される第６ステップと、
を実行する、
請求項１に記載の電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばＩＥＥＥ１３９４ノードを備える電子機器に関する。詳しくは、複数の物理エントリによって構成された１つの論理エントリであるノードを備えることによって、複数の物理エントリを１つのノードとして機能させることができ、またノードＩＤの資源の節約を図ることができるようにした電子機器に係るものである。
【０００２】
【従来の技術】
図６は、従来のモジュールによるノード構成例を示している。文献[1](IEEE Std 1394-1995)、文献[2](ISO/IEC 13213:1994(E),ANSI/IEEE Std 1212,1994 Edition)では、物理エントリであるモジュール（module）の内部に論理エントリであるノード（node）が１つ以上あると定義されている。また、ノードは、１つ以上の論理エントリであるユニット（unit）で構成でき、さらにユニットは１つ以上の論理エントリであるサブユニット（subunit）から構成できると定義されている。
【０００３】
ユニットへのアクセス方法について説明する。あるユニットへのアクセスは、これが属するノードや、そのノード内に存在するその他のユニットに影響を与えることはない。また、各ユニットには、文献[1],[2]で定義された、ＣＳＲ(Control and Status Registers)のアドレス空間内で、それぞれが独立したアドレスが割り当てられる。同じノード内に存在するユニットの１０ビットのバスＩＤ（bus_ID）と６ビットのノードＩＤ（node_ID）は同じ値である。これらのアドレスへの個別のアクセスによって、ユニットへの個別のアクセスが可能になる。なお、このアクセス方法に関しては、上記した文献[1],[2]に詳しく説明されている。
【０００４】
図７は、ＣＳＲのアドレッシングの一例を示している。バスＩＤとノードＩＤで決まる１６ビットのフィールドは省略したので、４８ビットのノード内ＣＳＲのアドレス空間を示している。図中の数字は、レジスタアドレス（register address）を１６進数表記で表したものである。この図７では、ＣＳＲアドレス領域にユニットＡ，Ｂ，Ｃのアドレス領域が割り当てられている例を示した。
【０００５】
アドレスＡ〜Ｄはそれぞれアドレス値を表しており、アドレスＡ以降アドレスＢまでがユニットＡに、アドレスＢ以降アドレスＣまでがユニットＢに、アドレスＣ以降アドレスＤまでがユニットＣに割り当てられているとする。これらユニットＡ〜Ｃのアドレス、つまり各ユニットのアドレスオフセット情報は、コンフィグレーション（Configuration)ＲＯＭのユニットディレクトリ（Unit_derectory）内に記録されている。
【０００６】
また、ユニット内には、論理エントリであるサブユニットを１つ以上配置できる。ユニットへのアクセスと同様に、これらサブユニットへのアクセスは、ＣＳＲアドレス空間内で自由に行うことができる。
【０００７】
図８は、図６に示す従来のモジュールによるシリアルバス構成例を示している。モジュール１２ａ，１２ｂ，１２ｃ（モジュールＡ，Ｂ，Ｃ）は、文献[1]で定義されているIEEE1394シリアルバス１１で接続されている。モジュール１２ａ，１２ｂ，１２ｃは、それぞれ文献[1]で定義された物理エントリであって、それぞれノードＡ，Ｂ，Ｃとして機能する。
【０００８】
モジュール１２ａ，１２ｂ，１２ｃは、それぞれIEEE1394通信部１３ａ，１３ｂ，１３ｃと、記憶部１４ａ，１４ｂ，１４ｃと、ホストコントローラ１５ａ，１５ｂ，１５ｃとを備えている。ここで、IEEE1394通信部は、IEEE1394リンク層と物理層の機能等を有している。トランザクション層を含む場合もある。記憶部は、文献[1],[2]にあるＣＳＲとして機能するＲＡＭやＲＯＭを含んでいる。ホストコントローラは、IEEE1394のトランザクション層やアプリケーション層等を有している。
【０００９】
【発明が解決しようとする課題】
赤外線や電波等を使ったワイヤレス通信環境において、複数のワイヤレス機器を１つのIEEE1394ノードとして機能させたい場合、図６に示すようなノード構成では、これを実現することができない。その理由は、複数の物理エントリが、１つの論理エントリであるIEEE1394ノードとして機能することができないからである。したがって、ワイヤレス機器の各々を独立した論理エントリであるIEEE1394ノードとして機能させるしかない。この場合、ノードとして存在させるワイヤレス機器の数だけノードＩＤが消費される。
【００１０】
そこで、この発明では、複数の物理エントリを１つのノードとして機能させることができ、またノードＩＤの資源の節約を図ることができる電子機器を提供することを目的とする。
【００１１】
【課題を解決するための手段】
この発明に係る電子機器は、複数の物理エントリによって構成された１つの論理エントリであるノードを備えるものである。例えば、物理エントリは、論理エントリであるユニットまたはサブユニットを有する。また、物理エントリは、上記ユニットまたはサブユニットのための記憶部をさらに有し、この記憶部にはユニットまたはサブユニットに割り当てられたアドレス空間内の記憶情報が記憶されている。
【００１２】
この発明においては、複数の物理エントリ（サブモジュール）を１つのノードとして機能させることが可能となる。また、この発明においては、ノードを構成する複数の論理エントリで１つのノードＩＤが消費されるものであり、ノードＩＤの資源の節約が可能となる。
【００１３】
【発明の実施の形態】
以下、図面を参照しながら、この発明の実施の形態を説明する。
この発明では、サブモジュール（submodule）という概念を、IEEE1394シリアルバスプロトコルに導入する。サブモジュールは１つの物理エントリであり、１つ以上のサブモジュールを用いて１つの論理エントリであるノードを形成することができる。
【００１４】
図１は、サブモジュールを用いたノード構成例を示している。論理エントリであるノードは、１つ以上の物理エントリであるサブモジュールによって構成される。サブモジュール内には、論理エントリであるユニットが１つ以上含まれる。この場合、ユニットを区別することで、サブモジュールを区別することが可能になる。
【００１５】
上述の図６に示すように、従来のIEEE1394では、１つの論理エントリであるノード内に複数の物理エントリが存在することができなかった。しかし、図１に示すノード構成例では、複数の物理エントリであるサブモジュールが、１つの論理エントリであるノード内に存在することが可能である。これにより、ノードＩＤを無駄に消費するという問題を解決できる。また、例えば、ワイヤレス機器の端末をサブモジュールとして、ある１つのワイヤレスネットワークを１つのIEEE1394ノードとして機能させることができる。
【００１６】
図２は、サブモジュールを用いたシリアルバス構成例を示している。この図２において、図８と対応する部分には同一符号を付して示している。モジュール１２ａ（モジュールＡ）は、IEEE1394通信部１３ａと、記憶部１４ａと、ホストコントローラ１５ａとを備えている。このモジュール１２ａは、文献[1]で定義された物理エントリであってノードＡとして機能する。
【００１７】
サブモジュール１６ｂ（サブモジュールＢ）は、IEEE1394通信部１３ｂと、記憶部１４ｂと、ホストコントローラ１５ｂと、ユニット間の通信を行うためのユニット間通信部１７ｂとを備えている。サブモジュール１６ｃ（サブモジュールＣ）は、記憶部１４ｃと、ホストコントローラ１５ｃと、ユニット間の通信を行うためのユニット間通信部１７ｃとを備えている。
【００１８】
ここで、IEEE1394通信部は、IEEE1394リンク層と物理層の機能等を有している。トランザクション層を含む場合もある。記憶部は、文献[1],[2]にあるＣＳＲとして機能するＲＡＭやＲＯＭを含んでいる。ホストコントローラは、IEEE1394のトランザクション層やアプリケーション層等を有している。
【００１９】
モジュール１２ａおよびサブモジュール１６ｂは、IEEE1394シリアルバス１１で接続されている。サブモジュール１６ｂおよびサブモジュール１６ｃは、ユニット間通信用バス１８で接続されている。このユニット間通信用バス１８は、ＰＣＩ，ＵＳＢ，IEEE1394，ＳＣＳＩ，ＩｒＤＡ，Bluetooth等の通信バスでも構成できる汎用バスである。
【００２０】
この例において、サブモジュール１６ｂはユニットＡ，Ｂとして機能し、サブモジュール１６ｃはユニットＣとして機能し、これらサブモジュール１６ｂ，１６ｃによって１つのIEEE1394ノードＤを構成している。サブモジュール１６ｂにあるIEEE1394通信部１３ｂが、サブモジュール１６ｂ，１６ｃで構成するノードＤのIEEE1394バスインタフェースの働きをする。したがって、IEEE1394シリアルバス１１には、２つのIEEE1394ノードＡ，Ｄが接続されていることになる。
【００２１】
この例では、上述の図８に示す例と同様に、ネットワーク内には物理エントリが３つ存在するが、ノードＩＤは２つしか消費しない。また、サブモジュール１６ｂ，１６ｃをワイヤレス機器とすることで、これらワイヤレス機器を１つの論理エントリであるノードＤとして機能させることができる。
【００２２】
次に、サブモジュール間のパケット送信例について説明する。ここでは、図２において、ノードＡから送られるノードＤのユニットＣ宛てのパケットＰについて考えてみる。これは、モジュールＡからサブモジュールＣ宛てのパケットＰの送信手順説明と言い換えることもできる。ここで、ノードＤのＣＳＲアドレッシングとしては、上述の図７で示したアドレッシング例を使用する。
【００２３】
モジュールＡ（１２ａ）のIEEE1394通信部１３ａからIEEE1394シリアルバス１１に出力されたパケットＰは、まず、サブモジュールＢ（１６ｂ）のIEEE1394通信部１３ｂで受信される。受信されたパケットＰは、ホストコントローラ１５ｂによって処理される。ホストコントローラ１５ｂは、受信したパケットＰが、アシンクロナスライト／リード／ロックリクエストパケット（asynchronous write/read/lock request packet）のいずれかである場合、パケットＰ内のディスティネーションオフセット（destination_offset）の値を読む。ディスティネーションオフセットは、着信先ノードのメモリアドレスであって、文献[1]に詳細な説明がある。また、アシンクロナスパケットのフォーマットに関しても、文献[1]で定義されているので説明は省略する。
【００２４】
次に、ディスティネーションオフセットの値Ｒが、アドレスＣ≦Ｒ＜アドレスＤである場合、パケットＰはユニットＣ宛てであると判断し、そのパケットＰをユニット間通信部１７ｂに送信する。そして、このパケットＰは、ユニット間通信用バス１８を介してサブモジュールＣ（１６ｃ）のユニット間通信部１７ｃに渡され、ホストコントローラ１５ｃによって処理される。以上で、ノードＡから、ノードＤのユニットＣ宛てのパケットＰの送信が完了する。
【００２５】
また、ホストコントローラ１５ｃは、必要に応じて、アシンクロナスライト／リード／ロックリクエストに対するレスポンスパケット（response packet）Ｑの発行処理を行う。ホストコントローラ１５ｃは、レスポンスパケットＱに必要な情報をユニット間通信部１７ｃ、ユニット間通信用バス１８を介して、サブモジュールＢのユニット間通信部１７ｂに送る。
【００２６】
次に、ユニット間通信部１７ｂで受け取ったレスポンスパケットＱ用のデータは、直接IEEE1394通信部１３ｂに送られるか、またはホストコントローラ１５ｂを介してIEEE1394通信部１３ｂに送られる。最後に、IEEE1394通信部１３ｂによってIEEE1394シリアルバス１１にレスポンスパケットＱとして発信される。このレスポンスパケットＱがモジュールＡ宛てであれば、モジュールＡのIEEE1394通信部１３ａがこのレスポンスパケットＱを受信し、モジュールＡ内でレスポンスに対応した処理が行われる。
【００２７】
なお、図２の例では、サブモジュールＣ（１６ｃ）はノードＤのユニットＣとして機能する。そのために、アドレスＣ以降アドレスＤまで記録されるべきユニットＣの情報は、サブモジュールＣの記憶部１４ｃに記憶されている。
【００２８】
図３は、サブモジュールを用いた他のノード構成例を示している。論理エントリであるノードは、１つ以上の物理エントリであるサブモジュールによって構成される。この場合、同時に、１つ以上の物理エントリであるサブモジュールで、１つの論理エントリであるユニットも構成している。そして、サブモジュール内には、論理エントリであるサブユニットが１つ以上含まれる。この場合、サブユニットを区別することで、サブモジュールを区別することが可能になる。
【００２９】
この図３に示すノード構成例においても、複数の物理エントリであるサブモジュールが、１つの論理エントリであるノード内に存在するものであり、図１に示すノード構成例と同様に、ノードＩＤを無駄に消費するという問題を解決でき、またある１つのワイヤレスネットワークを１つのIEEE1394ノードとして機能させることができる。
【００３０】
図４は、サブモジュールを用いたシリアルバス構成例を示している。この図４において、図２と対応する部分には同一符号を付し、その詳細説明は省略する。
【００３１】
モジュール１２ａ（モジュールＡ）は、IEEE1394通信部１３ａと、記憶部１４ａと、ホストコントローラ１５ａとを備えている。このモジュール１２ａは、文献[1]で定義された物理エントリであってノードＡとして機能する。
【００３２】
サブモジュール１６ｂ（サブモジュールＢ）は、IEEE1394通信部１３ｂと、記憶部１４ｂと、ホストコントローラ１５ｂと、サブユニット間の通信を行うためのサブユニット間通信部１９ｂとを備えている。サブモジュール１６ｃ（サブモジュールＣ）は、記憶部１４ｃと、ホストコントローラ１５ｃと、サブユニット間の通信を行うためのサブユニット間通信部１９ｃとを備えている。
【００３３】
モジュール１２ａおよびサブモジュール１６ｂは、IEEE1394シリアルバス１１で接続されている。サブモジュール１６ｂおよびサブモジュール１６ｃは、サブユニット間通信用バス２０で接続されている。このサブユニット間通信用バス２０は、図２におけるユニット間通信用バス１８と同様に、ＰＣＩ，ＵＳＢ，IEEE1394，ＳＣＳＩ，ＩｒＤＡ，Bluetooth等の通信バスでも構成できる汎用バスである。
【００３４】
この例において、サブモジュール１６ｂはサブユニットＡ，Ｂとして機能し、サブモジュール１６ｃはサブユニットＣとして機能し、これらサブモジュール１６ｂ，１６ｃによって１つのIEEE1394ノードＤを構成している。サブモジュール１６ｂにあるIEEE1394通信部１３ｂが、サブモジュール１６ｂ，１６ｃで構成するノードＤのIEEE1394バスインタフェースの働きをする。したがって、IEEE1394シリアルバス１１には、２つのIEEE1394ノードＡ，Ｄが接続されていることになる。
【００３５】
この例では、上述の図８に示す例と同様に、ネットワーク内には物理エントリが３つ存在するが、ノードＩＤは２つしか消費しない。また、サブモジュール１６ｂ，１６ｃをワイヤレス機器とすることで、これらワイヤレス機器を１つの論理エントリであるノードＤとして機能させることができる。
【００３６】
次に、サブモジュール間のパケット送信例について説明する。ここでは、図４において、ノードＡから送られるノードＤのサブユニットＣ宛てのパケットＰについて考えてみる。これは、モジュールＡからサブモジュールＣ宛てのパケットＰの送信手順説明と言い換えることもできる。
【００３７】
図５は、ノードＤのＣＳＲアドレッシング例を示している。バスＩＤとノードＩＤで決まる１６ビットのフィールドは省略したので、４８ビットのノード内ＣＳＲのアドレス空間を示している。図中の数字は、レジスタアドレスを１６進数表記で表したものである。この図５では、ＣＳＲアドレス領域にユニットＡのアドレス領域が割り当てられている。アドレスＡ，Ｂはそれぞれアドレス値を表しており、アドレスＡ以降アドレスＢまでがユニットＡに、割り当てられている。
【００３８】
さらに、この図５では、このユニットＡのアドレス領域に、サブユニットＡ〜Ｃのアドレス領域が割り当てられている。アドレスＡｓ〜Ｄｓはそれぞれアドレス値を表しており、アドレスＡｓ以降アドレスＢｓまでがサブユニットＡに、アドレスＢｓ以降アドレスＣｓまでがサブユニットＢに、アドレスＣｓ以降アドレスＤｓまでがサブユニットＣに割り当てられているとする。これらサブユニットＡ〜Ｃのアドレス、つまり各サブユニットのアドレスオフセット情報は、コンフィグレーション（Configuration)ＲＯＭのユニットディレクトリ（Unit_derectory）内に記録されている。
【００３９】
モジュールＡ（１２ａ）のIEEE1394通信部１３ａからIEEE1394シリアルバス１１に出力されたパケットＰは、まず、サブモジュールＢ（１６ｂ）のIEEE1394通信部１３ｂで受信される。受信されたパケットＰは、ホストコントローラ１５ｂによって処理される。ホストコントローラ１５ｂは、受信したパケットＰが、アシンクロナスライト／リード／ロックリクエストパケットのいずれかである場合、パケットＰ内のディスティネーションオフセットの値を読む。
【００４０】
次に、ディスティネーションオフセットの値Ｒが、アドレスＣｓ≦Ｒ＜アドレスＤｓである場合、パケットＰはサブユニットＣ宛てであると判断し、そのパケットＰをサブユニット間通信部１９ｂに送信する。そして、このパケットＰは、サブユニット間通信用バス２０を介してサブモジュールＣ（１６ｃ）のサブユニット間通信部１９ｃに渡され、ホストコントローラ１５ｃによって処理される。以上で、ノードＡから、ノードＤのサブユニットＣ宛てのパケットＰの送信が完了する。
【００４１】
また、ホストコントローラ１５ｃは、必要に応じて、アシンクロナスライト／リード／ロックリクエストに対するレスポンスパケット（response packet）Ｑの発行処理を行う。ホストコントローラ１５ｃは、レスポンスパケットＱに必要な情報をサブユニット間通信部１９ｃ、サブユニット間通信用バス２０を介して、サブモジュールＢのサブユニット間通信部１９ｂに送る。
【００４２】
次に、サブユニット間通信部１９ｂで受け取ったレスポンスパケットＱ用のデータは、直接IEEE1394通信部１３ｂに送られるか、またはホストコントローラ１５ｂを介してIEEE1394通信部１３ｂに送られる。最後に、IEEE1394通信部１３ｂによってIEEE1394シリアルバス１１にレスポンスパケットＱとして発信される。このレスポンスパケットＱがモジュールＡ宛てであれば、モジュールＡのIEEE1394通信部１３ａがこのレスポンスパケットＱを受信し、モジュールＡ内でレスポンスに対応した処理が行われる。
【００４３】
なお、図４の例では、サブモジュールＣ（１６ｃ）はノードＤのユニットＡのサブユニットＣとして機能する。そのために、アドレスＣｓ以降アドレスＤｓまで記録されるべきサブユニットＣの情報は、サブモジュールＣの記憶部１４ｃに記憶されている。
【００４４】
なお、上述実施の形態においては、２つのサブモジュール１６ｂ，１６ｃによって１つの論理エントリであるIEEE1394ノードＤが構成されるものを示したが、１つの論理エントリであるIEEE1394ノードを構成するサブモジュールの個数はこれに限定されるものではない。
【００４５】
【発明の効果】
この発明によれば、複数の物理エントリによって構成された１つの論理エントリであるノードを備えるものであり、複数の物理エントリを１つのノードとして機能させることができ、またノードＩＤの資源の節約を図ることができる。例えば、複数のワイヤレス機器で１つのワイヤレスネットワークを構成した場合、そのワイヤレスネットワーク全体を１つの論理ユニットであるノードとして機能させることができ、またワイヤレスネットワーク全体に１つのノードＩＤを付与すればよく、ノードＩＤの資源の節約を図ることができる。
【図面の簡単な説明】
【図１】サブモジュールを用いたノード構成例を示す図である。
【図２】サブモジュールを用いたシリアルバス構成例を示すブロック図（ユニットを用いた場合）である。
【図３】サブモジュールを用いた他のノード構成例を示す図である。
【図４】サブモジュールを用いたシリアルバス構成例を示すブロック図（サブユニットを用いた場合）である。
【図５】ノード内のＣＳＲアドレッシング（サブユニットを用いた場合）の一例を示す図である。
【図６】従来のモジュールによるノード構成例を示す図である。
【図７】ノード内のＣＳＲアドレッシングの一例を示す図である。
【図８】従来のシリアルバス構成例を示すブロック図である。
【符号の説明】
１１・・・IEEE1394シリアルバス、１２ａ・・・モジュール、１３ａ，１３ｂ・・・IEEE1394通信部、１４ａ〜１４ｃ・・・記憶部、１５ａ〜１５ｃ・・・ホストコントローラ、１６ｂ，１６ｃ・・・サブモジュール、１７ｂ，１７ｃ・・・ユニット間通信部、１８・・・ユニット間通信用バス、１９ｂ，１９ｃ・・・サブユニット間通信部、２０・・・サブユニット間通信用バス
【図１】
0004529231.tif 000002
【図２】
0004529231.tif 000003
【図３】
0004529231.tif 000004
【図４】
0004529231.tif 000005
【図５】
0004529231.tif 000006
【図６】
0004529231.tif 000007
【図７】
0004529231.tif 000008
【図８】
0004529231.tif 000009