(57)【要約】【課題】  プログラム格納未使用領域を効率よく最大限に利用できるＯＴＰ型のＥＰＲＯＭ内蔵マイコンを提供する。【解決手段】  ＯＴＰマイコンとして使用されるＥＰＲＯＭ内蔵マイコンのＥＰＲＯＭ２内の未使用領域に書き込まれた少なくとも１つの追加プログラムと、この追加プログラムのアドレスを記憶するアドレス変更情報記憶手段２５と、検出許可信号を記憶する動作許可情報記憶手段２４と、検出許可信号により、ＣＰＵ１２から出力されるアドレスを検出し、第１のプログラムのアドレスか追加プログラムのアドレスかを検出し、結果を出力するアドレス検出手段２１と、アドレス検出手段２１からの動作許可信号により、第１のプログラムのアドレスを追加プログラムのアドレスに変更する変更アドレス発生手段２２と、アドレス選択信号により、第１のプログラムのアドレスか変更アドレスかを選択し、ＥＰＲＯＭ２に供給するアドレス選択手段２３とを具備した。【選択図】  図１
2005173817.tif 000002
【特許請求の範囲】
【請求項１】
第１のプログラムが格納されるＥＰＲＯＭを内蔵し、プログラムの書き込みを一度だけ行うことができるＯＴＰマイコンとして使用されるＥＰＲＯＭ内蔵マイコンにおいて、
前記ＥＰＲＯＭ内のプログラム格納領域にある未使用領域に書き込まれた少なくとも１つの追加プログラムと、
前記追加プログラムのアドレスを記憶するアドレス変更情報記憶手段と、
検出許可信号を記憶する動作許可情報記憶手段と、
前記動作許可情報記憶手段からの前記検出許可信号により、ＣＰＵから出力されるアドレスを検出し、前記第１のプログラムのアドレスか前記追加プログラムのアドレスかを検出し、この検出アドレスに対応したアドレス選択信号と前記第１のプログラムのアドレスを検出した場合に動作許可信号とをそれぞれ出力するアドレス検出手段と、
前記ＣＰＵから前記第１のプログラムのアドレス及び前記アドレス変更情報記憶手段から前記追加プログラムのアドレスを受け、前記アドレス検出手段からの動作許可信号にに基づいて、前記第１のプログラムのアドレスを前記追加プログラムのアドレスに変更する変更アドレス発生手段と、
前記アドレス検出手段からの前記アドレス選択信号に基づいて、前記第１のプログラムのアドレスと前記変更アドレス発生手段からの変更アドレスとのいずれかを選択し、前記ＥＰＲＯＭに供給する選択手段と、
を具備したことを特徴とするＥＰＲＯＭ内蔵マイコン。
【請求項２】
第１のプログラムが格納されるＥＰＲＯＭを内蔵し、プログラムの書き込みを一度だけ行うことができるＯＴＰマイコンとして使用されるＥＰＲＯＭ内蔵マイコンにおいて、
前記ＥＰＲＯＭ内のプログラム格納領域にある未使用領域に書き込まれた少なくとも１つの追加プログラムと、
この追加プログラムのアドレス及び検出許可信号情報と、
前記追加プログラムのアドレスを書き込むためのアドレス情報レジスタと、
検出許可信号を記憶するための動作許可情報レジスタと、
前記ＥＰＲＯＭ内のプログラム格納領域にある未使用領域に格納され、前記第１のプログラムまたは前記追加プログラムが呼び出される前に、前記アドレス情報レジスタ及び前記動作許可情報レジスタにそれぞれ前記追加プログラムのアドレス及び検出許可信号情報の書き込みを実行するための処理プログラムと、
前記動作許可情報記憶手段からの前記検出許可信号により、ＣＰＵから出力されるアドレスを検出し、前記第１のプログラムのアドレスか前記追加プログラムのアドレスかを検出し、この検出アドレスに対応したアドレス選択信号と前記第１のプログラムのアドレスを検出した場合に動作許可信号とをそれぞれ出力するアドレス検出手段と、
前記ＣＰＵから前記第１のプログラムのアドレス及び前記アドレス変更情報記憶手段から前記追加プログラムのアドレスを受け、前記アドレス検出手段からの動作許可信号に基づいて、前記第１のアドレスを前記追加プログラムのアドレスに変更する変更アドレス発生手段と、
前記アドレス検出手段からの前記アドレス選択信号に基づいて、前記第１のプログラムのアドレスと前記変更アドレス発生手段からの変更アドレスとのいずれかを選択し、前記ＥＰＲＯＭに供給する選択手段と、
を具備したことを特徴とするＥＰＲＯＭ内蔵マイコン。
【請求項３】
前記アドレス検出手段には、前記第１のプログラムのアドレスの内の上位１ビットまたは複数ビットを供給することを特徴とする請求項１または２に記載のＥＰＲＯＭ内蔵マイコン。
【請求項４】
前記追加プログラムは、前記第１のプログラムの全部または一部を修正したプログラムであることを特徴とする請求項１乃至３のいずれか１項に記載のＥＰＲＯＭ内蔵マイコン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＲＯＭ（Ｍａｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）内蔵マイコンのプログラム開発をサポートするＥＰＲＯＭ(Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ)内蔵マイコンに関する。
【背景技術】
【０００２】
プログラム内蔵マイコンであるＭＲＯＭ内蔵マイコン（以下、ＭＲＯＭマイコン）は、多くの製品に組み込まれてその動作の制御等に使われている。このＭＲＯＭマイコンのプログラム開発において、ＥＰＲＯＭが有効に使われている。このＥＰＲＯＭは、紫外線を照射することにより、一度書き込まれた全情報を消去でき、且つ電気的に再度書き込みもできる不揮発性メモリであり、紫外線を照射できるように消去用の窓が開けられたパッケージに入れられている。この窓付きのパッケージとすることによりＥＰＲＯＭは高価になる。そこで、ＥＰＲＯＭを内蔵するマイコンの内、紫外線消去用の窓をなくした窓なしプラスチックパッケージ内に封止され、パッケージ封止後、ＰＲＯＭライタ等により実行可能なプログラムを一度だけ書き込み可能としたＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍ）型のマイコン（以下、ＯＴＰマイコン）が現在商品化されている。
【０００３】
すなわち、ＭＲＯＭマイコンは、パッケージ封止する以前の工程で確定したプログラムを内蔵させるために、書き込みや消去等のプログラム変更はできないが、大量生産が可能なため単価を低く抑えられる製品である。ＯＴＰマイコンは、そのＭＲＯＭマイコンに格納するプログラムの開発をサポートする役割がある。そのため、ＯＴＰマイコンは、プログラムメモリサイズがＭＲＯＭマイコンと同等かそれ以上の容量を持つ必要がある。
【０００４】
ＯＴＰマイコンは、ＭＲＯＭマイコンに比較して、開発コストがかかり、また、製品の出荷数は少ないために、ＭＲＯＭマイコンより高価であるが、窓付きのＥＰＲＯＭ内蔵マイコン（以下、ＥＰＲＯＭマイコン）より安くなる。そして、ＯＴＰマイコンでは、実行可能なプログラムの書き込みは一度しかできないため、書き込んだプログラムに不具合があった場合は、従来、破棄するしか方法がなかった。すなわち、プログラム格納領域のメモリ容量を全て使い切っていない場合、このプログラム格納未使用領域に２度目の書き込みはできてもそのプログラムを実行する方法がなく、残りのメモリを有効に使用することができなかった。そのため、残りのメモリを生かして複数回の使用ができるＯＴＰマイコンの開発要求が強くあった。
【０００５】
そこで、ＯＴＰマイコンの残ったメモリを有効に使うようにしたＥＰＲＯＭマイコンが提案されている（例えば、特許文献１参照。）。すなわち、プログラムメモリとしてプログラムが一度だけ書き込み可能なＥＰＲＯＭを内蔵し、プログラムメモリ内のプログラム格納領域に未使用領域が発生した場合には、その未使用領域に少なくとも１つのプログラムを書き込む書き込み手段と、前記プログラムメモリ内に格納されたプログラムを選択する選択手段と、前記選択手段により選択されたプログラムを実行する実行手段とから構成されて、まず、プログラムの開始アドレスを最初に決めて、その開始アドレスを与えることによって、プログラムの選択及び実行を行っている。
【０００６】
しかしながら、このＥＰＲＯＭマイコンにおいては、ＥＰＲＯＭを分割して未使用領域を利用するという目的に対しては有効な面があると思われるが、書き込みプログラムの単位は１つの全プログラムであるために、一つのプログラムに満たないメモリしか残されてない場合、この未使用領域の有効利用は困難である。従って、一行の命令コードを修正するにも、全プログラムを書き込む未使用領域が必要であり、その上書き込む労力がかかることになった。すなわち、プログラムメモリ内のプログラム格納領域の未使用領域を効率よく最大限に利用するという点では不充分である。
【特許文献１】特開平９−３１９７２５号公報（第６−７頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記したように、従来のＥＰＲＯＭマイコンにおいては、一つの全プログラム単位での書き込みを行うために、プログラムメモリ内のプログラム格納領域の未使用領域を効率よく最大限に利用するという点では不充分である。
【０００８】
本発明では、プログラム格納未使用領域を効率よく最大限に利用できるＯＴＰ型のＥＰＲＯＭ内蔵マイコンを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の一態様のＥＰＲＯＭ内蔵マイコンは、第１のプログラムが格納されるＥＰＲＯＭを内蔵し、プログラムの書き込みを一度だけ行うことができるＯＴＰマイコンとして使用されるＥＰＲＯＭ内蔵マイコンにおいて、前記ＥＰＲＯＭ内のプログラム格納領域にある未使用領域に書き込まれた少なくとも１つの追加プログラムと、前記追加プログラムのアドレスを記憶するアドレス変更情報記憶手段と、検出許可信号を記憶する動作許可情報記憶手段と、前記動作許可情報記憶手段からの前記検出許可信号によりＣＰＵから出力されるアドレスを検出し、前記第１のプログラムのアドレスか前記追加プログラムのアドレスかを検出し、この検出アドレスに対応したアドレス選択信号と前記第１のプログラムのアドレスを検出した場合に動作許可信号とをそれぞれ出力するアドレス検出手段と、前記ＣＰＵから前記第１のプログラムのアドレス及び前記アドレス変更情報記憶手段から前記追加プログラムのアドレスを受け、前記アドレス検出手段からの動作許可信号に基づいて、前記第１のプログラムのアドレスを前記追加プログラムのアドレスに変更する変更アドレス発生手段と、前記アドレス検出手段からの前記アドレス選択信号に基づいて、前記第１のプログラムのアドレスと前記変更アドレス発生手段からの変更アドレスとのいずれかを選択し、前記ＥＰＲＯＭに供給する選択手段とを具備したことを特徴とする。
【００１０】
また、本発明の別態様のＥＰＲＯＭ内蔵マイコンは、第１のプログラムが格納されるＥＰＲＯＭを内蔵し、プログラムの書き込みを一度だけ行うことができるＯＴＰマイコンとして使用されるＥＰＲＯＭ内蔵マイコンにおいて、前記ＥＰＲＯＭ内のプログラム格納領域にある未使用領域に書き込まれた少なくとも１つの追加プログラムと、この追加プログラムのアドレス及び検出許可信号情報と、前記追加プログラムのアドレスを書き込むためのアドレス情報レジスタと、検出許可信号を記憶するための動作許可情報レジスタと、前記ＥＰＲＯＭ内のプログラム格納領域にある未使用領域に格納され、前記第１のプログラムまたは前記追加プログラムが呼び出される前に、前記アドレス情報レジスタ及び前記動作許可情報レジスタにそれぞれ前記追加プログラムのアドレス及び検出許可信号情報の書き込みを実行するための処理プログラムと、前記動作許可情報記憶手段からの前記検出許可信号により、ＣＰＵから出力されるアドレスを検出し、前記第１のプログラムのアドレスか前記追加プログラムのアドレスかを検出し、この検出アドレスに対応したアドレス選択信号と前記第１のプログラムのアドレスを検出した場合に動作許可信号とをそれぞれ出力するアドレス検出手段と、前記ＣＰＵから前記第１のプログラムのアドレス及び前記アドレス変更情報記憶手段から前記追加プログラムのアドレスを受け、前記アドレス検出手段からの動作許可信号に基づいて、前記第１のアドレスを前記追加プログラムのアドレスに変更する変更アドレス発生手段と、前記アドレス検出手段からの前記アドレス選択信号に基づいて、前記第１のプログラムのアドレスと前記変更アドレス発生手段からの変更アドレスとのいずれかを選択し、前記ＥＰＲＯＭに供給する選択手段とを具備したことを特徴とする。
【発明の効果】
【００１１】
本発明のＥＰＲＯＭマイコンによれば、プログラム格納未使用領域を効率よく最大限に利用できるＯＴＰ型のＥＰＲＯＭ内蔵マイコンを提供できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施例について図面を参照しながら説明する。なお、図面の記載において、同一構成要素には、同一の符号を付して示す。
【実施例１】
【００１３】
本発明の実施例１に係るＯＴＰ型のＥＰＲＯＭマイコンについて、図１及び図２を参照しながら説明する。図１は、ＯＴＰ型のＥＰＲＯＭマイコンの構成を示すブロック図、図２は、ＥＰＲＯＭのプログラムメモリマップを示す模式図である。
【００１４】
図１に示すように、ＥＰＲＯＭマイコン５０は、固定データ、プログラム等を格納するためのメモリとしてのＥＰＲＯＭ２と、ＥＰＲＯＭ２からのデータに基づいて、プログラムを実行するＣＰＵ１２と、複数のプログラム開始アドレスを転送するアドレス設定手段１３と、ＥＰＲＯＭマイコンの外部に設けた動作許可情報記憶手段２４及びアドレス変更情報記憶手段２５を有している。なお、図中矢印の付いた信号線に１６本、上位１２本、８本、及び下位４本という表示は、それぞれ１６ビット、１６ビットの内の上位１２ビット、８ビット、及び１６ビットの内の下位４ビットの信号送信を示す。
【００１５】
ＥＰＲＯＭ２には、アドレス選択手段２３から送られた上位１２ビット信号とＣＰＵ１２から送られた下位４ビット信号と合わせて１６ビットのアドレス信号が入力され、ＥＰＲＯＭ２からは指示されたアドレスに格納されているデータが、８ビットずつ（１６ビット場合は２回に分けて）ＣＰＵ１２に送られる。
【００１６】
また、ＥＰＲＯＭ２は、図２に示すように、プログラムメモリマップ１上に、区別して固定領域４とプログラム領域５とを有する。この固定領域４には、マイコンの動作上変更不可能なメモリアドレス、例えば、リセット解除してＣＰＵ１２をスタートさせた場合、最初に第１のプログラムを読み出すためのプログラム開始アドレス、割り込みアドレス等が格納されている。そして、プログラム領域５に格納されたプログラムは、このアドレスに記載されたアドレスデータを基点として実行開始され、実行の過程ではプログラムが指定した領域を逸脱する事はない。従って、マイコンは、プログラムが完成、格納した後で、追加したプログラムを実行することができない構成になっている。
【００１７】
例えば、プログラムメモリマップ１において、アドレス（Ｈを付けて１６進数表示）８０００Ｈ〜ＦＦＦＦＨのうち、プログラム開始アドレスＦＦＦＦＨ〜ＦＦＦＥＨ、及び、割り込みベクタアドレスＦＦＦＤＨ〜ＦＦＥ０Ｈまでが固定領域４で、アドレス８０００Ｈ〜ＦＦＤＦＨがプログラム領域５となっている。
【００１８】
また、このプログラム領域５には、図２に示すように、通常、第１のプログラムＡ１が書き込まれ、未使用領域が残っている場合、その未使用領域に書き込み端子（図示略）を介して、ＰＲＯＭライタあるいはＰＲＯＭプログラマ等を使用して、特別な操作等を行うことなく、第２のプログラムＡ２を書き込むことは可能である。つまり、第１のプログラムに不具合が発生した場合、または、条件を変更したい場合、図２に示すように、修正した第２のプログラムＡ２を作成して、プログラム領域５の未使用領域に書き込む。なお、その第２のプログラムＡ２を書き込んだ後に未使用領域Ｄ２が存在する。
【００１９】
そして、第２のプログラムＡ２を書き込んだだけでは、これを実行することはできず、ＣＰＵ１２は、第２のアドレスであるプログラム開始アドレスに従って、元の第１のプログラムＡ１を実行しようとする。そこで、第２のプログラムＡ２を実行するためには、第１のプログラムＡ１に入ろうとするアドレス指定を、アドレス設定手段１３等を使って、第２のプログラムＡ２のある第１のアドレスに入るように変更をかけることが必要である。
【００２０】
そのため、動作許可情報記憶手段２４には、検出動作を許可する検出許可信号が入力され、また、アドレス変更情報記憶手段２５には、第２のプログラムのアドレス変更情報が入力されている。
【００２１】
アドレス設定手段１３は、アドレス検出手段２１、変更アドレス発生手段２２及びアドレス選択手段２３を有している。
【００２２】
アドレス検出手段２１には、ＣＰＵ１２から１６ビットの内上位１２ビットのアドレス信号が１２本の信号線で送られる。また、動作許可情報記憶手段２４から検出許可信号が与えられる。そして、ＣＰＵ１２から送られてきた上位１２ビットのアドレス信号から変更すべきアドレスか否かを検出し、その検出結果を変更アドレス発生手段２２に送る。
【００２３】
変更アドレス発生手段２２には、ＣＰＵ１２から送られた上位１２ビットのアドレス信号と、アドレス検出手段２１から送られた動作許可信号と、アドレス変更情報記憶手段２５からのアドレス変更情報を基に、変更したアドレスを発生させて、その変更アドレスをアドレス選択手段２３に送る。
【００２４】
アドレス選択手段２３には、アドレス検出手段２１からのアドレス選択信号と、ＣＰＵ１２からの上位１２ビットのアドレス情報（入力情報Ａ）と変更アドレス発生手段２２からの変更アドレス情報（入力情報Ｂ）が与えられ、アドレス選択信号に基づいて、入力情報Ａ、Ｂが選択出力される。例えば、第２のプログラムＡ２へ入ることを妨げる固定領域４からのデータからなる変更すべきアドレスを示す場合には、アドレス検出手段２１からアドレス選択信号「１」が与えられ、またプログラム領域５を示すアドレスの場合には、アドレス選択信号「０」が与えられる。選択信号「１」では、変更アドレス発生手段２２から送られた入力情報Ｂの信号を選択し、一方、選択信号「０」では、ＣＰＵ１２から送られた入力情報Ａの信号を選択する。この結果を、上位１２ビット信号としてＥＰＲＯＭ２に送出する。
【００２５】
次に、上記構成のＥＰＲＯＭマイコンにおいて、第２のプログラムを選択して実行する場合の動作について具体例を挙げて説明する。例えば、図２に示すように、固定領域４のプログラム開始アドレス上位及び下位には、第１のプログラムＡ１の開始アドレス「８０００Ｈ」に入ることが指定されており、これに呼応して、第１のプログラムＡ１はアドレス「８０００Ｈ」から始まるようにＥＰＲＯＭ２のプログラム領域５に格納されている。
【００２６】
一方、第２のプログラムＡ２は、例えば、アドレス「Ｂ４００Ｈ」から始まるようにプログラム領域５に格納されているものとする。また、動作許可情報記憶手段２４には、アドレス検出手段２１に対して検出動作を許可する検出許可信号が入力され、アドレス変更情報記憶手段２５には、第２のプログラムＡ２の開始アドレス「Ｂ４００Ｈ」が入力してあるものとする。
【００２７】
まず、リセット解除してＣＰＵ１２をスタートさせると、ＣＰＵ１２には、ＥＰＲＯＭ２の固定領域４にあるプログラム開始アドレスから「８０００Ｈ」が送られ、ＣＰＵ１２からアドレス設定手段１３に対して「８０００Ｈ」のアドレスにあるデータを読み込むように命令が出される。この時、ＣＰＵ１２からアドレス設定手段１３へは、「８０００Ｈ」の上位１２本（１６進数の上位３桁）である「８００Ｈ」が出力される。
【００２８】
そして、アドレス検出手段２１は、ＣＰＵ１２から「８００Ｈ」と動作許可情報記憶手段２４から検出許可信号を受ける。この検出許可信号に基づき、変更アドレス発生手段２２に対してアドレス変更の動作許可信号を出力し、またアドレス選択手段２３に対して変更アドレスの選択信号を出力する。
【００２９】
次に、変更アドレス発生手段２２では、アドレス検出手段２１からのアドレス変更の動作許可信号に基づき、ＣＰＵ１２からの「８００Ｈ」をアドレス変更情報記憶手段２５からの第２のプログラムＡ２の開始アドレス「Ｂ４００Ｈ」へとアドレス変更をかけて、上位１２本（１６進数の上位３桁）である「Ｂ４０Ｈ」をアドレス選択手段２３へ出力する。
【００３０】
そして、アドレス選択手段２３では、アドレス検出手段２１からの選択信号「１」（アドレス変更すべきアドレスの場合、例えば「１」）に基づいて、ＣＰＵ１２からの「８００Ｈ」（入力情報Ａ）とアドレス発生手段２２からの「Ｂ４０Ｈ」（入力情報Ｂ）のうち、入力情報Ｂを選択し、ＥＰＲＯＭ２へ上位１２本から１６進数上位３桁の「Ｂ４０Ｈ」を出力する。
【００３１】
そして、ＥＰＲＯＭ２には、アドレス選択手段２３からの上位「Ｂ４０Ｈ」とＣＰＵ１２からの下位「０Ｈ」とが合わされて、「Ｂ４００Ｈ」のアドレスが指示される。このアドレス「Ｂ４００Ｈ」は、予め入力した第２のプログラムＡ２の開始アドレスなので、第１のプログラムＡ１から第２のプログラムＡ２に置き換えられて第２のプログラムＡ２の実行が開始される。
【００３２】
この第２のプログラムＡ２の実行中は、第２のプログラムＡ２からデータが読みこまれて行くので、変更アドレス発生手段２２でアドレス変更がなされることはなく、ＣＰＵ１２からのアドレスの通りに進行して、第２のプログラムＡ２を終了する。
【００３３】
上述した構成のＥＰＲＯＭマイコンでは、変更不可能なＥＰＲＯＭの固定領域とは別に、修正等を行った第２のプログラムの開始アドレスを記憶するためのアドレス変更情報記憶手段及び検出動作を許可する検出許可信号を記憶するための動作許可情報記憶手段２４とを設けて、更に修正プログラムに変更する指示を出すアドレス検出手段を設けることによって、ＥＰＲＯＭのプログラム領域に２個のプログラムが存在でき、且つこれを選択的に実行することができる。
【００３４】
（第１の変形例）
次に、本発明の実施例１に係るＥＰＲＯＭマイコンの第１の変形例を説明する。本変形例は、例えば、第２のプログラムを書き込んだ後、もう一度、元の第１のプログラムを使用する場合の例である。
【００３５】
すなわち、動作許可情報記憶手段２４には、動作許可信号を出さないように、例えば「０」からなるデータを入力して、アドレス検出手段２１及び変更アドレス発生手段２２が動作しないように設定することにより、アドレス選択手段２３への選択信号が「０」になるように設定する。この結果、選択信号「０」によりＣＰＵ１２から出た入力情報Ａが選択されて、ＥＰＲＯＭ２に送られる。従って、ＣＰＵ１２から出たアドレス信号は、何ら変更されることなく、すなわち、アドレス設定手段１３がない場合と同様にＥＰＲＯＭ２に送られて、第１のプログラムが実行される。
【００３６】
また、追加した第２のプログラムに不備が見つかったり、条件を変更したい等の場合に、更に第３のプログラム（図示略）を追加し、実行する場合は、上述した第２のプログラムの実行と全く同じように、アドレス変更情報記憶手段２５に、第３のプログラムがＥＰＲＯＭ２の中のどこに格納されているかという変更アドレスを入力、記憶させて、同時あるいは相前後して、動作許可情報記憶手段２４に検出動作許可信号を入力して、アドレス検出手段２１に対する検出動作を許可させればよい。以下、第４のプログラム以降のプログラムを追加する場合も同様にアドレスを入力、変更して、そのプログラムを実行することができる。なお、追加プログラムは、実装した後でも、未使用領域が残っていればＰＲＯＭライタ等を介してＥＰＲＯＭに書き込むことができる。
【００３７】
（第２の変形例）
次に、本発明の実施例１に係るＥＰＲＯＭマイコンの第２の変形例を説明する。本変形例は、第１のプログラムに不備があった場合に、上述のように第１のプログラム全体を修正した第２のプログラムを書き込むのではなく、第１のプログラムにおける不備なプログラム部分（以下、部分プログラムという）のみを修正した修正部分プログラムを書き込む場合の例である。
【００３８】
すなわち、図３（ａ）に示すように、プログラム領域５に書き込まれた第１のプログラムＡ３において、部分プログラムＢ３に不備があり、部分プログラムＣ３は正常で、未使用領域Ｄ３が残っている場合、図３（ｂ）に示すように、未使用領域Ｄ３に不備な部分プログラムＢ３を修正した修正済部分プログラムＢ４が書き込まれる。なお、Ｄ４は、更に残された未使用領域を示す。ここで、第１のプログラムＡ３の正常な部分プログラムＣ３と修正済部分プログラムＢ４によって、第１のプログラムと同様な第２のプログラムＡ４を構成する。
【００３９】
次に、この第２のプログラムＡ４を実行する場合について説明する。第２のプログラムＡ４の中の修正済部分プログラムＢ４を実行開始する方法は、上述の実施例１における第２のプログラムＡ２を実行開始する場合と同じである。次に、例えば、第１のプログラムＡ３の中で使用していたサブルーティン・サブプログラム等の正常な部分プログラムＣ３を第２のプログラムＡ４の修正済部分プログラムＢ４の中から呼び出す場合、アドレス設定手段１３を通過する時に、途中でアドレス変更がかかることはないので、追加プログラムの中で呼び出すことは可能である。
【００４０】
しかし、このままでは、正常な部分プログラムＣ３を終了して、修正済部分プログラムＢ４に戻ることができない。そこで、正常な部分プログラムＣ３を終了して、次に不備な部分プログラムＢ３に戻るようにＣＰＵ１２からアドレス信号が出力された段階で、このアドレス信号を変更することになる。すなわち、修正済部分プログラムＢ４の該当アドレスに変更するように、アドレス変更すべきアドレスと共に、予めアドレス変更情報記憶手段２５にこのアドレスを入力しておくことにより変更ができる。修正済部分プログラムＢ４の該当アドレスに変更できれば、修正済部分プログラムＢ４に戻ることができ、以下、第２のプログラムＡ４を実行して、正常に終了させることができる。
【００４１】
この結果、同様な手順によって、追加した第２あるいはそれ以降のプログラムでは、既に作成したサブルーティン・サブプログラム等の正常なプログラムの一部を有効に活用できる。従って、最小限の労力及びメモリを使用することによって、プログラムを新しくすることができる。
【００４２】
上述した実施例及び変形例では、追加のプログラムのアドレス指定あるいはアドレス変更時には、１６ビットの内、上位１２ビットを使用して行うことになるので、元のプログラムと追加プログラムとの間等に、最大で下位４ビット分の隙間ができる。逆な見方をすると、最大でも下位の４ビットに相当する１６バイト分の隙間ができるにすぎず、ＥＰＲＯＭ２の使用できない領域、つまり未使用領域を小さく抑えることが可能である。
【００４３】
追加のプログラム等を格納する際、ＥＰＲＯＭ２の未使用領域を最小限に抑えようとすれば、図１のＣＰＵからのアドレス信号を１６ビット全てアドレス設定手段１３に入力できるようにすればよい。この場合、ＥＰＲＯＭ２のメモリを有効に使うことができるが、一方で、アドレス設定手段１３に大きな領域が必要となるというデメリットが起こり得るので、ＥＰＲＯＭマイコンとして効率のよい方を選択すればよい。
【００４４】
また、ＥＰＲＯＭマイコンを基板等に実装後、あるいはＥＰＲＯＭマイコンを使用して初期量産に入った段階で、プログラムに不具合が見つかった場合、書き込み手段を使用して不具合の解消が可能となるため、実装したＥＰＲＯＭマイコンを無駄にすることがない。すなわち、ＥＰＲＯＭマイコンに一つのプログラムの追加、あるいは前のプログラムの一部を引用できるプログラムの追加で、不具合プログラムの修正ができるので、実装基板から取り外し交換をする手間、費用等がかからず、不具合解消作業を最小限の労力で行うことができる。
【実施例２】
【００４５】
次に、本発明の実施例２に係るＯＴＰ型のＥＰＲＯＭマイコンについて、図４を参照しながら説明する。図４は、ＥＰＲＯＭマイコンの構成を示すブロック図であり、上述の第１の実施例と異なる点は、アドレス変更に関わる変更手段等をＥＰＲＯＭマイコン内に取り込んだことである。なお、実施例１と同一または類似構成部分には、同一または類似の符号を付してその説明は省略し、異なる構成部分について説明する。
【００４６】
図４に示すように、本実施例は上述の実施例１とは、動作許可情報記憶手段４４及びアドレス変更情報記憶手段４５がＥＰＲＯＭ２に内蔵された点、動作許可レジスタ３４とアドレス情報レジスタ３５がアドレス設定手段１６に取り込まれて１チップ化された点、及び、アドレス設定手段１６に設定を行うための処理プログラム（図示略）を予め格納しておく構成である点が異なる。すなわち、ＥＰＲＯＭマイコン５１は、ＥＰＲＯＭ２、ＣＰＵ１２等の他に、アドレス設定手段１６、動作許可情報記憶手段４４及びアドレス変更情報記憶手段４５からなり、及び処理プログラムからＣＰＵ１２を介して動作許可信号及びアドレス変更情報を設定する構成である。
【００４７】
アドレス設定手段１６は、動作許可レジスタ３４、アドレス検出手段３１、アドレス情報レジスタ３５、変更アドレス発生手段３２、及びアドレス選択手段３３を有している。
【００４８】
動作許可情報記憶手段４４及びアドレス変更情報記憶手段４５は、実施例１と同じ機能を有する。
【００４９】
また、動作許可レジスタ３４及びアドレス情報レジスタ３５は、一時的にデータを格納しておくレジスタであり、上述の実施例１における動作許可情報記憶手段２４及びアドレス変更情報記憶手段２５と同様なデータを格納しておく。従って、アドレス設定手段１６は、上述の実施例１のアドレス設定手段１３と同じ機能を有する。
【００５０】
そして、処理プログラムは、ＥＰＲＯＭ２内に格納されており、アドレス設定手段１６に以下の設定を行うために必要である。このプログラムは、リセット解除してスタート直後に動作するように設定されている。ここでアドレス変更情報記憶手段４５からのアドレス変更情報をアドレス情報レジスタ３５に設定、更に、動作許可情報記憶手段４４からの検出許可信号を動作許可レジスタ３４に設定する機能を有する。また、この処理プログラムは、アドレス情報レジスタ３５に情報が書き込まれると、図２に示すように、固定領域４の割り込み１アドレスから割り込み１５アドレスまでの内容を指定されたアドレスに変更する機能を有する。更に、この処理プログラムは、以上の設定が終了した後、ＥＰＲＯＭマイコンとして実行すべき処理内容の記載されたプログラムに移行する機能を有する。従って、ＥＰＲＯＭ２に書き込んである第１のプログラム、あるいは、必要に応じて書き込んだ追加プログラムを実行することができる。
【００５１】
次に、追加した第２のプログラムを実行する前の設定について説明する。第２のプログラムをＰＲＯＭライタ等で書き込むと同時、あるいは相前後して、第２のプログラムの開始アドレス等をＥＰＲＯＭ２内のアドレス変更情報記憶手段４５に入力、また動作許可情報記憶手段４４に動作許可信号を入力して、記憶させる。書き込んだ情報は、第１または第２のプログラム実行とは別の系統から、ＣＰＵ１２を通してアドレス情報レジスタ３５及び動作許可レジスタ３４に設定される。
【００５２】
以上のような設定を行った後、ＣＰＵは、最初にプログラムを読み出す固定領域４のメモリアドレスを読む。しかし、ここでアドレス検出手段３１、変更アドレス発生手段３２、及びアドレス選択手段３３が機能し、例えば、固定領域４からのアドレスを示す場合は選択信号「１」を、その他のプログラム領域を含む非固定領域を示す場合は選択信号「０」を発信するように設定して、第１の実施例と同様な手順で、アドレス変更された信号に基づき追加プログラムを実行することができる。
【００５３】
また、追加した第２のプログラムに不備が見つかり、第３のプログラムを実行する場合は、上述した第２のプログラムの実行と全く同じように、アドレス変更情報記憶手段４５及び動作許可情報記憶手段４４に、第３のプログラムがＥＰＲＯＭ２の中のどこに格納されているかという置き換え先のアドレス等、及び動作許可信号を記憶させて、ＣＰＵ１２を通してアドレス情報レジスタ３５及び動作許可レジスタ３４に設定すればよい。以下、第４のプログラム以降のプログラムを追加した場合も同様にアドレスを変更して、そのプログラムを実行することができる。なお、追加プログラムは、実装した後でも、未使用領域が残っていればＰＲＯＭライタ等を介してＥＰＲＯＭ２に書き込むことができる。
【００５４】
そして、前に作成したプログラムの一部を追加した後のプログラムの中で使用することも、実施例１と同様な手順で、可能である。
【００５５】
以上のような実施例２によれば、実施例１による効果の他に、動作許可情報記憶手段４４及びアドレス変更情報記憶手段４５をＥＰＲＯＭマイコンの中に設定することになるので、安定した動作が確保され、動作上のトラブルを最小限に抑えることができる。
【００５６】
以上、本発明の実施例を説明したが、本発明は上記実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々変形して実施することができる。
【００５７】
例えば、複数個のプログラムをＥＰＲＯＭに格納して、使用目的に応じて、各々のアドレスを指定するだけで使い分けることができる。予め複数個のプログラムを格納しておいてもよいし、使用目的が増加した段階で後からプログラムを格納してもよい。複数の使用目的とは、例えば、製品の仕向け地が異なる場合の仕向け地別に複数、あるいは使用環境が異なる場合の環境条件別に複数等である。
【００５８】
また、本発明の実施例では、アドレス設定手段等を一組設ける場合を説明した。しかしながら、複数のアドレス設定手段等を設けることが可能である。その場合、割り込みテーブルへの対応等、他の機能を使うことも可能となりマイコンとして機能が拡大することはいうまでもない。
【００５９】
また、ＯＴＰマイコンは、プログラム変更の可能性がある生産初期の量産品やＭＲＯＭマイコンの不良回避対策品等にも使用されるが、その場合でも、本発明の手段あるいはそれを実現する回路を有するＥＰＲＯＭマイコンがより効果的に機能を発揮することができる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例１に係るＥＰＲＯＭ内蔵マイコンの構成を模式的に示すブロック図。
【図２】本発明の実施例１に係るＥＰＲＯＭのプログラムメモリマップを示す模式図。
【図３】本発明の実施例１の変形例に係るＥＰＲＯＭのプログラム領域の内部を示す模式図。
【図４】本発明の実施例２に係るＥＰＲＯＭ内蔵マイコンの構成を模式的に示すブロック図。
【符号の説明】
【００６１】
１  プログラムメモリマップ
２  ＥＰＲＯＭ
４  固定領域
５  プログラム領域
１２  ＣＰＵ
１３、１６  アドレス設定手段
２１、３１  アドレス検出手段
２２、３２  変更アドレス発生手段
２３、３３  アドレス選択手段
２４、４４  動作許可情報記憶手段
２５、４５  アドレス変更情報記憶手段
３４  動作許可レジスタ
３５  アドレス情報レジスタ
５０、５１  ＥＰＲＯＭマイコン
【図１】
2005173817.tif 000003
【図２】
2005173817.tif 000004
【図３】
2005173817.tif 000005
【図４】
2005173817.tif 000006