JP2000112828A - 不揮発性メモリのデータ保護装置 - Google Patents
不揮発性メモリのデータ保護装置Info
- Publication number
- JP2000112828A JP2000112828A JP10278005A JP27800598A JP2000112828A JP 2000112828 A JP2000112828 A JP 2000112828A JP 10278005 A JP10278005 A JP 10278005A JP 27800598 A JP27800598 A JP 27800598A JP 2000112828 A JP2000112828 A JP 2000112828A
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- nonvolatile memory
- rewriting
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【課題】 プログラム処理の暴走に伴うプログラム内容
の誤書き換えを防止する。 【解決手段】 1チップマイクロコンピュータを初期化
する際にRS型フリップフロップ21の状態を判別し、
RS型フリップフロップ21がリセットされている場合
のみ、フラッシュメモリ1のデータ書き換え動作に移行
する構成とした。これにより、初期化が不十分な場合
は、RS型フリップフロップ21がセットされたままで
アドレスレジスタ3の値が0番地でなくなる為、マイク
ロコンピュータのプログラム処理が暴走したりするが、
この場合のフラッシュメモリ1に対する誤書き込みは確
実に防止できる。
の誤書き換えを防止する。 【解決手段】 1チップマイクロコンピュータを初期化
する際にRS型フリップフロップ21の状態を判別し、
RS型フリップフロップ21がリセットされている場合
のみ、フラッシュメモリ1のデータ書き換え動作に移行
する構成とした。これにより、初期化が不十分な場合
は、RS型フリップフロップ21がセットされたままで
アドレスレジスタ3の値が0番地でなくなる為、マイク
ロコンピュータのプログラム処理が暴走したりするが、
この場合のフラッシュメモリ1に対する誤書き込みは確
実に防止できる。
Description
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータの誤動作に伴う不揮発性メモリ(フラッシュメモリ
等)の誤書き込みを防止する、不揮発性メモリのデータ
保護装置に関する。
ータの誤動作に伴う不揮発性メモリ(フラッシュメモリ
等)の誤書き込みを防止する、不揮発性メモリのデータ
保護装置に関する。
【0002】
【従来の技術】1チップマイクロコンピュータは論理演
算動作を実行する為のプログラムメモリを内蔵するが、
最近では、プログラムメモリとして、マスクROMに代
わりフラッシュメモリを内蔵する傾向が高い。これは、
プログラム内容を変更する際、マスクROMの場合は設
計変更を必要とする為に多額の開発費と長い納期を強い
られるが、これに対し、フラッシュメモリの場合は書き
換え命令を実行して外部から書き換えデータを供給する
ことで容易に対応でき、マスクROMの欠点を十分に補
える特性を有する点に起因する。
算動作を実行する為のプログラムメモリを内蔵するが、
最近では、プログラムメモリとして、マスクROMに代
わりフラッシュメモリを内蔵する傾向が高い。これは、
プログラム内容を変更する際、マスクROMの場合は設
計変更を必要とする為に多額の開発費と長い納期を強い
られるが、これに対し、フラッシュメモリの場合は書き
換え命令を実行して外部から書き換えデータを供給する
ことで容易に対応でき、マスクROMの欠点を十分に補
える特性を有する点に起因する。
【0003】1チップマイクロコンピュータは、例え
ば、前記フラッシュメモリの内容を書き換える為の命令
が格納された書き換えメモリを別途内蔵する。即ち、前
記フラッシュメモリの書き換え命令が実行されると、書
き換えデータが1チップマイクロコンピュータ内部に取
り込まれ、データ書き換え処理が実行される。
ば、前記フラッシュメモリの内容を書き換える為の命令
が格納された書き換えメモリを別途内蔵する。即ち、前
記フラッシュメモリの書き換え命令が実行されると、書
き換えデータが1チップマイクロコンピュータ内部に取
り込まれ、データ書き換え処理が実行される。
【0004】しかし、前記フラッシュメモリは書き換え
可能な特性を有する故、前記フラッシュメモリの内容を
第三者が当事者の意思に反して書き換えてしまう恐れが
ある。そこで、現在の大半のフラッシュメモリは、デー
タが容易に書き換えられない様にプロテクト機能を有し
ている。具体的には、プロテクト解除、データ書き換
え、プロテクト付加のシーケンスを実行する書き換え命
令を書き換えメモリに格納し、このプログラム処理を実
行している。
可能な特性を有する故、前記フラッシュメモリの内容を
第三者が当事者の意思に反して書き換えてしまう恐れが
ある。そこで、現在の大半のフラッシュメモリは、デー
タが容易に書き換えられない様にプロテクト機能を有し
ている。具体的には、プロテクト解除、データ書き換
え、プロテクト付加のシーケンスを実行する書き換え命
令を書き換えメモリに格納し、このプログラム処理を実
行している。
【0005】
【発明が解決しようとする課題】しかし、従来のプロテ
クト機能では、1チップマイクロコンピュータのプログ
ラム処理の暴走に伴い、実行アドレスがフラッシュメモ
リの或るアドレスから書き換えメモリの書き換え命令格
納アドレスに誤ってジャンプしてしまうと、フラッシュ
メモリの内容が当事者の意思に反して書き換わってしま
う問題があった。
クト機能では、1チップマイクロコンピュータのプログ
ラム処理の暴走に伴い、実行アドレスがフラッシュメモ
リの或るアドレスから書き換えメモリの書き換え命令格
納アドレスに誤ってジャンプしてしまうと、フラッシュ
メモリの内容が当事者の意思に反して書き換わってしま
う問題があった。
【0006】そこで、本発明は、プログラム処理の暴走
に伴う不揮発性メモリのデータ誤書き換えを確実に防止
する、不揮発性メモリのデータ保護装置を提供すること
を目的とする。
に伴う不揮発性メモリのデータ誤書き換えを確実に防止
する、不揮発性メモリのデータ保護装置を提供すること
を目的とする。
【0007】
【課題を解決するための手段】本発明は、前記問題点を
解決する為に創作されたものであり、データの電気消去
及びデータの書き込み読み出しが可能な特性を有し、各
種論理演算動作を実行する為のプログラムデータ又はテ
ーブルデータが格納される第1不揮発性メモリを内蔵し
たマイクロコンピュータであって、少なくとも、前記マ
イクロコンピュータを動作制御する為のプログラムデー
タと前記第1不揮発性メモリの内容を書き換える為のプ
ログラムデータとが格納された第2不揮発性メモリと、
電源投入と同時に発振動作を開始する発振器と、電源投
入に伴いリセット信号を発生し、前記第1及び第2不揮
発性メモリをアドレス指定するアドレスレジスタに対し
初期値を設定するリセット信号発生回路と、電源投入
時、正常動作ならば、前記発振器の発振出力に基づいて
一方の論理値となった後、前記リセット信号に基づいて
他方の論理値となるフラグ回路と、を備え、前記第2不
揮発性メモリから読み出された前記第1不揮発性メモリ
の内容書き換えプログラムの解読結果に従って、前記フ
ラグ回路の内容を確認し、前記フラグ回路の内容が他方
の論理値である場合のみ、前記第1不揮発性メモリの内
容を書き換え可能とすることを特徴とする。
解決する為に創作されたものであり、データの電気消去
及びデータの書き込み読み出しが可能な特性を有し、各
種論理演算動作を実行する為のプログラムデータ又はテ
ーブルデータが格納される第1不揮発性メモリを内蔵し
たマイクロコンピュータであって、少なくとも、前記マ
イクロコンピュータを動作制御する為のプログラムデー
タと前記第1不揮発性メモリの内容を書き換える為のプ
ログラムデータとが格納された第2不揮発性メモリと、
電源投入と同時に発振動作を開始する発振器と、電源投
入に伴いリセット信号を発生し、前記第1及び第2不揮
発性メモリをアドレス指定するアドレスレジスタに対し
初期値を設定するリセット信号発生回路と、電源投入
時、正常動作ならば、前記発振器の発振出力に基づいて
一方の論理値となった後、前記リセット信号に基づいて
他方の論理値となるフラグ回路と、を備え、前記第2不
揮発性メモリから読み出された前記第1不揮発性メモリ
の内容書き換えプログラムの解読結果に従って、前記フ
ラグ回路の内容を確認し、前記フラグ回路の内容が他方
の論理値である場合のみ、前記第1不揮発性メモリの内
容を書き換え可能とすることを特徴とする。
【0008】また、前記第1不揮発性メモリは、予め書
き換え禁止状態に設定されており、前記第1不揮発性メ
モリの内容書き換えプログラムの解読結果に従って、前
記フラグ回路の内容が他方の論理値であることを確認す
ると、書き換え禁止の解除、内容の書き換え、書き換え
禁止の設定の一連の動作が実行されることを特徴とす
る。
き換え禁止状態に設定されており、前記第1不揮発性メ
モリの内容書き換えプログラムの解読結果に従って、前
記フラグ回路の内容が他方の論理値であることを確認す
ると、書き換え禁止の解除、内容の書き換え、書き換え
禁止の設定の一連の動作が実行されることを特徴とす
る。
【0009】
【発明の実施の形態】本発明の詳細を図面に従って具体
的に説明する。
的に説明する。
【0010】図1は本発明の不揮発性メモリのデータ保
護装置を示すブロック図である。
護装置を示すブロック図である。
【0011】図1において、フラッシュメモリ(1)
は、データをページ(例えば128バイト)単位で電気
消去して書き換える特性を有し、1チップマイクロコン
ピュータの各種論理演算を実行する為のプログラムデー
タ、各種論理演算の際に必要なテーブルデータ等が格納
される。フラッシュメモリ(1)は各ページ単位で自動
インクリメントを行う専用のアドレスレジスタ(14)
を含む。尚、フラッシュメモリ(1)は第1不揮発性メ
モリに相当する。プログラムメモリ(2)は、主に1チ
ップマイクロコンピュータの各種論理演算を実行する為
のプログラムデータと、フラッシュメモリ(1)の内容
を書き換える為の書き換え命令が格納される。書き換え
命令は、X番地のサブルーチンコール命令とY番地以降
の書き換え用のサブルーチンプログラム命令とから成
る。即ち、フラッシュメモリ(1)の内容を書き換えた
い時は、プログラムメモリ(2)のX番地を指定してサ
ブルーチンコール命令を実行し、その後、Y番地にジャ
ンプしてサブルーチンプログラム命令を実行し、フラッ
シュメモリ(1)の書き換え動作を実行する。尚、プロ
グラムメモリ(2)は不揮発性の特性を有するものであ
り、マスクROM、フラッシュメモリ等が好適である。
アドレスレジスタ(3)はフラッシュメモリ(1)及び
プログラムメモリ(2)をアドレス指定するものであ
る。尚、フラッシュメモリ(1)及びプログラムメモリ
(2)は同一アドレス空間に存在し、プログラムメモリ
(2)の最後のアドレスとフラッシュメモリ(1)の最
初のアドレスは連続するものとする。インストラクショ
ンレジスタIR(4)は、フラッシュメモリ(1)又は
プログラムメモリ(2)から読み出されたプログラム命
令を保持するものである。インストラクションデコーダ
IDEC(5)は、インストラクションレジスタ(4)
の保持内容を解読し、1チップマイクロコンピュータの
各構成ブロックを動作制御する為の制御信号、及び、各
種論理演算を実行する為の制御信号等を出力するもので
ある。尚、各種論理演算は、演算論理ユニットALU
(図示せず)で実行される。
は、データをページ(例えば128バイト)単位で電気
消去して書き換える特性を有し、1チップマイクロコン
ピュータの各種論理演算を実行する為のプログラムデー
タ、各種論理演算の際に必要なテーブルデータ等が格納
される。フラッシュメモリ(1)は各ページ単位で自動
インクリメントを行う専用のアドレスレジスタ(14)
を含む。尚、フラッシュメモリ(1)は第1不揮発性メ
モリに相当する。プログラムメモリ(2)は、主に1チ
ップマイクロコンピュータの各種論理演算を実行する為
のプログラムデータと、フラッシュメモリ(1)の内容
を書き換える為の書き換え命令が格納される。書き換え
命令は、X番地のサブルーチンコール命令とY番地以降
の書き換え用のサブルーチンプログラム命令とから成
る。即ち、フラッシュメモリ(1)の内容を書き換えた
い時は、プログラムメモリ(2)のX番地を指定してサ
ブルーチンコール命令を実行し、その後、Y番地にジャ
ンプしてサブルーチンプログラム命令を実行し、フラッ
シュメモリ(1)の書き換え動作を実行する。尚、プロ
グラムメモリ(2)は不揮発性の特性を有するものであ
り、マスクROM、フラッシュメモリ等が好適である。
アドレスレジスタ(3)はフラッシュメモリ(1)及び
プログラムメモリ(2)をアドレス指定するものであ
る。尚、フラッシュメモリ(1)及びプログラムメモリ
(2)は同一アドレス空間に存在し、プログラムメモリ
(2)の最後のアドレスとフラッシュメモリ(1)の最
初のアドレスは連続するものとする。インストラクショ
ンレジスタIR(4)は、フラッシュメモリ(1)又は
プログラムメモリ(2)から読み出されたプログラム命
令を保持するものである。インストラクションデコーダ
IDEC(5)は、インストラクションレジスタ(4)
の保持内容を解読し、1チップマイクロコンピュータの
各構成ブロックを動作制御する為の制御信号、及び、各
種論理演算を実行する為の制御信号等を出力するもので
ある。尚、各種論理演算は、演算論理ユニットALU
(図示せず)で実行される。
【0012】RAM(6)は、制御信号に基づく論理演
算結果等の書き込み読み出しが行われるものである。
尚、RAM(6)は、揮発性のSRAMで構成されるも
のとする。アドレスレジスタ(7)は、RAM(6)を
アドレス指定するものである。入力端子(8)は、フラ
ッシュメモリ(1)の書き換えデータがシリアル入力さ
れる端子である。シリアル入力回路(9)は、入力端子
(8)から供給されたデータをシリアル状態からパラレ
ル状態へ変換し、アドレスレジスタ(7)で指定される
RAM(6)のアドレスに供給するものである。尚、R
AM(6)に対する格納データとは、フラッシュメモリ
(1)の書き換え先頭番地を表すアドレスデータと、1
28バイトの書き換えデータである。テーブル参照レジ
スタ(15)は、制御信号に従って、RAM(6)に格
納された書き換え先頭番地を表すアドレスデータが読み
出されてセットされる。フラッシュメモリ(1)のデー
タ書き換えを実行する時、後述する書き換え許可信号W
RTはハイレベルとなり、切換回路(16)はテーブル
参照レジスタ(15)のセット内容を選択し、これよ
り、フラッシュメモリ(1)の書き換え先頭番地が確定
する。ページバッファ(10)は1ページ(128バイ
ト)分の格納容量を有する。ページバッファ(10)
は、RAM(6)に1ページ分の書き換えデータが格納
されると、内部バス(11)を介して書き換えデータが
転送され格納される。ページバッファ(10)の内容は
フラッシュメモリ(1)の書き換え先頭番地からアドレ
スレジスタ(14)で順次指定されるページアドレスに
書き込まれる。フラッシュメモリ(1)は、それ自体を
書き込み状態に設定する書き込み許可信号WRTと、デ
ータ書き換えを許可又は禁止するプロテクト信号PRO
TECTとがANDゲート(13)を介して供給され
る。即ち、フラッシュメモリ(1)は、プロテクト信号
PROTECTが論理値「0」である限り、データ書き
換えは許可されない。尚、プロテクト信号PROTEC
Tは、出荷時において、外部テスタを用いて強制的に論
理値「0」に設定される。
算結果等の書き込み読み出しが行われるものである。
尚、RAM(6)は、揮発性のSRAMで構成されるも
のとする。アドレスレジスタ(7)は、RAM(6)を
アドレス指定するものである。入力端子(8)は、フラ
ッシュメモリ(1)の書き換えデータがシリアル入力さ
れる端子である。シリアル入力回路(9)は、入力端子
(8)から供給されたデータをシリアル状態からパラレ
ル状態へ変換し、アドレスレジスタ(7)で指定される
RAM(6)のアドレスに供給するものである。尚、R
AM(6)に対する格納データとは、フラッシュメモリ
(1)の書き換え先頭番地を表すアドレスデータと、1
28バイトの書き換えデータである。テーブル参照レジ
スタ(15)は、制御信号に従って、RAM(6)に格
納された書き換え先頭番地を表すアドレスデータが読み
出されてセットされる。フラッシュメモリ(1)のデー
タ書き換えを実行する時、後述する書き換え許可信号W
RTはハイレベルとなり、切換回路(16)はテーブル
参照レジスタ(15)のセット内容を選択し、これよ
り、フラッシュメモリ(1)の書き換え先頭番地が確定
する。ページバッファ(10)は1ページ(128バイ
ト)分の格納容量を有する。ページバッファ(10)
は、RAM(6)に1ページ分の書き換えデータが格納
されると、内部バス(11)を介して書き換えデータが
転送され格納される。ページバッファ(10)の内容は
フラッシュメモリ(1)の書き換え先頭番地からアドレ
スレジスタ(14)で順次指定されるページアドレスに
書き込まれる。フラッシュメモリ(1)は、それ自体を
書き込み状態に設定する書き込み許可信号WRTと、デ
ータ書き換えを許可又は禁止するプロテクト信号PRO
TECTとがANDゲート(13)を介して供給され
る。即ち、フラッシュメモリ(1)は、プロテクト信号
PROTECTが論理値「0」である限り、データ書き
換えは許可されない。尚、プロテクト信号PROTEC
Tは、出荷時において、外部テスタを用いて強制的に論
理値「0」に設定される。
【0013】比較器(12)はプロテクト信号PROT
ECTを発生するものであり、比較器(12)の詳細を
図2を用いて説明する。
ECTを発生するものであり、比較器(12)の詳細を
図2を用いて説明する。
【0014】プログラムメモリ(2)のY番地以降に格
納された書き換え用のサブルーチンプログラム命令に
は、後述するRS型フリップフロップのセット又はリセ
ット状態を判別する命令(プログラム処理が正常である
かどうかを判別する命令)と、プロテクト解除命令と、
データ書き換え命令と、プロテクト付加命令とが含まれ
る。
納された書き換え用のサブルーチンプログラム命令に
は、後述するRS型フリップフロップのセット又はリセ
ット状態を判別する命令(プログラム処理が正常である
かどうかを判別する命令)と、プロテクト解除命令と、
データ書き換え命令と、プロテクト付加命令とが含まれ
る。
【0015】プロテクト解除には、表1に示すアドレス
ADD1’〜ADD5’と各アドレスに対応するデータ
DATA1’〜DATA5’とを使用する。
ADD1’〜ADD5’と各アドレスに対応するデータ
DATA1’〜DATA5’とを使用する。
【0016】
【表1】 プロテクト付加には、表2に示すアドレスADD1〜A
DD5と各アドレスに対応するデータDATA1〜DA
TA5とを使用する。
DD5と各アドレスに対応するデータDATA1〜DA
TA5とを使用する。
【0017】
【表2】 尚、アドレスADD1〜ADD5、ADD1’〜ADD
5’は、フラッシュメモリ(1)、プログラムメモリ
(2)、RAM(6)に存在しないアドレスに設定す
る。
5’は、フラッシュメモリ(1)、プログラムメモリ
(2)、RAM(6)に存在しないアドレスに設定す
る。
【0018】図2において、比較回路(101)〜(1
05)はプロテクト解除の為のブロックである。各比較
回路(101)〜(105)は、サブルーチンプログラ
ム命令の解読結果に従ってアドレスデータADD1’〜
ADD5’が発生するとDATA1’〜DATA5’が
格納されるレジスタ(106)と、レジスタ(106)
に格納されるべき本来の期待値REF1’〜REF5’
が予め格納されるレジスタ(107)と、レジスタ(1
06)(107)の値を比較する一致比較回路(10
8)とから成る。一致比較回路(108)はレジスタ
(106)(107)の値が一致した時に論理値「1」
を出力する。5個の一致比較回路(108)が全て論理
値「1」を出力すると、ANDゲート(109)が論理
値「1」を出力し、ANDゲート(110)がタイミン
グ信号TIMING2に同期して論理値「1」を出力す
る。一方、比較回路(111)〜(115)はプロテク
ト付加の為のブロックである。各比較回路(111)〜
(115)は、サブルーチンプログラム命令の解読結果
に従ってアドレスデータADD1〜ADD5が発生する
とDATA1〜DATA5が格納されるレジスタ(11
6)と、レジスタ(116)に格納されるべき本来の期
待値REF1〜REF5が予め格納されるレジスタ(1
17)と、レジスタ(116)(117)の値を比較す
る一致比較回路(118)とから成る。一致比較回路
(118)はレジスタ(116)(117)の値が一致
した時に論理値「1」を出力する。5個の一致比較回路
(118)が全て論理値「1」を出力すると、ANDゲ
ート(119)が論理値「1」を出力し、ANDゲート
(120)がタイミング信号TIMING1に同期して
論理値「1」を出力する。NORゲート(121)(1
22)はRS型フリップフロップを構成する。RS型フ
リップフロップは、ANDゲート(110)の論理値
「1」出力が供給された時にセットされ、プロテクト解
除を表す論理値「1」のプロテクト信号PROTECT
を出力する。一方、RS型フリップフロップは、AND
ゲート(120)の論理値「1」出力が供給された時に
リセットされ、プロテクト付加を表す論理値「0」のプ
ロテクト信号PROTECTを出力する。
05)はプロテクト解除の為のブロックである。各比較
回路(101)〜(105)は、サブルーチンプログラ
ム命令の解読結果に従ってアドレスデータADD1’〜
ADD5’が発生するとDATA1’〜DATA5’が
格納されるレジスタ(106)と、レジスタ(106)
に格納されるべき本来の期待値REF1’〜REF5’
が予め格納されるレジスタ(107)と、レジスタ(1
06)(107)の値を比較する一致比較回路(10
8)とから成る。一致比較回路(108)はレジスタ
(106)(107)の値が一致した時に論理値「1」
を出力する。5個の一致比較回路(108)が全て論理
値「1」を出力すると、ANDゲート(109)が論理
値「1」を出力し、ANDゲート(110)がタイミン
グ信号TIMING2に同期して論理値「1」を出力す
る。一方、比較回路(111)〜(115)はプロテク
ト付加の為のブロックである。各比較回路(111)〜
(115)は、サブルーチンプログラム命令の解読結果
に従ってアドレスデータADD1〜ADD5が発生する
とDATA1〜DATA5が格納されるレジスタ(11
6)と、レジスタ(116)に格納されるべき本来の期
待値REF1〜REF5が予め格納されるレジスタ(1
17)と、レジスタ(116)(117)の値を比較す
る一致比較回路(118)とから成る。一致比較回路
(118)はレジスタ(116)(117)の値が一致
した時に論理値「1」を出力する。5個の一致比較回路
(118)が全て論理値「1」を出力すると、ANDゲ
ート(119)が論理値「1」を出力し、ANDゲート
(120)がタイミング信号TIMING1に同期して
論理値「1」を出力する。NORゲート(121)(1
22)はRS型フリップフロップを構成する。RS型フ
リップフロップは、ANDゲート(110)の論理値
「1」出力が供給された時にセットされ、プロテクト解
除を表す論理値「1」のプロテクト信号PROTECT
を出力する。一方、RS型フリップフロップは、AND
ゲート(120)の論理値「1」出力が供給された時に
リセットされ、プロテクト付加を表す論理値「0」のプ
ロテクト信号PROTECTを出力する。
【0019】RC発振器(18)は、電源投入と同時に
発振開始し、抵抗の抵抗値及びコンデンサの容量で定ま
る発振周波数で発振動作を繰り返す。分周器(19)は
RC発振器(18)の発振周波数をn分周するものであ
る。微分回路(20)は分周器(19)の出力を基に微
分パルスBを発生し、RS型フリップフロップ(21)
をセットするものである。遅延回路(22)は微分パル
スBを遅延した遅延パルスCで分周器(19)の動作を
リセットし停止させるものである。これより、RSフリ
ップフロップ(21)は、電源投入後、微分パルスBで
1回のみセットされる。
発振開始し、抵抗の抵抗値及びコンデンサの容量で定ま
る発振周波数で発振動作を繰り返す。分周器(19)は
RC発振器(18)の発振周波数をn分周するものであ
る。微分回路(20)は分周器(19)の出力を基に微
分パルスBを発生し、RS型フリップフロップ(21)
をセットするものである。遅延回路(22)は微分パル
スBを遅延した遅延パルスCで分周器(19)の動作を
リセットし停止させるものである。これより、RSフリ
ップフロップ(21)は、電源投入後、微分パルスBで
1回のみセットされる。
【0020】図3は微分回路(20)及び遅延回路(2
2)の具体例を示す回路図、図4は図3の動作を示すタ
イムチャートである。図3において、微分回路(20)
はラッチ回路(23)及びNORゲート(24)から成
り、ラッチ回路(23)は分周器(19)のn分周出力
Qnを2段前の分周出力Qn−2の立上りでラッチする
ものであり、ラッチ回路(23)の*Q端子からは信号
Aが出力される。NORゲート(24)は分周信号Qn
及び信号Aの論理和を反転させた微分パルスBを出力す
る。遅延回路(22)は2段のラッチ回路(25)(2
6)及びインバータ(27)から成り、前段のラッチ回
路(25)は微分パルスBを3段前の分周出力Qn−3
の立上りでラッチし、後段のラッチ回路(26)は前段
のラッチ回路(25)のQ端子出力を分周出力Qn−3
の立下りでラッチし、ラッチ回路(26)のQ端子から
は遅延パルスCが出力される。
2)の具体例を示す回路図、図4は図3の動作を示すタ
イムチャートである。図3において、微分回路(20)
はラッチ回路(23)及びNORゲート(24)から成
り、ラッチ回路(23)は分周器(19)のn分周出力
Qnを2段前の分周出力Qn−2の立上りでラッチする
ものであり、ラッチ回路(23)の*Q端子からは信号
Aが出力される。NORゲート(24)は分周信号Qn
及び信号Aの論理和を反転させた微分パルスBを出力す
る。遅延回路(22)は2段のラッチ回路(25)(2
6)及びインバータ(27)から成り、前段のラッチ回
路(25)は微分パルスBを3段前の分周出力Qn−3
の立上りでラッチし、後段のラッチ回路(26)は前段
のラッチ回路(25)のQ端子出力を分周出力Qn−3
の立下りでラッチし、ラッチ回路(26)のQ端子から
は遅延パルスCが出力される。
【0021】リセット信号発生回路(28)は、電源電
圧が所定電位まで上昇した時、所定幅のリセット信号R
STを発生し、RS型フリップフロップ(21)をリセ
ットし、同時にアドレスレジスタ(3)をリセットして
アドレスレジスタ(3)の値を0番地を指定するバイナ
リデータとするものである。
圧が所定電位まで上昇した時、所定幅のリセット信号R
STを発生し、RS型フリップフロップ(21)をリセ
ットし、同時にアドレスレジスタ(3)をリセットして
アドレスレジスタ(3)の値を0番地を指定するバイナ
リデータとするものである。
【0022】図5はリセット信号発生回路(28)の具
体例を示す回路図、図6は図5の動作を示すタイムチャ
ートである。図5において、抵抗(29)及びコンデン
サ(30)を電源Vddと接地Vssとの間に直列接続
した時定数回路をマイクロコンピュータ外部に設け、抵
抗(29)及びコンデンサ(30)の接続点はマイクロ
コンピュータのリセット端子(31)と接続される。リ
セット信号発生回路(28)は、インバータ(32)、
ANDゲート(33)、ラッチ回路(34)(35)か
ら成る。インバータ(32)は電源投入に伴うコンデン
サ(30)の端子電圧がスレッショルド電圧Vthより
下降した時点でハイレベルの信号Eを出力する。ここ
で、マイクロコンピュータの1命令処理に要する1マシ
ンサイクルは6ステートS1〜S6から成るものとし、
リセット信号RSTが1マシンサイクル以上発生しない
と、マイクロコンピュータは正常に初期化されない。ラ
ッチ回路(34)は信号EをステートパルスS1の立上
りでラッチし、ラッチ信号Fを出力する。ANDゲート
(33)は信号E及びラッチ信号Fの論理積信号Gを出
力する。ラッチ回路(35)は論理積信号Gをステート
パルスS6の立上りでラッチし、リセット信号RSTを
出力する。これより、電源投入後、電源Vddが正常に
上昇すると、リセット信号RSTは1マシンサイクル以
上発生し、マイクロコンピュータの正常な初期化が実行
される。一方、電源投入後、電源Vddが外部要因を受
けて変動又は下降してしまうと、リセット信号RSTは
1マシンサイクル以上は発生しなくなり、マイクロコン
ピュータの正常な初期化は実行されない。詳しくは、ア
ドレスレジスタ(3)の値が0番地以外のデータとなっ
てしまい、マイクロコンピュータは誤動作することにな
る。
体例を示す回路図、図6は図5の動作を示すタイムチャ
ートである。図5において、抵抗(29)及びコンデン
サ(30)を電源Vddと接地Vssとの間に直列接続
した時定数回路をマイクロコンピュータ外部に設け、抵
抗(29)及びコンデンサ(30)の接続点はマイクロ
コンピュータのリセット端子(31)と接続される。リ
セット信号発生回路(28)は、インバータ(32)、
ANDゲート(33)、ラッチ回路(34)(35)か
ら成る。インバータ(32)は電源投入に伴うコンデン
サ(30)の端子電圧がスレッショルド電圧Vthより
下降した時点でハイレベルの信号Eを出力する。ここ
で、マイクロコンピュータの1命令処理に要する1マシ
ンサイクルは6ステートS1〜S6から成るものとし、
リセット信号RSTが1マシンサイクル以上発生しない
と、マイクロコンピュータは正常に初期化されない。ラ
ッチ回路(34)は信号EをステートパルスS1の立上
りでラッチし、ラッチ信号Fを出力する。ANDゲート
(33)は信号E及びラッチ信号Fの論理積信号Gを出
力する。ラッチ回路(35)は論理積信号Gをステート
パルスS6の立上りでラッチし、リセット信号RSTを
出力する。これより、電源投入後、電源Vddが正常に
上昇すると、リセット信号RSTは1マシンサイクル以
上発生し、マイクロコンピュータの正常な初期化が実行
される。一方、電源投入後、電源Vddが外部要因を受
けて変動又は下降してしまうと、リセット信号RSTは
1マシンサイクル以上は発生しなくなり、マイクロコン
ピュータの正常な初期化は実行されない。詳しくは、ア
ドレスレジスタ(3)の値が0番地以外のデータとなっ
てしまい、マイクロコンピュータは誤動作することにな
る。
【0023】尚、電源投入後、RC発振器(18)は瞬
時に発振開始し、リセット信号発生回路(28)は時定
数回路に依存してリセット信号RSTを発生する為、電
源Vddが正常に上昇し且つマイクロコンピュータが正
常に初期化される場合、RS型フリップフロップ(2
1)は微分パルスBでセットされた後、リセット信号R
STでリセットされる。
時に発振開始し、リセット信号発生回路(28)は時定
数回路に依存してリセット信号RSTを発生する為、電
源Vddが正常に上昇し且つマイクロコンピュータが正
常に初期化される場合、RS型フリップフロップ(2
1)は微分パルスBでセットされた後、リセット信号R
STでリセットされる。
【0024】以下、フラッシュメモリ(1)の或る指定
ページを書き換える際の動作を図7のフローチャートを
用いて説明する。
ページを書き換える際の動作を図7のフローチャートを
用いて説明する。
【0025】フラッシュメモリ(1)の特定ページの内
容を書き換える場合、X番地のサブルーチンコール命令
を実行し、その後、Y番地にジャンプして書き換え用の
サブルーチンプログラム命令を実行する。先ず、RS型
フリップフロップ(21)の状態を判別する(S1)。
RS型フリップフロップ(21)のQ端子出力が論理値
「0」の場合(S1:YES)、マイクロコンピュータ
が正常に初期化されたものと判断し、プロテクト解除命
令を実行する(S2)。即ち、各比較回路(101)〜
(105)においてDATA1’〜DATA5’を期待
値REF1’〜REF5’と比較した結果、全一致比較
回路(108)が論理値「1」を出力した場合、RS型
フリップフロップがセットされ、論理値「1」のプロテ
クト信号PROTECTが出力され、フラッシュメモリ
(1)はプロテクト解除される。その後、フラッシュメ
モリ(1)のデータ書き換え命令を実行する(S3)。
即ち、データ書き換え命令の解読結果に従って、書き換
え許可信号WRTが論理値「1」となり、フラッシュメ
モリ(1)は完全に書き換え可能となる。一方、シリア
ル入力回路(9)でシリアル状態からパラレル状態へ変
換された1ページ分の書き換えデータは、アドレスレジ
スタ(7)によるRAM(6)の指定アドレスに格納さ
れ、内部バス(11)を介してページバッファ(10)
に一旦格納された後、フラッシュメモリ(1)に書き込
まれる。フラッシュメモリ(1)に対する書き込み動作
が終了すると、プロテクト付加命令を実行する(S
4)。即ち、各比較回路(111)〜(115)におい
てDATA1〜DATA5を期待値REF1〜REF5
と比較した結果、全一致比較回路(118)が論理値
「1」を出力した場合、RS型フリップフロップがリセ
ットされ、論理値「0」のプロテクト信号PROTEC
Tが出力され、ANDゲート(13)の論理値「0」出
力に伴いフラッシュメモリ(1)は再びプロテクト状態
となる。これより、書き換え用のサブルーチンプログラ
ム命令の処理が終了し、メインルーチンに復帰する(S
5)。
容を書き換える場合、X番地のサブルーチンコール命令
を実行し、その後、Y番地にジャンプして書き換え用の
サブルーチンプログラム命令を実行する。先ず、RS型
フリップフロップ(21)の状態を判別する(S1)。
RS型フリップフロップ(21)のQ端子出力が論理値
「0」の場合(S1:YES)、マイクロコンピュータ
が正常に初期化されたものと判断し、プロテクト解除命
令を実行する(S2)。即ち、各比較回路(101)〜
(105)においてDATA1’〜DATA5’を期待
値REF1’〜REF5’と比較した結果、全一致比較
回路(108)が論理値「1」を出力した場合、RS型
フリップフロップがセットされ、論理値「1」のプロテ
クト信号PROTECTが出力され、フラッシュメモリ
(1)はプロテクト解除される。その後、フラッシュメ
モリ(1)のデータ書き換え命令を実行する(S3)。
即ち、データ書き換え命令の解読結果に従って、書き換
え許可信号WRTが論理値「1」となり、フラッシュメ
モリ(1)は完全に書き換え可能となる。一方、シリア
ル入力回路(9)でシリアル状態からパラレル状態へ変
換された1ページ分の書き換えデータは、アドレスレジ
スタ(7)によるRAM(6)の指定アドレスに格納さ
れ、内部バス(11)を介してページバッファ(10)
に一旦格納された後、フラッシュメモリ(1)に書き込
まれる。フラッシュメモリ(1)に対する書き込み動作
が終了すると、プロテクト付加命令を実行する(S
4)。即ち、各比較回路(111)〜(115)におい
てDATA1〜DATA5を期待値REF1〜REF5
と比較した結果、全一致比較回路(118)が論理値
「1」を出力した場合、RS型フリップフロップがリセ
ットされ、論理値「0」のプロテクト信号PROTEC
Tが出力され、ANDゲート(13)の論理値「0」出
力に伴いフラッシュメモリ(1)は再びプロテクト状態
となる。これより、書き換え用のサブルーチンプログラ
ム命令の処理が終了し、メインルーチンに復帰する(S
5)。
【0026】ところで、RS型フリップフロップ(2
1)のQ端子出力が論理値「1」の場合(S1:N
O)、正常な初期化が実行されず、メインルーチンのプ
ログラム処理が暴走等してX番地のサブルーチンコール
命令が実行されたものと判断し、フラッシュメモリ
(1)の書き換え動作を実行しないでメインルーチンに
復帰する。
1)のQ端子出力が論理値「1」の場合(S1:N
O)、正常な初期化が実行されず、メインルーチンのプ
ログラム処理が暴走等してX番地のサブルーチンコール
命令が実行されたものと判断し、フラッシュメモリ
(1)の書き換え動作を実行しないでメインルーチンに
復帰する。
【0027】以上より、1チップマイクロコンピュータ
を初期化する際にRS型フリップフロップ(21)の状
態を判別し、RS型フリップフロップ(21)がリセッ
トされている場合のみ、フラッシュメモリ(1)のデー
タ書き換え動作に移行する構成とした。これにより、初
期化が不十分な場合は、RS型フリップフロップ(2
1)がセットされたままでアドレスレジスタ(3)の値
が0番地でなくなる為、マイクロコンピュータのプログ
ラム処理が暴走したりするが、この場合のフラッシュメ
モリ(1)に対する誤書き込みは確実に防止できる。
を初期化する際にRS型フリップフロップ(21)の状
態を判別し、RS型フリップフロップ(21)がリセッ
トされている場合のみ、フラッシュメモリ(1)のデー
タ書き換え動作に移行する構成とした。これにより、初
期化が不十分な場合は、RS型フリップフロップ(2
1)がセットされたままでアドレスレジスタ(3)の値
が0番地でなくなる為、マイクロコンピュータのプログ
ラム処理が暴走したりするが、この場合のフラッシュメ
モリ(1)に対する誤書き込みは確実に防止できる。
【0028】
【発明の効果】本発明によれば、1チップマイクロコン
ピュータを初期化する際にフラグ回路の状態を判別し、
フラグ回路がリセットされている場合のみ、第1不揮発
性メモリのデータ書き換え動作に移行する構成とした。
これにより、初期化が不十分な場合は、フラグ回路がセ
ットされたままで第1不揮発性メモリの為のアドレスレ
ジスタの値が0番地でなくなる為、マイクロコンピュー
タのプログラム処理が暴走したりするが、この場合の第
1不揮発性メモリに対する誤書き込みは確実に防止でき
る利点が得られる。
ピュータを初期化する際にフラグ回路の状態を判別し、
フラグ回路がリセットされている場合のみ、第1不揮発
性メモリのデータ書き換え動作に移行する構成とした。
これにより、初期化が不十分な場合は、フラグ回路がセ
ットされたままで第1不揮発性メモリの為のアドレスレ
ジスタの値が0番地でなくなる為、マイクロコンピュー
タのプログラム処理が暴走したりするが、この場合の第
1不揮発性メモリに対する誤書き込みは確実に防止でき
る利点が得られる。
【図1】本発明の不揮発性メモリのデータ保護装置を示
すブロック図である。
すブロック図である。
【図2】図1の比較器の具体例を示す回路ブロック図で
ある。
ある。
【図3】図1の微分回路及び遅延回路の具体例を示す回
路ブロック図である。
路ブロック図である。
【図4】図3の動作を示すタイムチャートである。
【図5】図1のリセット信号発生回路の具体例を示す回
路ブロック図である。
路ブロック図である。
【図6】図5の動作を示すタイムチャートである。
【図7】図1の書き換え動作を示すフローチャートであ
る。
る。
(1) フラッシュメモリ (2) プログラムメモリ (6) RAM (12) 比較器 (18) RC発振器 (21) RS型フリップフロップ (28) リセット信号発生回路
Claims (2)
- 【請求項1】 データの電気消去及びデータの書き込み
読み出しが可能な特性を有し、各種論理演算動作を実行
する為のプログラムデータ又はテーブルデータが格納さ
れる第1不揮発性メモリを内蔵したマイクロコンピュー
タであって、 少なくとも、前記マイクロコンピュータを動作制御する
為のプログラムデータと前記第1不揮発性メモリの内容
を書き換える為のプログラムデータとが格納された第2
不揮発性メモリと、 電源投入と同時に発振動作を開始する発振器と、 電源投入に伴いリセット信号を発生し、前記第1及び第
2不揮発性メモリをアドレス指定するアドレスレジスタ
に対し初期値を設定するリセット信号発生回路と、 電源投入時、正常動作ならば、前記発振器の発振出力に
基づいて一方の論理値となった後、前記リセット信号に
基づいて他方の論理値となるフラグ回路と、を備え、 前記第2不揮発性メモリから読み出された前記第1不揮
発性メモリの内容書き換えプログラムの解読結果に従っ
て、前記フラグ回路の内容を確認し、前記フラグ回路の
内容が他方の論理値である場合のみ、前記第1不揮発性
メモリの内容を書き換え可能とすることを特徴とする不
揮発性メモリのデータ保護装置。 - 【請求項2】 前記第1不揮発性メモリは、予め書き換
え禁止状態に設定されており、前記第1不揮発性メモリ
の内容書き換えプログラムの解読結果に従って、前記フ
ラグ回路の内容が他方の論理値であることを確認する
と、書き換え禁止の解除、内容の書き換え、書き換え禁
止の設定の一連の動作が実行されることを特徴とする請
求項1記載の不揮発性メモリのデータ保護装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10278005A JP2000112828A (ja) | 1998-09-30 | 1998-09-30 | 不揮発性メモリのデータ保護装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10278005A JP2000112828A (ja) | 1998-09-30 | 1998-09-30 | 不揮発性メモリのデータ保護装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000112828A true JP2000112828A (ja) | 2000-04-21 |
Family
ID=17591313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10278005A Pending JP2000112828A (ja) | 1998-09-30 | 1998-09-30 | 不揮発性メモリのデータ保護装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000112828A (ja) |
-
1998
- 1998-09-30 JP JP10278005A patent/JP2000112828A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7464259B2 (en) | Microprocessor boot-up controller, nonvolatile memory controller, and information processing system | |
KR100375217B1 (ko) | 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러 | |
JPS63133238A (ja) | デジタルデータ処理システム | |
WO2012100145A1 (en) | Method and apparatus for memory management | |
JP2005242797A (ja) | エラー訂正回路 | |
WO2016180093A1 (zh) | Flash芯片读写控制电路和方法、AMOLED应用电路 | |
US10977050B2 (en) | Method for managing system boot code memory, memory device and electronic system using the same | |
US20030084232A1 (en) | Device and method capable of changing codes of micro-controller | |
JP2000112828A (ja) | 不揮発性メモリのデータ保護装置 | |
JP2000137648A (ja) | 不揮発性メモリのデータ保護装置 | |
JP2000112829A (ja) | 不揮発性メモリのデータ保護装置 | |
US5355336A (en) | Memory device and a method for prohibiting writing to the memory device | |
JP2000137697A (ja) | 不揮発性メモリのデータ保護装置 | |
CN114816273A (zh) | 针对Norflash的自适应最优配置的方法、装置及介质 | |
TWI243994B (en) | Method and apparatus for protecting a specific memory section | |
JP3197865B2 (ja) | マイクロコンピュータ | |
JP2000137696A (ja) | 不揮発性メモリのデータ保護装置 | |
JP2000112826A (ja) | 不揮発性メモリのデータ保護装置 | |
JP3882628B2 (ja) | メモリ制御装置及びシリアルメモリ | |
US20050068842A1 (en) | Electronic device, nonvolatile memory and method of overwriting data in nonvolatile memory | |
US7389445B2 (en) | Circuit for detecting abnormal operation of memory and integrated circuit and method for detecting abnormal operation | |
JP2000137647A (ja) | 不揮発性メモリのデータ保護装置 | |
JP2000137695A (ja) | 不揮発性メモリのデータ保護装置 | |
JP2000112827A (ja) | 不揮発性メモリのデータ保護装置 | |
JP3695931B2 (ja) | マイクロコンピュータ |