JPH06282501A - 周辺装置へのデータ転送のシステム及び方法 - Google Patents

周辺装置へのデータ転送のシステム及び方法

Info

Publication number
JPH06282501A
JPH06282501A JP5320218A JP32021893A JPH06282501A JP H06282501 A JPH06282501 A JP H06282501A JP 5320218 A JP5320218 A JP 5320218A JP 32021893 A JP32021893 A JP 32021893A JP H06282501 A JPH06282501 A JP H06282501A
Authority
JP
Japan
Prior art keywords
data
peripheral device
bytes
clock
output data
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.)
Withdrawn
Application number
JP5320218A
Other languages
English (en)
Inventor
David W Voth
ダブリュー フォス ディヴィッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 claimed from US07/992,703 external-priority patent/US5461701A/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JPH06282501A publication Critical patent/JPH06282501A/ja
Withdrawn legal-status Critical Current

Links

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/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
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0004Parallel ports, e.g. centronics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【目的】 ホスト計算機(ホスト)内に特別のハードウ
ェアを、またホストと周辺装置を結合する特別のインタ
フェースケーブルを、必要とすることなく、ホストから
周辺装置に対するデータ転送の速度を増加させるシステ
ムと方法。 【構成】 データはホスト16から周辺装置10に4キ
ロバイトのバーストで転送される。ハンドシェークはホ
ストと周辺装置の間で、バーストの間にのみ行われる。
周辺装置データのバイトは、ホスト計算機内で複数のデ
ータのバイトに割り当てられる。複数バイトはホストか
ら周辺装置に送信され、そして送信される各バイトはデ
ータクロックと周辺装置データのいくつかのビットを含
んでいる。一つの実施例では、周辺装置データのバイト
は、ホスト計算機内で二つのバイトに割り付けられ、そ
して各バイトは周辺装置データの部分と共に送信される
一対のクロック信号を持っている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本出願は、1992年12月18
に出願された米国特許出願番号992,703と部分的に
継続したものである。
【0002】
【技術分野】本発明は、一般的な周辺装置へのデータ転
送、特に、ホスト計算機と周辺装置間のデータ転送速度
を増加させるシステム及び方法に関する。
【0003】
【従来の技術】
本発明の背景 多くの計算機とプリンターが、家庭と事務所内で使用す
るために開発されてきた。時には、ある会社がハードウ
ェアの特定部分を最初に開発したために、ハードウェア
の事実上の標準として用いられている。例えば、ホスト
計算機に接続されるプリンターのインタフェースハード
ウェアは、一般にセントロニクス・プリンター・ポート
と呼ばれる方式が広く用いられている。これは並列プリ
ンター・インタフェース・ケーブルを経由して、プリン
ターをホスト計算機に接続するための、ホスト計算機の
データI/Oポートである。計算機およびプリンターの
製造者は、「セントロニクス互換」のプリンターインタ
フェースを供給し、それをホスト計算機−プリンターイ
ンタフェースの事実上の標準としている。セントロニク
ス互換の標準は、「ペーソナル計算機に対する両方向並
列周辺装置インタフェースの標準信号方式」用のP12
84標準の一部として米国電気電子学会(IEEE)に
より採用されている。IEEEP1284は、プリンタ
ーとホスト計算機間の二方向通信に対する両方向信号方
式を述べており、セントロニクス互換の標準が、ホスト
計算機からプリンターへのデータ転送に対する「互換モ
ード」として採用されている。
【0004】一般にマイクロプロセッサとメモリーを含
んでいるモデム・プリンターと異なり、初期のプリンタ
ーは一般に計算機能を持たないか、あるいは少ししか持
っていない。これらのいわゆる「ダム(知能のない)」
プリンターは、今日でもしばしば使用されている。デー
タは一時に1バイトづつホスト計算機からプリンターへ
転送され、そして先入れ先出し(FIFO)のようなデ
ータレジスターに蓄積される。プリンターは、計算機イ
ンタフェースケーブルを経由して、ホスト計算機からプ
リンターデータを受信する。プリンターデータはホスト
計算機からプリンターへ、データが印字される順番に転
送されなければならない。一般的にホスト計算機からプ
リンターに転送されるデータは、アルファベットと数字
の文字で表されるデータである。このタイプのデータ転
送の最も一般的な符号は、文字に対応した米国情報交換
標準符号「ASCII」のデータバイトであり、それは
種々のアルファベットと数字の文字を表すのに8ビット
のデータバイトを使用している。図1に示した例では、
プリンター10は、印字する頁12の上の左隅から、ア
ルファベットと数字の文字の印字を開始する。文章「Th
is is a test. 」に対応するASCIIの文字データバ
イトは、これらの文字が印字頁12上に印字されると同
じ順序で、ホスト計算機16からプリンター10へ転送
される。ユーザが印字頁12の他の場所にメッセージを
印字することを希望する場合は、ホスト計算機16はプ
リンター10へ、行送り文字、タブ、スペース、および
そのような種類の文字に対応した一連のASCIIデー
タバイトを転送するであろう。このようにプリンター1
0は単にデータを受信し印字するのみで、レーザープリ
ンターのような、より高度の機能を持ったプリンターに
より行われるような、グラフィックスデータの位置の計
算、あるいは線を描くようなデータ処理は全く行わな
い。
【0005】ホスト計算機16内のI/Oインタフェー
ス14は、ホスト計算機からプリンター10へのデータ
の転送を制御する。I/Oインタフェース14は、先ず
プリンター10の状態をチェックし、プリンターがホス
ト計算機16からデータを受信する準備ができているこ
とを確認する。プリンターインタフェース18内の状態
線17は、プリンター10の現在の状態を示す。ホスト
計算機16内の中央処理装置(CPU)22は、メモリ
ー24あるいは他の適当は蓄積場所からI/Oインタフ
ェース14へデータのバイトを転送する。CPU22
は、データと制御信号を運ぶバス26により、メモリー
24とI/Oインタフェース14に結合されている。I
/Oインタフェース14からプリンターインタフェース
18へのインタフェースケーブル28上をデータが伝播
することにより生じる遅延の後、データのバイトはプリ
ンターインタフェース18の入力に表れる。I/Oイン
タフェース14は、データ線がプリンターインタフェー
ス18の入力に設定できるように予め決められた時間だ
け待合せ、その後プリンター10へデータを転送するよ
うに制御線を設定する。プリンターインタフェース18
は、プリンター10が使用中であり、追加のデータを受
け付けることができない事を示すために状態線17の論
理状態を変更する。プリンター10は、ここでは説明し
ないが、公知の方法で受信したデータを処理する。次の
データバイトの準備ができると、プリンター10は、ホ
スト計算機にデータの次のバイトがプリンターへ転送で
きることを知らせるために、状態線17の論理状態を変
更する。この処理は、ホスト計算機16からプリンター
10へ転送される各データバイト毎に繰り返される。
【0006】図2は、セントロニクス互換の標準を使用
したI/Oデータ転送に対する典型的なタイミングの波
形を示している。上記で説明したように、I/Oインタ
フェース14は、先ずプリンター10の状態をチェック
しなければならない。一般にプリンター10内で BUSY
状態線と呼ばれる状態線17は、プリンターの現在の状
態を示す。 BUSY 線が倫理的にハイレベルである場合
は、プリンター10は使用中であり、データを受信する
ことはできない。プリンターがデータを受信できる場合
は、 BUSY 線は論理的にローレベルである。用語「ハ
イ」と「ロー」は、それぞれ論理的なハイレベルと論理
的なローレベルを指していることに注意されたい。デー
タは、STROBE制御線がローになる立ち下がりのエッジ
で、ホスト計算機16からプリンター10へ転送され
る。しばしばこれはSTROBE制御線の「設定」と呼ばれ
る。この用語「設定」は、実際の信号がハイあるいはロ
ーの場合も、信号を論理的に真とすることを意味する。
逆に用語「設定解除」は、実際の信号がハイあるいはロ
ーの場合も、信号を論理的に偽とすることを意味する。
ホスト計算機16内のI/Oインタフェース14が、デ
ータを転送する時は、データ信号がホスト計算機16か
らプリンター10へのインタフェースケーブル28を伝
播する時間がかかるであろう。更に、プリンターインタ
フェース12内の(図示されない)データレジスターあ
るいはラッチのようなある種のハードウェアは、クロッ
クがデータを入力する状態に変化する前に、データ線が
ある時間安定することが必要である。一般にデータ設定
時間と呼ばれるこの時間は、50ナノセカンドのような
値となるであろう。一般的なI/Oインタフェース14
は、伝播遅延とデータ設定の必要条件を満足するため
に、データが転送された後、数マイクロセカンドの間ST
ROBE線を設定することができない。互換可能なモードの
IEEE P1284の標準の下では、図2の参照点Aにより示し
たように、STROBE線がローになる前に少なくとも500
ナノセカンドの間、データ線は論理的にハイあるいはロ
ーのレベルに保持されなければならない。参照個所Bに
示したように、STROBE線は少なくとも500ナノセカン
ドの間、ローに留まらなければならないが、しかしなが
ら古いセントロニクス互換のインタフェースは、5マイ
クロセカンドもの長い時間STROBE線をローに保つかもし
れない。IEEE P1284の下では、図2の参照個所Cに示す
ように、STROBE線がハイに戻った後、データは少なくと
も500ナノセカンドの間安定でなければならない。
【0007】STROBE線の設定に応答して、プリンター内
の BUSY 線は論理的なローレベルからハイレベルへ状態
を変更する。IEEE P1284の下では、 BUSY 線は参照個所
Dに示すように、STROBE線の500ナノセカンドの間ハ
イとしなくてはならない。そして参照個所Eに示すよう
に少なくとも500ナノセカンドの間ハイの状態を継続
しなくてはならない。 BUSY 線をハイにしておく最大値
の規定はないことに注意されたい。これはプリンターの
動作が予測できないことに基づいている。例えば、プリ
ンター内でデータが蓄積される(図示されない)バッフ
ァが一杯となった時は、一律には決まらない時間、 BUS
Y 線はハイに留まるかもしれない。同様に、プリンター
10が紙詰りのような障害の場合には、 BUSY 線はハイ
の状態を継続するであろう。BUSY 線に加えて、他の状
態線、ACK 、はプリンター10がデータを受信したことを
示す。 BUSY 線がハイになった後、ACK 線はローにな
り、参照個所Fに示すように、少なくとも500ナノセ
カンドの間ローに留まらなくてはならない。参照個所G
に示すように、ACK 線がハイレベルに設定された後、 B
USY 線はローに戻る。 BUSY 線がローに戻った時、次の
転送サイクルは直ちに開始することができる。この全て
のサイクルは、ホスト計算機16からプリンター10へ
転送される各データバイトに対して繰り返される。
【0008】図2の表示から容易に理解できるように、
データの単一バイトの転送は、計算機クロックのいくつ
かのクロックサイクルを使用する。IEEE P1284互換のモ
ードのインタフェースは、プリンターへ転送される各デ
ータバイト毎にこの同じシーケンスを繰り返さなくては
ならない。1秒当り1.0メガバイトの入力出力転送サイ
クルを想定すると、IEEE P1284互換のモードのプリンタ
ーインタフェースに対する最大のデータ転送速度は1秒
当り200キロバイトである。文書が印字されている
間、ホスト計算機が他のタスクを行うことができないこ
とを考えると、このデータ転送速度は遅い。従って、ホ
スト計算機内のハードウェアの変更、あるいは特別なプ
リンターケーブルの必要なしに、ホスト計算機からプリ
ンターへのデータ転送速度を増加させるシステムと方法
の必要性が高いことが評価できる。
【0009】
【本発明の概要】本発明は、各出力データバイトが第一
および第二の部分を持つ、複数の出力データバイトを作
成するシステムで実現される。各出力データバイトの第
一の部分は複数の周辺装置データのバイトの一部を含
み、そして各出力データバイトの第二の部分はクロック
信号を含む。周辺装置内のクロック検出回路が、出力デ
ータバイト中のクロック信号から論理の移行を検出し、
各出力データバイトを蓄積する遅延信号を作成する。周
辺装置データのバイトは出力データバイトの第一の部分
を組み合わせることにより再蓄積できる。一つの実施例
では、パリティビットも少なくとも一つの出力データバ
イトの第二の部分で転送する。周辺装置のパリティチェ
ック回路は、パリティエラーが生じた時は、パリティエ
ラー信号を発生する。一つの出力データバイトの第二の
部分は、また出力データバイトが圧縮されたデータを含
んでいる表示を含むことができる。入力バッファレジス
ターは出力データバイトをバッファするために使用する
ことができる。
【0010】
【実施例】本発明は、IEEE P1284互換モードの計算機イ
ンタフェースのデータ転送速度を増加させるシステムと
手段を提供する。本発明はプリンター内に付加ハードウ
ェアを少し必要とするが、ホスト計算機内ではIEEE P12
84互換モードのプリンターインタフェースを使用する。
更に、本発明はプリンターとホスト計算機を相互に接続
する特別のプリンターケーブルは必要としない。以下の
説明はプリンターデータ転送を対象としているが、本発
明のシステムと手段は任意の周辺装置に等しく適用可能
である。本発明のホスト計算機と周辺装置は、図3のフ
ェーズ移行図に示される複数のフェーズあるいはモード
の一つで動作する。図3に示されるこれらのフェーズ
は、IEEE P1284に規定されており、ここでは詳細に説明
しないこととする。本発明のシステムは最初互換可能な
フェーズ50にある。これは公知例でよく知られている
IEEE P1284互換モードである。他のフェーズも当業者に
はよく知られており、正方向フェーズ52における新し
いデータバーストモードに対するものを除いては、IEEE
P1284標準に規定された方法で動作する。正方向フェー
ズ52は、ホスト計算機から周辺装置へのデータ転送を
可能とする。本発明の正方向フェーズ52のデータバー
ストモードを提供する。
【0011】本発明は、図4の機能ブロック図に示すシ
ステム100で実現され、プリンター10内に入ってい
るプリンターインタフェース102を含んでいる。シス
テム100は、直接メモリーアクセス(DMA)モード
を使用しない従来のホスト計算機16を含んでいる。そ
の理由はDMAインタフェースは複雑であり、プリンタ
ーには容易に使用することができないからである。代わ
りに、本ホスト計算機16は、先行技術でよく知られて
いる、工業標準アーキテクチャ(ISA)I/Oインタ
フェース14を含んでいる。I/Oインタフェース14
は、標準のセントロニクス互換のプリンターケーブルで
あるインタフェースケーブル28によってプリンターイ
ンタフェース102に結合されている。図5に示すよう
に、プリンターインタフェース102の中に、ホスト計
算機16からの送信されたデータの各バイトを受信する
ように設計されている入力バッファレジスター104が
ある。入力バッファレジスター104は、受信したデー
タバイトを一時的に蓄積する。入力バッファレジスター
104は、インタフェースケーブル28上のデータ線か
ら受信した信号をバッファする。順次受信した各データ
バイトは一時的に入力バッファレジスター104に蓄積
される。入力バッファレジスター104に蓄積されたデ
ータバイトは、パリティエラーを検出するように設計さ
れたパリティ回路106に結合される。クロック回路1
08は、蓄積された各データバイトの2ビットを受信
し、前に説明した遅延クロック信号を作成する。第一の
蓄積レジスター112と第二の蓄積レジスター114
は、各々第一および第二の蓄積されたデータバイトの一
部を順次受信する。第一および第二の蓄積レジスター1
12と114の出力は、先行技術で日常使用されている
FIFOバッファのような、通常のプリンターバッファ
の一部とすることができるプリンターバッファレジスタ
ー116に、同時に蓄積される。プリンターインタフェ
ース102の動作の更に詳細な説明は、以下に述べられ
る。
【0012】先行技術で一般に用いているような、STRO
BE信号の立ち下りのエッジでプリンターデータのバイト
の転送を行う代わりに、本発明はプリンターデータの8
ビットバイトを、二つの1ビットの部分ごとに、二つの
分割されたデータバイト、転送されるバイト0とバイト
1で、ホスト計算機16からプリンター10へ転送す
る。各データバイト、即ちバイト0とバイト1、は第一
と第二の部分を含んでいる。プリンターデータの二つの
部分は、データバイト、バイト0とバイト1の第一の部
分から成っている。下記で説明するように、二つのデー
タバイト、バイト0とバイト1の各々の第二の部分は他
の信号を含んでいる。このようにして、本発明はプリン
ターデータの1バイトを二つのI/O転送で転送するこ
とを可能にする。プリンター10への各I/O転送は、
プリンターデータのバイトの半分の一つだけでなく、二
つのクロック信号と一つのパリティビットを含んでい
る。更に、I/O転送の一つは、圧縮されたデータが転
送されていることをプリンターに示すフラグを含んでい
る。データ圧縮は下記で詳細に説明される。使用される
データフォーマットは下記の表1に示される。ここで第
一の欄はセントロニクス互換のインタフェースに対する
通常の信号の表示を示す。通常のI/O転送におけるデ
ータビットD7ないしD0は、バイト0とバイト1の欄
に示される信号に置換される。特に、バイト0の最初の
部分はプリンターデータのバイトの半分の一つを含んで
おり(Data<3:0>)、そしてバイト1の最初の部分
はプリンターデータのバイトの他の半分を含んでいる
(Data<7:4>)。バイト0とバイト1の第二の部分
は、二つのクロック信号 CLOCKと〜CLOCK 、およびパリ
ティビットを含んでいる。バイト0は、また圧縮された
データのフラグ、RLE フラグを含んでおり、一方これに
対応するバイト1のビットは現在定義されていない。 C
LOCKと〜CLOCK はプリンター10へ送信される各バイト
の一部となる。 CLOCKと〜CLOCK 信号は逆の極性を持っ
ており、そして極性の低位のニブル( 部分) から高位の
ニブル( 部分) に変化することに注意されたい。これは
プリンターインタフェース102が低位のニブルを高位
のニブルから区別することを可能にする。
【0013】 表1: データ転送時のビット割付け セントロニクス信号 バイト0転送中の値 バイト1転送中の値 D7 CLOCK =1 CLOCK =0 D6 〜CLOCK =0 〜CLOCK =1 D5 パリティビット パリティビット D4 RLE フラグ 未定義 D3 データ〈3〉 データ〈7〉 D2 データ〈2〉 データ〈6〉 D1 データ〈1〉 データ〈5〉 D0 データ〈0〉 データ〈4〉 本発明の設計の過程で生じたいくつかの問題は、満足な
動作のために打開しなければならない。第一に、プリン
ター10内の集積化された典型的な駆動回路は、高い論
理レベルから低い論理レベルに移行するディジタル信号
と低い論理レベルから高い論理レベルに移行するディジ
タル信号では、異なる移行速度を持っている。典型的な
セントロニクス互換インタフェースでは、ハイからロー
への移行時間は約50ナノセカンドであ、一方ローから
ハイへの移行時間は概略200ナノセカンドである。
【0014】第二に、セントロニクス互換インタフェー
スは、インタフェースケーブル28内の信号線間の漏話
に関連した雑音の問題に敏感である。漏話により生じる
「グリッチ(疑似信号)」は、データ伝送のエラーを生
じさせる可能性がある。最後に、インタフェースケーブ
ル28自身が15フィートのケーブルで概略45ナノセ
カンドの伝播遅延を生じる。伝播遅延は、単にホスト計
算機16からプリンター10へのデータ伝送を遅延させ
ると共に、タイミングの問題を生じることがある。本発
明は、逆極性のデータクロックを使用し、データがラッ
チされる前に、両方のデータクロックが移行することを
確認することにより、これらの問題を解決している。こ
のようにして、本発明のシステムは、単一のクロックの
移行よりは信頼性の高い、二つのクロックの移行を基礎
としてデータをラッチする。本発明の原理によると、プ
リンターインタフェースはデータクロックが両方共第一
の論理レベルから第二の論理レベルに移行した後に、予
め決められた遅延をとって、データのラッチを遅らすの
で、この二つのデータクロックの方式は雑音への耐力も
改善する。この遅延は漏話のために生じるかも知れない
グリッチに影響されないようにプリンターを防護する。
【0015】CLOCKと〜CLOCK 信号はプリンターデータ
のニブルと共に転送されるので、インタフェースケーブ
ル28による伝播遅延の影響をなくすることができる。
CLOCKと〜CLOCK 信号は転送されるデータバイトの一部
であるので、 CLOCKと〜CLOCK 信号は同時にプリンター
インタフェース102へ到達する。これらの特徴は、ホ
スト計算機16が漏話や雑音により性能を損なうことな
しに、公知のシステムの約2倍の速度でデータを送信で
きる利点をもたらす。表1から理解でき、また上記で説
明したように、プリンターデータのバイトはホスト計算
機16内でプリンターデータの区分された二つのニブル
に分割され、その各々はホスト計算機16によるI/O
動作を必要とする。プリンターへデータのバイトを転送
するのに5つのI/O動作を使用している公知のデータ
伝送技術と異なり、本発明はプリンターへデータのバイ
トを転送するのに二つのI/O動作しか必要としない。
上記の例では、I/O転送サイクルを1秒当り1.0メガ
バイトと想定すると、本発明の転送速度は1秒当り50
0キロバイトとなる。表1のデータビットの順序は本発
明の制限事項であると考えるべきでないことは、当業者
には明らかである。明らかに、 CLOCKと〜CLOCK は任意
の二つのデータビットとすることができる。同様に、パ
リティビット、RLE フラグビット、およびデータビット
は、表1に示した以外の任意の便利な方法あるいは順序
で設計することができる。
【0016】システム100は、そのホスト計算機16
にISA標準I/Oインタフェース14を使用している
が、図4と5に示されるプリンターインタフェース10
2は、従来のプリンターでは現在備えられていないの
で、これを追加しなければならない。付加するハードウ
ェアは、プリンター10にプリンター10内の追加のボ
ード、あるいは小型の外部の箱あるいはカートリッジ内
に追加することができる。プリンター10は、「マージ
ン」信号のようなプリンター10に対する制御パラメー
タを選択するために、(図示されない)複数の内部レジ
スタを含むことができる。この内部レジスターはプリン
ター10内に収容された(図示されない)プリンターメ
モリーの一部とすることもできる。システム100は、
プリンター10のアドレスを決める機能を含んでいる。
CPU22は、一つのI/O動作において、希望の内部
レジスターを先ず選択し、その後第二のI/O動作で選
択した内部レジスターへデータを送る。I/Oインタフ
ェース14内の標準の制御線の中に(図4を参照)、Au
toFd制御線がある。AutoFd制御線がホスト計算機16に
よりローに駆動されるとホスト計算機はプリンター10
内の内部レジスターをアドレスすることができる。プリ
ンター10内の特定のレジスターをアドレスする時は、
システム100は、AutoFd制御線をローに、データビッ
トD7をハイに駆動する。データビットD6ないしD0
は、0ないし127間の任意の希望のレジスターアドレ
スに設定される。後で説明するように、レジスター0
は、データバーストモードの転送のために選択される。
ホスト計算機16は、(D7をハイに設定し、D6ない
しD0を希望のレジスターアドレスに設定した)データ
バイトを、公知の通常のデータ転送の技術を使用して、
プリンター10へ送る。この第一のI/O動作は希望の
内部レジスターを選択する。ホスト計算機16は第二の
I/O動作において、AutoFd制御線をハイに駆動し、デ
ータビット、D7ないしD0、を希望のデータ値に設定
することにより、選択したレジスターへデータを送るこ
とができる。データビット、D7ないしD0、は公知の
通常のデータ転送技術を使用して選択したレジスターへ
送られる。アドレスデータ、およびバーストーデータの
ようなデータタイプは、下記の表2に述べられている。
【0017】 表2: データタイプ 現在のレジスターアドレス D7 nAutoFd D〈6:0〉 ドントケア(無視) 0 0 予約されている ドントケア(無視) 1 0 チャンネルアドレス (0−127) ゼロでない データ〈7〉 1 データ〈6:0〉 ゼロ ハ゛ーストテ゛ータ 〈7〉1 データ〈6:0〉 データバーストモードの転送を開始するために、システ
ム100は、上記に述べた方法でプリンター10内のレ
ジスタ0を選択する。レジスター0の選択は、データの
バーストが転送されることをプリンターに表示する。一
つの実施例では、図3に示した交渉のフェーズが終了し
た後、プリンター10は自動的にレジスター0をアドレ
スする。データバーストモードでは、ここに述べられた
本発明の技術を使用して、データビット、D7ないしD
0、がプリンター10へ送られる。
【0018】この実施例においては、4キロバイトのデ
ータのブロックがホスト計算機16からプリンター10
へ転送されるデータバーストモードで、システム100
は動作する。一旦データバーストモードの転送が開始さ
れると、それは停止することはできない。データバース
トの大きさは、本発明の制限事項とは考えるべきない。
典型的なプリンターバッファ116は、64キロバイト
以上のバッファの大きさを持っているので、データは4
キロバイトのバーストで容易に転送することができる。
しかしながら、他の大きさのデータバーストもシステム
100において同等に問題なく使用することができる。
ホスト計算機16からプリンター107へのデータの流
れを制御するために、バーストの間にハンドシェーク信
号が発行される。現在の好ましい実施例はIEEEP1284 EC
Pモードのハンドシェーク動作を使用している。プリン
ターバッファ116にもう4キロバイトのデータバース
トの余裕スペースがある限り、データの次のバーストの
転送を開始するか、あるいは遅延させるかの表示に、プ
リンター10はデータバースト間の時間を使用すること
ができる。プリンター10へ転送されるデータの各バー
ストに対して、次のシーケンスが生じる。
【0019】1. ホスト計算機16によりデータ線、D
7ないしD0、がハイに駆動される。 2. ホスト計算機16によりAutoFd制御線がハイに駆動
される。 3. ホスト計算機16によりSTROBE線がローに駆動され
る。 4. プリンター10がプリンターバッファ116に受け
付ける余裕のスペースがある時は、プリンター10は B
USY 線をハイに設定する。 5. 4キロバイトのーデータバーストが送られる。そし
て 6. ホスト計算機16によりSTROBE線がハイに駆動され
る。 プリンター10内のレジスター0が予め選択されていな
ければならないことに注意されたい。しかしながら、レ
ジスター0はデータの各バースト毎に再選択する必要は
ない。上記のハンドシェークのシーケンスは公知であ
り、IEEE P1284標準に規定されている。しかしながら、
IEEE P1284標準は、上記のハンドシェークのステップ4
と6の間のデータバーストの送信の規定は含んでいな
い。既存のホスト計算機16とプリンター10に本発明
を簡単に組み込むために、システム100は標準のハン
ドシェーク動作を使用している。
【0020】データバースト転送のハンドシェーキング
は図6の波形図に示されている。4キロバイトのデータ
バーストの準備には、データバーストモードの転送が行
われることをプリンター10に知らせるためにレジスタ
ー0が選択される。その後参照個所IIに示すように、ホ
スト計算機16はデータ線、D7ないしD0とAutoFd制
御線をハイに、駆動する。データ線、D7ないしD0と
AutoFd制御線をハイに設定した後、参照個所Iで示した
ように、ホスト計算機16はSTROBE線をローに駆動す
る。これは、ホスト計算機16がデータのバーストを送
る準備ができたことを、プリンター10に知らせる。プ
リンター10がプリンターバッファ116にデータの4
キロバイトのバーストを受け付ける十分なスペースを持
っている時は、参照個所Jに示すように、プリンター1
0は BUSY 線をハイに設定する。この時間間隔は、プリ
ンターバッファ116の大きさ、データバーストの大き
さ、プリンター10の計算能力、およびその種類の要因
のような、多くの要因に依存する。プリンター10が B
USY 線をハイに駆動した時、参照個所Kで示すように、
データの4キロバイトバーストがホスト計算機16から
プリンター10へ転送することができる。データバース
トの全てのデータバイトの転送に続いて、転送が終了し
たことを示すために参照個所Lで示すように、ホスト計
算機はSTROBE線をハイに駆動する。STROBE線の変化に応
答して、参照個所Mに示すように、データバーストの受
信が完了したことを表示するために、プリンター10は
BUSY 線をローに駆動する。この同じハンドシェークの
シーケンスが、各データのバイト毎に繰り返されるが、
公知技術のシステムの場合のように、ハンドシェーク動
作がデータの各バイト毎に行われることはない。このよ
うにしてシステム100は、データの大きなブロックを
少数のハンドシェークのステップで、ホスト計算機16
とプリンター10の間を転送することができる。
【0021】前に説明したように、データクロック CLO
CKと〜CLOCKは、表1で示される二つのI/O動作の各
々で転送されるデータと共にプリンターインタフェース
102へ送信される。この二つのデータクロックは単に
互いが反転した形である。一つの実施例では、データビ
ットD7とD6がそれぞれ CLOCKと〜CLOCK に使用され
る。データビットD7とD6は、データの各転送バイト
の最高位の二つのビットである(表1参照)。これらの
ビットは入力バッファレジスター104からの出力であ
る(図5参照)。代案の実施例では、入力バッファレジ
スター104は使用されず、ホスト計算機16から転送
されたデータのバイトが、プリンターインタフェース1
02内の他の回路に直接接続される。クロック回路10
8の詳細は図7に示される。プリンター10内のプリン
タークロック124はクロック回路108に対し高周波
数のクロックを供給する。図7で CLKと表示されてい
る、プリンタークロック124の出力は、一般には20
メガヘルツで動作することができ、その結果は時間間隔
が大略50ナノセカンドとなる。プリンタークロック1
24は同期のためにプリンター10の信号から作成する
必要はないことに注意されたい。十分な周波数であれ
ば、任意のクロックが本発明を動作させるであろう。プ
リンターインタフェース102に加えられたクロックは
本発明を満足に動作させるであろう。入力として CLOCK
と〜CLOCK 信号をもつクロック遅延回路126は、前に
説明したように、遅延時間を作成するのに使用され、そ
の結果プリンターインタフェース102はインタフェー
スケーブルによるグリッチあるいは漏話の影響は受けな
い。図7でDELAY と表示されているクロック遅延回路1
26の出力は、クロック138全体の種々の点に結合さ
れる。クロック遅延回路126の詳細は後で説明され
る。
【0022】クロック回路108内で、第一および第二
のクロックレジスター120と122は、各々 CLOCKと
〜CLOCK に結合されたデータ入力を持っている。クロッ
クレジスター120と122は、プリンタークロック1
24に結合されたクロック入力を持っている。クロック
レジスター120と122は、また図7でCEと表示さ
れたチップイネーブル入力を持っている。チップイネー
ブル入力、CE、はクロック遅延回路126の出力DELA
Y と接続されている。クロックレジスター120と12
2の出力、OLD CLOCK と〜OLD CLOCK は、第一の蓄積レ
ジスター112と第二の蓄積レジスター114のイネー
ブルとして使用される。DELAY 信号はクロック遅延回路
126により作成され、この回路の中で CLOCKと〜CLOC
K はそれぞれ一対の排他的論理和ゲート126と130
への入力である。排他的論理和ゲート126への他の入
力は、第一のクロックレジスター120の出力OLD CLOC
K である。同様に、排他的論理和ゲート130への他の
入力は、第二のクロックレジスター122の出力〜OLD
CLOCK である。排他的論理和ゲート126と130の出
力はAND ゲート132の入力である。 CLOCKと〜CLOCK
の両方が、クロックレジスター120と122の出力で
ある。OLD CLOCK と〜OLDCLOCK より論理状態が移行し
た時にのみ、AND ゲート132の出力はハイになるであ
ろう。このようにして、 CLOCKと〜CLOCK の両方が論理
の移行を完了するまで、プリンターインタフェース10
2は遅延時限を開始しないであろう。
【0023】AND ゲート132の出力は第一の遅延レジ
スター134のデータ入力に接続されており、またその
クロック入力はプリンタークロック124からの CLKで
ある。AND ゲート132の出力がハイになると、プリン
タークロック124からの次のパルスが遅延レジスター
134の出力をハイにするであろう。第一の遅延レジス
ター134の出力はAND ゲート136の入力に接続され
ている。クロック遅延回路1126からの信号、DELAY
はインバータ142を経て ANDゲート136の他の入力
に接続されている。信号、DELAY がローであると仮定す
ると、AND ゲート136の両方の入力がハイとなり、そ
の結果 ANDゲート136の出力はハイとなる。 ANDゲー
ト136の出力は第二の遅延レジスター138のデータ
入力に接続されている。第二の遅延レジスター138の
クロック入力はプリンタークロック124からの CLKで
ある。前に述べた論理構成により、第一の遅延レジスタ
ー134がハイにたった丁度1クロック後に、第二の遅
延レジスター138の出力はハイになるであろう。第二
の遅延レジスター138の出力は3入力の ANDゲート1
40の入力に接続されている。 ANDゲート140の他の
2つの入力は、ANDゲート132の出力と第一の遅延レ
ジスター134の出力である。AND ゲート140の出力
はDELAY 信号である。 ANDゲート136を経て、信号DE
LAY の反転した信号がフィードバックされているので、
出力信号DELAY がハイになった時、第二の遅延レジスタ
ー138のデータ入力はローになる。このようにして、
プリンタークロック124からの次のパスルで、第二の
遅延レジスター138の出力と出力信号DELAY はローに
戻るであろう。
【0024】DELAY 出力信号を作成するのにプリンター
クロック124の数クロックサイクルを必要とするの
で、クロック遅延回路126は雑音に対し強い耐性をも
っている。 CLOCKと〜CLOCK のような信号は、プリンタ
ークロック124の数クロックサイクルの間安定状態を
続けなくてはならない。過渡状態は数クロックサイクル
の間安定に留まることはできず、従ってプリンターイン
タフェース102により無視されるであろうから、DELA
Y 信号はインタフェースケーブル28による雑音や漏話
に対する影響の受け易さを低減する結果となる(図5参
照)。クロック遅延回路126の上記の説明は、二つの
クロック信号、 CLOCKと〜CLOCK の論理状態が移行した
後、遅延出力信号を作る一つの回路の例として行ったも
のである。多くのこのような遅延回路を採用しても満足
な結果が得られることは、同業者には明らかである。例
えば、プリンターインタフェース102で遅延時間を得
るために、単安定マルチバイブレータを使用することが
できる。DELAY 信号が作成されると、プリンターデータ
の低いニブル、Data<3:0>、あるいはプリンターデ
ータの高いニブル、Data<7:4>(表1参照)は、 C
LOCKと〜CLOCK の極性に従って、第一および第二の蓄積
レジスター112と114にそれぞれ蓄積される。表1
に示すように、バイト0の転送に対しては、 CLOCKはハ
イに設定され(そして〜CLOCK がローに設定され)、一
方バイト1の転送に対しては、 CLOCKはローに設定され
る(そして〜CLOCK がハイに設定される)。 CLOCKと〜
CLOCK の論理レベルに基づいて第一および第二の蓄積レ
ジスターを動作させるには、多くのよく知られた技術が
ある。図7に示すこのような技術の一つは、入力として
〜OLD CLOCK とDELAY 信号をもつ ANDゲート144を使
用している。〜OLD CLOCK とDELAY 信号の両方がハイに
なった時、第一の蓄積レジスター112のチップイネー
ブル、CEが動作状態となる。データの低いニブル、Da
ta<3:0>(表1参照)が、プリンタークロック12
4からの次のパルスで、蓄積レジスター112に蓄積さ
れる。バイト0がプリンターインタフェース102に転
送されると、OLD CLOCK と〜OLD CLOCK の論理レベルは
反転するであろう。第二の蓄積レジスター114を動作
させるのに、他の ANDゲート146が使用される。AND
ゲート146の入力は、OLD CLOCK とDELAY 信号であ
る。前に述べたように、OLD CLOCK と〜OLD CLOCK の論
理レベルは反転しているから、第二の蓄積レジスター1
14のチップイネーブル、CEはOLD CLOCK とDELAY の
両方がハイになった時、動作状態になるであろう。デー
タの高いニブル、Data<7:4>(表1参照)がプリン
タークロック124からの次のパルスで第二の蓄積レジ
スター114に蓄積される。前に述べたように、システ
ム100に満足して使用できる多くのこれと異なった技
術がある。
【0025】二つのI/O動作の各々と共に、パリティ
ビットもホスト計算機16からプリンター10へ送信さ
れる。伝送誤りを検出するためのパリティビットの使用
はよく知られており、ここでは詳細には説明しない。現
在の好ましい実施例では、奇数パリティが使用されてい
る。奇数パリティでは、データバイトがハイの論理レベ
ルを持つビットが奇数となるように、パリティビットの
論理レベルが選択される。この技術ではよく知られてい
るように、パリティビットは奇数または偶数にすること
ができ、奇数パリティビットは本発明の制限事項と考え
るべきではない。パリティエラーの処理はよく知られて
おり、ここでは説明しないこととする。前に示したよう
に、プリンター10へ送信されるデータの第一のバイト
は、データ圧縮情報も含んでいる。ホスト計算機16か
らプリンター10へのデータ転送の速度を向上させるた
めに、本発明は「ラン・レングス符号化」(RLE) データ
圧縮を使用している。このデータ圧縮のよく知られた方
式は、データの文字が繰り返される場合にのみ使用され
る。特定の文字がある回数繰り返されると、プリンター
データのそれに続くバイトが繰り返される回数を示す R
LEデータを、RLE符号化情報として転送する。RLE の計
数がプリンター10へ転送される場合は、転送されてい
るプリンターデータがRLE 計数であることをプリンター
に表示するため、システム100はバイト0の RLEフラ
グをハイに設定する。バイト0およびバイト1で転送さ
れるデータが RLE計数である場合は、データの最上位ビ
ットはローに設定され、これによりプリンター10へ、
低いニブルおよび高いニブル内のデータが RLE計数であ
ることを知らせる。低いニブルおよび高いニブル内の残
りの7ビットは RLE計数を表す。従って、最大の RLE計
数は(0ないし127の範囲の)128である。0の R
LE計数は、その文字が一回繰り返すべきことを表示す
る。127の RLE計数は、その文字が128回繰り返す
べきことを表示する。例えば、表の境界を作るために、
水平線のようなある特定の「文字」を25回繰り返す場
合は、システム100はこの例ではプリンター10へ
(先に説明したように、二つのニブルで)24の RLE計
数を転送するであろう。これに続いてその文字自身を表
すデータを、再び二つのニブルで転送する。このように
して、データの25文字が4回のI/O動作しか使用し
ないで転送される。
【0026】更に改善したものとして、システム100
の第二の実施例は、第一の実施例で説明した二つのクロ
ック信号の代わりに、バーストモードのプリンターデー
タのバイトと共に送信される一つのクロックのみを含め
ばよい。先に説明したように、プリンター10内の一般
の駆動用集積回路の移行速度が異なることにより、プリ
ンターのバイトが安定した状態に達した事を保証するた
めに予め決められた時間、プリンターインタフェース1
02は待ち合わせなければならない。これはプリンター
10内にクロックの移行の検出と送信されたデータの読
み取りの間に内部遅延時間を追加することにより決定で
きる。第二の実施例で使用される内部遅延は、前に述べ
た伝播遅延および雑音の問題と同様に、プリンター駆動
回路の移行速度の違いに関連した問題を解決できる。一
旦システム100が正方向フェーズ52に入ると(図3
参照)、伝送される各データバイトと共に二つのクロッ
ク信号が送られる第一の実施例との関連で先に説明した
ように、第二の実施例はバーストモードとバースト間の
ハンドシェーク動作を使用している。しかしながら、第
二の実施例における出力データバイト中の単一のクロッ
クの使用は、データ転送速度の増加をもたらすバイトの
異なる詰め込み方法を可能とする。前に述べた実施例と
同様に、データのバーストが第二の実施例でもホスト計
算機16からプリンター10へ送られる。しかしなが
ら、プリンターデータの一つのバイトに含まれる伝送さ
れる二つのバイトの代わりに、第二の実施例はプリンタ
ーデータの3バイト(DataByteA, DataByteB, およびDa
taByteC)を含むデータの4バイト(バイト0、バイト
1、バイト2、およびバイト3)を順次送信する。出力
データの4バイト(バイト0、バイト1、バイト2、お
よびバイト3)はまたプリンターデータの3バイト(Da
taByteA, DataByteB, およびDataByteC)に加えて、クロ
ック信号、パリティビット、およびRLE計数の存在を示
すフラグを含んでいる。第二の実施例に使用されるデー
タフォーマットは下記の表3に示される。 表3 バーストモードのデータフォーマット 並列ホ゜ート バイト0 バイト1 バイト2 バイト3 データ 転送中の値 転送中の値 転送中の値 転送中の値 D7 O 1 0 1 D6 RLフラグ パリティ パリティ パリティ D5 DataByteA<5> DataByteB<3> DataByteC<1> DataByteC<7> D4 DataByteA<4> DataByteB<2> DataByteC<0> DataByteC<6> D3 DataByteA<3> DataByteB<1> DataByteB<7> DataByteC<5> D2 DataByteA<2> DataByteB<0> DataByteB<6> DataByteC<4> D1 DataByteA<1> DataByteA<7> DataByteB<5> DataByteC<3> D0 DataByteA<0> DataByteA<6> DataByteB<4> DataByteC<2> 表3で分かるように、表3でDataByteA ないしDataByte
C と表示されたプリンターデータの3バイトは、送信さ
れるデータの各バイトがプリンターデータの6ビットを
含むように分割される。例えばバイト0は、プリンター
データの最初のバイト、DataByteA の6データビットDa
taByteA<5:0>を含んでいる。次の出力バイト、バイト1
はDataByteA の残りのビットDataByteA<7:6>と共に第二
のプリンターデータのバイトDataByteB の最初の4ビッ
トDataByteB<3:0>を含んでいる。このようにして、プリ
ンターデータの3 バイトDataByteA 、DataByteB,および
DataByteC は出力データの4バイト、バイト0、バイト
1、バイト2、およびバイト3で全て送信される。第二
の実施例で使用されるより効率的なデータバイトの詰め
込みは、第一の実施例より高い転送速度を可能にし、そ
して標準のプリンターインタフェースよりもはるかに高
い転送速度を可能にする。前に説明した10転送サイク
ル毎秒1.0メガバイトを想定すると、第二の実施例は毎
秒750キロバイトのデータ転送速度を可能にする。こ
れはデータ転送速度のみであり、プリンターデータのバ
イトを詰め込んだり、あるいはそれを戻すための処理時
間は含んでいない。
【0027】出力データの各バイトの一つのデータビッ
ト、D7はプリンター10に対するクロック信号として
使用される。プリンター10はD7の移行の各時点を検
出し、プリンター10内の内部遅延タイマーを起動す
る。遅延時間の最後に、残りのデータビットがプリンタ
ー10により読み取られる。第二の実施例はまたRLE 圧
縮を含んでいる。前に説明したように、RLE 圧縮は次の
データバイトが繰り返される回数を示すデータバイトを
含んでいる。第二の実施例では、第一の出力データのバ
イト、バイト0の一つのデータビット、DataByteA<6>が
RLE データの存在を示すフラグである。最初のプリンタ
ーデータのバイト、DataByteA<7:0>はRLE 計数を含んで
おり、そして次のプリンターデータのバイト、DataByte
B<7:0>は繰り返されるプリンターデータの実際のバイト
を含んでいる。前に述べた実施例は、表1に示したデー
タビットの配置のために、RLE計数の最大値を127に
制限していた。第二の実施例はより多くのデータビット
を利用できるので、プリンターデータの後続のバイトが
256回繰り返されることを表示する255が RLE計数
の最大値である。第二の実施例では、DataByteC<6>はパ
リティに使用されているので、第三のプリンターデータ
のバイト、DataByteC<7:0>はもう一つの RLE計数を含む
ことはできない。従って第三のプリンターデータのバイ
ト、DataByteC<7:> は通常のプリンターデータのバイト
として使用される。
【0028】第二の実施例はまた4つの出力データのバ
イト、バイト0ないしバイト3の3つにパリティビット
を含んでいる。第一の出力データのバイト、バイト0で
は、DataByteC<6>がRLE として使用されているので、次
の3つのデータのバイト、バイト1ないしバイト3の各
々に対しては、この同じデータビットがパリティビット
として使用されている。即ち、DataByteD<6>、DataByte
C<6>および DataByteD<6> は全てそれぞれの出力データ
バイト、バイト1 ないしバイト3に対するパリティビッ
トである。第二の実施例では、前に説明したように、奇
数パリティが使用されている。パリティビットの使用は
この技術ではよく知られているので、ここでは詳細な説
明は行わない。第一のプリンターデータのバイトDataBy
teA<7:0>はパリティビットを含まない。プリンターイン
タフェース102の第二の実施例の機能ブロック図が、
図8に示されている。前に述べた実施例と同様に、入力
バッファレジスター104は、ホスト計算機から伝送さ
れたデータのバイトを受信し、受信したデータバイトを
一時的に蓄積する。パリティ回路106は最後の3つの
出力データバイト、バイト1ないしバイト3のどれかの
パリティエラーを検出する。パリティエラー検出回路の
動作はこの技術ではよく知られているので、ここでは説
明しないこととする。
【0029】クロック検出回路148はデータ線、D7
の移行を検出する。クロック検出回路148はローから
ハイへの移行と、ハイからローへの移行の両方を検出す
る。クロック検出回路148はデータ転送速度より非常
に早い速度で動作し、従って、データ線、D7の各移行
を検出することができるであろう。第二の実施例では、
クロック124は50ナノセカンドの周期を持ってい
る。最初の検出した移行が単に雑音によるものでないこ
とを保証するために、データ線、D7はクロック検出回
路148により数回サンプルされる。雑音によりシステ
ム100がうかつにデータを読むことを防ぐように必要
なサンプル動作を行うために、クロック遅延回路126
(図7参照)をクロック検出回路内で使用することがで
きる。クロック検出回路148の出力は内部遅延タイマ
ー152の起動をトリガーする。内部遅延回路152は
プリンター駆動回路の最大の移行時間を保証するために
設定される。図8の波形から分かるごとく、入力バッフ
ァレジスター104(図9参照)内のデータ線、D7な
いしD0はtで報じされる移行時間を持っている。移行
時間はある特定の集積回路は他の回路と異なっているこ
とがあり、また前に説明したように立上り時間は立ち下
がり時間とは異なっているので、tの最大値は300ナ
ノセカンドになる。内部遅延タイマー152は425ナ
ノセカンドと575ナノセカンドの間の時間に設定さ
れ、蓄積レジスター156を動作可能にする遅延クロッ
ク154を発生する。蓄積レジスターはプリンターバッ
ファ116(図5参照)とすることができる。このよう
にして、データが安定値に到着してしまうまで、入力バ
ッファレジスター104からのデータは蓄積レジスター
156に蓄積されない。
【0030】プリンターインタフェース102は3つの
プリンターデータの値をそれらが受信したように元に戻
し、元に戻したデータのみを蓄積レジスター156に蓄
積する。プリンターインタフェース102は前に受信し
たプリンターデータのバイトを元に戻すのに、遅延タイ
マーがアクティブである時間を使用することができる。
代案として、プリンターデータのバイトは前に述べた詰
め込まれたデータフォーマットのまま蓄積レジスター1
56に蓄積し、ホスト計算機がデータバーストの送信を
完了した時のような後の時点で元に戻すことができる。
よく知られたいくつかのコマンドを使用して、データを
ホスト計算機のメモリー24(図5参照)から転送する
ことができる。例えばメモリー24からデータを取り出
しそれをI/Oインタフェース14早く転送するストリ
ング繰り返しコマンドがX86ベースの計算機(即ち8
0286、80386、80486)に使用可能であ
る。マイクロチャネルのバスを持つような、ある種の計
算機はプリンターインタフェース102がデータを受け
付けるよりも早く、I/Oインタフェース14へデータ
を転送することができる。この状況では、ホスト計算機
16内の簡単なソフトウェア遅延ループを、データ転送
速度をプリンターインタフェース102が処理できる速
度まで遅らせるのに使用することができる。
【0031】本発明の手段は容易に任意の計算機に組み
込むことができる。図10と11の流れ図はシステム1
00により実現された手段を示している。データを転送
する処理は図10の200から開始される。決定ブロッ
ク202においてI/Oインタフェース14(図5参
照)は、プリンターがデータバーストを受け付けること
ができるかどうかを決めるために、プリンター10の状
態をチェックする。プリンター10がデータを受け付け
ることができないならば、決定ブロック202の結果は
YES であり、システム100はプリンターが BUSY でな
くなるまで、ループを帰還する。プリンター10が BUS
Y でないならば、決定ブロック202の結果はNOであ
る。この場合は、ホスト計算機16は、ステップ204
で前に説明した通常のI/O動作を使用してプリンター
10内の内部レジスター0を選択する。ステップ204
におけるアドレスの転送は公知の技術が行うのと同じ方
法で行われる。即ちホスト計算機16はプリンター10
が BUSY でなくなるまで待合せ、プリンターデータのバ
イトを部分に分割することなく、データのバイトを転送
する。内部レジスター0の選択は、プリンター10へホ
スト計算機16がデータのバーストを送信していること
を表示する。
【0032】ステップ206では、ホスト計算機16は
データ線とAutoFd制御線をハイに駆動する。ステップ2
08では、ホスト計算機がデータバーストを転送する準
備ができていることをプリンター10に表示するため
に、システム100はSTROBE線を設定する。決定ブロッ
ク210では、システム100は、プリンターがデータ
バーストを受け付けることができることを表示するよう
に、プリンター10が BUSY 線を設定したかどうかを知
るためにチェックを行う。もしプリンター10がBUSY
線を設定してないならば、決定ブロック210の結果は
NOであり、システムはチェックを連続して行うために、
ループを帰還する。もしプリンター10がBUSY 線を設
定しているならば、決定ブロック210の結果はYES で
ある。この場合は、システム100は更に追加のハンド
シェーク動作を行うことなしに図11に示すようにステ
ップ212でデータバーストを送信する。プリンターイ
ンタフェース102(図5参照)は前に述べたように出
力データのバイトを処理する。データバーストの送信に
続いてホスト計算機16はプリンター10へデータバー
ストの送信の処理を完了させるためにステップ214で
STROBE線の設定を解除する。
【0033】図10と11に関して述べた手段は、ホス
ト計算機16からプリンター10ヘ転送される4キロバ
イトのデータバーストの各々に対して継続して行われ
る。このようにして、データ転送の信頼性を維持しなが
ら、あるいは改善しながら、データ転送の速度を向上さ
せた。多くの異なるハードウェアの構成が、本発明に実
行に使用できることは、当業者は評価するであろう。シ
ステム100は殆ど如何なる計算機と共に動作し、そし
てホスト計算機16内に如何なる特別のハードウェアも
必要としない。システム100を実現するために、プリ
ンターインタフェース102を含む小さな回路基板をプ
リンター10に追加すればよい。上記で述べた第二の実
施例は、ホスト計算機16からプリンター10へデータ
を転送するのに使用することができるバイトの詰め込み
の方法を示している。他のバイトの詰合せの方法をバー
ストモードでデータおよびクロック信号を転送するのに
使用できることは当業者には明らかであろう。上記の説
明はホスト計算機16とプリンター10間のデータ転送
を改善するシステムを示しているが、本発明のシステム
と手段がプリンター以外の他の周辺装置に使用できるこ
とは明らかーである。例えばファクシミリの機械をプリ
ンター10の代わりにホスト計算機16に付加すること
ができるであろう。このようにして、システム100は
如何なる周辺装置についてもデータ転送の速度を往生さ
せることができる。プリンター10を追加すればよい。
【0034】種々の実施例と利点を今までの説明で述べ
てきたけれども、上記の開示は例示に留まり、そして多
くの変更が細部においてなされても、本発明の広い原理
の中に留まることは理解すべきである。従って、本発明
は添付の特許請求事項によってのみ制限されるべきであ
る。
【図面の簡単な説明】
【図1】ホスト計算機、プリンターシステムの典型的な
従来の機能ブロック図である。
【図2】図1の従来のシステムにおける典型的なI/O
のデータ転送のタイミング図でである。
【図3】本発明において使用されるフェーズの移行であ
る。
【図4】本発明のシステムの機能ブロック図である。
【図5】図4に示す本発明のシステムの一実施例の詳細
な機能ブロック図である。
【図6】図4の本発明のシステムのI/Oデータ転送の
タイミング図である。
【図7】図5の実施例のクロック回路の機能ブロック図
である。
【図8】図4の本発明のシステムの第二の実施例の機能
ブロック図である。
【図9】図8の実施例の波形のタイミング図である。
【図10】図4の本発明のシステムの使用方法を示す流
れ図である。
【図11】図4の本発明のシステムの使用方法を示す流
れ図である。

