JPWO2003010939A1 - インタフェース装置 - Google Patents
インタフェース装置 Download PDFInfo
- Publication number
- JPWO2003010939A1 JPWO2003010939A1 JP2003516195A JP2003516195A JPWO2003010939A1 JP WO2003010939 A1 JPWO2003010939 A1 JP WO2003010939A1 JP 2003516195 A JP2003516195 A JP 2003516195A JP 2003516195 A JP2003516195 A JP 2003516195A JP WO2003010939 A1 JPWO2003010939 A1 JP WO2003010939A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication
- memory card
- host device
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006854 communication Effects 0.000 claims abstract description 144
- 238000004891 communication Methods 0.000 claims abstract description 144
- 238000012546 transfer Methods 0.000 claims abstract description 87
- 230000007175 bidirectional communication Effects 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims description 23
- 230000000630 rising effect Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 3
- 230000008054 signal transmission Effects 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 137
- 230000006870 function Effects 0.000 description 66
- 238000012545 processing Methods 0.000 description 35
- 230000015654 memory Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 29
- 238000000034 method Methods 0.000 description 27
- 239000004065 semiconductor Substances 0.000 description 12
- 238000012937 correction Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000010355 oscillation Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/077—Constructional details, e.g. mounting of circuits in the carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、ホスト機器と、リムーバブルな外部接続機器との間のインタフェース装置に関するものである。
背景技術
従来よりいわゆるメモリカードと呼ばれるリムーバルなICメモリ装置が知られている。
メモリカードは、内部に不揮発性の半導体メモリ(ICメモリ)を有しており、静止画像データ、動画像データ、音声データ、音楽データ等の各種デジタルデータを格納することができる。このメモリカードは、例えば、情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、家電装置等々のホスト機器の外部記憶メディアとして機能する。
従来のメモリカードに、ホスト機器との間のデータの転送を、1ビットシリアルデータ、クロック信号、バスステート信号の3つの信号を転送する3線式半2重シリアルプロトコルを用いたものがある。
シリアルデータ信号は、メモリカードとホスト機器との間を転送されるデータ信号である。シリアルデータ信号は、バスステート信号により規定されるステートに従い、そのデータの転送方向と属性が変化する。
バスステート信号は、シリアルデータ信号のステート、並びに、各ステートにおけるシリアルデータ信号の転送開始タイミングを規定する信号である。
クロック信号は、バス上に転送されるシリアルデータ信号及びバスステート信号のクロックである。このクロック信号は、ホスト機器からメモリカードへ転送される。クロック信号は、後述するパケット通信中の3つのステート(BS1〜BS3)のときに必ず出力される。
以上のような3線式半2重シリアルプロトコルを用いたメモリカードとして、本出願人が提案した日本国特許出願 特願平11−53306号公報、米国特許6253259号明細書がある。
以下、従来のメモリカードとして、上記公報で示されているメモリカードについて説明を行う。
従来のメモリカードの概略平面図、並びに、端子部分の拡大図を示す。従来のメモリカード500は、図1に示すように、カード状となっており、その端部部分にピン1〜ピン10の10個の端子が設けられている。
ピン1及びピン10は、グランド(VSS)端子である。ピン2は、バスステート信号がホスト機器からメモリカードへ入力されるBS端子である。ピン3及びピン9は、電源電圧(VCC)端子である。ピン4は、メモリカードとホスト機器との間に転送されるシリアルデータ信号の入出力端子(SDIO端子)である。ピン5及びピン7は、予備端子である。ピン6は、メモリカードがスロットに挿入されているか、或いは、挿入されていないかを、ホスト機器が判断するための挿入/抜出検出端子(INS端子)である。ピン8は、クロック信号が、ホスト機器からメモリカードへ入力されるクロック(SCLK)端子である。
従来のメモリカード500とホスト機器600との間のインタフェースのフロントエンド部分の回路構成例を図2に示す。
従来のメモリカード500は、データ入力バッファ501Rと、データ出力バッファ501Sと、BS入力バッファ505と、CLK入力バッファ506とを有している。
データ入力バッファ501R及びデータ出力バッファ501Sは、SDIO端子の入出力ドライバとして機能する。BS入力バッファ505は、BS端子の入力ドライバとして機能する。CLK入力バッファ506は、SCLK端子の入力ドライバとして機能する。
ここで、データ出力バッファ501Sは、いわゆるトライステートバッファとなっている。メモリカードでは、1つの回線で双方向のデータ通信を行うので、データの入力時には、使用しない出力ドライバの出力端をハイインピーダンスとする必要がある。そのため、データ出力用のドライバとして機能するデータ出力バッファ501Sには、トライステートバッファを用いている。このデータ出力バッファ501Sには、図示しない制御部等から、イネーブル信号DE2が、制御信号として入力される。データ出力バッファ501Sは、このイネーブル信号DE2が、Highのときに出力端がハイインピーダンスとなり、Lowのときに出力端が有効となる。
また、メモリカード500は、データ入力フリップフロップ511Rと、データ出力フリップフロップ511Sと、BS入力フリップフロップ515とを有している。
データ入力フリップフロップ511R及びデータ出力フリップフロップ511Sは、SDIO端子の入出力データのラッチ回路として機能する。BS入力フリップフロップ515は、BS端子の入力データのラッチ回路として機能する。
データ入力フリップフロップ511Rには、データ入力バッファ501Rからデータが入力され、図示しない制御部等にデータが出力される。データ出力フリップフロップ511Sには、図示しない制御部等からデータが入力され、データ出力バッファ501Sにデータが出力される。BS入力用フリップフロップ515には、BS入力バッファ505からデータが入力され、図示しない制御部等にデータが出力される。
また、以上のような各フリップフロップには、SCLK端子から供給されるクロック信号が入力される。
ここで、データ入力フリップフロップ511R、BS入力フリップフロップ515は、それぞれクロック信号の立ち上がりエッジのタイミングに同期して、データをラッチするように動作する。一方、データ出力フリップフロップ511Sは、クロック信号の立ち下がりエッジのタイミングに同期して、データをラッチするように動作をする。
一方、ホスト機器600は、データ入力バッファ601Rと、データ出力バッファ601Sと、BS出力バッファ605と、CLK出力バッファ606とを有している。
データ入力バッファ601R及びデータ出力バッファ601Sは、SDIO端子の入出力ドライバとして機能する。BS出力バッファ605は、BS端子の出力ドライバとして機能する。CLK出力バッファ606は、SCLK端子の出力ドライバとして機能する。
なお、データ出力バッファ601Sは、いわゆるトライステートバッファである。このデータ出力バッファ601Sをトライステートバッファとする理由は、メモリカード側と同様である。データ出力バッファ601Sには、イネーブル信号DE1が制御信号として入力される。データ出力バッファ601Sは、このイネーブル信号DE1が、Highのときに出力端がハイインピーダンスとなり、Lowのときに出力端が有効となる。イネーブル信号DE1は、図示しない制御部等から出力される。
ホスト機器600は、データ入力フリップフロップ611Rと、データ出力フリップフロップ611Sと、BS出力フリップフロップ615と、クロック発生器616とを有している。
データ入力フリップフロップ611R及びデータ出力フリップフロップ611Sは、SDIO端子の入出力データのラッチ回路として機能する。BS出力フリップフロップ615は、BS端子の出力データのラッチ回路として機能する。
クロック発生器616は、所定の周波数(例えば最大20MHz)のクロック信号を発生する。
データ入力フリップフロップ611Rには、データ入力バッファ601Rからデータが入力され、図示しない制御部等にデータが出力される。データ出力フリップフロップ611Sには、図示しない制御部等からデータが入力され、データ出力バッファ601Sにデータが出力される。BS出力フリップフロップ615には、図示しない制御部等からデータが入力され、BS出力バッファ605へデータが出力される。
また、以上のような各フリップフロップには、クロック発生器616から発生されるクロック信号が入力される。
ここで、データ入力フリップフロップ611R、データ出力フリップフロップ611S、BS出力フリップフロップ615は、それぞれクロック信号の立ち下がりエッジのタイミングに同期して、データをラッチするように動作する。
つぎに、以上のようなフロントエンド回路において、ホスト機器600からメモリカード500へデータ伝送する場合について説明をする。
まず、ホスト側のイネーブル信号DE1はLowとされ、メモリカード側のイネーブル信号DE2はHighとされる。そのため、ホスト側のデータ出力バッファ601Sは、出力がイネーブル状態とされ、メモリカード側のデータ出力バッファ501Sは出力がハイインピーダンス状態とされる。このことから、シリアルデータ信号(SDIO)は、ホスト機器600→メモリカード500の方向に伝送されることとなる。
シリアルデータ信号は、クロック信号の立ち下がりエッジに同期して、ホスト機器側のデータ出力フリップフロップ611Sから出力される。データ出力フリップフロップ611Sから出力されたシリアルデータ信号は、データ出力バッファ601S→ピン4→データ入力バッファ501Rを介して、メモリカード側のデータ入力フリップフロップ511Rに供給される。シリアルデータ信号は、クロック信号の立ち上がりエッジに同期して、メモリカード側のデータ入力フリップフロップ511Rに入力される。
つぎに、メモリカード500からホスト機器600へデータ伝送する場合について説明をする。
まず、ホスト側のイネーブル信号DE1はHighとされ、メモリカード側のイネーブル信号DE2はLowとされる。そのため、ホスト側のデータ出力バッファ601Sは、出力がハイインピーダンス状態とされ、メモリカード側のデータ出力バッファ501Sは出力がイネーブル状態とされる。このことから、シリアルデータ信号(SDIO)は、メモリカード500→ホスト機器600の方向に伝送されることとなる。
シリアルデータ信号は、クロック信号の立ち下がりエッジに同期して、メモリカード側のデータ出力フリップフロップ511Sから出力される。データ出力フリップフロップ511Sから出力されたシリアルデータ信号は、データ出力バッファ501S→ピン4→データ入力バッファ601Rを介して、ホスト機器側のデータ入力フリップフロップ611Rに供給される。シリアルデータ信号は、クロック信号の立ち下がりエッジに同期して、ホスト機器側のデータ入力フリップフロップ611Rに入力される。
なお、バスステート信号は、ホスト機器600からメモリカード500への一方向にデータ伝送される。すなわち、本インタフェースでは、データ通信の主導権は、ホスト機器600側が有することとなる。
バスステート信号は、クロック信号の立ち下がりエッジに同期して、ホスト機器側のBS出力フリップフロップ615から出力される。BS出力フリップフロップ615から出力されたバスステート信号は、BS出力バッファ605→ピン2→BS入力バッファ505を介して、メモリカード側のBS入力フリップフロップ515に供給される。バスステート信号は、クロック信号の立ち上がりエッジに同期して、メモリカード側のBS入力フリップフロップ515に入力される。
また、クロック信号は、クロック発生器616から発生され、ホスト機器600の各フリップフロップに供給される。また、クロック信号は、CLK出力バッファ606→ピン8→CLK入力バッファ506を介して、メモリカード500の各フリップフロップに入力される。
つぎに、従来のメモリカードの通信内容について説明する。
従来のメモリカードのインタフェースでは、バスステート信号の切り換えにより、シリアルデータ信号の属性及び方向が規定される。ステートは、パケット通信が行われないステート(BS0)と、パケット通信中の3つのステート(BS1〜BS3)の合計4つに区分される。バスステート信号は、HighとLowとの切り換えタイミングで、BS0からBS3まで順番にステートを切り換えていく。
また、各ステートでのデータの属性や方向は、メモリカードからホスト機器へデータ転送するリードプロトコルと、ホスト機器からメモリカードへデータ転送するライトプロトコルとで異なっている。また、従来のメモリカードのインタフェースでは、BS1からBS3までを1つのパケットとして伝送が管理されている。ホスト機器からメモリカードへのデータ転送はライトパケットとして管理され、メモリカードからホスト機器へのデータ転送はリードパケットとして管理されている。
各ステートの具体的な通信内容は以下の通りである。
図3に、ライトパケット時の通信内容について示し、図4に、リードパケット時の通信内容を示す。
BS0は、メモリカードからホスト機器への割り込み信号(INT信号)が転送可能なステートである。
BS1は、TPC(Transfer Protocol Command)コマンドが転送されるステートである。TPCコマンドは、ホスト機器からメモリカードへ転送される制御命令である。
BS2及びBS3では、リードパケットとライトパケットとで、シリアルデータ信号の属性が異なる。
BS2は、リードパケット時には、メモリカードからホスト機器へ、ビジー(BSY信号)及びレディ信号が転送される。BS2では、データ転送の準備が完了していない場合にメモリカードからホスト機器へビジー信号が送出され、データ転送の準備が完了するとメモリカードからホスト機器へレディー信号が送出される。
BS2は、ライトプロトコル時には、書き込み対象となる転送データ等が、ホスト機器からメモリカードへ転送される。
BS3は、リードプロトコル時には、読み出し対象となる転送データ等が、メモリカードからホスト機器へ転送される。
BS3は、ライトプロトコル時には、メモリカードからホスト機器へ、ビジー信号及びレディー信号が転送される。BS3では、ホスト機器からメモリカードへの転送データに対する処理が完了していない場合にメモリカードからビジー信号が送出され、処理が完了するとメモリカードからレディー信号が送出される。
ところで、上述したように従来のメモリカードでは、最大20MHzの転送クロックを用いたシリアル伝送を行っている。従って、最大のデータ転送レートは20Mbpsであった。しかしながら、近年、メモリカード内部に設けられるフラッシュメモリが高容量化し、また、その書き込み/読み出し速度も高速となってきている。そのため、よりデータ転送レートが早いメモリカードが求められている。
さらに、以上のようなデータ転送レートが早いメモリカードを提案する場合、従来のメモリカードとの互換性が求められる。
また、従来のメモリカードでは、上述したように、クロック信号の立ち上がりに同期してホスト機器から転送されたバスステート信号を検出し、クロック信号の立ち下がりに同期してデータを送出しなければならない。
そのため、例えば、図5に示すように、従来のメモリカードは、クロック信号の立ち上がりエッジ(T101)でバスステート信号の切り替わりを検出して、次の立ち下がりエッジ(T102)にデータの送出を開始しなければならないので、BSの切り替わりに対応するための動作時間の余裕がクロック信号の半周期分しかない。従って、従来のメモリカードでは、データの転送レートが、クロック信号の実際の周期(最小50n秒)ではなくクロック信号の周期の1/2の時間(最小25n秒)で決まってしまうこととなり、データ転送レートの高速化を図る際の制約となってしまっていた。
また、従来のメモリカードでは、1本のデータ線を双方向で使用しているので、バスステート信号によりステートを規定し、データの伝送方向を特定している。そのため、バスステート信号の切り換えに応じて、データの転送方向が切り替わることとなる。例えば、ライトパケットにおけるBS0→BS1、BS2→BS3の切り換え時、リードパケットにおけるBS0→BS1、BS1→BS2の切り換え時に、データの転送方向が切り替わる。
このような転送方向の切り替わりに対応するため、従来のメモリカードでは、バスステート信号の切り換えに対応して、ホスト側のイネーブル信号DE1及びメモリカード側イネーブル信号DE2の信号レベルを変化させている。
しかしながら、この変化タイミングは、バスステート信号が送出された後の最初の立ち下がりエッジのタイミングとなり、ホスト側イネーブル信号DE1及びメモリカード側イネーブル信号DE2の両者が、ほぼ同時に変化することとなる。そのため、例えば、どちらかのイネーブル信号の変化タイミングがずれて、DE1=Low、DE2=Lowという状態が発生すると、すなわち、ホスト側及びメモリカード側の出力ドライバが両者ともに有効という状態が発生すると、データバスの衝突が生じてしまう。このため、従来のメモリカードでは、このようなバスの衝突が生じないように、イネーブル信号DE1、DE2のタイミング設計を厳密に行わなければならなかった。
発明の開示
本発明は、従来の1ビットシリアルデータと、クロックと、バスステート信号とにより行われていたシリアル通信よりも、データ転送レートを高速にすることができるインタフェース装置を提供することを目的とする。
また、本発明は、従来の1ビットシリアルデータと、クロックと、バスステート信号とにより行われていたシリアル通信と互換性を保ちながら、データ転送レートを高速にすることができるインタフェース装置を提供することを目的とする。
また、本発明は、データバスの衝突を回避したインタフェース装置を提供することを目的とする。
また、本発明は、クロックをより高速にして、データ転送レートの高速化を図ったインタフェース装置を提供することを目的とする。
本発明にかかるインタフェース装置は、ホスト機器に装着自在に取り付けられる外部接続機器のインタフェース装置であって、上記ホスト機器との間で4本のデータ通信回線を使用して4ビットパラレルデータの双方向通信を行うデータ通信手段と、上記4ビットパラレルデータのクロックを上記ホスト機器から受信するクロック受信手段と、上記4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を、上記ホスト機器から受信するバスステート信号受信手段と、上記ホスト機器から受信したコマンドの内容、及び、上記バスステート信号により示されているデータ通信回線の状態に応じて、4ビットパラレルデータの伝送方向を制御する制御手段とを備える。
また、本発明にかかるインタフェース装置は、上記制御手段が、上記4ビットパラレルデータの入力時には、4本の各データ通信回線毎に設けられたデータ出力ドライバの出力端を開放状態としておき、4ビットパラレルデータの入力から出力への切り換え時には、上記ホスト機器のデータ出力ドライバの出力端が1クロック以上開放状態となった後に、当該外部接続機器のデータ出力ドライバの出力端を有効とする。
また、本発明にかかるインタフェース装置は、上記データ通信手段及び上記バスステート信号受信手段が、上記クロックの立ち上がり又は立ち下がりのいずれか一方のエッジのタイミングに同期して動作をする。
本発明にかかるインタフェース装置は、外部接続機器が装着自在に取り付けられるホスト機器のインタフェース装置であって上記外部接続機器との間で4つの通信回線を使用して4ビットパラレルデータの双方向通信を行うデータ通信手段と、上記4ビットパラレルデータのクロックを上記外部接続機器に送信するクロック送信手段と、上記4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を、上記外部接続機器に送信するバスステート信号送信手段と、上記外部接続機器に送信したコマンドの内容、及び、上記バスステート信号により示されている通信回線の状態に応じて、4ビットパラレルデータの伝送方向を制御する制御手段とを備える。
また、本発明にかかるインタフェース装置は、上記制御手段が、上記4ビットパラレルデータの入力時には、4本の各データ通信回線毎に設けられたデータ出力ドライバの出力端を開放状態としておき、4ビットパラレルデータの入力から出力への切り換え時には、上記外部接続機器に設けられたデータ出力ドライバの出力端が少なくとも1クロック以上開放状態となった後に、当該ホスト機器のデータ出力ドライバの出力端を有効とする。
また、本発明にかかるインタフェース装置は、上記データ通信手段及び上記バスステート信号送信手段が、上記クロックの立ち上がり又は立ち下がりのいずれか一方のエッジのタイミングに同期して動作をする。
本発明にかかるインタフェース装置は、ホスト機器に装着自在に取り付けられる外部接続機器のインタフェース装置であって、上記ホスト機器との間で1本のデータ通信回線を使用して1ビットシリアルデータの双方向通信を行うシリアルデータ通信手段と、上記ホスト機器との間で4本のデータ通信回線を使用して4ビットパラレルデータの双方向通信を行うパラレルデータ通信手段と、上記1ビットシリアルデータ又は4ビットパラレルデータのクロックを上記ホスト機器から受信するクロック受信手段と、上記1ビットシリアルデータ又は4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を、上記ホスト機器から受信するバスステート信号受信手段と、上記ホスト機器から受信したコマンドの内容、及び、上記バスステート信号により示されているデータ通信回線の状態に応じて、1ビットシリアルデータ又は4ビットパラレルデータの伝送方向を制御する制御手段と、1ビットシリアルデータによる通信又は4ビットパラレルデータによる通信を切り換える切換手段とを備え、上記シリアルデータ通信手段は、上記4ビットパラレルデータが通信される4本のデータ通信回線のうちの1本のデータ通信回線を共用して、ホスト機器との間の通信を行う。
本発明にかかるインタフェース装置は、外部接続機器が装着自在に取り付けられるホスト機器のインタフェース装置であって上記外部接続機器との間で1本のデータ通信回線を使用して1ビットシリアルデータの双方向通信を行うシリアルデータ通信手段と、上記外部接続機器との間で4本のデータ通信回線を使用して4ビットパラレルデータの双方向通信を行うパラレルデータ通信手段と、上記1ビットシリアルデータ又は4ビットパラレルデータのクロックを外部接続機器に送信するクロック送信手段と、上記1ビットシリアルデータ又は4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を、上記外部接続機器に送信するバスステート信号送信手段と、上記外部接続機器に送信したコマンドの内容、及び、上記バスステート信号により示されている通信回線の状態に応じて、1ビットシリアルデータ又は4ビットパラレルデータの伝送方向を制御する制御手段と、1ビットシリアルデータによる通信又は4ビットパラレルデータによる通信を切り換える切換手段とを備え、上記シリアルデータ通信手段は、上記4ビットパラレルデータが通信される4本のデータ通信回線のうちの1本のデータ通信回線を共用して、上記第1又は第2の外部接続機器との間の通信を行う。
発明を実施するための最良の形態
以下、本発明の実施の形態として、本発明を適用したリムーバルな小型ICメモリ装置、並びに、この小型ICメモリを外部記憶メディアとして用いるデータ処理装置について説明する。
なお、本発明の実施の形態として説明する小型ICメモリ装置のことを、以下、メモリカードと呼ぶものとする。また、このメモリカードを使用するデータ処理装置のことを、ホスト機器と呼ぶものとする。
アウトライン
図6に、ホスト機器及びメモリカードの外観斜視図を示す。
メモリカード1は、内部に不揮発性の半導体メモリ(ICメモリ)を有しており、静止画像データ、動画像データ、音声データ、音楽データ等の各種デジタルデータを格納することができる。このメモリカード1は、例えば、情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、家電装置等々のホスト機器2の外部記憶メディアとして機能する。メモリカード1は、ホスト機器2に設けられているスロット3に挿入された状態で使用される。メモリカード1のスロット3に対する挿入及び抜出は、ユーザが自在に行うことができる。そのため、例えば、あるホスト機器に挿入されていたメモリカード1を抜き出して、他のホスト機器に挿入することもでき、異なるホスト機器間のデータのやり取りに用いることが可能である。
メモリカード1とホスト機器2との間のデータの転送は、所定のインタフェースを介して行われる。
背景技術において説明したメモリカードでは、1ビットシリアルデータ、クロック信号、バスステート信号の3つの信号を転送する3線式半2重シリアルプロトコルを用いたシリアルインタフェースであった。
これに対して、本実施の形態のメモリカード1及びホスト機器2は、従来の3線式半2重シリアルプロトコルを用いたシリアルインタフェースによってデータの転送が行えるとともに、さらに、4ビットパラレルデータ、クロック信号、バスステート信号の6つの信号を転送する6線式半2重パラレルプロトコルを用いたパラレルインタフェースでもデータの転送が行えるようになっている。これらインタフェースの詳細については後述する。また、本実施の形態のメモリカード1は、背景技術において説明したメモリカードと、外観的な機械形状に互換性があり、さらに、接続端子等にも互換性がある。
従って、本実施の形態のメモリカード1は、背景技術において説明したメモリカードのみに対応したホスト機器に挿入して用いることができる。また、反対に、本実施の形態のメモリカード1に対応したホスト機器2は、背景技術において説明したメモリカードを外部記憶メディアとして用いることもできる。すなわち、本実施の形態のメモリカードは、背景技術において説明したメモリカードと、互換性を有している。
以下、本実施の形態のメモリカードについて、背景技術において説明をしたメモリカードと適宜比較をしながら詳細に説明をしていく。なお、以下説明の際に、背景技術において説明をしたメモリカードと、本実施の形態のメモリカードとの区別を明確にする場合には、背景技術において説明をしたメモリカード及びこれに対応したホスト機器のことをタイプ1といい、本実施の形態のメモリカード及びこれに対応したホスト機器のことをタイプ2というものとする。
外観
図7は、本発明の実施の形態のメモリカード1を表面側から見た斜視図であり、図8は、本発明の実施の形態のメモリカード1を裏面側から見た斜視図である。
メモリカード1は、主面(表面1a及び裏面1b)が略長方形とされた薄板形状となっている。メモリカード1は、主面の長手方向の長さが約50mm、主面の短辺方向の長さが約21.45mm、厚さが約2.8mmとなっている。また、メモリカード1は、主面が、表面1aと裏面1bとに区別される。裏面1bの長手方向の一端には、10個の平面電極(接続端子群4)が、短辺方向に一列に並んで設けられている。また、電極と電極との各間には、裏面1bから垂直に立ち上がったガード5が設けられ、接続端子への接触防止が図られている。また、メモリカード1の裏面1bには、誤消去禁止用のスライドスイッチ6が設けられている。
また、ホスト機器2のスロット3は、以上のような形状のメモリカード1に対応した凹状の形状となっていて、メモリカード1が挿入可能である。さらに、このスロット3は、メモリカード1が挿入されたときには、このメモリカード1が脱落しないように保持することができる。また、スロット3には、メモリカード1の10個の平面電極に対応した位置に、10個の接点が設けられている。そのため、メモリカード1が接続端子群4の方向からスロット内部に差し込まれることにより(図7のX方向にメモリカード1が差し込まれることにより)、これらのスロット3内の接点と、メモリカード1の各接続端子とが電気的に接続されることとなる。
なお、メモリカード1及びスロット3の形状は、タイプ1及びタイプ2ともに、同一の形状となっており、相互に機械的な互換性を有している。
本実施の形態のメモリカードの電気的機能
図9に、メモリカード1の内部ブロック構成図を示す。
メモリカード1は、シリアルインタフェース回路(I/F)11と、パラレルインタフェース回路(I/F)12と、レジスタ回路13と、データバッファ回路14と、ECC回路15と、メモリI/Fシーケンス回路16と、不揮発性半導体メモリ17と、発振制御回路18とを備えて構成される。
シリアルI/F回路11は、3線式半2重シリアルプロトコルを用いて、ホスト機器2との間でデータの転送を行う回路である。パラレルI/F回路12は、6線式半2重パラレルプロトコルを用いて、ホスト機器2との間でデータの転送を行う回路である。メモリカード1とホスト機器2との間のデータの転送は、シリアルI/F回路11又はパラレルI/F12のうち、いずれか一方の回路のみで行われる。そのため、メモリカード1では、3線式半2重シリアルプロトコルでデータ転送する場合には、シリアルI/F回路11が使用され、6線式半2重パラレルプロトコルでデータ転送がされる場合には、パラレルI/F回路12が使用されることとなる。なお、ここでは、シリアルI/F回路11とパラレルI/F回路12とを別の回路として表しているが、2つの機能を1つの回路で構成し、レジスタ回路13内の設定値に応じてインタフェースプロトコルが切り換わるように構成してもよい。
レジスタ回路13は、例えば、ホスト機器から転送されたコマンド、メモリカード1内の内部状態、アクセスするデータのアドレス、コマンドを実行する際に必要な諸処のパラメータ、不揮発性半導体メモリ17内のファイル管理情報等を記憶する回路である。このレジスタ回路13に記憶されている情報は、メモリI/Fシーケンス回路16からアクセスされたり、或いは、ホスト機器2から所定のコマンドを与えることによりアクセスされたりする。
データバッファ回路14は、不揮発性半導体メモリ17へ書き込まれるデータ、並びに、不揮発性半導体メモリ17から読み出されたデータを、一時的に保存するメモリ回路である。データバッファ回路14は、所定のデータ書き込み単位(例えば、フラッシュメモリのページサイズと同一の512バイト)分のデータ容量を有している。
ECC回路15は、不揮発性半導体メモリ17へ書き込まれるデータに対して誤り訂正コード(ECC)を付加する。また、ECC回路15は、不揮発性半導体メモリ17から読み出したデータに付加されている誤り訂正コードに基づき、この読み出したデータに対する誤り訂正処理を行う。例えば、誤り訂正コードは、512バイトのデータ単位に対して3バイト分付加される。
メモリI/Fシーケンス回路16は、レジスタ回路13内に格納されているコマンドや各種情報に従い、データバッファ14と不揮発性半導体メモリ17との間のデータのやり取りを制御する。
不揮発性半導体メモリ17は、例えば、フラッシュメモリ等の不揮発性の半導体メモリである。
発振制御回路18は、本メモリカード1内の動作クロックを発生する。
以上のような構成のメモリカード1では、例えば、ホスト機器2からインタフェースを介して与えられる各種コマンドに従い、例えば、データの書き込み、データの読み出し、消去等の動作を行う。
例えば、メモリカード1は、ホスト機器2からシリアルI/F又はパラレルI/Fを介して転送されてきたデータを一旦データバッファ回路14に格納し、ECCを付加して不揮発性半導体メモリ17の所定のアドレス領域に記憶させる。また、メモリカード1は、不揮発性半導体メモリ17の所定のアドレスに記憶されているデータをデータバッファ回路14に格納し、このデータバッファ回路14上でエラー訂正を行い、シリアルI/F又はパラレルI/Fを介してホスト機器2へ転送する。
端子
つぎに、メモリカードとホスト機器とを接続する各接続端子の機能について、タイプ1のメモリカードと比較しながら説明をする。
なお、以下、メモリカード側の接続端子に図10のように端子番号を付けて、10個の端子を特定して説明を行う。すなわち、接続端子群4が向かって左側に位置するようにメモリカードを配置して裏面側から接続端子を見たときに、図10に示すように10個の接続端子が見える。これらの接続端子に対して、上から順番にピン1からピン10まで番号を付けて説明を行う。また、ここでは、メモリカード側の端子についてしか説明をしないが、ホスト機器側の対応する端子も同一のピン番号で同様の機能を有しているものとする。
(タイプ1の端子)
まず、タイプ1のメモリカードの接続端子について説明をする。
図11に、タイプ1の接続端子の機能を示す。
ピン1(VSS端子)は、VSS(基準0ボルト電圧)が接続される。このVSS端子は、ホスト機器側のグランドとメモリカード側のグランドとを接続し、ホスト機器とメモリカードとの0ボルト基準電位を一致させる。
ピン2(BS端子)は、バスステート信号がホスト機器からメモリカードへ入力される。バスステート信号については、詳細を後述する。
ピン3(VCC端子)は、電源電圧(VCC)がホスト機器からメモリカードへ供給される。メモリカードの動作可能な電源電圧は例えば2.7〜3.6ボルトであり、この範囲の電圧が供給される。
ピン4(SDIO端子)は、メモリカードとホスト機器との間に転送されるシリアルデータ信号が入出力される。
ピン5(Reserved端子)は、予備の端子で、特に機能はない。
ピン6(INS端子)は、メモリカードがスロットに挿入されているか、或いは、挿入されていないかを、ホスト機器が判断するための挿入/抜出検出に用いられる。具体的には、図12に示すように、メモリカード側のINS端子は、Vssに接続されている。一方、ホスト機器側のINS端子は、抵抗RINSを介して電源電圧(Vcc)にプルアップされている。そのため、ホスト機器側からINS端子の電圧レベルを検出した場合、ホスト機器2にメモリカードが挿入されていればLowレベルとなり、ホスト機器2にメモリカードが挿入されていなければHighレベルとなる。従って、ホスト機器は、このINS端子の電圧レベルを判断することによって、メモリカードが挿入されているか、挿入されていないかを判断することができる。
ピン7(Reserved端子)は、予備の端子で、特に機能はない。
ピン8(SCLK)は、SDIO端子で転送するシリアルデータのクロック信号が、ホスト機器からメモリカードへ入力される。
ピン9(VCC端子)は、電源電圧(VCC)がホスト機器からメモリカードへ供給される。ピン9は、ピン3と内部で接続されている。
ピン10(VSS端子)は、VSSと接続される。ピン1と内部で接続されている。
(タイプ2の端子の説明)
つぎに、本実施の形態メモリカード(タイプ2)の接続端子について説明をする。図13にタイプ2の接続端子の機能を示す。なお、タイプ2は、3線式半2重シリアルプロトコルを用いたシリアルインタフェースと、6線式半2重パラレルプロトコルを用いたパラレルインタフェースの両者のインタフェースを用いることができるので、図13にはインタフェース毎に区別してその機能を示している。
ピン1(VSS端子)は、VSS(基準0ボルト電圧)が接続される。このVSS端子は、ホスト機器側のグランドとメモリカード側のグランドとを接続し、ホスト機器とメモリカードとの0ボルト基準電位を一致させる。シリアルインタフェースでもパラレルインタフェースでも共通して用いられ、機能は同一である。
ピン2(BS端子)は、バスステート信号がホスト機器からメモリカードへ入力される。シリアルインタフェースでもパラレルインタフェースでも共通して用いられ、機能は同一である。
ピン3(DATA1端子)は、シリアルインタフェースで用いる場合には、出力ドライバの出力端がハイインピーダンス(すなわち、開放状態)とされ、特に機能はない。一方、パラレルインタフェースで用いる場合には、メモリカードとホスト機器との間に転送される4ビットパラレルデータのうちの下位から2ビット目のデータ信号(DATA1)が入出力される。
ここで、半2重プロトコルの場合、1つの回線で双方向のデータ通信が行われる。そのため、インタフェース回路を作成する場合、図14に示すように、入出力端子に入力ドライバ21と出力ドライバ22とを接続することとなる。データ出力時には、出力ドライバ22のみが必要となり、入力ドライバ21は特に必要はないが、一般にドライバの入力インピーダンスは非常に高いため、通信するデータに対しては特に影響は与えなので、入力ドライバ21はそのままとしておく。反対に、データ入力時には、入力ドライバ21のみが必要となり、出力ドライバ22は特に必要がない。しかしながら、データ入力時に出力ドライバ22をそのままにしておくと、出力ドライバ22から出力される信号や出力ドライバ22自身の出力インピーダンスによって、回線を伝送するデータに影響を与えてしまう可能性がある。そのため、半2重プロトコルを用いたインタフェースでは、一般に、データの入力時には、出力ドライバ22の出力端をハイインピーダンス、すなわち、開放状態としている。本実施の形態のインタフェースも、データ入力時には、出力ドライバの出力端をハイインピーダンスとしている。出力ドライバ22の出力端をハイインピーダンスとする手法はどのようなものでもよいが、例えば、図14に示すようなトライステートバッファを用いても良いし、開閉型スイッチを用いて開放してもよい。
ピン3では、シリアルプロトコルで用いる場合には、以上のようにデータの入出力の切換時に用いられるハイインピーダンス機能を用いて、出力ドライバの出力端をハイインピーダンスとしている。なお、以下のピン5、ピン7でも同様である。
ピン4(SDIO/DATA0端子)は、シリアルインタフェースで用いる場合には、メモリカードとホスト機器との間に転送されるシリアルデータ(SDIO)信号が入出力される。一方、パラレルインタフェースで用いる場合には、メモリカードとホスト機器との間に転送される4ビットパラレルデータのうちの最下位ビットのデータ信号(DATA0)が入出力される。
ピン5(DATA2端子)は、シリアルインタフェースで用いる場合には、出力ドライバの出力端がハイインピーダンス(すなわち、開放状態)とされ、特に機能はない。一方、パラレルインタフェースで用いる場合には、メモリカードとホスト機器との間に転送される4ビットパラレルデータのうちの下位から3ビット目のデータ信号(DATA2)が入出力される。
ピン6(INS端子)は、メモリカードがスロットに挿入されているか、或いは、挿入されていないかを、ホスト機器が判断するための挿入/抜出検出に用いられる。このINS端子は、タイプ1と同一の構成で挿入/抜出検出が行われる。また、シリアルインタフェースでもシリアルインタフェースでも共通して用いられ、機能は同一である。
ピン7(DATA3端子)は、シリアルインタフェースで用いる場合には、出力ドライバの出力端がハイインピーダンス(すなわち、開放状態)とされ、特に機能はない。一方、パラレルインタフェースで用いる場合には、メモリカードとホスト機器との間に転送される4ビットパラレルデータのうちの最上位ビットのデータ信号(3)が入出力される。
ピン8(SCLK)は、クロック信号がホスト機器から入力される。シリアルインタフェースでもパラレルインタフェースでも共通に用いられ、機能は同一である。
ピン9(VCC端子)は、電源電圧(VCC)がホスト機器から供給される。シリアルインタフェースでもパラレルインタフェースでも共通に用いられ、機能は同一である。メモリカードの動作可能な電源電圧は、例えば、2.7〜3.6ボルトである。
ピン10(VSS端子)は、VSSと接続される。ピン1と内部で接続されている。シリアルインタフェースでもパラレルインタフェースでも共通に用いられ、機能は同一である。
以上のようなタイプ1のメモリカードと本実施の形態のメモリカード(タイプ2)との端子関係を比較すると、ピン1(VSS端子)、ピン2(BS端子)、ピン6(INS端子)、ピン8(SCLK端子)、ピン9(VCC端子)、ピン10(VSS端子)が共通している。
また、ピン4に関しては、タイプ2の端子機能が、シリアルインタフェースのときにはシリアルデータ信号の入出力に切り換えられ、パラレルインタフェースときにはパラレルデータ信号の最下位ビットの入出力に切り換えられる。
そのため、タイプ2のメモリカードは、もし、タイプ1のみに対応したホスト機器に挿入されたとしても、このホスト機器とシリアルインタフェースでデータの伝送を行うことができる。また、タイプ2のホスト機器は、もし、タイプ1のメモリカードが挿入されたとしても、このタイプ1のメモリカードとシリアルインタフェースでデータの伝送をすることができる。
以上のように、タイプ2の本実施の形態のメモリカード及びホスト機器では、タイプ1のメモリカード及びホスト機器(タイプ1)に対して端子の互換性を有している。
なお、ピン3に関しては、タイプ1ではVCC端子、タイプ2ではDATA1端子となっているが、タイプ2のホスト機器に、タイプ1のメモリカードが挿入されたとしても、ピン9にもう一つVCC端子があるので、ホスト機器からメモリカードへの電源供給は可能となる。また、反対に、タイプ1のホスト機器に、タイプ2のメモリカードが挿入されたとしても、メモリカードの端子機能がシリアルインタフェースに設定されれば、メモリカードのピン3がハイインピーダンス(開放状態)となるので、ホスト機器側にもメモリカード側にも、特に影響は与えられない。また、このピン3は、端子に直接設けられたプルダウン抵抗(図14参照)によって、電源電圧(Vcc)→プルダウン抵抗→グランド(Vss)というDC電流が生じてしまうが、例えばスイッチによりこのプルダウン抵抗をオープンにしてもよいし、或いは、十分大きなプルダウン抵抗を設けておけば、特に問題はない。また、さらに、ホスト機器側で、ピン3をオープンとするようにしてもよい。
メモリカードとホスト機器間のインタフェースのシステム構成
図15に、本実施の形態のメモリカードとホスト機器との間のデータ伝送をするためのインタフェースの機能構成図を示す。
ホスト機器2は、ファイルマネージャ31と、TPCインタフェース32と、シリアルインタフェース33と、パラレルインタフェース34とから構成される。また、メモリカード1は、シリアルインタフェース35と、パラレルインタフェース36と、レジスタ37と、データバッファ38と、メモリコントローラ39と、メモリ40とから構成される。
ファイルマネージャ31は、ホスト機器のオペレーションシステム上で、メモリカード1内に格納されているファイル、並びに、ホスト機器の他のメディアに格納されているファイルの管理を行う。
TPCインタフェース32は、ファイルマネージャ31の下位レイヤとなる。TPCインタフェース32は、本メモリカードのインタフェース特有のコマンド(TPC:Transfer Protocol Command)により、メモリカード1内のレジスタ37及びデータバッファ38へアクセスを行う。
シリアルインタフェース33、35は、TPCインタフェースの下位レイヤとなり、本インタフェースシステムの物理階層である。シリアルインタフェース33、35は、1ビットシリアルデータ、クロック、バスステート信号の3つの信号を転送する3線式半2重シリアルプロトコルに従い、データ転送を行う。
パラレルインタフェース34、36は、TPCインタフェースの下位レイヤとなり、本インタフェースシステムの物理階層である。パラレルインタフェース34、36は、4ビットパラレルデータ、クロック、バスステート信号の6つの信号を転送する6線式半2重シリアルプロトコルに従い、データ転送を行う。
レジスタ37は、ホストから転送されたコマンド、メモリカードの内部状態、メモリのデータアドレス、コマンドを実行する際に必要な諸処のパラメータ、メモリ内のファイル管理情報等を格納する。
データバッファ38は、メモリ40へ書き込まれるデータ、並びに、メモリ40から読み出されたデータを、一時的に保存するバッファ領域である。
メモリコントローラ39は、レジスタ回路13内に格納されているコマンド並びに各種情報に従い、データバッファ38とメモリ40との間のデータのやり取りを制御し、データの読み出し、書き込み、消去を行う。
メモリ40は、データのメモリ領域であり、メモリコントローラ39を通して、独自のモデルとして仮想化されている。
以上のような構成のホスト機器及びメモリカードでは、ファイルマネージャ31に管理されている他のメディアに格納されているデータを、上記パラレルインタフェース又はシリアルインタフェースを介してメモリ40に転送することができる。また、メモリ40に格納されているデータを、上記パラレルインタフェース又はシリアルインタフェースを介してファイルマネージャに管理されている他のメディアに転送することができる。
また、以上のような構成のホスト機器及びメモリカードは、シリアルインタフェース及びパラレルインタフェースの選択を以下のように行う。
メモリカードとホスト機器との間のデータ伝送のためのインタフェースでは、まず、電源投入時には、ホスト側もメモリカード側も、シリアルインタフェースを用いて動作を開始する。このようにすることによって、ホスト機器がタイプ1に対応しているがメモリカードはタイプ2に対応している、といったタイプが異なる場合にも、データ伝送が可能となる。また、反対に、ホスト機器はタイプ2に対応しているがメモリカードはタイプ1に対応している、といった場合にも、データ伝送が可能となる。
続いて、ホスト機器がタイプ1に対応したものである場合には、そのままシリアルインタフェースでデータ通信を継続する。
反対に、ホスト機器がタイプ2に対応したものである場合には、ホスト機器2は、挿入されているメモリカードがタイプ1かタイプ2かを判断する。その判断は、例えば、メモリカードのレジスタ内の所定のパラメータを、タイプ1とタイプ2とで異なる値としておけばよい。このようにレジスタ内の所定のパラメータの値を記述しておくことによって、ホスト機器側からレジスタ値をアクセスするTPCコマンドを送信し、その値を参照し、判断することができる。
ホスト機器は、挿入されているメモリカードがタイプ1であれば、そのままシリアルインタフェースを用いて通信を続ける。また、もし、挿入されているメモリカードがタイプ2であれば、インタフェースを切り換える旨を示すTPCコマンドを送信して、レジスタ37内の特定のパラメータを書き換える。このレジスタ内の特定の値が書き換えられると、ホスト機器とメモリカードは、パラレルインタフェースを用いてデータ伝送を開始する。
なお、パラレルインタフェースからシリアルインタフェースに変更したい場合には、ホスト機器から再度所定のTPCコマンドを送信して、上記特定のパラメータを初期値に書き換えることによって行う。
また、挿入されているメモリカードがタイプ1に対応したものであるか、タイプ2に対応したものであるかの判断は、ホスト機器側から、ピン3の電圧レベルを参照することによっても行うことができる。
メモリカードがタイプ1に対応したものであれば、ピン3にはVCCが供給されている。そのため、ピン3の電圧レベルがHighレベルであれば、挿入されているメモリカードはタイプ1であると判断することができる。また、メモリカードがタイプ2に対応したものであれば、電源投入直後にはシリアルインタフェースに初期設定されるのでピン3の出力ドライバの出力端がハイインピーダンス(開放状態)となる。そのため、メモリカードがタイプ2に対応したものであれば、ピン3の電圧レベルがプルダウン抵抗(図14参照)を介してグランドレベルに落ちることとなる。そのため、ピン3の電圧レベルがLowレベルであれば、挿入されているメモリカードはタイプ2であると判断することができる。
シリアルインタフェース
タイプ1のメモリカードのインタフェースと、本実施の形態のシリアルインタフェースとは同一の3線式半2重シリアルプロトコルを用いてデータの伝送を行っている。以下、これらのシリアルインタフェースについて説明する。
シリアルインタフェースは、図16に示すように、バスステート信号(BS)、シリアルデータ信号(SDIO)、クロック信号(SCLK)の3本の信号で、ホスト機器とメモリカードとを接続している。
シリアルデータ信号は、メモリカードとホスト機器との間を転送されるデータ信号である。シリアルデータ信号は、バスステート信号により規定されるステートに従い、そのデータの転送方向と属性が変化する。
バスステート信号は、シリアルデータ信号のステート、並びに、各ステートにおけるシリアルデータ信号の転送開始タイミングを規定する信号である。このバスステート信号は、ホスト機器からメモリカードへ転送される。ステートは、パケット通信が行われない1つのステート(BS0)と、パケット通信中の3つのステート(BS1〜BS3)との合計4つのステートに区分される。バスステート信号は、HighとLowとの切り換えタイミングで、BS0からBS3まで順番にステートを切り換えていく。
クロック信号は、バス上に転送されるシリアルデータ信号及びバスステート信号のクロックである。このクロック信号は、ホスト機器からメモリカードへ転送される。クロック信号は、パケット通信中の3つのステート(BS1〜BS3)には必ず出力される。
各ステートでの通信内容は、図17に示すようになる。
BS0は、シリアルデータ(SDIO)ラインに、メモリカードからホスト機器への割り込み信号(INT信号)が転送可能なステートで、パケット通信は行われない。BS0を示すバスステート信号の信号レベルは、Lowで表される。
BS1は、シリアルデータ(SDIO)ラインに、TPCコマンドが転送されるステートである。BS1を示すバスステートの信号レベルはHighで表される。TPCコマンドは、ホスト機器からメモリカードへ転送される。TPCコマンドは、ホスト機器がメモリカードの内部にアクセスするために必要なコマンドである。TPCコマンドには、データバッファに対するデータのリード/ライト、レジスタに対するデータのリード/ライト、メモリコントローラへ与えるコマンドの設定の3つの種類の内容がある。メモリコントローラへ与えるコマンドとしては、例えば、フラッシュ制御コマンド、ファンクション制御コマンドがある。フラッシュ制御コマンドは、メモリカード内のICメモリに対して直接アクセスするためのコマンドである。例えば、メモリの指定ページのデータをデータバッファへ読み出す読出コマンド、データバッファのデータを指定ページに書き込む書込コマンド、メモリ内の所定のブロックのデータを消去する消去コマンド等である。また、ファンクション制御コマンドは、メモリカード上の各ファンクションを制御するためのコマンドである。例えば、メモリカード内のクロック発振器を停止するコマンド、データバッファをクリアするコマンド等である。
BS2及びBS3では、メモリカードからホスト機器へデータを転送するリードプロトコルと、ホスト機器からメモリカードへデータ転送するライトプロトコルとで、シリアルデータ信号の属性が異なる。
BS2は、リードプロトコル時には、シリアルデータ(SDIO)ラインに、ビジー(BSY)信号及びレディ(RDY)信号が転送される。すなわち、リードプロトコル時には、ホスト機器からのコマンドに応じてメモリカードからホスト機器へデータ転送が行われるが、その転送準備が完了していない場合にメモリカードからホスト機器へビジー信号が送出され、その転送準備が完了するとメモリカードからホスト機器へレディー信号が送出される。
BS2は、ライトプロトコル時には、シリアルデータ(SDIO)ラインに、書き込み対象となる転送データ及びこの転送データのCRC(Cyclic Redundancy Check codes)が、ホスト機器からメモリカードへ転送される。BS3は、リードプロトコル時には、シリアルデータ(SDIO)ラインに、読み出し対象となる転送データ及びこの転送データのCRCが、メモリカードからホスト機器へ転送される。
BS3は、ライトプロトコル時には、シリアルデータ(SDIO)ラインに、ビジー信号及びレディー信号が転送される。すなわち、ライトプロトコル時には、ホスト機器からコマンドとともに書き込みデータがメモリカードへ転送されるが、その転送データに対する処理が完了していない場合にメモリカードからビジー信号が送出され、その処理が完了するとメモリカードからレディー信号が送出される。
本シリアルインタフェースでは、以上のようにステートの管理がされる。なお、本インタフェースでは、BS1からBS3までを1つのパケットと考え、通信エラーが発生しないかぎり1回の通信は1パケットで完了するものとしている。
シリアルインタフェースでの信号タイミング
シリアルインタフェースにおける各信号の入出力タイミングについて説明をする。
本シリアルインタフェースでは、次のようなタイミングで信号の入出力を行う。
(1)送り側は、クロック信号の立ち下がりでシリアルデータ信号を出力する。受け側は、クロック信号の立ち上がりで、シリアルデータ信号を入力する。
(2)ホスト機器は、クロック信号の立ち下がりに同期して、バスステート信号を出力する。メモリカードは、クロック信号の立ち上がりで、バスステート信号を検出する。ホスト機器は、シリアルデータ信号上の最終データのLSBを出力するタイミングに同期して、新しいバスステート信号に切り換える。
(3)TPC、データ、CRCのシリアルデータ(SDIO)信号に転送されるデータは、MSBファーストで転送される。
以上の入出力タイミングに乗っ取ったデータ転送処理の具体例について説明する。
(BS1でのデータ処理)
まず、BS1のときのデータ転送処理について図18を参照して説明する。
−−−ホスト機器側のタイミング
ホスト機器は、クロック信号の任意の立ち下がりエッジ(T1)で、バスステート信号をHighとする。
続いて、ホスト機器は、クロック信号の次の立ち上がりエッジ(T2)までに、クロック(SCLK)信号の供給を開始する。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T3)から、TPCの出力を開始する。TPCは、MSBから出力される。
続いて、ホスト機器は、TPCのLSBが出力されるクロック信号の立ち下がりエッジ(T5)のタイミングで、バスステート信号をLowに切り換える。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T7)で、BS2で伝送される転送データの出力を開始する。なお、ここでは、ライトパケット時での説明をしているが、リードパケット時には、BSY/RDY信号の入力となる。
−−−メモリカード側のタイミング
まず、メモリカードは、タイミング(T2)でバスステート信号のHighを検出し、クロック信号の次の立ち上がりエッジ(T4)からTPCのMSBを受信する。
続いて、メモリカードは、クロック信号の立ち上がりエッジ(T6)で、TPCのLSBを受信する。このとき、メモリカードは、TPCのLSBを受信すると同時(T6)にバスステート信号のLowを検出する。
続いて、クロック信号の次の立ち下がりエッジ(T7)から、BS2に対する処理を開始する。
(BS2でのデータ処理)
つぎに、BS2のときのデータの転送処理(ライトパケット時)について図19を参照して説明する。
−−−ホスト機器側のタイミング
ホスト機器は、バスステート信号をLowに切り換えた立ち下がりエッジ(T11)のタイミングから1クロック後の立ち下がりエッジ(T13)で、先頭データのMSBからデータの転送を開始する。
続いて、ホスト機器は、全転送データを送出した後、CRCを16ビット送出する。
続いて、ホスト機器は、CRCのLSBが出力されるクロック信号の立ち下がりエッジ(T15)のタイミングで、バスステート信号をHighに切り換える。
続いて、ホスト機器は、上記タイミング(T15)の1クロック半後のクロック信号の立ち上がりエッジ(T18)からBS3のBSY信号の受信を開始する。
−−−メモリカード側のタイミング
メモリカードは、バスステート信号がLowに切り替わったタイミング(T11)の次の立ち上がりエッジ(T12)でバスステート信号のLowを検出する。
続いて、メモリカードは、次の立ち上がりエッジ(T14)から、転送データのMSBを受信する。
続いて、メモリカードは、上記タイミング(T15)の次の立ち上がりエッジ(T16)で、CRCのLSBを受信する。このとき、メモリカードは、LSBを受信すると同時(T16)にバスステート信号のHighを検出する。
続いて、上記タイミング(T16)の次の立ち下がりエッジ(T17)から、BS3のBSY信号の出力を開始する。
パラレルインタフェース
つぎにパラレルインタフェースについて説明する。
パラレルインタフェースは、図20に示すように、バスステート信号(BS)、4本のパラレルデータ信号(DATA[3:0])、クロック信号(SCLK)の6本の信号で、ホスト機器とメモリカードとを接続している。
パラレルデータ信号は、メモリカードとホスト機器との間を転送されるデータ信号である。4ビット幅で伝送され、バスステート信号により規定されるステートに従い、そのデータの転送方向と属性が変化する。
バスステート信号及びクロック信号は、シリアルインタフェースと同一である。
各ステートでの通信内容は、シリアルインタフェースと同一である。ただし、BSY信号、RDY信号は、シリアルデータ信号と共用しているDATA0のラインに伝送される。
パラレルインタフェースでの信号タイミング
パラレルインタフェースにおける各信号の入出力タイミングについて説明をする。
本パラレルインタフェースでは、次のようなタイミングで信号の入出力を行う。
(1)送り側は、クロック信号の立ち下がりでパラレルデータ信号を出力する。受け側は、クロック信号の立ち下がりで、パラレルデータ信号を入力する。
このようにすることによって、シリアルインタフェースでは動作時間の余裕がクロックの半周期分しかなく、データの転送レートがクロックの周期の1/2で制約されてしまっていたが、パラレルインタフェースでは、クロックの1周期分の動作余裕とすることができるので、クロックをより高速にして高速通信が可能となる。
(2)転送するデータは、8ビットデータ(バイトデータ)を、上位4ビット、下位4ビットに2分割して、4ビットパラレルデータにする。さらに、上位4ビットのデータを先に転送し、続いて、下位4ビットのデータを転送する。
(3)ホスト機器は、メモリカードがクロック信号の立ち下がりを受けてから、パラレルデータを入力(ラッチ)することを考慮して、パラレルデータ信号及びバスステート信号の出力タイミングを設定する。
(4)ホスト機器は、メモリカードがクロック信号の立ち下がりを受けてから、パラレルデータを出力することを考慮して、バスステート信号の入力(ラッチ)タイミングを設定する。
(5)ホスト機器は、図21に示すタイミングで、バスステート信号を変化させる。すなわち、前のステートの最終バイトの上位4ビットが、入力(ラッチ)されるタイミングと同じタイミングで、バスステート(BS)信号が入力(ラッチ)されるようにする。なお、図21において、S1のタイミングは、バスステートの変化タイミング、及び、最終バイトの上位4ビットを出力するタイミングである。S2のタイミングは、バスステートの変化をメモリカード側が検出するタイミング、最終バイトの上位4ビットをラッチするタイミング、及び、最終バイトの下位4ビットを出力するタイミングである。S3のタイミングは、最終バイトの下位4ビットを出力するタイミング、及び、先頭バイトの上位4ビットを出力するタイミングである。S4のタイミングは、最終バイトの上位4ビットをラッチするタイミング、及び、最終バイトの下位4ビットを出力するタイミングである。
(6)パラレルデータの入出力の方向切り換え時には、パラレルデータ信号の各端子に設けられている出力ドライバの出力端を、ホスト機器側及びメモリカード側同時に、1クロック分ハイインピーダンス(開放状態)としたのち、新たな方向のデータ転送を開始する。
このようにすることによって、データ出力ドライバの出力端の制御のタイミングが多少ずれてもデータバスの衝突が生じない。そのため、厳格なタイミング制御をせずに、確実なデータ伝送を行うことができる。
以上の入出力タイミングに乗っ取ったデータ転送処理の具体例について説明する。
なお、図22〜図25には、バスステート信号、クロック信号、転送データを図示するとともに、ホスト側イネーブル信号(XOEhost)と、メモリカード側イネーブル信号(XOEms)とを記載している。ホスト側イネーブル信号(XOEhost)は、ホスト機器のパラレルデータ(DATA[3:0])の各端子に設けられている出力ドライバの出力端を、ハイインピーダンスとするための信号である。また、メモリカード側イネーブル信号(XOEms)は、メモリカードのパラレルデータ(DATA[3:0])の各端子に設けられている出力ドライバの出力端を、ハイインピーダンスとするための信号である。両者のイネーブル信号は、Highとなると出力ドライバの出力端をハイインピーダンスとし、Lowとなると出力ドライバの出力端を有効とするように制御が行われる。
また、図22〜図25中において、Xは不定値を示し、Zはハイインピーダンスの状態を示す。
(BS1でのデータ処理)
BS1でのデータ転送処理(TPCの転送処理)について図22を参照して説明する。
−−−ホスト機器側のタイミング
ホスト機器は、クロック信号の任意の立ち下がりエッジ(T21)で、バスステート信号をHighとする。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T22)までに、クロック信号の供給を開始する。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T23)から、BS1に対する処理を開始する。
BS1に対する処理が開始されても、ホスト機器は、ホスト側イネーブル信号(XOEhost)をHighとしたままとしておき、次のクロック信号の立ち下がりエッジ(T24)でホスト側イネーブル信号(XOEhost)をLowとする。つまり、BS1に対する処理が開始して最初の1ビット目は、パラレルデータ信号の出力ドライバの出力をハイインピーダンスとしておき、2ビット目からパラレルデータ信号の出力ドライバの出力を有効とする。なお、BS1に対する処理が開始してから2ビット目に転送されるパラレルデータの値は、Lowを出力してメモリカード側は不定値として認識する。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T25)で、TPCの上位4ビットの送出を開始する。つまり、BS1に対する処理が開始してから3ビット目に、TPCの上位4ビットを転送する。なお、TPCは、8ビットのバイトデータである。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T26)で、TPCの下位4ビットの送出を開始する。つまり、BS1に対する処理が開始してから4ビット目に、TPCの下位4ビットを送出する。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T27)で、バスステート信号をLowとする。なお、BS1に対する処理が開始してから5ビット目は、Lowを出力してメモリカード側は不定値として認識する。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T28)で、不定値を送出するか、或いは、ホスト側イネーブル信号(XOEhost)をHighとする。すなわち、BS1に対する処理が開始してから6ビット目は、不定値、或いは、ハインピーダンスとする。いずれにするかは、転送したTPCがライト系のコマンドであるか、リード系のコマンドであるかによって異なる。ライト系のコマンドである場合には、次のステート(BS2)で伝送データの方向は反転しないため、この6ビット目はハイインピーダンスとせずにLowを出力してメモリカード側は不定値として認識する。リード系のコマンドである場合には、次のステート(BS2)で伝送データの方向が反転する。つまり、メモリカードからホスト機器へデータが送信される。そのため、この6ビット目は、ハイインピーダンスとする。
そして、ホスト機器は、次の立ち下がりエッジ(T29)で、BS1に対する処理を終了して、次のステートであるBS2の処理を開始する。
−−−メモリカード側のタイミング
メモリカードは、上記タイミング(T22)で、バスステート信号のHighを検出する。
続いて、メモリカードは、クロック信号の次の立ち下がりエッジ(T23)から、BS1に対する処理を開始する。
BS1に対する処理が開始されると、メモリカードは、まず、最初の立ち下がりエッジ(T23)で、メモリカード側イネーブル信号(XOEms)をHighとする。
続いて、メモリカードは、タイミング(T24)、(T25)で受信したデータは、無視する。ハイインピーダンス又は不定値だからである。なお、以下の(T28)、(T29)でも同様に無視する。
続いて、メモリカードは、クロック信号の次の立ち下がりエッジ(T26)で、TPCの上位4ビットのデータを受信する。
続いて、メモリカードは、クロック信号の次の立ち下がりエッジ(T27)で、TPCの下位4ビットのデータを受信する。
続いて、メモリカードは、クロック信号の次の立ち下がりエッジ(T28)で、バスステート信号のLowを検出する。
そして、メモリカードは、クロック信号の次の立ち下がりエッジ(T29)で、BS1に対する処理を終了して、次のステートであるBS2の処理を開始する。
(BS2でのデータ処理 ライトパケット時)
BS2でのデータ転送処理(ライトパケット時)について図23を参照して説明する。
−−−ホスト機器側のタイミング
ホスト機器は、クロック信号の所定の立ち下がりエッジ(T31)で、バスステート信号をLowとする。このバスステート信号の切り換えタイミングは、図22に示すT27のタイミングである。
ホスト機器は、バスステート信号がLowと切り替わったタイミングの2クロック後の立ち下がりエッジ(T33)で、BS2の処理を開始する。なお、ホスト側イネーブル信号(XOEhost)は、BS1に引き続きLowとしたままである。
ホスト機器は、BS2の処理を開始したタイミング(T33)で、先頭バイトの上位4ビットから、データの転送を開始する。
続いて、ホスト機器は、全データを送出した後、CRCを16ビット送出する。
続いて、ホスト機器は、CRCの最終の4ビットデータが出力されるタイミング(T35)の次のクロック信号の立ち下がりエッジ(T36)のタイミングで、バスステート信号をHighに切り換える。なお、このときに転送されるパラレルデータの値は、ホスト側はLowを出力してメモリカード側は不定値として認識する。
続いて、ホスト機器は、クロック信号の次の立ち下がりエッジ(T37)で、ホスト側イネーブル信号(XOEhost)をHighとする。つまり、ライトパケット時のBS2の最終ビットは、ハイインピーダンスとしておく。
そして、ホスト機器は、次の立ち下がりエッジ(T38)で、BS2に対する処理を終了して、次のステートであるBS3の処理を開始する。
−−−メモリカード側のタイミング
メモリカードは、タイミング(T32)で、バスステート信号のLowを検出する。
続いて、メモリカードは、クロック信号の次の立ち下がりエッジ(T33)から、BS2に対する処理を開始する。なお、メモリカード側イネーブル信号(XOEms)は、BS1に引き続きhighとしたままである。
続いて、メモリカードは、BS2の処理を開始したクロック信号の次の立ち下がりエッジ(T34)から、転送データの受信を開始する。
続いて、メモリカードは、タイミング(T36)でCRCの最終バイトの下位4ビットを受信したのち、次の立ち下がりエッジ(T37)で、バスステート信号のHighを検出する。
そして、次の立ち下がりエッジ(T38)で、メモリカード側イネーブル信号(XOEms)をLowとして、BS3のBSY信号の出力を開始する。
(BS3でのデータ処理 リードパケット時)
BS3でのデータ転送処理(リードパケット時)について図24を参照して説明する。
−−−ホスト機器側のタイミング
ホスト機器は、クロック信号の所定の立ち下がりエッジ(T41)で、バスステート信号をHighとする。
続いて、ホスト機器は、バスステート信号がHighと切り替わったタイミングの2クロック後の立ち下がりエッジ(T43)で、BS3の処理を開始する。なお、ホスト側イネーブル信号(XOEhost)は、BS2に引き続きHighとしたままである。
続いて、ホスト機器は、BS3の処理を開始したタイミング(T43)のクロック信号の次の立ち下がりエッジ(T44)から、転送データの受信を開始する。
続いて、ホスト機器は、CRCの最終バイトの一つ前のバイトの下位4ビットを受信するタイミングで、バスステート信号をLowに切り換える。
そして、CRCの最終バイトの下位4ビットを受信したのち、リードパケットを終了し、次のステートであるBS0の処理を開始する。
−−−メモリカード側のタイミング
メモリカードは、タイミング(T42)で、バスステート信号のHighを検出する。
続いて、メモリカードは、クロック信号の次の立ち下がりエッジ(T43)から、BS3に対する処理を開始する。なお、メモリカード側イネーブル信号(XOEms)は、BS2に引き続きLowとしたままである。
続いてメモリカードは、BS3の処理を開始したタイミング(T43)で、先頭バイトの上位4ビットから、データの転送を開始する。
続いて、メモリカードは、全データを送出した後、CRCを16ビット送出する。
続いて、メモリカードは、CRCの最終バイトの下位4ビットが出力されるタイミング(T46)と同時に、バスステート信号のLowを検出し、BS3に対する処理を終了して、次のステートであるBS0の処理を開始する。
(BSY信号/RDY信号の伝送)
BS2(リードパケット時)及びBS3(ライトパケット時)でのデータ転送処理(ビジー信号、レディー信号)について図25を参照して説明する。
−−−ホスト機器側のタイミング
ホスト機器は、クロック信号の所定の立ち下がりエッジ(T51)で、バスステート信号を切り換える。ライトパケット時はバスステート信号がHighに切り換えられ(図23のタイミングT36)、リードパケット時はバスステート信号がLowに切り換えられる(図22のタイミングT27)。
続いて、ホスト機器は、バスステート信号が切り替わったタイミングの1クロック後の立ち下がりエッジ(T52)で、ホスト側イネーブル信号(XOEhost)をHighとする。
続いて、ホスト機器は、上記タイミング(T52)の3クロック後の立ち下がりエッジ(T55)から、BSY信号の受信を開始する。
続いて、ホスト機器は、1クロック毎にHighとLowを繰り返すトグル状態のRDY信号を、4クロック以上検出したタイミング(T56)で、バスステート信号を切り換える。ライトパケット時はバスステート信号をLowに切り換え、リードパケット時はバスステート信号をHighに切り換える。
そして、ホスト機器は、上記タイミング(T56)の2クロック後のタイミング(T58)から、次のステート(ライトパケットであればBS0、リードパケットであればBS3)の処理を開始する。
−−−メモリカード側のタイミング
メモリカードは、タイミング(T52)で、バスステート信号の切り替わりを検出したのち、その1クロック後の立ち下がりエッジ(T53)で、メモリカード側イネーブル信号(XOEms)をLowとすると同時にBSY信号の出力を開始する。
続いて、メモリカードは、内部処理の終了に伴い、BSY信号からRDY信号の出力に切り換える。
続いて、メモリカードは、タイミング(T57)で、バスステート信号の切り換えを検出し、その1クロック後の立ち下がりエッジ(T58)から、次のステート(ライトパケットであればBS0、リードパケットであればBS3)の処理を開始する。
インタフェース回路のフロントエンド
つぎに、メモリカードとホスト機器との間のインタフェースのフロントエンド部分の具体的な回路構成例を示す。
図26に、タイプ2のメモリカードとタイプ2のホスト機器のインタフェースのフロントエンド部分の回路構成図を示す。
−−メモリカード側(タイプ2)の回路構成
メモリカード1は、第1〜第4のデータ入力バッファ101R〜104Rと、第1〜第4のデータ出力バッファ101S〜104Sと、BS入力バッファ105と、CLK入力バッファ106とを有している。
第1のデータ入力バッファ101R及び第1のデータ出力バッファ101Sは、SDIO/DATA0端子の入出力ドライバとして機能する。第2のデータ入力バッファ102R及び第2のデータ出力バッファ102Sは、DATA1端子の入出力ドライバとして機能する。第3のデータ入力バッファ103R及び第3のデータ出力バッファ103Sは、DATA2端子の入出力ドライバとして機能する。第4のデータ入力バッファ104R及び第4のデータ出力バッファ104Sは、DATA3端子の入出力ドライバとして機能する。
BS入力バッファ105は、BS端子の入力ドライバとして機能する。
CLK入力バッファ106は、SCLK端子の入力ドライバとして機能する。
なお、第1〜第4のデータ出力バッファ101S〜104Sは、いわゆるトライステートバッファである。第1のデータ出力バッファ101Sには、イネーブル信号DE2が制御信号として入力される。第1のデータ出力バッファ101Sは、このイネーブル信号DE2が、Highのときに出力端がハイインピーダンスとなり、Lowのときに出力端が有効となる。また、第2〜第4のデータ出力バッファ102S〜104Sには、イネーブル信号DE20が制御信号として入力される。第2〜第4のデータ出力バッファ102S〜104Sは、このイネーブル信号DE20が、Highのときに出力端がハイインピーダンスとなり、Lowのときに出力端が有効となる。イネーブル信号DE2及びDE20は、図示しない制御部等から出力される。
メモリカード1は、第1〜第4のデータ入力フリップフロップ111R〜114Rと、第1〜第4のデータ出力フリップフロップ111S〜114Sと、パラレルBS入力フリップフロップ115と、シリアル用データ入力フリップ121Rと、シリアル用BS入力フリップフロップ125とを有している。
第1のデータ入力フリップフロップ111R及び第1のデータ出力フリップフロップ111Sは、SDIO/DATA0端子の入出力データのラッチ回路として機能する。第2のデータ入力フリップフロップ112R及び第2のデータ出力フリップフロップ112Sは、DATA1端子の入出力データのラッチ回路として機能する。第3のデータ入力フリップフロップ113R及び第3のデータ出力フリップフロップ113Sは、DATA2端子の入出力データのラッチ回路として機能する。第4のデータ入力フリップフロップ114R及び第4のデータ出力フリップフロップ114Sは、DATA3端子の入出力データのラッチ回路として機能する。
BS入力フリップフロップ115は、BS端子の入力データのラッチ回路として機能する。
シリアル用データ入力フリップフロップ121Rは、シリアルインタフェースでデータ伝送される場合におけるSDIO/DATA0端子の入力データのラッチ回路として機能する。
シリアル用BS入力フリップフロップ125は、シリアルインタフェースでデータ伝送された場合におけるBS端子の入力データのラッチ回路として機能する。
第1〜第4のデータ入力フリップフロップ111R〜114Rには、第1〜第4のデータ入力バッファ101R〜104Rからデータが入力され、図示しない制御部等にデータが出力される。
第1〜第4のデータ出力フリップフロップ111S〜114Sには、図示しない制御部等からデータが入力され、第1〜第4のデータ出力バッファ101S〜104Sにデータが出力される。
BS入力用フリップフロップ115には、BS入力バッファ105からデータが入力され、図示しない制御部等にデータが出力される。
シリアル用データ入力フリップフロップ121Rには、第1のデータ入力バッファ101Rからデータが入力され、図示しない制御部等にデータが出力される。
シリアル用BS入力フリップフロップ125には、BS入力バッファ105からデータが入力され、図示しない制御部等にデータが出力される。
また、以上のような各フリップフロップには、SCLK端子から供給されるクロック信号が入力される。
ここで、第1〜第4のデータ入力フリップフロップ111R〜114R、第1〜第4のデータ出力フリップフロップ111S〜114S、BS入力フリップフロップ115は、それぞれクロック信号の立ち下がりエッジのタイミングに同期して、データをラッチするように動作する。
それに対して、シリアル用データ入力フリップフロップ121R、及び、シリアル用BS入力フリップフロップ125は、クロック信号の立ち上がりエッジのタイミングに同期して、データをラッチするように動作をする。
−−−ホスト機器側の(タイプ2)の回路構成
ホスト機器2は、第1〜第4のデータ入力バッファ201R〜204Rと、第1〜第4のデータ出力バッファ201S〜204Sと、BS出力バッファ205と、CLK出力バッファ206とを有している。
第1のデータ入力バッファ201R及び第1のデータ出力バッファ201Sは、SDIO/DATA0端子の入出力ドライバとして機能する。第2のデータ入力バッファ202R及び第2のデータ出力バッファ202Sは、DATA1端子の入出力ドライバとして機能する。第3のデータ入力バッファ203R及び第3のデータ出力バッファ203Sは、DATA2端子の入出力ドライバとして機能する。第4のデータ入力バッファ204R及び第4のデータ出力バッファ204Sは、DATA3端子の入出力ドライバとして機能する。
BS出力バッファ205は、BS端子の出力ドライバとして機能する。
CLK出力バッファ206は、SCLK端子の出力ドライバとして機能する。
なお、第1〜第4のデータ出力バッファ201S〜204Sは、いわゆるトライステートバッファである。第1のデータ出力バッファ201Sには、イネーブル信号DE1が制御信号として入力される。第1のデータ出力バッファ201Sは、このイネーブル信号DE1が、Highのときに出力端がハイインピーダンスとなり、Lowのときに出力端が有効となる。また、第2〜第4のデータ出力バッファ202S〜204Sには、イネーブル信号DE10が制御信号として入力される。第2〜第4のデータ出力バッファ202S〜204Sは、このイネーブル信号DE10が、Highのときに出力端がハイインピーダンスとなり、Lowのときに出力端が有効となる。イネーブル信号DE1及びDE10は、図示しない制御部等から出力される。
ホスト機器2は、第1〜第4のデータ入力フリップフロップ211R〜214Rと、第1〜第4のデータ出力フリップフロップ211S〜214Sと、BS出力フリップフロップ215と、クロック発生器216とを有している。
第1のデータ入力フリップフロップ211R及び第1のデータ出力フリップフロップ211Sは、SDIO/DATA0端子の入出力データのラッチ回路として機能する。第2のデータ入力フリップフロップ212R及び第2のデータ出力フリップフロップ212Sは、DATA1端子の入出力データのラッチ回路として機能する。第3のデータ入力フリップフロップ213R及び第3のデータ出力フリップフロップ213Sは、DATA2端子の入出力データのラッチ回路として機能する。第4のデータ入力フリップフロップ214R及び第4のデータ出力フリップフロップ214Sは、DATA3端子の入出力データのラッチ回路として機能する。
BS出力フリップフロップ215は、BS端子の出力データのラッチ回路として機能する。
クロック発生器216は、所定の周波数(例えば20MHz)のクロック信号を発生する。
第1〜第4のデータ入力フリップフロップ211R〜214Rには、第1〜第4のデータ入力バッファ201R〜204Rからデータが入力され、図示しない制御部等にデータが出力される。
第1〜第4のデータ出力フリップフロップ211S〜214Sには、図示しない制御部等からデータが入力され、第1〜第4のデータ出力バッファ201S〜204Sにデータが出力される。
BS出力フリップフロップ215には、図示しない制御部等からデータが入力され、BS出力バッファ205へデータが出力される。
また、以上のような各フリップフロップには、クロック発生器216から発生されるクロック信号が入力される。
ここで、第1〜第4のデータ入力フリップフロップ211R〜214R、第1〜第4のデータ出力フリップフロップ211S〜214S、BS出力フリップフロップ215は、それぞれクロック信号の立ち下がりエッジのタイミングに同期して、データをラッチするように動作する。
以上のようなフロントエンドの回路構成を取ることにより、メモリカードとホスト機器との間で、上述したシリアルインタフェース及びパラレルインタフェースに合致したタイミングでデータの伝送を行うことができる。
−−−パラレルデータ通信
つぎに、以上のようなフロントエンド回路において、ホスト機器2からメモリカード1へパラレルデータ伝送する場合について説明をする。
まず、ホスト側のイネーブル信号DE1及びDE10はLowとされ、メモリカード側のイネーブル信号DE2及びDE20はHighとされる。そのため、ホスト側のデータ出力バッファ201S〜204Sは、出力がイネーブル状態とされ、メモリカード側のデータ出力バッファ101S〜104Sは出力がハイインピーダンス状態とされる。このことから、パラレルデータ信号(DATA3:0)は、ホスト機器2→メモリカード1の方向に伝送されることとなる。
パラレルデータ信号は、クロック信号の立ち下がりエッジに同期して、ホスト機器側のデータ出力フリップフロップ211S〜214Sから出力される。データ出力フリップフロップ211S〜214Sから出力されたパラレルデータ信号は、データ出力バッファ201S〜204S→ピン4、3、5、7→データ入力バッファ101R〜104Rを介して、メモリカード側のデータ入力フリップフロップ111R〜114Rに供給される。パラレルデータ信号は、クロック信号の立ち下がりエッジに同期して、メモリカード側のデータ入力フリップフロップ111R〜114Rに入力される。
なお、このとき、シリアル用データ入力フリップフロップ121Rは、使用されない。
つぎに、メモリカード1からホスト機器2へパラレルデータ伝送する場合について説明をする。
まず、ホスト側のイネーブル信号DE1及びDE10はHighとされ、メモリカード側のイネーブル信号DE2及びDE20はLowとされる。そのため、ホスト側のデータ出力バッファ201S〜204Sは、出力がハイインピーダンス状態とされ、メモリカード側のデータ出力バッファ101S〜104Sは出力がイネーブル状態とされる。このことから、パラレルデータ信号(DATA3:0)は、メモリカード1→ホスト機器2の方向に伝送されることとなる。
パラレルデータ信号は、クロック信号の立ち下がりエッジに同期して、メモリカード側のデータ出力フリップフロップ111S〜114Sから出力される。データ出力フリップフロップ111S〜114Sから出力されたパラレルデータ信号は、データ出力バッファ101S〜104S→ピン4、3、5、7→データ入力バッファ201R〜204Rを介して、ホスト機器側のデータ入力フリップフロップ211R〜214Rに供給される。パラレルデータ信号は、クロック信号の立ち下がりエッジに同期して、ホスト機器側のデータ入力フリップフロップ211R〜214Rに入力される。
なお、バスステート信号は、ホスト機器2からメモリカード1への一方向にデータ伝送される。すなわち、本インタフェースでは、データ通信の主導権は、ホスト機器2側が有することとなる。
バスステート信号は、クロック信号の立ち下がりエッジに同期して、メモリカード側のBS出力フリップフロップ215から出力される。BS出力フリップフロップ215から出力されたバスステート信号は、BS出力バッファ205→ピン2→BS入力バッファ105を介して、メモリカード側のBS入力フリップフロップ115に供給される。バスステート信号は、クロック信号の下がりエッジに同期して、メモリカード側のBS入力フリップフロップ115に入力される。なお、このとき、メモリカード側のシリアルBS入力フリップフロップ125は使用されない。
また、クロック信号は、クロック発生器216から発生され、ホスト機器2の各フリップフロップに供給される。また、クロック信号は、CLK出力バッファ206→ピン8→CLK入力バッファ106を介して、メモリカード1の各フリップフロップに入力される。
−−−シリアルデータ通信
つぎに、以上のようなフロントエンド回路において、ホスト機器2からメモリカード1へシリアルデータ伝送する場合について説明をする。
まず、ホスト側のイネーブル信号DE1はLowとされ、メモリカード側のイネーブル信号DE2はHighとされる。そのため、ホスト側のデータ出力バッファ201Sは、出力がイネーブル状態とされ、メモリカード側のデータ出力バッファ101Sは出力がハイインピーダンス状態とされる。このことから、シリアルデータ信号(SDIO)は、ホスト機器2→メモリカード1の方向に伝送されることとなる。
また、ホスト側のイネーブル信号DE10及びメモリカード側のイネーブル信号DE20は、両者ともHighとされる。そのため、ホスト側のデータ出力バッファ202S〜204S並びにメモリカード側のデータ出力バッファ102S〜104Sは、出力がハイインピーダンス状態とされる。このことから、シリアルデータ信号(SDIO)が伝送される以外の、残りの3つのパラレルデータ信号は、データ転送がされないこととなる。
シリアルデータ信号は、クロック信号の立ち下がりエッジに同期して、ホスト機器側のデータ出力フリップフロップ211Sから出力される。データ出力フリップフロップ211Sから出力されたシリアルデータ信号は、データ出力バッファ201S→ピン4→データ入力バッファ101Rを介して、メモリカード側のシリアルデータ入力フリップフロップ121Rに供給される。シリアルデータ信号は、クロック信号の立ち上がりエッジに同期して、メモリカード側のデータ入力フリップフロップ121Rに入力される。
なお、このとき、第1〜第4のデータ入力フリップフロップ111R〜114Rは、全て使用されない。
つぎに、メモリカード1からホスト機器2へシリアルデータ伝送する場合について説明をする。
まず、ホスト側のイネーブル信号DE1はHighとされ、メモリカード側のイネーブル信号DE2はLowとされる。そのため、ホスト側のデータ出力バッファ201Sは、出力がハイインピーダンス状態とされ、メモリカード側のデータ出力バッファ101Sは出力がイネーブル状態とされる。このことから、シリアルデータ信号(SDIO)は、メモリカード1→ホスト機器2の方向に伝送されることとなる。
また、ホスト側のイネーブル信号DE10及びメモリカード側のイネーブル信号DE20は、両者ともHighとされる。そのため、ホスト側のデータ出力バッファ202S〜204S並びにメモリカード側のデータ出力バッファ102S〜104Sは、出力がハイインピーダンス状態とされる。このことから、シリアルデータ信号(SDIO)が伝送される以外の、残りの3つのパラレルデータ信号は、データ転送がされないこととなる。
シリアルデータ信号は、クロック信号の立ち下がりエッジに同期して、メモリカード側のデータ出力フリップフロップ111Sから出力される。データ出力フリップフロップ111Sから出力されたシリアルデータ信号は、データ出力バッファ101S→ピン4→データ入力バッファ201Rを介して、ホスト機器側のデータ入力フリップフロップ211Rに供給される。シリアルデータ信号は、クロック信号の立ち下がりエッジに同期して、ホスト機器側のデータ入力フリップフロップ211Rに入力される。
バスステート信号は、クロック信号の立ち下がりエッジに同期して、ホスト側のBS出力フリップフロップ215から出力される。BS出力フリップフロップ215から出力されたバスステート信号は、BS出力バッファ205→ピン2→BS入力バッファ105を介して、メモリカード側のBS入力フリップフロップ125に供給される。バスステート信号は、クロック信号の立ち上がりエッジに同期して、メモリカード側のBS入力フリップフロップ125に入力される。なお、このとき、メモリカード側のBS入力フリップフロップ115は使用されない。
ホスト(タイプ1)とメモリカード(タイプ2)の接続
図27に、タイプ2のメモリカードとタイプ1のホスト機器とを接続した場合のインタフェースのフロントエンド部分の回路構成図を示す。
タイプ2のメモリカード1は、図26において示したものと同一である。また、タイプ1のホスト機器600は、図2において示したものと同一である。
このような接続の場合、タイプ2のメモリカードのイネーブル信号DE20を、初期値としてHighに設定しておけば、タイプ1のメモリカードと同一の構成となることがわかる。
このような接続の場合、メモリカード側のシリアルデータ入力フリップフロップ121R及び第1のデータ出力フリップフロップ111Sを用いて通信を行えば、タイプ1のシリアルインタフェースと同様の通信を行うことができる。
ホスト(タイプ2)とメモリカード(タイプ1)の接続
図28に、タイプ1のメモリカードとタイプ2のホスト機器のインタフェースのフロントエンド部分の回路構成図を示す。
タイプ1のメモリカード500は、図2において示したものと同一である。また、タイプ2のホスト機器2は、図26において示したものと同一である。
このような接続の場合、タイプ2のホスト機器2のイネーブル信号DE10を、初期値としてHighに設定しておけば、タイプ1のメモリカードと同一の構成となることがわかる。
このような接続の場合、ホスト機器側の第1のデータ入力フリップフロップ211R及び第1のデータ出力フリップフロップ211Sを用いて通信を行えば、タイプ1のシリアルインタフェースと同様の通信を行うことができる。
以上本発明の実施の形態として、本発明を適用したリムーバルな小型ICメモリ装置、並びに、この小型ICメモリを外部記憶メディアとして用いるデータ処理装置について説明をした。しかしながら、本発明のインタフェース装置は、このような小型ICメモリ装置に適用することに限定されるものではない。例えば、本発明のインタフェース装置を、端子群の反対側の端子にカメラ装置が接続されたカメラモジュール等のICメモリ以外の機能を有したリムーバブルな外部接続機器に適用してもよい。
また、以上本発明の実施の形態として、パラレルインタフェースと、シリアルインタフェースとの両者の機能を有した小型ICメモリ装置並びにデータ処理装置について説明したが、インタフェースを、パラレルインタフェースのみとしてもよい。
産業上の利用可能性
本発明にかかるインタフェース装置では、4ビットパラレルデータの双方向通信される4ビットパラレルデータと、ホスト機器から出力されるクロックと、4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号とを用いて、外部接続機器とホスト機器との間のデータ通信を行う。
そのため、本発明にかかるインタフェース装置では、1ビットシリアルデータと、クロックと、バスステート信号とにより行われていた通信よりも、一度に伝送できるデータ容量が4倍となり、データ転送レートを高速にすることができる。
また、本発明にかかるインタフェース装置では、4ビットパラレルデータの入力時には、4本の各データ通信回線毎に設けられたデータ出力ドライバの出力端を開放状態としておき、4ビットパラレルデータの入力から出力への切り換え時には、通信相手のデータ出力ドライバの出力端が1クロック以上開放状態となった後に、自己のデータ出力ドライバの出力端を有効とする。
そのため、本発明にかかるインタフェース装置では、データ出力ドライバの出力端の制御のタイミングが多少ずれてもデータバスの衝突が生じないので、厳格なタイミング制御をせずに、確実なデータ伝送を行うことができる。
また、本発明にかかるインタフェース装置では、4ビットパラレルデータ及びバスステート信号の入力及び出力を行う際に、クロックの立ち上がり又は立ち下がりのいずれか一方のエッジのタイミングに同期して動作をする。
このことにより、従来は動作時間の余裕がクロックの半周期分しかなく、データの転送レートがクロックの周期の1/2で制約されてしまっていたものを、クロックの1周期分の動作余裕とすることができるので、クロックをより高速にして高速通信が可能となる。
また、本発明にかかるインタフェース装置では、4ビットパラレルデータの双方向通信される4ビットパラレルデータと、ホスト機器から出力されるクロックと、4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号とを用いたパラレル通信と、1ビットシリアルデータと、クロックと、バスステート信号とにより行われていたシリアル通信とを適応的に切り換えて、外部接続機器とホスト機器間のデータ通信を行う。
そのため、1ビットシリアルデータと、クロックと、バスステート信号とにより行われていたシリアル通信を行うインタフェース装置との互換性を保ちつつ、通信の高速化を図ることができる。
【図面の簡単な説明】
図1は、従来のメモリカードの概略平面図並びに端子部分の拡大図である。
図2は、従来のメモリカードとホスト機器との間のインタフェースのフロントエンド部分の回路構成図である。
図3は、従来のメモリカードのライトパケット時の通信内容を説明するための図である。
図4は、従来のメモリカードのリードパケット時の通信内容を説明するための図である。
図5は、従来のメモリカードのインタフェースにおけるバスステートの切り替わりタイミングを説明するための図である。
図6は、本発明の実施の形態のホスト機器及びメモリカードの外観斜視図である。
図7は、メモリカードを表面側から見た斜視図である。
図8は、メモリカードを裏面側から見た斜視図である。
図9は、メモリカードの内部ブロック構成図である。
図10は、メモリカードの接続端子番号を説明するための図である。
図11は、従来のメモリカード(タイプ1)の接続端子の機能を説明するための図である。
図12は、メモリカードの挿入/抜出検出機能を説明するための図である。
図13は、本実施の形態のメモリカード(タイプ2)の接続端子の機能を説明するための図である。
図14は、接続端子に設けられた入力ドライバ及び出力ドライバを説明するための図である。
図15は、本実施の形態のメモリカードとホスト機器との間のデータ伝送をするためのインタフェースの機能構成図である。
図16は、本実施の形態のメモリカードのシリアルインタフェースを説明するための図である。
図17は、各ステートでの通信内容を説明するための図である。
図18は、シリアルインタフェース時のBS1でのデータ転送処理を説明するための図である。
図19は、シリアルインタフェース時のBS2(ライトパケット)でのデータ転送処理を説明するための図である。
図20は、本実施の形態のメモリカードのパラレルインタフェースを説明するための図である。
図21は、パラレルインタフェース時のバスステート信号の切り換えタイミングを説明するための図である。
図22は、パラレルインタフェース時のBS1でのデータ転送処理(TPCの転送処理)を説明するための図である。
図23は、パラレルインタフェース時のBS2でのデータ転送処理(ライトパケット)を説明するための図である。
図24は、パラレルインタフェース時のBS3でのデータ転送処理(リードパケット)を説明するための図である。
図25は、パラレルインタフェース時のBS2(リードパケット)、BS3(ライトパケット)でのデータ転送処理を説明するための図である。
図26は、タイプ2のメモリカードとタイプ2のホスト機器のインタフェースのフロントエンド部分の回路構成図である。
図27は、タイプ2のメモリカードとタイプ1のホスト機器のインタフェースのフロントエンド部分の回路構成図である。
図28は、タイプ1のメモリカードとタイプ2のホスト機器のインタフェースのフロントエンド部分の回路構成図である。
Claims (14)
- ホスト機器に装着自在に取り付けられる外部接続機器のインタフェース装置において、
上記ホスト機器との間で4本のデータ通信回線を使用して4ビットパラレルデータの双方向通信を行うデータ通信手段と、
上記4ビットパラレルデータのクロックを上記ホスト機器から受信するクロック受信手段と、
上記4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を、上記ホスト機器から受信するバスステート信号受信手段と、
上記ホスト機器から受信したコマンドの内容、及び、上記バスステート信号により示されているデータ通信回線の状態に応じて、4ビットパラレルデータの伝送方向を制御する制御手段と
を備えるインタフェース装置。 - 上記制御手段は、
上記4ビットパラレルデータの入力時には、4本の各データ通信回線毎に設けられたデータ出力ドライバの出力端を開放状態としておき、
4ビットパラレルデータの入力から出力への切り換え時には、上記ホスト機器のデータ出力ドライバの出力端が1クロック以上開放状態となった後に、当該外部接続機器のデータ出力ドライバの出力端を有効とすること
を特徴とする請求の範囲第1項記載のインタフェース装置。 - 上記データ通信手段及び上記バスステート信号受信手段は、
上記クロックの立ち上がり又は立ち下がりのいずれか一方のエッジのタイミングに同期して動作をすること
を特徴とする請求の範囲第1項記載のインタフェース装置。 - 外部接続機器が装着自在に取り付けられるホスト機器のインタフェース装置において、
上記外部接続機器との間で4つの通信回線を使用して4ビットパラレルデータの双方向通信を行うデータ通信手段と、
上記4ビットパラレルデータのクロックを上記外部接続機器に送信するクロック送信手段と、
上記4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を、上記外部接続機器に送信するバスステート信号送信手段と、
上記外部接続機器に送信したコマンドの内容、及び、上記バスステート信号により示されている通信回線の状態に応じて、4ビットパラレルデータの伝送方向を制御する制御手段と
を備えるインタフェース装置。 - 上記制御手段は、
上記4ビットパラレルデータの入力時には、4本の各データ通信回線毎に設けられたデータ出力ドライバの出力端を開放状態としておき、
4ビットパラレルデータの入力から出力への切り換え時には、上記外部接続機器に設けられたデータ出力ドライバの出力端が少なくとも1クロック以上開放状態となった後に、当該ホスト機器のデータ出力ドライバの出力端を有効とすること
を特徴とする請求の範囲第4項記載のインタフェース装置。 - 上記データ通信手段及び上記バスステート信号送信手段は、
上記クロックの立ち上がり又は立ち下がりのいずれか一方のエッジのタイミングに同期して動作をすること
を特徴とする請求の範囲第4項記載のインタフェース装置。 - ホスト機器に装着自在に取り付けられる外部接続機器のインタフェース装置において、
上記ホスト機器との間で1本のデータ通信回線を使用して1ビットシリアルデータの双方向通信を行うシリアルデータ通信手段と、
上記ホスト機器との間で4本のデータ通信回線を使用して4ビットパラレルデータの双方向通信を行うパラレルデータ通信手段と、
上記1ビットシリアルデータ又は4ビットパラレルデータのクロックを上記ホスト機器から受信するクロック受信手段と、
上記1ビットシリアルデータ又は4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を、上記ホスト機器から受信するバスステート信号受信手段と、
上記ホスト機器から受信したコマンドの内容、及び、上記バスステート信号により示されているデータ通信回線の状態に応じて、1ビットシリアルデータ又は4ビットパラレルデータの伝送方向を制御する制御手段と、
1ビットシリアルデータによる通信又は4ビットパラレルデータによる通信を切り換える切換手段とを備え、
上記シリアルデータ通信手段は、上記4ビットパラレルデータが通信される4本のデータ通信回線のうちの1本のデータ通信回線を共用して、ホスト機器との間の通信を行う
インタフェース装置。 - 上記切換手段は、1ビットシリアルデータによる通信を行う場合には、使用しない3本のデータ通信回線に設けられたデータ出力ドライバの出力端を開放状態としておくこと
を特徴とする請求の範囲第7項記載のインタフェース装置。 - 4ビットパラレルデータの通信を行うことができる旨をホスト機器に識別させる識別手段を備えること
を特徴とする請求の範囲第7項記載のインタフェース装置。 - 上記切換手段は、
初期通信時には、1ビットシリアルデータにより通信を行い、
ホスト機器から受信した切換コマンドに応じて、1ビットシリアルデータによる通信から、4ビットパラレルデータによる通信に切り換えること
を特徴とする請求の範囲第7項記載のインタフェース装置。 - 外部接続機器が装着自在に取り付けられるホスト機器のインタフェース装置において、
上記外部接続機器との間で1本のデータ通信回線を使用して1ビットシリアルデータの双方向通信を行うシリアルデータ通信手段と、
上記外部接続機器との間で4本のデータ通信回線を使用して4ビットパラレルデータの双方向通信を行うパラレルデータ通信手段と、
上記1ビットシリアルデータ又は4ビットパラレルデータのクロックを外部接続機器に送信するクロック送信手段と、
上記1ビットシリアルデータ又は4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を、上記外部接続機器に送信するバスステート信号送信手段と、
上記外部接続機器に送信したコマンドの内容、及び、上記バスステート信号により示されている通信回線の状態に応じて、1ビットシリアルデータ又は4ビットパラレルデータの伝送方向を制御する制御手段と、
1ビットシリアルデータによる通信又は4ビットパラレルデータによる通信を切り換える切換手段とを備え、
上記シリアルデータ通信手段は、上記4ビットパラレルデータが通信される4本のデータ通信回線のうちの1本のデータ通信回線を共用して、上記第1又は第2の外部接続機器との間の通信を行う
インタフェース装置。 - 1本のデータ通信回線を使用して1ビットシリアルデータの双方向通信を行うデータ通信端子と、上記1ビットシリアルデータのクロックを受信するクロック受信端子と、上記1ビットシリアルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を受信するバスステート信号受信端子とを備えたインタフェースを有する第1の外部接続機器と、4本のデータ通信回線を使用して4ビットパラレルデータの双方向通信を行う4つのデータ通信端子と、上記4ビットパラレルデータのクロックを受信するクロック受信端子と、上記4ビットパラレルデータの通信回線の状態及び転送開始タイミングを示すバスステート信号を受信するバスステート信号受信端子とを備えたインタフェースを有する第2の外部接続機器とが装着可能な装着スロットを備え、
上記接続スロットは、
第2の外部接続機器の4つのデータ通信端子が接続され、当該第2の外部接続機器との間で4ビットパラレルデータの送受信を行う4つのデータ端子と、
第1及び第2の外部接続機器のクロック受信端子と接続され、上記クロックを送出するクロック送信端子と、
第1及び第2の外部接続機器のバスステート信号受信端子と接続され、上記バスステート信号を送出するバスステート信号送信端子とを有し、
上記4つのデータ端子のうち特定の1つの端子は、第1の外部接続機器が取り付けられたときに、この第1の外部接続機器のデータ通信端子が接続され、当該第1の外部接続機器との間で1ビットシリアルデータの送受信を行うこと
を特徴とする請求の範囲第11項記載のインタフェース装置。 - 上記切換手段は、1ビットシリアルデータによる通信を行う場合には、使用しない3本のデータ通信回線に設けられたデータ出力ドライバの出力端を開放状態としておくこと
を特徴とする請求の範囲第11項記載のインタフェース装置。 - 上記切換手段は、
初期通信時には、1ビットシリアルデータにより通信を行い、
1ビットシリアルデータによって切換コマンドを送信し、1ビットシリアルデータによる通信から、4ビットパラレルデータによる通信に切り換えること
を特徴とする請求の範囲第11項記載のインタフェース装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001225052 | 2001-07-25 | ||
JP2001225052 | 2001-07-25 | ||
PCT/JP2002/006496 WO2003010939A1 (fr) | 2001-07-25 | 2002-06-27 | Appareil d'interface |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2003010939A1 true JPWO2003010939A1 (ja) | 2004-11-18 |
JP4148136B2 JP4148136B2 (ja) | 2008-09-10 |
Family
ID=19058109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003516195A Expired - Fee Related JP4148136B2 (ja) | 2001-07-25 | 2002-06-27 | インタフェース装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7277973B2 (ja) |
EP (2) | EP1862911B1 (ja) |
JP (1) | JP4148136B2 (ja) |
KR (1) | KR100893428B1 (ja) |
CN (2) | CN100493096C (ja) |
DE (2) | DE60229137D1 (ja) |
WO (1) | WO2003010939A1 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3813849B2 (ja) * | 2001-09-14 | 2006-08-23 | 株式会社東芝 | カード装置 |
DE60305752T2 (de) * | 2002-01-24 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd., Kadoma | SpeicherKarte |
US7137564B2 (en) * | 2002-08-09 | 2006-11-21 | Carry Computer Eng. Co., Ltd | Communication protocol for multi-functional mini-memory card suitable for small form memory interface and usb interfaces |
US20040039835A1 (en) * | 2002-08-21 | 2004-02-26 | Intel Corporation | Method and apparatus for transferring general purpose control information between processors |
JP2005123858A (ja) * | 2003-10-16 | 2005-05-12 | Mega Chips Corp | カメラ制御装置 |
US7664902B1 (en) * | 2004-03-16 | 2010-02-16 | Super Talent Electronics, Inc. | Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol |
US8234421B2 (en) * | 2004-04-21 | 2012-07-31 | Stmicroelectronics, Inc. | Smart card with selectively allocatable data buffers and associated methods |
SE0401531D0 (sv) * | 2004-06-15 | 2004-06-15 | Hms Ind Networks Ab | Communications module interface |
JP2006079289A (ja) * | 2004-09-08 | 2006-03-23 | Sony Corp | 通信システム |
JP4565966B2 (ja) * | 2004-10-29 | 2010-10-20 | 三洋電機株式会社 | メモリ素子 |
US7565469B2 (en) | 2004-11-17 | 2009-07-21 | Nokia Corporation | Multimedia card interface method, computer program product and apparatus |
US7581678B2 (en) | 2005-02-22 | 2009-09-01 | Tyfone, Inc. | Electronic transaction card |
JP4896450B2 (ja) | 2005-06-30 | 2012-03-14 | 株式会社東芝 | 記憶装置 |
US11948629B2 (en) | 2005-09-30 | 2024-04-02 | Mosaid Technologies Incorporated | Non-volatile memory device with concurrent bank operations |
TWI446356B (zh) | 2005-09-30 | 2014-07-21 | Mosaid Technologies Inc | 具有輸出控制之記憶體及其系統 |
US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
US20070076502A1 (en) * | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
US7814245B2 (en) * | 2006-10-05 | 2010-10-12 | Lsi Corporation | Apparatus and methods for improved SATA device interaction without a SAS expander |
JP4956143B2 (ja) * | 2006-11-02 | 2012-06-20 | 株式会社東芝 | 半導体メモリカード、ホスト装置、及びデータ転送方法 |
US7613049B2 (en) * | 2007-01-08 | 2009-11-03 | Macronix International Co., Ltd | Method and system for a serial peripheral interface |
US9741027B2 (en) | 2007-12-14 | 2017-08-22 | Tyfone, Inc. | Memory card based contactless devices |
TWI353145B (en) * | 2007-12-26 | 2011-11-21 | Ralink Technology Corp | Method for receiving data with sdio interface and |
US20100033310A1 (en) * | 2008-08-08 | 2010-02-11 | Narendra Siva G | Power negotation for small rfid card |
US7961101B2 (en) | 2008-08-08 | 2011-06-14 | Tyfone, Inc. | Small RFID card with integrated inductive element |
US8451122B2 (en) | 2008-08-08 | 2013-05-28 | Tyfone, Inc. | Smartcard performance enhancement circuits and systems |
US20100125689A1 (en) * | 2008-11-20 | 2010-05-20 | Mediatek Inc. | Electronic apparatus capable of receiving different types of memory cards |
TWI420398B (zh) | 2009-02-24 | 2013-12-21 | Tyfone Inc | 具有微型天線的無接觸裝置 |
WO2011056729A2 (en) | 2009-11-05 | 2011-05-12 | Rambus Inc. | Interface clock management |
US9929972B2 (en) | 2011-12-16 | 2018-03-27 | Qualcomm Incorporated | System and method of sending data via a plurality of data lines on a bus |
TWI519964B (zh) * | 2012-08-01 | 2016-02-01 | 慧榮科技股份有限公司 | 儲存媒體及具有儲存媒體的資料傳輸系統及其控制方法 |
TWI482034B (zh) * | 2013-05-17 | 2015-04-21 | Wistron Corp | 介面卡 |
KR102166908B1 (ko) * | 2014-02-13 | 2020-10-19 | 삼성전자주식회사 | 고속 데이터 인터페이스 장치 및 상기 장치의 스큐 보정 방법 |
US9552318B2 (en) * | 2014-06-04 | 2017-01-24 | Qualcomm Incorporated | Removable memory card type detection systems and methods |
US9792965B2 (en) | 2014-06-17 | 2017-10-17 | Rambus Inc. | Memory module and system supporting parallel and serial access modes |
CN104866442B (zh) * | 2015-06-03 | 2018-01-12 | 山东泰景电力科技有限公司 | 一种数字设备接口和数据交换方法 |
US10014041B1 (en) * | 2016-12-23 | 2018-07-03 | Texas Instruments Incorporated | Integrated circuits, methods and interface circuitry to synchronize data transfer between high and low speed clock domains |
JP7265953B2 (ja) * | 2019-07-25 | 2023-04-27 | シャープ株式会社 | 通信制御システムおよび情報処理装置 |
CN111241023B (zh) * | 2020-01-19 | 2021-10-26 | 惠州Tcl移动通信有限公司 | 闪存卡的插入检测电路、插入检测方法、及电子设备 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59161957A (ja) | 1983-03-07 | 1984-09-12 | Mitsubishi Electric Corp | デ−タ伝送装置 |
JPS6051046A (ja) | 1983-08-30 | 1985-03-22 | Nec Corp | デジタル信号伝送方式 |
US4847867A (en) * | 1986-09-01 | 1989-07-11 | Nec Corporation | Serial bus interface system for data communication using two-wire line as clock bus and data bus |
US5086427A (en) * | 1990-04-09 | 1992-02-04 | Unisys Corporation | Clocked logic circuitry preventing double driving on shared data bus |
JPH04274082A (ja) | 1991-03-01 | 1992-09-30 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5251305A (en) * | 1991-04-04 | 1993-10-05 | Unisys Corporation | Apparatus and method for preventing bus contention among a plurality of data sources |
JP3134819B2 (ja) | 1997-06-04 | 2001-02-13 | ソニー株式会社 | データ処理装置 |
JPH07271928A (ja) * | 1994-03-29 | 1995-10-20 | Hitachi Ltd | 非接触並列データ転送装置およびメモリカード |
JP3487458B2 (ja) | 1995-01-27 | 2004-01-19 | 株式会社リコー | 並列信号伝送装置 |
US5646553A (en) * | 1995-05-10 | 1997-07-08 | 3Com Corporation | Driver for tri-state bus |
US5648733A (en) * | 1995-11-01 | 1997-07-15 | Lsi Logic Corporation | Scan compatible 3-state bus control |
US5767701A (en) * | 1996-06-28 | 1998-06-16 | Cypress Semiconductor Corp. | Synchronous contention prevention logic for bi-directional signals |
US5789944A (en) * | 1996-06-28 | 1998-08-04 | Cypress Semiconductor Corp. | Asynchronous anticontention logic for bi-directional signals |
US5966723A (en) | 1997-05-16 | 1999-10-12 | Intel Corporation | Serial programming mode for non-volatile memory |
US6412023B1 (en) * | 1998-05-21 | 2002-06-25 | Sony Corporation | System for communicating status via first signal line in a period of time in which control signal via second line is not transmitted |
US6732322B1 (en) * | 1998-01-21 | 2004-05-04 | Sony Corporation | Encoding method and memory device |
WO1999049415A2 (en) * | 1998-03-26 | 1999-09-30 | Gemplus | Versatile interface smart card |
US6101567A (en) | 1998-06-03 | 2000-08-08 | Lucent Technologies Inc. | Parallel backplane physical layer interface with scalable data bandwidth |
KR100275924B1 (ko) * | 1998-07-18 | 2000-12-15 | 김춘호 | 스마트카드 인터페이스 장치 |
JP2000259783A (ja) | 1999-03-12 | 2000-09-22 | Sony Corp | ドライブ装置 |
JP4470242B2 (ja) | 1999-04-23 | 2010-06-02 | ソニー株式会社 | 半導体メモリカード |
JP3815936B2 (ja) * | 2000-01-25 | 2006-08-30 | 株式会社ルネサステクノロジ | Icカード |
US6978340B2 (en) * | 2000-01-31 | 2005-12-20 | Visteon Corporation | I/O multiplexer and pin controller with serial and parallel capabilities for microprocessor based engine control |
JP4649009B2 (ja) * | 2000-03-08 | 2011-03-09 | 株式会社東芝 | カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法 |
JP4218522B2 (ja) * | 2001-06-28 | 2009-02-04 | ソニー株式会社 | 電子装置、情報処理装置、アダプタ装置及び情報交換システム |
-
2002
- 2002-06-27 KR KR1020037004027A patent/KR100893428B1/ko not_active IP Right Cessation
- 2002-06-27 EP EP07017849A patent/EP1862911B1/en not_active Expired - Lifetime
- 2002-06-27 US US10/381,311 patent/US7277973B2/en not_active Expired - Lifetime
- 2002-06-27 DE DE60229137T patent/DE60229137D1/de not_active Expired - Lifetime
- 2002-06-27 EP EP02738823A patent/EP1411705B1/en not_active Expired - Lifetime
- 2002-06-27 CN CNB028027620A patent/CN100493096C/zh not_active Expired - Fee Related
- 2002-06-27 DE DE60239570T patent/DE60239570D1/de not_active Expired - Lifetime
- 2002-06-27 WO PCT/JP2002/006496 patent/WO2003010939A1/ja active IP Right Grant
- 2002-06-27 CN CN2009101278545A patent/CN101515263B/zh not_active Expired - Fee Related
- 2002-06-27 JP JP2003516195A patent/JP4148136B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1862911A1 (en) | 2007-12-05 |
KR100893428B1 (ko) | 2009-04-17 |
CN101515263A (zh) | 2009-08-26 |
EP1411705B1 (en) | 2008-10-01 |
WO2003010939A1 (fr) | 2003-02-06 |
EP1411705A1 (en) | 2004-04-21 |
KR20040017793A (ko) | 2004-02-27 |
JP4148136B2 (ja) | 2008-09-10 |
EP1411705A4 (en) | 2006-10-25 |
US20040006654A1 (en) | 2004-01-08 |
EP1862911B1 (en) | 2011-03-23 |
CN100493096C (zh) | 2009-05-27 |
DE60239570D1 (de) | 2011-05-05 |
US7277973B2 (en) | 2007-10-02 |
DE60229137D1 (de) | 2008-11-13 |
CN1471787A (zh) | 2004-01-28 |
CN101515263B (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4148136B2 (ja) | インタフェース装置 | |
US20230106495A1 (en) | Memory card and host device thereof | |
US10747299B2 (en) | Card and host apparatus | |
US8176215B2 (en) | Semiconductor memory device and control method for semiconductor memory device | |
US7397717B2 (en) | Serial peripheral interface memory device with an accelerated parallel mode | |
US9063849B2 (en) | Different types of memory integrated in one chip by using a novel protocol | |
US20060047982A1 (en) | Mult-interface auto-switch circuit and memory device with dual interface auto-switch circuit | |
US20040064612A1 (en) | Method and system for using a memory card protocol inside a bus protocol | |
JP2006523889A (ja) | 標準的なセキュリティ機能を含むメモリカード | |
US6917994B2 (en) | Device and method for automatically generating an appropriate number of wait cycles while reading a nonvolatile memory | |
KR20060047052A (ko) | 다중 인터페이스 카드 및 다중 인터페이스 카드의 초기화방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080512 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080603 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080616 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4148136 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130704 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |