(57)【要約】【課題】  通信速度の異なる複数種のモードを備えた通信制御装置または通信制御方法において、ホストコンピュータの負荷を増大させることなく、安定したデータ通信動作を実現する。【解決手段】  ホストコンピュータに対し通信速度の異なる複数のモード（例えばハイスピードモードとフルスピードモード）を有するデータ通信手段２，３を備える。ホスコンピュータと周辺機器との間で行われているデータ通信において、その通信品位を通信品位判別手段によって判別する。そして、判断された通信品位に応じて設定されている通信通信モードの維持または変更を行う。【選択図】  図１
2005174147.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと周辺機器とのデータ通信を行うための通信制御装置であって、
前記ホストコンピュータに対し通信速度の異なる複数の通信モードを有し、それらモードの中から所定の通信モードを設定してデータ通信を行なうデータ通信手段と、
前記ホストコンピュータと周辺機器との間で行われているデータ通信の通信品位を判別する通信品位判別手段と、
前記通信品位判別手段によって判別された通信品位に応じて前記データ通信手段において設定されている通信モードの維持または変更を行う通信モード設定手段と、を備えることを特徴とする通信制御装置。
【請求項２】
前記通信品位判別手段は、現在の通信品位が予め設定した基準の通信品位より低品位であるか否かを判別すると共に、前記通信品位より低品位であると判断された場合には、前記データ通信手段に設定されている通信モードより低速の通信速度を有する通信モードを設定することを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記通信品位判別手段は、通信時における通信エラーの発生率を算出するエラー発生率算出手段を備え、
前記通信モード設定手段は、前記エラー発生率算出手段によって算出された通信エラーの発生率が予め設定したエラー発生率以上である場合には、前記データ通信手段に設定されている通信モードより低速の通信速度を有する通信モードを設定することを特徴とする請求項１に記載の通信制御装置。
【請求項４】
前記通信品位判別手段は、通信時において前記ホストコンピュータから送信される通信データの信号レベルを検出するレベル検出手段と、
前記レベル検出手段によって検出されたレベルと予め設定された複数の基準設定レベルとを比較する比較手段とを備え、
前記通信モード設定手段は、前記比較手段の比較結果に基いて前記データ通信手段の通信モードを設定することを特徴とする請求項１または２に記載の通信制御装置。
【請求項５】
前記通信品位判別手段は、通信時における通信エラーの発生率を算出するエラー発生率算出手段と、
通信時において前記ホストコンピュータから送信される通信データの信号レベルを検出するレベル検出手段と、
前記レベル検出手段によって検出された信号レベルと複数の設定レベルとを比較するレベル比較手段と、
前記エラー発生率算出手段によって算出されたエラー発生率と予め設定された複数のエラー発生率とを比較するエラー発生率比較手段と、を備え、
前記通信モード設定手段は、前記両比較手段の比較結果に基いて前記通信モードを設定することを特徴とする請求項１または２に記載の通信制御装置。
【請求項６】
前記複数のモードは、第１の通信速度で通信を行う第１の通信モードと、前記第１の通信速度より高速の通信速度で通信を行う第２の通信モードであることを特徴とする請求項１ないし５のいずれかに記載の通信制御装置。
【請求項７】
前記第１の通信モードは、１２Ｍｂｐｓの通信速度で通信を行うハイスピードモードであり、前記第２の通信モードは４２０Ｍｂｐｓの通信速度で通信を行うフルスピードモードであることを特徴とする請求項６に記載の通信制御装置。
【請求項８】
前記周辺機器は、プリンタであることを特徴とする請求項１に記載の通信制御装置。
【請求項９】
ホストコンピュータと周辺機器とのデータ通信を行うための通信制御方法であって、
前記ホストコンピュータに対し通信速度の異なる複数の通信モードを有し、それら通信モードの中から所定の通信モードを設定してデータ通信を行うデータ通信手段を備え、
前記ホストコンピュータと周辺機器との間で行われているデータ通信の通信品位を判別する通信品位判別ステップと、
前記通信品位判別ステップにおいて判別された通信品位に応じて前記通信手段において設定されている通信モードを維持または変更するステップと、を備えたことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータとプリンタなどの周辺機器との間で行われるデータ通信の信頼性向上に関するものであり、詳しくは、通信速度の異なる複数種の通信モードを備えた通信制御装置および通信制御方法に関する。
【背景技術】
【０００２】
ホストコンピュータとプリンタとの間のデータ通信には高速通信が要求され、その通信には、現在、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  Ｂｕｓ）が一般に使用されている。ＵＳＢ１．０規格あるいはＵＳＢ１．１規格には、通信速度が１．５Ｍｂｐｓのロースピードモード（ＬＳモード）と通信速度が１２Ｍｂｐｓのフルスピードモード（ＦＳモード）とがあり、プリンタが両モードを有する場合、いずれのモードで通信を行うかの選択は、２本の通信線Ｄ＋とＤ−のうち、いずれか一方にプルアップ抵抗を接続することによってハード的に行われる。
【０００３】
また、ホストコンピュータからプリンタへ送信されたデータの通信条件に対応させて、記録装置側が受信条件を自動的に設定して、ホストコンピュータと記録装置を自動接続させるようにした構成が知られている（例えば、特許文献１）。
【０００４】
また近年、通信速度の向上を目指してＵＳＢ２．０規格では、前述のＬＳモード、ＦＳモードに加え、ハイスピードモード（ＨＳモード）が新たに設けられた。このＨＳモードは４８０Ｍｂｐｓの通信速度を有しており、それまでのＬＳモード及びＦＳモードを使用する場合に比し、飛躍的に通信速度の向上が図られることとなる。但し、コンピュータまたはプリンタによってはＨＳモードに対応していない場合もあるため、両者のインターフェースがＨＳモードを有しているか否かの判断を行う必要があり、従来は、その判別を次のようにして行っている。
【０００５】
すなわち、ホストコンピュータがこのＨＳモードを有する場合、プリンタとホストコンピュータとが接続されると、バスリセット中にホストコンピュータ側が特別な信号を発生し、プリンタ側からの応答の有無によりプリンタ側でＨＳモードを有するか否かをハード的に判断している。そして、プリンタ側でＨＳモードを有すると判断された場合には、それ以降の通信はＨＳモードで行ない、またＨＳモードを有していないと判断された場合には、ＦＳモードで通信を行うようになっている。
【０００６】
【特許文献１】特開平５−２９８２０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術にあっては、ホストコンピュータおよびプリンタの双方がＨＳモードを有する場合に、ハード的にＨＳモードでの通信が選択されるため下記のような場合において通信エラーが生じることがある。
（１）ＨＳモードは４８０Ｍｂｐｓという高速であるため、ＦＳモード及びＬＳモードに比較し、設計が難しくまたケーブル等の環境による通信エラーが頻繁に発生する。
（２）ＨＳモードの導入初期に開発されたＵＳＢ制御チップによっては、ＨＳモードに対応したドライバソフト等の検証が十分でない場合がある。
（３）ＨＳモードの導入初期に生産されたホストコンピュータあるいはプリンタなどの周辺装置にあっては、ＨＳモードに対する互換性テストが十分でない場合がある。
【０００８】
そこで、ＵＳＢには通信エラーによる不具合を防止するために、データを再送する等の補正手段が設けられている。しかしながら、このような補正手段が作動した場合には、利用者の認識外でホストコンピュータの負荷が増加するという新たな課題が生じている。
【０００９】
本発明は、上記従来技術の課題に着目してなされたものであり、通信速度の異なる複数種のモードを備えた通信制御装置または通信制御方法において、ホストコンピュータの負荷を増大させることなく、安定したデータ通信動作を実現することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明は以下の構成を有する。
すなわち、本発明の第１の形態は、ホストコンピュータと周辺機器とのデータ通信を行うための通信制御装置であって、前記ホストコンピュータに対し通信速度の異なる複数の通信モードを有し、それらモードの中から所定の通信モードを設定してデータ通信を行なうデータ通信手段と、前記ホストコンピュータと周辺機器との間で行われているデータ通信の通信品位を判別する通信品位判別手段と、前記通信品位判別手段によって判別された通信品位に応じて前記データ通信手段において設定されている通信モードの維持または変更を行う通信モード設定手段と、を備えることを特徴とするものである。
【００１１】
また、本発明の第２の形態は、ホストコンピュータと周辺機器とのデータ通信を行うための通信制御方法であって、前記ホストコンピュータに対し通信速度の異なる複数の通信モードを有し、それら通信モードの中から所定の通信モードを設定してデータ通信を行うデータ通信手段を備え、前記ホストコンピュータと周辺機器との間で行われているデータ通信の通信品位を判別する通信品位判別ステップと、前記通信品位判別ステップにおいて判別された通信品位に応じて前記通信手段において設定されている通信モードを維持または変更するステップと、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明は、ホストコンピュータと周辺機器とのデータ通信を行うことにより検出されたエラー発生率および／または通信時における通信データの信号レベルに基いて、複数の通信モードの中から適切な通信モードを設定するため、ホストコンピュータの負荷を増大させることなく、安定したデータ通信を行うことが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を説明する。  
（第１の実施形態）
図１は本発明の実施形態におけるプリンタに実装されるＵＳＢ通信部１の概略構成を示すブロック図である。
【００１４】
ここに示すＵＳＢ通信部１は、ＦＳモード及びＨＳモードを有するものとなっており、ＦＳ制御部２とＨＳ制御部３とを選択的に用いることにより、各モードのうちいずれか一方のモードによって図外のホストコンピュータとのデータ通信を行う。ここで、ＦＳ制御部２は１２Ｍｂｐｓでの通信を行うための制御部であり、バッファＢ１，Ｂ２を介してデータの通信を行う。ＨＳ制御部３は、４８０Ｍｂｐｓでの通信を行うための制御部であり、バッファＢ３，Ｂ４を介してデータの通信を行う。また、４はプリンタ内部に実装されるＵＳＢ通信部１がＦＳモードを有していることをホストコンピュータに認識させるためのプルアップ抵抗であり、ＨＳ制御部３から送信される制御信号によってオン／オフが切り替わるバッファＢ５により、通信線Ｄ＋に対し、接続／遮断を切換え得るようになっている。
【００１５】
また、４は前記ＦＳ制御部２及びＨＳ制御部３などを制御する制御手段としての通信制御部（データ通信手段）であり、４はホストコンピュータからの受信データにエラーが発生したことを検出するためのエラー検出部、５はホストコンピュータからデータの再送信要求があったことを検出するための検出部、６はホストコンピュータからの差動受信データを検出するための差動アンプである。ＶＢＵＳはホストコンピュータからの＋５ｖ入力であり、動作用電源として及びホストコンピュータが接続されたことを検出するための信号として使用される。
【００１６】
また、８は前記エラー検出部からの出力及び再送検出部からの信号を各々カウントするためのカウンタである。９は本ＵＳＢ通信部１がＨＳモードで動作することを禁止するためのＨＳ禁止部である。また、１０は、前記制御部は前記制御部７からのデータおよび前記カウンタ８からのデータに基いて、制御部７およびＨＳ禁止部を制御するＣＰＵであり、種々の演算、制御、比較および判別などの処理を行う手段として機能する。
【００１７】
次に、上記構成を有するＵＳＢ制御部によって実行される通信制御動作を説明する。  
まず、上記ＵＳＢ通信部１がＦＳモードとＨＳモードの何れで通信動作を実行すべきかを判断する基本的な手順について図２を参照しつつ説明する。なお、この手順は、従来より行われている手順と同様である。
【００１８】
ホストコンピュータによりバスリセット（ＢＵＳ  ＲＥＳＥＴ）が行われ、プリンタ側でその状態を確認すると、以下の動作が行われる。
【００１９】
図２（ａ）は、プリンタ側とホスト側とが共にＨＳモードを有している場合の各通信線の状態を示している。この場合、プリンタ側は通信線Ｄ−，Ｄ＋をＫ状態とする信号（Ｄ−が「１」，Ｄ＋が「０」）をホストコンピュータ側へと送出し、これに応じてホストコンピュータ側は通信線Ｄ−，Ｄ＋をＫ状態とする信号と、Ｊ状態とする信号（Ｄ−が「０」，Ｄ＋が「１」）を繰り返えして送信する。この通信線状態は作動アンプ８を介して通信制御部７に受信される。この通信線状態を受けて、通信制御部はホスト側の双方でＨＳモードを有することを確認し、ＦＳ制御部の駆動を停止させると共にＨＳ制御部３を駆動可能状態とし、ＨＳ制御部３からの信号により、プルアップ抵抗４を遮断し、その後の通信はＨＳモードで行われる。
【００２０】
一方、図２（ｂ）は、プリンタ側のみＨＳモードを有している場合の各通信線の状態を示している。この場合、プリンタ側が通信線Ｄ−，Ｄ＋をＫ状態とする信号を送出するが、ホスト側はＨＳモードを有していないため、これに応答せず、ＦＳモードで動作する。
【００２１】
上記の基本的手順から明らかなように、従来は、プリンタ及びホストコンピュータの双方がＨＳモードを有しているときには必ずＨＳモードで動作するようになっている。  
しかしながら、前述の発明が解決しようとする課題の欄でも説明したように、高速通信モードであるＨＳモードでは十分な安定性を確保することができない場合がある。  
このため、この第１の実施形態においては、上記従来技術の課題を解決すべく、図３のフローチャートに示すような手順を実行するようになっている。  
プリンタとホストコンピュータとが接続されると、所定時間後にバッファリセットが行われる（ステップＳ２）。次に、ステップＳ３では、前述のようにしてＨＳモードかＦＳモードかの判断が行われ、判断された動作モードが設定される（ステップＳ４，Ｓ５）。
【００２２】
この後、ホストコンピュータとプリンタとの間で、実行すべき初期化動作に必要なデータ通信が行われると共に（ステップＳ６）、そのデータ通信が完了したか否かの判断が行われる（ステップＳ７）。ここで、必要な通信が成立していないと判断された場合にはステップＳ９へ移行し、エラー発生率１００パーセントが設定される。また、ステップＳ６の通信において、エラーが発生していても通信が完了していると判断された場合にはステップＳ８へ移行し、エラーの発生率を算出する。この際、通信はパケット単位で行われているため、エラー発生率は、有効データ転送回数とエラー転送回数とから求められ、その値が設定される。
【００２３】
すなわち、プリンタのデータ受信時には、下記の式１に示すように、受信エラーの発生回数によって再送信を要求した回数（エラー転送回数）と、有効なデータ転送回数とに基き下記の式１に示す演算によって求められる。
エラー発生率＝エラー転送回数／（有効データ転送回数＋受信エラーによって再送信を要求した回数）                                      （式１）
【００２４】
またデータ送信時には、下記の式２に示すように、有効データ転送回数と、実際に送信動作を実行した回数とからエラー発生率を求める
エラー発生率＝エラー転送回数／（有効データ転送回数＋実際に送信動作を実行した回数）                                                （式２）
なお、受信時にはＣＲＣエラーなどのエラー発生回数を数えても良い。
【００２５】
次に、予め設定された判断基準率（例えばエラー発生率５０％）に対し、ステップＳ８，Ｓ９によって設定されたエラー率が判断基準率（５０％）未満であれば待機状態となり、また、判断基準率（５０％）以上であれば、ＨＳモードによる通信エラーが多いと判断され、ＨＳモードでの動作を禁止する。すなわち、ＦＳモードでのみ動作可能とする。
【００２６】
この後、ステップＳ１２でバスリセットを行い、再びステップＳ２〜ステップＳ１１の動作を繰り返す。
【００２７】
以上のように、この第１の実施形態においては、ＨＳモードを設定するか否かの判断を、従来のように、単にホスト側からの応答があるか否かによって行うのではなく、ホストコンピュータからの応答があった場合にも、エラー発生率が予め設定された判断基準値より低い場合にはＨＳモードで通信動作を行ない、設定値より高い場合にはＦＳモードでの動作に切り替えて通信動作を行うため、従来に比べ安定した通信を行うことができる。
【００２８】
なお、この第１の実施形態では、ＶＢＵＳの状態を検出することによって、プリンタとホストコンピュータとの接続が解除されたことを検出することができるため、接続が解除された場合には、前述のステップＳ１１において設定されたＨＳモード禁止の状態を解除し、再度前記Ｓ２以降の動作を繰り返すことが可能である。
【００２９】
また、この第１の実施形態においては、ＵＳＢを例に採り説明したが、データの通信速度の異なる通信モードを切換えて使用することができる通信制御装置であれば、その他のものにも本発明は適用可能である。例えば、ＩＥＥＥ１３４９準拠のインターフェースでは４００Ｍｂｐｓ、２００Ｍｂｐｓ、１００Ｍｂｐｓ等の複数のデータ転送速度を切り替えて使用することが可能となっているため、このインターフェースに本発明を適用することも可能である。
【００３０】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。  
図４は本発明の第２の実施形態を説明するためのブロック図である。  
図４に示す通信制御装置１１は、図１に示した通信制御装置１の作動アンプ８の出力側に、ホストコンピュータからの入力信号レベルを検出するためのレベル検出部（レベル検出手段）１２を設けたものである。ここで、前記レベル検出部１２は、ホストコンピュータから作動アンプ８を介して入力された入力信号をＡ／Ｄ変換するＡ／Ｄ変換器によって構成されており、ここでＡ／Ｄ変換されたデジタル信号は、レベル検出信号としてＣＰＵ１０に入力される。なお、その他の構成部分は、図１に示したものと同様である。よって、図４において、図１に示したものと同一もしくは相当部分には同一符号を付し、その説明の詳細は省く。
【００３１】
上記構成を有するこの第２の実施形態においては、差動アンプ８を介して入力されるコンピュータからの入力信号をモニターすることによって、より正確にデータ転送モードを設定し得るものとなっている。すなわち、ホストコンピュータとプリンタを接続するためのケーブルの長さは、種々変化する可能性があり、そのケーブルの長さによって作動アンプからの出力（コンピュータからの入力）が変化することが知られている。
【００３２】
例えば、使用するケーブルの長さが、変更された場合、作動アンプからの出力電圧は、次のように変化する。
ケーブル長：０．５ｍ    −−−  出力電圧：４００ｍＶ
ケーブル長：５ｍ  −−−−−−  出力電圧：２００ｍＶ
【００３３】
このように、ケーブルが長くなると信号レベルが低下することから、この信号レベルをモニターし、そのモニター出力を受けたＣＰＵ１０は、ケーブルの長さの変動などに起因する信号レベルの変動を勘案してエラー発生率の算出を行う。このため、より正確に転送モードの設定を行うことが可能となっている。
【００３４】
以下、この第２の実施形態において実行される通信制御動作を図５のフローチャートと伴に説明する。  
プリンタとホストコンピュータとが接続されると、ステップＳ１１〜ステップＳ１５において、前記第１の実施形態におけるステップ１〜ステップ５と同様の処理が行われる。そして、ステップＳ１４においてＨＳモードが設定された場合には、ステップＳ１６において、ホストコンピュータからＡＤ変換部１１を経て入力された信号レベルの判別動作を行う。この信号レベル判別動作は、実際のデータ通信中の信号に対して行われるため、信号は同期化あるいは平均化が行われたものとなっている。
【００３５】
この後、ホストコンピュータとプリンタとの間で、実行すべき初期化動作に必要なデータ通信が行われると共に（ステップＳ１７）、そのデータ通信が完了したか否かの判別が行われる（ステップＳ１８）。そして、必要な通信が成立していないと判別された場合にはステップＳ１９へ移行し、ここでエラー発生率１００パーセントが設定される。また、エラーが発生していても通信が完了していればステップＳ２０へ移行し、エラーの発生率が求められる（ステップＳ２１）。なお、この第２の実施形態においても、通信はパケット単位で行われているため、このエラー発生率の算出は、前記第１の実施形態と同様に、有効データ転送回数とエラー転送回数とに基き、式１または式２によって求められる。また、受信時にはＣＲＣエラーなどのエラー発生回数を数えても良い。
【００３６】
次に、前述のステップＳ１９，Ｓ２０によって算出されたエラー率と予め設定した判断基準率とを比較すると共に、ステップＳ１６において確認された信号レベルと予め設定した基準レベルとを比較し、両比較結果に基き、ステップＳ２２へ移行してＨＳモードによる通信の禁止を行うか、ステップＳ２４へ移行して待機状態とするかの判断を行う。  
【００３７】
この判断は、例えば、次のようにして行う。  
（Ａ）モニター出力の信号レベルが予め設定した第１の基準レベル（例えば３００ｍＶ）以上である場合に、算出したエラー発生率が予め設定した第１の基準エラー率（例えば６０％）以下であるならば、ステップＳ２４へ移行して待機状態とする。
（Ｂ）モニター出力の信号レベルが前記第１の基準レベル（例えば２００ｍＶ）〜予め設定した第２の基準レベル（例えば３００ｍＶ）の範囲内であり、かつ算出したエラー発生率が予め設定した第２の基準エラー率（例えば５０％）以下ならばステップＳ２４へ移行して待機状態とする。
（Ｃ）モニター出力の信号レベルが第１の基準レベル（例えば２００ｍＶ）未満であり、かつ算出したエラー発生率が第２の基準エラー率（例えば５０％）未満ならば、ステップＳ２２へ移行してＨＳモードを禁止する。この後、ステップＳ２４でバスリセットを行い、再びステップＳ１３〜ステップＳ２３の動作を繰り返す。
【００３８】
以上のように、この第２の実施形態においては、ＨＳモードを設定するか否かの判断を、第１の実施形態と同様にエラー発生率の大小だけでなく、入力信号の信号レベルをも勘案して行っているため、ＨＳモードを使用すべきか否かの判断をより適切に行うことができる。すなわち、この第２の実施形態では、比較的信号レベルが高い場合には多少エラー率が高くてもその状態が安定しているためＨＳモードでのデータ通信を行い、信号レベルが低い場合にはエラー率が高くなる可能性があるためＦＳモードでのデータ通信を行うようになっている。従って、実際の通信全般における状態をより確実に検出することができ、より安定した通信を行うことが可能になる。
【００３９】
なお、上記各実施形態においては、ホストコンピュータとのデータ通信を行う周辺機器としてプリンタを例に採り説明したが、本発明はその他の周辺機器とホストコンピュータとの間でデータ通信を行うその他の周辺機器にも適用である。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態におけるプリンタに実装されるＵＳＢ通信部の概略構成を示すブロック図である。
【図２】（ａ）はプリンタ側とホスト側とが共にＨＳモードを有している場合の各通信線の状態を、（ｂ）はプリンタ側のみＨＳモードを有している場合の各通信線の状態をそれぞれ示している。
【図３】本発明の第１の実施形態における動作手順を説明するためのフローチャートである。
【図４】本発明の第２の実施形態におけるプリンタに実装されるＵＳＢ通信部の概略構成を示すブロック図である。
【図５】第１の実施形態における動作手順を説明するためのフローチャートである。
【符号の説明】
【００４１】
１  ＵＳＢ制御部
２  ＦＳ制御部
３  ＨＳ制御部
４  プルアップ抵抗
５  エラー検出部
６  再送検出部
７  制御部
８  作動アンプ
９  ＨＳ禁止部
１０  ＣＰＵ
１１  ＵＳＢ制御部
Ｄ＋  通信線
Ｄ−  通信線
【図１】
2005174147.tif 000003
【図２】
2005174147.tif 000004
【図３】
2005174147.tif 000005
【図４】
2005174147.tif 000006
【図５】
2005174147.tif 000007