JPH09282181A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH09282181A
JPH09282181A JP9545296A JP9545296A JPH09282181A JP H09282181 A JPH09282181 A JP H09282181A JP 9545296 A JP9545296 A JP 9545296A JP 9545296 A JP9545296 A JP 9545296A JP H09282181 A JPH09282181 A JP H09282181A
Authority
JP
Japan
Prior art keywords
address area
program
data
address
interrupt
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
Application number
JP9545296A
Other languages
English (en)
Inventor
Susumu Yamada
進 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP9545296A priority Critical patent/JPH09282181A/ja
Priority to US08/811,572 priority patent/US5950222A/en
Priority to KR1019970008548A priority patent/KR100299542B1/ko
Publication of JPH09282181A publication Critical patent/JPH09282181A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 不揮発性メモリの第2アドレス領域のデータ
書き換え処理中、当該データを書き換える過程で必要と
なる割り込み要求が発生した場合であっても、当該割り
込み要求に基づく割り込み処理を確実に実行できるマイ
クロコンピュータを提供する。 【解決手段】 EEPROM1のアドレス領域Bのプロ
グラム書き換え処理中、ラッチ回路16に論理値「0」
がラッチされ、割り込みベクタ回路15−1〜15−n
がイネーブルとなる。従って、この時、EEPROM1
のアドレス領域Bのデータ書き換えの為に、割り込み要
求1〜nの何れか1つが発生すると、プログラムカウン
タ3の値が、当該割り込み要求に対応するEEPROM
1のアドレス領域Aのアドレスに変更され、当該割り込
み要求に基づく割り込み処理が確実に実行される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
(EEPROM)を内蔵するマイクロコンピュータに関
する。
【0002】
【従来の技術】1チップマイクロコンピュータとは、プ
ログラムメモリ(不揮発性メモリ)を同一チップ上に集
積化したものである。前記プログラムメモリには、マス
クROM、EPROM、EEPROM等が使用される。 (1)マスクROM内蔵の場合 複数枚のマスクを1度製造してしまえば、量産効率を向
上でき且つチップ面積を小さくできる利点がある。しか
し、プログラム変更が要求されると、複数枚のマスクを
再度製造する必要があり、多くの製造時間を要して前記
要求に迅速に対応できない欠点がある。 (2)EPROM内蔵の場合 現データを紫外線消去した後に新データを書き込むこと
で、プログラム変更に迅速に対応できる利点がある。し
かし、現データが全て紫外線消去されてしまい、消去不
要であった同一データを再度書き込まなければならない
欠点がある。 (3)EEPROM内蔵の場合 現データを電気的消去した後に新データを書き込むこと
で、プログラム変更に迅速に対応できる利点がある。ま
た、現データを部分的に消去できるので、消去不要のデ
ータをそのまま残すことができる。
【0003】さて、最近の1チップマイクロコンピュー
タは、前記各不揮発性メモリの利点を利用し、EEPR
OMを内蔵する傾向が高い。前記EEPROMは、1チ
ップマイクロコンピュータの動作制御の為のプログラム
メモリとして使用される。ここで、前記EEPROMの
アドレス領域は第1アドレス領域及び第2アドレス領域
に分割される。第1アドレス領域は、第2アドレス領域
のデータ書き換えの為のプログラム領域に割り当てら
れ、また、第2アドレス領域には割り込み処理の為のプ
ログラムが書き込まれるものとする。
【0004】
【発明が解決しようとする課題】さて、前記1チップマ
イクロコンピュータは、前記EEPROMの第1アドレ
ス領域のプログラム命令を解読することにより、前記E
EPROMの第2アドレス領域のプログラムの書き換え
を実行する。ところが、前記EEPROMの第2アドレ
ス領域のプログラム書き換え時に、割り込み要求(タイ
マー割り込み、外部割り込み等)が発生した場合、第2
アドレス領域のプログラムが確定していない為、割り込
み処理プログラムを使用できない問題があった。
【0005】そこで、本発明は、不揮発性メモリの第2
アドレス領域のプログラムを書き換えている最中に割り
込み要求が発生した場合でも、当該割り込み要求に基づ
く割り込み処理を確実に実行できるマイクロコンピュー
タを提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、前記問題点を
解決する為に成されたものであり、データを繰り返し書
き込み及び読み出しできると共に書き込み済データを電
気的に消去でき、第1アドレス領域及び第2アドレス領
域を有するメモリであって、前記第1アドレス領域は前
記第2アドレス領域のデータを書き換える為のプログラ
ム領域に割り当てられ、前記第1アドレス領域及び前記
第2アドレス領域は割り込み処理の為の共通のプログラ
ム領域を含む不揮発性メモリと、前記不揮発性メモリを
アドレス指定するプログラムカウンタと、割り込み要求
に応じて前記プログラムカウンタの値を変更する割り込
みベクタ回路と、前記不揮発性メモリの第2アドレス領
域のデータ書き換え中に前記割り込み要求が発生した
時、前記不揮発性メモリの第1アドレス領域を指定する
様に前記割り込みベクタ回路を制御する制御回路と、を
備えた点である。
【0007】
【発明の実施の形態】本発明の詳細を図面に従って具体
的に説明する。図1は本発明に使用されるマイクロコン
ピュータの概要を示す回路ブロック図であり、1チップ
上に集積化される。図2は図1の動作を説明する為のタ
イムチャートである。
【0008】図1において、(1)はEEPROMであ
る。EEPROM(1)は、データを繰り返し書き込み
及び読み出しできると共に書き込み済データを電気的に
消去できる不揮発性メモリである。EEPROM(1)
のアドレス領域Aは、残余のアドレス領域Bのデータ書
き換え用のプログラム領域に割り当てられ、アドレス領
域Bは、1チップマイクロコンピュータの動作制御等の
為のデータ領域に割り当てられる。EEPROM(1)
は、アドレスデータが印加される端子AD、書き込みデ
ータが印加される端子DIN、読み出しデータが出力さ
れる端子DOUT、書き込みモード設定信号が印加され
る端子WEを有している。尚、EEPROM(1)のア
ドレス領域Aのプログラムは、外部PROMライタ(図
示せず)からEEPROM(1)にデータを供給するこ
とにより容易に変更でき、プログラム変更に迅速に対応
できる。
【0009】(2)はCPUであり、EEPROM
(1)の端子DOUTからの読み出しデータに基づいて
動作するものである。CPU(2)は、プログラムカウ
ンタ(3)、インストラクションレジスタ、インストラ
クションデコーダ、演算論理ユニット等、論理動作を実
行するのに必要な構成を含むものとする。(4)はラッ
チ回路であり、EEPROM(1)のアドレスデータの
ビット数mと等しい個数だけ設けられる。ラッチ回路
(4)のL端子はアドレスバス(5)m本を介してCP
U(2)のアドレス端子と並列接続され、C端子はCP
U(2)のクロック端子と共通接続される。即ち、ラッ
チ回路(4)は、クロックCK0に同期してアドレスデ
ータをラッチする。
【0010】(6)はラッチ回路であり、EEPROM
(1)の1バイトのビット数nと等しい個数だけ設けら
れる。ラッチ回路(6)のL端子はデータバス(7)n
本を介してCPU(2)のデータ端子と並列接続され、
C端子はCPU(2)の他のクロック端子と共通接続さ
れ、Q端子はEEPROM(1)の端子DINと接続さ
れる。即ち、ラッチ回路(6)は、クロックCK1に同
期して書き込みデータをラッチすると共にEEPROM
(1)に供給する。
【0011】ANDゲート(8)(9)及びORゲート
(10)は切換回路を構成する。該切換回路は、ラッチ
回路(4)と等しい個数mだけ設けられる。ANDゲー
ト(8)の一方の入力端子はプログラムカウンタ(3)
の出力端子と接続され、ANDゲート(9)の一方の入
力端子はラッチ回路(4)のQ端子と接続され、ORゲ
ート(10)の出力端子はEEPROM(1)の端子A
Dと接続される。即ち、切換回路は、後述する選択信号
SELECTに応じて、プログラムカウンタ(3)又は
ラッチ回路(4)の何れか一方のアドレスデータをEE
PROM(1)に供給する。
【0012】(11)はメモリ制御回路である。EEP
ROM(1)からアドレス領域Bのデータ書き換えを開
始するプログラム命令が読み出された時、CPU(2)
は該プログラム命令を解読してスタートパルスSTAR
Tを出力する。メモリ制御回路(11)は、スタートパ
ルスSTARTの立ち下がりを検出し、ここから時間T
1だけ経過した後に時間T2だけローレベルとなるモー
ド制御信号MODEを出力し、EEPROM(1)の端
子WEに供給する。従って、EEPROM(1)は、モ
ード制御信号MODEがローレベルとなる期間T2の
み、書き込みモードに設定される。尚、期間T2は、E
EPROM(1)が指定されたアドレスにデータを書き
込む為に必要十分な時間に設定されている。メモリ制御
回路(11)は、モード制御信号MODEの立ち上がり
を検出し、エンドパルスENDを出力する。メモリ制御
回路(11)は、スタートパルスSTARTの立ち下が
りからエンドパルスENDの立ち下がりまでの期間の
み、ローレベルとなる選択信号SELECTを出力す
る。従って、前記切換回路は、選択信号SELECTが
ローレベルとなる期間のみ、プログラムカウンタ(3)
の出力を遮断し、ラッチ回路(4)の出力をEEPRO
M(1)の端子ADに供給する。
【0013】(12)はCPU制御回路である。EEP
ROM(1)の1命令の実行時間はμsec単位である
が、EEPROM(1)のデータ書き込み時間はmse
c単位と非常に長い。そこで、EEPROM(1)が書
き込みモードとなる期間T2は、CPU(2)がEEP
ROM(1)の端子DOUTの不定出力の影響を受ける
のを禁止し、プログラムカウンタ(3)の値を現状のま
ま停止させる必要がある。CPU制御回路(12)は、
スタートパルスSTARTの立ち下がりからエンドパル
スENDの立ち下がりまでの期間のみ、禁止信号INH
を出力する。CPU(2)は、禁止信号INHを検出
し、前記禁止動作を行う。
【0014】(13)はクロックジェネレータであり、
クロックCKをCPU(2)に供給する。CPU(2)
は、クロックCKを基に、1チップマイクロコンピュー
タを動作させる為のシステムクロックを作成する。以
下、図1の動作を図2のタイムチャートを基に説明す
る。尚、初期状態では、モード制御信号MODE及び選
択信号SELECTはハイレベルであり、EEPROM
(1)は、プログラムカウンタ(3)でアドレス指定さ
れる読み出しモードに設定されているものとする。ま
た、プログラム命令Xはアドレスデータをラッチ回路
(4)にラッチさせる命令、プログラム命令X+1は書
き込みデータをラッチ回路(6)にラッチさせる命令、
プログラム命令X+2はEEPROM(1)にデータを
書き込ませる命令である。
【0015】EEPROM(1)の端子DOUTからプ
ログラム命令Xが読み出されると、該プログラム命令X
がCPU(2)で解読され、アドレスデータがクロック
CK0に同期してラッチ回路(4)にラッチされる。プ
ログラムカウンタ(3)が所定値インクリメントされ、
EEPROM(1)の端子DOUTからプログラム命令
X+1が読み出されると、該プログラム命令X+1がC
PU(2)で解読され、書き込みデータがクロックCK
1に同期してラッチ回路(6)にラッチされる。
【0016】プログラムカウンタ(3)が所定値インク
リメントされ、EEPROM(1)の端子DOUTから
プログラム命令X+2が読み出されると、該プログラム
命令X+2はCPU(2)で解読される。すると、スタ
ートパルスSTARTが発生する。選択信号SELEC
TはスタートパルスSTARTの立ち下がりを受けてロ
ーレベルに変化する。モード選択信号MODEは、スタ
ートパルスSTARTの立ち下がりから時間T0が経過
した後に時間T1だけローレベルに変化し、その後、ハ
イレベルに復帰する。エンドパルスENDはモード制御
信号MODEのハイレベルへの復帰を受けて発生する。
前記選択信号SELECTはエンドパルスENDの立ち
下がりを受けてハイレベルに変化する。
【0017】従って、EEPROM(1)のアドレス領
域Bのデータを書き換える期間は禁止信号INHが発生
し、これより、CPU(2)は、EEPROM(1)の
端子DOUTの不定出力の影響を無視でき、且つ、前記
システムクロックを停止させてプログラムカウンタ
(3)の値をスタートパルスSTARTが発生した時の
まま保持できる。この結果、EEPROM(1)のデー
タ書き換え時におけるCPU(2)の誤動作を防止でき
る。
【0018】さて、図3は割り込み処理を実行する為の
ブロック図であり、CPU(2)内部で構成される。図
4は図3の動作を説明する為のフローチャートである。
尚、EEPROM(1)のアドレス領域Aには、アドレ
ス領域Bのプログラムを書き換える際に必要となる割り
込み要求が発生した時、当該割り込み要求に基づく割り
込み処理を実行する為のプログラムが書き込まれてい
る。また、アドレス領域Bには、アドレス領域Bのプロ
グラム実行中の割り込み要求に対応する割り込み処理の
為のプログラムが書き込まれている。
【0019】図3において、(14−1)〜(14−
n)は割り込みベクタ回路であり、割り込み要求1〜n
が発生した時、プログラムカウンタ(3)の値を、当該
割り込み要求1〜nに基づく割り込み処理を実行する為
のEEPROM(1)のアドレス領域B中のアドレスに
変更するものである。同様に、(15−1)〜(15−
n)は割り込みベクタ回路であり、前記割り込み要求1
〜nが発生した時、プログラムカウンタ(3)の値を、
当該割り込み要求1〜nに基づく割り込み処理を実行す
る為のEEPROM(1)のアドレス領域A中のアドレ
スに変更するものである。(16)はラッチ回路であ
り、割り込みベクタ回路(14−1)〜(14−n)又
は割り込みベクタ回路(15−1)〜(15−n)の何
れか一方をイネーブルとする為の信号をラッチするもの
である。ラッチ回路(16)の出力は、割り込みベクタ
回路(14−1)〜(14−n)の入力と共通接続さ
れ、インバータ(17)を介して割り込みベクタ回路
(15−1)〜(15−n)の入力と共通接続される。
即ち、ラッチ回路(16)が論理値「1」をラッチした
時、割り込みベクタ回路(14−1)〜(14−n)が
イネーブルとなり、ラッチ回路(16)が論理値「0」
をラッチした時、割り込みベクタ回路(15−1)〜
(15−n)がイネーブルとなる。
【0020】以下、図3の動作を図4のフローチャート
を基に説明する。EEPROM(1)のアドレス領域B
のプログラムが誤っている場合、当該プログラムを正し
く書き換える必要がある。先ず、CPU(2)は、EE
PROM(1)のアドレス領域Bのプログラムを書き換
えるか否かを判断する(ステップ1)。EEPROM
(1)のアドレス領域Bのプログラムを書き換える必要
がない場合(ステップ1NO)、全割り込み要求を一旦
ディセーブルとし(ステップ2)、ラッチ回路(16)
に論理値「1」をラッチさせた後に全割り込み要求をイ
ネーブルとする(ステップ3)。即ち、割り込みベクタ
回路(14−1)〜(14−n)がイネーブルとなる。
そして、EEPROM(1)のアドレス領域Bのプログ
ラムが実行される(ステップ4)。当該プログラム実行
時、割り込み要求1〜nの何れか1つが発生すると(ス
テップ5YES)、プログラムカウンタ(3)の値が、
当該割り込み要求に対応するEEPROM(1)のアド
レス領域Bのアドレスに変更され、当該割り込み要求に
基づく割り込み処理が実行されることになる(ステップ
6)。
【0021】一方、EEPROM(1)のアドレス領域
Bのプログラムを書き換え処理する場合(ステップ1Y
ES)、全割り込み要求を一旦ディセーブルとし(ステ
ップ7)、ラッチ回路(16)に論理値「0」をラッチ
させた後に全割り込み要求をイネーブルとする(ステッ
プ8)。即ち、割り込みベクタ(15−1)〜(15−
n)がイネーブルとなる。そして、EEPROM(1)
のアドレス領域Aのプログラムによるアドレス領域Bの
プログラム書き換え処理が実行される(ステップ9)。
当該プログラム実行時、割り込み要求1〜nの何れか1
つ(EEPROM(1)のアドレス領域Bのプログラム
書き換え時に必要となる割り込み要求)が発生すると
(ステップ10YES)、プログラムカウンタ(3)の
値が、当該割り込み要求に対応するEEPROM(1)
のアドレス領域Aのアドレスに変更され、当該割り込み
要求に基づく割り込み処理が実行されることになる(ス
テップ11)。尚、EEPROM(1)のアドレス領域
Bのプログラム書き換えが終了すると、前記1チップマ
イクロコンピュータはリセットされ、EEPROM
(1)のアドレス領域Bのプログラムの解読結果に基づ
き動作する。
【0022】以上より、EEPROM(1)のアドレス
領域Bのプログラムの書き換え処理中、当該プログラム
を書き換える過程で必要となる割り込み要求(タイマー
割り込み、外部割り込み等)が発生した場合でも、当該
割り込み要求に基づく割り込み処理を確実に実行でき
る。また、EEPROM(1)のアドレス領域Bのプロ
グラム書き換えを行う場合と行わない場合とにおいて、
割り込み要求1〜nを共用でき、プログラム効率を向上
できる。
【0023】
【発明の効果】本発明によれば、不揮発性メモリの第2
アドレス領域のプログラムの書き換え処理中、当該プロ
グラムを書き換える過程で必要となる割り込み要求(タ
イマー割り込み、外部割り込み等)が発生した場合で
も、当該割り込み要求に基づく割り込み処理を確実に実
行できる。また、不揮発性メモリの第2アドレス領域の
データ書き換えを行う場合と行わない場合とにおいて、
割り込み要求を共用でき、プログラム効率を向上できる
等の利点が得られる。
【図面の簡単な説明】
【図1】本発明に使用されるマイクロコンピュータの概
要を示す回路ブロック図である。
【図2】図1の動作を説明する為のタイムチャートであ
る。
【図3】本発明の割り込み処理を実行する為のブロック
図である。
【図4】図3の動作を説明する為のフローチャートであ
る。
【符号の説明】
(1) EEPROM (3) プログラムカウンタ (14−1)〜(14−n) 割り込みベクタ回路 (15−1)〜(15−n) 割り込みベクタ回路 (16) ラッチ回路

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 データを繰り返し書き込み及び読み出し
    できると共に書き込み済データを電気的に消去でき、第
    1アドレス領域及び第2アドレス領域を有するメモリで
    あって、前記第1アドレス領域は前記第2アドレス領域
    のデータを書き換える為のプログラム領域に割り当てら
    れ、前記第1アドレス領域及び前記第2アドレス領域は
    割り込み処理の為のプログラム領域を含む不揮発性メモ
    リと、 前記不揮発性メモリをアドレス指定するプログラムカウ
    ンタと、 割り込み要求に応じて前記プログラムカウンタの値を変
    更する割り込みベクタ回路と、 前記不揮発性メモリの第2アドレス領域のデータ書き換
    え中に前記割り込み要求が発生した時、前記不揮発性メ
    モリの第1アドレス領域を指定する様に前記割り込みベ
    クタ回路を制御する制御回路と、 を備えたことを特徴とするマイクロコンピュータ。
  2. 【請求項2】 前記不揮発性メモリの第1アドレス領域
    に記憶された割り込み処理の為のプログラムは、前記不
    揮発性メモリの第2アドレス領域のデータ書き換えを実
    行する為に必要なプログラムであることを特徴とする請
    求項1記載のマイクロコンピュータ。
  3. 【請求項3】 同じ割り込み要求に対して前記不揮発性
    メモリの第1アドレス領域及び第2アドレス領域を指定
    する2つの割り込みベクタ回路を設け、前記制御回路
    は、前記不揮発性メモリの第2アドレス領域のデータ書
    き換え中に前記割り込み要求が発生した時、前記不揮発
    性メモリの第1アドレス領域を指定する一方の割り込み
    ベクタ回路を選択することを特徴とする請求項2記載の
    マイクロコンピュータ。
  4. 【請求項4】 前記不揮発性メモリの第2アドレス領域
    のデータ書き換えを行う場合と行わない場合とにおい
    て、割り込み要求を共用することを特徴とする請求項3
    記載のマイクロコンピュータ。
