(57)【特許請求の範囲】
【請求項１】
第１モジュールを備える装置であって、
前記第１モジュールは、
前記第１モジュールをバスに接続する少なくとも１つのバスポートと、
前記第１モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す入力を受信する第１設定ポートと、
第２モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す出力を提供する第２設定ポートと、
前記第１モジュールを特定する固有アドレスを格納するメモリと、
前記バスを介して中央管理ユニットと接続される制御部とを有し、
前記制御部は、前記中央管理ユニットから前記バスポートを介して前記固有アドレスを受信し、前記第１設定ポートを読み出すことで前記第１モジュールについてアドレス割り当てがイネーブルされているか判断し、前記第１モジュールについてアドレス割り当てがイネーブルされている場合には前記固有アドレスを前記メモリに格納し、第２モジュールが前記第１モジュールに接続されると、前記第２モジュールについてアドレス割り当てをイネーブル又はディセーブルし、
前記制御部は、前記第２モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す入力を受信する前記第２モジュールが有する第１設定ポートが、前記第１モジュールの前記第２設定ポートに接続されると、前記中央管理ユニットからのメッセージに少なくとも一部基づいて、前記第１モジュールの前記第２設定ポートに第２設定状態を設定することにより、前記第２モジュールについてアドレス割り当てをイネーブル又はディセーブルする、装置。
【請求項２】
前記第１モジュールは、前記第１モジュールについてアドレス割り当てがイネーブルされているか又はディセーブルされているかを示す前記入力を、別のモジュールから受信する請求項１に記載の装置。
【請求項３】
前記第１モジュールは、前記第１モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す前記入力を、前記中央管理ユニットから受信する請求項１または請求項２に記載の装置。
【請求項４】
前記制御部は、前記第１モジュールの第１設定状態に少なくとも一部基づいて、前記第１モジュールについてアドレス割り当てがイネーブルされているかを判断し、
前記第１設定状態は、アドレス割り当てがイネーブルされているかディセーブルされているかを示す前記入力に基づいている請求項１から請求項３のいずれか１つに記載の装置。
【請求項５】
前記第１モジュールは更に、初期アドレスを有する請求項１から請求項４のいずれか１つに記載の装置。
【請求項６】
前記第１モジュールは、前記バスポートを介してモジュールアドレスを含むメッセージを受信し、
前記制御部は、前記メモリに前記固有アドレスが格納されている場合には、前記固有アドレスに基づいて前記メッセージが前記第１モジュールを意図しているかを判断し、前記メモリに前記固有アドレスが格納されていない場合には、前記初期アドレスに基づいて前記メッセージが前記第１モジュールを意図しているかを判断する、請求項５に記載の装置。
【請求項７】
バスポート、アドレス割り当てがイネーブルされているかディセーブルされているかを示す入力を受信する第１設定ポート、およびアドレス割り当てがイネーブルされているかディセーブルされるかを示す出力を提供する第２設定ポートを有する第１モジュールおよび第２モジュールを含む複数のモジュールに固有アドレスを割り当てる方法であって、
バスに接続され、前記第２モジュールに接続された前記第１モジュールを含み、１つの初期アドレスによって特定される前記複数のモジュールについて、アドレス割り当てをディセーブルする段階と、
前記第１モジュールの前記第１設定ポートで、アドレス割り当てをイネーブルにすることを示す信号を受信することにより、前記第１モジュールについてアドレス割り当てをイネーブルする段階と、
前記バスポートを介して受信された新たなアドレスを前記第１モジュールに格納する段階と、
前記第１モジュールの前記第１設定ポートで、前記第１モジュールについてアドレス割り当てがディセーブルされることを示す入力を受信することにより、前記第１モジュールについてアドレス割り当てをディセーブルする段階と、
前記第１モジュールの前記バスポートでメッセージを受信し、前記メッセージに少なくとも一部基づいて、前記第２モジュールについてアドレス割り当てがイネーブルされるかディセーブルされるかを示す出力を、前記第１モジュールの前記第２設定ポートから前記第２モジュールの前記第１設定ポートに供給することで、前記第２モジュールについてアドレス割り当てをイネーブル又はディセーブルする段階と
を備える方法。
【請求項８】
前記新たなアドレスは、前記バスに接続された中央管理ユニットによって、前記第１モジュールに供給される請求項７に記載の方法。
【請求項９】
前記複数のモジュールのうちの１つにおいて、アドレス割り当てがイネーブルされているかを判断する段階を更に備える請求項７または請求項８に記載の方法。
【請求項１０】
新たなモジュールが、前記バスに接続されたかを判断する段階を更に備える請求項７から請求項９のいずれか１つに記載の方法。
【請求項１１】
前記新たなモジュールが前記バスに接続され、且つ、前記新たなモジュールが前記複数のモジュールのうちの１つと接続されている場合に、前記新たなモジュールに新たなアドレスを割り当てる段階を更に備える請求項１０に記載の方法。
【請求項１２】
第２モジュールと接続された第１モジュールを含み、バスと接続されている複数のモジュールを備えるシステムであって、
前記第１モジュールは、
前記第１モジュールを前記バスに接続する少なくとも１つのバスポートと、
前記第１モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す入力を受信する第１設定ポートと、
前記第２モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す出力を供給する第２設定ポートと、
前記第１モジュールを特定する固有アドレスを格納するメモリと、
前記少なくとも１つのバスポートを介して前記固有アドレスを受信し、前記第１設定ポートを読み出すことで前記第１モジュールについてアドレス割り当てがイネーブルされているかを判断し、前記第１モジュールについてアドレス割り当てがイネーブルされている場合に、前記固有アドレスを前記メモリに格納し、前記第２モジュールについてアドレス割り当てをイネーブル又はディセーブルする制御部と、
前記バスと接続され、前記制御部に前記固有アドレスを供給し、前記制御部に、前記第２モジュールについてアドレス割り当てをイネーブル又はディセーブルさせるメッセージを前記制御部に供給する中央管理ユニットとを有し、
前記制御部は、前記第２モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す入力を受信する前記第２モジュールが有する第１設定ポートが、前記第１モジュールの前記第２設定ポートに接続されると、前記中央管理ユニットからの前記メッセージに少なくとも一部基づいて、前記第１モジュールの前記第２設定ポートに第２設定状態を設定することにより、前記第２モジュールについてアドレス割り当てをイネーブル又はディセーブルする、システム。
【請求項１３】
前記バス及び前記複数のモジュールのうちの１つのモジュールと接続される新たなモジュールを更に備え、
前記中央管理ユニットは更に、前記新たなモジュールを検出する請求項１２に記載のシステム。
【請求項１４】
前記中央管理ユニットは更に、前記新たなモジュールに新たな固有アドレスを割り当てる請求項１３に記載のシステム。
【請求項１５】
前記中央管理ユニットは、前記複数のモジュールのうちの前記１つのモジュールに、前記新たなモジュールにおけるアドレス割り当てをイネーブルさせる又はディセーブルさせるメッセージを、前記１つのモジュールに送信し、
前記中央管理ユニットは更に、前記新たなモジュールに前記新たな固有アドレスを供給し、
前記新たなモジュールにおいてアドレス割り当てがイネーブルされた場合に、前記新たなモジュールは、前記新たな固有アドレスを受信し格納する請求項１３または請求項１４に記載のシステム。
【請求項１６】
前記中央管理ユニットは、前記第１モジュールにおいてアドレス割り当てがイネーブルされているかディセーブルされているかを示す前記入力を提供する請求項１２から請求項１５のいずれか１つに記載のシステム。
【請求項１７】
別のモジュールが、前記第１モジュールにおいてアドレス割り当てがイネーブルされているかディセーブルされているかを示す前記入力を提供する請求項１２から請求項１６のいずれか１つに記載のシステム。
【請求項１８】
前記制御部は、前記第１モジュールにおける第１設定状態に少なくとも一部基づいて、前記第１モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを判断し、
前記第１設定状態は、アドレス割り当てがイネーブルされているかディセーブルされているかを示す前記入力に基づく請求項１２から請求項１７のいずれか１つに記載のシステム。
【請求項１９】
前記複数のモジュールは、１つの初期アドレスを有する請求項１２から請求項１８のいずれか１つに記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
複数のモジュールを、バスと接続することができる。複数のモジュールのそれぞれが個別にアクセスを行うためには、モジュール各々が固有のＩＤ、すなわち、アドレスを持つ必要がある。ある場合には、複数のモジュールは、最初は同一に製造され、付加的製造工程において、モジュール各々に対して、個別のアドレスが設定される。例えば、複数のスイッチのアレイを使用して、モジュールのアドレスを設定してもよい。別の例では、複数の抵抗器からなるアレイの中の抵抗器をそれぞれ、ＶＣＣ（例えば、正の電圧電源）又はＶＳＳ（例えば、接地電位、又は負の電圧電源）に接続して、モジュールのアドレスを設定してもよい。別の例では、モジュールをバスに接続する前に、モジュールのアドレスをメモリに格納してもよい。
【０００２】
上記の全ての例において、製造段階で、又は、少なくとも個別に、モジュールをバスに接続する前に、モジュールにアドレスが設定されている。このアドレスを設定するための工程によって、製造コストが増加してしまう。さらに、個別のアドレスセットを有する複数のモジュールは、個体が識別されるようにアドレスを設定しなければならず、同じアドレスを有する２つのモジュールを、同じバスに接続することはできない。したがって、在庫管理のコストが増加し、また、同じアドレスを有する２つのモジュールが同じバスに接続されてしまう危険性が含まれていた。これらの例において、モジュールのアドレス変更には、一般的にモジュールに直接アクセスすることが必要なため、保守点検及びシステム拡張を難しくしていた。
【０００３】
モジュールがそれぞれ互いに同一に製造されることが望ましく、それによって、製造コスト及び製造時間を削減することができる。しかしながら、動作時には、例えば、各モジュールの固有のアドレスを使用して、個別にアクセスできることが望ましい。
【発明の概要】
【０００４】
一側面によれば、装置を開示する。装置は、第１モジュールを備え、第１モジュールは、第１モジュールをバスに接続する少なくとも１つのバスポートと、第１モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す入力を受信する第１設定ポートと、第２モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す出力を提供する第２設定ポートと、第１モジュールを特定する固有アドレスを格納するメモリと、バスを介して中央管理ユニットと接続される制御部とを有し、制御部は、中央管理ユニットから固有アドレスを受信して、第１モジュールについてアドレス割り当てがイネーブルされているか判断し、第１モジュールについてアドレス割り当てがイネーブルされている場合には固有アドレスをメモリに格納し、第２モジュールが第１モジュールが接続されると、第２モジュールについてアドレス割り当てをイネーブル又はディセーブルし、制御部は、中央管理ユニットからのメッセージに少なくとも一部基づいて、第２モジュールについてアドレス割り当てをイネーブル又はディセーブルする。
【０００５】
別の側面によれば、固有アドレスを複数のモジュールに割り当てる方法を開示する。方法は、バスに接続され、第２モジュールに接続された第１モジュールを含み、１つの初期アドレスによって特定される複数のモジュールについて、アドレス割り当てをディセーブルする段階を備えてもよい。方法は更に、第１モジュールについてアドレス割り当てをイネーブルする段階と、新たなアドレスを第１モジュールに格納する段階と、第１モジュールについてアドレス割り当てをディセーブルする段階と、第２モジュールについてアドレス割り当てをイネーブルする段階とを備えてもよい。
【０００６】
別の側面によれば、システムを開示する。システムは、第２モジュールと接続された第１モジュールを含み、バスと接続されている複数のモジュールを備え、第１モジュールは、第１モジュールをバスに接続する少なくとも１つのバスポートと、第１モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す入力を受信する第１設定ポートと、第２モジュールについてアドレス割り当てがイネーブルされているかディセーブルされているかを示す出力を供給する第２設定ポートと、第１モジュールを特定する固有アドレスを格納するメモリと、固有アドレスを受信し、第１モジュールについてアドレス割り当てがイネーブルされているかを判断し、第１モジュールについてアドレス割り当てがイネーブルされている場合に、固有アドレスをメモリに格納し、第２モジュールについてアドレス割り当てをイネーブル又はディセーブルする制御部とを有する。システムは、バスと接続され、制御部に固有アドレスを供給し、制御部に、第２モジュールについてアドレス割り当てをイネーブル又はディセーブルさせるメッセージを制御部に供給する中央管理ユニットとを更に含み、制御部は、中央管理ユニットからのメッセージに少なくとも一部基づいて、第２モジュールについてアドレス割り当てをイネーブル又はディセーブルする。
【０００７】
本発明の特許請求される特徴の効果は、以下の実施形態の説明及び添付の図面を参照することにより、より良く理解される。
【図面の簡単な説明】
【０００８】
【図１】本開示に係るシステムのブロック図である。
【図２】本開示に係る、バスに接続された複数のモジュールにアドレスを割り当てるオペレーションの一例を示したフローチャートである。
【発明を実施するための形態】
【０００９】
本開示に係るシステム、装置及び／又は方法は、バスに接続された複数のモジュールにアドレスを割り当てるように構成される。本開示に係るシステム、装置及び／又は方法は、最初のアドレスが割り当てられた後に、新しくバスに接続されたモジュールにアドスを割り当てることができる、例えば、"ホットスワップ（活線挿抜）"モジュールで構成される。モジュールはそれぞれ、バスと接続され、バスを介して、中央管理ユニットに接続される。モジュール各々は更に、少なくとも１つの別のモジュールと接続される。例えば、第１モジュールは、第２モジュールと接続される。
【００１０】
図１は、本開示に係る回路を含むシステム１００の一実施形態のブロック図である。システム１００は、複数のモジュールを備える。モジュール１０２それぞれは、モジュール回路を有する。例えば、システム１００は、複数のモジュール、モジュール１、モジュール２、・・・、モジュールｎを備える。説明を簡易にするため、特定のモジュールを以降"モジュールｘ"と称し、ここで、ｘは、１、２、又はｎである。複数のモジュールのうちいずれのモジュールであってもよい１個のモジュールは、以下、"モジュール１０２"と称することにする。各モジュール１０２は、バス１０６と接続される。システム１００は、バス１０６と接続された中央管理ユニット（ＣＭＵ）回路１０４を更に備える。そして、モジュールはそれぞれ、互いに接続され、また、バス１０６を通じてＣＭＵ１０４とも接続される。ＣＭＵ１０４は、ＣＭＵ１０４とモジュール１０２との間のバス１０６を使用せずに、モジュール１０２と接続されていてもよい。例えば、ＣＭＵ１０４は、モジュール１と接続されてもよい。各モジュール１０２は、バス１０６を通過することなく、少なくとも１つの別のモジュールと接続されていてもよい。例えば、モジュール１は、モジュール２と接続されてもよい。
【００１１】
バス１０６は、ＣＭＵ１０４と各モジュール１０２との間、及び／又は、２つ以上のモジュール１０２との間の通信を提供するよう構成される。バス１０６は、シリアル通信を提供するよう構成されたシリアルバスであってもよい。例えば、バスは、コントローラ・エリア・ネットワーク（ＣＡＮ）、Ｉ２Ｃ（Ｉｎｔｅｒ‐Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＳＰＩ（シリアル・ペリフェラル・インターフェース）、ＲＳ４８５、（ＥＩＡ‐４８５、ＴＩＡ／ＥＩＡ‐４８５、"アメリカ電気通信工業会/米国電子工業会"規格）、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ）及び／又は、当業者に知られたその他のバス技術であってもよい。バス１０６を使用して、ＣＭＵ１０４と１以上のモジュール１０２との間、及び／又は２以上のモジュール１０２との間で、１以上のメッセージが通信される。メッセージは、コマンド、例えば命令、識別子及び／又はデータを含んでもよい。例えば、メッセージはそれぞれ、１つの識別子を含んでもよい。識別子は、例えば、個別のモジュール１０２に対応する固有のアドレス、又は、複数のモジュールに対応する１つの識別子であってもよい。識別子は、メッセージを受信するモジュールに対応していてもよいし、及び／又は、メッセージに応答するよう要求されているモジュールに対応していてもよい。例えば、コマンドは、固有のアドレスを格納する命令を含んでもよく、この固有のアドレスを使用して、モジュールにアクセスするようにしてもよい。データは、モジュール１０２に割り当てられるべき固有アドレスを含んでもよい。コマンドは、当業者にとって明らかなその他の命令を含んでもよい。
【００１２】
モジュール１０２はそれぞれ、制御部１１２及びメモリ１１６を有する。また、モジュール１０２はそれぞれ、例えば、製造段階に設定された又はモジュール１０２をバス１０６に接続する前に設定された初期アドレス１１４を含んでもよい。初期アドレス１１４は、規定値であるモジュールの識別子に対応していてもよい。初期アドレス１１４は、メモリ１１６に格納されていてもよく、及び／又は、当業者にとって明らかなように、回路内に提供されていてもよい。モジュール１０２はそれぞれ、複数のポートを有してもよい。複数のポートは、少なくとも１つのバスポート及び複数の設定ポートを含んでもよい。例えば、バスポートは、バス入力ポート"バス入力"、及び、バス出力ポート"バス出力"を含んでもよい。設定ポートは、第１設定ポートＥｎ＿Ｉｎ、及び第２設定ポートＥｎ＿Ｏｕｔを含んでもよい。第１設定ポートＥｎ＿Ｉｎは、以下に説明するように、モジュール１０２に対して、アドレスの割り当てをイネーブル又はディセーブルすることを示す入力を受信するよう設定される。第２設定ポートＥｎ＿Ｏｕｔは、以下に説明するように、第２モジュールに対して、アドレスの割り当てをイネーブル又はディセーブルすることを示す出力を提供するよう設定される。
【００１３】
制御部１１２は、バス１０６と接続され、バス１０６を介してＣＭＵ１０４と通信する。例えば、制御部１１２は、バスポートである"バス入力"及び"バス出力"を介して、バス１０６と接続されてもよい。制御部は、バスポート"バス出力"を介してメッセージを送信してもよく、また、バスポート"バス入力"を介してメッセージを受信してもよい。ＣＭＵ１０４は、固有アドレスを各モジュールに割り当てる。制御部１１２は、ＣＭＵ１０４から、モジュール１０２の固有アドレス１１８を受信し、固有アドレス１１８をメモリ１１６に格納するよう構成されていてもよい。複数のモジュール１０２に固有アドレスが割り当てられた後、ＣＭＵ１０４は、メッセージを受信するべきモジュールに対応する固有アドレスを含むメッセージを送信してもよい。制御部１１２はそれぞれ、ＣＭＵ１０４からメッセージを受信して、固有アドレスに向けられたメッセージのみに応答するようにしてもよい。すなわち、モジュール１０２にはそれぞれ、バス１０６と接続されたモジュールに対して互いに固有のアドレスが割り当てられてもよい。
【００１４】
メモリ１１６は、固有のモジュールアドレス１１８を格納する。制御部１１２は、固有のモジュールアドレス１１８を格納又は読み出すために、メモリ１１６にアクセスする。例えば、制御部１１２は、"バス入力"ポートで受信されたメッセージが、制御部１１２と関連付けられたモジュール１０２を意図しているのかを判断するために、モジュールアドレスを読み出してもよい。固有のモジュールアドレス１１８がメモリ１１６に格納されていない場合には、制御部１１２は、モジュール識別子を判断するために初期アドレス１１４を読み出してもよい。
【００１５】
第１設定ポートＥｎ＿Ｉｎは、モジュール１０２について、アドレス割り当てがイネーブル又はディセーブルされているかを示す入力を受信してもよい。アドレス割り当てがイネーブルされている場合には、モジュール１０２は、固有アドレスを受信及び格納してもよい。制御部１１２は、モジュール１０２についてアドレス割り当てがイネーブル又はディセーブルされているかを判断するために、Ｅｎ＿Ｉｎポートを読み出してもよい。例えば、論理値１がイネーブルに、論理値０がディセーブルに対応していてもよい。例えば、論理値１が、第１電圧に、論理値０が、第２電圧に対応していてもよい。第１設定状態１２０は、第１設定ポートＥｎ＿Ｉｎで入力を受信した状態に対応する。すなわち、制御部は、アドレス割り当てが、イネーブル又はディセーブルされているかを判断するべく、第１設定状態を読み出してもよい。第１設定状態１２０は、取りうる２つの値を有する。第１の値は、アドレス割り当てがモジュール１０２に対してイネーブルされたことを示すイネーブル通知に対応する。第２の値は、アドレス割り当てがモジュール１０２に対してディセーブルされたことを示すディセーブル通知に対応する。
【００１６】
第２設定ポートＥｎ＿Ｏｕｔは、第２モジュールについて、アドレス割り当てがイネーブルされているかディセーブルされているかを示す出力を提供する。制御部１１２は、出力を、第２設定ポートＥｎ＿Ｏｕｔに供給する。第１設定ポートＥｎ＿Ｉｎと同様に、論理値１がアドレス割り当てがイネーブルされていることに対応していてもよく、論理値０が、アドレス割り当てがディセーブルされていることに対応してもよい。第２設定状態１２２は、第２設定ポートＥｎ＿Ｏｕｔに値が供給されることに対応していてもよい。すなわち、制御部１１２は、第２モジュールにおけるアドレス割り当てがイネーブル又はディセーブルされたことを示すべく、第２設定状態を設定してもよい。第２設定状態１２２は、取りうる２つの値を有する。第１の値は、アドレス割り当てが第２モジュールに対してイネーブルされたことを示すイネーブル通知に対応する。第２の値は、アドレス割り当てが第２モジュールに対してディセーブルされたことを示すディセーブル通知に対応する。
【００１７】
第１設定ポートＥｎ＿Ｉｎで受信されるモジュール１０２に対する入力は、別のモジュールによって提供されてもよいし、ＣＭＵ１０４によって提供されてもよい。例えば、ＣＭＵ１０４は、モジュール１の第１設定ポートＥｎ＿Ｉｎに信号を供給して、モジュール１に対するアドレス割り当てをイネーブル又はディセーブルしてもよい。ＣＭＵは、この信号を供給するのに、バス１０６を利用しなくてもよい。この信号を供給するために、ＣＭＵは、モジュール１の第１設定ポートＥｎ＿Ｉｎと接続されていてもよい。そして、モジュール１の制御部１１２は、モジュール１の第１設定状態１２０を判断する、すなわち、モジュール１に対してアドレス割り当てがイネーブル又はディセーブルされているかを判断するために、モジュール１のポートＥｎ＿Ｉｎを読み出してもよい。アドレスがイネーブルされている場合には、モジュール１は、本明細書に記載されるように、バス１０６を介して、ＣＭＵ１０４から固有アドレスを受信して格納してもよい。
【００１８】
モジュール１の制御部１１２は、モジュール２についてアドレス割り当てがイネーブル又はディセーブルされているかを示す、第２設定状態１２２を、モジュール１の第２設定ポートＥｎ＿Ｏｕｔに提供してもよい。この例において、モジュール１の第２設定ポートＥｎ＿Ｏｕｔは、モジュール２の第１設定ポートＥｎ＿Ｉｎに接続される。モジュール２の制御部１１２は、モジュール２の第１設定ポートＥｎ＿Ｉｎを読み出して、モジュール２についてアドレス割り当てがイネーブルされているか又はディセーブルされているかを判断してもよい。モジュール２に対してアドレス割り当てがイネーブルされている場合には、モジュール２は、本明細書に記載されるように、バス１０６を介してＣＭＵ１０４から固有アドレスを受信して格納する。
【００１９】
このように、モジュール１０２はそれぞれ、バス１０６を介して、ＣＭＵ及びモジュール１０２と互いに通信を行う。各モジュール１０２は、少なくとも１つの別のモジュールと更に接続される。モジュール同士の接続は、モジュールにおけるアドレス割り当てをイネーブル又はディセーブルするように構成される。ここで使用される"第１モジュール"及び"第２モジュール"という言葉は、第１モジュールの第２設定ポートが、第２モジュールの第１設定ポートに接続されている状態にある、あらゆる２つのモジュールに対応する。固有アドレスが、バス１０６を介して、ＣＭＵ１０４からモジュール１０２に提供されてもよい。
【００２０】
図２は、本開示に係る複数のモジュールにアドレスを割り当てるオペレーションの一例を示したフローチャート２００である。例えば、アドレスは、１６進数の０００からＦＦＦまでの間のいかなる値を有してもよい。プログラムのフローは、初期化２０５から開始してもよい。初期化２０５において、複数のモジュールは互いに接続されており、また、図１に示すように、バス１０６及びＣＭＵ１０４とも接続されていると仮定している。また、各モジュール１０２が、初期規定値アドレス１１４を有すると仮定している。モジュール１０２はそれぞれ、初期化段階において、アドレス割り当てがディセーブルされた状態に設定される。例えば、ＣＭＵ１０４は、第２モジュールアドレス割り当てをディセーブルするコマンドを使用して、メッセージを初期規定値アドレスに送信して、モジュール１の第１設定ポートＥｎ＿Ｉｎにアドレス割り当てディセーブル信号を供給してもよい。そして、完了オペレーション２０５において、各モジュール１０２について、第１設定状態１２０がゼロになり（すなわち、ディセーブルされる）、第２設定状態１２２がゼロ（すなわち、ディセーブルされる）となる。
【００２１】
オペレーション２１０は、第１モジュール、モジュール１に対してアドレス割り当てをイネーブルすることを含んでもよい。例えば、ＣＭＵ１０４は、モジュール１の第１設定状態１２０に、イネーブルした状態に対応する値、例えば、１を設定することにより、モジュール１に対してアドレス割り当てをイネーブルしてもよい。例えば、ＣＭＵ１０４は、アドレス割り当てをイネーブルしたことを示す信号を、モジュール１の第１設定ポートＥｎ＿Ｉｎに供給してもよい。
【００２２】
オペレーション２１５において、アドレス割り当てがイネーブルされたモジュールが存在するかが判断される。例えば、ＣＭＵ１０４は、全てのモジュールにメッセージをブロードキャストして、第１設定状態１２０がイネーブルされているモジュールからの応答を要求してもよい。初期状態において、各モジュール１０２のアドレスは、初期アドレス１１４となっている。メッセージは、初期アドレスを有するモジュールに送信されてもよいし、当業者に明らかなように、全モジュールに対応するアドレスを使用して、全てのモジュールにメッセージをブロードキャストしてもよい。アドレス割り当てがイネーブルされたモジュールが存在する場合には、オペレーション２２０において、初期（デフォルト）アドレスを有しアドレス割り当てがイネーブルされたモジュールに、新しい（固有）アドレスが格納されてもよい。例えば、モジュール１は、ＣＭＵ１０４によってモジュール１についてアドレス割り当てがイネーブルされたことに少なくとも一部基づく固有アドレスが割り当てられた第１モジュールであってもよい。
【００２３】
オペレーション２２５では、オペレーション２２０において、新たなアドレスが割り当てられたモジュールについてアドレス割り当てをディセーブルしてもよい。例えば、モジュール１に対して、ＣＭＵ１０４は、第１設定状態１２０をディセーブルに設定してもよい。すなわち、ＣＭＵ１０４は、モジュール１のアドレス割り当てがディセーブルされたことを示す信号を、モジュール１の第１設定ポートＥｎ＿Ｉｎに供給してもよい。
【００２４】
オペレーション２３０において、第２モジュール、例えば、モジュール２について、アドレス割り当てをイネーブルしてもよい。例えば、ＣＭＵ１０４は、オペレーション２２０において新たなアドレスが割り当てられたモジュール（第１モジュール、例えば、モジュール１）にメッセージを供給して、そのモジュールの第２設定状態をイネーブルされた状態に変更してもよい。すなわち、ＣＭＵ１０４は、新たなアドレスを有するモジュール（第１モジュール）の制御部１１２にメッセージを供給して、第２設定状態の値をイネーブルに設定してもよい。第２設定状態は、第１モジュールの第２設定ポートにおける出力に対応する。第２モジュールの第１設定ポートＥｎ＿Ｉｎが、（オペレーション２２０において新たな固有アドレスが割り当てられた）第１モジュールの第２設定ポートＥｎ＿Ｏｕｔに接続されると、第２モジュールの第１設定ポートＥｎ＿Ｉｎは、この値を受信する。その結果、第２モジュールにおいて、アドレス割り当てがイネーブルされる。
【００２５】
そして、プログラムフローは、再びオペレーション２１５に進み、アドレス割り当てがイネーブルされたモジュール１０２が存在するかが判断される。バス１０６を介してＣＭＵ１０４接続されたモジュールのそれぞれに、固有アドレスが割り当てられるまで、オペレーション２１５、２２０、２２５及び２３０を繰り返してもよい。
【００２６】
例えば、図１及び図２に示したアドレス割り当てを、次のように進めてもよい。まず初めに、モジュール１０２それぞれについてアドレス割り当てをディセーブルし、モジュール１０２それぞれと関連付けられた識別子を、初期アドレス１１４としてもよい。ＣＭＵ１０４は、アドレス割り当てをイネーブルすることを表す信号を、モジュール１の第１設定ポートＥｎ＿Ｉｎに供給することにより、モジュールに１についてアドレス割り当てをイネーブルしてもよい。そして、ＣＭＵは、新たな固有アドレスを、モジュール１の制御部１１２に供給して、制御部１１２は、例えば、ＣＭＵ１０４からのメッセージに応答して、メモリ１１６に新たな固有アドレス１１８を格納してよい。制御部１１２は、新たなアドレスを、モジュール１の識別子として認識するように構成されていてもよい。ＣＭＵ１０４は、例えば、新たなアドレスを有するモジュール、すなわち、モジュール１に向けたメッセージを送信することにより、モジュール１ついてアドレス割り当てをディセーブルしてもよい。そして、ＣＭＵは、第２モジュールについてのアドレス割り当てをイネーブルするべく、モジュール１にメッセージを送信する。モジュール１は、例えば、ＣＭＵ１０４からのメッセージに基づいて、モジュール２に対するアドレス割り当てをイネーブルする。メッセージに応答して、モジュール１の制御部１１２は、モジュール１の第２設定状態をイネーブルに変更してもよく、その結果、モジュール１の第２設定ポートＥｎ＿Ｏｕｔがイネーブルされていることを示す値が設定され、モジュール２の第１設定ポートＥｎ＿Ｉｎがイネーブルされていることを示す値が設定される。そして、ＣＭＵは、モジュール２の制御部１１２に、新たな固有アドレスを供給してもよい。モジュール２の制御部１１２は、モジュール２の第１設定状態に対応するモジュール２の第１設定ポートＥｎ＿Ｉｎにおけるイネーブルを示す値に少なくとも一部基づいて、メモリ１１６に新たなアドレス１１８を格納してもよい。制御部１１２は、新たなアドレスを、モジュール２に対する識別子として認識するように設定されてもよい。そして、ＣＭＵ１０４は、例えば、モジュール１の固有アドレスを使用してモジュール１にメッセージを送信することによって、モジュール２についてアドレス割り当てをディセーブルしてもよく、モジュール１の第２設定状態をディセーブルにする。バス１０６を介してＣＭＵに接続されたモジュールのそれぞれに新たなアドレスが割り当てられるまで、このプロセスを繰り返してもよい。このようにして、本明細書に記載するように、新たな固有アドレスを、バス及び少なくとも１つの別のモジュールに接続された複数のモジュールに割り当ててもよい。
【００２７】
図２に戻り、バス１０６及びＣＭＵ１０４に初期状態で接続されているモジュールのそれぞれに新たな固有アドレスが割り当てられた後、オペレーション２５０において、更なる別の新しいモジュールがバス１０６に接続されたか否かが判断される。新たなモジュールが検出された場合には、オペレーション２２５においてアドレスが新たなモジュールに割り当てられてもよい。例えば、新たなモジュールは、バス１０６及びモジュールｎと接続されていてもよい。モジュールｎは、オペレーション２１５、２２０、２２５及び２３０の間に、アドレスが割り当てられる最後のモジュールとして理解されてもよい。すなわち、モジュールｎの第２設定ポートＥｎ＿Ｏｕｔは、新しいモジュールの第１設定ポートＥｎ＿Ｉｎに接続されてもよい。モジュールｎのアドレスは、ＣＭＵ１０４に知られており、新しいモジュールのアドレスは初期アドレスであってもよい。そして、ＣＭＵは、メッセージをモジュールｎに送信し、別のモジュールについてアドレス割り当てをイネーブルしてもよい。モジュールｎは、例えば、ＣＭＵ１０４からのメッセージに基づいて、新たなモジュールにおけるアドレス割り当てをイネーブルしてもよい。ＣＭＵ１０４は、メッセージを、初期アドレスを有する新たなモジュールに供給し、アドレス割り当てをイネーブルして、新しいアドレスを格納してもよい。そして、新たなモジュールは、ＣＭＵ１０４及びモジュールｎの第２設定状態に対応する新たなモジュールの第１設定状態に少なくとも一部基づいて、新しいアドレスを格納してもよい。プログラムフローは、オペレーション２５０に戻り、別の新たなモジュールがバス１０６に接続されたか否かを判断する。
【００２８】
好ましくは、それぞれ初期アドレスを有する一般的なモジュールが製造される。各モジュールに固有アドレスが割り当てられる前に、これらのモジュールが、バスを介して、ＣＭＵ及び互いに接続されてもよい。そして、固有アドレスを、モジュールそれぞれに割り当ててもよい。その後、新たなモジュールが、バス及び別のモジュールに接続されてもよい。そして、固有アドレスが新たなモジュールそれぞれにも割り当てられて、"ホットスワップ"可能なモジュールを提供することができる。
【００２９】
図２には、幾つかの実施形態に係るオペレーションの例が示されているが、別の実施形態では、図２に示されたオペレーションの全てが必ずしも必要ではない。本明細書では、本開示のその他の実施形態は、図２に示されたオペレーションのサブコンビネーション及び／又は更なるオペレーションを含むことも考えられている。したがって、１つの図面に示されていないオペレーション及び／又は特徴を対象とする請求項も、本開示の範囲及び内容に含まれる。
【００３０】
メモリ１１６は、半導体ファームウェアメモリ、プログラム可能メモリ、不揮発性メモリ、リードオンリーメモリ、電気的プログラム可能メモリ、ランダムアクセスメモリ、フラッシュメモリ、磁気ディスクメモリ、及び／又は光ディスクのようなメモリを１以上含んでもよい。さらに又はこれに替えて、メモリ１１６は、別の及び／又は後に開発された種類のコンピュータ可読メモリを含んでもよい。
【００３１】
本明細書に記載される方法の実施形態は、プロセス及び／又はその他のプログラム可能デバイスを使用して実装されてもよい。この点において、本明細書に記載された方法は、１以上のプロセッサによって実行されると方法を実行する命令が格納される有形コンピュータ読み出し可能媒体に上に実装されてもよい。記憶媒体としては、あらゆる種類の有形媒体を含んでもよく、フロッピー（登録商標）ディスク、光ディスク、コンパクトディスク・リードオンリーメモリ（ＣＤ−ＲＯＭ）、書き換え可能コンパクトディスク（ＣＤ−ＲＷ）、光磁気ディスクのようなあらゆる種類のディスク、リードオンリーメモリ（ＲＯＭ）、ダイナミックＲＡＭ及びスタティックＲＡＭのようなランダムアクセスメモリ（ＲＡＭ）、消去可能プログラム可能リードオンリーメモリ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリを含む半導体デバイス、磁気カード又は光学カード、その他電気的命令を格納するのに好適なあらゆる種類の媒体を含む。
【００３２】
特に記載がない限り、上述の説明から明らかなように、明細書全体に渡って使用されている"オペレーション"、"処理"、"コンピューティング"、"計算"、"判断"等の言葉は、コンピュータ又はコンピューティングシステムの動作及び／又は処理を意味している、又は、そのコンピューティングシステムのレジスタ及び／又はメモリ内の物理的な量、例えば、電子的な量、で表されるデータを、そのコンピューティングシステムのレジスタメモリ、レジスタ又は情報伝送、ディスプレイ装置のようなその他の情報記憶装置内に存在する物理量で表される他の同様なデータへと、操作する及び／又は変換することを意味する。
【００３３】
また、本明細書の実施形態で使用されている"回路"という言葉は、例えば、有線接続された回路、ブログラム可能回路、状態機械回路、及び／又はプログラム可能回路によって実行される命令を格納するファームウェア単体又はこれらの組み合わせを含んでもよい。
【００３４】
本明細書で使用された言葉及び表現は、限定するためでなく説明するために使用された言葉であり、このような言葉及び表現の使用において、示された及び説明された特徴（又は、その一部）の均等物を除外することを意図しておらず、特許請求の範囲内において様々な改良が可能であることは明らかである。したがって、特許請求の範囲は、これら均等物の全てを網羅することを意図していない。
【図１】
0005458312.tif 000002
【図２】
0005458312.tif 000003