(57)【特許請求の範囲】
【請求項１】
２つのデータ入出力端子、及び該各データ入出力端子を介してデータの送・受信を行うトランシーバを備えると共に、該各データ入出力端子のいずれか一方がプルアップ抵抗を介してプルアップ電源に接続され、該各データ入出力端子間の差動信号によって外部のホストコンピュータとの間でデータの送・受信を行うように構成されたＵＳＢデバイスにおいて、
前記トランシーバは、データ受信時に前記各データ入出力端子の電圧が共に第１のＬｏｗ判定基準値より低くなったときにデータパケットの終端と判断するよう構成されており、
０Ｖより大きく且つ前記第１のＬｏｗ判定基準値よりも低い所定の電圧値が第２のＬｏｗ判定基準値として設定されており、
前記各データ入出力端子の電圧が一致したときの電圧であって、且つ、該電圧が前記第２のＬｏｗ判定基準値より低くない場合に、該電圧を交差電圧として検出する交差電圧検出手段と、
前記交差電圧検出手段により検出された交差電圧が、前記第１のＬｏｗ判定基準値以上において予め設定された交差電圧許容範囲内となるよう、当該ＵＳＢデバイス内の回路定数を変化させる回路定数変化手段と、
を備えたことを特徴とするＵＳＢデバイス。
【請求項２】
前記回路定数変化手段は、
前記交差電圧検出手段にて検出された交差電圧と前記交差電圧許容範囲内における所定の基準電圧とを比較し、該比較結果に基づいて、該交差電圧が前記基準電圧と一致するように前記回路定数を変化させる
ことを特徴とする請求項１記載のＵＳＢデバイス。
【請求項３】
前記回路定数は前記プルアップ抵抗の抵抗値であり、
前記回路定数変化手段は、
前記交差電圧検出手段にて検出された交差電圧が前記基準電圧より低いときは前記抵抗値を減少させ、該交差電圧が前記基準電圧より高いときは前記抵抗値を増加させる
ことを特徴とする請求項２記載のＵＳＢデバイス。
【請求項４】
２本のデータ入出力端子、及び該各データ入出力端子を介してデータの送・受信を行うトランシーバを備えると共に、該各データ入出力端子のいずれか一方がプルアップ抵抗を介してプルアップ電源に接続され、該各データ入出力端子間の差動信号によって外部のホストコンピュータとの間でデータの送・受信を行うように構成されたＵＳＢデバイスにおいて、
前記トランシーバは、データ受信時に前記各データ入出力端子の電圧が共に第１のＬｏｗ判定基準値より低くなったときにデータパケットの終端と判断するよう構成されており、
０Ｖより大きく且つ前記第１のＬｏｗ判定基準値よりも低い所定の電圧値が第２のＬｏｗ判定基準値として設定されており、
前記各データ入出力端子の電圧が一致したときの電圧であって、且つ、該電圧が前記第２のＬｏｗ判定基準値より低くない場合に、該電圧を交差電圧として検出する交差電圧検出手段と、
前記交差電圧検出手段により検出された交差電圧が、前記第１のＬｏｗ判定基準値以上において予め設定された交差電圧許容範囲内となるよう、前記プルアップ電源の電圧を変化させるプルアップ電源変化手段と、
を備えたことを特徴とするＵＳＢデバイス。
【請求項５】
前記プルアップ電源変化手段は、
前記交差電圧検出手段にて検出された交差電圧と前記交差電圧許容範囲内における所定の基準電圧とを比較し、該検出された交差電圧が前記基準電圧より低いときは前記プルアップ電源の電圧を増加させ、該交差電圧が前記基準電圧より高いときは前記プルアップ電源の電圧を減少させる
ことを特徴とする請求項４記載のＵＳＢデバイス。
【請求項６】
前記交差電圧検出手段は、
前記各データ入出力端子の電位差を検出する差動電圧検出手段と、
該差動電圧検出手段により検出される電位差が略０のときの、前記いずれかのデータ入出力端子の電圧を前記交差電圧として検出するデータ線電圧検出手段と、
前記各データ入出力端子の電圧がいずれも、前記第２のＬｏｗ判定基準値より低いか否かを判断するＬレベル判断手段と、
前記Ｌレベル判断手段にて前記各データ入出力端子の電圧がいずれも前記第２のＬｏｗ判定基準値より低いと判断されている間は、前記データ線電圧検出手段による前記交差電圧の検出を停止させる検出停止手段と、
を備えたことを特徴とする請求項１〜５いずれかに記載のＵＳＢデバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＵＳＢ（Universal Serial Bus）規格に準拠してデータ転送を行うＵＳＢデバイスに関する。
【０００２】
【従来の技術】
パーソナルコンピュータ（以下「ＰＣ」と略す）等のホスト側コンピュータと、プリンタやキーボードなどの様々な周辺機器とを接続するためのインターフェース規格の一つとして、ＵＳＢが知られている。
【０００３】
図５に、ＵＳＢデバイスとしてのプリンタがＰＣと接続されたシステムの概略構成を示す。図５に示す如く、プリンタ５１は、ＵＳＢケーブル５３を介してＰＣ５２と接続されており、主としてＵＳＢトランシーバ５５，コントローラ５６及びプリンタエンジン５７とを備えている。
【０００４】
ＵＳＢケーブル５３は、詳細には、図６に示すように、電源ライン６１（ＶBUS ）と、グランドライン６２（ＧＮＤ）と、Ｄ＋及びＤ−の各データライン（Ｄ＋ライン６３及びＤ−ライン６４）との４本の線を備えたものであり、Ｄ＋ライン６３とＤ−ライン６４は、互いにより合わせたツイストペア構成となっている。そして、ＵＳＢケーブル５３両端の接続端子（図示略）がそれぞれ、プリンタ５１が備えるＵＳＢコネクタ５９とＰＣ５２が備えるＵＳＢコネクタ６０に接続される。
【０００５】
尚、プリンタ５１のＵＳＢコネクタ５９は、Ｄ＋ライン６３が接続されるＤ＋端子５９ａと、Ｄ−ライン６４が接続されるＤ−端子５９ｂを備える他、図示は省略したものの、電源ライン６１及びグランドライン６２が接続される端子もそれぞれ備えている。また、以下の説明において、「Ｄ＋ライン６３」とは、説明の便宜上、プリンタ５１におけるＤ＋端子５９ａからＵＳＢトランシーバ５５へ至るラインと、ＰＣ５２におけるＤ＋端子６０ａからＵＳＢトランシーバ５８へ至るラインを含むものとして扱い、同様に「Ｄ−ライン６４」とは、プリンタ５１におけるＤ−端子５９ｂからＵＳＢトランシーバ５５へ至るラインと、ＰＣ５２におけるＤ−端子６０ｂからＵＳＢトランシーバ５８へ至るラインを含むものとして扱う。
【０００６】
ＵＳＢトランシーバ５５は、その内部に送信バッファ及び受信バッファを備え、ＰＣ５２からのデータを受信すると共にＰＣ５２へ所定のデータを送信できるよう構成されている。ＵＳＢでは、Ｄ＋ライン６３とＤ−ライン６４の両者間の差動信号にてデータ伝送が行われる。
【０００７】
そのため、ＵＳＢトランシーバ５５内の送信バッファでは、コントローラ５６からのデータに基づき、図７に示すようなＤ＋制御信号及びＤ−制御信号が生成される。そして、各制御信号に従って実際にＤ＋ライン６３及びＤ−ライン６４の電圧を交互にＬｏｗ（０Ｖ）又はＨｉｇｈ（３Ｖ）に変化させることにより、ＰＣ５２へのデータ伝送が行われる。尚、データパケットの終端（ＥＯＰ：End of Packet ）では、各データライン６３，６４をいずれもＬｏｗに落とすようにしており、これもＵＳＢの仕様で定められている。
【０００８】
尚、受信側では、完全に０Ｖになったときではなく、所定電圧（例えば０．８Ｖ）より低くなったときにＬｏｗと判断される。そのため、図７では、時刻ｔ２でＥＯＰと判断されることになる。
また、ＵＳＢトランシーバ５５内の受信バッファは、ＰＣ５２からＵＳＢケーブル５３を介して送信されてくる差動信号を論理データに変換してコントローラ５６へ出力する。コントローラ５６は、ＵＳＢトランシーバ５５からのデータ内容を読み取って、データ内容に応じた印字指令をプリンタエンジン５７へ出力する。プリンタエンジン５７は、レーザ照射ユニットや現像・転写機構など、印刷用紙へ印字出力するための各種機構を備えたものであり、コントローラ５６からの印字指令に従った印字出力を実行する。
【０００９】
一方、ＰＣ５２が備えるＵＳＢトランシーバ５８も、プリンタ５１のＵＳＢトランシーバ５５と同様に構成されたものであり、図示しない制御装置からの制御信号に従った差動信号をＵＳＢケーブル５３を介してプリンタ５１へ出力すると共に、プリンタ５１から差動信号にて伝送されてきたデータを論理データに変換して制御装置へ渡す。
【００１０】
尚、ＰＣ５２のＵＳＢコネクタ６０についても、プリンタ５１のＵＳＢコネクタ５９と同様、Ｄ＋ライン６３が接続されるＤ＋端子６０ａと、Ｄ−ライン６４が接続されるＤ−端子６０ｂを備える他、図示は省略したものの、電源ライン６１及びグランドライン６２が接続される端子もそれぞれ備えている。
【００１１】
また、ＵＳＢでは、データ転送速度が１２Ｍｂｐｓのフルスピードモードと、データ転送速度が１．５Ｍｂｐｓのロースピードモードがあり、周辺機器毎に使い分けている。そして、ホスト側コンピュータが、自身に接続されたＵＳＢデバイスがどのモードであるかを判別するために、Ｄ＋ライン又はＤ−ラインのいずれか一方を、ＵＳＢデバイス側で所定電圧にプルアップするよう仕様が定められている。
【００１２】
図５では、プリンタ５１においてＤ＋ライン６３がプルアップ抵抗Ｒｐｕ0 を介して所定電圧（３．０〜３．６Ｖ）にプルアップされている。なお、プルアップ抵抗Ｒｐｕ0 は、ＵＳＢの仕様上、１．５ｋΩ（±0.5％ ）とするよう定められており、プルアップ電源電圧３．０〜３．６Ｖも、ＵＳＢの仕様で定められているものである。また、ホスト側（ＰＣ５２）では、Ｄ＋ライン６３及びＤ−ライン６４がそれぞれ、プルダウン抵抗Ｒｐｄ（１５ｋΩ）を介して接地されている。そのため、Ｄ＋ライン６３から各ＵＳＢトランシーバ５５，５８をみたインピーダンスがいずれも高インピーダンスのとき、Ｄ＋ライン６３の電圧は約３Ｖとなる。
【００１３】
従って、プリンタ５１とＰＣ５２とをＵＳＢケーブル５３を介して接続したとき、ＰＣ５２は、Ｄ＋ライン６３の電圧が約３Ｖであることを検出することにより、プリンタ５１がフルスピードモード対応のＵＳＢデバイスであるものと認識できる。逆に、Ｄ−ライン６４がプルアップされている場合は、ロースピードモード対応のＵＳＢデバイスということになる。
【００１４】
上記のように、プリンタ５１とＰＣ５２との間のＵＳＢによるデータ伝送は、Ｄ＋ライン６３とＤ−ライン６４の差動信号にてなされると共に、両ライン６３，６４がいずれもＬｏｗのときはＥＯＰとして扱うようにされている（図７参照）。また、Ｄ＋ライン６３又はＤ−ライン６４のいずれか一方（図５ではＤ＋ライン６３）が、プルアップ抵抗Ｒｐｕ0 を介して３．０〜３．６Ｖのプルアップ電源にプルアップされている。
【００１５】
【発明が解決しようとする課題】
しかしながら、例えば各データライン６３，６４或いは各ＵＳＢトランシーバ５５，５８内部のインピーダンスの影響や、ＰＣ５２からプリンタ５１へデータ送信する際（或いはその逆）の各ＵＳＢトランシーバ５５，５８のドライブ能力不足等、種々の要因により、Ｄ＋ライン６３とＤ−ライン６４の交差電圧Ｖcr（図７参照；各ライン６３，６４のレベル反転時に両者の電圧が一致（交差）するときの電圧）が低下し、誤ってＥＯＰと判断されてしまうことがあった。
【００１６】
即ち、本来なら交差電圧Ｖcrは、Ｌｏｗ（0V）とＨｉｇｈ（3V）の中間の約１．５となるはずなのだが、上記した各種要因により許容範囲（例えば０．８Ｖ〜２Ｖ）を下回ってしまうことがある。交差電圧Ｖcrが許容範囲より低くなるということは、言い換えれば、Ｄ＋ライン６３の電圧及びＤ−ライン６４の電圧がいずれもＬｏｗとなったわけであり、それ故、ＥＯＰと誤判断されてしまうのである。
【００１７】
図７を例に挙げると、本来なら時刻ｔ２で共にＬｏｗ（０．８Ｖ以下）となったところがＥＯＰであるのだが、もし時刻ｔ１での交差電圧Ｖcrが許容範囲より低くなってしまうと、その時点でＥＯＰであると誤認され、データを完全に受信しないままそのパケットについては受信完了したものと扱われてしまうのである。
【００１８】
そうなると、そのパケットについてエラーチェックが実行されたとき、転送エラーと判断され、リトライ（送信元へのデータ再送要求）が行われる。そのため、交差電圧Ｖcrの低下により転送エラーが頻発するほど、データ転送速度も低下していく。
【００１９】
また、ごく稀ではあるが、例えばチェックサム方式によるエラー検知で、データ合計とチェックサムとが偶然一致して、転送エラーであるにもかかわらずエラーが検知されないなど、エラー検知をすり抜けて正常データとして扱われ、結果としてデータ化けが起こってしまうこともある。そのため、例えば図５のプリンタ５１にてそのようなデータ化けが起こると、印字に失敗してしまう。
【００２０】
尚、交差電圧Ｖcrが、上記とは逆に許容範囲を超えてしまうことも考えられるのだが、各ライン６３，６４が共にＨｉｇｈになってもそのことが直接何らかのデータを意味するわけではないため、実際上ほとんど問題にならない。各ライン６３，６４が共にＬｏｗのときがＥＯＰと規定されているが故に、交差電圧Ｖcrが許容範囲を下回ると上記問題が生じるのである。そのため、交差電圧Ｖcrの許容範囲は実際上は０．８Ｖ（Ｌｏｗ判定の上限値）以上の範囲であるということもできる。
【００２１】
本発明は上記課題に鑑みなされたものであり、ＵＳＢにおける差動信号によるデータ伝送の際、差動信号の交差電圧が許容範囲を下回らないようにすることにより、データ転送エラーやデータ化けの発生を防止することを目的とする。
【００２２】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた請求項１記載のＵＳＢデバイスは、
２つのデータ入出力端子、及び該各データ入出力端子を介してデータの送・受信を行うトランシーバを備えると共に、該各データ入出力端子のいずれか一方がプルアップ抵抗を介してプルアップ電源に接続され、該各データ入出力端子間の差動信号によって外部のホストコンピュータとの間でデータの送・受信を行うように構成されたものであって、トランシーバは、データ受信時に各データ入出力端子の電圧が共に第１のＬｏｗ判定基準値より低くなったときにデータパケットの終端と判断するよう構成されている。また、０Ｖより大きく且つ第１のＬｏｗ判定基準値よりも低い所定の電圧値が、第２のＬｏｗ判定基準値として設定されている。
そして、交差電圧検出手段が、各データ入出力端子の電圧が一致したときの電圧であって、且つ、該電圧が第２のＬｏｗ判定基準値より低くない場合に、該電圧を交差電圧として検出し、回路定数変化手段が、その交差電圧検出手段により検出された交差電圧が、第１のＬｏｗ判定基準値以上において予め設定された交差電圧許容範囲内となるように、当該ＵＳＢデバイス内の回路定数を変化させる。
【００２３】
交差電圧許容範囲は、例えば従来技術の欄で説明した許容範囲（図７の例では０．８Ｖ以上の範囲、或いは０．８Ｖ〜２Ｖの範囲）のように少なくともＥＯＰと判断される電圧範囲より高い範囲に設定するなど、交差電圧値に起因する問題が生じることのない範囲内で適宜設定すればいい。
【００２４】
そして、交差電圧検出手段によって実際に検出された交差電圧が、交差電圧許容範囲を外れていた場合は、ＵＳＢデバイス内の回路定数を変化させることによって、交差電圧許容範囲内に収まるようにするのである。そのため、ホストコンピュータとのデータ通信において、エラー発生頻度を抑え、データ転送速度の低下を防ぐことができる。また、エラー発生頻度が抑制されることで、エラー検知すり抜けによるデータ化けの発生も抑制できる。
【００２５】
ここで、回路定数変化手段によって、交差電圧が具体的に交差電圧許容範囲内におけるどの程度の値になるようにするかは、適宜決めることができる。しかし、ただ単に、交差電圧許容範囲内にありさえすればどの値でもよくて、交差電圧許容範囲を外れたときにだけ、回路定数を変化させて交差電圧が許容範囲内になるようにする、というように、いわば「異常が生じた後にその対策を施す」というのでは、エラー発生を十分に抑制することはできない。
【００２６】
そこで、回路定数変化手段は、より好ましくは、例えば請求項２に記載したように、交差電圧検出手段にて検出された交差電圧と交差電圧許容範囲内における所定の基準電圧とを比較し、該比較結果に基づいて、交差電圧が基準電圧と一致するように回路定数を変化させるようにするとよい。
【００２７】
所定の基準電圧は、交差電圧許容範囲内における任意の値に設定することができるが、例えば各データ入力端子の電圧振幅の略中間値（図７の例では約１．５Ｖ、つまり正常時の交差電圧値）、換言すれば、交差電圧許容範囲の上限値或いは下限値からなるべく離れた値に設定するのが望ましい。
【００２８】
つまり、請求項２記載の発明では、交差電圧がただ単にその許容範囲内にあればそれでいい（許容範囲を外れたら回路定数を変化させる）というのではなく、許容範囲内であってもさらにその中の基準電圧に一致するように回路定数を変化させるのである。そのため、エラー発生をより確実に防ぐことができる。
【００２９】
また、回路定数変化手段が変化させる回路定数としては、その回路定数を変化させることによって交差電圧が変化するものであれば何でもよいのだが、例えば請求項３記載したように、プルアップ抵抗の抵抗値を変化させるようにするとよい。この場合、具体的には、交差電圧検出手段にて検出された交差電圧が上記基準電圧より低いときはプルアップ抵抗の抵抗値を減少させ、該交差電圧が基準電圧より高いときは同抵抗値を増加させる。
【００３０】
即ち、プルアップ抵抗値が減少すれば、プルアップ抵抗での電圧降下も減少するため、プルアップ抵抗が接続されたデータ入出力端子の電圧はよりプルアップ電源電圧に近い値に上昇する。一方、プルアップ抵抗値が増加すれば、プルアップ抵抗での電圧降下も増加するため、その分、プルアップ抵抗が接続されたデータ入出力端子の電圧は減少する。
【００３１】
このように、プルアップ抵抗の抵抗値を変化させることによって、プルアップ抵抗が接続されたいずれか一方のデータ入出力端子の電圧が変化するため、結果として交差電圧を変化させることができるのである。
ところで、上記説明した請求項１〜３記載の発明では、交差電圧検出手段により検出された交差電圧がその許容範囲内になるようにするための具体的手法として、ＵＳＢデバイス内の回路定数を変化させるようにしたが、回路定数を変化させることに限らず、例えば請求項４に記載したように、プルアップ電源の電圧を変化させるようにしてもよい。
【００３２】
その場合、具体的には、例えば請求項５に記載のように、プルアップ電源変化手段が、交差電圧検出手段にて検出された交差電圧と交差電圧許容範囲内における所定の基準電圧とを比較し、該交差電圧が基準電圧より低いときはプルアップ電源の電圧を増加させ、該交差電圧が基準電圧より高いときはプルアップ電源の電圧を減少させるようにすればいい。
【００３３】
つまり、プルアップ電源電圧を変化させるということは、プルアップ抵抗が接続されたデータ入出力端子の電圧が変化するということであり、延いては交差電圧が変化することにつながる。そのため、このようにプルアップ電源電圧を変化させる方法によっても、回路定数を変化させる方法と同様の効果が得られる。
【００３４】
そして、交差電圧検出手段による交差電圧の具体的検出方法としては、種々の方法が考えられるが、例えば請求項６に記載のように、交差電圧検出手段は、各データ入出力端子の電位差を検出する差動電圧検出手段と、該差動電圧検出手段により検出される電位差が略０のときの、いずれかのデータ入出力端子の電圧を交差電圧として検出するデータ線電圧検出手段と、各データ入出力端子の電圧がいずれも、第２のＬｏｗ判定基準値より低いか否かを判断するＬレベル判断手段と、Ｌレベル判断手段にて各データ入出力端子の電圧がいずれも第２のＬｏｗ判定基準値より低いと判断されている間は、データ線電圧検出手段による交差電圧の検出を停止させる検出停止手段と、を備えたものとして構成するとよい。
【００３５】
各データ入出力端子の電位差が略０ということは、即ち、各データ入出力端子の電圧が一致したということであって、そのことをもって、その電圧を交差電圧として検出できるのである。
但し、各データ入出力端子の電位差が略０となったからといって、そのときの電圧が必ずしも交差電圧であるとは限らない。なぜなら、各データ入出力端子がいずれもＬｏｗとなったときにＥＯＰと判断される（図７参照）ことは既に述べた通りだが、このＥＯＰの場合も、各データ入出力端子の電位差が略０であるからである。そのため、ＥＯＰのように各データ入出力端子がいずれもＬｏｗとなる場合についても交差電圧として扱うと、異常でないにも関わらず回路定数あるいはプルアップ電源電圧が変化してしまうという誤動作を招くことになる。
【００３６】
そこで、このような事態が生じるのを防ぐために、Ｌレベル判断手段が、各データ入出力端子の電圧がいずれも、第２のＬｏｗ判定基準値より低いか否かを判断して、各データ入出力端子の電圧がいずれも第２のＬｏｗ判定基準値より低いと判断されている間は、検出停止手段が、データ線電圧検出手段による交差電圧の検出を停止させるようにするとよい。
【００３７】
このようにすれば、ＥＯＰの状態を交差電圧として検出してしまうといった誤検出を防ぐことができ、交差電圧検出手段による検出をより確実に行うことができる。
【００３８】
【発明の実施の形態】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
図１は、本実施形態の、ＵＳＢデバイスとしてのプリンタがＰＣと接続されたシステムの概略構成を示すブロック図である。図１のシステムにおいて、ホストコンピュータとしてのＰＣ５２及びＵＳＢケーブル５３はいずれも、図５で説明した従来のシステムと全く同様であるため、これらについては図５と同じ符号を付し、その説明を省略する。
【００３９】
また、プリンタ１において、ＵＳＢコネクタ５９（データ入出力端子としてのＤ＋端子５９ａ及びＤ−端子５９ｂを備える）、ＵＳＢトランシーバ５５、コントローラ５６及びプリンタエンジン５７については、いずれも図５で説明したプリンタ５１と全く同様のものであるため、これらについても図５と同じ符号を付し、その説明を省略する。
【００４０】
そして、本実施形態のプリンタ１が従来のプリンタ５１と異なるのは、Ｄ＋ライン６３及びＤ−ライン６４の各電圧値に基づいて所定の機能を実行するプルアップ制御装置１０が設けられていることと、Ｄ＋ライン６３に接続されたプルアップ抵抗Ｒpu１が、プルアップ制御装置１０から出力されるプルアップコントロール信号Ｖcon に基づいて抵抗値が変化するよう構成されたものであることである。
【００４１】
尚、プルアップ抵抗Ｒpu１に印加されているプルアップ電源も、図５と同様、定電圧３．０〜３．６Ｖである。また、本実施形態においても、プリンタ１とＰＣ５２との間のデータ送受信は、図７に示したようにＤ＋ライン６３とＤ−ライン６４との差動信号により行われる。
【００４２】
以下、図２に基づいて、プルアップ抵抗Ｒpu１及びプルアップ制御装置１０の内部構成について説明する。図２（ａ）は、プルアップ抵抗Ｒpu１の概略構成をを表し、図２（ｂ）は、プルアップ制御装置１０の概略構成を表している。
図２（ａ）に示す如く、本実施形態のプルアップ抵抗Ｒpu１は、抵抗Ｒ０と、ベースにプルアップ制御装置１０からのプルアップコントロール信号Ｖcon が入力され、コレクタがプルアップ電源（３．０〜３．６Ｖ）に接続され、エミッタが抵抗Ｒ０に接続されたＮＰＮ型のトランジスタＴＲとから構成されるものである。そして、このプルアップ抵抗Ｒpu１の抵抗値（以下単に「プルアップ抵抗値」という）ｒpuは、トランジスタＴＲのエミッタ−コレクタ間抵抗値ｒceと抵抗Ｒ０の抵抗値ｒ0とを合計したものとなる。
【００４３】
そして、後述するように、プルアップ制御装置１０からは、交差電圧Ｖcrが所定の基準電圧（本実施形態では１．５Ｖ）のときに、５Ｖのプルアップコントロール信号Ｖcon が出力されるよう構成されており、その場合に、プルアップ抵抗値ｒpu（＝ｒce＋ｒ0 ）がＵＳＢ規定の１．５ｋΩとなる。そのため、本実施形態では、プルアップコントロール信号Ｖcon を適宜変化させることにより、プルアップ抵抗値ｒpuを変化させるようにしている。尚、本実施形態でも、交差電圧Ｖcrの許容範囲が０．８〜２Ｖと設定されており、交差電圧Ｖcrがこの許容範囲を下回ると、各データライン６３，６４が共にＬｏｗと判断されてＥＯＰが誤検出される。
【００４４】
次に、本実施形態のプルアップ制御装置１０について、図２（ｂ）及び図３に基づいて説明する。図３は、プルアップ制御装置１０内部における各部位の出力値の変化及びそれに応じてプルアップ抵抗値ｒpuが変化することを説明するための説明図である。
【００４５】
図２（ｂ）に示す如く、本実施形態のプルアップ制御装置１０では、Ｄ＋ライン６３とＤ−ライン６４の差電圧が第１差動増幅回路１１にて増幅・出力（差動出力）される。この第１差動増幅回路１１は、５Ｖ飽和型の差動増幅回路であり、両ライン６３，６４間に僅かでも電位差が生じると、差動出力が５Ｖ又は−５Ｖに飽和する。より具体的には、図３に示すように、Ｄ＋ライン６３の電圧がＤ−ライン６４の電圧より高いときは５Ｖの差動出力、逆にＤ−ライン６４の電圧がＤ＋ライン６３の電圧より高くなると−５Ｖの差動出力となる。
【００４６】
そして、その差動出力が５Ｖから−５Ｖに変化（或いはその逆に変化）するタイミングを、エッジ検出回路１２が差動ゼロタイミングＡとして検出する。この検出は、Ｄ＋及びＤ−の両ライン６３，６４の電圧が一致して差動出力が０となるタイミングを検出するためのものであり、差動出力のエッジ変化を検出することにより行われる。
【００４７】
尚、このエッジ検出回路１２は、本来、Ｄ＋ライン６３とＤ−ライン６４の交差電圧Ｖcrのタイミング（各ライン６３，６４の電圧が電圧反転時に交差するタイミング）を検出するためのものであるが、差動出力のエッジを検出するという構成上、図３に示すように、両ライン６３，６４が共に０Ｖとなったときも差動ゼロタイミングＡとして検出される。また、両ライン６３，６４が共に０Ｖである間に、ノイズ等の影響により両ライン６３，６４間に電位差が生じると、エッジ検出回路１２ではそのタイミングも差動ゼロタイミングＡとして検出されてしまう。
【００４８】
そこで、本実施形態では、Ｄ＋ライン６３及びＤ−ライン６４が共に０Ｖとなるタイミング・期間をマスク信号Ｂとして検出し、マスク回路１３が、このマスク信号Ｂに基づいて、エッジ検出回路１２からの差動ゼロタイミングＡのうち本来検出すべき交差電圧Ｖcrのタイミングのみを、ラッチ信号Ｃとして出力するようにしている。
【００４９】
マスク信号Ｂを生成するための具体的構成は以下の通りである。即ち、Ｄ＋ライン６３の電圧がＬｏｗのときにＨｉｇｈレベルの論理出力を行うＬｏｗ検出回路１４と、同様にＤ−ライン６４の電圧がＬｏｗのときにＨｉｇｈレベルの論理出力を行うＬｏｗ検出回路１５とを備えており、各Ｌｏｗ検出回路１４，１５の出力がＡＮＤゲート１６に入力される。
【００５０】
そのため、各データライン６３，６４がいずれもＬｏｗとなったときに（図３では時刻ｔ４）、ＡＮＤゲート１６の出力（つまりマスク信号Ｂ）がＨｉｇｈとなってマスク回路１３に入力されることになる。尚、差動ゼロタイミングＡ、マスク信号Ｂ及びラッチ信号Ｃの関係を論理演算式で表すと、
【数１】
Ｃ＝Ａ・Ｂ
となる。これにより、図３において、エッジ検出回路１２の出力（差動ゼロタイミングＡ）のうち、時刻ｔ４以降の出力を除いたものが、ラッチ信号Ｃとしてラッチ１７へ出力されることになる。
【００５１】
尚、各Ｌｏｗ検出回路１４，１５は、例えばＴＴＬやＣＭＯＳ等によるインバータにて構成したり、或いは、コンパレータを用いた構成にするなど、Ｌｏｗ検出できる限り種々の構成を採りうる。また、これらＬｏｗ検出回路１４，１５におけるＬｏｗ検出の基準となる電圧値（本発明の第２のＬｏｗ判定基準値に相当）は、例えば０．５Ｖ以下或いはそれより低い範囲に設定するなど、ＵＳＢトランシーバ５５内にてＬｏｗと検出される電圧の上限値（本例では０．８Ｖ）よりもできる限り低い値に設定するのが望ましい。
【００５２】
そして、ラッチ１７では、Ｄ＋ライン６３の電圧を、ラッチ信号Ｃのタイミング毎にラッチし、ラッチ電圧（つまり交差電圧Ｖcr）として第２差動増幅回路１８へ出力する。そのため、図３に示すように、時刻ｔ１では交差電圧Ｖcrとして１．３Ｖがラッチされ、時刻ｔ２では交差電圧Ｖcrとして１．６Ｖがラッチされ、時刻ｔ３では交差電圧Ｖcrとして１．５Ｖがラッチされる。
【００５３】
つまり、Ｄ＋ライン６３とＤ−ライン６４の各電圧変化が交差するタイミング毎に、そのときの交差電圧Ｖcrが第２差動増幅回路１８に入力されるのである。尚、ラッチ１７としては、例えば、任意のタイミングにおけるアナログ電圧を保持するための周知のサンプル・アンド・ホールド回路を用いるなど、ラッチ信号ＣのタイミングでＤ＋ライン６３の電圧をラッチ・保持できるものであれば何でもよい。
【００５４】
第２差動増幅回路１８は、ラッチ１７からのラッチ電圧（交差電圧Ｖcr）と基準電圧Ｖref との差（本実施形態では、Ｖref −Ｖcr）を増幅して出力するものである。この第２差動増幅回路１８は、第１差動増幅回路１１のような飽和型のものではなく、所定の増幅度にて両者の差に比例した電圧を出力するよう構成されたものである。そして、基準電圧Ｖref は、本実施形態では、各データライン６３，６４の電圧振幅の中間値である１．５Ｖとしている。
【００５５】
そのため、第２差動増幅回路１８からの具体的出力例としては、図３に示す如く、交差電圧Ｖcr＝１．３Ｖがラッチされた時刻ｔ１以降はＶａ（ただしＶａ＞０）、交差電圧Ｖcr＝１．６Ｖがラッチされた時刻ｔ２以降はＶｂ（ただしＶｂ＜０）、交差電圧Ｖcr＝１．５Ｖがラッチされた時刻ｔ３以降は０となる。
【００５６】
そして、第２差動増幅回路１８からの出力は積分器１９にて積分され、その積分値が加算回路２０へ入力される。積分器１９からの具体的出力例は、図３に示す通りである。加算回路２０では、積分器１９の出力と定電圧５Ｖとの加算が行われ、その加算結果が、プルアップコントロール信号Ｖcon としてプルアップ抵抗Ｒpu１へ出力される。
【００５７】
そのため、積分器１９の出力が０のときは定電圧５Ｖがそのままプルアップコントロール信号Ｖcon として出力され、プルアップ抵抗値ｒpuはＵＳＢ規定の１．５ｋΩとなるのだが、積分器１９から何らかの電圧出力がなされると、その出力値に応じてプルアップコントロール信号Ｖcon も変化することになり、プルアップ抵抗値ｒpuが１．５ｋΩから増・減することになる。
【００５８】
図３の例では、時刻ｔ１でラッチされた交差電圧Ｖcrが１．３Ｖと、基準電圧Ｖref （１．５Ｖ）より０．２Ｖ低くて第２差動増幅回路１８からＶａの差動電圧出力があったたため、それが積分器１９にて積分され、プルアップコントロール信号Ｖcon も５Ｖより上昇していく。そのため、トランジスタＴＲのエミッタ−コレクタ間抵抗値ｒceが減少し、プルアップ抵抗値ｒpuが１．５ｋΩより低くなる。そのため、Ｄ＋ライン６３の電圧が上昇し、結果として交差電圧Ｖcrが上昇することになる。
【００５９】
続いて時刻ｔ２になると、基準電圧Ｖref より０．１Ｖ高い１．６Ｖの交差電圧Ｖcrがラッチされ、第２差動増幅回路１８からＶｂの差動電圧が出力される。これにより、時刻ｔ２以降、積分器１９の出力は徐々に減少していき、それに伴ってプルアップコントロール信号Ｖcon も減少していく。そのため、時刻ｔ１〜ｔ２の間とは逆に、プルアップ抵抗値ｒpuは増加に転じてＤ＋ライン６３の電圧が減少していき、結果として交差電圧Ｖcrも減少することになる。
【００６０】
そして、時刻ｔ３になって基準電圧Ｖref と同じ１．５Ｖがラッチされると、第２差動増幅回路１８からの差動電圧出力が０となり、積分器１９からの出力が一定となってプルアップ抵抗値ｒpuも一定となる。そのため、以後のプルアップ抵抗値ｒpuは、交差電圧Ｖcrが基準電圧Ｖref と一致したこの時刻ｔ３における抵抗値に固定されることになる。そして、何らかの要因で交差電圧Ｖcrが基準電圧Ｖref と一致しなくなった場合は、再び、上記説明したように基準電圧Ｖref に一致する方向にプルアップ抵抗値ｒpuを変化させる。
【００６１】
以上詳述したように、本実施形態のプリンタ１では、プルアップ制御装置１０が、交差電圧Ｖcrを検出して基準電圧Ｖref と比較し、交差電圧Ｖcrが基準電圧Ｖref と一致するようにプルアップコントロール信号Ｖcon を出力する。そして、このプルアップコントロール信号Ｖcon に基づいてプルアップ抵抗値ｒpuが変化し、最終的に、交差電圧Ｖcr＝基準電圧Ｖref （１．５Ｖ）となる抵抗値に収束していく。
【００６２】
つまり、交差電圧Ｖcrが常に基準電圧Ｖref となるようにプルアップ抵抗値ｒpuをコントロールするのである。これにより、交差電圧Ｖcrが許容範囲（本実施形態では０．８Ｖ〜２Ｖ）を下回って誤ってＥＯＰと判断されてしまうことによるデータ転送エラーの発生をほぼ完全に防ぐことができる。
【００６３】
またこれにより、エラー検知をすり抜けてデータ化けするといった事態の発生も抑制できるため、ＰＣ５２からの印字データに基づく印字出力を確実に行うことができる。
更に、本実施形態では、単にＤ＋ライン６３とＤ−ライン６４の電圧が一致したことのみをもってその電圧を交差電圧Ｖcrとするのではなく、マスク回路１３を設けることによって、例えば両データライン６３，６４が共に０ＶとなったＥＯＰの状態までを交差電圧として検出してしまうといった誤検出を防ぎ、真に検出すべき交差電圧Ｖcrのみを確実に検出できるようにしている。
【００６４】
尚、本実施形態において、第１差動増幅回路１１は本発明の差動電圧検出手段に相当し、マスク回路１３は本発明の検出停止手段に相当する。また、エッジ検出回路１２及びラッチ１７により本発明のデータ線電圧検出手段が構成され、各Ｌｏｗ検出回路１４，１５及びＡＮＤゲート１６により本発明のＬレベル判断手段が構成され、第２差動増幅回路１８，積分器１９及び加算回路２０により本発明の回路定数変化手段が構成される。
【００６５】
［第２実施形態］
図４に、本実施形態のプリンタ４０の概略構成を示す。図４に示す如く、本実施形態のプリンタ４０は、図示は省略したものの、第１実施形態と同様、ＰＣ５２とＵＳＢケーブル５３を介して接続されている。そして、ＵＳＢケーブル５３が接続されるＵＳＢコネクタ５９、ＵＳＢトランシーバ５５、コントローラ５６、プリンタエンジン５７及びプルアップ制御装置１０については、図１に示した第１実施形態のプリンタ１と全く同様である。そのため、これら図１と同じ構成要素には図１と同じ符号を付し、その説明を省略する。
【００６６】
そして、本実施形態が第１実施形態と異なる点は主として２つあり、一つは、プルアップ抵抗Ｒpu0 が抵抗値固定の固定抵抗であること、もう一つは、プルアップ電源電圧が定電圧（第１実施形態では３．０〜３．６Ｖ固定）ではなく変化可能ということである。
【００６７】
そのため、プルアップ抵抗Ｒpu0 には、可変定電圧電源回路４１からの電圧が印加されている。そして、この可変定電圧電源回路４１からの出力電圧は、プルアップ制御装置１０からのプルアップコントロール信号Ｖcon により制御される。
【００６８】
即ち、可変定電圧電源回路４１は、図示しない定電圧電源装置からの定電圧５Ｖを、プルアップコントロール信号Ｖcon に従って所定のプルアップ電源電圧に変換して出力するものであり、プルアップコントロール信号Ｖcon が５Ｖのとき（つまり、積分器１９の出力が０のとき）にＵＳＢ規格である３．０〜３．６Ｖが出力されるように構成されている。そして、プルアップコントロール信号Ｖcon が５Ｖから変化すると、その変化に応じてプルアップ電源も変化する。
【００６９】
より具体的には、交差電圧Ｖcrが基準電圧Ｖref より低くなって積分器１９の出力が増加すると、それに伴ってプルアップコントロール信号Ｖcon （つまり加算回路２０の出力）も５Ｖから増加していく。これを受けて可変定電圧電源回路４１では、プルアップ電源電圧を上昇させる。一方、交差電圧Ｖcrが基準電圧Ｖref より高くなって積分器１９の出力が減少すると、それに伴ってプルアップコントロール信号Ｖcon も減少していき、これを受けて可変定電圧電源回路４１では、プルアップ電源電圧を減少させることになる。
【００７０】
つまり、第１実施形態ではプルアップ抵抗値ｒpuを変化させることで交差電圧Ｖcrを変化させるようにしたのに対し、本実施形態では、プルアップ抵抗値自体は変化させず、プルアップ電源電圧を変化させることによって、交差電圧Ｖcrを基準電圧Ｖref に一致させるのである。そのため、本実施形態のプリンタ１によっても、第１実施形態とほぼ同等の効果を得ることができる。尚、本実施形態では、プルアップ制御装置１０内の第２差動増幅回路、積分器１９、加算回路２０及び可変定電圧電源回路４１により、本発明のプルアップ電源変化手段が構成されることになる。
【００７１】
尚、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
例えば、上記第１実施形態では、プルアップ抵抗値ｒpuを、プルアップコントロール信号Ｖcon に基づいてリニアに変化させるようにしたが、段階的に変化させるようにしてもよく、結果的に交差電圧Ｖcrが基準電圧Ｖref に一致すればよい。また、プルアップ抵抗Ｒpu１についても、上記第１実施形態では、固定抵抗Ｒ０とトランジスタＴＲとで構成し、トランジスタＴＲのベース入力を変化させるることによりプルアップ抵抗値ｒpuを変化させるようにしたが、これに限らず、例えば一般的な可変抵抗器を直接操作して抵抗値を変化させるような構成にするなど、プルアップ抵抗値を変化できる限り種々の構成を採りうる。
【００７２】
更に、上記実施形態では、プルアップ制御装置１０において、ラッチ１７が、Ｄ＋ライン６３の電圧をラッチするようにしたが、Ｄ−ライン６４の電圧をラッチしてもいいことはいうまでもない。
更にまた、上記第１実施形態では、回路定数としてプルアップ抵抗Ｒpu１の抵抗値を変化させるようにしたが、これに限らず、例えばＵＳＢトランシーバ５５内部の回路定数を変化させてもよく、結果として交差電圧Ｖcrを基準電圧Ｖref に一致するよう変化させることができる回路定数である限り特に限定されない。
【図面の簡単な説明】
【図１】  第１本実施形態の、ＵＳＢデバイス（プリンタ）がＰＣと接続されたシステムの概略構成を示すブロック図である。
【図２】  第１本実施形態のプルアップ抵抗及びプルアップ制御装置を説明するための説明図であり、（ａ）はプルアップ抵抗の概略構成、（ｂ）はプルアップ制御装置１０の概略構成を、それぞれ表す。
【図３】  プルアップ制御装置内部における各部位の出力値の変化及びそれに応じてプルアップ抵抗値ｒpuが変化することを説明するための説明図である。
【図４】  第２実施形態のプリンタの概略構成を示すブロック図である。
【図５】  従来の、ＵＳＢデバイス（プリンタ）がＰＣと接続されたシステムの概略構成を示すブロック図である。
【図６】  ＵＳＢケーブルの概略構成を示す説明図である。
【図７】  データ転送の際のＤ＋ラインとＤ−ラインの電圧変化を説明するための説明図である。
【符号の説明】
１，４０，５１…プリンタ、１０…プルアップ制御装置、１１…第１差動増幅回路、１２…エッジ検出回路、１３…マスク回路、１４，１５…Ｌｏｗ検出回路、１６…ＡＮＤゲート、１７…ラッチ、１８…第２差動増幅回路、１９…積分器、２０…加算回路、４１…可変定電圧電源回路、５３…ＵＳＢケーブル、５５，５８…ＵＳＢトランシーバ、５６…コントローラ、５７…プリンタエンジン、５９，６０…ＵＳＢコネクタ、５９ａ，６０ａ…Ｄ＋端子、５９ｂ，６０ｂ…Ｄ−端子、６１…電源ライン、６２…グランドライン、６３…Ｄ＋ライン、６４…Ｄ−ライン、Ｒpu１，Ｒpu0 …プルアップ抵抗、Ｒ０…抵抗、Ｒｐｄ…プルダウン抵抗、ＴＲ…トランジスタ
【図１】
0004254108.tif 000002
【図２】
0004254108.tif 000003
【図３】
0004254108.tif 000004
【図４】
0004254108.tif 000005
【図５】
0004254108.tif 000006
【図６】
0004254108.tif 000007
【図７】
0004254108.tif 000008