Claims (42)

    【特許請求の範囲】
  1. 【請求項1】 ホスト計算機とプリンター間でデータを
    転送するためのシステムにおいて、 複数の出力データバイトを生成するホスト計算機の出力
    インタフェースであって、前記の複数の出力データバイ
    トの各々は第一および第二の部分を持ち、前記の第一の
    部分は複数のプリンターデータのバイトの一部を含み、
    そして前記の第二の部分はクロック信号を含む、ホスト
    計算機の出力インタフェース、 前記出力インタフェースから、前記の複数の出力データ
    を受信する、プリンター内の入力バッファ、 前記の複数の出力データバイトの少なくとも一つを分析
    し、そして前記の一つの出力データバイトにパリティエ
    ラーが生じた場合はパリティエラー信号を発生するため
    の、前記入力バッファに結合された、パリティエラーチ
    ェック回路、 前記の受信した出力データバイトの前記の第二の部分の
    各々からの前記クロック信号を検出し、そして検出クロ
    ック信号を発生する、クロック検出回路、 前記の検出クロック信号を受信し、前記の検出クロック
    信号に関して予め決められた遅延を有する遅延クロック
    信号を発生する遅延タイマー、および前記の受信された
    出力データバイトの前記の第一の部分を蓄積するため
    の、前記入力バッファと結合され、そして前記遅延クロ
    ック信号により動作することができる蓄積レジスターを
    有し、 これにより、前記の出力データバイトの前記第一の部分
    がホスト計算機からプリンターに転送され、そして前記
    プリンターデータの複数のバイトとして再構成されるこ
    とを特徴とするシステム。
  2. 【請求項2】 前記の複数のプリンターデータバイトの
    第一が、前記の複数のプリンターデータバイトの第二が
    繰り返される回数を示す、圧縮データ値を含んでいるこ
    とを特徴とする請求項1記載のシステム。
  3. 【請求項3】 前記の複数の出力データバイトの一つの
    前記第二の部分の一部が、圧縮されたデータの存在を示
    すことを特徴とする請求項2記載のシステム。
  4. 【請求項4】 ホスト計算機とプリンター間でデータを
    転送するためのシステムにおいて、 複数の出力データバイトを作成するホスト計算機の出力
    インタフェースにおいて、前記の複数の出力データバイ
    トの各々は第一および第二の部分を持ち、前記の第一の
    部分は複数の周辺装置データのバイトの一部を含み、そ
    して前記第二の部分はクロック信号を含むことを特徴と
    する出力インタフェース、 前記の受信した出力データバイトの第二の部分の各々か
    らの前記クロック信号を検出し、そして検出クロック信
    号を発生する、周辺装置内のクロック検出回路、 前記の検出クロック信号を受信し、前記の検出クロック
    信号に対して予め決められた遅延を持つ遅延クロック信
    号を発生する遅延タイマー、および前記の受信された出
    力データバイトの前記の第一の部分を蓄積するための、
    前記遅延クロック信号により動作することができる、蓄
    積レジスターを有し、 これにより、前記の出力データバイトの前記第一の部分
    がホスト計算機から周辺装置に転送され、そして前記周
    辺装置データの複数のバイトとして再構成できることを
    特徴とするシステム。
  5. 【請求項5】 更に、前記クロック検出回路および前記
    蓄積レジスターへ供給するために、前記複数の出力デー
    タバイトを受信し、そして一時的に蓄積するために、周
    辺装置内に入力バッファを含む、請求項4記載のシステ
    ム。
  6. 【請求項6】 更に、前記の複数の出力データバイトの
    少なくとも一つを分析し、そして前記の一つの出力デー
    タバイトにパリティエラーが生じた場合はパリティエラ
    ー信号を発生するための、前記入力バッファに結合され
    た、パリティエラーチェック回路を含む、請求項5記載
    のシステム。
  7. 【請求項7】 前記の複数の周辺装置データバイトの第
    一が、前記の複数の周辺装置データバイトの第二が繰り
    返される回数を示す、圧縮データ値を含んでいることを
    特徴とする請求項4記載のシステム。
  8. 【請求項8】 前記の複数の出力データバイトの一つの
    前記第二の部分の一部が、圧縮されたデータの存在を示
    すことを特徴とする請求項4記載のシステム。
  9. 【請求項9】 前記クロック信号が、各々が第一および
    第二の論理レベルを持つ、第一および第二のデータビッ
    トから成り、前記第二のクロックデータビットは前記の
    第一のクロックデータビットを論理的に反転した形であ
    ることを特徴とする請求項4記載のシステム。
  10. 【請求項10】 前記クロック検出回路が前記第一およ
    び第二のクロックデーたビットを検出し、前記第一およ
    び第二のクロックビットが両方共論理的な移行をした時
    に、前記クロック検出回路は前記の検出クロック信号を
    発生することを特徴とする請求項9記載のシステム。
  11. 【請求項11】 ホスト計算機は複数の出力データバイ
    トを作成するための出力インタフェースを含み、前記複
    数の出力データバイトの各々は第一および第二の部分を
    持ち、前記第一の部分は複数の周辺装置データのバイト
    の一部を含み、そして前記の第二の部分はクロック信号
    を含む、下記より成るホスト計算機と周辺装置間でデー
    タを転送するシステムであって、 受信した出力データバイトの第二の部分の各々からのク
    ロック信号を検出し、そして検出クロック信号を発生す
    る、周辺装置内のクロック検出回路、 動作として前記の検出クロック信号を受信し、前記の検
    出クロック信号に対して予め決められた遅延を持つ遅延
    クロック信号を発生する遅延タイマー、および前記の受
    信された出力データバイトの前記の第一の部分を蓄積す
    るための、前記遅延クロック信号により動作することが
    できる、蓄積レジスターを有し、 これにより、前記の出力データバイトの前記の第一の部
    分がホスト計算機から周辺装置に転送され、そして前記
    の周辺装置データの複数のバイトを再構成できることを
    特徴とするシステム。
  12. 【請求項12】 更に、前記クロック検出回路および前
    記蓄積レジスターへ供給するために、前記複数の出力デ
    ータバイトを受信し、そして一時的に蓄積するため、周
    辺装置内に入力バッファを含む、請求項11記載のシス
    テム。
  13. 【請求項13】 更に、前記の複数の出力データバイト
    の少なくとも一つを分析し、そして前記の一つの出力デ
    ータバイトにパリティエラーが生じた場合はパリティエ
    ラー信号を発生するための、前記入力バッファに結合さ
    れた、パリティエラーチェック回路を含む、請求項12
    記載のシステム。
  14. 【請求項14】 前記の複数の周辺装置データバイトの
    第一が、前記の複数の周辺装置データバイトの第二が繰
    り返される回数を示す、圧縮データ値を含んでいること
    を特徴とする請求項11記載のシステム。
  15. 【請求項15】 前記の複数の出力データバイトの一つ
    の前記第二の部分の一部が、圧縮されたデータの存在を
    示すことを特徴とする請求項11記載のシステム。
  16. 【請求項16】 前記クロック信号が、各々が第一およ
    び第二の論理レベルを持つ、第一および第二のデータビ
    ットから成り、前記第二のクロックデータビットは前記
    の第一のクロックデータビットを論理的に反転した形で
    あることを特徴とする請求項11記載のシステム。
  17. 【請求項17】 前記クロック検出回路が前記第一およ
    び第二のクロックデータビットを検出し、前記第一およ
    び第二のクロックビットが両方共論理的な移行をした時
    に、前記クロック検出回路は前記の検出クロック信号を
    発生することを特徴とする請求項16記載のシステム。
  18. 【請求項18】 周辺装置は、ホスト計算機から受信し
    た複数の出力データバイトの各々からクロック信号を検
    出し遅延クロック信号を発生するクロック検出回路と、
    複数の受信した出力データバイトの第一の部分を蓄積す
    る蓄積レジスターを含む、下記より成るホスト計算機と
    周辺装置間でデータを転送するシステムであって、 複数の周辺装置データのバイトを含むデータファイル、
    および複数の出力データバイトの各々は第一および第二
    の部分を持ち、その第一の部分は複数の周辺装置データ
    の一部を含み、そして前記の第二の部分はクロック信号
    を含む、前記の複数の出力データバイトを発生するため
    の、ホスト計算機の出力インタフェースを有し、 これにより、蓄積された複数の出力データバイトの第一
    の部分がホスト計算機から周辺装置へ送信され、そして
    前記複数の周辺装置データのバイトとして再構成できる
    ことを特徴とするシステム。
  19. 【請求項19】 前記第二の部分はパリティビットを含
    み、それによりプリンターは前記複数の出力データバイ
    トの少なくとも一つのパリティエラーを検出できること
    を特徴とする、請求項18記載のシステム。
  20. 【請求項20】 前記の複数の周辺装置データバイトの
    第一が、前記の複数の周辺装置データバイトの第二が繰
    り返される回数を示す、圧縮データ値を含んでいること
    を特徴とする請求項18記載のシステム。
  21. 【請求項21】 前記の複数の出力データバイトの一つ
    の前記第二の部分の一部が、圧縮されたデータの存在を
    示すことを特徴とする請求項18記載のシステム。
  22. 【請求項22】 クロック信号が、各々が第一および第
    二の論理レベルを持つ、第一および第二のデータビット
    から成り、前記第二のクロックデータビットは前記の第
    一のクロックデータビットを論理的に反転した形である
    ことを特徴とする請求項18記載のシステム。
  23. 【請求項23】 ホスト計算機と周辺装置間でデータを
    転送するシステムであって、 第一および第二のデータバイトを作成し、前記第一およ
    び第二の出力データバイトの各々は第一および第二の部
    分を持ち、前記第一の部分は周辺装置データのバイトの
    一部を含み、前記の第二の部分は各々が第一および第二
    の論理レベルを持つ第一および第二のクロック信号を含
    み、前記の第二のクロック信号は前記の第一のクロック
    信号を論理的に反転した形であり、前記第二の部分の各
    々もパリティデータビットを含んでいる、第一および第
    二の出力データバイトを作成するホスト計算機の出力イ
    ンタフェース、 前記クロック検出回路は、前記第一のクロック信号が第
    一の論理レベルから第二の論理レベルに移行し、そして
    前記第二のクロック信号が前記第二の論理レベルから前
    記第一の論理レベルに移行した時、第一の遅延信号を発
    生、そして前記第一のクロック信号が前記第二の論理レ
    ベルから前記第一の論理レベルに移行した時に第二の遅
    延信号を発生することを特徴とする、前記の第一および
    第二の出力データバイトから前記の第一および第二のク
    ロック信号を受信する周辺装置内のクロック検出回路、 前記第一の遅延信号を受信した時、前記第一の出力デー
    タバイトの前記第一の部分を蓄積するための、前記第一
    の遅延信号により動作可能となる第一の蓄積レジスタ
    ー、および前記第二の遅延信号を受信した時、前記第二
    のデータバイトの前記第一の部分を蓄積するために、前
    記第二の遅延信号により動作可能となる、第二の蓄積レ
    ジスターを有し、 これにより、前記の第一および第二の出力データバイト
    の第一の部分は、ホスト計算機から周辺装置に送信さ
    れ、そして前記周辺装置データのバイトとして再構成さ
    れることを特徴とするシステム。
  24. 【請求項24】 前記第一および第二の出力データバイ
    トの前記第二の部分の各々はパリティビットを含み、そ
    してそのシステムは更に前記第一および第二の出力デー
    タバイトを分析し、前記第一および第二の出力データバ
    イトにパリティエラーが生じた時は、パリティエラー信
    号を発生するパリティエラーチェック回路を含むことを
    特徴とする請求項23記載のシステム。
  25. 【請求項25】 ホスト計算機とそのホスト計算機に結
    合された周辺装置間のデータを転送する方法であって、
    (a) 前記複数の出力データバイトの各々は第一およ
    び第二の部分を持ち、前記の第一の部分は複数の周辺装
    置データのバイトの一部を含み、そして前記の第二の部
    分はクロック信号を含むことを特徴とする、ホスト計算
    機内で複数の出力データバイトを作成するステップ、
    (b) 周辺装置内で、前記の受信した出力データバイ
    トの第二の部分の各々から前記クロック信号を受信し、
    そして検出クロック信号を作成するステップ、(c)
    前記の検出クロック信号を受信し、そして前記の検出ク
    ロック信号に対して予め決められた遅延を持つ遅延クロ
    ック信号を作成するステップ、および(d) 前記遅延
    クロック信号により動作可能となる、蓄積レジスター内
    の前記の受信した出力データバイトの前記の第一の部分
    を蓄積するステップ、を有し、 これにより、前記の出力データバイトの前記の第一の部
    分はホスト計算機から周辺装置へ送信され、そして前記
    の複数の周辺装置データのバイトとして再構成できるこ
    とを特徴とする方法。
  26. 【請求項26】 更に、周辺装置内の入力バッファの前
    記の複数の出力データバイトを一時的に蓄積するステッ
    プを含み、前記ステップ(a)は前記入力バッファから
    の前記クロック信号を検出する、請求項25記載の方
    法。
  27. 【請求項27】 更に、パリティエラーを検出するため
    に前記の複数の出力データバイトの少なくとも一つを分
    析し、そして前記の一つの出力データバイトに前記のパ
    リティエラーが生じた時はパリティエラー信号を発生す
    るステップを含む請求項26記載の方法。
  28. 【請求項28】 前記の複数の周辺装置データバイトの
    第一が、前記の周辺装置データバイトの第二が繰り返さ
    れる回数を示す圧縮データ値を含み、周辺装置は前記の
    圧縮データ値を検出し、そして前記の圧縮データ値に対
    応する回数だけ前記の第二の周辺装置データバイトを繰
    り返すことを特徴とする、請求項25記載の方法。
  29. 【請求項29】 前記の複数の出力データバイトの一つ
    の前記第二の部分の一部が、圧縮されたデータの存在を
    示し、周辺装置が前記第二の部分の前記の部分を検出
    し、そして前記圧縮データを処理することを特徴とする
    請求項25記載の方法。
  30. 【請求項30】 複数の出力データバイトを作成する前
    記ステップ(a)が周辺装置データのバイトを前記の第
    一および第二の出力データバイトの第一の部分に割付
    け、前記の第二の部分の前記クロック信号が第一および
    第二のクロックデータビットを構成し、その各々が第一
    および第二の論理レベルを持ち、前記第二のクロックデ
    ータビットは前記第一のクロックデータビットを論理的
    に反転した形であることを特徴とする請求項25記載の
    方法。
  31. 【請求項31】 前記クロック信号を検出する前記ステ
    ップ(b)は、前記出力データバイトの各々に対する前
    記の第一および第二のクロックデータビットの両方を検
    出した後にのみ、前記の検出クロック信号を作成するこ
    とを特徴とする請求項30記載の方法。
  32. 【請求項32】 ホスト計算機は複数の出力データバイ
    トを作成する出力インタフェースを含み、前記の複数の
    出力データバイトの各々は第一および第二の部分を持
    ち、前記の第一の部分は複数の周辺装置データのバイト
    の一部を含み、そして前記の第二の部分はクロック信号
    を含む、ホスト計算機と周辺装置間のデータを転送する
    方法であって、(a) 周辺装置内で受信し入た出力デ
    ータバイトの第二の部分の各々からクロック信号を検出
    し、検出クロック信号を作成するステップ、(b) 前
    記の受信したクロック信号を受信し、前記の検出クロッ
    ク信号に対して予め決められた遅延を持つ遅延クロック
    信号を作成するステップ、及び(c) 前記遅延クロッ
    ク信号により動作可能となる、蓄積レジスター内の前記
    の受信した出力データバイトの第一の部分を蓄積するス
    テップを有し、 これにより、出力データバイトの前記の第一の部分はホ
    スト計算機から周辺装置へ送信され、そして複数の周辺
    装置データのバイトとして再構成されることを特徴とす
    る方法。
  33. 【請求項33】 更に、周辺装置内の入力バッファの前
    記の複数の出力データバイトを一時的に蓄積するステッ
    プを含み、前記ステップ(a)は前記入力バッファから
    の前記クロック信号を検出する、請求項32記載の方
    法。
  34. 【請求項34】 更に、パリティエラーを検出するため
    に前記の複数の出力データバイトの少なくとも一つを分
    析し、そして前記の一つの出力データバイトに前記のパ
    リティエラーが生じた時はパリティエラー信号を発生す
    るステップを含む請求項32記載の方法。
  35. 【請求項35】 前記の複数の周辺装置データバイトの
    第一が、前記の周辺装置データバイトの第二が繰り返さ
    れる回数を示す圧縮データ値を含み、周辺装置は前記の
    圧縮データ値を検出し、そして前記の圧縮データ値に対
    応する回数だけ前記の第二の周辺装置データバイトを繰
    り返すことを特徴とする、請求項32記載の方法。
  36. 【請求項36】 前記の複数の出力データバイトの一つ
    の前記第二の部分の一部が、圧縮されたデータの存在を
    示し、周辺装置が前記第二の部分の前記の部分を検出
    し、そして前記圧縮データを処理することを特徴とする
    請求項32記載の方法。
  37. 【請求項37】 出力インタフェースが第一および第二
    の出力データを作成し、前記の第一および第二の出力デ
    ータの各々が第一および第二の部分を持ち、その第一の
    部分は周辺装置データのバイトの一部を含み、そして前
    記第二の部分のクロック信号は、各々が第一および第二
    の論理レベルを持つ第一および第二のクロックデータビ
    ットから成り、第二のクロックデータビットは第一のク
    ロックデータビットを論理的に反転した形であり、クロ
    ック信号を検出する前記のステップ(a)は、出力デー
    タバイトの各々に対して第一および第二のデータビット
    の両方を検出した後にのみ前記の検出クロック信号を作
    成することを特徴とする請求項32記載の方法。
  38. 【請求項38】 周辺装置はホスト計算機から受信した
    複数の出力データバイトの各々からクロック信号を検出
    し、そして検出クロック信号を作成するためのクロック
    検出回路、および複数の受信した出力データバイトの第
    一の部分を蓄積する蓄積レジスターを含み、ホスト計算
    機と周辺装置間のデータを転送する方法であって、
    (a) 複数の周辺装置データのバイトを含むデータフ
    ァイルを取り出すステップ、(b) 複数の出力データ
    バイトを作成し、前記の複数の出力データバイトの各々
    は第一と第二の部分を持ち、その第一の部分は複数の周
    辺装置データのバイトの一部を含み、第二の部分はクロ
    ック信号を含むステップを有し、 これにより、蓄積された複数の受信したデータバイトの
    第一の部分はホスト計算機から周辺装置へ送信され、そ
    して複数の周辺装置データのバイトとして再構成される
    ことを特徴とする方法。
  39. 【請求項39】 プリンターは前記の一つの出力データ
    バイトのパリティエラーを検出できることを特徴とす
    る、更に、複数の出力データバイトの少なくとも一つの
    前記第二の部分へパリティデータビットを追加するステ
    ップを含む、請求項38記載の方法。
  40. 【請求項40】 前記圧縮データ値は前記複数の周辺装
    置データバイトの第二が繰り返される回数を示すことを
    特徴とする、更に、前記複数の周辺装置データバイトの
    第一に対し圧縮データ値を作成するステップを含む、請
    求項38記載の方法。
  41. 【請求項41】 更に、圧縮データの存在を示すため
    に、前記複数の出力データバイトの前記の第二の部分へ
    データ部分を追加するステップを含む請求項38記載の
    方法。
  42. 【請求項42】 複数の出力データバイトを作成する前
    記ステップ(a)が周辺装置データのバイトを前記第一
    および第二の出力データバイトの前記第一の部分に割付
    け、前記第二の部分の前記クロック信号は各々が第一お
    よび第二の論理レベルを持つ第一および第二のクロック
    データビットからなり、前記第二のクロックデータビッ
    トは前記の第一のクロックデータビットを反転した形で
    あることを特徴とする請求項38記載の方法。
