(57)【要約】【課題】リセット端子にＩ／Ｏポートを兼用させることを可能にする【解決手段】マイクロコンピュータ１００は、第１端子１２０と、第１端子１２０の機能を選択する情報であり、端子リセット機能と兼用機能との一方を指定する第１端子切り替え情報を格納する不揮発性メモリ１３０と、電源端子１１０から入力される電源電圧レベルに応じて、リセット解除状態を検出するパワーオンリセット回路１４０と、リセット解除状態が検出されると、第１記憶部１６１に兼用機能が設定される機能記憶部１６０と、リセット解除状態が検出されると、不揮発性メモリ１３０から第１端子切り替え情報を読み出して第１記憶部１６１へ設定する機能制御部１５０と、第１記憶部１６１に設定される第１端子切り替え情報に応じて、第１入力信号の機能を選択する選択部１７０と、を備える。【選択図】図１
2013222397.tif 000002
【特許請求の範囲】
【請求項１】
第１入力信号を受ける第１端子と、
前記第１端子の機能を選択する情報であり、端子リセット機能と兼用機能との一方の機能を指定する第１端子切り替え情報を格納する不揮発性メモリと、
電源端子から入力される電源電圧レベルに応じて、リセット状態とリセット解除状態とを検出するパワーオンリセット回路と、
前記第１端子切り替え情報を保持する第１記憶部を有し、前記リセット解除状態が検出されると、前記第１記憶部に前記兼用機能が設定される機能記憶部と、
前記リセット解除状態が検出されると、前記不揮発性メモリから前記第１端子切り替え情報を読み出し、前記第１端子切り替え情報を前記第１記憶部へ設定する機能制御部と、
前記第１記憶部に設定される前記第１端子切り替え情報に応じて、前記第１入力信号の機能を選択する選択部と、
を備えるマイクロコンピュータ。
【請求項２】
前記機能制御部は、前記第１端子切り替え情報を前記第１記憶部へ設定すると、未設定状態から設定完了状態に変化する設定完了信号を出力し、
前記選択部は、前記第１端子切り替え情報、前記リセット解除状態の検出、前記設定完了信号及び前記第１入力信号に基づいて、チップが動作状態か動作開始前状態かを示すチップ・リセット信号を生成するリセット制御部を有することを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
前記リセット制御部は、前記チップ・リセット信号を、前記リセット状態のときには前記動作開始前状態に設定し、前記リセット解除状態が検出された後、前記動作開始前状態から前記動作状態へ変えるタイミングを、前記第１記憶部に前記端子リセット機能が設定される場合には、前記設定完了信号と前記第１入力信号に応じて制御し、前記第１記憶部に前記兼用機能が設定される場合には、前記設定完了信号に応じて制御することを特徴とする請求項２記載のマイクロコンピュータ。
【請求項４】
前記リセット制御部は、前記第１記憶部に前記端子リセット機能が設定される場合には、前記設定完了信号が前記未設定状態から前記設定完了状態に変化した後、前記第１端子が前記第１入力信号として動作開始を指示する信号を受けると、前記チップ・リセット信号を前記動作状態に変え、前記第１記憶部に前記兼用機能が設定される場合には、前記設定完了信号が前記未設定状態から前記設定完了状態に変化すると、前記チップ・リセット信号を前記動作状態に変えることを特徴とする請求項３記載のマイクロコンピュータ。
【請求項５】
前記選択部は、前記第１記憶部に前記兼用機能が設定される場合には、前記第１入力信号を有効にし、前記第１記憶部に前記端子リセット機能が設定される場合には、前記第１入力信号を無効にした、第１兼用機能信号を出力する第１兼用制御部を、さらに備えることを特徴とする請求項１乃至４のいずれか一項に記載のマイクロコンピュータ。
【請求項６】
第２入力信号を受ける第２端子を、さらに備え、
前記不揮発性メモリは、前記第２入力信号の機能を選択する情報であり、前記端子リセット機能と前記兼用機能との一方の機能を指定する第２端子切り替え情報をさらに格納し、
前記機能記憶部は、前記第２端子切り替え情報を保持する第２記憶部をさらに有し、前記リセット解除状態が検出されると、前記第２記憶部に前記兼用機能が設定され、
前記機能制御部は、前記リセット解除状態が検出されると、前記第１端子切り替え情報を前記第１記憶部へ設定することに加え、前記不揮発性メモリから前記第２端子切り替え情報を読み出し、前記第２端子切り替え情報を前記第２記憶部へ設定し、
前記選択部は、前記第１入力信号の機能を選択することに加え、前記第２記憶部に設定される前記第２端子切り替え情報に応じて、前記第２入力信号の機能を選択することを特徴とする請求項１記載のマイクロコンピュータ。
【請求項７】
前記機能制御部は、前記第１端子切り替え情報を前記第１記憶部へ設定し、かつ、前記第２端子切り替え情報を前記第２記憶部へ設定すると、前記設定完了信号を前記未設定状態から前記設定完了状態に変え、
前記リセット制御部は、前記第１端子切り替え情報、前記リセット解除状態の検出、前記設定完了信号及び前記第１入力信号に加え、前記第２端子切り替え情報と、前記第２入力信号とに基づいて、チップが動作状態か動作開始前状態かを示すチップ・リセット信号を生成することを特徴とする請求項６記載のマイクロコンピュータ。
【請求項８】
前記リセット制御部は、前記チップ・リセット信号を、前記リセット状態のときには前記開始前状態に設定し、前記リセット解除状態が検出された後、前記動作開始前状態から前記動作状態へ変えるタイミングを、
前記第１記憶部に前記端子リセット機能が設定され、前記第２記憶部に前記兼用機能が設定される場合には、前記設定完了信号と前記第１入力信号に応じて制御し、
前記第１記憶部に前記兼用機能が設定され、前記第２記憶部に前記端子リセット機能が設定される場合には、前記設定完了信号と前記第２入力信号に応じて制御し、
前記第１記憶部と前記第２記憶部とに前記兼用機能が設定される場合には、前記設定完了信号に応じて制御することを特徴とする請求項７記載のマイクロコンピュータ。
【請求項９】
前記リセット制御部は、
前記第１記憶部に前記端子リセット機能が設定され、前記第２記憶部に前記兼用機能が設定される場合には、前記設定完了信号が前記未設定状態から前記設定完了状態に変化した後、前記第１端子が前記第１入力信号として動作開始を指示する信号を受けると、前記チップ・リセット信号を前記動作状態に変え、
前記第１記憶部に前記兼用機能が設定され、前記第２記憶部に前記端子リセット機能が設定される場合には、前記設定完了信号が前記未設定状態から前記設定完了状態に変化した後、前記第２端子が前記第２入力信号として動作開始を指示する信号を受けると、前記チップ・リセット信号を前記動作状態に変え、
前記第１記憶部と前記第２記憶部とに前記兼用機能が設定されている場合には、前記設定完了信号が前記未設定状態から前記設定完了状態に変化すると、前記チップ・リセット信号を前記動作状態に変えることを特徴とする請求項８記載のマイクロコンピュータ。
【請求項１０】
前記選択部は、前記第２記憶部に前記兼用機能が設定される場合には、前記第２入力信号を有効にし、前記第２記憶部に前記端子リセット機能が設定される場合には、前記第２入力信号を無効にする第２兼用機能信号を出力する第２兼用制御部を、さらに備えることを特徴とする請求項６乃至９のいずれか一項に記載のマイクロコンピュータ。
【請求項１１】
第３入力信号を受ける第３端子を、さらに備え、
前記不揮発性メモリは、前記第３入力信号に、端子リセット機能と兼用機能との一方の機能を指定する第３端子切り替え情報をさらに格納し、
前記機能記憶部は、前記第３切り替え情報を保持する第３記憶部をさらに有し、前記リセット解除状態が検出されると、前記第３記憶部に前記兼用機能が設定され、
前記機能制御部は、前記リセット解除状態が検出されると、前記第１端子切り替え情報を前記第１記憶部へ設定すること及び前記第２端子切り替え情報を前記第２記憶部へ設定することに加え、前記不揮発性メモリから前記第３端子切り替え情報を読み出し、前記第３端子切り替え情報を前記第３記憶部へ設定し、
前記選択部は、前記第１入力信号の機能を選択すること及び前記第２入力信号の機能を選択することに加え、前記第３記憶部に設定される前記第３切り替え情報に応じて、前記第３入力信号の機能を選択することを特徴とする請求項６記載のマイクロコンピュータ。
【請求項１２】
第１入力信号を受ける第１端子と、前記第１端子の機能を選択する情報であって、端子リセット機能と兼用機能との一方の機能を指定する第１端子切り替え情報を格納する不揮発性メモリと、前記第１端子切り替え情報を保持する第１記憶領域を備えるマイクロコンピュータのリセット端子の兼用方法であって、
電源端子から入力される電源電圧レベルに応じて、パワーオンリセット回路がリセット状態からリセット解除状態へ遷移したことを検出し、
前記リセット解除状態が検出されると、前記第１記憶部に前記兼用機能が設定され、
前記不揮発性メモリから前記第１端子切り替え情報を読み出し、
前記第１端子切り替え情報を前記第１記憶部へ設定し、
前記第１記憶部に設定される前記第１端子切り替え情報に応じて、前記第１入力信号の機能を選択するリセット端子の兼用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロコンピュータに関し、例えば、リセット端子を他の機能と兼用する技術（回路構成およびその方法）に関する。
【背景技術】
【０００２】
マイクロコンピュータは一般的に、１ピン単位ではなく４ピン〜２０ピン単位（１０ピン、１６ピン、２０ピン、・・・、８０ピン、１００ピン、・・・）でラインナップされる。マイクロコンピュータの低価格化、用途拡大に伴い、ピン数の少ない製品（以降適宜「少ピン製品」と呼ぶ）、例えば、１０ピン〜２０ピン前後の少ピン製品の需要が高くなっている。
マイクロコンピュータの価格はピン数に比例するので、ユーザは出来る限り少ピンの製品を選択する。例えば、ユーザセット仕様で１１ピン必要な場合、１６ピンの製品を使用しなければならない。一方、ユーザセット仕様で１ピン削減できれば、１０ピンの製品を使用することができる。これにより、ユーザセットのコストを削減することができる。
よって、限られた端子数の中で、Ｉ／Ｏ（Input/Output）ポートとして使える端子数を如何に確保するかが、少ピン製品おいて重要である。
【０００３】
Ｉ／Ｏポート（入出力ポート）として使える端子数を確保するには、Ｉ／Ｏポート機能を持たない端子にＩ／Ｏポートを兼用する技術が有効である。
マイクロコンピュータに搭載するＩ／Ｏポート以外の端子には、少ピンの製品においても最低限に保有する端子として電源端子、発振端子、及びリセット端子がある。
電源端子は、マイクロコンピュータへの電源供給に常時使用するため、Ｉ／Ｏポートを兼用することができない。
発振端子は、発振器をマイクロコンピュータに搭載することで、発振端子にＩ／Ｏポートを兼用する技術が公知である。ユーザは、外部の発振器を使用しない場合、発振端子に兼用されたＩ／Ｏポートを使用することができるため、Ｉ／Ｏポート数を確保できる。
【０００４】
リセット端子は、マイクロコンピュータをリセット状態またはリセット解除状態に制御する目的で使用されるため、電源端子と同様に兼用できない端子であった。しかし、近年、Power On Reset回路（以降、適宜「ＰＯＲ回路」または「ＰＯＲ」と記載する）をマイクロコンピュータに搭載することによって、端子を削除する技術が用いられている。ＰＯＲ回路は、マイクロコンピュータに供給される電源電圧レベルを検出して、リセット状態を解除する回路である。具体的には、ＰＯＲ回路は、電源電圧レベルに応じて、リセット状態とリセット解除状態とを示すパワーオンリセット出力信号を出力する。
本明細書では、リセット端子がマイクロコンピュータをリセットする機能を、「端子リセット機能」、Ｉ／Ｏポートを含めリセット端子が兼用する機能のことを「兼用機能」と呼ぶ。加えて、兼用機能を実現するリセット端子を、適宜「兼用機能端子」とも呼ぶ。
【０００５】
例えば、非特許文献１には、マイクロコンピュータにおいて、ＰＯＲ回路を用いることにより、リセット端子とＩ／Ｏポート端子を兼用する、リセット端子の兼用技術が示されている。例えば、非特許文献１のＦＩＧＵＲＥ２１−１にはリセット制御回路の一例が示されている。この構成例では、ＭＣＬＲ端子は、リセット端子とＩ／Ｏポート端子とを兼用する端子である。ＭＣＬＲ端子は、コンフィギュレーションビットの仕様により、初期状態が設定される。非特許文献１のＴＡＢＬＥ２２−１、２２−４には、ＭＣＬＲ端子が選択する機能をＭＣＬＲＥビットが保持すること、ＭＣＬＲＥビットの初期状態を、端子リセット機能に設定することが記載されている。従って、ＰＯＲ回路がパワーオンリセット出力信号をリセット状態からリセット解除状態に変えると、ＭＣＬＲ端子は、端子リセット機能が選択されるように構成されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】"PIC18F1XK22/LF1XL22 Data Sheet(DS41365D)"、［ｏｎｌｉｎｅ］、Microchip Technology Inc.、２０１０年、２６２ページのＴＡＢＬＥ２２−１、２６３ページのＴＡＢＬＥ２２−４、２４９ページのＦＩＧＵＲＥ２１−１、［２０１２年２月２８日検索］、インターネット＜URL: http://ww1.microchip.com/downloads/en/DeviceDoc/41365D.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１に開示された、リセット端子の兼用技術を用いるマイクロコンピュータは、電源投入後、まず、ＰＯＲ回路によってリセット状態が解除されると、リセット端子は端子リセット機能に制御される。これは、ＴＡＢＬＥ２２−１に示される初期状態に応じて、ＭＣＬＲＥビットに端子リセット機能が設定されるからである。その後、チップ・リセットが解除された後、コンフィグレーション・ビットが設定される。これにより、ＭＣＬＲＥビットは、ＴＡＢＬＥ２２−４に定義される、端子リセット機能または兼用機能を指定する値が設定される。その結果、マイクロコンピュータは、ＭＣＬＲＥビットに設定された値によって、ＭＣＬＲ端子の機能を選択する。例えば、非特許文献１では、ＭＣＬＲＥビットに兼用機能が設定されると、マイクロコンピュータは、ＭＣＬＲ端子を、ＲＡ３機能である入力ポートとして使用し、ＣＰＵ動作を実行する。一方、ＭＣＬＲＥビットに端子リセット機能が設定されると、マイクロコンピュータは、ＭＣＬＲ端子を、リセット端子として使用し、リセット動作を実行する。
【０００８】
ここで、マイクロコンピュータがＭＣＬＲ端子を兼用機能に制御しているときに電源電圧が降下すると、ＭＣＬＲＥビットに設定された値が消失し、端子機能の設定状態が不定になる。そして、再び電源電圧が上昇してＰＯＲ回路によってリセットが解除されると、マイクロコンピュータは、ＭＣＬＲ端子を端子リセット機能に制御することになる。これは、電源電圧の降下の発生により、ＭＣＬＲＥビットに初期状態である端子リセット機能が設定されるからである。そのため、マイクロコンピュータがＣＰＵ動作を開始させるためには、マイクロコンピュータ外部からリセット端子（ＭＣＬＲ端子）にＨｉｇｈレベルの信号を入力しなければならない。リセット端子にＨｉｇｈレベルの信号を入力するために、ユーザはマイクロコンピュータに機能を追加する必要が生じる。具体的には、マイクロコンピュータに、ＰＯＲ回路によるリセット発生をマイクロコンピュータ外部で検出する機能と、リセット端子への入力をＬｏｗレベルからＨｉｇｈレベルへ変える機能とを追加する。このような場合には、端子リセット機能をＰＯＲ回路によって実現することが困難になる。
【０００９】
上述したように、ユーザセットによってはマイクロコンピュータに内蔵するＰＯＲ回路では端子リセット機能の性能が不足するケースがある。このような場合には、リセット端子を他の機能と兼用することなく端子リセット機能として使用する必要があるため、リセット端子を削除し、例えば、Ｉ／Ｏポートなどの他の機能に置き換えることはできない。
ゆえに、マイクロコンピュータにおいて、リセット端子にＩ／Ｏポートなどの他の機能を兼用させる技術が必要である。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
一実施形態によれば、リセット端子を、パワーオンリセット回路によるリセット解除後の初期状態を兼用機能に制御し、端子リセット機能と、Ｉ／Ｏポートとして働く兼用機能とのいずれかを選択する端子切り替え情報を用いて、リセット端子を端子リセット機能と兼用機能とを切り替えて使用する。
【発明の効果】
【００１１】
一実施形態によれば、リセット端子にＩ／Ｏポートなどの他の機能を兼用させることができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係るマイクロコンピュータの構成例を示すブロック図である。
【図２】実施形態１に係るマイクロコンピュータの構成例を示す図である。
【図３】実施形態１の端子リセット機能と兼用機能の切り替え方法の動作例を示すフローチャートである。
【図４】実施形態１の端子リセット機能を使用する場合のタイミングチャートである。
【図５】実施形態１の兼用機能を使用する場合のタイミングチャートである。
【図６】実施形態１の効果を示し、従来技術の問題点が解決するメカニズムを説明するタイミングチャートである。
【図７】非特許文献１に開示されたリセット回路を搭載する場合のマイクロコンピュータのシステムを示す図である。
【図８】図７のシステムにおいて、端子リセット機能と兼用機能の切り替え方法の動作例を示すフローチャートである。
【図９】図７のシステムにおいて、端子リセット機能を使用する場合のタイミングチャートである。
【図１０】図７のシステムにおいて、兼用機能を使用する場合のタイミングチャートである。
【図１１】図７のシステムにおいて、従来技術の問題点が発生するメカニズムを示した図である。
【図１２】一実施形態のマイクロコンピュータの他の構成例を示すブロック図である。
【図１３】実施形態２に係るマイクロコンピュータの構成例を示す図である。
【図１４Ａ】実施形態２の端子リセット機能と兼用機能の切り替え方法の動作例を示すフローチャートである。
【図１４Ｂ】図１４Ａの端子機能設定処理（Ｓ２００）の動作例を示すフローチャートである。
【図１５】実施形態２の第１端子リセット機能と第２兼用機能とを使用する場合のタイミングチャートである。
【図１６】実施形態２の第１兼用機能と第２端子リセット機能とを使用する場合のタイミングチャートである。
【図１７】実施形態２の第１兼用機能と第２兼用機能とを使用する場合のタイミングチャートである。
【発明を実施するための形態】
【００１３】
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
【００１４】
＊  一実施形態の構成
まず、図１を参照して一実施形態の構成例を説明する。
図１は、一実施形態に係るマイクロコンピュータの構成例を示すブロック図である。マイクロコンピュータ１００は、電源端子１１０、第１端子１２０、不揮発性メモリ１３０、パワーオンリセット回路（ＰＯＲ回路）１４０、機能制御部１５０、機能記憶部１６０、及び選択部１７０を備える。マイクロコンピュータ１００は、第１端子１２０を、端子リセット機能と兼用機能とのいずれかに選択して使用できるように構成される。
電源端子１１０は、電源電圧が投入される端子である。
第１端子１２０は、外部から制御される機能を兼用する端子（兼用機能端子）の一例であり、外部から入力信号（第１入力信号）を受ける。第１端子１２０は、端子リセット機能と兼用機能とを切り替えて使用できるように構成されている。第１端子１２０は、端子リセット機能が選択されると、リセット端子として動作し、一方、兼用機能が選択されると、リセット端子以外の兼用する機能、例えば、Ｉ／Ｏポートとして動作する。第１端子１２０は、「兼用機能端子」または「リセット端子／兼用機能端子」とも呼ぶ。
【００１５】
不揮発性メモリ１３０は、端子切り替え情報を格納する不揮発性の記憶領域である。端子切り替え情報は、端子リセット機能と兼用機能との一方の機能を指定する情報である。図１の例では、不揮発性メモリ１３０は、端子切り替え情報として、第１端子１２０の機能を選択する第１端子切り替え情報が、予め利用者等によって格納される。
パワーオンリセット回路１４０は、電源端子１１０から入力される電源電圧レベルに応じて、リセット状態とリセット解除状態とを示すパワーオンリセット出力信号（以降適宜、「ＰＯＲ出力信号」ともいう）を出力する。
機能記憶部１６０は、兼用機能を実現する端子について、不揮発性メモリ１３０が格納する情報を一時的に保持する記憶領域であり、揮発性の記憶領域を用いることができる。図１の構成例では、機能記憶部１６０は、第１記憶部１６１を有する。
第１記憶部１６１は、第１端子切り替え情報を一次的に保持する。第１記憶部１６１は、パワーオンリセット出力信号がリセット状態からリセット解除状態へ変化すると（ＰＯＲ回路１４０によるリセット解除）、第１記憶部１６１に兼用機能が設定されるように構成されている。言い換えると、機能記憶部１６０（第１記憶部１６１）は、パワーオンリセット出力信号によりリセットされ、リセットされたときの初期状態として兼用機能が選択されるように構成されている。
【００１６】
機能制御部１５０は、パワーオンリセット出力信号がリセット状態からリセット解除状態に変化すると、不揮発性メモリ１３０から端子切り替え情報を読み出し、機能記憶部１６０へ設定する。図１では、機能制御部１５０は、第１端子切り替え情報を読み出し、第１端子切り替え情報を第１記憶部へ設定する。言い換えると、機能制御部１５０は、兼用機能端子の機能を制御する。これにより、第１端子１２０は、第１端子切り替え情報に指定された機能に制御された状態になる。
加えて、機能制御部１５０は、端子切り替え情報を機能記憶部１６０に設定することが完了したか否かを通知する設定完了信号を選択部１７０へ出力する。図１の構成例では、機能制御部１５０は、第１記憶部１６１へ第１端子切り替え情報を設定すると、設定完了信号を未設定状態から設定完了状態に変える。
【００１７】
選択部１７０は、機能記憶部１６０に設定される端子切り替え情報に応じて、兼用機能端子に入力される入力信号の機能（役割）を選択する。図１の構成例では、選択部１７０は、第１記憶部１６１に設定される第１端子切り替え情報に応じて、第１入力信号の機能（役割）を選択する。選択部１７０は、リセット制御部１７１と第１兼用制御部１７２とによって、第１入力信号の機能を選択する。
リセット制御部１７１は、第１記憶部１６１に端子リセット機能が設定される場合には、第１端子１２０が受ける第１入力信号がリセット状態を制御する信号と判断し、パワーオンリセット出力信号、設定完了信号及び第１入力信号に基づいて、チップ・リセット信号を出力する。一方、第1記憶部１６１に兼用機能が設定される場合には、リセット制御部１７１は、パワーオンリセット出力信号及び設定完了信号に応じてチップ・リセット信号を制御する。チップ・リセット信号は、チップ（マイクロコンピュータ）が動作状態か動作開始前状態かを示す。
具体的には、リセット制御部１７１は、チップ・リセット信号を、パワーオンリセット出力信号がリセット状態のときには動作開始前状態に設定する。パワーオンリセット出力信号がリセット解除状態に変化すると、リセット制御部１７１は、第１記憶部１６１に端子リセット機能が設定される場合には、設定完了信号が設定完了状態に変化した後、第１入力信号に応じてチップ・リセット信号を制御する。一方、第1記憶部１６１に兼用機能が設定される場合には、リセット制御部１７１は、設定完了信号に応じてチップ・リセット信号を動作状態へ変える。
【００１８】
第１兼用制御部１７２は、第１記憶部１６１に設定される機能に応じて、第１兼用機能信号を出力する。具体的には、第１記憶部１６１に兼用機能が設定される場合には、第１兼用制御部１７２は、第１端子１２０が受ける第１入力信号が兼用機能を実現する、例えば、入力ポートであれば入力データである（入力データ信号）と判断し、第１入力信号を有効にした第１兼用機能信号を出力する。一方、第１記憶部１６１に端子リセット機能が設定される場合には、第１兼用制御部１７２は、第１入力信号を無効にした（例えば、すべてＬｏｗレベルにした）第１兼用機能信号を出力する。
ここで、機能記憶部１６０（第１記憶部１６１）に端子リセット機能が設定されるとは、兼用機能端子（第１記憶部１６１）が端子リセット機能を指定する値を保持することであり、機能記憶部１６０（第１記憶部１６１）に兼用機能が設定されるとは、機能記憶部１６０（第１記憶部１６１）が兼用機能を指定する値を保持することである。第１記憶部１６１は、保持する第１端子切り替え情報に基づいて、端子リセット機能と兼用機能とのいずれかを示す機能選択信号を選択部１７０へ出力する。
【００１９】
図１の構成によって、マイクロコンピュータ１００は、兼用機能端子として働く第１端子１２０の入力レベルに関係なく、ＣＰＵの動作を開始することが可能となる。
具体的には、機能制御部１５０が制御する設定完了信号を設けたことにより、マイクロコンピュータ１００は、兼用機能を選択する場合に、第１端子１２０からの入力に関係なく、内部の状態に応じてチップ・リセット信号を動作開始前状態から動作状態へ変えることが可能になる。
なお、図１では、第１端子１２０を端子リセット機能と兼用機能とへ兼用する、リセット端子の切り替え方法を説明する構成要素を示し、その他端子や、説明に関係しない構成要素を適宜省略している。
以下、図面を参照して各実施形態の具体的な構成及び動作を説明する。
【００２０】
実施形態１．
＊  実施形態１の構成
図２に、実施形態１に係るマイクロコンピュータの構成例を示す。実施形態１のマイクロコンピュータ２００は、第１兼用機能端子２２０を、端子リセット機能と兼用機能とのいずれかを実行させる端子として切り替えるように構成される。マイクロコンピュータ２００は、正電源端子（ＶＤＤ）２１０、第１兼用機能端子（リセット端子／兼用機能端子）２２０、フラッシュメモリ２３０、パワーオンリセット回路（ＰＯＲ回路）２４０、制御回路２５０、コンフィグレーション・ビット２６０、及び選択部２７０を備える。図２のマイクロコンピュータ２００の各構成要素は、図１のマイクロコンピュータ１００と次のように対応する。正電源端子２１０が電源端子１１０と、第１兼用機能端子２２０が第１端子１２０と、フラッシュメモリ２３０が不揮発性メモリ１３０と、パワーオンリセット回路２４０がパワーオンリセット回路１４０と、制御回路２５０が機能制御部１５０と、コンフィグレーション・ビット２６０が機能記憶部１６０と、選択部２７０が選択部１７０と対応する。図２の各構成要素は、図１の各構成要素を具体的に実現する構成例を示している。各構成要素について、図１と重複する機能の説明は適宜省略する。
【００２１】
正電源端子２１０は、正電源電圧が投入される端子である。
第１兼用機能端子２２０は、外部から制御される端子であり、リセット信号を入力する端子リセット機能と、デジタル信号を入力する兼用機能を兼ねる端子の一例である。
フラッシュメモリ２３０は、第１兼用機能端子２２０の端子切り替え情報を格納する不揮発性のメモリである。フラッシュメモリ２３０は、コンフィグレーション・ビット領域２３１と、ユーザプログラム領域２３２とを備える。
コンフィグレーション・ビット領域２３１は、マイクロコンピュータ２００の初期設定情報を記憶する。初期設定情報は、第１兼用機能端子２２０の端子切り替え情報を含む。加えて、本実施形態では、第１兼用機能端子２２０の機能の初期状態（デフォルト値）が、兼用機能に設定されるように初期設定情報が定義される。具体的には、ＰＯＲ出力信号がリセット状態からリセット解除状態に変化すると、コンフィグレーション・ビット２６０に兼用機能が設定されるように、初期設定情報が定義される。
コンフィグレーション・ビット領域２３１は、例えば、非特許文献１のＴＡＢＬＥ２２−１、２２−４に示すような他の情報も格納するが、一実施形態の特徴の説明に関係しないため、ここでは説明を省略する。
ユーザプログラム領域２３２は、ユーザが開発したプログラムを記憶する。
【００２２】
ＰＯＲ回路２４０は、正電源端子２１０に投入される電源電圧を監視し、所定の閾値以上の電源電圧を検出すると、ＰＯＲ出力信号（リセット解除信号）をリセット解除状態に変えて出力する。ＰＯＲ回路２４０が、ＰＯＲ出力信号をリセット状態（Ｌｏｗレベル）からリセット解除状態（Ｈｉｇｈレベル）に変えることにより、マイクロコンピュータ２００は、リセット状態が解除される。
制御回路２５０は、コンフィグレーション・ビット２６０を制御する。制御回路２５０は、ＰＯＲ回路２４０から出力されるＰＯＲ出力信号をイネーブル信号として使用する。制御回路２５０は、ＰＯＲ出力信号がリセット解除状態（Ｈｉｇｈレベル）に変化すると（ＰＯＲ回路２４０によってリセット状態が解除されると）、フラッシュメモリ２３０のコンフィグレーション・ビット領域２３１から端子切り替え情報を含む初期設定情報を読み出し、読み出した端子切り替え情報をコンフィグレーション・ビット２６０へ設定することを含め、マイクロコンピュータ２００の初期設定を実施する。コンフィグレーション・ビット２６０への設定が完了すると、制御回路２５０は、設定完了信号を未設定状態（Ｌｏｗレベル）から設定完了状態（Ｈｉｇｈレベル）に変える。制御回路２５０が設定完了信号を制御することにより、マイクロコンピュータ２００は、兼用機能を選択する場合に、第１兼用機能端子２２０から入力される信号に関係なく、動作開始が可能であるか否かを判定することが可能になる。
【００２３】
コンフィグレーション・ビット２６０は、端子切り替え情報を保持する記憶領域である。コンフィグレーション・ビット２６０は、ＰＯＲ回路２４０によるリセット解除後の初期状態として、兼用機能が設定されるように構成される。言い換えると、ＰＯＲ回路２４０から出力されるＰＯＲ出力信号がリセット状態からリセット解除状態に変化したことを検出すると、初期状態（兼用状態）にリセットされるように構成される。コンフィグレーション・ビット２６０は、電源が投入されている間、端子切り替え情報を保持する揮発性メモリから構成される。図２の構成例では、コンフィグレーション・ビット２６０は、第１兼用機能端子２２０の端子切り替え情報を保持する記憶領域として、第１ＭＣＬＲＥビット２６１を有する。第１ＭＣＬＲＥビット２６１は、端子リセット機能と兼用機能とのどちらを指定する値を保持しているかを示すＭＣＬＲＥ信号（機能選択信号）を出力する。本実施形態では、ＭＣＬＲＥ信号がＨｉｇｈレベルの場合には端子リセット機能が選択され、Ｌｏｗレベルの場合には兼用機能が選択されることを前提とする。
【００２４】
選択部２７０は、コンフィグレーション・ビット２６０に設定された情報に基づいて、端子リセット機能と、兼用機能とのいずれかを選択し、第１兼用機能端子２２０が受ける入力信号が選択された機能を実現できるように構成される。具体的には、選択部２７０は、ＡＮＤ素子２７１、２７３、２７４、及びインバータ２７２を有する。図１の選択部１７０と対応づけると、ＡＮＤ素子２７１、２７３、及びインバータ２７２は、リセット制御部１７１を構成し、ＡＮＤ素子２７４は、第１兼用制御部１７２を構成する。
ＡＮＤ素子２７１は、ＰＯＲ出力信号と、設定完了信号と、ＡＮＤ素子２７３の出力（端子リセット信号）を受け、これら３つ信号を論理積した結果をチップ・リセット信号として出力する。
ＡＮＤ素子２７３は、ＭＣＬＲＥ信号と、インバータ２７２を介して第１兼用機能端子２２０が受けた入力信号の反転値とを受け、２つの信号を論理積した結果を端子リセット信号として出力する。
ＡＮＤ素子２７４は、第１兼用機能端子２２０からのデジタル信号と、ＭＣＬＲＥ信号の反転値を受け、２つの信号を論理積した結果（デジタル入力信号）を兼用機能信号（兼用入力信号）として出力する。
【００２５】
ＡＮＤ素子２７１、２７３、及びインバータ２７２から構成されるリセット制御回路２８０により、リセット機能を次のように実現する。
リセット制御回路２８０は、第１ＭＣＬＲＥビット２６１に端子リセット機能が設定される場合には（第１ＭＣＬＲＥビット２６１がＨｉｇｈレベルを保持）、設定完了信号が未設定状態（Ｌｏｗレベル）から設定完了状態（Ｈｉｇｈレベル）に変化した後、第１兼用機能端子２２０が動作開始を指示する信号（Ｈｉｇｈレベル）を受けると、チップ・リセット信号を動作状態（Ｈｉｇｈレベル）に変える。一方、リセット制御回路２８０は、第１ＭＣＬＲＥビット２６１に兼用機能が設定される場合には（第１ＭＣＬＲＥビット２６１がＬｏｗレベルを保持）、設定完了信号が未設定状態から設定完了状態に変化すると、チップ・リセット信号を動作状態に変える。これにより、リセット制御回路２８０は、兼用機能が選択される場合に、第１兼用機能端子２２０から入力される信号を、兼用機能信号として出力することが可能になる。
【００２６】
＊  実施形態１の動作
図３は、電源投入からＣＰＵ動作開始までを示したフローチャートであり、実施形態１の端子リセット機能と兼用機能の切り替え方法を示す。図３に示す実施形態１の切り替え方法は、図２に示すマイクロコンピュータ２００のシステムにて実施される例を示す。
マイクロコンピュータ２００に電源が投入（ステップＳ１００）されると、マイクロコンピュータ２００に搭載されたＰＯＲ回路２４０は、マイクロコンピュータ２００の電源電圧レベルを監視し（ステップＳ１０１）、電源電圧レベルが閾値未満であるか否かを検出する。電源電圧レベルが閾値未満では、ＰＯＲ回路２４０によるリセット状態である。
電源電圧レベルが閾値以上になると（ステップＳ１０１、ＹＥＳ）、ＰＯＲ回路２４０がリセット解除状態のＰＯＲ出力信号を出力することによって、ＰＯＲ回路２４０によるリセット状態を解除する（ステップＳ１０２）。ＰＯＲ出力信号がリセット解除状態に変化すると、第１兼用機能端子２２０の機能は兼用機能（初期状態）に設定される（ステップＳ１０３）。
加えて、リセットが解除されると、制御回路２５０が動作を開始し、コンフィグレーション・ビット領域２３１から第１端子切り替え情報をリードし、第１ＭＣＬＲＥビット２６１に設定する（ステップＳ１０４）。その結果、設定完了信号がＨｉｇｈレベルとなる。なお、図３中、説明を容易にするために、ステップＳ１０３とステップＳ１０４とは順番に動作するように表わしているが、実際の動作では、ＰＯＲ出力信号に応じてそれぞれ動作を開始するため、必ずしも図３のフローチャートの順番とは限らない。以降の同様のフローチャートにおいても同じである。
【００２７】
初期設定情報の端子切り替え情報（第１ＭＣＬＲＥビット）の値が１（Ｈｉｇｈレベル）であれば（ステップＳ１０５、ＹＥＳ）、制御回路２５０によって第１ＭＣＬＲＥビット２６１がＨｉｇｈレベルを保持するため、第１兼用機能端子２２０の機能は端子リセット機能に設定される（ステップＳ１０６）。一方、端子切り替え情報の値が０（Ｌｏｗレベル）であれば（ステップＳ１０５、ＮＯ）、制御回路２５０によって第１ＭＣＬＲＥビット２６１がＬｏｗレベルを保持するため、第１兼用機能端子２２０の機能は兼用機能に設定される（ステップＳ１０７）。制御回路２５０は、第１ＭＣＬＲＥビット２６１に端子切り替え情報を設定すると（ステップＳ１０６、Ｓ１０７）、設定完了信号を未設定状態から設定完了状態（Ｈｉｇｈレベル）へ変える。
端子リセット機能が設定された場合（ステップＳ１０６）、第１兼用機能端子２２０にＨｉｇｈレベルの信号が入力されると（ステップＳ１０８、ＹＥＳ）、ＡＮＤ素子２７３の出力の反転値がＨｉｇｈレベルとなる。このため、ＡＮＤ素子２７１から出力されるチップ・リセット信号がＨｉｇｈレベルとなり、チップ・リセットが解除され（ステップＳ１０９）、ＣＰＵが動作を開始する（ステップＳ１１０）。
兼用機能が設定された場合（ステップＳ１０７）、第１兼用機能端子２２０の入力信号に関わらず、ＡＮＤ素子２７３の出力の反転値がＨｉｇｈレベルとなる。このため、ＡＮＤ素子２７１から出力されるチップ・リセット信号がＨｉｇｈレベルとなり、チップ・リセットが解除され（ステップＳ１０９）、ＣＰＵが動作を開始する（ステップＳ１１０）。
【００２８】
図４は、実施形態１の切り替え方法（図３のフローチャート）により、第１兼用機能端子２２０を端子リセット機能として使用する場合の図２に示すマイクロコンピュータ２００の動作を示す状態遷移とタイミング図である。
図４において、上段から順に、マイクロコンピュータ２００の動作状態の遷移と、端子機能の設定状態の遷移とを示す。更に正電源端子２１０への入力と、第１兼用機能端子２２０への入力と、ＰＯＲ回路２４０から出力されるＰＯＲ出力信号と、制御回路２５０から出力される設定完了信号と、第１ＭＣＬＲＥビット２６１から出力されるＭＣＬＲＥ信号と、ＡＮＤ素子２７１から出力されるチップ・リセット信号との波形を示している。
マイクロコンピュータ２００の動作状態は、ＰＯＲ回路２４０によるリセット状態（ＰＯＲ−Ｒ）と、コンフィグレーション・ビットの設定（ＣＯＮＦＩＧ−ＳＥＴ）と、端子リセットと、ＣＰＵ動作との４つの状態が遷移する。
端子機能の設定状態は、不定と、兼用機能と、端子リセット機能との３つの設定状態が存在する。端子機能の設定状態は、第１ＭＣＬＲＥビット２６１が保持する値に応じて遷移する。本実施形態では、値が１の場合には端子リセット機能に、０（ゼロ）の場合には兼用機能に設定されることを前提とする。不定は、電源電圧レベルが閾値未満である場合に、第１ＭＣＬＲＥビット２６１が保持する値が検出できない状態である。
【００２９】
時刻Ｔ０は、図３のステップＳ１０１〜Ｓ１０３に該当する。ＰＯＲ回路２４０によってリセット解除状態が検出されると、ＰＯＲ出力信号がＬｏｗレベルからＨｉｇｈレベルに変化する。ＰＯＲ出力信号がＨｉｇｈレベルに変化すると、マイクロコンピュータ２００の状態がコンフィグレーション・ビット２６０の設定に遷移する。加えて、端子機能は初期設定である兼用機能に設定される。
時刻Ｔ１は、図３のステップＳ１０４〜Ｓ１０６に該当する。制御回路２５０によってコンフィグレーション・ビット２６０の設定が完了し、マイクロコンピュータ２００の状態が端子リセットの状態に遷移する。このとき、設定完了信号がＬｏｗレベルからＨｉｇｈレベルへ変化する。
時刻Ｔ２は、図３のステップＳ１０８〜Ｓ１１０に該当する。第１兼用機能端子２２０にＨｉｇｈレベルが入力されると、チップ・リセット信号がＨｉｇｈレベルに変わり、ＣＰＵ動作が開始する。
時刻Ｔ２以降は、ＭＣＬＲＥ信号の値がＨｉｇｈレベルであることから、兼用機能端子２２０は、端子リセット機能を継続する。
【００３０】
図５は、実施形態１の切り替え方法（図３のフローチャート）により、第１兼用機能端子２２０を兼用機能として使用する場合の図２に示すマイクロコンピュータ２００の動作を示す状態遷移とタイミング図である。
図５は、図４と同様の状態遷移と波形とを示す。
時刻Ｔ０の動作は、図４と同じであり、端子機能は初期設定である兼用機能に設定される。
時刻Ｔ１は、図３のステップＳ１０４〜Ｓ１０５、Ｓ１０７、Ｓ１０９〜Ｓ１１０に該当する。制御回路２５０によってコンフィグレーション・ビット２６０の設定が完了し、端子機能の設定状態は兼用機能を維持する。このとき、設定完了信号がＬｏｗレベルからＨｉｇｈレベルへ変化する。設定完了信号がＨｉｇｈレベルに変化すると、チップ・リセット信号がＨｉｇｈレベルに変わり、マイクロコンピュータ２００はＣＰＵ動作を開始する。
時刻Ｔ１以降は、ＭＣＬＲＥ信号の値がＬｏｗレベルであることから、第１兼用機能端子２２０は、兼用機能を継続する。
【００３１】
＊  実施形態１のメカニズムおよび効果
図６は、実施形態１の切り替え方法（図３フローチャート）により、第１兼用機能端子２２０を兼用機能として使用する場合の図２で示すマイクロコンピュータ２００の動作を示す状態遷移とタイミング図である。図６を参照して、従来技術の問題が解決されることを説明する。
図６は、図４、５と同様の状態遷移と波形の変化とを示す。
時刻Ｔ０〜Ｔ１の動作は、図５と同じである。
時刻Ｔ２は、ＣＰＵ動作中にマイクロコンピュータ２００への電源電圧が下がり、ＰＯＲ回路２４０によるリセットが発生したタイミングである。このとき、第１ＭＣＬＲＥビット２６１は、電源電圧が低いため不定である。加えて、図６では、第１兼用機能端子２２０にＬｏｗレベルが入力されている場合を示す。
時刻Ｔ３と時刻Ｔ４の動作は、それぞれ時刻Ｔ０と時刻Ｔ１と同様である。
図６では、ＰＯＲ回路２４０によるリセットが解除される時刻Ｔ０と時刻Ｔ３において、コンフィグレーション・ビット２６０の第１ＭＣＬＲＥビット２６１には、初期状態である兼用機能が設定される。その結果、第１兼用機能端子２２０は、兼用機能に制御される。
時刻Ｔ４の動作は、時刻Ｔ１と同様であり、第１兼用機能端子２２０は、兼用機能を維持する。このため、第１兼用機能端子２２０の入力レベルに関係なく、ＣＰＵ動作が開始できるという有利な効果を生ずる。
【００３２】
図４〜６に示したように、マイクロコンピュータ２００は、端子リセット機能が選択される場合には、通常のリセット機能の実現を可能とし、一方、兼用機能が選択される場合には、マイクロコンピュータ２００内の状態に応じて、具体的には、設定完了信号に応じて動作状態に遷移させることが可能になる。
【００３３】
ここで、本実施形態の効果を従来技術と比較して具体的に説明する。
図７は、非特許文献１に開示されたリセット回路をマイクロコンピュータに搭載する構成例を示すシステム図である。図７のマイクロコンピュータ９００は、第１兼用機能端子２２０の機能切り換えを実現する。なお、図７の構成図は、非特許文献１のリセット回路による端子切り換えシステム及び端子機能切り換え方法を説明するために、図２と対比させて作成した図である。本実施形態との対比を容易にするため、同じ機能を実施する構成要素については図２と同じ名称・符号を用い、説明を省略する。図７では、非特許文献１のＭＣＬＲ／ＲＡ３端子が、第１兼用機能端子２２０に対応する。
図７に示すマイクロコンピュータ９００は、正電源端子２１０、第１兼用機能端子２２０、フラッシュメモリ９３０と、パワーオンリセット回路２４０と、制御回路９５０と、コンフィグレーション・ビット９６０と、選択部９７０とを備える。
【００３４】
フラッシュメモリ９３０は、第１兼用機能端子２２０の端子切り替え情報を格納する不揮発性のメモリである。フラッシュメモリ９３０は、コンフィグレーション・ビット領域９３１と、ユーザプログラム領域２３２とを備える。フラッシュメモリ９３０は、コンフィグレーション・ビット領域９３１が格納する初期設定情報の定義が、図２の構成と異なるがその他は図２と同様である。具体的には、コンフィグレーション・ビット領域９３１は、初期設定情報として、第１兼用機能端子２２０の機能の初期状態（デフォルト値）が、端子リセット機能に設定されるように定義された情報を格納する。
制御回路９５０は、コンフィグレーション・ビット９６０を制御する回路である。制御回路９５０は、選択部９７０から出力されるチップ・リセット信号を制御回路９５０のイネーブル信号として使用する。制御回路９５０は、チップ・リセット信号がＨｉｇｈレベルに変化すると、コンフィグレーション・ビット領域２３１から端子切り替え情報を含む初期設定情報を読み出し、コンフィグレーション・ビット９６０へ設定する。
【００３５】
コンフィグレーション・ビット９６０は、端子切り替え情報を保持する記憶領域であり、第１兼用機能端子２２０の端子切り替え情報を保持する記憶領域として、ＭＣＬＲＥビット９６１を有する。コンフィグレーション・ビット９６０とＭＣＬＲＥビット９６１とは、初期状態の設定を除いて図２のコンフィグレーション・ビット２６０または第１ＭＣＬＲＥビット２６１と同様である。コンフィグレーション・ビット９６０（ＭＣＬＲＥビット９６１）は、ＰＯＲ回路２４０によるリセット解除後の初期状態として、端子リセット機能が設定されるように構成される。
選択部９７０は、コンフィグレーション・ビット９６０に設定された情報に基づいて、端子リセット機能と、兼用機能とのいずれかを選択し、選択された機能を第１兼用機能端子２２０が実行するように、第１兼用機能端子２２０から入力される入力信号を処理する。具体的には、選択部９７０は、ＡＮＤ素子２７４、９７１、及びインバータ２７２を有する。
ＡＮＤ素子９７１は、インバータ２７２を介して第１兼用機能端子２２０が受けた入力信号の反転値と、ＭＣＬＲＥ信号とを受け、２つの信号を論理積した結果をチップ・リセット信号として出力する。チップ・リセット信号は、制御回路９５０とＭＣＬＲＥビット９６１へも出力される。図７において、リセット回路９８０は、ＡＮＤ素子９７１とインバータ２７２とから構成される。
【００３６】
図８は、電源投入からＣＰＵ動作開始までを示したフローチャートであり、図７に示すマイクロコンピュータ９００が端子リセット機能と兼用機能とを切り替える動作例を示す。なお、図８は、非特許文献１の方法を説明するために、図８と対比させて作成した図である。
マイクロコンピュータに電源が投入（ステップＳ１４００）されると、マイクロコンピュータ９００に搭載されたＰＯＲ回路２４０は、マイクロコンピュータの電源電圧レベルを監視し（ステップＳ１４０１）、電源電圧レベルが閾値未満であるか否かを検出する。
電源電圧レベルが閾値以上になると（ステップＳ１４０１、ＹＥＳ）、ＰＯＲ回路２４０からＰＯＲ出力信号を出力することでリセット状態を解除する（ステップＳ１４０２）。ＰＯＲ出力信号がリセット解除状態に変化すると、第１兼用機能端子２２０の機能は端子リセット機能（初期状態）に設定される（ステップＳ１４０３）。
第１兼用機能端子２２０にＨｉｇｈレベルの信号が入力されると（ステップＳ１４０４、ＹＥＳ）、チップ・リセット信号がＨｉｇｈレベルとなりチップ・リセットが解除される（ステップＳ１４０５）。
チップ・リセットが解除されると（ステップＳ１４０５）、制御回路９５０が動作を開始し、コンフィグレーション・ビット領域９３１から初期設定情報をリードし、コンフィグレーション・ビット９６０に設定する（ステップＳ１４０６）。
初期設定情報のＭＣＬＲＥビット９６１の値が１（Ｈｉｇｈレベル）であれば（ステップＳ１４０７、ＹＥＳ）、端子リセット機能が選択される（ステップＳ１４０８）一方、０（Ｌｏｗレベル）であれば兼用機能が選択され（ステップＳ１４０９）、ＣＰＵが動作を開始する（ステップＳ１４１０）。
【００３７】
図９は、図８に示す切り替え方法（フローチャート）により、第１兼用機能端子２２０を端子リセット機能として使用する場合の図７に示すマイクロコンピュータ９００の動作を示す状態遷移図とタイミング図である。
図９は、上段から順に、マイクロコンピュータの動作状態と、端子機能の設定状態の遷移とを示す。更に正電源端子２１０への入力と、第１兼用機能端子２２０への入力と、ＰＯＲ出力信号と、チップ・リセット信号と、ＭＣＬＲＥ信号との波形を示している。
時刻Ｔ０は、図８のステップＳ１４０１〜Ｓ１４０３に該当する。ＰＯＲ回路２４０によってリセット解除状態が検出されると、ＰＯＲ出力信号がＬｏｗレベルからＨｉｇｈレベルに変化する。ＰＯＲ出力信号がＨｉｇｈレベルに変化すると、マイクロコンピュータ９００の状態が端子リセット状態に遷移する。加えて、端子機能は初期設定である端子リセット機能に設定される。
時刻Ｔ１は、図８のステップＳ１４０４〜Ｓ１４０５に該当する。第１兼用機能端子２２０にＨｉｇｈレベルの信号が入力されると、チップ・リセット信号がＨｉｇｈレベルに変化し、マイクロコンピュータ９００の状態がコンフィグレーション・ビット９６０の設定に遷移する。
時刻Ｔ２は、図８のステップＳ１４０６〜Ｓ１４１０に該当する。コンフィグレーション・ビット９６０の設定が完了し、ＣＰＵ動作が開始するタイミングである。
時刻Ｔ２以降は、ＭＣＬＲＥ信号がＨｉｇｈレベルであることから、端子リセット機能を継続する。
【００３８】
図１０は、図８に示す方法（フローチャート）により、第１兼用機能端子２２０を兼用機能として使用する場合の図７で示すマイクロコンピュータ９００の動作を示す状態遷移図とタイミング図である。
図１０は、図９と同様の状態遷移と波形とを示す。
時刻Ｔ０〜Ｔ１の動作は、図９と同じである。
時刻Ｔ２以降の動作は、ＭＣＬＲＥ信号がＬｏｗレベルであることから、第１兼用機能端子２２０の機能が端子リセット機能から兼用機能に切り替わる。
【００３９】
図１１は、図８に示す方法（フローチャート）により、第１兼用機能端子２２０を兼用機能として使用する場合に発生する問題を説明する図であり、図７に示すマイクロコンピュータ９００が動作する場合の状態遷移図とタイミング図である。
図１１は、図８，９と同様の状態遷移と波形とを示す。
時刻Ｔ０〜Ｔ２までは、図１０と同じ動作を示している。
時刻Ｔ３は、ＣＰＵ動作中にマイクロコンピュータ９００への電源電圧が降下し、ＰＯＲ回路２４０によるリセットが発生したタイミングである。このとき、コンフィグレーション・ビット９６０は、電源電圧が低いため不定である。加えて、図１１では、第１兼用機能端子２２０にＬｏｗレベルが入力されている場合を示す。
時刻Ｔ４は、時刻Ｔ０と同じ動作を示している。
時刻Ｔ４のＰＯＲ回路２４０によるリセット解除により、ＭＣＬＲＥビット９６１は初期状態である端子リセット機能が設定される。この初期化により、ＭＣＬＲＥ信号はＨｉｇｈレベルに変化し、選択部９７０は、端子リセット機能を選択するように制御される。
時刻Ｔ４では、第１兼用機能端子２２０にＬｏｗレベルが入力されているため、端子リセット状態が維持されることになる。
【００４０】
第１兼用機能端子２２０にＬｏｗレベルの信号を入力している外部素子（別のマイクロコンピュータやセンサなど）は、Ｈｉｇｈレベルの信号を出力する状態になるまで、Ｌｏｗレベルの信号の出力を継続する。マイクロコンピュータ９００は、第１兼用機能端子２２０にＬｏｗレベルが入力されているため、端子リセット状態を継続する。このため、マイクロコンピュータ９００は、兼用機能を使用中に電源電圧が降下しＰＯＲ回路２４０によるリセットが発生した後、再び上昇しＰＯＲ回路２４０によってリセットが解除された場合、ＣＰＵ動作が開始できないという問題が生じる。
マイクロコンピュータ９００の端子リセット状態を解除するには、マイクロコンピュータ９００外部でマイクロコンピュータ９００の電源電圧が降下したことを検出し、第１兼用機能端子２２０への入力をＬｏｗレベルからＨｉｇｈレベルに切替える必要がある。
例えば、ユーザは、ＣＰＵ動作を開始させるために、マイクロコンピュータ９００外部から第１兼用機能端子２２０にＨｉｇｈレベルの信号を入力しなければならない。第１兼用機能端子２２０にＨｉｇｈレベルの信号を入力するために、ユーザはＰＯＲ回路２４０によるリセット発生をマイクロコンピュータ９００外部で検出し、第１兼用機能端子２２０にＨｉｇｈレベルの信号を入力する外部部品（例えば、電圧検出回路やスイッチ等）と、この外部部品を制御するプログラムがマイクロコンピュータ９００に必要となる。
【００４１】
一方、このような問題に対して、本実施形態では、ＰＯＲ回路２４０によるリセットが解除される時刻Ｔ０と時刻Ｔ３において、第１兼用機能端子２２０は兼用機能が設定されるため、第１兼用機能端子２２０の入力レベルに関係なく、ＣＰＵ動作を開始できる。
よって、従来技術において必要であった第１兼用機能端子２２０に対するＨｉｇｈレベル入力操作を排除できるため、従来技術の課題の問題を解決することができる。
【００４２】
実施形態２．
＊  実施形態２の構成
図１２は、一実施形態のマイクロコンピュータの他の構成例を示すブロック図である。図１２は、図１の構成へ兼用機能端子をさらに一つ追加する場合の構成例を示す。マイクロコンピュータ３００は、電源端子１１０、第１端子１２０、第２端子３２０、不揮発性メモリ３３０、パワーオンリセット回路１４０、機能制御部３５０、機能記憶部３６０、及び選択部３７０を備える。マイクロコンピュータ３００は、第１端子１２０と第２端子３２０とについて、端子リセット機能と兼用機能とのいずれかを選択して使用できるように構成される。図１と同じ符号の構成要素は同様であるため説明を省略する。
第２端子３２０は、外部から制御される兼用機能端子の他の一例であり、外部から入力信号（第２入力信号）を受ける。第２端子３２０は、端子リセット機能と兼用機能とを切り替えて用いることができるように構成されている。第２端子３２０は、端子リセット機能が選択されると、リセット端子として動作し、一方、兼用機能が選択されると、リセット端子以外の兼用する機能、例えば、Ｉ／Ｏポートとして動作する。第２端子３２０は、「兼用機能端子」または「リセット端子／兼用機能端子」とも呼ぶ。
不揮発性メモリ３３０は、図１の不揮発性メモリ１３０と同様であり、第１端子切り替え情報に加え、第２端子３２０の機能を選択する第２端子切り替え情報を格納する。
【００４３】
機能記憶部３６０は、図１の機能記憶部１６０へ第２記憶部３６１を追加した構成である。第２記憶部３６１は、第２端子切り替え情報を一時的に保持する。第２記憶部３６１は、第１記憶部１６１と同様に、パワーオンリセット出力信号がリセット状態からリセット解除状態へ変化すると、第２記憶部に兼用機能が設定されるように構成されている。図１２では、第１記憶部１６１が出力する機能選択信号を第１機能選択信号、第２記憶部３６１が出力する機能選択信号を第２機能選択信号として区別する。
機能制御部３５０は、図１の機能制御部１５０の機能に加え、第２記憶部３６１へ第２端子切り替え情報を設定する機能を実施する。具体的には、機能制御部３５０は、パワーオンリセット出力信号がリセット状態からリセット解除状態に変化すると、第１記憶部１６１の設定に加え、不揮発性メモリ３３０から第２端子切り替え情報を読み出し、第２端子切り替え情報を第２記憶部３６１へ設定する。これにより、第２端子３２０は、第２端子切り替え情報に指定された機能に制御された状態になる。
加えて、機能制御部３５０は、第１記憶部１６１へ第１端子切り替え情報を設定し、かつ、第２記憶部３６１へ第２端子切り替え情報を設定すると、設定完了信号を未設定状態から設定完了状態に変える。
【００４４】
選択部３７０は、図１の選択部１７０の機能に加え、第２記憶部３６１に設定される第２端子切り替え情報に応じて、第２入力信号の機能を選択する。選択部３７０は、リセット制御部３７１と第１兼用制御部１７２と第２兼用制御部３７２とよって、第１入力信号と第２入力信号の機能を選択する。
リセット制御部３７１は、図１のリセット制御部１７１と同様の機能に加え、第２端子３２０から入力される第２入力信号の機能を選択する処理を実施する。リセット制御部３７１は、チップ・リセット信号を、パワーオンリセット出力信号がリセット状態のときには動作開始前状態に設定する。リセット制御部３７１は、パワーオンリセット出力信号がリセット解除状態に変化した後、動作開始前状態から動作状態へ変えるタイミングを、第１記憶部１６１と第２記憶部３６１とが保持する値に応じて次のように制御する。
（１）第１記憶部１６１に端子リセット機能が設定され、第２記憶部３６１に兼用機能が設定される場合には、設定完了信号と第１入力信号に応じて制御する。
（２）第１記憶部１６１に兼用機能が設定され、第２記憶部３６１に端子リセット機能が設定される場合には、設定完了信号と第２入力信号に応じて制御する。
（３）第１記憶部１６１と第２記憶部３６１とに兼用機能が設定される場合には、設定完了信号に応じて制御する。
第２兼用制御部３７２は、第２記憶部３６１に設定される機能に応じて、第２兼用機能信号を出力する。具体的には、第２記憶部３６１に兼用機能が設定される場合には、第２兼用制御部３７２は、第２端子３２０が受ける第２入力信号が兼用機能を実現する、例えば、Ｉ／Ｏポートであれば入力データ（入力データ信号）であると判断し、第２入力信号を有効にした第２兼用機能信号を出力する。一方、第２記憶部３６１に端子リセット機能が設定される場合には、第２兼用制御部３７２は、第２入力信号を無効にした（例えば、すべてＬｏｗレベルにして）第２兼用機能信号を出力する。
【００４５】
次に、図１２のマイクロコンピュータ３００のリセット端子の切り替え方法を実現する具体的な構成例を参照して実施形態２を詳細に説明する。
図１３は、実施形態２に係るマイクロコンピュータの構成例を示す図である。図１３のマイクロコンピュータ４００は、実施形態１の第１兼用機能端子２２０に加え、同様の他の第２兼用機能端子４２０を備える構成例である。図２と同じ符号の構成要素は同様であるため、適宜説明を省略する。
フラッシュメモリ４３０は、第１兼用機能端子２２０の端子切り替え情報に加え、第２兼用機能端子４２０の端子切り替え情報を格納する。フラッシュメモリ４３０は、コンフィグレーション・ビット領域４３１と、ユーザプログラム領域２３２とを備える。
コンフィグレーション・ビット領域４３１は、マイクロコンピュータ４００の初期設定情報を記憶する。初期設定情報は、第１兼用機能端子２２０及び第２兼用機能端子の端子切り替え情報を含む。加えて、本実施形態では、第１兼用機能端子２２０及び第２兼用機能端子４２０の機能の初期状態（デフォルト値）が、兼用機能に設定されるように初期設定情報が定義される。具体的には、ＰＯＲ出力信号がリセット状態からリセット解除状態に変化すると、コンフィグレーション・ビット４６０に兼用機能が設定されるように、初期設定情報が定義される。
【００４６】
制御回路４５０は、コンフィグレーション・ビット４６０を制御する。制御回路４５０は、ＰＯＲ回路２４０から出力されるＰＯＲ出力信号をイネーブル信号として使用する。制御回路４５０は、ＰＯＲ出力信号がリセット解除状態（Ｈｉｇｈレベル）に変化すると、フラッシュメモリ４３０のコンフィグレーション・ビット領域４３１から端子切り替え情報を含む初期設定状態を読み出し、読み出した端子切り替え情報をコンフィグレーション・ビット４６０へ設定する。コンフィグレーション・ビット４６０へ第１兼用機能端子２２０及び第２兼用機能端子４２０の端子切り替え情報の設定が完了すると、制御回路４５０は、設定完了信号を未設定状態（Ｌｏｗレベル）から設定完了状態（Ｈｉｇｈレベル）に変える。
【００４７】
コンフィグレーション・ビット４６０は、図１のコンフィグレーション・ビット２６０の動作と同様である。図１３の構成例では、コンフィグレーション・ビット４６０は、第１ＭＣＬＲＥビット２６１に加え、第２兼用機能端子４２０の端子切り替え情報を保持する第２ＭＣＬＲＥビット４６１を有する。第２ＭＣＬＲＥビット４６１は、端子リセット機能と兼用機能とのどちらを指定する値を保持しているかを示すＭＣＬＲＥ信号を出力する。
以降の説明では、第１ＭＣＬＲＥビット２６１または第２ＭＣＬＲＥビット４６１から出力されるＭＣＬＲＥ信号を明確に区別するため、適宜、第１ＭＣＬＲＥビット２６１から出力される信号を第１ＭＣＬＲＥ信号（第１機能選択信号）、第２ＭＣＬＲＥビット４６１から出力されるＭＣＬＲＥ信号を第２ＭＣＬＲＥ信号（第２機能選択信号）と呼ぶ。
【００４８】
選択部４７０は、コンフィグレーション・ビット４６０に設定された情報に基づいて、端子リセット機能と、兼用機能とのいずれかを選択し、第１兼用機能端子２２０及び第２兼用機能端子４２０から入力される入力信号が選択された機能を実現できるように構成される。以降の説明では、第１兼用機能端子２２０または第２兼用機能端子４２０が受ける入力信号を明確に区別するため、適宜、第１兼用機能端子２２０から入力される入力信号を第１入力信号、第２第１兼用機能端子４２０から入力される入力信号を第２入力信号と呼ぶ。
図１３の構成例では、選択部４７０は、ＡＮＤ素子２７３、２７４、４７１、４７３、４７４及びインバータ２７２，４７２を有する。図１２の選択部３７０と対応づけると、ＡＮＤ素子２７３、４７１、４７３及びインバータ２７２、４７２は、リセット制御部３７１を構成し、ＡＮＤ素子２７４は、第１兼用制御部１７２を構成し、ＡＮＤ素子４７４は、第２兼用制御部３７２を構成する。
【００４９】
ＡＮＤ素子４７１は、ＰＯＲ出力信号と、設定完了信号と、ＡＮＤ素子２７３の出力と、ＡＮＤ素子４７３の出力とを受け、これら４つ信号の論理積した結果をチップ・リセット信号として出力する。
ＡＮＤ素子２７３は、インバータ２７２を介して第１兼用機能端子２２０が受けた入力信号の反転値と、第１ＭＣＬＲＥ信号とを受け、２つの信号を論理積した結果を第１端子リセット信号として出力する。
ＡＮＤ素子４７３は、インバータ４７２を介して第２兼用機能端子４２０が受けた入力信号の反転値と、第２ＭＣＬＲＥ信号とを受け、２つの信号を論理積した結果を第２端子リセット信号として出力する。
ＡＮＤ素子２７４は、第１兼用機能端子２２０からのデジタル信号と、第１ＭＣＬＲＥ信号の反転値を受け、２つの信号を論理積した結果を第１兼用機能信号（第１兼用入力信号）として出力する。
ＡＮＤ素子４７４は、第２兼用機能端子４２０からのデジタル信号と、第２ＭＣＬＲＥ信号の反転値を受け、２つの信号を論理積した結果を第２兼用機能信号（第２兼用入力信号）として出力する。
【００５０】
ＡＮＤ素子２７３、４７１、４７３及びインバータ２７２、４７２から構成されるリセット制御回路４８０により、リセット機能を次のように実現する。
（１）第１ＭＣＬＲＥビット２６１に端子リセット機能が設定され、第２ＭＣＬＲＥビット４６１に兼用機能が設定される場合には（第１ＭＣＬＲＥビット２６１がＨｉｇｈレベル、第２ＭＣＬＲＥビット４６１がＬｏｗレベルを保持）、設定完了信号が未設定状態（Ｌｏｗレベル）から設定完了状態（Ｈｉｇｈレベル）に変化した後、第１兼用機能端子２２０が動作開始を指示する信号（Ｈｉｇｈレベル）を受けると、チップ・リセット信号を動作状態（Ｈｉｇｈレベル）に変える。
（２）第１ＭＣＬＲＥビット２６１に兼用機能が設定され、第２ＭＣＬＲＥビット４６１に端子リセット機能が設定される場合には（第１ＭＣＬＲＥビット２６１がＬｏｗレベル、第２ＭＣＬＲＥビット４６１がＨｉｇｈレベルを保持）、設定完了信号が未設定状態（Ｌｏｗレベル）から設定完了状態（Ｈｉｇｈレベル）に変化した後、第２兼用機能端子４２０が動作開始を指示する信号（Ｈｉｇｈレベル）を受けると、チップ・リセット信号を動作状態（Ｈｉｇｈレベル）に変える。
（３）第１ＭＣＬＲＥビット２６１及び第１ＭＣＬＲＥビット２６１に兼用機能が設定される場合には（第１ＭＣＬＲＥビット２６１及び第２ＭＣＬＲＥビット４６１がＬｏｗレベルを保持）、設定完了信号が未設定状態から設定完了状態に変化すると、チップ・リセット信号を動作状態に変える。
【００５１】
上述した構成により、２つの兼用機能端子を設け、いずれか一方に端子リセット機能を選択した場合には、従来通りのリセット機能の実現を可能とする。一方、２つの兼用機能端子ともに兼用機能を選択した場合には、２つの兼用機能端子に入力される信号に関係なく、マイクロコンピュータ４００を動作状態に遷移させることを可能とする。
第１兼用機能端子２２０と第２兼用機能端子４２０それぞれの端子リセット機能及び兼用機能の内容は、マイクロコンピュータの設計者が適宜決めるものであり、端子リセット機能が同じであっても異なっていてもよく、また兼用機能が同じであっても異なっていても問題ない。例えば、第１兼用機能端子の兼用機能が入力ポートであり、第２兼用機能端子の兼用機能が入出力ポートであるというように異なっていてもよいし、両方の兼用機能が入力出力ポートであるというように同じであってもよい。以降では説明を容易にするため、適宜、第１兼用機能端子２２０に設定する機能を、「第１端子リセット機能」、「第１兼用機能」、第２兼用機能端子４２０に設定する機能を、「第２端子リセット機能」、「第２兼用機能」とも呼ぶ。
【００５２】
＊  実施形態２の動作
図１４Ａ，１４Ｂは、電源投入からＣＰＵ動作開始までを示したフローチャートであり、実施形態２の第１兼用機能端子２２０及び第２兼用機能端子４２０それぞれについて、端子リセット機能と兼用機能との切り替え方法を示す。図１４Ａは、実施形態２の端子リセット機能と兼用機能の切り替え方法の動作例全体を示す。図１４Ｂは、図１４Ａの端子機能設定処理（Ｓ２００）の動作例の詳細を示す。図１４Ａ，１４Ｂに示す実施形態２の切り替え方法は、図１３のマイクロコンピュータ４００にて実施される例を示す。
【００５３】
実施形態２の動作は、実施形態１の図３に示す動作と次の点が異なる。
図３のステップＳ１０３と同様の処理として、マイクロコンピュータ４００は、ＰＯＲ回路２４０によるリセット解除（ステップＳ１０２）後に、第１兼用機能端子２２０を第１兼用機能に設定するステップＳ１０３−１、第２兼用機能端子４２０を第２兼用機能に設定するステップＳ１０３−２を実施する。
図３のステップＳ１０５、Ｓ１０６と同様の処理として、制御回路４５０は、第１ＭＣＬＲＥ信号の値がＨｉｇｈレベルの場合（Ｓ１０５−１、ＹＥＳ）、第１兼用機能端子２２０を第１端子リセット機能に設定する処理（ステップＳ１０６−１）と、第２兼用機能端子４２０を第２兼用機能に設定する処理（ステップＳ１０６−２）とを実施する。加えて、制御回路４５０は、第１ＭＣＬＲＥ信号の値がＬｏｗレベルであって（Ｓ１０５−１、ＮＯ）、第２ＭＣＬＲＥ信号の値がＨｉｇｈレベルの場合（Ｓ１０５−２、ＹＥＳ）、第２兼用機能端子４２０を第２端子リセット機能に設定する処理（ステップＳ１０６−３）と、第１兼用機能端子２２０を第１兼用機能に設定する処理（ステップＳ１０６−４）とを実施する。
【００５４】
図３のステップＳ１０７と同様の処理として、制御回路４５０は、第１ＭＣＬＲＥ信号と第２ＭＣＬＲＥ信号がともにＬｏｗレベルの場合（Ｓ１０５−１、ＮＯ、Ｓ１０５−２、ＮＯ）、第１兼用機能端子２２０を第１兼用機能に設定する処理（ステップＳ１０７−１）と、第２兼用機能端子４２０を第２兼用機能に設定する処理（ステップＳ１０７−２）とを実施する。
更に、図３のステップＳ１０８と同様の処理として、制御回路４５０は、第１兼用機能端子２２０の入力がＨｉｇｈレベルであるかを判断する処理（ステップＳ１０８−１）と、第２兼用機能端子４２０の入力がＨｉｇｈレベルであるかを判断する処理（ステップＳ１０８−２）とを実施する。
なお、図１４Ａ、１４Ｂにおいて、第１兼用機能と第２兼用機能とのどちらを先に処理するかは設計事項であり、順番が逆であってもよいことはいうまでもない。
【００５５】
図１５は、実施形態２の切り替え方法（図１４Ａ、１４Ｂのフローチャート）により、第１兼用機能端子２２０を第１端子リセット機能、第２兼用機能端子４２０を第２兼用機能として使用する場合の図１３で示すマイクロコンピュータ４００の動作を示す状態遷移とタイミング図である。
図１５において、上段から順に、マイクロコンピュータ４００の動作状態の遷移と、端子機能の設定状態の遷移を示す。更に正電源端子２１０への入力と、第１兼用機能端子２２０への入力と、第２兼用機能端子４２０への入力と、ＰＯＲ出力信号と、制御回路２５０から出力される設定完了信号と、第１ＭＣＬＲＥビット２６１から出力される第１ＭＣＬＲＥ信号と、第２ＭＣＬＲＥビット４６１から出力される第２ＭＣＬＲＥ信号と、チップ・リセット信号との波形を示している。
【００５６】
時刻Ｔ０は、図１４Ａ，１４ＢのステップＳ１０１〜１０３−２に該当する。ＰＯＲ出力信号が出力されると、マイクロコンピュータ４００の状態がコンフィグレーション・ビットの設定に遷移し、端子機能が初期設定である第１兼用機能、第２兼用機能に設定される。
時刻Ｔ１は、図１４Ａ、１４ＢのステップＳ１０４、Ｓ１０５−１、Ｓ１０６−１、Ｓ１０６−２に該当する。制御回路４５０がコンフィグレーション・ビット４６０の設定を完了すると、第１端子リセット機能、第２兼用機能が設定される。第１端子リセット機能が選択されていることから、マイクロコンピュータ４００の状態が端子リセット状態に遷移する。このとき、設定完了信号がＬｏｗレベルからＨｉｇｈレベルへ変化する。
時刻Ｔ２は、図１４Ａ、１４ＢのステップＳ１０８−１〜Ｓ１１０に該当する。第１兼用機能端子２２０にＨｉｇｈレベルが入力されると、チップ・リセット信号がＨｉｇｈレベルに変わり、ＣＰＵ動作が開始する。
時刻Ｔ２以降は、第１ＭＣＬＲＥ信号がＨｉｇｈレベルであることから、第１端子リセット機能、第２兼用機能を継続する。
【００５７】
図１６は、実施形態２の切り替え方法（図１４Ａ、１４Ｂのフローチャート）により、第１兼用機能端子２２０を第１兼用機能、第２兼用機能端子４２０を第２端子リセット機能として使用する場合の図１３で示すマイクロコンピュータ４００の動作を示す状態遷移とタイミング図である。
図１６は、図１５と同様の状態遷移と波形とを示す。
時刻Ｔ０の動作は、図１５と同じである。
時刻Ｔ１は、図１４Ａ、１４ＢのステップＳ１０５−１、Ｓ１０５−２、Ｓ１０６−３、Ｓ１０６−４に該当する。制御回路４５０がコンフィグレーション・ビット４６０の設定を完了すると第１兼用機能、第２端子リセット機能が設定される。第２端子リセット機能が選択されていることから、マイクロコンピュータ４００の状態が端子リセット状態に遷移する。このとき、設定完了信号がＬｏｗレベルからＨｉｇｈレベルへ変化する。
時刻Ｔ２は、図１４Ａ、１４ＢのステップＳ１０８−２〜Ｓ１１０に該当する。第２兼用機能端子４２０にＨｉｇｈレベルが入力されると、チップ・リセット信号がＨｉｇｈレベルとなり、ＣＰＵ動作が開始する。
時刻Ｔ２以降は、第２ＭＣＬＲＥ信号がＨｉｇｈレベルであることから、第１兼用機能、第２端子リセット機能を継続する。
【００５８】
図１７は、実施形態２の切り替え方法（図１４Ａ、１４Ｂのフローチャート）により、第１兼用機能端子２２０を第１兼用機能、第２兼用機能端子４２０を第２兼用機能として使用する場合の図１３で示すマイクロコンピュータ４００の動作を示す状態遷移とタイミング図である。
図１７は、図１５、１６と同様の状態遷移と波形とを示す。
時刻Ｔ０の動作は、図１５、１６と同じである。
時刻Ｔ１は、図１４Ａ、１４ＢのステップＳ１０５−１、Ｓ１０５−２、Ｓ１０７−１、Ｓ１０７−２に該当する。制御回路４５０によってコンフィグレーション・ビット４６０の設定が完了すると、第１ＭＣＬＲＥ信号及び第２ＭＣＬＲＥ信号の値が０であることから、端子機能設定の状態は第１兼用機能と第２兼用機能とを維持する。設定完了信号がＨｉｇｈレベルに変化すると、チップ・リセット信号がＨｉｇｈレベルに変わり、マイクロコンピュータ４００はＣＰＵ動作を開始する。
時刻Ｔ１以降は、第１ＭＣＬＲＥ信号及び第２ＭＣＬＲＥ信号の値がＬｏｗレベルであることから、第１兼用機能、第２兼用機能を継続する。
【００５９】
＊  実施形態２のメカニズムおよび効果
実施形態２は、端子リセット機能を、第１兼用機能端子２２０と第２兼用機能端子４２０との２つの端子から選択することが可能である。
例えば、マイクロコンピュータ４００において、第１兼用機能端子２２０を左辺に、第２兼用機能端子４２０を右辺に配置することで、ユーザのセット基板の端子リセット制御回路（マイクロコンピュータ外部のリセット制御回路）の位置に合わせ第１兼用機能端子２２０、若しくは第２兼用機能端子４２０を選択することができる。
【００６０】
実施形態３．
実施形態１では兼用機能端子が１つ、実施形態２では兼用機能端子が２つの場合を説明したが、３以上の兼用機能端子を設定する場合であってもよい。例えば、図１３のマイクロコンピュータ４００構成に、更に、第３兼用機能端子、第４兼用機能端子、・・・と増やすことによって、１つの製品で様々なリセット端子の配置を選択することが可能である。兼用機能端子を追加する場合には、図１３のマイクロコンピュータ４００の構成において、図２のマイクロコンピュータ２００の構成へ追加した各構成要素と同様に、兼用機能端子の数に応じて追加することにより、一実施形態のリセット端子の切り替え方法を実現することが可能である。兼用機能端子として使用可能な端子を増やすことにより、ユーザのセット基板のリセット制御回路の配置の選択範囲が広がり、回路設計を容易にし、設計時間を短縮することが可能になる。
【００６１】
上記各実施形態で説明したマイクロコンピュータは、例えば、掃除機、調理器、浄水器、電動歯ブラシ、ドライヤーなど家庭用電化製品、オーディオ製品、テレビゲーム、電力メータなどの計測機器、照明機器、電源装置、通信機器、携帯電話機など幅広い分野で用いることができる。
【００６２】
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００６３】
１００〜４００マイクロコンピュータ
１１０  電源端子
１２０  第１端子
１３０、３３０  不揮発性メモリ
１４０、２４０  パワーオンリセット回路（ＰＯＲ回路）
１５０、３５０  機能制御部
１６０、３６０  機能記憶部
１６１  第１記憶部
１７０、２７０、３７０、４７０、９７０  選択部
１７１，３７１  リセット制御部
１７２  第１兼用制御部
３２０  第２端子
３６１  第２記憶部
３７２  第２兼用制御部
２１０  正電源端子
２２０  第１兼用機能端子
２３０、４３０、９３０  フラッシュメモリ
２３１、４３１、９３１  コンフィグレーション・ビット領域
２３２  ユーザプログラム領域
２５０、４５０、９５０  制御回路
２６０、４６０、９６０  コンフィグレーション・ビット
２６１、９６１  第１ＭＣＬＲＥビット
２７１、２７３、２７４、４７１、４７３、４７４、９７１  ＡＮＤ素子
２７２、４７２  インバータ
２８０、４８０、９８０  リセット制御回路
４６１  第２ＭＣＬＲＥビット
【図１】
2013222397.tif 000003
【図２】
2013222397.tif 000004
【図３】
2013222397.tif 000005
【図４】
2013222397.tif 000006
【図５】
2013222397.tif 000007
【図６】
2013222397.tif 000008
【図７】
2013222397.tif 000009
【図８】
2013222397.tif 000010
【図９】
2013222397.tif 000011
【図１０】
2013222397.tif 000012
【図１１】
2013222397.tif 000013
【図１２】
2013222397.tif 000014
【図１３】
2013222397.tif 000015
【図１４Ａ】
2013222397.tif 000016
【図１４Ｂ】
2013222397.tif 000017
【図１５】
2013222397.tif 000018
【図１６】
2013222397.tif 000019
【図１７】
2013222397.tif 000020