JP9545296A 1996-03-14 1996-04-17 マイクロコンピュータ Pending JPH09282181A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9545296A JPH09282181A (ja) 1996-04-17 1996-04-17 マイクロコンピュータ
US08/811,572 US5950222A (en) 1996-03-14 1997-03-05 Microcomputer using a non-volatile memory
KR1019970008548A KR100299542B1 (ko) 1996-03-14 1997-03-13 불휘발성메모리를사용한마이크로컴퓨터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9545296A JPH09282181A (ja) 1996-04-17 1996-04-17 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH09282181A true JPH09282181A (ja) 1997-10-31

Family

ID=14138095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9545296A Pending JPH09282181A (ja) 1996-03-14 1996-04-17 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH09282181A (ja)

Similar Documents

Publication Publication Date Title
KR100375217B1 (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
KR100255568B1 (ko) 재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터
KR101146059B1 (ko) 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한데이터 판독/기입 방법
KR100299542B1 (ko) 불휘발성메모리를사용한마이크로컴퓨터
JP3831040B2 (ja) 半導体集積回路
JP2003187593A (ja) 半導体装置及び不揮発性半導体記憶装置
JP3053301B2 (ja) 半導体集積回路及びicカード
US5925139A (en) Microcomputer capable of preventing writing errors in a non-volatile memory
JP7228657B2 (ja) 半導体記憶装置
JP2006107326A (ja) 半導体集積回路
US6535442B2 (en) Semiconductor memory capable of debugging an incorrect write to or an incorrect erase from the same
JPH11213680A (ja) 半導体記憶装置
JP2007140733A (ja) 半導体処理装置及び半導体集積回路
KR20030085046A (ko) 동기 비휘발성 메모리 소자용 독립 비동기 부트 블록
JP3197865B2 (ja) マイクロコンピュータ
JP3439018B2 (ja) マイクロコンピュータ
JPH09282302A (ja) マイクロコンピュータ
JP3679496B2 (ja) マイクロコンピュータ
US6798708B2 (en) Memory controller and serial memory
JPH09251447A (ja) マイクロコンピュータ
JPH09293063A (ja) マイクロコンピュータ
JP2005107608A (ja) 電子機器、不揮発性メモリ及び不揮発性メモリのデータ書き換え方法
JPH09282304A (ja) マイクロコンピュータ
CN113724767B (zh) 半导体存储装置及快闪存储器运行方法
EP0714060B1 (en) One chip microcomputer with built-in non-volatile memory