以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は、原則として省略する。
また、以下に説明する複数の実施の形態は、センシングの対象として温度を例としている。すなわち、周辺環境の温度を計測する例を説明するが、温度の計測に限定されるものではない。
(実施の形態1)
<電子装置および半導体装置の全体構成>
図1は、実施の形態1に係わる電子装置の構成を示すブロック図である。電子装置10は、電源装置(図では電源と記載、以下電源とも称する)2108、温度センサ(図ではセンサと記載、以下センサとも称する)2101、スイッチ2105および半導体装置1000とを備えている。特に制限されないが、半導体装置1000は、後で説明する複数の回路ブロックが、周知の半導体製造技術によって1個の半導体基板に形成され、1個の半導体装置とされている。また、この半導体装置1000は、CPUと記憶回路等を備えているため、所謂マイクロコントローラ(MCU)とも見なせる。
半導体装置1000は、複数の回路ブロックが含まれており、図1には、その一部の回路ブロックが示されている。同図において、1001はRTCであり、1002はコンパレータである。RTC1001は、タイマ回路として機能し、コンパレータ1002は、判定回路として機能する。1003はデジタル信号をアナログ信号へ変換するデジタル/アナログ(以下、DAと称する)変換回路であり、1004は、AD変換回路である。1005は、CPUであり、同図には示されていないメモリに格納されているプログラムに従って動作する。1006は、記憶回路であり、例えは書き換え可能な揮発性メモリ(例えば、所謂スタティック型メモリ)により構成されている。1007は、電気的に書き換え可能な不揮発メモリ(不揮発性メモリ)であり、例えばNVRAM、フラッシュメモリ等により構成されている。1009および1010のそれぞれは、スイッチである。また、1008は、アナログ信号を保持する保持回路であり、例えば容量を含む回路により構成されている。
スイッチ1009および2105のそれぞれは、1対のノードn1、n2と制御ノードcnとを有しており、制御ノードcnに供給される制御信号の電圧に従って、1対のノードn1、n2間を電気的に導通(オン状態)または非導通(オフ状態)にする。
また、スイッチ1010は、1対のノードn1、n2と、2個の制御ノードcn1、cn2を有している。スイッチ1010は、制御ノードcn2に、コンパレータからの制御信号(共通起動信号CS)が供給されことにより、ノードn1とn2との間を電気的に導通(オン状態)にし、制御ノードn1に、RTC1001からの制御信号(終了信号SW2)が供給されることにより、ノードn1とn2との間を電気的に非導通(オフ状態)にする。例えば、制御信号のハイレベルが、その制御信号が有効であるとした場合、制御ノードn2に供給されている共通起動信号CSがハイレベルになることにより、ノードn1とノードn2との間が導通し、制御ノードn1に供給されている終了信号SW2がハイレベルになることにより、ノードn1とノードn2との間が非導通となる。同様に、スイッチ1009および2105のそれぞれにおいても、制御ノードcnに供給される制御信号がハイレベルになることにより、1対のノードn1、n2間が導通し、制御ノードcnに供給される制御信号がロウレベルになることにより、1対のノードn1、n2間が非導通となる。
電源装置2108には、特に制限されないが、電源電圧Vdを供給する電源配線と接地電圧Vsを供給する接地配線とが接続されている。これらの配線のうち、図1には、電源電圧Vdを供給する電源配線VDLのみが示されており、接地配線は省略されている。省略されている接地配線は、センサ2101および半導体装置1000に接続されており、半導体装置1000に含まれている各回路ブロックに接続されている。これにより、センサ2101および半導体装置1000内の各回路ブロックに対して、電源装置2108から、接地電圧Vsが供給されている。
一方、電源配線VDLは、スイッチ2105のノードn1と半導体装置1000とに接続されている。半導体装置1000に接続された電源配線VDLは、半導体装置1000内において、RTC1001およびスイッチ1009、1010のノードn1に接続されている。
スイッチ2105のノードn2はセンサ2101に接続され、その制御ノードcnには、RTC1001からの制御信号(起動信号)SW1が供給されている。そのため、スイッチ2105は、RTC1001からの起動信号SW1に従ってオン状態またはオフ状態となる。例えばRTC1001からの起動信号SW1がハイレベルであれば、スイッチ2105はオン状態となり、ロウレベルであれば、オフ状態となる。スイッチ2105がオン状態となることにより、センサ2101には、スイッチ2105を介して電源電圧Vdが供給される。センサ2101は、電源電圧Vdと接地電圧Vsとを動作電圧として動作する。そのため、スイッチ2105を介して、電源電圧Vdが供給されることにより、センサ2101は動作し、そのときの温度を表すアナログ入力信号(センサデータ)を発生し、半導体装置1000へ供給する。
RTC1001は、電源電圧Vdと接地電圧Vsを動作電圧として動作する。そのため、電源配線VDLを介して電源電圧Vdが供給されることにより、RTC1001は動作する。
スイッチ1009のノードn2は、コンパレータ1002、DA変換回路1003、不揮発メモリ1007および保持回路1008に接続され、その制御ノードcnには、RTC1001からの制御信号(第1起動信号)SW3が供給されている。コンパレータ1002、DA変換回路1003、不揮発メモリ1007および保持回路1008のそれぞれは、電源電圧Vdと接地電圧Vsを動作電圧として動作する。すなわち、電源電圧Vdおよび接地電圧Vsが供給されることにより、動作する。コンパレータ1002、DA変換回路1003、不揮発メモリ1007および保持回路1008のそれぞれには、図示されていない接地配線を介して接地電圧Vsが供給されており、電源電圧Vdは、スイッチ1009を介して供給される。
そのため、RTC1001からの第1起動信号SW3によって、スイッチ1009が導通したとき、このスイッチ1009を介して、コンパレータ1002、DA変換回路1003、不揮発メモリ1007および保持回路1008のそれぞれに、電源電圧Vdが供給されることになる。すなわち、コンパレータ1002、DA変換回路1003、不揮発メモリ1007および保持回路1008のそれぞれは、RTC1001からの第1起動信号SW3に応答して、動作する。
この実施の形態においては、センサ2101からのセンサデータが、保持回路1008に保持され、コンパレータ1002によって比較されるようにするために、スイッチ2105とスイッチ1009とは、同期してオン/オフ状態となるようにされている。すなわち、第1起動信号SW3と起動信号SW1とは同期しており、センサ2101が動作状態にされたとき、保持回路1008およびコンパレータ1002も動作状態とされる。
スイッチ1010のノードn2は、AD変換回路1004、CPU1005および記憶回路1006に接続されている。このAD変換回路1004、CPU1005および記憶回路1006のそれぞれも、電源電圧Vdと接地電圧Vsを動作電圧として動作する。接地電圧Vsは、図示されていない接地配線を介して、AD変換回路1004、CPU1005および記憶回路1006のそれぞれに供給されている。一方、電源電圧Vdは、スイッチ1010を介して電源配線VDLから供給される。これにより、コンパレータ1002からの共通起動信号CSによって、スイッチ1010がオン状態にされると、当該スイッチ1010を介して、電源電圧Vdが、AD変換回路1004、CPU1005および記憶回路1006に供給される。すなわち、共通起動信号CSに応答して、AD変換回路1004、CPU1005および記憶回路1006のそれぞれが動作する。
この実施の形態においては、共通起動信号CSによって、AD変換回路1004、CPU1005および記憶回路1006のそれぞれが動作となるが、それぞれに対して別々のスイッチを設けるようにしてもよい。すなわち、スイッチ1010を例えば3個のスイッチ1010−1〜1010−3(図示せず)により構成し、スイッチ1010−1を電源配線VDLとAD変換回路1004との間に設け、スイッチ1010−2を電源配線VDLとCPU1005との間に設け、スイッチ1010−3を電源配線VDLと記憶回路1006との間に設けるようにしてもよい。この場合、スイッチ1010−1は、コンパレータ1002からの第2起動信号によってオン/オフ制御が行われ、スイッチ1010−2および1010−3は、コンパレータ1002からの第3起動信号によってオン/オフ制御が行われるようにする。この場合、第2起動信号と第3起動信号のそれぞれは、共通起動信号CSと同じ制御信号である。
第2起動信号および第3起動信号をそれぞれ伝達する信号配線の数を低減する等の観点から見た場合には、第2起動信号と第3起動信号とを共通とした共通起動信号CSを用いるのが望ましい。勿論、第2起動信号および第3起動信号だけでなく、スイッチ1010−3用の第4起動信号を設けるようにしてもよい。
保持回路1008は、第1起動信号に応答して、動作することにより、そのときのセンサデータ(アナログ信号)を保持する。保持されたセンサデータは、コンパレータ1002およびAD変換回路1004に供給される。コンパレータ1002は、後で図17を用いて、その構成を説明するが、保持回路1008から供給されたセンサデータの値とDA変換回路1003からの電圧値とを比較する。この場合、DA変換回路1003は、電圧の範囲を特定する電圧値を、コンパレータ1002へ供給する。すなわち、所定の電圧範囲の上限値を指定する上限電圧値と、所定の電圧範囲の下限値を指定する下限電圧値とを、DA変換回路1003は、コンパレータ1002へ供給する。
電気的に書き換え可能な不揮発メモリ1007は、それが動作することにより、所定の電圧範囲の上限値および下限値にそれぞれ対応するデジタル情報を、DA変換回路1003へ供給する。DA変換回路1003は、この上限値および下限値にそれぞれ対応したデジタル情報を、順次アナログ信号に変換する。変換されたアナログ信号の電圧を基準電圧として、コンパレータ1002は、センサデータの値が、所定の電圧範囲内に存在しているか否かの判定を行う。判定の結果を、共通起動信号CSおよび検出信号CCとして、スイッチ1010の制御ノードcn2およびRTC1001へ供給する。不揮発メモリ1007は、特に制限されないが、この実施の形態においては、レジスタ1、2として機能する。ここで、2個のレジスタの内のレジスタ1は、上記した所定の電圧範囲の下限値に対応するデジタル情報を格納し、レジスタ2は、上記した上限値に対応するデジタル情報を格納する。
この実施の形態においては、コンパレータ1002は、センサデータの値が、所定の電圧範囲内に存在しないとき、すなわち、センサデータの値が、所定の電圧範囲よりも高い値あるいは低い値のとき、コンパレータ1002は、ハイレベルの共通起動信号CSを発生し、スイッチ1010の制御ノードcn2へ供給する。ハイレベルの共通起動信号CSに応答して、スイッチ1010がオン状態となることにより、このスイッチ1010を介して電圧配線VDLからAD変換回路1004、CPU1005および記憶回路1006へ電源電圧Vdが供給される。すなわち、共通起動信号CSに応答して、AD変換回路1004、CPU1005および記憶回路1006のそれぞれが動作状態となる。
AD変換回路1004は、それが動作状態となることにより、そのとき保持回路1008に保持されているセンサデータの値をデジタル信号へ変換する。この変換されたデジタル信号は、CPU1005に供給される。CPU1005は、供給されたデジタル信号に対応するデジタル情報と、RTC1001からの時刻情報CNT2とを合わせて、記憶回路1006へ書き込む(保持させる)。これにより、センサ2101から出力されているセンサデータの値が、所定の電圧範囲内に存在しないときには、そのときのセンサデータ(アナログ信号)は、AD変換回路1004によって、デジタル信号へ変換され、そのデジタル信号に対応するデジタル情報とそのときの時刻情報CNT2が、記憶回路1006に保持されることになる。CPU1005は、記憶回路1006へのデジタル情報とそのときの時刻情報CNT2の書き込みを完了した後、RTC1001に対して制御信号(完了信号)CEを供給する。
RTC1001は、完了信号CEを受信すると、スイッチ1010の制御ノードcn1に対して、ハイレベルの終了信号SW2を供給する。これにより、スイッチ1010は、オン状態からオフ状態へと遷移する。スイッチ1010がオフ状態へ移行することにより、AD変換回路1004、CPU1005および記憶回路1006への給電が停止される。これにより、そのときのセンサデータに対応したデジタル情報とそのときの時刻情報CNT2が、記憶回路1006に格納された後は、AD変換回路1004、CPU1005および記憶回路1006のそれぞれは、非動作となり、消費電力の増加が抑制される。また、RTC1001は、完了信号CEを受信すると、起動信号SW1および第1起動信号SW3をロウレベルにする。これにより、スイッチ2105および1009がオフ状態へ遷移し、センサ2101、コンパレータ1002、DA変換回路1003および不揮発メモリ1007への給電が停止される。
一方、センサデータの値が、所定の電圧範囲内に存在するときには、コンパレータ1002は、共通起動信号CSを生成せずに、検出信号CCを生成する。共通起動信号CSが生成されないため、スイッチ1010の制御ノードn2にはロウレベルが供給され、当該スイッチ1010はオフ状態となり、AD変換回路1004、CPU1005および記憶回路1006への電源電圧Vdの供給が行われない。そのため、AD変換回路1004、CPU1005および記憶回路1006は、非動作状態を継続し、消費電力の増加を抑制することが可能となる。また、検出信号CCの形成(ハイレベル)に応答して、RTC1001は、起動信号SW1および第1起動信号SW3のそれぞれをロウレベルにする。これにより、スイッチ1009および2105のそれぞれがオフ状態となり、コンパレータ1002、DA変換回路1003、不揮発メモリ1007およびセンサ2101への電源電圧Vdの給電が停止され、低消費電力化が図られる。
特に制限されないが、この実施の形態においては、CPU1005は、不揮発メモリ1007に格納されているデジタル情報を変更あるいは更新する。例えば、記憶回路1006へ、AD変換回路1004からのデジタル信号に対応したデジタル情報とそのときの時刻情報CNT2とを、CPU1005が書き込んだ場合、当該デジタル情報に対して演算処理を行って求めたデジタル情報を、CPU1005で生成し、不揮発メモリ1007へ供給して、不揮発メモリ1007におけるレジスタ1および/またはレジスタ2の値を、変更あるいは更新する。これにより、新たな電圧範囲を、不揮発メモリ1007へ設定することが可能とされている。
例えば、CPU1005は、計測許容誤差を考慮した値(所定の閾値)を、センサデータに対応したデジタル情報に加算(減算)して、デジタル情報を生成し、不揮発メモリ1007のレジスタ1およびレジスタ2へ書き込む。すなわち、計測されたデジタル情報の値に対して、計測許容誤差だけ低い値に対応するデジタル情報と、計測許容誤差だけ高い値に対応するデジタル情報を生成し、レジスタ1およびレジスタ2に書き込み、次回の計測の際の所定の電圧範囲を定める。一例を述べるならば、計測されたデジタル情報が、25℃に対応する値であり、計測許容誤差が±0.2℃であった場合、24.8℃(=25℃−0.2℃)に対応するデジタル情報が、レジスタ1に書き込まれ、25.2℃(=25℃+0.2℃)に対応するデジタル情報が、レジスタ2に書き込まれる。これにより、次回の計測、すなわちセンサ2101からのセンサデータの値を判定する際には、24.8℃に対応する下限電圧と25.2℃に対応する上限電圧を有する電圧範囲が、センサデータの値と比較される所定の電圧範囲として用いられることになる。
図2は、図1に示した回路ブロックのうち、コンパレータ1002、保持回路1008、DA変換回路1003、不揮発メモリ1007およびセンサ2101に注目して、それらの接続関係を示す模式図である。図2においては、不揮発メモリ1007におけるレジスタ1が、1007−1として示され、レジスタ2が1007−2として示されている。特に制限されないが、DA変換回路1003は、レジスタ1007−1に書き込まれているデジタル情報を、アナログ情報へ変換し、コンパレータ1002へ供給する。コンパレータ1002は、保持回路1008からのセンサデータの値とDA変換回路1003からのアナログ情報とを比較し、センサデータの値が、所定の範囲の下限値よりも低いか否かの判定を行う。次のタイミングにおいては、DA変換回路1003は、レジスタ1007−2に書き込まれているデジタル情報を、アナログ情報へ変換し、コンパレータ1002へ供給する。これにより、コンパレータ1002は、センサデータの値が、所定の範囲の上限値を超えているか否かの判定を行う。
コンパレータ1002は、上限値を超えているあるいは下限値よりも低くなっていると判定した場合、既に述べたように、共通起動信号CS(図1)を発生する。一方、センサデータの値が、上限値と下限値との間に存在している場合には、コンパレータ1002は、共通起動信号CSを生成せず、検出信号CC(図1)を生成し、RTC1001へ供給する。
RTC1001は、後で図16を用いて、その構成例を示すが、所定の周期でクロック信号を生成するクロック発生回路を備えている。このクロック信号に基づいて、起動信号SW1および第1起動信号SW3が生成される。そのため、起動信号SW1および第1起動信号SW3も周期的にハイレベルとなり、前記したスイッチ1009および2105のそれぞれは、周期的に動作状態とされる。また、RTC1001は、検出信号CCを受信することにより、起動信号SW1および第1起動信号SW3のそれぞれをロウレベルにし、スイッチ1009および2105をオフ状態にする。また、RTC1001は、第1起動信号SW3を形成した後、スイッチ1010がオン状態にされている場合、CPU1005からの完了信号CEに応答して、終了信号SW2を生成する。これにより、スイッチ1010の制御ノードn1にハイレベルの終了信号SW2が供給されることになり、スイッチ1010は、オフ状態へと変化する。すなわち、センサデータが、所定の範囲から外れており、コンパレータ1002からの共通起動信号CSによって、スイッチ1010がオン状態にされた場合、CPU1005によってセンサデータに対応したデジタル情報と時刻情報CNT2が、記憶回路1006に書き込まれた後で、終了信号SW2がハイレベルとなる。これにより、スイッチ1010は、これらの情報が記憶回路1006に書き込まれた後で、オン状態からオフ状態へ遷移することになる。
なお、CPU1005とRTC1001との間は、完了信号CE、時刻情報CNT2だけでなく、種々の信号およびデータが送受信される。送受信される信号およびデータについては、後で図16および図17を用いて一例を説明するが、図1では、これらの信号およびデータは、CNRとして示されている。
<電子装置および半導体装置の全体動作>
次に、図3〜図13を用いて、図1に示した電子装置10の動作を、詳しく説明する。ここで、図3および図6〜図13のそれぞれは、図1に示した構成と同じ構成を示しており、図4および図5のそれぞれは、図2に示した構成と同じ構成を示している。これらの図において、図1および図2と同じ部分には、同一の符号を付している。但し、図3〜図13には、動作を示すために、動作に関連する部分には矢印の太線(白抜き)が追記されている。追記した矢印の太線を主に用いて、図3〜図13を説明する。
先ず、図3〜図7を用いて、センサデータを半導体装置1000が、周期的に計測する動作を説明する。
図3において、RTC1001に設けられているクロック発生回路(図3には図示せず)により発生されたクロック信号により、起動信号SW1および第1起動信号SW3はハイレベルとなる。また、このとき、RTC1001は、ロウレベルの終了信号SW2を形成し、コンパレータ1002は、ロウレベルの共通起動信号CSを形成する。これにより、スイッチ1009および2105のそれぞれはオン状態とされ、スイッチ1010はオフ状態とされる。スイッチ1009および2105がオン状態とされることにより、センサ2101は動作状態となり、コンパレータ1002、DA変換回路1003、保持回路1008および不揮発メモリ1007も動作状態となる。このとき、スイッチ1010はオフ状態であるため、AD変換回路1004、CPU1005および記憶回路1006のそれぞれは非動作状態、すなわち停止状態となる。この半導体装置100を、所謂マイクロコントローラと見なした場合には、低消費電力モードとなる。
センサ2101によるセンシングによって得られたセンサデータ(アナログ信号:最新のアナログデータ)は、図3において矢印付きの太線で示されているように、保持回路1008に供給され、保持回路1008によって保持され、コンパレータ1002に供給される。一方、不揮発メモリ1007のレジスタ1、2(図ではレジスタ1/2と記載、以下同様)には、例えば前回の計測によって得たデジタル信号に基づいたデジタル情報が格納されている。レジスタ1、2に格納されているデジタル情報は、DA変換回路1003によってアナログ信号へ変換され、所定の電圧範囲を示す下限値および上限値として、コンパレータ1002へ供給される。すなわち、前回の計測で得たデジタル情報に基づいた前回計測のアナログデータが、コンパレータ1002へ供給されることになる。
コンパレータ1002は、保持回路1008からの最新のアナログデータと、DA変換回路1003からの前回計測のアナログデータとを受信することになる。コンパレータ1002は、受信した前回の計測データと最新の計測データとを比較する動作を行う。ここで、コンパレータ1002の比較の動作を、図4および図5を用いて説明しておく。図4および図5のそれぞれは、先に説明した図2と同様に、図1に示した構成のうち、センサ2101、保持回路1008、コンパレータ1002、DA変換回路1003および不揮発メモリ1007に注目して、構成を示した模式図である。
不揮発メモリ1007のレジスタ1(1007−1)には、前回の計測において得られたデジタル情報に、許容誤差の値が減算されたデジタル情報(Min値)が格納されており、レジスタ2(1007−2)には、前回の計測において得られたデジタル情報に、許容誤差の値が加算されたデジタル情報(Max値)が格納されている。
DA変換回路1003は、特に制限されないが、先ず、図4に示すようにレジスタ1(1007−1)に格納されているデジタル情報(Min値)をアナログ信号へ変換し、コンパレータ1002へ供給する。コンパレータ1002は、最新のアナログデータとデジタル情報(Min値)に対応するアナログ信号との電圧比較を実行する。次に、DA変換回路1003は、図5に示すように、レジスタ2(1007−2)に格納されているデジタル情報(Max値)をアナログ信号へ変換し、コンパレータ1002へ供給する。コンパレータ1002は、最新のアナログデータとデジタル情報(Max値)に対応するアナログ信号との電圧比較を実行する。
これにより、コンパレータ1002は、保持回路1008から供給されている最新のアナログデータ(最新の計測データ)と前回の計測データ(前回のアナログデータ)とを比較することになる。この場合、許容誤差範囲内において、最新の計測データと前回の計測データとが一致するか否かの判定が行われることになる。すなわち、最新の計測データが、許容誤差を反映した上限値(Max値)と下限値(Min値)との間の範囲に納まっていれば、最新の計測データは、前回の計測データと同じであると判定し、最新の計測データが、許容誤差を反映した上限値(Max値)と下限値(Min値)との間の範囲から外れていれば、最新の計測データは、前回の計測データとは異なると判定する。この実施の形態においては、最新の計測データと前回の計測データとが同じと判定するか、異なると判定するかによって、以後の処理が変わる。最新の計測データと前回の計測データとが同じであるか異なるかは、コンパレータ1002から出力される共通起動信号CSによって表される。スクリーニング検査の知見に立ち戻って考えると、この共通起動信号CSは、さらに詳細に検査(計測)を実行するか否かを定める判定信号と見なすこともできる。
次に、最新の計測データが、前回の計測データと同じであると判定した場合の動作を説明する。すなわち、センサデータが、許容誤差範囲(所定の範囲)内に存在する場合の動作である。
最新の計測データが、許容誤差範囲内に存在する場合、コンパレータ1002は、図6に矢印付きの太線で示すように、検出信号CCを形成(ハイレベル)し、RTC1001へ供給する。RTC1001は、この検出信号CCに応答して、図7において、矢印付きの太線で示すように、スイッチ1009および2105のそれぞれを制御する第1起動信号SW3および起動信号SW1を変化させる。すなわち、起動信号SW1および第1起動信号SW3のそれぞれをロウレベルへ変化させる。これにより、スイッチ2105および1009のそれぞれは、オン状態からオフ状態へ変化し、センサ2101、コンパレータ1002、DA変換回路1003、不揮発メモリ1007および保持回路1008への電源電圧Vdの給電が停止される。これにより、消費電力の増加が抑制される。さらに、このときには、AD変換回路1004、CPU1005および記憶回路1006への電源電圧Vdの給電も停止されているため、消費電力の増加がさらに抑制されることになる。
図6に示した状態から図7に示す状態へ遷移すると、スイッチ2105、1009および1010のそれぞれがオフ状態となる。一方、後で図16を用いて示すが、RTC1001には、常時、電源電圧Vdが給電されているため、RTC1001のみが動作している状態となる。RTC1001は、電源電圧Vdが給電されているため、クロック発生回路が動作し、発生したクロック信号を用いて、予め定めた時間(TC)を計測し続ける。RTC1001は、予め定めた時間(TC)を経過する毎に、第1起動信号SW3および起動信号SW1を生成する。そのため、図3に示した状態から、予め定めた時間(TC)が経過すると、図7に示した状態は、図3に示した状態へ再び遷移する。すなわち、図3において述べたように、スイッチ2105および1009がオン状態にされ、センサ2101からのセンサデータの受信とコンパレータ1002による比較動作が、再度行われる。
次に、最新の計測データが、前回の計測データと異なると判定した場合の動作を、図8〜図13を用いて説明する。すなわち、センサデータが、許容誤差範囲(所定の範囲)内に存在しない場合の動作であり、図8〜図13のそれぞれは、センサデータが許容誤差範囲内に存在しない場合の動作を示す図である。
先ず、図3において、コンパレータ1002が、保持回路1008からの最新の計測データと、DA変換回路1003からの前回の計測データとを比較し、許容誤差範囲に、最新の計測データが納まっていない場合、コンパレータ1002は、図8に矢印付きの太線で示すように、共通起動信号CSを形成して、スイッチ1010の制御ノードn2へ供給する。すなわち、スイッチ1010の制御ノードn2へハイレベルの共通起動信号CSが供給され、当該スイッチ1010はオフ状態からオン状態へと変化する。スイッチ1010がオン状態へ変化することにより、図9に矢印付きの太線で示すように、スイッチ1010を介して、電源電圧Vdが、AD変換回路1004、CPU1005および記憶回路1006へ給電される。すなわち、共通起動信号CSに応答して、AD変換回路1004、CPU1005および記憶回路1006のそれぞれが動作を開始する。
AD変換回路1004、CPU1005および記憶回路1006のそれぞれが動作を開始したとき、スイッチ1009を介して保持回路1008、コンパレータ1002、DA変換回路1003および不揮発メモリ1007にも電源電圧Vdが給電されている。そのため、保持回路1008には、最新の計測データ(アナログ信号)が保持された状態となっている。これにより、AD変換回路1004には、図10に示すように、保持回路1008から最新の計測データが供給されることになる。
AD変換回路1004は、供給されている最新の計測データを、デジタル信号へ変換し、CPU1005へ供給する。CPU1005は、供給されたデジタル信号に対応するデジタル情報(最新の計測データに対応した)を記憶回路1006へ書き込む。また、このとき、CPU1005は、RTC1001から、そのときの時刻情報CNT2を取得し、この時刻情報CNT2を、最新の計測データに対応するデジタル情報とセットとして、記憶回路1006へ書き込む。また、CPU1005は、このとき取得した最新の計測データに対応するデジタル情報に対して、許容誤差を減算および加算するような演算処理を行い、次の計測に備えて、許容誤差範囲の上限値(Max値)と許容誤差範囲の下限値(Min値)を求める。求めた下限値(Min値)と上限値(Max値)を、図11に矢印付きの太線で示すように、CPU1005は、レジスタ1(1007−1)とレジスタ2(1007−2)へ供給し、書き込みを行う。ここでレジスタ1、2に書き込まれた下限値(Min値)および上限値(Max値)は、次の計測において、前回の計測データとして扱われることになる。
CPU1005は、レジスタ1、2へ下限値および上限値の書き込みが終わると、図12において矢印付きの太線で示すように、完了信号CEを形成し、RTC1001へ供給する。RTC1001は、完了信号CEを受信すると、図13に矢印付きの太線で示すように、終了信号SW2、起動信号SW1および第1起動信号SW3を変化させる。すなわち、RTC1001は、終了信号SW2をハイレベルにし、起動信号SW1および第1起動信号SW3のそれぞれをロウレベルにする。これにより、スイッチ1010、2105および1001のそれぞれはオン状態からオフ状態へ変化する。これらのスイッチがオフ状態にされることにより、センサ2101、コンパレータ1002、DA変換回路1003、不揮発メモリ1007、AD変換回路1004、CPU1005および記憶回路1006のそれぞれへの電源電圧Vdの給電が停止される。これにより、半導体装置1000は、停止あるいは低消費電力モードへと遷移することになる。
これらの回路ブロックへの電源電圧Vdの給電は停止されても、RTC1001への給電は継続されるため、RTC1001は、時間の計測を継続し、所定の時間(TC)が経過すると、起動信号SW1および第1起動信号SW3を形成する。これにより、再び、図3の状態に戻り、センサ2101からのセンサデータの受信およびコンパレータ1002による比較動作を、再び行う。
<電子装置および半導体装置の動作フローチャート>
図14は、図3〜図13を用いて説明した動作を示すフローチャート図である。図14の中央部分には、実行されるステップが、ステップS1400〜S1413として示されており、同図の左側部分には、センサデータが、許容誤差範囲内に存在する場合に実行されるステップの時間が示されている。また、図14の右側部分には、センサデータが、許容誤差範囲内に存在しない場合に実行されるステップの時間が示されている。
ステップS1400において、RTC1001がスイッチ2105および1009をオン(ON)状態にする(図3)。これにより、ステップS1401において、センサ2101、コンパレータ1002、DA変換回路1003、保持回路1008および不揮発メモリ1007が起動される。センサ210、コンパレータ1002、DA変換回路1003、保持回路1008および不揮発メモリ1007のそれぞれが起動されることにより、動作を開始し、ステップS1402において、コンパレータ1002は、保持回路1008に保持されているセンサデータと、不揮発メモリ1007からの前回のMin値とMax値との比較を実施する。この比較により、ステップS1403において、センサデータの値(センサ値)が、Min値とMax値との間の範囲内か否かの判定が行われる。
ステップS1403において、センサ値が、Min値とMax値との間の範囲内(許容誤差範囲内)に存在すると判定された場合(Yes)、ステップS1404、ステップS1405およびステップS1406の順に、ステップが実行される。一方、センサ値が、Min値とMax値との間の範囲内(許容誤差範囲内)に存在しないと判定された場合(No)、ステップS1407〜1413が順に実行される。すなわち、センサ値が、許容誤差範囲内に存在していても、存在していなくても、ステップS1400〜S1403は、共通に実行される。ステップS1400に要する時間は短いため、この共通のステップS1400〜S1403を実行するのに要する時間は時間Taとして示されている。
ステップS1403において、センサ値が許容誤差範囲内に存在していると判定された場合、ステップS1404において、RTC1001はスイッチ2105および1009をオフ(OFF)状態にする。また、RTC1001はステップS1405において、時間の計測を開始する。この場合、計測する時間は、時間Tbである。RTC1001は、時間の計測を開始した後、時間Tbを経過するまで、ステップS1406を繰り返し実行する。RTC1001は、時間Tbが経過すると、再び、ステップS1400を実行する。すなわち、RTC1001は再びスイッチ2105、1009をオン状態にする。
センサ値が、許容誤差範囲内に存在する場合、時間Tbの間は、スイッチ2105および1009がオフ状態にされている。また、スイッチ1010もオン状態へ変化させていないため、コンパレータ1002、DA変換回路1003、保持回路1008、不揮発メモリ1007、AD変換回路1004、CPU1005および記憶回路1006への電源電圧Vdの給電が停止されている。そのため、この場合には、時間Tbの間、消費電力の増加を抑制することが可能となる。
この実施の形態においては、スイッチ2105は、時間Taと時間Tbとの和の時間(Ta+Tb)を期間として、周期的にオン状態とされる。そのため、期間(Ta+Tb)を一周期として、周期的に温度の計測が行われることになる。
一方、センサ値が、許容誤差範囲内に存在しない場合には、ステップS1407において、コンパレータ1002が、スイッチ1010をオン(ON)状態へ変化させる。スイッチ1010がオン状態へ変化することにより、AD変換回路1004、CPU1005および記憶回路1006へ電源電圧Vdが給電され、ステップS1408において、AD変換回路1004、CPU1005および記憶回路1006のそれぞれが起動させられる。これらの回路ブロックが起動することにより、ステップS1409において、AD変換回路1004は、保持回路1008に保持されているセンサ値をAD変換する。また、このステップS1409において、CPU1005は、AD変換されたセンサ値(デジタル信号)を記憶回路1006へ書き込む。さらに、CPU1005は、RTC1001から、そのときの時刻情報CNT2を取り込み、センサ値(デジタル信号)とセットにして、記憶回路1006へ書き込む(格納)。
次に、ステップS1410において、CPU1005は、センサ値(デジタル信号)を今回計測された値として、この値に対して許容誤差の減算と加算を行い、Min値とMax値を算出する。算出したMin値とMax値を、CPU1005は、不揮発メモリ1007へ書き込む。すなわち、不揮発メモリ1007におけるレジスタ1(1007−1)に対して、Min値を書き込み、レジスタ2(1007−2)に対して、Max値を書き込む。
ステップS1409およびS1410を実行することにより、CPU1005の一連の処理が終了することになり、ステップS1410を実行すると、CPU1005は、完了信号CEをRTC1001へ供給する。特に制限されないが、完了信号CEは、ステップS1410において、CPU1005からRTC1001へ供給される。RTC1001は、完了信号CEを受信すると、これに応答して、ステップS1411において、スイッチ2105、1009および1010のそれぞれをオフ(OFF)状態へ変化させる。
また、RTC1001は、スイッチ2105、1009および1010をオフ状態へ変化させた後、ステップS1412において、時間の計測を開始する。この場合の時間はTdである。RTC1001は、時間Tdが経過するまで、ステップS1413を繰り返し実行し、時間Tdが経過すると、ステップS1400が再び実行される。
この時間Tdは、先に説明した時間Tbよりも短い時間であるが、スイッチ2105、1009および1010のそれぞれがオフ状態とされているため、この時間Tdの間は、コンパレータ1002、DA変換回路1003、保持回路1008、不揮発メモリ1007、AD変換回路1004、CPU1005および記憶回路1006のそれぞれに対して電源電圧Vdの給電が停止されている。そのため、この時間Tdの間、消費電力が増加するのを抑制することが可能となる。
図14において、ステップS1407〜S1411(スイッチ2105、1009および1010がオフ状態となるまで)が実行されている時間は、Teとして示されている。この時間Teの間は、スイッチ2105、1009および1010のそれぞれがオン状態となっている。この実施の形態においては、時間Teと時間Tdとの和の時間(Te+Td)が、時間Tbと同じになるように、例えば時間Tbまたは時間Tdが設定される。これにより、センサ値が許容誤差範囲内に存在しない(言い換えるならば、許容誤差範囲外に存在)場合においても、センサ2101によって温度をセンシングする周期は、センサ値が許容誤差範囲内に存在する場合と同じになる。なお、図14においては、時間Taと時間Teとの和の時間が、Tfとして示されており、時間Taと時間Tbの和の時間、言い換えるならば、時間Tfと時間Tdとの和の時間は、時間TCとして示されている。
図18は、この実施の形態に係わる電子装置の消費電力プロファイルを示す図である。先に示した図20の消費電力プロファイルと同様に、図18における横軸は時間tを示し、縦軸は電子装置10の消費電力Pを示している。図18に示したTC、Ta、Tb、Td、Te、およびTfのそれぞれは、時間を表しており、図14に示した時間TC、Ta、Tb、Td、Te、およびTfのそれぞれに対応する。
また、図18において、(1)〜(8)は、図19に示した計測時刻1〜計測時刻8を表している。例えば、図18における(1)は、図19に示した計測時刻1を表しており、(3)は、図19に示した計測時刻3を表している。すなわち、図18に示した(1)における時間Taにおいて、図19に示した計測時刻1における温度が、センサ2101によってセンシングされ、そのときのセンサデータが、図14に示したステップS1402において比較される。同様に、図18に示した(3)における時間Taにおいて、図19に示した計測時刻3における温度が、センサ2101によってセンシングされ、そのときのセンサデータが、図14に示したステップS1402において比較される。残りの計測時刻2、4〜8においても同様である。
図18には、計測時刻1、計測時刻2、計測時刻6および計測時刻8のそれぞれにおける、センサデータ(センサ値)が、それぞれの前回の計測で求めたMin値とMax値との間の範囲(許容誤差範囲)内に存在している例が示されている。また、計測時刻3〜計測時刻5および計測時刻7のそれぞれにおける、センサデータは、それぞれの前回の計測で求めたMin値とMax値との間の許容誤差範囲内に存在していない場合の例が、図18には示されている。そのため、図18において、計測時刻1、計測時刻2、計測時刻6および計測時刻8に対応する(1)、(2)、(6)および(8)のそれぞれにおける時間TCは、図14に示したステップS1400〜S1406が実行される時間TaおよびTbにより構成されている。一方、図18において、計測時刻3〜計測時刻5および計測時刻7に対応する(3)〜(5)および(7)のそれぞれにおける時間TCは、図14に示したステップS1400〜1403およびS1407〜1413が実行される時間Ta、TeおよびTdにより構成されている。
図18および図19では、計測時刻2の前回の計測は、計測時刻1に相当するが、計測時刻1では、センサデータに対応したMin値とMax値とを求めていないため、計測時刻1よりも前の時刻において実施された計測が、前回の計測となる。このように、前回の計測は、前回だけでなく、時間的に前に実施された計測を含むものと理解して頂きたい。
また、先に説明した図20と図18とを対応させた場合、図20に示したaの時間とbの時間の和が、図18に示した時間TCと同じになるように、時間TCを構成する時間TaおよびTb、あるいは時間Ta、TeおよびTdが設定される。これにより、図20に示したのと同じ周期(TC)で、温度をセンシングすることが可能となる。ここで、時間Taは、図14を用いた説明から理解されるように、主にコンパレータ1002が、センサデータと許容範囲(Min値、Max値)とを比較するために使われる時間である。また、時間Teは、AD変換回路1004によるAD変換に必要とされる時間と、そのときの時刻情報を取得するのに必要とされる時間と、許容誤差範囲を示すMin値およびMax値を算出するための時間と、記憶回路1006へ書き込むのに必要とされる時間とを有している。また、時間TbおよびTdは、RTC1001を除いた回路ブロック(この実施の形態においては、センサ2101、コンパレータ1002、DA変換回路、不揮発メモリ1007、AD変換回路1004、CPU1005および記憶回路1006)が非動作となっている時間であり、低消費電力モードとなっている時間である。
この実施の形態において、温度を計測する計測周期は、TCとなるが、計測周期(期間)TC内における時間の割り当てが、センサデータが、許容誤差範囲(所定の範囲)内に存在するか否かによって変化する。言い換えるならば、センシングする際のセンシング方法において、センシング内の時間割り当てが変化する。
すなわち、期間TCは、センサデータ(アナログ入力信号)の値が、所定の範囲内に存在しているか否かを判定する第1期間(Ta)と、RTCを除く回路ブロックが非動作となっている第2期間(TbまたはTd)とを有している。第1期間(Ta)において、センサデータの値が、所定の範囲内に存在しないと判定されたとき、期間TCに、CPU1005および記憶回路1006を含む処理回路が、センサデータに対応したデジタル情報を記憶回路1006に保持するように動作する第3期間(Te)が挿入され、第2期間が短く(Td)される。また、この実施の形態においては、この第3期間(Te)において、AD変換回路1004が動作して、センサデータに対応したデジタル信号が形成される。
図20に示した消費電力プロファイルと、図18に示した消費電力プロファイルとを比較した場合、期間(TC)の長さを同じにし、周期を同じにした場合、この実施の形態によれは、消費電力の増加を抑制することが可能である。すなわち、図20では、常に、時間aが発生し、時間aにおいて、センサデータのAD変換動作と、AD変換動作により得たデジタル信号を、CPUが記憶回路への書き込む動作が行われることになるため、消費電力が増加する。
これに対して、実施の形態においては、時間Taにおいては、コンパレータ1002による比較動作が行われるだけであり、例えば、時間a(図20)における消費電力の半分程度の消費電力で済む。また、コンパレータ1002が動作している時間も、短いため、例えば時間Taは、時間aの例えば半分程度の時間で済む。そのため、図20で、時間aにおいて消費される電力量に比べると、図18で、時間Taにおいて消費される電力量は、例えば4分の1程度となる。
図18に示した時間Teにおいては、図20の時間aと同様に、AD変換回路1004、CPU1005および記憶回路1006が動作することになる。この場合、時間Teにおいて、CPU1005は、許容誤差範囲に関する演算を実行する分だけ動作量が増加するが、簡便な演算であるため、この動作量による電力量の増加は無視できる程度である。また、時間Teにおいても、コンパレータ1002、DA変換回路1003、保持回路1008および不揮発メモリ1007に対して給電が行われているが、時間Taにおいて比較動作は終了しており、これらの回路における状態の変移はほとんどないため、給電が行われていても、消費電力の増加は無視できる程度である。そのため、図18に示した時間Teにおける消費電力量は、図20の時間aにおける消費電力量とほぼ同程度である。また、図20および図18のいずれにおいても、RTC1001は動作しているが、その消費電力量は小さいので、省略されている。
<RTC1001の構成および動作>
次に、RTC1001について、その一例を説明する。図16は、RTC1001の構成を示すブロック図である。RTC1001は、電源2108(図1)から、常時、電源電圧Vdおよび接地電圧Vsが給電される。図16において、VDLIは、電源配線VDL(図1)を介して電源電圧Vdが給電される内部電源配線を示しており、VSLIは、電源2108から接地配線(図示しない)を介して接地電圧Vsが給電される内部接地配線を示している。内部電源配線VDLIおよび内部接地配線VSLIのそれぞれは、以下に述べるRTC1001内の各回路に接続され、当該各回路には、電源電圧Vdおよび接地電圧Vsが、動作電圧として供給されている。
RTC1001は、クロック発生回路1600(CKG)、2個のカウンタ1601(CNT1)、1602(CNT2)および制御回路1603(RTC_CTL)を備えている。クロック発生回路1600は、動作電圧(電源電圧Vd、接地電圧Vs)が供給されることにより、所定の周波数のクロック信号を発生する。クロック発生回路1600によって発生したクロック信号は、カウンタ1601へ供給される。
カウンタ1601は、クロック発生回路1600からのクロック信号をカウントし、カウントした値(カウント値)を、制御回路1603へ供給する。また、カウンタ1601には、制御回路1603からリセット信号が供給される。カウンタ1601は、制御回路1603からリセット信号が供給されることにより、そのカウント値を所定の値へリセットする。カウンタ1601は、リセット後、再びクロック発生回路1600からのクロック信号をカウントし、カウント値を制御回路1603へ供給する。また、カウンタ1601は、リセットに応答して、カウンタ1602へクロック信号を供給する。カウンタ1602は、カウンタ1601から供給されるクロック信号をカウントする。
このように、カウンタ1601は、制御回路1603からリセット信号が供給される毎に、リセットされ、クロック信号のカウントを再開する。カウンタ1602は、カウンタ1601がリセットされる毎に、クロック信号が供給され、そのクロック信号をカウントする。そのため、カウンタ1602のカウント値は、カウンタ1601のリセット回数を基にした時刻情報CNT2(図1)となる。CPU1005は、カウンタ1602に接続されており、カウンタ1601のリセット回数を基にした時刻情報CNT2を、図14のステップS1409においてカウンタ1602から取得する。なお、カウンタ1601もCPU1005に接続されている。これにより、CPU1005は、カウンタ1601および1602のそれぞれに対して、リセットを行ったり、所定の値を設定するための信号あるいはデータCNR(図1)を供給することが可能とされている。
制御回路1603は、カウンタ1601からのカウント値、コンパレータ1002からの検出信号CCおよびCPU1005からの完了信号CEを受信し、これらの信号および値を基にして、カウンタ1601に対するリセット信号、起動信号SW1、終了信号SW2、第1起動信号SW3を生成する。図14に示したフローチャートを基にして、制御回路1603の動作を説明すると次の通りである。
先ず、ステップS1400(図14)において、制御回路1603は、リセット信号をカウンタ1601へ供給する。また、このとき、起動信号SW1および第1起動信号SW3のそれぞれをハイレベルにし、終了信号SW2をロウレベルにする。これにより、カウンタ1601は、クロック信号のカウントを開始し、スイッチ2105、1009(図1)はオン状態となる。
次に、ステップS1403において、検出信号CCの電圧を判定する。検出信号CCがハイレベルの場合、制御回路1603は、起動信号SW1および第1起動信号SW3のそれぞれをロウレベルにする。これによって、スイッチ2105、1009はオフ状態となる(ステップS1404)。また、制御回路1603は、このときのカウンタ1601からのカウント値を初期値として、時間Tbの計測を開始する(ステップS1405)。
制御回路1603は、特に制限されないが、この実施の形態においては、図14および図18において説明した時間Tbおよび時間Tdのそれぞれに対応したカウント値を予め格納している。これは、制御回路1603に記憶回路(図示しない)を設け、CPU1005によって、時間Tbおよび時間Tdにそれぞれ対応するカウント値を、記憶回路に設定しておく。このようにすることにより、時間Tdおよび時間Tbを任意に設定することが可能とされている。制御回路1603は、カウンタ1601からのカウント値が、初期値から時間Tbに対応したカウント値に到達するまで(ステップS1406)、起動信号SW1および第1起動信号SW3をロウレベルに維持し、カウンタ1601からのカウント値が、初期値から時間Tbに対応するカウント値に到達すると、起動信号SW1および第1起動信号SW3のそれぞれをハイレベルにする。これにより、ステップS1400の状態に戻る。
一方、ステップS1403において、検出信号CCがロウレベルの場合には、制御回路1603は、起動信号SW1および第1起動信号SW3のそれぞれをハイレベルに維持する。このときには、コンパレータ1002から共通起動信号CSがスイッチ1010の制御ノードn2へ供給されることにより、スイッチ1010がオン状態となり、図14に示したステップS1407〜S1410が実行される。ステップS1410においてCPU1005が一連の処理を完了すると、CPU1005から完了信号CEが、制御回路1603へ供給される。制御回路1603は、完了信号CEを受信することにより、起動信号SW1、第1起動信号SW3のそれぞれをロウレベルにし、終了信号SW2をハイレベルにする。これにより、スイッチ2105、1009および1010のそれぞれがオフ状態となる(ステップS1411)。また、このときのカウンタ1601からのカウント値を初期値として、制御回路1603は、時間Tdの計測を開始する(ステップS1412)。
制御回路1603は、カウンタ1601からのカウント値が、初期値から時間Tdに対応するカウント値に到達するまで、起動信号SW1および第1起動信号SW3のそれぞれをロウレベルにし、終了信号SW2をハイレベルにして、スイッチ2105、1009および1010のオフ状態を維持する(ステップS1413)。なお、時間Tdに対応するカウント値は、先に説明したように、図示しない記憶回路に格納されている。
カウンタ1601のカウント値が、初期値から時間Tdに対応するカウント値に到達すると、制御回路1603は、カウンタ1601に対してリセット信号を発生し、起動信号SW1および第1起動信号SW3のそれぞれをハイレベルにして、図14のステップS1400の状態へ戻る。
以後、上記した動作が繰り返される。制御回路1603からカウンタ1601へリセット信号が供給されることにより、カウンタ1601からカウンタ1602へクロック信号が供給されるため、カウンタ1602は、カウンタ1601のリセット回数をカウントしている。そのため、ステップS1409においては、カウンタ1602のカウント値を時刻情報CNT2として用いることができる。
時間Tbおよび時間Tdの計測は、そのときのカウンタ1601のカウント値を初期値として、カウンタ1601のカウント値が、時間TbおよびTdに対応するカウント値に到達したか否かで行うことを説明したが、これに限定されるものではない。この場合には、例えば、初期値と時間Tb(Td)に対応するカウント値との差分が、図示しない記憶回路に格納され、カウンタ1601のカウント値が差分に達したか否かで、時間Tb(Td)に到達したか否かを判定することができる。しかしながら、例えば、時間TCに対応するカウント値を、図示しない記憶回路に格納し、カウンタ1601のカウント値が、時間TCに対応するカウント値に到達したか否かを判定し、時間TCに到達したときに、ステップS1400が実行されるようにしてもよい。この場合には、時間Tbおよび時間Tdを任意に設定することが困難となるが、制御回路1603の簡素化を図ることが可能となる。
<コンパレータ1002の構成および動作>
図17は、コンパレータ1002の構成を示すブロック図である。図17には、後で説明する変形例の構成も破線で示されている。先ず、変形例に関する破線部分を除いて説明する。
コンパレータ1002は、比較回路1700(CMP)と、制御回路1701(CMP_CTL)とを備えている。比較回路1700および制御回路1701のそれぞれには、接地電圧Vsとスイッチ1009を介して電源電圧Vdが給電され、電源電圧Vdおよび接地電圧Vsを動作電圧として動作する。すなわち、スイッチ1009がオン状態とされることにより、電源電圧Vdが、比較回路1700および制御回路1701に給電され、それぞれが動作する。本願明細書では、コンパレータ1002を代表例として示しているが、他の回路ブロック(DA変換回路1003、不揮発メモリ1007、保持回路1008、AD変換回路1004、CPU1005および記憶回路1006)も同様に、スイッチ1009、1010がオン状態にされることにより、電源電圧Vdが給電され、動作する。
比較回路1700は、1対の入力端子I1およびI2を有しており、センサ2101(図1)からのセンサデータが、保持回路1008(図1)を介して、入力端子I1に入力され、不揮発メモリ1007からMin値(下限値)およびMax値(上限値)が、入力端子I2に入力される。この実施の形態においては、不揮発メモリ1007から供給されるMin値とMax値は、時分割で、入力端子I2へ入力される。すなわち、Min値が入力端子I2に供給され、次にMax値が入力端子I2に供給される。比較回路1700は、スイッチ1009を介して電源電圧Vdが給電されると、入力端子I2に供給されているMin値と入力端子I1に供給されているセンサデータの値とを比較し、比較の結果を制御回路1701へ供給する。次に、入力端子I2に供給されているMax値とセンサデータの値とを比較し、比較の結果を制御回路1701へ供給する。この場合、比較回路1700の入力端子I1には、保持回路1008に保持されているセンサデータが供給されるため、Min値およびMax値と比較されるセンサデータの値は、同じ値である。
制御回路1701は、比較回路1700から供給された2個の比較結果を基にして、検出信号CCおよび共通起動信号CSを形成し、検出信号CCをRTC1001へ供給し、共通起動信号CSをスイッチ1010の制御ノードn2へ供給する。比較回路1700の比較結果に基づいて、センサデータの値が、Min値よりも高く、Max値よりも低いと、制御回路1701が判定した場合、すなわち、センサデータの値が、許容誤差範囲内に存在すると判定した場合、制御回路1701は、共通起動信号CSをロウレベルにし、検出信号CCをハイレベルにする。共通起動信号CSがロウレベルとなることにより、スイッチ1010はオフ状態を継続し、検出信号CCがハイレベルとなることにより、RTC1001は、起動信号SW1および第1起動信号SW3のそれぞれをロウレベルへ変化させ、図14のステップS1404において述べたように、スイッチ2105、1009のそれぞれは、オン状態からオフ状態へと遷移する。
これに対して、比較回路1700の比較結果に基づいて、センサデータの値は、Min値よりも低い、またはMax値よりも高いと、制御回路1701が判定した場合、制御回路1701は、共通起動信号SW2をハイレベルにし、検出信号CCをロウレベルとする。ロウレベルの検出信号CCによって、RTC1001は、起動信号SW1および第1起動信号SW3を継続してハイレベルの状態にする。これにより、スイッチ2105および1009のそれぞれはオン状態を継続する(図14のステップS1407)。また、共通起動信号CSがハイレベルとなることにより、図14のステップS1407において、スイッチ1010がオン状態となる。
このように、センサデータが、前回の計測結果に対して許容誤差範囲内に存在するか否かが、コンパレータ1002によって判定される。
この実施の形態においては、センサデータが、所定の範囲(許容誤差範囲)内に存在していないとき、すなわち許容誤差範囲を超えていた場合に、処理回路を動作させる時間Teが発生し(挿入され)、センサデータが所定の範囲内に存在する場合には、処理回路を動作させる時間が発生しない(挿入されない)。周期的に行われる計測において、処理回路を含む回路ブロックを動作させない時間の割合を大きくすることが可能となるため、消費電力の増加を抑制することが可能となる。
より具体的に述べるならば、この実施の形態においては、センサからのセンサデータ(アナログ信号)を半導体装置で周期的に取得する際に、比較的緩やかに計測値が変動する場合(例えば図19)は、コンパレータ1002で前回の計測結果に基づいた値(許容誤差を考慮した値)と、センサデータとを比較判定する処理のみで、計測値を特定する。そのため、半導体装置内でAD変換動作等を行う動作頻度を下げることができる。例えば、図20に比べると、図18に示した実施の形態による消費電力プロファイルでは、電子装置10の全体の消費エネルギーを、ほぼ半分以下にすることが可能である。
このように、実施の形態においては、半導体装置で行われるAD変換動作等の動作頻度を下げることができるので、電子装置全体の消費エネルギーを抑制あるいは低減することが可能である。
<変形例>
図1においては、センサ2101からのセンサデータが、保持回路1008によって保持され、保持回路1008によって保持されたアナログ信号であるセンサデータが、コンパレータ1002およびAD変換回路1004に供給されている。すなわち、保持回路1008が、コンパレータ1002およびAD変換回路1004に対して共通とされている。これにより、AD変換回路1004は、コンパレータ1002においてMax値およびMin値と比較されたセンサデータと同じセンサデータを、AD変換することが可能となる。これにより、センサデータの変化が、時間的に早くても、許容誤差範囲を外れたときのセンサデータをAD変換して、記憶回路1006(図1)へ格納することが可能となる。
保持回路は、コンパレータ1002およびAD変換回路1006に対して共通でなくてもよい。すなわち、図17において破線で示すように、保持回路1702は、コンパレータ1002に設けるようにしてもよい。この場合、図1に示した保持回路1008は削除される。
保持回路1702は、センサデータを保持し、比較回路1700の入力端子I1へ供給する。この場合も、保持回路1702には、スイッチ1009を介して電源電圧Vdが供給される。これにより、比較回路1700が2回の比較動作において、すなわちMin値とセンサデータとを比較する動作と、Max値とセンサデータとを比較する動作とにおいて、保持されているセンサデータを比較回路1700の入力端子I1へ継続して供給することが可能とされている。
この変形例においては、コンパレータ1002において比較を行った際のセンサデータと、AD変換回路1004によりAD変換を行う際のセンサデータとが異なることが考えられる。しかしながら、センサデータの値の時間的な変化が緩やかであれば、コンパレータ1002で比較を行う際のセンサデータと、AD変換の際のセンサデータとの差異は少ないため、問題なく適用することが可能である。
(実施の形態2)
図15は、実施の形態2に係わる電子装置の構成を示すブロック図である。図15に示す電子装置10は、図1に示した電子装置と類似しているので、ここでは相違点を主に説明する。図1に示した電子装置に対して、この実施の形態2に係わる電子装置10においては、半導体装置1000の構成が変更されている。すなわち、図1に示した不揮発メモリ1007の代わりに、揮発メモリ(揮発性メモリ)1500が用いられている。この揮発性メモリ1500は、不揮発メモリ1007と同様に、2個のレジスタ1、2として機能する。2個のレジスタ1、2(図15では、レジスタ1/2と記載)のそれぞれは、論理回路により構成されている。例えば、レジスタ1、2のそれぞれを、複数のフリップフロップ回路で構成し、それぞれのフリップフロップ回路は、互いに入出力が交差接続された1対のインバータ回路によって構成されている。
この実施の形態2におけるレジスタ1は、図1および図2に示した不揮発メモリ1007のレジスタ1(1007−1)と同様に動作し、レジスタ2は、揮発性メモリ1007のレジスタ2(1007−2)と同様に動作する。すなわち、下限値(Min値)が、レジスタ1に書き込まれ、上限値(Max値)が、レジスタ2に書き込まれる。電子装置10の動作は、実施の形態と同じであるので、詳しい説明は省略するが、このレジスタ1および2は、論理回路で構成され、揮発性メモリであるため、電源電圧Vdの給電が停止されると、格納している下限値および上限値が消失してしまう。そのため、この実施の形態2においては、RTC1001と同様に、揮発性メモリ1005(すなわち、レジスタ1、2)には、常時電源電圧Vdが給電されている。これにより、レジスタ1および2は、常時動作をし、下限値および上限値が消失してしまうことを防ぐことが可能とされている。
不揮発メモリを半導体装置1000に形成する場合、不揮発メモリの特性を考慮して、半導体装置を製造する製造プロセスを選ぶことが必要とされ、コストアップに繋がることが考えられる。実施の形態2においては、不揮発メモリを用いていないため、コストアップを抑制することが可能となる。
(実施の形態3)
実施の形態1および2においては、スイッチ2105、1009および1010によって、電源電圧Vdを回路ブロックに供給するか否かを制御していた。
この実施の形態3においては、センサ2101、コンパレータ1002、DA変換回路1003、保持回路1008、レジスタ1および2、AD変換回路1004、CPU1005および記憶回路1006のそれぞれが、動作クロック信号に従って動作する回路により構成される。また、これらの回路には、常時電源電圧Vdと接地電圧Vsが給電されている。
スイッチ2105、1009および1010のそれぞれの代わりに、制御信号に従って動作クロック信号の供給を停止することが可能なクロック信号制御回路が設けられる。
すなわち、スイッチ2105の代わりに、RTC1001からの起動信号SW1に従って、センサ2101への動作クロック信号の供給を停止する第1クロック信号制御回路が設けられる。また、スイッチ1009の代わりに、RTC1001からの第1起動信号SW3に従って、コンパレータ1002、DA変換回路1003およびレジスタ1、2への動作クロック信号の供給を停止する第2クロック信号制御回路が設けられる。さらに、スイッチ1010の代わりに、コンパレータ1002からの共通起動信号CSに従って、AD変換回路1004、CPU1005および記憶回路1006へ動作クロック信号を供給し、RTC1001からの終了信号SW2に従って、AD変換回路1004、CPU1005および記憶回路1006への動作クロック信号の供給を停止する第3クロック信号制御回路が設けられる。
第1クロック信号制御回路、第2クロック信号制御回路および第3クロック信号制御回路のそれぞれは、実施の形態1および2において対応するスイッチ2105、1009および1010のそれぞれが、オン状態となるときに、動作クロック信号を供給し、実施の形態1および2において対応するスイッチ2105、1009および1010のそれぞれが、オフ状態となるときに、動作クロック信号の供給を停止する。このようにすることにより、実施の形態3においては、実施の形態1および2において電源電圧Vdの給電が停止されているときには、動作クロック信号の供給が停止されることになり、実施の形態1および2と同様に、消費電力の増加を抑制することが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、実施の形態1〜3においては、RTC1001は、所謂マイクロコントローラに内蔵されているように説明したが、RTC1001は、マイクロコントローラとは、別にしてもよい。また、実施の形態1および2においては、電源電圧Vdの給電をスイッチ2105、1009および1010により制御していたが、接地電圧Vsの給電をスイッチによって制御するようにしてもよい。
さらに、電源電圧Vdとして1種類の電源電圧を例として説明したが、複数種類の電源電圧を、スイッチにより制御してもよい。例えば、コンパレータ1002、DA変換回路1009およびCPU1005のそれぞれが動作するために要求する動作電圧の電圧値が異なる場合、動作電圧毎にスイッチを設けてもよい。すなわち、コンパレータ1002が要求する動作電圧とコンパレータ1002との間に第1スイッチを設け、DA変換回路1003が要求する動作電圧とDA変換回路1003との間に第2スイッチを設け、さらにCPU1005が要求する動作電圧とCPU1005との間に第3スイッチを設けるようにしてもよい。この場合には、第1スイッチと第2スイッチが第1起動信号SW3によって制御され、第3スイッチは、終了信号SW2と共通起動信号CSとによって制御されることになる。
また、半導体装置1000内における電源電圧と、半導体装置1000外の電源電圧とは異なる電圧であってもよい。例えば、半導体装置1000内に電圧変換回路が設けられた場合、この電圧変換回路からの電圧が、スイッチ1009および1010に供給されるようにすればよい。