(57)【特許請求の範囲】
【請求項１】
外部回路との間で少なくともデータ，アドレス信号及び制御信号の授受を行う入出力ポート及びシリアル・コミュニケーション・インタフェースを含むインタフェース部と、通常動作モード，オンボード書込み動作モード及び各種テストモードを含む動作モードを設定，制御するモード制御部と、前記動作モードでの書込み指示を受け前記インタフェース部を介して入力されたプログラムを指定アドレスに順次書込んで記憶し読出し指示を受け指定アドレスから前記プログラムを順次読出すフラッシュＥＥＰＲＯ部と、前記動作モードでの書込み指示を受け伝達されたデータを指定アドレスに書込んで記憶し読出し指示を受け指定アドレスから記憶データを読出すＲＡＭ部と、前記フラッシュＥＥＰＲＯＭ部にプログラムを書込むための書込み用プログラムを記憶しておき前記動作モードでの読出し指示を受け指定アドレスから前記書込み用プログラムを順次読出す書込み用ＲＯＭ部と、前記モード制御部により設定制御された動作モードに従って前記インタフェース部，フラッシュＥＥＰＲＯＭ部，ＲＡＭ部及び書込み用ＲＯＭ部を含む各部の動作指示，制御を行い所定のプログラム処理を行う中央処理部と、前記インタフェース部、フラッシュＥＥＰＲＯＭ部、ＲＡＭ部、書き込み用ＲＯＭ部及び中央処理部を接続するバスとを有するフラッシュメモリ内蔵マイクロコンピュータにおいて、前記各種テストモード内に前記書込み用プログラムのエミュレーションを行うエミュレーションテストモードを設け、このエミュレーションテストモード時には、前記モード制御部により前記書込み用ＲＯＭ部以外の各部を前記オンボード書込み動作モードと同一の動作モードとなるように設定制御すると共に前記書き込み用ＲＯＭ部を前記バスから切り離し前記入出力ポートを前記バスに接続する切換回路を備え、書込み用ＲＯＭ部を非活性状態とすると共に前記インタフェース部のうちの前記オンボード書込み動作モード時には使用しない前記入出力ポートを活性化状態として前記書込み用ＲＯＭ部に対する読出し指示，アドレス指定をこの入出力ポートを介して外部回路に伝達し、この外部回路に書き込まれたプログラムによって前記中央処理部によるフラッシュＥＥＰＲＯＭへの書き込み及び消去動作をテストすることを特徴とするフラッシュメモリ内蔵マイクロコンピュータ。
【請求項２】
前記中央処理部は前記外部回路に書き込まれたプログラムに基づいて前記シリアル・コミュニケーション・インターフェースを介して前記フラッシュＥＥＰＲＯＭに書き込むべきデータが書き込まれたデータ供給源にアクセスしこのデータを前記フラッシュＥＥＰＲＯＭに書き込むことを特徴とする請求項１記載のフラッシュメモリ内臓マイクロコンピュータ。
【請求項３】
オンボード書込み動作モード時に、インタフェース部を介して所定の単位ずつ取込まれる書込み用のデータのこの所定の単位のデータが取込まれる時間を検出してこの時間が予め設定された時間より短いか否か判別するデータ受信時間検出判別回路と、このデータ受信時間検出判別回路によって前記所定の単位のデータが取込まれる時間が前記予め設定された時間より短いと判定されたときには前記所定の単位のデータを中央処理部のレジスタ回路及びＲＡＭ部を含む記憶領域のうちの所定の記憶領域に一旦保持したのち所定のタイミングでフラッシュＥＥＲＯＭ部に伝達し、否と判定されたときには前記所定の単位のデータを直接前記フラッシュＥＥＰＲＯＭ部に伝達するデータ伝達制御手段とを設けた請求項１記載のフラッシュメモリ内蔵マイクロコンピュータ。
【請求項４】
フラッシュＥＥＰＲＯＭ部に、データの書込み時間を決定する書込み制御パルス及び消去時間を決定する消去制御パルスを発生する制御回路を含み、この制御回路を、前記書込み時間及び消去時間それぞれと対応する値を保持するモジュロ・レジスタと、書込み動作時，消去動作時に所定のタイミングで前記書込み制御パルス，消去制御パルスを活性化レベルに立上らせると共にクロックパルスのカウントを開始しそのカウント値が前記モジュロ・レジスタの保持値と一致したとき前記書込み制御パルス，消去制御パルスを非活性化レベルとするパルス発生部と、前記モジュロ・レジスタに保持される値を設定するレジスタ値設定手段とを備えた回路とした請求項１に記載のフラッシュメモリ内蔵マイクロコンピュータ。
【請求項５】
制御回路に、クロックパルスの周波数を検出する周波数検出回路を設け、レジスタ値設定手段を、前記周波数検出回路で検出された周波数の従ってモジュロ・レジスタに保持される値を設定する回路とした請求項４記載のフラッシュメモリ内蔵マイクロコンピュータ。
【請求項６】
制御回路に、モジュロ・レジスタに保持されている値と対応するパルス値より広いパルス幅の書込み制御パルス，消去制御パルスを発生するように制御するパルス幅拡大制御手段を設けた請求項４記載のフラッシュメモリ内蔵マイクロコンピュータ。
【請求項７】
パルス幅拡大制御手段を、クロックパルスのカウント値がモジュロ・レジスタの保持値と一致した後、所定の時間経過後に書込み制御パルス，消去制御パルスを非活性化レベルとする割込み回路とした請求項６記載のフラッシュメモリ内蔵マイクロコンピュータ。
【請求項８】
パルス幅拡大制御手段を、伝達されたクロックパルスを所定数間引いてカウントするようにするクロック伝達制御回路とした請求項６記載のフラッシュメモリ内蔵マイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はフラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法に関し、特にフラッシュメモリに対するオンボード書込みの機能を備えたフラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法に関する。
【０００２】
【従来の技術】
信号処理やシステム制御のためのプログラム（以下、これらを制御プログラムという）を格納するＲＯＭを内蔵し、所定のシステムに組込まれるマイクロコンピュータは、現在、カメラ，ＡＶ機器，自動車をはじめ、産業用等の大型システムに至るまで広範囲に使用されている。そして、このようなシステムにおいては、システムニーズの多様化や急速な発展に伴って、その更新や変更が必然的となってきており、制御用プログラムを格納するＲＯＭも、当初のマスクＲＯＭから、ＥＰＲＯＭを経てＥＥＰＲＯＭ，フラッシュＥＥＰＲＯＭへと変化しつつある。
【０００３】
このようなシステムに使用されるフラッシュメモリ内蔵マイクロコンピュータの従来の代表的な一例（第１の例）を図８に示す（例えば、特開平５−２６６２１９号公報参照）。
【０００４】
このフラッシュメモリ内蔵マイクロコンピュータは、内部のデータ，アドレス信号及び制御信号を含む各種信号を伝達する内部バスのデータバスＤＢ及びアドレスＡＢと（制御信号バスは図示省略）、この内部バス（ＤＢ，ＡＢ等）と外部回路との間で各種信号の授受を行う入出力ポート６ａ，６ｂ及びシリアル・コミュニケーション・インタフェース部７と、通常動作モード，オンボード書込み動作モード及び各種テストモードを含む動作モードを設定，制御するモード制御部５ｘと、所定の動作モードで書込み指示を受け所定のインタフェース、例えばシリアル・コミュニケーション・インタフェース部７を介して入力され内部バスに伝達された制御プログラムを伝達された指定アドレスに順次書込んで記憶し読出し指示を受け伝達された指定アドレスから記憶されている制御プログラムを内部バス（データバスＤＢ）に順次読出すフラッシュＥＥＰＲＯＭ部２と、所定の動作モードで書込み指示を受け内部バスを介して伝達されたデータを指定アドレスに書込んで記憶し読出し指示を受け指定アドレスから記憶データを内部バス（データバスＤＢ）に読出すＲＡＭ部３と、フラッシュＥＥＰＲＯＭ部２に制御プログラムを書込むための書込み用プログラムを記憶しておき所定の動作モードで読出し指示を受け指定アドレスからこの書込み用プログラムを順次内部バス（データバスＤＢ）に読出す書込み用ＲＯＭ部４と、モード制御部５ｘにより設定制御された動作モードに従って入出力ポート６ａ，６ｂ、シリアル・コミュニケーション・インタフェース部７、フラッシュＥＥＰＲＯＭ部２、ＲＡＭ部３、書込み用ＲＯＭ部４を含む各部の動作指示，制御を行って所定のプログラム処理を行う中央処理部１とを有する構成となっている。
【０００５】
次に、このフラッシュメモリ内蔵マイクロコンピュータの各動作モードにおける動作について説明する。
【０００６】
まず、通常動作モード、すなわち、このフラッシュメモリ内蔵マイクロコンピュータ（以下、「本マイコン」と省略することもある）が所定のシステム内で通常の動作を行うときの動作について、図９（Ａ）に示されたブロック図を参照し説明する。
【０００７】
モード制御部５ｘは、例えば入出力ポート６ａからデータバスＤＢを介して入力されるモード設定信号が通常動作モードを指定していることを知り、この通常動作モードに関与する各部、すなわち、中央処理部１，フラッシュＥＥＰＲＯＭ部２，ＲＡＭ部３，シリアル・コミュニケーション・インタフェース部７（本マイコンが組込まれるシステムによっては、入出力ポート（６ａ，６ｂ）共、又は入出力ポートのみ）をデータバスＤＡ，アドレスバスＡＤ（及び図示省略されているが制御信号バス）に接続する。又、主として中央処理部１に通常動作モードであることを知らせる。
【０００８】
中央処理部１は、通常動作モードであることを知り、フラッシュＥＥＰＲＯＭ２から順次制御プログラムを読出し、この制御プログラムに従って各部を制御すると共に、シリアル・コミュニケーション・インタフェース部７を介して入力される外部回路（システム側）からの各種信号に対し所定の処理を行って外部回路に戻したり、各種信号に対する処理実行中の中間結果をＲＡＭ部３に書込んで記憶させ、またこのＲＡＭ部３からのデータを読出して所定の処理を行う等のプログラム処理を実行する。
【０００９】
次に、このフラッシュメモリ内蔵マイクロコンピュータをシステムに実装した状態で本マイコンのフラッシュＥＥＰＲＯＭ部２に制御プログラムを書込むオンボード書込み動作モードにおける動作について説明する。このオンボード書込み動作モードの場合には、図９（Ｂ）に示されたブロック図のように、モード制御部５ｘによって接続，制御される。
【００１０】
シリアル・コミュニケーション・インタフェース部７には、例えば、書込み用アダプタを介して制御プログラム供給源と接続されている。
【００１１】
中央処理部１は、オンボード書込み動作モードであることを知り、書込み用ＲＯＭ部４から書込み用プログラムを読込み、この書込み用プログラムに従って、シリアル・コミュニケーション・インタフェース部７及び書込み用アダプタを介して制御プログラム供給源からの制御プログラムを読込み、フラッシュＥＥＰＲＯＭ部２に書込む。この際、読込んだプログラムを一旦ＲＡＭ部３に格納してからフラッシュＥＥＰＲＯＭ部２に書込むようにした例もある。この書込みの際には、書込みベリファイも同時に行なわれる。
【００１２】
次に、テストモードのうちの中央処理部１を中心とした処理動作のテスト（ＣＰＵ系テストという）を行うときの動作について説明する。この場合は、モード制御部５ｘによりＣＰＵ系テストモードに設定制御され、図１０（Ａ）に示されたように、ＣＰＵ系テストを行うためのテスト用プログラムを格納したテスト用外部メモリ２００を入出力ポート６ａ（又はシリアル・コミュニケーション・インタフェース部７でもよい）を介して内部バスと接続する。このとき、フラッシュＥＥＰＲＯＭ部２はデータバスＤＢから切離される。フラッシュＥＥＰＲＯＭ部２に代えてテスト用外部メモリ２００から読み出されるテスト用プログラムによってＣＰＵを動作させ、効率的にテストを行うためである。
【００１３】
中央処理部１は、ＣＰＵ系テストモードであることを知り、テスト用外部メモリ２００からテスト用プログラムを順時読込み、このテスト用プログラムに従って所定の処理を実行する。また、処理中の中間結果等はＲＡＭ部３に一時保管され、各種の処理結果は入出力ポート６ａを介してテスト用外部メモリ２００に出力されるか、図示されていないが、他の入出力ポートから出力される。こうして、中央処理部１を中心とした処理動作のテストが行なわれる。
【００１４】
なお、テスト用外部メモリ２００及び後述するメモリテスト装置３００はＬＳＩテスターであってもよい。この場合、テスト用外部メモリ２００から読み出されるテスト用プログラムはＬＳＩテスターのドライバーから印加されるテストパターンでも良い。この場合マイコンから出力される処理結果はＬＳＩテスターに入力され、マイコンが正常動作しているかどうかがテストされる。
【００１５】
次に、テストモードのうちのフラッシュＥＥＰＲＯＭ部２をテストする（フラッシュメモリテスト）ときの動作について説明する。この場合は、モード制御部５ｘにより、図１０（Ｂ）に示されたように、入出力ポート６ａ，内部バスを介してフラッシュＥＥＰＲＯＭ部２が外部のメモリテスト装置３００と接続され、中央処理部１等の他のブロックは内部バスから切り離される。
【００１６】
そして、メモリテスト装置３００によって、フラッシュＥＥＰＲＯＭ部２に対し、消去テスト（ベリファイを含む），書込みテスト（同じくベリファイを含む）等が実行される。このような形でフラッシュメモリテストを行うのは、中央処理部１を通して例えばオンボード書込みのルートを使って行うのでは、テスト時間が長くなりすぎるからである。
【００１７】
このフラッシュメモリ内蔵マイクロコンピュータにおいて、フラッシュＥＥＰＲＯＭ部２に制御プログラムをオンボード書込みする場合、一般的にはシリアル・コミュニケーション・インタフェース部７を介して制御プログラム供給源と接続するが、入出力ポート（６ａ，６ｂ）介して接続することもある。
【００１８】
シリアル・コミュニケーション・インタフェース部７には、その通信方式によって色々な種類があり、例えば、クロック信号，送信データ，受信データそれぞれを伝送する３本の信号線を使用するクロック同期式通信方式の３線式通信インタフェース、送信データ，受信データそれぞれを伝送する２本の信号線を使用し、送信データ，受信データにスタートビット，ストップビットを含む非同期式通信（ＵＡＲＴ）インタフェース、クロック信号と伝送データ，受信データとをそれぞれ伝送する２本の信号線を使用する同期式通信方式のＩＩＣバス通信インタフェースなどがある。
【００１９】
オンボード書込み動作モードにおいて、このシリアル・コミュニケーション・インタフェース部７として、これらのうちのどの通信インタフェースのどれを採用するかは、これら通信インタフェースの回路規模，動作スピード等の特性，ノイズ等に対する耐環境性，信号線数や、本マイコンが組込まれるシステム（以下、上位システムという）の使用分野、本マイコンに対するチップ面積の制約、上位システムとの整合性等を考慮して最適のものに決定され固定される。
【００２０】
この従来のフラッシュメモリ内蔵マイクロコンピュータでは、オンボード書込み動作モード等のフラッシュＥＥＰＲＯＭ部２へのプログラムやデータの書込み動作時には、通常、図１１に示すように、シリアル・コミュニケーション・インタフェース部７を介して、外部からのプログラムやデータ（以下、単にデータという）を所定の単位ずつ取込んで一旦中央処理部１のバッファ回路１１に保持するかＲＡＭ部３に保持し、この後、所定のタイミングでフラッシュＥＥＰＲＯＭ部２に伝達して書込み動作を行っている。
【００２１】
この書込み動作時におけるデータの書込み時間や、消去動作時におけるデータの消去時間は、フラッシュＥＥＰＲＯＭ部２内に設けられている制御回路により決定される。
【００２２】
図１２（Ａ），（Ｂ）は一般的なフラッシュＥＥＰＲＯＭ部２内部構成の一例を示すブロック図及びその制御回路の書込み制御パルス発生部分のブロック図である。
【００２３】
このフラッシュＥＥＰＲＯＭ部２は、複数のメモリセルトランジスタを行方向，列方向に配置したメモリセルアレイ２０と、このメモリセルアレイ２０の所定のメモリセルトランジスタを選択してデータの書込み，読出しを行う行選択回路２１，列デコーダ２２，列選択スイッチ回路２３，書込み回路２４及びセンス増幅器２５と、書込み動作時（中央処理部１からの書込み制御信号ＷＥが活性化レベル）や消去動作時（消去制御信号ＥＲが活性化レベル）にデータの書込み時間を決定する書込み制御パルスＷＥＰやデータの消去時間を決定する消去制御パルスＥＲＰを発生すると共に内部書込み制御信号ＷＥｉ，内部消去制御信号ＥＲｉを発生して書込み動作，消去動作を制御する制御回路２６と、書込み動作時に書込み制御パルスＷＥＰに同期して同一パルス幅の書込み用電圧Ｖｗｅを発生し書込み回路２４を介して選択されメモリセルトランジスタのドレインに供給する書込み電圧発生回路２８と、書込み動作時に選択されたメモリセルトランジスタの制御ゲートに書込み用の電圧を供給し読出し動作時には電源電圧を供給する電圧切換回路２７と、消去動作時に消去制御パルスＥＲＰと同期して同一パルス幅の消去用電圧Ｖｅｒを発生しソース線ＳＬを介してメモリセルアレイ２０の全メモリセルトランジスタのソースに供給する消去電圧発生回路２９とを備え、また、消去動作時には、内部消去制御信号ＥＲｉに従ってメモリセルアレイ２０の全メモリセルトランジスタの制御ゲートを接地電位に、ドレインを開放状態にする構成となっている。
【００２４】
そしてこのフラッシュＥＥＰＲＯＭ部２の制御回路２６には、書込み制御信号ＷＥや消去制御信号ＥＲなどのメモリ動作モード信号ＭＭＤと本マイコン内部の動作タイミングの基本となるクロックパルスＣＫとを受けてスタートパルスＳＴＴを発生するタイミング制御部２６１と、スタートパルスＳＴＴに応答してクロックパルスＣＫのカウントを開始するカウンタ２６２と、書込み制御パルスＷＥＰ，書込み用電圧Ｖｗｅのパルス幅と対応する値を保持するモジュロ・レジスタ２６３と、カウンタ２６２からのカウント値がモジュロ・レジスタ２６３の保持値と一致したときストップパルスＳＴＰを発生する比較回路２６４と、スタートパルスＳＴＴで出力端、すなわち書込み制御パルスＷＥＰを活性化レベルとしストップパルスＳＴＰで非活性レベルとして所定のパルス幅の書込み制御パルスＷＥＰを発生するパルス発生回路２６５とが含まれている。なお、消去制御パルスＥＲＰも制御回路２６内の同様の回路によって生成される。そして、モジュロ・レジスタ２６３に保持される値は、本マイコン内部で使用されるクロックパルスＣＫの周波数によって定まり、通常固定化されていて、一定の書込み時間（例えば５０μｓ），消去時間（例えば２ｓ）を保つようになっている。
【００２５】
【発明が解決しようとする課題】
上述した従来のフラッシュ内蔵マイクロコンピュータは、テストモードにおいて中央処理部１を中心とした処理動作のテスト（ＣＰＵ系テストモード）、及びフラッシュＥＥＰＲＯＭ部２の単独での動作テスト（フラッスメモリテスト）は実施されるものの、この２つのモードのテストでは中央処理部１を動作させてフラッシュＥＥＰＲＯＭ部２の消去，書込みのテストを行うことは出来ないという問題点があった。
【００２６】
なぜならば、ＣＰＵ系テストモードでは内部のフラッシュＥＥＰＲＯＭ部に代えてテスト用外部メモリ２００から読み出されるプログラムにより動作させるため、フラッシュＥＥＰＲＯＭ部２はデータバスＤＢから切り離す必要があった。一方、フラッシュメモリテストではテスト時間を短縮するために中央処理装置１等を内部バスから切り離しフラッシュＥＥＰＲＯＭ部２を単独でテストする必要があったからである。
【００２７】
しかし、ＣＰＵ系テストモードのテスト結果とフラッシュメモリテストのテスト結果がどちらも正常動作であったとしても、中央処理部１を動作させて中央処理部１の制御下でフラッシュＥＥＰＲＯＭ部２の消去，書込みを行った場合に正常に動作するという保証はない。なぜならば、中央処理部１からフラッシュＥＥＰＲＯＭ部２に与えられる消去信号，書込み信号の接続及びタイミング等についてはＣＰＵ系テスト及びフラッシュメモリテストのどちらにおいてもテストできないからである。
【００２８】
また、ＣＰＵ系テスト及びフラッシュメモリテスト以外のテスト方法としては書込み用ＲＯＭ部４の書込みプログラムを動作させて中央処理部１の制御下においてフラッシュＥＥＰＲＯＭ２の消去，書込みのテストを行うことも考えられる。しかし、内蔵されている書込み用ＲＯＭ部４にはシリアルインターフェース通信の初期設定等の実際のオンボード書込みには必要ではあるが、フラッシュＥＥＰＲＯＭ２の消去，書込みのテストを行うためには冗長な部分が含まれており効率よくテストを行うことができない。また、漏れのないテストのためには書込みＲＯＭ部４にはない命令の組み合わせを使ってフラッシュＥＥＰＲＯＭ２の消去，書込みのテストが必要な場合もある。従って、書込み用ＲＯＭ部４のプログラムを動作させてテストを行ったとしても、中央処理部１の制御下におけるフラッシュＥＥＰＲＯＭ部の消去，書込みのテストを十分に行うことは不可能であった。これらの理由は一般にＲＯＭを内蔵しているマイクロコンピュータが内蔵のＲＯＭのプログラムを動作させてテストを行うことにより、外部から命令を挿入してテストを行うことが一般的であるのと同一の理由である。
【００２９】
また、オンボード書込み動作モード時以外には、書込み用ＲＯＭ部４は全く使用されず常に非活性化状態にあり、一方、オンボード書込み動作モード時には、内蔵するメモリ領域のうちに使用しない領域もあってメモリの無駄があり、その分、チップ面積が増大するという問題点がある。
【００３０】
また、オンボード書込み動作モードにおいて使用されるシリアル・コミュニケーション・インタフェース部７は、特定の通信方式の通信インタフェースに固定されているので、組込みできる上位システムの範囲が制限されるという問題点と、広範囲の上位システムに対応できるようにするには、通信方式の異なる通信インタフェースをオンボード書込み用として内蔵した複数種類のマイコンを準備する必要があり、製作，管理等が繁雑になるという問題点がある。
【００３１】
また、オンボード書込み動作モード等でフラッシュＥＥＰＲＯＭ部２にデータ（プログラムを含む）を書込む際に、外部からの所定単位のデータを一旦、中央処理部１のバッファ回路１１やＲＡＭ部３に取込んでからフラッシュＥＥＰＲＯＭ部２に伝達する構成となっているので、所定単位のデータの取込みに要する時間がこの所定単位のデータのフラッシュＥＥＰＲＯＭ部２への書込みに要する時間より長い場合には、中央処理部１等への一旦取込みに要する時間分だけ動作速度が遅くなるという問題点がある。
【００３２】
また、フラッシュＥＥＰＲＯＭ部２にデータを書込むときの書込み時間、及びデータを消去するときの消去時間は、このフラッシュＥＥＰＲＯＭ部２内の制御回路２６において、内部動作タイミングの基本となるクロックパルスＣＫをモジュロ・レジスタ２６３に保持されている値だけカウントして決定し、かつこのモジュロ・レジスタ２６３に保持されている値は固定されているので、上位システムの動作周波数が変更されたり、通信方式が変ったりして内部のクロックパルスＣＫの周波数が変更されると所定の書込み時間，消去時間を保つことができなくなり、上位システムに対する適応性が低いという問題点がある。
【００３３】
従って、本発明の第１の目的は、従来のテスト方法ではテスト出来なかった中央処理部１を動作させて中央処理部１の制御下でフラッシュＥＥＰＲＯＭ部の消去，書込みが出来るかどうかをテストできるフラッシュメモリ内蔵マイコン及びフラッシュメモリ内蔵マイコン及びそのテスト方法を提供することであり、第２の目的は、内蔵するメモリ領域の無駄をはぶいてチップ面積を小さくすることができるフラッシュメモリ内蔵マイクロコンピュータを提供することにあり、第３の目的は、１種類で異なる通信方式の上位システムとの通信が可能となって組込みできる上位システムの範囲を拡大することができ、製作，管理等を単純化することができるフラッシュメモリ内蔵マイクロコンピュータを提供することにあり、第４の目的は、所定単位のデータを取込む時間が書込み時間より長い場合の動作速度を速くすることにあり、第５の目的は、上位システムの動作周波数や通信方式等が変っても書込み時間，消去時間が常に一定時間となって上位システムに対する適応性を向上させると共に安定した書込み特性，消去特性が得られるようにすることにある。
【００３４】
【課題を解決するための手段】
第１の発明のフラッシュメモリ内蔵マイクロコンピュータは、外部回路との間で少なくともデータ，アドレス信号及び制御信号の授受を行う入出力ポート及びシリアル・コミュニケーション・インタフェースを含むインタフェース部と、通常動作モード，オンボード書込み動作モード及び各種テストモードを含む動作モードを設定，制御するモード制御部と、前記動作モードでの書込み指示を受け前記インタフェース部を介して入力されたプログラムを指定アドレスに順次書込んで記憶し読出し指示を受け指定アドレスから前記プログラムを順次読出すフラッシュＥＥＰＲＯ部と、前記動作モードでの書込み指示を受け伝達されたデータを指定アドレスに書込んで記憶し読出し指示を受け指定アドレスから記憶データを読出すＲＡＭ部と、前記フラッシュＥＥＰＲＯＭ部にプログラムを書込むための書込み用プログラムを記憶しておき前記動作モードでの読出し指示を受け指定アドレスから前記書込み用プログラムを順次読出す書込み用ＲＯＭ部と、前記モード制御部により設定制御された動作モードに従って前記インタフェース部，フラッシュＥＥＰＲＯＭ部，ＲＡＭ部及び書込み用ＲＯＭ部を含む各部の動作指示，制御を行い所定のプログラム処理を行う中央処理部とを有するフラッシュメモリ内蔵マイクロコンピュータにおいて、前記各種テストモード内に前記書込み用プログラムのエミュレーションを行うエミュレーションテストモードを設け、このエミュレーションテストモード時には、前記モード制御部により前記書込み用ＲＯＭ部以外の各部を前記オンボード書込み動作モードと同一の動作モードとなるように設定，制御し、かつ前記書込み用ＲＯＭ部を非活性状態とすると共に前記インタフェース部のうちの前記オンボード書込み動作モード時には使用しない入出力ポートを活性化状態として前記書込み用ＲＯＭ部に対する読出し指示，アドレス指定をこの入出力ポートを介して外部回路に伝達することで、前記書込み用プログラムと同等のプログラムを前記外部回路から取込むようにして構成される。
【００３５】
第２の発明のフラッシュメモリ内蔵マイクロコンピュータのテスト方法は、前記第１の発明のフラッシュメモリ内蔵マイクロコンピュータのエミュレーションテストモード時に、活性化状態とされた入出力ポートに書込み用ＲＯＭ部に格納されている書込み用プログラムと同一のプログラムを同一のアドレスに記憶する外部メモリを接続し、オンボード書込み動作モード時にフラッシュメモリへの制御用プログラムの供給源と接続するインタフェース部にはこの制御用プログラムと対応するエミュレーションテスト用のデータの供給源を接続して、オンボード書込み動作モードと同一の動作を実行し、前記書込み用プログラムのエミュレーションテストを行うようにして構成される。
【００３６】
第３の発明のフラッシュメモリ内蔵マイクロコンピュータのテスト方法は、フラッシュＥＥＰＲＯＭ部と、通常時は前記フラッシュＥＥＰＲＯＭ部から読出した命令によって全体を制御する中央処理部と、動作モードに応じて活性化される周辺回路を有し、さらに前記中央処理部の制御下で前記フラッシュＥＥＰＲＯＭ部の書換えを行う機能を有するフラッシュメモリ内蔵マイクロコンピュータのテスト方法において、前記フラッシュＥＥＰＲＯＭ部から読出す命令に代えて外部から命令を入力することにより前記中央処理部を動作させ、前記フラッシュＥＥＰＲＯＭ部以外の前記中央処理部，周辺回路の機能をテストする工程と、前記中央処理部から前記フラッシュＥＥＰＲＯＭ部を切り離し、前記フラッシュＥＥＰＲＯＭ部単独で外部から入力される信号により直接、前記フラッシュＥＥＰＲＯＭ部の消去，書込みテストを行い、前記フラッシュＥＥＰＲＯＭ単独での機能をテストする工程と、外部から入力した命令によって前記中央処理部を動作させ、この中央処理部の制御下で前記フラッシュＥＥＰＲＯＭの消去，書込みテストを行うことにより、前記フラッシュＥＥＰＲＯＭ部及び中央処理部の接続状態をテストする工程を少なくとも有して構成される。
【００３７】
第４の発明のフラッシュメモリ内蔵マイクロコンピュータは、外部回路との間で少なくともデータ，アドレス信号及び制御信号の授受を行う入出力ポート及びシリアル・コミュニケーション・インタフェースを含むインタフェース部と、通常動作モード，オンボード書込み動作モード及び各種テストモードを含む動作モードを設定，制御するモード制御部と、前記動作モードでの書込み指示を受け前記インタフェース部を介して入力されたプログラムを指定アドレスに順次書込んで記憶し読出し指示を受け指定アドレスから前記プログラムを順次読出すフラッシュＥＥＰＲＯＭ部と、前記動作モードでの書込み指示を受け伝達されたデータを指定アドレスに書込んで記憶し読出し指示を受け指定アドレスから記憶データを読出すＲＡＭ部と、前記フラッシュＥＥＰＲＯＭ部にプログラムを書込むための書込み用プログラムを記憶しておき前記動作モードでの読出し指示を受け指定アドレスから前記書込み用プログラムを順次読出す書込み用ＲＯＭ部と、前記モード制御部により設定制御された動作モードに従って前記インタフェース部，フラッシュＥＥＰＲＯＭ部，ＲＡＭ部及び書込み用ＲＯＭ部を含む各部の動作指示，制御を行い所定の信号処理を行う中央処理部とを有するフラッシュメモリ内蔵マイクロコンピュータにおいて、前記書込み用ＲＯＭ部に代えて、前記ＲＡＭ部内の所定の領域に、所定の初期状態に前記書込み用プログラムが書込まれて記憶される書込みプログラム初期設定領域を設け、前記オンボード書込み動作モード時に、前記書込み用ＲＯＭ部へのアクセスに代えて、前記ＲＡＭ部の書込みプログラム初期設定領域にアクセスするようにして構成される。
【００３８】
第５の発明のフラッシュメモリ内蔵マイクロコンピュータは、外部回路との間で少なくともデータ，アドレス信号及び制御信号の授受を行う入出力ポート及びシリアル・コミュニケーション・インタフェースを含むインタフェース部と、通常動作モード，オンボード書込み動作モード及び各種テストモードを含む動作モードを設定，制御するモード制御部と、前記動作モードでの書込み指示を受け前記インタフェース部を介して入力されたプログラムを指定アドレスに順次書込んで記憶し読出し指示を受け指定アドレスから前記プログラムを順次読出すフラッシュＥＥＰＲＯＭ部と、前記動作モードでの書込み指示を受け伝達されたデータを指定アドレスに書込んで記憶し読出し指示を受け指定アドレスから記憶データを読出すＲＡＭ部と、前記フラッシュＥＥＰＲＯＭ部にプログラムを書込むための書込み用プログラムを記憶しておき前記動作モードでの読出し指示を受け指定アドレスから前記書込み用プログラムを順次読出す書込み用ＲＯＭ部と、前記モード制御部により設定制御された動作モードに従って前記インタフェース部，フラッシュＥＥＰＲＯＭ部，ＲＡＭ部及び書込み用ＲＯＭ部を含む各部の動作指示，制御を行い所定のプログラム処理を行う中央処理部とを有するフラッシュメモリ内蔵マイクロコンピュータにおいて、前記シリアル・コミュニケーション・インタフェースとして通信方式が異なる少なくとも２種類のシリアル・コミュニケーション・インタフェースを設け、これらシリアル・コミュニケーション・インタフェース及び入出力ポートのうちの１つを選択，指定する選択用レジスタを含み、この選択用レジスタの指示により前記シリアル・コミュニケーション・インタフェース及び入出力ポートのうちの１種類を選択して外部回路との接続を制御すると共に選択されたインタフェースを通信可能状態に制御するインタフェース選択制御手段を設けて構成される。
【００３９】
また、オンボード書込み動作モード時に、インタフェース部を介して所定の単位ずつ取込まれる書込み用のデータのこの所定の単位のデータが取込まれる時間を検出してこの時間が予め設定された時間より短いか否か判別するデータ受信時間検出判別回路と、このデータ受信時間検出判別回路によって前記所定の単位のデータが取込まれる時間が前記予め設定された時間より短いと判定されたときには前記所定の単位のデータを中央処理部のレジスタ回路及びＲＡＭ部を含む記憶領域のうちの所定の記憶領域に一旦保持したのち所定のタイミングでフラッシュＥＥＲＯＭ部に伝達し、否と判定されたときには前記所定の単位のデータを直接前記フラッシュＥＥＰＲＯＭ部に伝達するデータ伝達制御手段とを設けて構成される。
【００４０】
また、フラッシュＥＥＰＲＯＭ部に、データの書込み時間を決定する書込み制御パルス及び消去時間を決定する消去制御パルスを発生する制御回路を含み、この制御回路を、前記書込み時間及び消去時間それぞれと対応する値を保持するモジュロ・レジスタと、書込み動作時，消去動作時に所定のタイミングで前記書込み制御パルス，消去制御パルスを活性化レベルに立上らせると共にクロックパルスのカウントを開始しそのカウント値が前記モジュロ・レジスタの保持値と一致したとき前記書込み制御パルス，消去制御パルスを非活性化レベルとするパルス発生部と、前記モジュロ・レジスタに保持される値を設定するレジスタ値設定手段とを備えた回路として構成され、更に制御回路に、クロックパルスの周波数を検出する周波数検出回路を設け、レジスタ値設定手段を、前記周波数検出回路で検出された周波数の従ってモジュロ・レジスタに保持される値を設定する回路とするか、制御回路に、モジュロ・レジスタに保持されている値と対応するパルス値より広いパルス幅の書込み制御パルス，消去制御パルスを発生するように制御するパルス幅拡大制御手段を設けて構成される。また、パルス幅拡大制御手段を、クロックパルスのカウント値がモジュロ・レジスタの保持値と一致した後、所定の時間経過後に書込み制御パルス，消去制御パルスを非活性化レベルとする割込み回路とするか、伝達されたクロックパルスを所定数間引いてカウントするようにするクロック伝達制御回路として構成される。
【００４１】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して説明する。
【００４２】
図１は本発明の第１の実施の形態を示すブロック図である。
【００４３】
この実施の形態が図８に示された従来のフラッシュメモリ内蔵マイクロコンピュータと相違する点は、テストモードとして、書込み用プログラムのエミュレーションテストを行うためのエミュレーションテストモードを新たに設け、このエミュレーションテストモード時には、モード制御部５により書込み用ＲＯＭ部４以外の各部をオンボード書込み動作モードと同一の動作モードとなるように設定，制御し、かつ書込み用ＲＯＭ部４を非活性状態とすると共にオンボード書込み動作モード時には使用しない入出力ポート６ｂを活性化状態として書込みＲＯＭ部４に対する読出し指示，アドレス信号をこの入出力ポート６ｂを介して外部回路に伝達しこの外部回路からの書込み用プログラムと対応するプログラムを取込む切換回路８を設けた点にある。
【００４４】
次に、この実施の形態の動作及びテスト方法について説明する。動作モードがエミュレーションテストモード以外では、モード制御部５によって図８〜図１０（Ａ），（Ｂ）に示された従来例のブロック構成と同一構成，同一動作となるので、その説明は省略する。
【００４５】
動作モードがエミュレーションテストモードのときは、モード制御部５により、図２に示されたブロック構成に設定，制御され、また、入出力ポート６ｂには、外部回路として、書込み用プログラムを書込み用ＲＯＭ部４と同一のアドレスに格納してこの書込み用ＲＯＭ部４の代用となるエミュレーション用外部メモリ１００が接続され、シリアル・コミュニケーション・インタフェース部７には、フラッシュＥＥＰＲＯＭ部２に書込むための制御用プログラムと対応するエミュレーションテスト用のデータの供給源が接続される。そして、オンボード書込み動作モードと同一の動作が実行される。ただし、このとき、書込み用ＲＯＭ部４はエミュレーション用外部メモリ１００に切換っており、中央処理部１からの書込み用ＲＯＭ部４へのアクセスは、実際にはエミュレーション用外部メモリ１００へのアクセスとなる。
【００４６】
すなわち、中央処理部１は、書込み用ＲＯＭ部４をアクセス（実際にはエミュレーション用外部メモリ１００をアクセス）して書込み用プログラムを読込み、この書込み用プログラムに従ってシリアル・コミュニケーション・インタフェース部７を介してエミュレーションテスト用のデータの供給源からこのエミュレーションテスト用のデータを読込んでフラッシュＥＥＰＲＯＭ部２に書込む。この書込みの際には、書込み用プログラムの書込みベリファイルーチンによって書込みベリファイが実行されるので、この書込みベリファイの結果を見ることにより（例えば入出力ポート６ａ等から出力される）、書込みプログラムによるオンボード書込み動作が正常に実行されたか否かを判別することができる。
【００４７】
オンボード書込み動作が正常ではないと判定されたときには、例えば、エミュレーションテスト用外部メモリ１００に格納されているプログラムやエミュレーションテスト用のデータを一部修正，変更等を行って再度、オンボード書込み動作を実行する、などのプログラムバグ解析，ハードウェア不具合解析を行う。こうして、プログラムやエミュレーションテスト用のデータの一部修正，変更等の簡単な操作で、プログラムのデバッグ、ハードウェア不具合解析等ができる。
【００４８】
また、エミュレーション用外部メモリ１００に、消去，消去ベリファイを含む消去テスト用のプログラム（命令）、及び書込み，書込みベリファイを含む書込みテスト用のプログラム（命令）を格納させることにより、入出力ポート６ｂから挿入した命令によって中央処理部１を動作させて中央処理部１の制御下においてフラッシュＥＥＰＲＯＭ部２の消去，書込みのテストを行うことが出来る。これによって従来のＣＰＵ系テストモード、フラッシュメモリテストモードでは不可能であった中央処理部１からフラッシュＥＥＰＲＯＭ部２に与えられる消去信号，書込み信号の接続状態及びタイミング等のテストが行うことができ、漏れのないテストを効率的に行うことにより高品質なフラッシュＥＥＰＲＯＭ内蔵マイクロコンピュータを提供することができる。
【００４９】
図３は本発明の第２の実施の形態を示すブロック図である。
【００５０】
この実施の形態が図８に示された従来のフラッシュメモリ内蔵マイクロコンピュータと相違する点は、書込み用ＲＯＭ部４に代えて、ＲＡＭ部３内の所定の領域に、所定の初期状態に書込みプログラムが書込まれて記憶される書込みプログラム初期設定領域３１を設けてＲＡＭ部３ａとし、オンボード書込み動作モード時に、書込み用ＲＯＭ部４へのアクセスに代えてＲＡＭ部３ａの書込みプログラム処理設定領域にアクセスするようにした点にある。
【００５１】
書込み用プログラム初期設定領域３１への書込み用プログラムの書込みは、例えば、ＲＡＭ部３の内の各メモリセルを２つの駆動用のトランジスタとこれら駆動用のトランジスタそれぞれの負荷抵抗とを備えたフリップフロップ回路とした場合、これら負荷抵抗の抵抗値を異なる値とすることにより、電源投入時等の初期状態において、これらメモリセルのデータを設定し、行うことができる。
【００５２】
この実施の形態においては、オンボード書込み動作モード時には使用されないＲＡＭ部３ａの領域を利用しその領域に電源投入時等の初期状態に書込み用プログラムを書込み、オンボード書込み動作モード時には書込み用ＲＯＭ部（４）の代りにこの書込み用プログラム初期設定領域３１をアクセスし、フラッシュＥＥＰＲＯＭ部２へのプログラム書込み後は通常のＲＡＭとして使用されるので、従来例の書込み用ＲＯＭ部４が不要となり、その分チップ面積を小さくすることができ、またメモリ領域の無駄をはぶくことができる。
【００５３】
図４は本発明の第３の実施の形態を示すブロック図である。
【００５４】
この実施の形態が図８に示された従来のフラッシュメモリ内蔵マイクロコンピュータと相違する点は、シリアル・コミュニケーション・インタフェース部７の中に、通信方式が異なる非同期式通信インタフェース部７１，３線式通信インタフェース部７２及びＩＩＣバス通信インタフェース部７３を設け、これらインタフェース部（７１〜７３）及び入出力ポート６（６ａ，６ｂを含む）のうちの１つを選択，指定するための選択用データを保持する選択用レジスタ９１を含みこの選択用レジスタ９１の保持データにより上記インタフェース部（７１〜７３）及び入出力ポート６のうちの１つを選択して外部回路との接続を制御しかつ選択されたインタフェースを通信可能状態に制御するインタフェース選択制御部９を設けた点にある。
【００５５】
選択用レジスタ９１への選択用データの設定，保持は、例えば、所定の端子にパルス信号を印加してそのパルス数と対応するデータを保持する方法、所定の端子の電圧と対応するデータを保持する方法、予め所定の内部メモリ（例えばフラッシュＥＥＰＲＯＭ部２やＲＡＭ部３）に格納または初期設定しておき所定のタイミング（例えば電源投入時や動作モード設定時）で選択用レジスタに設定，保持させる方法などがある。
【００５６】
次にこの実施の形態の動作について説明する。
【００５７】
電源投入時や動作モード設定時の初期状態において、インタフェース選択制御部９は、所定の端子の状態や所定の内部メモリに設定されたデータに従って選択用レジスタ９１の保持データ（選択用データ）を設定する。この後、選択用レジスタ９１に保持されている選択用データに従って、インタフェース選択制御部９は、非同期式通信インタフェース部７１，３線式通信インタフェース部７２，ＩＩＣバス通信インタフェース部７３及び入出力ポート６（６ａ，６ｂ）のうちの１つを選択して外部回路と接続し、また、選択されたインタフェースを通信可能状態とする。
【００５８】
こうして、所定の動作モード、例えばオンボード書込み動作モードにおいて、選択されたインタフェース、例えば非同期式通信インタフェース部７１を介して外部回路との通信が可能となり、その動作モードを実行することができる。
【００５９】
この実施の形態においては、上位システムの通信方式に合わせインタフェースを選択し上位システムとの通信が可能となるので、組込みできる上位システムの範囲を拡大することができ、また通信方式の異なる上位システムに対して１種類のマイコンを基準すればよいので、製作や管理等を単純化することができる。
【００６０】
また、この実施の形態では、動作モードに応じてインタフェースを選択することができるので、使用動作モードに適したインタフェースにより上位システムとの通信が可能となる、という利点がある。
【００６１】
図５は本発明の第４の実施の形態を示すブロック図である。
【００６２】
この実施の形態は、オンボード書込み動作モード時に、シリアル・コミュニケーション・インタフェース部７を介して所定の単位ずつ取込まれる書込み用のデータのこの所定の単位のデータが取込まれる時間を検出してこの時間が予め設定した時間（例えばフラッシュＥＥＰＲＯＭ部２のデータの書込み時間）より短かいか否かを判別するデータ受信時間検出判別回路１０を設け、中央処理部１ａ内に、データ受信時間検出判別回路１０によって、所定の単位のデータが取込まれる時間が予め設定された時間より短いと判定されたときにはこの所定の単位のデータを中央処理部１ａ内のレジスタ回路１１に一旦保持したのち所定のタイミングでフラッシュＥＥＰＲＯＭ部２に伝達し、否と判定されたときにはこの所定の単位のデータを直接フラッシュＥＥＰＲＯＭ部２に伝達するデータ伝達制御部１２を設けたものである。
【００６３】
なお、この実施の形態においては、所定の単位のデータを一旦保持する領域を、中央処理部１ａ内のレジスタ回路１１としたが、ＲＡＭ部３内の所定の領域であってもよい。
【００６４】
この実施の形態においては、所定の単位のデータが取込まれる時間が予め設定された時間（書込み時間）より短かい（すなわち、受信速度が速い）ときには、図１１に示された従来例と同様に中央処理部１ａのバッファ回路１１等に一旦保持した後、フラッシュＥＥＰＲＯＭ部２に渡す。また、所定の単位のデータが取込まれる時間が予め設定された時間より長い（すなわち、受信速度が遅い）ときには、シリアル・コミュニケーション・インタフェース部７から直接フラッシュＥＥＰＲＯＭ部２に渡す。
【００６５】
従って、受信速度が遅い場合、所定の単位のデータをバッファ回路１１等に一旦保持する、という時間を省くことができるので、その分動作時間を短縮することができる。
【００６６】
図６（Ａ），（Ｂ）及び図７（Ａ），（Ｂ）は本発明の第５の実施の形態及びその変形を示すフラッシュＥＥＰＲＯＭ内の制御回路の書込み制御パルス発生回路部分のブロック図である。
【００６７】
図６（Ａ）に示された実施の形態の制御回路２６ｂが図１２（Ｂ）に示された従来例の制御回路２６と相違する点は、シリアル・コミュニケーション・インタフェース部７や入出力ポート６ａ，６ｂ、又は特定の端子から入力される外部からの書込み時間データＤｔｗの値をモジュロ・レジスタ２６３に保持させるレジスタ値設定回路２６６を設けた点にある。
【００６８】
この実施の形態は、本マイコン内で使用されるクロックパルスＣＫの周波数が分っている場合に適用され、このクロックパルスＣＫの周波数の下で動作するときに、一定の書込み時間（例えば５０μｓ）が得られるような値の書込み時間データＤｔｗが外部から入力され、モジュロ・レジスタ２６３に設定される。
【００６９】
図６（Ｂ）に示された実施の形態の制御回路２６ｂは、本マイコン内部で使用されるクロックパルスＣＫの周波数が分っていない場合に適用され、クロックパルスＣＫの周波数を検出する周波数検出回路２６７と、この周波数検出回路２６７により検出された周波数に従ってモジュロ・レジスタ２６３に保持される値を設定するレジスタ値設定回路２６６ａとを含む。
【００７０】
この実施の形態においては、クロックパルスＣＫの周波数が分っていなくても、また外部から書込み時間データを入力しなくても、自動的に一定の書込み時間（５０μｓ）が得られるようにモジュロ・レジスタ２６３の値が設定される。
【００７１】
図７（Ａ），（Ｂ）に示された実施の形態の制御回路２６ｃ，２６ｄは、書込み時間（５０μｓ）と対応するカウンタ２６２のカウント値が、モジュロ・レジスタ２６３に設定できる最大値を越えるような場合にも一定の書込み時間（５０μｓ）が得られるようにしたものであり、周波数検出回路２６７，レジスタ値設定回路２６６ｂのほかに、モジュロ・レジスタ２６３に保持されている値と対応するパルス幅より広いパルス幅の書込み制御パルスＷＥＰが得られるように、パルス幅拡大制御手段の割込み回路２６８（図７（Ａ））又はクロック伝達制御回路２６９（図７（Ｂ））を設けたものである。
【００７２】
割込み回路２６８は、カウンタ２６２のカウント値がモジュロ・レジスタ２６３の保持値と一致した後、所定の時間の割込み時間経過後にストップパルスＳＴＰを発生して書込み制御パルスＷＥＰを非活性化レベルとする。こうするとことにより、モジュロ・レジスタ２６３の保持値（例えば保持可能な最大値）と対応する書込み制御パルスＷＥＰをパルス幅より、割込み時間分パルス幅を拡大して一定の書込み時間（５０μｓ）の書込み制御パルスＷＥＰを得ることができる。
【００７３】
クロック伝達制御回路２６９は、伝達されたクロックパルスＣＫを所定数間引いてカウンタ２６２に伝達するもので、クロックパルスＣＫが間引かれた分、モジュロ・レジスタ２６３の保持値と対応するパルス幅より拡大することができる。
【００７４】
これら第５の実施の形態（及びその変形）においては、本マイコンで使用されるクロックパルスＣＫの周波数に従ってモジュロ・レジスタ２６３の保持値を設定でき、また保持させる値が保持可能な最大値を越えるような場合でも、越えた分だけパルス幅を拡大することができて、一定のパルス幅（５０μｓ）の書込み制御パルスＷＥＰを得ることができるので、上位システムの動作周波数や通信方式が変ってクロックパルスＣＫの周波数が変っても、常に一定の書込み時間（５０μｓ）を得ることができ、上位システムとの適応性を向上させると共に安定した書込み特性が得られる。
【００７５】
なお、図６（Ａ），（Ｂ）及び図７（Ａ），（Ｂ）に示された実施の形態（及びその変形）においては、書込み制御パルスＷＥＰの発生に係る回路部分のみを示したが、消去制御パルスＥＰＲについても同様の回路で発生することができ、同様の作用効果を有する。また、周波数検出回路２６７をクロックパルスＣＫそのものの周波数を検出する回路としたが、受信データのスタートビット，ストップビットから内部で使用されるクロックパルスＣＫの周波数を検出することもできる。
【００７６】
また、上述した第１〜第５の実施の形態は、これらのうちの少なくとも２つ組合せて実施することができる。
【００７７】
【発明の効果】
以上説明したように本発明は、ＣＰＵ系テストモード，フラッシュメモリテストモードの他にエミュレーションテストモードを設け、エミュレーションテストモードにおいては所定の入出力ポートから挿入した命令によって中央処理部を動作させてこの中央処理部の制御下においてフラッシュＥＥＰＲＯＭ部の消去，書込みのテストを行うことができ、これによって従来例のＣＰＵ系テストモード，フラッシュメモリテストモードでは不可能であった中央処理部からフラッシュＥＥＰＲＯＭ部に与えられる消去信号，書き込み信号の接続状態及びタイミング等のテストが行うことができ、漏れのないテストを効率的に行うことにより高品質なフラッシュＥＥＰＲＯＭ内蔵マイクロコンピュータを提供することができ、さらに入出力ポートに外部メモリを接続し、読出し指示、アドレス出力を本マイコンの入出力ポートから出力することにより書込み用ＲＯＭ分に代えて外部メモリのプログラムによりオンボード書込み動作モードのエミュレーションができるので書込み用プログラムのデバッグ等を容易にすることが出来るという効果があり、書込み用ＲＯＭ部に代えてＲＡＭ部に書込み用プログラム初期設定領域を設け、オンボード書込み動作モード時にその領域をアクセスする構成とすることにより、内蔵するメモリ領域の無駄をはぶいてチップ面積を小さくすることができ、通信方式の異なる複数のシリアル・コミュニケーション・インタフェースを設けてこれらインタフェース及び入出力ポートのうちの１つを選択使用する構成することにより、１種類で異る通信方式の上位システムとの通信が可能となって組込みできる上位システムの範囲を拡大することができ、かつ製作，管理等を単純化することができ、所定の単位のデータが外部から取込まれる時間が予め設定された時間より短いときには一旦中央処理部等の所定の領域に保持したのちフラッシュＥＥＰＲＯＭ部に伝達し長いときには直接フラッシュＥＥＰＲＯＭ部に伝達するようにしたので、上記時間が長い、すなわち、データの受信速度が遅い場合の動作速度を速くすることができ、クロックパルスの周波数を検出してモジュロ・レジスタの保持値を設定し、モジュロ・レジスタに設定可能な最大値を越えるような値を保持させるような事態になったときにはパルス幅拡大手段によりモジュロ・レジスタの保持値よりパルス幅を拡大して常に一定のパルス幅の書込み制御パルスが得られるようにしたので、上位システムの動作周波数や通信方式が変って内部で使用するクロックパルスの周波数が変っても常に一定の書込み時間，消去時間を得ることができ、上位システムとの適応性を向上させると共に安定した書込み特性，消去特性を得ることができる効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態を示すブロック図である。
【図２】図１に示された実施の形態の動作及びテスト方法を説明するためのブロック図である。
【図３】本発明の第２の実施の形態を示すブロック図である。
【図４】本発明の第３の実施の形態を示すブロック図である。
【図５】本発明の第４の実施の形態を示すブロック図である。
【図６】本発明の第５の実施の形態及びその変形を示すブロック図である。
【図７】本発明の第５の実施の形態の他の変形を示すブロック図である。
【図８】従来のフラッシュメモリ内蔵マイクロコンピュータの一例を示すブロック図である。
【図９】図８に示されたフラッシュメモリ内蔵マイクロコンピュータの通常動作及びオンボード書込み動作を説明するためのブロック図である。
【図１０】図８に示されたフラッシュメモリ内蔵マイクロコンピュータの各テストモードの動作を説明するためのブロック図である。
【図１１】従来のフラッシュメモリ内蔵マイクロコンピュータの外部からのデータのフラッシュＥＥＰＲＯＭ部への伝達経路に係る部分のブロック図である。
【図１２】従来のフラッシュメモリ内蔵マイクロコンピュータのフラッシュＥＥＰＲＯＭ部の内部構成の一例を示すブロック図及びフラッシュＥＥＰＲＯＭ部内の制御回路部分の一例を示すブロック図である。
【符号の説明】
１，１ａ    中央処理部
２    フラッシュＥＥＰＲＯＭ部
３，３ａ    ＲＡＭ部
４    書込み用ＲＯＭ部
５，５ａ，５ｘ    モード制御部
６，６ａ，６ｂ    入出力ポート
７，７ａ    シリアル・コミュニケーション・インタフェース部
８    切換回路
９    インタフェース選択制御部
１０    データ受信時間検出判別回路
１１    レジスタ伝達制御部
１２    データ伝達制御部
２０    メモリセルアレイ
２４    書込み回路
２６，２６ａ〜２６ｄ    制御回路
２７    電圧切換回路
２８    書込み電圧発生回路
２９    消去電圧発生回路
３１    書込み用プログラム初期設定領域
７１    非同期式通信インタフェース部
７２    ３線式通信インタフェース部
７３    ＩＩＣバス通信インタフェース部
９１    選択用レジスタ
１００    エミュレーション用外部メモリ
２００    テスト用外部メモリ
２６１    タイミング制御部
２６２    カウンタ
２６３    モジュロ・レジスタ
２６４    比較回路
２６５    パルス発生回路
２６６，２６６ａ，２６６ｂ    レジスタ値設定回路
２６７    周波数検出回路
２６８    割込み回路
２６９    クロック伝達制御回路
ＡＢ    アドレスバス
ＤＢ    データバス
【図１】
0003693721.tif 000002
【図２】
0003693721.tif 000003
【図３】
0003693721.tif 000004
【図４】
0003693721.tif 000005
【図５】
0003693721.tif 000006
【図６】
0003693721.tif 000007
【図７】
0003693721.tif 000008
【図８】
0003693721.tif 000009
【図９】
0003693721.tif 000010
【図１０】
0003693721.tif 000011
【図１１】
0003693721.tif 000012
【図１２】
0003693721.tif 000013