(57)【要約】【課題】外付け部品に頼ることなく、Ｉ／Ｏポートの状態を柔軟に制御する。【解決手段】入力バッファ１０は、外部からの入出力ポートＰｉｏへの入力信号を受ける。プルアップ抵抗Ｒ１は、入出力ポートＰｉｏと電源端子Ｖｄｄの間に設けられる。プルダウン抵抗Ｒ２は、入出力ポートＰｉｏと接地端子ＧＮＤの間に設けられる。スイッチＳＷ１は、入出力ポートＰｉｏをプルアップ抵抗Ｒ１によりプルアップするか、プルダウン抵抗Ｒ２によりプルダウンするかを切りかえるために設けられる。不揮発性メモリＭ１は、スイッチＳＷ１の状態を設定するための第１制御データＣＮＴ１を記憶する。半導体装置１００の電源投入後、スイッチＳＷ１の状態を、不揮発性メモリＭ１に記憶された第１制御データＣＮＴ１にもとづいて設定する。【選択図】図１
2010147606.tif 000002
【特許請求の範囲】
【請求項１】
入出力ポートと、
外部からの前記入出力ポートへの入力信号を受ける入力バッファと、
前記入出力ポートと電源端子の間に設けられたプルアップ抵抗と、
前記入出力ポートと接地端子の間に設けられたプルダウン抵抗と、
前記入出力ポートを前記プルアップ抵抗によりプルアップするか、前記プルダウン抵抗によりプルダウンするかを切りかえるためのスイッチと、
前記スイッチの状態を設定するための第１制御データを記憶する不揮発性メモリと、
を備え、
本半導体装置の電源投入後、前記スイッチの状態を、前記不揮発性メモリに記憶された前記第１制御データにもとづいて設定することを特徴とする半導体装置。
【請求項２】
外部のプロセッサから前記スイッチを制御するための第２制御データを受信する制御部をさらに備え、
本半導体装置の電源投入後、前記プロセッサの起動完了前のリセット期間において、前記スイッチの状態を、前記不揮発性メモリに記憶された前記第１制御データにもとづいて設定し、
前記プロセッサの起動完了後に、前記制御部が前記プロセッサから前記第２制御データを受信すると、前記スイッチの状態を前記第２制御データにもとづいて設定することを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記スイッチは、前記第１、第２制御データにもとづいて、前記入出力ポートがプルアップもプルダウンもされないオープン状態に切りかえ可能であることを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記入出力ポートから外部へと出力信号を出力するイネーブル機能付きの出力バッファをさらに備え、
前記不揮発性メモリは、前記出力バッファの状態を制御するための第３制御データをさらに記憶し、
前記制御部は、前記プロセッサから前記出力バッファの状態を制御するための第４制御データをさらに受信し、
本半導体装置は、
前記リセット期間において、前記出力バッファの状態を、前記不揮発性メモリに記憶された前記第３制御データにもとづいて設定し、
前記プロセッサの起動完了後に、前記制御部が前記プロセッサから前記第４制御データを受信すると、前記出力バッファの状態を、前記第４制御データにもとづいて設定することを特徴とする請求項２に記載の半導体装置。
【請求項５】
前記不揮発性メモリは、前記出力バッファが固定的に出力すべき信号のレベルを設定する第５制御データをさらに記憶し、
前記制御部は、前記プロセッサから前記出力バッファが固定的に出力すべき信号のレベルを設定する第６制御データをさらに受信し、
本半導体装置は、
前記リセット期間において、前記出力バッファの出力レベルを、前記不揮発性メモリに記憶された前記第５制御データにもとづいて設定し、
前記プロセッサの起動完了後に、前記制御部が前記プロセッサから前記第６制御データを受信すると、前記出力バッファの出力レベルを、前記第６制御データにもとづいて設定することを特徴とする請求項４に記載の半導体装置。
【請求項６】
入出力ポートと、
前記入出力ポートの電気的状態を設定するための第１制御データを記憶する不揮発性メモリと、
外部のプロセッサから前記入出力ポートの電気的状態を制御するための第２制御データを受信する制御部と、
を備え、
本半導体装置の電源投入後、前記プロセッサの起動完了前のリセット期間において、前記入出力ポートの電気的状態を、前記不揮発性メモリに記憶された前記第１制御データにもとづいて設定し、
前記プロセッサの起動完了後に、前記制御部が前記プロセッサから前記第２制御データを受信すると、前記入出力ポートの電気的状態を前記第２制御データにもとづいて設定することを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｉ／Ｏポートを備える半導体集積回路に関する。
【背景技術】
【０００２】
半導体集積回路（以下、単にＩＣという）は、外部からの制御信号やデータ信号を受け、あるいは外部に制御信号やデータ信号を送信するための入出力ポート（Ｉ／Ｏポート）を備える。こうしたＩ／Ｏポートには、信号を外部に出力するための出力バッファと、外部からの信号を受信するための入力バッファの両方、あるいはいずれか一方が接続されるのが一般的である。
【０００３】
たとえば、Ｉ／Ｏポートに入力バッファが接続される場合について考察する。この場合、Ｉ／Ｏポートの電位が不定となって、入力バッファのしきい値電圧付近で変動すると、入力バッファに貫通電流が流れるおそれがある。また、Ｉ／Ｏポートに出力バッファが接続される場合、出力バッファがハイインピーダンス状態となると、その出力バッファからの信号を受けて動作する外部の回路の誤動作の原因となる。
【０００４】
これら問題を解決するための第１のアプローチは、そのＩＣを使用するユーザが、Ｉ／Ｏポートに対して外付けのプルアップ抵抗やプルダウン抵抗を接続することである。
【０００５】
これらの問題を解決する第２のアプローチとしては、ＩＣの設計、製造者が、ユーザの要望に応じて、ＩＣの内部に、プルアップ抵抗やプルダウン抵抗を形成しておく手法が考えられる。
【特許文献１】特開平５−２９１４０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の第１のアプローチをとった場合、外付け部品が必要となるため、コストや回路面積が増加するという問題がある。第２のアプローチをとった場合、半導体集積回路の設計、製造者が、ユーザの要望ごとにＩＣを設計し直す必要がある。
【０００７】
本発明は係る課題に鑑みてなされたものであり、その目的のひとつは、外付け部品に頼ることなく、Ｉ／Ｏポートの状態を柔軟に制御可能な半導体装置の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は、半導体装置に関する。この半導体装置は、入出力ポートと、外部からの入出力ポートへの入力信号を受ける入力バッファと、入出力ポートと電源端子の間に設けられたプルアップ抵抗と、入出力ポートと接地端子の間に設けられたプルダウン抵抗と、入出力ポートをプルアップ抵抗によりプルアップするか、プルダウン抵抗によりプルダウンするかを切りかえるためのスイッチと、スイッチの状態を設定するための第１制御データを記憶する不揮発性メモリと、を備える。本半導体装置の電源投入後、スイッチの状態は、不揮発性メモリに記憶された第１制御データにもとづいて設定される。
【０００９】
この態様によると、プルアップ抵抗とプルダウン抵抗が半導体装置の内部に集積化されるため、コストを低減できる。また不揮発性メモリに、ユーザが所望する状態に応じた制御データを書き込んでおくことにより、入出力ポートの状態を所望の状態に保つことができる。
【００１０】
ある態様の半導体装置は、外部のプロセッサからスイッチを制御するための第２制御データを受信する制御部をさらに備えてもよい。本半導体装置の電源投入後、プロセッサの起動完了前のリセット期間において、スイッチの状態は、不揮発性メモリに記憶された第１制御データにもとづいて設定されてもよい。プロセッサの起動完了後に、制御部がプロセッサから第２制御データを受信すると、スイッチの状態は第２制御データにもとづいて設定されてもよい。
【００１１】
この場合、外部のプロセッサからの第２制御データによって、Ｉ／Ｏポートをプルアップとすべきかプルダウンとすべきかを切りかえることができるため、半導体装置の設計・製造者は、ユーザごとに半導体装置を設計変更する必要がなくなる。
【００１２】
スイッチは、第１、第２制御データにもとづいて、入出力ポートがプルアップもプルダウンもされないオープン状態に切りかえ可能であってもよい。
【００１３】
ある態様の半導体装置は、入出力ポートから外部へと出力信号を出力するイネーブル機能付きの出力バッファをさらに備えてもよい。不揮発性メモリは、出力バッファの状態を制御するための第３制御データをさらに記憶してもよい。制御部は、プロセッサから出力バッファの状態を制御するための第４制御データをさらに受信してもよい。半導体装置は、リセット期間において、出力バッファの状態を、不揮発性メモリに記憶された第３制御データにもとづいて設定し、プロセッサの起動完了後に、制御部がプロセッサから第４制御データを受信すると、出力バッファの状態を、第４制御データにもとづいて設定してもよい。
この態様では、入出力ポートを、外部からの入力信号を受ける入力ポートと、外部に出力信号を出力するための出力ポートと、の２つの状態で切りかえて利用することができる。
【００１４】
不揮発性メモリは、出力バッファが固定的に出力すべき信号のレベルを設定する第５制御データをさらに記憶してもよい。制御部は、プロセッサから出力バッファが固定的に出力すべき信号のレベルを設定する第６制御データをさらに受信してもよい。半導体装置は、リセット期間において、出力バッファの出力レベルを、不揮発性メモリに記憶された第５制御データにもとづいて設定し、プロセッサの起動完了後に、制御部がプロセッサから第６制御データを受信すると、出力バッファの出力レベルを、第６制御データにもとづいて設定してもよい。
【００１５】
本発明の別の態様もまた、半導体装置に関する。この半導体装置は、入出力ポートと、入出力ポートの電気的状態を設定するための第１制御データを記憶する不揮発性メモリと、外部のプロセッサから入出力ポートの電気的状態を制御するための第２制御データを受信する制御部と、を備える。本半導体装置の電源投入後、プロセッサの起動完了前のリセット期間において、入出力ポートの電気的状態を、不揮発性メモリに記憶された第１制御データにもとづいて設定し、プロセッサの起動完了後に、制御部がプロセッサから第２制御データを受信すると、入出力ポートの電気的状態を第２制御データにもとづいて設定する。
【００１６】
「入出力ポートの電気的状態」とは、入出力ポートの電位、インピーダンス、あるいは入出力ポートに接続される入力バッファや出力バッファのイネーブル状態、入力バッファや出力バッファの入力レベル、出力レベルなど、広く入出力ポートの状態を意味する。
【００１７】
なお、以上の構成要素の任意の組合せや本発明の構成要素や表現を方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１８】
本発明によれば、外付け部品に頼ることなく、Ｉ／Ｏポートの状態を柔軟に制御できる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００２０】
本明細書において、「部材Ａが、部材Ｂと接続された状態」とは、部材Ａと部材Ｂが物理的に直接的に接続される場合のほか、部材Ａと部材Ｂが、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
同様に、「部材Ｃが、部材Ａと部材Ｂの間に設けられた状態」とは、部材Ａと部材Ｃ、あるいは部材Ｂと部材Ｃが直接的に接続される場合のほか、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
【００２１】
図１は、本発明の実施の形態に係る半導体装置１００の構成を示す回路図である。半導体装置１００は、入力バッファ１０、出力バッファ２０、制御部３０、インタフェース部４０、スイッチＳＷ１、第１セレクタＳ１〜第３セレクタＳ３、不揮発性メモリＭ１〜Ｍ３を備える。第１不揮発性メモリＭ１〜第３不揮発性メモリＭ３は、別個の独立したメモリであってもよいし、単一のメモリ内の異なるアドレスに対応した記憶領域であってもよい。不揮発性メモリＭ１〜Ｍ３に格納されるデータは、半導体装置１００の製造工程において予め書き込まれたデータであってもよいし、半導体装置１００の動作中に、外部のプロセッサ２００からのデータに応じて書き込まれてもよい。
【００２２】
入出力ポートＰｉｏは、図示しない配線を介して、図示しない外部回路と接続される。
【００２３】
入力バッファ１０は、外部からの入出力ポートＰｉｏへの入力信号を受ける。入力バッファ１０は、ヒステリシスを有するシュミットバッファであってもよいし、カスケード接続された偶数段のインバータで構成されてもよく、その構成は限定されない。
【００２４】
プルアップ抵抗Ｒ１は、入出力ポートＰｉｏと電源端子Ｖｄｄの間に設けられる。またプルダウン抵抗Ｒ２は、入出力ポートＰｉｏと接地端子ＧＮＤの間に設けられる。
は、入出力ポートＰｉｏをプルアップ抵抗Ｒ１によりプルアップするか、あるいはプルダウン抵抗Ｒ２によりプルダウンするかを切りかえるために設けられている。スイッチＳＷ１は、入出力ポートＰｉｏがプルアップ抵抗Ｒ１とプルダウン抵抗Ｒ２のいずれにも接続されず、電気的にオープン状態（ＮＣ：Non-connection）となる状態も選択可能となっている。オープン状態は、入出力ポートＰｉｏがプルアップもプルダウンもされない状態を示す。スイッチＳＷ１の状態は、第１セレクタＳ１からの制御信号ＣＮＴＡに応じて設定される。
【００２５】
不揮発性メモリＭ１〜Ｍ３は、ＦｅＲＡＭ（強誘電体メモリ）が好適に利用できるが、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）やフラッシュメモリを用いてもよい。ただし、不揮発性メモリＭ１〜Ｍ３は半導体装置１００に内蔵されていることが条件となる。
【００２６】
第１不揮発性メモリＭ１は、スイッチＳＷ１の状態を設定するための第１制御データＣＮＴ１を記憶する。
【００２７】
半導体装置１００のインタフェース部４０は、バス１０２を介して外部のプロセッサ２００と接続されている。インタフェース部４０は、プロセッサ２００からの制御データを受信し、あるいはプロセッサ２００に対して必要なデータを送信する。半導体装置１００とプロセッサ２００の間のデータ伝送には、たとえばＩ２Ｃ（Inter IC）バスなどが利用できる。本実施の形態では、インタフェース部４０はプロセッサ２００から、少なくとも３つの制御データＣＮＴ２、ＣＮＴ４、ＣＮＴ６を受信する。
【００２８】
制御部３０は、インタフェース部４０を介して外部のプロセッサ２００から、スイッチＳＷ１の状態を制御するための第２制御データＣＮＴ２を受信する。
【００２９】
第１セレクタＳ１には、第１制御データＣＮＴ１と第２制御データＣＮＴ２とが入力される。第１セレクタＳ１はゲート信号ＧＡＴＥとして、ローレベル（０）が入力されると、第１制御データＣＮＴ１を、ハイレベル（１）が入力されると、第２制御データＣＮＴ２を選択して、スイッチＳＷ１へと供給する。ゲート信号ＧＡＴＥの論理レベルと、第１セレクタＳ１〜第３セレクタＳ３の選択状態は、適宜変更することができる。
【００３０】
出力バッファ２０は、入出力ポートＰｉｏから外部へと出力信号を出力するイネーブル機能付きの出力バッファである。出力バッファ２０は、イネーブル信号ＥＮがアサートされると、アクティブ状態となり、その出力には、入力信号に応じた電圧が現れる。出力バッファ２０は、イネーブル信号ＥＮがネゲートされると非アクティブ状態となって、その出力はハイインピーダンスとなる。
【００３１】
第２不揮発性メモリＭ２は、出力バッファ２０のイネーブル状態を制御するための第３制御データＣＮＴ３を記憶する。
【００３２】
また制御部３０は、プロセッサ２００から出力バッファ２０のイネーブル状態を制御するための第４制御データＣＮＴ４を受信する。
【００３３】
第２セレクタＳ２には、第３制御データＣＮＴ３と第４制御データＣＮＴ４とが入力される。第２セレクタＳ２はゲート信号ＧＡＴＥとして、ローレベル（０）が入力されると、第３制御データＣＮＴ３を、ハイレベル（１）が入力されると、第４制御データＣＮＴ４を選択して、出力バッファ２０のイネーブル端子へと出力する。
【００３４】
第３不揮発性メモリＭ３は、出力バッファ２０が固定的に出力すべき信号のレベルを設定する第５制御データＣＮＴ５を記憶する。
また制御部３０は、プロセッサ２００から出力バッファ２０が固定的に出力すべき信号のレベルを設定する第６制御データＣＮＴ６を受信する。
【００３５】
第３セレクタＳ３には、第５制御データＣＮＴ５と第６制御データＣＮＴ６とが入力される。第３セレクタＳ３はゲート信号ＧＡＴＥとして、ローレベル（０）が入力されると、第５制御データＣＮＴ５を、ハイレベル（１）が入力されると、第６制御データＣＮＴ６を選択して、出力バッファ２０の入力端子へと出力する。
【００３６】
なお、第１セレクタＳ１〜第３セレクタＳ３に供給されるゲート信号ＧＡＴＥは、共通ではなく、個別のデータであってもよい。
【００３７】
以上が半導体装置１００の構成である。続いてその動作を説明する。図２は、図１の半導体装置１００の動作を示すタイムチャートである。
【００３８】
制御部３０は、半導体装置１００の電源投入後（時刻ｔ０以降）、ゲート信号ＧＡＴＥをローレベルとする。その結果、スイッチＳＷ１の状態は、第１不揮発性メモリＭ１に記憶された第１制御データＣＮＴ１にもとづいて、出力バッファ２０のイネーブル状態は、第２不揮発性メモリＭ２に記憶された第３制御データＣＮＴ３にもとづいて、出力バッファ２０の入力信号のレベル（つまり出力信号のレベル）は、第３不揮発性メモリＭ３に記憶された第５制御データＣＮＴ５にもとづいて設定される。第１不揮発性メモリＭ１〜第３不揮発性メモリＭ３は半導体装置１００に内蔵されているため、電源の投入直後に直ちに読み出し可能となり、スイッチＳＷ１および出力バッファ２０の状態が設定される。
【００３９】
一方、プロセッサ２００は所定の起動プロセスを経て、時刻ｔ１に動作可能状態となる。この起動プロセスにはある程度の起動時間（ＳＴＡＲＴＵＰ）を要する。
【００４０】
その後、プロセッサ２００の起動が完了すると、プロセッサ２００から制御部３０に対して、制御データＣＮＴ２、ＣＮＴ４、ＣＮＴ６が順次送信される。制御部３０は、制御データＣＮＴ２、ＣＮＴ４、ＣＮＴ６を受信すると、ゲート信号ＧＡＴＥをローレベルからハイレベルへと切りかえる（時刻ｔ２）なお、半導体装置１００が起動してから、制御データＣＮＴ２、ＣＮＴ４、ＣＮＴ６の受信を完了するまでの期間を、リセット期間ＲＳＴとも称する。この間は、半導体装置１００の動作がプロセッサ２００によって制御不能であり、リセット状態と把握することができるからである。
【００４１】
時刻ｔ２以降、スイッチＳＷ１の状態は、第２制御データＣＮＴ２にもとづいて、出力バッファ２０のイネーブル状態は、第４制御データＣＮＴ４にもとづいて、出力バッファ２０の入力信号のレベル（出力信号のレベル）は第６制御データＣＮＴ６にもとづいて設定される。
【００４２】
以上が半導体装置１００の動作である。半導体装置１００によれば、入出力ポートＰｉｏの外部に、プルアップ抵抗やプルダウン抵抗を設ける必要がないため、コストや回路面積を削減できる。また、電源投入直後に、不揮発性メモリＭ１〜Ｍ３に格納された制御データによって、入出力ポートＰｉｏの電気的状態を直ちに、初期化することができるため、プロセッサ２００の起動が完了する前においても、入出力ポートＰｉｏの状態を安定化することができる。さらに、プロセッサ２００の起動完了後においては、プロセッサ２００からの制御データＣＮＴ２、ＣＮＴ４、ＣＮＴ６に応じて入出力ポートＰｉｏを制御することができる。
【００４３】
半導体装置１００の設計・製造者の立場からいえば、マスクなどの変更をすることなく、第１不揮発性メモリＭ１〜第３不揮発性メモリＭ３に書き込むデータを変更するのみで、ユーザの要求に対応することができる。
【００４４】
またユーザの立場から言えば、プロセッサ２００から半導体装置１００へと送信する制御データＣＮＴ２、ＣＮＴ４、ＣＮＴ６によって、入出力ポートＰｉｏを自由に設定できるため、従来のようにプルアップ抵抗やプルダウン抵抗を固定的に接続した場合に比べて、設計の自由度が高まっている。
【００４５】
上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４６】
ある変形例では、出力バッファ２０が設けられず、スイッチＳＷ１のみが制御される構成であってもよい。さらに、スイッチＳＷ１のＮＣ状態が存在せず、入出力ポートＰｉｏをプルアップもしくはプルダウンのみできる構成であってもよい。あるいは、出力バッファ２０が設けられる場合であっても、イネーブル状態のみの切りかえが可能であってもよいし、出力バッファ２０の入力信号レベルのみが切りかえ可能であってもよい。これらの変形例では、いくつかの制御信号ＣＮＴ３〜ＣＮＴ６は不要となろう。
【００４７】
実施の形態では、ゲート信号ＧＡＴＥに応じて、スイッチＳＷ１および出力バッファ２０の状態を、不揮発性メモリＭ１〜Ｍ３に記憶された制御データと、プロセッサ２００からの制御データのいずれかに応じて設定する場合を説明したが、本発明はこれに限定されない。たとえばプロセッサ２００からの制御データＣＮＴ２、ＣＮＴ４、ＣＮＴ６を省略して、制御データＣＮＴ１、ＣＮＴ３、ＣＮＴ５のみにもとづいて入出力ポートＰｉｏの電気的状態を制御してもよい。この場合、入出力ポートＰｉｏの制御の自由度は低下するが、第１不揮発性メモリＭ１〜第３不揮発性メモリＭ３に予め適切なデータを書き込んでおく場合には、不都合はない。
【００４８】
実施の形態で説明したハイレベル、ローレベルの論理値の設定は一例であって、インバータなどによって適宜反転させることにより自由に変更することが可能である。
【００４９】
実施の形態にもとづき、特定の語句を用いて本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が可能である。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態に係る半導体装置の構成を示す回路図である。
【図２】図１の半導体装置の動作を示すタイムチャートである。
【符号の説明】
【００５１】
１００…半導体装置、１０…入力バッファ、２０…出力バッファ、Ｐｉｏ…入出力ポート、Ｒ１…プルアップ抵抗、Ｒ２…プルダウン抵抗、ＳＷ１…スイッチ、Ｓ１…第１セレクタ、Ｓ２…第２セレクタ、Ｓ３…第３セレクタ、Ｍ１…第１不揮発性メモリ、Ｍ２…第２不揮発性メモリ、Ｍ３…第３不揮発性メモリ、ＣＮＴ１…第１制御データ、ＣＮＴ２…第２制御データ、ＣＮＴ３…第３制御データ、ＣＮＴ４…第４制御データ、ＣＮＴ５…第５制御データ、ＣＮＴ６…第６制御データ、３０…制御部、４０…インタフェース部、２００…プロセッサ。  
【図１】
2010147606.tif 000003
【図２】
2010147606.tif 000004