JP4662019B2 - 集積回路装置及び電子機器 - Google Patents

集積回路装置及び電子機器 Download PDF

Info

Publication number
JP4662019B2
JP4662019B2 JP2004180950A JP2004180950A JP4662019B2 JP 4662019 B2 JP4662019 B2 JP 4662019B2 JP 2004180950 A JP2004180950 A JP 2004180950A JP 2004180950 A JP2004180950 A JP 2004180950A JP 4662019 B2 JP4662019 B2 JP 4662019B2
Authority
JP
Japan
Prior art keywords
timer
clock
processor
active
output
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.)
Expired - Fee Related
Application number
JP2004180950A
Other languages
English (en)
Other versions
JP2006004245A (ja
Inventor
宏三 菱沼
謙一 橋元
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004180950A priority Critical patent/JP4662019B2/ja
Publication of JP2006004245A publication Critical patent/JP2006004245A/ja
Application granted granted Critical
Publication of JP4662019B2 publication Critical patent/JP4662019B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本発明は、集積回路装置及び電子機器に関する。
システムクロックに基づいて、あらかじめレジスタに格納された値に対してカウント処理をすることで、不揮発性メモリの書き込み時間を計測するタイマが知られている(特許文献1参照)。ところが、システムクロックが変わってしまう場合や複数のクロックを基準クロックとして利用するシステムの場合では、書き込み時間を正確に計測できない問題があった。また、不揮発性メモリに書き込みを行っている最中に、スリープ命令などのシステムクロックを停止させるような命令が出力された場合、不揮発性メモリの制御回路が書き込み動作の状態で停止してしまい、不揮発性メモリに電流が流れ続ける問題が生じた。
特開平1−199395号公報
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、源振のクロック周波数に応じて一定の書き込み又は消去時間を確保し、不揮発性メモリの書き込み又は消去動作を安全に行い、不揮発性メモリを保護する集積回路装置を提供することにある。
本発明は、不揮発性メモリの書き込み時間又は消去時間を設定するタイマと、前記タイマに供給するクロックを生成するクロック生成回路と、命令を実行するプロセッサと、前記プロセッサからの要求信号に基づいて集積回路装置のモード設定を行うモード設定回路と、を含み、前記タイマは、前記プロセッサから出力される前記不揮発性メモリの書き込み信号がアクティブに設定されると、前記不揮発性メモリの書き込み中又は消去中であることを示すタイマ出力信号を所定の期間中、アクティブに設定し、前記プロセッサは、前記プロセッサをスリープ状態に設定する場合、前記モード設定回路に出力するスリープ要求信号をアクティブに設定し、前記モード設定回路は、前記プロセッサから出力される前記スリープ要求信号と、前記タイマから出力される前記タイマ出力信号とを受け、前記スリープ要求信号がアクティブに設定された場合であっても前記タイマ出力信号がアクティブに設定されている間は、前記プロセッサをスリープ状態に設定するスリープ信号をノンアクティブに設定する集積回路装置に関係する。
本発明によれば、不揮発性メモリが書き込み又は消去動作中である場合には、プロセッサからスリープ要求信号がアクティブに設定されても、ノンアクティブなスリープ信号をプロセッサに供給することができる。これにより、不揮発性メモリが書き込み又は消去動作中である場合に、プロセッサがスリープ状態に設定されることを防止でき、不揮発性メモリの保護が可能である。
本発明は、不揮発性メモリの書き込み時間又は消去時間を設定するタイマと、前記タイマに供給するクロックを生成するクロック生成回路と、命令を実行するプロセッサと、前記プロセッサからの要求信号に基づいて集積回路装置のモード設定を行うモード設定回路と、を含み、前記タイマは、前記プロセッサから出力される前記不揮発性メモリの書き込み信号がアクティブに設定されると、前記不揮発性メモリの書き込み中又は消去中であることを示すタイマ出力信号を所定の期間中、アクティブに設定し、前記プロセッサは、前記不揮発性メモリに接続されるバスを解放する場合、前記モード設定回路に出力するバス解放要求信号をアクティブに設定し、前記モード設定回路は、前記プロセッサから出力される前記バス解放要求信号と、前記タイマから出力される前記タイマ出力信号と、を受け、前記バス解放要求信号がアクティブに設定された場合であっても前記タイマ出力信号がアクティブに設定されている間は、前記不揮発性メモリに接続されるバスを解放するバス解放信号をノンアクティブに設定する集積回路装置に関係する。
本発明によれば、不揮発性メモリが書き込み又は消去動作中である場合には、プロセッサからバス解放要求信号がアクティブに設定されても、ノンアクティブなバス解放信号を不揮発性メモリが接続されるバスに供給することができる。これにより、不揮発性メモリが書き込み又は消去動作中である場合に、バスが解放されることを防止でき、不揮発性メモリの保護が可能である。
また、本発明に係る前記タイマは、タイマ設定レジスタと、カウンタを含み、前記タイマ設定レジスタには、書き込み時間又は消去時間を設定するためのタイマ設定カウント値が格納され、前記カウンタは、前記プロセッサからの書き込み信号がアクティブに設定されると、前記クロック生成回路から出力されるクロックのパルスに応じてパルス数をカウントし、カウントされたカウント値が前記タイマ設定カウント値と一致した場合、前記タイマ出力信号をノンアクティブに設定し、カウント値を初期値にリセットするようにしてもよい。
これにより、クロック生成回路からの出力クロックに応じたタイマ設定カウント値を設定できる。また、ファームウェア等によるソフトウェア処理によってタイマ設定カウント値を制御することができる。
また、本発明に係る前記クロック生成回路は、低周波数の第1のクロックと前記第1のクロックよりも高周波数の第2のクロックを受け、入力されたクロックのいずれかを選択出力するクロックセレクタと、前記クロックセレクタの出力クロックの周波数を調整するプリスケーラと、を含み、前記プリスケーラは、前記クロックセレクタの出力クロックの周波数の高低に依存せず、所与の周波数の範囲のクロックを前記タイマに出力するようにしてもよい。
本発明によれば、複数の源振を切り替えることができ、クロック生成回路から出力される周波数を所与の周波数の範囲に設定することができる。これにより、タイマには所与の周波数の範囲に設定されたクロックが供給されるので、本発明の集積回路装置は様々な源振に対して一定の書き込み又は消去時間を確保することができる。
本発明は、不揮発性メモリの書き込み時間又は消去時間を設定するタイマと、前記タイマに供給するクロックを生成するクロック生成回路と、命令を実行するプロセッサと、所定の値までカウントした後に前記プロセッサ及び前記タイマを初期化するリセット信号をアクティブに設定するウォッチドッグタイマと、を含み、前記タイマは、前記プロセッサから出力される不揮発性メモリの書き込み信号がアクティブに設定されると、前記不揮発性メモリが書き込み中又は消去中であることを示すタイマ出力信号を所定の期間中、アクティブに設定し、前記ウォッチドッグタイマは、前記プロセッサから前記ウォッチドッグタイマのカウント値を初期化するウォッチドッグタイマリセット信号を受け、前記ウォッチドッグタイマリセット信号がアクティブに設定された場合、前記ウォッチドッグタイマのカウント値を初期化して、初期値からカウントを始め、前記所定の値までカウントする間に前記ウォッチドッグタイマリセット信号がアクティブに設定されない場合は、前記リセット信号をアクティブに設定し、前記タイマを初期化する集積回路装置に関係する。
本発明によれば、例えばプロセッサ等が暴走した場合、プロセッサは、ウォッチドッグタイマを初期化することができなくなり、その結果、ウォッチドッグタイマがリセット信号をアクティブに設定する。これにより、プロセッサは初期化される。即ち、本発明の集積回路装置は、プロセッサ等の暴走を検知することができるので、不揮発性メモリの書き込み又は消去動作中にプロセッサ等が暴走しても、プロセッサ等を初期化することができる。これにより、プロセッサ等が暴走した場合に不揮発性メモリに電流が長時間流れ続けるような不具合を解消することができる。
また、本発明に係る前記ウォッチドッグタイマは、前記リセット信号を前記不揮発性メモリに出力するようにしてもよい。これにより、プロセッサ等が暴走した場合、不揮発性メモリを初期化することができるので、プロセッサ等が暴走した場合に不揮発性メモリに電流が長時間流れ続けるような不具合を解消することができる
また、本発明は、前記プロセッサの命令に基づいてプロセッサのモードを設定するモード設定回路をさらに含み、前記モード設定回路は、前記タイマから出力される前記タイマ出力信号を受け、前記プロセッサの命令及び前記タイマ出力信号に基づいてプロセッサのモードを設定するようにしてもよい。
これにより、モード設定回路は、不揮発性メモリの書き込み又は消去動作中を判断してモード設定回路の出力を設定することができる。
また、本発明に係る前記プロセッサは、前記プロセッサをスリープ状態に設定する場合、前記モード設定回路に出力するスリープ要求信号をアクティブに設定し、前記モード設定回路は、前記プロセッサから出力される前記スリープ要求信号と、前記タイマから出力される前記タイマ出力信号と、を受け、前記スリープ要求信号がアクティブに設定された場合であっても前記タイマ出力信号がアクティブに設定されている間は、前記プロセッサをスリープ状態に設定するスリープ信号をノンアクティブに設定するようにしてもよい。
また、本発明に係る前記プロセッサは、前記不揮発性メモリに接続されるバスを解放する場合、前記モード設定回路に出力するバス解放要求信号をアクティブに設定し、前記モード設定回路は、前記プロセッサから出力される前記バス解放要求信号と、前記タイマから出力される前記タイマ出力信号と、を受け、前記バス解放要求信号がアクティブに設定された場合であっても前記タイマ出力信号がアクティブに設定されている間は、前記不揮発性メモリに接続されるバスを解放するバス解放信号をノンアクティブに設定するようにしてもよい。
また、本発明に係る前記クロック生成回路は、前記クロックセレクタの出力クロックの周波数を調整するプリスケーラをさらに含み、前記プリスケーラは、前記クロックセレクタの出力クロックの周波数の高低に依存せず、所与の周波数の範囲のクロックを前記タイマに出力するようにしてもよい。
本発明は、上記の集積回路装置を含む電子機器に関係する。
以下、本発明の一実施形態について、図面を参照して説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
1.集積回路装置
図1は、集積回路装置(以下、マイクロコンピュータとも言う)1000は、プロセッサ100、クロック生成回路200、タイマ300、不揮発性メモリ400、モード設定回路500、ウォッチドッグタイマ600及びラッチ回路700を含むが、これに限定されない。例えば、集積回路装置1000は、プロセッサ100、不揮発性メモリ400、ラッチ回路700が省略される構成でもよい。また、不揮発性メモリ400は、集積回路装置1000の外に設けられてもよい。なお、以下の図において同符号のものは同様の意味を表す。
集積回路装置1000には例えばRESET端子RSPが設けられている。RESET端子RSPにアクティブなリセット信号RST1が入力されると、入力されたリセット信号RST1は論理回路ORを経由し、アクティブなリセット信号RST3として出力される。
プロセッサ100は、ウォッチドッグタイマ600を初期化するためのウォッチドッグタイマリセット信号WDTRをウォッチドッグタイマ600に出力する。ウォッチドッグタイマ600は、プロセッサ100、タイマ300、不揮発性メモリ400及びラッチ回路700を初期化するためのリセット信号RST2を論理回路ORに出力する。ウォッチドッグタイマ600は、カウンタを含み、ウォッチドッグタイマ600のカウンタがオーバーフローまたはアンダーフローを検出すると、ウォッチドッグタイマ600はリセット信号RST2をアクティブに設定する。論理回路ORは、リセット信号RST1又はRST2の少なくとも一方がアクティブに設定された場合、アクティブなリセット信号RST3をプロセッサ100、タイマ300、不揮発性メモリ400及びラッチ回路700に出力する。他の態様として、リセット信号RST3を例えばプロセッサ100に供給しない構成でもよい。
プロセッサ100は、例えば不揮発性メモリ400にデータの書き込みを行う場合、書き込み信号WRSをタイマ300、不揮発性メモリ400及びラッチ回路700に出力する。また、不揮発性メモリ400のデータを消去する場合は、図示されないが消去信号を書き込み信号WRSと同様にタイマ300、不揮発性メモリ400及びラッチ回路700に出力する。
クロック生成回路200は、入力される複数のクロックからいずれかを選択するクロックセレクタ210と、クロックセレクタ210から出力されるクロックを調整するプリスケーラ220を含む。クロック生成回路200は、クロックCLK3をタイマ300に供給する。
タイマ300は、タイマ設定レジスタ310及びカウンタ320を含む。タイマ300は、プロセッサ100からの書き込み信号WRSがアクティブに設定されると、クロックCLK3に基づいて、クロックCLK3のパルス数をカウントし、カウント値に基づいてタイマ出力信号TOSをモード設定回路500に出力する。具体的には、タイマ300は、タイマ300のカウント値が所定の値に到達するまでは、タイマ出力信号TOSをアクティブ(例えばハイレベルの信号)に設定し、タイマ300のカウント値が所定の値に到達すると、タイマ出力信号TOSをノンアクティブ(例えばローレベルの信号)に設定する。また、タイマ300は、タイマ300のカウント値が所定の値に到達すると、書き込み終了信号WENDを不揮発性メモリ400に出力する。
タイマ300によって、プロセッサ100からの書き込み信号WRSがアクティブに設定されてから所定の期間を検出し、所定の期間の終了を不揮発性メモリ400に知らせることができる。
不揮発性メモリ400にデータを書き込む際に、プロセッサ100は、アドレス情報とデータをラッチ回路700に出力する。ラッチ回路700は、プロセッサ100からのアドレス情報とデータをラッチし、例えば、プロセッサ100からの書き込み信号WRSがアクティブに設定されている場合、不揮発性メモリ400にアドレス情報とデータを出力する。不揮発性メモリ400にデータを書き込むためには所定の期間が必要である。本実施形態ではラッチ回路700の働きによって、一時的にアドレス情報とデータをラッチできるので、プロセッサ100は、不揮発性メモリ400にデータを書き込むために要する書き込み時間を他の処理に利用できる。他の構成として、ラッチ回路700は、例えば書き込み信号WRSがノンアクティブであっても不揮発性メモリ400にアドレス情報とデータを出力するような構成でもよい。
不揮発性メモリ400は、プロセッサ100からの書き込み信号WRSがアクティブに設定されている場合、ラッチ回路700からのアドレス情報に基づいて、ラッチ回路700からのデータを書き込む。
また、プロセッサ100は、スリープ要求信号SLPRとバス解放要求信号BORをモード設定回路500に出力するが、これに限定されない。例えば、プロセッサ100は、スリープ要求信号SLPRまたはバス解放要求信号BORをモード設定回路500に出力しないようにしてもよい。
プロセッサ100をスリープ状態に設定したい場合、プロセッサ100はスリープ要求信号SLPRをアクティブに設定する。また、プロセッサ100は、不揮発性メモリ400にデータを書き込むときに例えば不揮発性メモリ400に接続されているバスを占有する。このバスを解放する場合には、プロセッサ100はバス解放要求信号BORをアクティブに設定する。
モード設定回路500は、論理回路AND1、AND2を含み、論理回路AND1には例えばスリープ要求信号SLPRが入力され、論理回路AND2には例えばバス開放要求信号BORが入力される。また、論理回路AND1、AND2には例えばタイマ出力信号TOSの反転信号が入力される。モード設定回路500は、スリープ要求信号SLPRがアクティブに設定され、且つ、タイマ300のタイマ出力信号TOSがノンアクティブに設定された場合に、モード設定回路500から出力されるスリープ信号SLPをアクティブに設定する。なお、モード設定回路500は、論理回路AND1、AND2の代わり他の論理回路で構成されてもよい。例えば、NANDや、NOR等の論理回路で代用が可能である。
同様に、モード設定回路500は、バス解放要求信号BORがアクティブに設定され、且つ、タイマ300のタイマ出力信号TOSがノンアクティブに設定された場合に、モード設定回路500から出力されるバス解放信号BOをアクティブに設定する。
図2は、図1のクロック生成回路200を示すブロック図である。クロックセレクタ210には、低周波数のクロックCLK1(広義には低周波数の第1のクロック)、クロックCLKよりも周波数の高いクロックCLK2(広義には高周波数の第2のクロック)及び図1の集積回路装置1000の外側から入力されるクロックCLK3が入力される。クロックセレクタ210は、クロックCLK1〜CLK3のいずれかを選択し、後段のプリスケーラ220に選択したクロックを出力する。プリスケーラ220は、クロックセレクタ210の出力クロックの周波数を調整し、調整されたクロックをタイマ300に出力する。
具体的には、クロックCLK1(例えば周波数が32KH)がクロックセレクタ210に選択された場合、プリスケーラ220は、クロックCLK1を例えば1/2に分周し、周波数が16KHzのクロックをタイマ300に出力する。また、クロックCLK2(例えば周波数が4MHz)がクロックセレクタ210に選択された場合、プリスケーラ220は、クロックCLK2を例えば1/256に分周し、周波数が約16KHzのクロックをタイマ300に出力する。
プリスケーラ220によって、上述のように例えば16KHzのクロック又は約16KHzのクロックがタイマ300に供給される。即ち、タイマ300には一定の周波数の範囲(所与の周波数の範囲のクロック)のクロックが供給される。これにより、クロック生成回路200は、クロックセレクタ210によって選択されたクロックの周波数に依存せず、タイマ300に適応した周波数のクロックを供給できる。
2.タイマ
図3は、図1のタイマ300を説明するために集積回路装置1000の一部を示すブロック図である。タイマ300は、プロセッサ100からアクティブな書き込み信号WRSを受けると、クロック生成回路200からクロックCLK3のパルスのカウントを開始する。タイマ300は、カウントを開始すると、タイマ出力信号TOSをアクティブ(例えばハイレベル)に設定する。
タイマ設定レジスタ310には、タイマ設定カウント値CNT1が格納されている。タイマ設定カウント値CNTは、例えば、集積回路装置100が起動した後に、ファームウェア等によって所定の値がタイマ設定レジスタ310に書き込まれる。
タイマ300がカウントを開始すると、タイマ300のカウンタ320は例えばタイマ設定レジスタ310からタイマ設定カウント値CNT1をロードする。カウンタ320は、クロック生成回路200からのクロックCLK3のパルスの立ち上がりに応じて、ロードされたタイマ設定カウント値CNT1をデクリメント(またはカウントダウンとも言う)する。カウンタ320は、クロックCLK3のパルスの立ち下り(または立ち上がりでもよい)を検出する毎に、タイマ設定カウント値CNT1をデクリメントし、カウンタ320のカウント値が0のとき、0のカウント値がデクリメントされると、カウンタ320がアンダーフロー(またはオーバーフロー)信号を出力する。タイマ300は、カウンタ320がアンダーフロー信号を出力すると、タイマ出力信号TOSをノンアクティブ(例えばローレベル)に設定し、不揮発性メモリ400には、書き込み終了信号WEND(例えばパルス)を出力する。
本実施形態では、クロックCLK3は所与の周波数の範囲に設定され、例えば周波数がおよそ16KHzであるクロックCLK3がタイマ300に供給される。タイマ設定レジスタ310に格納されるタイマ設定カウント値CNT1を、クロックCLK3の周波数に基づいて設定することで、所望の時間を検出できる。例えば、タイマ300が、16KHzのクロックに対して、クロックのパルスを256個カウントした後に書き込み終了信号WENDを出力した場合、カウントが開始されてからおよそ2.5ms後に書き込み信号WENDが出力されることになる。つまり、パルスのカウント数を決定するタイマ設定カウント値CNT1を調整することで、所望の時間を検出できる。また、ファームウェア等で、クロックCLK3の周波数に基づいてタイマ設定カウント値CNT1を調整しタイマ設定レジスタ310に格納すれば、所望の時間を一定に獲得することができる。即ち、クロックCLK3の周波数に応じてプログラマブルにタイマ設定カウント値を調整できるので、クロックCLK3がさまざまな周波数の場合にも、一定の時間(書き込み時間または消去時間、例えば2.5ms)を検出することができる。なお、パルスを256個カウントする場合は、タイマ300のカウンタ320に例えば8ビットカウンタを用いればよい。
タイマ300は、不揮発性メモリ400の書き込み時間(または消去時間)を一定に確保するために、クロックCLK3をカウントし、書き込み信号WRSがアクティブに設定されてから一定の期間(例えば2.5ms)経過した後に書き込み終了信号WENDを不揮発性メモリ400に出力し、書き込み信号WRSがアクティブに設定されてから一定の期間(例えば2.5ms)、タイマ出力信号TOSをアクティブに設定する。
また、図1の論理回路ORからのリセット信号RST3がアクティブに設定されると、タイマ300は、カウンタ320のカウント値を初期化するがこれに限定されない。例えば、カウンタ320のカウント値だけでなく、タイマ設定レジスタ310を初期化するようにしてもよい。
なお、図3の構成は、説明の簡略化のため、図1に記載された構成の一部が省略されている。
3.ウォッチドッグタイマ
図4はウォッチドッグタイマ600を説明するために図1の集積回路装置1000の一部を示すブロック図である。ウォッチドッグタイマ600はカウントレジスタ610及びカウンタ620を含む。例えばファームウェア等によって、所定のウォッチドッグタイマ用カウント値CNT2が設定され、ウォッチドッグタイマ用カウント値CNT2はカウントレジスタ610に格納される。ウォッチドッグタイマ600のカウンタ620は、例えばカウントレジスタ610からウォッチドッグタイマ用カウント値をロードし、クロックCLK1に基づいて、ウォッチドッグタイマ用カウント値CNT2をデクリメント(広義にはカウント処理)する。ウォッチドッグタイマ600のカウンタ620は、クロックCLK1のパルスが入力される毎にウォッチドッグタイマ用カウント値CNT2をデクリメントし、カウンタ620によるアンダーフローを検出すると、リセット信号RST2をアクティブに設定し、カウンタ620を初期化する。
プロセッサ100は、定期的にウォッチドッグタイマ600を初期化するために、アクティブなウォッチドッグタイマリセット信号WDTRを出力する。アクティブなウォッチドッグタイマリセット信号WDTRは、ウォッチドッグタイマ600がカウント処理を開始してからアンダーフロー(またはオーバーフロー)を検出するまでの期間よりも短い周期でプロセッサ100から出力される。これにより、プロセッサ100が正常に動作している場合は、ウォッチドッグタイマ600のカウンタ620がアンダーフロー(またはオーバーフロー)を検出する前にカウンタ620が初期化され、初期値(例えばウォッチドッグタイマ用カウント値CNT2)からカウントを開始するため、リセット信号RST2はノンアクティブな状態に維持される。ところが、プロセッサ100が暴走等により、ウォッチドッグタイマリセット信号WDTRをアクティブに設定しなくなると、ウォッチドッグタイマ600のカウンタ620はアンダーフロー(またはオーバーフロー)を検出し、アクティブなリセット信号RST2を出力するため、プロセッサ100等が初期化される。
即ち、ウォッチドッグタイマ600は、プロセッサ100が暴走した場合を検知でき、プロセッサ100の暴走を検知した場合は、プロセッサ100を初期化することができる。
4.動作
図5は、タイマ300、ウォッチドッグタイマ600の動作を示すタイミングチャートである。例えばA1に示されるように、リセット信号RST3がアクティブに設定されると、タイマ300のカウンタ320はタイマ設定レジスタ310からタイマ設定カウント値CNT1をロードする。不揮発性メモリ400にデータの書き込み(または消去)が行われる場合、A2に示されるように書き込み信号WRS(または消去信号)がアクティブに設定される。これによりタイマ300はアクティブな書き込み信号WRSを受け、カウンタ320のカウント処理(例えばカウント値CNT1のデクリメント)を開始しA3にしめされるようにタイマ出力信号TOSをアクティブ(例えばハイレベル)に設定する。
カウンタ320は、タイマ設定カウント値CNT1をデクリメントし、アンダーフローを検出すると、A4で示されるように書き込み終了信号WENDをアクティブに設定し、A5に示されるようにタイマ設定レジスタ310からタイマ設定カウント値CNT1をロードする。
書き込み終了信号WENDがアクティブに設定されると、A6に示されるようにタイマ出力信号TOSはノンアクティブ(例えばローレベル)に設定される。このような動作により、不揮発性メモリ400に書き込み(または消去)が開始されてから書き込み(または消去)が終了するまでの期間(A7参照)が設定される。クロックCLK3の周波数に基づいて、タイマ設定カウント値CNT1を設定するため、常に一定の期間(例えば、2.5ms、A7参照)を設定できる。
不揮発性メモリ400に書き込みを行っている期間にアクティブなスリープ要求信号SLPRがプロセッサ100から出力された場合、タイマ出力信号TOSがアクティブに設定されているので、モード設定回路500はスリープ信号SLPをアクティブに設定せず、ノンアクティブのままを維持する。例えばA8で示されるようなタイミングでスリープ要求信号SLPRがアクティブに設定された場合、タイマ出力信号TOSがノンアクティブになるまで、モード設定回路500の働きによりスリープ信号SLPはアクティブに設定されない。A6に示されるようにタイマ出力信号TOSがノンアクティブに設定されると、モード設定回路500は、A9に示されるタイミングでスリープ信号をアクティブに設定する。
また、プロセッサ100の暴走等により一定の期間以上ウォッチドッグタイマリセット信号WDTRがアクティブに設定されない場合、ウォッチドッグタイマ600は例えばアンダーフロー(またはオーバーフロー)を検出し、A10に示されるようにリセット信号RST2をアクティブに設定する。これにより、論理回路ORはA11に示されるようにアクティブなリセット信号RST3を出力する。このアクティブに設定されたリセット信号RST3を受けたタイマ300は初期化され、初期化されたタイマ300は例えばA12に示されるタイミングでタイマ出力信号TOSをノンアクティブに設定する。これにより、プロセッサ100の暴走等によってタイマ300の動作が不安定になった場合にも、タイマ300を初期化でき、タイマ出力信号TOSをノンアクティブに設定することができる。
上記では、スリープ要求信号SLPRについて記載されているが、バス開放要求信号BORについても同様の動作が行われる。また、本実施形態では、一例として、ウォッチドッグタイマ600のカウント処理はカウント値のデクリメントで行われているが、これに限定されない。例えば、ウォッチドッグタイマ600はカウント値をインクリメントしていき、インクリメントされたカウント値とカウント値CNT2との一致検出によってリセット信号RST2を制御するようにしてもよい。
5.比較例
図6は、比較例の集積回路装置(マイクロコンピュータ)1001の構成を示すブロック図である。集積回路装置1001は、クロック生成回路201、プロセッサ101及び不揮発性メモリ401を含むが、これに限定されない。例えば、集積回路装置1001は、不揮発性メモリ401を含まない構成でもよい。クロック生成回路201は、クロックCLK1、CLK2を受け、クロックCLK1、CLK2の一方を選択し、プロセッサ101に供給する。プロセッサ101は、データを不揮発性メモリ401に書き込む場合、書き込み信号を不揮発性メモリ401に出力する。不揮発性メモリ401は、データ書き込みの際に所定の書き込み時間を必要とする。そのため、プロセッサ101は、クロック生成回路201からのクロックに基づいて一定の期間不揮発性メモリ401にデータ書き込みを行うように書き込み信号を制御する。
ところが、クロックCLK1、CLK2が想定以外の周波数であった場合などでは、不揮発性メモリ401に必要な書き込み時間を正確に確保できない場合がある。この場合、データを正確に書き込めない不具合が発生する。そのため、クロックCLK1、CLK2の周波数は、集積回路装置1001の設計段階で、使用可能範囲が制限される。
これに対して、本発明の集積回路装置1000は、クロックCLK1、CLK2の周波数がさまざまな値であっても、正確に不揮発性メモリ400が必要とする書き込み時間(または消去時間)を確保することができる。このため、応用範囲が広がり、不揮発性メモリ400のデータ書き込みが正確に行え、集積回路装置の製品精度を高めることができる。
また、比較例の集積回路装置1001は、不揮発性メモリ401に書き込み(または消去)動作中にスリープ命令などによってクロックが停止された場合、不揮発性メモリ401に電流が流れたまま、不揮発性メモリ401の制御回路が停止してしまい不揮発性メモリ401の劣化を引き起こす恐れがある。
これに対して、本実施形態の集積回路装置1000は、タイマ300のタイマ出力信号TOS及びモード設定回路500によって、不揮発性メモリ400の書き込み(または消去)動作中は、スリープ命令を禁止することができる。これにより、不揮発性メモリ400の劣化を防ぐことができる。
また、比較例の集積回路装置1001は、プロセッサ101が暴走した場合を検知することができない。例えば、不揮発性メモリ401に書き込みを行っている最中にプロセッサ101が暴走した場合、不揮発性メモリ401に必要以上の電流が長時間流れてしまうことになり、不揮発性メモリ401を破壊してしまう恐れや、不揮発性メモリ401の寿命を格段に短くしてしまう恐れがある。
しかしながら、これに対して本実施形態の集積回路装置1000はウォッチドッグタイマ600を備えているため、上記のようなプロセッサ100の暴走による不揮発性メモリ400への悪影響を緩和することができる。
6.電子機器
図7は、本実施形態のマイクロコンピュータ(集積回路装置)1000を含む電子機器2000を示すブロック図である。電子機器2000は、表示パネル2100、表示ドライバ2200をさらに含むが、これに限定されない。例えば、電子機器2000は、表示パネル2100や表示ドライバ2200を含まない構成でもよい。本実施形態のマイクロコンピュータ1000を搭載することで、さまざまな源振をもちいても正確に不揮発性メモリにデータを書き込み(または消去)を行うことができ、プロセッサ等の暴走に対しても不揮発性メモリのデータ保持などにおいて非常に耐久性に優れた電子機器2000を製造することが可能である。
本実施形態では、プリスケーラ220の働きにより、タイマ300に例えば8ビットタイマを用いた場合であっても、高い周波数のクロックCLK1またはCLK2に対して一定の書き込みまたは消去時間を確保することができる。
また、不揮発性メモリ400が書き込みまたは消去動作中の際に、プロセッサ100が暴走しても、ウォッチドッグタイマ600の働きによって、書き込みまたは消去動作を停止させることができる。
また、タイマ300のタイマ設定レジスタ310をファームウェア等によって設定することが可能であるため、製品に使用された部品の特性のばらつきによって、例えばCR発振の周波数が個体毎に異なってしまった場合にも一定の書き込みまたは消去時間を設定することができる。
なお、本発明は、上記実施形態で説明されたものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(第1のクロック、第2のクロック等)として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語(クロックCLK1、クロックCLK2)に置き換えることができる。
本実施形態の集積回路装置を示すブロック図。 本実施形態のクロック生成回路を示すブロック図。 本実施形態のタイマを示すブロック図。 本実施形態のウォッチドッグタイマを示すブロック図。 本実施形態の集積回路装置の動作をしめすタイミング波形図。 本実施形態にかかる比較例の集積回路を示す図。 本実施形態にかかる電子機器を示す図。
符号の説明
100 プロセッサ、200 クロック生成回路、210 クロックセレクタ、
220 プリスケーラ、300 タイマ、310 タイマ設定レジスタ、
320 カウンタ、400不揮発性メモリ、500 モード設定回路、
600 ウォッチドッグタイマ、610 カウントレジスタ、620 カウンタ、
1000 集積回路装置、CLK1 第1のクロック、CLK2 第2のクロック、
CLK3 クロック、BOR バス開放要求信号、BO バス開放信号、
RST1〜RST3リセット信号、WDTR ウォッチドッグタイマリセット信号、
WEND 書き込み終了信号、WRS 書き込み信号

Claims (5)

  1. 不揮発性メモリの書き込み時間又は消去時間を設定するタイマと、
    前記タイマに供給するクロックを生成するクロック生成回路と、
    命令を実行するプロセッサと、
    前記プロセッサからの要求信号に基づいて集積回路装置のモード設定を行うモード設定回路と、
    を含み、
    前記タイマは、前記プロセッサから出力される前記不揮発性メモリの書き込み信号がアクティブに設定されると、前記不揮発性メモリの書き込み中又は消去中であることを示すタイマ出力信号を所定の期間中、アクティブに設定し、
    前記プロセッサは、前記プロセッサをスリープ状態に設定する場合、前記モード設定回路に出力するスリープ要求信号をアクティブに設定し、
    前記モード設定回路は、
    前記プロセッサから出力される前記スリープ要求信号と、前記タイマから出力される前記タイマ出力信号とを受け、前記スリープ要求信号がアクティブに設定された場合であっても前記タイマ出力信号がアクティブに設定されている間は、前記プロセッサをスリープ状態に設定するスリープ信号をノンアクティブに設定することを特徴とする集積回路装置。
  2. 不揮発性メモリの書き込み時間又は消去時間を設定するタイマと、
    前記タイマに供給するクロックを生成するクロック生成回路と、
    命令を実行するプロセッサと、
    前記プロセッサからの要求信号に基づいて集積回路装置のモード設定を行うモード設定回路と、
    を含み、
    前記タイマは、前記プロセッサから出力される前記不揮発性メモリの書き込み信号がアクティブに設定されると、前記不揮発性メモリの書き込み中又は消去中であることを示すタイマ出力信号を所定の期間中、アクティブに設定し、
    前記プロセッサは、前記不揮発性メモリに接続されるバスを解放する場合、前記モード設定回路に出力するバス解放要求信号をアクティブに設定し、
    前記モード設定回路は、
    前記プロセッサから出力される前記バス解放要求信号と、前記タイマから出力される前記タイマ出力信号と、を受け、前記バス解放要求信号がアクティブに設定された場合であっても前記タイマ出力信号がアクティブに設定されている間は、前記不揮発性メモリに接続されるバスを解放するバス解放信号をノンアクティブに設定することを特徴とする集積回路装置。
  3. 請求項1または2において、
    前記タイマは、タイマ設定レジスタと、カウンタを含み、
    前記タイマ設定レジスタには、書き込み時間又は消去時間を設定するためのタイマ設定カウント値が格納され、
    前記カウンタは、
    前記プロセッサからの書き込み信号がアクティブに設定されると、前記クロック生成回路から出力されるクロックのパルスに応じてパルス数をカウントし、
    カウントされたカウント値が前記タイマ設定カウント値と一致した場合、前記タイマ出力信号をノンアクティブに設定し、カウント値を初期値にリセットすることを特徴とする集積回路装置。
  4. 請求項1乃至3のいずれかにおいて、
    前記クロック生成回路は、
    低周波数の第1のクロックと前記第1のクロックよりも高周波数の第2のクロックを受け、入力されたクロックのいずれかを選択出力するクロックセレクタと、
    前記クロックセレクタの出力クロックの周波数を調整するプリスケーラと、
    を含み、
    前記プリスケーラは、前記クロックセレクタの出力クロックの周波数の高低に依存せず、所与の周波数の範囲のクロックを前記タイマに出力することを特徴とする集積回路装置。
  5. 請求項1乃至に記載の集積回路装置を含むことを特徴とする電子機器。
JP2004180950A 2004-06-18 2004-06-18 集積回路装置及び電子機器 Expired - Fee Related JP4662019B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004180950A JP4662019B2 (ja) 2004-06-18 2004-06-18 集積回路装置及び電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004180950A JP4662019B2 (ja) 2004-06-18 2004-06-18 集積回路装置及び電子機器

Publications (2)

Publication Number Publication Date
JP2006004245A JP2006004245A (ja) 2006-01-05
JP4662019B2 true JP4662019B2 (ja) 2011-03-30

Family

ID=35772582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004180950A Expired - Fee Related JP4662019B2 (ja) 2004-06-18 2004-06-18 集積回路装置及び電子機器

Country Status (1)

Country Link
JP (1) JP4662019B2 (ja)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06101043B2 (ja) * 1988-06-30 1994-12-12 三菱電機株式会社 マイクロコンピュータ
JPH04114218A (ja) * 1990-09-05 1992-04-15 Nec Corp コンピュータ端末の電源制御方式
JPH0744463A (ja) * 1993-07-28 1995-02-14 Sharp Corp Eeprom内蔵1チップマイクロコンピュータ
JP3604101B2 (ja) * 1995-11-17 2004-12-22 株式会社リコー フラッシュメモリ制御装置
JPH09152918A (ja) * 1995-11-29 1997-06-10 Nec Corp フラッシュメモリ保護機構,それを用いたフラッシュメモリ制御装置,及びフラッシュメモリ保護方法
JPH09251519A (ja) * 1996-03-14 1997-09-22 Toshiba Corp Icカード
JPH09282896A (ja) * 1996-04-18 1997-10-31 Kofu Nippon Denki Kk フラッシュメモリデータ保護装置および方法
JPH1031895A (ja) * 1996-07-17 1998-02-03 Mitsubishi Electric Corp Romライタ装置
JPH1186569A (ja) * 1997-09-04 1999-03-30 Mitsubishi Electric Corp 不揮発性メモリ、不揮発性メモリの書込パルスのパルス幅決定方法、不揮発性メモリの消去パルスのパルス幅決定方法及び不揮発性メモリ内蔵マイコン
JPH11212870A (ja) * 1998-01-26 1999-08-06 Matsushita Electric Ind Co Ltd 電子制御装置
JP2000113688A (ja) * 1998-10-08 2000-04-21 Sanyo Electric Co Ltd 不揮発性メモリ及び不揮発性メモリの消去及び書き込み方法
JP2000268019A (ja) * 1999-03-16 2000-09-29 Hitachi Ltd 不揮発性メモリ回路を内蔵した半導体集積回路
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
JP3923274B2 (ja) * 2001-04-05 2007-05-30 本田技研工業株式会社 衝突情報記憶装置
JP3910902B2 (ja) * 2002-10-02 2007-04-25 松下電器産業株式会社 集積回路装置

Also Published As

Publication number Publication date
JP2006004245A (ja) 2006-01-05

Similar Documents

Publication Publication Date Title
US8316174B2 (en) Microcontroller based flash memory digital controller system
US8151130B2 (en) Plural voltage level detection upon power drop for switching to standby mode with or without complete state saving interrupt processing
US8984323B2 (en) Scheduling events in a microprocessor using a plurality of delta time registers arranged as a sequence buffer and indicating a sequence position of the sequence buffer to process an event
US20130339590A1 (en) Semiconductor device with nonvolatile memory prevented from malfunctioning caused by momentary power interruption
CN101553789A (zh) 管理快闪存储器中挂起请求的方法及系统
KR20060103883A (ko) 반도체 장치
JP3056131B2 (ja) システムのリセット方式
JP2003187593A (ja) 半導体装置及び不揮発性半導体記憶装置
TWI520147B (zh) 快閃記憶體就緒/忙碌上拉電阻器之啟動
US6587956B1 (en) Semiconductor memory apparatus with power consumption control
JP4662019B2 (ja) 集積回路装置及び電子機器
JP2000268019A (ja) 不揮発性メモリ回路を内蔵した半導体集積回路
US20130308406A1 (en) Semiconductor device, method for operating the same, and memory system including the same
CN111522587B (zh) 电子装置及装置唤醒方法
US6069833A (en) Voltage drop circuit enabling ROM to read data with high reliability
US6625731B1 (en) Method of configuring a microcontroller during reset mode by generating auxiliary oscillator signal as supply voltage ramps up to read option word from central memory
JP4683617B2 (ja) マイクロコンピュータおよびマイクロコンピュータの最適化方法
US20050005060A1 (en) Write state machine architecture for flash memory internal instructions
KR20080059049A (ko) 반도체 메모리 장치의 파워 온 시스템 리셋 회로 및 그것의파워 온 리셋 방법
ITMI20010342A1 (it) Sistema di memoria non volatile per memorizzare valori di dati
JP2013030244A (ja) 半導体装置
JP4702343B2 (ja) 携帯端末装置
CN110299118B (zh) 液晶控制电路、电子表以及液晶控制方法
JP2004061369A (ja) 半導体集積回路試験装置及び方法
JPH09213088A (ja) エンジン制御装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100922

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101208

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101221

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees