JP4341043B2 - I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置 - Google Patents

I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置 Download PDF

Info

Publication number
JP4341043B2
JP4341043B2 JP27986695A JP27986695A JP4341043B2 JP 4341043 B2 JP4341043 B2 JP 4341043B2 JP 27986695 A JP27986695 A JP 27986695A JP 27986695 A JP27986695 A JP 27986695A JP 4341043 B2 JP4341043 B2 JP 4341043B2
Authority
JP
Japan
Prior art keywords
data
memory
address
input
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.)
Expired - Fee Related
Application number
JP27986695A
Other languages
English (en)
Other versions
JPH10289044A (ja
Inventor
真彦 久野
Original Assignee
真彦 久野
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to JP27986695A priority Critical patent/JP4341043B2/ja
Application filed by 真彦 久野 filed Critical 真彦 久野
Priority to US08/913,170 priority patent/US6138173A/en
Priority to EP96904322A priority patent/EP0831390A4/en
Priority to EP05019597A priority patent/EP1653335A2/en
Priority to PCT/JP1996/000519 priority patent/WO1996027828A1/ja
Publication of JPH10289044A publication Critical patent/JPH10289044A/ja
Priority to US09/644,650 priority patent/US6557047B1/en
Priority to US10/197,479 priority patent/US6735638B2/en
Priority to US10/787,116 priority patent/US6952742B2/en
Application granted granted Critical
Publication of JP4341043B2 publication Critical patent/JP4341043B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4269Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、PC/AT若しくはそれと互換のパーソナルコンピュータのパラレルインターフェイス(または、これと同等のパラレル入出力コネクター)に接続して入出力を拡張する事が可能なI/O拡張装置と、この装置を応用した装置及びこの装置を応用した方法に関する。
【0002】
【従来の技術】
パーソナルコンピュータの拡張を行うには、デスクトップマシンでは、通常本体に拡張ボードを挿入して行われる。PC/AT若しくはその互換機では、ISAバスといわれる規格に適合した拡張ボードをバススロットに挿入して拡張が行われる。ノートブックサイズの携帯用のパーソナルコンピュータでは、ドッキングステーションなどの拡張用のボックスを接続してデスクトップ用の拡張ボードを増設する事が可能になっている。
【0003】
最近では、PCMCIA規格が規定され、この規格にあったICカード(PCカードと呼ばれる)をカードスロットに挿入する事によって拡張する事が可能な機種が販売されている。
【0004】
【発明が解決しようとする課題】
デスクトップマシンのように、本体に拡張ボードを挿入して拡張するような場合、本体の筐体を開けなければならない。これは、煩わしい作業であり、コンピュータの知識のないものにとっては難しい作業である。
【0005】
また、携帯用のパーソナルコンピュータでは、ドッキングステーションを接続したのではその携帯性という利点が大きく失われ、また、ドッキングステーションを購入するための余分な出費を強いられる。
【0006】
PCMCIA規格のICカードをカードスロットに挿入する拡張方法は、通常デスクトップのマシンではカードスロットをサポートしていないために新たな拡張を行うための拡張ボードなどを購入する事を強いられる。さらに、PCMCIA規格では、増設メモリー用のカードから発展してきたためかICカードの大きさに制限がある。したがって、ICカードによる増設では、拡張に制限がある。
【0007】
【課題を解決するための手段】
そこで、本発明は、上記課題を解決するために、拡張ボードをバススロットに挿入することもICカードを挿入する事にもよらない新たな入出力を拡張するためのI/O拡張装置と、この装置を応用した装置及び方法を提供する事をその目的とする。
【0008】
また、本発明は、上記I/O拡張装置を用いて、ICカードのように本体に挿入する事によって様々な用途に使え、かつ携帯性の良いパーソナルコンピュータを提供することをその目的とする。
【0009】
本発明に係るI/O拡張装置は、データ入力と、データ出力と、制御入力とを有し、データ入力に与えられたデータを保持して出力するポート複数と、データ入力からポートへのデータ転送をするためのデータバスとを備え、制御入力に与えられた制御信号もしくはデータ入力に与えられたコマンドによりポートのうち一つを選択し、この選択されたポートにデータ入力からのデータを転送し、又は選択されたポートのデータをデータ出力から出力する。
【0010】
ここで、本発明に係るI/O拡張装置は、データ出力にポートのうち選択された一つからデータを転送するための他のデータバスをさらに備える事を特徴としてもよい。
これによって、本発明に係るI/O拡張装置で、I/O拡張をし得る。
【0011】
また、本発明に係る外部記憶装置は、データを記憶するためのメモリと、
データ入力及び制御入力を有する回路とを備え、この回路は、制御入力からの制御信号により、データ入力からコマンド、データ、アドレスのいずれかを入力し、コマンドに応じてデータ又はアドレスをメモリに与えてデータをメモリー中のアドレスに記憶しもしくはメモリのアドレスのデータを出力する。これにより大きなアドレスを有する。
【0012】
ここで、この回路は、データ及びアドレスをメモリに与えるポート複数と、データ入力からポートへのデータ転送をするためのデータバスとを有し、コマンドによりポートの一つを選択してこの選択されたポートにデータ及びアドレスを保持してメモリに与える事を特徴としてもよい。
【0013】
また、本発明に係る外部記憶装置は、データを記憶するためのメモリと、 データ入力、データ出力及び制御入力を有する回路とを備え、この回路は、制御入力からの制御信号により、データ入力からデータ又はアドレスを入力してデータ又はアドレスをメモリに与え、メモリ中のアドレスにデータを記憶し、もしくはメモリのアドレスのデータをデータ出力から出力する。これにより、上記に加え、入力と出力とを別にできる。
【0014】
ここで、この回路は、データ及びアドレスをメモリに与えるポート複数と、データ入力からポートへのデータ転送をするためのデータバスとを有し、ポートの一つを選択してこの選択されたポートにデータ及びアドレスを保持してメモリに与え、又は選択されたポートのデータをデータ出力から出力する事を特徴としてもよい。
【0015】
そして、データ出力にポートのうち選択された一つからデータを転送するための他のデータバスをさらに備える事を特徴としてもよい。
【0016】
上記回路は、制御入力への制御信号のビット又はデータ入力から与えられたコマンドにより、ポートの選択と書き込み及び読み出しとを制御する事を特徴としてもよい。
【0017】
また、上記ポートは、データバスのデータを保持するとともにメモリに与える複数のフリップロップと、メモリのデータをデータ出力に出力するバッファとを含んで構成されている事を特徴としてもよい。
【0018】
さらに、メモリは、連続的にデータを出力するモードを有する事を特徴としてもよい。
これによって、本発明に係る上記外部記憶装置は、与えられたアドレスにデータを記憶し、もしくは与えられたアドレスのメモリ中のデータを出力し得る。
【0019】
また、本発明に係るアクセス方法は、データを記憶するためのメモリと、データ入力及び制御入力を有する回路とを備え、回路は、制御入力からの制御信号により、データ入力からコマンド、データ、アドレスのいずれかを入力し、コマンドに応じてデータ又はアドレスをメモリに与えてデータをメモリ中のアドレスに記憶しもしくはメモリのアドレスのデータを出力する外部記憶装置へのアクセス方法であり、第1のコマンドとアドレスとをデータ入力に与えて回路からメモリにアドレスを出力し、第2のコマンドとデータとをデータ入力に与えて回路からメモリにデータを出力してデータをメモリのアドレスに記憶させる。これにより大きなアドレスを有する。
【0020】
また、本発明に係るアクセス方法は、データを記憶するためのメモリと、データ入力及び制御入力を有する回路とを備え、回路は、制御入力からの制御信号により、データ入力からコマンド、データ、アドレスのいずれかを入力し、コマンドに応じてデータ又はアドレスをメモリに与えてデータをメモリ中のアドレスに記憶しもしくはメモリのアドレスのデータを出力する外部記憶装置へのアクセス方法であり、第1のコマンドとアドレスとをデータ入力に与えて回路からメモリにアドレスを出力し、第3のコマンドをデータ入力に与えてメモリからアドレスのデータを出力させる。
これらのアクセス方法により、与えられたコマンドに応じて、より大きな与えられたアドレスにデータを記憶し、もしくは与えられたアドレスのメモリ中のデータを出力させアクセスし得る。
【0021】
また、本発明に係るアクセス方法は、データを記憶するためのメモリと、データ入力、データ出力及び制御入力を有する回路とを備え、回路は、制御入力からの制御信号により、データ入力からデータ又はアドレスを入力してデータ又はアドレスをメモリに与え、メモリ中のアドレスにデータを記憶するとともにデータ出力から出力し、もしくはメモリのアドレスのデータをデータ出力から出力する外部記憶装置へのアクセス方法であり、第1の制御信号を制御入力にアドレスをデータ入力に与えて回路からメモリにアドレスを出力し、第2の制御信号を制御入力にデータをデータ入力に与え、回路からメモリにデータを出力してデータをメモリのアドレスに記憶させる。これにより、上記に加え、入力と出力とを別にできる。
【0022】
また、本発明に係るアクセス方法は、データを記憶するためのメモリと、データ入力、データ出力及び制御入力を有する回路とを備え、回路は、制御入力からの制御信号により、データ入力からデータ又はアドレスを入力してデータ又はアドレスをメモリに与え、メモリ中のアドレスにデータを記憶するとともにデータ出力から出力し、もしくはメモリのアドレスのデータをデータ出力から出力する外部記憶装置へのアクセス方法であり、第1の制御信号を制御入力にアドレスをデータ入力に与えて回路からメモリにアドレスを出力し、第3の制御信号を制御入力にデータをデータ入力に与え、回路からメモリのアドレスのデータをデータ出力から出力させる。
これらのアクセス方法により、データ入力から与えられたアドレスにデータを記憶し、もしくは与えられたアドレスのメモリ中のデータをデータ出力から出力させ、より大きなアドレスをアクセスし得る。
【0023】
ここで、メモリのアドレスに記憶されるデータを外部記憶装置から入力して、そのデータが正確かを確かめる事を含むようにしてもよい。
【0024】
さらに、アドレスの一部を外部記憶装置に保持されたアドレスの選択されたビットにセットしてアドレスを回路からメモリに出力する事を特徴としてもよい。
【0025】
また、本発明に係るアクセス装置は、データを記憶するためのメモリと、データ入力及び制御入力を有する回路とを備え、回路は、制御入力からの制御信号により、データ入力からコマンド、データ、アドレスのいずれかを入力し、コマンドに応じてデータ又はアドレスをメモリに与えてデータをメモリ中のアドレスに記憶しもしくはメモリのアドレスのデータを出力する外部記憶装置へのアクセス装置であり、制御入力に制御信号を、データ入力にコマンド、データもしくはアドレスを与えるためのインターフェイスと、外部記憶装置へ電力の供給をするとともに、インターフェイスとデータ入力及び制御入力とを接続するためのコネクタとを有し、インターフェイスからコマンド、データもしくはアドレスをデータ入力に制御信号を制御入力に与えて、データをメモリのアドレスに記憶させ又はメモリからアドレスのデータをインターフェイスへ出力させる。これにより大きなアドレスを有するアクセスが可能になる。
【0026】
また、本発明に係るアクセス装置は、データを記憶するためのメモリと、データ入力、データ出力及び制御入力を有する回路とを備え、回路は、制御入力からの制御信号により、データ入力からデータ又はアドレスを入力してデータ又はアドレスをメモリに与え、メモリ中のアドレスにデータを記憶し、もしくはメモリのアドレスのデータをデータ出力から出力する外部記憶装置へのアクセス装置であり、制御入力に制御信号を、データ入力にデータもしくはアドレスを与え、データ出力からのデータを入力するためのインターフェイスと、外部記憶装置へ電力の供給をするとともに、インターフェイスとデータ入力、データ出力及び制御入力とを接続するためのコネクタとを有し、インターフェイスからデータもしくはアドレスをデータ入力に制御信号を制御入力に与えて、データをメモリのアドレスに記憶させ、又はメモリからアドレスのデータをデータ出力からインターフェイスへ出力させる。これにより、上記に加え、入力と出力とを別にできる。
【0028】
ここで、メモリのアドレスに記憶されるデータを入力して、そのデータが正確かを確かめる事を含むようにしてもよい。
【0029】
アドレスの一部を外部記憶装置に保持されたアドレスの選択されたビットにセットしてアドレスを回路からメモリに出力する事を特徴としてもよい。
【0030】
コネクタを介して外部記憶装置への電力の供給を制御する事を特徴としてもよい。
【0031】
インターフェイスが備えられたマイクロコントローラを含んで構成されている事を特徴としてもよい。
【0032】
インターフェイスは、外部記憶装置を複数接続可能であり、コネクタは、インターフェイスと外部記憶装置複数とを接続するとともに外部記憶装置のデータ入力を共通に接続する事を特徴としてもよい。
【0033】
メモリは連続的にデータを出力するモードを有し、インターフェイスから状態を変化させてメモリをモードで動作させる事を特徴としてもよい。
【0043】
また、本発明に係るアクセス装置は、データを記憶するするためのメモリと、データ入力、データ出力及び制御入力とを有し、制御入力からの制御信号により、データ入力からコマンドを入力し、メモリのデータをデー夕出力から出力する外部記憶装置へのアクセス装置であって、制御入力に制御信号を、データ入力にコマンドを与え、データ出力からのデータを入力するためのインターフェイスと、外部記憶装置へ電力の供給をするとともに、インターフェイスとデータ入力、データ出力及び制御入力とを接続するためのコネクタとを有し、インターフェイスからコマンドをデータ入力に与えるとともに制御信号を制御入力に与え、メモリからデータをデータ出力からインターフェイスへ出力させる。これにより、メモリのデータをデータ出力からインターフェイスへ出力させ得る。
【0045】
【実施例】
本発明は、PC/AT若しくはその互換機のパラレルインターフェイスを利用して拡張を可能にするものであるので、まず、そのパラレルインターフェイスについて説明する。
【0046】
パラレルインターフェイスは、プリンターの接続に使われることからプリンターポートとも呼ばれ、IBM社発行「Technical Refference Personal Computer AT 」に記載されている。図1は、パーソナルコンピュータ本体内部のパラレルインターフェイスの構成を示したものである。
【0047】
パラレルインターフェイスには、25ピンのDSUBコネクター(メス)が通常使用され、コンピュータの外部の装置に8ビットパラレルデータの出力が可能になっている。このパラレルインターフェイスには、データレジスタ(Data Register ),ステータスレジスタ(Status Register ),コントロールレジスタ(Control Register)の3つのレジスタがあり、これらはパーソナルコンピュータのマザーボードのインターフェイス(PC Interface )であるISAバスに接続され、図示せぬCPU からアクセスできるようになっている。データレジスタ及びコントロールレジスタは、CPU から書き込み・読みだしの両方が可能であり、ステータスレジスタは読みだしだけが可能になっている。
【0048】
データレジスタの状態は、DSUBコネクターのピン2からピン9に出力され、この信号はD0からD7という名前がつけられている。コントロールレジスタのビット0からビット3の状態は、DSUBコネクターのピン1,14,16,17にビット2を除いて反転されて出力される。これらの信号はSTB,ALF,INI,DSLという名前がつけられ、残りのビット4から7についてはリザーブされるている。ステータスレジスタのビット3から7は、DSUBコネクターのピン15,13,12,10,11の状態を示し、ビット7は反転された状態を示す。これらの信号は/FEH,OFON,PAP,/ACK,BSYという名前がつけられ、残りのビット4から7についてはリザーブされるている。また、ビット6(DSUBコネクターのピン10、信号/ACK)の状態をLにすることによってIRQ5又は7の割り込みを行う事が可能であり、これはコントロールレジスタのビット4によって割り込みの許可・不許可を制御する事ができる。この制御をするための回路(IRQ Logic )が設けられている。
【0049】
データレジスタのアドレスは、378H,278H,3BCH(Hは16進数であることを示す)いずれかに設定され、ステータスレジスタはデータレジスタのアドレスに1加えた値であり、コントロールレジスタのアドレスはデータレジスタのアドレスに2加えた値になっている。これらのアドレスをCPUから指定する事によって上記レジスタのいずれかにアクセスする事ができるようになっている。図のアドレスデコードコントロール回路(Address Decode Control)はCPUから出力されたアドレス(A0-A9)及びリードライト制御信号(IOR,IOW)から上記各レジスタの入出力制御を行う回路である。
【0050】
PC/ATでは、データレジスタに8ビットのデータを書き込んでコンピュータから外部の装置に8ビット並列のデータを出力する事ができる。しかし、この書き込んだデータをデータレジスタから読み取れるに過ぎないので、8ビット双方向の伝送はできない。PC/AT互換機の一部及びPS/2では、データレジスタを用いて8ビット双方向の伝送が可能にはなっているが、どのPC/ATまたはその互換機でもパラレルインターフェイスから外部からデータを入力できるのは、ステータスレジスタに限られている。
【0051】
本発明のI/O拡張装置は、上述のような事情に鑑み、どのPC/AT若しくはその互換機でもパラレルインターフェイスに接続し入出力を拡張する事を可能にしようとするものである。
【0052】
図2は、本発明のI/O拡張装置の構成例を示したものである。
【0053】
このI/O拡張装置は、パーソナルコンピュータ本体のパラレルインターフェイスに接続するためのコネクターCN1(カードエッジコネクターを含む。以下同じ)と、4ビットのデータ入出力ポート(PORT4,PORT5,..PORTn )を複数持つI/O拡張回路100とを有する。
【0054】
コネクターCN1のピン2〜9(データレジスタからの信号ラインD0〜D7)のうち4本は、I/O拡張回路100のデータ入力DIN に接続される。I/O拡張回路100は、このデータ入力DIN からコネクターCN1を介してパーソナルコンピュータ本体のデータレジスタからの4ビット並列の信号を入力するようになっている。ただし、パリティを含む場合は、I/O拡張回路のデータ入力DIN は、5ビットであり、信号ラインD0〜D7のうち5ビットが接続される。
【0055】
コネクターCN1のピン11〜13,15(ステータスレジスタへの信号ライン/FEH,BSY ,PAP ,ONOF)は、I/O拡張回路100の4ビットのデータ出力DOUTに接続される。I/O拡張回路100は、このデータ出力DOUTからコネクターCN1のピンを介してパーソナルコンピュータ本体のステータスレジスタに4ビット並列の信号を出力するようになっている。ただし、パーソナルコンピュータ本体にハードウェア割り込み信号を与える場合または4ビット並列信号のパリティを含む場合は、データ出力DOUTのもう一つの出力が、信号ライン/ACKに接続され、コネクターCN1のピン10を介してステータスレジスタのビット6に与えられるようになっている。割り込みはアクティブローである。
【0056】
コネクターCN1のピン1,14,16,17(コントロールレジスタからの信号ライン/STB,/ALF,/INI,/DSL)のうち必要なものが、I/O拡張回路100の制御入力CTRLに接続される。そのうち1本は、I/O拡張回路100のストローブ端子PROGに接続される。このストローブPROGが初期状態から遷移すると、I/O拡張回路100はデータ入力DIN からのコマンドを入力する。このコマンドによって、ポート4〜nのいずれかが選択されるとともに選択されたポートが書き込み又は読みだしモードに設定される。そして、読みだしモードの場合、選択されたポートの各端子の状態がデータ出力DOUTに出力される。書き込みモードの場合、選択されたポートに書き込むデータをデータ入力DIN に与えてストローブPROGが初期状態に戻るように遷移すると、選択されたポートの各端子に書き込むデータが出力される。
【0057】
また、コントロールレジスタからの信号ライン/STB,/ALF,/INI,/DSLの他の一つは、4ビットのデータ入力DIN への信号を有効か無効かを制御するための端子/EN に接続される。4ビットのデータ入力DIN に与えられた信号が有効であるためには、少なくとも端子/EN によって有効なるように制御されなければならない。
【0058】
この図2では、コントロールレジスタのビット0,1,3の状態によってIO拡張回路100の動作が制御され、ビット2の状態によってストローブPROGを制御するようになっている。
【0059】
なお、コネクターCN1のピン2〜9(データレジスタからの信号ラインD0〜D7)の残りは、I/O拡張回路100への電源供給ラインや必要に応じてI/O拡張回路100の制御入力CTRLに接続され、電源の供給や回路の制御に用いられる。
【0060】
図3は、本発明のI/O拡張装置の具体的な回路例を示したものである。このI/O拡張装置は、現状で手に入り易いIC(4ビットバスバッファU1A ,U1B ,IOエキスパンダU3,U4)を用い、これらを双方向の4ビットバスで接続したもっとも簡単な構成例の一つである。また、図3は、IO拡張回路100のポートPA1〜PA7,PB1〜PB7を介してメモリーIC28を接続する事によって簡単な外部記憶装置としての応用例も示している。
【0061】
表1は、パラレルインターフェイスの各レジスタ,コネクターCN1と図のI/O拡張回路との接続関係をまとめたものである。表の右側からパラレルインターフェイスの各レジスタ(register name,bit No.)と信号名(signal name ),コネクターCN1のピン番号(pin No. ),信号の方向(Destination ),バスバッファU1A ,U1B,IOエキスパンダU3及びU4などとの接続(Connection)を示している。なお、"-->"はコンピュータ本体から図のI/O拡張装置への出力を示し、"<--"は図のI/O拡張装置からコンピュータ本体への入力を示している。
【0062】
Figure 0004341043
4ビットバスバッファU1A の入力1Aから4Aは、I/O拡張回路100のデータ入力DIN をなす。これらは、パラレルインターフェイス接続用のコネクターCN1のピン2から5が接続され、データレジスタの下位4ビットの信号D0からD3が与えられている。バスバッファU1A のゲート制御端子/EN は、I/O拡張回路100のデータ入力DIN への信号を有効か無効かを制御するための端子をなす。この端子には、コネクターCN1のピン17が接続され、コントロールレジスタのビット3の信号DSL が与えられている。そして、コントロールレジスタのビット3の状態が"1"のとき(ピン17は"L")にのみ、信号D0からD3がバスバッファU1A 及び4ビットバスを介してIOエキスパンダU3及びU4のポートP20 からP23 に与えられるようになっている。
【0063】
4ビットバスバッファU1B の出力1Yから4Yは、I/O拡張回路100の4ビットのデータ出力DOUTをなす。これらは、コネクターCN1のピン15,13,12,11(信号/FEH,OFON,PAP ,/BSY)が接続され、バスバッファU1A を介してIOエキスパンダU3及びU4のポート(P20 からP23 )の状態がパーソナルコンピュータ本体のステータスレジスタのビット3,4,5,7に与えられるようになっている。また、コネクターCN1のピン10(信号/ACK)は、外部からの割り込み入力(/INT)が接続され、この割り込み入力(/INT)の状態がステータスレジスタのビット6に与えるようになっている。割り込み信号(/INT)はアクティブローである。
【0064】
バスバッファU1A のゲート制御端子/EN ,IOエキスパンダU3及びU4の端子CS,端子PROGは、I/O拡張回路100の制御入力CTRLをなす。IOエキスパンダの各端子及びコマンドなどについてはインテル社や互換チップメーカー発行のユーザーズマニュアルに記載されている通りである。
【0065】
IOエキスパンダU3及びU4の端子/CS ,端子PROGはコネクターCN1のピン1,14,16は、コントロールレジスタのビット0,1,2(信号STB ,ALF ,/INI)が接続されている。IOエキスパンダU3及びU4の端子/CS は、チップセレクト入力であり、この端子が"H"のときは出力又は内部ステータスの変更は一切出来ない。この端子も、I/O拡張回路100の動作を制御するものであり、データ入力DIN への信号を有効か無効かを制御するための端子をなすといえる。ピン1(コントロールレジスタのビット0)が"L"のときはIOエキスパンダU3が選択され、ピン1が"L"のとき(コントロールレジスタのビット0が"1")はIOエキスパンダU3が選択され、ピン14が"L"のとき(コントロールレジスタのビット1が"1")はIOエキスパンダU4が選択される。
【0066】
IOエキスパンダU3及びU4の端子PROGは、I/O拡張回路100のストローブ端子PROGをなす。端子/CS 及び端子/EN を"L"にしてストローブPROGを"H"から"L"にすると、データ入力DIN からのコマンドをフェッチする。このコマンドの上位2ビットがIOエキスパンダのポートの選択(表3)、下位2ビットが選択されたポートのモード設定となっている。
【0067】
コントロールレジスタのビット0,1,2の状態によってIOエキスパンダU3及びU4の動作が制御され、ビット4の状態によってストローブ端子PROGを制御するようになっている。
【0068】
Figure 0004341043
【0069】
例えば、コマンドが"20H "のとき、ポート6(P60 〜P63 )が選択され、このポート6は読みだし(READ)モードになる。ポート6の状態がバスバッファU1B の出力1Yから4Yに出力され、パーソナルコンピュータ本体のステータスレジスタに与えられる。また、コマンドが"01H "のとき、ポート4(P40 〜P43 )が選択され、このポート4は書き込み(WRITE )モードになる。そして、選択されたポートに書き込むデータをバスバッファU1A の入力1Aから4Aに与えてストローブPROGを"L"から"H"に戻すと、書き込むデータがポート4の各端子に出力される。
【0070】
コネクターCN1のピン6から9を、ショットキーバリアダイオードCR1 ないしCR4 を介しての電源ライン(+5V )に接続されている。このI/O拡張装置には、外部から電源を供給する事もできるが、消費電力を小さくしていることからパーソナルコンピュータ本体から電源の供給及びその制御ができるようになっている。電源の供給は、データレジスタの上位4ビットD4からD7を"1"にしてピン6から9を"H"にすることにより行われる。そして、"L"にすることにより電源の供給を停止できる。電源ライン(+5V )とグランドラインとの間には、コンデンサC1を接続してリプルを抑えるようにしている。
【0071】
また、電源ライン(+5V )とグランドラインとの間には、電源監視回路が接続されている。この電源監視回路は、電源ライン(+5V )の電圧が良好であるかどうかを監視するための回路であり、図のように、電源リセットIC(U2),トランジスタTR1 ,抵抗R1,発光ダイオードCR5 で構成する事が可能である。図の電源監視回路では、電源ライン(+5V )の電圧が電源リセットIC(U2)で決められた電圧以上になっているときに発光ダイオードCR5 を点灯して良好な電圧である事を示すようになっている。これらの回路で電源回路部120をなしている。
【0072】
IOエキスパンダU3及びU4のポートP40〜P43,P50〜P53,P60〜P63,P70〜P73は、それぞれI/O拡張回路100の入出力ポートをなす。ここでは、これらに便宜上符号PA4,PA4,PA5,PA6,PA7,PB4,PB5,PB6,PB7を用いている。所望のポートに出力する場合のパーソナルコンピュータ本体側のアルゴリズムは表4のようにI/O拡張回路100の制御入力の信号をコントロールして実現しうる。
【0073】
Figure 0004341043
また、IOエキスパンダU3及びU4の所望のポートから入力する場合、パーソナルコンピュータ本体側のアルゴリズムは表5のようにしてI/O拡張回路100の制御入力の信号をコントロールして実現しうる。
【0074】
Figure 0004341043
【0075】
図3の回路構成の場合、ポートへの出力は次のようにして行う事ができる。まず、コントロールレジスタの上位4ビットを"0111"にし、ビット3に0を、ビット2に1を、U3の場合はビット0に、U4の場合はビット1に1をセットする(表4状態0)。データレジスタの上位4ビットを"1111"にしたまま、下位4ビットに所望のポートへの書き込みコマンドをセットする(表4状態1)。そして、コントロールレジスタのビット2に0をセットする(表4状態2)。データレジスタの上位4ビットを"1111"にしたまま下位4ビットに書き込みデータをセットする(表4状態3)。コントロールレジスタのビット2に1をセットする(表4状態4)。
【0076】
これはアセンブラーやC言語等のコンピュータ言語を用いて実現できる。アセンブラで表せば次のようになる(ただし、変数portは表2に応じた0Hから3Hまでの値、変数chipはU3又はU4に応じた0H又は1Hのいずれかの値、変数prt_portはパラレルインターフェイスのアドレスである)。
【0077】
MOVE AL, chip
OR AL, ECH
OUT (prt_port+2), AL
MOVE AL, port
OR AL, F4H
OUT prt_port, AL
MOVE AL, chip
OR AL, E8H
OUT (prt_port+2), AL
MOVE AL, write_data
OR AL, F0H
OUT prt_port, AL
MOVE AL, chip
OR AL, ECH
OUT (prt_port+2), AL
【0078】
図3の回路構成の場合、ポートからの入力は次のようにして行う事ができる。コントロールレジスタの上位4ビットを"0111"にし、ビット3に0を、ビット2に1を、U3の場合はビット0に、U4の場合はビット1に1をセットする(表5状態0)。データレジスタの上位4ビットを"1111"にしたまま、下位4ビットに所望のポートへの読み込みコマンドをセットする(表5状態1)。そして、コントロールレジスタのビット2に0をセットする(表5状態2)。コントロールレジスタのビット3に1をセットする(表5状態3)。ステータスレジスタの状態を読み取り保存する(表5状態4)。コントロールレジスタのビット3に0を、ビット2に1をセットする(表5状態5)。
【0079】
これもアセンブラーやC言語等のコンピュータ言語を用いて実現できる。アセンブラで表せば次のようになる(ただし、読み取ったポートからのデータはALレジスタに保持される)。
【0080】
MOVE AL, chip
OR AL, ECH
OUT (prt_port+2), AL
MOVE AL, port
OR AL, F0H
OUT prt_port, AL
MOVE AL, chip
OR AL, E8H
OUT (prt_port+2), AL
MOVE AL, chip
OR AL, E8H
OUT (prt_port+2), AL
MOVE AL, chip
OR AL, E0H
OUT (prt_port+2), AL
IN AL, (prt_port+1)
MOVE BL, AL
MOVE AL, chip
OR AL, ECH
OUT (prt_port+2), AL
SHR BL, 3
AND BL, 07H
NOT AL
SHR AL, 4
AND AL, 08H
OR AL, BL
【0081】
このように、本発明のI/O拡張装置では、コントロールレジスタからの制御により、ストローブPROGを初期状態から遷移させて、データ入力DIN からコマンドを入力して所望のポートを書き込み又は読みだしモードにする。そして、読みだしモードの場合、選択されたポートの状態をデータ出力DOUTに出力させることができる。書き込みモードの場合、データ入力DIN に与えたデータを選択されたポートに出力することができる。すなわち、ワンチップマイクロコントローラのように、パラレルインターフェイスがあればどのパーソナルコンピュータでも、I/O拡張回路100の多数あるポートのうち所望のものへアクセスする事を可能にすることができるようになる。
【0082】
こうして、パラレルインターフェイスを介してパーソナルコンピュータの入出力端子を増加させ、入出力の拡張を実現する事ができる。I/O拡張装置のポートにリレーなどを接続してシーケンス制御に用いうる事はもとより、様々なハードウェアを接続し動作させる事もできる。
【0083】
図3は、メモリーIC28を用いたストレージデバイスの具体的な構成例であり、メモリーIC28としては、DRAM,SRAM,EEPROM,フラッシュメモリー,強誘電体メモリーなどを用いることができる。上述したポートにアクセスするためのアルゴリズムを用いて、書き込み・読みだしの動作をエミュレートする事によってメモリーIC28の書き込み及び読みだしを実現している。
【0084】
IOエキスパンダU4のポートP41-P43には、スイッチSW1〜SW3が接続され、このポートからスイッチの状態を読みだす事によって接続されたメモリーの識別が出来るようになっている。スイッチSW1 は、メモリーIC28の書き込み制御の為の端子/WE に接続され、このスイッチによって書き込み禁止にできるようになっている。また、スイッチSW2 はメモリーが接続されているかを識別するためのものである。スイッチSW3 は、そのアクセスがDRAMタイプかSRAMタイプかを識別するためのものである。図4は、IO拡張回路100のポートPA4 の各ビットの状態とメモリーの識別の関係を例示したものである。この例では、メモリーの書き込みができるかどうか(BIT3)、メモリーのアクセスシーケンスがSRAMかDRAMか(BIT2)、メモリーが接続されているかどうか(BIT1)が判別できるようになっている。
【0085】
図5及び図6に示す流れ図は、パーソナルコンピュータのデータレジスタ及びコントロールレジスタにデータを書き込み、ステータスレジスタから読み込むという上述したポートへのアクセスによってデータの読み込み・書き込みを1バイトづつ行う場合の例であり、図3の回路においてメモリーIC28にSRAMまたはEEPROMを用いた場合の例である。メモリーIC28のアドレス入力のための端子A0〜A14 、データ入出力のための端子Q0〜Q7、コントロールのための端子/CS ,/OE ,/WE はIOエキスパンダU3及びU4の各ポートに接続されている。
【0086】
データの読み込みの動作は次のようにして実現できる。メモリーのデータ端子Q0〜Q7に接続されたIOエキスパンダU4のポートP60-P63,P70-P73を読み込みモードにし、メモリーの制御のための端子/CS,/OE,/WE に接続されたIOエキスパンダU4のポートP5に"1101"を書き込み、P50,P52に"1",P51に"0"をセットする。端子/CS ,/OE は"H"状態になり、端子/WE は"L"状態になる。つぎに、メモリーのアドレス端子A0〜A13に接続されたIOエキスパンダU3のポートP40-P43,P50-P53,P60-P63,P70-P73 に書き込むアドレスをセットする。そのアドレスが端子A0〜A14 に与えられる。そして、IOエキスパンダU4のポートP5に"1100"を書き込み、P50に"0"をセットする。端子/CS は"L"状態になり、メモリーIC28にアドレスがフェッチされる。メモリーIC28内のそのアドレスのデータが端子Q0〜Q7に出力される。この出力されたデータをIOエキスパンダU4のポートP60-P63,P70-P73から読み込む。そして、IOエキスパンダU4のポートP5に"1101","1111"を順次書き込み、P50,P52に"1"をセットして端子/CS ,/OE ,/WE を初期状態の"H"状態にする。
【0087】
書き込み動作は次のようにして実現できる。IOエキスパンダU3,U4の各ポートを書き込みモードにし、IOエキスパンダU3のポートP40-P43,P50-P53,P60-P63,P70-P73 にアドレスをセットする。また、IOエキスパンダU4のポートP60-P63,P70-P73にデータをセットする。これらはいずれを先に行っても同じである。つぎに、IOエキスパンダU4のポートP5に"1110"を書き込み、P50に"0" をセットする。端子/WEは"L"状態になる。IOエキスパンダU4のポートP5に"1010"を書き込み、P52に"0"をセットする。端子/CS は"L"状態になり、メモリーIC28にアドレスがフェッチされる。そして、IOエキスパンダU4のポートP5に"1110"を書き込み、P52に"1"をセットする。端子/CS は"H"状態になる。IOエキスパンダU4のポートP60-P63,P70-P73にセットされたデータがメモリーIC28のそのアドレスにフェッチされる。IOエキスパンダU4のポートP5に"1111"を書き込み、P50に"1"をセットして端子/CS ,/OE ,/WE を初期状態の"H"状態にする。なお、メモリーIC28にEEPROMを用いた場合、次のアクセスまで一定時間のインターバルを明けておく。
【0088】
連続してアクセスする場合、IOエキスパンダU3のポートP40-P43,P50-P53,P60-P63,P70-P73 にセットするのは、アドレスのうち変更がある部分のみでよい。例えば、アドレス0Hに書き込みを行った後に、アドレス1Hにアクセスする場合、ポートPA7 に"0001"をセットするだけでよい。また、バーストモードをサポートするメモリーでは、端子/CS を変化させる事によってより高速に読みだす事ができる。
【0089】
図7は、メモリーIC28にDRAMまたはこれと同じ動作でアクセスするメモリー(例えば、フラッシュメモリーなど)を用いた場合の例であり、図8及び図9に示す流れ図は、図7の回路においてデータの読み込み・書き込みを行う場合の例である。
【0090】
読み込み動作は次のようにして行うことができる。まず、メモリーの制御のための端子/RAS,/WE,/CAS に接続されたIOエキスパンダU4のポートP5に"1111"を書き込む。メモリーの端子/RAS,/WE,/CASは"H"状態になる。そして、メモリーのアドレス端子A0〜A9に接続されたIOエキスパンダU3のポートP50-P53,P60-P63,P70-P73に上位アドレスをセットする。IOエキスパンダU4のポートP5に"0111"を書き込む。端子/RASは"L"状態になり、セットした上位アドレスがメモリーにとり込まれる。つぎに、IOエキスパンダU3のポートP50-P53,P60-P63,P70-P73に下位アドレスをセットする。そして、IOエキスパンダU4のポートP5に"0110"を書き込む。端子/CASは"L"状態になり、セットした下位アドレスがメモリーにとり込まれる。上位アドレス及び下位アドレスで指定されたアドレスのデータがメモリーから出力される。そして、このデータをメモリーのデータ端子Q0〜Q3に接続されたIOエキスパンダU4のポートP60-P63,P70-P73 からを読み込む。IOエキスパンダU4のポートP5に"1111"を書き込んで初期状態に戻して読み込みを終了する。
【0091】
ページモードまたはニブルモードで連続してデータの読み込みを行う場合、図8に示すように、IOエキスパンダU4のP5に"0111"を書き込み、端子/CASを"H"状態に戻した後、下位アドレスのセット及びデータの読み込みを繰り返す。
【0092】
書き込み動作は次のようにして行うことができる。まず、IOエキスパンダU4のポートP5に"1111"を書き込む。そして、IOエキスパンダU3のポートP50-P53,P60-P63,P70-P73に上位アドレスをセットする。IOエキスパンダU4のポートP5に"0111"を書き込む。IOエキスパンダU4のポートP60-P63,P70-P73にデータをセットする。IOエキスパンダU4のポートP5に"0011"を書き込む。端子/WEは"L"状態になり、書き込みモードになる。IOエキスパンダU3のポートP50-P53,P60-P63,P70-P73に下位アドレスをセットする。IOエキスパンダU4のポートP5に"0010"を書き込む。IOエキスパンダU4のポートP5に"0110"を書き込む。これによって、セットしたデータがメモリーにとり込まれる。IOエキスパンダU4のポートP5に"1111"を書き込んで初期状態に戻して書き込み終了する。
【0093】
上述のように、 本発明のI/O拡張装置によってメモリーを接続しこれを読み書きする事ができ、パラレルインターフェイスに接続するストレージデバイスを実現する事ができる。また、メモリーだけでなく、ほかのインターフェイスチップを接続し各ポートの状態を制御することによって動作させることも可能である。さらに、種類の違うもの複数を接続する事も可能である。図3の装置において、IOエキスパンダU4のポートP40 については、他のチップが接続されているかどうかの識別などに用いることができる。
【0094】
なお、データのビット幅が8ビットの場合を示したが、例えば、図7においてDRAM2を削除したり、メモリーを増やしたりして、ビット幅を4ビットや16ビットにするようにしてもよい。また、RAMとROMを混在させるようにもする事もできる。このような場合を識別するために、メモリーの最初の所定の範囲をヘッダ領域とし、このヘッダ領域にビット幅、メモリーの書替えが可能か、トータルメモリーサイズ、RAM領域の範囲、ROM領域の範囲などの識別のためのデータを書き込む事によって、汎用性のあるものにできる。
【0095】
このように、本発明のI/O拡張装置によってハードウェアをエミュレーションすることにより、メモリーやディスク装置などのストレージデバイス、SCSIインターフェイスやGPIBインターフェイスを実現することができ、イーサネットなどのネットワークアダプタ、A/D変換器、D/A変換器など、様々なハードウェアを接続し、パーソナルコンピュータ本体から制御する事によって、これらを動作させる事ができる。これらのハードウェアを種類の違うもの複数を接続する事も可能であり、レキシブルなI/O拡張を実現することができる。
【0096】
図10は、本発明のI/O拡張装置の他の構成例を示したものであり、I/O拡張回路100に3つのIOエキスパンダU3〜U5を用い、より多くのデータ入出力ポートPA4〜PA7,PB4〜PB7,PC4〜PC7を持つようにしたものである。
【0097】
コネクターCN1のピン1,14は、デコーダU11 に与えられ、このデコーダU11 の出力はIOエキスパンダU3〜U5の端子/CS を接続されている。表6に示すように、コントロールレジスタのビット0,1の状態によってIOエキスパンダU3,U4,U5のいずれかが選択されるようになっている。
【0098】
Figure 0004341043
【0099】
また、ポートPC6,PC7 には、各ポートごとに論理和をとるとともにポートPC6,PC7 への信号全ての論理和をとるためのANDゲートU12,U13,U14 が接続されている。ANDゲートU12 の出力はアクティブローの割り込み信号(/INT)としてステータスレジスタのビット6(/ACK)に与えられている。ポートPC6,PC7 を入力用として用いる場合、ポートPC6,PC7 からの入力によってパーソナルコンピュータ本体にハードウェア割り込みをかける事ができるようになっている。そして、割り込みがあったときに、ポートの状態を読みだす事によりどの端子から入力があったかを調べる事ができる。ポートPC6,PC7 からの入力に応じた処理を実行する事ができる。
【0100】
また、ANDゲートU13,U14 の出力はポートPC43,PC42に接続され、ハードウェア割り込みがあったときにポートPC4 の状態を読みだし、ビット3及び4の状態をチェックすることにより、いずれのポートPC6,PC7 から入力されたかを知る事ができるようになっている。特に入力端子が多い場合、このようにすることにより、よりスピーディに入力があった端子PC60〜PC63,PC70〜PC73を知る事ができるので、ポートPC6,PC7 からの入力に応じた処理をより早く起動する事ができる。
【0101】
これ以外の部分については、図3と同じである。したがって、図3の場合と同様の次の動作でアクセスできる。コントロールレジスタからの制御により、ストローブPROGを初期状態から遷移させて、データレジスタにセットしたコマンドをデータ入力DIN から入力して所望のポートを書き込み又は読みだしモードにする。そして、読みだしモードの場合、選択されたポートの状態をデータ出力DOUTに出力させステータスレジスタから読み取ることができる。書き込みモードの場合、データ入力DIN に与えたデータを選択されたポートに出力することができる。
【0102】
図10では、データレジスタの出力である端子D4〜D7に接続する回路については省略してある。この部分には、消費電力が小さい場合、図3と同様の電源回路を構成する事ができる。また、D4〜D7にデコーダを新たに接続し、この新たなデコーダの出力及び4ビットバスにさらにIOエキスパンダを接続する事によって、さらにI/O拡張をする事ができる。
【0103】
図11は、I/O拡張回路100の他の構成例を示したものである。図3及び10の回路は双方向の4ビットバスを用いたものであるのに対し、この図11の回路は、データ入力DIN からの4ビットデータを所望のポート(P4,P5,P6,P7...)に伝送する4ビットライトバス(4bit write BUS)と、選択されたポート(P4,P5,P6,P7...)からの4ビットデータをデータ出力DOUTに伝送する4ビットリードバス(4bit read BUS)とを用いて構成されている。これら2つの単方向の4ビットデータバスを用いた点に特徴がある。この回路は、通常のロジック回路を用いて構成することができ、ワンチップ化する事も可能なものである。
【0104】
このI/O拡張回路100の4ビットの各ポートには、DフリップフロップL4,L5,L6,L6,L7..及び入出力バッファB4,B5,B6,B6,B7..が接続されている。DフリップフロップL4〜L7..は、4ビットライトバス(4bit write BUS)を通ったデータ入力DIN からの4ビットデータD0〜D3を保持するためのものである。入出力バッファB4〜B7..は、制御回路MUX からの制御により、DフリップフロップL4〜L7..に保持された4ビットデータを各ポートに出力し、若しくは外部から各ポートに与えられた信号を4ビットリードバスに与えるための回路である。
【0105】
制御回路MUX は、信号PROGが"H"状態から"L"状態に遷移するときに、データ入力DIN からの4ビットのコマンドをフェッチし、このコマンドに応じて選択されたポートを書き込み又は読みだしモードに設定する。そして、コマンドによって選択されたポートの状態を入出力バッファを介してデータ出力DOUTに出力させる。書き込みモードの場合、選択されたポートに書き込むデータをデータ入力DIN に与えてストローブPROGが"H"状態に戻るように遷移すると、DフリップフロップL4〜L7..のうちコマンドによって選択されたものに書き込むデータD0〜D3をフェッチさせ、入出力バッファB4〜B7..から選択されたポートの各端子に出力させる。読みだしモードの場合、上記書き込みモードの動作はなく、選択されたポートの状態がデータ出力DOUTに出力させるだけである。
【0106】
制御回路MUX のコマンドとしては、表2,3に示したものを用いる事もできるが、"ANLD","ORLD"の二つのモードはかならすしも使用されない事から、表7及び8に示すコマンドにし、8つのポートを選択するようにする事もできる。
【0107】
Figure 0004341043
【0108】
図12は、表7及び8に示すコマンドを用いた場合の制御回路MUX の構成例である。この図12の回路は、DフリップフロップFF0〜FF3,デコーダDEC ,ラッチLL10〜LL17という標準ロジックを用いて構成されている。
【0109】
DフリップフロップFF0〜FF3は、信号PROGが"H"状態から"L"状態に遷移するときに、データ入力DIN からの4ビットのコマンドをフェッチし、デコーダDEC にあたえる。デコーダDEC は、フェッチされたコマンドの下位3ビットからそれに応じたポートのDフリップフロップL4 〜L11及び入出力バッファB4 〜B11に制御信号を出力する。このとき入出力バッファB4 〜B11のうち選択された入出力バッファからそのポートの状態をデータ出力DOUTに出力させる。ラッチLL10〜LL17は、ポートごとに設けられ、そのモードが"READ"か"WRITE"を保持するためのものである。DフリップフロップFF3は、コマンドが"READ"か"WRITE"かを保持するためのものであり、このレジスターの状態は、信号PROGが"H"状態に戻るときに、選択されたポートに対応するラッチLL10〜LL17に保持される。書き込み"WRITE "モードが保持されると、該当する入出力バッファB4 〜B11は、DフリップフロップL4 〜L11のうちコマンドによって選択されたものの状態をそのポートに出力する。
【0110】
このI/O拡張回路100は、4ビットバスが単方向であることから、4ビットデータの方向を切り換える必要がなくなる。そのため、この回路を用いて本発明のI/O拡張装置を構成することにより、より高速動作を実現する事ができる。
【0111】
図13は、本発明のI/O拡張装置について、さらに他の構成例を示したものである。このI/O拡張装置も、コネクターCN1(これがカードエッジコネクターである場合も含む)とI/O拡張回路100とで構成され、上述した実施例と同様の構成を持つ電源電圧監視回路120を有している。この図13の実施例では、I/O拡張回路100をIOエキスパンダにかえて基本的なロジックを用いて構成したものであり、ワンチップ化する事も可能なものである。そして、次のような構成になっている。
【0112】
I/O拡張回路100は、4ビットライトバス(4bit write BUS)と、4ビットリードバス(4bit read BUS) とを有し、これら2つの単方向の4ビットデータバスを用いた点に特徴がある。4ビットライトバスは、バッファU1A を介してそのデータ入力DIN からの4ビットデータが与えられ、後述するように入出力回路101〜108のうち一つを介して所望のポート(PA4,PA5...PA7,PA4..PA7)に伝送するようになっている。4ビットリードバスは、入出力回路101〜108のうち一つを介してポート(PA4,PA5...PA7,PA4...PA7 )からの4ビットデータをデータ出力DOUTに伝送するようになっている。
【0113】
デコーダU110は、その入力A0〜A2がI/O拡張回路100の制御入力CTRLに接続され、コネクターCN1のピン1,14,16(コントロールレジスタからの信号ライン/STB,/ALF,/INI)が与えられている。そして、デコーダU110のデコード出力/O0〜/O7は、アクティブローであって、コントロールレジスタのビット0,1,2によって後述する入出力回路101〜108のうち一つを選択できるできるようになっている(ただし、ビット2はデコーダU110の入力A2に反転されて与えられるようになっている)。
【0114】
入出力回路101〜108は、各入出力ポートPA4〜PA7,PB4〜PB7 にそれぞれ設けられている。そして、この入出力回路101〜108は、デコード出力/O0〜/O7があった場合に、ポートPA4〜PA7,PB4〜PB7 に出力するためのデータを保持して出力し、もしくはポートPA4〜PA7,PB4〜PB7 からのデータを入力するようになっている。ポートに出力するための4ビットデータが保持されるかは、制御入力CTRLのビット3の状態で決まる。これら入出力回路101〜108は、制御入力CTRLのビット3(コネクターCN1のピン17即ちコントロールレジスタ(ビット3)からの信号ライン/STB,/ALF,/INI,/DSL)の状態が”L”のときに、デコーダU110のデコード出力/O0〜/O7(コネクターCN1のピン1,14,16即ちコントロールレジスタからの信号ライン/STB,/ALF,/INI)で選択された入出力回路101〜108のラッチU111A に4ビットデータを保持し、出力するようになっている。また、デコーダU110のデコード出力/O0〜/O7(コネクターCN1のピン1,14,16即ちコントロールレジスタ(ビット0,1,2)からの信号ライン/STB,/ALF,/INI)で選択された入出力回路101〜108のバッファU111B からの4ビットデータが出力されるようになっている。
【0115】
入出力回路101〜108は、図のように、入出力ポートPA4〜PA7,PB4〜PB7 に与えられたデータを4ビットリードバスに出力するための4ビットバッファ U111B、4ビットリードバスに与えられたデータを入出力ポートPA4〜PA7,PB4〜PB7 に保持し出力するための4ビットラッチ U111Aで構成される。そして、バッファ U111Bの動作を制御するためのゲート U111C、バッファ U111Bの動作を制御するためのゲート U111D、入出力ポートPA4 〜PA7,PB4〜PB7のリード・ライトの状態を保持するためのDフリッププロップ(以下、D−FF)U111Eで構成することができる。図14は、図13の回路構成での動作を示したものである。これを用いてその動作を説明する。
【0116】
まず、入出力ポートPA4〜PA7,PB4〜PB7 のうちの一つへ4ビットデータを書き込むには次のようにして行なわれる。はじめに、コンピュータ本体のデータレジスタの下位4ビットに出力すべき4ビットデータをセットし、コネクターCN1のピン1,2,3,4からこの4ビットデータを出力させてデータ入力DIN に与える(図14(A))。この4ビットデータは、4ビットライトバスに出力される。
【0117】
また、コンピュータ本体のコントロールレジスタの下位3ビットに出力すべきポートを選択するための3ビットデータ(ただしビット0,1,3は反転される)をセットし、コネクターCN1のピン1,14,16からこの3ビットデータを出力させる。また、コントロールレジスタのビット3に書き込み状態である”0”をセットする。これを3ビットデータとともにI/O拡張回路100の制御入力CTRLに与える(制御入力CTRLのビット3(CTRL3)は”H”状態である)。制御入力CTRLのビット0,1,2からの3ビットデータにより、デコーダU110のデコード出力/O0〜/O7の1つが”L”になる(図14(B))。これによって、入出力ポートPA4〜PA7,PB4〜PB7 のうちの一つを選択し、入出力回路101〜108の一つをアクティブにするようになっている。
【0118】
デコード出力/O0〜/O7の1つが”L”になると、その立ち下がりエッジにおいて、選択された入出力回路101〜108のD−FF U111Eに、コントロールレジスタのビット3の値である”0”がセットされる。この値は選択された入出力ポートへの書き込みを行なうことを示し、コネクターCN1のピン17の状態即ち制御入力CTRLのビット3を”L”にしても(図14(C)の波形の立ち上がり)、その状態がD−FF U111Eに保持されるようになっている。
【0119】
制御入力CTRLのビット3の状態”H”及び該当するデコード出力/O0〜/O7の状態”L”から、選択された入出力回路101〜108のゲート U111Dの出力は”H”状態になる。ラッチ U111Aはデータの取り込み可能な状態になり、データ入力DIN から4ビットライトバスに出力された4ビットデータが、4ビットラッチ U111Bにラッチされる。また、D−FF U111Eからその保持された値”0”が出力されることによって、ラッチ U111Aはデータの出力可能な状態になって、4ビットデータが、入出力ポートPA4〜PA7,PB4〜PB7 のうち選択されたものから出力される(図14(D))。
【0120】
こうして、データ入力DIN から4ビットライトバスに出力された4ビットデータが、4ビットラッチ U111Bにラッチされ、入出力ポートPA4〜PA7,PB4〜PB7 のうち選択されたものから出力することが可能であり、こうして所望のポートに書き込むことができる。
【0121】
また、制御入力CTRLのビット3に”1”をセットすると(図14(C)の波形の立ち下がり)、選択された入出力回路101〜108のゲート U111Cの出力は”L”状態になり、選択された入出力ポートに与えられた4ビットデータがバッファ U111Bを介して4ビットリードバスに出力される。そして、この4ビットリードバスに出力された4ビットデータは、バッファU1B を介してデータ出力DOUTに出力されるようになっている(図14(E))。
【0122】
出力された4ビットデータは、コネクターCN1のピン11〜13,15を介してステータスレジスタのビット3,4,5,7に与えられる。これをコンピュータ本体側で読み込むことによって、入出力ポートからの4ビットデータを取り込むことができるようになっている。
【0123】
入出力ポートPA4〜PA7,PB4〜PB7 のうちの一つへ4ビットデータを出力する場合、データを出力するだけでなく、その出力したデータが正しいかどうか確かめることもできる。これはアセンブラーやC言語等のコンピュータ言語を用いて実現できる。アセンブラで表せば次のようになる(ただし、変数write_dataは書き込みデータ、変数port'は入出力ポートPA4〜PA7,PB4〜PB7 を示す値であって、0Hから7Hまでのいずれかの値でビット0,1,2は反転されている。変数prt_portはパラレルインターフェイスのアドレスである)。なお、次の例はPC−XT互換機など8ビットのCPUでも利用できるようにすることを配慮したものであり、レジスタ転送命令やストリング転送命令などを用いて16,32ビットのCPUで高速処理できるように直すことができる。
【0124】
Figure 0004341043
【0125】
次に、読み込みは、書き込みと同様であるが、コントロールレジスタ(ただし、ビット0,1,3は反転される)のビット3に”1”をセットしたままである点が異なる。書き込みは次のようにして行なわれる。
【0126】
コントロールレジスタのビット3に”1”をセットし、制御入力CTRLのビット3を”L”にした状態にする(図15(B))。そして、コンピュータ本体のコントロールレジスタのビット0,1,2に出力すべきポートを選択するための3ビットデータをセットし、コネクターCN1のピン1,14,16からこの3ビットデータを出力させる(図15(A))。
【0127】
制御入力CTRLの3ビットデータにより、上記3ビットデータによりデコーダU110のデコード出力/O0〜/O7の1つが”L”になり、制御入力CTRLのビット3が”L”状態でになることによって、ゲート U111Cの出力は”L”状態になる。4ビットバッファ U111Bは、データ出力可能な状態になり、入出力ポートPA4〜PA7,PB4〜PB7 のうちデコーダU110で選択されたものに与えられた4ビットデータがバッファ U111Bを介して4ビットリードバスに出力される。そして、この4ビットリードバスに出力された4ビットデータは、バッファU1B を介してデータ出力DOUTに出力される(図14(C))。
【0128】
出力された4ビットデータは、コネクターCN1のピン11〜13,15を介してステータスレジスタのビット3,4,5,7に与えられる。これをコンピュータ本体側で読み込むことによって、入出力ポートからの4ビットデータを取り込むことができる。
【0129】
また、デコーダU110のデコード出力/O0〜/O7の1つが”H”から”L”に変化することにより、D−FF U111Eにコントロールレジスタのビット3の値である”1”がセットされる。この値は選択された入出力ポートからの読み込みを示し、D−FF U111Eの出力が”1”になることによって、ラッチ U111Aの出力はハイインピーダンス状態になってその出力は禁止される。
【0130】
こうして、入出力ポートPA4〜PA7,PB4〜PB7 のうちコントロールレジスタの下位3ビットで選択されたものから、4ビットデータをコンピュータ本体に読み込むことができる。また、当該ポートを読み込み状態にすることができる。
【0131】
この読み込み動作もアセンブラーやC言語等のコンピュータ言語を用いて実現できる。アセンブラで表せば次のようになる(ただし、読み取ったポートからのデータはALレジスタに保持される)。
【0132】
Figure 0004341043
【0133】
上述した図13の実施例で示したI/O拡張装置においても、図3や図7のようにメモリーを接続しこれを読み書きする事ができ、パラレルインターフェイスに接続するストレージデバイスを実現する事ができる。図3や図7のようにメモリーを接続した場合、図5、図6、図8、図9において、IOエキスパンダU3のポートP40-P43,P50-P53,P60-P63,P70-P73 をポートPA4-PA7 とし、IOエキスパンダU4のポートP40-P43,P50-P53,P60-P63,P70-P73 をポートPB4-PB7 とすることによって、メモリーの読み書きの動作を実現することができる。
【0134】
また、メモリーだけでなく、ほかのインターフェイスチップを接続し各ポートの状態を制御することによって動作させることも可能である。さらに、種類の違うもの複数を接続する事も可能である。この装置においても、特定のポートについては、メモリー以外の他のチップが接続されているかどうかの識別などに用いることができる。
【0135】
次に、上述した各I/O拡張装置のいずれかに図3や図7のようにメモリーを接続して構成したストレージデバイスを用いたパーソナルコンピュータの一例について説明する。図16は、そのパーソナルコンピュータの内部構成を示したものである。
【0136】
符号300は、パーソナルコンピュータ本体を示し、通常のPC−XT,PC−AT互換機と同等の構成を有し、80X86互換のCPU310、RAM320、BIOSROM330、キーボード370、キーボードインターフェイス,パラレルインターフェイス,シリアルインターフェイス,サウンドインターフェイスなどの周辺装置350、ビデオインターフェイス385、これらを接続するための内部バス301を有する。これらの構成要素のうち、CPU310、周辺装置350、ビデオインターフェイス385を1チップ化したものがあり、例えば、CHIPS&TECHNOLOGIES社F8680Aなどがある。また、CPU310、周辺装置350を1チップ化したものも存在する。
【0137】
また、図の構成では、ディスプレイとして例えば、モノクロもしくはカラーのLCD(符号380)が用いられ、低消費電力化を図って電池駆動しやすいようにしている。サウンドインターフェイスの出力としてスピーカー360が内蔵されている。そして、パラレルインターフェイスの出力のためのコネクタCN3,シリアルインターフェイスの出力のためのコネクタCN4,サウンドインターフェイス及びビデオインターフェイスの出力のためののコネクタCN5(例えば、S−VIDEO用など)が設けられている。
【0138】
ストレージデバイス200は、上述した各I/O拡張回路100にメモリー180を接続した構成を有し、パーソナルコンピュータ本体300のパラレルインターフェイスにつなぐためにコネクタCN1を介してコネクタCN3に接続できるようになっている。I/O拡張回路100としては、高速動作を行なうために、図13の回路を用いるのが望ましい。
【0139】
そして、パーソナルコンピュータ本体300は、ストレージデバイス200のメモリー180に書き込まれたプログラムもしくはデータを読み出すためのプログラムがBIOSROM330に書き込まれており、そのプログラム340を用いることでドライブとしてストレージデバイス200のメモリー180にアクセスできるようになっている。このプログラムは、図5、図6、図8、図9に示したルーチン(図13の回路に応用する場合も含む)を用いることで実現することができる。パーソナルコンピュータ本体300は、この点に特徴がある。
【0140】
そして、パーソナルコンピュータ本体300にストレージデバイス200が接続されている場合、起動時において、CPU310は、BIOSROM330に書き込まれたプログラム340を用いてストレージデバイス200にあるプログラムもしくはデータをメモリー320に読み出し、そのプログラムを実行できるようになっている。また、CPU310は、プログラム340を用いてストレージデバイス200にドライブとしてデータを保存できるようになっている。
【0141】
パーソナルコンピュータ本体300が、このような構成を有することにより、小型化及び低消費電力化が可能であり、電池駆動で長時間使用に耐えうるものを構成することができる。従って、非常に携帯性が良いパーソナルコンピュータを提供することができる。
【0142】
また、ストレージデバイス200のメモリー180に書き込んでおくプログラムは、既存のPC−XT,PC−AT互換機と同等のものを用いることができる。従って、PC−XT,PC−AT互換機用にかかれたプログラムをパーソナルコンピュータ本体300用として容易に移植することができる。
【0143】
さらに、ストレージデバイス200は、デスクトップタイプ,ノートブックタイプのパーソナルコンピュータのパラレルインターフェイスに接続しアクセス可能であるため、ストレージデバイス200にあるプログラムもしくはデータを共用することができる。従って、パーソナルコンピュータ本体300にストレージデバイス200をつないで屋外で使用し、室内においてデスクトップタイプ,ノートブックタイプのパーソナルコンピュータにストレージデバイス200を接続し、ストレージデバイス200にあるプログラムもしくはデータを利用することができる。
【0144】
パーソナルコンピュータ本体300は、上記構成を有することから小型化が可能であり、その外観構成としてはさまざまなものが考えられる。図17及び18はその一例を示したものであり、図17は、LCD380の側から見た図であり、図18は、その反対側から見た図である。
【0145】
この外観構成は、次に示すように、ストレージデバイス200をパーソナルコンピュータ本体300のカートリッジとした点に特徴がある。
【0146】
ストレージデバイス200は、図に示すように、I/O拡張回路100とメモリー180とをケース201の中に収納し、ケース201の外側にパーソナルコンピュータ本体300のパラレルインターフェイスにつなぐためにコネクタCN1を配置した構成になっている。そして、図にあるように凸凹にあわせてストレージデバイス200をスライドさせてパーソナルコンピュータ本体300に挿入できるようになっている。パーソナルコンピュータ本体300のコネクタCN3は、ストレージデバイス200が挿入されたときに、コネクタCN1と接続できるようになっている。コネクタCN3は、コネクタCN1が雄タイプの場合、雌タイプのものを使用している。
【0147】
なお、カートリッジの外観形状は、ケース201の中に収納するだけでなく、カード状に薄くしたものや、図に示すもの以外の形状にすることができる。また、コネクタCN1,CN3は、ミニDSUBコネクタやカードエッジコネクタなどストレージデバイス200の大きさに応じたものを利用できる。また、カートリッジをスライドさせてパーソナルコンピュータ本体に挿入する以外に、パーソナルコンピュータ本体にじかにパーソナルコンピュータ本体に取り付けるようにすることもできる。
【0148】
そして、図に示すように、ストレージデバイス200をパーソナルコンピュータ本体300に挿入することによってこのコネクタCN1とパーソナルコンピュータ本体300のコネクタCN3とを直接接続できるようになっている。このようにすることにより、ストレージデバイス200とパーソナルコンピュータ本体300のパラレルインターフェイスとをつなぐためのケーブルが不要になるためノイズの影響が少なくなり、ストレージデバイス200に対する高速のアクセスが期待できるようになる。
【0149】
また、本体300の大きさを小さくするとともに操作しやすくするためにキーボード370のキーの数を少なくしている。より小さくし操作しやすくするためには、テンキー(数字のキー)などを削除してカーソルキーを用いたソフトウェアによる仮想キーボードとするのがより望ましい。また、部品点数が増える欠点があるがトラックボールを設けるようにしてもよいし、ペン入力にするようにしてもよい。
【0150】
さらに、電池駆動が可能になっており、本体300の側面に電源スイッチ390が設けられている。また、サウンドインターフェイス及びビデオインターフェイスの出力のためののコネクタCN5は、本体300の側面に設けられ、例えば、テレビなどに接続し、ディスプレイとして大きな画面のものを使用できるようになっている。
【0151】
このパーソナルコンピュータは、ストレージデバイス200をパラレルインターフェイスを介してICカードのように本体に接続するようになっている。コネクタCN1はパラレルインターフェイスに接続するためのものである。このパーソナルコンピュータは、ストレージデバイス200にあるプログラムに応じて様々な用途に使え、良好な携帯性を持つものである。ストレージデバイス200に例えばゲームのプログラムを書き込んだものを用いることで、携帯用ゲーム装置として利用することができる。また、カートリッジにメモリー以外に様々なハードウェアを搭載させることによって、様々な付加機能を持たせることができる。
【0152】
このように、上記実施例に列挙したI/O拡張装置を用いて、パラレルインターフェイスを介してパーソナルコンピュータ本体に接続する事によって様々な用途に使え、かつ携帯性の良いパーソナルコンピュータを提供することができる。
【0153】
上記I/O拡張装置は、パラレルインターフェイスに接続する場合について示したが、データレジスタ、コントロールレジスタ、ステータスレジスタの動作をエミュレートすることで、上記I/O拡張装置の入出力ポートのうちの選択したものの一つに対し4ビットデータを入力し、出力させることができる。例えば、上記3つのレジスタと同等の機能を有するレジスタをパーソナルコンピュータ本体に増設し、増設したレジスタと上述のI/O拡張装置を接続し同等の動作を実現する事も可能である。
【0154】
また、マイクロコントローラのパラレルポート(PIO)を用いて上記I/O拡張装置の入出力ポートのうちの選択したものの一つに対し4ビットデータを入力し、出力させることができる。図19はその接続例の一つを示したものである。
【0155】
図のマイクロコントローラ(MPU)400としては、PIOがあればよく、様々な機器に組み込まれているものを用いることができる。図では、パラレルポートP0,P1,P2にカートリッジ200を接続した例を示したものである。ここでは、MPU400のパラレルポートP0にI/O拡張回路100のデータ入力DIN を接続し、MPU400のパラレルポートP1にI/O拡張回路100のデータ出力DOUTを接続し、MPU400のパラレルポートP2にI/O拡張回路100の制御入力CTRLに接続している。
【0156】
なお、この例では、図3又は13においてデータレジスタの出力D4-D7 に接続される端子を電源(+5V)に直接接続し、カートリッジ200に直接電源を与えるようになっている。
【0157】
パラレルポートP0,P1,P2それぞれをデータレジスタ、ステータスレジスタ、コントロールレジスタからの出力と同じになるように動作させることによってI/O拡張回路100の所望のポートに4ビットデータを入出力できるようになる。
【0158】
MPUは8ビットMPUであって、パラレルポートP0,P1,P2のビット0〜3がI/O拡張回路100に接続されているものとし、I/O拡張回路100として、図13の回路を用いた場合、次のようにして4ビットデータを出力できる。P0,P1,P2はパラレルポートP0,P1,P2を示す。この他の点、例えば変数port'はI/O拡張回路100の入出力ポートPA4〜PA7,PB4〜PB7 を示す値である点などは前述したものと同じである。
【0159】
MOVE AL, write_data
OUT P0, AL
OUT P2, (port+8)
OUT P2, port
OUT P2, (port+8)
/* IF check write data ,add followings line */
IN AL, P1
【0160】
また、4ビットデータを入力する場合は次のようにして行なうことができる。
【0161】
OUT P2, port
IN AL, P1
【0162】
こうして、I/O拡張回路100の所望のポートに4ビットデータを入出力することによって、メモリーの読み書きの動作をエミュレートすることによって、メモリーにデータを蓄え、蓄えられたデータを読み出すことができる。また、図3の回路を用いた場合も同様にI/O拡張回路100の所望のポートに4ビットデータを入出力できる。
【0163】
このように、上記I/O拡張装置は、パラレルポートのあるマイクロコントローラであれば、非常に簡単に接続して4ビットデータを入出力できるようになる。このようにMPUとの接続が簡単であることから、、上記I/O拡張装置を用いたストレージデバイスは、マイクロコントローラを用いた様々な機器(例えば、ファクシミリ、モデム、電話機、コピー機、プリンター、ビデオ機器など)の外部記憶装置として利用できる。その上、パーソナルコンピュータや上記機器とのデータのやり取りが実現できる。
【0164】
上述したように、上記I/O拡張装置が、パラレルポートのあるワンチップマイクロコントローラと接続しやすいことを利用して、上記ストレージデバイスをパーソナルコンピュータに接続するための拡張装置を容易に構成することができる。
【0165】
図20は、その外観構成例を示したものであり、拡張装置本体500は、ケーブルでパーソナルコンピュータのプリンターインターフェイス又はSCSIインターフェイスに接続するようになっている。また、カートリッジ200は4つ接続できるようになっている。なお、カートリッジについては、その必要な機会的形状に応じて、厚型のもの(符号200a),薄型のもの(符号200b)など許される形状をとりうる。
【0166】
図21は、その内部についてブロック構成例を示したものである。マイクロコントローラ(MPU)400は、そのPIOの出力数の限界からそのバスインターフェイス(bus I/F )にいわゆるパラレルインターフェイス用のチップ(例えば、8255A,6823や82C11 などのプリンターインターフェイス用のチップを含む)410を接続してPIOの出力数を増加させている。そして、パラレルインターフェイス用のチップ410には、パーソナルコンピュータのプリンターインターフェイス又はSCSIインターフェイスに接続するためのコネクター410がつながれている。また、パラレルインターフェイス用のチップ410には、デージーチェーン接続するためのコネクター420がつながれている。パラレルインターフェイス用のチップ410をプリンターインターフェイス又はSCSIインターフェイスとして動作させるためのプログラムが、MPU400に接続されたROM(図示せず)に書き込まれている。さらに、パーソナルコンピュータとの間で、プリンターインターフェイスで接続するか、SCSIインターフェイスで接続するかを選択するためのスイッチ440が接続されている。
【0167】
MPU400のPIOには、カートリッジ200が接続されているが、このカートリッジ200が4枚接続できるようになっている点に特徴がある。そして、各カートリッジ200の端子ctrl0,ctrl1,ctrl2 は共通に接続されているが、端子ctrl3 はそれぞれMPU400のPIOに別々に接続されるようになっている。また、カートリッジ200の端子Din は共通に接続されているが、端子DoutはそれぞれMPU400のPIOに別々に接続されるようになっている。なお、図では省略しているが、この例でも、カートリッジ200のデータレジスタの出力D4-D7 に接続される端子を電源(+5V)に直接接続するようになっているのは上述した例と同じであり、カートリッジ200に直接電源を与えるようになっている。
【0168】
このように接続することによって、PIOの出力数がより少なくなるようになっている。そして、カートリッジ200の端子ctrl-ctrl2はパラレルポートP2の下位4ビット、各カートリッジ200の端子ctrl3 はパラレルポートP2上位4ビットに接続されているものとし、カートリッジ200の端子Din はP0に接続され、各カートリッジ200の端子DoutはパラレルポートP1X(Xは各カートリッジへのポートを示す値とする)に接続されているものとすると、図13の回路を用いた場合、次のようにして4ビットデータを出力できる。
【0169】
MOVE AL, write_data
OUT P0, AL
OUT P2, (port+x) /* x=08h,0fh,10h, or 20h */
OUT P2, port
OUT P2, (port+x)
/* IF check write data ,add followings line */
IN AL, P1X
【0170】
また、4ビットデータを入力する場合は次のようにして行なうことができる。
【0171】
OUT P2, port
IN AL, P1X
【0172】
このように、カートリッジ200を増加させても、図19の場合と同様に、I/O拡張回路100の所望のポートに4ビットデータを入出力することによって、メモリーの読み書きの動作をエミュレートすることによって、メモリーにデータを蓄え、蓄えられたデータを読み出すことができる。
【0173】
メモリーの読み書きの動作は、MPU400に接続されたROM(図示せず)に書き込まれており、MPU400からストレージデバイス200のメモリーに書き込まれたプログラムもしくはデータを読み出し、そのプログラムを用いることでドライブとしてストレージデバイス200のメモリー180にアクセスできるようになっている。
【0174】
MPU400には、様々もの(例えば、8bit,16bit,8086互換,68K互換など)を用いることができるが、8086と互換性のあるもの(例えば、80186,80188,V25,V50,Am186EM,Am386EM など)を用いることで、PC/AT互換機とソフトウェア的にコンパチビリティがあるものにすることができる。パーソナルコンピュータとの間の接続をSCSIインターフェイスとした場合は、PC/AT互換機で開発されたSCSI用ドライバーソフトを容易に移植できる。また、パーソナルコンピュータとの間の接続をプリンターインターフェイスとする場合、例えば、DOS にあるようなintersvrコマンドを容易に移植できる。これらのPC/AT互換機で開発されたソフトウェアによって、簡単にドライブとして動作させることができる。従って、これらのソフトウェアを上記ROMに書き込ませることによって、簡単に拡張装置を組み立てることができる。
【0175】
さらに、上記I/O拡張装置が、MPUと接続しやすいことを利用すれば、ワンチップマイクロコントローラを用いて非常に構成が簡単な機器を構成することができる。
【0176】
図22及び23は、通信機器への応用例であって、CATVコンバータを有するセットトップボックスとして構成した場合の例を示したものである。
【0177】
図22は、その外観構成を示したものであり、このセットトップボックス510はTVアンテナ又はCATVケーブルからの信号を入力し、TVセット502にビデオ信号を与えるようになっている。また、モデム504も接続可能になっており、例えば、電話回線(携帯電話やPHSなどの無線をつかったものを含む)を用いた通信も可能になっている。そして、入力装置として、通常のフルキーボードよりもキーの数が少ないジョイパッド(Joy pad )520が用いられ、赤外線(Infra-red ray )又はケーブルでセットトップボックス本体510にジョイパッド520からの入力を与えるようになっている。さらに、上述したカートリッジ200a,200bを接続できるようになっている。
【0178】
図23は、上記セットトップボックス510の内部構成例を示したものである。
【0179】
このセットトップボックス510は、TV又はCATV用のレシーバー600を内蔵させている。このレシーバー600は、通常のTV又はCATVに用いられているものと同じである。レシーバー600は、TV又はCATVの信号を受信し復調するためのTVチューナー610と、TVチューナー610からのスクランブルされたビデオ信号をデスクランブルするためのデスクランブラー620とを有し、TV又はCATVの信号からビデオ信号を出力するようになっている。なお、レシーバー600は、入力される信号がデジタルTVであれば、それに対応したレシーバーである。
【0180】
MPU410としては、様々なものが用いれるが、32ビット対応が望ましい点、現在広く使われているOSであるMS-Windowsと互換性があるのが望ましい点を配慮すれば、80386以上のCPUをコアとして用いているものが望ましい。また、マルチメディア用途を配慮すれば、できるだけそのクロック周波数が大きいものが望ましい。このようなCPUとしては、現状ではコストを配慮して、例えば、AMD社のAm386EM,Am486SE,Am486SELV などがあり、40MHz,33MHzのクロック周波数で動作させることができる。この他の候補として、将来的には、例えば、PowerPC などのチップがあげられる。
【0181】
AMD社のAm386EMなるこのMPUは、バスインターフェイス、DRAMインターフェイス、DMA、タイマーなどに加えて、PIOが32本、SIOが2つ備えられており、このMPUに周辺装置(Periferal chips )を接続した構成になっている。
【0182】
MPUのバスインターフェイスには、DRAM540,ROM550,ディスプレイインターフェイス530,サウンドインターフェイス560が接続されている。また、必要に応じて他の周辺装置、例えば、IDEインターフェイスを持つCD−ROMドライブなどを接続できるようになっている。これらの装置については、通常のパーソナルコンピュータで使われているものと同じである(但し、ディスプレイインターフェイス530については後述するものが望ましいと思われる)。
【0183】
ディスプレイインターフェイス530の出力とレシーバー600からのビデオ信号とは、択一的もしくは加算されてビデオ出力から出力されるが、デスクランブラー620から出力されるビデオ信号がデジタル信号である場合、そのデジタルビデオ信号をディスプレイインターフェイス530のビデオメモリーに直接書き込むようにすることもできる。また、描画速度を速めるために、ディスプレイインターフェイス530は、2次元的あるいは3次元的な画像処理ができることが望ましい。マルチメディア的に使われることを配慮すれば、現状において、ディスプレイインターフェイス530に用いるビデオチップは、3DO,SEGA SATURN,SONY PLAY-STATIONなどいわゆる家庭用ゲーム機器に用いられているものを採用することが考えられる。
【0184】
MPUのPIOは、上述したカートリッジ200a,200bを接続できるようになっている。そして、カートリッジ200の端子ctrl〜ctrl2 、端子Din を共通に接続してPIOの出力数をより少なくなるようにしている点は上述した例と同様である。また、MPUのPIOには、ジョイパッド520のインターフェイス580を接続してジョイパッド520からの入力を与えるようになっている。なお、ジョイパッド520のインターフェイス580は、MPUのバスインターフェイスに接続するようにしてもよい。
【0185】
MPUのSIOの一つ又はPIOの残りの出力は、レシーバー600に接続され、チャンネルの選択及びデスクランブルの制御ができるようになっている。また、MPUのSIOのもう一つには、モデムなどが接続可能になっており、電話回線などを用いて通信を行なうようにすることも可能である。これによって、通信カラオケなども行えるようになる。
【0186】
そして、ROM550には、前述の例と同様、ストレージデバイス200の書き込み・読み出のためのプログラムが書き込まれ、ドライブとしてストレージデバイス200のメモリーにアクセスできるようになっている。ここで、ROMに書き込むことができて、MS-Windowsと互換性があるOSとして、例えば、Microsoft 社によって開発されている"Modular Windows" が知られている(日経エレクトロニクス1993.2.1p99 )。このOSに、ドライブとしてストレージデバイス200のメモリーにアクセスするドライバや、レシーバーの制御用のドライバ、さらに、ビデオチップに応じたディスプレイインターフェイス用のドライバ(画像処理を含む)を付加する。これらのドライバを付加したOSをROM550に書き込むことで、図に示したセットトップボックスは、ユーザーにとって使いやすいグラフィックインターフェイスを持ち、マルチメディア用途に適したものになる。
【0187】
ビデオチップの種類が違っていても、ディスプレイインターフェイス用のドライバによって、共通のAPI(Aplication Program Interface)で動作させることが可能である。また、パーソナルコンピュータのOSの側で上記APIを用意することで、図に示したセットトップボックス用のソフトウェアをパーソナルコンピュータでも利用することができる。
【0188】
ストレージデバイス200に利用者のIDやデスクランブル制御のための情報やソフトウェアなどを格納しておくことが可能である。そして、チャンネルの選択及びデスクランブルの制御用のドライバを用いて、ストレージデバイス200に格納された情報を利用してデスクランブルの制御を行なわせることができる。
【0189】
このように、このセットトップボックスは、マルチメディア用途にあわせてTVやCATVの視聴の管理に用いうる。さらに、これらを組み合わせた利用もできる。従って、TVやCATVから送られた情報を加工するようなこともできる。
【0190】
例えば、CATVを用いた通信販売が行なわれているが、このセットトップボックスを用いれば、TVを見ながらモデムを介して、価格情報の提供や購入の意志表示など情報のやり取りを行なうといった用途に用いうる。
【0191】
さらに、日本国内のTV放送では、文字放送といって映像信号に加えて文字信号も伝送することが行なわれているが、文字放送のための信号として、様々なデジタル信号を送り、MPU410のPIO,SIOに与えるようにすることができる。そして、このデジタル信号をセットトップボックスのMPU410ので様々な処理を行なわせることができる。これによって、TVやCATVを複合的に利用するようにすることもできる。このような処理のためのプログラムもストレージデバイス200に格納し、交換できるようにすることで、セットトップボックスの利用範囲は非常に広いものになる。
【0192】
"Modular Windows" を用いた装置としては、携帯用の情報端末が知られている(日経エレクトロニクス1993.2.1p99 )。図24は、その外観を示したものであり、上記実施例に示したストレージデバイス200を本体に挿入可能になっている。
【0193】
図の構成では、LCDディスプレイ380として、モノクロよりもはカラー(CGA or VGA,SVGA)を用いるのが望ましい。入力デバイスとしては、カーソルキー370を含むキーボードを用いても良いが、キーの数は減らしておくのが望ましい。そして、必要があれば、ペン入力やコネクターでキーボードをつなぐことができるようにしておく。そして、サウンド及びビデオ出力のためののコネクタCN5を設けてディスプレイに表示できるようになっている。また、コネクタCN7から電話回線などを用いて通信可能になっている。
【0194】
図25は、図24の携帯用の情報端末の内部のブロック構成を示したものである。この情報端末は、自動車などの移動体用としても利用可能なものである。ここで、MPU410としては、図22,23に示したものと同じものを用いうるが、図はAMD社のAm386EM を用いた場合の例を示したものである。
【0195】
MPUのバスインターフェイスには、DRAM540,ROM550,ディスプレイインターフェイス530,サウンドインターフェイス560が接続されている。これらの装置については、通常のパーソナルコンピュータで使われているものと同じである(LCDをディスプレイとして使っていることからディスプレイインターフェイス530についてもそれほど特別なものを要しないと思われる)。また、必要に応じて他の周辺装置、例えば、SCSIインターフェイス、IDEインターフェイスなどを接続できる。このようなインターフェイスを接続することにより例えばCDROMを接続することも可能である。
【0196】
MPUのPIOは、上述したカートリッジ200a,200bを接続できるようになっている。そして、カートリッジ200の端子ctrl〜ctrl2 、端子Din を共通に接続してPIOの出力数をより少なくなるようにしている点は上述した例と同様である。そして、前述と同様、"Modular Windows" なるOSに、ドライブとしてストレージデバイス200のメモリーにアクセスするドライバや、後述する通信制御用のドライバ、さらに、ビデオチップに応じたディスプレイインターフェイス用のドライバを付加してROM550に書き込まれている。
【0197】
また、MPUのSIOの一つ(またはPIOの残りの端子)には、入力デバイスを接続して入力を与えるようになっている。MPUのもう一つのSIOは、DCE(Data Circuit Terminating Equipment)などが接続可能になっている。DCEとしては一般的にはモデムが考えられているが、移動体無線、例えば、携帯電話やPHS、トランシーバーの場合、内部でデジタル信号処理を行なっていることから、そのデジタル信号をアナログ信号に変換しないでSIOに与えるようにするのが望ましい。SIOを介して電話回線などを用いて通信を行なうようにすることも可能であるが、伝送速度の関係からPIO又はバスインターフェイスに設けた拡張装置を介して通信を行うようにしても良い。
【0198】
このような構成を有することにより、小型化及び低消費電力化が可能であり、電池駆動で長時間使用に耐えうるものを構成することができる。従って、非常に携帯性が良く、操作性の良い携帯用の情報端末を提供することができる。
【0199】
また、ストレージデバイス200に書き込んでおくプログラムは、既存のMS-Windowsと互換性を持たせうるので、既存のMS-Windows用にかかれたプログラムをこの容易に携帯用の情報端末用として移植することができる。
【0200】
ストレージデバイス200にあるプログラムもしくはデータは、デスクトップタイプ,ノートブックタイプのパーソナルコンピュータと共用することができる。従って、この携帯用の情報端末を屋外(自動車内)で使用し、室内においてデスクトップタイプ,ノートブックタイプのパーソナルコンピュータにストレージデバイス200を接続してストレージデバイス200にあるプログラムもしくはデータを利用することができる。このように、屋外と室内とで同等の環境で使用できる。
【0201】
さらに、MPUのSIOに、GPSレシーバーを接続し、いわゆるナビゲーションソフトを走らせることにより、地図上に航路表示や現在位置を表示するようにすることができる。この場合、ストレージデバイス200にナビゲーションソフトや地図データを蓄えておくようにすることにより、ユーザーにとって使用しやすいものが利用できるようになる。ここで、移動体用の情報端末として用いる場合、ビデオディスプレイインターフェイスに使用するチップとして、いわゆるカーナビゲーションシステム向けに開発されたものや、3DO,SEGA SATURN,SONY PLAY-STATIONなどいわゆる家庭用ゲーム機器に用いられているものを採用することで、地図上の表示のレスポンスがよくなると考えられる。
【0202】
図26は、車載用とした場合の外観構成を示したものであり、ディスプレイとして車載用のLCDモニターを接続し、通信手段として、車載用のトランシーバー又は携帯電話などの移動体電話を接続する。また、ナビゲーションシステムとして動作させるために、GPSレシーバーを接続するようになっている。そして、入力デバイスは本体に備えられるようになっている。このような外観構成を持たせることにより、自動車などの移動体用としても利用しやすいものになる。
【0203】
周辺装置とアクセスするためのPIO,SIOの割り当ては、図に示した以外のものすることができる。この場合、その割り当てに応じてドライバをかき直すことで対処できる。
【0204】
オフィス機器の間でデータをやり取りして統合しようというのに、MicroSoft 社のATWorkが知られている。本発明のストレージデバイスは、このATWorkにも用いることができる。図27は、そのような応用において、MPUの周りのブロック構成を示したものである。
【0205】
通常のMPUの周辺と同様、そのバスインターフェイスには、DRAM,ROMが接続され、さらに、LCDインターフェイスが接続される。また、PIO又はSIOには、入力デバイスが接続される。
【0206】
そして、MPUのPIOに本発明のストレージデバイス200を接続し、ストレージデバイス200のデータを読み書きするのは容易にできる。これによりオフィスにある様々な事務機器との間で、本発明のストレージデバイス200を介してデータをやり取りすることができるようになる。
【0207】
本発明は前述の実施例に限らず様々な変形が可能である。
【0208】
例えば、上述のI/O拡張装置は、パラレルインターフェイスに接続するのが通常の用途と考えられるが、データレジスタ、コントロールレジスタ、ステータスレジスタと同等の機能を有するレジスタをパーソナルコンピュータ本体に増設し、増設したレジスタと上述のI/O拡張装置を接続し同等の動作を実現する事も可能である。また、コンピュータ本体は、パラレルインターフェイスにかえて、上記I/O拡張装置にデータの書き込み・読みだし動作をさせるためのシーケンサを有する拡張ボードを内蔵するものであってもよい。さらに、パーソナルコンピュータ本体と、上述のI/O拡張装置とを接続するためのコネクターもデスクトップコンピュータのようにDSUB25ピン形状に限られない。
【0209】
さらに、前述したPIOを有するMPUを用いたシステム構成(図23、25、27)は、メモリーを有する着脱可能なストレージデバイスを用いるシステムの基本構成を示している。従って、このような 基本構成をとった場合、ストレージデバイス200に用いる拡張回路100としては、上述したような4ビットのものの他に、8ビットのものも用いれる。例えば、拡張回路100としては、インテル社の8255もしくはその互換チップ、モトローラ社のMC146823もしくはその互換チップなどにしてもよい。この場合は、8ビット並列転送になる。また、端子Din,Doutは8ビットのデータ入出力用の端子としてまとめたものになる。また、8ビット並列転送とした場合のストレージデバイスとパーソナルコンピューターのパラレルインターフェイスとの間の接続は、パラレルインターフェイスのデータ端子D0〜D7を用いる事になる。さらに、ROMにはModular WindowsにかえてMac OSなどのほかのOSも用いうる。
【0210】
したがって、本発明の範囲については、実施例だけに限定して解釈すべきではなく、特許請求の範囲から解釈すべきである。
【0211】
【発明の効果】
以上の通り本発明によれば、上述したI/O拡張装置をパーソナルコンピュータのパラレルインターフェイスに接続し、ストローブの状態を変化させて、第1のレジスタからコマンドを与えることにより、入出力ポートを選択し選択された入出力ポートに4ビットのデータを書き込んで出力し、或は選択された入出力ポートの状態をデータ出力から出力してステータスレジスタに与える事ができる。こうして、コマンドにより入出力ポートを選択し、選択された入出力ポートの読み込み・書き込みを行う事によって、パーソナルコンピュータの入出力を拡張する事が可能になる。
【0212】
メモリーを入出力ポートを接続する事によって、外部記憶装置を構成することができ、パーソナルコンピュータ本体からメモリーにデータを書き込み、あるいは、メモリーのデータを読み取ることができる。
【0213】
さらに、本発明のI/O拡張装置をパラレルインターフェイスを接続したときにパーソナルコンピュータ本体からドライブとしてアクセスできるようにすることで、様々な用途に使え、かつ携帯性の良いパーソナルコンピュータを提供することができる。
【0214】
【図面の簡単な説明】
【図1】パーソナルコンピュータ本体内部のパラレルインターフェイスの構成を示した図。
【図2】本発明のI/O拡張装置の構成を示した図。
【図3】本発明のI/O拡張装置の具体的な回路例を示した図。
【図4】IO拡張回路100のポートPA4 の各ビットの状態とメモリーの識別の関係を例示した図。
【図5】メモリーにSRAMまたはEEPROMを用いた場合のデータの読み込みを1バイトづつ行う場合のアルゴリズムの例を示す図。
【図6】メモリーにSRAMまたはEEPROMを用いた場合のデータの書き込みを1バイトづつ行う場合のアルゴリズムの例を示す図。
【図7】メモリーにSRAMまたはEEPROMを用いた場合のI/O拡張装置との具体的な接続例を示した図。
【図8】メモリーにDRAMまたはこれと同じ動作でアクセスするメモリーを用いた場合のデータの読み込みを1バイトづつ行う場合のアルゴリズムの例を示す図。
【図9】メモリーにDRAMまたはこれと同じ動作でアクセスするメモリーを用いた場合のデータの書き込みを1バイトづつ行う場合のアルゴリズムの例を示す図。
【図10】本発明のI/O拡張装置の他の構成例を示した図。
【図11】本発明のI/O拡張回路の構成例を示した図。
【図12】図11のI/O拡張回路の制御回路MUX の構成例を示した図。
【図13】本発明のI/O拡張装置の他の構成例を示した図。
【図14】図13のI/O拡張装置の書き込みシーケンスを示した図。
【図15】図13のI/O拡張装置の読み込みシーケンスを示した図。
【図16】実施例に列挙したI/O拡張回路にメモリーを接続して構成したストレージデバイスを用いたパーソナルコンピュータの内部構成例を示した図。
【図17】図16のパーソナルコンピュータの外観構成例を示した図。
【図18】図16のパーソナルコンピュータの外観構成例を示した図。
【図19】マイクロコントローラと本発明のI/O拡張装置との接続例を示した図。
【図20】本発明のI/O拡張装置を用いたストレージデバイスをパーソナルコンピュータに接続するための拡張装置の外観を示した図。
【図21】図20の拡張装置の内部についてブロック構成例を示した図。
【図22】本発明のI/O拡張回路を用いたストレージデバイスで構成したセットトップボックスの構成例を示した図。
【図23】本発明のI/O拡張回路を用いたストレージデバイスで構成したセットトップボックスの内部ブロック構成を示した図。
【図24】本発明のI/O拡張回路を用いたストレージデバイスで構成した携帯用の情報端末の外観を示した図。
【図25】本発明のI/O拡張回路を用いたストレージデバイスで構成した携帯用の情報端末の内部ブロック構成を示した図。
【図26】図24、25の装置を車載用とした場合の外観構成を示した図。
【図27】 ATWorkに応用した場合において、MPUの周りのブロック構成を示した図。
【符号の説明】
100…I/O拡張装置
CN1…コネクター
PORT4,PORT5,..PORTn,…データ入出力ポート
D0〜D7…データレジスタからの信号ライン
/FEH,BSY ,PAP ,ONOF…ステータスレジスタへの信号ライン
/STB,/ALF,/INI,/DSL…コントロールレジスタからの信号ライン
U1A ,U1B,…バスバッファ
U3,U4,U5…IOエキスパンダ
/CS,PROG…端子
DIN …データ入力
DOUT …データ出力
CTRL…制御入力
+5V…電源ライン
PA4,PA5,PA6,PA7,PB4,PB5,PB6,PB7,PC4,PC5,PC6,PC7…ポート
IC28…メモリー
U1…デコーダ
U13,U14…ANDゲート
4bit write BUS…4ビットライトバス
4bit read BUS…4ビットリードバス
101〜108…入出力回路
U110…デコーダ
180…メモリー
200…ストレージデバイス
201…ケース
300…パーソナルコンピュータ本体
330…BIOSROM
340…プログラム

Claims (25)

  1. データ入力と、データ出力と、制御入力とを有し、
    前記データ入力に与えられたデータを保持して出力するポート複数と、
    前記データ入力から前記ポートへのデータ転送をするためのデータバスとを備え、
    前記制御入力に与えられた制御信号もしくは前記データ入力に与えられたコマンドにより前記ポートのうち一つを選択し、この選択されたポートに前記データ入力からのデータを転送し、又は前記選択されたポートのデータを前記データ出力から出力するI/O拡張装置。
  2. 前記データ出力に前記ポートのうち選択された一つからデータを転送するための他のデータバスをさらに備える事を特徴とする請求項1記載のI/O拡張装置。
  3. データを記憶するためのメモリと、
    データ入力及び制御入力を有する回路とを備え、
    前記回路は、前記制御入力からの制御信号により、前記データ入力からコマンド、データ、アドレスのいずれかを入力し、前記コマンドに応じて前記データ又は前記アドレスを前記メモリに与えて前記データを前記メモリ中の前記アドレスに記憶しもしくは前記メモリの前記アドレスのデータを出力する外部記憶装置。
  4. 前記回路は、前記データ及び前記アドレスを前記メモリに与えるポート複数と、前記データ入力から前記ポートへのデータ転送をするためのデータバスとを有し、前記コマンドにより前記ポートの一つを選択してこの選択されたポートに前記データ及び前記アドレスを保持して前記メモリに与える事を特徴とする請求項3記載の外部記憶装置。
  5. データを記憶するためのメモリと、
    データ入力、データ出力及び制御入力を有する回路とを備え、
    前記回路は、前記制御入力からの制御信号により、前記データ入力からデータ又はアドレスを入力して前記データ又は前記アドレスを前記メモリに与え、前記メモリ中の前記アドレスに前記データを記憶するとともに前記データ出力から出力し、若しくは前記メモリの前記アドレスのデータを前記データ出力から出力する外部記憶装置。
  6. 前記回路は、前記データ及び前記アドレスを前記メモリに与えるポート複数と、前記データ入力から前記ポートへのデータ転送をするためのデータバスとを有し、前記ポートの一つを選択してこの選択されたポートに前記データ及び前記アドレスを保持して前記メモリに与え、又は前記選択されたポートのデータを前記データ出力から出力する事を特徴とする請求項5記載の外部記憶装置。
  7. 前記データ出力に前記ポートのうち選択された一つからデータを転送するための他のデータバスをさらに備える事を特徴とする請求項6記載の外部記憶装置。
  8. 前記回路は、前記制御入力への制御信号のビット又は前記データ入力から与えられたコマンドにより、前記ポートの選択と書き込み及び読み出しとを制御する事を特徴とする請求項6記載の外部記憶装置。
  9. 前記ポートは、前記データバスのデータを保持するとともに前記メモリに与える複数のフリップロップと、前記メモリのデータを前記データ出力に出力するバッファとを含んで構成されている事を特徴とする請求項4、6又は7いずれか記載の外部記憶装置。
  10. 前記メモリは、連続的にデータを出力するモードを有する事を特徴とする請求項3ないし9いずれか記載の外部記憶装置。
  11. データを記憶するためのメモリと、データ入力及び制御入力を有する回路とを備え、前記回路は、前記制御入力からの制御信号により、前記データ入力からコマンド、データ、アドレスのいずれかを入力し、前記コマンドに応じて前記データ又は前記アドレスを前記メモリに与えて前記データを前記メモリ中の前記アドレスに記憶しもしくは前記メモリの前記アドレスのデータを出力する外部記憶装置へのアクセス方法であって、
    第1のコマンドとアドレスとを前記データ入力に与えて前記回路から前記メモリに前記アドレスを出力し、
    第2のコマンドとデータとを前記データ入力に与えて前記回路から前記メモリに前記データを出力して前記データを前記メモリの前記アドレスに記憶させる外部記憶装置へのアクセス方法。
  12. データを記憶するためのメモリと、データ入力及び制御入力を有する回路とを備え、前記回路は、前記制御入力からの制御信号により、前記データ入力からコマンド、データ、アドレスのいずれかを入力し、前記コマンドに応じて前記データ又は前記アドレスを前記メモリに与えて前記データを前記メモリ中の前記アドレスに記憶しもしくは前記メモリの前記アドレスのデータを出力する外部記憶装置へのアクセス方法であって、
    第1のコマンドとアドレスとを前記データ入力に与えて前記回路から前記メモリに前記アドレスを出力し、
    第3のコマンドを前記データ入力に与えて前記メモリから前記アドレスのデータを出力させる外部記憶装置へのアクセス方法。
  13. データを記憶するためのメモリと、データ入力、データ出力及び制御入力を有する回路とを備え、前記回路は、前記制御入力からの制御信号により、前記データ入力からデータ又はアドレスを入力して前記データ又は前記アドレスを前記メモリに与え、前記メモリ中の前記アドレスに前記データを記憶するとともに前記データ出力から出力し、若しくは前記メモリの前記アドレスのデータを前記データ出力から出力する外部記憶装置へのアクセス方法であって、
    第1の制御信号を前記制御入力にアドレスを前記データ入力に与えて前記回路から前記メモリに前記アドレスを出力し、
    第2の制御信号を前記制御入力にデータを前記データ入力に与え、前記回路から前記メモリに前記データを出力して前記データを前記メモリの前記アドレスに記憶させる外部記憶装置へのアクセス方法。
  14. データを記憶するためのメモリと、データ入力、データ出力及び制御入力を有する回路とを備え、前記回路は、前記制御入力からの制御信号により、前記データ入力からデータ又はアドレスを入力して前記データ又は前記アドレスを前記メモリに与え、前記メモリ中の前記アドレスに前記データを記憶するとともに前記データ出力から出力し、若しくは前記メモリの前記アドレスのデータを前記データ出力から出力する外部記憶装置へのアクセス方法であって、
    第1の制御信号を前記制御入力にアドレスを前記データ入力に与えて前記回路から前記メモリに前記アドレスを出力し、
    第3の制御信号を前記制御入力にデータを前記データ入力に与え、前記回路から前記メモリの前記アドレスのデータを前記データ出力から出力させる外部記憶装置へのアクセス方法。
  15. 前記メモリの前記アドレスに記憶されるデータを前記外部記憶装置から入力して、そのデータが正確かを確かめる事を含む請求項11又は13いずれか記載の外部記憶装置へのアクセス方法。
  16. 前記アドレスの一部を前記外部記憶装置に保持されたアドレスの選択されたビットにセットして前記アドレスを前記回路から前記メモリに出力する事を特徴とする請求項11ないし15いずれか記載の外部記憶装置へのアクセス方法。
  17. データを記憶するためのメモリと、データ入力及び制御入力を有する回路とを備え、前記回路は、前記制御入力からの制御信号により、前記データ入力からコマンド、データ、アドレスのいずれかを入力し、前記コマンドに応じて前記データ又は前記アドレスを前記メモリに与えて前記データを前記メモリ中の前記アドレスに記憶しもしくは前記メモリの前記アドレスのデータを出力する外部記憶装置へのアクセス装置であって、
    前記制御入力に前記制御信号を、前記データ入力にコマンド、データもしくはアドレスを与えるためのインターフェイスと、
    前記外部記憶装置へ電力の供給をするとともに、前記インターフェイスと前記データ入力及び前記制御入力とを接続するためのコネクタとを有し、
    前記インターフェイスから前記コマンド、データもしくはアドレスを前記データ入力に前記制御信号を前記制御入力に与えて、前記データを前記メモリの前記アドレスに記憶させ又は前記メモリから前記アドレスのデータを前記インターフェイスへ出力させるアクセス装置。
  18. データを記憶するためのメモリと、データ入力、データ出力及び制御入力を有する回路とを備え、前記回路は、前記制御入力からの制御信号により、前記データ入力からデータ又はアドレスを入力して前記データ又は前記アドレスを前記メモリに与え、前記メモリ中の前記アドレスに前記データを記憶するとともに前記データ出力から出力し、若しくは前記メモリの前記アドレスのデータを前記データ出力から出力する外部記憶装置へのアクセス装置であって、
    前記制御入力に前記制御信号を、前記データ入力にデータもしくはアドレスを与え、前記データ出力からのデータを入力するためのインターフェイスと、
    前記外部記憶装置へ電力の供給をするとともに、前記インターフェイスと前記データ入力、前記データ出力及び前記制御入力とを接続するためのコネクタとを有し、
    前記インターフェイスから前記データもしくはアドレスを前記データ入力に前記制御信号を前記制御入力に与えて、前記データを前記メモリの前記アドレスに記憶させ、又は前記メモリから前記アドレスのデータを前記データ出力から前記インターフェイスへ出力させるアクセス装置。
  19. 前記メモリの前記アドレスに記憶されるデータを入力して、そのデータが正確かを確かめる事を含む請求項17ないし18いずれか記載のアクセス装置。
  20. 前記アドレスの一部を前記外部記憶装置に保持されたアドレスの選択されたビットにセットして前記アドレスを前記回路から前記メモリに出力する事を特徴とする請求項17ないし19いずれか記載のアクセス装置。
  21. 前記コネクタを介して前記外部記憶装置への電力の供給を制御する事を特徴とする請求項17ないし20いずれか記載のアクセス装置。
  22. 前記インターフェイスが備えられたマイクロコントローラを含んで構成されている事を特徴とする請求項17ないし21いずれか記載のアクセス装置。
  23. 前記インターフェイスは、前記外部記憶装置を複数接続可能であり、前記コネクタは、前記インターフェイスと前記外部記憶装置複数とを接続するとともに前記外部記憶装置のデータ入力を共通に接続する事を特徴とする請求項17ないし22いずれか記載のアクセス装置。
  24. 前記メモリは連続的にデータを出力するモードを有し、前記インターフェイスから状態を変化させて前記メモリを前記モードで動作させる事を特徴とする請求項17ないし23いずれか記載のアクセス装置。
  25. データを記憶するためのメモリと、データ入力、データ出力及び制御入力とを有し、前記制御入力からの制御信号により、前記データ入力からコマンドを入力し、前記メモリのデータを前記データ出力から出力する外部記憶装置へのアクセス装置であって、
    前記制御入力に前記制御信号を、前記データ入力にコマンドを与え、前記データ出力からのデータを入力するためのインターフェイスと、
    前記外部記憶装置へ電力の供給をするとともに、前記インターフェイスと前記データ入力、前記データ出力及び前記制御入力とを接続するためのコネクタとを有し、
    前記インターフェイスから前記コマンドを前記データ入力に与えるとともに前記制御信号を前記制御入力に与え、前記メモリからデータを前記データ出力から前記インターフェイスへ出力させるアクセス装置。
JP27986695A 1995-03-06 1995-10-04 I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置 Expired - Fee Related JP4341043B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP27986695A JP4341043B2 (ja) 1995-03-06 1995-10-04 I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置
EP96904322A EP0831390A4 (en) 1995-03-06 1996-03-05 INPUT-OUTPUT EXTENSION DEVICE AND APPARATUS USING THE SAME
EP05019597A EP1653335A2 (en) 1995-03-06 1996-03-05 Storage device and apparatus of accessing same
PCT/JP1996/000519 WO1996027828A1 (fr) 1995-03-06 1996-03-05 Dispositif d'extension d'entree-sortie et appareil l'utilisant
US08/913,170 US6138173A (en) 1995-03-06 1996-03-05 I/O Expansion circuit having a plurality of selectable input/output ports
US09/644,650 US6557047B1 (en) 1995-03-06 2000-08-24 External storage device and method of accessing same
US10/197,479 US6735638B2 (en) 1995-03-06 2002-07-18 External storage device and method of accessing the same
US10/787,116 US6952742B2 (en) 1995-03-06 2004-02-27 External storage device and method of accessing same

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP7-70452 1995-03-06
JP7045295 1995-03-06
JP7-231975 1995-08-16
JP23197595 1995-08-16
JP27986695A JP4341043B2 (ja) 1995-03-06 1995-10-04 I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009110771A Division JP2009205686A (ja) 1995-03-06 2009-04-30 ハードウェアの動作をエミュレートしてハードウェア及びメモリにアクセス方法

Publications (2)

Publication Number Publication Date
JPH10289044A JPH10289044A (ja) 1998-10-27
JP4341043B2 true JP4341043B2 (ja) 2009-10-07

Family

ID=27300336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27986695A Expired - Fee Related JP4341043B2 (ja) 1995-03-06 1995-10-04 I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置

Country Status (4)

Country Link
US (4) US6138173A (ja)
EP (2) EP1653335A2 (ja)
JP (1) JP4341043B2 (ja)
WO (1) WO1996027828A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6286060B1 (en) * 1998-06-26 2001-09-04 Sun Microsystems, Inc. Method and apparatus for providing modular I/O expansion of computing devices
JP3743173B2 (ja) * 1998-09-08 2006-02-08 富士通株式会社 半導体集積回路
DE69923352T2 (de) * 1998-11-03 2006-04-27 Thomson Licensing S.A., Boulogne Verfahren und gerät zur rechnerkodeaktualisierung unter verwendung einer schnittstelle zu einer integrierten schaltung
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
JP4215891B2 (ja) * 1999-02-19 2009-01-28 任天堂株式会社 オブジェクト画像プリントサービスシステム
US20030005460A1 (en) 2001-07-01 2003-01-02 David Bartholomew Method and system for a low cost wireless telephone link for a set top box
US20030046468A1 (en) * 2001-08-30 2003-03-06 Hsiang-Chan Chen High-density system having a plurality of system units
US7503034B2 (en) * 2002-10-31 2009-03-10 International Business Machines Corporation Method and system for dynamically mapping archive files in an enterprise application
TWI233542B (en) * 2003-07-18 2005-06-01 Delta Electronics Inc Auxiliary memory device for automation controller
KR100520584B1 (ko) * 2003-10-13 2005-10-10 주식회사 하이닉스반도체 불휘발성 강유전체 메모리를 이용한 데이타 제어 장치
JP4357304B2 (ja) * 2004-01-09 2009-11-04 株式会社バッファロー 外部記憶装置
US7516265B2 (en) * 2004-03-12 2009-04-07 Siemens Energy & Automation, Inc. System and method for providing an application with memory access methods
KR20050122678A (ko) * 2004-06-25 2005-12-29 삼성전자주식회사 인터 인테그레이티드 회로 버스를 이용한 통신장치 및 그통신방법
US20070022228A1 (en) * 2005-07-22 2007-01-25 Hicks Allison W Method to create expandable storage using serial ATA HDD
US20070162713A1 (en) * 2006-01-09 2007-07-12 Josef Schnell Memory having status register read function
JP4640272B2 (ja) * 2006-06-29 2011-03-02 村田機械株式会社 ポート制御装置
JP2009163285A (ja) * 2007-12-28 2009-07-23 Nec Electronics Corp 出力ポート、マイクロコンピュータ、及びデータ出力方法
CN102169468B (zh) * 2011-03-22 2013-01-09 惠州Tcl移动通信有限公司 外接模组的识别方法以及装置
US10007632B2 (en) * 2014-01-22 2018-06-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Computing device interface connectors for peripheral component interconnect compliant devices and other devices
EP3367187A4 (en) * 2015-10-21 2019-06-19 Tendyron Corporation COMMUNICATION EQUIPMENT, ADAPTER DEVICE AND COMMUNICATION SYSTEM
US20230075279A1 (en) * 2021-09-07 2023-03-09 Micron Technology, Inc. Serial interface for an active input/output expander of a memory sub-system

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH622901A5 (ja) * 1977-10-11 1981-04-30 Fast Digital Syst
US4377972A (en) * 1981-04-03 1983-03-29 Bristol Babcock Inc. Method and apparatus for operating matrix printer
GB2115996B (en) * 1981-11-02 1985-03-20 Kramer Kane N Portable data processing and storage system
JPS60215267A (ja) * 1984-04-11 1985-10-28 Kongu:Kk デイスク装置
US4817940A (en) * 1986-04-04 1989-04-04 Fike Corporation Computerized exercise monitoring system and method for comparing present and past exercise activities
JPS6329871A (ja) 1986-07-24 1988-02-08 Sharp Corp データ転送インタフェイス回路の制御装置
JPS63110947A (ja) * 1986-10-26 1988-05-16 Takatsu Dendou Seiki Kk リニヤモ−タ・ソレノイド・アクチユエ−タ
JPS63110947U (ja) * 1987-01-13 1988-07-16
US5136717A (en) * 1988-11-23 1992-08-04 Flavors Technology Inc. Realtime systolic, multiple-instruction, single-data parallel computer system
JPH0648774Y2 (ja) 1989-09-21 1994-12-12 沖電気工業株式会社 カード型集積回路、並びにコネクタの端子構造
US5218686A (en) * 1989-11-03 1993-06-08 Compaq Computer Corporation Combined synchronous and asynchronous memory controller
US5269015A (en) * 1989-11-13 1993-12-07 Lucid Corporation Computer system including circuitry for reading write-only output ports
JP2879694B2 (ja) * 1990-01-29 1999-04-05 株式会社日立製作所 情報処理システム及び外部記憶装置
JPH03241417A (ja) 1990-02-19 1991-10-28 Sanyo Electric Co Ltd データ転送装置
US6751696B2 (en) 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
JP2752247B2 (ja) * 1990-11-29 1998-05-18 富士通株式会社 情報記憶装置
JP2724046B2 (ja) 1991-02-07 1998-03-09 富士写真フイルム株式会社 Icメモリカードシステム
EP0503545B1 (en) * 1991-03-08 1997-06-11 Matsushita Electric Industrial Co., Ltd. Data transfer device
US5249160A (en) * 1991-09-05 1993-09-28 Mosel SRAM with an address and data multiplexer
US5375225A (en) * 1991-12-31 1994-12-20 Sun Microsystems, Inc. System for emulating I/O device requests through status word locations corresponding to respective device addresses having read/write locations and status information
US5361228A (en) * 1992-04-30 1994-11-01 Fuji Photo Film Co., Ltd. IC memory card system having a common data and address bus
WO1993023811A2 (en) * 1992-05-13 1993-11-25 Southwestern Bell Technology Resources, Inc. Open architecture interface storage controller
ATE148567T1 (de) * 1992-05-15 1997-02-15 Zenith Data Systems Corp Verbesserte parallelanschlussschnittstelle.
JPH0755637Y2 (ja) 1992-07-10 1995-12-20 日機装株式会社 多チャンネル計測ユニット
US5526490A (en) * 1992-08-17 1996-06-11 Matsushita Electric Industrial Co., Ltd. Data transfer control unit using a control circuit to achieve high speed data transfer
US5313618A (en) * 1992-09-03 1994-05-17 Metalink Corp. Shared bus in-circuit emulator system and method
JP2983115B2 (ja) * 1992-11-11 1999-11-29 東芝テック株式会社 インタフェース装置
EP0613151A3 (en) * 1993-02-26 1995-03-22 Tokyo Shibaura Electric Co Semiconductor memory system with flash EEPROM.
US5524231A (en) * 1993-06-30 1996-06-04 Intel Corporation Nonvolatile memory card with an address table and an address translation logic for mapping out defective blocks within the memory card
JPH0728741A (ja) 1993-07-09 1995-01-31 Toshiba Corp 半導体ディスク装置
JPH0756659A (ja) 1993-08-12 1995-03-03 N T T Data Tsushin Kk Rs−232c信号線による機器の制御装置
US5426769A (en) * 1993-08-26 1995-06-20 Metalink Corp. System and method for producing input/output expansion for single chip microcomputers
US5740404A (en) * 1993-09-27 1998-04-14 Hitachi America Limited Digital signal processor with on-chip select decoder and wait state generator
JPH07175747A (ja) 1993-12-17 1995-07-14 Hiroo Mine データ伝送用標準化インターフェースを利用した外部信号入力方法と信号出力方法
US5694557A (en) * 1994-08-10 1997-12-02 Ati Technologies Incorporated Time multiplexing address and data on an existing PC parallel port
US5651138A (en) * 1994-08-31 1997-07-22 Motorola, Inc. Data processor with controlled burst memory accesses and method therefor
US5526320A (en) * 1994-12-23 1996-06-11 Micron Technology Inc. Burst EDO memory device
US5717654A (en) * 1995-02-10 1998-02-10 Micron Technology, Inc. Burst EDO memory device with maximized write cycle timing

Also Published As

Publication number Publication date
WO1996027828A1 (fr) 1996-09-12
US20030046453A1 (en) 2003-03-06
JPH10289044A (ja) 1998-10-27
US20040167994A1 (en) 2004-08-26
US6557047B1 (en) 2003-04-29
US6735638B2 (en) 2004-05-11
EP0831390A4 (en) 1999-01-20
EP1653335A2 (en) 2006-05-03
US6138173A (en) 2000-10-24
EP0831390A1 (en) 1998-03-25
US6952742B2 (en) 2005-10-04

Similar Documents

Publication Publication Date Title
JP4341043B2 (ja) I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置
US4641262A (en) Personal computer attachment for host system display station
US7752342B2 (en) Interface integrated circuit device for a USB connection
US7533202B2 (en) Software compatible parallel interface with bidirectional handshaking for serial peripherals
US5619659A (en) System for extending ISA bus without using dedicated device driver software by using E2 P2 interface which provides multiplexed bus signal through standard parallel port connector
US5941965A (en) Universal docking station
US5802558A (en) Method and apparatus for upgrading reprogrammable memory contents in a PCMCIA card
US6845420B2 (en) System for supporting both serial and parallel storage devices on a connector
EP1721441A2 (en) Modular presentation device with network connection for use with pda&#39;s and smartphones
US5802327A (en) Device for SCSI expansion
JP2003345463A (ja) 着脱式で独立型の無線操作可能なコンピュータを有するコンピュータ
US20030043110A1 (en) System and architecture of a personal mobile display
US20040230668A1 (en) Modular presentation device for use with PDA&#39;s and Smartphones
US20190236045A1 (en) Virtual comport bridge supporting host-to-host usb transmission
US5280579A (en) Memory mapped interface between host computer and graphics system
JP2009289270A (ja) 外部記憶装置,外部記憶装置へのアクセス方法及びアクセスする装置
US20010042150A1 (en) Universal docking station
US5355507A (en) Computer system for arbitrating the operation of a built-in modem and external SIO circuit
US5805139A (en) Computer system with standard built-in pointing device, which is connectable to optional external pointing device
US20030229727A1 (en) Method and apparatus of virtual COM port
EP0121603B1 (en) Personal computer attachment to host system display stations
JPH09237248A (ja) データ転送装置
US7596651B2 (en) Multi-character adapter card
Roman et al. Input/Output
Hamid et al. 8 Bit Data Transfer By Parallel Port Connection

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20030731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041008

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050829

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051004

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050706

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: 20090626

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees