JP2004005053A - 複合入出力装置 - Google Patents
複合入出力装置 Download PDFInfo
- Publication number
- JP2004005053A JP2004005053A JP2002158061A JP2002158061A JP2004005053A JP 2004005053 A JP2004005053 A JP 2004005053A JP 2002158061 A JP2002158061 A JP 2002158061A JP 2002158061 A JP2002158061 A JP 2002158061A JP 2004005053 A JP2004005053 A JP 2004005053A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- input
- output
- host
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】ホストとの間のバスを共用する二以上の入出力装置の複合であり、データ転送速度を高く維持しつつ、それぞれの装置の出力信号による他方の装置の入出力処理に対する妨害を抑制することで、データ通信に対し高い信頼性を確保する入出力装置を提供する。
【解決手段】複合I/Oカード10はメモリユニット1のHIM11とI/Oユニット2のHIM21とを含む。例えば、メモリユニット1のHIM11は、データ出力ポートODからのデータ送出時、データストローブ出力ポートCDからのデータストローブ信号をHレベルにアサートする。それにより、第二のデータ入力マスク7D2の出力がLレベルに固定されるので、I/Oユニット2のHIM21のデータ入力ポートIDへの入力信号が遮断される。
【選択図】 図1
【解決手段】複合I/Oカード10はメモリユニット1のHIM11とI/Oユニット2のHIM21とを含む。例えば、メモリユニット1のHIM11は、データ出力ポートODからのデータ送出時、データストローブ出力ポートCDからのデータストローブ信号をHレベルにアサートする。それにより、第二のデータ入力マスク7D2の出力がLレベルに固定されるので、I/Oユニット2のHIM21のデータ入力ポートIDへの入力信号が遮断される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、外部の情報処理機器との間でデータ通信を行うための入出力装置に関し、特に、その情報処理機器との間のバスを共用する二以上の入出力装置の複合に関する。
【0002】
【従来の技術】
情報技術の飛躍的進歩及び爆発的普及により、多種多様な情報処理機器が相互に接続され、様々なデータを交換できる。それらのデータ通信を担う入出力装置(インタフェース)には、下位互換性を含め、多種多様な情報処理機器についての汎用性が要求される。その上、情報処理機器全体に対する小型軽量化の要請に伴い、入出力装置自体に対しても小型軽量化が求められる。
【0003】
従来の入出力装置の一例として、マルチメディアカード(MMC、登録商標)又はSDカードのようなICカードが知られる。このICカードは、特定のインタフェース内蔵の数cm角の小カードである。ICカードは情報処理機器(ホスト)に設けられた専用スロットに差し込まれ、ホストとデータを交換する。そのスロットを様々な情報処理機器へ組み込むことで、上記のICカードは多種多様な情報処理機器に対する汎用性を獲得する。
【0004】
上記のICカードの種類にはメモリカードとI/Oカードとがある。
メモリカードはフラッシュメモリ内蔵のカード型記録媒体である。複数のホストが同じメモリカードを共用し、相互のデータ交換を実現する。
図3は、従来のメモリカード100とホストHとの間でのデータ交換を示すブロック図である。
【0005】
メモリカード100は、少なくとも一本のデータ線DAT、コマンド線CMD、クロック線CLK、電源線VDD、及びグラウンド線VSSを含むバス3で、ホストHと接続される。メモリカード100はホストHから、電源線VDDとグラウンド線VSSとを通し、電力を供給される。
ホストインタフェースモジュール(HIM)11は、データ線DATとコマンド線CMDとを通し、ホストHとの間でデータを交換する。そのデータ転送は、クロック線CLKを通しホストHから送出されたクロックに従い、同期通信で実行される。
ホストHはHIM11との間のデータ通信を通じ、メモリ部12に対し、その内部のフラッシュメモリへデータを書き込み、又はそのフラッシュメモリからデータを読み出すように指示する。
【0006】
データゲート4Dはデータ入力バッファ5Dとデータ出力バッファ6Dとを含み、データ線DATとHIM11との間でデータを中継する。ここで、データ出力バッファ6Dはトライステート出力である。
データ線DATはデータ入力バッファ5Dの入力端へ結線される。データ入力バッファ5Dの出力端は、HIM11のデータ入力ポートIDへ結線される。
HIM11のデータ出力ポートODとデータストローブ出力ポートCDとは、データ出力バッファ6Dの入力端とストローブ入力端とへそれぞれ結線される。データ出力バッファ6Dの出力端はデータ線DATへ結線される。
【0007】
コマンドゲート4Cはコマンド入力バッファ5Cとレスポンス出力バッファ6Cとを含み、コマンド線CMDとHIM11との間でコマンド/レスポンスを中継する。ここで、レスポンス出力バッファ6Cはトライステート出力である。
コマンド線CMDはコマンド入力バッファ5Cの入力端へ結線される。コマンド入力バッファ5Cの出力端は、HIM11のコマンド入力ポートICへ結線される。
HIM11のレスポンス出力ポートOCとレスポンスストローブ出力ポートCCとは、レスポンス出力バッファ6Cの入力端とストローブ入力端とへ、それぞれ結線される。レスポンス出力バッファ6Cの出力端はコマンド線CMDへ結線される。
【0008】
ホストHとHIM11との間のデータ通信には、次の二つのモードがある。
<第一のモード>
第一のモードでは、データ線DATとコマンド線CMDとがそれぞれ双方向信号線として利用される。それにより、両信号線上のデータ通信が一般に並行する。
データ線DATでは、メモリ部12内のフラッシュメモリから読み出されたデータ、及びそのフラッシュメモリへ書き込まれるデータが伝送される。そのとき、データは、データ線DATのいずれかを通しシリアルに、又はデータ線DATの全てを通しパラレルに転送される。
HIM11は、データ出力ポートODからのデータ出力時のみ、データストローブ出力ポートCDからストローブ信号を出力する。それにより、データ入力ポートIDへ入力されたデータの送信元を容易に識別できる。
【0009】
コマンド線CMDでは、ホストHからメモリカード100へのコマンド、及びそのコマンドに対するHIM11のレスポンスが伝送される。
HIM11は、レスポンス出力ポートOCからのレスポンス出力時のみ、レスポンスストローブ出力ポートCCからストローブ信号を出力する。それにより、コマンド入力ポートICへ入力された信号がコマンド又はレスポンスのいずれであるのかを容易に識別できる。
【0010】
第一のモードでは、ホストHはメモリカード100に対しカードアドレスを一つ割り当てる。ホストHからメモリカード100へ送出されるデータ及びコマンドは、そのカードアドレスを宛先アドレスとして含む。逆に、メモリカード100からホストHへ送出されるデータ及びレスポンスは、そのカードアドレスを送信元アドレスとして含む。こうして、ホストHはデータ通信の対象として、バス3へ接続された他の同様なICカード(図示せず)の中からメモリカード100を特定する。
【0011】
<第二のモード>
第二のモードでは、一本のデータ線DATとコマンド線CMDとがそれぞれ一方向信号線として利用される。すなわち、第二のモードでは一つのシリアル通信だけが実現する。
例えば、一本のデータ線DATを通し、メモリカード100からホストHへ向かう信号(上り方向の信号)だけが伝送される。その信号は、メモリ部12内のフラッシュメモリから読み出されたデータ、及びHIM11のレスポンスを含む。
一方、コマンド線CMDを通し、ホストHからメモリカード100へ向かう信号(下り方向の信号)だけが伝送される。その信号は、メモリ部12内のフラッシュメモリへ書き込むためのデータ、及びホストHのコマンドを含む。
【0012】
第二のモードでは、ホストHは例えば、上り方向信号線以外のデータ線DATの一本をカード選択信号線として利用する。ホストHはメモリカード100とのデータ通信時、メモリカード100のカード選択信号線だけをアサートする。こうして、ホストHはデータ通信の対象として、バス3へ接続された他の同様なICカード(図示せず)の中からメモリカード100を特定する。
【0013】
I/Oカードは、ホストと、そのホストとは別の情報処理機器又はネットワークとの間を接続する。例えば、I/Oカードはホストを携帯電話又は内部の無線通信部へ接続する。それにより、ホストは、携帯電話回線網又は無線LANを通し、他の情報処理機器との間でデータ交換を実現する。その他に、I/Oカードはホストをディジタルカメラへ接続する。それにより、ホストはディジタルカメラにより撮像された画像データを取り込み、記録し又は編集できる。
上記の無線通信部及びディジタルカメラ等のように、上記のI/Oカードによりホストと接続される様々な機能部をファンクションという。ファンクションの拡張により、単一のI/Oカードで多種多様な機能をホストは獲得できる。
【0014】
図4は、従来のI/Oカード200とホストHとの間でのデータ交換を示すブロック図である。
I/Oカード200は、上記のメモリカード100と同様なバス3でホストHと接続される。すなわち、バス3は、データ線DAT、コマンド線CMD、クロック線CLK、電源線VDD、及びグラウンド線VSSを含む。I/Oカード200はメモリカード100と同様に、電源線VDDとグラウンド線VSSとを通し、ホストHから電力を供給される。
【0015】
I/Oカード200はファンクションとして、例えば無線通信部22Aと撮像部22Bとを含む。無線通信部22Aは、例えば外部の無線LANに接続し、データを交換する。撮像部22Bは、例えば電荷結合素子(CCD)等の撮像素子を含み、外部から取り入れた光学像を画像信号へ変換する。
【0016】
HIM21はメモリカード100のHIM11と同様に、データ線DATとコマンド線CMDとを通し、ホストHとの間でデータを交換する。そのとき、データ転送はメモリカード100と同様、クロック線CLK上のクロックに従い同期通信で実行される。そのデータ通信により、ホストHは無線通信部22Aを通し無線LANへ接続し、撮像部22Bから画像信号を取り込む。
【0017】
I/Oカード200はバス3との接続部について、メモリカード100と共通する。特に、HIM21はバス3へ接続する入出力ポートについて、メモリカード100のHIM11と共通する。更に、バス3とHIM21との間に、メモリカード100と同様なデータゲート4Dとコマンドゲート4Cとを含む。
これらの共通の構成により、ホストHはメモリカード100とI/Oカード200とのそれぞれとの間でのデータ通信を、共通の手順で実行できる。特に、カードの認識を含む初期設定について共通する。
【0018】
【発明が解決しようとする課題】
メモリカード100とI/Oカード200とは、ホストHとの間のバス3、及びそのバス接続部で共通する。従って、それらの共通部分について単一の装置を共用できれば、メモリカード100とI/Oカード200との両方の機能を一枚のカード内に収め得る。そのように両機能を複合したICカード(以下、複合I/Oカードという)が実現されれば、ホストHは従来のスロットをそのまま利用し、メモリカード100とI/Oカード200との両機能を同時に利用できる。
【0019】
図5は、複合I/Oカード300の内部構成の一例を示すブロック図である。この複合I/Oカード300はメモリユニット31とI/Oユニット32とを有する。
メモリユニット31は、従来のメモリカード100と同様な構成を含み、そのカードに対するコマンドと同じコマンドで制御される。I/Oユニット32は、従来のI/Oカード200と同様な構成を含み、そのカードに対するコマンドと同じコマンドで制御される。図5では、それらの同様な構成に対し、図3及び図4に示される符号と同じ符号が付される。
【0020】
上記の複合I/Oカード300では、メモリユニット31のHIM11とI/Oユニット32のHIM21とが共通のデータゲート4Dとコマンドゲート4Cとへ、次のように結線される。
データ入力バッファ5Dの出力は、メモリユニット31のHIM11とI/Oユニット32のHIM21との両方のデータ入力ポートIDへ入力される。
両ユニットのHIM11と21とのそれぞれのデータ出力ポートODの出力は、ワイヤードOR(Wired−OR)を通し、単一の信号としてデータ出力バッファ6Dの入力端へ入力される。
両ユニットのHIM11と21とのそれぞれのデータストローブ出力ポートCDの出力は、ワイヤードORを通し、単一の信号としてデータ出力バッファ6Dのストローブ入力端へ入力される。
【0021】
コマンド入力バッファ5Cの出力は、両ユニットのHIM11と21との両方のコマンド入力ポートICへ入力される。
両ユニットのHIM11と21とのそれぞれのレスポンス出力ポートOCの出力は、ワイヤードORを通し、単一の信号として、レスポンス出力バッファ6Cの入力端へ入力される。
両ユニットのHIM11と21とのそれぞれのレスポンスストローブ出力ポートCCの出力は、ワイヤードORを通し、単一の信号として、レスポンス出力バッファ6Cのストローブ入力端へ入力される。
【0022】
ホストHは従来のスロットを通し、複合I/Oカード300をメモリカード100とI/Oカード200と同様な一枚のICカードとして制御する。
第一のモードでは、複合I/Oカード300には単一のカードアドレスが割り当てられる。それにより、メモリユニット31とI/Oユニット32とはいずれも共通のカードアドレスでアクセスされる。ホストHのコマンドが両ユニットのHIM11と21とへ入力されるとき、それぞれのHIMは互いに独立して同じコマンドを解読する。
【0023】
ホストHにより発行されるコマンドには、メモリカード100とI/Oカード200とで共通するものと異なるものとがある。
例えば、ホストHが両カードの共通コマンドを発行するとき、二つのHIM11と21とはそれぞれの状態に応じたレスポンスを送出する。ここで、二つのHIM11と21とのそれぞれの状態は一般に異なる。従って、それらのレスポンスは一般に異なる。
その他に、例えば、ホストHがメモリカード100専用コマンドを発行するとき、メモリユニット31のHIM11はコマンド受信成功を示すレスポンス(ACK)を送出し、I/Oユニット32のHIM21はコマンド受信失敗を示すレスポンス(NAK)を送出する。ホストHがI/Oカード200専用コマンドを発行するとき、メモリユニット31のHIM11はNAKを送出し、I/Oユニット32のHIM21はACKを送出する。
【0024】
上記のICカードとホストHとの間でのコマンド/レスポンス通信は、クロック線CLK上のクロックと同期して行われる。従って、両ユニットのHIM11と21とのレスポンスが異なるとき、それらのHIMの間で競合が生じる。
この競合を解消するには、例えば、いずれかのHIMにレスポンスを抑制させれば良い。しかし、そのとき、レスポンスを抑制したHIMのコマンド入力ポートICへ、他方のHIMのレスポンスが、コマンド入力バッファ5Cを通し入力される。それぞれのユニットのHIMは、レスポンスの抑制時、コマンド入力ポートICへ入力された信号をコマンドとみなし、解読を試みる。その結果、本来不要なコマンド解読動作が頻発し、HIMによるデータ処理速度を低減させた。
【0025】
HIMのデータ入力ポートIDについても同様な障害があった。すなわち、一方のHIMのデータ出力ポートODから送出されたデータが、データ入力バッファ5Dを通し、他方のHIMのデータ入力ポートIDへ入力された。そのデータはその他方のHIMにとってノイズに過ぎない。第一のモードでは、データ転送と並行しコマンド/レスポンス通信が一般に実行される。上記ノイズは例えば、そのコマンド/レスポンス通信処理を妨げるおそれがあった。
【0026】
第二のモードでは、上記のICカードと同様に、データ線DATの一本が上り方向信号線として利用され、コマンド線CMDが下り方向信号線として利用される。
下り方向信号線CMDを通し、ホストHから複合I/Oカード300へデータ又はコマンドが伝送されるとき、それらはコマンド入力バッファ5Cを通し、両ユニットのHIM11と21とのコマンド入力ポートICへ入力される。
一方、それぞれのユニットのHIM11と21とのデータ出力ポートODから送出されたデータ又はレスポンスは、データ出力バッファ6D及び上り方向信号線DATを通しホストHへ伝送される。ここで、二つのHIM11と21とのそれぞれから同時に送出された信号はトライステート出力バッファ6Dの入力前にワイヤードORを通るので、そこで両信号が衝突する。特に、第二のモードでは第一のモードとは異なり、その衝突がデータとレスポンスとの間で生じ、データを損なうおそれがあった。従って、両信号間の調停を、第一のモードより更に確実に実行しなければならなかった。その上、その調停を迅速に実行し、データ転送速度を高く維持しなければならなかった。
【0027】
本発明は、ホストとの間のバスを共用する二以上の入出力装置の複合であり、データ転送速度を高く維持しつつ、それぞれの装置の出力信号による他方の装置の入出力処理に対する妨害を抑制することで、データ通信に対し高い信頼性を確保する入出力装置、の提供を目的とする。
【0028】
【課題を解決するための手段】
本発明の一つの観点による複合入出力装置は、
(A) ホストと第一の機能部との間で交換される信号を中継するための第一のホストインタフェース;
(B) ホストと第二の機能部との間で交換される信号を中継するための第二のホストインタフェース;
(C) 第一のホストインタフェースと第二のホストインタフェースとをそれぞれホストへ接続し、それらのホストインタフェースにより共用される双方向信号線を含むバス;及び、
(D) 第一のホストインタフェースと第二のホストインタフェースとの内、一方のホストインタフェースから上記の双方向信号線への信号の出力時、その双方向信号線から他方のホストインタフェースへの信号の入力を遮断するための入力遮断部;
を有する。
【0029】
上記の複合入出力装置では、一方のホストインタフェースから双方向信号線への出力信号が他方のホストインタフェースへ入力されない。従って、一方のホストインタフェースによる信号出力時、他方のホストインタフェースへ入力されるノイズが低減する。その結果、ノイズの判別に要するホストインタフェースの負荷が軽減し、更にノイズによる誤動作を回避できる。
【0030】
上記の複合入出力装置では、
(A) ストローブ信号に従い、入力信号を双方向信号線へ出力し、又は遮断するためのトライステート出力バッファ、を上記の複合入出力装置が有し;
(B) 第一のホストインタフェースと第二のホストインタフェースとのそれぞれが、ホストとの間で交換される信号のための入力端子と出力端子、及び、ストローブ信号を出力するためのストローブ出力端子、を含み;
(C) 入力遮断部が、
(a) 双方向信号線から信号を入力するための共通入力端子、
(b) トライステート出力バッファへ信号を出力するための共通出力端子、
(c) トライステート出力バッファへストローブ信号を出力するための共通ストローブ出力端子、
(d) 第一のホストインタフェースの出力端子からの信号と第二のホストインタフェースの出力端子からの信号との論理和を計算し、その計算結果を共通出力端子へ出力するための第一の論理和演算部、
(e) 第一のホストインタフェースからのストローブ信号と第二のホストインタフェースからのストローブ信号との論理和を計算し、その計算結果を共通ストローブ出力端子へ出力するための第二の論理和演算部、
(f) 第二のホストインタフェースからのストローブ信号に応じ、共通入力端子から第一のホストインタフェースの入力端子への信号を遮断するための第一のマスク、及び、
(g) 第一のホストインタフェースからのストローブ信号に応じ、共通入力端子から第二のホストインタフェースの入力端子への信号を遮断するための第二のマスク、
を含んでも良い。
【0031】
ここで、それぞれの論理和演算部はワイヤードORであっても良い。その他にOR素子であっても良い。更に、それぞれのマスクは好ましくはAND素子を含む。
上記の複合入出力装置では、一方のホストインタフェースによる信号出力時、他方のホストインタフェースによる信号入力の遮断に対し、ホストインタフェースからトライステート出力バッファへのストローブ信号が利用される。それにより、上記の信号入力の遮断を、例えば論理素子による簡単な構成で、確実にかつ迅速に実現できる。
【0032】
本発明の別の観点による複合入出力装置は、
(A) ホストと第一の機能部との間で交換される信号を中継するための第一のホストインタフェース;
(B) ホストと第二の機能部との間で交換される信号を中継するための第二のホストインタフェース;
(C) 第一のホストインタフェースと第二のホストインタフェースとをそれぞれホストへ接続し、それらのホストインタフェースにより共用される信号線を含むバス;及び、
(D) 第一のホストインタフェースと第二のホストインタフェースとの内、一方のホストインタフェースから上記の信号線への信号の出力時、他方のホストインタフェースからその信号線への信号を遮断するための出力調停部;
を有する。
【0033】
上記の複合入出力装置では、二つのホストインタフェースが共通の信号線への信号出力について競合するとき、出力調停部が一方の出力信号を遮断する。それにより、両方の出力信号の衝突が確実に回避されるので、データ出力に対する信頼性が高い。
【0034】
上記の複合入出力装置では、
(A) 第一のホストインタフェースと第二のホストインタフェースとのそれぞれが、ホストとの間で交換される信号のための出力端子、及び、その信号の出力を通知するストローブ信号を出力するためのストローブ出力端子、を含み;
(B) 出力調停部が、
(a) 上記の信号線へ信号を出力するための共通出力端子、
(b) 第二のホストインタフェースからのストローブ信号に応じ、第一のホストインタフェースの出力端子から共通出力端子への信号を遮断するための第三のマスク、
(c) 第一のホストインタフェースからのストローブ信号に応じ、第二のホストインタフェースの出力端子から共通出力端子への信号を遮断するための第四のマスク、及び、
(d) 第三のマスクを通過した第一のホストインタフェースの出力端子から共通出力端子への信号と、第四のマスクを通過した第二のホストインタフェースの出力端子から共通出力端子への信号との論理和を計算し、その計算結果を共通出力端子へ出力するための第三の論理和演算部、
を含んでも良い。
【0035】
ここで、それぞれのマスクは、好ましくはAND素子を含む。更に、第三の論理和演算部はワイヤードORであっても良い。その他に、OR素子であっても良い。
上記の複合入出力装置では、それぞれのホストインタフェースが信号出力時、ストローブ信号を出力する。二つのホストインタフェースの間での信号出力に対する調停ではそのストローブ信号が利用される。それにより、上記の調停を、例えば論理素子による簡単な構成で、確実にかつ迅速に実現できる。
【0036】
【発明の実施の形態】
以下、本発明の最適な実施の形態について、その好ましい実施例を挙げ、図面を参照しつつ説明する。
【0037】
《実施例1》
図1は、本発明の実施例1による複合I/Oカード10について、ホストHとの間のデータ交換を示すブロック図である。
この複合I/Oカード10はバス3でホストHと接続される。バス3は、少なくとも一本のデータ線DAT、クロック線CLK、電源線VDD、グラウンド線VSS、及びコマンド線CMDを含む。図1では複合I/Oカード10のみが示されるが、バス3へはその他の同様なICカードが同時に接続されても良い。
複合I/Oカード10はホストHから、電源線VDDとグラウンド線VSSとを通し、電力を供給される。
【0038】
複合I/Oカード10はメモリユニット1とI/Oユニット2とを有する。
メモリユニット1はメモリ部12を含む。メモリ部12はフラッシュメモリとその入出力制御用のコントローラとを持つ。メモリ部12は、ホストHのコマンドに従い、ホストHからのデータをフラッシュメモリへ記憶し、又は、フラッシュメモリに記憶されたデータをホストHへ提供する。
I/Oユニット2は内部の様々な機能部、又は外部の様々な情報処理機器へホストHを接続するためのインタフェースとして機能する。例えば、I/Oユニット2は無線通信部22Aと撮像部22Bとを含む。無線通信部22Aは、例えば外部の無線LANへホストHを接続し、無線LANとホストHとの間の無線によるデータ交換を実現する。撮像部22Bは例えばCCD等の撮像素子を含み、外部から取り入れた光学像を画像信号へ変換し、ホストHへ提供する。その他に、I/Oユニット2は、例えば外部の携帯電話へ接続され、ホストHによる携帯電話網へのアクセスを可能にしても良い。更に、例えば外部のディジタルカメラへ接続され、その画像データをホストHへ提供しても良い。
【0039】
メモリユニット1とI/Oユニット2とはそれぞれ、同様な構成のホストインタフェースモジュール(HIM)11と21とを含む。それぞれのHIMは、データ入力遮断部7Dとデータゲート4Dとを通し共通のデータ線DATへ結線され、コマンド入力遮断部7Cとコマンドゲート4Cとを通し共通のコマンド線CMDへ結線される。更に、共通のクロック線CLKへ結線される。
それらのHIMとホストHとはデータ線DATとコマンド線CMDとを通し、同期通信でデータを交換する。すなわち、クロック線CLKを通しホストHから送出されたクロックと同期し、信号が送受信される。
【0040】
実施例1による複合I/Oカード10の通信モードは、従来のICカードでの第一のモードに相当する。その通信モードでは、データ線DATとコマンド線CMDとがそれぞれ双方向信号線として利用される。それにより、両信号線上のデータ通信が一般に並行する。
データ線DATでは、ホストHと、メモリ部12、無線通信部22A、又は撮像部22Bとの間で交換されるデータが伝送される。そのときデータは、データ線DATのいずれかを通しシリアルに、又はデータ線DATの全てを通しパラレルに転送される。
コマンド線CMDでは、ホストHから、メモリユニット1のHIM11、又はI/Oユニット2のHIM21へのコマンド、及びそのコマンドに対するそれぞれのHIMのレスポンスが伝送される。
【0041】
データゲート4Dはデータ入力バッファ5Dとデータ出力バッファ6Dとを含む。ここで、データ出力バッファ6Dはトライステート出力である。
データ入力遮断部7Dは、第一のデータ入力マスク7D1、第二のデータ入力マスク7D2、データ出力OR7DO、及びデータストローブOR7DCを含む。ここで、それぞれのデータ入力マスクは好ましくはAND回路であり、データ出力OR7DOとデータストローブOR7DCとはそれぞれOR回路である。
【0042】
データ線DAT、データゲート4D、データ入力遮断部7D、及び両ユニットのHIM11と21は、それぞれ次のように接続される。
データ線DATはデータ入力バッファ5Dの入力端へ結線される。データ入力バッファ5Dの出力端は、第一のデータ入力マスク7D1と第二のデータ入力マスク7D2とのそれぞれの入力端へ結線される。第一のデータ入力マスク7D1の出力端は、メモリユニット1のHIM11のデータ入力ポートIDへ結線される。第二のデータ入力マスク7D2の出力端はI/Oユニット2のHIM21のデータ入力ポートIDへ結線される。
【0043】
両ユニットのHIM11と21とのそれぞれのデータ出力ポートODはデータ出力OR7DOの入力端へ結線される。データ出力OR7DOの出力端はデータ出力バッファ6Dの入力端へ結線される。こうして、両ユニットのHIM11と21とから出力されたデータのORがデータ出力バッファ6Dへ入力される。
【0044】
メモリユニット1のHIM11のデータストローブ出力ポートCDは、第二のデータ入力マスク7D2とデータストローブOR7DCとのそれぞれの入力端へ結線される。ここで、第二のデータ入力マスク7D2は、メモリユニット1のHIM11のデータストローブ出力ポートCDの電位(データストローブ信号)を負論理で入力する。それにより、メモリユニット1のHIM11のデータストローブ信号が高電位(Hレベル)であるとき、第二のデータ入力マスク7D2の出力が低電位(Lレベル)に固定される。こうして、データ入力バッファ5DからI/Oユニット2のHIM21のデータ入力ポートIDへの信号が遮断される。
【0045】
I/Oユニット2のHIM21のデータストローブ出力ポートCDは、第一のデータ入力マスク7D1とデータストローブOR7DCとのそれぞれの入力端へ結線される。ここで、第一のデータ入力マスク7D1はI/Oユニット2のHIM21のデータストローブ信号を負論理で入力する。それにより、I/Oユニット2のHIM21のデータストローブ信号がHレベルであるとき、第一のデータ入力マスク7D1の出力がLレベルに固定される。こうして、データ入力バッファ5Dからメモリユニット1のHIM11のデータ入力ポートIDへの信号が遮断される。
【0046】
データストローブOR7DCの出力端はデータ出力バッファ6Dのストローブ入力端へ結線される。データ出力バッファ6Dの出力端はデータ線DATへ結線される。こうして、両ユニットのHIM11と21との少なくともいずれかのデータストローブ信号がHレベルであるとき、データ出力バッファ6Dはデータをデータ線DATへ送出する。
【0047】
コマンドゲート4Cは、コマンド入力バッファ5Cとレスポンス出力バッファ6Cとを含む。ここで、レスポンス出力バッファ6Cはトライステート出力である。
コマンド入力遮断部7Cは、第一のコマンドマスク7C1、第二のコマンドマスク7C2、レスポンスOR7CO、及びレスポンスストローブOR7CCを含む。ここで、それぞれのコマンドマスクは好ましくはAND回路であり、レスポンスOR7COとレスポンスストローブOR7CCとはそれぞれOR回路である。
【0048】
コマンド線CMD、コマンドゲート4C、コマンド入力遮断部7C、及び両ユニットのHIM11と21は、それぞれ次のように接続される。
コマンド線CMDはコマンド入力バッファ5Cの入力端へ結線される。コマンド入力バッファ5Cの出力端は、第一のコマンド入力マスク7C1と第二のコマンド入力マスク7C2とのそれぞれの入力端へ結線される。第一のコマンド入力マスク7C1の出力端はメモリユニット1のHIM11のコマンド入力ポートICへ結線される。第二のコマンド入力マスク7C2の出力端はI/Oユニット2のHIM21のコマンド入力ポートICへ結線される。
【0049】
両ユニットのHIM11と21とのそれぞれのレスポンス出力ポートOCはレスポンスOR7COの入力端へ結線される。レスポンスOR7COの出力端はレスポンス出力バッファ6Cの入力端へ結線される。こうして、両ユニットのHIM11と21とから出力されたレスポンスのORがレスポンス出力バッファ6Cへ入力される。
【0050】
メモリユニット1のHIM11のレスポンスストローブ出力ポートCCは、第二のコマンド入力マスク7C2とレスポンスストローブOR7CCとのそれぞれの入力端へ結線される。ここで、第二のコマンド入力マスク7C2は、メモリユニット1のHIM11のレスポンスストローブ出力ポートCCの電位(レスポンスストローブ信号)を負論理で入力する。それにより、メモリユニット1のHIM11のレスポンスストローブ信号がHレベルであるとき、第二のコマンド入力マスク7C2の出力がLレベルに固定される。こうして、コマンド入力バッファ5CからI/Oユニット2のHIM21のコマンド入力ポートICへの信号が遮断される。
【0051】
I/Oユニット2のHIM21のレスポンスストローブ出力ポートCCは、第一のコマンド入力マスク7C1とレスポンスストローブOR7CCとのそれぞれの入力端へ結線される。ここで、第一のコマンド入力マスク7C1はI/Oユニット2のHIM21のレスポンスストローブ信号を負論理で入力する。それにより、I/Oユニット2のHIM21のレスポンスストローブ信号がHレベルであるとき、第一のコマンド入力マスク7C1の出力がLレベルに固定される。こうして、コマンド入力バッファ5Cからメモリユニット1のHIM11のコマンド入力ポートICへの信号が遮断される。
【0052】
レスポンスストローブOR7CCの出力端はレスポンス出力バッファ6Cのストローブ入力端へ結線される。レスポンス出力バッファ6Cの出力端はコマンド線CMDへ結線される。こうして、両ユニットのHIM11と21との少なくともいずれかのストローブ信号がHレベルであるとき、レスポンス出力バッファ6Cはレスポンスをコマンド線CMDへ送出する。
【0053】
以下、ホストHがメモリユニット1のメモリ部12に対しデータ読み出し命令を発行したときを想定し、上記の複合I/Oカード10内での信号の流れを説明する。複合I/Oカード10では、メモリユニット1のHIM11とI/Oユニット2のHIM21とが待機状態であり、ホストHからのコマンド入力を待つ。待機状態のHIMでは、データストローブ出力ポートCDとレスポンスストローブ出力ポートCCとがいずれもLレベルに維持される。
【0054】
ホストHはコマンド線CMDを通しデータ読み出し命令を送出する。そのデータ読み出し命令はコマンドゲート4Cのコマンド入力バッファ5Cを通し、コマンド入力遮断部7C内の二つのコマンド入力マスク7C1と7C2とへ入力される。そのとき、両ユニットのHIM11と21とのレスポンスストローブ出力ポートCCが、いずれもLレベルである。従って、第一のコマンド入力マスク7C1と第二のコマンド入力マスク7C2との両方がデータ読み出し命令を通過させる。それにより、データ読み出し命令が両ユニットのHIM11と21とのコマンド入力ポートICへ入力される。
【0055】
両ユニットのHIM11と21とは互いに独立に、そのデータ読み出し命令をそれぞれ解読する。
ここで、ホストHは複合I/Oカード10を一枚のICカードとして認識する。特に、メモリユニット1とI/Oユニット2とを共通のアドレスでアクセスする。従って、上記のデータ読み出し命令はその宛先アドレスだけからは、メモリユニット1用又はI/Oユニット2用のいずれかを識別できない。
しかし、メモリユニット1用のデータ読み出し命令/書き込み命令は従来のメモリカード用のものと同じであり、I/Oユニット2用のデータ読み出し命令/書き込み命令は従来のI/Oカード用のものと同じである。従って、それぞれのコマンド識別情報が異なる。それ故、上記のデータ読み出し命令がメモリユニット1用であることを、それぞれのHIMは他のHIMとは独立に解読できる。
【0056】
上記のデータ読み出し命令がメモリユニット1用であることが正常に解読されたとき、メモリユニット1のHIM11はコマンドの正常受信を示すレスポンス(ACK)をレスポンス出力ポートOCから送出する。それと同時に、レスポンスストローブ信号をHレベルにアサートする。一方、I/Oユニット2のHIM21はレスポンスを抑制し、レスポンス出力ポートOCとレスポンスストローブ出力ポートCCとを共にLレベルに維持する。
【0057】
メモリユニット1のHIM11のレスポンスはレスポンスOR7COを通し、レスポンス出力バッファ6Cの入力端へ入力される。そのとき、レスポンス出力バッファ6Cのストローブ入力端は、レスポンスストローブOR7CCを通しレスポンスストローブ信号を入力し、Hレベルにアサートされる。従って、レスポンス出力バッファ6Cはレスポンスをコマンド線CMDへ送出する。こうして、メモリユニット1のHIM11からホストHへ、データ読み出し命令のレスポンス(ACK)が送出される。
【0058】
そのとき、レスポンス出力バッファ6Cからコマンド線CMDへ送出されたレスポンスは、コマンド入力バッファ5Cを通し、第一のコマンド入力マスク7C1と第二のコマンド入力マスク7C2とへも届く。
I/Oユニット2のHIM21のレスポンスストローブ出力ポートCCはLレベルに維持されるので、第一のコマンド入力マスク7C1はレスポンスを、メモリユニット1のHIM11のコマンド入力ポートICへ送出する。ここで、レスポンスストローブ信号がHレベルにアサートされるので、メモリユニット1のHIM11はコマンド入力ポートICへ入力されたレスポンスを自身から送出されたものと同定する。それにより、メモリユニット1のHIM11は例えば、送出したレスポンスと実際にコマンド線CMD上へ送出されたレスポンスとを比較できる。
【0059】
一方、メモリユニット1のHIM11のレスポンスストローブ出力ポートCCからHレベルのレスポンスストローブ信号を入力するので、第二のコマンド入力マスク7C2はレスポンスを遮断する。その結果、I/Oユニット2のHIM21のコマンド入力ポートICへはレスポンスが入力されない。こうして、メモリユニット1のHIM11のレスポンスがI/Oユニット2のHIM21の動作を妨げない。
【0060】
レスポンスの送出から所定時間後、メモリユニット1はメモリ部12からホストHへのデータ転送を開始する。そのデータは、例えば所定サイズのパケットごとに、メモリユニット1のHIM11のデータ出力ポートODから送出される。それと同時に、メモリユニット1のHIM11のデータストローブ信号がHレベルにアサートされる。一方、I/Oユニット2のHIM21では、データ出力ポートODとデータストローブ出力ポートCDとが共にLレベルに維持される。
【0061】
メモリユニット1のHIM11から送出されたデータは、データ出力OR7DOを通し、データ出力バッファ6Dの入力端へ入力される。そのとき、データ出力バッファ6Dのストローブ入力端は、データストローブOR7DCを通しHレベルのデータストローブ信号を入力するので、Hレベルにアサートされる。従って、データ出力バッファ6Dはデータをデータ線DATへ送出する。こうして、メモリユニット1のHIM11からホストHへデータが送出される。
【0062】
そのとき、データ出力バッファ6Dからデータ線DATへ送出されたデータは、データ入力バッファ5Dを通し、第一のデータ入力マスク7D1と第二のデータ入力マスク7D2とへも届く。
I/Oユニット2のHIM21のデータストローブ出力ポートCDはLレベルに維持されるので、第一のデータ入力マスク7D1はデータを、メモリユニット1のHIM11のデータ入力ポートIDへ送出する。ここで、データストローブ信号がHレベルにアサートされるので、メモリユニット1のHIM11はデータ入力ポートIDへ入力されたデータを自身から送出されたものと同定する。それにより、メモリユニット1のHIM11は例えば、送出したデータと実際にデータ線DAT上へ送出されたデータとを比較できる。
【0063】
一方、メモリユニット1のHIM11のデータストローブ信号はHレベルにアサートされるので、第二のデータ入力マスク7D2はデータを遮断する。その結果、I/Oユニット2のHIM21のデータ入力ポートIDへはデータが入力されない。こうして、メモリユニット1のHIM11の出力データがI/Oユニット2のHIM21の動作を妨げない。
【0064】
以上のように、実施例1による複合I/Oカード10では、一方のユニットのHIMがレスポンスを送出するとき、そのHIMのレスポンスストローブ信号を利用し、コマンド入力遮断部7Cが他のHIMによるそのレスポンスの入力を防ぐ。同様に、一方のユニットのHIMがデータを送出するとき、そのHIMのデータストローブ信号を利用し、データ入力遮断部7Dが他のHIMによるそのデータの入力を防ぐ。こうして、一方のHIMから送出された信号による他のHIMの動作に対する妨害が抑制される。それにより、それぞれのHIMによるデータ通信が高い信頼性を確保できる。
【0065】
更に、上記のコマンド入力遮断部7C及びデータ入力遮断部7Dはいずれも、AND回路とOR回路とにより比較的簡単に構成される。従って、回路規模を小さく維持できると共に、高速なデータ処理を確保できる。
【0066】
《実施例2》
図2は、本発明の実施例2による複合I/Oカード20について、ホストHとの間のデータ交換を示すブロック図である。
この複合I/Oカード20は実施例1による複合I/Oカード10と比べ、データ入力遮断部7Dに代えデータ出力調停部8Dを有し、コマンド入力遮断部7Cに代えデータ入力分岐部8Cを有する。その他の部分については、両実施例は共通する。従って、図2ではそれらの共通部分に対し、図1での符号と同じ符号を付す。更に、それらの共通部分に対する説明は、実施例1のものを援用する。
【0067】
実施例2による複合I/Oカード20の通信モードは、従来のICカードでの第二のモードに相当する。その通信モードでは、データ線DATが上り方向信号線として利用され、コマンド線CMDが下り方向信号線として利用される。それによりデータの送受信が一般に並行する。
データ線DATでは、メモリユニット1のHIM11又はI/Oユニット2のHIM21からホストHへ向けてのみ、信号が伝送される。そのとき、信号は例えば、データ線DATのいずれかを通しシリアルに伝送される。
コマンド線CMDでは、ホストHからメモリユニット1のHIM11又はI/Oユニット2のHIM21へ向けてのみ、信号がシリアルに伝送される。
データ線DAT及びコマンド線CMD上の信号は、コマンド/レスポンス及びデータを含む。
【0068】
メモリユニット1のHIM11及びI/Oユニット2のHIM21はいずれも、データ出力ポートOD、データストローブ出力ポートCD、及びコマンド入力ポートICだけを使用する。
データゲート4Dではデータ出力バッファ6Dだけが使用される。データ入力バッファ5Dと両ユニットのHIM11と21との接続は、データ出力調停部8D内で切断される。更に、データ出力バッファ6Dのストローブ入力端は、例えばデータ出力調停部8DによりHレベルに維持される。それにより、データ出力バッファ6Dは、実質上常にデータを通過させる。
【0069】
コマンドゲート4Cではコマンド入力バッファ5Cだけが使用される。レスポンス出力バッファ6Cと両ユニットのHIM11と21との接続は、データ入力分岐部8C内で切断される。一方、コマンド入力バッファ5Cの出力端は、両ユニットのHIM11と21とのそれぞれのコマンド入力ポートICへ結線される。
【0070】
データ出力調停部7Dは、第一のデータ出力マスク81、第二のデータ出力マスク82、及びデータ出力OR80を含む。ここで、それぞれのデータ出力マスクは好ましくはAND回路であり、データ出力OR80はOR回路である。
【0071】
データ線DAT、データゲート4D、データ出力調停部8D、及び両ユニットのHIM11と21は、それぞれ次のように接続される。
メモリユニット1のHIM11のデータ出力ポートODとI/Oユニット2のHIM21のデータストローブ出力ポートCDとは、第一のデータ出力マスク81の入力端へ結線される。ここで、第一のデータ出力マスク81はI/Oユニット2のHIM21のデータストローブ信号を負論理で入力する。それにより、I/Oユニット2のHIM21のデータストローブ信号がHレベルであるとき、第一のデータ出力マスク81の出力がLレベルに固定される。こうして、メモリユニット1のHIM11のデータ出力ポートODからの信号が遮断される。
【0072】
I/Oユニット2のHIM21のデータ出力ポートODとメモリユニット1のHIM11のデータストローブ出力ポートCDとは、第二のデータ出力マスク82の入力端へ結線される。ここで、第二のデータ出力マスク82はメモリユニット1のHIM11のデータストローブ信号を負論理で入力する。それにより、メモリユニット1のHIM11のデータストローブ信号がHレベルであるとき、第二のデータ出力マスク82の出力がLレベルに固定される。こうして、I/Oユニット2のHIM21のデータ出力ポートODからの信号が遮断される。
【0073】
二つのデータ出力マスク81と82との出力端はデータ出力OR80の入力端へ結線される。データ出力OR80の出力端はデータ出力バッファ6Dの入力端へ結線される。こうして、二つのデータ出力マスク81と82との出力のORがデータ出力バッファ6Dへ入力され、更に、データ線DATを通し、ホストHへ送出される。
【0074】
以下、ホストHがメモリユニット1のメモリ部12に対しデータ読み出し命令を発行したときを想定し、上記の複合I/Oカード20内での信号の流れを説明する。複合I/Oカード20では、メモリユニット1のHIM11とI/Oユニット2のHIM21とが待機状態であり、ホストHからのコマンド入力を待つ。待機状態のHIMでは、データストローブ出力ポートCDがLレベルに維持される。
【0075】
ホストHはコマンド線CMDを通し、データ読み出し命令を送出する。そのデータ読み出し命令はコマンドゲート4Cのコマンド入力バッファ5Cを通しデータ入力分岐部8Cへ入力され、そこで二つに分岐される。分岐されたコマンドはそれぞれ、両ユニットのHIM11と21とのコマンド入力ポートICへ入力される。
【0076】
両ユニットのHIM11と21とは互いに独立に、そのデータ読み出し命令をそれぞれ解読する。
ここで、ホストHは複合I/Oカード20を一枚のICカードとして認識する。例えば、データ線DATの内、上記の上り方向信号線として利用されるもの以外の一本をカード選択信号線として利用する。ホストHは複合I/Oカード20のカード選択信号線をアサートし、データ通信の相手として指定する。従って、上記のデータ読み出し命令はその宛先アドレスを一般に含まない。
しかし、メモリユニット1用のデータ読み出し命令/書き込み命令は従来のメモリカード用のものと同じであり、I/Oユニット2用のデータ読み出し命令/書き込み命令は従来のI/Oカード用のものと同じである。従って、それぞれのコマンド識別情報が異なる。それ故、上記のデータ読み出し命令がメモリユニット1用であることを、それぞれのHIMは他のHIMとは独立に解読できる。
【0077】
上記のデータ読み出し命令がメモリユニット1用であることが正常に解読されたとき、メモリユニット1のHIM11はACKを、データ出力ポートODから送出する。それと同時に、データストローブ信号をHレベルにアサートする。
一方、I/Oユニット2のHIM21は、コマンドの受信エラーを示すレスポンス(NAK)を、データ出力ポートODから送出する。但し、データストローブ出力ポートCDはLレベルに維持する。
【0078】
メモリユニット1のHIM11のレスポンス(ACK)が第一のデータ出力マスク81へ入力されるとき、I/Oユニット2のHIM21のデータストローブ信号はLレベルである。従って、メモリユニット1のHIM11のレスポンスは第一のデータ出力マスク81を通過し、データ出力OR80へ入力される。
一方、I/Oユニット2のHIM21のレスポンス(NAK)が第二のデータ出力マスク82へ入力されるとき、メモリユニット1のHIM11のデータストローブ信号はHレベルである。従って、I/Oユニット2のHIM21のレスポンスは第二のデータ出力マスク82で遮断される。
その結果、メモリユニット1のHIM11のレスポンス(ACK)だけが、データ出力OR80、データ出力バッファ6D、及びデータ線DATを順に通り、ホストHへ送出される。
こうして、両ユニットのHIM11と21との間でそれぞれのレスポンスについて競合が生じるとき、データ出力調停部8Dによりレスポンス同士の衝突が回避される。
【0079】
レスポンスの送出から所定時間後、メモリユニット1はメモリ部12からホストHへのデータ転送を開始する。そのデータは、例えば所定サイズのパケットごとに、メモリユニット1のHIM11のデータ出力ポートODから送出される。それと同時に、メモリユニット1のHIM11のデータストローブ信号がHレベルにアサートされる。一方、I/Oユニット2のHIM21では、データストローブ信号がLレベルに維持される。
【0080】
メモリユニット1のHIM11のデータ出力ポートODから送出されたデータは、第一のデータ出力マスク81へ入力される。そのとき、I/Oユニット2のHIM21のデータストローブ信号はLレベルに維持されるので、上記のデータは第一のデータ出力マスク81を通過し、データ出力OR80へ入力される。
一方、メモリユニット1のHIM11のデータストローブ信号はHレベルにアサートされるので、I/Oユニット2のHIM21のデータ出力ポートODから送出される信号は、第二のデータ出力マスク82で遮断される。それにより、両ユニットのHIM11と21とのそれぞれのデータ出力ポートODから送出されるデータが、データ出力バッファ6Dで相互に衝突しない。
その結果、メモリユニット1のHIM11のデータ出力ポートODから送出されたデータが、データ出力OR80、データ出力バッファ6D、及びデータ線DATを順に通過し、ホストHへ送出される。
【0081】
以上のように、実施例2による複合I/Oカード20では、両ユニットのHIM11と21とがホストHへ向けて送出される信号について競合するとき、それぞれのHIMのストローブ信号を利用し、データ出力調停部8DがいずれかのHIMの信号を遮断する。こうして、両方のHIMから送出された信号同士の衝突が回避され、特に衝突によるデータの損傷が防止される。それにより、それぞれのHIMによるデータ通信が高い信頼性を確保できる。
【0082】
更に、上記のデータ出力調停部8DはAND回路とOR回路とにより比較的簡単に構成される。従って、回路規模を小さく維持できると共に、高速なデータ処理を確保できる。
【0083】
実施例2では、データ線DATが上り方向信号線として使用されるとき、そのデータ線DATへの信号出力についての競合が、データ出力調停部8Dにより確実に解消される。その他に、データ線DATが双方向信号線として使用されるとき、そのデータ線DATへの信号出力について、上記と同様な調停が行われても良い。
【0084】
上記の実施例はそれぞれ単独の通信モードで機能する。しかし、単一の複合I/Oカードが、実施例1によるデータ入力遮断部7Dとコマンド入力遮断部7Cと同様な機能部、及び実施例2によるデータ出力調停部8Dとデータ入力分岐部8Cと同様な機能部を共に含み、それらの機能部を、メモリユニット1のHIM11とI/Oユニット2のHIM21との通信モードに応じ切り換えて使用しても良い。そのことは当業者であれば、上記の実施例に基づき容易に理解できるであろう。
【0085】
【発明の効果】
本発明による一つの観点による複合入出力装置では、データ通信時、二つのホストインタフェースが共通の双方向信号線を利用する。上記の説明から理解される通り、一方のホストインタフェースによる信号出力時、双方向信号線から他方のホストインタフェースへの入力信号が入力遮断部により遮断される。それにより、一方のホストインタフェースの出力信号が他方のホストインタフェースへは入力されない。従って、他方のホストインタフェースへ入力されるノイズが低減する。その結果、ノイズの判別に要するホストインタフェースの負荷が軽減し、更にノイズによる誤動作を回避できる。こうして、上記の複合入出力装置はデータ通信に対し、高い信頼性を確保できる。
【0086】
上記の複合入出力装置が双方向信号線への出力ゲートとしてトライステート出力バッファを含むとき、それぞれのホストインタフェースは信号出力時、そのトライステート出力バッファに対するストローブ信号をアサートする。上記の複合入出力装置はそのストローブ信号を利用し、一方のホストインタフェースによる信号出力時、他方のホストインタフェースによる信号入力を遮断する。その信号入力の遮断は上記の通り、例えば論理素子による簡単な構成で、確実にかつ迅速に実現できる。
【0087】
本発明による別の観点による複合入出力装置では、データ通信時、二つのホストインタフェースが共通の信号線を利用する。上記の説明から理解される通り、二つのホストインタフェースが共通の信号線への信号出力について競合するとき、出力調停部が一方の出力信号を遮断する。それにより、出力信号同士の衝突が確実に回避される。特に衝突によるデータの損傷を低減できる。こうして、上記の複合入出力装置は、出力信号の確実な調停により、データ通信に対し高い信頼性を確保できる。
【0088】
上記の複合入出力装置では、それぞれのホストインタフェースが信号出力時、ストローブ信号を出力する。二つのホストインタフェースの間での信号出力に対する調停ではそのストローブ信号が利用される。それにより、上記の調停を、例えば論理素子による簡単な構成で、確実にかつ迅速に実現できる。
【図面の簡単な説明】
【図1】本発明の実施例1による複合I/Oカード10について、ホストHとの間のデータ交換を示すブロック図である。
【図2】本発明の実施例2による複合I/Oカード20について、ホストHとの間のデータ交換を示すブロック図である。
【図3】従来のメモリカード100とホストHとの間でのデータ交換を示すブロック図である。
【図4】従来のI/Oカード200とホストHとの間でのデータ交換を示すブロック図である。
【図5】従来の複合I/Oカード300の内部構成の一例を示すブロック図である。
【符号の説明】
11 メモリユニット1のホストインタフェースモジュール
21 I/Oユニット2のホストインタフェースモジュール
4D データゲート
5D データ入力バッファ
6D データ出力バッファ
4C コマンドゲート
5C コマンド入力バッファ
6C レスポンス出力バッファ
7D データ入力遮断部
7D1 第一のデータ入力マスク
7D2 第二のデータ入力マスク
7DO データ出力OR
7DC データストローブ出力OR
7C コマンド入力遮断部
7C1 第一のコマンド入力マスク
7C2 第二のコマンド入力マスク
7CO レスポンス出力OR
7CC レスポンスストローブ出力OR
3 バス
DAT データ線
CLK クロック線
VDD 電源線
VSS グラウンド線
CMD コマンド線
【発明の属する技術分野】
本発明は、外部の情報処理機器との間でデータ通信を行うための入出力装置に関し、特に、その情報処理機器との間のバスを共用する二以上の入出力装置の複合に関する。
【0002】
【従来の技術】
情報技術の飛躍的進歩及び爆発的普及により、多種多様な情報処理機器が相互に接続され、様々なデータを交換できる。それらのデータ通信を担う入出力装置(インタフェース)には、下位互換性を含め、多種多様な情報処理機器についての汎用性が要求される。その上、情報処理機器全体に対する小型軽量化の要請に伴い、入出力装置自体に対しても小型軽量化が求められる。
【0003】
従来の入出力装置の一例として、マルチメディアカード(MMC、登録商標)又はSDカードのようなICカードが知られる。このICカードは、特定のインタフェース内蔵の数cm角の小カードである。ICカードは情報処理機器(ホスト)に設けられた専用スロットに差し込まれ、ホストとデータを交換する。そのスロットを様々な情報処理機器へ組み込むことで、上記のICカードは多種多様な情報処理機器に対する汎用性を獲得する。
【0004】
上記のICカードの種類にはメモリカードとI/Oカードとがある。
メモリカードはフラッシュメモリ内蔵のカード型記録媒体である。複数のホストが同じメモリカードを共用し、相互のデータ交換を実現する。
図3は、従来のメモリカード100とホストHとの間でのデータ交換を示すブロック図である。
【0005】
メモリカード100は、少なくとも一本のデータ線DAT、コマンド線CMD、クロック線CLK、電源線VDD、及びグラウンド線VSSを含むバス3で、ホストHと接続される。メモリカード100はホストHから、電源線VDDとグラウンド線VSSとを通し、電力を供給される。
ホストインタフェースモジュール(HIM)11は、データ線DATとコマンド線CMDとを通し、ホストHとの間でデータを交換する。そのデータ転送は、クロック線CLKを通しホストHから送出されたクロックに従い、同期通信で実行される。
ホストHはHIM11との間のデータ通信を通じ、メモリ部12に対し、その内部のフラッシュメモリへデータを書き込み、又はそのフラッシュメモリからデータを読み出すように指示する。
【0006】
データゲート4Dはデータ入力バッファ5Dとデータ出力バッファ6Dとを含み、データ線DATとHIM11との間でデータを中継する。ここで、データ出力バッファ6Dはトライステート出力である。
データ線DATはデータ入力バッファ5Dの入力端へ結線される。データ入力バッファ5Dの出力端は、HIM11のデータ入力ポートIDへ結線される。
HIM11のデータ出力ポートODとデータストローブ出力ポートCDとは、データ出力バッファ6Dの入力端とストローブ入力端とへそれぞれ結線される。データ出力バッファ6Dの出力端はデータ線DATへ結線される。
【0007】
コマンドゲート4Cはコマンド入力バッファ5Cとレスポンス出力バッファ6Cとを含み、コマンド線CMDとHIM11との間でコマンド/レスポンスを中継する。ここで、レスポンス出力バッファ6Cはトライステート出力である。
コマンド線CMDはコマンド入力バッファ5Cの入力端へ結線される。コマンド入力バッファ5Cの出力端は、HIM11のコマンド入力ポートICへ結線される。
HIM11のレスポンス出力ポートOCとレスポンスストローブ出力ポートCCとは、レスポンス出力バッファ6Cの入力端とストローブ入力端とへ、それぞれ結線される。レスポンス出力バッファ6Cの出力端はコマンド線CMDへ結線される。
【0008】
ホストHとHIM11との間のデータ通信には、次の二つのモードがある。
<第一のモード>
第一のモードでは、データ線DATとコマンド線CMDとがそれぞれ双方向信号線として利用される。それにより、両信号線上のデータ通信が一般に並行する。
データ線DATでは、メモリ部12内のフラッシュメモリから読み出されたデータ、及びそのフラッシュメモリへ書き込まれるデータが伝送される。そのとき、データは、データ線DATのいずれかを通しシリアルに、又はデータ線DATの全てを通しパラレルに転送される。
HIM11は、データ出力ポートODからのデータ出力時のみ、データストローブ出力ポートCDからストローブ信号を出力する。それにより、データ入力ポートIDへ入力されたデータの送信元を容易に識別できる。
【0009】
コマンド線CMDでは、ホストHからメモリカード100へのコマンド、及びそのコマンドに対するHIM11のレスポンスが伝送される。
HIM11は、レスポンス出力ポートOCからのレスポンス出力時のみ、レスポンスストローブ出力ポートCCからストローブ信号を出力する。それにより、コマンド入力ポートICへ入力された信号がコマンド又はレスポンスのいずれであるのかを容易に識別できる。
【0010】
第一のモードでは、ホストHはメモリカード100に対しカードアドレスを一つ割り当てる。ホストHからメモリカード100へ送出されるデータ及びコマンドは、そのカードアドレスを宛先アドレスとして含む。逆に、メモリカード100からホストHへ送出されるデータ及びレスポンスは、そのカードアドレスを送信元アドレスとして含む。こうして、ホストHはデータ通信の対象として、バス3へ接続された他の同様なICカード(図示せず)の中からメモリカード100を特定する。
【0011】
<第二のモード>
第二のモードでは、一本のデータ線DATとコマンド線CMDとがそれぞれ一方向信号線として利用される。すなわち、第二のモードでは一つのシリアル通信だけが実現する。
例えば、一本のデータ線DATを通し、メモリカード100からホストHへ向かう信号(上り方向の信号)だけが伝送される。その信号は、メモリ部12内のフラッシュメモリから読み出されたデータ、及びHIM11のレスポンスを含む。
一方、コマンド線CMDを通し、ホストHからメモリカード100へ向かう信号(下り方向の信号)だけが伝送される。その信号は、メモリ部12内のフラッシュメモリへ書き込むためのデータ、及びホストHのコマンドを含む。
【0012】
第二のモードでは、ホストHは例えば、上り方向信号線以外のデータ線DATの一本をカード選択信号線として利用する。ホストHはメモリカード100とのデータ通信時、メモリカード100のカード選択信号線だけをアサートする。こうして、ホストHはデータ通信の対象として、バス3へ接続された他の同様なICカード(図示せず)の中からメモリカード100を特定する。
【0013】
I/Oカードは、ホストと、そのホストとは別の情報処理機器又はネットワークとの間を接続する。例えば、I/Oカードはホストを携帯電話又は内部の無線通信部へ接続する。それにより、ホストは、携帯電話回線網又は無線LANを通し、他の情報処理機器との間でデータ交換を実現する。その他に、I/Oカードはホストをディジタルカメラへ接続する。それにより、ホストはディジタルカメラにより撮像された画像データを取り込み、記録し又は編集できる。
上記の無線通信部及びディジタルカメラ等のように、上記のI/Oカードによりホストと接続される様々な機能部をファンクションという。ファンクションの拡張により、単一のI/Oカードで多種多様な機能をホストは獲得できる。
【0014】
図4は、従来のI/Oカード200とホストHとの間でのデータ交換を示すブロック図である。
I/Oカード200は、上記のメモリカード100と同様なバス3でホストHと接続される。すなわち、バス3は、データ線DAT、コマンド線CMD、クロック線CLK、電源線VDD、及びグラウンド線VSSを含む。I/Oカード200はメモリカード100と同様に、電源線VDDとグラウンド線VSSとを通し、ホストHから電力を供給される。
【0015】
I/Oカード200はファンクションとして、例えば無線通信部22Aと撮像部22Bとを含む。無線通信部22Aは、例えば外部の無線LANに接続し、データを交換する。撮像部22Bは、例えば電荷結合素子(CCD)等の撮像素子を含み、外部から取り入れた光学像を画像信号へ変換する。
【0016】
HIM21はメモリカード100のHIM11と同様に、データ線DATとコマンド線CMDとを通し、ホストHとの間でデータを交換する。そのとき、データ転送はメモリカード100と同様、クロック線CLK上のクロックに従い同期通信で実行される。そのデータ通信により、ホストHは無線通信部22Aを通し無線LANへ接続し、撮像部22Bから画像信号を取り込む。
【0017】
I/Oカード200はバス3との接続部について、メモリカード100と共通する。特に、HIM21はバス3へ接続する入出力ポートについて、メモリカード100のHIM11と共通する。更に、バス3とHIM21との間に、メモリカード100と同様なデータゲート4Dとコマンドゲート4Cとを含む。
これらの共通の構成により、ホストHはメモリカード100とI/Oカード200とのそれぞれとの間でのデータ通信を、共通の手順で実行できる。特に、カードの認識を含む初期設定について共通する。
【0018】
【発明が解決しようとする課題】
メモリカード100とI/Oカード200とは、ホストHとの間のバス3、及びそのバス接続部で共通する。従って、それらの共通部分について単一の装置を共用できれば、メモリカード100とI/Oカード200との両方の機能を一枚のカード内に収め得る。そのように両機能を複合したICカード(以下、複合I/Oカードという)が実現されれば、ホストHは従来のスロットをそのまま利用し、メモリカード100とI/Oカード200との両機能を同時に利用できる。
【0019】
図5は、複合I/Oカード300の内部構成の一例を示すブロック図である。この複合I/Oカード300はメモリユニット31とI/Oユニット32とを有する。
メモリユニット31は、従来のメモリカード100と同様な構成を含み、そのカードに対するコマンドと同じコマンドで制御される。I/Oユニット32は、従来のI/Oカード200と同様な構成を含み、そのカードに対するコマンドと同じコマンドで制御される。図5では、それらの同様な構成に対し、図3及び図4に示される符号と同じ符号が付される。
【0020】
上記の複合I/Oカード300では、メモリユニット31のHIM11とI/Oユニット32のHIM21とが共通のデータゲート4Dとコマンドゲート4Cとへ、次のように結線される。
データ入力バッファ5Dの出力は、メモリユニット31のHIM11とI/Oユニット32のHIM21との両方のデータ入力ポートIDへ入力される。
両ユニットのHIM11と21とのそれぞれのデータ出力ポートODの出力は、ワイヤードOR(Wired−OR)を通し、単一の信号としてデータ出力バッファ6Dの入力端へ入力される。
両ユニットのHIM11と21とのそれぞれのデータストローブ出力ポートCDの出力は、ワイヤードORを通し、単一の信号としてデータ出力バッファ6Dのストローブ入力端へ入力される。
【0021】
コマンド入力バッファ5Cの出力は、両ユニットのHIM11と21との両方のコマンド入力ポートICへ入力される。
両ユニットのHIM11と21とのそれぞれのレスポンス出力ポートOCの出力は、ワイヤードORを通し、単一の信号として、レスポンス出力バッファ6Cの入力端へ入力される。
両ユニットのHIM11と21とのそれぞれのレスポンスストローブ出力ポートCCの出力は、ワイヤードORを通し、単一の信号として、レスポンス出力バッファ6Cのストローブ入力端へ入力される。
【0022】
ホストHは従来のスロットを通し、複合I/Oカード300をメモリカード100とI/Oカード200と同様な一枚のICカードとして制御する。
第一のモードでは、複合I/Oカード300には単一のカードアドレスが割り当てられる。それにより、メモリユニット31とI/Oユニット32とはいずれも共通のカードアドレスでアクセスされる。ホストHのコマンドが両ユニットのHIM11と21とへ入力されるとき、それぞれのHIMは互いに独立して同じコマンドを解読する。
【0023】
ホストHにより発行されるコマンドには、メモリカード100とI/Oカード200とで共通するものと異なるものとがある。
例えば、ホストHが両カードの共通コマンドを発行するとき、二つのHIM11と21とはそれぞれの状態に応じたレスポンスを送出する。ここで、二つのHIM11と21とのそれぞれの状態は一般に異なる。従って、それらのレスポンスは一般に異なる。
その他に、例えば、ホストHがメモリカード100専用コマンドを発行するとき、メモリユニット31のHIM11はコマンド受信成功を示すレスポンス(ACK)を送出し、I/Oユニット32のHIM21はコマンド受信失敗を示すレスポンス(NAK)を送出する。ホストHがI/Oカード200専用コマンドを発行するとき、メモリユニット31のHIM11はNAKを送出し、I/Oユニット32のHIM21はACKを送出する。
【0024】
上記のICカードとホストHとの間でのコマンド/レスポンス通信は、クロック線CLK上のクロックと同期して行われる。従って、両ユニットのHIM11と21とのレスポンスが異なるとき、それらのHIMの間で競合が生じる。
この競合を解消するには、例えば、いずれかのHIMにレスポンスを抑制させれば良い。しかし、そのとき、レスポンスを抑制したHIMのコマンド入力ポートICへ、他方のHIMのレスポンスが、コマンド入力バッファ5Cを通し入力される。それぞれのユニットのHIMは、レスポンスの抑制時、コマンド入力ポートICへ入力された信号をコマンドとみなし、解読を試みる。その結果、本来不要なコマンド解読動作が頻発し、HIMによるデータ処理速度を低減させた。
【0025】
HIMのデータ入力ポートIDについても同様な障害があった。すなわち、一方のHIMのデータ出力ポートODから送出されたデータが、データ入力バッファ5Dを通し、他方のHIMのデータ入力ポートIDへ入力された。そのデータはその他方のHIMにとってノイズに過ぎない。第一のモードでは、データ転送と並行しコマンド/レスポンス通信が一般に実行される。上記ノイズは例えば、そのコマンド/レスポンス通信処理を妨げるおそれがあった。
【0026】
第二のモードでは、上記のICカードと同様に、データ線DATの一本が上り方向信号線として利用され、コマンド線CMDが下り方向信号線として利用される。
下り方向信号線CMDを通し、ホストHから複合I/Oカード300へデータ又はコマンドが伝送されるとき、それらはコマンド入力バッファ5Cを通し、両ユニットのHIM11と21とのコマンド入力ポートICへ入力される。
一方、それぞれのユニットのHIM11と21とのデータ出力ポートODから送出されたデータ又はレスポンスは、データ出力バッファ6D及び上り方向信号線DATを通しホストHへ伝送される。ここで、二つのHIM11と21とのそれぞれから同時に送出された信号はトライステート出力バッファ6Dの入力前にワイヤードORを通るので、そこで両信号が衝突する。特に、第二のモードでは第一のモードとは異なり、その衝突がデータとレスポンスとの間で生じ、データを損なうおそれがあった。従って、両信号間の調停を、第一のモードより更に確実に実行しなければならなかった。その上、その調停を迅速に実行し、データ転送速度を高く維持しなければならなかった。
【0027】
本発明は、ホストとの間のバスを共用する二以上の入出力装置の複合であり、データ転送速度を高く維持しつつ、それぞれの装置の出力信号による他方の装置の入出力処理に対する妨害を抑制することで、データ通信に対し高い信頼性を確保する入出力装置、の提供を目的とする。
【0028】
【課題を解決するための手段】
本発明の一つの観点による複合入出力装置は、
(A) ホストと第一の機能部との間で交換される信号を中継するための第一のホストインタフェース;
(B) ホストと第二の機能部との間で交換される信号を中継するための第二のホストインタフェース;
(C) 第一のホストインタフェースと第二のホストインタフェースとをそれぞれホストへ接続し、それらのホストインタフェースにより共用される双方向信号線を含むバス;及び、
(D) 第一のホストインタフェースと第二のホストインタフェースとの内、一方のホストインタフェースから上記の双方向信号線への信号の出力時、その双方向信号線から他方のホストインタフェースへの信号の入力を遮断するための入力遮断部;
を有する。
【0029】
上記の複合入出力装置では、一方のホストインタフェースから双方向信号線への出力信号が他方のホストインタフェースへ入力されない。従って、一方のホストインタフェースによる信号出力時、他方のホストインタフェースへ入力されるノイズが低減する。その結果、ノイズの判別に要するホストインタフェースの負荷が軽減し、更にノイズによる誤動作を回避できる。
【0030】
上記の複合入出力装置では、
(A) ストローブ信号に従い、入力信号を双方向信号線へ出力し、又は遮断するためのトライステート出力バッファ、を上記の複合入出力装置が有し;
(B) 第一のホストインタフェースと第二のホストインタフェースとのそれぞれが、ホストとの間で交換される信号のための入力端子と出力端子、及び、ストローブ信号を出力するためのストローブ出力端子、を含み;
(C) 入力遮断部が、
(a) 双方向信号線から信号を入力するための共通入力端子、
(b) トライステート出力バッファへ信号を出力するための共通出力端子、
(c) トライステート出力バッファへストローブ信号を出力するための共通ストローブ出力端子、
(d) 第一のホストインタフェースの出力端子からの信号と第二のホストインタフェースの出力端子からの信号との論理和を計算し、その計算結果を共通出力端子へ出力するための第一の論理和演算部、
(e) 第一のホストインタフェースからのストローブ信号と第二のホストインタフェースからのストローブ信号との論理和を計算し、その計算結果を共通ストローブ出力端子へ出力するための第二の論理和演算部、
(f) 第二のホストインタフェースからのストローブ信号に応じ、共通入力端子から第一のホストインタフェースの入力端子への信号を遮断するための第一のマスク、及び、
(g) 第一のホストインタフェースからのストローブ信号に応じ、共通入力端子から第二のホストインタフェースの入力端子への信号を遮断するための第二のマスク、
を含んでも良い。
【0031】
ここで、それぞれの論理和演算部はワイヤードORであっても良い。その他にOR素子であっても良い。更に、それぞれのマスクは好ましくはAND素子を含む。
上記の複合入出力装置では、一方のホストインタフェースによる信号出力時、他方のホストインタフェースによる信号入力の遮断に対し、ホストインタフェースからトライステート出力バッファへのストローブ信号が利用される。それにより、上記の信号入力の遮断を、例えば論理素子による簡単な構成で、確実にかつ迅速に実現できる。
【0032】
本発明の別の観点による複合入出力装置は、
(A) ホストと第一の機能部との間で交換される信号を中継するための第一のホストインタフェース;
(B) ホストと第二の機能部との間で交換される信号を中継するための第二のホストインタフェース;
(C) 第一のホストインタフェースと第二のホストインタフェースとをそれぞれホストへ接続し、それらのホストインタフェースにより共用される信号線を含むバス;及び、
(D) 第一のホストインタフェースと第二のホストインタフェースとの内、一方のホストインタフェースから上記の信号線への信号の出力時、他方のホストインタフェースからその信号線への信号を遮断するための出力調停部;
を有する。
【0033】
上記の複合入出力装置では、二つのホストインタフェースが共通の信号線への信号出力について競合するとき、出力調停部が一方の出力信号を遮断する。それにより、両方の出力信号の衝突が確実に回避されるので、データ出力に対する信頼性が高い。
【0034】
上記の複合入出力装置では、
(A) 第一のホストインタフェースと第二のホストインタフェースとのそれぞれが、ホストとの間で交換される信号のための出力端子、及び、その信号の出力を通知するストローブ信号を出力するためのストローブ出力端子、を含み;
(B) 出力調停部が、
(a) 上記の信号線へ信号を出力するための共通出力端子、
(b) 第二のホストインタフェースからのストローブ信号に応じ、第一のホストインタフェースの出力端子から共通出力端子への信号を遮断するための第三のマスク、
(c) 第一のホストインタフェースからのストローブ信号に応じ、第二のホストインタフェースの出力端子から共通出力端子への信号を遮断するための第四のマスク、及び、
(d) 第三のマスクを通過した第一のホストインタフェースの出力端子から共通出力端子への信号と、第四のマスクを通過した第二のホストインタフェースの出力端子から共通出力端子への信号との論理和を計算し、その計算結果を共通出力端子へ出力するための第三の論理和演算部、
を含んでも良い。
【0035】
ここで、それぞれのマスクは、好ましくはAND素子を含む。更に、第三の論理和演算部はワイヤードORであっても良い。その他に、OR素子であっても良い。
上記の複合入出力装置では、それぞれのホストインタフェースが信号出力時、ストローブ信号を出力する。二つのホストインタフェースの間での信号出力に対する調停ではそのストローブ信号が利用される。それにより、上記の調停を、例えば論理素子による簡単な構成で、確実にかつ迅速に実現できる。
【0036】
【発明の実施の形態】
以下、本発明の最適な実施の形態について、その好ましい実施例を挙げ、図面を参照しつつ説明する。
【0037】
《実施例1》
図1は、本発明の実施例1による複合I/Oカード10について、ホストHとの間のデータ交換を示すブロック図である。
この複合I/Oカード10はバス3でホストHと接続される。バス3は、少なくとも一本のデータ線DAT、クロック線CLK、電源線VDD、グラウンド線VSS、及びコマンド線CMDを含む。図1では複合I/Oカード10のみが示されるが、バス3へはその他の同様なICカードが同時に接続されても良い。
複合I/Oカード10はホストHから、電源線VDDとグラウンド線VSSとを通し、電力を供給される。
【0038】
複合I/Oカード10はメモリユニット1とI/Oユニット2とを有する。
メモリユニット1はメモリ部12を含む。メモリ部12はフラッシュメモリとその入出力制御用のコントローラとを持つ。メモリ部12は、ホストHのコマンドに従い、ホストHからのデータをフラッシュメモリへ記憶し、又は、フラッシュメモリに記憶されたデータをホストHへ提供する。
I/Oユニット2は内部の様々な機能部、又は外部の様々な情報処理機器へホストHを接続するためのインタフェースとして機能する。例えば、I/Oユニット2は無線通信部22Aと撮像部22Bとを含む。無線通信部22Aは、例えば外部の無線LANへホストHを接続し、無線LANとホストHとの間の無線によるデータ交換を実現する。撮像部22Bは例えばCCD等の撮像素子を含み、外部から取り入れた光学像を画像信号へ変換し、ホストHへ提供する。その他に、I/Oユニット2は、例えば外部の携帯電話へ接続され、ホストHによる携帯電話網へのアクセスを可能にしても良い。更に、例えば外部のディジタルカメラへ接続され、その画像データをホストHへ提供しても良い。
【0039】
メモリユニット1とI/Oユニット2とはそれぞれ、同様な構成のホストインタフェースモジュール(HIM)11と21とを含む。それぞれのHIMは、データ入力遮断部7Dとデータゲート4Dとを通し共通のデータ線DATへ結線され、コマンド入力遮断部7Cとコマンドゲート4Cとを通し共通のコマンド線CMDへ結線される。更に、共通のクロック線CLKへ結線される。
それらのHIMとホストHとはデータ線DATとコマンド線CMDとを通し、同期通信でデータを交換する。すなわち、クロック線CLKを通しホストHから送出されたクロックと同期し、信号が送受信される。
【0040】
実施例1による複合I/Oカード10の通信モードは、従来のICカードでの第一のモードに相当する。その通信モードでは、データ線DATとコマンド線CMDとがそれぞれ双方向信号線として利用される。それにより、両信号線上のデータ通信が一般に並行する。
データ線DATでは、ホストHと、メモリ部12、無線通信部22A、又は撮像部22Bとの間で交換されるデータが伝送される。そのときデータは、データ線DATのいずれかを通しシリアルに、又はデータ線DATの全てを通しパラレルに転送される。
コマンド線CMDでは、ホストHから、メモリユニット1のHIM11、又はI/Oユニット2のHIM21へのコマンド、及びそのコマンドに対するそれぞれのHIMのレスポンスが伝送される。
【0041】
データゲート4Dはデータ入力バッファ5Dとデータ出力バッファ6Dとを含む。ここで、データ出力バッファ6Dはトライステート出力である。
データ入力遮断部7Dは、第一のデータ入力マスク7D1、第二のデータ入力マスク7D2、データ出力OR7DO、及びデータストローブOR7DCを含む。ここで、それぞれのデータ入力マスクは好ましくはAND回路であり、データ出力OR7DOとデータストローブOR7DCとはそれぞれOR回路である。
【0042】
データ線DAT、データゲート4D、データ入力遮断部7D、及び両ユニットのHIM11と21は、それぞれ次のように接続される。
データ線DATはデータ入力バッファ5Dの入力端へ結線される。データ入力バッファ5Dの出力端は、第一のデータ入力マスク7D1と第二のデータ入力マスク7D2とのそれぞれの入力端へ結線される。第一のデータ入力マスク7D1の出力端は、メモリユニット1のHIM11のデータ入力ポートIDへ結線される。第二のデータ入力マスク7D2の出力端はI/Oユニット2のHIM21のデータ入力ポートIDへ結線される。
【0043】
両ユニットのHIM11と21とのそれぞれのデータ出力ポートODはデータ出力OR7DOの入力端へ結線される。データ出力OR7DOの出力端はデータ出力バッファ6Dの入力端へ結線される。こうして、両ユニットのHIM11と21とから出力されたデータのORがデータ出力バッファ6Dへ入力される。
【0044】
メモリユニット1のHIM11のデータストローブ出力ポートCDは、第二のデータ入力マスク7D2とデータストローブOR7DCとのそれぞれの入力端へ結線される。ここで、第二のデータ入力マスク7D2は、メモリユニット1のHIM11のデータストローブ出力ポートCDの電位(データストローブ信号)を負論理で入力する。それにより、メモリユニット1のHIM11のデータストローブ信号が高電位(Hレベル)であるとき、第二のデータ入力マスク7D2の出力が低電位(Lレベル)に固定される。こうして、データ入力バッファ5DからI/Oユニット2のHIM21のデータ入力ポートIDへの信号が遮断される。
【0045】
I/Oユニット2のHIM21のデータストローブ出力ポートCDは、第一のデータ入力マスク7D1とデータストローブOR7DCとのそれぞれの入力端へ結線される。ここで、第一のデータ入力マスク7D1はI/Oユニット2のHIM21のデータストローブ信号を負論理で入力する。それにより、I/Oユニット2のHIM21のデータストローブ信号がHレベルであるとき、第一のデータ入力マスク7D1の出力がLレベルに固定される。こうして、データ入力バッファ5Dからメモリユニット1のHIM11のデータ入力ポートIDへの信号が遮断される。
【0046】
データストローブOR7DCの出力端はデータ出力バッファ6Dのストローブ入力端へ結線される。データ出力バッファ6Dの出力端はデータ線DATへ結線される。こうして、両ユニットのHIM11と21との少なくともいずれかのデータストローブ信号がHレベルであるとき、データ出力バッファ6Dはデータをデータ線DATへ送出する。
【0047】
コマンドゲート4Cは、コマンド入力バッファ5Cとレスポンス出力バッファ6Cとを含む。ここで、レスポンス出力バッファ6Cはトライステート出力である。
コマンド入力遮断部7Cは、第一のコマンドマスク7C1、第二のコマンドマスク7C2、レスポンスOR7CO、及びレスポンスストローブOR7CCを含む。ここで、それぞれのコマンドマスクは好ましくはAND回路であり、レスポンスOR7COとレスポンスストローブOR7CCとはそれぞれOR回路である。
【0048】
コマンド線CMD、コマンドゲート4C、コマンド入力遮断部7C、及び両ユニットのHIM11と21は、それぞれ次のように接続される。
コマンド線CMDはコマンド入力バッファ5Cの入力端へ結線される。コマンド入力バッファ5Cの出力端は、第一のコマンド入力マスク7C1と第二のコマンド入力マスク7C2とのそれぞれの入力端へ結線される。第一のコマンド入力マスク7C1の出力端はメモリユニット1のHIM11のコマンド入力ポートICへ結線される。第二のコマンド入力マスク7C2の出力端はI/Oユニット2のHIM21のコマンド入力ポートICへ結線される。
【0049】
両ユニットのHIM11と21とのそれぞれのレスポンス出力ポートOCはレスポンスOR7COの入力端へ結線される。レスポンスOR7COの出力端はレスポンス出力バッファ6Cの入力端へ結線される。こうして、両ユニットのHIM11と21とから出力されたレスポンスのORがレスポンス出力バッファ6Cへ入力される。
【0050】
メモリユニット1のHIM11のレスポンスストローブ出力ポートCCは、第二のコマンド入力マスク7C2とレスポンスストローブOR7CCとのそれぞれの入力端へ結線される。ここで、第二のコマンド入力マスク7C2は、メモリユニット1のHIM11のレスポンスストローブ出力ポートCCの電位(レスポンスストローブ信号)を負論理で入力する。それにより、メモリユニット1のHIM11のレスポンスストローブ信号がHレベルであるとき、第二のコマンド入力マスク7C2の出力がLレベルに固定される。こうして、コマンド入力バッファ5CからI/Oユニット2のHIM21のコマンド入力ポートICへの信号が遮断される。
【0051】
I/Oユニット2のHIM21のレスポンスストローブ出力ポートCCは、第一のコマンド入力マスク7C1とレスポンスストローブOR7CCとのそれぞれの入力端へ結線される。ここで、第一のコマンド入力マスク7C1はI/Oユニット2のHIM21のレスポンスストローブ信号を負論理で入力する。それにより、I/Oユニット2のHIM21のレスポンスストローブ信号がHレベルであるとき、第一のコマンド入力マスク7C1の出力がLレベルに固定される。こうして、コマンド入力バッファ5Cからメモリユニット1のHIM11のコマンド入力ポートICへの信号が遮断される。
【0052】
レスポンスストローブOR7CCの出力端はレスポンス出力バッファ6Cのストローブ入力端へ結線される。レスポンス出力バッファ6Cの出力端はコマンド線CMDへ結線される。こうして、両ユニットのHIM11と21との少なくともいずれかのストローブ信号がHレベルであるとき、レスポンス出力バッファ6Cはレスポンスをコマンド線CMDへ送出する。
【0053】
以下、ホストHがメモリユニット1のメモリ部12に対しデータ読み出し命令を発行したときを想定し、上記の複合I/Oカード10内での信号の流れを説明する。複合I/Oカード10では、メモリユニット1のHIM11とI/Oユニット2のHIM21とが待機状態であり、ホストHからのコマンド入力を待つ。待機状態のHIMでは、データストローブ出力ポートCDとレスポンスストローブ出力ポートCCとがいずれもLレベルに維持される。
【0054】
ホストHはコマンド線CMDを通しデータ読み出し命令を送出する。そのデータ読み出し命令はコマンドゲート4Cのコマンド入力バッファ5Cを通し、コマンド入力遮断部7C内の二つのコマンド入力マスク7C1と7C2とへ入力される。そのとき、両ユニットのHIM11と21とのレスポンスストローブ出力ポートCCが、いずれもLレベルである。従って、第一のコマンド入力マスク7C1と第二のコマンド入力マスク7C2との両方がデータ読み出し命令を通過させる。それにより、データ読み出し命令が両ユニットのHIM11と21とのコマンド入力ポートICへ入力される。
【0055】
両ユニットのHIM11と21とは互いに独立に、そのデータ読み出し命令をそれぞれ解読する。
ここで、ホストHは複合I/Oカード10を一枚のICカードとして認識する。特に、メモリユニット1とI/Oユニット2とを共通のアドレスでアクセスする。従って、上記のデータ読み出し命令はその宛先アドレスだけからは、メモリユニット1用又はI/Oユニット2用のいずれかを識別できない。
しかし、メモリユニット1用のデータ読み出し命令/書き込み命令は従来のメモリカード用のものと同じであり、I/Oユニット2用のデータ読み出し命令/書き込み命令は従来のI/Oカード用のものと同じである。従って、それぞれのコマンド識別情報が異なる。それ故、上記のデータ読み出し命令がメモリユニット1用であることを、それぞれのHIMは他のHIMとは独立に解読できる。
【0056】
上記のデータ読み出し命令がメモリユニット1用であることが正常に解読されたとき、メモリユニット1のHIM11はコマンドの正常受信を示すレスポンス(ACK)をレスポンス出力ポートOCから送出する。それと同時に、レスポンスストローブ信号をHレベルにアサートする。一方、I/Oユニット2のHIM21はレスポンスを抑制し、レスポンス出力ポートOCとレスポンスストローブ出力ポートCCとを共にLレベルに維持する。
【0057】
メモリユニット1のHIM11のレスポンスはレスポンスOR7COを通し、レスポンス出力バッファ6Cの入力端へ入力される。そのとき、レスポンス出力バッファ6Cのストローブ入力端は、レスポンスストローブOR7CCを通しレスポンスストローブ信号を入力し、Hレベルにアサートされる。従って、レスポンス出力バッファ6Cはレスポンスをコマンド線CMDへ送出する。こうして、メモリユニット1のHIM11からホストHへ、データ読み出し命令のレスポンス(ACK)が送出される。
【0058】
そのとき、レスポンス出力バッファ6Cからコマンド線CMDへ送出されたレスポンスは、コマンド入力バッファ5Cを通し、第一のコマンド入力マスク7C1と第二のコマンド入力マスク7C2とへも届く。
I/Oユニット2のHIM21のレスポンスストローブ出力ポートCCはLレベルに維持されるので、第一のコマンド入力マスク7C1はレスポンスを、メモリユニット1のHIM11のコマンド入力ポートICへ送出する。ここで、レスポンスストローブ信号がHレベルにアサートされるので、メモリユニット1のHIM11はコマンド入力ポートICへ入力されたレスポンスを自身から送出されたものと同定する。それにより、メモリユニット1のHIM11は例えば、送出したレスポンスと実際にコマンド線CMD上へ送出されたレスポンスとを比較できる。
【0059】
一方、メモリユニット1のHIM11のレスポンスストローブ出力ポートCCからHレベルのレスポンスストローブ信号を入力するので、第二のコマンド入力マスク7C2はレスポンスを遮断する。その結果、I/Oユニット2のHIM21のコマンド入力ポートICへはレスポンスが入力されない。こうして、メモリユニット1のHIM11のレスポンスがI/Oユニット2のHIM21の動作を妨げない。
【0060】
レスポンスの送出から所定時間後、メモリユニット1はメモリ部12からホストHへのデータ転送を開始する。そのデータは、例えば所定サイズのパケットごとに、メモリユニット1のHIM11のデータ出力ポートODから送出される。それと同時に、メモリユニット1のHIM11のデータストローブ信号がHレベルにアサートされる。一方、I/Oユニット2のHIM21では、データ出力ポートODとデータストローブ出力ポートCDとが共にLレベルに維持される。
【0061】
メモリユニット1のHIM11から送出されたデータは、データ出力OR7DOを通し、データ出力バッファ6Dの入力端へ入力される。そのとき、データ出力バッファ6Dのストローブ入力端は、データストローブOR7DCを通しHレベルのデータストローブ信号を入力するので、Hレベルにアサートされる。従って、データ出力バッファ6Dはデータをデータ線DATへ送出する。こうして、メモリユニット1のHIM11からホストHへデータが送出される。
【0062】
そのとき、データ出力バッファ6Dからデータ線DATへ送出されたデータは、データ入力バッファ5Dを通し、第一のデータ入力マスク7D1と第二のデータ入力マスク7D2とへも届く。
I/Oユニット2のHIM21のデータストローブ出力ポートCDはLレベルに維持されるので、第一のデータ入力マスク7D1はデータを、メモリユニット1のHIM11のデータ入力ポートIDへ送出する。ここで、データストローブ信号がHレベルにアサートされるので、メモリユニット1のHIM11はデータ入力ポートIDへ入力されたデータを自身から送出されたものと同定する。それにより、メモリユニット1のHIM11は例えば、送出したデータと実際にデータ線DAT上へ送出されたデータとを比較できる。
【0063】
一方、メモリユニット1のHIM11のデータストローブ信号はHレベルにアサートされるので、第二のデータ入力マスク7D2はデータを遮断する。その結果、I/Oユニット2のHIM21のデータ入力ポートIDへはデータが入力されない。こうして、メモリユニット1のHIM11の出力データがI/Oユニット2のHIM21の動作を妨げない。
【0064】
以上のように、実施例1による複合I/Oカード10では、一方のユニットのHIMがレスポンスを送出するとき、そのHIMのレスポンスストローブ信号を利用し、コマンド入力遮断部7Cが他のHIMによるそのレスポンスの入力を防ぐ。同様に、一方のユニットのHIMがデータを送出するとき、そのHIMのデータストローブ信号を利用し、データ入力遮断部7Dが他のHIMによるそのデータの入力を防ぐ。こうして、一方のHIMから送出された信号による他のHIMの動作に対する妨害が抑制される。それにより、それぞれのHIMによるデータ通信が高い信頼性を確保できる。
【0065】
更に、上記のコマンド入力遮断部7C及びデータ入力遮断部7Dはいずれも、AND回路とOR回路とにより比較的簡単に構成される。従って、回路規模を小さく維持できると共に、高速なデータ処理を確保できる。
【0066】
《実施例2》
図2は、本発明の実施例2による複合I/Oカード20について、ホストHとの間のデータ交換を示すブロック図である。
この複合I/Oカード20は実施例1による複合I/Oカード10と比べ、データ入力遮断部7Dに代えデータ出力調停部8Dを有し、コマンド入力遮断部7Cに代えデータ入力分岐部8Cを有する。その他の部分については、両実施例は共通する。従って、図2ではそれらの共通部分に対し、図1での符号と同じ符号を付す。更に、それらの共通部分に対する説明は、実施例1のものを援用する。
【0067】
実施例2による複合I/Oカード20の通信モードは、従来のICカードでの第二のモードに相当する。その通信モードでは、データ線DATが上り方向信号線として利用され、コマンド線CMDが下り方向信号線として利用される。それによりデータの送受信が一般に並行する。
データ線DATでは、メモリユニット1のHIM11又はI/Oユニット2のHIM21からホストHへ向けてのみ、信号が伝送される。そのとき、信号は例えば、データ線DATのいずれかを通しシリアルに伝送される。
コマンド線CMDでは、ホストHからメモリユニット1のHIM11又はI/Oユニット2のHIM21へ向けてのみ、信号がシリアルに伝送される。
データ線DAT及びコマンド線CMD上の信号は、コマンド/レスポンス及びデータを含む。
【0068】
メモリユニット1のHIM11及びI/Oユニット2のHIM21はいずれも、データ出力ポートOD、データストローブ出力ポートCD、及びコマンド入力ポートICだけを使用する。
データゲート4Dではデータ出力バッファ6Dだけが使用される。データ入力バッファ5Dと両ユニットのHIM11と21との接続は、データ出力調停部8D内で切断される。更に、データ出力バッファ6Dのストローブ入力端は、例えばデータ出力調停部8DによりHレベルに維持される。それにより、データ出力バッファ6Dは、実質上常にデータを通過させる。
【0069】
コマンドゲート4Cではコマンド入力バッファ5Cだけが使用される。レスポンス出力バッファ6Cと両ユニットのHIM11と21との接続は、データ入力分岐部8C内で切断される。一方、コマンド入力バッファ5Cの出力端は、両ユニットのHIM11と21とのそれぞれのコマンド入力ポートICへ結線される。
【0070】
データ出力調停部7Dは、第一のデータ出力マスク81、第二のデータ出力マスク82、及びデータ出力OR80を含む。ここで、それぞれのデータ出力マスクは好ましくはAND回路であり、データ出力OR80はOR回路である。
【0071】
データ線DAT、データゲート4D、データ出力調停部8D、及び両ユニットのHIM11と21は、それぞれ次のように接続される。
メモリユニット1のHIM11のデータ出力ポートODとI/Oユニット2のHIM21のデータストローブ出力ポートCDとは、第一のデータ出力マスク81の入力端へ結線される。ここで、第一のデータ出力マスク81はI/Oユニット2のHIM21のデータストローブ信号を負論理で入力する。それにより、I/Oユニット2のHIM21のデータストローブ信号がHレベルであるとき、第一のデータ出力マスク81の出力がLレベルに固定される。こうして、メモリユニット1のHIM11のデータ出力ポートODからの信号が遮断される。
【0072】
I/Oユニット2のHIM21のデータ出力ポートODとメモリユニット1のHIM11のデータストローブ出力ポートCDとは、第二のデータ出力マスク82の入力端へ結線される。ここで、第二のデータ出力マスク82はメモリユニット1のHIM11のデータストローブ信号を負論理で入力する。それにより、メモリユニット1のHIM11のデータストローブ信号がHレベルであるとき、第二のデータ出力マスク82の出力がLレベルに固定される。こうして、I/Oユニット2のHIM21のデータ出力ポートODからの信号が遮断される。
【0073】
二つのデータ出力マスク81と82との出力端はデータ出力OR80の入力端へ結線される。データ出力OR80の出力端はデータ出力バッファ6Dの入力端へ結線される。こうして、二つのデータ出力マスク81と82との出力のORがデータ出力バッファ6Dへ入力され、更に、データ線DATを通し、ホストHへ送出される。
【0074】
以下、ホストHがメモリユニット1のメモリ部12に対しデータ読み出し命令を発行したときを想定し、上記の複合I/Oカード20内での信号の流れを説明する。複合I/Oカード20では、メモリユニット1のHIM11とI/Oユニット2のHIM21とが待機状態であり、ホストHからのコマンド入力を待つ。待機状態のHIMでは、データストローブ出力ポートCDがLレベルに維持される。
【0075】
ホストHはコマンド線CMDを通し、データ読み出し命令を送出する。そのデータ読み出し命令はコマンドゲート4Cのコマンド入力バッファ5Cを通しデータ入力分岐部8Cへ入力され、そこで二つに分岐される。分岐されたコマンドはそれぞれ、両ユニットのHIM11と21とのコマンド入力ポートICへ入力される。
【0076】
両ユニットのHIM11と21とは互いに独立に、そのデータ読み出し命令をそれぞれ解読する。
ここで、ホストHは複合I/Oカード20を一枚のICカードとして認識する。例えば、データ線DATの内、上記の上り方向信号線として利用されるもの以外の一本をカード選択信号線として利用する。ホストHは複合I/Oカード20のカード選択信号線をアサートし、データ通信の相手として指定する。従って、上記のデータ読み出し命令はその宛先アドレスを一般に含まない。
しかし、メモリユニット1用のデータ読み出し命令/書き込み命令は従来のメモリカード用のものと同じであり、I/Oユニット2用のデータ読み出し命令/書き込み命令は従来のI/Oカード用のものと同じである。従って、それぞれのコマンド識別情報が異なる。それ故、上記のデータ読み出し命令がメモリユニット1用であることを、それぞれのHIMは他のHIMとは独立に解読できる。
【0077】
上記のデータ読み出し命令がメモリユニット1用であることが正常に解読されたとき、メモリユニット1のHIM11はACKを、データ出力ポートODから送出する。それと同時に、データストローブ信号をHレベルにアサートする。
一方、I/Oユニット2のHIM21は、コマンドの受信エラーを示すレスポンス(NAK)を、データ出力ポートODから送出する。但し、データストローブ出力ポートCDはLレベルに維持する。
【0078】
メモリユニット1のHIM11のレスポンス(ACK)が第一のデータ出力マスク81へ入力されるとき、I/Oユニット2のHIM21のデータストローブ信号はLレベルである。従って、メモリユニット1のHIM11のレスポンスは第一のデータ出力マスク81を通過し、データ出力OR80へ入力される。
一方、I/Oユニット2のHIM21のレスポンス(NAK)が第二のデータ出力マスク82へ入力されるとき、メモリユニット1のHIM11のデータストローブ信号はHレベルである。従って、I/Oユニット2のHIM21のレスポンスは第二のデータ出力マスク82で遮断される。
その結果、メモリユニット1のHIM11のレスポンス(ACK)だけが、データ出力OR80、データ出力バッファ6D、及びデータ線DATを順に通り、ホストHへ送出される。
こうして、両ユニットのHIM11と21との間でそれぞれのレスポンスについて競合が生じるとき、データ出力調停部8Dによりレスポンス同士の衝突が回避される。
【0079】
レスポンスの送出から所定時間後、メモリユニット1はメモリ部12からホストHへのデータ転送を開始する。そのデータは、例えば所定サイズのパケットごとに、メモリユニット1のHIM11のデータ出力ポートODから送出される。それと同時に、メモリユニット1のHIM11のデータストローブ信号がHレベルにアサートされる。一方、I/Oユニット2のHIM21では、データストローブ信号がLレベルに維持される。
【0080】
メモリユニット1のHIM11のデータ出力ポートODから送出されたデータは、第一のデータ出力マスク81へ入力される。そのとき、I/Oユニット2のHIM21のデータストローブ信号はLレベルに維持されるので、上記のデータは第一のデータ出力マスク81を通過し、データ出力OR80へ入力される。
一方、メモリユニット1のHIM11のデータストローブ信号はHレベルにアサートされるので、I/Oユニット2のHIM21のデータ出力ポートODから送出される信号は、第二のデータ出力マスク82で遮断される。それにより、両ユニットのHIM11と21とのそれぞれのデータ出力ポートODから送出されるデータが、データ出力バッファ6Dで相互に衝突しない。
その結果、メモリユニット1のHIM11のデータ出力ポートODから送出されたデータが、データ出力OR80、データ出力バッファ6D、及びデータ線DATを順に通過し、ホストHへ送出される。
【0081】
以上のように、実施例2による複合I/Oカード20では、両ユニットのHIM11と21とがホストHへ向けて送出される信号について競合するとき、それぞれのHIMのストローブ信号を利用し、データ出力調停部8DがいずれかのHIMの信号を遮断する。こうして、両方のHIMから送出された信号同士の衝突が回避され、特に衝突によるデータの損傷が防止される。それにより、それぞれのHIMによるデータ通信が高い信頼性を確保できる。
【0082】
更に、上記のデータ出力調停部8DはAND回路とOR回路とにより比較的簡単に構成される。従って、回路規模を小さく維持できると共に、高速なデータ処理を確保できる。
【0083】
実施例2では、データ線DATが上り方向信号線として使用されるとき、そのデータ線DATへの信号出力についての競合が、データ出力調停部8Dにより確実に解消される。その他に、データ線DATが双方向信号線として使用されるとき、そのデータ線DATへの信号出力について、上記と同様な調停が行われても良い。
【0084】
上記の実施例はそれぞれ単独の通信モードで機能する。しかし、単一の複合I/Oカードが、実施例1によるデータ入力遮断部7Dとコマンド入力遮断部7Cと同様な機能部、及び実施例2によるデータ出力調停部8Dとデータ入力分岐部8Cと同様な機能部を共に含み、それらの機能部を、メモリユニット1のHIM11とI/Oユニット2のHIM21との通信モードに応じ切り換えて使用しても良い。そのことは当業者であれば、上記の実施例に基づき容易に理解できるであろう。
【0085】
【発明の効果】
本発明による一つの観点による複合入出力装置では、データ通信時、二つのホストインタフェースが共通の双方向信号線を利用する。上記の説明から理解される通り、一方のホストインタフェースによる信号出力時、双方向信号線から他方のホストインタフェースへの入力信号が入力遮断部により遮断される。それにより、一方のホストインタフェースの出力信号が他方のホストインタフェースへは入力されない。従って、他方のホストインタフェースへ入力されるノイズが低減する。その結果、ノイズの判別に要するホストインタフェースの負荷が軽減し、更にノイズによる誤動作を回避できる。こうして、上記の複合入出力装置はデータ通信に対し、高い信頼性を確保できる。
【0086】
上記の複合入出力装置が双方向信号線への出力ゲートとしてトライステート出力バッファを含むとき、それぞれのホストインタフェースは信号出力時、そのトライステート出力バッファに対するストローブ信号をアサートする。上記の複合入出力装置はそのストローブ信号を利用し、一方のホストインタフェースによる信号出力時、他方のホストインタフェースによる信号入力を遮断する。その信号入力の遮断は上記の通り、例えば論理素子による簡単な構成で、確実にかつ迅速に実現できる。
【0087】
本発明による別の観点による複合入出力装置では、データ通信時、二つのホストインタフェースが共通の信号線を利用する。上記の説明から理解される通り、二つのホストインタフェースが共通の信号線への信号出力について競合するとき、出力調停部が一方の出力信号を遮断する。それにより、出力信号同士の衝突が確実に回避される。特に衝突によるデータの損傷を低減できる。こうして、上記の複合入出力装置は、出力信号の確実な調停により、データ通信に対し高い信頼性を確保できる。
【0088】
上記の複合入出力装置では、それぞれのホストインタフェースが信号出力時、ストローブ信号を出力する。二つのホストインタフェースの間での信号出力に対する調停ではそのストローブ信号が利用される。それにより、上記の調停を、例えば論理素子による簡単な構成で、確実にかつ迅速に実現できる。
【図面の簡単な説明】
【図1】本発明の実施例1による複合I/Oカード10について、ホストHとの間のデータ交換を示すブロック図である。
【図2】本発明の実施例2による複合I/Oカード20について、ホストHとの間のデータ交換を示すブロック図である。
【図3】従来のメモリカード100とホストHとの間でのデータ交換を示すブロック図である。
【図4】従来のI/Oカード200とホストHとの間でのデータ交換を示すブロック図である。
【図5】従来の複合I/Oカード300の内部構成の一例を示すブロック図である。
【符号の説明】
11 メモリユニット1のホストインタフェースモジュール
21 I/Oユニット2のホストインタフェースモジュール
4D データゲート
5D データ入力バッファ
6D データ出力バッファ
4C コマンドゲート
5C コマンド入力バッファ
6C レスポンス出力バッファ
7D データ入力遮断部
7D1 第一のデータ入力マスク
7D2 第二のデータ入力マスク
7DO データ出力OR
7DC データストローブ出力OR
7C コマンド入力遮断部
7C1 第一のコマンド入力マスク
7C2 第二のコマンド入力マスク
7CO レスポンス出力OR
7CC レスポンスストローブ出力OR
3 バス
DAT データ線
CLK クロック線
VDD 電源線
VSS グラウンド線
CMD コマンド線
Claims (4)
- (A) ホストと第一の機能部との間で交換される信号を中継するための第一のホストインタフェース;
(B) 前記ホストと第二の機能部との間で交換される信号を中継するための第二のホストインタフェース;
(C) 前記第一のホストインタフェースと前記第二のホストインタフェースとをそれぞれ前記ホストへ接続し、それらのホストインタフェースにより共用される双方向信号線を含むバス;及び、
(D) 前記第一のホストインタフェースと前記第二のホストインタフェースとの内、一方のホストインタフェースから前記双方向信号線への信号出力時、その双方向信号線から他方のホストインタフェースへの信号を遮断するための入力遮断部;
を有する複合入出力装置。 - (A) ストローブ信号に従い、入力信号を前記双方向信号線へ出力し、又は遮断するためのトライステート出力バッファ、を前記複合入出力装置が有し;
(B) 前記第一のホストインタフェースと前記第二のホストインタフェースとのそれぞれが、前記ホストとの間で交換される信号のための入力端子と出力端子、及び、前記ストローブ信号を出力するためのストローブ出力端子、を含み;
(C) 前記入力遮断部が、
(a) 前記双方向信号線から信号を入力するための共通入力端子、
(b) 前記トライステート出力バッファへ信号を出力するための共通出力端子、
(c) 前記トライステート出力バッファへ前記ストローブ信号を出力するための共通ストローブ出力端子、
(d) 前記第一のホストインタフェースの出力端子からの信号と前記第二のホストインタフェースの出力端子からの信号との論理和を計算し、その計算結果を前記共通出力端子へ出力するための第一の論理和演算部、
(e) 前記第一のホストインタフェースからの前記ストローブ信号と前記第二のホストインタフェースからの前記ストローブ信号との論理和を計算し、その計算結果を前記共通ストローブ出力端子へ出力するための第二の論理和演算部、
(f) 前記第二のホストインタフェースからの前記ストローブ信号に応じ、前記共通入力端子から前記第一のホストインタフェースの入力端子への信号を遮断するための第一のマスク、及び、
(g) 前記第一のホストインタフェースからの前記ストローブ信号に応じ、前記共通入力端子から前記第二のホストインタフェースの入力端子への信号を遮断するための第二のマスク、
を含む;
請求項1記載の複合入出力装置。 - (A) ホストと第一の機能部との間で交換される信号を中継するための第一のホストインタフェース;
(B) 前記ホストと第二の機能部との間で交換される信号を中継するための第二のホストインタフェース;
(C) 前記第一のホストインタフェースと前記第二のホストインタフェースとをそれぞれ前記ホストへ接続し、それらのホストインタフェースにより共用される信号線を含むバス;及び、
(D) 前記第一のホストインタフェースと前記第二のホストインタフェースとの内、一方のホストインタフェースから前記信号線への信号の出力時、他方のホストインタフェースからその信号線への信号を遮断するための出力調停部;
を有する複合入出力装置。 - (A) 前記第一のホストインタフェースと前記第二のホストインタフェースとのそれぞれが、前記ホストとの間で交換される信号のための出力端子、及び、その信号の出力を通知するストローブ信号を出力するためのストローブ出力端子、を含み;
(B) 前記出力調停部が、
(a) 前記信号線へ信号を出力するための共通出力端子、
(b) 前記第二のホストインタフェースからの前記ストローブ信号に応じ、前記第一のホストインタフェースの出力端子から前記共通出力端子への信号を遮断するための第三のマスク、
(c) 前記第一のホストインタフェースからの前記ストローブ信号に応じ、前記第二のホストインタフェースの出力端子から前記共通出力端子への信号を遮断するための第四のマスク、及び、
(d) 前記第三のマスクを通過した前記第一のホストインタフェースの出力端子から前記共通出力端子への信号と、前記第四のマスクを通過した前記第二のホストインタフェースの出力端子から前記共通出力端子への信号との論理和を計算し、その計算結果を前記共通出力端子へ出力するための第三の論理和演算部、
を含む;
請求項3記載の複合入出力装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002158061A JP2004005053A (ja) | 2002-05-30 | 2002-05-30 | 複合入出力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002158061A JP2004005053A (ja) | 2002-05-30 | 2002-05-30 | 複合入出力装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004005053A true JP2004005053A (ja) | 2004-01-08 |
Family
ID=30428592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002158061A Pending JP2004005053A (ja) | 2002-05-30 | 2002-05-30 | 複合入出力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004005053A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005094066A1 (ja) * | 2004-03-25 | 2005-10-06 | Sony Corporation | 情報信号処理装置、機能ブロック制御方法および機能ブロック |
JP2007058518A (ja) * | 2005-08-24 | 2007-03-08 | Renesas Technology Corp | メモリカード |
-
2002
- 2002-05-30 JP JP2002158061A patent/JP2004005053A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005094066A1 (ja) * | 2004-03-25 | 2005-10-06 | Sony Corporation | 情報信号処理装置、機能ブロック制御方法および機能ブロック |
JPWO2005094066A1 (ja) * | 2004-03-25 | 2008-02-14 | ソニー株式会社 | 情報信号処理装置、機能ブロック制御方法および機能ブロック |
US7970968B2 (en) | 2004-03-25 | 2011-06-28 | Sony Corporation | Apparatus and method for controlling plural functional blocks using common command |
JP2007058518A (ja) * | 2005-08-24 | 2007-03-08 | Renesas Technology Corp | メモリカード |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100593162C (zh) | 接口电路、使用该接口电路的系统装置、数据接口方法 | |
CN101136000B (zh) | 实现sd主机/从属设备的应用处理器电路和电子设备 | |
US9430432B2 (en) | Optimized multi-root input output virtualization aware switch | |
KR101181150B1 (ko) | PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션 | |
US7827323B2 (en) | System and method for peripheral device communications | |
EP3109769A2 (en) | Multiprocessor system with improved secondary interconnection network | |
JP2006318480A (ja) | メモリシステム、および、メモリシステムのメモリチップにアクセスする方法 | |
CN108476158B (zh) | 多个通信总线上的基于优先级的数据通信 | |
KR20090077015A (ko) | 듀얼-모드 메모리 상호접속을 포함하는 메모리 제어기 | |
KR101679333B1 (ko) | 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템 | |
US8423703B2 (en) | Data transfer in memory card system | |
CN107861893B (zh) | I3c验证从设备、主从设备的通信验证系统及方法 | |
WO2006126777A1 (en) | Sharing memory interface | |
US20100023669A1 (en) | Host controller disposed in multi-function card reader | |
CN113867836A (zh) | 用于fpga的装置、程序动态加载方法及数据传输方法 | |
WO2014023247A1 (zh) | 嵌入式设备和基于该设备进行数据通信的控制方法 | |
US20060049264A1 (en) | Communication transaction control between independent domains of an integrated circuit | |
JP2004005053A (ja) | 複合入出力装置 | |
US8135895B2 (en) | Virtual SATA port multiplier, virtual SATA device, SATA system and data transfer method in a SATA system | |
WO1996033464A1 (en) | Processing unit to clock interface | |
EP1451698B1 (en) | High-speed interchip interface protocol | |
JP2009093445A (ja) | リムーバブル記憶装置、ホスト装置および記憶システム | |
US6697890B1 (en) | I/O node for a computer system including an integrated I/O interface | |
US7861026B2 (en) | Signal relay device and method for accessing an external memory via the signal relay device | |
JPWO2005066745A1 (ja) | バスシェアーアダプター |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050524 |