(57)【要約】【課題】動作モードの選択切換えを行なうための端子を極力削減すると共に、ノイズ対策用の素子を追加せずともノイズを排除できるマイクロコンピュータを提供する。【解決手段】マイコン１１のデコードロジック部１７は、外部より入力されるリセット信号の状態変化に応じてデコード動作を行ない、デコード信号ｘ〜ｚを出力する。具体的には、リセット信号ＶＲの電圧レベルに応じて指定された動作モードをデコードする。【選択図】図１
2008152621.tif 000002
【特許請求の範囲】
【請求項１】
複数の動作モードで起動可能に構成されるマイクロコンピュータにおいて、
入力されるモード設定信号の状態変化に応じて、指定されたモードをデコードしてモード信号を出力するデコーダと、
リセットが解除されると、前記デコーダにより出力されたモード信号に応じた動作モードで起動するように構成されることを特徴とするマイクロコンピュータ。
【請求項２】
前記デコーダは、前記モード設定信号の電圧レベルに応じて、指定されたモードをデコードすることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
前記デコーダは、前記モード設定信号のレベルが遷移している期間の長さに応じて、指定されたモードをデコードすることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項４】
前記デコーダは、前記モード設定信号のレベルが変化する回数に応じて、指定されたモードをデコードすることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項５】
前記モード設定信号を、リセット信号と共通化したことを特徴とする請求項１乃至４の何れかに記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の動作モードで起動可能に構成されるマイクロコンピュータに関する。
【背景技術】
【０００２】
マイクロコンピュータについては、チップサイズ又はパッケージサイズの小型化を図るために、外部端子数を削減することが常に要求されている。また、マイクロコンピュータには、リセットが解除された場合に、例えば通常の動作モードと機能テスト用の動作モード等とが切換可能となるように、即ち、対応する動作プログラムを実行し分けて起動するように構成されているものがある（例えば、特許文献１参照）。
【特許文献１】特開２００４−７８９９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
その場合、外部より指定した動作モードをマイクロコンピュータに参照させるため、例えば図８に示すように、動作モードを設定するための外部端子１〜３（ＭＤ０,ＭＤ１，ＭＤ２）を複数設ける必要があり、チップやパッケージサイズの小型化を図る上で制約があった。図８の場合、動作モードを０〜７の８種類に切換えるため、３ビットの設定データが必要となっている。
【０００４】
また、例えば、車両のようにノイズが発生し易い環境下でマイコンが動作する場合は、図９に示すように、マイコンの外部端子（一例としてリセット端子）にノイズが印加されて誤動作するおそれがある。その対策として、外部端子にコンデンサ４や抵抗５などの素子を追加したり（図１０参照）、或いはＩＣの内部でフィルタ回路を構成するなどの必要があった。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的は、動作モードの選択切換えを行なうための端子を極力削減すると共に、ノイズ対策用の素子を追加せずともノイズを排除できるマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載のマイクロコンピュータによれば、デコーダは、入力されるモード設定信号の状態変化に応じてデコード動作を行ない、モード信号を出力する。従って、外部よりモード設定信号を入力するための端子を１つだけにしても、信号の状態変化により異なる動作モードを指定することができる。また、上記の端子（モード設定端子）にノイズが印加された場合でも、ノイズとして想定される信号の変化についてはデコードを行わないように設定すれば、ノイズを排除（マスク）することが可能となる。
【０００７】
請求項２記載のマイクロコンピュータによれば、デコーダは、モード設定信号の電圧レベルに応じて指定されたモードをデコードするので、モード設定信号をマルチレベルで変化させることで、異なる動作モードを指定して起動させることができる。また、例えば、モード設定端子における電圧レベルの変化が比較的小さい場合はデコード動作を行なわないように設定すれば、そのような信号変化をノイズとして排除することができる。
【０００８】
請求項３記載のマイクロコンピュータによれば、デコーダは、モード設定信号のレベルが遷移している期間の長さに応じて指定されたモードをデコードするので、信号のレベル遷移期間を変化させることで、異なる動作モードを指定して起動させることができる。また、例えば、レベル遷移期間が比較的短い場合はデコード動作を行なわないように設定すれば、そのような信号変化をノイズとして排除することができる。
【０００９】
請求項４記載のマイクロコンピュータによれば、デコーダは、モード設定信号のレベルが変化する回数に応じて指定されたモードをデコードするので、信号のレベル変化回数を変化させることで、異なる動作モードを指定して起動させることができる。また、例えば、レベル変化回数が比較的少ない場合はデコード動作を行なわないように設定すれば、そのような信号変化をノイズとして排除することができる。
【００１０】
請求項５記載のマイクロコンピュータによれば、モード設定信号をリセット信号と共通化する。即ち、モード設定信号の状態変化が特定の条件で変化した場合に、マイコンの内部においてリセット信号を発生させるように構成すれば、双方の信号を共通化することができる。従って、モード設定端子を独立に設ける必要がなく、マイコンの端子数を更に削減することができる。
【発明を実施するための最良の形態】
【００１１】
（第１実施例）
以下、本発明の第１実施例について図１乃至図３を参照して説明する。図１は、マイクロコンピュータ１１の構成を、本発明の要旨にかかる部分のみ示すものである。マイコン１１は、ＣＰＵ１２や、このＣＰＵ１２によって実行される制御プログラムやテストプログラムなどが記憶されているＲＯＭ１３などを備えている。マイコン１１は、リセットが解除されてＣＰＵ１２が起動すると、外部より設定される動作モードに応じてＣＰＵ１２がＲＯＭ１３の異なるアドレスにアクセスすることで、複数の動作モードで起動することが可能となっている。
【００１２】
そして、本実施例では、外部より上記動作モードを設定するための端子（モード設定端子）が、リセット端子１４と共通に設定されている。そのリセット端子１４は、マイコン１１の内部において、４つのコンパレータ１５ａ〜１５ｄの（＋）端子に共通に接続されている。また、マイコン１１の動作用電源ＶCCとグランドとの間には、４つの抵抗素子１６ａ〜１６ｅの直列回路が接続されており、それらのうち、抵抗素子１６ａ及び１６ｂ，１６ｂ及び１６ｃ，１６ｃ及び１６ｄ，１６ｄ及び１６ｅの各共通接続点は、コンパレータ１５ａ〜１５ｄの（−）端子に夫々接続されている。尚、上記各共通接続点における分圧電位を夫々Ｖａ，Ｖｂ，Ｖｃ，Ｖｄとする。
【００１３】
コンパレータ１５ａ〜１５ｄの各出力端子は、デコードロジック部１７の各入力端子と、４入力負論理ＯＲゲート１８の各入力端子とに夫々接続されている。ＯＲゲート１８は、ＣＰＵ１２や、その他の周辺回路に負論理のリセット信号を出力する。デコードロジック部１７は、各コンパレータ１５ａ〜１５ｄの出力レベルの変化に応じてマイコン１１の動作モードをデコードし、そのデコード結果をモードレジスタ１９を介してＣＰＵ１２に出力する。モードレジスタ１９の出力側はＣＰＵ１２のデータバスに接続されており、ＣＰＵ１２は、リセットが解除されるとモードレジスタ１９を読み出して、設定されたモードに応じてＲＯＭ１３にアクセスする。尚、以上の構成において、コンパレータ１５，抵抗素子１６及びデコードロジック部１７が、デコーダ２０を構成している。
【００１４】
図２は、デコードロジック部１７の内部構成を示すものである。デコードロジック部１７は、立下りエッジ検出部２１，立上がりエッジ検出部２２，データ保持部２３，ＮＯＴゲート２４ａ〜２４ｃ，ＡＮＤゲート２５ｘ〜２５ｚで構成されている。立下りエッジ検出部２１には、コンパレータ１５ａの出力信号が与えられており、立下りエッジ検出部２１は、前記出力信号レベルの立下がりエッジを検出すると、データ保持部２３にクリア信号ＣＬＲを出力するように構成されている。
【００１５】
立上がりエッジ検出部２２には、コンパレータ１５ａ〜１５ｄの出力信号ａ〜ｄが与えられており、立上りエッジ検出部２２は、上記各出力信号ａ〜ｄの立上がりエッジを検出すると、データ保持部２３にイネーブル信号を出力するように構成されている。データ保持部２３は、出力信号ａ〜ｄに対応するデータａ’〜ｄ’を出力する。出力信号ａ〜ｄ，データａ’〜ｄ’は何れも初期状態がハイレベルを示しており、データ保持部２３は、立上りエッジ検出部２２よりイネーブル信号が与えられると、対応するデータａ’〜ｄ’をロウレベルに変化させてその状態を保持するように構成されている。
データ保持部２３からの出力データａ’〜ｄ’は、ＮＯＴゲート２４ａ〜２４ｃ，４入力ＡＮＤゲート２５ｘ〜２５ｚの各入力端子に適宜与えられており、ＡＮＤゲート２５ｘ〜２５ｚは、図２に示す論理に応じてデコード信号ｘ〜ｚを出力するようになっている。
【００１６】
次に、本実施例の作用について図３も参照して説明する。図３は、マイコン１１のリセット端子１４に対して外部より与えられるリセット信号（ロウアクティブ，モード設定信号）のレベル変化に応じて、マイコン１１の動作モードが決定される状態を示すタイミングチャートである。リセット信号がインアクティブであり、電源電圧ＶCCと略同じレベルである場合、４つのコンパレータ１５ａ〜１５ｄの出力信号ａ〜ｄは何れもハイレベルを示している。ここで、リセット信号ＶＲのレベルがＶａ＜ＶＲ＜ＶCCの範囲（不感帯）で変化しても、コンパレータ１５ａ〜１５ｄの出力信号ａ〜ｄのレベルは変化しない。従って、そのようなレベル変化を示すノイズがリセット端子１４に印加されたとしても、内部リセット信号はアクティブとならずノイズの影響は排除される。
【００１７】
そして、外部よりマイコン１１の動作モードを切換えて起動させる場合は、リセット信号ＶＲのレベルを分圧電位Ｖａ未満とするように変化させる。リセット信号ＶＲのレベル変化に応じた、出力信号ａ〜ｄのレベル変化並びにデコード信号ｘ〜ｚ，マイコン１１の動作モードの関係は、以下のようになっている。
リセット信号      コンパレータ出力信号  デコード信号    動作モード
ａ  ｂ  ｃ  ｄ      ｘ  ｙ  ｚ
Ｖｂ＜ＶＲ＜Ｖａ      Ｌ  Ｈ  Ｈ  Ｈ      Ｈ  Ｌ  Ｌ          ０
Ｖｃ＜ＶＲ≦Ｖｂ      Ｌ  Ｌ  Ｈ  Ｈ      Ｈ  Ｈ  Ｌ          １
Ｖｄ＜ＶＲ≦Ｖｃ      Ｌ  Ｌ  Ｌ  Ｈ      Ｈ  Ｈ  Ｈ          ２
０＜ＶＲ＜Ｖｄ      Ｌ  Ｌ  Ｌ  Ｌ      ×  ×  ×          ×
【００１８】
また、マイコン１１の内部リセット信号は出力信号ａ〜ｄの論理和で与えられるので、出力信号ａ〜ｄの何れか１つ以上がロウレベルからハイレベルに変化すれば、内部リセットは解除される。すると、ＣＰＵ１２は、モードレジスタ１９を介して設定された動作モード（デコード信号ｘ〜ｚ）を読み出し、設定されたモードに応じてＲＯＭ１３内の対応するプログラムの先頭番地に分岐する。
尚、外部より与えるリセット信号のロウレベル遷移期間は、マイコン１１をリセットするのに十分な時間となるように設定する。また、リセット信号のレベルが分圧電位Ｖｄを下回ったケースについてもデコードするためのハードウエアを追加して、動作モード「３」を割り当てても良い。
【００１９】
以上のように本実施例によれば、マイコン１１のデコーダ２０は、外部より入力されるリセット信号の状態変化に応じてデコード動作を行ない、デコード信号ｘ〜ｚを出力する。具体的には、リセット信号ＶＲの電圧レベルに応じて指定された動作モードをデコードするので、リセット信号ＶＲをマルチレベルで変化させて、異なる動作モードを指定してマイコン１１を起動させることができる。また、デコーダ２０は、リセット信号ＶＲの電圧レベルが分圧電位Ｖａを下回らない範囲で変化した場合はデコード動作を行なわないので、そのような信号変化をノイズとして排除することができる。そして、外部よりモード設定信号を入力するための端子を１つだけにしても、信号の状態変化により異なる動作モードを指定することができる。
【００２０】
加えて、本実施例によれば、モード設定信号をリセット信号と共通化して、リセット端子１４に与える信号の変化によって動作モードを指定するので、モード設定端子を独立に設ける必要がなく、マイコン１１の端子数を更に削減することができる。
【００２１】
（第２実施例）
図４及び図５は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。図４は、マイコン３１に内蔵されるデコーダ３２の構成を示すものである。リセット端子１４は、マイコン３１の内部において、立下りエッジ検出部３３，立上がりエッジ検出部３４の入力端子に共通に接続されており、検出部３３，３４は、夫々ロウアクティブのリセット信号について立下りエッジ，立上がりエッジを検出するようになっている。
【００２２】
立下りエッジ検出部３３のエッジ検出信号は、例えば８ビットのバイナリカウンタ３５に対してリセット信号として与えられている。バイナリカウンタ３５は、クロック回路３６より与えられるクロックパルスの入力数をアップカウントするものであり、そのカウントデータは、比較回路部３７に与えられている。尚、上記クロックパルスの周期は、大部より与えられるリセット信号のアクティブ期間に比較して、十分短い時間となるように設定されている。
【００２３】
比較回路部３７は、マグニチュードコンパレータを備えており、立上がりエッジ検出部３４のエッジ検出信号が比較トリガ信号として与えられると、その時点の上記カウントデータを、マイコン３１の各動作モードに対応して設定される固定データ値と比較するようになっている。そして、その比較結果がデコード信号（モード信号）ｘ，ｙ，ｚとして、（図４では図示しない）ＣＰＵ１２に出力される。尚、デコード信号ｘ，ｙ，ｚの初期状態は何れもロウレベルとなっている。
また、比較回路部３７が出力するデコード信号ｘは、遅延回路３８を介してワンショットマルチバイブレータ３９のトリガ信号入力端子に与えられている。ワンショットマルチバイブレータ３９は、ＣＰＵ１２等に内部リセット信号を出力するもので、トリガ信号がハイレベルに変化すると、所定期間だけロウレベルに変化する信号を出力する。
【００２４】
次に、第２実施例の作用について図５も参照して説明する。第２実施例では、外部より与えるリセット信号がアクティブとなっている期間の長さに応じて、マイコン３１の動作モードを切換えるようになっている。図５に示すように、比較回路部３７は、内部に３つの設定データ値「００００１０００」，「０００１００００」，「００１０００００」を保持している。そして、カウンタ３５は、リセット信号がロウレベルに遷移して立下りエッジが検出された時点からカウントを開始し、比較回路部３７は、リセット信号がロウレベルからハイレベルに遷移して立上がりエッジが検出された時点のカウント値ＣＤを上記各設定データと比較する。
【００２５】
この場合、カウント値ＣＤが「００００１０００」未満であれば、マイコン３１をリセット信号としてのアクティブレベル遷移期間が短すぎるため、デコード動作を行なわない。この場合、デコード信号ｘ，ｙ，ｚは変化しないので、ワンショットマルチバイブレータ３９にトリガ信号は出力されず、リセットは無効となる。即ち、このような信号の変化はノイズとして排除する。そして、カウント値ＣＤが「００００１０００」以上となった場合は、カウント値ＣＤが示す範囲に応じて、動作モードを以下のように設定する。
カウント値ＣＤ              デコード信号      動作モード
ｘ  ｙ  ｚ
「００００１０００」未満          Ｌ  Ｌ  Ｌ            ×
「００００１０００」以上，且つ
「０００１００００」未満          Ｈ  Ｌ  Ｌ            ０
「０００１００００」以上，且つ
「００１０００００」未満          Ｈ  Ｈ  Ｌ            １
「００１０００００」以上          Ｈ  Ｈ  Ｈ            ２
そして、動作モードが「０」〜「２」の場合は、少なくともデコード信号ｘがハイレベルに遷移するので、その立上り時点から遅延回路３８によって付与される遅延時間が経過した後、ワンショットマルチバイブレータ３９にトリガ信号が出力されて、内部リセット信号がアクティブとなる。ここで、遅延回路３８が付与する遅延時間は、少なくとも、外部リセット信号について想定される最も長いアクティブレベルの遷移期間よりも長くなるように設定しておく。
【００２６】
以上のように第２実施例によれば、比較回路部３７は、リセット信号のレベルが遷移している期間の長さに相当するカウント値ＣＤに応じて指定されたモードをデコードするので、リセット信号のレベル遷移期間を変化させることで、異なる動作モードを指定して起動させることができる。また、リセット信号のアクティブレベル遷移期間が短か過ぎる場合はデコード動作を行なわないので、そのような信号変化をノイズとして排除することができる。
【００２７】
（第３実施例）
図６及び図７は本発明の第３実施例を示すものであり、第１実施例と異なる部分のみ説明する。図６は、マイコン４１に内蔵されるデコーダ４２の構成を示すものである。リセット端子１４は、マイコン４１の内部において、エッジ検出部４３の入力端子に接続されており、エッジ検出部４３は、ロウアクティブのリセット信号について立下りエッジ，立上がりエッジの双方を検出し、その検出毎にクロックパルスをカウンタ４４に出力するようになっている。カウンタ４４は、上記クロックパルスの出力数をカウントし、そのカウントデータを比較回路部４５に出力する。
【００２８】
また、エッジ検出部４３によるエッジ検出出力は、信号出力部４６にも与えられている。信号出力部４６は、内部にタイマやマグニチュードコンパレータなどを備えており、前記タイマは、上記のエッジ検出出力が与えられる毎にゼロクリアされて内部クロックによる計時を開始するようになっている。また、上記コンパレータは、前記タイマの計時データと、比較トリガ信号を出力するためのデータ値，カウンタ４４のリセット信号を出力するためのデータ値とを比較するものが夫々用意されている。そして、夫々のコンパレータにおいて計時データが設定データ値に一致すると、信号出力部４６は、比較回路部４５に比較トリガ信号を出力し、また、カウンタ４４にリセット信号を出力する。
【００２９】
比較回路部４５は、カウンタ４４のカウント値に応じて、デコード信号ｘ，ｙ，ｚを出力する。また、それらのデコード信号は、３入力ＯＲゲート４７の入力端子にも夫々与えられており、ＯＲゲート４７の出力端子は、ＡＮＤゲート４８の入力端子の一方に接続されている。ＡＮＤゲート４８の他方の入力端子には、信号出力部４６より比較トリガ信号が与えられており、ＡＮＤゲート４８の出力端子は、ワンショットマルチバイブレータ４９のトリガ信号入力端子に与えられている。
ワンショットマルチバイブレータ４９は、第２実施例のワンショットマルチバイブレータ３９と同様に、ＣＰＵ１２等に内部リセット信号を出力するもので、トリガ信号がハイレベルに変化すると所定期間だけロウレベルに変化する信号を出力する。
【００３０】
次に、第３実施例の作用について図７も参照して説明する。第３実施例では、外部より与えるリセット信号がアクティブとなる回数（ロウレベル遷移する回数）に応じて、動作モードを切換えるようになっている。上述のように、カウンタ４４はエッジ検出部４３によるエッジ検出出力回数をカウントし、比較回路部４５はそのカウントデータに応じてデコード信号ｘ，ｙ，ｚを出力する。また、信号出力部４６は、上記エッジ検出が行なわれる毎に内部のタイマをリセットスタートさせるので、最後の立上りエッジが検出された時点からタイマ値が大きく増大し、所定時間が経過すると比較トリガ信号を出力し、更にその後、カウンタ４４にリセット信号を出力する。尚、上記タイマは、例えばタイマ値が最大値に達すると計時動作を停止するように構成される。
【００３１】
図７に示すように、比較回路部４５は、リセット信号が１回だけ変化した場合（カウント値「２」）はデコード信号を出力しない。従ってこの場合、ＡＮＤゲート４８の出力信号はハイレベルとならず、内部リセット信号は出力されない。即ち、斯様な信号変化はノイズとして排除されるようになっている。
そして、比較回路部４５は、リセット信号が２回変化した場合（カウント値「４」）は、図７に示す比較トリガ信号の出力タイミングでデコード信号ｘをハイレベルとしてモード「０」を設定し、リセット信号が３回変化した場合（カウント値「４」）はデコード信号ｘ，ｙをハイレベルとしてモード「１」を設定する。また、図７には示していないが、リセット信号が４回変化した場合（カウント値「８」）はデコード信号ｘ，ｙ，ｚを全てハイレベルとしてモード「２」を設定する。
【００３２】
比較トリガ信号がハイレベルになった時点で、デコード信号ｘ，ｙ，ｚの何れか１つ以上がハイレベルとなった場合は、ＡＮＤゲート４８の出力レベルもハイレベルに変化する。従って、ワンショットマルチバイブレータ４９より内部リセット信号が出力され、そのリセットが解除されるとＣＰＵ１２が起動する。そして、ＣＰＵ１２は、第１，第２実施例と同様に、設定された動作モードを読取り、そのモードに対応するプログラムに分岐して実行する。
【００３３】
以上のように第３実施例によれば、デコーダ４２は、リセット信号がアクティブレベルに変化する回数に応じて指定されたモードをデコードするので、モード設定信号のレベル変化回数を変化させることで、異なる動作モードを指定して起動させることができる。また、例えば、レベル変化回数が１回だけの場合はデコード動作を行なわないので、そのような信号変化をノイズとして排除することができる。
【００３４】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
モード設定端子を、リセット端子１４とは別個に設けても良い。その場合、モード設定信号を、上記各実施例のリセット信号と同じように変化させれば良い。斯様に構成した場合でも、１つのモード設定端子に与える信号を変化させることで、従来よりも多くの動作モードを設定することができる。
第３実施例において、エッジ検出部４３が立上りエッジ，立下りエッジの何れか一方のみを検出するようにして、カウンタ４４にその出力回数をカウントさせても良い。
具体数値例や信号レベルの論理などについては、適宜変更して実施例すれば良い。
【図面の簡単な説明】
【００３５】
【図１】本発明の第１実施例であり、マイクロコンピュータの構成を本発明の要旨にかかる部分のみ示す図
【図２】比較回路部の内部構成を示す図
【図３】リセット信号のレベル変化に応じて、動作モードが決定される状態を示すタイミングチャート
【図４】本発明の第２実施例を示す図２相当図
【図５】図３相当図
【図６】本発明の第３実施例を示す図２相当図
【図７】図３相当図
【図８】従来のＩＣパッケージの一部を示す図
【図９】リセット端子にノイズが印加された場合を示すタイミングチャート
【図１０】ＩＣのリセット端子に外付け部品を接続した状態を示す図
【符号の説明】
【００３６】
図面中、１１はマイクロコンピュータ、１４はリセット端子（モード設定端子）、２０はデコーダ、３１はマイクロコンピュータ、３２はデコーダ、４１はマイクロコンピュータ、４２はデコーダを示す。
【図１】
2008152621.tif 000003
【図２】
2008152621.tif 000004
【図３】
2008152621.tif 000005
【図４】
2008152621.tif 000006
【図５】
2008152621.tif 000007
【図６】
2008152621.tif 000008
【図７】
2008152621.tif 000009
【図８】
2008152621.tif 000010
【図９】
2008152621.tif 000011
【図１０】
2008152621.tif 000012