(57)【要約】【課題】  小型でありながら多様な出力インターフェースに対応することが可能で、高い汎用性を有するとともに、効率的で無駄のないＩ／Ｏコントローラの提供。【解決手段】  ＳＤＩＯコントローラ１は、ＥＥＰＲＯＭモジュール７０に格納されたＩＯファンクションモード情報に基づいてＩＯインターフェース４０のＩＯファンクションモードを排他的に切り替え、該ＩＯファンクションモードに応じて任意にＩＯインターフェース４０に形成されたＳＤＩＯファンクション１（４２）、ＳＤＩＯファンクション２（４４）の出力インターフェースを切り替え可能とする。【選択図】      図１
2005128989.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムと該コンピュータシステムに拡張機能を付加する機能モジュールとの間を接続して情報の入出力を制御する入出力制御装置であって、
前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格によって前記コンピュータシステムとの通信を制御するＩ／Ｏインターフェース手段と、
モード選定を切り替えることにより対応する出力インターフェースを変更可能になされた前記機能モジュールを制御する機能モジュール制御手段と、
本入出力制御装置及び前記機能モジュール制御手段の初期設定情報と、前記機能モジュール制御手段に対する機能モード情報が格納されるべきメモリを制御する手段と、
該初期設定情報に基づいて本入出力制御装置の初期設定を行う手段と、
該機能モード情報に基づいて前記機能モジュール制御手段の機能モードを切り替えるとともに、該機能モードに応じて前記初期設定情報によって前記機能モジュール制御手段の初期設定を行う手段と、
を含むことを特徴とする入出力制御装置。
【請求項２】
前記Ｉ／Ｏインターフェース手段は、前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格に基づくシリアル信号を内部パラレルバス信号に変換して内部パラレルバスに供給する手段、及び内部パラレルバスからの内部パラレル信号を前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格に基づくシリアル信号に変換する手段を有しており、
該内部パラレルバスによってパラレルに前記メモリ及び前記機能モジュール制御手段を制御可能としたことを特徴とする請求項１に記載の入出力制御装置。
【請求項３】
前記メモリ及び前記機能モジュール制御手段のクロック信号を、前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格に基づくクロック信号から生成することを特徴とする請求項１又は２に記載の入出力制御装置。
【請求項４】
前記機能モジュール制御手段は、前記初期設定情報による設定によって、汎用入出力ポートをサポートした出力インターフェースに対応可能となることを特徴とする請求項１又は２又は３に記載の入出力制御装置。
【請求項５】
前記機能モジュール制御手段は、前記初期設定情報に基づいて設定されることによって、汎用入出力ポートをサポートした出力インターフェース、非同期シリアルインターフェース、パラレルバスインターフェース、デュアルポートレジスタインターフェースのうち少なくとも一つをサポートした出力インターフェースに対応可能であることを特徴とする請求項１又は２又は３又は４に記載の入出力制御装置。
【請求項６】
前記Ｉ／Ｏインターフェース手段は、ステートの状態を遷移させて制御を行うステートマシンによって制御されることを特徴とする請求項１又は２又は３又は４又は５に記載の入出力制御装置。
【請求項７】
前記所定のＩ／Ｏ規格が、ＳＤＩ／Ｏ規格であることを特徴とする請求項１又は２又は３又は４又は５又は６に記載の入出力制御装置。
【請求項８】
前記請求項１又は２又は３又は４又は５又は６又は７に記載の入出力制御装置を有することを特徴とする機能拡張デバイス。
【請求項９】
前記拡張機能が通信機能であることを特徴とする請求項８に記載の機能拡張デバイス。
【発明の詳細な説明】
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、入出力制御装置、該入出力制御装置を使用した機能拡張デバイスに関する。
【背景技術】
【０００２】  近年、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）やノートパソコンなどの携帯型のコンピュータシステムに所定の機能を付加する機能拡張デバイスが使用されている。具体的には、ＰＣＭＣＩＡカード、ＣＦ（登録商標）Ｉ／Ｏカード、メモリースティック（登録商標）Ｉ／Ｏカード、ＳＤＩ／Ｏカード、或いはＵＳＢデバイスなどである。また、拡張するファンクションとしては、ＰＨＳ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの通信機能、ＧＰＳ機能、スキャナ機能、認証キー機能など多様なものが使用されている。【０００３】  このような機能拡張デバイスにおいては、主に、コンピュータシステムに付加する機能を実現すべく電子装置などによって構成されたファンクションモジュールと、当該機能拡張デバイスとコンピュータシステム側とのデータの入出力をコントロールする入出力制御装置であるインターフェースコントローラ、或いはそれを含んだＩ／Ｏコントローラなどから構成されている（例えば、特許文献１参照。）。
【特許文献１】    特開２００２−１７１３０３号公報
【０００４】  このような機能拡張デバイスにおけるファンクションモジュールにおいては、通常それぞれのファンクションモジュールごとに準拠する出力インターフェースが異なっているため、サポートされる制御機能も異なっている。具体的には、調歩同期式シリアル通信によってシリアルデータの送受信を行うシリアルデバイスであるファンクションモジュールの場合には、シリアル通信コントローラ（ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ）など）を有するＩ／Ｏファンクション（機能モジュール制御手段）が必要であり、パラレル通信によってパラレルデータの送受信を行うパラレルデバイスのファンクションモジュールの場合には、パラレル通信コントローラ（ＰＣＭＣＩＡインターフェースなど）を有するＩ／Ｏファンクションが必要である。【０００５】  そのため、このようにファンクションモジュールごとにサポートする出力インターフェースに対応させる場合には、各出力インターフェースごとに多様な種類の出力インターフェースに準拠したＩ／Ｏコントローラを多数設定するか、各出力インターフェースに対応する複数のＩ／ＯファンクションをＩ／Ｏコントローラ内に構築する必要があった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】  しかしながら、そのように、各出力インターフェースごとに多様な種類の出力インターフェースに準拠したＩ／Ｏコントローラを多数設定するのは、各Ｉ／Ｏコントローラの種別の管理や製造管理が煩雑化するとともに、異なる出力インターフェースのものが混同してしまう虞がある。また、各出力インターフェースに対応する複数のＩ／ＯファンクションをＩ／Ｏコントローラ内に構築するのは、装置が大幅に大型化してしまうとともに、使用しない出力インターフェースにも対応するＩ／Ｏファンクションを有しているため、効率が悪く無駄が多くなる。【０００７】  そこで、本発明は、このような問題に鑑みてなされたものであり、小型でありながら多様な出力インターフェースに対応することが可能で高い汎用性を有しているとともに、効率的で無駄のないＩ／Ｏコントローラを提供することを目的とする。
【課題を解決するための手段及び発明の効果】
【０００８】  上記課題を解決するためになされた本出願による入出力制御装置は、コンピュータシステムと該コンピュータシステムに拡張機能を付加する機能モジュールとの間を接続して情報の入出力を制御する入出力制御装置であって、前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格によって前記コンピュータシステムとの通信を制御するＩ／Ｏインターフェース手段と、モード選定を切り替えることにより対応する出力インターフェースを変更可能になされた前記機能モジュールを制御する機能モジュール制御手段と、本入出力制御装置及び前記機能モジュール制御手段の初期設定情報と、前記機能モジュール制御手段に対する機能モード情報が格納されるべきメモリを制御する手段と、該初期設定情報に基づいて本入出力制御装置の初期設定を行う手段と、該機能モード情報に基づいて前記機能モジュール制御手段の機能モードを切り替えるとともに、該機能モードに応じて前記初期設定情報によって前記機能モジュール制御手段の初期設定を行う手段とを含むことを特徴とする。
【０００９】  この第１の構成の入出力制御装置は、前記機能モジュール制御手段に対する機能モード情報が格納されるべきメモリを制御する手段と、該初期設定情報に基づいて本入出力制御装置の初期設定を行う手段と、該機能モード情報に基づいて前記機能モジュール制御手段の機能モードを切り替えるとともに、該機能モードに応じて前記初期設定情報によって前記機能モジュール制御手段の初期設定を行う手段によって、メモリに格納された機能モード情報に基づいて任意に前記機能モジュール制御手段が対応する出力インターフェースを切り替えることができる。そのため、多様な出力インターフェースに対応可能で高い汎用性を有しているとともに、各出力インターフェースに対応する複数の前記機能モジュール制御手段を入出力制御装置内に構築する場合に比較して装置を大幅に小型化することが可能になる。また、使用しない出力インターフェースに対応しているという無駄もなく、効率的で無駄のない入出力制御装置とすることができる。
【００１０】  つまり、前記機能モード情報に基づいて制御回路や外部端子の機能も随時切り替えるようにすれば共用化が可能になるため、多様な種類の出力インターフェースごとに制御回路や外部端子をその分だけ設定する必要がなく、制御回路や外部端子を削減することが可能になり、装置の大幅な小型化が可能になる。
また、機能モードの切り替えは、メモリに格納された機能モード情報に基づいて行われるため、メモリから読み出すだけでよいため瞬時に行うことができ、かつ容易に切り替えることができるとともに、機能モードの設定もメモリに書き込むだけでよいため、瞬時に行いえてかつ容易である。また多様できめ細かく機能モードの設定を行うことができる。
【００１１】  ところで、請求項２に記載のように、前記Ｉ／Ｏインターフェース手段は、前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格に基づくシリアル信号を内部パラレルバス信号に変換して内部パラレルバスに供給する手段、及び内部パラレルバスからの内部パラレル信号を前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格に基づくシリアル信号に変換する手段を有しており、該内部パラレルバスによってパラレルに前記メモリ及び前記機能モジュール制御手段を制御可能としていれば、シリアル信号を内部信号に共通のパラレルバスに変換することで、前記メモリ及び前記機能モジュール制御手段を、同一信号によって同一タイミングで制御することが可能になる。そのため、前記メモリ及び前記機能モジュール制御手段においては、該Ｉ／Ｏインターフェース手段を意識せずに制御が可能となる。また、前記機能モジュール制御手段のみを設計変更或いは交換することで、容易に異なる機能の入出力制御装置とすることが可能である。
【００１２】  また、請求項３に記載のように、前記メモリ及び前記機能モジュール制御手段のクロック信号を、前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格に基づくクロック信号から生成するようにしていれば、前記メモリ及び複数の機能モジュール制御手段を単一で同期設定することができるとともに、外部からクロックを供給することなく動作が可能となる。
【００１３】  また、請求項６に記載のように、前記Ｉ／Ｏインターフェース手段は、ステートの状態を遷移させて制御を行うステートマシンによって制御されるよにしていれば、ステートマシンによって状態を判断してステートの状態を遷移させて作動させることで、各イベントに応じた適切な処置を行うことが可能になる。
【００１４】  また、請求項８及び９に記載のように、本入出力制御装置を用いた機能拡張デバイスとすることにより、本入出力制御装置が多様な出力インターフェースに対応可能で高い汎用性を有しているため、機能モジュールごとに異なる入出力制御装置を使用する必要がなく、適用される機能拡張デバイスの部品管理や製造管理の簡略化を図ることが可能になる。また、本入出力制御装置が小型化がなされているため同一な機能を有する機能拡張デバイスに対して、大幅にパッケージの小型化が可能になる。また、同期設定が容易になるとともに、クロックを供給することも不要になるため、より信頼性の高い機能拡張デバイスとすることができる。
【発明を実施するための最良の形態】
【００１５】  以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。【００１６】  本実施例のＳＤＩＯコントローラ（入出力制御装置）１は、コンピュータシステムが有するＳＤＩ／Ｏ規格（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）に準拠して該コンピュータシステムと通信を行い、拡張機能を付加する機能モジュールとの間を接続して情報の入出力を制御するように構成されており、ＬＳＩとしてワンチップ化されている。また、本ＳＤＩＯコントローラ１は、各種機能モジュールの制御を行うコントローラであり、図１に示すように、論理機能ブロック或いは物理機能ブロックとして、ＳＤＩＯインターフェース（Ｉ／Ｏインターフェース手段）１０、ＳＤＩＯパラレルバス（内部パラレルバス）２０を有するとともに、外部の機能モジュールを制御する機能モジュール制御手段としてＳＤＩＯファンクション０（３０）、及びＩＯインターフェース４０を有する。なお、ここで「Ｉ／Ｏ」とはＩｎｐｕｔ／Ｏｕｔｐｕｔの略であり、以下便宜上単に「ＩＯ」と記する。【００１７】  前記ＳＤＩＯインターフェース１０は、ＳＤＩＯバスを介してホストであるコンピュータシステムと通信するためのインターフェイス機能を有しており、ＳＤＩＯバスを介して本ＳＤＩＯコントローラ１とコンピュータシステムとのデータやコマンドの送受信を制御する。【００１８】  また、前記ＳＤＩＯインターフェース１０は、ＳＤＩＯインプットブロック１２、ＳＤＩＯアウトプットブロック１４を有している。前記ＳＤＩＯインプットブロック１２は、図２に示すように、ＳＤＩＯパラレルバス変換ブロック１２ａを有しており、コンピュータシステム側からのＳＤバスによるシリアルＩＯコマンドをＳＤＩＯパラレルバス信号に適宜変換して、前記ＳＤＩＯパラレルバス２０に送信する。また、前記ＳＤＩＯアウトプットブロック１４は、図２に示すように、ＳＤバス変換ブロック１４ａを有しており、前記ＳＤＩＯパラレルバス２０から送られたＳＤＩＯパラレルバス信号を適宜ＳＤバスによるシリアルＩＯコマンドに適宜変換してコンピュータシステムに送信する。【００１９】  そのため、コンピュータシステムからのシリアル信号を内部信号に共通のＳＤＩＯパラレルバスに変換することで、前記ＳＤＩＯファンクション０（３０）とＩＯインターフェース４０を同一信号によって同一タイミングで制御することが可能になる。そのため、前記ＳＤＩＯファンクション０（３０）とＩＯインターフェース４０においては、前記ＳＤＩＯインターフェース１０を意識せずに制御が可能となる。また、前記ＩＯインターフェース４０のみを設計変更或いは交換することで、容易に異なる機能のＩＯコントローラとすることが可能である。【００２０】  また、前記ＳＤＩＯインターフェース１０は、ステートの状態を遷移させて制御を行うステートマシンとして、ＢＵＳステートマシン１６、ＣＭＤステートマシン１７、ＤＡＴステートマシン１８を有しており、各スートマシンによって状態を判断して作動することで、各イベントに応じた適切な処置を行うこと��可能になされている。【００２１】  前記ＢＵＳステートマシン１６は、前記ＳＤＩＯインターフェース１０のメインステートマシンであり、図３に示すようい、イニシャライゼーションステート１６ａ、スタンバイステート１６ｂ、コマンドステート１６ｃ、トランスファーステート１６ｄの４つのステートを遷移させることで、適切な処置を行うことが可能になされている。そして、各ステートでコマンドの有効及び無効を判断させている。【００２２】  前記ＣＭＤステートマシン１７は、ＳＤＩＯバスからの図１におけるＣＭＤラインを監視し、コマンドの解析、レスポンスの制御を行うステートマシンであり、図４に示すように、ＣＭＤラインからのスタートビットを検出するＣＭＤアイドルステート１７ａ、ＣＭＤラインのトランザクションビットの検出を行い、正常であればコマンドのフェッチを行うＣＭＤフェッチステート１７ｂ、ＣＭＤラインのエンドビットの検出及びコマンドの解析を行うＣＭＤエンドステート１７ｃ、コマンドに該当したレスポンスを準備するレスポンスレディステート１７ｄ、レスポンスの出力をするレスポンスセンドステート１７ｅ、レスポンスの終了を判断しコマンドサイクルを終了するレスポンスエンドステート１７ｆから構成されており、ＣＭＤラインからのスタートビットを検出することでステートの動作を開始する。また、前記ＣＭＤステートマシン１７は、図１に示すように、４８Ｂｉｔのシフトレジスタ１７ａを有しており、該４８Ｂｉｔのシフトレジスタ１７ａを、ＣＭＤステートマシン１７の状態により、コマンドの格納、またはレスポンス出力のために使用している。【００２３】  前記ＤＡＴステートマシン１８は、データ転送時に図１におけるＤＡＴ０〜ＤＡＴ３ライン（ＳＰＩモード時、ＣＭＤ、ＤＡＴ０ライン）を制御するステートマシンであり、図５に示すように、ＤＡＴアイドルステート１８ａ、リード時に「８ＣＬＫＷａｉｔ」、ライト時に「ＤＡＴｎ＝０」を検出するＤＡＴレディステート１８ｂ、リード時に指定バイト分データを出力するとともに、ライト時に指定バイト分データをフェッチを行うＤＡＴデータステート１８ｃ、リード時にエンドビットを付加するとともに、ライト時にエンドビットの検出を行うＤＡＴエンドステート１８ｄ、ライト時にＣＲＣステータスの出力を行うＤＡＴステータスステート１８ｅ、及び中断処理を行うＤＡＴアボートステートから構成されており、前記ＢＵＳステートマシン１６がトランスファーステート１６ｄに移行後、動作を開始する。また、前記ＤＡＴステートマシン１８では、図１に示すように、８Ｂｉｔのシフトレジスタ１８ａを有しており、該シフトレジスタ１８ａをリード時はデータの格納、ライト時はデータの出力のために使用している。【００２４】  また、Ｉ／Ｏコマンドには、１バイト転送を行うコマンドと、マルチバイト転送を行うコマンドが存在している。そして、１バイト転送の場合、前記ＣＭＤステートマシン１７のみで全て処理を行い、パラレルバスに変換する。また、マルチバイト転送の場合、アドレス、制御線は前記ＣＭＤステートマシン１７で変換し、その後、前記ＤＡＴステートマシン１８で、全ての信号線の制御、処理を実行する。また、前記ＢＵＳステートマシン１６の状態で、前記ＤＡＴステートマシン１８の全体の制御が実行される。【００２５】  以上のように、前記ＳＤＩＯインターフェース１０は、各ステートマシンが密接に関わって統合的に制御を行うことで、各イベントに応じた適切な処置を行うことが可能になされている。【００２６】  前記ＳＤＩＯパラレルバス２０は、ＳＤＩＯ規格に基づいた汎用の複数の信号線で同時に８ビットを転送するパラレルバスであり、ファンクションナンバー、アドレス、データ、リードイネーブル、ライトイネーブルで構成されている。そして、図１に示すように、前記ＳＤＩＯパラレルバス２０に前記ＳＤＩＯインターフェース１０、ＳＤＩＯファンクション０（３０）、ＩＯインターフェース４０などが接続されて、ＳＤＩＯパラレルデータに変換されたパラレルバス信号を伝送する内部信号共通のパラレルパスである。【００２７】  前記ＳＤＩＯファンクション０（３０）は、コモンファンクションエリアであり、外部接続のメモリを制御するべくなされており、コンフィグレーション用のシリアルＥＥＰＲＯＭモジュール７０をマスタとして制御するＥＥＰＲＯＭインターフェースブロックである。ここで、前記ＳＤＩＯファンクション０（３０）は、図６に示すように、シリアルＥＥＰＲＯＭインターフェース３４、１ＰＲＡＭ３２を介して前記シリアルＥＥＰＲＯＭモジュール７０との通信が可能になされているとともに、前記ＳＤＩＯパラレルバス２０へ接続されている。そして、前記シリアルＥＥＰＲＯＭモジュール７０に対するデータの書き込み、読み出し、及び消去の制御を行うとともに、アドレスの設定や管理などを行う。【００２８】  また、ＳＤＩＯファンクション０（３０）は、図１におけるＳＤＣＬＫラインからシリアルＥＥＰＲＯＭモジュール７０用のシリアルクロックを生成している。そのため、シリアルＥＥＰＲＯＭモジュール７０及びＩＯインターフェース４０を単一で同期設定することができるとともに、外部クロックの供給を受けることなく動作が可能となり、前記ＩＯインターフェース４０のコンフィグレーションが可能である。【００２９】  また、前記シリアルＥＥＰＲＯＭモジュール７０は、Ｉ２Ｃ（登録商標）インターフェースタイプのメモリモジュールであり、本ＳＤＩＯコントローラ１の各種設定情報、ＣＩＳ情報、ＩＯファンクションモード情報（機能モード情報）、前記ＩＯインターフェース４０のコンフィギュレーション情報などが格納されており、後述するイニシャライズ処理に用いられる。【００３０】  前記ＩＯインターフェース４０は、コントロールレジスタの設定により任意の出力インターフェースに準拠可能なユーザーファンクションエリアである。そして、図１に示すように、例えば、通信モジュール６０などが接続されて、通信モジュール６０との信号の入出力を制御する。なお、該ユーザーファンクションエリアは、ＳＤＩＯ規格に基づいて所定のＩＯファンクションを７個まで設定することが可能になされている。なお、本実施例によるＳＤＩＯコントローラ１においては、ＩＯインターフェース４０として、ＳＤＩＯファンクション１（４２）とＳＤＩＯファンクション２（４４）の２つが設定されており、ＩＯインターフェースモード（機能モード）に基づいて各モードが設定される。【００３１】  ここで、前記ＳＤＩＯファンクション１（４２）は、図７に示すように、汎用入出力ポートをサポートした汎用の出力インターフェースであるＧＰＩＯ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｐａｒａｌｌｅｌ  Ｉ／Ｏ）に準拠したＩＯファンクションモジュールを制御するＩＯファンクションであるＧＰＩＯインターフェースとして、コントロールレジスタの設定によって機能可能になされている。【００３２】  また、ＳＤＩＯファンクション２（４４）は、選択によって、図８に示すように、非同期シリアルインターフェースであるＵＡＲＴを出力インターフェースとしてサポートすべく構成されたシリアル通信コントローラであるＵＡＲＴインターフェース４４ａ、８ビットの前記ＳＤＩＯパラレルバス２０を出力インターフェースとしてサポートすべく構成されたパラレル通信コントローラである８ビットパラレルバスインターフェース４４ｂ、及びデュアルポートレジスタインターフェースをサポートした出力インターフェースを有する２ポートレジスターインターフェース４４ｃの何れかとして、コントロールレジスタの設定によって機能可能になされている。【００３３】  ここで、前記ＩＯインターフェース４０のＳＤＩＯファンクション１（４２）とＳＤＩＯファンクション２（４４）のＩＯインターフェースモードの設定及びコンフィギュレーションは、前記ＳＤＩＯファンクション０（３０）によって前記シリアルＥＥＰＲＯＭモジュール７０に格納されたデータを読み込むことによるイニシャライズ処理よって行うようになされている。【００３４】  具体的には、図９に示すように、前記ＳＤＩＯファンクション０（３０）は、ステップ１０で電源が投入されてパワーオンリセットが解除されると、ステップ２０で前記シリアルＥＥＰＲＯＭモジュール７０のデータを読み込み、ステップ３０で内部ＲＯＭである前記１ＰＲＡＭ３２にそのデータをロードする。この場合に、前記１ＰＲＡＭ３２にロードされたデータには、上述したように、本ＳＤＩＯコントローラ１の各種設定情報、ＣＩＳ情報、ＩＯファンクションモード情報、前記ＩＯインターフェース４０のコンフィギュレーション情報などが含まれている。【００３５】  そして、前記前記ＳＤＩＯファンクション０（３０）は、ステップ４０で、前記１ＰＲＡＭ３２にロードされたデータから本ＳＤＩＯコントローラ１の各種設定情報、ＣＩＳ情報、ＩＯファンクションモード情報、前記ＩＯインターフェース４０のコンフィギュレーション情報を得て、本ＳＤＩＯコントローラ１の設定、ＩＯファンクションモードの切り替えを行うとともに、ステップ５０で、該ＩＯファンクションモードに基づいて前記ＩＯインターフェース４０のＳＤＩＯファンクション１（４２）及びＳＤＩＯファンクション２（４４）に対するコンフィギュレーションが実施される。【００３６】  ここで、本ＳＤＩＯコントローラ１のＩＯファンクションモードは、ＧＰＩＯモード、ＵＡＲＴモード、パラレルバスモード、２ポートレジスターモードの４種類があり、このうちから一つが選択されて前記シリアルＥＥＰＲＯＭモジュール７０に格納されている。【００３７】  そして、前記ＩＯファンクション���ードがＧＰＩＯモードである場合には、前記ＳＤＩＯファンクション１（４２）はＧＰＩＯインターフェースとして機能するように、前記コンフィギュレーション情報に基づいてコントロールレジスタのコンフィギュレーションが行われ、前記ＳＤＩＯファンクション１（４２）がＧＰＩＯインターフェーとして機能可能となる。なお、前記ＧＰＩＯモード時は、前記ＳＤＩＯファンクション１（４２）のみの単一機能である。また、ＧＰＩＯポートは、割り込み入力ポートとして使用可能なため、最大８本の割り込み入力が可能である。【００３８】  また、前記ＩＯファンクションモードがＵＡＲＴモードである場合には、前記ＳＤＩＯファンクション１（４２）はＧＰＩＯインターフェースとして機能させるとともに、前記ＳＤＩＯファンクション２（４４）は前記ＵＡＲＴインターフェース４４ａとして機能するように、前記コンフィギュレーション情報に基づいてコントロールレジスタのコンフィギュレーションが行われ、前記ＳＤＩＯファンクション２（４４）がＵＡＲＴインターフェース４４ａとして機能可能となる。従って、前記ＵＡＲＴモード時は、前記ＳＤＩＯファンクション１（４２）のＧＰＩＯインターフェースと前記ＳＤＩＯファンクション２（４４）によるＵＡＲＴインターフェース４４ａが、同時に機能可能となる。また、ＵＡＲＴインターフェース４４ａは、所謂１６５５０互換のＵＡＲＴ機能を有しており制御が容易となっている。また、Ｄｉｖｉｓｏｒ  Ｌａｔｃｈ  Ｒｅｇｉｓｔｅｒを全て「０」に設定することにより、ハイスピードでの転送が可能である。【００３９】  また、前記ＩＯファンクションモードがパラレルバスモードである場合には、前記ＳＤＩＯファンクション１（４２）はＧＰＩＯインターフェースとして機能させるとともに、前記ＳＤＩＯファンクション２（４４）は前記８ビットパラレルバスインターフェース４４ｂとして機能するように、前記コンフィギュレーション情報に基づいてコントロールレジスタのコンフィギュレーションが行われ、前記ＳＤＩＯファンクション２（４４）が８ビットパラレルバスインターフェース４４ｂとして機能可能となる。従って、前記パラレルバスモード時は、前記ＳＤＩＯファンクション１（４２）のＧＰＩＯインターフェースと前記ＳＤＩＯファンクション２（４４）による８ビットパラレルバスインターフェース４４ｂが、同時に機能可能となる。【００４０】  また、前記２ポートレジスターモードの場合には、前記ＳＤＩＯファンクション１（４２）はＧＰＩＯインターフェースとして機能させるとともに、前記ＳＤＩＯファンクション２（４４）は前記２ポートレジスターインターフェース４４ｃとして機能するように、前記コンフィギュレーション情報に基づいてコントロールレジスタのコンフィギュレーションが行われ、前記ＳＤＩＯファンクション２（４４）が２ポートレジスターインターフェース４４ｃとして機能可能となる。従って、前記２ポートレジスターモード時は、前記ＳＤＩＯファンクション１（４２）のＧＰＩＯインターフェースと前記ＳＤＩＯファンクション２（４４）による２ポートレジスターインターフェース４４ｃが、同時に機能可能となる。【００４１】  以上のようなＩＯファンク���ョンモードが設定される場合に、本ＳＤＩＯコントローラ１は、前記ＳＤＩＯファンクション０（３０）によって、図９に示すイニシャライズ処理におけるステップ４０で、前記１ＰＲＡＭ３２にロードされたデータから本ＳＤＩＯコントローラ１の各種設定が行われることで、各モードにおいて接続端子の共用化が可能になされている。具体的には、図１０に示すように、各ＩＯファンクションモードに応じて外部端子の機能も随時切り替えられ、各機能毎に外部端子を設定する必要をなくしている。【００４２】  次に、そのように構成された前記ＳＤＩＯコントローラ１の使用状態について説明する。図１１は、本ＳＤＩＯコントローラ１を使用したＳＤ通信カード（機能拡張デバイス）１００の例を示す構成図である。該ＳＤ通信カード１００は、ＳＤＩＯカード規格に準拠して形成されており、前記ＳＤＩＯコントローラ１、前記ＥＥＰＲＯＭモジュール７０、通信モジュール６０を有している。そして、本ＳＤＩＯコントローラ１は、前記ＳＤＩＯファンクション０（３０）によって前記シリアルＥＥＰＲＯＭモジュール７０に格納されたデータを読み込むことによるイニシャライズ処理を実行し、排他的に本ＳＤＩＯコントローラ１の設定、ＩＯファンクションモードの切り替えを行う。【００４３】  この場合に、前記ＥＥＰＲＯＭモジュール７０に格納されたＩＯファンクションモード情報は、前記通信モジュール６０との通信が可能となるように設定されている。具体的には、前記通信モジュール６０が調歩同期式シリアル通信によってシリアルデータの送受信を行うものであれば、ＩＯファンクションモード情報にはＩＯファンクションモードをＵＡＲＴモードとするような情報が格納されているとともに、そのモードに対応した本ＳＤＩＯコントローラ１の各種設定情報、前記ＩＯインターフェース４０のコンフィギュレーション情報などが、予め前記ＥＥＰＲＯＭモジュール７０に格納されている。【００４４】  また、前記通信モジュール６０が他の出力インターフェースに対応していれば、その出力インターフェースが対応するＩＯファンクションモードに切り替える。この場合に、ＩＯファンクションモードは、上述したＧＰＩＯモード、ＵＡＲＴモード、パラレルバスモード、２ポートレジスターモードの４種類のモードに限定されるものではなく、例えば、ＵＳＢプロトコルやＰＣＭＣＩＡなど、他の出力インターフェースに対応したものとしてもよく、また７個まで増やすこともできる。【００４５】  以上述べたように、、本実施例によるＳＤＩＯコントローラ１は、各ＩＯファンクションモードに応じて制御機能や外部端子などを切り替えて使用しているため、多様な種類の出力インターフェースごとに制御回路や外部端子をその分だけ設定する必要がなく、制御回路や外部端子を削減することが可能になり、大幅に小型化が可能となっている。また、使用しない出力インターフェースに対応しているという無駄もなく、効率的で無駄のないコントローラとなっている。【００４６】  また、各ＩＯファンクションモードの切り替えは、前記シリアルＥＥＰＲＯＭモジュール７０に格納されたＩＯファンクションモード情報に基づいて行われるため、前記シリアルＥＥＰＲＯＭモジュール７０から読み出すだけでよいため瞬時に行うことができ、かつ容易に切り替えることができるとともに、ＩＯファンクションモードの設定も前記シリアルＥＥＰＲＯＭモジュール７０に書き込むだけでよいため、瞬時に行いえてかつ容易である。また多様できめ細かくＩＯファンクションモードの設定を行うことができる。【００４７】  また、本実施例によるＳＤＩＯコントローラ１は、上述したように、前記ＳＤＩＯインターフェース１０のＳＤＩＯパラレルバス変換ブロック１２ａによって、コンピュータシステムからのシリアル信号を内部信号に共通のＳＤＩＯパラレルバスに変換しているため、前記ＳＤＩＯファンクション０（３０）とＩＯインターフェース４０を同一信号によって同一タイミングで制御することが可能になされている。そのため、前記ＳＤＩＯファンクション０（３０）とＩＯインターフェース４０においては、前記ＳＤＩＯインターフェース１０を意識せずに制御が可能となる。また、前記ＩＯインターフェース４０のみを設計変更或いは交換することで、容易に異なる機能のＩＯコントローラとすることが可能である。【００４８】  また、ＳＤＩＯファンクション０（３０）は、前記コンピュータシステムが有する所定の規格に準拠するＩ／Ｏ規格に基づくクロック信号であるＳＤＣＬＫラインからシリアルＥＥＰＲＯＭモジュール７０用のシリアルクロックを生成している。そのため、シリアルＥＥＰＲＯＭモジュール７０及びＩＯインターフェース４０を単一で同期設定することができるとともに、外部クロックの供給を受けることなく動作が可能となり、前記ＩＯインターフェース４０のコンフィグレーションが可能である。【００４９】  また、前記ＳＤＩＯインターフェース１０は、ステートの状態を遷移させて制御を行うステートマシンとして、ＢＵＳステートマシン１６、ＣＭＤステートマシン１７、ＤＡＴステートマシン１８を有しているため、各スートマシンによって状態を判断して作動することで、各イベントに応じた適切な処置を行うことが可能になる。【００５０】  なお、本発明は、本実施例の構成のみに限定されるものではなく、多様な態様が可能である。例えば、本実施例では、前記ＥＥＰＲＯＭモジュール７０とのインターフェースをＩ２Ｃとしているが、それのみに限定されるものではなく、Ｍｉｃｒｏｗｉｒｅ（登録商標）、ＳＰＩなどであってもよい。【００５１】  また、本実施例によるＳＤＩＯコントローラ１は、所定の規格に準拠したインターフェース機能としてＳＤＩＯ規格に準拠したものとしているが、それのみに限定されるものではなく、ＰＣＭＣＩＡ規格、ＣａｒｄＢｕｓ規格、メモリースティック（登録商標）規格、ＣＦ（登録商標）Ｉ／Ｏ規格など、任意の規格でよい。
【図面の簡単な説明】
【００５２】
【図１】本実施例のＳＤＩＯコントローラの機能ブロックの構成を示すブロック図である。
【図２】本実施例のＳＯＩＯインターフェースの機能ブロックの構成を示すブロック図である。
【図３】ＢＵＳステートマシンのステートの遷移を示す説明図である。
【図４】ＣＭＤステートマシンのステートの遷移を示す説明図である。
【図５】ＤＡＴステートマシンのステートの遷移を示す説明図である。
【図６】シリアルＥＥＰＲＯＭモジュールからの情報の流れを示す説明図である。
【図７】  ＩＯインターフェースの構成及び機能を示す説明図である。
【図８】ＳＤＩＯファンクション２のＩＯインターフェースの構成及び機能を示す説明図である。
【図９】ＳＤＩＯファンクション０によるイニシャライズ処理の流れを示すフローチャートである。
【図１０】ＩＯファンクションモードと外部端子との対応を示す関係図である。
【図１１】本実施例によるＳＤＩＯコントローラの使用状態を示す構成図である。
【符号の説明】
【００５３】  １…ＳＤＩＯコントローラ
１０…ＳＤＩＯインターフェース
１６…ＢＵＳステート
１７…ＣＭＤステート
１８…ＤＡＴステート
２０…ＳＤＩＯパラレルバス
３０…ＳＤＩＯファンクション０
４０…ＩＯインターフェース
４２…ＳＤＩＯファンクション１
４４…ＳＤＩＯファンクション２
４４ａ…ＵＡＲＴインターフェース
４４ｂ…８ビットパラレルバスインターフェース
４４ｃ…２ポートレジスターインターフェース
６０…通信モジュール
７０…ＥＥＰＲＯＭモジュール
１００…ＳＤ通信カード１００
【図１】
2005128989.tif 000003
【図２】
2005128989.tif 000004
【図３】
2005128989.tif 000005
【図４】
2005128989.tif 000006
【図５】
2005128989.tif 000007
【図６】
2005128989.tif 000008
【図７】
2005128989.tif 000009
【図８】
2005128989.tif 000010
【図９】
2005128989.tif 000011
【図１０】
2005128989.tif 000012
【図１１】
2005128989.tif 000013