JP4127934B2 - マイクロコントローラ及びそのプログラムの書き換え方法 - Google Patents
マイクロコントローラ及びそのプログラムの書き換え方法 Download PDFInfo
- Publication number
- JP4127934B2 JP4127934B2 JP21419799A JP21419799A JP4127934B2 JP 4127934 B2 JP4127934 B2 JP 4127934B2 JP 21419799 A JP21419799 A JP 21419799A JP 21419799 A JP21419799 A JP 21419799A JP 4127934 B2 JP4127934 B2 JP 4127934B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- interrupt request
- signal
- request signal
- rewrite
- 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
Links
Images
Landscapes
- Microcomputers (AREA)
Description
【発明の属する技術分野】
本発明はマイクロコントローラ及びそのプログラムの書き換え方法に関し、特にプログラムの格納用に電気的に一括消去及び書き換え可能な不揮発性メモリ(フラッシュメモリ)を内蔵したマイクロコントローラ及びそのプログラムの書き換え方法に関する。
【0002】
【従来の技術】
近年、内部にマイクロプロセッサシステム(以下マイクロコントローラ)を持ったテレビジョン受像機,VTR,DVDプレーヤ,オーディオコンポ,衛星放送受信機,CATV端末等のいわゆるAV機器や家電製品、自動車エレクトロニクス等の電子機器が一般化している。これらは電子機器の内部に、電子機器を構成する各種回路・装置を制御するためのCPU、並びにこのCPUのプログラムを格納するPROM等のプログラムメモリを内蔵し、上記CPUにより、CPU及びプログラムメモリの接続されたパスを介して電子機器内部に設けられた各種の回路・装置を制御するようになっている。
【0003】
また、電子機器の高機能化に伴って仕様が複雑化し、年々マイクロコントローラに求められる上記各種の回路・装置の制御も複雑化の一途をたどっている。これにより、電子機器が市場へ出荷後あるいは出荷直前にマイクロコントローラソフトウェアに起因する不具合(いわゆるバグ)が発見されたり、機能仕様の変更も度々発生し、これにより、電子機器の機能を統合的に管理・制御しているマイクロコントローラCPUのプログラムを変更する必要が頻繁に発生する事態が生じている。
【0004】
また、最近は、マイクロコントローラのプログラムを記憶するプログラムメモリとして、マスクROM等の固定メモリに代わり電気的に書き換え可能なEEPROMあるいはフラッシュメモリ等が用いられるようになり、メモリを物理的に交換せずに、電子機器に実装したままの状態でプログラム修正できるようになっている。
【0005】
プログラムメモリとしてフラッシュメモリを用い、このフラッシュメモリに格納したプログラムの書き換え制御を行う特開平8−6919号公報(文献1)記載の従来のマイクロコントローラは、単一の半導体チップ上に、少なくとも中央処理装置(CPU)と、このCPUが処理すべき情報(データ)を電気的な消去書き込みたよって書き換え可能な不揮発性のフラッシュメモリとを搭載し、フラッシュメモリ内のデータの書き換えに対しシリアルコミュニケーションの一種である調歩同期式通信を用いて書き換える書き換え動作モードを備え、この調歩同期式通信のボーレート(ビットレート)を転送元のビットレートに自動的に合わせ込む。
【0006】
この場合に、上記書き換え動作モードにおいて、フラッシュメモリのデータ書き換え及びシリアルコミュニケーションの制御を行うのはCPUであり、このCPUを制御するプログラムであるファームウェアをフラッシュメモリ又はマスクROMが保有する。
【0007】
また、前記書き換え動作モードを起動すると、制御プログラムを保有しているエリア以外のフラッシュメモリのデータを確認し、既に書き込まれたデータがあればこの制御プログラムを保有しているエリア以外を消去する。
【0008】
この種のプログラム書き換えの制御は、一般に割込により行われる。割込とは、コンピュータがプログラム実行中に発生した非同期的な、又は例外的な事象に応答するために、実行中のプログラムを強制的に一時中断し、指定されたルーチン、すなわち、割込処理ルーチンに自動的に制御を移すことである。その際割込時点で実行中のプログラムを後刻再起動できるように、CPU状態を自動的に保存する。
【0009】
割込発生の要因として、割込発生時点で実行中のプログラムと関連があるか否かによって分類し、関連がある場合の内部要因によるものを割出しと呼び、実行中のプログラムと関連がない外部要因によるものを割込と呼ぶことが一般的である。ここでは、この定義による、すなわち、シリアルコミュニケーション等通信デバイスを経由した外部要因による割込を考える。
【0010】
この割込は、上記の通信デバイス経由のほか、入出力関係、タイマ関係、他機器関係等、複数存在するのが一般的であり、これら複数の割込のうちから、所定の優先順位及び割込レベルに従って、最高位の割込要求を選択し、CPUに対して割込要求を行うための割込コントローラが設けられる。
【0011】
割込の優先順位と優先レベルについては、複数の割込原因が同時に発生した場合に、どの割込を先に起こすかという優先度の問題と、ある割込の処理中にほかの割込原因が発生した場合、より高い緊急度を認めて、重ねて割込を起こすか否かのレベルの問題がある。一般的な方法は、原因(のグループ)毎に割込の優先度及びレベルを定め、割込処理以外の通常のプログラムを最低位レベルとして、高位の割込レベルに属する割込は、低位のレベルの処理中に割り込めるようにする方法である。以下の説明においては、上記優先度を割込順位と呼び、上記レベルを割込レベルと呼ぶことにする。
【0012】
文献1記載の従来のマイクロコントローラ(以下マイクロコンピュータ)をブロックで示す図7を参照すると、この従来のマイクロコントローラは、内部バスに結合される中央処理装置(CPU)3と、CPU3を制御する制御プログラムを格納したフラッシュメモリ1と、後述するホストコンピュータ8との通信データ速度(ビットレート)を測定するタイマ30と、ホストコンピュータ8とのインタフェースを調歩同期式通信で行うためのシリアルコミュニケーションインタフェース(SCI)60と、フラッシュメモリ1からのデータを一時格納するバッフアとして機能するランダムアクセスメモリ(RAM)9と、モード端子から入力される動作モード信号を解読し例えば書き換え動作モードが指示されているかを判定するデコーダ7とを備え、例えば、外部のパーソナルコンピュータなどのホストコンピュータ8にSCI60を通じて接続されている。なお、上記制御プログラムの格納には、フラッシュメモリ1の代わりに点線で示したマスクROM10を用いても良い。
【0013】
次に、図7及び処理をフローチャートで示す図8を参照して、従来のマイクロコントローラのプログラムの書き換え方法について説明すると、文献1では特に明記されていないが、割込により、マイクロコンピュータを外部からの書き換え動作モードに設定する動作モード信号MDO〜MD2の供給を受け、デコーダ7で動作モード信号MDO〜MD2をデコードした結果、上記設定での書き換え動作モードの指示であることを判定すると、CPU3はリセット(REST)スタートによりフラッシュメモリ1に格納された制御プログラムを実行する(ステップP1)。これは、動作モード信号MDO〜MD2によるCPU3への割込により書き換えモードに設定することに相当する。
【0014】
さらに、制御プログラムが起動されると、ホストコンピュータ8から所定のビットレートでデータが連続送信され(ステップP2)、CPU3はタイマ30のインプットキャブチャ機能でホストコンピュータ8が送信するデータのLOW期間を内部クロック信号CKにより測定する(ステップP3:測定処理)。この場合に、RXD端子にタイマ30のインプットキャブチャの端子を割り付けておく。そして、データのLOW期間の測定値よりSCI60内のビットレートレジスタに設定する値を計算する(ステップP3:計算処理)。この計算処理はCPU3で行い、求めた値をSCI60内のビットレートレジスタに設定する(ステップP3:設定処理)。
【0015】
続いて、ホストコンピュータ8が転送するビットレートと同じビットレートに調整が終わると、マイクロコンピュータは調整終了の合図を送信線SLを介してホストコンピュータ8に送信し(ステップP5:通知処理)、この調整終了の合図をホストコンピュータ8は正常に受信したことを示す信号を受信線RLを介してマイクロコンピュータに出力する(ステップP5:確認処理)。
【0016】
さらに、ホストコンピュータ8は、次に転送するユーザのプログラムの転送バイト数Nを通知し(ステップP5:通知処理)、以降は順次ユーザの設定したプログラムを送信する。このとき、マイクロコンピュータはホストコンピュータが送信したユーザプログラムを受信し(ステップP5:受信処理)、さらにRAM9に転送する(ステップP6:転送処理)。そして、CPU3は、上記転送の残りバイト数を計算し(ステップP6:残りバイト数計算処理)、ユーザプログラムの転送が終了するまで繰り返して行う(ステップP7)。
【0017】
そして、転送したユーザプログラムを実行する前に、フラッシュメモリ1に書き込まれたデータが存在するか否かを確認し(ステップP8、P9)、既にデータが書き込まれている場合には(ステップP9)、全メモリブロックのデータを消去する(ステップP10)。
【0018】
一方、データが書き込まれていない場合にはフラッシュメモリ1内のテストエリア中にあるプログラム中の最終命令を実行することによりRAM9のエリアに分岐し、RAM9内に転送されたユーザプログラムを実行する(ステップP11)。これにより、フラッシュメモリ1の書き換えを行うことができる。
【0019】
このように、従来のマイクロコントローラは、動作モード信号MDO〜MD2によりによりフラッシュメモリ書き換えモードへの割込が設定され、この割込の認識結果、フラッシュメモリ書き換えモードと判定すると、CPU3はリセットスタートによりフラッシュメモリ1に格納された制御プログラム(ファームウェア)を実行し、このファームウェアの指示に従い、専用の通信端末であるSCII60にフラッシュメモリ書き換えデータの送受信データレートや信号フォーマット等のデータ転送条件の設定を含むイニシャライズを行い、その後設定したデータ転送条件でフラッシュメモリ書き換えデータを受信し、フラッシュメモリ1の書き換えを行う。
【0020】
以上述べたように、従来のマイクロコントローラ及びそのプログラムの書き換え方法は、内蔵するフラッシュメモリの書き換えるための割込が発生すると、専用の通信端末にその都度データ転送レート等のデータ転送条件の設定を含むイニシャライズの実施から、フラッシュメモリの書き換えを開始している。
【0021】
一方、上記割込発生時の割込処理を設定するための割込要求信号のフォーマットである割込ベクタ(上述の従来例では動作モード信号MDO〜MD2の組み合わせ)は、マイクロコンピュータの用途に応じて各種のシリアルもしくはパラレルコミニュケーションデバイス(以下通信デバイス)の割込優先順位あるいは割込レベルが一定ではなく異なるため、マイクロコンピュータの品種毎に異なっている。例えば、ある品種では通信デバイスの割込優先順位が最高位であり、また、別の品種では通信デバイスの割込優先順位が最下位に設定されている。
【0022】
一般に、内蔵フラッシュメモリの書き換えを必要とする場合は、この書き換えのための割込発生原因が他の割込発生原因に比較して優先度が高く、また、この割込による上記書き換え処理実行中は他の割込を受け付けない最高割込レベルに設定する必要がある。
【0023】
このため、マイクロコンピュータ内蔵のフラッシュメモリ又はマスクROM内のファームウェアは、内蔵されるマイクロコンピュータの品種毎に、通信デバイスの割込優先順位をフラッシュメモリの書き換えるための割込発生に対応して一定の割込順位及び割込レベル、例えば最高位の割込順位及び最高割込レベルに割込ベクタを変更するよう専用設計しなければならず、設計のTAT(ターンアラウンドタイム)が長期化するという問題があった。
【0024】
また、マイクロコンピュータの品種毎にファームウェアを変更することによりバグの増大等、設計品質が低下するという問題があった。
【0025】
ここでベクタとは、公知のように、個々の項目が単一の索引や添字に従って順序良く並んでいるデータの配列をいう。従って割込みベクタとは、所定の順序で並んでいる割込に関連する命令及びデータの配列をいう。
【0026】
【発明が解決しようとする課題】
上述した従来のマイクロコントローラ及びそのプログラムの書き換え方法は、内蔵するフラッシュメモリの書き換えるための割込が発生すると、専用の通信端末にその都度データ転送レート等のデータ転送条件の設定を含むイニシャライズの実施から、フラッシュメモリの書き換えを開始するが、上記割込発生時の割込処理を設定するための割込要求信号のフォーマットである割込ベクタは、マイクロコンピュータの用途に応じた品種毎に通信デバイスの割込優先レベルが異なるため、上記書き換え制御のための書き換え制御ソフトウェアであるファームウェアは、内蔵されるマイクロコンピュータの品種毎に通信デバイスの割込優先レベルを元の割込優先レベルとは無関係にフラッシュメモリの書き換えるための割込発生に対応して一定のレベル、例えば最高位レベルに変更するよう専用設計しなければならず、設計のTATが長期化するという欠点があった。
【0027】
また、マイクロコンピュータの品種毎にファームウェアを変更することにより設計品質が低下するという欠点があった。
【0028】
本発明の目的は、マイクロコンピュータの品種とは無関係に、内蔵フラッシュメモリの書き換えのための割込が発生すると通信デバイスの割込優先レベルを予め定めたレベルに自動的に設定することにより、ファームウェアの専用化設計を不要とし、設計のTATの短縮及び設計品質の低下要因を除去したマイクロコントローラ及びそのプログラムの書き換え方法を提供することにある。
【0029】
【課題を解決するための手段】
本発明のマイクロコントローラは、プログラムの格納用に電気的に一括消去及び書き換え可能な不揮発性メモリであるフラッシュメモリを内蔵し、このフラッシュメモリのプログラム修正を行う書き換え動作モードを割込により設定されるマイクロコントローラにおいて、
前記フラッシュメモリを書き換えるための一連の動作のプログラムであるファームウェアと後述の通信手段の動作の制御プログラム又は少なくともこの制御プログラムを設定する割込ベクタを格納したROMと、
前記ROMから読み出したファームウェアに従い前記フラッシュメモリの書き換え手順を制御する中央演算処理装置であるCPUと、
前記フラッシュメモリの書き換えを行わない通常動作モードのとき内蔵する複数の周辺回路から送られてくる割込要求信号の優先順序を制御して前記CPUに通知するとともに、前記フラッシュメモリの書き換えを行う場合である書き換えモードのときこの書き換えモード設定に連動した書き換えモード信号の供給に応答して入力された後述の通信手段からの割込要求信号を予め定めた割込順位に変更して前記CPUに通知する割込コントローラと、
入力/出力(I/O)回路及びタイマを含む複数の前記周辺回路と、
外部のホストコンピュータからの前記フラッシュメモリの書き換えデータの受信、及び前記ホストコンピュータへの受信準備完了通知を含む送信を行う通信手段と、
を備えて構成されている。
【0030】
また、前記割込コントローラが、前記書き換えモード信号の供給に応答して入力された前記通信手段からの割込要求信号である通信割込要求信号を予め定めた基準に基づく割込順位に変更し前記CPUに割込実行を要求する割込実行要求信号を発生する割込レベル変換回路を備えてもよい。
【0031】
さらに、前記割込レベル変換回路が、予め定めたN(Nは正の整数)個の割込要求信号の優先順位に応じて同時発生した複数の割込のうちの最高優先順位のものを選択し選択割込要求信号を出力する割込順位決定回路と、
前記書き換えモード信号の論理レベルに応答して前記割込順位決定回路から出力される前記選択割込要求信号と前記通信手段からの前記通信割込要求信号とのいずれか一方を前記割込実行要求信号として選択し出力する書き換えモード優先化回路と、を備えてもよい。
【0032】
また、前記割込レベル変換回路が、前記書き換えモード信号の不活性化時の論理レベルに応答して予め定めたN(Nは正の整数)個の割込要求信号の優先順位に応じて同時発生した複数の割込のうちの最高優先順位のものを選択して前記割込実行要求信号を出力し、前記書き換えモード信号の活性化時の論理レベルに応答して前記最高優先順位の割込要求信号の割込順位を強制的に下位順位に変更する割込順位決定回路と、
前記書き換えモード信号を反転して反転書き換えモード信号を生成するとともに前記書き換えモード信号の活性化時の前記反転書き換えモード信号の論理レベルに応答して前記通信手段からの割込要求信号である通信割込信号の順位を最高順位に設定する書き換えモード優先化回路と、を備えてもよい。
【0033】
本発明のマイクロコントローラのプログラムの書き換え方法は、プログラムの格納用に電気的に一括消去及び書き換え可能な不揮発性メモリであるフラッシュメモリを内蔵し、このフラッシュメモリのプログラム修正を行う書き換え動作モードを割込により設定されるマイクロコントローラのフラッシュメモリの書き換え方法において、
前記フラッシュメモリの書き換えを行う書き換えモードのときこの書き換えモード設定に連動した書き換えモード信号の論理レベルをLレベルからHレベルに設定する第1のステップと、
前記書き換えモード信号のHレベルへの遷移に応答して、外部のホストコンピュータからの前記フラッシュメモリの書き換えデータの受信、及び前記ホストコンピュータへの受信準備完了通知を含む送信を行う通信手段の割込要求信号の優先順位を最上位の順位に変更する第2のステップと、
前記通信手段の割込要求信号から生成した割込実行要求信号の供給に応答して書き換え動作プログラムを読み出し、CPUの初期化を行う第3のステップと、前記通信手段を経由して前記ホストコンピュータから供給される前記フラッシュメモリの書き換えデータの受信を行うための割込を待つ第4のステップと、
前記通信手段が前記ホストコンピュータが送信した割込データである前記書き換えデータを受信する第5のステップと、
前記CPUが、前記通信手段における前記書き換えデータの受信を認識し、この書き換えデータを基に前記フラッシュメモリの書き換え処理を行う第6のステップと、
全ての前記書き換えデータを受信するまで前記書き換えデータの受信及び前記フラッシュメモリへの書き換えの処理を繰り返す第7のステップと、
を含むことを特徴とするを特徴とするものである。
【0034】
【発明の実施の形態】
以下本発明の実施の形態を図面に基づいて詳細に説明する。
【0035】
本実施の形態のマイクロプロセッサシステム(以下マイクロコントローラ)は、AV機器や家電製品、自動車エレクトロニクス等の電子機器に備えられ、電子機器を構成する各種回路・装置を制御するためのCPU、並びにこのCPUのプログラムを格納するプログラムメモリとして電気的な消去書き込みたよって書き換え可能な不揮発性のフラッシュメモリを内蔵し、上記CPUにより、CPU及びプログラムメモリの接続されたパスを介して電子機器内部に設けられた各種の回路・装置を制御するようになっている。また、上記フラッシュメモリは、物理的に交換せずに、電子機器に実装したままの状態でプログラム修正できるようになっている。
【0036】
このプログラム修正を行う書き換え動作モードは、外部からの書き換え動作モード設定により設定され、この書き換え動作モードにおいて、この書き換え動作モードに対応した割込により、フラッシュメモリのデータ書き換え及びシリアルコミュニケーションの制御を行うのはCPUであり、このCPUを制御するプログラムであるファームウェアをファームウェア格納用のROMが保有する。
【0037】
また、前記書き換え動作モードを起動すると、フラッシュメモリのデータを確認し、既に書き込まれたデータがあればこれを消去する。
【0038】
次に、本発明の第1の実施の形態を図7と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図1を参照すると、この図に示す本実施の形態のマイクロコントローラは、後述のCPU3のプログラムを格納した電気的に一括消去及び書き換え可能な不揮発性メモリであるフラッシュメモリ1と、フラッシュメモリ1の所定領域を書き換えるための一連の動作のプログラム(ファームウェア)と後述のCSI6の制御プログラムに対応する割込ベクタを格納しているROM(リードオンリーメモリ)2と、ファームウェアに従いフラッシュメモリ1の書き換え手順を制御する中央演算処理装置(CPU)3と、フラッシュメモリ1の書き換えを行わない通常動作モードのときマイクロコントローラが内蔵する後述する複数の周辺回路5から送られてくる割込要求信号(割込ベクタ)の優先順序を制御してCPU3に通知するとともに、フラッシュメモリ1の書き換えを行う場合の書き換えモードのときこの書き換えモード設定に連動した書き換えモード信号MSの供給に応答して入力された後述のCSI6からの割込要求信号をある一定の基準に基づく割込順位及び割込レベルに変更してCPU3に通知する割込コントローラ4と、マイクロコントローラに内蔵される入力/出力(I/O)回路やタイマ等の様々なユニットである複数の周辺回路5と、マイクロコントローラの外部のホストコンピュータ8からのフラッシュメモリ1の書き換えデータDWの受信、もしくはホストコンピュータ8へのアクノリッジ(受信準備完了通知・受信確認)等の送信DAに使用する通信デバイスとして、シリアルコミュニケーションの一種であるクロック同期式通信方式に対応するクロック同期シリアルインタフェース(CSI:Clocked Sirial Interface)6とを備える。
【0039】
なお、図1では、本発明と直接関係しないデータ、制御信号及びアドレス伝送用の内部バス、入力/出力(I/O)回路、タイマ、クロック発生回路及びフラッシュメモリ1やROM2あるいはCPU3からのデータを一時的に保持するRAM及びレジスタ等のこの種のマイクロコンピュータが通常備える共通的な構成要素については割込要求信号を出力するものを周辺回路5として示したほかは図示を省略している。
【0040】
フラッシュメモリ1は、電気的な一括消去及び書き込みによって情報の書き換えが可能な全面フラッシュメモリであり、マイクロコントローラがその上位システムに実装されている状態で、CPU3の制御に基づいて、指定した領域の記憶情報を書き換えられるようになっている。上記指定以外の書き換え対象でない領域は、書き換えを実施しない。
【0041】
フラッシュメモリ1のメモリセルは、典型的には2層ゲート構造の絶縁ゲート型電界効果トランジスタにより構成されている。P型シリコン基板に形成されたP型拡散層と、上記P型シリコン基板に形成された低濃度のN型拡散層と、上記P型拡散層及びN型拡散層の各々に形成されたN型拡散層を有し、薄い絶縁膜(例えば10nm)を介して上記P型シリコン基板に形成されたフローティングゲートと、酸化膜を介してフローティングゲート上に形成されたコントロールゲートと、ソース及びドレインから成る。
【0042】
このメモリセルに記憶される情報は実質的にしきい値電圧の変化としてトランジスタに保持される。以下、特に述べない限り、メモリセルにおいて、情報を記憶するトランジスタ(以下、記憶トランジスタと称する)がNチャンネル型の場合について述べる。
【0043】
メモリセルへの情報の書き込み動作は、コントロールゲート及びドレインに高圧を印加して、アバランシェ注入によりドレイン側からフローティングゲートに電子を注入することで実現される。この書き込み動作により記憶トランジスタはそのコントロールゲートからみたしきい値電圧が、書き込み動作を行わなかった消去状態の記憶トランジスタに比べて高くなる。
【0044】
一方、消去動作は、ソースに高圧を印加して、トンネル現象によりフローティングゲートからソース側に電子を引き抜くことによって実現される。消去動作により記憶トランジスタはそのコントロールゲートからみたしきい値電圧が低くされる。
【0045】
書き込みならびに消去状態のいずれにおいても記憶トランジスタのしきい値は正の電圧レベルにされる。すなわち、ワード線からコントロールゲートに与えられるワード線選択レベルに対して、書き込み状態のしきい値電圧は高くされ、消去状態のしきい値電圧は低くされる。双方のしきい値電圧とワード線選択レベルとがそのような関係を持つことによって、選択トランジスタを採用することなく1個のトランジスタでメモリセルを構成することができる。
【0046】
上記メモリセルを用いるメモリセルアレイは、X,Y方向にマトリクス配置されたメモリセルにおいて、同一行の記憶トランジスタのコントロールゲートはそれぞれ対応するワード線に接続され、同一列に配置された記憶トランジスタのドレイン領域(メモリセルの入出力ノード)はそれぞれ対応するデータ線に接続され、ソース領域はソース線に結合される。このソース線に消去対応の上記高圧を印加することにより、このソース線に接続されたメモリセル、すなわち、この行全体のメモリセルが一括して消去される。従って、少なくともソース線を介してソースが共通接続されたメモリセルに対して一括消去できる。よって、共通接続するソース線の数と同一ソース線に接続するメモリセルの数を変えることにより、一括消去対象のメモリブロックのサイズを任意に設定できる。
【0047】
ROM2には、上記ファームウェアに加えて、ファームウェア設計時に設定した少なくとも1つの通信デバイス、ここでは、上述のクロック同期式通信方式に対応するCSI6に対する制御プログラムに対応する割込ベクタを格納してある。この割込ベクタは、CSI6への割込発生に対し、このCSI6の通信手順を制御する制御プログラムのアドレスを指定する。この制御プログラムは、ROM2自身又はフラッシュメモリ1の書き換え対象外の領域に格納する。
【0048】
CPU3は、フラッシュメモリ1の書き換えモードではない、通常動作モードでは、このマイクロコントローラを実装した上位システムである電子機器を構成する各種回路・装置を制御し、上記書き換えモードでは、上記ファームウェアに従いフラッシュメモリ1の書き換え手順を制御する。
【0049】
割込コントローラ4は、フラッシュメモリ1の書き換えモード信号MSの供給に応答して入力されたCSI6の割込要求信号INT3をある一定の基準に基づく後述の割込順位及び割込レベル、ここでは説明の便宜上、最高位及び最優先レベルに変更し、割込実行要求信号IMを発生する割込レベル変換回路41を備える。
【0050】
割込レベル変換回路41の構成をブロックで示す図2を参照すると、この割込レベル変換回路41は、予め定めた複数の割込要求信号INT0〜INTNの優先順位に応じて同時発生した複数の割込のうちの最高優先順位のものを選択し選択割込要求信号VIを出力する割込順位決定回路411と、外部から供給される書き換えモード信号MSの論理レベルに応答して割込順位決定回路411からの選択割込要求信号VIとCSI6からの割込信号VCとのいずれか一方を割込実行要求信号IMとして選択し出力する書き換えモード優先化回路412とを備える。
【0051】
本実施の形態では、説明の便宜上、割込要求信号の数N(正の整数)、すなわち、優先順位のレベル数を上位から下降順にINT0〜INT3の4レベルとし、通常動作時、すなわち、フラッシュメモリの書き換えを行わないとき、通信デバイスであるCSI6の割込レベルを、最下位レベルであるINT3とする。
【0052】
割込順位決定回路411は、例えば、図3に示すように、NAND回路やNOR回路等の論理回路の組み合わせによって実現できる。
【0053】
論理回路の組み合わせによる割込順位決定回路411の構成例を回路図で示す図3を参照すると、割込要求信号INT0B(Bはローアクティブ又は信号反転を表す)を反転するインバータG411と、このインバータG411の出力信号と割込要求信号INT1Bとの否定論理和(以下NOR論理)を得る2入力のNOR回路G412と、割込要求信号INT0B,INT1Bの否定論理積(以下NAND論理)を得る2入力のNAND回路G413と、NAND回路G413の出力信号と割込要求信号INT2BとのNOR論理を得る2入力のNOR回路G414と、割込要求信号INT0B,INT1B,INT2BのNAND論理を得る3入力のNAND回路G415と、NAND回路G415の出力信号と割込要求信号INT3BとのNOR論理を得る2入力のNOR回路G416と、インバータG411,NOR回路G412,G414,G416の出力のOR論理を得て出力である選択割込要求信号VIを出力する4入力のOR回路G417とを備える。
【0054】
また、マスクROM等から成るテーブルに複数の周辺回路5の各々が発生する割込要求の情報に、予め設定した個々の割込優先度に基づく重み付け情報を付加した割込優先順位情報を格納し、この割込優先順位情報を参照することにより入力した割込要求信号の割込優先レベルを決定するものを用いても良い。
【0055】
図2を再度参照すると、書き換えモード優先化回路412は、書き換えモード信号MSの論理レベルに応答して割込要求信号INT3を導通遮断するトランスファゲートM41と、書き換えモード信号MSを反転するインバータG41と、インバータG41の出力である書き換えモード信号MSの反転信号の論理レベルに応答して割込順位決定回路411から供給を受けた選択割込要求信号VIを導通遮断するトランスファゲートM42とを備え、これらトランスファゲートM41,M42の各々の出力端を共通接続して出力である割込実行要求信号IMを出力する。トランスファゲートM41,M42は、例えば各々のドレイン・ソースを伝送対象の割込要求信号の入力・出力にそれぞれ接続し、各々のゲートに書き換えモード信号MS/書き換えモード信号MSの反転信号の供給を受けるMOSトランジスタで構成しても良い。
【0056】
次に、本実施の形態のマイクロコントローラの動作について説明する。本実施の形態のフラッシュメモリ1のプログラムの書き換えの制御は、従来技術で説明した割込により行われる。割込とは、コンピュータがプログラム実行中に発生した非同期的な、又は例外的な事象に応答するために、実行中のプログラムを強制的に一時中断し、指定されたルーチン、すなわち、割込処理ルーチンに自動的に制御を移すことである。その際割込時点で実行中のプログラムを後刻再起動できるように、CPU状態を自動的に保存する。
【0057】
割込発生の要因として、割込発生時点で実行中のプログラムと関連があるか否かによって分類し、関連がある場合の内部要因によるものを割出しと呼び、実行中のプログラムと関連がない外部要因によるものを割込と呼ぶことが一般的である。本実施の形態では、この定義による、すなわち、シリアルコミュニケーション等通信デバイスを経由した外部要因による割込を考える。
【0058】
割込の優先順位と優先レベルについては、複数の割込原因が同時に発生した場合に、どの割込を先に起こすかという優先度の問題と、ある割込の処理中にほかの割込原因が発生した場合、より高い緊急度を認めて、重ねて割込を起こすか否かのレベルの問題がある。一般的な方法は、原因(のグループ)毎に割込の優先度及びレベルを定め、割込処理以外の通常のプログラムを最低位レベルとして、高位の割込レベルに属する割込は、低位のレベルの処理中に割り込めるようにする方法である。本実施の形態においても、この方法を用いるものとする。また、本実施の形態の動作の説明においては、上記優先度を割込順位と呼び、上記レベルを割込レベルと呼ぶことにする。
【0059】
次に、図1、図2、及び図3を参照して本実施の形態の動作について説明すると、まず、フラッシュメモリ1の書き換えを行わない通常動作の場合は、書き換えモード信号MSを不活性化に対応するLレベルとする。これにより、CPU3は、通常動作モードとなる。同時に、割込コントローラ4の割込レベル変換回路41は、割込優先順位が最高位の割込要求信号INT0から、最低のINT3すなわち、CSI6からの割込要求信号VCまでの割込優先順位に応じて、同時発生した複数の割込のうちの最高位のものを選択し、対応する割込実行要求信号IMを発生する。
【0060】
割込レベル変換回路41の割込順位決定回路411は、上述したように、複数の割込要求信号INT0〜INTNの優先順位に応じて同時発生した複数の割込のうちの最高位のものを選択し選択割込要求信号VIを出力する。
【0061】
説明の便宜上、割込順位決定回路411の全ての入力端には図示しないインバータを介して割込要求信号INT0〜INT3の反転信号である反転割込要求信号INT0B〜INT3Bが供給されるものとする。これら反転割込要求信号INT0B〜INT3BはLレベルのとき活性状態すなわちローアクティブであるとする。
【0062】
割込順位決定回路411にLレベルの反転割込要求信号(以下割込要求信号と省略)INT0Bが供給されると、この割込要求信号INT0BはインバータG411,NAND回路G413,G415にそれぞれ入力する。インバータG411は、Hレベルの出力信号をNOR回路G412の一方の入力端及びOR回路G417の第1入力端にそれぞれ供給する。このときNOR回路G412は、他方の入力端に供給される割込要求信号INT1Bの入力の有無すなわち、Hレベル/Lレベルに関係なく、NOR回路G412はLレベルの出力信号を出力する。割込要求信号INT0BがHレベルのときは、NOR回路G412は割込要求信号INT1BがLレベルのときHレベルの出力信号を、割込要求信号INT1BがHレベルのときLレベルの出力信号をそれぞれ出力し、OR回路G417に供給する。すなわち、割込要求信号INT0Bの方が割込要求信号INT1Bより優先順位が高い。
【0063】
割込要求信号INT1Bは、NOR回路G412,NAND回路G413,G415にそれぞれ入力する。割込要求信号INT2Bは、NOR回路G414,NAND回路G415にそれぞれ入力する。割込要求信号INT3Bは、NOR回路G416のみに入力する。
【0064】
NAND回路G413は、割込要求信号INT0B,INT1Bの両方がHレベルのときのみ出力信号をLレベルとし、他の場合は出力信号をHレベルとするので、NOR回路G414は、割込要求信号INT0B,INT1Bの両方がHレベルのとき、すなわち不活性化状態のときのみ割込要求信号INT2Bのレベルに対応する出力信号を出力する。すなわち、割込要求信号INT2Bは、割込要求信号INT0B,INT1Bより優先順位が低い。
【0065】
NAND回路G415は、割込要求信号INT0B,INT1B,INT2Bの3者がHレベルのときのみ出力信号をLレベルとし、他の場合は出力信号をHレベルとするので、NOR回路G416は、割込要求信号INT0B,INT1B,INT2Bの3者がHレベルのとき、すなわち不活性化状態のときのみ割込要求信号INT3Bのレベルに対応する出力信号、すなわち、割込要求信号INT3BがLレベルのときはHレベルの出力信号、割込要求信号INT3BがHレベルのときはLレベルの出力信号をそれぞれ出力する。すなわち、割込要求信号INT3Bは、割込要求信号INT0B,INT1B,INT2Bより優先順位が低い。
【0066】
従って、割込優先順位は、INT0B,INT1B,INT2B,INT3Bの順番で低下する。
【0067】
例えば、割込順位決定回路411に、割込要求信号INT3Bと割込要求信号INT0Bとが同時に入力(すなわちLレベルとする)した場合、割込要求信号INT0Bの方が優先順位が高いので、この割込要求信号INT0B対応のインバータG411の出力がHレベルとなり、一方、割込要求信号INT3B対応のNOR回路G416の出力はLレベルのままである。また、割込要求信号INT2Bは、割込要求がなくHレベルのままであるので、対応するNOR回路G414の出力はLレベルとなる。
【0068】
OR回路G417は、インバータG411,NOR回路G412,G413,G416の各出力信号のOR論理を取り、従って、この場合は、インバータG411のHレベルに対応して選択割込要求信号VIを出力する。よって、割込要求信号INT0Bが選択割込要求信号VIとして出力されることになる。
【0069】
書き換えモード優先化回路412では、トランスファゲートM42に割込順位決定回路411から供給を受けた選択割込要求信号VIが入力する。また、トランスファゲートM41に割込要求信号INT3が入力する。書き換えモード信号MSの論理レベルは、Lレベルであるので、制御端子(MOSトランジスタの場合はゲート)にこの書き換えモード信号MSの供給を受けるトランスファゲートM41は遮断状態となり、一方、制御端子に書き換えモード信号MSをインバータG41で反転した反転書き換えモード信号MSBの供給を受けるトランスファゲートM42は導通状態となる。従って、割込要求信号INT3はトランスファゲートM41により阻止され、トランスファゲートM42を通過した選択割込要求信号VIが割込実行要求信号IMとして出力される。
【0070】
CPU3は、割込実行要求信号IMの供給に応答した割込動作を含む通常の動作を行う。
【0071】
次に、割込切り替えを自動的に行う場合の処理をフローチャートで示す図4を併せて参照してフラッシュメモリ1の書き換えを行う場合の動作について説明すると、フラッシュメモリ1の書き換えを行う場合は、まず、書き換えモード信号MSをLレベル(非供給状態又は不活性化状態)からHレベル(供給状態又は活性化状態)に設定する。書き換えモード信号MSがHレベル(ステップS1)となると、割込コントローラ4の割込レベル変換回路41は、割込優先順位が最下位、すなわちINT3のCSI6の割込要求信号VCの割込優先順位を最上位の順位に変更する(ステップS2)。
【0072】
同時にCPU3は、書き換えモードとなり、また、CSI6からの割込要求信号VCは最優先で扱われ、割込コントローラ4の割込レベル変換回路41は、割込実行要求信号IMを発生する状態となる。
【0073】
割込レベル変換回路41の書き換えモード優先化回路412では、トランスファゲートM42に割込順位決定回路411から供給を受けた選択割込要求信号VIが入力する。また、トランスファゲートM41に割込要求信号INT3、すなわち、CSI6からの割込要求信号VCが入力する。書き換えモード信号MSの論理レベルは、Hレベルであるので、制御端子にこの書き換えモード信号MSの供給を受けるトランスファゲートM41は導通状態となり、一方、制御端子に反転書き換えモード信号MSBの供給を受けるトランスファゲートM42は遮断状態となる。従って、選択割込要求信号VIはトランスファゲートM42により阻止され、トランスファゲートM41を通過した割込要求信号INT3、すなわち、CSI6からの割込要求信号VCが割込実行要求信号IMとして出力される。
【0074】
次に、CPU3は、割込コントローラ4が出力する、CSI6の割込要求信号VCから生成した割込実行要求信号IMの供給に応答して書き換え動作プログラムPRをROM2から読み出し、CPU3の初期化ルーチン(ステップS3)を経て、CSI6を経由して外部のホストコンピュータ8から供給される割込データ、すなわち、フラッシュメモリ1の書き換えデータDWを待つ状態、すなわち割込待ち状態(ステップS4)となる。
【0075】
また、CPU3は、CSI6を経由してこの割込待ち状態、すなわち、受信準備が完了したことを、ホストコンピュータ8に通知する(アクノリッジ)。ホストコンピュータ8は、この受信準備完了通知のアクノリッジに応答して、書き換えデータDWを送信する。次に、CSI6は、ホストコンピュータ8から割込データであるフラッシュメモリ1の書き換えデータDWを受信する(ステップS5)。
【0076】
CSI6は、クロック同期シリアルインタフェースであるので、送信側、ここでは、ホストコンピュータ8で発生した通信クロック信号に同期してデータ及びこの通信クロックの送信が行われ、受信側、すなわち、CSI6では受信した通信クロックに同期してデータを受信する。従って、調歩同期式のようなビットレート調整等のイニシャライズは不要であり、上記受信準備完了後、直ちにデータ転送処理を行うことが可能である。
【0077】
CPU3は、割り込みコントローラ4経由でCSI6での書き換えデータDWの受信を認識し、CSI6から書き換えデータDWを読み出した後、この書き換えデータを基にフラッシュメモリ1の書き換え処理を行う(ステップS6)。
【0078】
全ての書き換えデータDWを受信するまで書き換えデータDWの受信及びフラッシュメモリ1への書き換えの処理を繰り返す(ステップS7)。
【0079】
全てのフラッシュメモリ1の書き換え処理が終わった時点で終了となる。
【0080】
次に、フラッシュメモリ1の書き換え処理の最初の処理である消去処理をフローチャートで示す図5を参照して、このフラッシュメモリ1の消去処理について説明すると、まず、CPU3はフラッシュメモリ1の消去対象とするブロック(領域)を指定する(ステップS11)。さらに、CPU3はフラッシュメモリ1をイレースモードに設定する(ステップS12)。
【0081】
続いて、CPU3は消去時間Tの期間、ソフトウェアタイマで所定サイクル数待ち(ステップS13)、T時間経過後フラッシュメモリ1のイレースモードを解除する(ステップS14)。
【0082】
さらに、フラッシュメモリ1をイレーズベリファイモードに設定し(ステップS15)、消去対象のブロックをリードする(ステップS16)。
【0083】
そして、全アドレスをリードし、“1”の状態に消去されていると(ステップS17)、CPU3はイレーズベリファイモードを解除し(ステップS18)、さらに消去ブロックの指定を解除し(ステップS19)、消去完了となる。
【0084】
一方、ステップS17において、全アドレスをリードしていない場合にはアドレスをインクリメントした後(ステップS20)、ステップS16のブロックのリードからの処理を繰り返して実行する。
【0085】
この場合の消去時間Tは、メモリセルの書き込み状態(高しきい値領域VthH)から消去状態(低しきい値領域VthL)に変化させるための時間である。
【0086】
この消去時間Tはメモリセルのプロセス技術によって変動する。例えば、高しきい値領域VthHは4.5V以上であり、低しきい値領域VthLは2.5V以下であり、高しきい値領域VthHから低しきい値領域VthLに変化するまで10msかかる。
【0087】
消去処理完了後、CPU3は書き換えデータDWをCSI6からフラッシュメモリ1に転送し、フラッシュメモリ1はこの書き換えデータDWの転送を受け、消去完了後の領域への書き込み処理を行う。
【0088】
本実施の形態では、通信デバイスとしてクロック同期シリアルインタフェース(CSI)を用いたが、通信デバイスとしてこのCSIに限ることなく従来技術で説明したような調歩同期式通信(UART:Universal asynchronous Receiver/Transmitter)や2線式双方向シリアル通信方式のI2 C(Inter−IC)等のシリアル通信方式、あるいは一般的なパラレルデータの伝送によるパラレル通信方式を用いても良い。また、これらのうちの2種以上の通信方式に対応し、通信相手によりそのうちの1つの方式を選択使用するものでも良い。
【0089】
また、本実施の形態の割込コントローラの割込要求信号の数が4の場合について説明したが、これに限ることなく割込要求信号の数を任意に設定できることは明らかである。
【0090】
次に、本発明の第2の実施の形態を特徴付ける割込レベル変換回路41Aを図3と共通の構成要素には共通の参照文字/数字を付して同様に回路図で示す図6を参照すると、この図に示す本実施の形態の割込レベル変換回路41Aの前述の第1の実施の形態との相違点は、割込順位決定回路411及び書き換えモード優先化回路412の各々の代わりに、書き換えモード信号MSの活性化時の論理レベル(Hレベル)に応答して割込順位を強制的に下位順位に変更する割込順位決定回路411Aと、書き換えモード信号MSを反転して反転書き換えモード信号MSBを生成するとともにこの反転書き換えモード信号MSBの論理レベルに応答してCSI6からの割込信号VCに対応する割込要求信号INT3の順位を最高順位に設定する書き換えモード優先化回路412Aをそれぞれ備えることである。
【0091】
割込順位決定回路411Aの割込順位決定回路411との相違点は、インバータG411の代わりに割込要求信号INT0Bと書き換えモード信号MSとのNAND論理を得る2入力のNAND回路G11Aを、NAND回路G413の代わりに割込要求信号INT0B,INT1Bに加えて書き換えモード信号MSとのNAND論理を得る3入力のNAND回路G413Aを、割込要求信号INT0B,INT1B,INT2Bに加えて書き換えモード信号MSとのNAND論理を得る4入力のNAND回路G415Aを、NOR回路G412,G414,G416及び後述のNOR回路G419の各出力のOR論理を得て出力である割込実行要求信号IMを出力する5入力のOR回路G417Aをそれぞれ備えることである。
【0092】
書き換えモード優先化回路412Aは、書き換えモード信号MSを反転して反転書き換えモード信号MSBを生成するインバータG418と、割込要求信号INT3Bと反転書き換えモード信号MSBとのNOR論理を得る2入力のNOR回路G419とを備える。
【0093】
また、第1の実施の形態と同様に、本実施の形態の割込順位決定回路411Aの全ての入力端には図示しないインバータを介して割込要求信号INT0〜INT3の反転信号である反転割込要求信号INT0B〜INT3Bが供給されるものとする。反転割込要求信号INT0B〜INT3BはLレベルのとき活性状態すなわちローアクティブであるとする。
【0094】
本実施の形態の動作について説明すると、まず、書き換えモード信号MSの不活性化に対応してLレベルである通常動作モードでは、書き換えモード優先化回路412Aは論理レベルがHレベルの反転書き換えモード信号MSBを出力する。従って、NOR回路G419は割込要求信号INT3Bの論理レベルと無関係にLレベルを出力する。
【0095】
一方、割込順位決定回路411AのNAND回路G411A,G413A,G415AはそれぞれLレベルの書き換えモード信号MSが入力されるので、割込順位決定回路411Aは、第1の実施の形態の割込順位決定回路411と同一の動作を行い、従って、上位から割込要求信号INT0B,INT1B,INT2B,INT3Bの優先順序で選択し、OR回路G417Aから割込実行要求信号IMを出力する。
【0096】
すなわち、NAND回路G411Aは割込要求信号INT0Bの論理レベルがLの場合はHレベルを出力し、これは、第1の実施の形態におけるインバータG411と同一動作である。同様にNAND回路G413A,G415AもそれぞれNAND回路G413,G415と同一動作を行う。
【0097】
次に、フラッシュメモリの書き換えモードに対応して、書き換えモード信号MSが活性化しHレベルとなると、書き換えモード優先化回路412Aは論理レベルがLレベルの反転書き換えモード信号MSBを出力する。従って、NOR回路G419は割込要求信号INT3Bの論理レベルに応じてその出力論理レベルが変わり、割込要求信号INT3Bの論理レベルがLレベルの場合論理レベルがHレベルの出力信号を出力する。
【0098】
一方、割込順位決定回路411AのNAND回路G411A,G413A,G415AはそれぞれHレベルの書き換えモード信号MSが入力されるので、これらNAND回路G411A,G413A,G415Aの出力論理レベルは割込要求信号INT0B,INT1B,INT2B,INT3Bの論理レベルと無関係にLレベルを出力する。この結果、割込要求信号INT0B,INT1B,INT2B,INT3Bの論理レベルと無関係にNOR回路G412,G414,G416の各々の出力論理レベルはLレベルとなる。従って、OR回路G417Aは、割込要求信号INT3Bの論理レベルがLレベル、すなわち割込要求がある場合に対応の割込実行要求信号IMを出力する。
【0099】
【発明の効果】
以上説明したように、本発明のマイクロコントローラ及びそのプログラムの書き換え方法は、フラッシュメモリを書き換えるためのファームウェアと通信手段の動作の制御プログラム又は少なくともこの制御プログラムを設定する割込ベクタを格納したROMと、通常動作モードのとき内蔵する複数の周辺回路から送られてくる割込要求信号の優先順序を制御してCPUに通知するとともに、フラッシュメモリの書き換えモードのときこの書き換えモード設定に連動した書き換えモード信号の供給に応答して入力された通信手段からの割込要求信号を予め定めた割込順位に変更して上記CPUに通知する割込コントローラを備え、書き換えモードのとき通信手段からのデータの割込優先順位を上記予め定めた割込順位、例えば最高優先順位に自動的に設定し、上記割込ベクタ対応の制御プログラムにより通信手段を制御するので、マイクロコントローラの品種とは無関係に、ファームウェアの専用化設計を不要とすることにより、設計のTATを短縮できるという効果がある。
【0100】
また、マイクロコントローラの品種毎にファームウェアを変更する必要がないので、バグ等を十分除去した標準化設計を適用できることにより、設計品質の低下要因を除去できるという効果がある。
【図面の簡単な説明】
【図1】本発明のマイクロコントローラの第1の実施の形態を示すブロック図である。
【図2】図1の割込レベル変換回路の構成の一例を示すブロック図である。
【図3】図2の割込順位決定回路の構成の一例を示す回路図である。
【図4】本実施の形態のマイクロコントローラ及びそのプログラムの書き換え方法における動作の一例を示すフローチャートである。
【図5】本実施の形態のプログラムの書き換え方法における消去動作の一例を示すフローチャートである。
【図6】本発明のマイクロコントローラの第2の実施の形態を特徴付ける割込レベル変換回路の構成の一例を示す回路図である。
【図7】従来のマイクロコントローラ及びそのプログラムの書き換え方法の一例を示すブロック図である。
【図8】従来のマイクロコントローラ及びそのプログラムの書き換え方法における動作の一例を示すフローチャートである。
【符号の説明】
1 フラッシュメモリ
2 ROM
3 CPU
4 割込コントローラ
5 周辺回路
6 CSI
7 デコーダ
8 ホストコンピュータ
9 RAM
30 タイマ
60 SCI
41,41A 割込レベル変換回路
411,411A 割込順位決定回路
412,412A 書き換えモード優先化回路
G41,G411,G418 インバータ
G412,G414,G416,G419 NOR回路
G413,G415,G411A,G413A,G415A NAND回路
G417,G417A OR回路
M41,M42 トランスファゲート
Claims (9)
- プログラムの格納用に電気的に一括消去および書き換え可能な不揮発性メモリであるフラッシュメモリを内蔵し、このフラッシュメモリのプログラム修正を行う書き換え動作モードを割込により設定されるマイクロコントローラにおいて、
前記フラッシュメモリを書き換えるための一連の動作のプログラムであるファームウェアと後述の通信手段の動作の制御プログラムを設定する割込ベクタを格納したROMと、
前記ROMから読み出したファームウェアに従い前記フラッシュメモリの書き換え手順を制御する中央演算処理装置であるCPUと、
外部のホストコンピュータからの前記フラッシュメモリの書き換えデータの受信、及び前記ホストコンピュータへの受信準備完了通知を含む送信を行う通信手段と、
入力/出力(I/O)回路およびタイマを含む複数の周辺回路と、
前記フラッシュメモリの書き換えを行わない通常モードのとき、前記複数の周辺回路から送られてくる割込要求信号を予め定めた優先順位に従って前記CPUに通知するとともに、前記フラッシュメモリの書き換えを行う場合である書き換えモードのとき、この書き換えモード設定に連動した書き換えモード信号の供給に応答して、前記通信手段の割込要求信号を前記優先順位よって定められた前記通信手段の割込順位よりも上位に変更して前記CPUに通知する割込みコントローラと、を備えることを特徴とするマイクロコントローラ。 - 前記割込コントローラが、前記書き換えモード信号の供給に応答して入力された前記通信手段からの割込要求信号である通信割込要求信号を予め定めた基準に基づく割込順位に変更し前記CPUに割込実行を要求する割込実行要求信号を発生する割込レベル変換回路を備えることを特徴とする請求項1記載のマイクロコントローラ。
- 前記割込レベル変換回路が、予め定めたN(Nは正の整数)個の割込要求信号の優先順位に応じて同時発生した複数の割込のうちの最高優先順位のものを選択し選択割込要求信号を出力する割込順位決定回路と、
前記書き換えモード信号の論理レベルに応答して前記割込順位決定回路から出力される前記選択割込要求信号と前記通信手段からの前記通信割込要求信号とのいずれか一方を前記割込実行要求信号として選択し出力する書き換えモード優先化回路と、
を備えることを特徴とする請求項2記載のマイクロコントローラ。 - 前記Nが4であり、前記割込順位決定回路が、フラッシュメモリの書き換えを行わない通常動作モードのとき前記4個の割込要求信号のうちの最高優先順位の割込要求信号の反転信号である第1の反転割込要求信号を反転するインバータと、
前記インバータの出力信号と前記4個の割込要求信号のうちの第2の優先順位の割込要求信号の反転信号である第2の反転割込要求信号との否定論理和をとる第1のNOR回路と、
前記第1の反転割込要求信号と前記第2の反転割込要求信号との否定論理積をとる第1のNAND回路と、
前記第1のNAND回路の出力と前記4個の割込要求信号のうちの第3の優先順位の割込要求信号の反転信号である第3の反転割込要求信号との否定論理和をとる第2のNOR回路と、
前記第1の反転割込要求信号と前記第2の反転割込要求信号と前記4個の割込要求信号のうちの第3の優先順位の割込要求信号の反転信号である第3の反転割込要求信号との否定論理積をとる第2のNAND回路と、
前記第2のNAND回路の出力と前記4個の割込要求信号のうちの第4の優先順位の割込要求信号の反転信号である第4の反転割込要求信号との否定論理和をとる第3のNOR回路と、
前記インバータの出力と前記第1〜第3のNOR回路の各々の出力との論理和をとり前記選択割込要求信号を発生するOR回路と、
を備えることを特徴とする請求項3記載のマイクロコントローラ。 - 前記書き換えモード優先化回路が、前記書き換えモード信の論理レベルに応答して前記通信割込要求信号を導通遮断する第1のトランスファゲートと、
前記書き換えモード信号を反転し反転書き換えモード信号を出力するインバータと、
出力端が前記第1のトランスファゲートの出力端と共通接続され、前記インバータの出力である前記反転書き換えモード信号の論理レベルに応答して前記割込順位決定回路から供給を受けた前記選択割込要求信号を導通遮断する第2のトランスファゲートとを備え、前記出力端から前記割込実行要求信号を出力することを特徴とする請求項3記載のマイクロコントローラ。 - 前記割込レベル変換回路が、前記書き換えモード信号の不活性化時の論理レベルに応答して予め定めたN(Nは正の整数)個の割込要求信号の優先順位に応じて同時発生した複数の割込のうちの最高優先順位のものを選択して前記割込実行要求信号を出力し、前記書き換えモード信号の活性化時の論理レベルに応答して前記最高優先順位の割込要求信号の割込順位を強制的に下位順位に変更する割込順位決定回路と、
前記書き換えモード信号を反転して反転書き換えモード信号を生成するとともに前記書き換えモード信号の活性化時の前記反転書き換えモード信号の論理レベルに応答して前記通信手段からの割込要求信号である通信割込信号の順位を最高順位に設定する書き換えモード優先化回路と、
を備えることを特徴とする請求項2記載のマイクロコントローラ。 - 前記Nが4であり、前記割込順位決定回路が、フラッシュメモリの書き換えを行わない通常動作モードのとき前記4個の割込要求信号のうちの最高優先順位の割込要求信号の反転信号である第1の反転割込要求信号と前記書き換えモード信号との否定論理積をとる第1のNAND回路と、
前記第1のNAND回路の出力信号と前記4個の割込要求信号のうちの第2の優先順位の割込要求信号の反転信号である第2の反転割込要求信号との否定論理和をとる第1のNOR回路と、
前記第1の反転割込要求信号と前記第2の反転割込要求信号と前記書き換えモード信号との否定論理積をとる第2のNAND回路と、
前記第2のNAND回路の出力と前記4個の割込要求信号のうちの第3の優先順位の割込要求信号の反転信号である第3の反転割込要求信号との否定論理和をとる第2のNOR回路と、
前記第1の反転割込要求信号と前記第2の反転割込要求信号と前記4個の割込要求信号のうちの第3の優先順位の割込要求信号の反転信号である第3の反転割込要求信号と前記書き換えモード信号との否定論理積をとる第3のNAND回路と、
前記第3のNAND回路の出力と前記4個の割込要求信号のうちの第4の優先順位の割込要求信号の反転信号である第4の反転割込要求信号との否定論理和をとる第3のNOR回路と、
前記第1のNAND回路の出力と前記第1〜第3のNOR回路の各々の出力と前記書き換えモード優先化回路の出力との論理和をとり前記選択割込要求信号を発生するOR回路と、を備え、
前記書き換えモード優先化回路が、前記書き換えモード信号を反転して反転書き換えモード信号を出力するインバータと、
前記反転書き換えモード信号と前記通信割込要求信号との否定論理和をとる第4のNOR回路と、
を備えることを特徴とする請求項6記載のマイクロコントローラ。 - 前記通信手段が、シリアルコミュニケーションの一種であるクロック同期式通信方式に対応するクロック同期シリアルインタフェースを備えることを特徴とする請求項1記載のマイクロコントローラ。
- プログラムの格納用に電気的に一括消去および書き換え可能な不揮発性メモリであるフラッシュメモリを内蔵し、このフラッシュメモリのプログラム修正を行う書き換え動作モードを割込により設定されるマイクロコントローラのフラッシュメモリの書き換え方法において、
前記フラッシュメモリの書き換えを行う書き換えモードのときこの書き換えモード設定に連動した書き換えモード信号の論理レベルをLレベルからHレベルに設定する第1のステップと、
前記書き換えモード信号のHレベルへの遷移に応答して、外部のホストコンピュータからの前記フラッシュメモリの書き換えデータの受信、及び前記ホストコンピュータへの受信準備完了通知を含む送信を行う通信手段の割込要求信号の優先順位を予め定められた順位から最上位の順位に変更する第2のステップと、
前記通信手段の割込要求信号から生成した割込み実行要求信号の供給に応答して書き換え動作プログラムを読み出し、CPUの初期化を行う第3のステップと、
前記通信手段を経由して前記ホストコンピュータから供給される前記フラッシュメモリの書き換えデータの受信を行うための割込を待つ第4のステップと、
前記通信手段が前記ホストコンピュータが送信した割込データである前記書き換えデータを受信する第5のステップと、
前記CPUが、前記通信手段における前記書き換えデータの受信を認識し、この書き換えデータを下に前記フラッシュメモリの書き換え処理を行う第6のステップと、
すべての前記書き換えデータを受信するまで前記書き換えデータの受信及び前記フラッシュメモリへの書き換え処理を繰り返す第7のステップと、
を含むことを特徴とするマイクロコントローラのフラッシュメモリの書き換え方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21419799A JP4127934B2 (ja) | 1999-07-28 | 1999-07-28 | マイクロコントローラ及びそのプログラムの書き換え方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21419799A JP4127934B2 (ja) | 1999-07-28 | 1999-07-28 | マイクロコントローラ及びそのプログラムの書き換え方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001043206A JP2001043206A (ja) | 2001-02-16 |
JP4127934B2 true JP4127934B2 (ja) | 2008-07-30 |
Family
ID=16651847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21419799A Expired - Fee Related JP4127934B2 (ja) | 1999-07-28 | 1999-07-28 | マイクロコントローラ及びそのプログラムの書き換え方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4127934B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4828816B2 (ja) | 2004-10-25 | 2011-11-30 | 株式会社東芝 | メモリカード、半導体装置、及びメモリカードの制御方法 |
JP5720206B2 (ja) * | 2010-11-29 | 2015-05-20 | ミツミ電機株式会社 | マイクロプロセッサ |
-
1999
- 1999-07-28 JP JP21419799A patent/JP4127934B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001043206A (ja) | 2001-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8037358B2 (en) | Semiconductor device and boot method for the same | |
US7440337B2 (en) | Nonvolatile semiconductor memory apparatus having buffer memory for storing a program and buffering work data | |
TWI279727B (en) | Semiconductor device and method for activating the same | |
US9208022B2 (en) | Techniques for adaptive moving read references for memory cell read error recovery | |
KR20020021001A (ko) | 데이터 처리시스템 및 데이터 처리방법 | |
JP2006134482A (ja) | 不揮発性メモリシステム | |
KR20140028543A (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
US20160232982A1 (en) | Semiconductor device control circuit and method thereof | |
JP2011100518A (ja) | 半導体装置及びその制御方法 | |
JPH08263996A (ja) | 半導体メモリ装置の動作モード制御方法とその回路 | |
KR20090021508A (ko) | 멀티-비트 및 싱글-비트 방식으로 데이터를 저장하는플래시 메모리 장치 및 그것의 프로그램 방법 | |
US6259630B1 (en) | Nonvolatile semiconductor memory device equipped with verification circuit for identifying the address of a defective cell | |
JP2000030475A (ja) | 半導体メモリ装置 | |
JP4127934B2 (ja) | マイクロコントローラ及びそのプログラムの書き換え方法 | |
US6532529B1 (en) | Microcomputer including flash memory overwritable during operation and operating method thereof | |
US6535442B2 (en) | Semiconductor memory capable of debugging an incorrect write to or an incorrect erase from the same | |
US5381556A (en) | Semiconductor device having externally programmable memory | |
US20030135702A1 (en) | Microcomputer for accessing a replacing block area preset in a nonvolatile memory in place of a replaced block area accessed in the nonvolatile memory | |
JP5017443B2 (ja) | メモリシステム | |
US9996458B1 (en) | Memory sector retirement in a non-volatile memory | |
US7191323B2 (en) | Information processing unit selecting one of reset vector addresses | |
JP5059524B2 (ja) | メモリ制御回路、半導体集積回路、不揮発性メモリのベリファイ方法 | |
US8477557B2 (en) | Input circuit of semiconductor memory apparatus and controlling method thereof | |
US5307313A (en) | Flag circuit for memory | |
JPH07182899A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040423 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060303 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070703 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070814 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071012 |
|
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: 20080422 |
|
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: 20080513 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110523 Year of fee payment: 3 |
|
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: 20110523 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110523 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120523 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120523 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130523 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140523 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |