(57)【要約】【課題】  外部端子を汎用入出力端子として使用する際に、機能ブロック入力信号の機能ブロックへの供給を簡易な回路構成で遮断する。【解決手段】  入出力ポートの外部端子制御レジスタは、外部端子に汎用入出力端子機能または機能ブロック用入出力端子機能のいずれかを設定するために、設定値を示す設定値信号を出力する。入出力ポートのセレクタは、汎用出力パスまたは機能ブロック入力信号を受信する機能ブロックの出力パスのいずれかを、設定値信号に応じて外部端子に接続する。遮断回路は、設定値信号が汎用入出力端子機能を示しているときに、機能ブロック入力信号の機能ブロックへの供給を遮断する。このため、機能ブロック入力信号の機能ブロックへの供給に対して許可・禁止を指定するレジスタ回路を特別に設ける必要はなく、外部端子の端子機能を切り替える際の冗長な設定処理を不要にできる。【選択図】    図２
2005309652.tif 000002
【特許請求の範囲】
【請求項１】
外部端子を介して供給される機能ブロック入力信号を受信する機能ブロックと、
前記外部端子に汎用入出力端子機能または機能ブロック用入出力端子機能のいずれかを設定するために、設定値を示す設定値信号を出力する外部端子制御レジスタと、汎用出力パスまたは前記機能ブロックの出力パスのいずれかを、前記設定値信号に応じて前記外部端子に接続するセレクタとを有する入出力ポートと、
前記設定値信号を受信し、前記設定値信号が汎用入出力端子機能を示しているときに、前記機能ブロック入力信号の前記機能ブロックへの供給を遮断する遮断回路とを備えていることを特徴とするマイクロコントローラ。
【請求項２】
請求項１記載のマイクロコントローラにおいて、
前記遮断回路は、汎用入出力端子機能を示す前記設定値信号を受けているときに、前記機能ブロックに供給される機能ブロック入力信号をマスクするゲート回路で構成されていることを特徴とするマイクロコントローラ。
【請求項３】
請求項１記載のマイクロコントローラにおいて、
前記遮断回路は、機能ブロック用入出力端子機能を示す前記設定値信号を受けているときに、前記機能ブロック入力信号を取り込み、取り込んだ機能ブロック入力信号を前記機能ブロックに供給し、汎用入出力端子機能を示す前記設定値信号を受けているときに、前記機能ブロック入力信号の取り込み動作を停止するフリップフロップで構成されていることを特徴とすることを特徴とするマイクロコントローラ。
【請求項４】
請求項１記載のマイクロコントローラにおいて、
前記遮断回路は、前記機能ブロック入力信号を内部クロックに同期して取り込み、取り込んだ機能ブロック入力信号を前記機能ブロックに供給するフリップフロップと、汎用入出力端子機能を示す前記設定値信号を受けているときに、前記フリップフロップに供給される内部クロックをマスクするゲート回路とで構成されていることを特徴とするマイクロコントローラ。
【請求項５】
請求項１記載のマイクロコントローラにおいて、
前記外部端子制御レジスタに内部バスを介して接続されるＣＰＵを備え、
前記外部端子制御レジスタの設定値は、前記ＣＰＵにより設定されることを特徴とするマイクロコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントローラに関し、特に、汎用入出力端子およびリソース用入出力端子（機能ブロック用入出力端子）を兼用する兼用外部端子を有するマイクロコントローラに関する。
【背景技術】
【０００２】
兼用外部端子を有するマイクロコントローラでは、兼用外部端子における汎用入出力端子機能とリソース用入出力端子機能との切り替えは、入出力ポートに設けられた外部端子制御レジスタ（ＥＰＣＲ；External Port Control Resister）の設定値に基づいて実施される。すなわち、兼用外部端子は、ＥＰＣＲの設定値に応じて、汎用入出力端子あるいはリソース用入出力端子として機能する。
【０００３】
また、入出力ポートは、兼用外部端子の入出力モードを設定するデータ方向レジスタ（ＤＤＲ；Data Direction Resister）と、兼用外部端子を汎用入出力端子として使用する場合に兼用外部端子に供給するデータが設定されるポートデータレジスタ（ＰＤＲ；Port Data Resister）とを有している。ＤＤＲの設定値が入力モードを示している場合、兼用外部端子に外部から印可されている電圧レベルが内部バスを介してＣＰＵに伝達される。ＥＰＣＲの設定値が汎用入出力端子機能を示し、かつＤＤＲの設定値が出力モードを示している場合、ＰＤＲに設定されているデータが兼用外部端子に供給される。ＥＰＣＲの設定値がリソース用入出力端子機能を示し、かつＤＤＲの設定値が出力モードを示している場合、リソースから出力されるリソース出力信号が兼用外部端子に供給される。また、兼用外部端子を介して供給されるリソース入力信号は、入出力ポートの各レジスタの設定値とは無関係に、入出力ポートからリソースに供給される。
【０００４】
このような構成を有するマイクロコントローラでは、例えば、ＥＰＣＲの設定値が汎用入出力端子機能を示し、かつＤＤＲの設定値が出力モードを示している場合、ＰＤＲに設定されているデータが兼用外部端子に供給されるとともに、リソースにもリソース入力信号として供給されてしまう。このため、不要なリソース入力信号のリソースへの供給に伴うリソースの誤動作を防止するために、入出力ポートのＥＰＣＲとは別に、リソース入力信号のリソースへの供給に対する許可・禁止を示す情報を保持するレジスタ回路がリソース内に設けられている。リソース入力信号のリソースへの供給に対して禁止を示す情報をレジスタ回路に書き込むことで、不要なリソース入力信号のリソースへの供給に伴うリソースの誤動作を防止できる。
【０００５】
また、入出力ポートにおいて、外部端子（汎用入出力端子）から内部バスに伝達されたデータにより、ＰＤＲに既に設定されているデータが誤って変更されることを防止する技術が開示されている（例えば、特許文献１参照）。
【特許文献１】特開平５−２５００７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述のマイクロコントローラでは、リソース入力信号のリソースへの供給に対して許可・禁止を指定するレジスタ回路がＥＰＣＲとは別に設けられている。このため、兼用外部端子の端子機能を切り替える際に、ＥＰＣＲの設定値を変更する前に、レジスタ回路を用いてリソース入力信号のリソースへの供給に対して許可・禁止を指定しておく必要がある。すなわち、リソース入力信号のリソースへの供給に対して許可・禁止を指定するレジスタ回路を特別に設けたことで、冗長な設定処理が必要となってしまう。このため、ＣＰＵに実行させるプログラムが複雑になり、ユーザによるプログラムミスが増大してしまうという問題があった。
【０００７】
本発明は、このような従来の問題点に鑑みてなされたものであり、外部端子を汎用入出力端子として使用する際に、機能ブロック入力信号の機能ブロックへの供給を簡易な回路構成で遮断することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１のマイクロコントローラでは、機能ブロックは、外部端子を介して供給される機能ブロック入力信号を受信する。入出力ポートは、外部端子制御レジスタおよびセレクタを有している。外部端子制御レジスタは、外部端子に汎用入出力端子機能または機能ブロック用入出力端子機能のいずれかを設定するために、設定値を示す設定値信号を出力する。セレクタは、汎用出力パスまたは機能ブロックの出力パスのいずれかを、外部端子制御レジスタから出力される設定値信号に応じて外部端子に接続する。遮断回路は、外部端子制御レジスタから出力される設定値信号を受信し、その設定値信号が汎用入出力端子機能を示しているときに、機能ブロック入力信号の機能ブロックへの供給を遮断する。
【０００９】
このような構成のマイクロコントローラでは、外部端子設定レジスタから出力される設定値信号を直接使用して、機能ブロック入力信号の機能ブロックへの供給が遮断されるため、機能ブロック入力信号の機能ブロックへの供給に対して許可・禁止を指定するレジスタ回路を機能ブロック内に設ける必要がなくなる。このため、外部端子の端子機能を切り替える際の冗長な設定処理を不要にできる。この結果、ユーザプログラムを簡易化でき、ユーザによるプログラムミスを低減できる。
【００１０】
請求項２のマイクロコントローラでは、遮断回路は、ゲート回路で構成されている。ゲート回路は、汎用入出力端子機能を示す設定値信号を受けているときに、機能ブロックに供給される機能ブロック入力信号をマスクする。このため、機能ブロック入力信号の機能ブロックへの供給を簡易な回路構成で遮断できる。
請求項３のマイクロコントローラでは、遮断回路は、フリップフロップで構成されている。フリップフロップは、機能ブロック用入出力端子機能を示す設定値信号を受けているときに、機能ブロック入力信号を取り込み、取り込んだ機能ブロック入力信号を機能ブロックに供給する。また、フリップフロップは、汎用入出力端子機能を示す設定値信号を受けているときに、機能ブロック入力信号の取り込み動作を停止する。すなわち、外部端子制御レジスタから出力される設定値信号が汎用入出力端子機能を示しているときに、機能ブロック入力信号の機能ブロックへの供給が遮断される。このため、機能ブロック入力信号の機能ブロックへの供給を簡易な回路構成で遮断できる。
【００１１】
また、通常、機能ブロックは、機能ブロック入力信号を内部クロックに同期化させるためのフリップフロップを有しており、フリップフロップにより内部クロックに同期化された信号を機能ブロック入力信号として使用する。このような場合に、本発明では、機能ブロック入力信号を内部クロックに同期化させるためのフリップフロップを遮断回路としても機能させることができ、遮断回路の搭載に伴う回路規模の増大を抑制できる。
【００１２】
請求項４のマイクロコントローラでは、遮断回路は、フリップフロップおよびゲート回路で構成されている。フリップフロップは、機能ブロック入力信号を内部クロックに同期して取り込み、取り込んだ機能ブロック入力信号を機能ブロックに供給する。ゲート回路は、汎用入出力端子機能を示す設定値信号を受けているときに、フリップフロップに供給される内部クロックをマスクする。このため、フリップフロップは、外部端子制御レジスタから出力される設定値信号が汎用入出力端子機能を示しているときに、機能ブロック入力信号の取り込み動作を停止する。すなわち、外部端子制御レジスタから出力される設定値信号が汎用入出力端子機能を示しているときに、機能ブロック入力信号の機能ブロックへの供給が遮断される。このため、機能ブロック入力信号の機能ブロックへの供給を簡易な回路構成で遮断できる。
【００１３】
また、機能ブロック入力信号を内部クロックに同期化させるためのフリップフロップを、内部クロックをマスクするためのゲート回路と組み合わせることで、遮断回路としても機能させることができ、遮断回路の搭載に伴う回路規模の増大を抑制できる。さらに、外部端子制御レジスタから出力される設定値信号が汎用入出力機能を示しているときに、内部クロックのフリップフロップへの供給が遮断されるため、外部端子が汎用入出力端子として使用されているときに、マイクロコントローラの消費電力を抑制できる。
【００１４】
請求項５のマイクロコントローラでは、ＣＰＵは、外部端子制御レジスタに内部バスを介して接続されている。外部端子制御レジスタの設定値は、ＣＰＵにより設定される。このため、外部端子制御レジスタの設定値を容易に設定できる。
【発明の効果】
【００１５】
本発明のマイクロコントローラでは、機能ブロック入力信号の機能ブロックへの供給に対して許可・禁止を指定するレジスタ回路を特別に設けなくてもよいため、外部端子の端子機能を切り替える際に、冗長な設定処理を不要にでき、ユーザプログラムの簡易化およびユーザによるプログラムミスの削減に寄与できる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を用いて本発明の実施形態を説明する。
図１は、本発明のマイクロコントローラの第１の実施形態を示している。マイクロコントローラ１０は、ＣＰＵ１１、ＣＰＵ１１が実行するプログラムを格納したＲＯＭ１２、ＣＰＵ１１による演算結果等の各種データを一時的に格納するＲＡＭ１３、複数のリソース１４（機能ブロック）、リソース１４にそれぞれ対応する複数の入出力ポート１５、入出力ポート１５にそれぞれ接続され、汎用入出力端子およびリソース用入出力端子を兼用する複数の外部端子１６および内部バス１７を有している。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、リソース１４および入出力ポート１５は、内部バス１７により相互に接続され、これらの間でデータの授受が可能である。
【００１７】
リソース１４は、タイマ等の周辺モジュールであり、外部端子１６および入出力ポート１５を介して外部から供給されるリソース入力信号ＩＮ（例えば、タイマを起動するためのタイマ起動信号）を受信する。なお、リソース入力信号ＩＮ（機能ブロック入力信号）のリソース１４内への供給は、後述する入出力ポート１５のＥＰＣＲ１５１から出力される設定値信号Ｏ１に応じて許可・禁止される。また、リソース１４は、リソース出力信号ＯＵＴ（例えば、タイマの計数値が所定値に到達したことを示すコンペアマッチ信号）、およびリソース出力信号ＯＵＴの外部への出力を許可・禁止するためのリソース出力許可信号ＯＥを入出力ポート１５に供給する。
【００１８】
入出力ポート１５は、外部端子１６が汎用入出力端子として使用されているときに、外部端子１６を介して外部から供給される信号を内部バス１７に供給し、あるいはＣＰＵ１１により設定されたデータを外部端子１６に供給する。また、入出力ポート１５は、外部端子１６がリソース用入出力端子として使用されているときに、外部端子１６を介して外部から供給される信号をリソース入力信号ＩＮとしてリソース１４に供給し、あるいはリソース出力信号ＯＵＴをリソース出力許可信号ＯＥの活性化中に外部端子１６に供給する。
【００１９】
図２は、第１の実施形態におけるリソース１４および入出力ポート１５の詳細を示している。入出力ポート１５は、外部端子１６の端子機能（汎用入出力端子機能またはリソース用入出力端子機能のいずれか）を設定するＥＰＣＲ１５１（外部端子制御レジスタ）、外部端子１６の入出力モードを設定するＤＤＲ１５２（データ方向レジスタ）、外部端子１６を汎用入出力端子として使用する場合に外部端子１６に供給するデータが設定されるＰＤＲ１５３（ポートデータレジスタ）、セレクタ１５４、１５５、出力バッファ１５６、入力バッファ１５７、セレクタ１５８およびバッファ１５９を有している。
【００２０】
ＥＰＣＲ１５１は、例えば、データ入力端子が内部バス１７に接続されたフリップフロップで構成され、ＣＰＵ１１から内部バス１７に供給されたデータを、ＥＰＣＲ１５１に供給されるライト信号（図示せず）に応答して取り込む。ＥＰＣＲ１５１は、取り込んだデータをデータ出力端子から設定値信号Ｏ１として出力する。なお、ＥＰＣＲ１５１の設定値は、外部端子１６を汎用入出力端子として使用する場合”０”に設定され、外部端子１６をリソース用入出力端子として使用する場合”１”に設定される。従って、ＥＰＣＲ１５１から出力される設定値信号Ｏ１は、外部端子１６が汎用入出力端子として使用されているときに”０”に固定され、外部端子１６がリソース用入出力端子として使用されているときに”１”に固定される。
【００２１】
同様に、ＤＤＲ１５２およびＰＤＲ１５３は、例えば、データ入力端子が内部バス１７に接続されたフリップフロップでそれぞれ構成され、ＣＰＵ１１から内部バス１７に供給されたデータを、ＤＤＲ１５２に供給されるライト信号およびＰＤＲ１５３に供給されるライト信号（図示せず）にそれぞれ応答して取り込む。ＤＤＲ１５２およびＰＤＲ１５３は、取り込んだデータをデータ出力端子から設定値信号Ｏ２、Ｏ３としてそれぞれ出力する。なお、ＤＤＲ１５２の設定値は、外部端子１６を入力モードで使用する場合”０”に設定され、外部端子１６を出力モードで使用する場合”１”に設定される。従って、ＤＤＲ１５２から出力される設定値信号Ｏ２は、外部端子１６が入力モードで使用されているときに”０”に固定され、外部端子１６が出力モードで使用されているときに”１”に固定される。
【００２２】
セレクタ１５４は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”１”であるときに、リソース１４から出力されるリソース出力許可信号ＯＥを出力バッファ１５６に供給する。また、セレクタ１５４は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、ＤＤＲ１５２から出力される設定値信号Ｏ２を出力バッファ１５６に供給する。セレクタ１５５は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”１”であるときに、リソース１４から出力されるリソース出力信号ＯＵＴを出力バッファ１５６に供給する。また、セレクタ１５５は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、ＰＤＲ１５３から出力される設定値信号Ｏ３を出力バッファ１５６に供給する。出力バッファ１５６は、セレクタ１５４の出力信号が”１”であるときに、セレクタ１５５の出力信号を外部端子１６に供給する。
【００２３】
従って、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”１”であるとき（すなわち、外部端子１６がリソース用入出力端子として使用されているとき）、かつリソース出力許可信号ＯＥが”１”であるときに、リソース出力信号ＯＵＴが外部端子１６に供給される。また、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるとき（すなわち、外部端子１６が汎用入出力端子として使用されているとき）、かつＤＤＲ１５２から出力される設定値信号Ｏ２が”１”であるとき（すなわち、外部端子１６が出力モードで使用されているとき）に、ＰＤＲ１５３から出力される設定値信号Ｏ３（すなわち、ＰＤＲ１５３に設定されているデータ）が外部端子１６に供給される。
【００２４】
セレクタ１５８は、ＤＤＲ１５２から出力される設定値信号Ｏ２が”１”であるときに、ＰＤＲ１５３から出力される設定値信号Ｏ３をバッファ１５９に供給する。また、セレクタ１５８は、ＤＤＲ１５２から出力される設定値信号Ｏ２が”０”であるときに、外部端子１６および入力バッファ１５７を介して外部から供給される信号をバッファ１５９に供給する。バッファ１５９は、ＰＤＲ１５３に対するリード信号ＲＤが”１”であるときに、セレクタ１５８の出力信号を内部バス１７に供給する。
【００２５】
従って、ＤＤＲ１５２から出力される設定値信号Ｏ２が”１”であるとき（すなわち、外部端子１６が出力モードで使用されているとき）に、ＰＤＲ１５３から出力される設定値信号Ｏ３（すなわち、ＰＤＲ１５３に設定されているデータ）がＰＤＲ１５３に対するリード信号ＲＤに応答して内部バス１７（ＣＰＵ１１）に供給される。また、ＤＤＲ１５２から出力される設定値信号Ｏ２が”０”であるとき（すなわち、外部端子１６が入力モードで使用されているとき）に、外部端子１６および入力バッファ１５７を介して外部から供給される信号が内部バス１７（ＣＰＵ１１）に供給される。
【００２６】
リソース１４は、リソース１４の動作を制御するＲＣＲ１４１（リソース制御レジスタ）およびＡＮＤゲート１４２（遮断回路）を有している。ＲＣＲ１４１は、内部バス１７に接続されている。ＲＣＲ１４１の設定値は、ＣＰＵ１１により設定される。ＡＮＤゲート１４２は、入出力ポート１５から出力されるリソース入力信号ＩＮを受けるとともに、入出力ポート１５のＥＰＣＲ１５１から出力される設定値信号Ｏ１を直接受けている。ＡＮＤゲート１４２は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”１”であるときに、リソース入力信号ＩＮをリソース１４内に供給する。ＡＮＤゲート１４２は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、自身の出力信号を”０”に固定する。すなわち、ＡＮＤゲート１４２は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、リソース入力信号ＩＮをマスクする。従って、外部端子１６が汎用入出力端子として使用されているとき（すなわち、外部端子１６がリソース用入出力端子として使用されているとき）に、リソース入力信号ＩＮのリソース１４への供給が遮断される。
【００２７】
図３は、入出力ポート１５のレジスタの設定値と外部端子の端子機能との関係を示している。前述のような構成の入出力ポート１５により、外部端子１６は、ＥＰＣＲ１５１の設定値およびＤＤＲ１５２の設定値が共に”０”であるときに、汎用入力端子として機能する。外部端子１６は、ＥＰＣＲ１５１の設定値が”０”であるとき、かつＤＤＲ１５２の設定値が”１”であるときに、汎用出力端子として機能する。外部端子１６は、ＥＰＣＲ１５１の設定値が”１”であるとき、かつＤＤＲ１５２の設定値が”０”であるときに、リソース用入力端子として機能する。外部端子１６は、ＥＰＣＲ１５１の設定値およびＤＤＲ１５２の設定値が共に”１”であるときに、リソース用出力端子として機能する。
【００２８】
以上のような構成のマイクロコントローラ１０では、ＥＰＣＲ１５１から出力される設定値信号Ｏ１（ＥＰＣＲ１５１の設定値）を直接使用することにより、リソース入力信号ＩＮのリソース１４内への供給が遮断されるため、リソース入力信号ＩＮのリソース１４内への供給に対して許可・禁止を指定するレジスタ回路をリソース１４内に特別に設けなくてもよい。このため、外部端子１６の端子機能を切り替えるためには、ＥＰＣＲ１５１の設定値を変更するだけでよく、冗長な設定処理が不要になる。従って、ＣＰＵ１１に実行させるプログラムが簡易化され、ユーザによるプログラムミスが低減される。
【００２９】
これに対して、図４に示すように、本発明者らが本発明前に検討したマイクロコントローラ９０では、リソース９４のＲＣＲ１４８内に、リソース入力信号ＩＮのリソース９４への供給に対して許可・禁止を指定する入力許可ビットＩＥが設けられている。なお、入力許可ビットＩＥは、リソース入力信号ＩＮのリソース９４への供給を許可する場合”１”に設定され、リソース入力信号ＩＮのリソース９４への供給を禁止する場合”０”に設定される。ＡＮＤゲート１４９は、入力許可ビットＩＥの出力信号が”１”であるとき（すなわち、リソース入力信号ＩＮのリソース９４への供給が許可されているとき）に、リソース入力信号ＩＮをリソース９４内に供給する。ＡＮＤゲート１４９は、入力許可ビットＩＥの出力信号が”０”であるとき（すなわち、リソース入力信号ＩＮのリソース９４への供給が禁止されているとき）に、自身の出力信号を”０”に固定する。このような構成のマイクロコントローラ９０では、外部端子１６の端子機能を切り替えるためには、ＥＰＣＲ１５１の設定値を変更する前に、入力許可ビットＩＥの設定値を変更するという冗長な設定処理が必要となってしまう。この結果、ユーザプログラムが複雑になり、ユーザによるプログラムミスが増大する要因となる。
【００３０】
以上、第１の実施形態では、ＥＰＣＲ１５１から出力される設定値信号Ｏ１を直接使用して、リソース入力信号ＩＮのリソース１４への供給が遮断されるため、リソース入力信号ＩＮのリソース１４内への供給に対して許可・禁止を指定するレジスタ回路をリソース１４内に特別に設ける必要がなくなる。このため、外部端子１６の端子機能を切り替えるためには、ＥＰＣＲ１５１の設定値を変更するだけでよく、冗長な設定処理を不要にでき、ユーザプログラムの簡易化およびユーザによるプログラムミスの削減に寄与できる。
【００３１】
図５は、本発明のマイクロコントローラの第２の実施形態を示している。なお、第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。マイクロコントローラ２０は、第１の実施形態のマイクロコントローラ１０（図１、２）におけるリソース１４に代えて、リソース２４を有している。マイクロコントローラ２０のその他の構成は、第１の実施形態のマイクロコントローラ１０と同一である。
【００３２】
リソース２４は、第１の実施形態のリソース１４におけるＡＮＤゲート１４２に代えて、イネーブル端子ＥＮ付きフリップフロップ１４３（遮断回路）を有している。リソース２４のその他の構成は、第１の実施形態のリソース１４と同一である。フリップフロップ１４３は、入出力ポート１５から出力されるリソース入力信号ＩＮを内部クロックＣＬＫに同期化させるための回路として機能する。ここで、内部クロックＣＬＫは、リソース２４が同期して動作するクロックであり、例えばマイクロコントローラ２０内のクロック生成回路（図示せず）から供給される。
【００３３】
フリップフロップ１４３は、入出力ポート１５のＥＰＣＲ１５１から出力される設定値信号Ｏ１が”１”であるときに、例えば、内部クロックＣＬＫの立ち上がりエッジに同期してリソース入力信号INを取り込み、取り込んだリソース入力信号ＩＮをリソース２４内に供給する。また、フリップフロップ１４３は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、リソース入力信号ＩＮの取り込み動作を停止する。このため、外部端子１６が汎用入出力端子として使用されているとき（すなわち、外部端子１６がリソース用入出力端子として使用されていないとき）に、リソース入力信号ＩＮのリソース２４への供給が遮断される。このように、フリップフロップ１４３は、遮断回路としても機能する。以上、第２の実施形態でも、第１の実施形態と同様の効果が得られる。さらに、リソース入力信号ＩＮを内部クロックＣＬＫに同期化させるためのフリップフロップ１４３を遮断回路としても機能させることができ、遮断回路の搭載に伴う回路規模の増大を抑制できる。
【００３４】
図６は、本発明のマイクロコントローラの第３の実施形態を示している。なお、第１および第２の実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。マイクロコントローラ３０は、第２の実施形態のマイクロコントローラ２０（図５）におけるリソース２４に代えて、リソース３４を有している。マイクロコントローラ３０のその他の構成は、第２の実施形態のマイクロコントローラ２０と同一である。
【００３５】
リソース３４は、第２の実施形態のリソース２４におけるフリップフロップ１４３に代えて、フリップフロップ１４４およびＡＮＤゲート１４５（遮断回路）を有している。リソース３４のその他の構成は、第２の実施形態のリソース２４と同一である。フリップフロップ１４４は、入出力ポート１５から出力されるリソース入力信号ＩＮを内部クロックＣＬＫに同期化させるための回路として機能する。フリップフロップ１４４は、例えば、内部クロックＣＬＫの立ち上がりエッジに同期してリース入力信号ＩＮを取り込み、取り込んだリソース入力信号ＩＮをリソース３４内に供給する。
【００３６】
ＡＮＤゲート１４５は、入出力ポート１５のＥＰＣＲ１５１から出力される設定値信号Ｏ１が”１”であるときに、内部クロックＣＬＫをフリップフロップ１４４に供給する。また、ＡＮＤゲート１４５は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、自身の出力信号を”０”に固定する。すなわち、ＡＮＤゲート１４５は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、内部クロックＣＬＫをマスクする。このため、フリップフロップ１４４は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、リソース入力信号ＩＮの取り込み動作を停止する。この結果、外部端子１６が汎用入出力端子として使用されているとき（すなわち、外部端子１６がリソース用入出力端子として使用されていないとき）に、リソース入力信号ＩＮのリソース３４への供給が遮断される。このように、フリップフロップ１４４は、ＡＮＤゲート１４５と組み合わせることで、遮断回路としても機能する。
【００３７】
以上、第３の実施形態でも、第１および第２の実施形態と同様の効果が得られる。さらに、ＡＮＤゲート１４５は、ＥＰＣＲ１５１から出力される設定値信号Ｏ１が”０”であるときに、内部クロックＣＬＫのフリップフロップ１４４への供給を遮断するため、外部端子１６が汎用入出力端子として使用されているとき（外部端子１６がリソース用入出力端子として使用されていないとき）に、マイクロコントローラ３０の消費電力を抑制できる。
【００３８】
なお、第１〜３の実施形態では、ＡＮＤゲート１４２、フリップフロップ１４３等の遮断回路がリソース内に設けられた例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、遮断回路は、入出力ポート内に設けられてもよい。
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００３９】
【図１】本発明のマイクロコントローラの第１の実施形態を示すブロック図である。
【図２】第１の実施形態におけるリソースおよび入出力ポートの詳細を示すブロック図である。
【図３】入出力ポートのレジスタの設定値と外部端子の端子機能との関係を示す説明図である。
【図４】本発明前に検討したマイクロコントローラを示すブロック図である。
【図５】本発明のマイクロコントローラの第２の実施形態を示すブロック図である。
【図６】本発明のマイクロコントローラの第３の実施形態を示すブロック図である。
【符号の説明】
【００４０】
１０、２０、３０  マイクロコントローラ
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４、２４、３４  リソース
１５  入出力ポート
１６  外部端子
１７  内部バス
１４１  ＲＣＲ（リソース制御レジスタ）
１４２、１４５  ＡＮＤゲート
１４３、１４４  フリップフロップ
１５１  ＥＰＣＲ（外部端子制御レジスタ）
１５２  ＤＤＲ（データ方向レジスタ）
１５３  ＰＤＲ（ポートデータレジスタ）
１５４、１５５、１５８  セレクタ
１５６  出力バッファ
１５７  入力バッファ
１５９  バッファ
ＣＬＫ  内部クロック
ＩＮ  リソース入力信号
ＯＵＴ  リソース出力信号
ＯＥ  リソース出力許可信号
Ｏ１、Ｏ２、Ｏ３  設定値信号
ＲＤ  リード信号
【図１】
2005309652.tif 000003
【図２】
2005309652.tif 000004
【図３】
2005309652.tif 000005
【図４】
2005309652.tif 000006
【図５】
2005309652.tif 000007
【図６】
2005309652.tif 000008