(57)【特許請求の範囲】
【請求項１】
バス接続されたプリンタ・コントローラとプリンタとから構成されるプリンタ・システムにおいて，上記プリンタ・コントローラと上記プリンタとのそれぞれの機器が送信先を表わすチャネル番号が付加されたデータの送受信を相互にでき，機器を識別するためのチャネル番号がそれぞれの機器に付与されており，かつ送信されたデータに付加されているチャネル番号と自己の機器に付与されているチャネル番号とが一致するときに送信されたデータを受信するアイソクロナス転送のものであり，
上記プリンタ・コントローラと上記プリンタとには同一のチャネル番号が付与されており，かつ上記プリンタ・コントローラから上記プリンタにデータを送信するプリンタ・コントローラ送信許可時間帯と上記プリンタから上記プリンタ・コントローラにデータをパケット単位で送信するプリンタ送信許可時間帯とを重複しないようにそれぞれ決定し，
上記プリンタ・コントローラは，
決定された上記プリンタ・コントローラ送信許可時間帯において上記プリンタに上記プリンタの上記チャネル番号と一致する上記チャネル番号が付加された画像データをパケット単位で送信する画像データ送信制御手段をさらに備えており，
上記プリンタは，
決定された上記プリンタ送信許可時間帯において上記プリンタ・コントローラに上記プリンタ・コントローラの上記チャネル番号と一致する上記チャネル番号が付加されたデータを送信するデータ送信制御手段，
上記プリンタ・コントローラから送信される画像データを一時記憶するバッファ・メモリ，
上記プリンタ・コントローラから送信される画像データを受信し，上記バッファ・メモリに記憶させる記憶制御手段，および
上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を印画する印画制御手段をさらに備えている，
プリンタ・システム。
【請求項２】
リセット時から一定時間ごとに，その一定時間の周期の数を計測し，計測された周期の数にもとづいて上記プリンタ・コントローラ送信許可時間帯および上記プリンタ送信許可時間帯とを重複しないようにそれぞれ決定する請求項１に記載のプリンタ・システム。
【請求項３】
上記周期の数を所定値で割ったときに得られる商の余りにもとづいて上記プリンタ・コントローラ送信許可時間帯および上記プリンタ送信許可時間帯とを重複しないようにそれぞれ決定するものである，請求項２に記載のプリンタ・システム。
【請求項４】
上記画像データ送信制御手段は，上記データ送信制御手段から送信されるデータにもとづいて画像データの送信を制御するものである，請求項１に記載のプリンタ・システム。
【請求項５】
上記プリンタの上記データ送信制御手段から送信されるデータがデータ再送リクエスト・コマンドであり，
上記プリンタ・コントローラの上記画像データ送信制御手段は，上記データ再送リクエスト・コマンドに応答してすでに上記プリンタに送信した画像データを再度送信するものである，請求項１に記載のプリンタ・システム。
【請求項６】
上記プリンタの上記データ送信制御手段から送信されるデータが新規データ・リクエスト・コマンドであり，
上記プリンタ・コントローラの上記画像データ送信制御手段は，上記新規データ・リクエスト・コマンドに応答して上記プリンタに画像データを送信するものである，請求項１に記載のプリンタ・システム。
【請求項７】
上記プリンタの上記データ送信制御手段から送信されるデータがデータ送信中止リクエスト・コマンドであり，
上記プリンタ・コントローラの上記画像データ送信制御手段は，上記データ送信中止リクエスト・コマンドに応答して上記プリンタへの画像データの送信を中止するものである，請求項１に記載のプリンタ・システム。
【請求項８】
上記プリンタの上記データ送信制御手段から送信されるデータが空データ送信リクエスト・コマンドであり，
上記プリンタ・コントローラの上記画像データ送信制御手段は，上記空データ送信リクエスト・コマンドに応答して上記プリンタに空データを送信するものである，請求項１に記載のプリンタ・システム。
【請求項９】
上記プリンタ・コントローラの上記画像データ送信制御手段から送信される画像データの送信が終了することにより送信終了を表わす画像データ送信終了データが送信され，
上記プリンタの上記データ送信制御手段から送信されるデータ送信が終了することにより送信終了を表わすデータ送信終了データが送信され，
上記データ送信制御手段が上記画像データ送信終了データの受信に応答してデータの送信を開始するように，上記プリンタ送信許可時間帯を決定し，
上記画像データ送信制御手段が上記データ送信終了データの受信に応答して画像データの送信を開始するように，上記プリンタ・コントローラ送信許可時間帯を決定する，
請求項１に記載のプリンタ・システム。
【請求項１０】
上記プリンタに備えられている上記バッファ・メモリが，一駒分の画像を表わす画像データのデータ量よりも少ない画像データの記憶容量をもつものである，請求項１に記載のプリンタ・システム。
【請求項１１】
上記画像データ送信制御手段は，上記バッファ・メモリに記憶されている画像データが無くならないように，上記プリンタへの画像データの送信をパケット単位で繰返すものであり，
上記印画制御手段は，上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を一定速度で印画するものである，
請求項１に記載のプリンタ・システム。
【請求項１２】
バス接続されたプリンタ・コントローラとプリンタとから構成されるプリンタ・システムに用いられるプリンタ・コントローラであって，上記プリンタ・コントローラと上記プリンタとのそれぞれの機器が送信先を表わすチャネル番号が付加されたデータの送受信を相互にでき，機器を識別するためのチャネル番号がそれぞれの機器に付与されており，かつ送信されたデータに付加されているチャネル番号と自己の機器に付与されているチャネル番号とが一致するときに送信されたデータを受信するアイソクロナス転送のものであり，
上記プリンタ・コントローラと上記プリンタとには同一のチャネル番号が付与されており，かつ上記プリンタ・コントローラから上記プリンタにデータを送信するプリンタ・コントローラ送信許可時間帯と上記プリンタから上記プリンタ・コントローラにデータをパケット単位で送信するプリンタ送信許可時間帯とを重複しないようにそれぞれ決定し，
決定された上記プリンタ・コントローラ送信許可時間帯において上記プリンタに上記プリンタの上記チャネル番号と一致する上記チャネル番号が付加された画像データをパケット単位で送信する画像データ送信制御手段をさらに備えている，
プリンタ・コントローラ。
【請求項１３】
バス接続されたプリンタ・コントローラとプリンタとから構成されるプリンタ・システムに用いられるプリンタであって，上記プリンタ・コントローラと上記プリンタとのそれぞれの機器が送信先を表わすチャネル番号が付加されたデータの送受信を相互にでき，機器を識別するためのチャネル番号がそれぞれの機器に付与されており，かつ送信されたデータに付加されているチャネル番号と自己の機器に付与されているチャネル番号とが一致するときに送信されたデータを受信するアイソクロナス転送のものであり，
上記プリンタ・コントローラと上記プリンタとには同一のチャネル番号が付与されており，かつ上記プリンタ・コントローラから上記プリンタにデータを送信するプリンタ・コントローラ送信許可時間帯と上記プリンタから上記プリンタ・コントローラにデータをパケット単位で送信するプリンタ送信許可時間帯とを重複しないようにそれぞれ決定し，
決定された上記プリンタ送信許可時間帯において上記プリンタ・コントローラに上記プリンタ・コントローラの上記チャネル番号と一致する上記チャネル番号が付加されたデータを送信するデータ送信制御手段，
上記プリンタ・コントローラからパケット単位で送信される画像データであって，決定された上記プリンタ・コントローラ送信許可時間帯において上記プリンタの上記チャネル番号と一致する上記チャネル番号が付加された画像データを一時記憶するバッファ・メモリ，
上記プリンタ・コントローラから送信される画像データを受信し，上記バッファ・メモリに記憶させる記憶制御手段，および
上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を印画する印画制御手段をさらに備えている，
プリンタ。
【請求項１４】
バス接続されたプリンタ・コントローラとプリンタとから構成されるプリンタ・システムの動作制御方法であって，上記プリンタ・コントローラと上記プリンタとのそれぞれの機器が送信先を表わすチャネル番号が付加されたデータの送受信を相互にでき，機器を識別するためのチャネル番号がそれぞれの機器に付与されており，かつ送信されたデータに付加されているチャネル番号と自己の機器に付与されているチャネル番号とが一致するときに送信されたデータを受信するアイソクロナス転送のものであり，
上記プリンタ・コントローラと上記プリンタとには同一のチャネル番号が付与されており，かつ上記プリンタ・コントローラから上記プリンタにデータを送信するプリンタ・コントローラ送信許可時間帯と上記プリンタから上記プリンタ・コントローラにデータをパケット単位で送信するプリンタ送信許可時間帯とを重複しないようにそれぞれ決定し，
上記プリンタ・コントローラは，
決定された上記プリンタ・コントローラ送信許可時間帯において上記プリンタに上記プリンタの上記チャネル番号と一致する上記チャネル番号が付加された画像データをパケット単位で送信し，
上記プリンタは，
決定された上記プリンタ送信許可時間帯において上記プリンタ・コントローラに上記プリンタ・コントローラの上記チャネル番号と一致する上記チャネル番号が付加されたデータを送信し，
上記プリンタ・コントローラから送信される画像データを受信し，バッファ・メモリに一時記憶し，
上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を印画する，
プリンタ・システムの動作制御方法。
【請求項１５】
リセット時から一定時間ごとに，その一定時間の周期の数を計測し，計測された周期の数にもとづいて上記プリンタ・コントローラ送信許可時間帯および上記プリンタ送信許可時間帯とを重複しないようにそれぞれ決定する請求項14に記載のプリンタ・システムの動作制御方法。
【請求項１６】
上記周期の数を所定値で割ったときに得られる商の余りにもとづいて上記プリンタ・コントローラ送信許可時間帯および上記プリンタ送信許可時間帯とを重複しないようにそれぞれ決定するものである，請求項15に記載のプリンタ・システムの動作制御方法。
【請求項１７】
上記プリンタ・コントローラは，上記プリンタから送信されるデータにもとづいて画像データの送信を制御するものである，請求項14に記載のプリンタ・システムの動作制御方法。
【請求項１８】
上記プリンタから送信されるデータがデータ再送リクエスト・コマンドであり，
上記プリンタ・コントローラは，上記データ再送リクエスト・コマンドに応答してすでに上記プリンタに送信した画像データを再度送信するものである，請求項14に記載のプリンタ・システムの動作制御方法。
【請求項１９】
上記プリンタから送信されるデータが新規データ・リクエスト・コマンドであり，
上記プリンタ・コントローラは，上記新規データ・リクエスト・コマンドに応答して上記プリンタに画像データを送信するものである，請求項14に記載のプリンタ・システムの動作制御方法。
【請求項２０】
上記プリンタから送信されるデータがデータ送信中止リクエスト・コマンドであり，
上記プリンタ・コントローラは，上記データ送信中止リクエスト・コマンドに応答して上記プリンタへの画像データの送信を中止するものである，請求項14に記載のプリンタ・システムの動作制御方法。
【請求項２１】
上記プリンタから送信されるデータが空データ送信リクエスト・コマンドであり，
上記プリンタ・コントローラは，上記空データ送信リクエスト・コマンドに応答して上記プリンタに空データを送信するものである，請求項14に記載のプリンタ・システムの動作制御方法。
【請求項２２】
上記プリンタ・コントローラから送信される画像データの送信が終了することにより送信終了を表わす画像データ送信終了データが上記プリンタに送信され，
上記プリンタから送信されるデータ送信が終了することにより送信終了を表わすデータ送信終了データが上記プリンタ・コントローラに送信され，
上記画像データ送信終了データの受信に応答してデータの送信を開始するように上記プリンタ送信許可時間帯を決定し，
上記データ送信終了データの受信に応答して画像データの送信を開始するように上記プリンタ・コントローラ送信許可時間帯を決定する，
請求項14に記載のプリンタ・システムの動作制御方法。
【請求項２３】
上記プリンタに備えられている上記バッファ・メモリが，一駒分の画像を表わす画像データのデータ量よりも少ない画像データの記憶容量をもつものである，請求項14に記載のプリンタ・システムの動作制御方法。
【請求項２４】
上記バッファ・メモリに記憶されている画像データが無くならないように，上記プリンタへの画像データの送信をパケット単位で繰返し，
上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を一定速度で印画する，
請求項14に記載のプリンタ・システムの動作制御方法。
【請求項２５】
バス接続されたプリンタ・コントローラとプリンタとから構成されるプリンタ・システムに用いられるプリンタ・コントローラの動作制御方法であって，上記プリンタ・コントローラと上記プリンタとのそれぞれの機器が送信先を表わすチャネル番号が付加されたデータの送受信を相互にでき，機器を識別するためのチャネル番号がそれぞれの機器に付与されており，かつ送信されたデータに付加されているチャネル番号と自己の機器に付与されているチャネル番号とが一致するときに送信されたデータを受信するアイソクロナス転送のものであり，
上記プリンタ・コントローラと上記プリンタとには同一のチャネル番号が付与されており，かつ上記プリンタ・コントローラから上記プリンタにデータを送信するプリンタ・コントローラ送信許可時間帯と上記プリンタから上記プリンタ・コントローラにデータをパケット単位で送信するプリンタ送信許可時間帯とを重複しないようにそれぞれ決定し，
決定された上記プリンタ・コントローラ送信許可時間帯において上記プリンタに上記プリンタの上記チャネル番号と一致する上記チャネル番号が付加された画像データをパケット単位で送信する，
プリンタ・コントローラの動作制御方法。
【請求項２６】
バス接続されたプリンタ・コントローラとプリンタとから構成されるプリンタ・システムに用いられるプリンタの動作制御方法であって，上記プリンタ・コントローラと上記プリンタとのそれぞれの機器が送信先を表わすチャネル番号が付加されたデータの送受信を相互にでき，機器を識別するためのチャネル番号がそれぞれの機器に付与されており，かつ送信されたデータに付加されているチャネル番号と自己の機器に付与されているチャネル番号とが一致するときに送信されたデータを受信するアイソクロナス転送のものであり，
上記プリンタ・コントローラと上記プリンタとには同一のチャネル番号が付与されており，かつ上記プリンタ・コントローラから上記プリンタにデータを送信するプリンタ・コントローラ送信許可時間帯と上記プリンタから上記プリンタ・コントローラにデータをパケット単位で送信するプリンタ送信許可時間帯とを重複しないようにそれぞれ決定し，
決定された上記プリンタ送信許可時間帯において上記プリンタ・コントローラに上記プリンタ・コントローラの上記チャネル番号と一致する上記チャネル番号が付加されたデータを送信し，
上記プリンタ・コントローラからパケット単位で送信される画像データであって，決定された上記プリンタ・コントローラ送信許可時間帯において上記プリンタの上記チャネル番号と一致する上記チャネル番号が付加された画像データを受信し，バッファ・メモリに一時記憶し，
上記バッファ・メモリに記憶された画像データを読出し，読出された画像データによって表わされる画像を印画する，
プリンタの動作制御方法。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は，バス接続されたプリンタ・コントローラとプリンタとから構成されるプリンタ・システムに関する。とくにプリンタ・コントローラとプリンタとのそれぞれの機器が送信先を表わす送信先識別データが付加されたデータの送受信を相互にでき，機器を識別するための機器識別データがそれぞれの機器に付与されており，かつ送信されたデータに付加されている送信先識別データと自己の機器に付与されている機器識別データとが一致するときに送信されたデータを受信するプリンタ・システムに関する。
【０００２】
この発明はまたこのプリンタ・システムを構成するプリンタおよびプリンタ・コントローラに関する。この発明はさらにプリンタ・システムの動作制御方法，プリンタの動作制御方法およびプリンタ・コントローラの動作制御方法に関する。
【０００３】
【発明の背景】
プリンタ・コントローラからプリンタに画像データを送信するにはセントロニクス，ＳＣＳＩ（Small computer system interface ）などのパラレル通信，ＲＳ２３２Ｃ，ＲＳ４２２，ＵＳＢ（Universal Serial Bus）などのシリアル通信が利用される。パラレル通信は画像データの送信に必要な時間が短かいが端子の数が多いという欠点をもつ。シリアル通信は端子の数が少なくて済むが画像データの送信に必要な時間が長い。プリンタ・コントローラやプリンタに設けられる端子の数を少なくしたいときにはシリアル通信が用いられる。シリアル通信のうちたとえばＲＳ２３２Ｃでは，プリンタ・コントローラからプリンタへの画像データの送信用のラインと，プリンタからプリンタ・コントローラへの画像データの送信用のラインとの送信方向が決まっている２本の画像データのデータ・ラインが規定されている。ＲＳ２３２Ｃでは送信方向が決まっている１本のラインによってプリンタ・コントローラからプリンタへの画像データの送信と，プリンタからプリンタ・コントローラへの画像データの送信とを兼用して双方向通信することはできない。
【０００４】
１本のラインによって，プリンタ・コントローラとプリンタとの間で画像データの双方向通信を行なうとすると送信先を表わす識別データを画像データに付加しなければならない。プリンタ・コントローラおよびプリンタは画像データに付加された識別データを読取り，自分宛に送信された画像データかどうかを判断し，自分宛に送信された画像データのみを受信する。送信先を表わす識別データは各機器ごとに固有のものでなければならない。
【０００５】
【発明の開示】
この発明は，プリンタ・コントローラの識別データとプリンタの識別データとが同一のものであっても１本のラインによってプリンタ・コントローラとプリンタとの間で画像データの双方向通信を行なうことができるようにすることを目的とする。
【０００６】
この発明は，プリンタ・コントローラからプリンタに画像データを供給するために，現在検討されつつある高速シリアル伝送のためのＩＥＥＥ標準１３９４（ＩＥＥＥ  Standard 1394,ＩＥＥＥ＝The Institute of Electrical and Electroninc Engineers,Inc.）を利用するものである。このＩＥＥＥ標準１３９４ではアイソクロナス（Isochronous ）転送とアシンクロナス（Asynchronous）転送とが可能である。
【０００７】
アイソクロナス転送ではバスによって接続された複数のノードのいずれかからサイクル・スタート・パケット・データと呼ばれるデータが原則としてアイソクロナス・サイクル（ 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とプリンタ・コントローラ10とに同一のチャネル番号（機器識別データ）を付与し，アイソクロナス転送を利用してプリンタ・コントローラ10とプリンタ20との間でデータの送受信を実現するものである。
【００６６】
この実施例によるプリンタ・システムは，プリンタ20とプリンタ20によるプリントを制御するプリンタ・コントローラ10とがＩＥＥＥ標準１３９４にもとづくケーブルによって互いに接続されることにより構成される。
【００６７】
図１はプリンタ・コントローラ10の電気的構成を示すブロック図である。
【００６８】
プリンタ・コントローラ10はメインＣＰＵ11によって全体の動作が統括される。プリンタ・コントローラ10にはメイン・メモリ12が含まれている。このメイン・メモリ12にはプリンタ・コントローラ10の動作プログラム，プリンタ20に送信し，プリンタ20によってプリントすべき画像を表わす画像データ（プリント・データ），その他のデータが格納されている。またプリンタ・コントローラ10には上述したアイソクロナス転送およびアシンクロナス転送を行なうための通信制御回路13が含まれている。この通信制御回路13には送信すべき１パケット分のデータを一時記憶するための送信用転送メモリ13Ａ，プリンタ20から送信されてきた１パケット分のデータを一時記憶するための受信用転送メモリ13Ｂ，ならびにプリンタ・コントローラ10のＩＤを表わすデータおよびチャネル番号ｃｈを表わすデータを記憶するレジスタ13Ｃが含まれている。レジスタ13Ｃには，アイソクロナス・サイクルを計測するサイクル・タイム・レジスタ13Ｄも含まれている。アイソクロナス転送が行なわれるときは，アイソクロナス期間ごとに通信制御回路13からメインＣＰＵ11に割込みが行なわれる。この割込みに応答してメインＣＰＵ11によってメイン・メモリ12から画像データの読出しが行なわれる。
【００６９】
図２はプリンタ20の電気的構成を示すブロック図である。
【００７０】
プリンタ20の全体の動作はシステム・コントローラ21によって統括される。システム・コントローラ21にはプリント用紙の有無を含むプリンタ20の現在の状態を表わすデータなどを一時記憶するＲＡＭ22およびプリンタ20の動作プログラム，プリンタ20の印画速度，後述する送信用転送メモリ25Ａ，受信用転送メモリ25ＢおよびＦＩＦＯ(first in first out)メモリ26のメモリ容量を含むプリンタの仕様データその他のデータが記憶されているＲＯＭ23が接続されている。ＲＡＭ22にはプリンタ・コントローラ10から送信されたデータがエラーのときに″１″にセットされるエラー・フラグｅｒｒも含まれている。さらにプリンタ20には操作キーおよび状態表示回路24が含まれている。操作キーによる設定を表わす信号はシステム・コントローラ21に与えられ，かつプリンタ20の状態が状態表示回路24に表示される。
【００７１】
プリンタ20にも上述したアイソクロナス転送およびアシンクロナス転送を行なうための通信制御回路25が含まれている。この通信制御回路25には送信すべき１パケット分のデータを一時記憶するための送信用転送メモリ25Ａ，およびプリンタ・コントローラ10から送信されてきた１パケット分のデータを一時記憶するための受信用転送メモリ25Ｂならびにプリンタ20のＩＤを表わすデータおよびチャネル番号ｃｈを記憶するレジスタ25Ｃが含まれている。プリンタ・コントローラ10のチャネル番号ｃｈとプリンタ20のチャネル番号ｃｈとは同一番号が付与されている。レジスタ25Ｃには，アイソクロナス・サイクルを計測するサイクル・タイム・レジスタ25Ｄも含まれている。通信制御回路25において１パケット分のデータを受信すると通信割込みが発生しシステム・コントローラ21に与えられる。この割込みに応答して，受信したデータのＦＩＦＯメモリ26への転送が行なわれる。
【００７２】
プリンタ20にはＦＩＦＯメモリ26が含まれている。このＦＩＦＯメモリ26はプリンタ20によってプリントされる画像を表わす画像データのうち２ライン分の画像データを確認できる容量をもつものである。ＦＩＦＯメモリ26に記憶されている画像データのデータ量はシステム・コントローラ21によって監視される。
【００７３】
プリント・エンジン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の動作を表わすフローチャートである。ここでは簡単のために１台のプリンタ・コントローラ10と１台のプリンタ20とが接続されているものとする。上述したようにＩＥＥＥ標準１３９４では合計63台の機器の接続が可能であるので，プリンタ・コントローラとプリンタを含めて合計63台の機器を接続し，所望のプリンタに画像データを送信し，プリントすることもできる。図１および図２の例ではたとえばプリンタ・コントローラ10が親（サイクル・マスタ）であり，プリンタ20が子である。
【００７６】
図３から図５に示す実施例においてはプリンタ・コントローラ10のサイクル・タイム・レジスタ13Ｄにおいて計測されるアイソクロナス・サイクルＳとプリンタ20のサイクル・タイム・レジスタ25Ｄにおいて計測されるアイソクロナス・サイクルＳ（これらのアイソクロナス・サイクルＳは同じ値となる）とがそれぞれ共通の数値「３」で除されその余りが算出される。この余りが「０」または「１」のときはプリンタ・コントローラ10からプリンタ20へのデータの送信ができ，余りが「２」のときはプリンタ20からプリンタ・コントローラ10へのデータの送信ができるように定められている。
【００７７】
まず，余りが「０」または「１」のアイソクロナス・サイクルにおいて，レディ信号の出力要求コマンドがプリンタ・コントローラ10から出力され，プリンタ20に与えられる。プリンタ20においてレディ信号出力要求信号が受信されると，余りが「２」となるアイソクロナス・サイクルにおいてシステム・コントローラ20によってＲＡＭ22が参照されレディ状態であればレディ信号が出力される。プリント・コントローラ10においてレディ信号が受信されると，余りが「０」または「１」のアイソクロナス・サイクルにおいて第１のプリンタ仕様データ要求コマンドがプリンタ・コントローラ10から出力されプリンタ20に与えられる。プリンタ20において第１のプリンタ仕様データ要求コマンドが受信されるとシステム・コントローラ21によってプリンタ20の印画速度，ＦＩＦＯメモリ26の記憶容量を含むプリンタ20の固定仕様データがＲＯＭ23から読出される。この固定の仕様データは余りが「２」のアイソクロナス・サイクルにおいてプリンタ20からプリンタ・コントローラ10に与えられる。
【００７８】
つづいて時刻ｔ１から始まる余りが「０」のアイソクロナス・サイクルにおいてプリンタ・コントローラ10からプリンタ20にプリンタ予約およびチャネル設定データが与えられる。プリンタ予約データはプリンタ20がプリンタ・コントローラ10からのプリント・データの送信を受付けるようにプリンタ20を設定するデータである。チャネル設定データはプリンタ20のチャネル番号を設定するためのデータである。プリンタ予約データはプリンタ20のＲＡＭ22に書込まれる。チャネル設定データにしたがって設定されるチャネル番号を表わすデータは上述のようにレジスタ25Ｃに記憶される。
【００７９】
ここまでのプリンタ・コントローラ10とプリンタ20とのデータまたはコマンドの送受信は図13に示すフォーマットにしたがってアシンクロナス転送で行なわれる。もっともアシンクロナス転送ではなく，アイソクロナス転送を用いるようにしてもよい。次に述べるプリント・スタンバイ・コマンド以降の転送データはアイソクロナス転送となる。
【００８０】
チャネル番号が設定されると，図15に示すパケット・フォーマットにしたがって，メインＣＰＵ11の制御のもとに通信制御回路13においてプリンタ・スタンバイ・コマンドが生成され，時刻ｔ２から始まる余りが「１」のアイソクロナス・サイクルにおいてプリンタ・コントローラ10からプリンタ20に送信される。プリンタ20においてプリンタ・スタンバイ・コマンドが受信されると，プリンタ用紙のホーム・ポジションへの位置決めなどのプリント準備が開始する。プリンタ20においてプリント準備が終了すると時刻ｔ３から始まる余りが「２」のアイソクロナス・サイクルにおいてプリント準備完了およびプリント・データ送信要求データがプリンタ20から出力され，プリンタ・コントローラ10に与えられる。
【００８１】
プリンタ・コントローラ10においては，プリント準備完了およびプリント・データ送信要求データを受信すると，１パケットで送信できるデータ量の送信データがメイン・メモリ12から読出され通信制御回路13に含まれる送信用転送メモリ13Ａに与えられ一時記憶される。通信制御回路13において図15のフォーマットにしたがってパケットが生成される。プリンタ20においてはＲＡＭ22のエラー・フラグｅｒｒがリセットされる（ステップ31）。このようにして生成されたパケットに含まれるプリント・データは時刻ｔ４および時刻ｔ５から始まる余りが「０」および「１」のアイソクロナス・サイクルにおいて，プリンタ・コントローラ10から送信され，プリンタ20において受信される（ステップ32）。
【００８２】
プリンタ・コントローラ10から送信された１パケット分のデータは，通信制御回路25に含まれる受信用転送メモリ25Ｂに一時記憶される。通信用制御回路25において１パケット分のデータに含まれるチャネル番号を表わすデータとレジスタ25Ｃに記憶されているチャネル番号を表わすデータとの比較により自分宛に送信されたデータかどうかが判断される。自分宛に送信されたデータであることが判断されると通信割込みが発生し，ＲＡＭ22のエラー・フラグｅｒｒが参照される（ステップ33）。エラー・フラグｅｒｒがセットされていなければ（ステップ33でNO），受信したプリント・データのパケットに含まれるヘッダＣＲＣおよびデータＣＲＣにもとづいてヘッダまたはプリント・データにエラーがあるかどうかが判断される（ステップ34）。ヘッダまたはプリント・データにエラーがなければ（ステップ34でNO），受信用転送メモリ25Ｂに一時記憶されたプリント・データがＦＩＦＯメモリ26に書込まれる（ステップ37）。ヘッダまたはプリント・データにエラーがあると（ステップ34でYES ），ＲＡＭ22のエラー・フラグｅｒｒがセットされる（ステップ35）。受信したプリント・データは消去される（ステップ36）。アイソクロナス・サイクルを「３」で割った余りが２となるまでステップ32〜37の処理が繰返される（ステップ38）。
【００８３】
プリンタ20において受信されたＦＩＦＯメモり26に格納されたプリント・データは，プリント・エンジン28からのデータ要求信号にしたがって読出され，データ処理回路27を介してプリント・エンジン28に与えられる。これによりプリント・エンジン28に含まれる印画ヘッドによって一定速度で画像がプリントされていく。
【００８４】
アイソクロナス・サイクルを「３」で割ったときの余りが２となると，プリンタ20からプリンタ・コントローラ10へのデータの送信が許可される。この余りが「２」となると（ステップ38でYES ），プリンタ20においてプリントするすべての画像を表わすプリント・データの受信が終了したかどうか判断される（ステップ39）。
【００８５】
まだプリント・データの受信が終了していなければ（ステップ39でNO），プリントしている画像にプリント・エラーが発生しているかどうかが判断される（ステップ40）。プリント・エラーが発生していれば（ステップ40でYES ），送信中止要求コマンドがプリンタ20からプリンタ・コントローラ10に送信される（ステップ41，図３時刻ｔ27のタイミング）。
【００８６】
プリント・エラーが発生していなければ（ステップ40でNO），ＲＡＭ22のエラー・フラグｅｒｒが参照される（ステップ42）。エラー・フラグｅｒｒがセットされていると（ステップ42でYES ），エラーがあったプリント・データは消去されているので（ステップ36）プリント・エラーが発生する。このためエラーがあったプリント・データの再送要求コマンドがプリンタ20からプリンタ・コントローラ10に送信される（ステップ43，図３時刻ｔ15のタイミング）。
【００８７】
エラー・フラグｅｒｒがセットされていなければ（ステップ42でNO），ＦＩＦＯメモリ26に記憶されているプリント・データのデータ量が規定量よりも多く残っているかどうか判断される（ステップ44）。
【００８８】
ＦＩＦＯメモリ26に記憶されているプリント・データのデータ量が規定量よりも多く残っていれば（ステップ42でYES ），一定の印画速度で画像のプリントを続けていてもＦＩＦＯメモリ26が空になることはない。このためプリント・エラーが発生することなく一定の印画速度で画像のプリントが続行される。したがってプリンタ20からプリンタ・コントローラ10には空データの送信要求コマンドが送られる（ステップ45，図３時刻ｔ９，ｔ18，ｔ24のタイミング）。プリンタ・コントローラ10からは空データ送信要求コマンドに応答して，余りが「０」および「１」のアイソクロナス・サイクルにおいて空データが送信される（図３時刻ｔ10，ｔ11，ｔ19，ｔ20，ｔ25，ｔ26のタイミング）。
【００８９】
ＦＩＦＯメモリ26に記憶されているプリント・データのデータ量が規定量よりも少ないと（ステップ44でNO），一定の印画速度で画像のプリントを続けるとＦＩＦＯメモリ26が空になるおそれがある。このためプリント・エラーが発生することがある。この場合にはプリンタ20からプリンタ・コントローラ10にプリント・データの送信要求コマンドが送られる（ステップ46，図３時刻ｔ12，ｔ20のタイミング）。プリンタ・コントローラ10からはプリント・データ送信要求コマンドに応答して余りが「０」および「１」のアイソクロナス・サイクルにおいてプリント・データが送信される（図３時刻ｔ13，ｔ14，ｔ25，ｔ22，のタイミング）。
【００９０】
ＦＩＦＯメモリ26に記憶されているプリント・データが無くならないようにプリンタ・コントローラ10からプリンタ20にプリント・データが送信される。プリンタ20が一定速度で印画するものであり，かつＦＩＦＯメモリ26の容量が一駒分の画像データのデータ量を記憶できないメモリであってもプリント・エラーの発生を未然に防止できる。
【００９１】
プリンタ10からデータを送信できる時刻（プリンタ送信許可時間帯）とプリンタ・コントローラ20からデータを送信できる時刻（プリンタ・コントローラ送信許可時間帯）とに分けているので，プリンタ10とプリンタ・コントローラ20とに同一のチャネル番号を付与できる。
【００９２】
図１および図２に示す例では１台のプリンタ・コントローラ10に１台のプリンタ20が接続されているので，アイソクロナス・サイクル期間内におけるデータの送受信をこれらのプリンタ・コントローラ10とプリンタ20とだけで使用できる。プリンタ・コントローラ10からプリンタ20に送信するプリント・データのデータ量をアイソクロナス転送において許容される範囲まで大きくできる。プリント・データの転送が迅速となる。
【００９３】
図６から図８は他の実施例を示すもので，図６は，プリンタ・コントローラ10からプリンタ20にプリント・データを送信するときのタイム・チャート，図７は，プリンタ・コントローラ10からプリンタ20にプリント・データを送信するときにプリンタ・コントローラ10とプリンタ20との間において行なわれるコマンドおよびデータの送受信の様子を表わしている。図８は，プリンタ・コントローラ10からプリント・データが送信されたときのプリンタ20の動作を表わすフローチャートである。図８において図５に示す処理と同一の処理は同一符号を付して説明を省略する。
【００９４】
図３から図５に示す実施例においては，アイソクロナス・サイクルＳを３で除したときの余りが「０」または「１」のときにプリンタ・コントローラ10からプリンタ20にデータを送信し，余りが「２」のときにプリンタ20からプリンタ・コントローラ10にデータを送信するように定めている。
【００９５】
これに対し図６から図８に示す実施例においてはアイソクロナス・コマンド（データ）・パケット・フォーマットにしたがう同期ビットＳｙを利用してプリンタ・コントローラ10からプリンタ20へのデータの送信時刻とプリンタ20からプリンタ・コントローラ10へのデータの送信時刻とを定めている。具体的には，プリンタ・コントローラ10からプリンタ20にアイソクロナス転送によってデータを送信するときには同期ビットＳｙのデータを「０」とする。データを受信したプリンタ20は同期ビットＳｙが「０」となっていることを検出することにより，まだプリンタ・コントローラ10からプリンタ20への送信が続くことを認識する。プリンタ・コントローラ10からプリンタ20へのデータの転送を停止するときには同期ビットＳｙのデータを「１」とする。データを受信したプリンタ20は同期ビットＳｙが「１」となっていることを検出することにより，プリンタ・コントローラ10からプリンタ20への送信が停止することを認識する。これにより，プリンタ20からプリンタ・コントローラ10へのデータの送信が許可されたことをプリンタ20が認識する。同期ビットＳｙが「１」となっているデータを受信するとプリンタ20からは，同期ビットＳｙが「２」を示すデータを送信する。プリンタ20からプリンタ・コントローラ10にデータの送信が終了すると，再びプリンタ・コントローラ10からプリンタ20へのデータの送信が可能となる。
【００９６】
図６および図７に示すようにプリンタ・コントローラ10からプリンタ20にデータを送信するときには，そのデータの同期ビットＳｙは「０」または「１」に設定される。プリンタ・コントローラ10からプリンタ20へのデータの送信を停止するときには同期ビットＳｙが「１」に設定されたデータがプリンタ・コントローラ10からプリンタ20に送信される。
【００９７】
プリンタ20は同期ビットＳｙが「１」に設定されたデータを受信すると（図８ステップ38Ａ），その次のアイソクロナス・サイクルにおいてプリンタ・コントローラ10へのデータ（このデータが含まれるパケットの同期ビットＳｙは「２」とされる）の送信を行なう。プリンタ20からプリンタ・コントローラ10に準備終了およびプリント・データ送信要求コマンド（図６時刻ｔ33のタイミング），空データ送信要求コマンド（図６時刻ｔ36，ｔ39，ｔ48，ｔ54のタイミング），プリント・データ送信要求コマンド（図６時刻ｔ42，ｔ51のタイミング），プリント・データ再送要求コマンド（図６時刻ｔ45のタイミング）送信中止要求コマンド（図６時刻ｔ57のタイミング）が送信され，これらのコマンドに応答してプリンタ・コントローラ10からプリンタ20に空データまたはプリント・データが送信される。
【００９８】
図６から図８に示す実施例においても，ＦＩＦＯメモリ26に記憶されているプリント・データが無くならないようにプリンタ・コントローラ10からプリンタ20にプリント・データの送信ができ，プリンタ20が一定速度で印画するものであり，かつＦＩＦＯメモリ26の容量が一駒分の画像データのデータ量を記憶できないメモリであってもプリント・エラーの発生を未然に防止できる。
【００９９】
プリント10からデータを送信できる時刻とプリンタ・コントローラ20からデータを送信できる時刻とに分けているので，プリンタ10とプリンタ・コントローラ20とに同一のチャネル番号を付与できる。
【０１００】
チャネル番号が同一であるために同一タイミングにおけるバスの使用が許可されても，同一タイミングではプリンタ・コントローラおよびプリンタからデータが送信されないので双方向通信が可能となる。
【図面の簡単な説明】
【図１】プリンタ・コントローラの電気的構成を示すブロック図である。
【図２】プリンタの電気的構成を示すブロック図である。
【図３】プリンタ・コントローラからプリンタに画像データを送信する場合のタイム・チャートである。
【図４】プリンタ・コントローラからプリンタに画像データを送信する場合にプリンタ・コントローラとプリンタとの間で送受信されるコマンドおよびデータを示している。
【図５】プリンタ・コントローラからプリント・データが送信されたときのプリンタの動作を表わすフローチャートである。
【図６】プリンタ・コントローラからプリンタに画像データを送信する場合のタイム・チャートである。
【図７】プリンタ・コントローラからプリンタに画像データを送信する場合にプリンタ・コントローラとプリンタとの間で送受信されるコマンドおよびデータを示している。
【図８】プリンタ・コントローラからプリント・データが送信されたときのプリンタの動作を表わすフローチャートである。
【図９】ＩＥＥＥ１３９４によって接続された機器のブロック図である。
【図１０】ＩＥＥＥ１３９４によって接続された機器をツリー構造にして示すブロック図である。
【図１１】アイソクロナス転送のタイム・チャートである。
【図１２】サイクル・スタート・パケット・フォーマットを示す。
【図１３】アシンクロナス転送されるデータのパケット・フォーマットを示す。
【図１４】アイソクロナス・コマンド・パケット・フォーマットを示す。
【図１５】アイソクロナス・データ・パケット・フォーマットを示す。
【符号の説明】
10  プリンタ・コントローラ
11  メインＣＰＵ
12  メイン・メモリ
13，25  通信制御回路
13Ａ，25Ａ  送信用転送メモリ
13Ｂ，25Ｂ  受信用転送メモリ
13Ｃ，25Ｃ  レジスタ
13Ｄ，25Ｄ  サイクル・タイム・レジスタ
20  プリンタ
21  システム・コントローラ
26  ＦＩＦＯメモリ
28  プリンタ・エンジン
ｅｒｒ  エラー・フラグ
【図１】
0003721234.tif 000002
【図２】
0003721234.tif 000003
【図３】
0003721234.tif 000004
【図４】
0003721234.tif 000005
【図５】
0003721234.tif 000006
【図６】
0003721234.tif 000007
【図７】
0003721234.tif 000008
【図８】
0003721234.tif 000009
【図９】
0003721234.tif 000010
【図１０】
0003721234.tif 000011
【図１１】
0003721234.tif 000012
【図１２】
0003721234.tif 000013
【図１３】
0003721234.tif 000014
【図１４】
0003721234.tif 000015
【図１５】
0003721234.tif 000016