(57)【特許請求の範囲】
【請求項１】
バス接続されたプリンタ・コントローラとプリンタとから構成され，上記プリンタ・コントローラは画像データをバスを通して上記プリンタに供給し，上記プリンタは上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画するプリンタ・システムにおいて，
上記プリンタには一駒分の画像を表わす画像データのデータ量よりも少ない画像データの記憶容量をもち，かつ上記プリンタ・コントローラから供給される画像データを一時記憶するバッファ・メモリおよび画像データの転送要求を出力する手段が設けられており，
上記プリンタ・コントローラは，
パケットを一定周期で送信するアイソクロナス転送にもとづいて一定周期で送信されるパケットに，上記転送要求の出力に応答して画像データを格納することにより，上記プリンタへ画像データを送信する画像データ送信制御手段，および
アイソクロナス転送にもとづいて一定周期で送信されるパケットに，上記転送要求の出力に応答して上記画像データ送信制御手段によって画像データが送信された後次の上記転送要求出力までの間，空データを格納することにより，上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画する上記プリンタへの空データの送信をパケット単位で繰返す空データ送信制御手段をさらに備え，
上記プリンタは，
上記プリンタ・コントローラからアイソクロナス転送にもとづいて一定周期で送信されるパケットに格納されている画像データを受信し，上記バッファ・メモリに記憶させる記憶制御手段，および
上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を一定速度で印画する印画制御手段をさらに備えている，
プリンタ・システム。
【請求項２】
上記バッファ・メモリに記憶されている画像データが無くならないように，上記プリンタが，上記画像データの転送要求を出力するものである，請求項１に記載のプリンタ・システム。
【請求項３】
上記画像データ送信制御手段が，上記バッファ・メモリに記憶されている画像データが無くならないように上記パケットに含まれる画像データ量を変更して画像データを送信するものである，請求項１に記載のプリンタ・システム。
【請求項４】
上記プリンタが，印画準備設定要求コマンドを入力したことにより印画に関する準備を行なうものであり，この準備の終了後に上記転送要求を出力する請求項１に記載のプリンタ・システム。
【請求項５】
上記印画準備設定要求コマンドが上記プリンタ・コントローラから出力されるものであり，
上記プリンタ・コントローラは，
上記印画準備設定要求コマンドの出力後から上記転送要求の出力までの間，空データの送信をパケット単位で繰返す空データ送信制御手段をさらに備えている，
請求項４に記載のプリンタ・システム。
【請求項６】
上記プリンタ・コントローラには上記プリンタが複数台接続されており，
上記プリンタは，すべての上記プリンタからの上記転送要求の出力があったことに応答して，パケット単位で上記プリンタへ画像データを送信するものである，請求項１に記載のプリンタ・システム。
【請求項７】
バス接続されたプリンタ・コントローラとプリンタとから構成され，上記プリンタ・コントローラは画像データをバスを通して上記プリンタに供給し，上記プリンタは上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画し，上記プリンタには一駒分の画像を表わす画像データのデータ量よりも少ない画像データの記憶容量をもち，かつ上記プリンタ・コントローラから供給される画像データを一時記憶するバッファ・メモリおよび画像データの転送要求を出力する手段が設けられているプリンタ・システムに用いられるプリンタ・コントローラであり，
パケットを一定周期で送信するアイソクロナス転送にもとづいて一定周期で送信されるパケットに，上記転送要求の出力に応答して画像データを格納することにより，上記プリンタへ画像データを送信する画像データ送信制御手段，および
アイソクロナス転送にもとづいて一定周期で送信されるパケットに，上記転送要求の出力に応答して上記画像データ送信制御手段によって画像データが送信された後次の上記転送要求出力までの間，空データを格納することにより，上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画する上記プリンタへの空データの送信をパケット単位で繰返す空データ送信制御手段をさらに備えている，
プリンタ・コントローラ。
【請求項８】
バス接続されたプリンタ・コントローラとプリンタとから構成され，上記プリンタ・コントローラは画像データをバスを通して上記プリンタに供給し，上記プリンタは上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画するプリンタ・システムにおいて，
上記プリンタには一駒分の画像を表わす画像データのデータ量よりも少ない画像データの記憶容量をもち，かつ上記プリンタ・コントローラから供給される画像データを一時記憶するバッファ・メモリおよび画像データの転送要求を出力する手段が設けられており，
上記プリンタ・コントローラは，
パケットを一定周期で送信するアイソクロナス転送にもとづいて一定周期で送信されるパケットに，上記転送要求の出力に応答して画像データを格納することにより，上記プリンタへ画像データを送信し，
アイソクロナス転送にもとづいて一定周期で送信されるパケットに，上記転送要求の出力に応答して上記画像データ送信制御手段によって画像データが送信された後次の上記転送要求出力までの間，空データを格納することにより，上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画する上記プリンタへの空データの送信をパケット単位で繰返し，
上記プリンタは，
上記プリンタ・コントローラからアイソクロナス転送にもとづいて一定周期で送信されるパケットに格納されている画像データを受信し，上記バッファ・メモリに記憶させ，
上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を一定速度で印画する，
プリンタ・システムの動作制御方法。
【請求項９】
上記バッファ・メモリに記憶されている画像データが無くならないように，上記プリンタが，上記画像データの転送要求を出力するものである，請求項８に記載のプリンタ・システムの動作制御方法。
【請求項１０】
上記プリンタ・コントローラは，上記バッファ・メモリに記憶されている画像データが無くならないように上記パケットに含まれる画像データ量を変更して画像データを送信するものである，請求項８に記載のプリンタ・システムの動作制御方法。
【請求項１１】
上記プリンタは，印画準備設定要求コマンドを入力したことにより印画に関する準備を行なうものであり，この準備の終了後に上記転送要求を出力するものである，請求項８に記載のプリンタ・システムの動作制御方法。
【請求項１２】
上記印画準備設定要求コマンドが上記プリンタ・コントローラから出力されるものであり，
上記プリンタ・コントローラは，上記印画準備設定要求コマンドの出力後から上記転送要求の出力までの間，空データの送信をパケット単位で繰返すものである，請求項11に記載のプリンタ・システムの動作制御方法。
【請求項１３】
上記プリンタ・コントローラには上記プリンタが複数台接続されており，
上記プリンタは，すべての上記プリンタからの上記転送要求の出力があったことに応答して，パケット単位で上記プリンタへ画像データを送信するものである，請求項８に記載のプリンタ・システムの動作制御方法。
【請求項１４】
バス接続されたプリンタ・コントローラとプリンタとから構成され，上記プリンタ・コントローラは画像データをバスを通して上記プリンタに供給し，上記プリンタは上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画し，上記プリンタには一駒分の画像を表わす画像データのデータ量よりも少ない画像データの記憶容量をもち，かつ上記プリンタ・コントローラから供給される画像データを一時記憶するバッファ・メモリおよび画像データの転送要求を出力する手段が設けられているプリンタ・システムに用いられるプリンタ・コントローラの動作制御方法であり，
パケットを一定周期で送信するアイソクロナス転送にもとづいて一定周期で送信されるパケットに，上記転送要求の出力に応答して画像データを格納することにより，上記プリンタへ画像データを送信し，および
アイソクロナス転送にもとづいて一定周期で送信されるパケットに，上記転送要求の出力に応答して上記画像データ送信制御手段によって画像データが送信された後次の上記転送要求出力までの間，空データを格納することにより，上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画する上記プリンタへの空データの送信をパケット単位で繰返す，
プリンタ・コントローラの動作制御方法。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は，バス接続されたプリンタ・コントローラとプリンタとから構成され，プリンタ・コントローラは画像データをバスを通してプリンタに供給し，プリンタはプリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画するプリンタ・システムに関する。この発明はまたこのプリンタ・システムを構成するプリンタおよびプリンタ・コントローラに関する。この発明はさらにプリンタ・システムの動作制御方法，プリンタの動作制御方法およびプリンタ・コントローラの動作制御方法に関する。
【０００２】
【発明の背景】
プリンタ・コントローラからプリンタに画像データを送信するにはセントロニクス，ＳＣＳＩ（Small Computer system interface ）などのパラレル通信，ＲＳ２３２Ｃ，ＲＳ４２２，ＵＳＢ（Universal Serial Bus）などのシリアル通信が利用される。これらの通信方式ではいずれもプリンタの印画速度と無関係にプリンタ・コントローラからプリンタに画像データが送信される。プリンタには少なくとも一駒分の画像（一枚の用紙上に印画される画像）を表わす画像データを記憶できる容量をもつ画像メモリを設けておく必要がある。このためプリンタのコスト・ダウンを図ることは困難である。
【０００３】
【発明の開示】
この発明は，比較的小容量の画像メモリを用いてプリンタを構成できるようにすることを目的とする。
【０００４】
この発明は，プリンタ・コントローラからプリンタに画像データを供給するために，現在検討されつつある高速シリアル伝送のためのＩＥＥＥ標準１３９４（ＩＥＥＥ Standard 1394，ＩＥＥＥ＝The Institute of Electrical and Electronic Engineers，Inc.）を利用するものである。このＩＥＥＥ標準１３９４ではアイソクロナス（Isochronaus ）転送とアシンクロナス（Asynchronaus）転送とが可能である。
【０００５】
アイソクロナス転送ではバスによって接続された複数のノードのいずれかからサイクル・スタート・パケット・データと呼ばれるデータが原則としてアイソクロナス・サイクル（ 125μｓ周期）で発生する。アイソクロナス・サイクルごとに，あるノード（このノードは後述のようにサイクル・マスタである）から他のノードにデータが送信される。アイソクロナス転送ではアイソクロナス・サイクル内に必ずデータ送信を行なうことが可能である。アイソクロナス転送は送信装置から受信装置に一方的にデータを送信する転送である。アシンクロナス転送は受信装置が送信データを受信すると，受信した旨を送り返す転送である。
【０００６】
この発明はプリンタとプリンタ・コントローラとから構成されるプリンタ・システムを提供している。このプリンタ・システムにおいてプリンタとプリンタ・コントローラとはバス接続されており，プリンタ・コントローラは画像データをバスを通してプリンタに供給する。プリンタはプリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画するものである。
【０００７】
上記プリンタには一駒分の画像を表わす画像データのデータ量よりも少ない画像データの記憶容量をもち，かつ上記プリンタ・コントローラから供給される画像データを一時記憶するバッファ・メモリおよび画像データの転送要求を出力する手段が設けられているものである。
【０００８】
上記プリンタ・コントローラは，上記転送要求の出力に応答して，パケット単位で上記プリンタへ画像データを送信する画像データ送信制御手段を備えている。
【０００９】
上記プリンタは，上記プリンタ・コントローラから送信される画像データを受信し，上記バッファ・メモリに記憶させる記憶制御手段，および上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を一定速度で印画する印画制御手段をさらに備えている。
【００１０】
この発明は上記プリンタ・システムに適した動作制御方法も提供している。すなわち，バス接続されたプリンタ・コントローラとプリンタとから構成され，上記プリンタ・コントローラから画像データをバスを通して上記プリンタに供給し，上記プリンタにおいて上記プリンタ・コントローラから供給される画像データによって表わされる画像を一定速度で印画するプリンタ・システムの動作を制御する方法である。上記プリンタには，一駒分の画像を表わす画像データのデータ量よりも少ない画像データの記憶容量をもち，かつ供給された画像データを一時記憶するバッファ・メモリおよび画像データの転送要求を出力する手段を設けておく。
【００１１】
そして，上記プリンタからの転送要求の出力に応答して，パケット単位で上記プリンタ・コントローラから画像データを送信し，上記プリンタにおいて，上記プリンタ・コントローラから送信される画像データを受信して上記バッファ・メモリに記憶させ，かつ上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を一定速度で印画させる。
【００１２】
この発明によると，プリンタには一駒の画像（一駒分の画像とは上述のように一枚の用紙上に印画される画像をいう）を表わす画像データのデータ量よりも少ない画像データの記憶容量をもつバッファ・メモリが備えられている。
【００１３】
上記プリンタ・コントローラにおいて，プリンタからの転送要求の出力に応答してパケット単位での上記プリンタへの送信が行なわれる。
【００１４】
プリンタでは送信された画像データをパケット単位で受信し，バッファ・メモリに一時記憶する。バッファ・メモリに記憶された画像データが読出され，読出された画像データによって表わされる画像が一定速度で印画される。
【００１５】
プリンタには一駒分の画像を表わす画像データのデータ量を記憶できる大きな容量をもつメモリを設ける必要がなく，容量の少ないバッファ・メモリを備えれば足りコスト・ダウンを図ることができる。
【００１６】
上記転送要求はたとえば一駒分の画像のほぼ１ライン分の印画ごとに上記プリンタから出力すればよい。
【００１７】
また上記バッファ・メモリに記憶されている画像データが無くならないように，上記プリンタが上記画像データの転送要求を出力することにより画像データの連続性を保つことができる。
【００１８】
さらに上記バッファ・メモリに記憶されている画像データが無くならないように，上記パケットに含まれる画像データ量を変更して上記コントローラから画像データを送信してもよい。この場合も画像データの連続性を保つことができる。
【００１９】
上記プリンタ・コントローラによって，上記転送要求の出力に応答して上記画像データ送信制御手段によって画像データが送信された後次の上記転送要求出力までの間，空データの送信をパケット単位で繰返すようにしてもよい。
【００２０】
これによりバッファ・メモリに記憶される画像データの量を調整することができる。
【００２１】
好ましくは上記プリンタは，印画準備設定要求コマンドを入力したことにより印画に関する準備（プリンタのヒートアップ，印画用紙の位置決め，印画ヘッドの位置決めなど）を行なう。この場合には印画に関する準備の終了後に上記転送要求を出力することとなろう。印画に関する準備が終了しないうちにプリンタ・コントローラから画像データが転送されることを防止できる。
【００２２】
上記印画準備設定要求コマンドは，プリンタ・コントローラから出力されるようにしてもよい。この場合には上記プリンタ・コントローラは，上記印画準備設定要求コマンドの出力後から上記転送要求の出力までの間，空データの送信をパケット単位で繰返す。
【００２３】
画像データの送信のためのルーチンを変更することなく，あらかじめ定められたルーチンを用いることができる。
【００２４】
上記プリンタ・コントローラに上記プリンタを複数台接続してもよい。この場合には，上記プリンタは，すべての上記プリンタからの上記転送要求の出力があったことに応答して，パケット単位で上記プリンタへ画像データを送信することとなろう。
【００２５】
さらに，上記プリンタ・システムを構成するプリンタおよびプリンタ・コントローラをそれぞれ単独で構成することもできる。
【００２６】
【実施例の説明】
(1) ＩＥＥＥ標準１３９４にもとづくデータ転送
この実施例によるプリンタ・システムについて説明する前にＩＥＥＥ標準１３９４にもとづくデータ転送について説明する。
【００２７】
図９はバスを用いて複数の機器（コンピュータ，プリンタ，ディジタル・ビデオ・テープ・レコーダなど）Ａ，Ｂ，Ｃ，Ｄ，ＥおよびＦを接続した様子を示している。各機器は１または複数個のポートをもつことができる（図９の例ではすべての機器が３個のポートをもっている）。各機器のポートを接続することにより，最大63台の機器の接続が可能である。ＩＥＥＥ標準１３９４ではデイジー・チェイン接続が16を越えない限り機器を接続できる。ループ接続は無い。
【００２８】
ＩＥＥＥ標準１３９４ではアイソクロナス転送とアシンクロナス転送との２種類のデータ転送が可能である。アイソクロナス転送およびアシンクロナス転送のいずれにおいてもパケット単位でデータ転送が行なわれる。
【００２９】
図12はサイクル・スタート・パケットのフォーマットを示している。サイクル・スタート・パケット・データはアイソクロナス・サイクル周期（この期間は原則として 125μｓ）の開始を表わすもので，後述のようにサイクル・マスタからアイソクロナス転送によって送信される。
【００３０】
サイクル・スタート・パケットには，送信先のＩＤ（機器に固有のものである），トランザクション・ラベル，リトライ・コード，アシンクロナス転送データかアイソクロナス転送データかを示すｔコード，送信データの優先度を示すプライオリティ，送信元ＩＤ，読書きするアドレスのオフセット，データ長，拡張トランザクション・コード，サイクル・タイム・データおよびデータＣＲＣ（Cyclic Redundansy Check ）が含まれている。
【００３１】
ＩＥＥＥ標準１３９４では，後述のサイクル・マスタが電源立上げ時から時間の計測を開始する。この計測時間を表わすデータがサイクル・タイム・データである。後述の各ノードはカウンタを有しており，時間の計測ができる。各ノードのカウンタはサイクル・マスタから送信されるサイクル・スタート・パケット・データを受信するとリセットされる。サイクル・スタート・パケットは上述のように 125μｓごとに出力されるのが原則であるが，遅延することも許される（詳しくは後述する）。この遅延時間はサイクル・スタート遅延時間と呼ばれる。サイクル・スタート遅延時間は，サイクル・タイム・データによって表わされるサイクル・マスタの計測時間と，各ノードの計測時間との差にもとづいて各ノードにおいて算出される。例えばサイクル・マスタの計測時間が 130μｓであり，サイクル・スタート・パケット・データが与えられたときの各ノードの計測時間が 125μｓであれば，サイクル・スタート遅延時間は130 μｓ− 125μｓ＝５μｓとなる。
【００３２】
１台の被制御機器に対してこれを制御する２台以上の制御機器がある場合，１台の制御機器のみが被制御機器を制御することも可能であり，これを排他的制御という。この排他的制御が行なわれているかどうかをチェックするのに用いられる演算を特定するのが拡張トランザクション・コードである。
【００３３】
アシンクロナス転送によってデータを送信する場合に用いられるのが図13に示すアシンクロナス・データ・パケット・フォーマットである。このフォーマットはサイクル・スタート遅延時間を表わすデータに代えて送信データがパケットに含まれる点でのみサイクル・スタート・パケット・フォーマットと異なっている。
【００３４】
図14および図15はアイソクロナス転送で用いられるパケットのフォーマットを示すものである。図14はコマンドを送る場合に用いられるアイソクロナス・コマンド・パケットのフォーマットを，図15は画像データを送信する場合に用いられるアイソクロナス・データ・パケットのフォーマットをそれぞれ示している。
【００３５】
これらのパケット・フォーマットには，データの長さを示すデータ長，コマンドまたは画像データに付与されるチャネル番号，ｔコード，同期ビットを示すＳy ，データ長から同期ビットＳy までのデータの誤り検出コードであるヘッダＣＲＣ，コマンドまたは画像データ，およびコマンドまたは画像データの誤り検出コードであるデータＣＲＣが含まれている。後述のようにアイソクロナス転送ではチャネル番号が各機器に割当てられ，機器に割当てられたチャネル番号と送信されるパケットに含まれているチャネル番号とが一致するときに，その一致するチャネル番号が割当てられた機器が送信されたコマンドまたは画像データを受信する。またＴg は現在のＩＥＥＥ標準１３９４の規格では使用目的は定められておらず，「００」が記録される。
【００３６】
図９に戻ってＩＥＥＥ標準１３９４ではバスによって接続された各機器間における親子関係が決定される。この親子関係の決定方法は次の通りである。
【００３７】
各装置の電源が投入されると，ある装置から他の機器に親子関係の問い合わせが行なわれる。親子関係を問い合わせた機器が子となり，親子関係の問い合わせを受けた機器が親となる。
【００３８】
すべての機器について親子関係が決まると，図10に示すように，全体はツリー構造となる。図10の例では，機器Ｂが親（ルート）である。機器ＡおよびＣは機器Ｂの子となっており，機器ＤおよびＦは機器Ａの子（機器Ｂからみれば孫），機器Ｅは機器Ｃの子（機器Ｂからみれば孫）となっている。
【００３９】
ＩＥＥＥ標準１３９４では上述のようにアイソクロナス転送のデータを受信するために各機器にチャネル番号が割当てられ，かつアシンクロナス転送のデータを受信するために各機器にＩＤが割当てられる。図示の例では機器Ａにチャネル番号ＡおよびＩＤa が割当てられ，機器Ｂにチャネル番号ＢおよびＩＤb が割当てられ，機器Ｃにチャネル番号ＣおよびＩＤc が割当てられ，機器Ｄにチャネル番号ＤおよびＩＤd が割当てられ，機器Ｅにチャネル番号ＥおよびＩＤe が割当てられ，機器Ｆにチャネル番号ＦおよびＩＤf が割当てられている。
【００４０】
図11はアイソクロナス転送のタイム・チャートである。
【００４１】
アイソクロナス転送の制御はサイクル・マスタと呼ばれる機器によって行なわれる。ルートがサイクル・マスタとなる。
【００４２】
サイクル・スタート・パケットがサイクル・マスタ（ルート）から出力されることによりサイクル期間が開始する。サイクル・スタート・パケットはルートに接続されているすべての機器（孫の機器を含む）に与えられる。
【００４３】
サイクル・スタート・パケットの送出の後にアイソクロナス・データの転送が開始する。
【００４４】
サイクル・スタート・パケットの送出後から第１の期間（ショート・ギャップの期間）Ｓg 経過すると，アイソクロナス転送したいすべての機器の間でアービトレーションが行なわれる。アービトレーションはバスの使用許可を受けることであり，次のようにして行なわれる。
【００４５】
まずアイソクロナス転送をしようとする機器からその親機器にバスの使用の要求信号が送信される。この要求信号はルートに近い機器から順に送信される。要求信号を受信した親機器はさらにその親機器に要求信号を中継する。結果的には，アイソクロナス転送したいすべての機器からの要求信号がサイクル・マスタにまで到達する。サイクル・マスタにはどの機器が優先的にバスの使用をできるかが記憶されており，その優先順位にしたがってショート・ギャップＳg の経過時点でバスを使用できる機器が決定される。この決定された機器にのみ，バスの使用を許可する信号がショート・ギャップＳg の経過時点のタイミングでサイクル・マスタから出力される。他の機器にはショート・ギャップＳg の経過時点のタイミングにおいてバスの使用を拒否する信号がサイクル・マスタから送信される。バスの使用を許可する信号を受信した機器がデータを送信できる。
【００４６】
図10に示す例では，機器Ａ，ＣおよびＦからバスの使用を要求する要求信号が送信され，これらの要求信号はルートである機器Ｂが受信している。ルートである機器Ｂから機器Ｃにバスの使用を許可する許可信号が送信され，機器Ｃからデータの送信が可能となる。機器Ａおよび機器Ｆにはバスの使用を拒否する拒否信号が送信され，機器Ａおよび機器Ｆからはその時点においてデータの送信はできないこととなる。機器Ａおよび機器Ｆは，機器Ｃが１パケット分のデータを送信した後，再びアービトレーションを行ない，バスの使用を許可する許可信号を受信したときにデータの送信を行なうこととなる。
【００４７】
図11に戻ってサイクル・スタート・パケットの送出後からショート・ギャップＳg の経過の時点においてバスの使用権を得た機器からアイソクロナス転送データがパケット単位で送信される。このパケット（図14または図15に示すフォーマットをもつ）のデータの前にはデータの始まりを表わすプレフィクス・データが付加され，パケットの後にはデータの終りを表わすエンド・データが付加される。
【００４８】
エンド・データはすべての機器に与えられる。これによりすべての機器はバスが空いていることを認識する。エンド・データの受信後からショート・ギャップＳg の期間が経過した時点においてアイソクロナス転送データを送信したい機器が上述のように再びバスの使用の要求信号を送信する（アービトレーション）（アイソクロナス・サイクル期間内において１度バスの使用権を得た機器はそのアイソクロナス・サイクル期間内では再び要求信号は出力しない。アイソクロナス転送するすべての機器がアイソクロナス・サイクル期間内のいずれかの時点において１パケット分のデータを送信できる）。
【００４９】
アイソクロナス期間内における，アイソクロナス転送が終ると第２の期間（ロング・ギャップｌg ）が経過した時点においてアシンクロナス転送のためのバスの使用権の確保が行なわれる。バスの使用権を得た機器からアシンクロナス転送のデータがパケット単位で送信される。アシンクロナス転送においても，パケットの前にデータの始まりを表わすプレフィクス・データが付加され，パケットの後にエンド・データが付加される。アシンクロナス転送においては，アシンクロナス転送において受信した機器からアシンクロナス転送データを送信した機器に受信した旨を表わすアクナリッジ・データＡＣＫが出力される。このアクナリッジ・データの前後にもプレフィクス・データおよびエンド・データが付加される。
【００５０】
アシンクロナス転送するデータ量が多いとサイクル・スタート・パケットの送出間隔が 125μｓよりも遅れる。サイクル・スタート・パケットの送出間隔が 125μｓ期間を越えた場合，上述のように送出サイクル・スタート・パケットの遅延時間Δｔはサイクル・タイム・データによって表わされる計測時間と各ノードの計測時間にもとづいて算出される（図12参照）。
【００５１】
(2) プリンタ・システム
この実施例によるプリンタ・システムは，プリンタ20とプリンタ20によるプリントを制御するプリンタ・コントローラ10とがＩＥＥＥ標準１３９４にもとづくケーブルによって互いに接続されることにより構成される。
【００５２】
図１はプリンタ・コントローラ10の電気的構成を示すブロック図である。
【００５３】
プリンタ・コントローラ10はメインＣＰＵ11によって全体の動作が統括される。プリンタ・コントローラ10にはメイン・メモリ12が含まれている。このメイン・メモリ12にはプリンタ・コントローラ10の動作プログラム，プリンタ20に送信し，プリンタ20によってプリントすべき画像を表わす画像データ，その他のデータが格納されている。またプリンタ・コントローラ10には上述したアイソクロナス転送およびアシンクロナス転送を行なうための通信制御回路13が含まれている。この通信制御回路13には送信すべき１パケット分のデータを一時記憶するための送信用転送メモリ13Ａ，プリンタ20から送信されてきた１パケット分のデータを一時記憶するための受信用転送メモリ13Ｂ，ならびにプリンタ・コントローラ10のＩＤを表わすデータおよびチャネル番号を表わすデータを記憶するレジスタ13Ｃが含まれている。アイソクロナス転送が行なわれるときは，アイソクロナス期間ごとに通信制御回路13からメインＣＰＵ11に割込みが行なわれる。この割込みに応答してメインＣＰＵ11によってメイン・メモリ12から画像データの読出しが行なわれる。
【００５４】
図２はプリンタ20の電気的構成を示すブロック図である。
【００５５】
プリンタ20の全体の動作はシステム・コントローラ21によって統括される。システム・コントローラ21にはプリント用紙の有無を含むプリンタ20の現在の状態を表わすデータなどを一時記憶するＲＡＭ22およびプリンタ20の動作プログラム，プリンタ20の印画速度，後述する送信用転送メモリ25Ａ，受信用転送メモリ25ＢおよびＦＩＦＯ(first in first out)メモリ26のメモリ容量を含むプリンタの仕様データその他のデータが記憶されているＲＯＭ23が接続されている。さらにプリンタ20には操作キーおよび状態表示回路24が含まれている。操作キーによる設定を表わす信号はシステム・コントローラ21に与えられ，かつプリンタ20の状態が状態表示回路24に表示される。
【００５６】
プリンタ20にも上述したアイソクロナス転送およびアシンクロナス転送を行なうための通信制御回路25が含まれている。この通信制御回路25には送信すべき１パケット分のデータを一時記憶するための送信用転送メモリ25Ａ，およびプリンタ・コントローラ10から送信されてきた１パケット分のデータを一時記憶するための受信用転送メモリ25Ｂならびにプリンタ20のＩＤを表わすデータおよびチャネル番号を記憶するレジスタ25Ｃが含まれている。通信制御回路25において１パケット分のデータを受信すると通信割込みが発生しシステム・コントローラ21に与えられる。この割込みに応答して，受信したデータのＦＩＦＯメモリ26への転送が行なわれる。
【００５７】
プリンタ20にはＦＩＦＯメモリ26が含まれている。このＦＩＦＯメモリ26はプリンタ20によってプリントされる画像を表わす画像データのうち２ライン分の画像データを記憶できる容量をもつものである。
【００５８】
プリント・エンジン28は印画ヘッドを含み，システム・コントローラ21からのプリント開始要求信号に応答してプリントを開始する。システム・コントローラ21からプリント・エンジン28にプリント開始要求信号が与えられると，プリント・エンジン28からデータ要求信号が発生しＦＩＦＯメモリ26に与えられる。プリント・エンジン28からのデータ要求信号に応答して，記憶している画像データがＦＩＦＯメモリ26から出力される。１ライン分の画像データがＦＩＦＯメモリ26から出力されると転送完了割込信号が，ＦＩＦＯメモリ26からシステム・コントローラ21に与えられる。これによりシステム・コントローラ21はＦＩＦＯメモリ26から１ライン分の画像データが出力されたことを認識する。
【００５９】
ＦＩＦＯメモリ26から出力されたデータはデータ処理回路27に与えられ，システム・コントローラ21によって設定された色変換係数にもとづく色変換処理を含むデータ処理が行なわれ，出力される。データ処理回路27から出力された画像データがプリント・エンジン28に与えられ，プリント・エンジン28に含まれる印画ヘッドによって一定速度でプリントされる。
【００６０】
図３は，プリンタ・コントローラ10からプリンタ20に画像データを送信するときのタイム・チャート，図４は，プリンタ・コントローラ10からプリンタ20に画像データを送信するときにプリンタ・コントローラ10とプリンタ20との間において行なわれるコマンドおよびデータの送受信の様子を表わしている。ここでは簡単のために１台のプリンタ・コントローラ10と１台のプリンタ20とが接続されているものとする。上述したようにＩＥＥＥ標準１３９４では合計63台の機器の接続が可能であるので，プリンタ・コントローラとプリンタを含めて合計63台の機器を接続し，所望のプリンタに画像データを送信し，プリントすることもできる。図１および図２の例ではたとえばプリンタ・コントローラ10が親（サイクル・マスタ）であり，プリンタ20が子である。
【００６１】
この実施例では，プリンタ20から画像データの転送要求が出力されプリンタ・コントローラ10に与えられる。転送要求をプリンタ・コントローラ10が入力すると，その転送要求に応答して通信制御回路13によってプリント・データがプリンタ・コントローラ10からプリンタ20に送信される。
【００６２】
まず，レディ信号の出力要求コマンドがプリンタ・コントローラ10から出力され，プリンタ20に与えられる。プリンタ20においてレディ信号出力要求信号が受信されると，システム・コントローラ21によってＲＡＭ22が参照されレディ状態であればレディ信号が出力される。プリント・コントローラ10においてレディ信号が受信されると，第１のプリンタ仕様データ要求コマンドがプリンタ・コントローラ10から出力されプリンタ20に与えられる。プリンタ20において第１のプリンタ仕様データ要求コマンドが受信されるとシステム・コントローラ21によってプリンタ20の印画速度，ＦＩＦＯメモリ26の記憶容量を含むプリンタ20の固定仕様データがＲＯＭ23から読出される。この固定の仕様データはプリンタ20からプリント・コントローラ10に与えられる。
【００６３】
つづいてプリンタ・コントローラ10からプリンタ20にプリンタ予約データが与えられる。プリンタ予約データはプリンタ20がプリンタ・コントローラ10からの画像データの送信を受付けるようにプリンタを設定するデータであり，プリンタ20のＲＡＭ22に書込まれる。さらに第２のプリンタ仕様データ要求コマンドがプリンタ・コントローラ10から出力されプリンタ20に与えられる。プリンタにおいて第２のプリンタ仕様データ要求コマンドが受信されるとシステム・コントローラ21によってプリンタ20の現在の状態を表わすデータがＲＡＭ22から読出される。この現在の状態を表わすデータはプリンタ20からプリント・コントローラ10に与えられる。第２のプリンタ仕様データ要求コマンドの送信から第２のプリンタ仕様データの受信までの間は，プリンタ・コントローラ10からプリンタ20に空データ（空データとは図12に示すアシンクロナス・データ・パケット・フォーマットにおいて送信データが空のデータまたは図15に示すアイソクロナス・データ・パケット・フォーマットにおいて画像データが空のデータをいう）を送信してもよい。
【００６４】
ここまでのプリンタ・コントローラ10とプリンタ20とのデータまたはコマンドの送受信は図13に示すフォーマットにしたがってアシンクロナス転送で行なわれる。もっともアシンクロナス転送ではなく，アイソクロナス転送を用いるようにしてもよい。次に述べるプリント・スタンバイ・コマンド以降の転送データはアイソクロナス転送となる。
【００６５】
つづいてプリンタ・コントローラ10とプリンタ20との間においてアイソクロナス転送を行なうためにプリンタ・コントローラ10およびプリンタ20にチャネル番号の設定が行なわれる。プリンタ・コントローラ10に設定されたチャネル番号を表わすデータはレジスタ13Ｃに記憶され，プリンタ20に設定されたチャネル番号を表わすデータはレジスタ25Ｃにも記憶される。
【００６６】
チャネル番号が設定されると，図15に示すパケット・フォーマットにしたがって，メインＣＰＵ11の制御のもとに通信制御回路13においてプリンタ・スタンバイ・コマンドが生成され，プリンタ・コントローラ10からプリンタ20に送信される。プリンタ20においてプリンタ・スタンバイ・コマンドが受信されると，プリンタ用紙のホーム・ポジションへの位置決めなどのプリント準備が開始する。プリンタ20においてプリント準備が終了するとプリント準備完了および転送要求データがプリンタ20から出力され，プリンタ・コントローラ10に与えられる。プリント・スタンバイ・コマンドの送信からプリント準備完了および転送要求データの受信までの間も，プリンタ・コントローラ10からプリンタ20に空データが送信される。
【００６７】
プリント準備完了および転送要求データがプリンタ20から出力されると，１パケットで送信できるデータ量の送信プリント・データ（画像データ）がメイン・メモリ12から読出され通信制御回路13に含まれる送信用転送メモリ13Ａに与えられ一時記憶される。通信制御回路13において図14のフォーマットにしたがってパケットが生成される。画像の最初の部分を表わすプリント・データを送信するときにはその旨を表わすように同期ビットＳy が「１」とされる。このようにして生成されたプリント・データはプリント準備完了および転送要求データの出力後にプリンタ・コントローラ10から送信され，プリンタ20において受信される。
【００６８】
図１および図２に示す例では１台のプリンタ・コントローラ10に１台のプリンタ20が接続されているので，アイソクロナス・サイクル期間内におけるデータの送受信をこれらのプリント・コントローラ10とプリンタ20とだけで使用できる。プリント・コントローラ10からプリンタ20に送信する画像データのデータ量をアイソクロナス転送において許容される範囲まで大きくできる。画像データの転送が迅速となる。
【００６９】
プリンタ・コントローラ10から送信された１パケット分のデータは，通信制御回路25に含まれる受信用転送メモリ25Ｂに一時記憶される。通信用制御回路25において１パケット分のデータに含まれるチャネル番号を表わすデータとレジスタ25に記憶されているチャネル番号を表わすデータとの比較により自分宛に送信されたデータかどうかが判断される。自分宛に送信されたデータであることが判断されると通信割込みが発生し，システム・コントローラ21の制御のもとＦＩＦＯメモリ26に順次書込まれていく。
【００７０】
ＦＩＦＯメモり26に格納されたプリント・データは，プリント・エンジン28からのデータ要求信号にしたがって読出され，データ処理回路27を介してプリント・エンジン28に与えられる。これによりプリント・エンジン28に含まれる印画ヘッドによって一定速度で画像がプリントされていく。
【００７１】
プリンタ20においてＦＩＦＯメモリ26からシステム・コントローラ21に転送完了割込みが入力すると，システム・コントローラ21から転送要求コマンドが出力される。この転送要求コマンドは通信制御回路25からプリンタ・コントローラ10に与えられる。転送要求コマンドがプリンタ・コントローラ10に与えられることにより再び図15に示すフォーマットにしたがってパケットが生成され，プリント・データがプリンタ・コントローラ10からプリンタ20に送信される。このようにプリンタ・コントローラ10からプリンタ20へのプリント・データの送信タイミングは，プリンタ20からプリンタ・コントローラ10に与えられる転送要求コマンドによって規定される。プリント・データの送信後転送要求コマンドの入力までの間は，プリンタ・コントローラ10からプリンタ20には空データが送信される。
【００７２】
転送要求コマンドの入力に応答してプリンタ・コントローラ10からプリンタ20にプリント・データが送信されるので，プリンタ20には一駒分の画像データを格納する大容量の画像メモリを備える必要がない。わずか数ライン分の画像データを格納できるＦＩＦＯメモリ26を備えておくだけで一定速度のプリントが可能となる。
【００７３】
画像の最後の部分を表わす画像データがメイン・メモリ12から読出されると，画像の最後の部分を表わすように同期ビットＳy が「２」に設定されて，通信制御回路13においてパケット・データが生成される。この最後の画像データがプリンタ・コントローラ10からプリンタ20に送信されて一駒分の画像データの送信が終了する。
【００７４】
プリント・データの送信が終了すると，プリントの終了を表わすデータがプリンタ20からプリンタ・コントローラ10に与えられる。プリンタ・コントローラ10においてプリンタの終了を表わすデータが受信されると，プリンタ動作解除コマンドがプリンタ・コントローラ10からプリンタ20に与えられる。プリンタ20においてプリンタ動作解除コマンドが受信されると，ＲＡＭ22に記憶されたプリンタのデータなどが消去され，プリンタ20は初期化される。
【００７５】
また空データを送信するときには同期ビットＳy を「４」に設定してもよい。これにより同期ビットＳy の内容を読取ることによって空データか否かを検出できる。空データの検出により，プリンタ20が受信したデータのＦＩＦＯメモリ26への転送が不要となる。
【００７６】
上述の実施例においては，プリンタ20のシステム・コントローラ21はＦＩＦＯメモリ26から出力される転送完了割込を入力することにより転送要求コマンドを出力し，プリンタ・コントローラ10に与えている。しかしながら，ＦＩＦＯメモリ26に記憶されているデータ量をシステム・コントローラ21が監視し，ＦＩＦＯメモリ26に記憶されているデータ量が少なくなったときにシステム・コントローラ21から転送要求コマンドを出力するようにしてもよい。
【００７７】
図５および図６は他の実施例を示している。図５は，プリンタ・コントローラ10からプリンタ20に画像データを送信するときのタイム・チャート，図６は，プリンタ・コントローラ10からプリンタ20にプリント・データを送信するときにプリンタ・コントローラ10とプリンタ20との間において行なわれるコマンドおよびデータの送受信一部の様子を表わしている。
【００７８】
図５および図６に示す実施例では，プリンタ20からプリンタ・コントローラ10にプリント・データの送信周期を表わす転送レートが与えられる。プリンタ・コントローラ10はプリンタ20から与えられる転送レートにしたがった送信周期によってプリント・データをプリンタ20に送信する。
【００７９】
プリンタ・コントローラ10からプリンタ20へのプリント・データの送信処理を繰返しているときに，プリント・データの受信周期（送信周期）が長いためにＦＩＦＯメモリ26が空になることがある。図５および図６に示す実施例ではプリンタ20のシステム・コントローラ21はＦＩＦＯメモリ26を監視し，現在の転送レートを維持するとＦＩＦＯメモリ26が空になるかどうかを判断する。ＦＩＦＯメモリ26が空になる場合には，システム・コントローラ21は転送レートを短縮することを表わす転送レート短縮要求コマンドを出力し，プリンタ・コントローラ10に与える。プリンタ・コントローラ10は転送レート短縮要求コマンドを入力すると，プリント・データの送信周期を短かくする。これによりＦＩＦＯメモリ26が空になることを防止でき，画像データの連続性を保つことができる。
【００８０】
またプリンタ・コントローラ10からプリンタ20へのプリント・データの送信処理を繰返しているときに，プリント・データの受信周期が短かいために受信したプリント・データがＦＩＦＯメモリ26からあふれ，ＦＩＦＯメモリ26への記憶ができなくなることがある。図５および図６に示す実施例ではプリンタ20のシステム・コントローラ21はＦＩＦＯメモリ26を監視し，現在の転送レートを維持するとプリント・データがＦＩＦＯメモリ26からあふれるかどうかを判断する。ＦＩＦＯメモリ26から受信したプリント・データがあふれる場合には，システム・コントローラは転送レートを延長することを表わす転送レート延長要求コマンドを出力し，プリンタ・コントローラ10に与える。プリンタ・コントローラ10は転送レート延長要求コマンドを入力すると，プリント・データの送信周期を長くする。これによりプリンタ20において受信したプリント・データがＦＩＦＯメモリ26からあふれることを防止でき，画像データの連続性を保つことができる。
【００８１】
上述した実施例においては，ＦＩＦＯメモリ26が空になりそうな場合およびＦＩＦＯメモリ26からプリント・データがあふれそうな場合にはプリント・データの送信の転送レートを変えている。しかしながら，転送レートを変えなくとも，パケットに含まれるプリント・データのデータ量を調整することにより対処してもよい。すなわち，ＦＩＦＯメモリ26が空になりそうな場合には１パケットに含まれるプリント・データのデータ量を多くするようなコマンドをプリンタ20からプリンタ・コントローラ10に与え，ＦＩＦＯメモリ26からプリント・データがあふれそうな場合には１パケットに含まれるプリント・データのデータ量を少なくするようなコマンドをプリンタ20からプリンタ・コントローラ10に与える。
【００８２】
図７および図８はさらに他の実施例を示すもので，図７はプリンタ・コントローラとプリンタとの接続例を示し，図８はプリンタ・コントローラ10からプリンタ20にプリント・データを送信するときにプリンタ・コントローラ10をプリンタ20との間において行なわれるコマンドおよびデータの送受信の様子を表わしている。
【００８３】
図７に示すようにプリンタ・コントローラ10に複数台のプリンタ30，40および50がＩＥＥＥ１３９４にもとづくケーブルによって接続されている。
【００８４】
図７および図８に示す実施例においてはプリンタ・コントローラ10に接続されているすべてのプリンタ30，40および50から転送要求が出力されたときにプリント・データを，プリンタ・コントローラ10から送信する。プリンタ・コントローラ10に接続されているプリンタ30，40および50のうちのいずれかのプリンタから転送要求が出力されても，プリンタ・コントローラ10に接続されているすべてのプリンタ30，40および50から転送要求が出力されるまではプリンタ・コントローラ10は空データを出力する。
【００８５】
図７に示す実施例では，プリンタ・コントローラ10に接続されているすべてのプリンタ30，40および50から転送要求が出力されたときにプリント・データをプリンタ・コントローラ10から送信するのでブロード・キャスト（同じデータをすべてのノードに対して送信すること）が実現できる。
【図面の簡単な説明】
【図１】プリンタ・コントローラの電気的構成を示すブロック図である。
【図２】プリンタの電気的構成を示すブロック図である。
【図３】プリンタ・コントローラからプリンタに画像データを送信する場合のタイム・チャートである。
【図４】プリンタ・コントローラからプリンタに画像データを送信する場合にプリンタ・コントローラとプリンタとの間で送受信されるコマンドおよびデータを示している。
【図５】プリンタ・コントローラからプリンタに画像データを送信する場合のタイム・チャートである。
【図６】プリンタ・コントローラからプリンタに画像データを送信する場合にプリンタ・コントローラとプリンタとの間で送受信されるコマンドおよびデータを示している。
【図７】プリンタとプリンタ・コントローラとの接続例を示している。
【図８】プリンタ・コントローラからプリンタに画像データを送信する場合にプリンタ・コントローラとプリンタとの間で送受信されるコマンドおよびデータを示している。
【図９】ＩＥＥＥ１３９４によって接続された機器のブロック図である。
【図１０】ＩＥＥＥ１３９４によって接続された機器をツリー構造にして示すブロック図である。
【図１１】アイソクロナス転送のタイム・チャートである。
【図１２】サイクル・スタート・パケット・フォーマットを示す。
【図１３】アシンクロナス転送されるデータのパケット・フォーマットを示す。
【図１４】アイソクロナス・コマンド・パケット・フォーマットを示す。
【図１５】アイソクロナス・データ・パケット・フォーマットを示す。
【符号の説明】
10  プリンタ・コントローラ
11  メインＣＰＵ
12  メイン・メモリ
13，25  通信制御回路
13Ａ，25Ａ  送信用転送メモリ
13Ｂ，25Ｂ  受信用転送メモリ
20，30，40，50  プリンタ
21  システム・コントローラ
26  ＦＩＦＯメモリ
28  プリンタ・エンジン
【図１】
0004298805.tif 000002
【図２】
0004298805.tif 000003
【図３】
0004298805.tif 000004
【図４】
0004298805.tif 000005
【図５】
0004298805.tif 000006
【図６】
0004298805.tif 000007
【図７】
0004298805.tif 000008
【図８】
0004298805.tif 000009
【図９】
0004298805.tif 000010
【図１０】
0004298805.tif 000011
【図１１】
0004298805.tif 000012
【図１２】
0004298805.tif 000013
【図１３】
0004298805.tif 000014
【図１４】
0004298805.tif 000015
【図１５】
0004298805.tif 000016