(57)【要約】【課題】動作モード設定用の端子を最小限にした上で、より多くの動作モードを設定することができるマイクロコンピュータを提供する。【解決手段】モードデコーダ８は、ＭＤ端子に入力されるモード設定信号レベルの変化回数をカウントするモードカウンタ７の出力データをデコードしてモード信号を出力することで、上記信号レベルの変化回数に応じてマイコン１の動作モードを設定する。そして、モード信号がテストモードを示す場合、アドレスデコーダ４は、ＣＰＵ２による入力バッファ１４へのアクセスが可能となるように切り替え、外部より入力されたシリアルデータがシリアル入出力回路６を介して入力バッファ１４に格納される。【選択図】図１
2009099109.tif 000002
【特許請求の範囲】
【請求項１】
モード設定端子に入力される信号レベルの変化回数をカウントするモードカウンタと、
このモードカウンタの出力データをデコードしてモード信号を出力するモードデコーダとを備え、前記モード信号によって示される複数の動作モードに対応して動作するマイクロコンピュータにおいて、
クロック入力端子と、
このクロック入力端子に入力されるシリアルクロック信号に同期してシリアルデータを入力するためのデータ端子と、
前記シリアルデータをパラレル変換して入力データバッファに格納するシリアル／パラレル変換部と、
前記モード信号がテストモードを示す場合に、前記ＣＰＵによる前記入力データバッファへのアクセスが可能となるように切り替える切替え手段とを備え、外部よりテスト用の命令データを入力可能としたことを特徴とするマイクロコンピュータ。
【請求項２】
前記シリアル／パラレル変換部は、前記命令が外部に対するデータ出力命令の場合に、前記ＣＰＵが前記データバスに出力したデータを格納する出力データバッファを備え、前記出力データバッファに格納されたデータをシリアル変換し、前記データ端子を介して外部に出力可能としたことを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
前記モードデコーダは、
前記モード設定端子のレベルがハイ又はロウの何れか一方を示す場合に、前記モードカウンタのカウント値に応じたデコード動作を行い、
前記モード設定端子が他方のレベルを示す場合は、前記モードカウンタのカウント値にかかわらず、ユーザモードをデコードするように構成されていることを特徴とする請求項１又は２記載のマイクロコンピュータ。
【請求項４】
前記モード設定端子を、前記ユーザモードにおける動作時の入力信号レベルを、前記モードデコーダが前記ユーザモードをデコードするレベルに固定して使用する端子と共通化したことを特徴とする請求項３記載のマイクロコンピュータ。
【請求項５】
前記切替え手段は、前記モード信号がテストモードを示す場合でも、ユーザモードで動作する場合に前記ＣＰＵがアクセスするプログラムメモリに対して、前記ＣＰＵによるアクセスを可能とするよう選択が可能に構成されることを特徴とする請求項１乃至４の何れかに記載のマイクロコンピュータ。
【請求項６】
前記切替え手段は、前記選択を行うための設定レジスタを備え、前記シリアル／パラレル変換部を介して前記設定レジスタに設定されたデータ値に応じて、前記選択を行うことを特徴とする請求項５記載のマイクロコンピュータ。
【請求項７】
前記モード信号がテストモードを示す場合に、外部より与えられる命令に応じて、現在設定されている動作モードが外部より特定可能となるように、前記テストモードでは使用されない若しくは使用される頻度が低い外部端子の出力状態を変化させることを特徴とする請求項１乃至６の何れかに記載のマイクロコンピュータ。
【請求項８】
前記複数の動作モードに、設定が行われると同時に外部端子の出力状態を変化させる基準モードを１つ以上設けたことを特徴とする請求項１乃至６の何れかに記載のマイクロコンピュータ。
【請求項９】
前記外部端子の出力状態を変化させる場合は、信号レベルを変化させることを特徴とする請求項７又は８記載のマイクロコンピュータ。
【請求項１０】
モード設定端子に入力されるモード設定信号のレベルに応じてモード信号を出力するモード信号出力部を備え、前記モード信号によって示される複数の動作モードに対応して動作するマイクロコンピュータにおいて、
クロック入力端子と、
このクロック入力端子に入力されるシリアルクロック信号に同期してシリアルデータを入力するためのデータ端子と、
前記シリアルデータをパラレル変換して入力データバッファに格納するシリアル／パラレル変換部と、
前記モード信号がテストモードを示す場合に、前記ＣＰＵによる前記入力データバッファへのアクセスが可能となるように切り替える切替え手段とを備え、外部よりテスト用の命令データを入力可能としたことを特徴とするマイクロコンピュータ。
【請求項１１】
前記モード信号出力部は、ユーザモードに対応させる電圧範囲の幅が、その他の動作モードに対応させる電圧範囲の幅よりも広くなるように設定することを特徴とする請求項１０記載のマイクロコンピュータ。
【請求項１２】
前記モード信号出力部は、ユーザモードに対応させる電圧範囲を、電源レベルを含む側又はグランドレベルを含む側の何れかに設定することを特徴とする請求項１１記載のマイクロコンピュータ。
【請求項１３】
前記モード設定端子を、前記ユーザモードに対応させる電圧範囲内の電位に固定して使用する端子と共通化したことを特徴とする請求項１１又は１２記載のマイクロコンピュータ。
【請求項１４】
請求項１乃至１３の何れかに記載のマイクロコンピュータのチップ（マイコンチップ）と、前記マイクロコンピュータの機能の一部を備えると共にＩＣＥ（In Circuit Emulator）との接続インターフェイスを備えるＩＣＥ対応チップとで構成され、前記マイクロコンピュータの機能評価／ソフトデバッグを行うための機能評価用チップにおいて、
前記ＩＣＥ対応チップは、前記マイコンチップとの接続インターフェイスを、前記モード設定端子、前記リセット信号の入力端子、前記クロック入力端子、前記データ端子を接続することで構成し、前記マイコンチップをＩＣＥモードに設定して、前記データ端子に機能評価／ソフトデバッグ動作のためのデータを入出力することを特徴とする機能評価用チップ。
【請求項１５】
前記マイコンチップは、前記ＩＣＥモードに設定されると、前記ＩＣＥ対応チップ側に搭載されている機能に対応する構成部分は、動作を停止するように構成されていることを特徴とする請求項１４記載の機能評価用チップ。
【請求項１６】
前記マイコンチップを複数個備え、
前記ＩＣＥ対応チップは、前記データ端子を複数本備え、各データ端子より同時に異なるデータを入出力可能に構成されると共に、前記複数のマイコンチップを夫々異なるＩＣＥモードに設定し、
前記複数のマイコンチップのデータ端子は、それぞれ前記ＩＣＥ対応チップの異なるデータ端子に接続されると共に、各々に設定されたＩＣＥモードに対応する機能部のみを動作させるように構成されていることを特徴とする請求項１５記載の機能評価用チップ。
【請求項１７】
前記複数のマイコンチップは、前記ＩＣＥモードに対応するデコード信号と、前記リセット信号とを論理合成することで、各機能部に供給するリセット信号を複数系統に分割し、前記ＩＣＥモードに応じて自身が動作させるべき機能部に供給されるリセット信号だけを解除することを特徴とする請求項１６記載の機能評価用チップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内蔵されるモードデコーダによりデコードされたモード信号によって示される、複数の動作モードに対応して動作するマイクロコンピュータ，及びそのマイコンチップと、ＩＣＥ対応チップとを備えて構成される機能評価用チップに関する。
【背景技術】
【０００２】
マイクロコンピュータについては、チップサイズを縮小することが常に要求されており、そのために、外部端子数を極力減らすことが課題となっている。例えば、特許文献１に開示されている技術では、複数の動作モードを切り替えて動作するマイクロコンピュータに、外部より動作モードを設定する場合、パワーオンリセットが解除されるタイミングにおいて、強制リセット端子に与えられる信号のレベルに応じて、動作モードを設定するようにした技術が開示されている。斯様に構成すれば、動作モードを設定するための専用端子を不要とすることができる。
【特許文献１】特開２００１―２７３２４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に開示されている技術には、以下のような問題がある。（１）パワーオンリセットが解除されるタイミングでリセット端子にノイズが重畳されると、誤った動作モードが選択されるおそれがある。（２）動作モードを保持しているラッチデータが、例えばα線による影響や電磁波ノイズによる影響を受けると、誤った動作モードを保持し続ける。（３）動作モードが２種類しか設定できない。
【０００４】
本発明は上記事情に鑑みてなされたものであり、その目的は、動作モード設定用の端子を最小限にした上で、より多くの動作モードを設定することができるマイクロコンピュータ、及びそのマイクロコンピュータを備えて構成され、開発段階で使用するための機能評価用チップを提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載のマイクロコンピュータによれば、モードデコーダは、モード設定端子に入力される信号レベルの変化回数をカウントするモードカウンタの出力データをデコードしてモード信号を出力する。したがって、上記信号レベルの変化回数に応じて、マイクロコンピュータの動作モードをより多く設定することができる。そして、モード信号がテストモードを示す場合、切替え手段は、ＣＰＵによる入力データバッファへのアクセスが可能となるように切り替え、外部より入力されたシリアルデータがシリアル／パラレル変換部を介して入力データバッファに格納される。したがって、外部よりテスト用の命令データをシリアルに入力してＣＰＵに実行させることができ、端子数の増加を極力抑制してマイクロコンピュータをテストすることができる。
【０００６】
請求項２記載のマイクロコンピュータによれば、シリアル／パラレル変換部は、テスト用の命令が外部に対するデータ出力命令の場合に、ＣＰＵがデータバスに出力して出力データバッファに格納されたデータをシリアル変換して外部に出力可能とする。したがって、テストにおいて内部のデータ値をシリアル出力させ、外部でモニタすることができる。
【０００７】
請求項３記載のマイクロコンピュータによれば、モードデコーダは、モード設定端子のレベルがハイ又はロウの何れか一方を示す場合に、モードカウンタのカウント値に応じたデコード動作を行う。そして、モード設定端子が他方のレベルを示す場合はユーザモードをデコードするので、例えばフィールドにおいて、マイクロコンピュータを基本的にユーザモードで動作させるケースしかない場合は、モード設定端子を上記他方のレベルに固定しておけば、その他のモードで誤動作する可能性を排除することができる。
【０００８】
請求項４記載のマイクロコンピュータによれば、モード設定端子を、ユーザモードにおける動作時の入力信号レベルを、モードデコーダがユーザモードをデコードするレベルに固定して使用する端子と共通化する。したがって、マイクロコンピュータをユーザモードで動作させる目的でレベル設定するための端子を余分に設ける必要がなく、端子数の増加を更に抑制することができる。
【０００９】
請求項５記載のマイクロコンピュータによれば、切替え手段は、モード信号がテストモードを示す場合でも、ユーザモードで動作する場合にＣＰＵがアクセスするプログラムメモリに対し、ＣＰＵによるアクセスを可能とするよう選択可能に構成される。したがって、テストモードにおいてもユーザモードと同様に、プログラムメモリから読み出したプログラムに基づいて動作させることができる。
【００１０】
請求項６記載のマイクロコンピュータによれば、切替え手段は、シリアル／パラレル変換部を介して設定レジスタに設定されたデータ値に応じて選択を行うので、外部よりアクセス対象の切り替えを容易に行うことができる。
【００１１】
請求項７記載のマイクロコンピュータによれば、モード信号がテストモードを示す場合に、外部より与えられる命令に応じて現在設定されている動作モードが外部より特定可能となるように、そのテストモードでは使用されない若しくは使用される頻度が低い外部端子の出力状態を変化させる。すなわち、マイクロコンピュータをテストモードに設定して機能評価を行った場合に動作異常が発生すると、その原因が動作モードの遷移ミスなのか、ノイズ等の影響による誤動作か、テストにおける制御自体に誤りがあるのかが、切り分けできないという問題があった。そこで、外部より所定の命令を与えた場合に外部端子の出力状態を変化させ、その変化の態様に応じて現在の動作モードが特定できれば、動作モードの遷移にミスがあるのか否かを判定できる。
【００１２】
請求項８記載のマイクロコンピュータによれば、複数の動作モードに、設定が行われると同時に外部端子の出力状態を変化させる基準モードを１つ以上設ける。したがって、現在の動作モードが基準モードにあることを外部から容易に確認することできる。そして、請求項７において述べた問題に対処することを想定すると、動作異常が発生した場合に、その時点の動作モードから基準モードに至るまでの状態遷移数を確認すれば、動作モードの遷移にミスがあるのか否かを判定できる。
【００１３】
請求項９記載のマイクロコンピュータによれば、外部端子の出力状態を変化させる場合は信号レベルを変化させるので、極めて簡単なハードウエア構成を追加するだけで、基準モードであることを確認できるようになる。
【００１４】
請求項１０記載のマイクロコンピュータによれば、モード信号出力部は、モード設定端子に入力されるモード設定信号のレベルに応じてモード信号を出力する。したがって、上記信号レベルの変化に応じて、マイクロコンピュータの動作モードをより多く設定することができる。そして、モード信号がテストモードを示す場合、切替え手段は、ＣＰＵによる入力データバッファへのアクセスが可能となるように切り替え、外部より入力されたシリアルデータがシリアル／パラレル変換部を介して入力データバッファに格納される。したがって、外部よりテスト用の命令データをシリアルに入力してＣＰＵに実行させることができ、端子数の増加を極力抑制してマイクロコンピュータをテストすることができる。
【００１５】
請求項１１記載のマイクロコンピュータによれば、モード信号出力部は、ユーザモードに対応させる電圧範囲の幅が、その他の動作モードに対応させる電圧範囲の幅よりも広くなるように設定する。すなわち、マイクロコンピュータをユーザモードに設定して動作させる場合は、その動作状態を極力安定させるのが好ましい。したがって、ユーザモードに対応させる電圧範囲幅をより広く設定することで、当該モードで動作している途中にその他の動作モードに遷移する可能性を低減できる。
【００１６】
請求項１２記載のマイクロコンピュータによれば、モード信号出力部は、ユーザモードに対応させる電圧範囲を、電源レベルを含む側又はグランドレベルを含む側の何れかに設定する。すなわち、電源レベル，グランドレベルを含む電圧範囲は、それぞれ範囲の上限，下限が安定的に設定し易いレベルとなり、モード設定端子を電源レベル又はグランドレベルに設定しておけば、ユーザモードの設定状態を安定させることができる。
【００１７】
請求項１３記載のマイクロコンピュータによれば、モード設定端子を、ユーザモードに対応させる電圧範囲内の電位に固定して使用する端子と共通化するので、マイクロコンピュータをユーザモードで動作させる目的でレベル設定するための端子を余分に設ける必要がなく、端子数の増加を更に抑制することができる。
【００１８】
請求項１４記載の機能評価用チップによれば、請求項１乃至１３の何れかに記載のマイクロコンピュータのチップ（マイコンチップ）と、そのマイクロコンピュータの機能の一部を備えると共にＩＣＥ（In Circuit Emulator）との接続インターフェイスを備えるＩＣＥ対応チップとで構成され、マイクロコンピュータの機能評価／ソフトデバッグを行う。そして、ＩＣＥ対応チップは、マイコンチップとの間で、モード設定端子、リセット信号の入力端子、クロック入力端子、データ端子を接続し、マイコンチップをＩＣＥモードに設定してデータ端子に機能評価／ソフトデバッグ動作のためのデータを入出力する。
【００１９】
上記のような機能評価用チップに関連した従来技術としては、例えば特開２００２−１７５１９６号公報がある。この公報に開示されている構成も、基本的にはマイコンの製品チップとＩＣＥ対応チップとを接続するものであるが、両チップ間の接続端子数が数十本程度となり極めて多い。また、ＩＣＥ対応チップと信号インターフェイスを制御するための専用回路も、機能評価用チップに配置する必要がある。
これに対して、本発明の機能評価用チップによれば、両チップ間を接続する端子数は４本だけとなり、マイコンチップ単体の場合と同じになる。したがって、機能評価用チップを、小さなサイズで、且つ低コストで構成することができる。
【００２０】
請求項１５記載の機能評価用チップによれば、マイコンチップは、ＩＣＥモードに設定されると、ＩＣＥ対応チップ側に搭載されている機能に対応する構成部分は、動作を停止するように構成される。すなわち、製品としてのマイコンチップを利用して機能評価用チップを構成する場合、マイコンチップにおいて専らロジック的に動作する機能部分については、対応する構成をＩＣＥ対応チップ上に設けることは容易であるから、当該チップ上で評価すれば良い。
【００２１】
そして、マイコンチップが、ロジック回路以外に、例えばより高い電圧で動作するパワー系の機能部分（例えば、ドライバ等）を備えており、ＩＣＥ対応チップ上で構成できない場合は、そのような機能部分はマイコンチップ側に構成されているものを利用して評価することができる。その場合、マイコンチップ側では、それ以外の機能部分（ＩＣＥ対応チップ側に用意されているもの）を動作させる必要はないので、それらの動作を停止させることで、マイコンチップ側の機能評価を容易に行うことができる。
【００２２】
請求項１６記載の機能評価用チップによれば、マイコンチップを複数個備え、それらのマイコンチップのデータ端子は、ＩＣＥ対応チップが有する複数の異なるデータ端子に夫々接続される。そして、ＩＣＥ対応チップが、複数のマイコンチップを夫々異なるＩＣＥモードに設定すると、複数のマイコンチップは、各々に設定されたＩＣＥモードに対応する機能部のみを動作させる。斯様に構成すれば、ＩＣＥ対応チップが複数のデータ端子より異なる機能評価用データを同時に入出力することで、複数のマイコンチップにより異なる機能を同時に動作させることが可能となり、マイコンチップ一つ当りに必要なデータ端子数を削減することができる。
【００２３】
請求項１７記載の機能評価用チップによれば、複数のマイコンチップは、ＩＣＥモードに対応するデコード信号と、ＩＣＥ対応チップより出力されるリセット信号とを論理合成することで、夫々のＩＣＥモードに応じて自身が動作させるべき機能部に供給されるリセット信号だけを解除する。従って、複数のマイコンチップは、リセットを制御することで必要な機能部のみを動作させることができる。
【発明を実施するための最良の形態】
【００２４】
（第１実施例）
以下、本発明の第１実施例について図１乃至図５を参照して説明する。図１は、マイクロコンピュータの構成を、本発明の要旨に係る部分について示す図である。マイクロコンピュータ１は、ＣＰＵ２，ＲＯＭ（プログラムメモリ）３，アドレスデコーダ（切換え手段）４，モード制御部５，シリアル入出力回路（シリアル／パラレル変換部）６を備えている。モード制御部５は、外部より与えられるモード設定信号ＭＤの変化状態に応じてマイコン１の動作モードを設定する信号を出力するものである。
【００２５】
動作モードが「ユーザモード」である場合、マイコン１は、ＲＯＭ３に記憶されるユーザプログラムに従い、製品としての通常動作を行う。また、動作モードが「検査モード」の場合には、マイコン１は、基本的にはシリアル入出力回路６を介して外部より入力される検査用の命令を実行し、「ＩＣＥモードの場合」には、シリアル入出力回路６を介して外部より入出力されるデータで必要な機能部を動作させる。
【００２６】
図２（ａ）は、モード制御部５の内部構成を示すもので、図２（ｂ）は、動作タイミングチャートの一例を示している。モード制御部５は、フリップフロップ７ａ及び加算器７ｂで構成されるモードカウンタ７，モードデコーダ８，ＯＲゲート９，ＡＮＤゲート１０，１１などで構成されている。フリップフロップ７ａのＱ出力端子は、加算器７ｂを介して自身のＤ入力端子に接続されており、加算器７ｂは、入力データを「＋１」して出力する。また、フリップフロップ７ａのクロック入力端子は、マイコン１のモード設定端子（ＭＤ端子）に接続されており、モードカウンタ７は、モード設定信号の立上りエッジでアップカウントを行う。そして、フリップフロップ７ａは、パワーオンリセット信号（ハイアクティブ）によってリセットされるようになっている。
【００２７】
フリップフロップ７ａのＱ出力端子は、モードデコーダ８の入力端子に接続されており、モードデコーダ８は、モードカウンタ７のカウントデータをデコードすると、そのデコード結果をＯＲゲート９（４入力），ＡＮＤゲート１０，１１などの一方の入力端子にそれぞれ出力する。これらのゲート９〜１１等の他方の入力端子（ＯＲゲート９は負論理）は、ＭＤ端子に共通に接続されている。
【００２８】
モード制御部５の動作について図２（ｂ）を参照して説明すると、モードカウンタ７のカウント値は、パワーオンリセット信号がロウレベルに変化してリセットが解除された状態から、外部より与えられるモード設定信号がロウからハイに変化するごとに「０」から順次インクリメントされる。ただし、ゲート９〜１１等の他方の入力端子にはモード設定信号が与えられているので、上記カウント値が幾つであっても、モード設定信号がロウレベルになるとＯＲゲート９の出力端子だけがハイレベルになるので、モード０（ユーザモード）になる。したがって、ＭＤ端子は、マイコン１をユーザモードで動作させる場合に、ロウレベルに固定して使用する端子と共通化することが好ましい。
【００２９】
また、図２の構成では、カウンタ７のカウント値が「０〜２」の場合、モードデコーダ８によるデコード出力は全てＯＲゲート９の入力端子に接続されているので、それらは全てモード０のユーザモードとなり、カウント値が「３」（モード１）以上の場合から、その他の検査モードなどが割り当てられている。これは、マイコン１をユーザモードで使用している状態から、他のモードに切り替わってしまうことを極力防止するフェイルセーフ対策である。
【００３０】
再び、図１を参照する。モード制御部５によって出力されるモード信号は、アドレスデコーダ４及びシリアル入出力回路６に与えられている。アドレスデコーダ４は、ＣＰＵ２が出力するアドレスをデコードして周辺回路のアクセス選択を行うが、そのデコードパターンは、上記モード信号並びにシリアル入出力回路６の内部に配置されているマップ切換えレジスタ（設定レジスタ）１２の設定に応じて変化するように構成されている。それにより、マイコン１のメモリマップが変更されるようになっている。
【００３１】
シリアル入出力回路６は、上記レジスタ１２に加え、シーケンサ１３、入力バッファ（入力データバッファ）１４，出力バッファ（出力データバッファ）１５，バスバッファ１６などを備えており、モード信号が「検査モード」又は「ＩＣＥモード」の場合に機能が有効となる。そして、マイコン１のシリアルクロック入力端子（ＤＣＫ端子），シリアルデータ入出力端子（ＤＩＯ端子）を介して外部よりシリアルデータが入力されると、そのデータは入力バッファ１４に格納され、シリアル／パラレル変換されてマイコン１内部のデータバスに出力される。
【００３２】
また、ＣＰＵ２に外部にデータを出力させる場合には、ＣＰＵ２が出力バッファ１５に格納したデータがパラレル／シリアル変換され、バスバッファ１６を介してＤＩＯ端子よりシリアルデータが出力される。そして、上記のデータ変換処理は、シーケンサ１３により、シリアルクロックＤＣＫに同期して制御される。その際に、シーケンサ１３は、ＣＰＵ２より与えられるリード制御信号ＲＤＮ，ライト制御信号ＷＲＮ（ロウアクティブ）を参照すると共に、必要に応じて、ＣＰＵ２に対しバスサイクルの実行を待機させるウェイト信号を出力するようになっている。また、ＲＥＳＮ端子は、外部よりマイコン１のリセット制御を行うためのリセット信号端子である。
【００３３】
図３は、マイコン１のモード設定並びにマップ切換えレジスタ１２の設定に応じて切換わるメモリ空間（マップ）を示す。図３（ａ）はユーザモードの場合であり、図３（ｂ）〜（ｄ）は、検査モード（１，２）の場合である。検査モードの場合は、マップ切換えレジスタ１２の設定に応じてメモリ空間が３タイプに切換わるようになっている。マップ切換えレジスタ１２は、SERI＿DIS，MAP＿SELの２ビットレジスタであり、それら２ビットの設定が「００」，［０１］，［１−］となるのに応じて、メモリ空間は図３（ｂ）〜（ｄ）に示すように切換わる。
【００３４】
図３（ｂ）では、アドレス０ｘ００００〜０ｘ８０００までがユーザモードと同様（ユーザ領域の前半）であり（ユーザウィンドウ）、０ｘ８０００〜０ｘＢ０００が、０ｘ００００〜０ｘ３０００と同様の「周辺機能デバッグ／テスト機能」となる。そして、０ｘＢ０００〜０ｘＦＦＦＦが「シリアルインストラクション領域」となる。
図３（ｃ）では、前半のアドレス０ｘ００００〜０ｘ８０００がユーザ領域の後半と同のユーザウインドウとなり、後半の０ｘ８０００〜０ｘＦＦＦＦが（ｂ）と同様の「シリアルインストラクション領域」となる。また、図３（ｄ）は、図３（ａ）のユーザモードと全く同様のマップになる。すなわち、検査モードにおいてもＲＯＭ３に記憶されているプログラムを実行させる場合に使用する。
【００３５】
尚、マップ切換えレジスタ１２に対するデータの設定は、外部より入力バッファ１４にセットしたデータを、モード信号がテストモードを示す場合に所定条件で動作するロジックにより直接レジスタ１４に転送するか、または、前記データによりＣＰＵ２にレジスタ１２の設定命令を与え、ＣＰＵ２に書き込ませるようにしても良い。
【００３６】
次に、本実施例の作用について図４及び図５も参照して説明する。これらの図は、マイコン１を検査モード１，２に設定し、シリアル入出力回路６を介してテスト用命令の入力，テストデータの出力を行う場合を示すタイミングチャートである。図４に示すように、検査モード１は、マイコン１に対してデータの入出力だけを行う。すなわち、外部より１６ビットのシリアルデータＤ１５〜Ｄ０が入力されると（図４（ａ），（ｂ））、そのデータは、入力バッファ１４に順次格納される。尚、この場合、マイコン１のマシンクロック（動作用クロック）も、ＤＣＫに同期したクロックを使用する（図４（ａ），（ｆ））。
【００３７】
シリアルデータＤ１５〜Ｄ０が入力されている間、シーケンサ１３は、ＣＰＵ２に対するウェイト信号をアクティブにしてバスサイクルの実行を待機させる（図４（ｉ））。そして、入力バッファ１４に１６ビットのデータが全て格納された時点でウェイト信号をインアクティブにすると、ＣＰＵ２は入力バッファ１４に対するリードサイクルを実行し、データ（テスト用命令）をリードする。すると、ＣＰＵ２は、そのテスト用命令をデコードして実行する。
尚、シリアルデータＤ１５を出力する直前と、シリアルデータＤ０を出力した直後とには、シリアルデータバスをハイインピーダンス（ＨＩ−Ｚ）にすることで、シリアルデータの出力開始，終了の区切りとする。また、シリアルデータが入力バッファ１４に格納されている間は、バスバッファ１６はシーケンサ１３によってディスエーブルされる。
【００３８】
一方、ＣＰＵ２が外部にデータを出力する場合は、出力バッファ１５に対してライトアクセスを行い、１６ビットデータを格納する（図４（ｅ））。この場合、バスバッファ１６はイネーブルとなり、格納されたデータはＤＩＯ端子を介して外部にシリアル出力される。
【００３９】
図５は、検査モード２のタイミングチャートであり、ＣＰＵ２がマイコン１の内部で出力したアドレスも外部にシリアル出力するケースである。この場合、図５（ｄ）に示すように、ＣＰＵ２が入力バッファ１４に対してリードアクセスを行うために出力したアドレスＡ１６〜Ａ０が出力バッファ１５に格納されると、図５（ｂ）に示すように、それらのアドレスがシリアルに出力される。その場合、アドレスＡ１６の出力に先立ち、ＣＰＵ２のサイクルモードを示すための２ビットデータＲ／Ｗが送信される。これらのデータＲ／Ｗは、ＣＰＵ２が出力する制御信号ＲＤＮ，ＷＲＮと、アクセスモード信号（図示せず）との組合せからロジックにより生成され、図５中に示すように、バイトリード，ワードリード，バイトライト，ワードライトの４タイプを示す。
【００４０】
１７ビットのアドレスＡ１６〜Ａ０が出力されるとウェイトが解除され（図５（ｉ））、ＣＰＵ２は、検査モード１と同様に入力バッファ１４にアクセスしてデータを読み込む。また、ライトアクセスの場合は、同様に２ビットデータＲ／Ｗの送信に続いて、出力バッファ１５に格納されたライトアドレスがシリアル出力され（図５（ｄ））、ウェイトが解除されると（図５（ｉ））、ＣＰＵ２は、出力バッファ１４にデータを書き込む（図５（ｈ））。そして、書き込んだデータは、アドレスに続いてシリアルに出力される。
【００４１】
以上のように本実施例によれば、モードデコーダ８は、ＭＤ端子に入力されるモード設定信号レベルの変化回数をカウントするモードカウンタ７の出力データをデコードして、マイコン１の内部にモード信号を出力するので、上記信号レベルの変化回数に応じて、マイコン１の動作モードをより多く設定することができる。
そして、モード信号がテストモードを示す場合に、アドレスデコーダ４は、ＣＰＵ２による入力バッファ１４へのアクセスが可能となるように切り替え、外部より入力されたシリアルデータがシリアル入出力回路６を介して入力バッファ１４に格納されるので、外部よりテスト用の命令データをシリアルに入力してＣＰＵ２に実行させることができ、端子数の増加を極力抑制した構成でマイコン１をテストすることができる。
【００４２】
また、シリアル入出力回路６は、テスト用の命令が外部に対するデータ出力命令の場合に、ＣＰＵ２がデータバスに出力して出力バッファ１５に格納されたデータをシリアル変換して外部に出力可能とするので、テストにおいて内部のデータ値をシリアル出力させ、外部でモニタすることができる。
更に、モードデコーダ８は、ＭＤ端子がハイレベルを示す場合に、モードカウンタ７のカウント値に応じたデコード動作を行い、ＭＤ端子がロウレベルを示す場合はユーザモードをデコードするので、例えばフィールドにおいて、マイコン１を基本的にユーザモードで動作させるケースしかない場合は、ＭＤ端子をロウレベルに固定することでノイズなどの影響を受けて他のモードで誤動作する可能性を排除できる。
【００４３】
また、ＭＤ端子を、ユーザモードにおける動作時の入力信号レベルをロウに固定して使用する端子と共通化するので、マイコン１をユーザモードで動作させる目的でレベル設定するための端子を余分に設ける必要がなく、端子数の増加を抑制することができる。
また、アドレスデコーダ４は、モード信号がテストモードを示す場合でも、ユーザモードで動作する場合にＣＰＵ２がアクセスするＲＯＭ３に対しても、ＣＰＵ２によるアクセスを可能とするので、テストモードにおいてもユーザモードと同様に、ＲＯＭ３から読み出したプログラムの命令に基づいて動作させることができる。その場合、アドレスデコーダ４は、シリアル入出力回路６を介してマップ切換えレジスタ１２に設定されたデータ値に応じて、アドレスマップを決定するデコードパターンを切換えるので、アクセス対象の変更，すなわち、アドレスマップの選択切換えを外部より容易に行うことができる。
【００４４】
（第２実施例）
図６ないし図９は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第２実施例は、ＩＣＥ（In Circuit Emulator）を使用して、マイコン１の開発を行うための評価用（Evaluation）チップ（エバチップ）を構成する場合であり、そのエバチップに、製品としてのマイコン１を組み込む。
【００４５】
図６は、開発システムの構成を、ＩＣＥ及びエバチップ中心に示すものである。パーソナルコンピュータ（ＰＣ，ホスト）２１にはＩＣＥ２２が接続されており、そのＩＣＥ２２にはエバチップ２３が接続されている。そして、エバチップ２３は、標準チップ（ＩＣＥ対応チップ）２４とマイコン１とで構成されている。ＩＣＥ２２は、パソコン２１との間で例えばＵＳＢ（Universal Serial Bus）のようなホストインターフェイス（Ｉ／Ｆ）２５を介して通信を行う。その他、ＩＣＥ２２は、諸機能を実行するためのモニタプログラム２６，トレース機能やカバレッジ機能の実行結果を記憶するトレースメモリ２７，カバレッジメモリ２８などを備えている。
【００４６】
標準チップ２４は、ＩＣＥ２２とのインターフェイス機能をなすＩＣＥ機能部２９を備えており、そのＩＣＥ機能部２９には、ハードウエアブレーク機能部３０，デバッグコントロール部３１やＩＤＢ（Internal Debugging Block）３２などを備えており、例えばＦＰＧＡ（Field Programmable Gate Array）によって構成されている。
【００４７】
マイコン１は、第１実施例では示さなかったが、その他、ＲＡＭ３３やシリアル入出力回路６を含む周辺機能部３４，並びに例えばパワーＭＯＳＦＥＴのゲート駆動回路などを含んで構成されるパワー入出力部３５などを備えている。そして、標準チップ２４は、マイコン１に搭載されているものと同じＣＰＵ２，ＲＯＭ３に対応するＲＯＭ（但し、書き換え可能なフラッシュメモリなど）３６，ＲＡＭ３３，周辺機能部３４に対応するＲＡＭ３７，周辺機能部３８を備えている。また、周辺機能部３８は、シリアル入出力回路６に対応するシリアル入出力回路３９を有している。
【００４８】
そして、標準チップ２４とマイコン１とは、４つの端子ＲＥＳＮ，ＭＤ，ＤＩＯ，ＤＣＫによって接続されており、シリアル入出力回路３９，６の間でシリアル通信を行うことで、パソコン２１よりＩＣＥ２２を介して与えられるデバッグ用の命令を実行させるようになっている。また、マイコン１側の周辺機能部３４は、ＣＰＵ２の周辺回路としてデジタル回路で構成される部分（例えばゲートアレイなど）を含んでおり、標準チップ２４側の周辺機能部３８も、上記と同様の構成部分を備えている。
【００４９】
すなわち、標準チップ２４はマイコン１と同じ機能のＣＰＵ２と周辺機能部３８と備えているので、それらの機能に関するデバッグについては、標準チップ２４側で行うことができる。しかし、マイコン１が備えるパワー入出力部３５は、高耐圧プロセスによって形成されている部分であり、ＦＰＧＡにより構成される標準チップ２４側に同一の機能部分を備えることは困難である。
そこで、ＩＣＥ２２によりエバチップ２３を用いてデバッグを行う場合は、パワー入出力部３５については製品としてのマイコン１を使用して行い、その他の機能については標準チップ２４側で行なうようにする。尚、図６では、マイコンチップ１においてＩＣＥモードで動作を停止させる機能部には、ハッチングをかけて示している。
【００５０】
図７は、上記のようなデバッグの切り分けを行うために必要な、マイコン１側でリセット制御を行う構成部分を示す。標準チップ２４は、マイコン１に対する電源投入も制御可能となっており、最初に標準チップ２４に電源が投入された後に、適当なタイミングでマイコン１に電源を投入する。その際に、標準チップ２４はモード設定信号を変化させ、マイコン１をＩＣＥモードに設定すると共に、ＲＥＳＮ端子を介してリセットを制御する。
この時、マイコン１では、モード制御部５がＩＣＥモード信号を出力するが、そのＩＣＥモード信号は、ＮＯＲゲート４０を介してＣＰＵ２やシリアル入出力回路６を除く周辺機能部３４に対するリセット信号として与えられる。また、ＮＯＲゲート４０の他方の入力端子（負論理）にはＲＥＳＮ端子が接続されており、シリアル入出力回路６及びパワー入出力部３５には、ＲＥＳＮ端子を介した外部リセット信号が直接与えられる。
【００５１】
すなわち、ＩＣＥモードの場合、ＮＯＲゲート４０を介して与えられるリセット信号は、外部リセット信号の状態にかかわらずアクティブ状態を維持するので、ＣＰＵ２や周辺機能部３４はリセットされた状態となり動作しない。そして、デバッグを行うため機能させる必要があるシリアル入出力回路６及びパワー入出力部３５は、外部リセット信号が解除されれば動作可能となる。
【００５２】
図８は、標準チップ２４とマイコン１との間で、シリアル入出力回路３９，６を介して行うシリアル通信の一例を示すものである。尚、この例では、標準チップ２４よりマイコン１の２つの機能部に出力するデータを１ビットずつ交互に送信する場合を示す。シリアル入出力回路３９は、ＤＣＫ信号に基づきcapture信号を出力するシーケンサ４１と、そのＤＣＫ信号に基づきデータラッチをおこなうcaptureレジスタ４２及び４３と、capture信号に基づいて入力選択を行なうマルチプレクサ４４を備えている。シーケンサ４１は、ＤＣＫ信号に基づいてカウント値０，１を繰り返すカウンタを内蔵しており、そのカウント値が「０」の場合にハイレベルとなるcapture信号（すなわち、ＤＣＫ信号の２分周信号）を出力する。また、マルチプレクサ４４は、capture信号がハイレベルの場合に入力「１」側を、ロウレベルの場合に入力「０」側を選択する。
【００５３】
一方、シリアル入出力回路６は、ＤＣＫ信号に基づきupdate信号を出力するシーケンサ４５と、ＤＣＫ信号に基づいてデータラッチを行なうupdateレジスタ４６及び４７，一時レジスタ４８と、update信号により入力選択を行なうマルチプレクサ４９及び５０を備えている。シーケンサ４５は、シーケンサ４１と同様にＤＣＫ信号に基づいてカウント値０，１を繰り返すカウンタを内蔵しており、そのカウント値が「０」の場合にハイレベルとなるupdate信号を出力する。そして、シーケンサ４１及び４５には、リセット信号ＲＥＳＮが与えられている。また、マルチプレクサ４９及び５０は、update信号がハイレベルの場合に入力「１」側を、ロウレベルの場合に入力「０」側を選択する。
【００５４】
シリアル入出力回路３９側では、出力データの１系統（データＡ）がレジスタ４２を介してマルチプレクサ４４の入力「０」側に与えられ、もう１系統（データＢ）は、マルチプレクサ４４の入力「１」側に与えられている。マルチプレクサ４４を介して出力されるデータは、レジスタ４３を介してマイコン１側に出力され、ＤＩＯ端子を介してシリアル入出力回路６に入力される。
【００５５】
シリアル入出力回路６側では、ＤＩＯ端子がレジスタ４８の入力端子とマルチプレクサ４９の入力「１」側とに接続されており、マルチプレクサ４９の出力データは、レジスタ４６を介して出力される（データＡ）。また、レジスタ４６の出力データは、マルチプレクサ４９の入力「０」側に与えられている。  レジスタ４８の出力データは、マルチプレクサ５０の入力「１」側，レジスタ４７を介して出力される（データＢ）。また、その出力データは、上記と同様にマルチプレクサ５０の入力「０」側に与えられている。
【００５６】
次に、シリアル入出力回路３９，６間におけるシリアルデータの送受信について、図９のタイミングチャートを参照して説明する。標準チップ２４側において、リセット信号ＲＥＳＮのレベルがロウからハイに変化すると（図９（ｂ））、ＤＣＫ信号の次の立上がりで、双方のシーケンサ４１，４５内のカウンタのイネーブル信号counter＿enがアクティブとなる（図９（ｃ））。すると、それぞれのカウンタは、ＤＣＫ信号の次の立上がりからカウント値を「０」にリセットしてカウント動作を開始する。これにより、双方の同期が確立される。
【００５７】
そして、カウンタ値「０，１」の変化に応じて、ＤＣＫ信号の１クロックおきに、capture信号とupdate信号とが同時にハイレベルに変化する（図９（ｄ）〜（ｆ））。図９（ｇ）は、上記カウンタの動作に応じたステートの遷移を示しており、カウンタがディスエーブルの間はIdle，カウンタ値が「０」の場合はcapture／update（Ｃ／Ｕ），カウンタ値が「０」の場合はshift（Ｓ）である。
【００５８】
シリアル入出力回路３９側において、各１ビットのデータＡ，Ｂが入力側に用意されると（図９（ｈ））、ＤＣＫ信号の次の立上がりでそれらがcaptureレジスタ４２，４３に格納される（図９（ｉ））。そして、ＤＣＫ信号の次の立上がりで、レジスタ４３に格納されているデータＢが、シリアル入出力回路６側の一時レジスタ４８に格納される（図９（ｊ））。
【００５９】
また、上記と並行して、captureレジスタ４２に保持されているデータＢは、capture信号がロウレベルになったタイミングでマルチプレクサ４４により選択されるので、データＢがシリアル入出力回路６側の一時レジスタ４８に格納されると同時に、データＡは、captureレジスタ４３に格納される。
【００６０】
そして、上記の状態において、シリアル入出力回路６側では、update信号がハイレベルとなるので、マルチプレクサ４９によりデータＡが，マルチプレクサ５０によりデータＢが選択され、次のＤＣＫ信号の立上がりでデータＡ，Ｂがupdateレジスタ４６，４７に格納される。すると、update信号がロウレベルに変化し、マルチプレクサ４９，５０はいずれもupdateレジスタ４６，４７の出力側を選択するので、その次のＤＣＫ信号の立上がりでは、レジスタ４６，４７のデータは変化せず、データＡ，Ｂがそのまま保持される。
【００６１】
以上のプロセスを繰り返すことで、標準チップ２４の内部において２系統で出力されるデータＡＢ，ＣＤ，ＥＦ，ＧＨは、マイコン１側にシリアルに出力されて、マイコンチップ１の内部では、再び２系統に振り分けられるようになる（この場合、入力バッファも２つ用意される）。なお、例えば２系等のデータを８ビットずつ送信する場合は、シーケンサのカウンタを４ビットとしてカウント値を０〜１５に変化させ、カウント値が「０〜７」の間はcapture信号及びupdate信号をハイレベルに、カウント値が「８〜１５」の間は同信号をロウレベルに切り替えれば良い。
【００６２】
以上のように第２実施例によれば、マイコンチップ１と、そのマイコンチップ１の機能の一部を備えると共にＩＣＥ２２との接続インターフェイスであるＩＣＥ機能部２３を備える標準チップ２４とでエバチップ２３を構成し、マイコン１の機能評価やソフトデバッグなどを行う場合に、標準チップ２４とマイコンチップ１との間を、ＭＤ端子、ＲＥＳＮ端子、ＤＣＫ端子、ＤＩＯ端子によって接続し、マイコンチップ１をＩＣＥモードに設定すると、標準チップ２４側よりマイコンチップ１側に、機能評価やソフトデバッグ動作のためのデータをＤＩＯ端子を介して入出力するようにした。
【００６３】
ここで、上記のようなエバチップに関連した従来技術としては、例えば特開２００２−１７５１９６号公報がある。この公報に開示されている構成も、基本的にはマイコンの製品チップとＩＣＥ対応チップとを接続するものであるが、両チップ間の接続端子数が数十本程度となり極めて多い。また、ＩＣＥ対応チップと信号インターフェイスを制御するための専用回路も、機能評価用チップに配置する必要がある。
これに対して、第２実施例のエバチップ２３によれば、標準チップ２４とマイコンチップ１との間を接続する端子数は４本だけとなり、マイコンチップ１単体の場合と同じになる。したがって、標準チップ２４を、小さなサイズで、且つ低コストで構成することができる。
【００６４】
また、マイコンチップ１は、ＩＣＥモードに設定されると、標準チップ２４側に搭載されている機能に対応する構成部分は、リセット制御により動作を停止して、それらについては標準チップ２４側で機能を評価するようにした。そして、マイコンチップ１側においては、標準チップ２４側に搭載することが困難なパワー入出力部３５を動作させてその機能を評価することができる。
【００６５】
（第３実施例）
図１０乃至図１２は、本発明の第３実施例を示す。第３実施例もエバチップの構成に関するものであり、第２実施例の標準チップ２４とマイコンチップ１とを基本として、拡張的な構成を採用した場合である。エバチップ５１は、標準チップ（ＩＣＥ対応チップ）５２と、２つのマイコンチップ５３（１），５３（２）とを備えている。これらのチップ間接続は、第２実施例と同様に４本の端子によって行われるが（ＭＤ端子，ＲＥＳＮ端子は省略）、標準チップ５２側は、データ入出力用のＤＩＯ端子を２本（ＤＩＯ＿１，２）備えている。そして、ＤＩＯ＿１端子はマイコンチップ５３（１）のＤＩＯ端子に接続され、ＤＩＯ＿２端子はマイコンチップ５３（２）のＤＩＯ端子にそれぞれ接続されている。
【００６６】
また、標準チップ５２は、第２実施例における周辺機能部３８に対応するように、マイコン５３側の機能部Ａ，Ｂと同一の機能部Ａ，Ｂ（論理回路部など）を備えており、これらの機能確認については、標準チップ５２側で行うことが可能である。そして、機能部Ｃ，Ｄ（パワー系の機能部など）については、マイコンチップ５３側にしか搭載されておらず、これらの機能確認はマイコンチップ５３側で行う。
その場合、マイコンチップ５３（１）側では機能部Ｃのみを動作させ、マイコンチップ５３（２）側では機能部Ｄのみを動作させるようにして、標準チップ５２は、それらを並行して動作させるため、それぞれのテスト用データをＤＩＯ＿１端子，ＤＩＯ＿２端子より同時に出力することが可能となっている。
【００６７】
また、マイコンチップ５３側では、ＩＣＥモードでは機能部Ａ，Ｂを動作させる必要がなくなる。したがって、ＤＣＫ端子，ＤＩＯ端子は、マイコンチップ５３がユーザモードで動作する場合に、機能部Ａ，Ｂがそれぞれ外部端子として使用する端子と共通化することができる。尚、図１０では、マイコンチップ５３においてＩＣＥモードで動作を停止させる機能部には、第２実施例と同様にハッチングをかけて示している。
【００６８】
図１１は、マイコンチップ５３を図１０に示すようにＩＣＥモードに設定すると共に、マイコン５３内部をリセット制御するための構成を示す（但し、図１０の構成よりは一般化させたものである）。標準チップ５２は、マイコンチップ５３をＩＣＥモードに設定する場合に、マイコンチップ５３（１），５３（２）を、それぞれ「製品チップ１モード」、「製品チップ２モード」というように個別のモードに設定する。
【００６９】
すると、マイコンチップ５３のモード制御部５４は、その設定結果をデコードしてデコード信号を出力するが、そのデコード信号は、ＮＯＲゲート５５〜５７に出力されている。モード制御部５４は、ＩＣＥ動作時における製品チップモードをモード１〜３まで出力するものとし、リセット信号ＲＥＳＮはロウアクティブである。この場合、ＮＯＲゲート５５〜５７は３入力であり、それらの内で負論理入力端子には、リセット信号ＲＥＳＮが共通に与えられている。
【００７０】
そして、ＮＯＲゲート５５には製品チップ２，３モード、ＮＯＲゲート５６には製品チップ１，３モード、ＮＯＲゲート５７には製品チップ１，２モードに対応するデコード信号が与えられている。ＮＯＲゲート５５，５６，５７は、それぞれ製品チップ１，２，３用のリセット信号ＲＥＳＮ＿ＳＬ１，ＳＬ２，ＳＬ３を出力するが、これらは、マイコンチップ５３の内部において、以下のように各機能部に振り分けられる。
ＲＥＳＮ＿ＳＬ１    製品チップ１のみで動作する（２，３では動作しない）機能部
ＲＥＳＮ＿ＳＬ２    製品チップ２のみで動作する（１，３では動作しない）機能部
ＲＥＳＮ＿ＳＬ３    製品チップ３のみで動作する（１，２では動作しない）機能部
そして、リセット信号ＲＥＳＮは、全てのモードで動作する機能部に出力される。
【００７１】
また、図１２は、図１１に示す構成を、図１０に対応させた場合を示す。マイコンチップ５３（１），５３（２）がそれぞれ製品チップ１，２モードに設定される。そして、リセット信号ＲＥＳＮ＿ＳＬ１は機能部Ｃに、リセット信号ＲＥＳＮ＿ＳＬ２は機能部Ｄに、リセット信号ＲＥＳＮ＿ＳＬ（１＋２）は機能部Ａ，Ｂに、リセット信号ＲＥＳＮはシリアル入出力回路６に与えられる。
【００７２】
以上のように第３実施例によれば、エバチップ５１にマイコンチップ５３を２個備え、それらのマイコンチップ５３（１，２）のデータ端子を、標準チップ５２が有する異なるデータ端子に夫々接続し、標準チップ５３がマイコンチップ５３（１，２）を異なるＩＣＥモードに設定すると、マイコンチップ５３（１，２）は、各々に設定されたＩＣＥモードに対応する機能部のみを動作させるので、標準チップ５２が複数のデータ端子より異なる機能評価用データを同時に入出力することで、マイコンチップ５３（１，２）により異なる機能を同時に動作させることが可能となり、マイコンチップ５３一つ当たりに必要なデータ端子数を削減することができる。
そして、マイコンチップ５３（１，２）は、ＩＣＥモードに対応するデコード信号と、標準チップ５２より出力されるリセット信号とを論理合成することで、夫々のＩＣＥモードに応じて自身が動作させるべき機能部に供給されるリセット信号だけを解除するのでリセットを制御することで必要な機能部のみを動作させることができる。
【００７３】
（第４実施例）
図１３乃至図１５は本発明の第４実施例を示すものであり、第１実施例と異なる部分のみ説明する。第４実施例では、マイクロコンピュータ６１の動作モードの１つ、例えばモード２が「基準モード」に設定されている。「基準モード」とは、モードデコーダ８が当該モード２をデコードすると、マイクロコンピュータ６１の特定の出力端子のレベルをロウからハイに変化させるモードである。
【００７４】
この「基準モード」は、以下のような趣旨で設けられる。本発明のマイクロコンピュータのように動作モードが切り替え可能に構成されている場合、例えば複数の検査モードの１つに設定して評価を行った結果、動作異常が発生すると、その原因が動作モードの設定ミスなのか、ノイズ等による誤動作やテスト自体の制御ミスなのかを切り分ける必要がある。
そのためには、マイコンの動作モードが現在どれに設定されるのかを確認する必要があるが、外部端子の配置数に余裕があるマイコンの場合には、例えばモードカウンタ７のカウントデータやモードデコーダ８のデコード結果などを、レジスタを介して外部端子に出力させることができる。しかしながら、パッケージサイズやコストの制約により外部端子の配置数を多くすることができないマイコンでは、上記のような形態でデータを出力できず、動作モードの状態確認が困難である。
【００７５】
そこで、第４実施例のマイコン６１は、動作モードの遷移がモード端子の信号変化→モードカウンタ７のカウント動作により循環するため、「基準モード」に遷移したことを特定の出力端子のレベル変化により認識できれば、その「基準モード」との相対比較により動作モードを確認することができる。
【００７６】
例えば図１４に示すように、マイコン６１の動作モードが、ユーザモードと、「基準モード」を間に挟んで検査モード１〜７とを循環して遷移する場合に、検査モード５でマイコン６１の評価を行ったとする。そして、評価時の動作モードが検査モード５であるのか否かを確認するには、その時点からモードを５つ遷移させた場合に、特定出力端子のレベルが変化して「基準モード」に遷移したことが判れば、評価時の動作モードが検査モード５であることが確認される。
【００７７】
図１５は、「基準モード」への遷移時に、特定の出力端子のレベルを変化させる構成を示す。図１５（ａ）は、ロジック回路を使用して構成した場合であり、２つのＡＮＤゲート６２，６３と、これらの論理和を出力するＯＲゲート６４とで構成される。「基準モード」を出力する図１３に示すＡＮＤゲート１１の出力端子は、ＡＮＤゲート６２，６３（負論理）の一方の入力端子Ｅに接続されており、ＡＮＤゲート６２の他方の入力端子は、「基準モード」を示すハイレベル出力用の端子Ａ、ＡＮＤゲート６３の他方の入力端子は汎用の信号出力端子Ｂであり、デフォルトではロウレベルに設定されている。したがって、「基準モード」に遷移するとＡＮＤゲート６２側の入力端子Ａが選択され、それ以外の動作モードではＡＮＤゲート６３側の入力端子Ｂが選択されるようになっている。
【００７８】
図１５（ｂ）は、アナログスイッチを使用して構成した場合であり、出力側が共通に接続されるアナログスイッチ６５，６６の入力側は、それぞれ「基準モード」を示すハイレベル出力用の端子Ａ，デフォルトでロウレベルに設定される汎用の信号出力端子Ｂである。そして、ＡＮＤゲート１１の出力端子は、アナログスイッチ６５のＮＭＯＳゲート及びアナログスイッチ６６のＰＭＯＳゲートに接続されていると共に、ＮＯＴゲート６７を介してアナログスイッチ６５のＰＭＯＳゲート及びアナログスイッチ６６のＮＭＯＳゲートに接続されている。したがって、「基準モード」に遷移するとアナログスイッチ６５側の端子Ａが選択され、それ以外の動作モードではアナログスイッチ６６側の端子Ｂが選択されるようになっている。
【００７９】
以上のように第４実施例によれば、複数の動作モード中に、設定が行われると同時に外部端子の出力状態を変化させる基準モードを１つ以上設けたので、現在の動作モードが基準モードにあることを外部から容易に確認することでき、マイコン６１の評価時に動作異常が発生した場合に、その時点の動作モードから基準モードに至るまでの状態遷移数を確認すれば動作モードの遷移にミスがあるのか否かを判定できる。また、マイクロコンピュータ６１は、基準モードに遷移した場合に外部端子の信号レベルを変化させるので、極めて簡単なハードウエア構成を追加するだけで基準モードであることを確認できるようになる。
【００８０】
（第５実施例）
図１６及び図１７は本発明の第５実施例を示すものであり、第４実施例と異なる部分のみ説明する。図１６に示すように、第５実施例では、ユーザモードと検査モードとの間に、基準モードを１つ置きに配置している。したがって、図１７に示すように、モードカウンタ７が３，５，７，９を示すモード１，３，５，７の場合に、特定出力端子のレベルがハイレベルに変化する。この場合、図１５に示す回路においては、入力端子Ｅの前段にＯＲゲートを配置して、ＡＮＤゲート１１等を介した基準モードのデコード信号をＯＲゲートの各入力端子に与えれば良い。
以上のように構成される第５実施例によれば、基準モードをモード遷移の循環ループにおいて１つ置きに配置したので、基準モードに遷移したことの確認をより容易に行うことができる。
【００８１】
（第６実施例）
図１８は本発明の第６実施例を示すものである。第６実施例は、第４，第５実施例とは異なり「基準モード」に相当する動作モードは設定せず、それに替えて、動作モードが検査モードに遷移した場合、その検査モードにおいて、当該モードが何れのモードであるのかを示す信号を、外部端子の信号出力状態を変化させて行うようにする。図１８はそれを概念的に示している。
【００８２】
例えば検査モード１に設定された場合に特定のテストコマンドを与えることで、図１に示すＤＩＯ端子より出力するシリアル通信のデータ値を変化させたり、ＰＷＭ信号のデューティやキャリア周波数を変化させたり、Ｄ／Ａコンバータによる出力電圧を変化させたり、出力電流値を変化させたり、出力波形の立上がりや立下がり（なまし量）を変化させる。そして、マイコンの外部においてそれらの変化状態を観測することで、現在の動作モードが何れに設定されているのかを特定する。
尚、モードの種類を特定するために信号を出力させる端子には、設定した検査モードにおけるマイコンの評価では使用されない、若しくは使用される頻度が少ない外部端子を選択する。
【００８３】
以上のように構成される第６実施例によれば、マイコンを検査モードに設定した場合に、外部より与えられる命令に応じて現在設定されている動作モードが外部より特定可能となるように外部端子の出力状態を変化させるので、その変化状態を観測することで動作モードを特定でき、動作モードの遷移にミスがあるのか否かを判定できる。
【００８４】
（第７実施例）
図１９は本発明の第７実施例であり、モード制御部の他の構成例を示す。モード制御部（モード信号出力部）７１は、３つのコンパレータ７２〜７４と、ＡＮＤゲート７５及び７６と、ＮＯＲゲート７７とで構成されている。コンパレータ７２〜７４の非反転入力端子には、モード端子ＭＤが共通に接続されており、非反転入力端子には、例えばそれぞれ２．０Ｖ，３．０Ｖ，４．０Ｖの基準電圧が与えられている。これらの基準電圧は、例えば電源電圧を抵抗で分圧して生成される。
【００８５】
コンパレータ７２，７３の出力端子は、それぞれＡＮＤゲート７５，７６の一方の入力端子に接続されており、コンパレータ７４の出力端子からは、モード信号（３）：ＩＣＥモードが直接出力されると共に、そのモード信号は、ＡＮＤゲート７６の他方の負論理入力端子にも与えられている。また、ＡＮＤゲート７６の出力端子からは、モード信号（２）：検査モード２が出力されると共に、そのモード信号は、ＡＮＤゲート７５の他方の負論理入力端子にも与えられている。
【００８６】
ＡＮＤゲート７５の出力端子からは、モード信号（１）：検査モード１が出力される。そして、３入力ＮＯＲゲート７７の各入力端子は、コンパレータ７４並びにＡＮＤゲート７６，７５の出力端子がそれぞれ接続されており、ＮＯＲゲート７７の出力端子からは、モード信号（０）：ユーザモードが出力される。以上のように構成されるモード制御部７１を備えたものが、マイクロコンピュータ７８を構成している。
【００８７】
次に、第７実施例の作用について説明する。モード制御部７１が上記のように構成されることで、モード端子ＭＤに与えられるモード設定信号の電圧レベルＶMDとマイコン７８の動作モードとの関係は、以下のようになる。
０Ｖ≦ＶMD＜２．０Ｖ  ：モード０（ユーザモード）
２．０Ｖ≦ＶMD＜３．０Ｖ  ：モード１（検査モード１）
３．０Ｖ≦ＶMD＜４．０Ｖ  ：モード２（検査モード２）
４．０Ｖ≦ＶMD≦５．０Ｖ  ：モード３（ＩＣＥモード）
尚、モード３に対応する電圧レベルＶMDの上限は、電源電圧が５．０Ｖの場合である。
【００８８】
すなわち、モード０の場合は、コンパレータ７２〜７４の出力信号が全てロウレベルとなり、ＮＯＲゲート７７の出力信号だけがハイレベルとなる。モード１の場合は、コンパレータ７２の出力信号がだけがハイレベルとなって、ＡＮＤゲート７５の出力信号だけがハイレベルとなる。モード２の場合は、コンパレータ７２及び７３の出力信号がハイレベルとなって、ＡＮＤゲート７６の出力信号だけがハイレベルとなる。モード３の場合は、コンパレータ７２〜７４の出力信号が全てハイレベルとなり、コンパレータ７４の出力信号がモード信号となる。したがって、モード制御部を構成するコンパレータの数は、設定モード数より「１」を減じた値となる。尚、各モードに応じたマイコン７８の動作は、第１〜第６実施例と同様である。
【００８９】
ここで、ユーザモードに対応させる電圧範囲の幅は２．０Ｖであり、その他の動作モードに対応させる電圧範囲の幅１．０Ｖよりも広くなるように設定している。すなわち、マイコン７８をユーザモードに設定して動作させる場合は、その動作状態を極力安定させるのが好ましいため、ユーザモードに対応させる電圧範囲幅をより広く設定することで、当該モードで動作している途中に、モード設定端子ＭＤに例えばノイズなどが印加されることでその他の動作モードに遷移する可能性を低減させている。また、上記の観点から、マイコン７８をユーザモードで動作させる場合には、モード設定端子ＭＤをグランドレベルに固定することが望ましく、グランドレベルに設定して使用されるマイコン７８の他の端子と共通化すれば良い。
【００９０】
以上のように第７実施例によれば、モード制御部７１は、モード設定端子ＭＤに入力されるモード設定信号のレベルに応じてモード信号を出力するので、信号レベルの変化に応じて、マイクロコンピュータ７８の動作モードをより多く設定することができ、第１実施例と同様の効果が得られる。また、モード制御部７１は、各動作モードに対応させるモード設定信号のレベルにそれぞれ所定の電圧範囲を設定するので、マイクロコンピュータ７８の外部より与えるモード設定信号による動作モードの設定を、より容易に行うことができる。
また、モード制御部７１は、ユーザモードに対応させる電圧範囲の幅がその他の動作モードに対応させる電圧範囲の幅よりも広くなるように設定するので、マイコン７８がユーザモードで動作している途中にその他の動作モードに遷移する可能性を低減できる。
【００９１】
更に、モード制御部７１は、ユーザモードに対応させる電圧範囲を、グランドレベルを含む側に設定したので、電圧範囲の下限が安定的に設定し易いレベルとなり、モード設定端子をグランドレベルに設定しておけば、ユーザモードの設定状態を安定させることができる。
加えて、モード設定端子ＭＤを、ユーザモードに対応させる電圧範囲内のレベル−グランドレベルに固定して使用する端子と共通化することで、マイコン７８をユーザモードで動作させる目的でレベル設定するための端子を余分に設ける必要がなく、端子数の増加を更に抑制することができる。
【００９２】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形または拡張が可能である。
第１実施例におけるモード制御部の構成は、図２（ａ）に示すものに限ることなく、ユーザモード（モード０）については、モードデコーダ８の出力結果にかかわらず、モード設定信号のレベルがロウを示す場合にだけ設定するようにしても良い。
また、ユーザモードを設定するためのレベルはハイであっても良い。その場合、例えばマイコン１が備えるＡ／Ｄコンバータに対して、Ａ／Ｄ変換用の参照電圧を与える端子であるＡＤref端子とＭＤ端子とを共通化しても良い。
加算器７ｂはMD端子の入力で状態を変化できればよく、立下りエッジでカウントアップを行っても良い。また減算器やグレーコードカウンタであっても良い。
検査モードにおける図３（ｄ）のメモリマップは、必要に応じて設定すれば良い。また、検査モードに対応するメモリマップは１種類だけにしても良い。
【００９３】
第２実施例において、シリアルデータの送受信を、必ずしも２系統に振り分ける必要はない。
マイクロコンピュータのデータビット数は、個別の設計に応じて適宜変更すれば良い。
第３実施例において、マイコンチップ５３の数を、３個以上配置しても良い。
第４実施例において、基準モードは必ずしもモード２にする必要はない。
第４，第５実施例において、基準モードに遷移した場合の出力レベルの変化は、デフォルトでハイの状態からロウに変化させても良い。また、第６実施例で提示したように、Ｄ／Ａコンバータによる出力電圧を変化させたり、出力電流値を変化させたりしても良い。
【００９４】
第５実施例において、基準モードを複数設定する場合、必ずしも１つ置きにする必要はなく、２つ置きに等に設定しても良い。
第６実施例において、第４実施例と同様に外部端子の信号レベルを変化させても良い。
第４〜第６実施例において、２つ以上の外部端子の出力状態を変化させても良い。
第４〜第６実施例のマイクロコンピュータをマイコンチップとして、第２，第３実施例のようにエバチップを構成しても良い。
【００９５】
ＩＣＥモードで動作させる必要がある機能部のみ選択的に動作させる場合は、電源供給を個別に制御しても良い。
第７実施例において、各動作モードに対応させる電圧範囲は適宜変更しても良い。また、外部より与えるモード設定信号の電圧設定を正確に制御できる場合は、各動作モードを所定電圧に設定しても良い。
また、第７実施例において、ユーザモードに設定する電圧範囲を電源レベルを含む側、例えば３．０Ｖ〜５．０Ｖの範囲に設定しても良い。
また、ユーザモードに設定する電圧範囲の幅を、他の動作モードに対応する電圧範囲と同じ幅に設定しても良い。更に、各電圧範囲幅がそれぞれ異なるように設定しても良いし、各電圧範囲の間に不感帯を設定しても良い。
【図面の簡単な説明】
【００９６】
【図１】本発明の第１実施例であり、マイクロコンピュータの構成を本発明の要旨に係る部分について示す図
【図２】（ａ）はモード制御部の内部構成、（ｂ）は動作タイミングチャートの一例を示す図
【図３】マイコンのメモリ空間であり、（ａ）はユーザモード、（ｂ）〜（ｄ）は検査モード（１，２）の場合を示す図
【図４】検査モードのタイミングチャート（その１）
【図５】検査モードのタイミングチャート（その２）
【図６】本発明の第２実施例であり、ＩＣＥ及びエバチップを中心に示す開発システムの構成を示す図
【図７】マイコン側のリセット制御を行う構成を示す図
【図８】標準チップとマイコンチップとの間で行うシリアル通信の一例を示す図
【図９】シリアル通信のタイミングチャート
【図１０】本発明の第３実施例を示す図６相当図
【図１１】マイコンチップをＩＣＥモードに設定した場合に内部リセットを制御す構成を示す図
【図１２】図１０の構成に対応させた図１１相当図
【図１３】本発明の第４実施例を示す図２相当図
【図１４】動作モードの遷移状態を示す図
【図１５】「基準モード」への遷移時に出力端子のレベルを変化させる構成を示す図
【図１６】本発明の第５実施例を示す図１４相当図
【図１７】図１３（ｂ）相当図
【図１８】本発明の第６実施例を示す図１４相当図
【図１９】本発明の第７実施例を示す図２（ａ）相当図
【符号の説明】
【００９７】
図面中、１はマイクロコンピュータ、２はＣＰＵ、３はＲＯＭ（プログラムメモリ）、４アドレスデコーダ（切換え手段）、５モード制御部、６はシリアル入出力回路（シリアル／パラレル変換部）、７はモードカウンタ、８はモードデコーダ、１２はマップ切換えレジスタ（設定レジスタ）、１４は入力バッファ（入力データバッファ）、１５は出力バッファ（出力データバッファ）、２２はＩＣＥ、２３はエバチップ、２４は標準チップ（ＩＣＥ対応チップ）、５１はエバチップ、５２は標準チップ（ＩＣＥ対応チップ）、５３はマイコンチップ、６１はマイクロコンピュータ、７１はモード制御部（モード信号出力部）、７８はマイクロコンピュータを示す。
【図１】
2009099109.tif 000003
【図２】
2009099109.tif 000004
【図３】
2009099109.tif 000005
【図４】
2009099109.tif 000006
【図５】
2009099109.tif 000007
【図６】
2009099109.tif 000008
【図７】
2009099109.tif 000009
【図８】
2009099109.tif 000010
【図９】
2009099109.tif 000011
【図１０】
2009099109.tif 000012
【図１１】
2009099109.tif 000013
【図１２】
2009099109.tif 000014
【図１３】
2009099109.tif 000015
【図１４】
2009099109.tif 000016
【図１５】
2009099109.tif 000017
【図１６】
2009099109.tif 000018
【図１７】
2009099109.tif 000019
【図１８】
2009099109.tif 000020
【図１９】
2009099109.tif 000021