(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【0015】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【0016】
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
【0017】
<実施の形態1>
図1は、実施の形態1にかかる半導体システムSYS1の構成を示すブロック図である。本実施の形態にかかる半導体システムSYS1では、制御装置によるモジュールの通信規格情報の取得時、モジュールが、制御装置から通信バスを介して供給される電圧と、モジュールの通信規格に基づいて定められた閾値電圧と、の比較結果を、モジュールの通信規格の情報として制御装置に送信する。それにより、制御装置は、モジュールから取得した通信規格の情報に基づいて、制御装置とモジュールとの間の通信規格を正しく設定することができる。その結果、制御装置とモジュールとの間で正常なデータ通信を行うことができる。以下、具体的に説明する。
【0018】
図1に示すように、半導体システムSYS1は、制御装置1と、モジュール(半導体装置)M1と、制御装置1とモジュールM1とを接続する通信バスB1と、を備える。本実施の形態では、制御装置1とモジュールM1とのデータ通信方式として、I2C方式が採用されている場合を例に説明する。したがって、通信バスB1は、少なくとも電源線VDD、接地線GND、クロックの信号線SCL及びデータの信号線SDAにより構成されている。
【0019】
(制御装置1)
制御装置1は、一つ又は複数のチップからなり、制御回路11と、供給電圧切替回路12と、信号電圧設定回路13と、を備える。制御回路11は、例えばマイコンである。
【0020】
制御回路11と信号電圧設定回路13とは、通信バスB1に含まれる信号線SDA,SCLを介して接続されている。
【0021】
(制御回路11)
制御回路11は、通信バスB1を介して、モジュールM1とデータ通信を行う回路である。なお、制御回路11は、モジュールM1が対応する通信速度で通信する機能を有する。
【0022】
また、制御回路11は、供給電圧切替回路12に電圧制御信号S1を出力し、信号電圧設定回路13にイネーブル信号ENBを出力することで、供給電圧切替回路12及び信号電圧設定回路13を制御する。
【0023】
ここで、制御回路11は、通常動作前に、モジュールM1の内部回路の通信規格の情報(以下、単にモジュールM1の通信規格の情報とも称す)を取得したうえで、その通信規格でモジュールM1とデータ通信を行う。なお、本実施の形態では、制御回路11がモジュールM1の通信規格の情報として駆動電圧の情報を取得したうえで、その駆動電圧をモジュールに供給したうえでモジュールM1とデータ通信を行う場合を例に説明する。制御回路11によるモジュールM1の通信規格の情報(ここでは駆動電圧の情報)の取得方法については、後述する。
【0024】
(供給電圧切替回路12)
供給電圧切替回路12は、電源線VDDに供給する電源電圧を切り替える回路である。例えば、供給電圧切替回路12は、電源VDD1から供給される3.3Vの電源電圧(以下、電源電圧VDD1と称す)、及び、電源VDD2から供給される5Vの電源電圧(以下、電源電圧VDD2と称す)の何れかを、制御回路11からの電圧制御信号S1に基づいて選択し、電源線VDDに対して出力する。
【0025】
図2は、供給電圧切替回路12の構成例を示す回路図である。
図2に示すように、供給電圧切替回路12は、PチャネルMOSトランジスタ(以下、単にトランジスタと称す)MP1,MP2と、インバータINV1と、を有する。
【0026】
トランジスタMP1は、電源VDD2と、電源線VDDと、の間に設けられ、制御回路11からの電圧制御信号S1に応じてオン/オフを制御する。トランジスタMP2は、電源VDD1と、電源線VDDと、の間に設けられ、トランジスタMP1と相補的にオン/オフを制御する。
【0027】
例えば、制御回路11からの電圧制御信号S1がHレベルの場合、トランジスタMP1がオフし、トランジスタMP2がオンするため、電源線VDDには、3.3Vの電源電圧VDD1が供給される。他方、制御回路11からの電圧制御信号S1がLレベルの場合、トランジスタMP1がオンし、トランジスタMP2がオフするため、電源線VDDには、5Vの電源電圧VDD2が供給される。
【0028】
なお、本実施の形態では、供給電圧切替回路12が、2つの電源電圧VDD1,VDD2の何れかを選択的に電源線VDDに供給する場合を例に説明しているが、これに限られない。供給電圧切替回路12は、3つ以上の電源電圧の何れかを選択的に電源線VDDに供給する構成に適宜変更可能である。
【0029】
(信号電圧設定回路13)
信号電圧設定回路13は、モジュールM1の通信規格情報の取得時、信号線SDA,SCLの電圧レベルを所定の電圧に設定する回路である。例えば、信号電圧設定回路13は、モジュールM1の通信規格情報の取得時、信号線SDA,SCLを何れもLレベルにプルダウンする。
【0030】
図3は、信号電圧設定回路13の構成例を示す回路図である。
図3に示すように、信号電圧設定回路13は、PチャネルMOSトランジスタ(以下、単にトランジスタと称す)MP3,MP4と、抵抗素子R1〜R4と、を有する。なお、プルダウン用の抵抗素子R3,R4の抵抗値は、プルアップ用の抵抗素子R1,R2の抵抗値よりも十分に大きい。
【0031】
トランジスタMP3は、電源線VDDと、抵抗素子R1の一端と、の間に設けられ、制御回路11からのイネーブル信号ENBに応じてオン/オフを制御する。トランジスタMP4は、電源線VDDと、抵抗素子R2の一端と、の間に設けられ、制御回路11からのイネーブル信号ENBに応じてオン/オフを制御する。抵抗素子R1の他端は、信号線SCLに接続され、抵抗素子R2の他端は、信号線SDAに接続される。抵抗素子R3は、信号線SCLと接地線GNDとの間に設けられている。抵抗素子R4は、信号線SDAと接地線GNDとの間に設けられている。
【0032】
例えば、制御回路11とモジュールM1との間でデータ通信が行われる通常動作時(以下、通常動作モードとも称す)、制御回路11は、Lレベルのイネーブル信号ENBを出力する。それにより、トランジスタMP3,MP4が何れもオンするため、信号線SCL,SDAは何れもHレベルにプルアップされる。他方、制御回路11によるモジュールM1の通信規格情報の取得時(以下、通信規格取得モードとも称す)、制御回路11は、Hレベルのイネーブル信号ENBを出力する。それにより、トランジスタMP3,MP4が何れもオフするため、信号線SCL,SDAはそれぞれ抵抗素子R3,R4によって、Lレベルにプルダウンされる。
【0033】
通常動作時の制御回路11とモジュールM1とのデータの受け渡し方法を説明する。
通常動作時において、制御回路11からモジュールM1に向けてHレベルの信号SDA(信号線SDAの信号)を送信する場合、制御回路11は、信号電圧設定回路13によってHレベルにプルアップされた信号線SDAの状態を保持する。それにより、モジュールM1には、Hレベルの信号SDAが供給される。また、制御回路11からモジュールM1に向けてLレベルの信号SDAを送信する場合、制御回路11は、信号電圧設定回路13によってHレベルにプルアップされた信号線SDAの電荷を引き抜くことでLレベルにする。それにより、モジュールM1には、Lレベルの信号SDAが供給される。これは、信号SCL(信号線SCLの信号)についても同様のことが言える。
【0034】
逆に、通常動作時において、モジュールM1から制御回路11に向けてHレベルの信号SDAを送信する場合、モジュールM1は、信号電圧設定回路13によってHレベルにプルアップされた信号線SDAの状態を保持する。それにより、制御回路11には、Hレベルの信号SDAが供給される。また、モジュールM1から制御回路11に向けてLレベルの信号SDAを送信する場合、モジュールM1は、信号電圧設定回路13によってHレベルにプルアップされた信号線SDAの電荷を引き抜くことでLレベルにする。それにより、制御回路11には、Lレベルの信号SDAが供給される。これは、信号SCLについても同様のことが言える。
【0035】
それに対し、通信規格情報の取得時には、制御回路11は、信号電圧設定回路13によってLレベルにプルダウンされた信号線SDA,SCLの状態を保持する。それにより、モジュールM1には、Lレベルの信号SDA,SCLが供給される。換言すると、(SDA,SCL)=(0,0)となる。
【0036】
なお、本実施の形態では、制御装置1によるモジュールM1の通信規格情報の取得時、信号線SDA,SCLがLレベルにプルダウンされる場合を例に説明しているが、これに限られない。モジュールM1の通信規格の情報を1ビットで表現できるならば、信号線SDA,SCLの何れか1本のみがLレベルにプルダウンされる構成であってもよい。例えば、信号線SDAのみがLレベルにプルダウンされる構成である場合、信号電圧設定回路13は、トランジスタMP4及び抵抗素子R2,R4のみを備えていればよい。
【0037】
(モジュールM1)
モジュールM1は、内部回路14と、規格情報送信部15と、を備える。なお、規格情報送信部15は、モジュールM1の外部に設けられてもよい。即ち、規格情報送信部15は、モジュールM1に対して後付けされたものであってもよい。
【0038】
(規格情報送信部15)
規格情報送信部15は、制御装置1によるモジュールM1の通信規格情報取得時、制御装置1から電源線VDDを介して供給される電圧と、閾値電圧と、を比較して、その比較結果を、モジュールM1の通信規格の情報(ここでは駆動電圧の情報)として、通信バスB1を介して制御装置1に送信する。
【0039】
より詳細には、規格情報送信部15は、電圧検知回路16と、規格情報出力回路17と、により構成されている。
【0040】
(電圧検知回路16)
電圧検知回路16は、制御装置1によるモジュールM1の通信規格情報取得時、制御装置1から電源線VDDを介して供給される電圧が、モジュールM1の通信規格(ここでは駆動電圧)に基づいて定められた閾値電圧より高ければ、検知信号RSTBをアクティブにする(即ち、Hレベルを出力する)。また、制御装置1から電源線VDDを介して供給される電圧が、モジュールM1の通信規格(ここでは駆動電圧)に基づいて定められた閾値電圧より低ければ、検知信号RSTBをインアクティブにする(即ち、Lレベルを出力する)。
【0041】
例えば、モジュールM1の駆動電圧が3.3Vの場合、モジュールM1に設けられた電圧検知回路16の閾値電圧は3V程度に設定される。この電圧検知回路16は、制御装置1から電源線VDDを介して3.3Vの電圧VDD1が供給されると、検知信号RSTBをアクティブにする。
【0042】
また、例えば、モジュールM1の駆動電圧が5Vの場合、モジュールM1に設けられた電圧検知回路16の閾値電圧は4V程度に設定される。この電圧検知回路16は、制御装置1から電源線VDDを介して5Vの電圧VDD2が供給されると、検知信号RSTBをアクティブにする。
【0043】
図4は、電圧検知回路16の構成例を示すブロック図である。
図4に示すように、電圧検知回路16は、リセット回路161を有する。リセット回路161は、電源線VDDと接地線GNDとの間に設けられ、電源線VDDの電圧が閾値電圧より高くなると、リセット信号、即ち、検知信号RSTBをLレベルからHレベルに切り替える。
【0044】
(規格情報出力回路17)
規格情報出力回路17は、電圧検知回路16の検知結果から明らかになったモジュールM1の通信規格情報を、通信バスB1に含まれる信号線SDA,SCLを介して、制御装置1に出力する。換言すると、規格情報出力回路17は、電圧検知回路16から出力された検知信号RSTBの状態に応じて通信バスB1に含まれる信号線SDA,SCLの電圧レベルを設定する。
【0045】
図5は、規格情報出力回路17の構成例を示す回路図である。
図5に示すように、規格情報出力回路17は、PチャネルMOSトランジスタ(以下、単にトランジスタと称す)MP5,MP6と、インバータINV2と、抵抗素子R5,R6と、を有する。なお、プルアップ用の抵抗素子R5,R6の抵抗値は、信号電圧設定回路13に設けられたプルアップ用の抵抗素子R1,R2の抵抗値と同等程度であって、信号電圧設定回路13に設けられたプルダウン用の抵抗素子R3,R4の抵抗値よりも十分に小さい。
【0046】
トランジスタMP5は、電源線VDDと、抵抗素子R5の一端と、の間に設けられ、電圧検知回路16からの検知信号RSTBに応じてオン/オフを制御する。トランジスタMP6は、電源線VDDと、抵抗素子R6の一端と、の間に設けられ、トランジスタMP5と相補的にオン/オフを制御する。抵抗素子R5の他端は、信号線SCLに接続され、抵抗素子R6の他端は、信号線SDAの他端に接続される。
【0047】
例えば、電圧検知回路16からの検知信号RSTBがLレベルの場合、トランジスタMP5がオンし、トランジスタMP6がオフするため、信号線SCLはLレベルからHレベルにプルアップされ、信号線SDAはLレベルに保持される。換言すると、(SDA,SCL)=(0,1)となる。
【0048】
他方、電圧検知回路16からの検知信号RSTBがHレベルの場合、トランジスタMP5がオフし、トランジスタMP6がオンするため、信号線SCLはLベルに保持され、信号線SDAはLレベルからHレベルにプルアップされる。換言すると、(SDA,SCL)=(1,0)となる。
【0049】
要するに、モジュールM1の駆動電圧が3.3Vの場合、規格情報送信部15は、制御装置1から電源線VDDを介して3.3Vの電圧VDD1が供給されると、(SDA,SCL)=(1,0)に設定する。また、モジュールM1の駆動電圧が5Vの場合、規格情報送信部15は、制御装置1から電源線VDDを介して3.3Vの電圧VDD1が供給されると、(SDA,SCL)=(0,1)に設定し、制御装置1から電源線VDDを介して5Vの電圧VDD2が供給されると、(SDA,SCL)=(1,0)に設定する。
【0050】
(半導体システムSYS1の動作)
続いて、半導体システムSYS1の通信規格設定動作について説明する。
図6は、半導体システムSYS1の通信規格設定動作を示すフローチャートである。
【0051】
図6に示すように、まず、制御回路11は、イネーブル信号ENBをHレベル(ENB=1)にして、動作モードを通信規格取得モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオフするため、信号線SDA,SCLは何れもLレベルにプルダウンされる(ステップS101)。それにより、モジュールM1には、Lレベルの信号SDA,SCLが供給される。
【0052】
また、制御回路11は、電圧制御信号S1をHレベル(S1=1)にする。それにより、供給電圧切替回路12に設けられたトランジスタMP1がオフし、トランジスタMP2がオンするため、電源線VDDには3.3Vの電源電圧VDD1が供給される(ステップS102)。
【0053】
(i)モジュールM1の駆動電圧が3.3Vの場合
モジュールM1の駆動電圧が3.3Vの場合、電源線VDDに3.3Vの電源電圧VDD1が供給されると、モジュールM1に設けられた電圧検知回路16は、検知信号RSTBをLレベルからHレベルに切り替える。つまり、RSTB=1となる(ステップS103のYES)。
【0054】
それにより、規格情報出力回路17に設けられたトランジスタMP5がオフし、トランジスタMP6がオンするため、信号線SCLはLレベルに保持され、信号線SDAはLレベルからHレベルにプルアップされる。それにより、制御回路11には、Hレベルの信号SDA及びLレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(1,0)となる(ステップS104)。これにより、制御回路11は、モジュールM1の駆動電圧が3.3Vであると判定する。
【0055】
その後、制御回路11は、イネーブル信号ENBをLレベル(ENB=0)にして、動作モードを通常動作モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオンするため、信号線SDA,SCLは何れもHレベルにプルアップされる(ステップS105)。
【0056】
その後、制御装置1とモジュールM1とは通常動作を開始する(ステップS106)。つまり、制御装置1とモジュールM1との間でデータ通信が開始される。
【0057】
(ii)モジュールM1の駆動電圧が5Vの場合
モジュールM1の駆動電圧が5Vの場合、、電源線VDDに3.3Vの電源電圧VDD1が供給されるとモジュールM1に設けられた電圧検知回路16は、検知信号RSTBをLレベルに保持する。つまり、RSTB=0となる(ステップS103のNO)。
【0058】
それにより、規格情報出力回路17に設けられたトランジスタMP5がオンし、トランジスタMP6がオフするため、信号線SCLはLレベルからHレベルにプルアップされ、信号線SDAはLレベルに保持される。それにより、制御回路11には、Lレベルの信号SDA及びHレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(0,1)となる(ステップS107)。これにより、制御回路11は、モジュールM1の駆動電圧が3.3Vより高いと判定する。
【0059】
その後、制御回路11は、電圧制御信号S1をLレベル(S1=0)にする。それにより、供給電圧切替回路12に設けられたトランジスタMP1がオンし、トランジスタMP2がオフするため、電源線VDDには5Vの電源電圧VDD2が供給される(ステップS108)。
【0060】
電源線VDDに5Vの電源電圧VDD2が供給されると、モジュールM1に設けられた電圧検知回路16は、検知信号RSTBをLレベルからHレベルに切り替える。つまり、RSTB=1となる。それにより、規格情報出力回路17に設けられたトランジスタMP5がオフし、トランジスタMP6がオンするため、信号線SCLはLレベルに保持され、信号線SDAはLレベルからHレベルにプルアップされる。それにより、制御回路11には、Hレベルの信号SDA及びLレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(1,0)となる(ステップS109)。これにより、制御回路11は、モジュールM1の駆動電圧が5Vであると判定する。
【0061】
その後、制御回路11は、イネーブル信号ENBをLレベル(ENB=0)にして、動作モードを通常動作モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオンするため、信号線SDA,SCLは何れもHレベルにプルアップされる(ステップS110)。
【0062】
その後、制御装置1とモジュールM1とは通常動作を開始する(ステップS106)。つまり、制御装置1とモジュールM1との間でデータ通信が開始される。
【0063】
本実施の形態では、モジュールM1が、通信規格情報の一つである駆動電圧の情報を送信し、制御装置1が、その情報に基づいてモジュールM1に供給する駆動電圧を設定する場合を例に説明したが、これに限られない。例えば、モジュールM1が、通信速度等の他の通信規格の情報を送信し、制御装置1が、その情報に基づいて制御装置1とモジュールM1との間の通信規格を設定する構成であってもよい。
【0064】
このように、半導体システムSYS1では、制御装置1によるモジュールM1の通信規格情報取得時、モジュールM1が、制御装置1から通信バスB1を介して供給される電圧と、モジュールM1の通信規格に基づいて定められた閾値電圧と、の比較結果を、モジュールM1の通信規格の情報として制御装置1に送信する。それにより、制御装置1は、モジュールM1から取得した通信規格の情報に基づいて、制御装置1とモジュールM1との間の通信規格を正しく設定することができる。その結果、制御装置1とモジュールM1との間で正常なデータ通信を行うことができる。
【0065】
<実施の形態2>
図7は、実施の形態2にかかる半導体システムSYS2の構成を示すブロック図である。半導体システムSYS1では、単体のモジュールM1が設けられていたのに対し、半導体システムSYS2では、複数のモジュールM1〜Mn(nは2以上の整数)が設けられている。
【0066】
モジュールM1〜Mnは何れも同一の通信バスB1に接続されている。半導体システムSYS2のその他の構成については、半導体システムSYS1と同様であるため、その説明を省略する。
【0067】
(半導体システムSYS2の動作)
続いて、半導体システムSYS2の通信規格設定動作について説明する。
図8は、半導体システムSYS2の通信規格設定動作を示すフローチャートである。
【0068】
図8に示すように、まず、制御回路11は、イネーブル信号ENBをHレベル(ENB=1)にして、動作モードを通信規格取得モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオフするため、信号線SDA,SCLは何れもLレベルにプルダウンされる(ステップS101)。それにより、モジュールM1には、Lレベルの信号SDA,SCLが供給される。
【0069】
また、制御回路11は、電圧制御信号S1をHレベル(S1=1)にする。それにより、供給電圧切替回路12に設けられたトランジスタMP1がオフし、トランジスタMP2がオンするため、電源線VDDには3.3Vの電源電圧VDD1が供給される(ステップS102)。
【0070】
(i)全てのモジュールM1〜Mnの駆動電圧が3.3Vの場合
全てのモジュールM1〜Mnの駆動電圧が3.3Vの場合、電源線VDDに3.3Vの電源電圧VDD1が供給されると、各モジュールM1〜Mnに設けられた電圧検知回路16は、検知信号RSTBをLレベルからHレベルに切り替える(RSTB=1)(ステップS103のYES)。
【0071】
それにより、各モジュールM1〜Mnの規格情報出力回路17に設けられたトランジスタMP5がオフし、トランジスタMP6がオンするため、信号線SCLはLレベルに保持され、信号線SDAはLレベルからHレベルにプルアップされる。それにより、制御回路11には、Hレベルの信号SDA及びLレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(1,0)となる(ステップS104)。これにより、制御回路11は、全てのモジュールM1〜Mnの駆動電圧が3.3Vであると判定する。
【0072】
その後、制御回路11は、イネーブル信号ENBをLレベル(ENB=0)にして、動作モードを通常動作モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオンするため、信号線SDA,SCLは何れもHレベルにプルアップされる(ステップS105)。
【0073】
その後、制御装置1とモジュールM1〜Mnとは通常動作を開始する(ステップS106)。つまり、制御装置1とモジュールM1〜Mnとの間でデータ通信が開始される。なお、各モジュールM1〜Mnは固有のアドレスを持っており、制御装置1がアドレスを指定することで、制御装置1と指定されたアドレスのモジュールとの間でデータ通信が行われる。
【0074】
(ii)全てのモジュールM1〜Mnの駆動電圧が5Vの場合
全てのモジュールM1〜Mnの駆動電圧が5Vの場合、電源線VDDに3.3Vの電源電圧VDD1が供給されると、各モジュールM1〜Mnに設けられた電圧検知回路16は、検知信号RSTBをLレベルに保持する(RSTB=0)(ステップS103のNO→ステップS201のYES)。
【0075】
それにより、各モジュールM1〜Mnの規格情報出力回路17に設けられたトランジスタMP5がオンし、トランジスタMP6がオフするため、信号線SCLはLレベルからHレベルにプルアップされ、信号線SDAはLレベルに保持される。それにより、制御回路11には、Lレベルの信号SDA及びHレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(0,1)となる(ステップS107)。これにより、制御回路11は、全てのモジュールM1〜Mnの駆動電圧が3.3Vより大きいと判定する。
【0076】
その後、制御回路11は、電圧制御信号S1をLレベル(S1=0)にする。それにより、供給電圧切替回路12に設けられたトランジスタMP1がオンし、トランジスタMP2がオフするため、電源線VDDには5Vの電源電圧VDD2が供給される(ステップS108)。
【0077】
電源線VDDに5Vの電源電圧VDD2が供給されると、各モジュールM1〜Mnに設けられた電圧検知回路16は、検知信号RSTBをLレベルからHレベルに切り替える。つまり、RSTB=1となる。それにより、各モジュールM1〜Mnの規格情報出力回路17に設けられたトランジスタMP5がオフし、トランジスタMP6がオンするため、信号線SDAはLレベルからHレベルにプルアップされ、信号線SCLはLレベルに保持される。それにより、制御回路11には、Hレベルの信号SDA及びLレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(1,0)となる(ステップS109)。これにより、制御回路11は、全てのモジュールM1〜Mnの駆動電圧が5Vであると判定する。
【0078】
その後、制御回路11は、イネーブル信号ENBをLレベル(ENB=0)にして、動作モードを通常動作モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオンするため、信号線SDA,SCLは何れもHレベルにプルアップされる(ステップS110)。
【0079】
その後、制御装置1とモジュールM1〜Mnとは通常動作を開始する(ステップS106)。つまり、制御装置1とモジュールM1〜Mnとの間でデータ通信が開始される。なお、各モジュールM1〜Mnは固有のアドレスを持っており、制御装置1がアドレスを指定することで、制御装置1と指定されたアドレスのモジュールとの間でデータ通信が行われる。
【0080】
(iii)モジュールM1〜Mnの一部の駆動電圧が3.3V、残りが5Vの場合
モジュールM1〜Mnの一部の駆動電圧が3.3V、モジュールM1〜Mnの残りの駆動電圧が5Vの場合、3.3Vの駆動電圧のモジュールでは検知信号RSTBがHレベルになり、5Vの駆動電圧のモジュールでは検知信号RSTBがLレベルに保持される(ステップS103のNO→ステップS201のNO)。
【0081】
そのため、3.3Vの駆動電圧のモジュールでは、ステップS104での処理と同様に、信号線SDAがHレベルにプルアップされ、5Vの駆動電圧のモジュールでは、ステップS107での処理と同様に、信号線SCLがHレベルにプルアップされる。それにより、制御回路11には、Hレベルの信号SDA,SCLが供給される。換言すると、(SDA,SCL)=(1,1)となる(ステップS202)。これにより、制御回路11は、モジュールM1〜Mnの駆動電圧が同じでないと判定する。
【0082】
この場合、制御装置1とモジュールM1の間でデータ通信は行われない(ステップS203)。
【0083】
本実施の形態では、各モジュールM1〜Mnが、通信規格情報の一つである駆動電圧の情報を送信し、制御装置1が、その情報に基づいて各モジュールM1〜Mnに供給する駆動電圧を設定する場合を例に説明したが、これに限られない。例えば、各モジュールM1〜Mnが、通信速度等の他の通信規格の情報を送信し、制御装置1が、その情報に基づいて各モジュールM1〜Mnとの間の通信規格を設定する構成であってもよい。
【0084】
このように、半導体システムSYS2では、制御装置1によるモジュールM1〜Mnの通信規格情報取得時、各モジュールM1〜Mnが、制御装置1から通信バスB1を介して供給される電圧と閾値電圧との比較結果を、通信規格の情報として制御装置1に送信する。それにより、制御装置1は、モジュールM1〜Mnから取得した通信規格の情報に基づいて、モジュールM1〜Mnとの間の通信規格を正しく設定することができる。その結果、制御装置1とモジュールM1〜Mnとの間で正常なデータ通信を行うことができる。
【0085】
また、半導体システムSYS2では、モジュールM1〜Mnに通信規格の異なるモジュールが存在する場合、制御装置1と各モジュールM1〜Mnとの間のデータ通信を行わない。それにより、データ通信の誤動作、及び、定格電圧以上の駆動電圧が供給されることによるモジュールの破壊を防ぐことができる。
【0086】
さらに、半導体システムSYS2では、各モジュールM1〜Mnの通信規格の情報が、追加の信号線を用いずに、既存の通信バスB1を介して制御装置1に伝達される。そのため、配線数の増大を防ぐことができる。
【0087】
(関連技術との差異)
なお、特許文献1の構成では、電源電圧供給部から複数の機器のそれぞれに対して電源電圧を供給しようとした場合、電源電圧供給部と、複数の機器のそれぞれと、を接続する複数の制御信号線が必要になるため、配線数が増大してしまう。他方、複数の機器を一つの制御信号線に接続しようとすると、複数の機器のそれぞれの合成抵抗が合成されてしまうため、電源電圧供給部が各モジュールM1〜Mnの合成抵抗(電源電圧情報)を正しく読み取ることができなくなってしまう。それに対し、半導体システムSYS2は、上記したように、配線数を増大させることなく、制御装置1と各モジュールM1〜Mnの通信規格を正しく設定することができる。
【0088】
<実施の形態3>
図9は、実施の形態3にかかる半導体システムSYS3の構成を示すブロック図である。半導体システムSYS2では、3.3Vの駆動電圧のモジュールと、5Vの駆動電圧のモジュールと、が通信バスB1に接続されている場合、制御装置1は何れのモジュールともデータ通信を行わなかった。それに対し、半導体システムSYS3では、制御装置1は、一方の駆動電圧(第1通信規格)のモジュールへの電圧供給を停止することで、他方の駆動電圧(第2通信規格)のモジュールとのデータ通信を可能にしている。以下、具体的に説明する。
【0089】
半導体システムSYS3では、半導体システムSYS2と比較して、各モジュールM1〜Mnが、待機状態設定回路18及び電源接続スイッチ(電源スイッチ)19をさらに備える。
【0090】
以下、各モジュールM1〜Mnを代表してモジュールM1に設けられた待機状態設定回路18及び電源接続スイッチ19について説明するが、モジュールM2〜Mnについても同様である。
【0091】
待機状態設定回路18は、制御回路11からの要求に応じてモジュールM1に対して駆動電圧を供給するか否かを制御する回路である。電源接続スイッチ19は、待機状態設定回路18からの制御信号により電源線VDDと自己の電源電圧端子との導通/非導通を切り替える回路である。
【0092】
図10は、待機状態設定回路18の構成例を示すブロック図である。
図10に示すように、待機状態設定回路18は、論理演算回路181及び否定論理積回路(以下、単にNAND回路と称す)182と、を有する。
【0093】
論理演算回路181は、検知信号RSTB及び信号SDA,SCLの値を論理演算した結果を出力する。NAND回路182は、論理演算回路181の出力と、検知信号RSTBと、の否定論理積を、待機状態設定回路18の制御信号として出力する。
【0094】
例えば、待機状態設定回路18は、以下に示す(a),(b),(c)の処理を行う。
(a)検知信号RSTBがLレベルの場合、待機状態設定回路18はHレベルの制御信号を出力する。(b)電源投入時の初期状態において検知信号RSTBがHレベル、信号SDAがHレベル、信号SCLがHレベルの場合に、信号SCLがLレベルに切り替わると、電源が再投入されるまで、論理演算回路181の出力がHレベルに固定されるため、待機状態設定回路18は制御信号をLレベルに固定する。(c)電源投入時の初期状態において検知信号RSTBがHレベル、信号SDAがHレベル、信号SCLがHレベルの場合に、信号SDAがLレベルに切り替わると、電源が再投入されるまで、論理演算回路181の出力がLレベルに固定されるため、待機状態設定回路18は制御信号をHレベルに固定する。
【0095】
図11は、電源接続スイッチ19の構成例を示す回路図である。
図11に示すように、電源接続スイッチ19は、PチャネルMOSトランジスタ(以下、単にトランジスタと称す)MP7を有する。
【0096】
トランジスタMP7は、電源線VDDと、モジュールM1の電源電圧端子と、の間に設けられ、待機状態設定回路18からの制御信号に応じてオン/オフを切り替える。例えば、待機状態設定回路18からの制御信号がLレベルの場合、トランジスタMP7がオンするため、電源線VDDと、モジュールM1の電源電圧端子と、が導通する。他方、待機状態設定回路18からの制御信号がHレベルの場合、トランジスタMP7がオフするため、電源線VDDと、モジュールM1の電源電圧端子と、は導通しない。
【0097】
なお、本実施の形態では、電源接続スイッチ19が電源線VDDにのみ設けられた場合について説明しているが、これに限られない。電源接続スイッチ19は、信号線SDA,SCLに設けられてもよい。
【0098】
(半導体システムSYS3の動作)
続いて、半導体システムSYS3の通信規格設定動作について説明する。
図12、
図13及び
図14は、半導体システムSYS3の通信規格設定動作を示すフローチャートである。
【0099】
まず、制御回路11は、イネーブル信号ENBをHレベル(ENB=1)にして、動作モードを通信規格取得モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオフするため、信号線SDA,SCLは何れもLレベルにプルダウンされる(
図12のステップS101)。それにより、モジュールM1には、Lレベルの信号SDA,SCLが供給される。
【0100】
また、制御回路11は、電圧制御信号S1をHレベル(S1=1)にする。それにより、供給電圧切替回路12に設けられたトランジスタMP1がオフし、トランジスタMP2がオンするため、電源線VDDには3.3Vの電源電圧VDD1が供給される(
図12のステップS102)。
【0101】
(i)全てのモジュールM1〜Mnの駆動電圧が3.3Vの場合
全てのモジュールM1〜Mnの駆動電圧が3.3Vの場合、電源線VDDに3.3Vの電源電圧VDD1が供給されると、各モジュールM1〜Mnに設けられた電圧検知回路16は、検知信号RSTBをLレベルからHレベルに切り替える(RSTB=1)(
図12のステップS103のYES)。
【0102】
それにより、各モジュールM1〜Mnの規格情報出力回路17に設けられたトランジスタMP5がオフし、トランジスタMP6がオンするため、信号線SCLはLレベルに保持され、信号線SDAはLレベルからHレベルにプルアップされる。それにより、制御回路11には、Hレベルの信号SDA及びLレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(1,0)となる(
図13のステップS104)。これにより、制御回路11は、全てのモジュールM1〜Mnの駆動電圧が3.3Vであると判定する。
【0103】
その後、制御回路11は、信号SDA,SCLをHレベルに設定後、信号SCLをHレベルからLレベルにプルダウンする(
図13のステップS401)。それにより、各モジュールM1〜Mnの待機状態設定回路18は、上記(b)の処理を行うため、制御信号をLレベルに固定する(
図13のステップS402)。それにより、各モジュールM1〜Mnの電源接続スイッチ19がオンするため(
図13のステップS403)、全てのモジュールM1〜Mnの内部回路14には、電源線VDDを介して3.3Vの電源電圧VDD1が供給される。
【0104】
その後、制御回路11は、イネーブル信号ENBをLレベル(ENB=0)にして、動作モードを通常動作モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオンするため、信号線SDA,SCLは何れもHレベルにプルアップされる(
図13のステップS105)。
【0105】
その後、制御装置1とモジュールM1〜Mnとは通常動作を開始する(
図13のステップS106)。つまり、制御装置1とモジュールM1〜Mnとの間でデータ通信が開始される。
【0106】
(ii)全てのモジュールM1〜Mnの駆動電圧が5Vの場合
全てのモジュールM1〜Mnの駆動電圧が5Vの場合、電源線VDDに3.3Vの電源電圧VDD1が供給されると、各モジュールM1〜Mnに設けられた電圧検知回路16は、検知信号RSTBをLレベルに保持する(RSTB=0)(
図12のステップS103のNO→ステップS201のYES)。
【0107】
それにより、各モジュールM1〜Mnの規格情報出力回路17に設けられたトランジスタMP5がオンし、トランジスタMP6がオフするため、信号線SCLはLレベルからHレベルにプルアップされ、信号線SDAはLレベルに保持される。それにより、制御回路11には、Lレベルの信号SDA及びHレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(0,1)となる(
図13のステップS107)。これにより、制御回路11は、全てのモジュールM1〜Mnの駆動電圧が3.3Vより大きいと判定する。
【0108】
その後、制御回路11は、電圧制御信号S1をLレベル(S1=0)にする。それにより、供給電圧切替回路12に設けられたトランジスタMP1がオンし、トランジスタMP2がオフするため、電源線VDDには5Vの電源電圧VDD2が供給される(
図13のステップS108)。
【0109】
電源線VDDに5Vの電源電圧VDD2が供給されると、各モジュールM1〜Mnに設けられた電圧検知回路16は、検知信号RSTBをLレベルからHレベルに切り替える。つまり、RSTB=1となる。それにより、各モジュールM1〜Mnの規格情報出力回路17に設けられたトランジスタMP5がオフし、トランジスタMP6がオンするため、信号線SDAはLレベルからHレベルにプルアップされ、信号線SCLはLレベルに保持される。それにより、制御回路11には、Hレベルの信号SDA及びLレベルの信号SCLが供給される。換言すると、(SDA,SCL)=(1,0)となる(
図13のステップS109)。これにより、制御回路11は、全てのモジュールM1〜Mnの駆動電圧が5Vであると判定する。
【0110】
その後、制御回路11は、信号SDA,SCLをHレベルに設定後、信号SCLをHレベルからLレベルにプルダウンする(
図13のステップS404)。それにより、各モジュールM1〜Mnの待機状態設定回路18は、上記(b)の処理を行うため、制御信号をLレベルに固定する(
図13のステップS405)。それにより、各モジュールM1〜Mnの電源接続スイッチ19がオンするため(
図13のステップS406)、全てのモジュールM1〜Mnの内部回路14には、電源線VDDを介して5Vの電源電圧VDD2が供給される。
【0111】
その後、制御回路11は、イネーブル信号ENBをLレベル(ENB=0)にして、動作モードを通常動作モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオンするため、信号線SDA,SCLは何れもHレベルにプルアップされる(
図13のステップS110)。
【0112】
その後、制御回路11とモジュールM1とは通常動作を開始する(
図13のステップS106)。つまり、制御回路11とモジュールM1との間でデータ通信が開始される。
【0113】
(iii)モジュールM1〜Mnの一部の駆動電圧が3.3V、残りが5Vの場合
モジュールM1〜Mnの一部の駆動電圧が3.3V、モジュールM1〜Mnの残りの駆動電圧が5Vの場合、3.3Vの駆動電圧のモジュールでは検知信号RSTBがHレベルになり、5Vの駆動電圧のモジュールでは検知信号RSTBがLレベルに保持される(
図12のステップS103のNO→ステップS201のNO)。
【0114】
そのため、3.3Vの駆動電圧のモジュールでは、ステップS104での処理と同様に、信号線SDAがHレベルにプルアップされ、5Vの駆動電圧のモジュールでは、ステップS107での処理と同様に、信号線SCLがHレベルにプルアップされる。それにより、制御回路11には、Hレベルの信号SDA,SCLが供給される。換言すると、(SDA,SCL)=(1,1)となる(
図12のステップS202)。これにより、制御回路11は、モジュールM1〜Mnの駆動電圧が同じでないと判定する。
【0115】
ここで、モジュールM1〜Mnのうち何れの駆動電圧のモジュールを使用するかを決定する(
図12のステップS301)。
【0116】
例えば、3.3Vの駆動電圧のモジュールを使用する場合(
図12のステップS301のYES)、制御回路11は、信号SCLをHレベルからLレベルにプルダウンする(
図12のステップS302)。それにより、3.3Vの駆動電圧の各モジュールに設けられた待機状態設定回路18は、上記(b)の処理を行うため、制御信号をLレベルに固定する(
図12のステップS303)。それにより、3.3Vの駆動電圧の各モジュールに設けられた電源接続スイッチ19がオンするため(
図12のステップS304)、3.3Vの駆動電圧の各モジュールには、電源線VDDを介して3.3Vの電源電圧VDD1が供給される。
【0117】
なお、このとき、5Vの駆動電圧の各モジュールでは、検知信号RSTBがLレベルに保持されている。したがって、5Vの駆動電圧の各モジュールに設けられた待機状態設定回路18は、上記(a)の処理を行うため、Hレベルの制御信号を出力している。それにより、5Vの駆動電圧の各モジュールに設けられた電源接続スイッチ19がオフするため、5Vの駆動電圧の各モジュールに電源電圧は供給されない。
【0118】
つまり、モジュールM1〜Mnのうち3.3Vの駆動電圧のモジュールのみ動作可能な状態となる(
図12のステップS305)。
【0119】
その後、制御回路11は、イネーブル信号ENBをLレベル(ENB=0)にして、動作モードを通常動作モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオンするため、信号線SDA,SCLは何れもHレベルにプルアップされる(
図12のステップS306)。
【0120】
その後、制御装置1と3.3Vの駆動電圧のモジュールとは通常動作を開始する(
図12のステップS307)。つまり、制御装置1と3.3Vの駆動電圧のモジュールとの間でデータ通信が開始される。
【0121】
一方、5Vの駆動電圧のモジュールを使用する場合(
図12のステップS301のNO)、制御回路11は、信号SDAをHレベルからLレベルにプルダウンする(
図14のステップS308)。それにより、3.3Vの駆動電圧の各モジュールに設けられた待機状態設定回路18は、上記(c)の処理を行うため、制御信号をHレベルに固定する(
図14のステップS309)。それにより、3.3Vの駆動電圧の各モジュールに設けられた電源接続スイッチ19がオフするため(
図14のステップS310)、3.3Vの駆動電圧の各モジュールに電源電圧は供給されない。
【0122】
その後、制御回路11は、電圧制御信号S1をLレベル(S1=0)にする。それにより、供給電圧切替回路12に設けられたトランジスタMP1がオンし、トランジスタMP2がオフするため、電源線VDDには5Vの電源電圧VDD2が供給される(
図14のステップS311)。また、それにより、5Vの駆動電圧の各モジュールでは、検知信号RSTBがHレベルになる。
【0123】
その後、制御回路11は、信号SDA,SCLをHレベルに設定後、信号SCLをHレベルからLレベルにプルダウンする(
図14のステップS312)。それにより、5Vの駆動電圧の各モジュールに設けられた待機状態設定回路18は、上記(b)の処理を行うため、制御信号をLレベルに固定する(
図14のステップS313)。それにより、5Vの駆動電圧の各モジュールに設けられた電源接続スイッチ19がオンするため(
図14のステップS314)、5Vの駆動電圧の各モジュールには、電源線VDDを介して5Vの電源電圧VDD2が供給される。
【0124】
つまり、モジュールM1〜Mnのうち5Vの駆動電圧のモジュールのみ動作可能な状態となる(
図14のステップS315)。
【0125】
その後、制御回路11は、イネーブル信号ENBをLレベル(ENB=0)にして、動作モードを通常動作モードに切り替える。それにより、信号電圧設定回路13に設けられたトランジスタMP3,MP4が何れもオンするため、信号線SDA,SCLは何れもHレベルにプルアップされる(
図14のステップS316)。
【0126】
その後、制御装置1と5Vの駆動電圧のモジュールとは通常動作を開始する(
図14のステップS317)。つまり、制御装置1と5Vの駆動電圧のモジュールとの間でデータ通信が開始される。
【0127】
このように、半導体システムSYS3では、制御装置1によるモジュールM1〜Mnの通信規格情報取得時、各モジュールM1〜Mnが、制御装置1から通信バスB1を介して供給される電圧と閾値電圧との比較結果を、通信規格の情報として制御装置1に送信する。それにより、制御装置1は、モジュールM1〜Mnから取得した通信規格の情報に基づいて、モジュールM1〜Mnとの間の通信規格を正しく設定することができる。その結果、制御装置1とモジュールM1〜Mnとの間で正常なデータ通信を行うことができる。
【0128】
また、半導体システムSYS3では、モジュールM1〜Mnに通信規格の異なるモジュールが存在する場合でも、制御装置1と、何れか一種類の通信規格のモジュールのみと、の間でデータ通信を行うことができる。
【0129】
さらに、半導体システムSYS2では、各モジュールM1〜Mnの通信規格の情報が、追加の信号線を用いずに、既存の通信バスB1を介して制御装置1に伝達される。そのため、配線数の増大を防ぐことができる。
【0130】
以上のように、上記実施の形態1〜3にかかる半導体システムでは、制御装置によるモジュールの通信規格情報取得時、モジュールが、制御装置から通信バスを介して供給される電圧と閾値電圧との比較結果を、通信規格の情報として制御装置に送信する。それにより、制御装置は、モジュールから取得した通信規格の情報に基づいて、モジュールとの間の通信規格を正しく設定することができる。その結果、制御装置とモジュールとの間で正常なデータ通信を行うことができる。
【0131】
また、上記実施の形態2,3にかかる半導体システムでは、モジュールが複数存在する場合でも、追加の信号線が不要であるため、配線数の増大を防ぐことができる。
【0132】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【0133】
例えば、上記の実施の形態に係る半導体装置では、半導体基板、半導体層、拡散層(拡散領域)などの導電型(p型もしくはn型)を反転させた構成としてもよい。そのため、n型、及びp型の一方の導電型を第1の導電型とし、他方の導電型を第2の導電型とした場合、第1の導電型をp型、第2の導電型をn型とすることもできるし、反対に第1の導電型をn型、第2の導電型をp型とすることもできる。