JP5320218A 1992-12-18 1993-12-20 周辺装置へのデータ転送のシステム及び方法 Withdrawn JPH06282501A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US07/992,703 US5461701A (en) 1992-12-18 1992-12-18 System and method for peripheral data transfer
US08/161785 1993-12-03
US07/992703 1993-12-03
US08/161,785 US5581669A (en) 1992-12-18 1993-12-03 System and method for peripheral data transfer

Publications (1)

Publication Number Publication Date
JPH06282501A true JPH06282501A (ja) 1994-10-07

Family

ID=26858116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5320218A Withdrawn JPH06282501A (ja) 1992-12-18 1993-12-20 周辺装置へのデータ転送のシステム及び方法

Country Status (4)

Country Link
US (1) US5581669A (ja)
EP (1) EP0602667A1 (ja)
JP (1) JPH06282501A (ja)
CA (1) CA2111264A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097495A (ja) * 1996-09-20 1998-04-14 Canon Inc データ通信方法及びその装置
US7774795B2 (en) 1996-01-29 2010-08-10 Canon Kabushiki Kaisha Printer with optional device control

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69525918T2 (de) * 1994-12-28 2002-08-01 Canon Kk Bildverarbeitungsgerät
JPH096720A (ja) * 1995-06-15 1997-01-10 Canon Inc 情報伝送方法および情報伝送システム
US5819111A (en) * 1996-03-15 1998-10-06 Adobe Systems, Inc. System for managing transfer of data by delaying flow controlling of data through the interface controller until the run length encoded data transfer is complete
JP3253547B2 (ja) * 1996-03-28 2002-02-04 株式会社沖データ データ転送システム
US6058263A (en) * 1996-06-03 2000-05-02 Microsoft Corporation Interface hardware design using internal and external interfaces
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US5832302A (en) * 1996-07-01 1998-11-03 Sun Microsystems, Inc. Dual adder burst control governor to signal when a data burst is close to completion
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US6012115A (en) * 1997-07-28 2000-01-04 Vlsi Technology, Inc. Method and system for accurate temporal determination of real-time events within a universal serial bus system
US6198471B1 (en) * 1997-11-07 2001-03-06 Brandt A. Cook Free-floating multi-axis controller
DE19810730A1 (de) * 1998-03-12 1999-09-16 Philips Patentverwaltung Microcontrollerschaltung
US6347395B1 (en) * 1998-12-18 2002-02-12 Koninklijke Philips Electronics N.V. (Kpenv) Method and arrangement for rapid silicon prototyping
US6651184B1 (en) * 1999-11-03 2003-11-18 Hewlett-Packard Development Company, L.P. Isochronous transfer mode on a universal serial bus with error correction algorithms
US6901562B2 (en) 2000-01-18 2005-05-31 Cadence Design Systems, Inc. Adaptable circuit blocks for use in multi-block chip design
US20020066088A1 (en) * 2000-07-03 2002-05-30 Cadence Design Systems, Inc. System and method for software code optimization
US7262873B1 (en) 2000-07-05 2007-08-28 Lexmark International, Inc. Photoprinter access to remote data
US7054019B1 (en) * 2000-09-05 2006-05-30 Hewlett-Packard Development Company, L.P. Method and system for tracking the current date and time with a printer and operating the printer accordingly
JP4350404B2 (ja) * 2002-04-24 2009-10-21 キヤノン株式会社 記録装置及びその制御方法
US7856516B2 (en) 2006-10-27 2010-12-21 Kyocera Mita Corporation Interfacing incompatible signaling using generic I/O and interrupt routines
JP4941502B2 (ja) * 2009-04-27 2012-05-30 ブラザー工業株式会社 画像形成装置、及び、画像形成方法
WO2016043885A1 (en) * 2014-09-15 2016-03-24 Adesto Technologies Corporation Support for improved throughput in a memory device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754428A (en) * 1985-04-15 1988-06-28 Express Communications, Inc. Apparatus and method of distributing documents to remote terminals with different formats
US4868653A (en) * 1987-10-05 1989-09-19 Intel Corporation Adaptive digital video compression system
US4918523A (en) * 1987-10-05 1990-04-17 Intel Corporation Digital video formatting and transmission system and method
US5029124A (en) * 1988-05-17 1991-07-02 Digital Equipment Corporation Method and apparatus for providing high speed parallel transfer of bursts of data
US5268993A (en) * 1990-06-04 1993-12-07 Minolta Camera Kabushiki Kaisha Printer
CA2134459C (en) * 1992-05-15 2002-07-30 Clark L. Buxton Enhanced parallel port

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774795B2 (en) 1996-01-29 2010-08-10 Canon Kabushiki Kaisha Printer with optional device control
JPH1097495A (ja) * 1996-09-20 1998-04-14 Canon Inc データ通信方法及びその装置

Also Published As

Publication number Publication date
EP0602667A1 (en) 1994-06-22
CA2111264A1 (en) 1994-06-19
US5581669A (en) 1996-12-03

Similar Documents

Publication Publication Date Title
JPH06282501A (ja) 周辺装置へのデータ転送のシステム及び方法
US5461701A (en) System and method for peripheral data transfer
JP2757055B2 (ja) ディジタル・コンピュータのデータ転送方法
JP3034362B2 (ja) 周辺制御装置およびscsiバス制御装置
US5812875A (en) Apparatus using a state device and a latching circuit to generate an acknowledgement signal in close proximity to the request signal for enhancing input/output controller operations
EP0378426A2 (en) Data transfer using bus address lines
US5778253A (en) No repeat byte compression method for achieving high speed data transfer from a parallel port
US6138184A (en) System for parallel port with direct memory access controller for developing signal to indicate packet available and receiving signal that packet has been accepted
JPH06348646A (ja) 情報処理システムで異なるバス・アーキテクチャの間の正確かつ完全な通信を提供する方法および装置
JP3418969B2 (ja) Lpc/isaブリッジ及びそのブリッジ方法
KR100403404B1 (ko) 양방향병렬신호인터페이스
US6317842B1 (en) Method and circuit for receiving dual edge clocked data
US3824551A (en) Releasable buffer memory for data processor
JPH10150522A (ja) 画像形成装置のホストインタフェース回路
JPH03116212A (ja) 最小リセット時間ホールド回路
JPH03108182A (ja) メモリー制御装置及びメモリー制御方法
US6675244B1 (en) SCSI data rate speed determination
US6546497B1 (en) SCSI clock stretching
JP2581041B2 (ja) デ−タ処理装置
JPH08197788A (ja) プリンタ制御装置の画像データ読出し回路
JP2000330927A (ja) 高速処理装置
JPH07319841A (ja) シリアル制御装置
KR20010084336A (ko) 아이·이·트리플 1284 표준의 호환성 모드를 사용한시그널링 방법
JPH04284530A (ja) 印刷装置
JPH0113143B2 (ja)

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306