【実施例1】
【0014】
図1は本発明の半導体装置の概略を説明する図である。以下に説明する半導体装置は、本発明に係るコントローラICの一実施形態である。
【0015】
本発明の半導体装置1001は、主に、MCUブロック1003、USB制御ブロック1005、I/Oブロック1007、電源端子1009、電源端子1011及び電源端子1013を有している。
【0016】
MCUブロック1003は、電源端子1011に接続されている。MCUブロック1003内の全ての回路は、電源端子1011に供給される電源電圧VDD2に基づいて動作する。ここで、電源電圧VDD2に基づいて動作するとは、MCUブロック1003内の回路の電源ノードが、電源端子1011に接続されているが、電源端子1009及び電源端子1013には接続されていないということを意味する。例えば、CMOSインバータを例にとると、PMOSトランジスタのソース電極が電源端子1011に接続されているが、電源端子1009及び電源端子1013には接続されていないことを意味する。
【0017】
USB制御ブロック1005は、電源端子1009に接続されている。USB制御ブロック1005内の全ての回路は、電源端子1009に供給される電源電圧VDD1に基づいて動作する。ここで、電源電圧VDD1に基づいて動作するとは、USB制御ブロック1005内の回路の電源ノードが、電源端子1009に接続されているが、電源端子1011及び電源端子1013には接続されていないということを意味する。例えば、CMOSインバータの場合、PMOSトランジスタのソース電極が電源端子1009に接続されているが、電源端子1011及び電源端子1013には接続されていないことを意味する。
【0018】
I/Oブロック1007は、電源端子1013に接続されている。I/Oブロック1007内の全ての回路は、電源端子1013に供給される電源電圧VDD3に基づいて動作する。ここで、電源電圧VDD3に基づいて動作するとは、I/Oブロック1007内の回路の電源ノードが、電源端子1013に接続されているが、電源端子1009及び電源端子1011には接続されていないということを意味する。例えば、CMOSインバータの場合、PMOSトランジスタのソース電極が電源端子1013に接続されているが、電源端子1009及び電源端子1011には接続されていないことを意味する。各電源端子1009、1011、1013に供給される電圧のレベルについては後述する。
【0019】
本発明の半導体装置1001の特徴点の1つは、MCUブロック1003を構成する回路の電源ノードと、USB制御ブロック1005を構成する回路の電源ノードと、I/Oブロック1007を構成する回路の電源ノードとが互いに電気的に分離されていることである。このような構成を、以下セパレート電源方式と称す。このようなセパレート電源方式の半導体装置に電源電圧を供給する方法をセパレート電源供給方法と称す。
【0020】
本発明の半導体装置1001は、例えばUSB1019を介して上位装置であるPC1015と接続され、スロットもしくはデータバス1021を介して周辺部品であるフラッシュメモリ1017と接続される。半導体装置1001は、例えばPC1015とフラッシュメモリ1017との間で行われるデータ転送を制御する。
【0021】
MCUブロック1003、USB制御ブロック1005、I/Oブロック1007は、1つの半導体チップに集積化されている。集積化された半導体チップは、樹脂封止工程等を経てパッケージングされ、図示のような半導体装置1001となる。なお、MCUブロック1003、USB制御ブロック1005、I/Oブロック1007は、必ずしも1つの半導体チップに集積化されていなくても良い。例えば、MCUブロック1003とI/Oブロック1007とが第1の半導体チップに集積化され、USB制御ブロック1005が第2の半導体チップに集積化されていても良い。この場合、第1の半導体チップと第2の半導体チップは、樹脂封止工程等を経てパッケージングされ、図示のような半導体装置1001となる。パッケージングされた半導体装置1001の概観については後述する。
【0022】
図2は、本発明の半導体装置1001の使用方法の一例を説明する図である。
【0023】
図2には、上記セパレート電源供給方法を実現するために、電源端子1009と電源端子1011との間に電源電圧降下手段としてのダイオード2001が接続され、電源端子1011と電源端子1013との間に電源電圧降下手段としてのダイオード2003、2005が接続されている例が示されている。
【0024】
例えば、ダイオード2001のアノード及びダイオード2005のアノードに3.3Vが供給されると、USB制御ブロック1005及びI/Oブロック1007にはそれぞれ3.3Vが供給される。よって、USB制御ブロック1005及びI/Oブロック1007はそれぞれ3.3Vで動作する。
【0025】
一方、電源端子1011には、下記の式(1)、もしくは式(2)のいずれか高い方の電圧が現れる。すなわち、ダイオード2001、2003、2005は、外部から供給された2つの電源電圧のうちの一方を選択するスイッチング素子として機能する。“外部から供給された2つの電源電圧のうちの一方を選択する”とは、
図2で示された経路Aが選択されるか、経路Bが選択されるかということを意味する。
【0026】
(ダイオード2001のアノードの電圧)−(ダイオード2001の順方向降下電圧Vf)・・・式(1)
(ダイオード2005のアノードの電圧)−(ダイオード2003の順方向降下電圧Vf+ダイオード2005の順方向降下電圧Vf)・・・式(2)
ここで、ダイオードの順方向降下電圧Vfは、約0.45Vであると仮定する。
【0027】
今、ダイオード2001のアノードの電圧及びダイオード2005のアノードの電圧が共に3.3Vであるため、電源端子1011には、上記式(1)で計算された電圧レベルが現れる。(経路Aが選択される。)すなわち、電源端子1011には3.3V−0.45V=2.85Vが現れる。電源端子1011に2.85Vが供給されると、MCUブロック1003は2.85Vで動作する。電源端子1009,1011、1013の全てに電源電圧が供給されている状態を第1のモードと称す。
【0028】
一方、ダイオード2001のアノードの電圧が0Vであり、ダイオード2005のアノードの電圧が3.3Vである時は、電源端子1011には、上記式(2)で計算された電圧レベルが現れる。(経路Bが選択される。)すなわち、電源端子1011には3.3V−(0.45V+0.45V)=2.4Vが現れる。電源端子1011に2.4Vが供給されると、MCUブロック1003は2.4Vで動作する。電源端子1011、1013に電源電圧が供給されているが、電源端子1009には電源電圧が供給されていない状態を第2のモードと称す。
【0029】
図2における半導体装置1001の使用方法として、次のような例が考えられる。以下の例は、半導体装置1001がデジタルオーディオプレーヤー等の携帯可能な装置に組み込まれ、上位装置であるPCにUSBを介して接続されている場合が想定されている。
【0030】
電池によって駆動され3.3Vの電源電圧を出力する第1のレギュレータの出力を電源端子1013に接続し、USBの電源バスによって駆動され3.3Vの電源電圧を出力する第2のレギュレータの出力を電源端子1009に接続する。第1及び第2のレギュレータがともに3.3Vを出力している場合、半導体装置1001は、上記第1のモードになる。
【0031】
この第1のモードにおいては、経路Aが選択されるので、MCUブロック1003、USB制御ブロック1005は、USBの電源バスの電源電圧に基づいて動作するが、電池の起電力に基づいて動作するブロックはI/Oブロック1007のみである。USB制御ブロック1005は、比較的高い周波数のクロック信号を使用して動作する。しかし、USB制御ブロック1005の電源電圧は電池から供給されないので、電池の消耗を抑える事が可能である。言い換えると、USB制御ブロック1005の電源電圧であるUSBの電源バスには、上位装置であるPCから供給されるため、電池の起電力が、MCUブロック1003とUSB制御ブロック1005により消費されることはない。
【0032】
第1のレギュレータが3.3Vを出力し、第2のレギュレータが0Vを出力している場合、すなわち、半導体装置1001が上位装置から切り離されている場合、USBの電源バスから半導体装置1001への電源電圧の供給が停止される。半導体装置1001は、上記第2のモードになる。
【0033】
この第2のモードにおいては、電源端子1009に電源電圧が供給されないので、USB制御ブロック1005は動作を停止する。この第2のモードにおいては、半導体装置1001が上位装置であるPCから切り離されている。この第2のモードは、データの送受信(あるいはデータの通信とも称される。)が半導体装置1001とPCとの間で実行されないモードであるので、USB制御ブロック1005は動作を行う必要がない。従って、電源端子1009には電源電圧が供給される必要はない。
【0034】
電源端子1011には2.4Vが供給され、電源端子1013には3.3Vが供給される。電源端子1011、1013に供給される電源電圧は、第1のレギュレータを介して電池から供給される。第2のモードにおいては、I/Oブロック1007に加えて、MCUブロック1003が電池の起電力に基づいて動作する。しかしながら、MCUブロック1003の電源電圧2.4Vは、I/Oブロック1007の電源電圧3.3Vよりも低い。
【0035】
従って、本発明に基づくセパレート電源供給方法を採用すると、MCUブロック1003の電源電圧がI/Oブロック1007の電源電圧と同じである場合に比較して、電池の消耗をより抑えることができる。
【0036】
さらに、本発明に基づくセパレート電源供給方法を採用すると、上位装置とデータの送受信を行うUSB制御ブロック1005には、電池の起電力に基づく電源電圧が供給されない。従って、USB制御ブロック、MCUブロック、I/Oブロック等の全ての回路に対して、電池の起電力に基づく電源電圧が供給される一般的な携帯可能な装置に比較して、電池の消耗をより抑えることができる。なぜなら、動作に必要な回路ブロックのみに電源電圧が供給されるからである。
【0037】
以上の使用例では、電源端子1009に供給される電源電圧がUSBの電源バスから供給される例が説明されている。しかしながら、電源端子1009に供給される電源電圧は、USBの電源バスに限定されるものではない。電源端子1009に供給される電源電圧は、上位装置から供給される電源電圧であれば良い。言い換えると、電源端子1009に供給される電源電圧は、電池から供給される電源電圧以外のものであり、かつ上位装置から供給される電源電圧であれば良い。
【0038】
また以上の使用例では、電源端子1009に供給される電源電圧VDD1が3.3V、電源端子1011に供給される電源電圧VDD2が2.4V〜2.85V、電源端子1013に供給される電源電圧VDD3が3.3Vである例が説明されている。しかしながら、本発明のセパレート電源供給方法が、これらの電源電圧の値に限定されるものと解釈されるものではない。少なくとも第2のモード時において、MCUブロックに供給される電源電圧が、他のいかなるブロックに供給される電源電圧よりも低くなるような供給方法であれば良い。
【0039】
さらに、
図2の使用例では、電源端子1011に現れる電源電圧VDD2を、電源端子1013に現れる電源電圧VDD3よりも低くするための手段としてダイオード2003、2005が開示されている。しかしながら、本発明のセパレート電源供給方法が、以上の構成に限定されるものと解釈されるものではない。電池の起電力に基づき2.4Vの電源電圧及び3.3Vの電源電圧を出力するレギュレータを、電源端子1011及び電源端子1013に接続しても良い。要するに、VDD2<VDD3なる関係が電池の起電力に基づき生成できれば良い。但し、この場合、電源端子1011とレギュレータの出力端子との間には、逆流防止用のダイオードを設けることが望ましい。
【0040】
図3は、本発明の半導体装置1001のブロック図である。
図3は、
図1に示されている半導体装置1001をより詳細に説明した図である。
【0041】
半導体装置1001には、先に説明した電源端子1009、電源端子1011、電源端子1013の他に、データ端子3001、3003、接地端子3007、及びバス接続検出端子3009とが設けられている。半導体装置1001には、その他にも多くの端子が存在するが、本発明の説明を容易にするため全ての端子は開示されていない。
【0042】
データ端子3001、3003、電源端子1009、接地端子3007は、USBを構成する4本のラインに対応している。データ端子3001、3003は、USB制御ブロック1005に接続されている。
【0043】
データ端子3001は、USBの第1のデータ線を介して転送される上位装置からのデータD+を受信するための端子である。さらに、データ端子3001は、I/Oブロック1007を介して受信した、図示しないフラッシュメモリ等の周辺部品からのデータD+をUSBの第1のデータ線に対して送信するための端子である。この周辺部品からのデータD+には、MCUブロック1003で処理されたデータも含まれる。
【0044】
データ端子3003は、USBの第2のデータ線を介して転送される上位装置からのデータD−を受信するための端子である。さらに、データ端子3003は、I/Oブロック1007を介して受信した、図示しないフラッシュメモリ等の周辺部品からのデータをデータD−としてUSBの第2のデータ線に対して送信するための端子である。この周辺部品からのデータには、MCUブロック1003で処理されたデータである場合もある。データD+とデータD−とは互いに相補的である。故に、データ端子3001に接続されるUSBのうちの一本のバス及びデータ端子3003に接続されるUSBのうちの一本のバスは、データバス対と称される。
【0045】
USB制御ブロック1005は、例えば6MHzのクロック信号を48MHzのクロック信号に逓倍するPLL回路3011を有する。USB制御ブロック1005は、PLL回路3011の出力に基づき、データバス対からのデータを受信する。この受信したデータは、CPUの指示に基づき、他の回路、例えばMCUブロック1003内のDMAブロック3013へ転送される。さらに、USB制御ブロック1005は、CPUの指示に基づき、他の回路、例えばDMAブロック3013に格納されたデータをデータバス対を介して上位装置へ転送する。
【0046】
USBを使用したデータ転送は、12Mbps(フルスピード)、1.5Mbps(スロースピード)の速度で実行される。データ転送がこのような速度で実現されるためには、USB制御ブロック1005は、48MHzという比較的高い周波数で動作することが要求される。一方、MCUブロック1003は、12MHzという比較的低い周波数で動作させることにより、半導体装置全体の低消費電力化が図られている。特に、先に説明したような第2のモードにおいては、この効果は顕著である。
【0047】
MCUブロック1003は、図示したように、CPUと、割り込み要求発生回路INT、タイマ、PWM、ADコンバータ、ROM、RAM等の周辺回路とで構成されている。
これらCPU及び周辺回路は一般的なものであるため、これらの詳細な説明は省略する。
但し、割り込み要求発生回路INTに関する説明は後述する。
【0048】
MCUブロック1003は、さらに周辺回路としてDirectMemory Access block(以下、DMAブロックと称す。)を含む。このDMAブロック3013は、USB制御ブロック1005から転送されたデータD+、D−を一時的に格納し、この格納されたデータをI/Oブロック1007に接続されるフラッシュメモリ等の周辺部品へ転送する。さらに、このDMAブロック3013は、I/Oブロック1007に接続されるフラッシュメモリ等の周辺部品から転送されたデータを一時的に格納し、USB制御ブロック1005へ転送する。
【0049】
USB制御ブロック1005からDMAブロック3013へのデータの転送は、CPUからの指示により逐次実行されるものではない。よって、データ転送が高速に実行される。このようなデータ転送は、DMA転送として知られている。
【0050】
MCUブロック1003はさらに、USB制御ブロック1005から転送されたデータD+,D−に基づいて、MCUブロック1003内の所定の回路の動作を制御する制御信号を発生する機能を有する。
【0051】
バス接続検出端子3009には、USBコネクタを介して、USBを構成する電源バス5001(Vbusと称される。)が接続される。割り込み要求発生回路INTは端子3009に接続されており、この端子3009の電位レベルをモニターする。割り込み要求発生回路INTは、この端子3009の電位レベルをモニターすることによって、USBが半導体装置1001に接続されたことを検知し、CPUに割込み要求を出力する。この割込み要求によって、CPUは、半導体装置1001が上位装置であるPCと接続されたことを認識する。
【0052】
I/Oブロック1007は、半導体装置1001内のデータを周辺部品である例えばフラッシュメモリに出力する機能及びフラッシュメモリのデータを入力する機能を有する。
I/Oブロック1007は、主に入出力バッファで構成されている。この入出力バッファの電源電圧VDD3は、MCUブロック1003の電源電圧VDD2及びUSB制御ブロック1005の電源電圧VDD1とは独立して、周辺部品の動作電圧に対応して設定可能になっている。すなわち、半導体装置1001には、上記したセパレート電源方式が採用されている。
【0053】
具体的には、周辺部品であるフラッシュメモリの動作電圧が3.3Vであるため、入出力バッファには3.3Vが供給可能になっている。
【0054】
I/Oブロック1007にはさらに、発振回路3015が設けられている。発振回路3015は、例えば12MHzの発振信号を生成し、この発振信号に基づくクロック信号を出力する。このクロック信号は、レベルシフタ3017を介してMCUブロック1003に出力される。MCUブロック1003は、この12MHzのクロック信号に基づき動作する。12MHzのクロック信号は、1/2分周回路3023に供給され、6MHzのクロック信号に分周される。6MHzのクロック信号は、レベルシフタ3019を介してUSB制御ブロック1005内のPLL回路3011に伝達される。PLL回路3011は、6MHzのクロック信号を8倍に逓倍し、48MHzのクロック信号を出力する。USB制御ブロック1005は、この48MHzのクロック信号に基づき動作する。
【0055】
USB制御ブロック1005とMCUブロック1003との間には、レベルシフタ3019が設けられている。MCUブロック1003とI/Oブロック1007との間には、レベルシフタ3017、3021が設けられている。このように、電源電圧が異なるブロック間には、レベルシフタを設けなくてはならない。このことは、本技術分野においては周知な技術である。
【0056】
しかしながら、本発明の半導体装置1001には、特別なレベルシフタが採用されている。特に、レベルシフタ3019には、特別な構造が要求される。なぜなら、USB制御ブロック1005は、USBが半導体装置1001に接続されている時、USBの電源バス経由で電源供給を受けるが、USBが半導体装置1001から取り外された時は、電源の供給が断たれる。従って、単に電圧レベルを変換するだけでなく、電源の供給が断たれる時にも対応した特殊なレベルシフタが必要なのである。
【0057】
図4には、レベルシフタ3019の詳細回路図が示されている。
【0058】
レベルシフタ3019は、インバータ4001、4003、4005及び4007を有している。インバータ4001、4003の電源ノードは、電源端子1009に接続された電源端子VIに接続され、インバータ4005、4007の電源ノードは、電源端子1011に接続された電源端子VOに接続されている。
【0059】
さらにレベルシフタ3019は、USB制御ブロック1005からのデータを受信する入力端子INと、MCUブロック1003へデータを出力する出力端子OUTとを有する。
【0060】
さらにレベルシフタ3019は、PMOS4013とNMOS4015とで構成されたインバータINV1と、PMOS4017とNMOS4019とで構成されたインバータINV2とを有する。これらインバータINV1とINV2とは互いにクロス接続されており、ラッチ回路を構成している。
【0061】
さらにレベルシフタ3019は、ノードN1に接続されたNMOS4009と、ノードN2に接続されたNMOS4011を有している。
【0062】
インバータ4001、4003の電源ノードには、USB制御ブロック1005の動作電源であるVDD1が供給されているので、インバータ4001、4003は電源電圧3.3Vで動作する。よって、インバータ4001、4003は、0Vの論理Lレベル及び3.3Vの論理Hレベルを出力する。
【0063】
インバータ4005、4007の電源ノードには、MCUブロック1003の動作電源であるVDD2供給されているので、インバータ4005、4007は第1のモードの時、電源電圧2.85Vで動作し、第2のモードの時、2.4Vで動作する。よって、インバータ4001、4003は、第1のモードの時、0Vの論理Lレベル及び2.85Vの論理Hレベルを出力し、第2のモードの時、0Vの論理Lレベル及び2.4Vの論理Hレベルを出力する。
【0064】
次に、このレベルシフタ3019の動作を説明する。
(半導体装置1001が第1のモードの時)
USB制御ブロック1005から論理Hレベル(3.3V)の信号が入力端子INに与えられると、NMOS4009がオン状態になり、ノードN1が0Vになる。ノードN1が0Vになると、PMOS4017がオン状態になるので、ノードN2が2.85Vの論理Hレベルになる。ノードN2が論理Hレベルになると、出力端子OUTが論理Hレベルになる。またノードN2が論理Hレベルになると、NMOS4015がオン状態になる。このように、USB制御ブロック1005から出力された3.3Vの論理Hレベルが、MCUブロック1003へ2.85Vの論理Hレベルとして転送されたことになる。
【0065】
(半導体装置1001が第2のモードの時)
この状態で、半導体装置1001が上位装置から切り離されてしまった場合、上位装置からの電源供給が断たれてしまう。すなわち、半導体装置1001は第2のモードに入る。半導体装置1001が第2のモードに入ると、電源端子VIのレベルがフローティング状態になる。しかしながら、ラッチ回路を構成するインバータINV1、INV2には、電源端子VOから電源電圧2.4Vが供給されている。従って、第1のモード時にUSBブロック1005から出力された論理Hレベルは、このラッチ回路に記憶されている。よって、出力端子OUTの論理Hレベルは維持される。
【0066】
もし、レベルシフタ3019が、単なるレベルシフトを実行する機能のみを有する回路であれば、第2のモード時に出力端子OUTのレベルが不定になる。その結果、不定のレベルを受信するMCUブロック1003内の回路部において不要な貫通電流が生じ、消費電流が増大することなる。
【0067】
本発明のレベルシフタを採用することにより、USB制御ブロック1005の電流消費を完全に断つことができる。その結果、半導体装置1001全体の消費電流を低下させることが可能になる。
【0068】
図4に示した構造のレベルシフタは、複数個設けられている。また、入力端子INがMCUブロック1003に接続され、出力端子OUTがUSB制御ブロック1005に接続され、電源端子VIが電源端子1011に接続され、電源端子VOが電源端子1009に接続されているレベルシフタも、レベルシフタ3019として設けられている。なぜならば、MCUブロック1003とUSB制御ブロック1005との間は、双方向にデータが転送されるからである。
【0069】
図5は、本発明の半導体装置1001をデジタルオーディオプレーヤーに応用した例を示す図である。
図5に示す、半導体装置1001をデジタルオーディオプレーヤーに応用した例は、本発明に係るコントローラICを適用した携帯機器の一実施形態である。
【0070】
図5において、周辺部品としてのフラッシュメモリ1017、1.5Vの起電力を有する電池5009、電源バス5001、接地電圧バス5003、データバス対5005で構成されたUSBを除く全ての構成要素は、図示しない実装基板上に実装されている。実装基板は、デジタルオーディオプレーヤーに内蔵されている。
【0071】
フラッシュメモリ1017は、スロット1021に着脱可能になっている。電池5009は、図示しない電池用ボックスに着脱可能になっている。USBは、ケーブルの形態になっており、USBコネクタに着脱可能になっている。
【0072】
電源端子1009と、電源バス5001に対応するUSBコネクタの端子との間には、USBから供給される5Vの電源電圧を3.3Vに変換するレギュレータ5011が接続されている。電源バス5001に対応するUSBコネクタの端子と、バス接続検出端子3009とは実装基板上に形成された配線で接続され、この配線は例えば1Mオームの抵抗素子5013を介して接地されている。つまり、バス接続検出端子3009は抵抗素子5013によりプルダウンされている。
【0073】
データ端子3001とUSBコネクタとの間には、例えば22オームの抵抗素子5015が接続されている。
【0074】
データ端子3003とUSBコネクタとの間には、例えば22オームの抵抗素子5017が接続されている。
【0075】
接地端子3007と接地電圧バス5003に対応するUSBコネクタの端子との間は、他の配線よりも太い実装基板上に形成された配線で接続され、この配線は接地されている。他の配線よりも太い配線を使用する理由は、ノイズ低減のためである。
【0076】
電源端子1009と電源端子1011との間には、電源電圧降下素子としてのダイオード2001が接続されている。
【0077】
電源端子1011と電源端子1013との間には、電圧降下素子としてのダイオード2003とダイオード2005とが直列に接続されている。
【0078】
電源端子1013と、電池5009との間には、電池5009から供給される1.5Vの電圧を3.3Vに変換するレギュレータ5007が接続されている。レギュレータ5007の出力は、フラッシュメモリ1017の電源端子5019にも供給されている。
【0079】
図6は、半導体装置1001の外観を示す図である。
【0080】
図6において、“VBUS”が付与されている端子は
図5の電源端子1009に対応し、“P9 0/VBUSIN”が付与されている端子は
図5のバス接続検出端子3009に対応し、“D+”が付与されている端子は
図5のデータ端子3001に対応し、“D−”が付与されている端子は
図5のデータ端子3003に対応し、“VDD CORE”が付与されている端子は
図5の電源端子1011に対応し、“VDD IO”が付与されている端子は
図5の電源端子1013に対応する。
図6において、“VDDCORE”が付与されている端子は、複数個存在するが、これらは全て半導体装置1001の内部で共通接続されている。“VDD IO”が付与されている端子についても同様である。
【0081】
以上のようなデジタルオーディオプレーヤーにUSBケーブルが接続されることによって、このプレーヤーが上位装置であるPCに接続された場合の動作(第1のモード)と、USBケーブルが取り外されることによって、このプレーヤーがPCから離れた場所で使用可能になった場合の動作(第2のモード)は、上述した説明によって容易に理解されるであろう。