説明

誤書込防止回路

【課題】 簡単な構成で誤書込の発生を減らすことができる誤書込防止回路を提供する。
【解決手段】 オアゲート3は、CPUから出力される書込信号・/WRを開状態の時に通過させ、閉状態の時不通過とする。ナンドゲート4,5から構成される許可・不許可レジスタ6はオアゲート3の開閉を制御するゲート制御信号・/WRCを出力する。オアゲート8はCPUが不揮発性メモリ2にアクセスする時出力される信号に基づいてセット信号・/Sを生成し、許可・不許可レジスタ6へ出力する。オアゲート9およびインバータ10、11はCPUが他のデバイスを指示する信号を出力した時リセット信号・/Rを生成し許可・不許可レジスタ6へ出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CPU(Central Processing Unit)の暴走や誤動作時におけるメモリへの誤書込を防止する誤書込防止回路に関する。
【背景技術】
【0002】
従来、メモリの書込許可/不許可の制御は、CPUが書込許可レジスタを設定することにより行われていた。しかし、このような制御は、CPUがアドレスをインクリメントしながら書き込みを行うような暴走をした時は役に立たず、誤書込が発生する問題がある。また、CPUが書き込みを許可状態とした後で暴走した場合も誤書込が発生してしまう。
他方、特許文献1には、誤書込を防止するための情報書き込み方法が記載されている。この方法は、同じ情報を複数回送出し、書き込み前に複数の情報を照合して一致した場合に書き込むという方法であり、構成が複雑になる欠点がある。
【特許文献1】特開2002-63079号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は上記事情を考慮してなされたもので、その目的は、簡単な構成で誤書込の発生を減らすことができる誤書込防止回路を提供することにある。
【課題を解決するための手段】
【0004】
この発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、CPUによって書込/読出が行われる記憶手段の誤書込を防止する誤書込防止回路において、前記CPUから出力される書込信号を開状態の時通過させ、閉状態の時不通過とするゲート回路と、前記ゲート回路の開閉を制御する制御信号を出力する許可・不許可レジスタと、前記CPUが前記記憶手段にアクセスする時出力される信号に基づいてセット信号を生成し、前記許可・不許可レジスタへ出力する第1の回路と、前記CPUが他のデバイスを指示する信号を出力した時リセット信号を生成し前記許可・不許可レジスタへ出力する第2の回路とを具備することを特徴とする誤書込防止回路である。
【0005】
請求項2に記載の発明は、請求項1に記載の誤書込防止回路において、前記他のデバイスは、前記記憶手段、ワークメモリおよびプログラムメモリ以外のデバイスであることを特徴とする。
【発明の効果】
【0006】
この発明によれば、簡単な構成で、CPUの誤動作や暴走によるメモリの誤書込を防止し、あるいは減らすことができる効果が得られる。
【発明を実施するための最良の形態】
【0007】
以下、図面を参照し、この発明の実施の形態について説明する。図1はこの発明の一実施の形態による誤書込防止回路の構成を示す回路図であり、この図において、符号1は誤書込防止回路、2は誤書込防止回路1によって書き込みが制御される不揮発性メモリ(Non volatile memory)である。なお、本実施の形態において、全ての信号は負論理である。
【0008】
誤書込防止回路1において、符号3は2入力オアゲートであり、外部のCPU(中央処理装置)から出力されるWRITE信号・/WRをゲート制御信号・/WRCに応じて制御する。すなわち、ゲート制御信号・/WRCが”0”の時はWRTTE信号・/WRを通過させ、これにより、WRITE信号・/WRが不揮発性メモリ2のライトエネーブル端子/WEへ加えられる。一方、ゲート制御信号・/WRCが”1”の時はWRTTE信号・/WRを遮断する。
【0009】
4および5はそれぞれ2入力および3入力のナンドゲートであり、ナンドゲート4の出力端がナンドゲート5の第1入力端に接続され、ナンドゲート5の出力端がナンドゲート4の第2入力端に接続されてセット−リセットフリップフロップが構成されている。そして、このフリップフロップによって1ビットの許可・不許可レジスタ6が構成されている。この許可・不許可レジスタ6は、セット信号・/Sによってセットされ、ゲート制御信号・/WRCとして”0”を出力し、これにより、不揮発性メモリ2の書き込みを許可する。また、リセット信号・/Rによってりセットされ、ゲート制御信号・/WRCとして”1”を出力し、不揮発性メモリ2の書き込みを不許可とする。
【0010】
8は2入力オアゲートであり、第1入力端へアクセス制御信号・/IOCSが、第2入力端へレジスタセット信号・/NVENCSがそれぞれ供給され、許可・不許可レジスタ6のセット信号・/Sをナンドゲート4の第1入力端へ出力する。9は3入力オアゲートであり、第1入力端へアクセス制御信号・/IOCSが、第2入力端へレジスタセット信号・/NVENCSをインバータ10によって反転した信号が、第3入力端へチップセレクト信号・/NVCSをインバータ11によって反転した信号がそれぞれ供給され、許可・不許可レジスタ6のリセット信号・/Rをナンドゲート5の第2入力端へ出力する。また、チップセレクト信号・/NVCSは上述したインバータ11へ加えられると共に、不揮発性メモリ2のチップエネーブル端子/CEへ加えられる。また、システムリセット信号・/RESETはナンドゲート5の第3入力端へ入力されると共に、不揮発性メモリ2のリセット端子/RESETへ入力される。
【0011】
次に、誤書込防止回路1に入力される各信号について説明する。なお、各信号はいずれも負論理である。
(1)WRITE信号・/WR
CPUから不揮発性メモリ2へ出力されるのWRITE(書き込み)信号であり、オアゲート3を介して不揮発性メモリ2のライトエネーブル端子/WEへ加えられる。
【0012】
(2)アクセス制御信号・/IOCS
CPUが不揮発性メモリ2へアクセスする時、および、ワークRAMおよびプログラムROMを除くその他のデバイスへアクセスする時”0”となる信号である。
CPUが、不揮発性メモリ2およびワークRAMおよびプログラムROMを除くその他のデバイスへアクセスする時、このアクセス制御信号・/IOCSが”0”となり、これにより、許可・不許可レジスタ6がリセットされ、オアゲート3が閉となって書き込みが禁止される。ここで、ワークRAMおよびプログラムROMのアクセス時においてこのアクセス制御信号・/IOCSを”0”としない理由は、インストラクションフェッチのためのプログラムROMのアクセスや、スタックのためのワークRAMのアクセス時において不揮発性メモリ2の書き込みを不許可状態としないためである。
【0013】
(3)チップセレクト信号・/NVCS
CPUから不揮発性メモリ2のチップエネーブル端子/CEへ出力される信号であり、不揮発性メモリ2の書込/読出時において”0”となる。図2に上述したアクセス制御信号・/IOCSおよびこのチップセレクト信号・/NVCSと、指定エリアとの関係を示す。
(4)レジスタセット信号・/NVENCS
不揮発性メモリ2の書込許可/不許可を制御する許可・不許可レジスタ6を許可状態とするための信号である。この信号は誤書込防止回路1の内部で生成される信号であり、例えば図3に示すように、アクセス制御信号・/IOCS、チップセレクト信号・/NVCSおよびメモリエリアを指示するデータAからデコーダDによって生成される。
(5)システムリセット信号・/RESET
電源投入時等に出力されるシステムリセット信号である。
【0014】
次に、上述した実施形態の動作を図4に示すタイミングチャートを参照して説明する。
まず、図4のタイミング0において、システムリセット信号・/RESETが出力されると、許可・不許可レジスタ6がリセットされ、ゲート制御信号・/WRCが”1”(書込不許可)となる。次に、タイミング2において、アクセス制御信号・/IOCSおよびチップセレクト信号・/NVCSを”0”として、WRITE信号・/WRを”0”(書込)としても、この時、許可・不許可レジスタ6がセットされておらず、ゲート制御信号・/WRCが”1”であることから、オアゲート3が閉状態にあり、WRITE信号・/WR”0”が不揮発性メモリ2へ加えられることはない。
【0015】
次に、タイミング4において、アクセス制御信号・/IOCSおよびレジスタセット信号・/NVENCSが”0”になると、オアゲート8から出力されるセット信号・/Sが”0”となって許可・不許可レジスタ6がセットされ、ゲート制御信号・/WRCが”0”となり(図4(ト)参照)、オアゲート3が開状態となる。したがって、このタイミング4において同時にWRITE信号・/WRを”0”とすると、この”0”がオアゲート3を介して不揮発性メモリ2の書込端子/WEへ加えられる(図4(ヘ)参照)。しかし、この時、チップセレクト信号・/NVCSが”1”であので、不揮発性メモリ2の書き込みは行われない。
【0016】
次に、タイミング6において、アクセス制御信号・/IOCS、チップセレクト信号・/NVCSおよびWRITE信号・/WRが”0”になると、この時、ゲート制御信号・/WRCが”0”であることから、WRITE信号・/WR”0”がオアゲート3を介して不揮発性メモリ2の書込端子/WEへ加えられ、不揮発性メモリ2の書き込みが行われる。
【0017】
次に、タイミング8において、レジスタセット信号・/NVENCS、チップセレクト信号・/NVCSが共に”1”の状態において、アクセス制御信号・/IOCSが”0”になると、オアゲート9の出力信号であるリセット信号・/Rが”0”となり、許可・不許可レジスタ6がリセットされ、ゲート制御信号・/WRCが”1”となる。この結果、オアゲート3が閉となり、WRITE信号・/WRが”0”となっても、このWRITE信号・/WR”0”が不揮発性メモリ2へ加えられることはなく、書き込みは行われない。次に、タイミング10において、アクセス制御信号・/IOCS、チップセレクト信号・/NVCS、WRITE信号・/WRが共に”0”となっても、この時、許可・不許可レジスタ6がリセットされており、オアゲート3が閉状態にあり、不揮発性メモリ2の書き込みは行われない。
【0018】
このように、上記実施形態においては、許可・不許可レジスタ6がセットされた状態においてチップセレクト信号・/NVCSおよびWRITE信号・/WRが共に”0”となると、不揮発性メモリ2の書き込みが行われる(タイミング6)。しかし、チップセレクト信号・/NVCSおよびレジスタセット信号・/NVENCSが”1”の状態において、CPUのアクセスがその他のデバイスへ移り、アクセス制御信号・/IOCSが”0”になると、許可・不許可レジスタ6がリセットされる。この結果、ゲート制御信号・/WRCが”1”となり、以後、WRITE信号・/WRが”0”となっても不揮発性メモリ2の書き込みは行われない(タイミング8)。これにより、CPUの暴走時における誤書き込みを防止することができる。
【産業上の利用可能性】
【0019】
この発明は、主に、携帯電話等の不揮発性メモリを内蔵する電子機器に用いられる。
【図面の簡単な説明】
【0020】
【図1】この発明の一実施形態による誤書込防止回路の構成を示すブロック図である。
【図2】同実施形態における信号/IOCS、/NVCSと指定エリアの関係を示す図である。
【図3】同実施形態における信号/NVENCSの形成回路を示す図である。
【図4】同実施形態の動作を説明するためのタイミングチャートである。
【符号の説明】
【0021】
1…誤書込防止回路、2…不揮発性メモリ、3、8、9…オアゲート、4、5…ナンドゲート、6…許可・不許可レジスタ、10、11…インバータ。

【特許請求の範囲】
【請求項1】
CPUによって書込/読出が行われる記憶手段の誤書込を防止する誤書込防止回路において、
前記CPUから出力される書込信号を開状態の時通過させ、閉状態の時不通過とするゲート回路と、
前記ゲート回路の開閉を制御する制御信号を出力する許可・不許可レジスタと、
前記CPUが前記記憶手段にアクセスする時出力される信号に基づいてセット信号を生成し、前記許可・不許可レジスタへ出力する第1の回路と、
前記CPUが他のデバイスを指示する信号を出力した時リセット信号を生成し前記許可・不許可レジスタへ出力する第2の回路と、
を具備することを特徴とする誤書込防止回路。
【請求項2】
前記他のデバイスは、前記記憶手段、ワークメモリおよびプログラムメモリ以外のデバイスであることを特徴とする請求項1に記載の誤書込防止回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2006−85450(P2006−85450A)
【公開日】平成18年3月30日(2006.3.30)
【国際特許分類】
【出願番号】特願2004−269769(P2004−269769)
【出願日】平成16年9月16日(2004.9.16)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】