(57)【特許請求の範囲】
【請求項１】
情報処理装置と印刷装置とからなる印刷システムであって、
前記情報処理装置は、前記印刷装置よりアクセス可能な記憶手段に印刷データを記憶させる記憶制御手段と、前記印刷装置に印刷開始命令を出力する手段とを有し、
前記印刷装置は、前記印刷開始命令に従って前記記憶手段に記憶された印刷データのうち必要なページの印刷データを印刷データが記憶されている領域に対応するアドレスに基づいて読み出す読み出し手段と、前記読み出し手段により読み出された印刷データに基づき印刷を行う印刷手段とを有することを特徴とする印刷システム。
【請求項２】
前記印刷装置は、印刷データが記憶されている領域に対応するアドレスを前記情報処理装置から取得するアドレス取得手段を有し、
前記読み出し手段は、前記アドレス取得手段により取得されるアドレスに基づいて印刷データを読み出すことを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記情報処理装置は、各ページの印刷データの先頭アドレスを記憶する前記印刷装置よりアクセス可能なテーブルを有し、
前記アドレス取得手段は、前記印刷開始命令に基づき前記テーブルをアクセスし、必要なページの印刷データの先頭アドレスを読み出すことを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記印刷装置は、印刷が終了したページのページ番号を前記情報処理装置に送信するページ番号送信手段を有し、
前記記憶制御手段は、前記ページ番号送信手段により送信されるページ番号のページの印刷データが記憶されている領域に、他のページの印刷データを記憶させることを特徴とする請求項１乃至３のいずれかに記載の印刷システム。
【請求項５】
印刷装置よりアクセス可能な記憶手段に印刷データを記憶させる手段と、前記印刷装置に印刷開始命令を出力する手段とを有する情報処理装置とバスで接続される印刷装置であって、
前記印刷開始命令に従って前記記憶手段に記憶された印刷データのうち必要なページの印刷データを印刷データが記憶されている領域に対応するアドレスに基づいて読み出す読み出し手段と、
前記読み出し手段により読み出された印刷データに基づき印刷を行う印刷手段とを有することを特徴とする印刷装置。
【請求項６】
前記印刷手段は、両面印刷を行い、前記読み出し手段は、前記印刷手段によって行われる両面印刷に必要な順に印刷データを読み出すことを特徴とする請求項５に記載の印刷装置。
【請求項７】
前記バスは、ＩＥＥＥ１３９４シリアルバスであることを特徴とする請求項５或いは６に記載の印刷装置。
【請求項８】
印刷データが記憶されている領域に対応するアドレスを前記情報処理装置から取得するアドレス取得手段を有し、
前記読み出し手段は、前記アドレス取得手段により取得されるアドレスに基づいて印刷データを読み出すことを特徴とする請求項５乃至７のいずれかに記載の印刷装置。
【請求項９】
前記情報処理装置は、各ページの印刷データの先頭アドレスを記憶する前記印刷装置よりアクセス可能なテーブルを有し、
前記アドレス取得手段は、前記印刷開始命令に基づき前記テーブルをアクセスし、必要なページの印刷データの先頭アドレスを読み出すことを特徴とする請求項８に記載の印刷装置。
【請求項１０】
前記読み出し手段は、前記印刷手段の印刷タイミングに応じて必要なページの印刷データを読み出すことを特徴とする請求項５乃至９のいずれかに記載の印刷装置。
【請求項１１】
印刷データを記憶する記憶手段を有する情報処理装置と通信する印刷装置であって、
前記記憶手段に記憶された印刷データのうち必要なページの印刷データを印刷データが記憶されている領域に対応するアドレスに基づいて読み出す読み出し手段と、
前記読み出し手段により読み出された印刷データに基づき印刷を行う印刷手段とを有することを特徴とする印刷装置。
【請求項１２】
印刷データが記憶されている領域に対応するアドレスを前記情報処理装置から取得するアドレス取得手段を有し、
前記読み出し手段は、前記アドレス取得手段により取得されるアドレスに基づいて印刷データを読み出すことを特徴とする請求項１１に記載の印刷装置。
【請求項１３】
前記情報処理装置は、各ページの印刷データの先頭アドレスを記憶する前記印刷装置よりアクセス可能なテーブルを有し、
前記アドレス取得手段は、前記印刷開始命令に基づき前記テーブルをアクセスし、必要なページの印刷データの先頭アドレスを読み出すことを特徴とする請求項１２に記載の印刷装置。
【請求項１４】
印刷データを記憶する記憶手段を有する情報処理装置と通信可能な印刷装置の印刷方法であって、
前記記憶手段に記憶された印刷データのうち必要なページの印刷データを印刷データが記憶されている領域に対応するアドレスに基づいて読み出す読み出しステップと、
前記読み出しステップで読み出された印刷データに基づき印刷を行う印刷ステップとを有することを特徴とする印刷方法。
【請求項１５】
前記印刷装置は、両面印刷を行い、前記読み出しステップでは、前記印刷ステップで行われる両面印刷に必要な順に印刷データを読み出すことを特徴とする請求項１４に記載の印刷方法。
【請求項１６】
印刷データが記憶されている領域に対応するアドレスを前記情報処理装置から取得するアドレス取得ステップを有し、
前記読み出しステップでは、前記アドレス取得ステップで取得されるアドレスに基づいて印刷データを読み出すことを特徴とする請求項１４或いは１５に記載の印刷方法。
【請求項１７】
前記情報処理装置は、各ページの印刷データの先頭アドレスを記憶する前記印刷装置よりアクセス可能なテーブルを有し、
前記アドレス取得ステップでは、前記印刷開始命令に基づき前記テーブルをアクセスし、必要なページの印刷データの先頭アドレスを読み出すことを特徴とする請求項１６に記載の印刷方法。
【請求項１８】
前記読み出しステップでは、前記印刷ステップでの印刷タイミングに応じて必要なページの印刷データを読み出すことを特徴とする請求項１４乃至１７のいずれかに記載の印刷方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信路にバスを用いて印刷処理を行う。
【０００２】
印刷システム、印刷装置、情報処理装置、印刷方法、情報処理方法、および、記憶媒体に関するものである。
【０００３】
【従来の技術】
ホストコンピュータから文章データをプリンタへ送り、印刷するシステムにおける通信Ｉ／Ｆとして一般に用いられるものは、セントロニクスＩ／Ｆと呼ばれるパラレルＩ／Ｆと、イーサネット等のネットワークＩ／Ｆで有る。
【０００４】
【発明が解決しようとする課題】
従来のＩ／Ｆでは、例えばパラレルＩ／ＦにしてもイーサネットＩ／Ｆにしても、印刷すべき文章データはホストコンピュータからプリンタへ送り出し、プリンタは必要十分な容量を有する受信バッファで受信し、内部でビットマップイメージに変換して印刷する形式である。
【０００５】
このような方式では、例えばプリンタが両面印刷機能を有する場合は、印刷の順番としては▲１▼１ページ目（１枚目の表面）▲２▼３ページ目（２枚目の表面）▲３▼２ページ目（１枚目の裏面）▲４▼４ページ目（２枚目の裏面）…と言ったように、必ずしも１ページ目→２ページ目→３ページ目と順番に印刷するわけではない。このような場合、従来の通信方式では、
ａ）両面印刷する時は、ホストコンピュータからプリンタに、１ページ目→３ページ目→２ページ目→４ページ目…という順番に文章データを送る。
ｂ）プリンタに、３ページ分の文章データをストアできる容量の受信バッファを用意し、ホストコンピュータから１ページ→２ページ→３ページと送られて来た文章データを印刷する際にプリンタ側で順番を入れ換える。
と言った方法をとっていた。
【０００６】
しかしながら（ａ）の方式は、ホストコンピュータ側でプリンタに応じてプリンタに送る文章データの順番と管理にしなければならず、ホストコンピュータ側のＣＰＵの負荷が非常に大きいと言う欠点が有った。
【０００７】
又（ｂ）の方式は、プリンタの受信バッファの容量が大きくなってしまいコストが上がると言う欠点が有った。
【０００８】
本発明では、従来例の欠点を克服する為、通信路として例えばＩＥＥＥ１３９４Ｉ／Ｆのようなアドレスアクセス可能なバス形式の通信路を用い、又プリンタ側からホストコンピュータのメモリにアクセスして必要なページの文章データを読み出して印刷すると言う形式を取る事により、ホストコンピュータ側のＣＰＵはプリンタへ送る文章データの順番について全く意識する必要無く、又、文章データそのものはメモリ資源の豊富なホストコンピュータのメモリに有り、プリンタは自分の必要なペースで前記メモリから文章データを読み出すことができプリンタの受信バッファを非常に少ない容量にすることを目的とする。
【０００９】
【課題を解決するための手段】
本発明の印刷システムは、情報処理装置と印刷装置とからなる印刷システムであって、前記情報処理装置は、前記印刷装置よりアクセス可能な記憶手段に印刷データを記憶させる記憶制御手段と、前記印刷装置に印刷開始命令を出力する手段とを有し、前記印刷装置は、前記印刷開始命令に従って前記記憶手段に記憶された印刷データのうち必要なページの印刷データを印刷データが記憶されている領域に対応するアドレスに基づいて読み出す読み出し手段と、前記読み出し手段により読み出された印刷データに基づき印刷を行う印刷手段とを有することを特徴とする。
【００１０】
また、前記情報処理装置は、各ページの印刷データの先頭アドレスを記憶する前記印刷装置よりアクセス可能なテーブルを有し、前記アドレス取得手段は、前記印刷開始命令に基づき前記テーブルをアクセスし、必要なページの印刷データの先頭アドレスを読み出すことを特徴とする。
【００１１】
また、前記印刷装置は、印刷が終了したページのページ番号を前記情報処理装置に送信するページ番号送信手段を有し、前記記憶制御手段は、前記ページ番号送信手段により送信されるページ番号のページの印刷データが記憶されている領域に、他のページの印刷データを記憶させることを特徴とする。
【００１２】
本発明の印刷装置は、印刷装置よりアクセス可能な記憶手段に印刷データを記憶させる手段と、前記印刷装置に印刷開始命令を出力する手段とを有する情報処理装置とバスで接続される印刷装置であって、前記印刷開始命令に従って前記記憶手段に記憶された印刷データのうち必要なページの印刷データを印刷データが記憶されている領域に対応するアドレスに基づいて読み出す読み出し手段と、前記読み出し手段により読み出された印刷データに基づき印刷を行う印刷手段とを有することを特徴とする。
【００１３】
本発明の印刷装置は、印刷データを記憶する記憶手段を有する情報処理装置と通信する印刷装置であって、前記記憶手段に記憶された印刷データのうち必要なページの印刷データを印刷データが記憶されている領域に対応するアドレスに基づいて読み出す読み出し手段と、前記読み出し手段により読み出された印刷データに基づき印刷を行う印刷手段とを有することを特徴とする。
【００１４】
本発明の印刷方法は、印刷データを記憶する記憶手段を有する情報処理装置と通信可能な印刷装置の印刷方法であって、前記記憶手段に記憶された印刷データのうち必要なページの印刷データを印刷データが記憶されている領域に対応するアドレスに基づいて読み出す読み出しステップと、前記読み出しステップで読み出された印刷データに基づき印刷を行う印刷ステップとを有することを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１６】
図１に本発明を実施するときの、ネットワーク構成の一例を示す。
【００１７】
ここで、本発明では、各機器間を接続するデジタルＩ／ＦをＩＥＥＥ１３９４シリアルバスを用いるので、ＩＥＥＥ１３９４シリアルバスについてあらかじめ説明する。
【００１８】
《ＩＥＥＥ１３９４の技術の概要》
家庭用デジタルＶＴＲやＤＶＤの登場も伴なって、ビデオデータやオーディオデータなどのリアルタイムでかつ高情報量のデータ転送のサポートが必要になっている。こういったビデオデータやオーディオデータをリアルタイムで転送し、パソコン（ＰＣ）に取り込んだり、又はその他のデジタル機器に転送を行なうには、必要な転送機能を備えた高速データ転送可能なインタフェースが必要になってくるものであり、そういった観点から開発されたインタフェースがＩＥＥＥ１３９４−１９９５（Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｅｒｉａｌ  Ｂｕｓ）（以下１３９４シリアルバス）である。
【００１９】
図１２に１３９４シリアルバスを用いて構成されるネットワーク・システムの例を示す。このシステムは機器Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈを備えており、Ａ−Ｂ間、Ａ−Ｃ間、Ｂ−Ｄ間、Ｄ−Ｅ間、Ｃ−Ｆ間、Ｃ−Ｇ間、及びＣ−Ｈ間をそれぞれ１３９４シリアルバスのツイスト・ペア・ケーブルで接続されている。この機器Ａ〜Ｈは例としてＰＣ、デジタルＶＴＲ、ＤＶＤ、デジタルカメラ、ハードディスク、モニタ等である。
【００２０】
各機器間の接続方式は、ディジーチェーン方式とノード分岐方式とを混在可能としたものであり、自由度の高い接続が可能である。
【００２１】
又、各機器は各自固有のＩＤを有し、それぞれが認識し合うことによって１３９４シリアルバスで接続された範囲において、１つのネットワークを構成している。各デジタル機器間をそれぞれ１本の１３９４シリアルバスケーブルで順次接続するだけで、それぞれの機器が中継の役割を行い、全体として１つのネットワークを構成するものである。又、１３９４シリアルバスの特徴でもある、Ｐｌｕｇ＆Ｐｌａｙ機能でケーブルを機器に接続した時点で自動で機器の認識や接続状況などを認識する機能を有している。
【００２２】
又、図１２に示したようなシステムにおいて、ネットワークからある機器が削除されたり、又は新たに追加されたときなど、自動的にバスリセットを行い、それまでのネットワーク構成をリセットしてから、新たなネットワークの再構築を行う。この機能によって、その時々のネットワークの構成を常時設定、認識することができる。
【００２３】
又データ転送速度は、１００／２００／４００Ｍｂｐｓと備えており、上位の転送速度を持つ機器が下位の転送速度をサポートし、互換をとるようになっている。
【００２４】
データ転送モードとしては、コントロール信号などの非同期データ（Ａｓｙｎｃｈｒｏｎｏｕｓデータ：以下Ａｓｙｎｃデータ）を転送するＡｓｙｎｃｈｒｏｎｏｕｓ転送モード、リアルタイムなビデオデータやオーディオデータ等の同期データ（Ｉｓｏｃｈｒｏｎｏｕｓデータ：以下Ｉｓｏデータ）を転送するＩｓｏｃｈｒｏｎｏｕｓ転送モードがある。このＡｓｙｎｃデータとＩｓｏデータは各サイクル（通常１サイクル１２５μＳ）の中において、サイクル開始を示すサイクル・スタート・パケット（ＣＳＰ）の転送に続き、Ｉｓｏデータの転送を優先しつつサイクル内で混在して転送される。
【００２５】
次に、図１３に１３９４シリアルバスの構成要素を示す。
【００２６】
１３９４シリアルバスは全体としてレイヤ（階層）構造で構成されている。図１３に示したように、最もハード的なのが１３９４シリアルバスのケーブルであり、そのケーブルのコネクタが接続されるコネクタポートがあり、その上にハードウエアとしてフィジカル・レイヤとリンク・レイヤがある。
【００２７】
ハードウエア部は実質的なインターフェイスチップの部分であり、そのうちフィジカル・レイヤは符号化やコネクタ関連の制御等を行い、リンク・レイヤはパケット転送やサイクルタイムの制御等を行う。
【００２８】
ファームウエア部のトランザクション・レイヤは、転送（トランザクション）すべきデータの管理を行い、ＲｅａｄやＷｒｉｔｅといった命令を出す。シリアルバスマネージメントは、接続されている各機器の接続状況やＩＤの管理を行い、ネットワークの構成を管理する部分である。
【００２９】
このハードウエアとファームウエアまでが実質上の１３９４シリアルバスの構成である。
【００３０】
又ソフトウエア部のアプリケーション・レイヤは使うソフトによって異なり、インタフェース上にどのようにデータをのせるか規定する部分であり、ＡＶプロトコルなどのプロトコルによって規定されている。
【００３１】
以上が１３９４シリアルバスの構成である。
【００３２】
次に、図１４に１３９４シリアルバスにおけるアドレス空間の図を示す。
【００３３】
１３９４シリアルバスに接続された各機器（ノード）には必ず各ノード固有の、６４ビットアドレスを持たせておく。そしてこのアドレスをＲＯＭに格納しておくことで、自分や相手のノードアドレスを常時認識でき、相手を指定した通信も行える。
【００３４】
１３９４シリアルバスのアドレッシングは、ＩＥＥＥ１２１２規格に準じた方式であり、アドレス設定は、最初の１０ｂｉｔがバスの番号の指定用に、次の６ｂｉｔがノードＩＤ番号の指定用に使われる。残りの４８ｂｉｔが機器に与えられたアドレス幅になり、それぞれ固有のアドレス空間として使用できる。最後の２８ｂｉｔは固有データの領域として、各機器の識別や使用条件の指定の情報などを格納する。
【００３５】
以上が１３９４シリアルバスの技術の概要である。
【００３６】
次に、１３９４シリアルバスの特徴といえる技術の部分を、より詳細に説明する。
【００３７】
《１３９４シリアルバスの電気的仕様》
図１５に１３９４シリアルバス・ケーブルの断面図を示す。
【００３８】
１３９４シリアルバスでは接続ケーブル内に、２組のツイストペア信号線の他に、電源ラインを設けている。これによって、電源を持たない機器や故障により電圧低下した機器等にも電力の供給が可能になっている。
【００３９】
電源線内を流れる電源の電圧は８〜４０Ｖ、電流は最大電流ＤＣ１．５Ａと規定されている。
【００４０】
《ＤＳ−Ｌｉｎｋ符号化》
１３９４シリアルバスで採用されている、データ転送フォーマットのＤＳ−Ｌｉｎｋ符号化方式を説明するための図を図１６に示す。
【００４１】
１３９４シリアルバスでは、ＤＳ−Ｌｉｎｋ（Ｄａｔａ／Ｓｔｒｏｂｅ  Ｌｉｎｋ）符号化方式が採用されている。このＤＳ−Ｌｉｎｋ符号化方式は、高速なシリアルデータ通信に適しており、その構成は、２本の信号線を必要とする。より対戦のうち１本に主となるデータを送り、他方のより対戦にはストローブ信号を送る構成になっている。
【００４２】
受信側では、この通信されるデータと、ストローブとの排他的論理和をとることによってクロックを再現できる。
【００４３】
このＤＳ−Ｌｉｎｋ符号化方式を用いるメリットとして、他のシリアルデータ転送方式に比べて転送効率が高いこと、ＰＬＬ回路が不要となるのでコントローラＬＳＩの回路規模を小さくできること、更には、転送すべきデータが無いときにアイドル状態であることを示す情報を送る必要が無いので、各機器のトランシーバ回路をスリープ状態にすることができることによって、消費電力の低減が図れる、などが挙げられる。
【００４４】
《バスリセットのシーケンス》
１３９４シリアルバスでは、接続されている各機器（ノード）にはノードＩＤが与えられ、ネットワーク構成として認識されている。
【００４５】
このネットワーク構成に変化があったとき、例えばノードの挿抜や電源のＯＮ／ＯＦＦなどによるノード数の増減などによって変化が生じて、新たなネットワーク構成を認識する必要があるとき、変化を検知した各ノードはバス上にバスリセット信号を送信して、新たなネットワーク構成を認識するモードに入る。このときの変化の検知方法は、１３９４ポート基盤上でのバイアス電圧の変化を検知することによって行われる。
【００４６】
あるノードからバスリセット信号が伝達されて、各ノードのフィジカルレイヤはこのバスリセット信号を受けると同時にリンクレイヤにバスリセットの発生を伝達し、かつ他のノードにバスリセット信号を伝達する。最終的にすべてのノードがバスリセット信号を検知した後、バスリセットが起動となる。
【００４７】
バスリセットは、先に述べたようなケーブル抜挿や、ネットワーク異常等によるハード検出による起動と、プロトコルからのホスト制御などによってフィジカルレイヤに直接命令を出すことによって起動する。
【００４８】
又、バスリセットが起動するとデータ転送は一時中断され、この間のデータ転送は持たされ、終了後、新しいネットワーク構成のもとで再開される。
【００４９】
以上がバスリセットのシーケンスである。
【００５０】
《ノードＩＤ決定のシーケンス》
バスリセットの後、各ノードは新しいネットワーク構成を構築するために、各ノードにＩＤを与える動作に入る。このときの、バスリセットからノードＩＤ決定までの一般的なシーケンスを図２４、図２５、図２６のフローチャートを用いて説明する。
【００５１】
図２４のフローチャートは、バスリセットの発生からノードＩＤが決定し、データ転送が行えるようになるまでの、一連のバスの作業を示してある。
【００５２】
まず、ステップＳ１０１として、ネットワーク内にバスリセットが発生することを常時監視していて、ここでノードの電源ＯＮ／ＯＦＦなどでバスリセットが発生するとステップＳ１０２に移る。
【００５３】
ステップＳ１０２では、ネットワークがリセットされた状態から、新たなネットワークの接続状況を知るために、直接接続されている各ノード間において親子関係の宣言がなされる。ステップＳ１０３として、すべてのノード間で親子関係が決定すると、ステップＳ１０４として一つのルートが決定する。すべてのノード間で親子関係が決定するまで、ステップＳ１０２の親子関係の宣言をおこない、又ルートも決定されない。
【００５４】
ステップＳ１０４でルートが決定されると、次はステップＳ１０５として、各ノードにＩＤを与えるノードＩＤの設定作業が行われる。所定のノード順序で、ノードＩＤの設定が行われ、すべてのノードにＩＤが与えられるまで繰り返し設定作業が行われ、最終的にステップＳ１０６としてすべてのノードにＩＤを設定し終えたら、新しいネットワーク構成がすべてのノードにおいて認識されたので、ステップＳ１０７としてノード間のデータ転送が行える状態となり、データ転送が開始される。
【００５５】
このステップＳ１０７の状態になると、再びバスリセットが発生するのを監視するモードに入り、バスリセットが発生したらステップＳ１０１からステップＳ１０６までの設定作業が繰り返し行われる。
【００５６】
以上が、図２４のフローチャートの説明であるが、図２４のフローチャートのバスリセットからルート決定までの部分と、ルート決定後からＩＤ設定終了までの手順をより詳しくフローチャート図に表したものをそれぞれ、図２５、図２６に示す。
【００５７】
まず、図２５のフローチャートの説明を行う。
【００５８】
ステップＳ２０１としてバスリセットが発生すると、ネットワーク構成は一旦リセットされる。なお、ステップＳ２０１としてバスリセットが発生するのを常に監視している。
【００５９】
次に、ステップＳ２０２として、リセットされたネットワークの接続状況を再認識する作業の第一歩として、各機器にリーフ（ノード）であることを示すフラグを立てておく。さらに、ステップＳ２０３として各機器が自分の持つポートがいくつ他ノードと接続されているのかを調べる。
【００６０】
ステップＳ２０４のポート数の結果に応じて、これから親子関係の宣言を始めていくために、未定義（親子関係が決定されてない）ポートの数を調べる。バスリセットの直後はポート数＝未定義ポート数であるが、親子関係が決定されていくにしたがって、ステップＳ２０４で検知する未定義ポートの数は変化していくものである。
【００６１】
まず、バスリセットの直後、はじめに親子関係の宣言を行えるのはリーフに限られている。リーフであるというのはステップＳ２０３のポート数の確認で知ることができる。リーフは、ステップＳ２０５として、自分に接続されているノードに対して、「自分は子、相手は親」と宣言し動作を終了する。
【００６２】
ステップＳ２０３でポート数が複数ありブランチと認識したノードは、バスリセットの直後はステップＳ２０４で未定義ポート数＞１ということなので、ステップＳ２０６へと移り、まずブランチというフラグが立てられ、ステップＳ２０７でリーフからの親子関係宣言で「親」の受付をするために待つ。
【００６３】
リーフが親子関係の宣言を行い、ステップＳ２０７でそれを受けたブランチは適宜ステップＳ２０４の未定義ポート数の確認を行い、未定義ポート数が１になっていれば残っているポートに接続されているノードに対して、ステップＳ２０５の「自分が子」の宣言をすることが可能になる。２度目以降、ステップＳ２０４で未定義ポート数を確認しても２以上あるブランチに対しては、再度ステップＳ２０７でリーフ又は他のブランチからの「親」の受付をするために待つ。
【００６４】
最終的に、いずれか１つのブランチ、又は例外的にリーフ（子宣言を行えるのにすばやく動作しなかった為）がステップＳ２０４の未定義ポート数の結果としてゼロになったら、これにてネットワーク全体の親子関係の宣言が終了したものであり、未定義ポート数がゼロ（すべて親のポートとして決定）になった唯一のノードはステップＳ２０８としてルートのフラグが立てられ、ステップＳ２０９としてルートとしての認識がなされる。
【００６５】
このようにして、図２５に示したバスリセットから、ネットワーク内すべてのノード間における親子関係の宣言までが終了する。
【００６６】
つぎに、図２６のフローチャートについて説明する。
【００６７】
まず、図２５までのシーケンスでリーフ、ブランチ、ルートという各ノードのフラグの情報が設定されているので、これを元にして、ステップＳ３０１でそれぞれ分類する。
【００６８】
各ノードにＩＤを与える作業として、最初にＩＤの設定を行うことができるのはリーフからである。リーフ→ブランチ→ルートの順で若い番号（ノード番号＝０〜）からＩＤの設定がなされていく。
【００６９】
ステップＳ３０２としてネットワーク内に存在するリーフの数Ｎ（Ｎは自然数）を設定する。この後、ステップＳ３０３として各自リーフがルートに対して、ＩＤを与えるように要求する。この要求が複数ある場合には、ルートはステップＳ３０４としてアービトレーション（１つに調停する作業）を行い、ステップＳ３０５として勝ったノード１つにＩＤ番号を与え、負けたノードには失敗の結果通知を行う。ステップＳ３０６としてＩＤ取得が失敗に終わったリーフは、再度ＩＤ要求を出し、同様の作業を繰り返す。ＩＤを取得できたリーフからステップＳ３０７として、そのノードのＩＤ情報をブロードキャストで全ノードに転送する。１ノードＩＤ情報のブロードキャストが終わると、ステップＳ３０８として残りのリーフの数が１つ減らされる。ここで、ステップＳ３０９として、この残りのリーフの数が１以上ある時はステップＳ３０３のＩＤ要求の作業からを繰り返し行い、最終的にすべてのリーフがＩＤ情報をブロードキャストすると、ステップＳ３０９がＮ＝０となり、次はブランチのＩＤ設定に移る。
【００７０】
ブランチのＩＤ設定もリーフの時と同様に行われる。
【００７１】
まず、ステップＳ３１０としてネットワーク内に存在するブランチの数Ｍ（Ｍは自然数）を設定する。この後、ステップＳ３１１として各自ブランチがルートに対して、ＩＤを与えるように要求する。これに対してルートは、ステップＳ３１２としてアービトレーションを行い、勝ったブランチから順にリーフに与え終った次の若い番号から与えていく。ステップＳ３１３として、ルートは要求を出したブランチにＩＤ情報又は失敗結果を通知し、ステップＳ３１４としてＩＤ取得が失敗に終わったブランチは、再度ＩＤ要求を出し、同様の作業を繰り返す。ＩＤを取得できたブランチからステップＳ３１５として、そのノードのＩＤ情報をブロードキャストで全ノードに転送する。１ノードＩＤ情報のブロードキャストが終わると、ステップＳ３１６として残りのブランチの数が１つ減らされる。ここで、ステップＳ３１７として、この残りのブランチの数が１以上ある時はステップＳ３１１のＩＤ要求の作業からを繰り返し、最終的にすべてのブランチがＩＤ情報をブロードキャストするまで行われる。すべてのブランチがノードＩＤを取得すると、ステップＳ３１７はＭ＝０となり、ブランチのＩＤ取得モードも終了する。
【００７２】
ここまで終了すると、最終的にＩＤ情報を取得していないノードはルートのみなので、ステップＳ３１８として与えていない番号で最も若い番号を自分のＩＤ番号と設定し、ステップＳ３１９としてルートのＩＤ情報をブロードキャストする。
【００７３】
以上で図２６に示したように、親子関係が決定した後から、すべてのノードのＩＤが設定されるまでの手順が終了する。
【００７４】
次に、一例として図１７に示した実際のネットワークにおける動作を図１７を参照しながら説明する。
【００７５】
図１７の説明として、（ルート）ノードＢの下位にはノードＡとノードＣが直接接続されており、更にノードＣの下位にはノードＤが直接接続されており、更にノードＤの下位にはノードＥとノードＦが直接接続された階層構造になっている。この、階層構造やルートノード、ノードＩＤを決定する手順を以下で説明する。
【００７６】
バスリセットがされた後、まず各ノードの接続状況を認識するために、各ノードの直接接続されているポート間において、親子関係の宣言がなされる。この親子とは親側が階層構造で上位となり、子側が下位となると言うことができる。
【００７７】
図１７ではバスリセットの後、最初に親子関係の宣言を行ったのはノードＡである。基本的にノードの１つのポートにのみ接続があるノード（リーフと呼ぶ）から親子関係の宣言を行なうことができる。これは自分には１ポートの接続のみということをまず知ることができるので、これによってネットワークの端であることを認識し、その中で早く動作を行ったノードから親子関係が決定されていく。こうして親子関係の宣言を行った側（Ａ−Ｂ間ではノードＡ）のポートが子と設定され、相手側（ノードＢ）のポートが親と設定される。こうして、ノードＡ−Ｂ間では子−親、ノードＥ−Ｄ間で子−親、ノードＦ−Ｄ間で子−親と決定される。
【００７８】
さらに１階層あがって、今度は複数個接続ポートを持つノード（ブランチと呼ぶ）のうち、他ノードからの親子関係の宣言を受けたものから順次、更に上位に親子関係の宣言を行なっていく。図１７ではまずノードＤがＤ−Ｅ間、Ｄ−Ｆ間と親子関係が決定した後、ノードＣに対する親子関係の宣言を行っており、その結果ノードＤ−Ｃ間で子−親と決定している。
【００７９】
ノードＤからの親子関係の宣言を受けたノードＣは、もう一つのポートに接続されているノードＢに対して親子関係の宣言を行なっている。これによってノードＣ−Ｂ間で子−親と決定している。
【００８０】
このようにして、図１７のような階層構造が構成され、最終的に接続されているすべてのポートにおいて親となったノードＢが、ルートノードと決定された。ルートは１つのネットワーク構成中に一つしか存在しないものである。
【００８１】
なお、この図１７においてノードＢがルートノードと決定されたが、これはノードＡから親子関係宣言を受けたノードＢが、他のノードに対して親子関係宣言を早いタイミングで行なっていれば、ルートノードは他ノードに移っていたこともあり得る。すなわち、伝達されるタイミングによってはどのノードもルートノードとなる可能性があり、同じネットワーク構成でもルートノードは一定とは限らない。
【００８２】
ルートノードが決定すると、次は各ノードＩＤを決定するモードに入る。ここではすべてのノードが、決定した自分のノードＩＤを他の全てのノードに通知する（ブロードキャスト機能）。
【００８３】
自己ＩＤ情報は、自分のノード番号、接続されている位置の情報、持っているポートの数、接続のあるポートの数、各ポートの親子関係の情報等を含んでいる。
【００８４】
ノードＩＤ番号の割り振りの手順としては、まず１つのポートにのみ接続があるノード（リーフ）から起動することができ、この中から順にノード番号＝０、１、２、、と割り当てられる。
【００８５】
ノードＩＤを手にしたノードは、ノード番号を含む情報をブロードキャストで各ノードに送信する。これによって、そのＩＤ番号は『割り当て済み』であることが認識される。
【００８６】
すべてのリーフが自己ノードＩＤを取得し終わると、次はブランチへ移りリーフに引き続いたノードＩＤ番号が各ノードに割り当てられる。リーフと同様に、ノードＩＤ番号が割り当てられたブランチから順次ノードＩＤ情報をブロードキャストし、最後にルートノードが自己ＩＤ情報をブロードキャストする。すなわち、常にルートは最大のノードＩＤ番号を所有するものである。
【００８７】
以上のようにして、階層構造全体のノードＩＤの割り当てが終わり、ネットワーク構成が再構築され、バスの初期化作業が完了する。
【００８８】
《アービトレーション》
１３９４シリアルバスでは、データ転送に先立って必ずバス使用権のアービトレーション（調停）を行なう。１３９４シリアルバスは個別に接続された各機器が、転送された信号をそれぞれ中継することによって、ネットワーク内すべての機器に同信号を伝えるように、論理的なバス型ネットワークであるので、パケットの衝突を防ぐ意味でアービトレーションは必要である。これによってある時間には、たった一つのノードのみ転送を行なうことができる。
【００８９】
アービトレーションを説明するための図として図１８（ａ）にバス使用要求の図（ｂ）にバス使用許可の図を示し、以下これを用いて説明する。
【００９０】
アービトレーションが始まると、１つもしくは複数のノードが親ノードに向かって、それぞれ使用権の要求を発する。図１８（ａ）ノードのＣとノードＦがバス使用権の要求を発しているノードである。これを受けた親ノード（図１８ではノードＡ）は更に親ノードに向かって、バス使用権の要求を発する（中継する）。この要求は最終的に調停を行なうルートに届けられる。
【００９１】
バス使用要求を受けたルートノードは、どのノードにバスを使用させるかを決める。この調停作業はルートノードのみが行なえるものであり、調停によって勝ったノードはバスの使用許可を与える。図１８（ｂ）ではノードＣに使用許可が与えられ、ノードＦの使用は拒否された図である。アービトレーションに負けたノードに対してはＤＰ（ｄａｔａ  ｐｒｅｆｉｘ）パケットを送り、拒否されたことを知らせる。拒否されたノードのバス使用要求は次回のアービトレーションまで待たされる。
【００９２】
以上のようにして、アービトレーションに勝ってバスの使用許可を得たノードは、以降データの転送を開始できる。
【００９３】
ここで、アービトレーションの一連の流れをフローチャート図２７に示して、説明する。
【００９４】
ノードがデータ転送を開始できる為には、バスがアイドル状態であることが必要である。先に行われていたデータ転送が終了して、現在バスが空き状態であることを認識するためには、各転送モードで個別に設定されている所定のアイドル時間ギャップ長（例．サブアクション・ギャップ）を経過する事によって、各ノードは自分の転送が開始できると判断する。
【００９５】
ステップＳ４０１として、Ａｓｙｎｃデータ、Ｉｓｏデータ等それぞれ転送するデータに応じた所定のギャップ長が得られたか判断する。所定のギャップ長が得られない限り、転送を開始するために必要なバス使用権の要求はできないので、所定のギャップ長が得られるまで待つ。
【００９６】
ステップＳ４０１で所定のギャップ長が得られたら、ステップＳ４０２として転送すべきデータがあるか判断し、ある場合はステップＳ４０３として転送するためにバスを確保するよう、バス使用権の要求をルートに対して発する。このときの、バス使用権の要求を表す信号の伝達は、図１８に示したように、ネットワーク内各機器を中継しながら、最終的にルートに届けられる。ステップＳ４０２で転送するデータがない場合は、そのまま待機する。
【００９７】
次に、ステップＳ４０４として、ステップＳ４０３のバス使用要求を１つ以上ルートが受信したら、ルートはステップＳ４０５として使用要求を出したノードの数を調べる。ステップＳ４０５での選択値がノード数＝１（使用権要求を出したノードは１つ）だったら、そのノードに直後のバス使用許可が与えられることとなる。ステップＳ４０５での選択値がノード数＞１（使用要求を出したノードは複数）だったら、ルートはステップＳ４０６として使用許可を与えるノードを１つに決定する調停作業を行う。この調停作業は公平なものであり、毎回同じノードばかりが許可を得る様なことはなく、平等に権利を与えていくような構成となっている。
【００９８】
ステップＳ４０７として、ステップＳ４０６で使用要求を出した複数ノードの中からルートが調停して使用許可を得た１つのノードと、敗れたその他のノードに分ける選択を行う。ここで、調停されて使用許可を得た１つのノード、又はステップＳ４０５の選択値から使用要求ノード数＝１で調停無しに使用許可を得たノードには、ステップＳ４０８として、ルートはそのノードに対して許可信号を送る。許可信号を得たノードは、受け取った直後に転送すべきデータ（パケット）を転送開始する。又、ステップＳ４０６の調停で敗れて、バス使用が許可されなかったノードにはステップＳ４０９としてルートから、アービトレーション失敗を示すＤＰ（ｄａｔａ  ｐｒｅｆｉｘ）パケットを送られ、これを受け取ったノードは再度転送を行うためのバス使用要求を出すため、ステップＳ４０１まで戻り、所定ギャップ長が得られるまで待機する。以上がアービトレーションの流れを説明した、フローチャート図２７の説明である。
【００９９】
《Ａｓｙｎｃｈｒｏｎｏｕｓ（非同期）転送》
アシンクロナス転送は、非同期転送である。図１９にアシンクロナス転送における時間的な遷移状態を示す。図１９の最初のサブアクション・ギャップは、バスのアイドル状態を示すものである。このアイドル時間が一定値になった時点で、転送を希望するノードはバスが使用できると判断して、バス獲得のためのアービトレーションを実行する。
【０１００】
アービトレーションでバスの使用許可を得ると、次にデータの転送がパケット形式で実行される。データ転送後、受信したノードは転送されたデータに対しての受信結果のａｃｋ（受信確認用返送コード）をａｃｋｇａｐという短いギャップの後、返送して応答するか、応答パケットを送ることによって転送が完了する。ａｃｋは４ビットの情報と４ビットのチェックサムからなり、成功か、ビジー状態か、ペンディング状態であるかといった情報を含み、すぐに送信元ノードに返送される。
【０１０１】
次に、図２０にアシンクロナス転送のパケットフォーマットの例を示す。
【０１０２】
パケットには、データ部及び誤り訂正用のデータＣＲＣの他にはヘッダ部があり、そのヘッダ部には図２０に示したような、目的ノードＩＤ、ソースノードＩＤ、転送データ長さや各種コードなどが書き込まれ、転送が行われる。
【０１０３】
又、アシンクロナス転送は自己ノードから相手ノードへの１対１の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛のアドレス以外のものは無視されるので、宛先の１つのノードのみが読込むことになる。
【０１０４】
以上がアシンクロナス転送の説明である。
【０１０５】
《Ｉｓｏｃｈｒｏｎｏｕｓ（同期）転送》
アイソクロナス転送は同期転送である。１３９４シリアルバスの最大の特徴であるともいえるこのアイソクロナス転送は、特にＶＩＤＥＯ映像データや音声データといったマルチメディアデータなど、リアルタイムな転送を必要とするデータの転送に適した転送モードである。
【０１０６】
又、アシンクロナス転送（非同期）が１対１の転送であったのに対し、このアイソクロナス転送はブロードキャスト機能によって、転送元の１つのノードから他のすべてのノードへ一様に転送される。
【０１０７】
図２１はアイソクロナス転送における、時間的な遷移状態を示す図である。
【０１０８】
アイソクロナス転送は、バス上一定時間毎に実行される。この時間間隔をアイソクロナスサイクルと呼ぶ。アイソクロナスサイクル時間は、１２５μＳである。この各サイクルの開始時間を示し、各ノードの時間調整を行う役割を担っているのがサイクル・スタート・パケットである。サイクル・スタート・パケットを送信するのは、サイクル・マスタと呼ばれるノードであり、１つ前のサイクル内の転送終了後、所定のアイドル期間（サブアクションギャップ）を経た後、本サイクルの開始を告げるサイクル・スタート・パケットを送信する。このサイクル・スタート・パケットの送信される時間間隔が１２５μＳとなる。
【０１０９】
又、図２１にチャネルＡ、チャネルＢ、チャネルＣと示したように、１サイクル内において複数種のパケットがチャネルＩＤをそれぞれ与えられることによって、区別して転送できる。これによって同時に複数ノード間でのリアルタイムな転送が可能であり、又受信するノードでは自分が欲しいチャネルＩＤのデータのみを取り込む。このチャネルＩＤは送信先のアドレスを表すものではなく、データに対する論理的な番号を与えているに過ぎない。よって、あるパケットの送信は１つの送信元ノードから他のすべてのノードに行き渡る、ブロードキャストで転送されることになる。
【０１１０】
アイソクロナス転送のパケット送信に先立って、アシンクロナス転送同様アービトレーションが行われる。しかし、アシンクロナス転送のように１対１の通信ではないので、アイソクロナス転送にはａｃｋ（受信確認用返信コード）は存在しない。
【０１１１】
又、図２１に示したｉｓｏ  ｇａｐ（アイソクロナスギャップ）とは、アイソクロナス転送を行う前にバスが空き状態であると認識するために必要なアイドル期間を表している。この所定のアイドル期間を経過すると、アイソクロナス転送を行いたいノードはバスが空いていると判断し、転送前のアービトレーションを行うことができる。
【０１１２】
つぎに、図２２にアイソクロナス転送のパケットフォーマットの例を示し、説明する。
【０１１３】
各チャネルに分かれた、各種のパケットにはそれぞれデータ部及び誤り訂正用のデータＣＲＣの他にヘッダ部があり、そのヘッダ部には図２２に示したような、転送データ長やチャネルＮＯ、その他各種コード及び誤り訂正用のヘッダＣＲＣなどが書き込まれ、転送が行われる。
【０１１４】
以上がアイソクロナス転送の説明である。
【０１１５】
《バス・サイクル》
実際の１３９４シリアルバス上の転送では、アイソクロナス転送と、アシンクロナス転送は混在できる。その時の、アイソクロナス転送とアシンクロナス転送が混在した、バス上の転送状態の時間的な遷移の様子を表した図を図２３に示す。
【０１１６】
アイソクロナス転送はアシンクロナス転送より優先して実行される。その理由は、サイクル・スタート・パケットの後、アシンクロナス転送を起動するために必要なアイドル期間のギャップ長（サブアクションギャップ）よりも短いギャップ長（アイソクロナスギャップ）でアイソクロナス転送を起動できるからである。したがって、アシンクロナス転送より、アイソクロナス転送は優先して実行されることとなる。
【０１１７】
図２３に示した、一般的なバスサイクルにおいて、サイクル＃ｍのスタート時にサイクル・スタート・パケットがサイクル・マスタから各ノードに転送される。これによって、各ノードで時刻調整を行い、所定のアイドル期間（アイソクロナスギャップ）を持ってからアイソクロナス転送を行うべきノードはアービトレーションを行い、パケット転送に入る。図２３ではチャネルｅとチャネルｓとチャネルｋが順にアイソクロナス転送されている。
【０１１８】
このアービトレーションからパケット転送までの動作を、与えられているチャネル分繰り返し行った後、サイクル＃ｍにおけるアイソクロナス転送がすべて終了したら、アシンクロナス転送を行うことができるようになる。
【０１１９】
アイドル時間がアシンクロナス転送が可能なサブアクションギャップに達する事によって、アシンクロナス転送を行いたいノードはアービトレーションの実行に移れると判断する。
【０１２０】
ただし、アシンクロナス転送が行える期間は、アイソクロナス転送終了後から、次のサイクル・スタート・パケットを転送すべき時間（ｃｙｃｌｅ  ｓｙｎｃｈ）までの間にアシンクロナス転送を起動するためのサブアクションギャップが得られた場合に限っている。
【０１２１】
図２３のサイクル＃ｍでは３つのチャネル分のアイソクロナス転送と、その後アシンクロナス転送（含むａｃｋ）が２パケット（パケット１、パケット２）転送されている。このアシンクロナスパケット２の後は、サイクルｍ＋１をスタートすべき時間（ｃｙｃｌｅ  ｓｙｎｃｈ）にいたるので、サイクル＃ｍでの転送はここまでで終わる。
【０１２２】
ただし、非同期又は同期転送動作中に次のサイクル・スタート・パケットを送信すべき時間（ｃｙｃｌｅ  ｓｙｎｃｈ）に至ったとしたら、無理に中断せず、その転送が終了した後のアイドル期間を待ってから次サイクルのサイクル・スタート・パケットを送信する。すなわち、１つのサイクルが１２５μＳ以上続いたときはその分次サイクルは基準の１２５μＳより短縮されたとする。このようにアイソクロナス・サイクルは１２５μＳを基準に超過、短縮し得るものである。
【０１２３】
しかし、アイソクロナス転送はリアルタイム転送を維持するために毎サイクル必要であれば必ず実行され、アシンクロナス転送はサイクル時間が短縮されたことによって次以降のサイクルにまわされることもある。
【０１２４】
こういった遅延情報も含めて、サイクル・マスタによって管理される。
【０１２５】
以上が、ＩＥＥＥ１３９４シリアルバスの説明である。
【０１２６】
さて、図１に戻って図１は、ＩＥＥＥ１３９４Ｉ／Ｆを通じて接続された、ＰＣ，プリンタ等の機器の接続の状態を示す図である。又図２は、プリンタ１０３の内部を示すブロック図、図３はＰＣ１０１の内部を示すブロック図である。図１において、１０１はパーソナルコンピュータ等のＰＣ、１０３は、レーザービームプリンタである。
【０１２７】
又、図２において、２０１はＩＥＥＥ１３９４Ｉ／Ｆ部、２０２はＲＡＭで、ＰＣ１０１からＩＥＥＥ１３９４Ｉ／Ｆバスを通じて読み出した文章データや、更にその文章データをビットイメージに変換したデータをストアする等に用いられる。なお、本発明における文章データは、テキスト、図形データ、イメージデータを含むものである。２０３は操作パネル、２０４はＣＰＵ、２０５はＣＰＵ２０５の動作プログラム等をストアするＲＯＭ、２０７はＲＡＭ２０２内に展開されたビットイメージデータを印刷部２０８から送られて来る水平及び垂直同期信号に同期して読み出して印刷部２０８へ送る機能を有する、印刷部Ｉ／Ｆ部、２０８は印刷部Ｉ／Ｆ部２０７を通じて送られて来るＶＩＤＥＯデータを入力し、用紙上に印刷する印刷部である。
【０１２８】
又図３において、３０１はＰＣのＣＲＴ等のディスプレイ、３０２は操作部、３０４はメモリ、３０５はＣＰＵ、３０６はＩＥＥＥ１３９４Ｉ／Ｆ部、３０７はステータスを入力するＦＩＦＯ（ファーストインファーストアウトメモリ）である。
【０１２９】
次に図１、２、３と図９、図１０、図１１のフローチャートをもとにして、本発明に基づくＰＣとプリンタの動作について説明する。
【０１３０】
図９のフローチャートにおいて、ＰＣ１０１上のアプリケーションプログラムを用いて作成された文章は、キーボートからの印刷の指示により印刷用の文章データとして作成され、ＰＣ１０１のメモリ３０４にストアされる。図４（ａ）にメモリ３０４の内部領域を示す。図４（ａ）において４０１はデータアドレステーブル領域で４０２はページデータ領域である。４０１は、更に内部が４０３の様なデータ構造を有する。即ち、４０２にストアされる文章データのページ番号と、そのページ番号の文章データの先頭アドレスが対になって４０１に羅列して書き込まれる。領域４０２には、図４（ａ）の如く１ページから４ページまでの文章データをストアされるので、４０１には４ページまでの文章データの先頭アドレスが書き込まれ、５ページ以降のその領域にはまだ文章データが無いことを示すＦＦＦＦＦＦＦＦが書き込まれる。又ページ番号の欄には作成された文章のページ分全てが割り当てられ、最終ページ（図４（ａ）のｎページ目）の後には、４０１のデータの最後を示す所定の終了コードが書き込まれる。さて、ＰＣ１０１上のアプリケーションプログラムを用いて作成された文章データは、まず最初の４ページ分が各ページ毎にページデータ領域にストアされると共に、１〜４ページのデータの先頭アドレスが、データアドレステーブル領域４０１に書き込まれる（Ｓ００１）。文章データがメモリ３０４にストアされ、準備が出来ると、ＰＣ１０１はプリンタ１０３に対して、ＩＥＥＥ１３９４バスを通じて印刷開始命令を出す（Ｓ００２）。プリンタ１０３はＰＣ１０１からの印刷開始命令を受けると、（図１０、Ｓ２０１）ＩＥＥＥ１３９４バスを通じてＰＣ１０１のメモリ３０４上のデータアドレステーブル領域４０１を見に行く。データアドレステーブル領域４０１には、文章データの各ページの先頭アドレスが書かれているので、プリンタ１０３は印刷したいページの文章データ、例えば１ページ目を印刷するのなら１ページ目の文章データの先頭アドレスを読み、次にその先頭アドレスの示す１ページ目の文章データを順に読んで行くわけである（Ｓ２０２）。各ページの文章データの最後には、その文章データの最後を示すコード４０５が必ずあるので、プリンタ１０３はその最終コード４０５を読むと、そのページのデータの終了を知るわけである。
【０１３１】
ここで、プリンタ１０３の印刷部２０８の機能について説明する。
【０１３２】
図６は、プリンタ１０３の印刷部２０８を横から見た図である。図６において、５０１は半導体レーザーで、ビットイメージに応じてＯＮ・ＯＦＦ駆動される。５０２はモーター５０３によって駆動される回転ミラーで、ビットイメージデータでＯＮ・ＯＦＦ変調された半導体レーザーの出力を、感光ドラム５０４に照射する。５０６は印刷用紙で、ピックアップローラ５０７によって適当なタイミングでピックアップされ、順次ローラーによって感光ドラムまで送り込まれる。５０５は転写器で、感光ドラム５０４に形成された潜像を、印刷用紙に転写する。５０８は現像器で、トナーを印刷用紙に定着させる。５０９は定着器で、トナーを印刷用紙に定着させる。
【０１３３】
５１０は、５１０と５１０−２の二つの位置に振り子の様に移動して停止可能な装置で、定着器５０９を通った印刷用紙が片面印刷で排紙する場合は、５１０の位置にあって印刷用紙を排紙ローラ５１１の位置に誘導して排紙部５１２に送り出し、両面印刷の為に再度印刷する場合には５１０−２の位置に移動して、印刷用紙を排紙されないように５１３の位置に誘導する。５１５は両面印刷する印刷用紙を一時スタックする場所で、５１３にある印刷用紙は、ローラ５１４が逆転する事によりこの位置に送り込まれる。
【０１３４】
次に本プリンタ１０３において、両面印刷する場合の動作について説明する。
【０１３５】
図７において、図７（ａ）の様にまず第一枚目の印刷用紙がピックアップされ、図７（ｂ）の様に印刷の為に感光ドラム５０４の近辺に送り込まれる。ここで第１ページ目が表面に印刷された用紙は、図７（ｃ）、（ｄ）の様に排紙されずに５１３の位置に運び込まれる。更にはローラ５１４が逆転する事により図７（ｅ）の様に裏面印刷用のストック位置５１５におかれる。一方で２枚目の印刷用紙が図７（ｃ）の様にピックアップされ、図７（ｄ）の様に刷の為に感光ドラム５０４の近辺に送り込まれ、図７（ｅ）の様に２枚目の表面（即ち３ページ目）が印刷される。２枚目の用紙が裏面印刷の為に５１３の位置に誘導されている間に、前記位置５１５におかれた１枚目の用紙が再びピックアップされ（図７（ｆ））、図７（ｇ）の様に裏面に２ページ目の文章データを印刷すべく、再び感光ドラム５０４の近辺に送り込まれ、印刷される（図７（ｈ））。裏面も印刷された１枚の用紙は、今度は排紙部に送り込まれ（図７（ｉ））、排紙される。又、その間に２枚目の印刷用紙の裏面に、４ページ目の文章データが印刷され排紙される。更に５ページ以降にも文章データがある場合は、３枚目の用紙がピックアップされて順次印刷されていく。さて、プリンタ１０３のＣＰＵ２０４が、ＲＡＭ３０４のページデータ領域４０２から読み出した１ページ目の文章データの最後を示すコードを認識すると、プリンタ１０３のＣＰＵ２０４は次にプリント動作に入る。即ち、ＲＡＭ２０２にストアした文章データを解析してビットイメージに変換し、これを印刷部Ｉ／Ｆ２０７を介して印刷部２０８に送ってプリントするわけである。ビットイメージに変換された１ページ目の文章データは、再びＲＡＭ２０２のビットイメージ領域にストアし、印刷部Ｉ／Ｆ２０７を介して印刷部２０８に印刷開始命令を送る。印刷部２０８は、回転ミラー５０２と感光ドラム５０４の回転を開始し、又ピックアップローラ５０７を起動して印刷用紙を印刷部へ送り込む。印刷用紙が所定の位置に達すると、印刷部２０８は、印刷部Ｉ／Ｆ２０７を介してＣＰＵ２０４に垂直同期信号を送る。ＣＰＵ２０４はこの信号を受けてＲＡＭ２０２のビットイメージ領域からビットイメージに変換された１ページ目の文章データを読み出し、同じく印刷部２０８から印刷部Ｉ／Ｆ２０７を介してＣＰＵ２０４に送られる水平同期信号に合わせて印刷部Ｉ／Ｆ２０７を介して印刷部２０８に送る（Ａ２０３）。このビットイメージ信号は、そのまま印刷部２０８のレーザー５０１のＯＮ／ＯＦＦ信号になる為、感光ドラム５０４上に１ページ目のビットイメージの潜像が形成される（図７（ａ）、（ｂ））。一方、ＣＰＵ２０４は、次に印刷するページの文章データをＰＣ１０１から読み込む作業に入る。両面プリンタの場合、２ページ目は１ページ目の裏面に印刷される。１ページ目を印刷された用紙は、図７（ｃ）、（ｄ）、（ｅ）、（ｆ）の様に、裏面を印刷すべく送り返されるが、その前に２枚目の用紙が印刷される。この２枚目の用紙の表面には３ページ目の文章が印刷される。従ってＣＰＵ２０４は、ＩＥＥＥ１３９４バスを通じてＰＣ１０１のメモリ３０４上のデータアドレステーブル領域４０１を見に行き、３ページ目の文章データの先頭アドレスを読み、そのアドレスデータが“ＦＦＦＦＦＦＦＦ”（１６進コード）（即ち、そのページの文章データが４０２内に用意されていない）で無ければ（Ｓ２０４）、次にその先頭アドレス４０３の示す３ページ目の文章データを順に読んで行き、プリンタ１０３のＩＥＥＥ１３９４Ｉ／Ｆ部２０１を通じて読み込んだデータをＲＡＭ２０２にストアする。３ページ目の文章データの最後を示すコードを認識すると、プリンタ１０３のＣＰＵ２０３は３ページ目の文章データの読み込みを終了する。後は同じようにビットイメージに変換し、２枚目の印刷用紙の表面に３ページ目の文章データを印刷しつつ、今度は１枚目の用紙の裏面に２ページ目の文章データを印刷する為に、同様にＰＣ１０１のメモリから２ページ目の文章データを読み出すわけである。（図７（ｄ）、（ｅ）、（ｆ）、（ｇ））同様に２ページ目の文章データの印刷をしつつ、２枚目の裏面に印刷する４ページ目の文章データをＰＣ１０１から読み出し、２枚目の裏面が印刷位置に来ると、４ページ目を印刷する。
【０１３６】
以上の様に、ＣＰＵ２０４がＰＣ１０１から読み出す文章データの順番は、１ページ目→３ページ目→２ページ目→４ページ目である。
【０１３７】
ここで、５ページ以降を印刷する場合の動作について説明する。
【０１３８】
３ページ目の印刷（即ち１枚目の用紙の裏面）が終了して、印刷部２０８の排紙センサ５１６が印刷終了した１枚目の用紙の通過を検知すると（図１１、Ｓ２１１）、プリンタ１０３は、印刷を終了したページの印刷が終了した事を示すステータスをＩＥＥＥ１３９４Ｉ／Ｆバスを通じてＰＣ１０１に返す（Ｓ２１２）。図８に、この印刷終了ステータスを示す、先頭にヘッダ、次に印刷終了を示すステータスを示すコード、次に終了ページ番号で、今回の場合は１ページと３ページ、そして最後に終了コードで構成される。ＰＣ１０１はこの印刷終了ステータスを受けると（図９、Ｓ００２）、次のページ（この場合は５ページ目以降）終了したページの文章データの領域に、次に印刷される文章データをストアし、そのページの文章データの先頭アドレスを４０１の該当ページの領域に書き込むと共に、印刷の終了したページの先頭アドレスを“ＦＦＦＦＦＦＦＦ”（１６進コード）とする（図９、Ｓ００３）。
【０１３９】
図４（ｂ）にその状況を示す。即ち、１ページ目と３ページ目の文章データをストアしていた領域にそれぞれ５ページ目、７ページ目の文章データが書き込まれ、４０１の５ページ目と７ページ目の先頭アドレスが書き込まれる。４ページ目を印刷し終えたプリンタ１０３は、次に５ページ目を印刷すべくＰＣ１０１のメモリ３０４の５ページ目の文章データの先頭アドレスを見に行く。ここに終了コードが書かれていれば（図１０、Ｓ２０４）、文章データは４ページで終了と言う事で、後は印刷した用紙が排紙される度に印刷終了ステータスをＰＣ１０１に返して終了する。本実施の形態では、最終ページは５ページよりも後のｎページで有るので、終了コードは書かれていない。“ＦＦＦＦＦＦＦＦ”（１６進コード）が書かれていれば、ＰＣ１０１がまだそのページの文章データをメモリ３０４の領域４０２にストアしきっていない事を意味するので、先頭アドレスが“ＦＦＦＦＦＦＦＦ”（１６進コード）以外の値になるまで待つ。（Ｓ２０５）先頭アドレスが“ＦＦＦＦＦＦＦＦ”（１６進コード）以外の値になると、得られた先頭アドレスをもとに文章データを入力して印刷するわけである。
【０１４０】
これをｎページまで繰り返して、文章データの印刷を完了するわけである。
【０１４１】
又、裏面を印刷する場合は、実際には逆さまに印刷するわけで有るが、これも裏面を印刷する場合はＰＣ上のそのページの文章データの最後のアドレスのデータからさかのぼって読むようにすれば容易に対応できる事は言うまでもない。
【０１４２】
【発明の効果】
以上説明したように、本発明によれば、印刷装置は自分の必要なペースで情報処理装置の記憶手段から印刷データを読み出すことができ、印刷データを記憶する印刷装置の記憶手段の容量を減らすことができる。
【図面の簡単な説明】
【図１】本発明の実施例のネットワーク一例を示した図である。
【図２】本発明を適用したプリンタブロック図である。
【図３】本発明を適用したＰＣのブロック図である。
【図４】本発明における実施例のＰＣのメモリ３０３の内部領域の使われ方を示す図である。
【図５】本発明における実施例のプリンタのメモリ２０２の内部領域の使われ方を示す図である。
【図６】プリンタの印刷部２０８を示す図である。
【図７】プリンタの印刷部２０８の、両面印刷時における印刷用紙等の動きを説明する図である。
【図８】プリンタからの印刷終了ステータスを示す図である。
【図９】本発明における実施例のＰＣでの動作の流れを示すフローチャートである。
【図１０】本発明における実施例のプリンタでの動作の流れを示すフローチャートである。
【図１１】本発明における実施例のプリンタでの動作の流れを示すフローチャートである（割り込みルーチン）。
【図１２】１３９４シリアルバスを用いて接続されたネットワーク構成の一例を示す図である。
【図１３】１３９４シリアルバスの構成要素を表す図である。
【図１４】１３９４シリアルバスのアドレスマップを示す図である。
【図１５】１３９４シリアルバスケーブルの断面図である。
【図１６】ＤＳ−Ｌｉｎｋ符号化方式を説明するための図である。
【図１７】１３９４シリアルバスで各ノードのＩＤを決定する為のトポロジ設定を説明するための図である。
【図１８】１３９４シリアルバスでのアービトレーションを説明するための図である。
【図１９】アシンクロナス転送の時間的な状態遷移を表す基本的な構成図である。
【図２０】アシンクロナス転送のパケットのフォーマットの一例の図である。
【図２１】アイソクロナス転送の時間的な状態遷移を表す基本的に構成図である。
【図２２】アイソクロナス転送のパケットのフォーマットの一例の図である。
【図２３】１３９４シリアルバスで実際のバス上を転送されるパケットの様子を示したバスサイクルの一例の図である。
【図２４】バスリセットからノードＩＤの決定までの流れを示すフローチャート図である。
【図２５】バスリセットにおける親子関係の流れを示すフローチャート図である。
【図２６】バスリセットにおける親子関係決定後から、ノードＩＤ決定までの流れを示すフローチャート図である。
【図２７】アービトレーションを説明するためのフローチャート図である。
【符号の説明】
１０１  ＰＣ
１０３  プリンタ
２０２  ＲＡＭ
２０４  ＣＰＵ
３０４  メモリ
【図１】
0003869941.tif 000002
【図２】
0003869941.tif 000003
【図３】
0003869941.tif 000004
【図４】
0003869941.tif 000005
【図５】
0003869941.tif 000006
【図６】
0003869941.tif 000007
【図７】
0003869941.tif 000008
【図８】
0003869941.tif 000009
【図９】
0003869941.tif 000010
【図１０】
0003869941.tif 000011
【図１１】
0003869941.tif 000012
【図１２】
0003869941.tif 000013
【図１３】
0003869941.tif 000014
【図１４】
0003869941.tif 000015
【図１５】
0003869941.tif 000016
【図１６】
0003869941.tif 000017
【図１７】
0003869941.tif 000018
【図１８】
0003869941.tif 000019
【図１９】
0003869941.tif 000020
【図２０】
0003869941.tif 000021
【図２１】
0003869941.tif 000022
【図２２】
0003869941.tif 000023
【図２３】
0003869941.tif 000024
【図２４】
0003869941.tif 000025
【図２５】
0003869941.tif 000026
【図２６】
0003869941.tif 000027
【図２７】
0003869941.tif 000028