(57)【要約】【課題】端子共用による端子数の削減とともに、端子切替え用のソフトウェアがデバイス内部で起動していない場合でも、端子の切替えを可能にする。【解決手段】ＣＰＵ２にアクセスされるアドレスデコード部９と汎用入出力ポートコントローラ１１とを有し、ＣＰＵが実行するプログラムを記憶したＳＤカード５のインターフェースとして作動する共用端子８を設け、共用端子８が、ＳＤカード５、ＩＣカード４、ＲＯＭ３のいずれかのインターフェース及び汎用入出力ポートコントローラ１１のインターフェースとして作動する。【選択図】      図１
2004192051.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵにアクセスされる手段と、汎用入出力制御手段とを有し、前記ＣＰＵが実行するプログラムを記憶した複数の記憶装置のインターフェースとして作動する共用端子を設けた共用端子制御装置であって、
前記共用端子が、前記いずれか１つの記憶装置のインターフェース及び前記汎用入出力制御手段のインターフェースとして作動することを特徴とする共用端子制御装置。
【請求項２】
請求項１記載の共用端子制御装置において、
前記共用端子の端子モードを前記記憶装置モード又は汎用入出力モードに切替えて設定する切替手段を設けたことを特徴とする共用端子制御装置。
【請求項３】
前記共用端子の初期端子モードが汎用入出力モードに設定されていることを特徴とする請求項２記載の共用端子制御装置。
【請求項４】
請求項２又は３記載の共用端子制御装置において、
前記共用端子の端子モードを前記記憶装置モードに設定するブートモード信号を出力するブートモード設定手段を設け、該手段がブートモード信号を出力したときは、前記共用端子の端子モードが記憶装置モードに設定されることを特徴とする共用端子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、端子共用により端子数が削減され、かつ複数の記憶装置からのブートが可能な共用端子制御装置に関する。
【０００２】
【従来の技術】
近年の情報技術の進展に伴い多種多様な外部装置が提案されている。このような多種多様な外部装置に対応可能な（多種多様な外部装置に接続可能な）デバイスを設計する場合は、それぞれの外部装置のインターフェースに対応するため、デバイス側の端子数増加は避けることができない。しかしながら、端子数の増加は、チップサイズの増加を招き、最終的にはそのデバイスのコスト増につながるという問題があった。
従来、多種多様な外部装置との接続に対する汎用性を高めるため、アドレス信号又はチップセレクト信号を出力する共用端子を選択的に使用するにあたって、共用端子をアドレス信号用又はチップセレクト信号用として使用するかを示すデータをレジスタに保持させ、そのデータに基づき、共用端子をアドレス信号用又はチップセレクト信号用として選択的に使用するという技術があった（例えば、特許文献１参照。）。
多種多様な外部装置に対応可能にするという場合でも、大抵の場合は対応しているすべての外部装置を同時に使用することはないので、上述の従来技術のようにして端子の共用を行い、その端子を特定のモードで使いたい場合に端子を切替えるということがしばしば行われていた。
【０００３】
【特許文献１】
特開２０００−１８１８９９号公報（第１−２頁）
【０００４】
【発明が解決しようとする課題】
共用端子における外部装置の切替えはデバイス内部の信号に起因するが、その信号の切替えはデバイス内部のプロセッサがソフトウェアにしたがい処理を実行して行われる。しかし、ソフトウェアにより切替える場合は、そのソフトウェアが立上がり、動作可能状態になっていなければ切替え自体を行えないという欠点がある。例えば、外部装置として多種多様な記憶装置の接続形態があり、プログラムのブートを行う記憶装置の切替え等は、ソフトウェアの実行前に決定しておかないとブートが行えなくなってしまう。
【０００５】
この発明は、上記の問題点を解決するためになされたもので、端子共用による端子数の削減とともに、端子切替え用のソフトウェアがデバイス内部で起動していない場合でも、端子の切替えを可能にすることを目的とする。
【０００６】
【課題を解決するための手段】
この発明は、上記の目的を達成するため、ＣＰＵにアクセスされる手段と汎用入出力制御手段とを有し、上記ＣＰＵが実行するプログラムを記憶した複数の記憶装置のインターフェースとして作動する共用端子を設けた共用端子制御装置であって、共用端子が、上記いずれか１つの記憶装置のインターフェース及び上記汎用入出力制御手段のインターフェースとして作動する共用端子制御装置を特徴とする。
この共用端子制御装置は、上記共用端子の端子モードを上記記憶装置モード又は汎用入出力モードに切替えて設定する切替手段を設けるとよい。
また、共用端子の初期端子モードが汎用入出力モードに設定されていることが好ましい。
さらに、共用端子の端子モードを上記記憶装置モードに設定するブートモード信号を出力するブートモード設定手段を設け、該手段がブートモード信号を出力したときは、上記共用端子の端子モードが記憶装置モードに設定されるとよい。
【０００７】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて詳細に説明する。
図１はこの発明による共用端子制御装置１と、その周辺の回路を含むブロック図である。この回路は、共用端子制御装置１を中心として、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）２と、プログラムが記憶されているＲＯＭ（ＲＥＡＤ  ＯＮＬＹ  ＭＥＭＯＲＹ）３と、プログラムが記憶され着脱可能なＩＣカード４と、プログラムが記憶され着脱可能なＳＤカード５と、プログラムが実行する際に使用する計算式やデータを記憶するＳＤＲＡＭ６とを有して構成されている。
共用端子制御装置１は、ブートモード設定端子７と、共用端子８と、アドレスデコード部９と、バスコントローラ１０とを有し、汎用入出力ポートコントローラ１１と、ＳＤＲＡＭコントローラ１２と、レジスタコントローラ１３と、セレクタ１４とを有している。この共用端子制御装置１は、実行用プログラムを記憶する２種類以上の記憶装置のインターフェースとして作動する共用端子８を有していて、その共用端子８がＳＤカード５に接続され、そのインターフェースとして作動する端子と汎用入出力ポートのインターフェースとして作動する端子を共用している。
【０００８】
ブートモード設定端子７は、ＲＯＭ３、ＩＣカード４、ＳＤカード５のいずれからＯＳ等のプログラムを読込みブートを行うブートモードを設定する。アドレスデコード部９は、ＣＰＵ２がアクセスしてきたアドレスをデコードし、アクセスさせるアドレス空間を振り分ける。バスコントローラ１０は、ＲＯＭ３やＩＣカード４への読書きを制御する。汎用入出力ポートコントローラ（以下「Ｉ／Ｏポートコントローラ」という）１１は、アドレスデコード部９とセレクタ１４との汎用入出力制御を司る。ＳＤＲＡＭコントローラ１２はＳＤＲＡＭ６への読書きを制御する。レジスタコントローラ１３は、内部については後述するが、図示しない内部レジスタの読書き制御や、ブートモード設定端子７の設定とレジスタ設定値とにしたがい、共用端子８をＳＤカード５のインターフェースとして作動する記憶装置モードと、Ｉ／Ｏポートコントローラ１１のインターフェースとして作動する汎用入出力モードのいずれの端子モードで使用するかを決定し、その決定にかかる情報を後述するセレクト信号ｓｄｉｏ−ｓｅｌによって、セレクタ１４に出力する。セレクタ１４は、レジスタコントローラ１３からセレクト信号ｓｄｉｏ−ｓｅｌを入力して、それにしたがい端子モードをＳＤカード信号と汎用入出力信号とで切替える。このセレクタ１４には、後述するＩ／Ｏセル１６，１７が接続されている。
【０００９】
図２は、バスコントローラ１０及びＩ／Ｏポートコントローラ１１と、セレクタ１４内部の詳細な回路構成を示すブロック図である。
共用端子制御装置１は、バスコントローラ１０とでやりとりされるＳＤカード信号と、Ｉ／Ｏポートコントローラ１１とでやりとりされる汎用入出力信号をセレクタ１４に入力し、その動作により最終的にはそのいずれか一方からの信号だけを共用端子８に出力する。セレクタ１４で扱われる信号は双方向の場合もあることから、セレクタ１４は次のように構成されている。
セレクタ１４は、外部にＩ／Ｏセル１６、１７が接続されている。いずれも共用端子８を制御するために設けられている。Ｉ／Ｏセル１６は入力バッファ１６ａと出力バッファ１６ｂとを有し、共用端子８がＳＤカード５の入出力データ信号（ｓｄｄ−ｉ，ｓｄｄ−ｏ）と汎用入出力信号（ｉｏ１）を共用している場合に作動する。Ｉ／Ｏセル１７は、入力バッファ１７ａと出力バッファ１７ｂとを有し、共用端子８がＳＤカード５のカードディテクト入力信号（ｓｄｃｄ）と汎用入出力信号（ｉｏ１）を共用している場合に作動する。なお、Ｉ／Ｏセル１７は、仮にＳＤカード５のディテクト（検出）専用の端子であれば、入力セルによって構成すればよいが、双方向入出力の汎用入出力信号を用いて端子の共用を行うため、入出力セルとなっている。
【００１０】
また、セレクタ１４は、その内部に出力信号を切替える内部セレクタ１８と、出力イネーブルを切替える内部セレクタ１９、２１とを有している。ＳＤカード５又はＩ／Ｏポートコントローラ１１でやりとりされるＳＤカード信号及び汎用入出力信号はともに双方向信号なので、出力データ信号（ｓｄｄ−ｏ，ｉｏ１−ｏ）、入力データ信号（ｓｄｄ−ｉ，ｉｏ１−ｉ）及び出力イネーブル信号（ｓｄｄ−ｏｅ、ｉｏ１−ｏｅ）が存在する。そのそれぞれに対応するため、内部セレクタ１８、１９、２１を設けている。
内部セレクタ１８は、ＳＤカード５の出力データ信号ｓｄｄ−ｏと汎用出力信号ｉｏ１−ｏとを入力して、セレクト信号ｓｄｉｏ−ｓｅｌによりそれらの切替えを行い、その切替えた信号を出力バッファ１６ｂの入力に接続する。
【００１１】
内部セレクタ１９は、出力イネーブル信号を切替えるセレクタであり、ＳＤカード５の出力イネーブル信号ｓｄｄ−ｏｅと汎用出力イネーブル信号ｉｏ１−ｏｅとを入力して、セレクト信号ｓｄｉｏ−ｓｅｌによりそれらの切替えを行い、その切替えた信号を出力バッファ１６ｂの出力イネーブルに接続する。
内部セレクタ２１は、汎用出力イネーブル信号ｉｏ２−ｏｅを入力して、セレクト信号ｓｄｉｏ−ｓｅｌによる切替えを行い、その切替えた信号を出力バッファ１７ｂの出力イネーブルに接続する。ただし、カードディテクト入力信号ｓｄｃｄ−ｉは、入力信号であり出力モードがないから、セレクト信号ｓｄｉｏ−ｓｅｌによりＳＤカードモードが選択された場合に、信号の出力が行われないように出力側一方の端子２２がグランドに接続されている。
【００１２】
一方、入力バッファ１６ａからは、ＳＤカード５の入力データ信号ｓｄｄ−ｉと汎用入力信号ｉｏ１−ｉとを出力し、それらをセレクタを介さずそのまま接続している。また、入力バッファ１７ａからは、ＳＤカード５のカードディテクト入力信号ｓｄｃｄ−ｉと汎用入力信号ｉｏ２−ｉとを出力し、それらをセレクタを介さずそのまま接続している。
以上のように、共用端子制御装置１は、セレクタ１４により、信号を切替え共用端子８に出力することにして、ＳＤカード５のインターフェースモードと、汎用入出力モードの切替えを行い、端子の共用を行っている。この共用端子８の端子共用によって、デバイスの端子数を削減することができるから、チップサイズを縮小し、コストを安くすることができる。また、共用端子制御装置１は、セレクタ１４により切替動作を行い、ソフトウェアにより切替えることはないから、ソフトウェアが内部で起動していなくても、端子の切替えを行える。そして、そのセレクタ１４を構成する各内部セレクタ１８，１９，２１に切替動作を行わせるためのセレクト信号ｓｄｉｏ−ｓｅｌは、レジスタコントローラ１３から出力されている。
【００１３】
レジスタコントローラ１３は、ＣＰＵ２からのコマンドをアドレスデコード部９によりデコードし、それにより後述するチップセレクトｃｓ等を入力して、セレクト信号ｓｄｉｏ−ｓｅｌを“１”又“０”に変化させて出力する回路であって、図３に示すようにＡＮＤ回路１３ａ，１３ｃと、セレクタ１３ｂ及び回路１３ｄとを有している。ＡＮＤ回路１３ａは、チップセレクトｃｓ及びライトイネーブルｗｅｎを入力し、両者の論理和をとってセレクタ１３ｂに入力する。セレクタ１３ｂは、回路１３ｄの出力であるセレクト信号ｓｄｉｏ−ｓｅｌを入力して、ライトデータｗｄａｔａとＡＮＤ回路１３ａの論理和出力のいずれか一方をＡＮＤ回路１３ｃに入力する。ＡＮＤ回路１３ｃは、セレクタ１３ｂの出力とリセット信号ｒｓｅｔ−ｎの論理和をとり、回路１３ｄに出力する。回路１３ｄはＡＮＤ回路１３ｃの論理和出力と、クロック信号ｃｌｋを入力してセレクト信号ｓｄｉｏ−ｓｅｌを出力する。
このレジスタコントローラ１３は、図４のタイミングチャートにしたがい作動する。すなわち、レジスタコントローラ１３は、チップセレクトｃｓとライトイネーブルｗｅｎの双方が“１”のときにＡＮＤ回路１３ａの論理和出力が“１”とされ、そのときのライトデータｗｄａｔａの値により、セレクト信号ｓｄｉｏ−ｓｅｌが“１”又“０”に変化する。なお、同じ時間においてチップセレクトｃｓは１つのみがアサートされるものとされ、バスコントローラ１０等の各コントローラは、すべて同じインターフェースを有している。
【００１４】
一方、リセット信号ｒｓｅｔ−ｎは“０”のときにリセット状態である。このレジスタコントローラ１３の場合、リセット時は出力されるセレクト信号ｓｄｉｏ−ｓｅｌが必ず“０”になり、その後、チップセレクトｃｓとライトイネーブルｗｅｎが両方とも“１”になるときまでその値が保持されている。そのリセット時の共用端子８の端子モードを汎用入出力モードにするには、汎用入出力信号が“０”で選択されるように、内部セレクタ１８、１９、２１の接続を行えばいい。
以上のように、共用端子制御装置１は、共用端子８の端子モードを切替え可能にしているから、記憶装置を装着（接続）しない汎用入出力モードや、一時的に記憶装置にアクセスする場合など様々な用途で使い分けることが可能である。また、共用端子８の初期端子モードを汎用入出力モードに設定することにより、共用端子制御装置１が実装されているボードの仕向地情報等を得たり、プログラムが正常に動作していることを示すＬＥＤの点滅動作等を特に設定することなく実施することができる。
【００１５】
次に、ＳＤカード５が装着（接続）され、かつＳＤカード５からブートを行う場合について説明する。上述したように、共用端子８は初期モードを汎用入出力モードにすることができ、これにより、共用端子制御装置１が実装されたボードの仕向地情報等を読取ることができる。ＳＤカード５を装着し、そのＳＤカード５からブートを行う場合は、リセット解除後のソフトウェアが実行される前において、共用端子８がＳＤカード５による記憶装置のモード（ＳＤカード５モード）に自動的に切替わる必要がある。そのため、図５に示すように、レジスタコントローラ１３にＯＲゲート１３ｅを追加して設け、これにブートモード設定端子７から、Ｂｏｏｔ  Ｍｏｄｅ（ブートモード）信号を入力する。そして、この信号をボード上で電源又はグランドに接続しておき、そのいずれに接続されているかによって、ＳＤカードモードからブートを行うか否かを決定する。ここでは、電源に接続したときにＳＤカードモードとし、ＳＤカード５からブートを行うものとしている。図５に示すレジスタコントローラ１３は、図３に示すものと比較して、ＯＲゲート１３ｅが追加されているが、これの一方の入力端子にＢｏｏｔＭｏｄｅ信号を接続し、これにより、Ｂｏｏｔ  Ｍｏｄｅ信号が“１”の場合は強制的にセレクト信号ｓｄｉｏ−ｓｅｌが“１”になり、ＳＤカードモードが選択される。このようにすると、共用端子制御装置１が強制的に記憶装置側の端子モードになることにより、ＳＤカード５等の記憶装置からのブートを行えるようになる。
なお、以上の説明では、記憶装置として、ＳＤカード５を例にとって説明したが、その他、ＲＯＭ３、ＩＣカード４でもよく、その他図示しないスマートメディア、コンパクトフラッシュ（登録商標）、メモリースティック、ハードディスクなどでもこの発明を適用することができる。
【００１６】
【発明の効果】
以上説明してきたように、この発明によれば、端子共用により、デバイスの端子数を削減できるから、チップサイズ縮小、コスト低減を実現でき、しかも、端子の切替えは、ソフトウェアが内部で起動していなくても行える。
【図面の簡単な説明】
【図１】この発明による共用端子制御装置とその周辺の回路を含むブロック図である。
【図２】バスコントローラ及びＩ／Ｏポートコントローラと、セレクタ内部の詳細な回路構成を示すブロック図である。
【図３】レジスタコントローラの内部構成の一例を示すブロック図である。
【図４】レジスタコントローラの動作内容を示すタイミングチャートである。
【図５】別のレジスタコントローラの内部構成を示すブロック図である。
【符号の説明】
１：共用端子制御装置                    ２：ＣＰＵ
３：ＲＯＭ                          ４：ＩＣカード
５：ＳＤカード                      ６：ＳＤＲＡＭ
７：ブートモード設定端子              ８：共用端子
９：アドレスデコード部      １０：バスコントローラ
１１：汎用入出力ポートコントローラ
１２：ＳＤＲＡＭコントローラ
１３：レジスタコントローラ
１６，１７：Ｉ／Ｏセル
１８，１９，２１：内部セレクタ
【図１】
2004192051.tif 000003
【図２】
2004192051.tif 000004
【図３】
2004192051.tif 000005
【図４】
2004192051.tif 000006
【図５】
2004192051.tif 000007