(57)【要約】ＳＤＩＯ規格に準拠するＳＤＩＯホストと複数のアプリケーションとをＳＤバスを経由して接続する１チップの半導体デバイスであって、ＳＤＩＯホストから送られるコマンドを解読し必要な応答をＳＤＩＯホストに送るＳＤインターフェース部と、一つ以上のアプリケーションインターフェース部と、前記ＳＤインターフェース部と前記アプリケーションインターフェース部間に一時記憶メモリ（Ｒ／ＷＦＩＦＯ）メモリとを含むことを特徴とするＳＤＩＯコントローラ。このコントローラは、用途に応じたデバイス選択が可能となるだけでなく、複雑なＳＤＩＯ規格に完全対応したカードシステムの開発コストと開発時間を大幅に短縮することができる。
2004077306.tif 000002
【特許請求の範囲】
【請求項１】
ＳＤＩＯ規格に準拠するＳＤＩＯホストと複数のアプリケーションとをＳＤバスを経由して接続する１チップの半導体デバイスであって、以下の構成を含むことを特徴とするＳＤＩＯコントローラ：
ａ．ＳＤＩＯホストから送られるコマンドを解読し必要な応答をＳＤＩＯホストに送るＳＤインターフェース部
ｂ．一つ以上のアプリケーションインターフェース部
ｃ．前記ＳＤインターフェース部と前記アプリケーションインターフェース部間に一時記憶メモリ（Ｒ／Ｗ  ＦＩＦＯ）メモリ
【請求項２】
請求項１記載のＳＤＩＯコントローラであって、このＳＤＩＯコントローラにおける前記アプリケーションインターフェース部は、ＰＣＭＣＩＡ又はＰＣカードバスインターフェース、ＵＡＲＴインターフェース、メモリインターフェースの少なくとも一つを含むもの。
【請求項３】
請求項１記載のＳＤＩＯコントローラであって、このＳＤＩＯコントローラにおける前記一時記憶メモリは、各ＳＤＩＯアプリケーションから読み出されたデータを一時的に保持する読み出し用メモリ（ＲＦＩＦＯ）を前記アプリケーションインターフェースと同数又は少なくとも一つ備えていると共に、前記ＳＤＩＯホストに送り出すデータを一時的に保持する書き込み用メモリ（ＷＦＩＦＯ）を少なくとも一つ備えているもの。
【請求項４】
ＳＤＩＯ規格に準拠するＳＤＩＯホストと複数のアプリケーションとをＳＤバスを経由して接続する１チップの半導体デバイスであって、以下の構成を含むことを特徴とするＳＤＩＯコントローラ：
ａ．ＳＤＩＯホストから送られるコマンドを解読し必要な応答をＳＤＩＯホストに送るＳＤインターフェース部
ｂ．一つ以上のアプリケーションインターフェース部
ｃ．前記ＳＤインターフェース部と前記アプリケーションインターフェース部間に一時記憶メモリ（Ｒ／Ｗ  ＦＩＦＯ）メモリ
ｄ．データ制御を行うためのマイコン（ＭＣＵ）
【請求項５】
請求項４記載のＳＤＩＯコントローラであって、このＳＤＩＯコントローラにおける前記マイコン（ＭＣＵ）に対する制御信号を入出力するためのＩ／Ｏ（ＧＰＩＯ）を更に備えているもの。
【請求項６】
請求項５記載のＳＤＩＯコントローラであって、このＳＤＩＯコントローラにＳＤバスを介して接続されるＳＤＩＯホストから送られるデータが少なくとも、読み出し或いは書き込みの対象となるレジスタアドレスと、操作の種類と、データの数と、任意の書き込みデータと、
を含む場合に、前記マイコン（ＭＣＵ）がこのデータを解読し、アプリケーションインターフェース部を介して非連続レジスタへのアクセスを行うことを特徴とするもの。
【請求項７】
請求項１又は請求項４記載のＳＤＩＯコントローラと、無線通信モジュールとが前記アプリケーションインターフェースを通じて接続され、ＳＤＩＯ規格に適合する１枚のカード筐体に納められた無線通信カード。
【請求項８】
請求項１又は請求項４記載のＳＤＩＯコントローラと、ＳＤＩＯ無線通信モジュールとが前記アプリケーションインターフェースを通じて接続され、１つの半導体集積回路にモジュール化されたＳＤＩＯ無線通信モジュール。
【発明の詳細な説明】
【技術分野】  本発明はＳＤＩＯ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）規格に準拠するＳＤＩＯホストとＳＤＩＯカードアプリケーションとをＳＤバスを経由して接続する半導体デバイスである、ＳＤＩＯコントローラに関する。
【背景技術】  ノートブック型パーソナルコンピュータ（ＰＣ）、携帯通信機器（ＰＤＡ）、ディジタルビデオ、ディジタルカメラ、小型オーディオ機器など、モバイル機器（これらをまとめて「ホスト機器」ということもある。）に装着できるＩＣカードには種々の規格が存在する。中でも、ＳＤメモリカードは、小型でデータ転送速度が大きくかつ高度なセキュリティ機能を備えているため注目されている。
現在、ＳＤ関連機器には、メモリデバイスとしてのＳＤメモリと、入出力装置（Ｉ／Ｏ）としてのＳＤＩＯという、２つの国際規格が存在する。ＳＤメモリカード規格を拡張し、メモリ機能だけでなく入出力機能を備えたＳＤＩＯという国際規格が存在し、ＳＤＩＯ規格に準拠したカード型周辺装置をＳＤＩＯカードという。
ＳＤＩＯコントローラとは、周辺機器がＳＤＩＯ規格に準拠してホスト機器と接続するための機能を実現するための制御装置である。
ＳＤＩＯ関連機器に関する従来の技術として、ＵＡＲＴのインターフェースを備えたＳＤＩＯコントローラとブルートゥース規格の無線通信機能を搭載した「ＳＤＩＯ無線通信カード」が知られている（例えば、特許文献１参照。）。このＳＤＩＯ無線通信カードは、ホスト機器のデータをＳＤＩＯを経由してワイヤレス通信する機能を備え、離れた場所にあるブルートゥース規格の無線通信機器と通信することができる。
下記特許文献は本発明の背景を説明するための関連技術文献である。
（特許文献１）  特開２００２−１７１３０３号公報
ＳＤＩＯという規格は比較的新しい規格であり、しかも、研究開発はＳＤＩＯという国際規格のスペックを満たしながら行なわれる必要がある。
しかし、ＳＤＩＯ開発に関わる設計開発環境、ＳＤインターフェース部用のハードウェアデバイス、それらに付随するソフトウェアという一連の設計開発環境は、十分に整っていない。
一例として、ＳＤＩＯスロットを搭載したホスト機器に装着できる無線ＬＡＮ機能を備えたＳＤＩＯカードを開発しようとする場合、既に実現されているＰＣＭＣＩＡインターフェースを持った無線ＬＡＮモジュールを利用するためには、ＰＣＭＣＩＡインターフェースとＳＤインターフェースの変換部が求められる。
また別の例では、大容量の不揮発性メモリ機能を有するＳＤＩＯカードを開発しようとする場合、種々のメモリに対応するメモリインターフェースを備えることが求められる。
本発明は、上記に鑑みＳＤＩＯ関連機器の設計開発環境を改善すべくなされたものであり、ＳＤＩＯホストと種々のアプリケーション（無線、ＧＰＳ、メモリ等）とのインターフェース機能を備えた汎用性の高いＳＤＩＯコントローラ、及びその応用機器等を提供することを主目的とする。
【発明の開示】
本発明に係るＳＤＩＯコントローラは、ＳＤＩＯ規格に準拠するＳＤＩＯホストと複数のアプリケーションとをＳＤバスを経由して接続する１チップの半導体デバイスであって、ＳＤＩＯホストから送られるコマンドを解読し必要な応答をＳＤＩＯホストに送るＳＤインターフェース部と、一つ以上のアプリケーションインターフェース部と、前記ＳＤインターフェース部と前記アプリケーションインターフェース部間に一時記憶メモリ（Ｒ／Ｗ  ＦＩＦＯ）メモリとを含むことを特徴とする。
本発明によれば、用途に応じたデバイス選択が可能となるだけでなく、複雑なＳＤＩＯ規格に完全対応したカードシステムの開発コストと開発時間を大幅に短縮することができる。
前記アプリケーションインターフェース部は、ＰＣＭＣＩＡ又はＰＣカードバスインターフェース、ＵＡＲＴインターフェース、メモリインターフェースの少なくとも一つを含むことが好ましい。
これらのインターフェースを備えていると、これらのインターフェースを備えている各アプリケーションモジュールを改変することなく、ＳＤコントローラに接続するだけでＳＤＩＯカードを開発できる。
具体的には、例えば、ＰＣＭＣＩＡインターフェースを備えていると、無線通信規格の一つであるＩＥＥＥ８０２．１１ｂの無線ＬＡＮモジュールとＳＤＩＯコントローラをＰＣＭＣＩＡインターフェースで接続すれば、ＩＥＥＥ８０２．１１ｂのＳＤＩＯカードを開発できる。
同様に、ＵＡＲＴインターフェースを備えていると、ブルートゥースモジュールとＳＤＩＯコントローラをＵＡＲＴインターフェースで接続すれば、ブルートゥースのＳＤＩＯカードを開発できる。
同様に、メモリインターフェースを備えていると、メモリデバイスを実装することができ、ＳＤＩＯという入出力の機能に加えて、メモリデバイスとしての機能を付加することができる。
この場合、前記一時記憶メモリは、各ＳＤＩＯアプリケーションから読み出されたデータを一時的に保持する読み出し用メモリ（ＲＦＩＦＯ）を前記アプリケーションインターフェースと同数又は少なくとも一つ備えていると共に、前記ＳＤＩＯホストに送り出すデータを一時的に保持する書き込み用メモリ（ＷＦＩＦＯ）を少なくとも一つ備えていることが好ましい。
このように、読み出し用メモリ（ＲＦＩＦＯ）を複数備えていると、複数のアプリケーションが同時に動作している場合でも、データの管理が簡単になり、ＳＤＩＯ規格で定められているサスペンド／レジューム機能を実現するための制御回路を簡素化、高速化できる。
なお、一時記憶メモリは、ＳＤインターフェース部とアプリケーションインターフェース間で送受信するデータだけではなく、複数あるアプリケーションインターフェース間で送受信するデータの一時記憶にも使用できる。
さらに、本発明に係るＳＤＩＯコントローラはデータ制御を行うためのマイコン（ＭＣＵ）を備えていることが好ましい。
ＭＣＵを備えていると、ＳＤインターフェース部が受け取るＳＤコマンドを解釈する機能を補助したり、前記メモリインターフェースにメモリデバイスを接続した際にメモリデバイスを制御したり、前記アプリケーションに対する割り込み信号の送信、転送データの準備、デバックなど様々な処理を行なうことができる。
この場合、前記マイコン（ＭＣＵ）に対する制御信号を入出力するためのＩ／Ｏ（ＧＰＩＯ）を更に備えていてもよい。
なお、本明細書では、ＧＰＩＯ、ＨＳ−ＵＡＲＴ及びＰＣＭＣＩＡなど、入出力デバイスと接続するためのものをファンクションインターフェースといい、データを記憶保持するメモリを接続するためのメモリインターフェースとは区別される。ファンクションインターフェースとメモリインターフェースをあわせて、「アプリケーションインターフェース」という。
前記メモリインターフェースは、ＥＥＰＲＯＭ、ＮＡＮＤ型フラッシュメモリ、ＮＯＲ型フラッシュメモリなどのインターフェースが含まれる。これらを一つ又は複数備えていてもよいし、これ以外のメモリインターフェースが含まれていてもよい。
メモリインターフェースを備えていると、それに対応した不揮発性メモリ（フラッシュメモリ、強誘電体、強磁性体メモリ等）を接続することができる。
前記不揮発性メモリを接続した場合、メモリ領域の一部に、ファームウエア、ＳＤＩＯコントローラのハードウエア情報（ＣＩＳ）、ドライバソフト（ＣＳＡ）、ユーザーデータの少なくとも一つを備えていてもよい。
また、アプリケーションモジュール側のハードウエア情報（ファームウエア、ＣＩＳ、ＣＳＡ）をも前記メモリ領域の一部に備えるようにしてもよい。
本発明に係るＳＤＩＯコントローラと通信規格に適合する無線通信モジュールとを、前記アプリケーションインターフェースを通じて接続されるようにＳＤＩＯ無線通信モジュールを構成してもよい。
なお、前記通信規格はＩＥＥＥ（米国電気電子技術者協会）８０２．ｘなどが一例としてあげられる。特に、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｅなどが考えられる。
前記ＳＤＩＯ無線通信モジュールをＳＤＩＯ規格に適合するカードに収めることにより無線通信カードを提供することができる。あるいは、前記ＳＤＩＯホストを含む機器に内蔵するように、そのままモジュールとして提供することもできる。
このように、本発明に係るＳＤＩＯコントローラは、ＳＤＩＯカード開発はもちろん、ＳＤＩＯドライバ開発、無線通信モジュール開発、ハードウエア開発、など多くの開発者に役立つツールとなる。
【図面の簡単な説明】  図１は本発明に係るＳＤＩＯコントローラの機能ブロックの基本構成を示す図である。
図２はＳＤＩＯコントローラ９と無線通信モジュール１０とを実装しＰＣＭＣＩＡインターフェースを介して接続したものを、一つのカードに納めた無線通信カードを示す図である。
図３はＳＤＩＯコントローラ１０とＩＥＥＥ８０２．１１ｂの無線ＬＡＮモジュール２０とを一つのＳＤＩＯカードに納めた様子を示した図である。
図４（ａ）はカード自体に無線通信モジュールを内蔵した様子を示す図である。（ｂ）はＳＤＩＯコントローラに無線通信機能を付加したものを、１チップにモジュール化し、これをホスト機器側に内蔵させた様子を示した図である。
【符号の説明】
１  ＳＤＩＯホストインターフェースモジュール（ＨＩＭ）
２  一時記憶メモリ（Ｒ／Ｗ  ＦＩＦＯ）
３ａ，３ｂ，３ｃ  アプリケーションインターフェース
４  制御レジスタ（ＳＤＩＯＲＥＧ）
５  ＦＩＦＯコントローラ（ＤＭＡ）
６  マイクロコントローラユニット（ＭＣＵ）
７ａ  Ｉ−ＲＡＭ
７ｂ  Ｄ−ＲＡＭ
８  ＧＰＩＯ
９  ＳＤＩＯコントローラ
１０  無線通信モジュール
１１  ＳＤＩＯスロットに装着できる無線通信カード
２０  無線ＬＡＮモジュール
２２  ミディアム・アクセス・コントローラ（ＭＡＣ）およびベースバンド・プロセッサ（ＢＢＰ）
２３  ＲＦ制御部
２５  ＳＤＩＯ無線カード
２６  ＳＤＩＯ無線モジュール
２７  ＳＤＩＯスロット
２８  ＳＤＩＯカード
【発明を実施するための最良の形態】（ハードウエアの基本構成）
図１は、本発明に係るＳＤＩＯコントローラの機能ブロックの基本構成を示したものである。代表的な構成について実施例を用いて説明する。すべての機能は１つのＬＳＩチップ（例えば、６ｍｍｘ６ｍｍ程度のＰＢＧＡ等）で実現される。本発明に係るＳＤＩＯコントローラの一実施例では、Ｉ２ＣのＥＥＰＲＯＭとＰＣＭＣＩＡのソケット（スロット）とＵＡＲＴのコネクタ備えている。
図１に示すように、ＳＤＩＯホストから送られるコマンドを解読し必要な応答をＳＤＩＯホストに送るＳＤインターフェース部（ＨＩＭ）１と、一時記憶メモリ（Ｒ／Ｗ  ＦＩＦＯ）２と、複数のアプリケーションインターフェース３ａ、３ｂ、３ｃとを含んでいる。なお、機能ブロックとしては離れて描かれているが制御レジスタ（ＳＤＩＯＲＥＧ）４はＨＩＭに含まれる。制御レジスタ４はＳＤＩＯホストがＳＤデバイスを制御するために必須の構成である。
アプリケーションインターフェースは、ＨＳ−ＵＡＲＴ（ハイスピードにも対応できるＵＡＲＴ）３ａとＰＣＭＣＩＡ３ｂとフラッシュメモリを接続できるメモリインターフェース３ｃを備えている。これ以外のアプリケーションインターフェースでもよい。例えば、ＰＣカードバスその他のインターフェースに対応したものなどが考えられる。
以上が最小限の構成要素の機能ブロックであるが、本実施例では、更にＦＩＦＯコントローラ（ＤＭＡ）５、マイクロコントローラユニット（ＭＣＵ）６とＩ−ＲＡＭ７ａ・Ｄ−ＲＡＭ７ｂ、及びＧＰＩＯ８を含んでいる。ＤＭＡ５は図１では１つしか表わされていないが、実際には３つある。各ＤＭＡは各アプリケーションインターフェースに対応するＤＭＡから送られるデータを一時記憶するＲＦＩＦＯ２ａ、２ｂ、２ｃ及びＳＤＩＯホストからＨＩＭを介して送られるデータを一時記憶するＷＦＩＦＯ２ｄに接続されている。これらの各機能について説明する。
−インターフェース−
（１）ＳＤインターフェース部
ＳＤＩＯ規格に従って、ＳＤホスト（「ＳＤＩＯホスト」ともいう。）からＳＤバスを通して送られたコマンドを解釈し、必要な応答を返す。また、コマンドによっては、ＳＤバスを通して送られたデータのＣＲＣエラーの有無を確認後、ＷＦＩＦＯに格納したり、ＲＦＩＦＯに溜ったデータを取り出し、それにＣＲＣエラーチェック用のコードを付加して、ＳＤバスを通してＳＤホストに送ったりする。
ＳＤバスは、９本の信号で構成されていて、その機能、タイミング仕様はＳＤＩＯ規格で、規格化されている。
ＳＤＩＯホストはＳＤＩＯカードがスロットに装着されると、カード情報を認識し、装着されたＳＤＩＯカードを認識するために多数のコマンドを送信する。ＨＩＭはコマンドを解釈し、ホストに応答を返す。
これらのやり取りを経た後、ＳＤＩＯカードが認識されると、ホスト機器のデータ（例えばデジタルカメラの画像データ、ＩＰフォンなどの音声データなど）を送受信できる状態となる。
（２）ＨＳ−ＵＡＲＴインターフェース
ＨＳ−ＵＡＲＴは、前記一時記憶メモリを搭載することにより、高速転送に対応したシリアルインターフェースである。一時記憶メモリに蓄えられたデータを取り出し、シリアルデータに変換後、ＲＳ−２３２Ｃ規格に従ってデータを送信する。あるいは、ＲＳ−２３２Ｃ規格に従って受信したデータをパラレルデータに変換して、一時記憶メモリに格納し、ＳＤホストに割込みを出す。このインターフェースにより、モデム、ＰＨＳ、ブルートゥースなど、ＲＳ−２３２Ｃインターフェースを持ったデバイスを接続する。ＳＤホストは、ＳＤＩＯＲＥＧを通してこのＨＳ−ＵＡＲＴの制御をしたり、状態を知る。
（３）ＰＣＭＣＩＡインターフェース
ＰＣＭＣＩＡはノートパソコン等に搭載されているインターフェースで、国際規格となっている。ＰＣＭＣＩＡ規格に従って、一時記憶メモリとＰＣＭＣＩＡデバイス間のデータの読み書きを行う。また、ＰＣＭＣＩＡデバイスからの割込みをＳＤＩＯＲＥＧおよびＨＩＭを通してＳＤホストに伝える。このインターフェースにより、ＩＥＥＥ８０２．１１ｘ、ハードディスク、コンパクトディスクなど、ＰＣＭＣＩＡインターフェースを持ったデバイスと接続する。
なお、コンパクトフラッシュ（登録商標）なども、基本的にはＰＣＭＣＩＡインターフェースのサブセットなので、このＰＣＭＣＩＡインターフェースに接続する。
（４）メモリインターフェース
本発明に係るメモリインターフェースは、ＥＥＰＲＯＭ、ＮＡＮＤ型メモリ、ＮＯＲ型メモリという３系統を備えている。開発環境支援ツールとして使用する場合には、できるだけ多くのメモリインターフェースを持つことが好ましいためである。
ａ．Ｉ２ＣシリアルＥＥＰＲＯＭインターフェース
一時記憶メモリに蓄えられたデータを取り出し、シリアルデータに変換後、Ｉ２Ｃのプロトコルに従って、データをシリアルＥＥＰＲＯＭに書く。あるいは、Ｉ２Ｃのプロトコルに従って、シリアルＥＥＰＲＯＭからデータ読み出し、それをパラレルデータに変換して一時記憶メモリに格納する。このインターフェースによりシリアルＥＥＰＲＯＭを接続する。
ｂ．ＮＡＮＤ型フラッシュインターフェース
一時記憶メモリに蓄えられたデータを取り出し、データラインを通じてデータをＮＡＮＤ型フラッシュメモリに書く。あるいは、データラインを通じてデータをＮＡＮＤ型フラッシュメモリから読み出し、それを一時記憶メモリに格納する。また、データの読み書き時に必要なリード／ライト信号やアドレス信号を生成する。このインターフェースによりＮＡＮＤ型フラッシュメモリを接続する。
ｃ．ＮＯＲ型フラッシュメモリインターフェース
一時記憶メモリに蓄えられたデータを取り出し、ＩＯラインを通じてデータをＮＯＲ型フラッシュメモリに書く。あるいは、ＩＯラインを通じてＮＯＲ型フラッシュメモリからデータを読み、それを一時記憶メモリに格納する。また、データの読み書き時に必要なコマンドやアドレスを生成し、ＩＯラインを通じてＮＯＲ型フラッシュに送る。このインターフェースによりＮＯＲ型フラッシュメモリを接続する。
以上のメモリインターフェースを使ってＳＤＩＯカードにメモリカードの機能を付加できる。
（５）ＧＰＩＯインターフェース（Ｇｅｎｅｒａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉ／Ｏ）
ＳＤホストがＳＤＩＯＲＥＧに書いた設定値に従って、ＧＰＩＯインターフェースの各信号の方向や値を制御したり、入力に設定された信号の値をＳＤＩＯＲＥＧに設定する。入力方向のＧＰＩＯインターフェースは、ＳＤホストへの割込み発生（ＩＲＱ：Ｉｎｔｅｒａｐｔ  Ｒｅｑｕｅｓｔ）や、例えば受信待機中などといったアプリケーションデバイスの状態通知に使用する。また出力方向のＧＰＩＯはＬＥＤの制御やアプリケーションデバイスの消費電力制御、モード切替えなどに使用する。
また、ＧＰＩＯは汎用インターフェースであり、ＧＰＩＯポートと他の外部モジュール（例えば、ラジオ放送受信モジュールなど）とを接続すると、ホスト機器側でこれらの外部モジュールを制御することができる。
（６）ＳＤＩＯＲＥＧ
ＳＤＩＯＲＥＧは、ＳＤＩＯ規格で規格化されたＳＤホストからアクセスできるレジスタと内部制御用のレジスタで構成される。ＳＤＩＯＲＥＧにはＭＣＵからもアクセスする。ＳＤＩＯ規格でユーザ依存になっているレジスタと内部制御用のレジスタについて説明する。
ＦＮ１（ＨＳ−ＵＡＲＴ）レジスタ：
ＨＳ−ＵＡＲＴには、その動作を制御するための制御レジスタが設けられている。この制御レジスタはホスト機器から直接見ることが可能であり、ホスト機器はＳＤＩＯインターフェースを介して制御レジスタを直接的にアクセスすることができる。ＵＡＲＴによるシリアル通信は制御レジスタの設定内容に基づき行なわれる。つまり、ホスト機器は制御レジスタにアクセスすることにより、機器との間のデータの送受信を直接的に制御することができる。
ＳＤＩＯ規格で規格化されているファンクション１の領域には、ＨＳ−ＵＡＲＴインターフェース用の制御レジスタを設ける。ＳＤホストはこのレジスタを通じてＨＳ−ＵＡＲＴデバイスとデータの送受信を行う。具体的には、ナショナルセミコンダクター社の１６６５０チップに設けられたレジスタと同等のものを設ける。
具体的には、ＲＢＲ（リードバッファレジスタ：受信データの一時保持）、ＴＨＲ（ライトホールディングレジスタ：送信データの一時保持）、ＩＥＲ（インタラプットエネーブルレジスタ：割り込み制御）、ＩＩＲ（インタラプトイデントレジスタ：割込み要因表示）、ＦＥＲ（ＦＩＦＯコントロールレジスタ：送受信ＦＩＦＯ制御）、ＬＣＲ（ラインコントロールレジスタ：データライン制御）、ＭＣＲ（モデムコントロールレジスタ：モデム制御）、ＬＳＲ（ラインステイタスレジスタ：データライン状態表示）、ＭＳＲ（モデムステイタスレジスタ：モデム制御ラインの状態表示）、ＳＣＲ（スクラッチレジスタ：汎用）、ＤＬＬ（デヴィソアラッチＬＳ：送受信クロック分周制御）、ＤＬＭ（デビソアラッチＭＳ：送受信クロック分周制御）、ＨＦＣ（ハードウエアフローコントロール：モデムラインをＨＷでコントロール）などのレジスタを有している。
ＦＮ２（ＰＣＭＣＩＡ）レジスタ：
ＳＤＩＯ規格で規格化されているファンクション２の領域には、ＰＣＭＣＩＡインターフェース用の制御レジスタを設ける。ＳＤホストはこのレジスタを通じてＰＣＭＣＩＡデバイスとデータの送受信を行う。具体的には、ＰＣＭＣＩＡのアトリビュート領域へのデータウィンドウ、メモリ領域へのデータウィンドウ、ＩＯ領域へのデータウィンドウ、各データウィンドウのアドレスオフセット値、ＰＣＭＣＩＡの信号のタイミング制御、割込みイネーブル制御などのレジスタを設ける。
また、内部制御用のレジスタとして、ＳＤホストから送られたコマンド識別子や、コマンド引数を格納するレジスタ、データ転送時のデータサイズを指定するレジスタ、コマンド処理時に発生したエラーの種類を示すレジスタ、ＳＤバスのモードを示すレジスタ、ＭＣＵがＨＩＭやＤＭＡ、一時記憶メモリ、各アプリケーションインターフェースを制御したり、状態を見るためのレジスタを設ける。
（７）一時記憶メモリ（ＷＦＩＦＯ、ＲＦＩＦＯ１、ＲＦＩＦＯ２、ＲＦＩＦＯ３）
これらはＳＤホストとアプリケーションインターフェース間、あるいは複数のアプリケーションインターフェース間で転送されるデータを一時的に保持する。本明細書では便宜上、アプリケーションインターフェースへ出力するデータを一時的に保持するメモリをＷＦＩＦＯ、アプリケーションインターフェースから入力したデータを一時的に保持するメモリをＲＦＩＦＯと定義しておく
ＦＩＦＯは、本来は一つあればよい。しかし、本発明では、一つのＷＦＩＦＯと三つのＲＦＩＦＯを持っている。
ＦＩＦＯメモリ（ＲＡＭ）の容量は、例えば以下のとおりである。
ＲＦＩＦＯ１・・・５１２バイト（ＵＡＲＴ用）
ＲＦＩＦＯ２・・・２ｋバイト  （ＰＣＭＣＩＡ用）
ＲＦＩＦＯ３・・・２ｋバイト  （メモリ用）
ＷＦＩＦＯ  ・・・２ｋバイト
このようにアプリケーションインターフェースが複数ある場合に、ＲＦＩＦＯをアプリケーションインターフェースごとに設けておくと、第一のアプリケーションインターフェースからＳＤホストにデータを転送している際に、転送が一時中断（サスペンド）されても、別のＲＦＩＦＯを使って、第二のアプリケーションインターフェースからＳＤホストへデータを転送できるので、第一のアプリケーションインターフェースからそれ用のＲＦＩＦＯへのデータ転送は続行される。その後、中断していた第一のアプリケーションインターフェースからＳＤホストへのデータ転送が再開（レジューム）されるときは、第一のアプリケーションインターフェース用のＲＦＩＦＯにデータが溜った状態となるので、中断によるデータ転送速度への影響は少ない。また、各アプリケーションインターフェースから入力されたデータは、それぞれ専用のＲＦＩＦＯに溜るので、データとアプリケーションインターフェースとの対応が明示的であり、データの制御が簡単になる。
（８）ＤＭＡ（ダイレクト・メモリ・アクセス）
ＤＭＡは制御ロジックのハードウェアである。一時記憶メモリと各アプリケーションインターフェース間のデータ転送を行う。ＤＭＡはＨＩＭあるいはＭＣＵにより制御される。ＤＭＡは図１では便宜上１つしか表わしていないが、各アプリケーションインターフェースごとにＤＭＡを設けて、各アプリケーションインターフェースとＦＩＦＯ間のデータ転送を同時に行う。
−マイコン（ＭＣＵ）−
マイコンとはマイクロコントローラユニット（ＭＣＵ）を意味するロジックＩＣである。Ｉ−ＲＡＭ（８ｋバイト）とＤ−ＲＡＭ（２５６ｋＢ）を持っている。マイコンはＧＰＩＯ、ＳＤＩＯＲＥＧ（ＦＮＯ）、ＤＭＡを制御したり、メモリインターフェース（Ｍ−ＩＦ）に接続されたメモリデバイスの制御を行なうことができる。８ビット程度のＭＣＵ（８０Ｃ５１など）でよい。ポートは８ビットあり、方向性（入力か出力か）、割り込み信号を伝える、ワイヤード・オアでつなぐなどの働きをする。
ＳＤＩＯホストからＨＩＭが受け取るＩ／Ｏコマンドは数種類しかないため、Ｉ／Ｏのみの処理であれば、ＭＣＵを使わずＨＩＭのみで処理してもよい。しかし、メモリインターフェースにフラッシュメモリを実装してこれを制御する場合には、その制御コマンドが最低でも数十個必要となる。そこで、このような場合、ＭＣＵを使ってＩ／Ｏとフラッシュインターフェースの両方を制御するとよい。その他、ＭＣＵを備えていると、上述したメモリデバイスの制御に加え、ＳＤプロトコルエンジン（ＨＩＭ）が受け取るＳＤコマンドを解釈する機能を補助したり、前記アプリケーションに対する割り込み信号の送信、転送データの準備、デバックなど様々な処理を行なうことができる。
＜ＭＣＵの処理の例＞
ＳＤメモリへのデータ転送は常に連続データであるため、レジスタへの書き込みも常に連続である。しかし、ＳＤＩＯカードを操作する場合、多くの非連続のレジスタへの読み出し及び書き込みが頻繁に発生する。これは、アクセスしようとするレジスタのアドレスが非連続であるため、アクセスするたびにＳＤＩＯホストはコマンドを発行しなければならないからである。その結果、ＳＤバス上の有効データ転送効率が低下するという問題が発生する。
そこで、あらかじめＳＤＩＯホストがＳＤＩＯコントローラに書き込みデータを送るときは、読み出し或いは書き込みの対象となるレジスタアドレスと、操作の種類と、書き込みの場合は書き込みデータを組にして、複数の組をデータとしてＳＤＩＯコントローラに転送するように決めておき、一方、ＳＤＩＯコントローラ側では、ＭＣＵがＳＤＩＯホストから送られるデータを解読し、アプリケーションインターフェース部を介して非連続レジスタへのアクセスを行うことにより、転送効率を高めるという方法が考えられる。この処理の具体例を以下説明する。
ＳＤＩＯ規格で定められたコマンド５３（ＣＭＤ５３）を使って、下記のようなデータをＳＤＩＯホストからＳＤバスを通じて本発明に係るＳＤＩＯコントローラに転送する。
＜転送データの例＞
［組の数］［第１のアドレス］［第１の操作の種類］［第１のデータの数］（［第１の書き込みデータ］）［第２のアドレス］［第２のデータの数］（［第２の書き込みデータ］）・・・・［第ｎのアドレス］［第ｎの操作の種類］［第ｎのデータの数］（［第ｎの書き込みデータ］）
なお、書き込みデータは書き込みすなわちＳＤＩＯホストからＳＤＩＯコントローラにデータを転送する場合にのみ必要であり、逆に、ＳＤＩＯコントローラからＳＤＩＯホストにデータを転送する読み出し動作の場合は不要である。
また、［操作の種類］とは、例えば以下のようなものが考えられる。
（１）指定アドレスへの書き込み操作（Ｆｉｘｅｄ  Ａｄｄｒｅｓｓ）
（２）指定アドレスからの読み出し操作（Ｆｉｘｅｄ  Ａｄｄｒｅｓｓ）
（３）指定アドレスから連続するアドレスへの書き込み操作（Ｉｎｃｒｅｍｅｎｔ  Ａｄｄｒｅｓｓ）
（４）指定アドレスから連続するアドレスからの読み出し操作（Ｉｎｃｒｅｍｅｎｔ  Ａｄｄｒｅｓｓ）
（５）指定アドレスから連続するアドレスから読み出したデータと、書き込みデータとの論理和を計算した結果を指定アドレスに上書きする操作
（６）指定アドレスから連続するアドレスから読み出したデータと、書き込みデータとの論理積を計算した結果を指定アドレスに上書きする操作
（７）指定アドレスへの２バイト単位での書き込み操作（Ｆｉｘｅｄ  Ａｄｄｒｅｓｓ）
（８）指定アドレスへの２バイト単位での読み出し操作（Ｆｉｘｅｄ  Ａｄｄｒｅｓｓ）
（９）指定アドレスへの４バイト単位での書き込み操作（Ｆｉｘｅｄ  Ａｄｄｒｅｓｓ）
（１０）指定アドレスへの４バイト単位での読み出し操作（Ｆｉｘｅｄ  Ａｄｄｒｅｓｓ）
ＳＤＩＯコントローラが上記データを受け取るとＳＤインターフェース部はレスポンスをＳＤＩＯホストに送り返すと共に、受け取ったデータをマイコン（ＭＣＵ）に渡す。ロジックＩＣであるマイコン（ＭＣＵ）にとって、受け取ったデータを解釈し、非連続のアドレスに書き込み或いは必要なデータの読み出しを行うことは容易である。このような、データの転送によれば、アクセスしようとするレジスタのアドレスが非連続である場合でも、データ効率が低下しない。
次に、ＳＤＩＯコントローラの動作について説明する。
１．ＳＤホストがコマンドを送る。コマンドには、命令の種類、転送データ数、送り先などの情報が入っている。
２．ＨＩＭがコマンドを解釈して、コマンドレスポンスをＳＤホストに返すと同時にＭＣＵに内部的なコマンド割込みを発生する。
３．書き込みコマンドの場合、ＳＤＩＯホストがレスポンスを受け取ったらデータを送る。
４．ＨＩＭはデータをＷＦＩＦＯに格納する。その間、コマンド割込みを受けたＭＣＵはコマンド内容に従って、ＤＭＡやアプリケーションインターフェースを制御し、ＳＤホストからのデータが到着するのを待つ。
５．データを受け取ると、ＨＩＭはＳＤホストにデータレスポンスを返すと同時にＭＣＵに内部的なデータレディ割込みを発生する。
７．ＭＣＵはコマンドレディ割込みを受けると、ＤＭＡを起動する。
８．ＤＭＡが起動され、ＷＦＩＦＯに溜ったデータが所定のアプリケーションインターフェースを通して転送される。
なお、ＭＣＵを経由せずに、ＨＩＭが直接ＤＭＡやアプリケーションインターフェースを制御し、ＤＭＡを起動してもよい。
（第１の実施形態）−無線通信モジュールを実装したＳＤＩＯコントローラー
無線通信モジュールはＩＥＥＥ（米国電気電子技術者協会）８０２．ｘにより標準化が行なわれている。例えば、無線ＬＡＮの場合、現在の主流は８０２．１１ｂモジュールが一般的であり、今後８０２．１１ａ／ｇ／ｅなど、通信速度やセキュリティを高めた新しい規格に向けて技術開発がなされている。
例えば、ＩＥＥＥ８０２．１１ｂに準拠した無線ＬＡＮカードは、ＰＣＭＣＩＡバスに接続するものが知られており、現在多くの製品が製造されている。この無線ＬＡＮカードを、ＳＤカードで利用しようとしても、９ピンのＳＤＩＯホストと６８ピンのＰＣＭＣＩＡデバイスとを直接接続することは、物理的に不可能である。
しかし、本発明に係るＳＤＩＯコントローラを用いてＳＤＩＯのスペックを満たしながらＰＣＭＣＩＡにプロトコル変換を行なえば、ＳＤＩＯカードのＰＣＭＣＩＡインターフェース部に、ＰＣＭＣＩＡに対応しているＩＥＥＥ８０２．１１ｂの無線フロントエンドを直接接続することができる。つまり、既存のアーキテクチャやソフトをそのまま利用して、短期間に低コストでＳＤＩＯ対応の無線ＬＡＮカードを開発することができる。
【実施例】（その１）ＳＤＩＯ無線通信カード
図２に示すように、上述したＳＤＩＯコントローラ９と無線通信モジュール１０とを実装しＰＣＭＣＩＡインターフェースを介して接続したものを、一つのカードに納めると、ホスト機器のＳＤＩＯスロットに装着できる無線通信カード１１になる。なお、無線通信モジュールはＩＥＥＥ８０２．ｘなど、標準化されたものが好ましい。
図３は、ＳＤＩＯコントローラ１０とＩＥＥＥ８０２．１１ｂの無線ＬＡＮモジュール２０とを一つのＳＤＩＯカードに納めた様子を示したものである。破線部は、ＩＥＥＥ８０２．１１ｂの無線ＬＡＮモジュール２０を示している。このモジュールは、ミディアム・アクセス・コントローラ（ＭＡＣ）およびベースバンド・プロセッサ（ＢＢＰ）２２と、ＲＦ制御部２３とからなり、ＰＣＭＣＩＡインターフェースを介してＳＤＩＯコントローラ１０に接続されている。
無線通信モジュールとして、ブルートゥースモジュール利用する場合には、ブルートゥースの標準ポートであるＨＳ−ＵＡＲＴを介して本発明に係るＳＤＩＯコントローラに接続すればよい。このように、本発明に係るＳＤＩＯコントローラは既に開発済みのアプリケーションモジュールをそのままＳＤアプリケーションとして利用することができるので、設計開発の労力及びコストを大幅に削減することができる。
さらに、本発明に係るＳＤＩＯコントローラは複数のアプリケーションインターフェースを備えているので、複数の無線通信モジュールを搭載しておけば、例えばアクセスポイントが利用できるときは無線ＬＡＮに接続し、利用できないときはＰＨＳなどで接続するように選択的に利用できるなどの利用方法も考えられる。
（変形例）ＳＤＩＯコントローラ＋無線通信モジュール＋メモリデバイス
図３のように、ＳＤＩＯコントローラのメモリインターフェース部３ｃに、フラッシュメモリ１４ａやＥＥＰＲＯＭ１４ｂを設けてもよい。このようにすれば、この無線ＬＡＮカードは、無線ＬＡＮの機能に加えて、メモリカードとしての機能をも備えることとなる。もちろん、低コスト化などの理由により、メモリカードを省略して無線ＬＡＮの機能のみにしてもよい。
このように、既存の無線通信モジュールのインターフェースと、ＳＤＩＯコントローラのアプリケーションインターフェースとを適合させることにより、短期間かつ低コストでＳＤＩＯ周辺機器を開発することができる。
（メモリを付加する利点）〜ファームウエアの共通化〜
なお、メモリデバイスを無線通信モジュール等メモリデバイス以外のアプリケーションとを同時に実装すると、ファームウエア等の共通化が可能となる利点がある。これについて説明する。
通常アプリケーション（無線通信モジュール等）には、ファームウエア等を記録するためのメモリを備えている。しかし、ＳＤＩＯコントローラにメモリデバイスを内蔵しているときは、そのメモリデバイスの一部にアプリケーションのファームと、ＳＤＩＯコントローラのファーム等とを、同じメモリに記録保持することが可能となる。なお、ファームウエアに限らず、その他必要な情報（ＣＩＳ、ＣＳＡ等）を保存しても良い。
このようにすると、ＳＤＩＯコントローラのファームウエア等はメモリインターフェースを介してダウンロードされ、アプリケーションのファームウエア等はＰＣＭＣＩＡなどのインターフェースを介してダウンロードされる。これら一連のブートプログラムはＳＤＩＯコントローラのファームウエアの中に保存しておくとよい。
（その２）ＳＤＩＯ無線通信モジュール
図４（ａ）に示すように、上述した第１の例では、カード自体に無線通信モジュール（もちろん必要により、メモリなど他のアプリケーションを付加できる。）を内蔵したＳＤＩＯ無線カード２５を示した。ところで、現在では無線ＬＡＮ機能を内蔵したＰＣなども開発されている。これらはＰＣＭＣＩＡのカードバスに接続するＩＥＥＥ８０２．１１ｂの無線ＬＡＮモジュールが機器に内蔵されているものである。
もしこの無線通信ＬＡＮモジュールを、ＰＣ以外の機器（例えばディジタルビデオ、ディジタルカメラ、ＰＤＡなど）に内蔵させようとすると、機器にＰＣＭＣＩＡコントローラ等を内蔵しなければならない。
ところが、デジタルカメラ等のモバイル機器が無線通信機能のためにＰＣＭＣＩＡコントローラを内蔵することは無用にコストを増大させる。
一方、デジタルカメラ等のモバイル機器のうち、ＳＤＩＯカード対応のものは必然的にＳＤＩＯホストを内蔵している。
そこで、図４（ｂ）に示すように、本発明に係るＳＤＩＯコントローラに無線通信機能を付加したものを１チップにモジュール化したＳＤＩＯ無線通信モジュール２６をホスト機器側に内蔵させることにより、ＰＣＭＣＩＡコントローラを内蔵することなくホスト機器側に無線通信機能を内蔵させることが可能となる。
さらに、この場合、ＳＤバスを分岐してＳＤＩＯスロット２７を設けておくことにより、ＳＤＩＯカード２８により、メモリやその他の機能を実現することができる。
メモリと無線通信モジュールを一つのカードに納めると、そのカードのメモリ容量を増やすのは困難である。また、大容量のメモリ専用カードを別に持ちたい場合は、無線通信付きメモリカードと大容量のメモリ専用カードを交換しながら使用するか、あるいは両カードを同時に使えるようにＳＤホスト機器に２スロットを搭載しなければならない。
これに対して、無線通信モジュールは機器側に内蔵して、メモリその他の機能はＳＤＩＯカードが担保する構成を採用すると、ＳＤＩＯスロットから先の周辺機器はエンドユーザーが選択的に必要な周辺機器を購入すればよいためユーザーにとっても、メーカー側にとっても便利である。
なお、本発明に係るＳＤＩＯコントローラは、多くのアプリケーションインターフェースを備えているため、各インターフェースに適合するソケット又はスロット等を設けることによりメモリの付加はコンパクトフラッシュ（登録商標）など、ＰＣＭＣＩＡインターフェースを利用するなど、他のインターフェースを経由したメモリを利用することもできる。
（その他の実施例）
ＳＤＩＯホスト機器に無線通信モジュールを設けるか、あるいは、無線通信機能を備えたＳＤＩＯカードを装着することにより、アクセスポイントエリア内などで、無線ＬＡＮを利用したり、アドホックモードで他の機器と通信したり、あるいは、コードレスでインターネットに接続する電話（ＩＰフォン）を実現することができる。
また、本発明に係るＳＤＩＯコントローラに各種アプリケーション（メモリ、ＰＣＭＣＩＡカードスロット、ＵＡＲＴソケット等）と開発ソフトとを設け、開発環境を整備すると、国際規格で定められているＳＤＩＯ規格の認定サービス業務などが可能となる。
【産業上の利用可能性】  以上のように、本発明に係るデバイスによると、ＳＤＩＯホストと種々のアプリケーション（無線、ＧＰＳ、メモリ等）とのインターフェース機能を備えた汎用性の高いＳＤＩＯコントローラ、及びその応用機器等を提供することができ、さらに、記録メディアデバイスのＩ／Ｏとソフトウエアの協調開発を可能にする。例えば、小型で低消費電力なＳＤＩＯ対応の無線通信カードや、ホスト機器に搭載できるモジュールを容易に提供することができる。
【図１】
2004077306.tif 000003
【図２】
2004077306.tif 000004
【図３】
2004077306.tif 000005
【図４】
2004077306.tif 000006
【国際調査報告】
2004077306.tif 000007
2004077306.tif 000008
2004077306.tif 000009
2004077306.tif 000010