(57)【要約】【課題】半導体装置にリセット動作が発生した場合でも正確に時間を計測できる半導体装置を提供する。【解決手段】本発明に係る半導体装置は、所定の周波数の信号を生成する発振回路と、前記発振回路で生成された前記信号を分周して、第１の分周信号を生成する第１の分周回路と、前記第１の分周信号を用いて計時動作を行う計時回路と、前記半導体装置を制御するプロセッサと、前記発振回路で生成された信号を分周して、前記プロセッサに入力される第２の分周信号を生成する第２の分周回路とを備える。【選択図】図２
2014052227.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置において、
所定の周波数の信号を生成する発振回路と、
前記発振回路で生成された前記信号を分周して、第１の分周信号を生成する第１の分周回路と、
前記第１の分周信号を用いて計時動作を行う計時回路と、
前記半導体装置を制御するプロセッサと、
前記発振回路で生成された信号を分周して、前記プロセッサに入力される第２の分周信号を生成する第２の分周回路とを備えたことを特徴とする半導体装置。
【請求項２】
前記第１の分周回路と前記第２の分周回路とは異なるリセット条件でリセットされることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記第１の分周回路は前記半導体装置に電源投入された場合にのみリセットされ、前記第２の分周回路は前記半導体装置に電源投入された場合および、前記プロセッサで動作するプログラム異常または前記半導体装置における電圧変動の少なくとも一方を検出した場合にリセットされることを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記発振回路に信号を入力する発振子をさらに備え、
前記半導体装置は前記発振子とともに樹脂封止されていることを特徴とする請求項１〜３のいずれか１項に記載の半導体装置。
【請求項５】
所定の温度における測定値を記憶する記憶部をさらに備え、
前記プロセッサは、前記記憶部に格納された値を用いて、少なくとも前記第１の分周回路または前記第２の分周回路のいずれか一方に対して周波数補正処理を行うことを特徴とする請求項１〜４のいずれか１項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計時機能を備えた半導体装置に関するものである。
【背景技術】
【０００２】
電力メータやガスメータなどの計測機器は時間を測定する必要があるため、計時機能を備えた半導体装置が内蔵されている。
【０００３】
このような計時機能を有する半導体装置は、図１に示すように、ＸＴ０、ＸＴ１端子に例えば３２．７６８ＫＨｚの周波数を有する発振子１０が接続されている。ＸＴ０、ＸＴ１端子それぞれとグラウンド間には負荷容量（ＣＧＬ１１、ＣＤＬ１２）が接続されている。また、半導体装置１には半導体装置１の温度を測定する温度計１３が接続されていてもよい。
【０００４】
半導体装置１は、発振回路１４、分周回路１５、計時回路１６、ＣＰＵ１７、メモリ１８、周辺回路１９を有する。発振回路１４からは、発振子１０の周波数である３２．７６８ＫＨｚの周波数の発振信号が出力される。分周回路１５には発振回路１４から出力された発振信号が入力され、その発振信号を分周して各回路で必要とされる信号を生成する。計時回路１６は分周回路１５で生成された信号を用いて時間の計測を行う。ＣＰＵ１７は、半導体装置１における各種処理を実行する。メモリ１８にはＣＰＵ１７の処理に用いられるデータならびに、ＣＰＵ１７で実行されるプログラム等が記憶されている。また、バスを介して半導体装置１で用いられる周辺回路１９が接続されるとともに、半導体装置１に対するリセット動作を指示するリセット信号が入力されて、リセット対象となる回路に対してリセット信号を出力するリセット回路２０が備えられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−４６９９２号公報
【特許文献２】特開２０１０−１６９４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このような半導体装置１が内蔵された電力メータが、設置箇所に設置された後、例えば半導体装置１への供給電力の低下やノイズによる電源電圧の大きな変動が原因で、リセット回路２０によって半導体装置１がリセットされることがある。このようなリセット処理が計時回路１６に対して実行されると、半導体装置１が有する計時機能が停止してしまい、計測時間に誤差が生じるという問題があった。
【０００７】
ここで特許文献１には、リセット処理にかかる時間が約０．５秒であることから、２回リセットが発生するごとに時間を１秒進めることが開示されている。また特許文献２にはリセット処理にかかる時間を不揮発性メモリに記憶しておき、リセット処理完了後その値を加算することが開示されている。
【０００８】
しかしながら、このようにリセットが発生した場合に、あらかじめ設定しておいたリセット時間に相当すると考えられる時間を加算する方法では、実際にリセット時にかかる時間が不定値の場合には正確に補正を行うことが困難である。そのために計時結果に誤差が生じる懸念がある。
【０００９】
そこで本発明では、半導体装置にリセットが発生した場合でも正確に時間を計測できる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係る半導体装置は、所定の周波数の信号を生成する発振回路と、前記発振回路で生成された前記信号を分周して、第１の分周信号を生成する第１の分周回路と、前記第１の分周信号を用いて計時動作を行う計時回路と、前記半導体装置を制御するプロセッサと、前記発振回路で生成された信号を分周して、前記プロセッサに入力される第２の分周信号を生成する第２の分周回路とを備える。
【発明の効果】
【００１１】
本発明によれば、半導体装置にリセットが発生した場合でも正確に時間を計測できる半導体装置を提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】従来の半導体装置の構成図である。
【図２】本発明の第１実施例にかかる半導体装置の構成図である。
【図３】リセット信号線と各分周回路との接続図である。
【図４】本発明の第２実施例にかかる半導体装置の構成図である。
【図５】半導体装置における温度と周波数偏差との関係を示す図である。
【発明を実施するための形態】
【００１３】
以下、図を用いて本発明の実施の形態について説明する。
【００１４】
（第１実施形態）
図２は、本発明に係る半導体装置１００の構成図であり、従来と同じ構成要素については同一番号を用い説明を省略する。
【００１５】
半導体装置１００は、従来と同じくＸＴ０、ＸＴ１端子に発振子１０、負荷容量（ＣＧＬ１１、ＣＤＬ１２）が接続されており、ＧＰＩＯ端子を介して温度計１３が接続されている。
【００１６】
そして半導体装置１００は、計時回路１６、ＣＰＵ１７、メモリ１８、周辺回路１９を有する。これらについては従来と同様なので説明を省略する。また半導体装置１００は、発振回路２１、周辺回路専用分周回路２２、計時回路専用分周回路２３、リセット回路２４を有している。なお、ここでは外部からリセット信号がリセット回路２４に入力されるように図示しているが、これに限らず、半導体装置１００の内部にリセット要因検出部を設け、そこからリセット回路２４に対してリセット信号が入力されるようにしても良い。
【００１７】
発振回路２１からは、発振子１０の周波数である３２．７６８ＫＨｚの周波数の発振信号が出力されるが、その際に周辺回路専用分周回路２２へ出力するとともに、同一の発振信号が計時回路専用分周回路２３に対しても出力される。
【００１８】
周辺回路専用分周回路２２は、基本的には従来の分周回路１５と同様であるが、新たに計時回路専用分周回路２３が設けられたことによって、出力先から計時回路１６が除外されている。なお、出力先に計時回路１６が除かれているが、計時回路１６で用いることが可能な信号も生成される。すなわち、１Ｈｚ（Ｔ１ＨＺ）の信号から３２ｋＨｚ（Ｔ３２ＫＨＺ）の信号まで従来どおりの信号が生成される。また、周辺回路専用分周回路２２で生成された信号は、例えば割込み信号として用いられ、ＣＰＵ１７や周辺回路１９に対して入力される。なお、図中の黒く塗りつぶしたところは、複数の信号線が存在していることを表している。
【００１９】
また、計時回路専用分周回路２３には、発振回路２１から出力された発振信号が入力され、その発振信号を分周して計時回路１６で必要とされる１Ｈｚ(Ｔ１ＨＺＲ)と２Ｈｚ（Ｔ２ＨＺＲ）の信号を生成する。
【００２０】
なお、周辺回路専用分周回路２２で生成された信号のうち、１Ｈｚの信号であるＴ１ＨＺと２Ｈｚの信号であるＴ２ＨＺについては、セレクタを介した後、ＴＢＣＯＵＴ端子より半導体装置１００外に出力できるように構成されている。同様に、計時回路専用分周回路２３で生成された１Ｈｚの信号であるＴ１ＨＺＲと２Ｈｚの信号であるＴ２ＨＺＲについても、セレクタを介した後、ＴＢＣＯＵＴ２端子より半導体装置１００外に出力できるように構成されている。このように半導体装置１００外に出力を可能とすることで、これらの信号の精度等をテスタなどを用いて確認することが容易となる。
【００２１】
リセット回路２４は、複数の種類のリセット信号が入力される。リセット回路２４に入力されるリセット信号には、計時回路専用分周回路２３と周辺回路専用分周回路２２両方に対して出力されるリセット信号と、周辺回路専用分周回路２２のみに対して出力されるリセット信号とがある。詳細は後述する。
【００２２】
続いて図３を用いて、本実施例におけるリセット動作の詳細について説明を行う。
【００２３】
本実施例で用いられるリセット信号は、電源起動リセット３０、プログラム暴走検出リセット３１、低電圧検出リセット３２の３種類である。電源起動リセット３０は、半導体装置または半導体装置を内蔵する電力メータ等の計測機器に電源が投入された際に実行されるリセットである。計時回路１６は電源起動リセット３０によりリセットされることで自動的に起動し以後計時動作を実行する。
【００２４】
プログラム暴走検出リセット３１は、ＣＰＵ１７で実行されるプログラムの暴走が図示しない監視回路によって検出された場合に入力されるリセット信号である。監視回路は例えば半導体装置１００内に設けられたウォッチドックタイマなどを用いてＣＰＵ１７の暴走状態を監視することができる。
【００２５】
低電圧検出リセット３２は、例えばノイズによる電源電圧変動やバックアップ電源による動作など、半導体装置１００が高速動作できない電圧状態になった場合やＣＰＵ１７で動作するプログラムに異常が発生するような電圧変動が発生した場合に出力されるリセット信号である。
【００２６】
これらのリセット信号のうち、計時回路専用分周回路２３に入力されるものは電源起動リセット３０のみである。電源起動リセット３０はリセット回路２４内で分岐され、周辺回路専用分周回路２２と計時回路専用分周回路２３の両方に入力される。ここで、周辺回路専用分周回路２２に電源起動リセット３０が入力される際には、プログラム暴走検出リセット３１と低電圧検出リセット３２とともにＯＲ（論理和）回路３３に入力されてから周辺回路専用分周回路２２に入力される。すなわち、周辺回路専用分周回路２２は、上記３つのリセット信号のうち、いずれかが検出されるとリセット動作が行われるように構成されている。
【００２７】
ここで、各分周回路は単純なカウンタで構成されているため、仮にプログラムが暴走してもまったく影響がなく、計時回路１６もプログラム暴走の影響を受けない。そのため、計時回路専用分周回路２３はプログラム暴走検出リセット３１でリセットさせる必要はない。しかし、周辺回路用分周回路２２は、ＣＰＵをはじめとする周辺機器へ接続されているため、プログラム暴走時にはリセットをかける必要がある。なぜならば周辺回路用分周回路２２で生成された割込み信号などがＣＰＵ１７等で使用されており、仮にＣＰＵ１７と周辺回路用分周回路２２を同時にリセットさせなければＣＰＵ１７がリセットされた直後に割込みが入るなどという状態が起きるかもしれないからである。
【００２８】
また、計時回路専用分周回路２３および計時回路１６は、半導体装置１００が高速動作できないような場合であっても問題なく動作し続けることができるため、低電圧検出リセット３２が発生した場合もリセット処理を行う必要がない。
【００２９】
従って、計時回路専用分周回路２３を設け、プログラム暴走検出リセット３１及び低電圧検出リセット３２を計時回路専用分周回路２３から省くことで、ノイズ等の原因により電源電圧変動等でリセットが生じた場合でも計時機能が止まることを防ぐことができる。また、電源電圧の供給が無くなり計時機能が停止しても、電源を再供給させることで、パワーオンリセットが働き、また計時回路も自動で働くため問題なく動作する。なお、電波時計を内蔵し、電源起動時に自動的に電波時計で現在時刻を取得するように構成しても良い。  
【００３０】
（第２実施形態）
続いて、本発明の第２実施形態について図４を用いて説明を行う。第２実施形態においては、各分周回路に対して周波数補正処理を行う点が相違している。また、半導体装置２００と発振子１０とを共に樹脂封止することで１パッケージ化している。そうすることで半導体装置１００と発振子１０とを同一温度環境下にすることができる。なお、温度センサ４０を半導体装置２００内に内蔵する構成としているが、第１実施形態と同様に半導体装置に外付けとした温度計１３を共に樹脂封止する構成としてもよい。
【００３１】
次に、本実施形態に係る半導体装置２００における、発振子１０の発振周波数の温度に依存する誤差を補正する周波数補正処理について説明する。
【００３２】
半導体装置２００は、例えば出荷時において、半導体装置２００内部の温度を常温（ここでは、２５℃）とした場合、常温より温度が低い基準温度（以下、「低温」ともいう。）とした場合、及び常温より温度が高い基準温度（以下、「高温」ともいう。）とした場合の各々の状態で温度センサ４０により半導体装置２００の温度を測定する。そして、半導体装置２００は、例えば出荷後に、この測定で得られた温度をトリミングデータとして、ＣＰＵ１７を用いて発振子１０の周波数誤差を補正する。
【００３３】
レジスタ部４１は、温度センサ４０により測定された温度を示すデータを格納する計測値レジスタ４２、周辺温度を低温とした場合に温度センサ４０により測定された温度を示すデータを格納する低温レジスタ４３、周辺温度を常温とした場合に温度センサ４０により測定された温度を示すデータを格納する常温レジスタ４４、周辺温度を高温とした場合に温度センサ４０により測定された温度を示すデータを格納する高温レジスタ４５、及び、これらの温度を示すデータから導出される発振子１０の発振周波数の補正値を格納するための周波数補正レジスタ４５を有している。なお、各レジスタはＣＰＵ１７にデータバスを介して接続されており、ＣＰＵ１７はデータバスを介して各レジスタに対して読み書きを行う。
【００３４】
半導体装置２００は、発振子１０の周波数誤差を補正するために、半導体装置２００の温度を低温とした場合(低温に設定された恒温槽の内部に半導体装置２００を配置する)、常温とした場合(常温に設定された恒温槽の内部に半導体装置２００を配置する)、及び高温とした場合(高温に設定された恒温槽の内部に半導体装置２００を配置する)の各々の状態で温度センサ４０により温度を測定し、測定で得られた温度をトリミングデータとしてそれぞれ低温レジスタ４３、常温レジスタ４４、及び高温レジスタ４５に格納する。
【００３５】
本実施形態に係る半導体装置２００は、上述した処理が行われた後に出荷され、出荷後の予め定められたタイミングで、後述する周波数補正処理が行われる。
【００３６】
ユーザは、例えば出荷後に、半導体装置２００に例えば周波数補正値の導出を開始させるための導出動作信号を入力させることにより、半導体装置２００に周波数補正処理を実行させる。この際、ユーザは、例えば半導体装置２００の図示しない端子に当該導出動作信号を出力する機器を接続することにより、当該導出動作信号を入力させる。または、半導体装置２００が一定の間隔で周波数補正処理を実行するようにしても良い。当該周波数補正処理を実行するプログラムは、半導体装置２００の出荷後に、上記導出動作信号が入力されたタイミングで実行されるプログラムであり、メモリ１８に予め記憶されている。
【００３７】
ＣＰＵ１７は、常温レジスタ４４、高温レジスタ４５、及び低温レジスタ４３にそれぞれ格納されている計測値を取得する。
【００３８】
続いてＣＰＵ１７は、温度センサ４０によって取得され計測値レジスタ４２に格納された現在の温度情報を用いて、発振子１０の発振周波数の補正値（以下、「周波数補正値」ともいう。）を導出する。
【００３９】
図５は、本実施形態に係る半導体装置における温度と周波数偏差との関係を示す図である。なお、図５は、実際の温度環境で得られた周波数誤差ではなく、二次関数による計算によって得られる理論値を示している。上記二次関数は、下記（１）式で表される。なお、下記（１）式において、ｆは周波数偏差、ａは二次温度係数、Ｔａは測定された温度、Ｔ０は頂点温度、ｂは頂点誤差である。上記二次温度係数ａは、発振子１０の個体差に応じて予め定められた定数であり、メモリ１８に予め記憶されている。
【００４０】
【数１】
2014052227.tif 000003
【００４１】
本実施形態では、周波数偏差ｆが未知であるが、既知である二次温度係数ａ、常温レジスタ４４に格納されている常温での計測値、高温レジスタ４５に格納されている高温での計測値、及び低温レジスタ４３に格納されている低温での計測値から、頂点誤差ｂを導出することができる。そして、ＣＰＵ１７は、常温での温度Ｔ０において最も周波数偏差が小さくなるようにするために、頂点誤差ｂの値を周波数補正値とする。
【００４２】
なお、上記周波数補正値の導出において、温度センサ４０による計測値が、各レジスタに記憶されていない値であった場合には、近接する二つのレジスタの値を用いて、実際の環境下の温度を導出すればよい。
【００４３】
続いてＣＰＵ１７は、導出した周波数補正値を示すデータを、補正値レジスタ４６に格納する。そして、半導体装置２００では、周辺回路専用分周回路４７および計時回路専用分周回路４８が、補正値レジスタ４６に格納されている周波数補正値を用いて、発振回路２１から入力した信号からクロック信号を生成することで、発振子１０の発振周波数の補正が行われる。
【００４４】
このように、第２実施形態に係る半導体装置２００によると、出荷時に、半導体装置２００の３ポイントの環境温度下での温度センサ４０による計測値をトリミングデータとして準備しておき、当該トリミングデータを元に周波数補正値を導出することにより、半導体装置２００の個体毎の温度センサ４０の製造上のばらつきに依存せずに、高精度な温度情報に基づいた周波数補正値を得ることができる。
【００４５】
また、本実施形態においては、半導体装置２００と温度センサ４０と発振子１０とが一体に樹脂封止されていることにより、温度センサ４０の周辺温度と発振子１０の周辺温度とが同一となるため高精度に発振子１０の温度を半導体装置２００が有する温度センサ４０で測定することができ、そのため発振子１０及び温度センサ４０間の温度差によって周波数補正の精度が低下することが防止される。
【符号の説明】
【００４６】
１    半導体装置
１０  発振子
１１、１２  負荷容量
１３  温度計
１４  発振回路
１５  分周回路
１６  計時回路
１７  ＣＰＵ
１８  メモリ
１９  周辺回路
２０  リセット回路
２１  発振回路
２２  周辺回路専用分周回路
２３  計時回路専用分周回路
２４  リセット回路
３０  パワーオンリセット信号
３１  プログラム暴走検出リセット信号
３２  低電圧検出リセット信号
３３  ＯＲ（論理和）回路
４０  温度センサ
４１  レジスタ
４２  計測値レジスタ
４３  低温レジスタ
４４  常温レジスタ
４５  高温レジスタ
４６  補正値レジスタ
４７  周辺回路専用分周回路
４８  計時回路専用分周回路
【図１】
2014052227.tif 000004
【図２】
2014052227.tif 000005
【図３】
2014052227.tif 000006
【図４】
2014052227.tif 000007
【図５】
2014052227.tif 000008