(57)【要約】本発明にかかる半導体装置（１）は、複数のバス（Ｂ１〜Ｂｍ）と、複数のバス（Ｂ１〜Ｂｍ）に接続され、複数のバス（Ｂ１〜Ｂｍ）の何れかを介して、外部に設けられた複数のモジュール（Ｍ１〜Ｍｎ）のそれぞれから駆動電圧の情報を含む通信規格の情報を取得する制御部（１０）と、制御部（１０）により取得された複数のモジュール（Ｍ１〜Ｍｎ）のそれぞれの通信規格の情報に基づいて、複数のモジュール（Ｍ１〜Ｍｎ）と複数のバス（Ｂ１〜Ｂｍ）との間の接続を設定するスイッチ回路（１３）と、を備える。
2016075727.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスと、
前記複数のバスに接続され、当該複数のバスの何れかを介して、外部に設けられた複数のモジュールのそれぞれから駆動電圧の情報を含む通信規格の情報を取得する制御部と、
前記制御部により取得された前記複数のモジュールのそれぞれの前記通信規格の情報に基づいて、当該複数のモジュールと前記複数のバスとの間の接続を設定するスイッチ回路と、
を備えた半導体装置。
【請求項２】
前記複数のモジュールに対してそれぞれの前記通信規格に応じたレベルの駆動電圧を供給するとともに、前記制御部と前記複数のモジュールとの間を伝搬する信号のレベル変換を行う、レベル変換回路をさらに備えた請求項１に記載の半導体装置。
【請求項３】
前記スイッチ回路は、前記複数のモジュールのうち通信速度が同じかつ駆動電圧が同じ複数のモジュールを前記複数のバスのうちの同一のバスに接続する、請求項１に記載の半導体装置。
【請求項４】
前記制御部は、
前記複数のモジュールのそれぞれの前記通信規格の情報を格納するレジスタを有し、
前記スイッチ回路は、前記レジスタに格納された値に基づいて、前記複数のモジュールと前記複数のバスとの接続を設定する、請求項１に記載の半導体装置。
【請求項５】
前記レジスタは、
前記複数のモジュールのそれぞれの前記通信規格の情報に基づいて生成された前記複数のバスのそれぞれに対して割り当てられる通信規格の情報と、
通信規格が一致するバスとモジュールとの間を接続する接続情報と、をさらに格納し、
前記スイッチ回路は、前記レジスタに格納された前記接続情報に基づいて、前記複数のモジュールと前記複数のバスとの接続を設定する、請求項４に記載の半導体装置。
【請求項６】
前記複数のバス夫々における通信時間を測定する測定回路をさらに備え、
前記制御部は、前記スイッチ回路を用いて、所定周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数の前記モジュールの何れかを、他のバスに切り替えて接続させる、請求項１に記載の半導体装置。
【請求項７】
前記制御部は、前記スイッチ回路を用いて、所定周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数の前記モジュールの何れかを、どのモジュールにも接続されていない他のバスに切り替えて接続させる、請求項６に記載の半導体装置。
【請求項８】
前記制御部は、前記スイッチ回路を用いて、所定周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数の前記モジュールの何れかを、通信速度が遅くかつ駆動電圧が同じモジュールが接続された他のバスに切り替えて接続させる、請求項６に記載の半導体装置。
【請求項９】
前記制御部は、前記スイッチ回路を用いて、前記複数のバス夫々に接続されるモジュールの数が所定数以下となるように前記複数のモジュールと前記複数のバスとの接続を設定させる、請求項１に記載の半導体装置。
【請求項１０】
前記制御部は、前記スイッチ回路を用いて、前記複数のバス夫々に接続される複数のモジュールのＩＤが何れも異なるように前記複数のモジュールと前記複数のバスとの接続を設定させる、請求項１に記載の半導体装置。
【請求項１１】
請求項１に記載の半導体装置と、
前記制御部からの要求に対して前記通信規格の情報を返信する前記複数のモジュールと、
を備えた半導体システム。
【請求項１２】
外部に設けられた複数のモジュールのそれぞれから駆動電圧の情報を含む通信規格の情報を取得し、
前記複数のモジュールのそれぞれの通信規格に基づいて、当該複数のモジュールと複数のバスとの接続を設定し、
前記複数のモジュールと前記複数のバスを介してデータ通信を行う、半導体装置の制御方法。
【請求項１３】
前記複数のモジュールに対してそれぞれの前記通信規格に応じたレベルの駆動電圧を供給し、
前記複数のモジュールから受信する信号及び前記複数のモジュールに送信する信号のレベル変換を行いながら、前記複数のモジュールと前記複数のバスを介してデータ通信を行う、請求項１２に記載の半導体装置の制御方法。
【請求項１４】
前記複数のモジュールのうち通信速度が同じかつ駆動電圧が同じ複数のモジュールを前記複数のバスのうちの同一のバスに接続する、請求項１２に記載の半導体装置の制御方法。
【請求項１５】
所定周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数の前記モジュールの何れかを、他のバスに切り替えて接続する、請求項１２に記載の半導体装置の制御方法。
【請求項１６】
所定周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数の前記モジュールの何れかを、どのモジュールにも接続されていない他のバスに切り替えて接続する、請求項１５に記載の半導体装置の制御方法。
【請求項１７】
所定周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数の前記モジュールの何れかを、通信速度が遅くかつ駆動電圧が同じモジュールが接続された他のバスに切り替えて接続する、請求項１５に記載の半導体装置の制御方法。
【請求項１８】
前記複数のバス夫々において所定周期当たりの通信時間の合計が規定時間以下となるように前記複数のモジュールと前記複数のバスとの接続を設定する、請求項１２に記載の半導体装置の制御方法。
【請求項１９】
前記複数のバス夫々に接続されるモジュールの数が所定数以下となるように前記複数のモジュールと前記複数のバスとの接続を設定する、請求項１２に記載の半導体装置の制御方法。
【請求項２０】
前記複数のバス夫々に接続される複数のモジュールのＩＤが何れも異なるように前記複数のモジュールと前記複数のバスとの接続を設定する、請求項１２に記載の半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びその制御方法に関し、例えば設計の自由度を向上させるのに適した半導体装置及びその制御方法に関する。
【背景技術】
【０００２】
コントローラとモジュールとの間のデータ通信には、Ｉ２Ｃ（Inter-Integrated Circuit）の通信方式が広く用いられている。Ｉ２Ｃ通信では、コントローラと複数のモジュールとが共通バスを介して接続できるため、信号配線数の低減が可能である。【０００３】
モジュールは、例えば、センサや液晶ディスプレイ等である。ここで、モジュールには、通信速度及び駆動電圧（供給電圧）の異なるものが存在する。コントローラは、通信規格で規定され、通信対象モジュールがサポートする駆動電圧を供給するとともに、そのモジュールがサポートする通信速度及び駆動電圧（信号振幅）にて通信を行う必要がある。【０００４】
特許文献１に、プログラマブルコントローラと、拡張バス及びＩ２Ｃバスに共通接続された動作速度の異なる２つ以上のモジュールと、を備えたプログラマブルコントローラシステムが開示されている。プログラマブルコントローラは、対象モジュールとデータ通信を行う場合、Ｉ２Ｃバス上に対象モジュールのＩＤを送る。対象モジュールは、送られたＩＤが自己モジュールを示すとき、拡張バスを介して、プログラマブルコントローラとデータ通信を行う。プログラマブルコントローラは、対象モジュールのＩＤに対応するバスサイクルで、当該対象モジュールとデータ通信を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−３０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された構成では、コントローラと、駆動電圧の異なる複数のモジュールと、の間のデータ通信については考慮されていない。そのため、特許文献１に開示された構成では、コントローラと駆動電圧の異なる複数のモジュールとを同時に接続した状態でデータ通信を行うことができない。このように、特許文献１に開示された構成では、設計の自由度を向上させることができない、という問題があった。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によれば、複数のバスと、前記複数のバスに接続され、当該複数のバスの何れかを介して、外部に設けられた複数のモジュールのそれぞれから駆動電圧の情報を含む通信規格の情報を取得する制御部と、前記制御部により取得された前記複数のモジュールのそれぞれの前記通信規格の情報に基づいて、当該複数のモジュールと前記複数のバスとの間の接続を設定するスイッチ回路と、を備える。【０００８】
また、他の実施の形態によれば、半導体装置の制御方法は、外部に設けられた複数のモジュールのそれぞれから駆動電圧の情報を含む通信規格の情報を取得し、前記複数のモジュールのそれぞれの通信規格に基づいて、当該複数のモジュールと複数のバスとの接続を設定し、前記複数のモジュールと前記複数のバスを介してデータ通信を行う。【０００９】
上述のような回路構成により、設計の自由度を向上させることができる。
【発明の効果】
【００１０】
前記一実施の形態によれば、設計の自由度を向上させることが可能な半導体装置及びその制御方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかる半導体装置を備えた半導体システムの構成を示すブロック図である。
【図２】図１に示す半導体装置に設けられたレジスタの構成例を示す図である。
【図３】図１に示す半導体装置に設けられたスイッチ回路を示す概略図である。
【図４】図１に示す半導体装置に設けられたレベル変換回路の一部の具体的構成を示す回路図である。
【図５】図１に示す半導体装置に設けられた規格検知回路の具体的構成を示す図である。
【図６】図１に示す半導体装置の接続設定動作を示すフローチャートである。
【図７】図１に示す半導体装置の接続設定動作中にレジスタに格納されている値を示す図である。
【図８】図１に示す半導体装置の接続設定動作中にレジスタに格納されている値を示す図である。
【図９】図１に示す半導体装置の接続設定動作中にレジスタに格納されている値を示す図である。
【図１０】図１に示す半導体装置の接続設定動作中にレジスタに格納されている値を示す図である。
【図１１】図１に示す半導体装置の接続設定動作中にレジスタに格納されている値を示す図である。
【図１２】図１に示す半導体装置の接続設定動作中にレジスタに格納されている値を示す図である。
【図１３】実施の形態２にかかる半導体装置を備えた半導体システムの構成を示すブロック図である。
【図１４】図１３に示す半導体装置の接続設定動作を示すフローチャートである。
【図１５】実施の形態３にかかる半導体装置を備えた半導体システムの構成を示すブロック図である。
【図１６】図１５に示す半導体装置の接続設定動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【００１３】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１４】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１５】
＜実施の形態１＞
図１は、実施の形態１にかかる半導体装置１を備えた半導体システムＳＹＳ１の構成を示すブロック図である。本実施の形態にかかる半導体装置１は、外部に設けられた複数のモジュールのそれぞれから駆動電圧の情報を含む通信規格の情報を取得して、複数のモジュールのそれぞれの通信規格に基づいて複数のモジュールと複数のバスとの接続を設定した後、複数のバスを介して複数のモジュールとデータ通信を行う。本実施の形態にかかる半導体装置１は、通信速度の異なる複数のモジュールのみならず、駆動電圧の異なる複数のモジュールを同時に制御回路に接続することができるため、一つの制御回路で駆動電圧や通信速度の異なる複数のモジュールを同時に制御することが可能になる。即ち、設計の自由度を向上させることができる。以下、具体的に説明する。
【００１６】
図１に示すように、半導体システムＳＹＳ１は、半導体装置１と、モジュールＭ１〜Ｍｎ（ｎは２以上の整数）と、を備える。
【００１７】
半導体装置１は、一つ又は複数のチップからなり、複数のバスＢ１〜Ｂｍ（ｍは２以上の整数）と、制御回路１１と、レベル変換回路１２と、スイッチ回路１３と、規格検知回路１４と、バス接続制御回路１５と、レジスタ１６と、を備える。なお、制御回路１１と、バス接続制御回路１５と、レジスタ１６と、により制御部（コントローラ）１０が構成される。制御部１０は、例えば、マイコンである。
【００１８】
制御回路１１とスイッチ回路１３とは、レベル変換回路１２を介して、バスＢ１〜Ｂｍにより接続されている。スイッチ回路１３は、コネクタＴ１〜Ｔｎを介して、モジュールＭ１〜Ｍｎに接続されている。
【００１９】
（制御回路１１）
制御回路１１は、複数のバスＢ１〜Ｂｍを介して、モジュールＭ１〜Ｍｎとデータ通信を行う回路である。なお、制御回路１１は、各モジュールの通信速度と同じ通信速度で通信する機能を有する。本実施の形態では、制御回路１１とモジュールＭ１〜Ｍｎとのデータ通信方式として、Ｉ２Ｃ方式が採用されている場合を例に説明する。したがって、各バスＢ１〜Ｂｍは、少なくとも電源線、接地線、クロックの信号線ＳＣＬ及びデータの信号線ＳＤＡにより構成されている。
【００２０】
また、制御回路１１は、通常動作前に、モジュールＭ１〜Ｍｎのそれぞれから駆動電圧の情報を含む通信規格の情報を直接又は規格検知回路１４を介して取得して、バス接続制御回路１５に出力する。制御回路１１による各モジュールの通信規格の情報の取得方法については、後述する。
【００２１】
（バス接続制御回路１５及びレジスタ１６）
バス接続制御回路１５は、制御回路１１の指示に基づいて、レジスタ１６の値を書き換える。
【００２２】
例えば、各モジュールＭ１〜Ｍｎの通信規格情報の取得時、バス接続制御回路１５は、スイッチ回路１３を用いてモジュールＭ１〜Ｍｎを一つずつ順番にバスＢ１に接続させるようにレジスタ１６の値を書き換える。また、このとき、バス接続制御回路１５は、バスＢ１に割り当てる電圧及び通信速度の情報もレジスタ１６に書き込む。そして、モジュールＭ１〜Ｍｎの通信規格の情報を一つ取得するたびに、バス接続制御回路１５は、その通信規格の情報をレジスタ１６に書き込む。全てのモジュールＭ１〜Ｍｎの通信規格情報の取得後、バス接続制御回路１５は、それらの通信規格の情報に基づいて、各バスＢ１〜Ｂｍに割り当てる通信規格の情報、及び、バスＢ１〜ＢｍとモジュールＭ１〜Ｍｎとの接続情報（各スイッチＳＷ（後述）のオン／オフ情報）、を書き換える。
【００２３】
図２は、レジスタ１６の構成例を示す図である。
図２に示すように、レジスタ１６には、行列状に複数の記憶領域が配置されている。
【００２４】
レジスタ１６の１〜ｍ行目×１〜ｎ列目の記憶領域には、バスＢ１〜ＢｍとモジュールＭ１〜Ｍｎとの間にマトリックス状に設けられた複数のスイッチＳＷ（後述）のオン／オフの情報が格納されている。図２の例において、ＳＷ［ｊ］［ｋ］（ｊは１〜ｍの自然数、ｋは１〜ｎの自然数）は、バスＢｊとモジュールＭｋとの間に設けられたスイッチＳＷの情報を表している。なお、本例では、ＳＷ［ｊ］［ｋ］の値が０の場合、バスＢｊとモジュールＭｋとの間のスイッチＳＷはオフし、ＳＷ［ｊ］［ｋ］の値が１の場合、バスＢｊとモジュールＭｋとの間のスイッチＳＷはオンする。
【００２５】
レジスタ１６のｍ＋１〜ｍ＋３行目の記憶領域には、モジュールＭ１〜Ｍｎの通信規格情報が格納されている。
【００２６】
具体的には、ｍ＋１行目の記憶領域には、モジュールＭ１〜Ｍｎの駆動電圧の情報が格納されている。図２の例において、ＶＯＬＭ［ｋ］は、モジュールＭｋの駆動電圧の情報を表している。なお、本例では、ＶＯＬＭ［ｋ］の値が１の場合、モジュールＭｋの駆動電圧が３．３Ｖであることを示し、ＶＯＬＭ［ｋ］の値が２の場合、モジュールＭｋの駆動電圧が５Ｖであることを示している。
【００２７】
ｍ＋２行目の記憶領域には、モジュールＭ１〜Ｍｎの通信速度の情報が格納されている。図２の例において、ＢＰＳＭ［ｋ］は、モジュールＭｋの通信速度の情報を表している。なお、本例では、ＢＰＳＭ［ｋ］の値が１の場合、モジュールＭｋの通信速度が１００ｋｂｐｓであることを示し、ＢＰＳＭ［ｋ］の値が２の場合、モジュールＭｋの通信速度が４００ｋｂｐｓであることを示している。
【００２８】
ｍ＋３行目の記憶領域には、モジュールＭ１〜ＭｎのモジュールＩＤの情報が格納されている。図２の例において、ＩＤ［ｋ］は、モジュールＭｋのモジュールＩＤの情報を表している。
【００２９】
レジスタ１６のｎ＋１〜ｎ＋２列目の記憶領域には、バスＢ１〜Ｂｍに対して割り当てられる通信規格の情報が格納されている。
【００３０】
具体的には、ｎ＋１列目の記憶領域には、バスＢ１〜Ｂｍに割り当てられる駆動電圧の情報が格納されている。図２の例において、ＶＯＬＢ［ｊ］は、バスＢｊに割り当てられる駆動電圧の情報を表している。なお、本例では、ＶＯＬＢ［ｊ］の値が１の場合、バスＢｊに割り当てられる駆動電圧が３．３Ｖであることを示し、ＶＯＬＢ［ｊ］の値が２の場合、バスＢｊに割り当てられる駆動電圧が５Ｖであることを示している。
【００３１】
ｎ＋２列目の記憶領域には、バスＢ１〜Ｂｍに割り当てられる通信速度の情報が格納されている。図２の例において、ＢＰＳＢ［ｋ］は、バスＢｊに割り当てられる通信速度の情報を表している。なお、本例では、ＢＰＳＢ［ｋ］の値が１の場合、バスＢｊに割り当てられる通信速度が１００ｋｂｐｓであることを示し、バスＢｊに割り当てられる通信速度が４００ｋｂｐｓであることを示している。
【００３２】
（スイッチ回路１３）
スイッチ回路１３は、レジスタ１６の値に基づいて、バスＢ１〜ＢｍとモジュールＭ１〜Ｍｎとの間の接続を設定する。例えば、各モジュールＭ１〜Ｍｎの通信規格情報の取得時、スイッチ回路１３は、上述の通り、モジュールＭ１〜Ｍｎを一つずつ順番にバスＢ１に接続する。他方、各モジュールＭ１〜Ｍｎの通信規格情報の取得後、スイッチ回路１３は、レジスタ１６に格納されたバスＢ１〜ＢｍとモジュールＭ１〜Ｍｎとの接続情報に基づいて、通信規格が同じ複数のモジュールを同一のバスに接続する。具体的には、スイッチ回路１３は、通信速度が同じかつ駆動電圧が同じ複数のモジュールを同一のバスに接続する。
【００３３】
図３は、スイッチ回路１３を示す概略図である。
図３に示すように、スイッチ回路１３は、バスＢ１〜ＢｍとモジュールＭ１〜Ｍｎとの間にマトリックス状に設けられた複数のスイッチＳＷを備える。各スイッチＳＷは、例えば、ＰチャネルＭＯＳトランジスタであって、レジスタ１６の値に基づいてオンオフ制御される。本例では、スイッチＳＷの個数は、（ｍ×ｎ×３）個（＝バス数ｍ×モジュール数ｎ×通信線数（ここでは電源線、信号線ＳＣＬ及び信号線ＳＤＡの３本））である。
【００３４】
スイッチ回路１３は、図２に示すレジスタ１６の１〜ｍ行目×１〜ｎ列目の記憶領域に格納された各スイッチＳＷのオン／オフの情報（ＳＷ［ｊ］［ｋ］）に基づいて、バスＢ１〜ＢｍとモジュールＭ１〜Ｍｎとの間の接続を設定する。それにより、通信規格が同じ複数のモジュールが同一のバスに接続される。
【００３５】
（レベル変換回路１２）
レベル変換回路１２は、モジュールＭ１〜Ｍｎに対して、レジスタ１６の値に応じたレベルの駆動電圧を供給する。例えば、各モジュールＭ１〜Ｍｎの通信規格情報の取得時、レベル変換回路１２は、レジスタ１６に格納されたバスＢ１に割り当てる電圧の情報を基に、バスＢ１を介してモジュールＭ１〜Ｍｎの一つに対して、モジュールＭ１〜Ｍｎが単体で動作可能な最小電圧を駆動電圧として供給する。本例では、レベル変換回路１２は、バスＢ１を介してモジュールＭ１〜Ｍｎの一つに対して、複数の電源電圧のうち最も低い３．３Ｖの電源電圧（ＶＤＤ１）を駆動電圧として供給する。他方、各モジュールＭ１〜Ｍｎの通信規格情報の取得後、レベル変換回路１２は、レジスタ１６に格納された各バスＢ１〜Ｂｍに割り当てる電圧の情報を基に、バスＢ１〜Ｂｍの一つに夫々接続されたモジュールＭ１〜Ｍｎに対して、夫々の通信規格に応じたレベルの駆動電圧を供給する。
【００３６】
また、レベル変換回路１２は、制御回路１１とモジュールＭ１〜Ｍｎとの間を伝搬する信号のレベル変換を行う。
【００３７】
図４は、レベル変換回路１２の一部の具体的構成を示す回路図である。
図４には、一例として、バスＢ１を構成する通信線の一つである信号線ＳＤＡに対して設けられたレベル変換回路１２の一部が示されている。なお、バスＢ１を構成する他の通信線（信号線ＳＣＬ及び電源線）、及び、他の各バスＢ２〜Ｂｎを構成する通信線（信号線ＳＤＡ、信号線ＳＣＬ及び電源線）にも同様の構成が適用される。
【００３８】
図４に示すように、レベル変換回路１２は、バスＢ１の信号線ＳＤＡに対して、抵抗素子Ｒ１，Ｒ２と、ＮチャネルＭＯＳトランジスタ（以下、単にトランジスタと称す）ＭＮ１と、ＰチャネルＭＯＳトランジスタ（以下、単にトランジスタと称す）ＭＰ１，ＭＰ２と、インバータＩＮＶ１と、を備える。トランジスタＭＰ１，ＭＰ２のドレインと抵抗素子Ｒ１との間にはノードＮ１が設けられている。
【００３９】
トランジスタＭＮ１は、バスＢ１の信号線ＳＤＡ上に設けられている。以下、トランジスタＭＮ１と制御回路１１との間の信号線ＳＤＡを、制御回路１１側の信号線ＳＤＡと称し、トランジスタＭＮ１とスイッチ回路１３との間の信号線ＳＤＡを、スイッチ回路１３側の信号線ＳＤＡと称す。トランジスタＭＮ１のゲートには、制御回路１１に電源電圧ＶＤＤ０を供給している電源（以下、電源ＶＤＤ０と称す）、モジュールＭ１〜Ｍｎに駆動電圧ＶＤＤ１を供給可能な電源（以下、電源ＶＤＤ１と称す）、及び、モジュールＭ１〜Ｍｎに駆動電圧ＶＤＤ２を供給可能な電源（以下、電源ＶＤＤ２と称す）のうち、最も低い電圧（以下、電圧ＶＤＤｍｉｎと称す）の電源が接続されている。図４では、ＶＤＤｍｉｎ＝ＶＤＤ０である場合の接続例を示している。
【００４０】
抵抗素子Ｒ１は、電源ＶＤＤ０と、制御回路１１側の信号線ＳＤＡと、の間に設けられている。抵抗素子Ｒ２は、ノードＮ１と、スイッチ回路１３側の信号線ＳＤＡと、の間に設けられている。トランジスタＭＰ１は、電源ＶＤＤ１と、ノードＮ１と、の間に設けられ、レジスタ１６の値に応じてオン／オフを制御する。トランジスタＭＰ２は、電源ＶＤＤ２と、ノードＮ１と、の間に設けられ、トランジスタＭＰ１と相補的にオン／オフを制御する。
【００４１】
例えば、レジスタ１６に格納されたバスＢ１に割り当てられる駆動電圧の情報ＶＯＬＢ［１］が１の場合、トランジスタＭＰ１のゲートにＬレベルが印加され、トランジスタＭＰ２のゲートにＨレベルが印加されるため、トランジスタＭＰ１がオン状態、トランジスタＭＰ２がオフ状態になる。そのため、スイッチ回路１３側の信号線ＳＤＡには、トランジスタＭＰ１及び抵抗素子Ｒ２を介して、３．３Ｖの駆動電圧ＶＤＤ１が供給される。他方、レジスタ１６に格納されたバスＢ１に割り当てられる駆動電圧の情報ＶＯＬＢ［１］が２の場合、トランジスタＭＰ１のゲートにＨレベルが印加され、トランジスタＭＰ２のゲートにＬレベルが印加されるため、トランジスタＭＰ１がオフ状態、トランジスタＭＰ２がオン状態になる。そのため、スイッチ回路１３側の信号線ＳＤＡには、トランジスタＭＰ２及び抵抗素子Ｒ２を介して、５．５Ｖの駆動電圧ＶＤＤ２が供給される。
【００４２】
このようにして、レベル変換回路１２は、図２に示すレジスタ１６のｎ＋１列目の記憶領域に格納された各バスＢ１〜Ｂｍの駆動電圧の情報（ＶＯＬＢ［１］〜ＶＯＬＢ［ｍ］）に応じたレベルの駆動電圧を、バスＢ１〜Ｂｍを介して、モジュールＭ１〜Ｍｎに供給する。
【００４３】
レベル変換回路１２によるレベル変換動作について説明する。
例えば、制御回路１１からスイッチ回路１３に向けてＨレベルの信号を送信する場合、トランジスタＭＮ１の制御回路１１側の電極にＨレベルの信号が印加され、トランジスタＭＮ１のゲートにＨレベルの電位（電圧ＶＤＤｍｉｎ）が印加されるため、トランジスタＭＮ１はオフ状態となる。それにより、スイッチ回路１３には、抵抗素子Ｒ２を介して、電源電圧ＶＤＤ１，ＶＤＤ２の一方、即ち、レベル変換されたＨレベルの信号が供給される。また、制御回路１１からスイッチ回路１３に向けてＬレベルの信号を送信する場合、トランジスタＭＮ１の制御回路１１側の電極にＬレベルの信号が印加され、トランジスタＭＮ１のゲートにＨレベルの電位（電圧ＶＤＤｍｉｎ）が印加されるため、トランジスタＭＮ１はオン状態となる。それにより、スイッチ回路１３には、Ｌレベルの信号が供給される。
【００４４】
逆に、何れかのモジュールからスイッチ回路１３を介して制御回路１１に向けてＨレベルの信号を送信する場合、トランジスタＭＮ１のスイッチ回路１３側の電極にＨレベルの信号が印加され、トランジスタＭＮ１のゲートにＨレベルの電位（電圧ＶＤＤｍｉｎ）が印加されるため、トランジスタＭＮ１はオフ状態となる。それにより、制御回路１１には、抵抗素子Ｒ１を介して、電源電圧ＶＤＤ０、即ち、レベル変換されたＨレベルの信号が供給される。また、何れかのモジュールからスイッチ回路１３を介して制御回路１１に向けてＬレベルの信号を送信する場合、トランジスタＭＮ１のスイッチ回路１３側の電極にＬレベルの信号が印加され、トランジスタＭＮ１のゲートにＨレベルの電位（電圧ＶＤＤｍｉｎ）が印加されるため、トランジスタＭＮ１はオン状態となる。それにより、制御回路１１には、Ｌレベルの信号が供給される。
【００４５】
（規格検知回路１４）
規格検知回路１４は、通常動作前に、モジュールＭ１〜Ｍｎのそれぞれから出力された通信規格の情報を検知し、制御回路１１に出力する回路である。
【００４６】
図５は、規格検知回路１４の具体的構成を示す図である。
図５に示すように、規格検知回路１４は、例えばバッファＢＦ１を有する。各モジュールＭ１〜Ｍｎの通信規格情報の取得時、バッファＢＦ１は、バスＢ１の信号線の一つ（信号線ＳＣＬ又は信号線ＳＤＡ）を伝搬する通信規格の情報をドライブして制御回路１１に出力する。なお、制御回路１１が各モジュールＭ１〜Ｍｎの通信規格情報を直接取得する場合には、規格検知回路１４は設けられていなくてもよい。
【００４７】
（半導体装置１の動作）
続いて、半導体装置１の接続設定動作について説明する。
図６は、半導体装置１の接続設定動作を示すフローチャートである。また、図７〜図１２は、半導体装置１の接続設定動作中にレジスタ１６に格納されている値を示す図である。以下では、モジュール数ｎ＝７、バス数ｍ＝４である場合を例に説明する。
【００４８】
図６に示すように、初期状態では、変数ｋは０に設定されている（ステップＳ１０１）。その後、制御部１０は、変数ｋの値を１つカウントアップさせる（ステップＳ１０２）。ここでは、ｋ＝１となる。
【００４９】
その後、制御部１０は、スイッチ回路１３を用いて、モジュールＭ１のみをバスＢ１に接続させるとともに、レベル変換回路１２を用いて、モジュールＭ１に対して最も低い３．３Ｖの電源電圧ＶＤＤ１を駆動電圧として供給させる（ステップＳ１０３）。それにより、モジュールＭ１は、通信規格の情報を制御回路１１に返信する動作が可能になる。
【００５０】
具体的には、制御部１０において、バス接続制御回路１５は、制御回路１１の指示に基づいてレジスタ１６の値を書き換える。より詳細には、図７に示すように、バスＢ１とモジュールＭ１との間に設けられたスイッチＳＷのオン／オフ情報ＳＷ［１］［１］の値を０から１（オフからオン）に書き換える。また、バスＢ１に割り当てられる駆動電圧の情報ＶＯＬＢ［１］の値を０から１（３．３Ｖ）に書き換える。また、バスＢ１に割り当てられる通信速度情報であるＢＰＳＢ［１］の値を０から１（１００ｋｂｐｓ）に書き換える。
【００５１】
そして、スイッチ回路１３は、レジスタ１６の値に基づいて、モジュールＭ１のみをバスＢ１に接続する。このとき、他のモジュールＭ２〜Ｍｎは、どのバスＢ１〜Ｂｍにも接続されない。また、レベル変換回路１２は、レジスタ１６の値に基づいて、バスＢ１を介してモジュールＭ１に対して最も低い３．３Ｖの電源電圧ＶＤＤ１を駆動電圧として供給する。これは、レベル変換回路１２が、レジスタ１６の値に基づいて、バスＢ１のスイッチ回路１３側の各通信線（電源線、信号線ＳＤＡ及び信号線ＳＣＬ）に対して３．３Ｖの電源電圧を供給する、ということである。
【００５２】
なお、レベル変換回路１２は、モジュールＭ１〜Ｍｎの夫々の駆動電圧が３．３Ｖ又は５Ｖであると分かっている場合には、初期値として最も低い３．３Ｖの電源電圧を駆動電圧に設定し、モジュールＭ１〜Ｍｎの夫々の駆動電圧が不明である場合には、例えば規格上の最小電圧を駆動電圧に設定する。
【００５３】
その後、制御部１０は、モジュールＭ１に対して駆動電圧の情報を要求し、モジュールＭ１により返信された駆動電圧の情報を、規格検知回路１４を介して取得する（ステップＳ１０４）。
【００５４】
より具体的には、制御部１０において、制御回路１１は、バスＢ１の信号線の一つ（例えば信号線ＳＤＡ）を介して、モジュールＭ１に向けて、Ｈレベルの信号を出力する。モジュールＭ１は、自己の駆動電圧の情報を出力する機能を有し、例えば、駆動電圧が３．３Ｖの場合にＬレベルの信号を返し、駆動電圧が５Ｖの場合にＨレベルの信号を返す。規格検知回路１４は、モジュールＭ１により返信された駆動電圧の情報（Ｈ又はＬレベルの信号）を取り込んで制御回路１１に伝える。
【００５５】
その後、制御部１０は、取得したモジュールＭ１の駆動電圧の情報に基づいて、モジュールＭ１に対して駆動電圧を供給させる（ステップＳ１０５）。
【００５６】
より具体的には、制御部１０において、バス接続制御回路１５は、制御回路１１から出力されたモジュールＭ１の駆動電圧の情報に基づいて、レジスタ１６の値を書き換える。例えば取得したモジュールＭ１の駆動電圧の情報が５Ｖである場合、図８に示すように、バスＢ１に割り当てられる駆動電圧の情報ＶＯＬＢ［１］の値を１（３．３Ｖ）から２（５Ｖ）に書き換える。なお、取得したモジュールＭ１の駆動電圧の情報が３．３Ｖである場合にはＶＯＬＢ［１］の値は１（３．３Ｖ）のままとなる。そして、レベル変換回路１２は、レジスタ１６の値に基づいて、モジュールＭ１に対して３．３Ｖ又は５Ｖの駆動電圧を供給する。これは、レベル変換回路１２が、レジスタ１６の値に基づいて、バスＢ１のスイッチ回路１３側の各通信線（電源線、信号線ＳＤＡ及び信号線ＳＣＬ）に対して３．３Ｖ又は５Ｖの電源電圧を供給する、ということである。
【００５７】
その後、制御部１０は、モジュールＭ１に対して通信速度の情報を要求し、モジュールＭ１により返信された通信速度の情報を、規格検知回路１４を介して取得する（ステップＳ１０６）。
【００５８】
より具体的には、制御部１０において、制御回路１１は、動作可能な最低速度（例えば規格上の最低速度）にてバスＢ１を介してモジュールＭ１と通信することで、モジュールＭ１内に記憶された通信速度情報を取得する。なお、図７に示したように、バスＢ１に割り当てられる通信速度の情報ＢＰＳＢ［１］の値を０から１（１００ｋｂｐｓ）に書き換えておくことで、制御回路１１は動作可能な最低速度での通信が可能となる。
【００５９】
なお、制御部１０は、モジュールＭ１の駆動電圧の情報を取得する場合と同様の手法で、モジュールＭ１の通信速度の情報を取得してもよい。この場合、制御部１０において、制御回路１１は、バスＢ１の信号線の一つ（例えば信号線ＳＤＡ）を介して、モジュールＭ１に向けて、Ｈレベルの信号を出力する。モジュールＭ１は、自己の通信速度の情報を出力する機能を有し、例えば、通信速度に応じたＨ又はＬレベルの信号を返す。規格検知回路１４は、モジュールＭ１により返信された通信速度の情報（Ｈ又はＬレベルの信号）を取り込んで制御回路１１に伝える。
【００６０】
そして、制御部１０は、取得したモジュールＭ１の駆動電圧及び通信速度の情報、即ち、取得したモジュールＭ１の通信規格の情報をレジスタ１６等の記憶部に記憶させる（ステップＳ１０７）。具体的には、図９に示すように、取得したモジュールＭ１の駆動電圧、通信速度及びモジュールＩＤの情報によって、レジスタ１６のＶＯＬＭ［１］、ＢＰＳＭ［１］及びＩＤ［１］の値が書き換えられる。図９の例では、ＶＯＬＭ［１］が２（５Ｖ）、ＢＰＳＭ［１］が１（１００ｋｂｐｓ）、及び、ＩＤ［１］が１に書き換えられている。
【００６１】
その後、制御部１０は、ｋ＝ｎであるか否かを判定し、ｋ＝ｎでなければ（ステップＳ１０８のＮＯ）、再び変数ｋの値を１つカウントアップさせる（ステップＳ１０２）。ここでは、ｋ＝２となる。
【００６２】
その後、制御部１０は、スイッチ回路１３を用いて、モジュールＭ２のみをバスＢ１に接続させるとともに（ステップＳ１０３）、レベル変換回路１２を用いて、モジュールＭ２に対して最も低い３．３Ｖの電源電圧ＶＤＤ１を駆動電圧として供給させる。その後、制御部１０は、モジュールＭ２に対して駆動電圧の情報を要求し、モジュールＭ２により返信された駆動電圧の情報を取得する（ステップＳ１０４）。その後、制御部１０は、取得したモジュールＭ２の駆動電圧の情報に基づいて、モジュールＭ２に対して駆動電圧を供給させる（ステップＳ１０５）。その後、制御部１０は、モジュールＭ２に対して通信速度の情報を要求し、モジュールＭ２により返信された通信速度の情報を取得する（ステップＳ１０６）。そして、制御部１０は、モジュールＭ２の駆動電圧及び通信速度の情報、即ち、モジュールＭ２の通信規格の情報をレジスタ１６等の記憶部に記憶させる（ステップＳ１０７）。
【００６３】
その後、制御部１０は、ｋ＝ｎであるか否かを判定し、ｋ＝ｎでなければ（ステップＳ１０８のＮＯ）、再び変数ｋの値を１つカウントアップさせる（ステップＳ１０２）。ここでは、ｋ＝３となる。その後は、ｋ＝ｎとなるまでステップＳ１０２〜Ｓ１０８のＮＯの処理が繰り返される。
【００６４】
その結果、図１０に示すように、取得した各モジュールＭ１〜Ｍｎ（ｎ＝７）の駆動電圧、通信速度及びモジュールＩＤの情報によって、レジスタ１６のＶＯＬＭ［１］〜［７］、ＢＰＳＭ［１］〜［７］及びＩＤ［１］〜［７］の値が書き換えられる。即ち、レジスタ１６には、各モジュールＭ１〜Ｍｎの通信規格の情報が書き込まれる。
【００６５】
ｋ＝ｎになると（ステップＳ１０８のＹＥＳ）、制御部１０は、取得したモジュールＭ１〜Ｍｎのそれぞれの通信規格の情報に基づいて、スイッチ回路１３を用いてバスＢ１〜ＢｍとモジュールＭ１〜Ｍｎとの接続を設定させるとともに、レベル変換回路１２を用いてモジュールＭ１〜Ｍｎに対してそれぞれの通信規格に応じたレベルの駆動電圧を供給させる（ステップＳ１０９，Ｓ１１０）。
【００６６】
より具体的には、レジスタ１６に格納された各モジュールＭ１〜Ｍｎの通信規格（駆動電圧及び通信速度）の情報に基づいて、レジスタ１６に格納された各バスＢ１〜Ｂｍに割り当てられる通信規格の情報が書き換えられる。それにより、バスＢ１〜Ｂｍのそれぞれに対して通信規格が割り当てられる（ステップＳ１０９）。
【００６７】
例えば、図１１に示すように、ＶＯＬＢ［１］が１、ＢＰＳＢ［１］が１に書き換えられる。それにより、バスＢ１には、駆動電圧３．３Ｖ及び通信速度１００ｋｂｐｓの通信規格が割り当てられる。また、ＶＯＬＢ［２］が１、ＢＰＳＢ［２］が２に書き換えられる。それにより、バスＢ２には、駆動電圧３．３Ｖ及び通信速度４００ｋｂｐｓの通信規格が割り当てられる。また、ＶＯＬＢ［３］が２、ＢＰＳＢ［３］が１に書き換えられる。それにより、バスＢ３には、駆動電圧５Ｖ及び通信速度１００ｋｂｐｓの通信規格が割り当てられる。また、ＶＯＬＢ［４］が２、ＢＰＳＢ［４］が２に書き換えられることで、バスＢ４には、駆動電圧５Ｖ及び通信速度４００ｋｂｐｓの通信規格が割り当てられる。
【００６８】
その後、スイッチ回路１３は、モジュールＭ１〜Ｍｎをそれぞれの通信規格が割り当てられたバスに接続する（ステップＳ１１０）。
【００６９】
具体的には、図１２に示すように、レジスタ１６において、通信規格が一致するバスとモジュールとの間に設けられたスイッチＳＷのオン／オフ情報が０から１（オフからオン）に書き換えられる。そして、スイッチ回路１３は、レジスタ１６に格納された各スイッチＳＷのオン／オフ情報に基づいて、モジュールＭ１〜Ｍｎをそれぞれの通信規格が割り当てられたバスに接続する。それにより、通信速度が同じかつ駆動電圧が同じ複数のモジュールが同一のバスに接続される。他方、通信速度又は駆動電圧の異なるモジュールは、それぞれ異なるバスに接続される。図１２の例では、バスＢ１にモジュールＭ２が接続され、バスＢ２にモジュールＭ５，Ｍ７が接続され、バスＢ３にモジュールＭ１，Ｍ３，Ｍ４が接続され、バスＢ４にモジュールＭ６が接続されることになる。
【００７０】
また、レベル変換回路１２は、バスＢ１〜Ｂｍのスイッチ回路１３側に対して、それぞれに割り当てられた通信規格の駆動電圧を供給する。それにより、例えば、同一のバスに接続された同じ通信規格の複数のモジュールには共通の駆動電圧が供給されることになる。
【００７１】
その後、半導体装置１は、通常動作を開始する（Ｓ１１１）。つまり、制御回路１１とモジュールＭ１〜Ｍｎとの間でデータ通信が開始される。
【００７２】
このように、本実施の形態に係る半導体装置１は、外部に設けられたモジュールＭ１〜Ｍｎのそれぞれから駆動電圧の情報を含む通信規格の情報を取得して、それらに基づいてモジュールＭ１〜ＭｎとバスＢ１〜Ｂｍとの接続を設定した後、モジュールＭ１〜Ｍｎとデータ通信を行う。本実施の形態にかかる半導体装置１は、通信速度の異なる複数のモジュールのみならず、駆動電圧の異なる複数のモジュールを同時に制御回路１１に接続することができるため、一つの制御回路で駆動電圧や通信速度の異なる複数のモジュールを同時に制御することが可能になる。即ち、設計の自由度を向上させることができる。
【００７３】
なお、本実施の形態では、各モジュールＭ１〜Ｍｎの通信規格情報の取得時、モジュールＭ１〜Ｍｎの一つをバスＢ１のみに接続する場合を例に説明したが、バスＢ１の代わりに他の一つのバスのみに接続してもよい。また、通信規格の情報量が大きい場合には、バスＢ１の複数の信号線ＳＣＬ，ＳＤＡを用いて通信規格情報を取得してもよい。
【００７４】
制御部１０は、各バスＢ１〜Ｂｍに接続されるモジュールの数が所定数以下となるように制御する機能を有してもよい。それにより、通信時間の短縮が可能となる。
【００７５】
＜実施の形態２＞
図１３は、実施の形態２にかかる半導体装置２を備えた半導体システムＳＹＳ２の構成を示すブロック図である。半導体装置２は、半導体装置１と比較して、測定回路２１をさらに備える。半導体装置２及びそれを備えた半導体システムＳＹＳ２の構成については、半導体装置１及びそれを備えた半導体システムＳＹＳ１の場合と同様であるため、その説明を省略する。
【００７６】
測定回路２１は、各バスＢ１〜Ｂｍでの通信時間を測定する回路である。例えば、測定回路２１は、各バスＢ１〜Ｂｍでの１制御周期（所定周期）当たりの通信時間の合計を測定する。
【００７７】
制御部１０は、測定回路２１の結果に基づいて、１制御周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数のモジュールの何れかを、他のバスに切り替えて接続させる。それにより、通信時間の短縮が可能となる。なお、この処理は、通常動作が始まってから定常的に行われてもよいし、通常動作前の接続設定動作中に行われてもよい。
【００７８】
例えば、バスＢ１に同じ通信規格の３つのモジュールＭ１〜Ｍ３が接続されている場合において、バスＢ１での１制御周期当たりの通信時間の合計が規定時間を超える場合、制御部１０は、モジュールＭ１〜Ｍ３の何れかを、どのモジュールにも接続されていない他のバスに切り替えて接続させる。あるいは、モジュールＭ１〜Ｍ３のうち通信速度を下げてもよいモジュールが存在する場合には、そのモジュールを、通信速度が遅くかつ駆動電圧が同じモジュールが接続された他のバスに切り替えて接続させる。
【００７９】
なお、同一のバスに接続されているモジュールの数は、レジスタ１６に格納された各スイッチＳＷのオン／オフ情報から判断可能である。例えば、バスＢ１に接続されているモジュールの数は、図２に示すレジスタ１６の１行目×１〜ｎ列目の記憶領域に格納されたスイッチＳＷのオン／オフ情報（ＳＷ［１］［１］〜ＳＷ［１］［ｎ］）から判断可能である。
【００８０】
図１４は、半導体装置２の接続設定動作を示すフローチャートである。なお、ステップＳ１０１〜Ｓ１１１の処理は、図６の場合と同様であるため、説明を省略する。
【００８１】
図１４に示すように、制御回路１１とモジュールＭ１〜Ｍｎとの間でデータ通信が開始されると（ステップＳ１１１）、測定回路２１は、各バスＢ１〜Ｂｍでの１制御周期（所定周期）当たりの通信時間の合計を測定する（ステップＳ２０１）。
【００８２】
制御部１０は、１制御周期当たりの通信時間の合計が規定時間を超えているバス、があるか否かを判定する（ステップＳ２０２）。１制御周期当たりの通信時間の合計が規定時間を超えるバスが無い場合（ステップＳ２０２のＮＯ）、モジュールとバスとの接続の切り替えは行われない。他方、１制御周期当たりの通信時間の合計が規定時間を超えるバスがある場合（ステップＳ２０２のＹＥＳ）、モジュールとバスとの接続の切り替えが行われる（ステップＳ２０３）。具体的には、制御部１０は、１制御周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数のモジュールの何れかを、他のバスに切り替えて接続させる。
【００８３】
その後、データ通信が完了していなければ（ステップＳ２０４のＮＯ）、測定回路２１による周期的な測定処理に戻り（ステップＳ２０１）、データ通信が完了していれば（ステップＳ２０４のＹＥＳ）、動作を終了させる。
【００８４】
このように、本実施の形態に係る半導体装置２は、半導体装置１の場合と同等の効果を奏することができるとともに、１制御周期当たりの通信時間の合計が規定時間を超えるバス、に接続された複数のモジュールの何れかを、他のバスに切り替えて接続することで、通信時間を短縮させることができる。
【００８５】
＜実施の形態３＞
図１５は、実施の形態３にかかる半導体装置３を備えた半導体システムＳＹＳ３の構成を示すブロック図である。半導体装置３は、半導体装置１と比較して、アドレス調停回路３１をさらに備える。なお、制御回路１１、バス接続制御回路１５、レジスタ１６、及び、アドレス調停回路３１により、制御部（コントローラ）１０が構成される。半導体装置３及びそれを備えた半導体システムＳＹＳ３の構成については、半導体装置１及びそれを備えた半導体システムＳＹＳ１の場合と同様であるため、その説明を省略する。
【００８６】
アドレス調停回路３１は、モジュールＭ１〜ＭｎのＩＤを監視して、同じＩＤの複数のモジュールをそれぞれ異なるバスに接続させる回路である。
【００８７】
図１６は、半導体装置３の接続設定動作を示すフローチャートである。なお、ステップＳ１０１〜Ｓ１１０の処理は、図６の場合と基本的には同様であるため、省略されている。ただし、制御部１０は、モジュールＭ１〜Ｍｎの通信速度の情報を取得するときに（ステップＳ１０６）、モジュールＭ１〜ＭｎのＩＤも取得する。ここで、モジュールのＩＤとは、Ｉ２Ｃ通信ではスレーブアドレスのことを指す。
【００８８】
図１６に示すように、モジュールＭ１〜Ｍｎがそれぞれの通信規格が割り当てられたバスに接続された後（ステップＳ１１０）、アドレス調停回路３１は、各モジュールＭ１〜ＭｎのＩＤ及び接続先のバスを確認する（ステップＳ３０１）。
【００８９】
同一のバスに同じＩＤの複数のモジュールが接続されていない場合（ステップＳ３０２のＮＯ）、モジュールとバスとの接続の切り替えが行われることなく、制御回路１１とモジュールＭ１〜Ｍｎとの間でデータ通信が開始される（ステップＳ３０６）。
【００９０】
他方、同一のバスに同じＩＤの複数のモジュールが接続されている場合（Ｓ３０２のＹＥＳ）、アドレス調停回路３１は、同じＩＤの複数のモジュールをそれぞれ異なるバスに接続可能か否かを判定する（ステップＳ３０３）。
【００９１】
なお、同一のバスに同じＩＤの複数のモジュールが接続されているか否かは、同一のバスに接続された複数のモジュールのモジュールＩＤ情報（図２におけるＩＤ［１］〜ＩＤ［ｎ］）により判定可能である。
【００９２】
同じＩＤの複数のモジュールをそれぞれ異なるバスに接続可能である場合（ステップＳ３０３のＹＥＳ）、アドレス調停回路３１はこれらのモジュールをそれぞれ異なるバスに接続しなおす（ステップＳ３０４）。他方、同じＩＤの複数のモジュールをそれぞれ異なるバスに接続できない場合（ステップＳ３０３のＮＯ）、これらのモジュールのＩＤはそれぞれ異なるＩＤに変更される（ステップＳ３０５）。
【００９３】
その後、半導体装置３は、通常動作を開始する（Ｓ３０６）。つまり、制御回路１１とモジュールＭ１〜Ｍｎとの間でデータ通信が開始される。
【００９４】
このように、本実施の形態に係る半導体装置３は、半導体装置１の場合と同等の効果を奏することができるとともに、アドレス調停回路３１を用いて同じＩＤの複数のモジュールをそれぞれ異なるバスに接続することで、多数のモジュールが存在する場合にもＩＤの衝突を回避することができる。
【００９５】
なお、半導体装置３は、アドレス調停回路３１に加えて、上記した測定回路２１をさらに備えてもよい。
【００９６】
以上のように、上記実施の形態１〜３に係る半導体装置は、外部に設けられたモジュールＭ１〜Ｍｎのそれぞれから駆動電圧の情報を含む通信規格の情報を取得して、それらに基づいてモジュールＭ１〜ＭｎとバスＢ１〜Ｂｍとの接続を設定した後、モジュールＭ１〜Ｍｎとデータ通信を行う。本実施の形態にかかる半導体装置１は、通信速度の異なる複数のモジュールのみならず、駆動電圧の異なる複数のモジュールを同時に制御回路１１に接続することができるため、一つの制御回路で駆動電圧や通信速度の異なる複数のモジュールを同時に制御することが可能になる。即ち、設計の自由度を向上させることができる。
【００９７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【００９８】
例えば、上記の実施の形態に係る半導体装置では、半導体基板、半導体層、拡散層（拡散領域）などの導電型（ｐ型もしくはｎ型）を反転させた構成としてもよい。そのため、ｎ型、及びｐ型の一方の導電型を第１の導電型とし、他方の導電型を第２の導電型とした場合、第１の導電型をｐ型、第２の導電型をｎ型とすることもできるし、反対に第１の導電型をｎ型、第２の導電型をｐ型とすることもできる。
【００９９】
上記実施の形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１００】
（付記１）
複数のバスと、
前記複数のバスに接続され、当該複数のバスの何れかを介して、外部に設けられた複数のモジュールのそれぞれから駆動電圧の情報を含む通信規格の情報を取得する制御部と、
前記制御部により取得された前記複数のモジュールのそれぞれの前記通信規格の情報に基づいて、当該複数のモジュールと前記複数のバスとの間の接続を設定するスイッチ回路と、
を備えた半導体装置。
【０１０１】
（付記２）
前記複数のバス夫々における通信時間を測定する測定回路をさらに備え、
前記制御部は、前記スイッチ回路を用いて、前記複数のバス夫々における所定周期当たりの通信時間の合計が規定時間以下となるように前記複数のモジュールと前記複数のバスとの接続を設定させる、付記１に記載の半導体装置。
【符号の説明】
【０１０２】
１  半導体装置
２  半導体装置
３  半導体装置
１０  制御部
１１  制御回路
１２  レベル変換回路
１３  スイッチ回路
１４  規格検知回路
１５  バス接続制御回路
１６  レジスタ
２１  測定回路
３１  アドレス調停回路
ＢＦ１  バッファ
ＩＮＶ１  インバータ
ＭＮ１  トランジスタ
ＭＰ１  トランジスタ
ＭＰ２  トランジスタ
Ｍ１〜Ｍｎ  モジュール
Ｒ１  抵抗素子
Ｒ２  抵抗素子
ＳＹＳ１  半導体システム
ＳＹＳ２  半導体システム
ＳＹＳ３  半導体システム
ＳＷ  スイッチ
Ｔ１〜Ｔｎ  コネクタ
ＶＤＤ１  電源
ＶＤＤ２  電源
【図１】
2016075727.tif 000003
【図２】
2016075727.tif 000004
【図３】
2016075727.tif 000005
【図４】
2016075727.tif 000006
【図５】
2016075727.tif 000007
【図６】
2016075727.tif 000008
【図７】
2016075727.tif 000009
【図８】
2016075727.tif 000010
【図９】
2016075727.tif 000011
【図１０】
2016075727.tif 000012
【図１１】
2016075727.tif 000013
【図１２】
2016075727.tif 000014
【図１３】
2016075727.tif 000015
【図１４】
2016075727.tif 000016
【図１５】
2016075727.tif 000017
【図１６】
2016075727.tif 000018
【国際調査報告】
2016075727.tif 000019
2016075727.tif 000020