(57)【特許請求の範囲】
【請求項１】
稼動状態を示すステータス情報をホストへ送出可能なステータス送信部と、
ホストとの間でデータを送受信可能なインタフェース部とを有し、
このインタフェース部は、転送時間が確保されたときにホストから送出される入出力コマンドに基づきデータを送受信可能な第１の転送形態と、定期的にホストから送出される入力コマンドに基づきデータを送信可能な第２の転送形態の少なくとも２つの転送形態によりデータを送受信可能であり、
前記ステータス送信部は、前記第１の転送形態によりステータス情報を送信可能な第１の送信機能と、前記第２の転送形態によりステータス情報を送信可能な第２の送信機能とを備えており、
前記第１の送信機能は、ホストからの要求に基づくステータス情報を送信可能であり、前記第２の送信機能は、自発的なステータス情報を送信可能であり、
前記インタフェース部はＵＳＢインタフェースであり、前記第１の転送形態はバルク転送形態、前記第２の転送形態は割り込み転送形態であることを特徴とする周辺処理装置。
【請求項２】
転送時間が確保されたときにホストから送出される入出力コマンドに基づきデータを送受信可能な第１の転送形態により稼動状態を示すステータス情報をホストへ送出可能な第１のステータス送信工程と、
定期的にホストから送出される入力コマンドに基づきステータス情報をホストへ送出可能な第２のステータス送信工程とを有し、
前記第１のステータス送信工程では、ホストからの要求に基づくステータス情報を送信し、前記第２のステータス送信工程では、自発的なステータス情報を送信し、
前記第１の転送形態はＵＳＢインタフェースによりサポートされるバルク転送形態であり、前記第２の転送形態は割り込み転送形態であることを特徴とする周辺処理装置の制御方法。
【請求項３】
転送時間が確保されたときにホストから送出される入出力コマンドに基づきデータを送受信可能な第１の転送形態により稼動状態を示すステータス情報をホストへ送出可能な第１のステータス送信処理と、定期的にホストから送出される入力コマンドに基づきステータス情報をホストへ送出可能な第２のステータス送信処理とを実行可能な命令を有し、
前記第１のステータス送信処理では、ホストからの要求に基づくステータス情報を送信し、前記第２のステータス送信処理では、自発的なステータス情報を送信可能な命令を有し、
前記第１の転送形態としてＵＳＢインタフェースによりサポートされるバルク転送形態を用い、前記第２の転送形態として割り込み転送形態を用いた処理を実行可能な命令を有する前記制御プログラムが記録されていることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストと交信可能なプリンタなどの周辺処理装置（周辺機器）およびその制御方法に関するものである。
【０００２】
【従来の技術】
パーソナルコンピュータ（パソコン）などをホストコンピュータ（以降においてはホスト）としてプリンタなどを含めた広範囲の周辺機器あるいは周辺処理装置（デバイス）との間でデータ交換を可能にするユニバーサル・シリアル・バス（以降においてはＵＳＢ）が多くのパソコンおよびデバイスの標準インタフェースとして採用されつつある。このＵＳＢは、ケーブル接続型のシリアルバスであり、多くのデバイスに対し同時アクセスが可能で、データの信頼性が高く、さらに、ホストあるいはデバイスの動作中に接続、構成、使用および切断するホットプラギングが可能なので、今後、さらに多くの周辺機器の接続インタフェースとして採用されるものと考えられている。
【０００３】
ＵＳＢインタフェース間におけるデータ転送は、複数のデバイス（周辺機器）に対し同時にアクセスできるように、デバイス毎に割り当てられたＵＳＢ上のデバイス・アドレス（以降においてはアドレス）およびデータの送信あるいは発生元（ソース）また受信あるいは消費先（シンク）を示すデバイス・エンドポイント（以降においてはエンドポイント）を備えたトークン・パケットをホスト側から周辺機器側に送信することで開始される。たとえば、プリンタあるいはスキャナなどとの間で交換される大量のデータ（処理データ）に対しては、ホストとデバイス間にバルク転送用のパイプが設定され、トークン・パケットに続き、交換するデータを備えたデータ・パケットと、さらに、送受信状態を示すハンドシェーク・パケットが順次交換される。ホストとデバイス間には、バルク転送用のパイプ（送信および受信の２方向）に加え、デバイスが最初に接続された時点で使用されるコントロール転送用のパイプ、そして、割り込みデータの転送用に使用される割り込み転送用のパイプが設定されるようになっており、これらのパイプに属するデータの交換（トランザクション）も上記の一連のパケットによって構成される。そして、複数のトランザクションによって１ｍｓ間隔のフレームが構成され、フレームを繰り返すことによりホストと複数のデバイスとの間で同時にさまざまなデータの交換が行われる。また、ハンドシェーク・パケットによりデータ交換中にエラーが発生した場合はデータ交換をリトライする機能がサプライされているので、大量のデータを高速で確実に転送することが可能となっている。
【０００４】
【発明が解決しようとする課題】
周辺処理装置としてプリンタを例にすると、印刷するためのビットマップなどの処理データおよび紙送り機構の制御などを行うコマンドデータに加え、オンラインあるいはオフラインの状態、用紙の有無、カバーオープン、バッファフル、インクの有無、さらにはエラー状態であるかないかなどの稼動状態を示すステータス情報がパソコンなどのホストとの間で送受信される。これらのステータス情報は、通常、ホストからのステータス要求コマンドに対し応答する形で送出されるため、通常の処理データと同様にバルク転送用のパイプを介してホストに送出される。
【０００５】
しかしながら、ＵＳＢのバルク転送用のパイプは、単位時間当たりに転送されるデータ量（バンド幅）に余裕ができたときに設定されるので、転送時期については保証されない。したがって、ステータス情報をバルク転送により送信すると、必ずしも即時性を持たせた通信にはならない。このため、バッファフルにも関わらず処理データを転送して処理データが欠けてしまったり、カバーオープンの状態でありながら処理データの送信が継続されて印刷が滞るなどの事態が発生する。
【０００６】
これに対し、割り込み転送用のパイプは、短い間隔で周期的に設定され、ポーリングされたときにデータがあれば即座にそのデータをホストに送信することができる。したがって、パイプに対して最大限のサービス周期が保証されているので即時性は高く、また、バス上のエラーにより転送が失敗しても次の周期で転送がリトライされるのでデータの信頼性も非常に高い。したがって、ステータス情報をすべて割り込み転送で送信することも可能であり、これにより、即時性とデータの信頼性を確保することができる。しかしながら、バンド幅を確保するために割り込み転送で転送できるデータ・パケットのサイズは制限されており、また、処理データの通信速度を確保するためはバルク転送用にバンド幅を開放することが望ましく、割り込み転送によるデータ転送が少ない方が望ましい。
【０００７】
そこで、本発明においては、ステータス情報の即時性を担保できると共に、さらに、処理データあるいはコマンドを効率良く交換できるようにバンド幅も十分に確保でき、処理データなどの通信速度も速い周辺処理装置およびその制御方法を提供することを目的としている。
【０００８】
【課題を解決するための手段】
このため、本発明の周辺処理装置においては、ステータス情報をバルク転送あるいは割り込み転送のいずれか一方に限ることなく、状況に応じていずれかの転送用のパイプを用いて送出できるようにして、即時性を担保すると共にバルク転送用に最大限のバンド幅を確保できるようにしている。
すなわち、本発明の周辺処理装置は、
稼動状態を示すステータス情報をホストへ送出可能なステータス送信部と、
ホストとの間でデータを送受信可能なインタフェース部とを有し、
このインタフェース部は、転送時間が確保されたときにホストから送出される入出力コマンドに基づきデータを送受信可能な第１の転送形態と、定期的にホストから送出される入力コマンドに基づきデータを送信可能な第２の転送形態の少なくとも２つの転送形態によりデータを送受信可能であり、
前記ステータス送信部は、前記第１の転送形態によりステータス情報を送信可能な第１の送信機能と、前記第２の転送形態によりステータス情報を送信可能な第２の送信機能とを備えており、
前記第１の送信機能は、ホストからの要求に基づくステータス情報を送信可能であり、前記第２の送信機能は、自発的なステータス情報を送信可能であり、
前記インタフェース部はＵＳＢインタフェースであり、前記第１の転送形態はバルク転送形態、前記第２の転送形態は割り込み転送形態であることを特徴とする。
また、本発明の周辺装置の制御方法は、
転送時間が確保されたときにホストから送出される入出力コマンドに基づきデータを送受信可能な第１の転送形態により稼動状態を示すステータス情報をホストへ送出可能な第１のステータス送信工程と、
定期的にホストから送出される入力コマンドに基づきステータス情報をホストへ送出可能な第２のステータス送信工程とを有し、
前記第１のステータス送信工程では、ホストからの要求に基づくステータス情報を送信し、前記第２のステータス送信工程では、自発的なステータス情報を送信し、
前記第１の転送形態はＵＳＢインタフェースによりサポートされるバルク転送形態であり、前記第２の転送形態は割り込み転送形態であることを特徴とする。
また、このような制御方法は、それぞれの工程に対応する処理を実行可能な命令を有する制御プログラムとして記録媒体に記録して提供し、あるいは使用することができる。
【０００９】
本発明の周辺処理装置あるいはその制御方法においては、第１の送信機能あるいは第１のステータス送信工程により、ホストからの要求に基づくステータス情報を送信し、第２の送信機能あるいは第２のステータス送信工程により、自発的なステータス情報を送信することができ、これにより、即時性が要求されるステータス情報は即座に第２の送信機能により送信し、即時性の要求されないステータス情報は第１の送信機能によって送信することが可能である。すなわち、ホストからの要求に基づくステータス情報が発行されるケースは、ホスト側においてステータス情報を確認してから次の処理が行われるケースがほとんどであり、それほどの即時性を要求されない。また、緊急性を要する場合でも、ホストでそのような状況にあることが把握されているので、適当なタイミングでステータス情報を第１の転送形態、すなわち、バルク転送用のパイプを介して収集することが可能である。これに対し、周辺処理装置が自発的にステータス情報を発行する場合は、その事態がホストでは把握されていないので即時性を有する。したがって、第２の転送形態、すなわち、割り込み転送用のパイプを用いてステータス情報を発行することにより即時性を確保することができる。
【００１０】
このように、本発明の周辺処理装置およびその制御方法においては、ＵＳＢのような少なくとも２種類の異なるパイプを設定してデータ交換を行うインタフェースを介してステータス情報を交換するときに、即時性がもっとも必要とされるステータス情報だけを最もサービス周期の短い第２の転送形態、すなわち、割り込み転送用のパイプを用いて転送し、その他のケースではバルク転送用のパイプを用いて転送するようにしている。このため、ステータス情報を発行するために不必要にバンド幅を占有することがなく、バルク転送用のパイプを用いた処理データの通信速度も十分に確保できる。このため、印刷機構あるいは読み取り機構などの外界に対し処理データを出力または入力可能な処理機構と、この処理機構で処理する処理データを第１の転送形態により送信または受信可能な制御部とを有する周辺処理装置の能力を損なうことなく、ステータス情報の即時性も十分に確保することができる。
【００１１】
【発明の実施の形態】
以下に図面を参照して、本発明の実施の形態を説明する。図１に、本発明に係る周辺処理装置をＵＳＢインタフェースを介して接続してＰＯＳシステム１を構成した例を示してある。本例のＰＯＳシステム１は、ＵＳＢインタフェース５を介してデータの交換を行うパソコン１１がホストコンピュータとして採用されており、このホスト１１にターミナルプリンタ１５、カスタマディスプレイ１６、カードリーダ１７およびバーコードスキャナ１８がハブ１２を介して接続されている。これらのターミナルプリンタ１５、カスタマディスプレイ１６、カードリーダ１７およびバーコードスキャナ１８といった各々の周辺処理装置もＵＳＢインタフェース５を備えており、ホスト１１とＵＳＢを介してデータを交換できるようになっている。
【００１２】
以下では、これらの周辺処理装置の内、ターミナルプリンタ１５を例に本発明を説明する。図２に、本例のターミナルプリンタ１５の概略構成をブロック図を用いて示してある。本例のターミナルプリンタ１５は、印刷を行う印刷機構３１と、この制御を行うアプリケーションソフトウェア（以降においてはアプリケーション）３２とを備えており、アプリケーション３２の機能は、不図示のＣＰＵと、プログラムあるいは設定値などが記憶されたＲＯＭと、印刷データおよびコマンドなどのバッファとしても使用されるＲＡＭなどによって構成される。アプリケーション３２には、クライアントドライバ３６を介してＵＳＢインタフェース５が接続されている。ＵＳＢインタフェース５は、ＵＳＢインタフェースのハード的な接続環境を提供するポート２１と、このポート２１を介して行う通信をハード的に制御するユニバーサルコントローラ２２と、送受信されるデータをパケット化するなどのソフトウェア的な制御を行うＵＳＢドライバ２３を備えている。したがって、ＵＳＢドライバ２３およびターミナルプリンタ用のクライアントドライバ３６を介し、アプリケーション３２およびホスト１１はＵＳＢを用いて印刷データおよび制御コマンドが交換できるようになっている。
【００１３】
ＵＳＢドライバ２３は、印刷用のデータあるいは表示用のデータなどの大量のデータを交換できるバルク転送用のパイプをサポートする第１の転送部２５と、短いサービス周期で常に形成される割り込み転送用のパイプをサポートする第２の転送部２６と、周辺処理装置（デバイス）をホストに接続したときにＵＳＢ上のデバイスを構成するために使用されるコントロール転送用のパイプをサポートする第３の転送部２７と、音声のように等時性が要求されるデータを交換する際に形成されるＩＳＯ転送用のパイプをサポートする第４の転送部２８を備えている。
【００１４】
これらの転送用のパイプは、図３に示すように、ホスト１１から送出されるトークン・パケット５１によって設定される。ホスト１１からプリンタ１５にデータを送るタイプのバルク転送用のパイプにおいては、出力タイプのトークン・パケット（アウトトークン）５１に続いてデータ・パケット５２がホスト側から送信される。トークン・パケット５１は、パケットタイプを示すパケットＩＤ（ＰＩＤ）６１と、ＵＳＢ上のデバイスを識別するためのアドレス６２と、デバイス上のデータの消費地あるいは発生地を示すエンドポイント６３と誤り訂正用の巡回符号（ＣＲＣ）６４を備えている。ホスト１１からデータが送信されるときは、送信であることを示すＰＩＤ６１と、送信先のデバイスのアドレス（本例ではターミナルプリンタのアドレス）６２と、そのデータの消費先を示すエンドポイント、すなわち、アプリケーション３２を示すエンドポイント６３がトークン・パケット５１としてホスト１１のＵＳＢインタフェース５から送信される。ターミナルプリンタ１５のＵＳＢインタフェース５は、このトークン・パケット５１に含まれる情報をデコードし、アドレス６２がターミナルプリンタ１５に割り当てられた番号であれば、トークン・パケット５１およびそれに続くデータ・パケット５２を受信する。このように、トークン・パケットでアドレスおよびエンドポイントを設定し、デバイス毎にマルチパイプを設定できるので、ＵＳＢインタフェースを用いることにより複数の周辺機器とホスト１１の間で略同時にデータの交換を行うことができる。
【００１５】
ＵＳＢドライバ２３は、トークン・パケット５１で与えられたアドレスおよびエンドポイントをデコードし、それがターミナルプリンタ１５のアプリケーション３２を示すものであれば、これに続くデータ・パケット５２を受信してデータの入力を受け、あるいは、トークン・パケット５１がイン・トークンであればアプリケーション３２で用意されている出力データあるいはコマンドを送出する。データ・パケット５２はＰＩＤ６１と、データ６５と、さらにＣＲＣ６４を備えている。データ・パケット５２の受信または送信が無事に終了すると、さらに、ハンドシェーク・パケット５３が送受信される。ハンドシェーク・パケット５３は、ＰＩＤ６１だけで構成されており、エラーなくデータが受信されたことを示すＡＣＫ、データが受信されなかったことを示すＮＡＫ、および受信側がストールしていることを示すＳＴＡＬＬの３状態を返せるようになっている。したがって、ホスト１１は、ハンドシェーク・パケット５３によってＮＡＫを受信した場合は、同じデータ・パケット５２の送信をリトライし、これによってデータ通信の信頼性を高めている。また、ストールしている場合はホストが介入してストールの原因が解消されるようにする。
【００１６】
図４に示すように、ホスト１１は、ＵＳＢで交信可能な時間（ＵＳＢ時間）を１ｍｓ間隔のフレームＦに分割してデータを交換している。フレームＦは、フレーム開始トークンＳＯＦ５４によって開始される。ＳＯＦ５４に続いて、割り込み転送用のトランザクション５６がデバイス毎に実行される。割り込み転送用のトランザクション５６の転送周期が各デバイス毎に最短に設定されていれば、１フレーム毎に４つのデバイスに対し割り込み転送用のトランザクション５６が実行され、さらに、フレームＦに余裕があれば、バルク転送用のトランザクション５６が実行される。また、音声などの等時性が要求されるデータの交換が必要なときは、割り込み転送用のトランザクション５６に続いて、ＩＳＯ転送用のトランザクションが続いて実行される。
【００１７】
割り込み転送用のトランザクション５６においては、上述したバルク転送における入力トランザクションと同じようにパケットが交換される。すなわち、まず、イン・トークン５１がホスト１１から発行され、デバイス側にイン・トークン５１に応じて送信するデータがあればデータパケット５２に纏められて即座に送信される。これに続いてホスト側からハンドシェーク・パケット５３が送出され、データがエラーなく交換されたか否かが判る。一方、デバイス側に送るデータがなければ、ＮＡＫあるいはＳＡＴＬＬを示すハンドシェーク・パケット５３がホスト１１に返されてそのデバイスに対する割り込み転送用のパイプは解除される。したがって、割り込み転送用のトランザクション５６によって、各デバイスは最短のケースではフレーム周期のタイミングでポーリングされ、その時にデータがあれば即座にホスト１１に送出することができる。
【００１８】
図２に戻って、本例のプリンタ１５は、印刷用のデータおよびコマンドに加えて、プリンタ１５の稼動状態（例えば、上述したようにカバーオープン、用紙無し、バッファフルあるいはエラー状態の有無など）を示すステータス情報もＵＳＢインタフェース５を介してホスト１１に送られるようになっている。このため、本例のクライアントドライバ３６に、アプリケーション３２で検出されたステータス情報がわたされ、ＵＳＢインタフェース５を介して適当なタイミングでホスト１１に送出される。上記にて説明したＵＳＢインタフェースで用いられる４つのパイプの内、ステータス情報を送出するには、バルク転送、割り込み転送およびＩＳＯ転送の３種類のパイプが考えられる。これらの内、ＩＳＯ転送は、データの等時性を保証すべく遅延が最小となるようにＵＳＢのバンド幅（フレーム）の専用部分が割り当てられる。しかしながら、データに損失が生じてもリトライされることはないので、データの信頼性は高くない。したがって、ステータス情報を送出するパイプとしては適していない。
【００１９】
バルク転送は、大量のデータを送受信するには適しているが、ＵＳＢバンド幅（フレーム）に余裕ができたときにしか設定されない。このため、データの通信速度およびタイミングについては保証されない。しかしながら、ハンドシェーク・パケットにより受信状態が確認されるので、読み取りに失敗したときは、次のタイミングでリトライされデータの信頼性は高い。割り込み転送は、デバイス毎に周期を設定できるが、最短の周期で設定すればフレームＦのタイミングでポーリングされるので、ほぼ即時的にデータをホスト１１に転送でき、さらに、データに損失が生じると、次のタイミングでリトライされるので、データの信頼性も高い。しかしながら、割り込み転送あるいはＩＳＯ転送といった周期的なアクセスがＵＳＢでは優先されるので、フレームＦの内、割り込み転送のトランザクションの占めるバンド幅が広がると、バルク転送用のバンド幅が確保できなくなるので印刷データなどの転送速度が低下することになる。
【００２０】
このため、本例のプリンタ１５においては、クライアント用のドライバ３６に、ステータス情報をバルク転送によって送出できる第１の転送機能３７と、割り込み転送によって送出できる第２の転送機能３８とを設け、ステータス情報の種類によってステータス情報をホスト１１に送るパイプ（転送モード）に振り分けて転送することにより、ステータス情報の即時性と、バンド幅の確保を両立させるようにしている。
【００２１】
プリンタ１５からホスト１１にステータス情報を送信する要因は次の３種類に分けることができる。１つは、通常のステータス要求コマンドに対して応答する場合であり、印刷データと同じグレードでホスト１１から送信されたステータス要求コマンドに対してステータス情報を送信するケースである。このステータス要求コマンドは、印刷データと共にバッファ内に収納されて、印刷データあるいは他のコマンドと共に受信された順番に処理されるものである。したがって、このステータス要求コマンドに応答して送信されるステータス情報は緊急性が低くバルク転送によって送信することで問題は生じない。さらに、ステータス要求コマンドはホスト１１からプリンタ１５に送信されているので、ホスト１１はステータス要求コマンドに応答するステータス情報がプリンタ１５で用意されていることを認識している。したがって、ホスト１１からプリンタ１５のアドレスを指定してイン・トークン５１を送出することにより、適当なタイミングでステータス情報を取得することができる。このような点を考慮し、本例のプリンタ１５では、第１の転送機能３７を用いてバルク転送用のパイプを用いて転送している。
【００２２】
２つめは、リアルタイムステータス要求コマンドに応答する場合である。リアルタイムコマンドは、ホスト１１から送られてプリンタ１５で受信されると、バッファに格納される前に処理されるコマンドであり、他のコマンドあるいは印刷データに優先して処理される緊急性の高いものである。したがって、プリンタ１５からホスト１１に対してもステータス情報が早いタイミングで送出されることが必要である。しかしながら、このケースも、ホスト１１からステータス要求コマンドが送出されているので、ホスト１１はＵＳＢにイン・トークン５１を頻繁に発行してステータス情報の取得に勤めることができる。したがって、緊急性を要するリアルタイムステータス要求コマンドに応答するステータス情報であっても、ホスト１１の側で転送のタイミングあるいは速度を制御できるので、本例のプリンタ１５においては、バルク転送用のパイプ、すなわち第１の転送機能３７を用いて転送している。
【００２３】
３つめは、プリンタ１５から自発的にステータス情報を送信する場合である。このようなステータス情報を送出する機能は自動ステータス送信機能（ＡＳＢ）とも呼ばれており、あらかじめホスト１１によって設定された条件が成立すると、プリンタ１５が自動的に所定のステータス情報をホスト１１に送信するようになっている。例えば、カバーオープンという条件が設定されていると、何らかの条件でプリンタのカバーが開放されたときにステータス情報が発生し、それがホスト１１に送信される。このようなステータス情報は、印刷データの欠損などの回復不可能なエラーにも繋がる重要なものである。例えば、印刷中あるいは印刷データを送信している間にカバーオープンが発生すると印刷が継続できないので、ジョブを中断する必要がある。しかしながら、この状態で印刷データを送りつづけるとプリンタ１５のバッファに印刷データが収まらず抜け落ちてしまう可能性がある。したがって、プリンタ１５から自発的に発行されるステータス情報はリアルタイムでホスト１１に送信されることが望ましい。さらに、そのステータス情報が発行されたタイミングはホスト１１で認識できないので、適当なタイミングでイン・トークン５１を送ってステータス情報を取得することもできない。そこで、本例のプリンタ１５においては、このような自発的なステータス情報は第２の転送機能３８を用いて割り込み転送パイプを介してホスト１１に送信するようにしている。割り込み転送パイプであれば、上述したように、最短に設定されていればフレーム単位でポーリングされるので、ほぼリアルタイムでステータス情報をホスト１１に送信することができる。
【００２４】
図５に、本例のプリンタ１５からステータス情報をホストに送信する処理の概要をフローチャートを用いて示してある。まず、ステップ７１で、ステータス情報がアプリケーション３２から発行されると、ステップ７２において、そのステータス情報が自発、すなわちＡＳＢ機能によるステータス情報であることを判断する。ＡＳＢ機能に起因するステータス情報であれば、ステップ７３で割り込み転送用のイン・トークンが受信されるのを待ち、割り込み転送用のパイプが接続されるとステップ７４でステータス情報を送信する。割り込み転送の周期は、上述したように、最も短いサービス周期、すなわち、フレーム毎に設定することもできるので、略リアルタイムでステータス情報を送信することができる。一方、発行されたステータス情報がＡＳＢ機能に起因するものでない場合は、ステップ７５でバルク転送用のパイプが接続されるのを待ち、バルク転送用のイン・トークンを受信するとステップ７６でステータス情報を送信する。
【００２５】
このように、本例のプリンタ１５においては、ＵＳＢインタフェースを用いてステータス情報をホストに送信する際に、ＡＳＢ機能による自発的なステータス情報は割り込み転送用のパイプを用いて転送し、一方、その他のホストからのステータス要求に基づくステータス情報はバルク転送用のパイプを用いて転送するようにしている。これにより、緊急性を要し、さらに、ホストではステータス情報が発行されるタイミングを把握できない自発的なステータス情報はリアルタイムで転送することが可能である。そして、緊急性を要しないか、あるいは、ホストでステータス情報が発行されるタイミングを把握できるものについてはバルク転送用のパイプは用いることにより、割り込み転送の負荷を減らしてバンド幅が専有されるのを防止し、バルク転送用のバンド幅を確保できるようにしている。したがって、ステータス情報の即時性を確保できると共にバンド幅も確保してデータ転送速度の速いプリンタおよびその制御方法を提供することができる。また、上記のフリーチャートに示した制御方法は、それぞれの処理を実行可能な命令を有する制御プログラムとして磁気ディスクなどの記録媒体に記録して提供することができ、ＲＯＭなどの記録媒体にインストールして使用することができる。
【００２６】
なお、上記ではプリンタを例に本発明を説明しているが、他の周辺処理装置、例えば、ディスプレイ１６、リーダ１７あるいはスキャナ１８などにおいても同様の処理あるいは構成でステータス情報をホストに送信することができる。また、本例では、ホストから要求があったステータス情報はバルク転送によってホストに送信しているが、緊急性を要するリアルタイムステータス要求コマンドに応答するステータス情報も含めて割り込み転送でホストに転送し、バルク転送では通常のステータス要求コマンドに応答するステータス情報だけを転送するようにすることも可能である。このような方法でステータス情報を転送しても、割り込み転送ですべてのステータス情報を送る場合よりもはるかにバンド幅がバルク転送のために開放され、また、リアルタイムステータス要求コマンドに対するステータス情報の即時性も確保される。しかしながら、ＵＳＢは、ホストで送信および受信のタイミングも含めてすべてがコントロールされるバスであるので、ホスト側から送出された要求コマンドに応答するステータス情報に対してはバスク転送であっても適当なタイミングでホストに送信することができる。したがって、本例のように、ホスト側で発行されるタイミングが把握できない自発的なステータス情報のみを割り込み転送パイプで転送し、他のホストでタイミングの把握できるステータス情報はバルク転送パイプで転送することにより、ステータス情報の即時性を確保しつつ他のデータの転送効率の高くなるようにＵＳＢを最適に制御することができる。
【００２７】
【発明の効果】
以上に説明したように、本発明の周辺処理装置およびその制御方法においては、今後、ホストと周辺処理装置とを接続する上で有用と考えられているＵＳＢのバルク転送ように、転送時間が確保された時にホストから送出される入出力コマンドに基づきデータを送受信可能な第１の転送形態と、割り込み転送のように、定期的にホストから送出される入力コマンドに基づきデータを送信可能な第２の転送形態といった複数の転送形態を備えたバスを用いてホストと通信する際に、ステータス情報をその発行要因によって第１および第２の転送形態に振り分けてホストに転送できるようにしている。特に、ホストでステータス情報が発生するタイミングの判らない自発的なステータス情報は周期の短い割り込み転送の形態を用いることにより即時性を担保することができ、ホストからの要求に応答するステータス情報においてはバルク転送の形態を用いることによりＵＳＢのバンド幅をバルク転送のために開放することができる。したがって、本発明により、ステータス情報の即時性を確保しながら通常のデータの転送効率も高く保つことが可能な周辺処理装置およびその制御方法を提供を提供できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＰＯＳシステムの概要を示す図である。
【図２】図１に示すターミナルプリンタの概略構成を示すブロック図である。
【図３】ＵＳＢのパケットの構成を模式的に示す図であり、図３（ａ）はトークン・パケットの構成を示し、図３（ｂ）はデータ・パケットの構成を示し、さらに、図３（ｃ）はハンドシェーク・パケットの構成を示してある。
【図４】ＵＳＢのフレームＦの構成例を模式的に示す図である。
【図５】図１に示すターミナルプリンタにおけるステータス情報の送信処理の概要を示すフローチャートである。
【符号の説明】
１・・ＰＯＳシステム
５・・ＵＳＢインタフェース
１１・・ホスト
１５・・ターミナルプリンタ
１６・・カスタマディスプレイ
１７・・カードリーダ
１８・・スキャナ
２１・・ポート
２２・・ユニバーサルコントローラ
２３・・ＵＳＢドライバ
３１・・印刷機構
３２・・アプリケーション
３６・・クライアントドライバ
３７・・バルク転送でステータス情報を送信する第１の転送機能
３８・・割り込み転送でステータス情報を送信する第２の転送機能
５１・・トークン・パケット
５２・・データ・パケット
５３・・ハンドシェーク・パケット
【図１】
0003711432.tif 000002
【図２】
0003711432.tif 000003
【図３】
0003711432.tif 000004
【図４】
0003711432.tif 000005
【図５】
0003711432.tif 000006