図21は、不揮発性メモリ94を備えるマイコン90を例にして、図20(a)のデータ保持回路を具体化した回路構成図である。また、図22は、電源瞬断の発生直後における図21のマイコン90の回路構成図にある不揮発性メモリ94の動作等を説明するタイムチャートである。
図21に示すマイコン90は、車載用の電子制御ユニット(ECU)に用いられるマイコンで、電源電圧VDDは、車のバッテリ(電圧+B)から電圧VDDを発生する電源回路を介して供給される。尚、マイコン90への電源電圧VDDの供給回路には、電圧保持用のコンデンサ97が接続されている。不揮発性メモリ94は、フラッシュメモリからなり、マイコン90を構成しているCPU92やバス93で結ばれたRAM96、ROM、I/Oブロックおよび通信ブロック等の周辺回路と共に一つのチップ1に形成されている。言い換えれば、チップ1に形成されているマイコン90は、不揮発性メモリ94を内蔵する小型・低コストのマイコンである。不揮発性メモリ94は、マイコン90と共通の電源電圧VDDで動作する。
また、チップ1には、分圧抵抗R11,R12と差動アンプAMP1からなる電圧低下検出器95が形成されている。電圧低下検出器95は、後述するように、電源電圧VDDがマイコンのパワーオンのリセット電圧VPORより低下すると、CPU92と不揮発性メモリ94を含めチップ1全体にリセット信号(次の図22に示す電圧Vr:Hレベル)を出力する。電圧低下検出器95は、図20(a),(b)のデータ保持回路における電圧低下検出器15,25に相当している。
図21に示すマイコン90において、電源瞬断が発生した時の不揮発性メモリ94の動作と問題点を、図22のタイムチャートを用いて説明する。
図22に示すように、マイコン90に内蔵される不揮発性メモリ94の動作保証電圧範囲VDD_MIN〜VDD_MAX(例えば4.5V〜5.5V)は、マイコン90のパワーオンのリセット電圧VPOR(例えば4.0V)より高いレベルに設定されている。これは、不揮発性メモリ94の通常動作時に、マイコン90のパワーオンのリセットが不用意にかからないようにするためである。そして、電源電圧VDDが不揮発性メモリ94の動作保証電圧範囲VDD_MIN〜VDD_MAXに入るように設定されて、マイコン90と不揮発性メモリ94が安定的に通常動作する。
図22のタイムチャートにおいて、P0時点で電源電圧VDDに瞬断が起きると、図では横(時間)軸が拡大されているが、電源電圧VDDは急激に低下し、P1時点で不揮発性メモリ94の動作保証電圧範囲の下限VDD_MINに達する。このP1時点では、マイコン90のパワーオンのリセットはかからず、不揮発性メモリ94も書換え等の動作を継続する。電源電圧VDDがさらに低下してリセット電圧VPORに達するP2時点で、はじめてマイコン90のパワーオンのリセットがかかる。このP2時点で、不揮発性メモリ94も書換え動作を停止して、書換え情報であるアドレス、データ、モード(書込or消去等)を設定している書換え情報設定レジスタ94aが初期化される。
図21のマイコン90において電源電圧VDDに瞬断が起きると、書換え動作中の不揮発性メモリ94では、以下に示す問題が起きてしまう。すなわち、(1)P1時点〜P2時点の間では、動作保証電圧範囲外で書換えが実行されてしまうため、書換えOKと判定したデータも、メモリの閾値電圧保証(VT保証)ができない。(2)P2時点では、書換え途中で動作が止まるため、該当データの保証ができない。(3)P2時点でマイコン90がリセットされるため、書換え情報設定レジスタ94aにある書換え情報(アドレス、データ、モード)が損失する。尚、書換え情報の損失だけでなく、マイコン90のCPU92が上位のアプリケーションで次に書換えようとしていた一連の外部情報や受信データも、P2時点で損失する。(4)電源瞬断が起ったことを記憶できていないので、電源復帰時には、保証されていない(1),(2)のデータをアクセスしてしまう。
一方、図21のマイコン90について図20(b)で見たようにCPU92と不揮発性メモリ94を別系統の電源とし、不揮発性メモリ94の電源経路にダイオードとコンデンサからなる電荷蓄積手段を導入することで電源瞬断対応を図った場合、次の問題が生じる。図20(b)の回路構成は2系統の電源電圧を制御する電源レギュレータ21が必要で、回路構成が大きくなってしまう。また、電荷蓄積手段のコンデンサ29についても、大容量のものが必要である。さらに、マイコン内臓のフラッシュメモリ等を利用する場合、動作保証電圧範囲下限が高く(CPUと同じ)VPORより上であり、コンデンサのみで十数mSの間電圧保持は難しく、又、前記(1)の問題も生じる。このため、図21のような一つのチップ1に形成される不揮発性メモリ94を内蔵した小型・低コストのマイコン90への適用は、小型・低コストのメリットを阻害するため、現実的でない。
そこで本発明は、小型・低コストのメリットを阻害することのない、マイコンと共通の電源電圧で動作する不揮発性メモリの電源瞬断対応回路であって、電源瞬断があっても確実なデータ保証が可能な不揮発性メモリの電源瞬断対応回路を提供することを目的としている。
請求項1に記載の不揮発性メモリの電源瞬断対応回路は、マイコンと共通の電源電圧で動作する不揮発性メモリの電源瞬断対応回路であって、前記マイコンのパワーオンリセット電圧より上にある前記不揮発性メモリの動作保証電圧範囲において、瞬断による前記電源電圧の低下を検出し、瞬断検出信号を出力する瞬断発生検出回路と、前記瞬断検出信号により、前記不揮発性メモリの書換え情報設定レジスタにある少なくともアドレス、データおよびモードを含んだ書換え情報を保持する該不揮発性メモリとは別に設けられた書換え情報保持手段と、前記瞬断検出信号を保持する瞬断検出信号保持手段とを有してなることを特徴としている。
上記電源瞬断対応回路の適用対象とする不揮発性メモリは、小型・低コストのシステム構成を可能とするため、通常マイコンに内蔵されているフラッシュメモリ等も利用できるように、該マイコンとは共通の電源となっている。
上記電源瞬断対応回路は、マイコンと不揮発性メモリに共通する上記電源電圧の瞬断による低下を検出する、瞬断発生検出回路を備えている。該瞬断発生検出回路は、マイコンのパワーオンリセット電圧より上にある不揮発性メモリの動作保証電圧範囲において、瞬断が発生した直後に電源電圧が安定(定常)状態から外れて低下し始める発端を検出し、瞬断検出信号を出力する。このように、上記電源瞬断対応回路は、マイコンのパワーオンのリセットよりも前の電源電圧が不揮発性メモリの動作保証電圧範囲内にある段階で、瞬断の発生をすばやく検出して、瞬断検出信号を出力する。そして、この瞬断検出信号によって、不揮発性メモリの書換え情報設定レジスタにある少なくともアドレス、データおよびモードを含んだ書換え情報を、該不揮発性メモリとは別に設けられた書換え情報保持手段に退避して保持する。この書換え情報は、不揮発性メモリの動作が保証できなくなる前の動作保証電圧範囲内で書換え情報設定レジスタから移動されるものであり、誤りのない保証されたデータである。
上記書換え情報の移動が終わった後、不揮発性メモリは、動作保証電圧範囲外での書換えが起きないように、直ちにリセットされる。電源電圧が低下して、不揮発性メモリの動作保証電圧範囲の下限を超え、マイコンのリセット電圧に達した時点では、不揮発性メモリは、瞬断発生検出回路からの瞬断検出信号によってすでにリセットされ、少なくともアドレス、データおよびモードを含んだ書換え情報は移動(退避)済みである。従って、この時点で書換え情報設定レジスタに書換え情報はすでに無く、データの損失も起きえない。
また、上記電源瞬断対応回路においては、瞬断検出信号が瞬断検出信号保持手段に保持されて、電源瞬断が起ったことが記憶されている。従って、電源復帰時には、電源瞬断が起ったことを知ることができ、書換え情報保持手段に保持されている書換え情報を用いて、不揮発性メモリを電源瞬断発生前の正常状態に確実に復帰させることができる。
以上のようにして、上記不揮発性メモリの電源瞬断対応回路は、小型・低コストのメリットを阻害することのない、マイコンと共通の電源電圧で動作する不揮発性メモリの電源瞬断対応回路であって、電源瞬断があっても確実なデータ保証が可能な不揮発性メモリの電源瞬断対応回路とすることができる。
上記不揮発性メモリの電源瞬断対応回路は、請求項2に記載のように、前記書換え情報保持手段が、前記瞬断発生検出回路に接続するラッチレジスタであり、前記瞬断検出信号保持手段が、前記瞬断発生検出回路に接続する瞬断検出フラグであり、前記ラッチレジスタが前記書換え情報を、前記瞬断検出フラグが前記瞬断検出信号を、それぞれ、前記電源電圧が前記パワーオンリセット電圧より低いレベルまで保持する構成とすることが好ましい。
これによれば、瞬断発生検出回路から瞬断検出信号が出力されると同時に、ラッチレジスタが不揮発性メモリの書換え情報設定レジスタにある書換え情報をラッチして取り込み、瞬断検出フラグが瞬断検出信号を保持することができる。また、ラッチレジスタおよび瞬断検出フラグに記録された書換え情報および瞬断検出信号は、パワーオンリセット電圧より低いレベルまで保持されるため、移動データの確実な保護が可能である。
また、上記構成に加えて、請求項3に記載のように、前記瞬断検出信号を前記マイコンのCPUの割込コントローラに取り込んで、前記瞬断検出信号により、前記マイコンのI/Oブロックまたは通信ブロックにある外部情報を、前記電源電圧が前記パワーオンリセット電圧に達する前に、前記マイコンのRAMに一時保存するようにしてもよい。
これによれば、マイコンのCPUが上位のアプリケーションで次に書換えようとしていた一連の外部情報や受信データも、マイコンがリセットされる前に保護することができる。
上記構成における瞬断検出フラグは、例えば請求項4に記載のように、OR素子、セレクタ、フリップフロップからなる保持回路、アウトプットイネーブル(OE)、アドレスデコーダおよび2つのAND素子で構成することができ、前記保持回路のリセット端子を接地する。これによって、瞬断検出信号を、パワーオンリセット電圧より低いレベルまで保持することができる。
また、上記構成におけるラッチレジスタは、例えば請求項5に記載のように、複数のフリップフロップからなる保持回路で構成することができ、前記保持回路のリセット端子が接地する。これによって、不揮発性メモリの書換え情報設定レジスタにあるアドレス、データ、モードの各書換え情報を、パワーオンリセット電圧より低いレベルまで保持することができる。
上記瞬断検出フラグおよびラッチレジスタにおける保持回路は、例えば請求項6に記載のように、該保持回路の論理回路を構成しているトランジスタの閾値電圧以下において、前記論理回路の所定のノードを論理固定するためのプルアップ抵抗またはプルダウン抵抗を有してなる構成とすることが好ましい。これによれば、通常時の電源電圧の立ち上がり時において電源電圧が上記閾値電圧以下にあっても、上記保持回路においては、プルアップ抵抗またはプルダウン抵抗によって不定となることはなく、該保持回路のデータはクリア側に固定されることとなる。
上記不揮発性メモリの電源瞬断対応回路は、請求項7に記載のように、前記書換え情報保持手段と前記瞬断検出信号保持手段を、前記マイコンのCPUとRAMとし、前記瞬断検出信号を前記CPUの割込コントローラに取り込んで、該瞬断検出信号と前記書換え情報および前記マイコンのI/Oブロックまたは通信ブロックにある外部情報を、前記電源電圧が前記パワーオンリセット電圧に達する前に、前記RAMに一時保持するように構成してもよい。
これによれば、不揮発性メモリの書換え情報設定レジスタにある書換え情報、瞬断発生検出回路から出力された瞬断検出信号およびCPUが書換えようとしていた一連の外部情報や受信データを、マイコンがリセットされる前に保護(退避)することができる。退避する具体的なデータや退避するRAMの領域は、プログラムで自由に設定することができる。
上記電源瞬断対応回路の瞬断発生検出回路は、例えば請求項8に記載のように、ピークホールド回路と比較器を有してなり、瞬断による前記電源電圧の低下を、該電源電圧の現在値とピーク値を比較することによって検出する構成とする。これによって、不揮発性メモリの動作保証電圧範囲において、瞬断が発生した直後に電源電圧が安定状態から外れて低下し始める発端を検出し、瞬断検出信号を出力することができる。
また、上記電源瞬断対応回路の瞬断発生検出回路は、請求項9に記載のように、前記電源電圧の制御回路の構成要素である分圧抵抗、制御アンプおよび基準電圧源が利用できる場合には、前記制御アンプに第2の出力部を追加することにより構成することもできる。これによっても、不揮発性メモリの動作保証電圧範囲において、瞬断が発生した直後に電源電圧が安定状態から外れて低下し始める発端を検出し、瞬断検出信号を出力することができる。
以上のようにして、上記不揮発性メモリの電源瞬断対応回路は、小型・低コストのメリットを阻害することのない、マイコンと共通の電源電圧で動作する不揮発性メモリの電源瞬断対応回路であって、電源瞬断があっても確実なデータ保証が可能な不揮発性メモリの電源瞬断対応回路とすることができる。
従って、上記不揮発性メモリの電源瞬断対応回路は、請求項10に記載のように、小型・低コストを目的とした、前記マイコンと前記不揮発性メモリが、一つのチップに形成されてなる場合に好適である。
この場合は、請求項11に記載のように、前記不揮発性メモリが、フラッシュメモリであってよい。近年では、コスト低減、実装面積削減、セキュリティ対策などを狙い、マイコンに外付けするEEPROMに代えて、元々プログラム格納用としてマイコンに内蔵されていたフラッシュメモリを、データ格納用途として利用(データフラッシュ)することが多くなっている。上記電源瞬断対応回路は、このようなデータフラッシュとして利用されるマイコン内蔵のフラッシュメモリの電源瞬断対応回路として好適である。
また、上記不揮発性メモリの電源瞬断対応回路は、請求項12に記載のように、電源瞬断に対しても確実なデータ保証が要求される、前記マイコンが、車載用の電子制御ユニット(ECU)に用いられ、前記電源電圧が、車のバッテリから供給される場合にも好適である。
以下、本発明を実施するための形態を、図に基づいて説明する。
図1は、本発明に係る不揮発性メモリの電源瞬断対応回路の一例を示した図で、不揮発性メモリ94を備えるマイコン100の回路構成図である。尚、図1に示すマイコン100において、図21に示したマイコン90と同様の部分については、同じ符号を付した。また、図2は、電源瞬断の発生直後における図1の電源瞬断対応回路と不揮発性メモリ94の動作等を説明するタイムチャートである。
図1に示すマイコン100は、図21に示したマイコン90と同様に、車載用の電子制御ユニット(ECU)に用いられるマイコンで、電源電圧VDDは、車のバッテリ(電圧+B)から電圧VDDを発生する電源回路を介して供給される。尚、マイコン100への電源電圧VDDの供給回路には、電圧保持用のコンデンサ97が接続されている。不揮発性メモリ94は、フラッシュメモリからなり、マイコン100を構成しているCPU92やバス93で結ばれたRAM96、ROM、I/Oブロックおよび通信ブロック等の周辺回路と共に一つのチップ1に形成されている。言い換えれば、チップ1に形成されているマイコン100は、不揮発性メモリ94を内蔵する小型・低コストのマイコンである。不揮発性メモリ94は、マイコン100と共通の電源電圧VDDで動作する。
また、チップ1には、分圧抵抗R11,R12と差動アンプAMP1からなる電圧低下検出器95が形成されており、後述するように、電源電圧VDDがマイコンのパワーオンのリセット電圧VPORより低下すると、CPU92と不揮発性メモリ94を含めてマイコン内部の各ブロックにリセット信号を出力する。
一方、図1に示すマイコン100は、図21に示したマイコン90の構成要素に加えて、電源瞬断対応回路として、図中に太線で示した瞬断発生検出回路40、書換え情報保持手段であるラッチレジスタ41、瞬断検出信号保持手段である瞬断検出フラグ42を備えている。瞬断発生検出回路40は、後述するように、マイコン100のパワーオンリセット電圧VPORより上にある不揮発性メモリ94の動作保証電圧範囲VDD_MIN〜VDD_MAXにおいて、瞬断による電源電圧VDDの低下を検出し、瞬断検出信号を出力する。瞬断発生検出回路40は、OR素子43を介して、不揮発性メモリ94のリセット端子Rに接続されている。
ラッチレジスタ41は、不揮発性メモリ94とは別に設けられており、瞬断発生検出回路40およびバス93を介してCPU92と接続されている。ラッチレジスタ41は、瞬断発生検出回路40から瞬断検出信号が出力されると同時に、不揮発性メモリ94の書換え情報設定レジスタ94aにある少なくともアドレス、データ、モード(書込or消去等)を含んだ書換え情報をラッチして取り込み、不揮発性メモリ94の外部で、電源電圧VDDがパワーオンリセット電圧VPORより低いレベルまで保持する。
瞬断検出フラグ42も、ラッチレジスタ41と同様に、瞬断発生検出回路40およびバス93を介してCPU92と接続されている。瞬断検出フラグ42は、瞬断発生検出回路40から瞬断検出信号が出力されると同時に、該瞬断検出信号を、電源電圧VDDがパワーオンリセット電圧VPORより低いレベルまで保持する。瞬断検出フラグ42は、電源電圧VDDの復帰後にCPU92が瞬断検出フラグ42を参照して瞬断検出フラグイネーブルであることを認識した後、又はその後必要な復帰処置をとった後に、次の検出に備えてフラグクリアできる構成となっている。
このように、図1のマイコン100では、瞬断発生検出回路40から瞬断検出信号が出力された時、不揮発性メモリ94の書換え情報設定レジスタ94aにある書換え情報および瞬断検出信号を、それぞれ、瞬時にラッチレジスタ41および瞬断検出フラグ42に記録して保持することができる。また、ラッチレジスタ41および瞬断検出フラグ42に記録された書換え情報および瞬断検出信号は、パワーオンリセット電圧VPORより低いレベルまで保持されるため、移動データの確実な保護が可能である。
また、瞬断発生検出回路40、ラッチレジスタ41、瞬断検出フラグ42からなる上記電源瞬断対応回路を適用した不揮発性メモリ94は、マイコン100と共通の電源電圧VDDで動作する。従って、図20(b)の回路構成と異なり、マイコン100と不揮発性メモリ94が共通の電源となっており、マイコン内臓のフラッシュメモリ等に適用することができるため、小型・低コストのシステム構成が可能である。
次に、図1の瞬断発生検出回路40、ラッチレジスタ41、瞬断検出フラグ42からなる電源瞬断対応回路の電源瞬断が発生した時の動作の詳細を、図2のタイムチャートを用いて説明する。
図2に示すように、マイコン100のパワーオンのリセット電圧VPOR(例えば4.0V)は、マイコン100に内蔵される不揮発性メモリ94の動作保証電圧範囲VDD_MIN〜VDD_MAX(例えば4.5V〜5.5V)より低いレベルに設定されている。これは、不揮発性メモリ94の通常動作時に、マイコン100のパワーオンのリセットが不用意にかからないようにするためである。そして、電源電圧VDDが不揮発性メモリ94の動作保証電圧範囲VDD_MIN〜VDD_MAXに入るように設定されて、マイコン100と不揮発性メモリ94が安定的に通常動作する。
図2のタイムチャートにおいて、P0時点で電源電圧VDDに瞬断が起きると、図では横(時間)軸が拡大されているが、電源電圧VDDは急激に低下し、P1時点で不揮発性メモリ94の動作保証電圧範囲の下限VDD_MINに達する。図1に示す瞬断発生検出回路40は、マイコン100のパワーオンリセット電圧VPORより上にある不揮発性メモリの動作保証電圧範囲VDD_MIN〜VDD_MAXにおいて、P0時点で瞬断が発生した直後に電源電圧VDDが安定(定常)状態から外れて低下し始める発端を検出し、瞬断検出信号(電圧Va:Hレベル)を出力する。このように、上記電源瞬断対応回路は、マイコン100のパワーオンのリセットよりも前の電源電圧VDDが不揮発性メモリ94の動作保証電圧範囲内にある段階で、P0時点での瞬断の発生をすばやく検出して、瞬断検出信号を出力する。そして、この瞬断検出信号によって、不揮発性メモリ94の書換え情報設定レジスタ94aにある少なくともアドレス、データ、モードを含んだ書換え情報を、該不揮発性メモリ94とは別に設けられた書換え情報保持手段のラッチレジスタ41に移動して保持する。この書換え情報は、不揮発性メモリ94の動作が保証できなくなる前の動作保証電圧範囲内で書換え情報設定レジスタ94aから移動されるものであり、誤りのない保証されたデータである。
上記書換え情報の移動が終わった後、不揮発性メモリ94は、動作保証電圧範囲外での書換えが起きないように、直ちにリセットされる。電源電圧VDDが低下して、P1時点で不揮発性メモリ94の動作保証電圧範囲の下限VDD_MINを超え、マイコン100のリセット電圧VPORに達したP2時点では、不揮発性メモリ94は、瞬断発生検出回路からの瞬断検出信号によってすでにリセットされて、書換え情報(データ含む)は移動(退避)済みである。従って、このP2時点においては、書換え情報設定レジスタ94aに書換え情報はすでに無く、図21のマイコン90において電源瞬断時の不揮発性メモリ94の動作で説明したような、データの損失も起きえない。
また、上記電源瞬断対応回路においては、瞬断発生検出回路40からの瞬断検出信号が瞬断検出信号保持手段である瞬断検出フラグ42に保持されて、電源瞬断が起ったことが記憶されている。従って、電源復帰時には、ラッチレジスタ41に保持されている書換え情報を用いて、不揮発性メモリ94を電源瞬断発生前の正常状態に確実に復帰させることができる。
尚、瞬断発生検出回路40を備えるマイコン100では、図21に示した従来のマイコン90に較べて、電源電圧VDDの保持のために接続しているコンデンサ97の容量を小さくできる効果もある。
以上のようにして、上記の電源瞬断対応回路は、小型・低コストのメリットを阻害することのない、マイコン100と共通の電源電圧VDDで動作する不揮発性メモリ94の電源瞬断対応回路であって、電源瞬断があっても確実なデータ保証が可能な電源瞬断対応回路となっている。
次に、上記の電源瞬断対応回路の各構成要素の詳細について説明する。
図3は、図1にある瞬断発生検出回路40の一例を示す図で、瞬断発生検出回路40aの回路構成図である。また、図4は、電源瞬断の発生直後における図3の瞬断発生検出回路40aの動作等を説明するタイムチャートである。
図3に示す瞬断発生検出回路40aは、ピークホールド回路と比較器51を有しており、瞬断による電源電圧VDDの低下を、該電源電圧VDDの現在値とピーク値を比較することによって検出する構成となっている。すなわち、図3の瞬断発生検出回路40aにおいては、電源電圧VDDの分圧抵抗R1,R2におけるC点での電圧Vc=VDD・γを検出し、アンプAMP2を介してD点の電圧Vdに戻して、一旦ピークホールドする。このピークホールドしたピーク値Vdhと、現在値であるC点での電圧Vcとを比較器51で比較し、その出力をP0時点での瞬断検出とする。
図4を参照しながら、図3に示す瞬断発生検出回路40aの動作をより詳細に説明する。
電源電圧VDD立ち上がり時は、図3のダイオードD201が導通状態にある。このため、ピークホールド回路は通常のボルテージホロアとして機能し、C点の電圧VcとD点の電圧Vdが同電位になるようにコンデンサC201にチャージされる。図4に示すように、C点の電圧Vcの立ち上がり後まもなく、時刻t0でD点の電圧VdがC点の電圧Vcと同じレベルになる。
その後、電源の瞬断により時刻t1で電源電圧VDD(およびそれに伴うC点の電圧Vc)が低下すると、ダイオードD201には逆バイアスがかかって非導通となり、D点の電圧Vdはピーク値Vdhを維持したままでC点の電圧Vcだけが低下し、比較器51の出力信号がL→Hレベルとなって、電源電圧VDDの低下の発端であるP0時点が検出できる。
以上のようにして、図3の瞬断発生検出回路40aによれば、不揮発性メモリ94の動作保証電圧範囲VDD_MIN〜VDD_MAXにおいて、瞬断が発生した直後に電源電圧VDDが安定状態から外れて低下し始める発端を検出し、瞬断検出信号を出力することができる。
但し、図3の瞬断発生検出回路40aにおいて、比較器51にオフセットが全くない場合、電源電圧VDD(およびそれに伴うC点の電圧Vc)がノイズレベルで変動した場合に誤検出してしまう。このため、図4に示すように、ピーク値Vdhに若干のオフセット電圧Voffを設定する必要がある。
次に、上記オフセット電圧Voffを設定した図3の比較器51として、以下2例を示す。
図5は、図3の瞬断発生検出回路40aにおける比較器51の一例を示す図で、比較器51aの回路構成図である。
図5の比較器51aにおいて、アンプAMP3はボルテージホロア回路であり、図3のコンデンサC201にチャージした電荷を抜かないために、IN+からみたインピーダンスを無限大にするためのものである(従って、図5のE点の電圧Veは、IN+と同じVdとなる)。また、図5の分圧抵抗R201,R202におけるF点の電圧Vfは、Vd・(1−Δ)である。さらに、コンパレータCMP3の判定条件は、Vc<Vd・(1−Δ)=Vd−Voff、※Voff=Vd・Δとなって、オフセット電圧Voffが確保される。
図6は、図3の瞬断発生検出回路40aにおける比較器51の別の例を示す図で、比較器51bの回路構成図である。また、図7は、図6の比較器51bにおける入出力の関係を示した図である。
図6の比較器51bにおいて、オフセット電圧Voffを設定しない場合には、トランジスタ(Tr)301とトランジスタ(Tr)306は差動対、およびトランジスタ(Tr)304とトランジスタ(Tr)305はカレントミラーの関係であり、両トランジスタのサイズが対称に作られる。ここで、例えば(1)Tr306に対しTr301のゲート幅Wのサイズを大きくする、または(2)Tr304に対しTr305のゲート幅Wのサイズを大きくする処置をすれば、同じ入力差(Vd−Vc)に対して、Tr305の電流I305が、太線矢印で示したようにTr308の電流I308より増加する。このTr305の電流I305とTr308の電流I308の差によって、図7に示すように入出力関係がずれ、比較器51bにおいてオフセット電圧Voffを確保することができる。
図8は、図1にある瞬断発生検出回路40の別の例を示す図で、瞬断発生検出回路40bの回路構成図である。図9は、図8の瞬断発生検出回路40bにおける制御アンプ52の回路構成図である。また、図10は、電源瞬断の発生直後における図8の瞬断発生検出回路40bの動作等を説明するタイムチャートで、制御アンプ52の制御出力であるB点での電圧Vbと瞬断検出信号であるA点での電圧Vaの変化の様子を示した図である。
図8には、図1のマイコン100の一例である、マイコン100aの電源周りが示されている。図8のマイコン100aでは、チップ1の内部に形成された内部素子とチップ1の外部に接続された外部素子とで、図中に一点鎖線で囲った電源電圧VDDの制御回路44が構成されている。この制御回路44により、車のバッテリ電圧+Bから、マイコン100aの電源電圧VDDが生成される。
図8に示す瞬断発生検出回路40bは、電源電圧VDDの制御回路44の構成要素である分圧抵抗R302,R303、制御アンプ52および基準電圧源53を利用して、制御アンプ52に図中に二点鎖線で囲った第2の出力部である瞬断検出信号出力部52aを追加することにより構成している。
以下、図8〜図10を合わせて参照しながら、電源電圧VDDの制御回路44および瞬断発生検出回路40bの動作を説明する。
図8の瞬断発生検出回路40bにおける制御アンプ52は、電源電圧VDDを制御するための電圧制御出力部(端子p1)に加え、瞬断検出信号出力部(端子n1)52aを有している。図9に示す制御アンプ52の瞬断検出信号出力部52aにある最終段のトランジスタ(Tr)120と、図8において制御アンプ52の電圧制御出力端子p1にゲートが繋がるトランジスタ(Tr)300とは、閾値電圧Vthが等しくなるように対称性を考慮してレイアウト(カレントミラーと同様の関係)している。
図8に示すように、制御アンプ52は、IN+入力であるM点での電圧Vm=VDD・γ’と、IN−入力である基準電圧源53からの一定の出力電圧Vbg(例;2V)とを比較し、両者に差が出ないようにTr300をON/OFFする。このTr300のON/OFF動作によって、チップ1に形成されているマイコン100aの電源電圧VDDの端子に接続した外部のトランジスタTr202に流れる電流を制御し、電源電圧VDDが一定電圧(例5V)となるようにしている。従って、図10において電源電圧VDDに瞬断が発生する時刻t1までの電圧安定領域では、制御アンプ52の電源電圧制御出力であるB点での電圧Vbは、Tr300の閾値電圧Vthレベルで安定している。一方、図8と図9を合わせてわかるように、図8においてTr300のゲートに接続するB点は、図9において制御アンプ52の内部にあるTr120のゲートにも接続されている。このため、図10に示す電圧安定領域においては、Tr300と同じ閾値電圧Vthをもつ図9のTr120にも、Tr300に比例した電流I120が流れる。このTr120に流れる電流I120は、トランジスタ(Tr)121に流れる定電流I121より小さい。このため、図10に示すように、A点での瞬断検出信号の電圧Vaは、Lレベルを保つ。
次に、瞬断が発生して図10の時刻t1で電源電圧VDDが下がり始めると、図8に示すM点での電圧Vm=VDD・γ’(制御アンプ52のIN+入力)も下がり、制御アンプ52の電源電圧制御出力(B点での電圧Vb)は、Tr300の閾値電圧Vthから大きく外れる。この時、同じB点にゲートが接続している制御アンプ52の内部のTr120は完全にOFFし、図10に示すように、A点での瞬断検出信号の電圧VaがHレベルとなる。
以上のように、図8〜図10に示す瞬断発生検出回路40bを用いても、不揮発性メモリ94の動作保証電圧範囲VDD_MIN〜VDD_MAXにおいて、瞬断が発生した直後に電源電圧VDDが安定状態から外れて低下し始める発端を検出し、瞬断検出信号を出力することができる。
図11は、図1にある瞬断検出フラグ42の具体化例を示す図で、瞬断検出フラグ42aの回路構成図である。
図11に示す瞬断検出フラグ42aは、OR素子54、セレクタ55、フリップフロップ(F/F)からなる保持回路56、アウトプットイネーブル(OE)57、アドレスデコーダ58および2つのAND素子59,60で構成されている。この瞬断検出フラグ42aは、保持回路56のリセット端子Rが接地されてLレベルに固定されている点に特徴がある。(通常のレジスタにおけるF/Fからなる保持回路は、マイコンのパワーオンリセットで初期化する必要があるため、リセット端子Rがリセット信号に接続されている。)
図11の瞬断検出フラグ42aは、次のように動作する。電源電圧VDDが低下した時、瞬断発生検出回路40の出力であるA点での瞬断検出信号の電圧VaがLレベルからHレベルとなり、OR素子54の出力信号であるJ点での電圧がHレベルとなる。この時、セレクタ55は“0”を選択している(K点の信号はLレベル)ため、保持回路56にHレベルが保持される。さらに、保持回路56のリセット端子Rが接地されてLレベルに固定されているため、電源電圧VDDの低下でパワーオンリセットがかかっても、瞬断検出フラグ42aは上記のようにHレベルを保持し続ける。
その後、電源が立ち上がってCPU92が瞬断検出フラグ42aにあるフラグを読みにいくと、CPU92からのアドレスデコーダ58を介した出力がHレベルとなり、CPU92からのWrite信号がLレベル(読出しアクセス)となるため、OE57がHレベルとなり、フラグが読み出される。また、CPU92がフラグを読んで瞬断を認識できたら、次の瞬断発生時の準備をするため、瞬断検出フラグ42aにあるフラグをクリアする。具体的には、図中のCPU92からのアドレスデコーダ58を介した出力がHレベルとなり、CPU92からのWrite信号がHレベル(書込みアクセス)となり、クリア(C)がLレベル、K点の信号がHレベルで、セレクタ55が“1”を選択し、瞬断検出フラグ42aにあるフラグのデータがクリアされる。
以上のようにして、図11の瞬断検出フラグ42aは、瞬断発生検出回路40からの瞬断検出信号を、パワーオンリセット電圧VPORより低いレベルまで保持することができる。
図12は、図1にあるラッチレジスタ41の具体化例を示す図で、ラッチレジスタ41aの回路構成図である。
図12に示すラッチレジスタ41aは、複数のフリップフロップ(F/F)からなる保持回路56で構成されている。ラッチレジスタ41aの保持回路56は、図11示した瞬断検出フラグ42aの保持回路56と同様であり、同じ符号を付してある。ラッチレジスタ41aにおける保持回路56も、瞬断検出フラグ42aの保持回路56と同様で、リセット端子Rが接地されてLレベルに固定されており、不揮発性メモリ94の書換え情報設定レジスタ94aにあるアドレス、データ、モードの各書換え情報を、パワーオンリセット電圧VPORより低いレベルまで保持することができる。
次に、上記した瞬断検出フラグ42aとラッチレジスタ41aにある保持回路56について、より詳細について説明する。
図13は、保持回路56の具体化例を示す図で、保持回路56aの回路構成図である。また、図14は、図13の保持回路56aの機能を説明するための図で、電源電圧VDDについて、(b)の通常時における最初の電源立ち上がりと(a)の瞬断からの立ち上がりの両方を合わせて示した図である。
図11の瞬断検出フラグ42aおよび図12のラッチレジスタ41aは、前述したようにリセットの機構がない。このため、図14において(b)で示した通常時における最初の電源立ち上がり時には、保持回路56aに不定データが入っている。従って、図1に示すマイコン100のCPU92は、
パワーオンリセット電圧VPORからの復帰時に、(a)の瞬断からの立ち上がり、および(b)の通常時における最初の電源立ち上がり、のいずれであるかを判断しなければならない。そして、(a)の場合におけるCPU92の処理としては、ラッチレジスタ41aに待避したデータを再度不揮発性メモリ94に書き直す等の瞬断後の処理を実施し、瞬断検出フラグ42aおよびラッチレジスタ41aのデータをクリアする処理を実施して、次の瞬断に備える。また、(b)の場合におけるCPU92の処理としては、瞬断検出フラグ42aおよびラッチレジスタ41aの保持回路56aにある不定データをクリアする処理だけを実施する。
従って、(b)の通常時における最初の電源立ち上がり時において、瞬断検出フラグ42aおよびラッチレジスタ41aに入っている不定データをクリアするため、瞬断検出フラグ42aおよびラッチレジスタ41aは初期化される必要がある。これを実現するため、図13に示す保持回路56aでは、通常時の電源立ち上がり時において電源電圧VDDが保持回路56aの論理回路を構成しているトランジスタの閾値電圧VT以下にあって、瞬断検出フラグ42a内およびラッチレジスタ41a内の保持回路56aが不定となる時に、該保持回路56aのデータがクリア側に固定される手段が追加されている。すなわち、図13に示す保持回路56aでは、電源電圧VDDが保持回路56aの論理回路を構成しているトランジスタの閾値電圧VT以下で、保持回路56aの各ノードが不定(Hi−Z)である時に、論理固定する目的で抵抗R21〜R24および保持回路56aの入力へ抵抗R25、R26が挿入されており、それぞれのノードを高抵抗でプルアップまたはプルダウンするようにしている。尚、抵抗R21〜R26の抵抗値は、電源電圧VDDがトランジスタの閾値電圧VT以上となったときに論理回路の動作を阻害しないように、トランジスタの能力に合わせて適宜設定する。これによって、図13の保持回路56aにおいては、通常時における最初の電源立ち上がり時に、該保持回路56aのデータがクリア側に固定されることとなる。
図15は、図1に示した不揮発性メモリの電源瞬断対応回路の変形例を示した図で、不揮発性メモリ94を備えるマイコン100bの回路構成図である。また、図16は、電源瞬断の発生直後における図15のマイコン100bおよび不揮発性メモリ94の動作等を説明するタイムチャートである。
図15のマイコン100bに備わる電源瞬断対応回路は、図1のマイコン100に備わる電源瞬断対応回路の構成に加えて、電源瞬断時にI/Oブロック97や通信ブロック98にある外部情報を保護するようにしたものである。図15のマイコン100bでは、瞬断発生検出回路40からの瞬断検出信号をCPU92の割込コントローラに取り込んで、該瞬断検出信号により、図15に点線で示すように、I/Oブロック97や通信ブロック98にある外部情報を、電源電圧VDDがパワーオンリセット電圧VPORに達する前に、バス93を介してRAM96に一時保存するようにしている。これによって、瞬断検出信号や不揮発性メモリ94の書換え情報設定レジスタ94aにある書換え情報だけでなく、CPU92が上位のアプリケーションで次に書換えようとしていた一連の外部情報や受信データも、マイコン100bがリセットされる前に保護することができる。
このように、図15のマイコン100bに備わる電源瞬断対応回路は、最重要なデータである瞬断検出信号と書換え情報(アドレス,データ、モード)を瞬断検出フラグ42とラッチレジスタ41にハード的に瞬時に保持すると共に、その他の外部情報についてもRAM96に退避できる構成となっている。
図17は、図1に示した電源瞬断対応回路の別の変形例を示した図で、不揮発性メモリ94を備えるマイコン100cの回路構成図である。
図1に示すマイコン100では、チップ1に形成されている各素子に対して、マイコン用の制御された電源電圧VDDが直接供給されていた。これに対して、図17に示す車載用のマイコン100cには、同じチップ1に電源電圧VDDを発生する電源回路91が形成されており、電源回路91に車のバッテリ電圧+Bが供給されて、電源回路91の出力である電源電圧VDDが、CPU92や不揮発性メモリ94に供給される構成となっている。図17に示す電源回路91は、例えて言えば、図8のマイコン100aにおいてチップ1の外部に接続されている外部素子を、同じチップ1に形成したものに相当する。
電源電圧VDDの発生部までチップ1に形成されている図17のマイコン100cでは、図1のマイコン100に較べて、より小型化が図られている。尚、図17の電源構成による不揮発性メモリ94の電源瞬断対応回路についても、図1の電源構成の場合と同様に、電源瞬断があっても確実なデータ保証が可能であることは言うまでもない。
図18は、不揮発性メモリ94の別の電源瞬断対応回路を示した図で、不揮発性メモリ94を備えるマイコン110の回路構成図である。また、図19は、電源瞬断の発生直後における図18の電源瞬断対応回路と不揮発性メモリ94の動作等を説明するタイムチャートである。
図18のマイコン110にある電源瞬断対応回路においても、図1と同様の瞬断発生検出回路40が用いられている。
一方、図1のマイコン100における電源瞬断対応回路では、不揮発性メモリ94の書換え情報設定レジスタ94aにある書換え情報を該不揮発性メモリ94の外部で保持する書換え情報保持手段としてラッチレジスタ41が用いられ、瞬断検出信号を保持する瞬断検出信号保持手段として瞬断検出フラグ42が用いられていた。これに対して、図18のマイコン110における電源瞬断対応回路では、上記書換え情報保持手段と瞬断検出信号保持手段をCPU92とRAM96としている。そして、瞬断発生検出回路40からの瞬断検出信号をCPU92の割込コントローラに取り込んで、該瞬断検出信号と不揮発性メモリ94の書換え情報設定レジスタ94aにある書換え情報およびI/Oブロック97や通信ブロック98にある外部情報を、電源電圧VDDがパワーオンリセット電圧VPORに達する前に、RAM96に一時保持するように構成している。また、CPU92からの命令で不揮発性メモリ94にリセット信号を送るために、リセット信号を保管するメモリ用ソフトリセットレジスタ45が、OR素子43に接続されている。
上記したように、図18に示す電源瞬断対応回路は、図1に示した電源瞬断対応回路におけるラッチレジスタ41や瞬断検出フラグ42の役割を、CPU92の割り込み処理で実現するものである。つまり、瞬断発生検出回路40の出力であるA点での瞬断検出信号でCPU退避する方法である。図18の電源瞬断対応回路では、瞬断発生検出回路40からの瞬断検出信号であらゆる情報をRAM96に退避することができる。
図19のタイムチャートを参照すると、上記したCPU92の処理手順の詳細は、以下のようになる。
1)瞬断検出信号の割込検出
2)不揮発性メモリ94の書換え情報設定レジスタ94aにある書込み中のアドレス、データ、モードの各書換え情報をRAM96へ保存
3)I/Oブロック97や通信ブロック98にある外部入力情報、処理情報、受信データ等の外部情報をRAM96へ保存
4)メモリ用ソフトリセットレジスタ45からソフトリセット発行
5)電源電圧VDDが、VDD_MIN(動作保証電圧)以下に低下
6)パワーオンリセット
以上のようにして、図18の電源瞬断対応回路では、不揮発性メモリ94の書換え情報設定レジスタ94aにある書換え情報、瞬断発生検出回路40から出力された瞬断検出信号およびCPU92が書換えようとしていた一連の外部情報や受信データを、マイコン110がリセットされる前に保護することができる。尚、RAM96に一時保存された上記書換え情報、瞬断検出信号および外部情報は、マイコン110がリセットされる前に別のレジスタに移動して保存する。
以上に説明した不揮発性メモリの電源瞬断対応回路は、いずれも、小型・低コストのメリットを阻害することのない、マイコンと共通の電源電圧で動作する不揮発性メモリの電源瞬断対応回路であって、電源瞬断があっても確実なデータ保証が可能な不揮発性メモリの電源瞬断対応回路とすることができる。
従って、上記不揮発性メモリの電源瞬断対応回路は、小型・低コストを目的とした、マイコンと不揮発性メモリが、一つのチップに形成されてなる場合に好適である。また、この場合は、不揮発性メモリが、フラッシュメモリであってよい。近年では、コスト低減、実装面積削減、セキュリティ対策などを狙い、マイコンに外付けするEEPROMに代えて、元々プログラム格納用としてマイコンに内蔵されていたフラッシュメモリを、データ格納用途として利用(データフラッシュ)することが多くなっている。上記電源瞬断対応回路は、このようなデータフラッシュとして利用されるマイコン内蔵のフラッシュメモリの電源瞬断対応回路として好適である。しかしながら、上記した電源瞬断対応回路はこれに限らず、マイコンと不揮発性メモリがそれぞれ別のチップに形成されていても適用可能である。
また、上記不揮発性メモリの電源瞬断対応回路は、電源瞬断に対しても確実なデータ保証が要求される、マイコンが車載用の電子制御ユニット(ECU)に用いられ、電源電圧VDDが車のバッテリから供給される場合にも好適である。