(57)【特許請求の範囲】
【請求項１】
データの電気消去及びデータの書き込み読み出しが可能で、内部にアドレス保持回路を有する不揮発性メモリと、前記不揮発性メモリの消去及び書き込み読み出しを制御する制御信号を発生し、外部リセット信号により前記制御信号を初期状態とするレジスタ回路と、前記不揮発性メモリのリセットを制御するリセット制御回路と、を備えるマイクロコンピュータにおいて、
前記リセット制御回路は、前記外部リセット信号により前記制御信号が初期状態となるまで、前記外部リセットを遅延させる遅延回路を有し、当該遅延回路からの出力を第２リセット信号として出力することを特徴とする不揮発性メモリの制御回路。
【請求項２】
前記不揮発性メモリは、前記第２リセット信号を受け、前記アドレス保持回路を初期状態とすることを特徴とする請求項１記載の不揮発性メモリの制御回路。
【請求項３】
前記遅延回路は、シフトレジスタで構成され、前記シフトレジスタはシステムクロックが供給され、システムクロックのサイクル数の倍数で、遅延されることを特徴とする請求項１記載の不揮発性メモリの制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを一括又は部分的（セクター単位等）に電気的消去でき且つデータを繰り返し書き込み及び読み出しできる不揮発性メモリ（フラッシュメモリ等）を内蔵したマイクロコンピュータに関し、特に、システムリセット信号発生に伴う不揮発性メモリの誤消去及び誤書き込みを防止する不揮発性メモリの制御回路に関する。
【０００２】
【従来の技術】
１チップマイクロコンピュータは論理演算動作を実行するためのプログラムを記憶するメモリを内蔵する。最近では、このプログラムメモリとして、マスクＲＯＭの代わりにデータの電気的消去及び書き込み可能なフラッシュメモリを内蔵する傾向が高い。これは、プログラム内容を変更する際、マスクＲＯＭの場合は、マスクＲＯＭ自体の設計変更を必要とするために多額の開発費と長い納期を強いられるが、これに対し、フラッシュメモリの場合は書き換え命令を実行して外部から書き換えデータを供給することで容易に対応でき、プログラム開発及びデバッグ作業の効率化が図れ、開発期間の短縮化と汎用性の向上を実現できる利点に起因する。
【０００３】
１チップマイクロコンピュータは、例えば、フラッシュメモリの内容を書き換えるための命令が格納された書き換えメモリを別途内蔵するか、または、フラッシュメモリ内蔵の場合フラッシュメモリの特定の領域に書き換え命令プログラムを格納するように構成されている。フラッシュメモリのデータ書き換えは、フラッシュメモリの書き換え命令が実行されると、書き換えデータが１チップマイクロコンピュータ内部に取り込まれ、書き換えるべき記憶領域のデータを消去したのち、書き換えデータを書き込むことにより実行される。
【０００４】
フラッシュメモリは、そのメモリの内容を消去及び書き込み読み出しを制御する各種制御信号入力を有し、また、書き込みの際にアドレスデータを保持するためのアドレス保持回路を有する。また、フラッシュメモリにおいて、一般には、セクター単位で消去のアクセスを行うセクターイレーズ機能と、全記憶領域の消去のアクセスを行うチップイレーズ機能と、書き込みのアクセスを行うプログラム機能とを有し、また、その各々のアクセスに要する時間はメモリの容量やセクターのサイズ等によって異なる。
【０００５】
フラッシュメモリを内蔵する１チップマイクロコンピュータにおいて、メモリの容量やセクターサイズや書き込み等に要する時間などの特性の異なるフラッシュメモリ内蔵に対応するため、夫々の制御信号を格納するレジスタ回路を設け、夫々の制御信号の設定タイミング、消去及び書き込み時間の制御をプログラムで実行することにより、汎用性を実現している。
【０００６】
図４は、従来の不揮発性メモリの制御回路を示す図である。
図４において、１はフラシュメモリであって、ロウアドレス入力ＸＡＤＲ［１１：０］、カラムアドレス入力ＹＡＤＲ［７：０］、データ入力ＤＩ［３１：０］、データ出力ＤＯ［３１：０］、チップイネーブル信号入力ＣＥＸ、アウトプットイネーブル信号入力ＯＥＸ、セクターイレーズ信号入力ＳＥＲＳ、チップイレーズ信号入力ＣＥＲＳ、プログラム信号入力ＰＲＯＧ、及び、ライトプロテクト信号入力ＷＰＸとを有し、アドレスＸＡＤＲ及びＹＡＤＲ入力にはアドレス保持回路２を備える。このアドレス保持回路２では、メモリの内容を消去又は書き込みの際に、チップイネーブル信号ＣＥＸの立下りに応じてアドレス値が保持される。
３はＣＰＵであって、各種論理演算等が実行されると共に、周辺回路等へ夫々の制御信号が出力される。４はレジスタ回路であって、ＣＰＵ３からバスを介してフラッシュメモリ１の制御信号ＣＥＸ、ＯＥＸ、ＳＥＲＳ、ＣＥＲＳ、ＰＲＯＧ及びＷＰＸが格納される。
【０００７】
次に、フラッシュメモリ１の内容の消去及び書き込み動作を図３を用いて説明する。フラッシュメモリ１の内容の消去及び書き込みのアクセスのタイミングにおいて、図３に示すような所定のシーケンスに基づいてアクセスを実行する必要がある。
【０００８】
図３Ａは、フラッシュメモリ１の全ての記憶領域のデータを消去するチップイレーズ動作のタイミングを示す。まず、ＣＰＵ３からバスを介してレジスタ回路４へプロテクト信号ＷＰＸ及びアウトプットイネーブル信号ＯＥＸがＨレベルに設定される。プロテクト信号ＷＰＸのＨレベルに応じて、フラッシュメモリ１ではデータの書き込み及び消去動作の禁止が解除される。また、アウトプットイネーブル信号ＯＥＸがＨレベルに応じて、フラッシュメモリ１ではデータ出力ＤＯ［３１：０］が高インピーダンスとなる。
次に、ＣＰＵ３からバスを介してレジスタ回路４へチップイレーズ信号ＣＥＲＳがＨレベルに設定される。そして、フラッシュメモリの特性に依って決まる所定の時間（一般的には、数十ｎｓｅｃ）後、ＣＰＵ３からバスを介してレジスタ回路４へチップイネーブル信号ＣＥＸがＬレベルに設定されると、フラシュメモリ１では全記憶領域のデータ消去が開始される。
【０００９】
そして、フラッシュメモリ１が全記憶領域のデータ消去に必要な期間、ライトプロテクト信号ＷＰＸ及びチップイレーズ信号ＣＥＲＳがＨレベル、チップイネーブル信号ＣＥＸがＬレベルに保持されることにより、全記憶領域のデータ消去が完了する。そして、ＣＰＵ３からバスを介してレジスタ回路４へチップイネーブル信号ＣＥＸがＨレベルに戻され、フラッシュメモリの特性に依って決まる所定の時間後、ＣＰＵ３からバスを介してレジスタ回路４へチップイレーズ信号ＣＥＲＳとプロテクト信号ＷＰＸとがＬレベルに戻されることにより、フラッシュメモリ１ではチップイレーズモードが解除される。尚、プロテクト信号ＷＰＸとチップイレーズＣＥＲＳとの設定順は、特に制限されるものでなく、信号ＷＰＸ及びＣＥＲＳがＨレベルに設定され、チップイネーブル信号ＣＥＸがＬレベルに設定されるまでの時間がラッシュメモリの特性に依って決まる所定の時間確保されていればよい。
【００１０】
次に、図３Ｂは、フラッシュメモリ１のロウアドレスＸＡＤＲ［１１：３］に対応したセクター領域のデータを消去するセクターイレーズ動作のタイミングを示す。セクターイレーズは、まず、フラッシュメモリ１のデータを消去するセクター領域を示すロウアドレスＸＡＤＲ［１１：３］の値がＣＰＵ３からアドレスバスを介してフラッシュメモリ１へ入力される。次に、ＣＰＵ３からバスを介してレジスタ回路４へライトプロテクトＷＰＸ、アウトプットイネーブルＯＥＸ、及び、セクターイレーズ信号ＳＥＲＳがＨレベルに設定される。そして、フラッシュメモリの特性に依って決まる所定の時間（一般的には、数十ｎｓｅｃ）後、ＣＰＵ３からバスを介してレジスタ回路４へチップイネーブル信号ＣＥＸがＬレベルに設定されると、フラシュメモリ１では１セクター分のデータ消去が開始される。尚、チップイネーブル信号ＣＥＸのＨレベルからＬレベルに遷移する立下りに基づいてアドレスデータがアドレス保持回路２で保持される。
【００１１】
そして、フラッシュメモリ１が１セクター分のデータ消去に必要な期間、ライトプロテクト信号ＷＰＸ及びセクターイレーズ信号ＳＥＲＳがＨレベル、チップイネーブル信号ＣＥＸがＬレベルに保持されると、１セクター分のデータが消去完了する。そして、１セクター分のデータ消去が完了した後、ＣＰＵ３からバスを介してレジスタ回路４へチップイネーブル信号ＣＥＸがＨレベルに戻され、フラッシュメモリの特性に依って決まる所定の時間後、ＣＰＵ３からバスを介してレジスタ回路４へセクターイレーズ信号ＳＥＲＳとプロテクト信号ＷＰＸとがＬレベルに戻されると、フラッシュメモリ１ではセクターイレーズモードが解除される。
【００１２】
図３Ｃは、アドレスＸＡＤＲ［１１：０］及びＹＡＤＲ［７：０］に対応した領域にデータＤＩ［３１：０］を書き込むプログラム動作のタイミングを示す。まず、フラッシュメモリ１のデータを書き込む領域を示すアドレスＸＡＤＲ［１１：０］及びＹＡＤＲ「７：０」の値がＣＰＵ３からアドレスバスを介してフラッシュメモリ１へ入力される。また、そのアドレスに書き込むデータの値がＣＰＵ３からデータバスを介してフラッシュメモリ１へ入力される。次に、ＣＰＵ３からバスを介してレジスタ回路４へライトプロテクトＷＰＸ、アウトプットイネーブルＯＥＸ、及び、プログラム信号ＰＲＯＧがＨレベルに設定される。そして、フラッシュメモリの特性に依って決まる所定の時間（一般的には、数十ｎｓｅｃ）後、ＣＰＵ３からバスを介してレジスタ回路４へチップイネーブル信号ＣＥＸがＬレベルに設定されると、フラシュメモリ１ではデータ書き込みが開始される。尚、チップイネーブル信号ＣＥＸのＨレベルからＬレベルに遷移する立下りに基づいてアドレスデータがアドレス保持回路２で保持される。
【００１３】
そして、フラッシュメモリ１がデータ書き込みに必要な期間、ライトプロテクト信号ＷＰＸ及びプログラム信号ＰＲＯＧがＨレベル、チップイネーブル信号ＣＥＸがＬレベルに保持されることにより、データの書き込みが完了する。そして、データの書き込みが完了した後、ＣＰＵ３からバスを介してレジスタ回路４へチップイネーブル信号ＣＥＸがＨレベルに戻され、フラッシュメモリの特性に依って決まる所定の時間後、ＣＰＵ３からバスを介してレジスタ回路４へプログラム信号ＰＲＯＧとプロテクト信号ＷＰＸとがＬレベルに戻されると、フラッシュメモリ１ではプログラムモードが解除される。
【００１４】
ところで、レジスタ回路４では、マイクロコンピュータ全体を初期化するシステムリセット信号ＲＳＴＸが入力されるリセット入力を有している。このシステムリセット信号ＲＳＴＸは、外部から入力され、システム動作に用いるクロックとは非同期である。
そして、例えば、チップイレーズ動作中に外部から非同期にシステムリセット信号ＲＳＴＸが入力されると、レジスタ回路４では、信号ＣＥＸ、ＣＥＲＳ、ＯＥＸ、ＷＰＸが格納されるレジスタが初期化され、チップイネーブル信号ＣＥＸがＨレベル、チップイレーズ信号ＣＥＲＳがＬレベル、アウトプットイネーブル信号ＯＥＸ及びライトプロテクト信号ＷＰＸがＨレベルとして出力される。これより、フラッシュメモリ１では、チップイレーズ動作が強制終了される。なお、信号ＯＥＸ、ＳＥＲＳ、ＣＥＲＳ、ＰＲＯＧ及びＷＰＸを格納するレジスタの出力段には、チップイネーブル信号ＣＥＸがＨレベルに初期化出力されてからフラッシュメモリの特性に依って決まる所定の時間（一般的には、数十ｎｓｅｃ）分遅延させる遅延手段が設けられている。よって、システムリセットＲＳＴＸが発生しても所定の終了シーケンスを実行できる。
【００１５】
【発明が解決しようとする課題】
マイクロコンピュータに内蔵されるフラッシュメモリは、そのフラッシュメモリに内蔵されるアドレス保持回路の初期化を容易にするため、アドレス保持回路にリセット入力を備え、他のマイクロコンピュータ等への内蔵という汎用性の向上が図られている。これにより、フラッシュメモリの初期化をプログラムに依らず、リセット信号による初期化を実現しているのである。
【００１６】
しかし、フラッシュメモリにおいては、そのメモリの内容を消去及び書き込みの終了においても、所定のシーケンスを実行する必要がある為、消去又は書き込みシーケンスを実行中に、システムリセット信号が発生すると、メモリのアクセスを制御する制御回路が消去又は書き込みの終了シーケンスを完了する前に、フラッシュメモリに内蔵されるアドレス保持回路が初期化されてしまい、誤ったアドレスの内容が誤消去又は誤書き込みされてしまうという問題が生じる。
【００１７】
そこで、本発明は、フラッシュメモリの消去及び書き込みシーケンス実行中のシステムリセット信号の発生に伴うフラッシュメモリの誤消去及び誤書き込みを確実に防止する、フラッシュメモリ（不揮発性メモリ）の制御回路を提供することを目的とする。
【００１８】
【課題を解決するための手段】
本発明は、上述した点に鑑みて、創作されたものであり、その特徴とするところは、データの電気消去及びデータの書き込み読み出しが可能な不揮発性メモリと、前記不揮発性メモリの消去及び書き込み読み出しを制御する各種制御信号を発生するレジスタ回路とを備えるマイクロコンピュータにおいて、前記不揮発性メモリはリセット入力を有し、そのリセット信号に応じて少なくともアドレスデータが初期化され、前記制御回路はシステムリセット信号に応じて前記各種制御信号を解除し、前記システムリセット信号を遅延し、第２リセット信号として前記不揮発性メモリへ出力するリセット制御手段を備えることを特徴とする。
【００１９】
また、前記リセット制御手段は、前記システムクロックを少なくとも前記各種制御信号が解除される所定量遅延し、第２リセット信号として出力することを特徴とする。
【００２０】
さらに、前記リセット制御回路は、シフトレジスタで構成し、前記システムリセット信号を所定量以上遅延し、第２リセット信号として出力することを特徴とする。
【００２１】
【発明の実施の形態】
本発明の詳細を図面に従って具体的に説明する。図１は本発明の実施形態の構成を示すブロック図である。
【００２２】
図１において、１はフラシュメモリであって、マイクロコンピュータのプログラムデータ等を格納する。２はフラッシュメモリに内蔵されるアドレス保持回路であって、リセット入力を有している。３はＣＰＵであって、各種論理演算等を実行すると共に、周辺回路等へ夫々の制御信号を出力するものである。４はレジスタ回路であって、制御信号の数の分のレジスタで構成され、ＣＰＵ３からデータバスを介してフラッシュメモリ１への各種制御信号が設定される。５はリセット制御回路であって、例えば、図２に示すような４ビットのシフトレジスタで構成される。そして、リセット制御回路５では、外部からのシステムリセット信号ＲＳＴ１ＸをシステムクロックＣＬＫに基づいて４サイクル分遅延し、その遅延させた信号を第２のリセット信号ＲＳＴ２Ｘとして出力する。これにより、システムリセット信号ＲＳＴ１Ｘが発生した場合でも、レジスタ回路４が初期化され、フラッシュメモリ１への制御信号すべてが初期化された後、フラッシュメモリ１のアドレス保持回路２が初期化される。
【００２３】
次に、具体的に、図３Ｃのプログラムのシーケンス実行中にシステムリセットが発生した場合で説明する。
【００２４】
先ず、第１の処理ステップとして、レジスタ回路４において、プロテクト信号ＷＰＸが書き込み及び消去の禁止を解除するＬレベルに設定される。これより、フラッシュメモリ１において、消去及び書き込みのシーケンスの実行が可能となる。
【００２５】
次に、第２のステップとして、アドレス保持回路２において、アドレスバスを介して書き込むべきアドレスの情報が第１アドレスＸＡＤＲ［１１：０］及び第２アドレスＹＡＤＲ［７：０］に入力される。また、フラッシュメモリ１において、データバスを介して書き込むデータの値がデータ入力Ｉ［３１：０］に入力される。尚、書き込むデータは、外部、ＣＰＵ３又は別のメモリやレジスタ等から入力される。
【００２６】
次に、第３のステップとして、レジスタ回路４において、プログラム信号ＰＲＯＧが書き込み動作を指示するＨレベルに設定される。
【００２７】
また、レジスタ回路４において、アウトプットイネーブル信号ＯＥＸがデータ出力Ｏ［３１：０］を非アクティブにするＨレベルに設定される。
【００２８】
次に、第４のステップとして、レジスタ回路４において、チップイネーブル信号ＣＥＸがフラッシュメモリの動作をアクティブにするＬレベルに設定される。尚、アドレス保持回路２において、チップイネーブルＣＥＸがＨレベルからＬレベルに遷移、即ち、チップイネーブル信号ＣＥＸの立下りに応じて、第１及び第２アドレスＸＡＤＲ［１１：０］及びＹＡＤＲ［７：０］のアドレス入力データが保持される。
【００２９】
これより、フラッシュメモリ１では、プログラムシーケンスであるデータの書き込みが実行される。
【００３０】
そして、第５のステップとして、フラッシュメモリ１が書き込みを実行するのに必要な時間、チップイネーブルＣＥＸがＬレベル、アウトプットイネーブル信号ＯＥＸ及びプログラム信号ＰＲＯＧがＨレベルに保持されると、データの書き込みが完了する。
【００３１】
一方、上述の第５ステップにおいて、データの書き込みが完了する前に、システムリセット信号ＲＳＴ１Ｘが発生すると、つまり、フラッシュメモリの書き込みに必要な時間が経過する前にシステムリセット信号ＲＳＴ１Ｘが発生すると、レジスタ回路４から出力される全ての制御信号は初期化される。
【００３２】
システムリセット信号ＲＳＴ１Ｘが発生すると、レジスタ回路４では、全てのレジスタが初期化されることにより、全ての制御信号は非アクティブの状態となる。具体的には、チップイネーブル信号ＣＥＸはＨレベル、アウトプットイネーブル信号ＯＥＸ、プロテクト信号ＷＰＸ及びプログラム信号ＰＲＯＧはＬレベルに初期化される。これより、フラッシュメモリ１のプログラム動作が強制終了される。
【００３３】
また、リセット制御回路５では、システムリセット信号ＲＳＴ１Ｘがシステムクロック信号ＣＬＫの４サイクル分遅延され、その遅延された信号が第２リセット信号ＲＳＴ２Ｘとして出力される。そして、アドレス保持回路２では、第２リセット信号ＲＳＴ２Ｘに応じてアドレスデータが初期化される。
【００３４】
以上で、フラッシュメモリのプログラムのシーケンスを制御する制御信号が所定の手順で初期化されることにより、プログラムの終了シーケンスが完了され、その後、アドレス保持回路２の初期化が成されるので、誤ったアドレスに対しての誤書き込みが防止できる。
【００３５】
なお、上述の説明では、フラシュメモリ１のデータを書き込むプログラムのシーケンスの場合を説明したが、チップイレーズまたはセクターイレーズ動作の場合、プログラムのシーケンスのプログラム信号ＰＲＯＧの場合と同様に、システムリセット信号ＲＳＴ１Ｘに応じてレジスタ回路４の全てのレジスタが初期化されることによりチップイレーズ信号ＣＥＲＳ及びセクターイレーズ信号ＳＥＲＳが非アクティブの状態となる。そして、フラッシュメモリ１のチップイレーズまたはセクターイレーズ動作が強制終了された後、リセット制御回路５では、システムリセット信号ＲＳＴ１Ｘがシステムクロック信号ＣＬＫの４サイクル分遅延された第２リセット信号ＲＳＴ２Ｘに応じてアドレス保持回路４のアドレスデータが初期化される。
【００３６】
このように、フラッシュメモリ１のデータ消去や書き込み時に、システムリセット信号ＲＳＴ１Ｘが発生した場合、その消去や書き込み動作のシーケンスを制御する制御信号が初期化されたのち、アドレス保持回路２の初期化されるので、誤ったアドレスに対しての誤書き込みが防止される。
【００３７】
以上より、フラッシュメモリ１の消去及び書き込みシーケンスの実行中においてシステムリセット信号ＲＳＴ１Ｘが発生した場合、レジスタ回路４がシステムリセット信号ＲＳＴ１Ｘに応じて初期化され、フラッシュメモリ１のプログラム、チップイレーズ及びセクターイレーズ動作が強制終了されたのち、フラッシュメモリ１の内蔵されるアドレス保持回路２が初期化されるようにしたので、フラッシュメモリの消去及び書き込みの所定の終了シーケンスを確実に実行することができる。
【００３８】
このように、フラッシュメモリの消去及び書き込みシーケンスの実行中においてシステムリセット信号ＲＳＴ１Ｘが発生した場合、リセット制御回路５がシステムリセット信号ＲＳＴ１Ｘをレジスタ回路４が消去又は書き込みの終了シーケンスを完了するまで遅延し、第２リセット信号ＲＳＴ２Ｘとしてフラッシュメモリのアドレス保持回路２へ出力する構成とした。これにより、フラッシュメモリの消去及び書き込みの終了シーケンスを確実に完了させることができ、誤消去及び誤書き込みを確実に防止できる。
【００３９】
【発明の効果】
上述の如く、本発明によれば、リセット入力を有するアドレス保持回路が内蔵される不揮発性メモリの記憶領域の消去及び書き込みシーケンスを実行中にシステムリセット信号が発生しても、所定の終了シーケンスを完了させた後、不揮発性メモリのアドレス保持回路を初期化させる為、誤消去及び誤書き込みを確実に防止できるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態の不揮発性メモリの制御回路の構成を示すブロック図である。
【図２】図１のリセット制御回路の具体例を示す図である。
【図３】不揮発性メモリの各種シーケンスを説明するタイムチャートである。
【図４】従来の不揮発性メモリの制御回路の構成を示す図である。
【符号の説明】
１  フラッシュメモリ
２  アドレス保持回路
３  ＣＰＵ
４  レジスタ回路
５  リセット制御回路
ＲＳＴ１Ｘ  システムリセット信号
ＣＬＫ      システムクロック信号
【図１】
0003998452.tif 000002
【図２】
0003998452.tif 000003
【図３】
0003998452.tif 000004
【図４】
0003998452.tif 000005