説明

通信デバイスおよび通信システム

【課題】通信ホストへの通信デバイスの接続時における、誤認識によるエラーの発生を防止する通信デバイスおよび通信システムを提供する。
【解決手段】第1基準電圧端子である第1の端子、第2基準電圧端子である第2の端子、ならびに、信号端子である第3の端子および第4の端子を介して、通信ホストと接続される通信デバイスであって、第3の端子および第4の端子をドライブするドライバと、第1の端子の電圧を基準として第2の端子の電圧を監視することによって、通信ホストとの接続を検知する検知回路と、検知回路が通信ホストとの接続を検知したときに、所定の期間だけ第3の端子および第4の端子を、それぞれの所定のレベルにドライブするようにドライバを制御する制御回路とを備えることにより、上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電源線および少なくとも2本の信号線を有し、差動伝送を行う活線挿抜可能な通信デバイスおよび通信システムに関するものである。
【背景技術】
【0002】
通信ホストと通信デバイスから構成され、差動伝送を行う通信システムであって、プラグ&プレイおよびホットプラグ(活線挿抜、ホットスワップともいう)に対応したインタフェース方式の一種として、USB(Universal Serial Bus)が広く用いられている。USBを利用した通信システム(USBシステム)では、USBデバイス(通信デバイス)とUSBホスト(通信ホスト)との間は、直接もしくはケーブル等を介して、電源線VBUS、グランド線GNDおよび差動信号線D+,D−によって接続される。USB2.0の規格には、ハイスピード(480Mbps:以下、HSという)、フルスピード(12Mbps:以下、FSという)、およびロースピード(1.5Mbps:以下、LSという)の3種類の転送モードがある。
【0003】
例えば、USBデバイスをUSBホストに接続(装着)するときには、USBデバイスの2本の信号線であるD+端子またはD−端子の、どちらがプルアップされているかによって、これらのモードが、USBホストにより識別される。具体的には、USBデバイスにおいて、HSまたはFSモードではD+端子がプルアップされ、LSではD−端子がプルアップされる(特許文献1参照)。
【0004】
ここで、USBホストとUSBデバイス(HSまたはFSモード)との接続例を図4に示す。
USBデバイス100は、差動信号を送受信するフィジカルレイヤ(物理層、以下、PHYともいう)102において、D+端子をプルアップするプルアップ抵抗104、VBUS、D+、D−、およびGNDの各端子を有するUSBコネクタ106を有する。
USBホスト110は、フィジカルレイヤ112において、D+端子およびD−端子をプルダウンするプルダウン抵抗114,116、USBコネクタ118を有する。
USBデバイス100とUSBホスト110は、USBコネクタ106,118がUSBケーブル120を介して接続されている。
このように、図4に示す接続例では、プルアップ抵抗104によりUSBデバイスのD+端子がプルアップされ、HS/FSモードとなっている。
【0005】
ここで、正常動作の場合の接続時のタイミングチャートを図5に示す。なお、GND端子は全てのタイミングチャートにおいて0Vであるため省略している。
USBデバイス100の接続時には、まず、活線挿抜を実現するためにコネクタ内でD+端子およびD−端子よりも長くなっている(つまり、先に接触する)、VBUSおよびGND端子がUSBホストとUSBデバイスとの間で接続される。
VBUS端子およびGND端子が、USBホストとUSBデバイスとの間で接続されると、USBデバイス100は電源投入(バスパワード機器)またはVBUS検知(セルフパワード機器)のシーケンスを経て、転送モード識別のために、D+端子がプルアップ抵抗104(1.5kΩ)でプルアップされる。
その後、D+端子およびD−端子が、USBホストとUSBデバイスとの間で接続され、USBホスト110のプルダウン抵抗114,116(15kΩ)によってプルダウンされる。従って、D+端子が“H”レベル、D−端子が“L”レベルとなり、USBホストにより転送モードはHS/FSモードであると識別される。
【0006】
ここで、USBデバイスのD−端子に注目すると、VBUSおよびGND端子がUSBホストとUSBデバイスとの間で接続されてから、D−端子が接続されてUSBホスト側でプルダウンされるまでの期間は、D−端子はフローティング状態である。
【0007】
ところで、USBデバイスをUSBホストに接続する際に、接続されたUSBデバイスをUSBホストが認識できない場合がある。この様な現象は、例えば、USBデバイスが接続されたUSBケーブルをUSBホストに接続する場合、USBケーブル付のUSBデバイスをUSBホストに接続する場合、およびUSBメモリ等のUSBデバイスを直接USBホストに接続する場合等に発生することがある。
【0008】
この様な現象が生じる理由を、図6に示す従来のUSBデバイスの接続時の、誤認識が発生する場合のタイミングチャートで説明する。
USBデバイスの接続時には、上記の正常動作の場合と同様に、VBUSおよびGND端子が、USBホストとUSBデバイスとの間で接続され、D+端子がプルアップされる。このとき、USBデバイスのD−端子は、USBホストのD−端子に接続されるまでは、他の3端子(VBUS,GND,D+)がUSBホストとUSBデバイスとの間で接続済みであったとしても、フローティング状態である。
このように、USBデバイスにおいて、D−端子がフローティング状態であるときに、D+端子がプルアップされることで信号遷移(フローティング→“H”レベル(3.3V))が起きると、USBデバイスの基板上やUSBケーブル上で近接する信号線(D+,D−)間の容量性カップリングにより、フローティングであるD−端子の信号レベルが、図6のXに示すように、D+端子の信号遷移に近い信号遷移(フローティング→“H”レベル)を起こしてしまう場合がある。
【0009】
この現象が発生すると、USBホストとUSBデバイスとの間でD+,D−端子が接続された瞬間に、USBホストのD−端子に図6のYに示すような、D+端子に近い電圧(約3.0V)が現れる。
さらに、端子接続時には接続ノイズが発生することから、D−端子接続時にD+およびD−端子の電圧が、過渡的にD+<D−となる期間が現れる場合がある。これに伴ない、図6に示すタイミングチャートのように、D+端子とD−端子の接続に時間差があり、D+端子が先に接続された場合、“JKK”という信号論理がUSBホストに入力される可能性がある。ここで、“J”および“K”は動作クロック毎の差動信号線D+,D−の論理状態を表し、“J”はハイレベル(D+>D−)、“K”はローレベル(D+<D−)を意味する。
具体的には、先にD+端子が接続された状態で“J”論理となり、その後D−端子が接続されて“K”論理となることで、差動信号線D+,D−の3クロックの期間の論理状態が“JKK”となる。
【0010】
この“JKK”という信号論理は、FSモードにおける通信パケットの先頭データであるSYNCパターン(“KJKJKJKK”)の末尾と一致するため、USBホストが上記の“JKK”を受信パケットと誤認識してしまい、USBホストのPHYでは受信エラーが発生する。
USBホストが、この受信エラーが発生しても次のシーケンスに移行できるものであれば問題ないが、USBホストのコントローラの仕様によっては、PHYからコントローラに受信エラーの発生が伝わらず、何が接続されたか認識できなかったり、コントローラが初期状態のまま停止してしまうものもある。
この場合、何らかの手段、例えば、人為的にUSBホストを再起動する等により回復させるか、または、USBホストのUSBコネクタから、USBケーブルを抜き差しすることで回復させる必要がある。
【0011】
例えば、特許文献2では、転送データのフレームに含まれるSOFパケットを監視して、2本のデータ線に接続されているプルアップ抵抗、および終端抵抗の接続/非接続を切り替えることで擬似的な非接続状態を作り出し、ケーブルの抜き差しを行うことなくUSBホスト−USBデバイス間の通信のリセットを行って、自動的に通信を回復するプリンタが開示されている。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2000−330926号公報
【特許文献2】特開2006−171868号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、USBホストを再起動することや、USBケーブルを抜き差しすることは、余計な時間や手間を伴う非効率的な操作が必要となってしまう。
また、特許文献2に記載のプリンタでは、USBホストへのUSBデバイスの接続時におけるエラーについて考慮されておらず、何が接続されたか認識できなかったり、コントローラが初期状態のまま停止してしまうことを想定していない。さらに、2本のデータ線に接続されているプルアップ抵抗、および終端抵抗の接続/非接続を切り替えるためのスイッチや、制御回路等が必要であり構成が複雑なものとなっている。
【0014】
本発明の目的は、通信ホストへの通信デバイスの接続時における、誤認識によるエラーの発生を防止する通信デバイスおよび通信システムを提供することにある。
【課題を解決するための手段】
【0015】
上記課題を解決するために、本発明は、第1基準電圧端子である第1の端子、第2基準電圧端子である第2の端子、ならびに、信号端子である第3の端子および第4の端子を介して、通信ホストと接続される通信デバイスであって、前記第3の端子および第4の端子をドライブするドライバと、前記第1の端子の電圧を基準として前記第2の端子の電圧を監視することによって、前記通信ホストとの接続を検知する検知回路と、前記検知回路が前記通信ホストとの接続を検知したときに、所定の期間だけ前記第3の端子および第4の端子を、それぞれの所定のレベルにドライブするように前記ドライバを制御する制御回路と、を備えることを特徴とする通信デバイスを提供する。
【0016】
また、上記課題を解決するために、本発明は、上記に記載の通信デバイスと、上記に記載の通信ホストとを有する通信システムであって、前記通信ホストは、前記通信デバイスが接続されたときに、前記通信ホストの第1の端子の電圧を基準として第2の端子から前記通信デバイスの第2の端子に所定の電圧を供給するとともに、第3の端子および第4の端子の電位の変化を検知することを特徴とする通信システムを提供する。
【0017】
また、前記通信システムはUSBシステム、前記通信ホストはUSBホスト、前記通信デバイスはUSBデバイスであり、前記第1の端子がグランド端子、前記第2の端子が電源端子、前記第3の端子および第4の端子が差動信号端子であることが好ましい。
【発明の効果】
【0018】
本発明によれば、一定期間、信号線をアクティブにドライブ(駆動)して、通信ホストへの通信デバイス接続時の信号を安定化させることで、当該接続時に発生する誤認識の発生確率を激減させることができる。
さらに、通信の回復のための余計な時間や手間を伴う非効率な操作を、不要とすることができる。
【図面の簡単な説明】
【0019】
【図1】本発明に係るUSBデバイスを示すブロック図である。
【図2】図1のブロック図の一部を、より詳細に表す回路図である。
【図3】本発明に係るUSBデバイスの接続時のタイミングチャートである。
【図4】USBホストとUSBデバイスとの一般的な接続例を示す図である。
【図5】従来のUSBデバイスの接続時の正常なタイミングチャートである。
【図6】従来のUSBデバイスの接続時の、誤認識が発生する場合のタイミングチャートである。
【発明を実施するための形態】
【0020】
本発明に係る通信システムであるUSBシステムを、添付の図面に示す好適実施形態に基づいて以下に詳細に説明する。
【0021】
図示を省略するが、本実施形態に係るUSBシステムは、図4に示すUSBシステムの場合と同様に、USBホストと、USBデバイスとによって構成される。USBホストおよびUSBデバイスは、それぞれ、VBUS端子(第2基準電圧端子である第2の端子)、GND端子(第1基準電圧端子である第1の端子)、およびD+,D−端子(信号端子である第3の端子および第4の端子)を有するUSBコネクタを備え、両者の接続時には、各々対応する端子同士が、直接に、またはUSBケーブル等を介して互いに接続される。
USBホストでは、同じく図4に示すように、D+端子およびD−端子が、それぞれ、プルダウン抵抗(15kΩ)によりプルダウンされている。
一方、USBデバイスは、転送モードに応じて、D+端子もしくはD−端子のいずれか一方がプルアップ抵抗(1.5kΩ)によりプルアップされる。以下、D+端子をプルアップしてHS/FSモードに設定されたUSBデバイスを例に挙げて説明する。
【0022】
図1は、本発明に係るUSBデバイスの構成を表す一実施形態のブロック図である。
図1に示すUSBデバイス10は、VBUS検出器12、ディファレンシャルドライバ制御回路16、およびディファレンシャルドライバ/レシーバ18によって構成される。ディファレンシャルドライバ制御回路16、およびディファレンシャルドライバ/レシーバ18は、PHY(フィジカルレイヤ)14によって実装されている。
【0023】
VBUS検出器12は、通信ホストとの接続を検知する検知回路であり、図示しないUSBホストにUSBデバイス10が接続されたときに、セルフパワード機器の場合には、VBUS端子20の電圧が規定の電圧(5V)になったことを検出すると、VBUS検出信号(“H”レベル)を生成して出力する。また、バスパワード機器においては、VBUSから電源が供給され、動作状態になってから、VBUS検出信号(“H”レベル)を生成して出力する。
【0024】
ディファレンシャルドライバ制御回路16は、VBUS検知器12がUSBホストとの接続を検知して“H”レベルのVBUS検知信号が出力されたときに、所定の時間だけD+,D−端子を、それぞれ所定のレベル、例えば本実施形態の場合、それぞれ“H”レベルおよび“L”レベルにドライブするように、後述するディファレンシャルドライバ/レシーバ18のドライバを制御する。
ディファレンシャルドライバ制御回路16は、図2に示すように、遅延回路30、ANDゲート32,36、インバータ34、およびORゲート38によって構成される。
ディファレンシャルドライバ制御回路16には、VBUS検出器12から出力されたVBUS検出信号が入力される。入力されたVBUS検出信号は、ANDゲート32と遅延回路30に入力される。遅延回路30からは、VBUS検出信号が所定の時間だけ遅延されて反転された信号が出力され、ANDゲート32に入力される。つまり、遅延回路30およびANDゲート32は、VBUS検出信号の立ち上がりを検出する立ち上がり検出回路であり、ANDゲート32の出力は、ディファレンシャルドライバ制御回路16にVBUS検出信号が入力されると、VBUS検出信号の立ち上がりのタイミングから、遅延回路30での遅延時間分だけ“H”レベルとなる。
【0025】
ANDゲート32の出力は、インバータ34で反転されてANDゲート36に入力されるとともに、ORゲート38に入力される。ANDゲート36には、通常動作時のイネーブル信号(通常のENL信号)が入力されており、インバータ34の出力および通常のENL信号の少なくとも一方が“L”レベルのときに、ANDゲート36の出力が“L”レベルとなる。つまり、ディファレンシャルドライバ制御回路16からイネーブル信号(ENL信号)が出力される。
【0026】
ORゲート38には、通常動作時のA信号(通常のA信号)が入力されており、ANDゲート32の出力および通常のA信号の少なくとも一方が“H”レベルのときに、ORゲート38の出力が“H”レベルとなる。つまり、ディファレンシャルドライバ制御回路16から出力データ(A信号)が出力される。
【0027】
ディファレンシャルドライバ/レシーバ18は、図2に示すように、ドライバ40、レシーバ42、およびプルアップ抵抗44によって構成されている。
ドライバ40には、ディファレンシャルドライバ制御回路16から、ENL信号および出力データ(A信号)が入力される。ドライバ40は、入力されたENL信号が“L”レベルのとき、A信号を差動信号として送信する。例えば、A信号が“H”レベルであれば、ENL信号が“L”レベルのとき、D+端子22からD+信号として“H”レベル、D−端子24からD−信号として“L”レベルが出力される。
【0028】
レシーバ42は、D+端子22、およびD−端子24から入力(受信)された差動信号を、入力データとして出力する。
【0029】
プルアップ抵抗44は、USBデバイスの転送モード識別のためのもので、D+端子22を1.5kΩでプルアップすることにより、HS/FSモードであることをUSBホスト側に知らせる。
なお、HSモードの場合には、初めにFSモードでUSBホストと接続し、その後、図示しないスイッチにより、D+端子22(D+信号線)からプルアップ抵抗44が切り離されて、HSモードに移行する。
【0030】
次に、本発明に係るUSBデバイス10の動作を説明する。
【0031】
図3に本発明に係るUSBデバイスの、接続時のタイミングチャートを示す。
図3に示すように、USBデバイス10がUSBホストに接続される前は、USBホストはVBUS端子が“H”レベル(5V)、D+およびD−端子は15kΩのプルダウン抵抗によりプルダウンされて“L”レベルである。また、USBデバイス10の各端子は、0V(フローティング(Hi−Z))である。
【0032】
USBデバイス10がUSBホストに接続されるとき、既に述べたとおり、USBコネクタの端子の長さの違いにより、まずVBUS端子20およびGND端子がUSBホストとUSBデバイスとの間で接続される。VBUS端子20およびGND端子が、USBホストとUSBデバイスとの間で接続されると、USBデバイス10のVBUS検出器12は、VBUS端子20が規定の電圧(5V)になったことを検出して、VBUS検出信号(“H”レベル)を出力する。また、転送モード識別のために、D+端子22がプルアップ抵抗44(1.5kΩ)でプルアップされて“H”レベルになる。
【0033】
VBUS検出信号がディファレンシャルドライバ制御回路16に入力されると、VBUS検出信号の立ち上がりのタイミングから、遅延回路30により設定された所定の時間だけ、ディファレンシャルドライバ制御回路16から出力されるENL信号が“L”レベルとなり、A信号が“H”レベルとなる。
【0034】
ここで、所定の時間とは次の範囲で決定される。
最小値は、信号線(D+,D−)が所望の電圧まで遷移するのに必要な時間(USB規格より、FSモードで20ns、LSモードで300ns)、つまり、HS/FSモードであるUSBデバイス10では、D+端子22が所望の電圧(3.3V)まで遷移するのに必要な時間(20ns)である。
最大値は、USBホストがUSBデバイス10を検知した後に、リセットコマンドを発行するまでの待ち時間(USB規格より、100ms)である。
【0035】
ENL信号およびA信号がディファレンシャルドライバ/レシーバ18に入力されると、ドライバ40によりD+端子22から“H”レベル、D−端子24から“L”レベルが出力される。このとき、D+端子22は既にプルアップ抵抗44によりプルアップされている。つまり、D+端子22は、プルアップ抵抗44およびドライバ40によるドライブによって“H”レベルとされ、D−端子24は、ドライバ40によるドライブによって“L”レベルとされる。
【0036】
遅延回路30で設定される所定の時間が経過した後、つまり、信号線(D+,D−)の容量性カップリングによる、D−端子24の過渡的な“H”レベルの出現可能性がほとんどなくなると(すなわち、D+端子22およびD−端子24の電圧が安定すると)、ドライバ40によるD+端子22およびD−端子24のドライブは終了する。
【0037】
次に、D+端子22およびD−端子24が、USBホストとUSBデバイスとの間で接続されると、D+端子22は、プルアップ抵抗44(1.5kΩ)、およびUSBホスト側のプルダウン抵抗114(15kΩ)の抵抗分割の比により、“H”レベル(3.0V)となる。また、D−端子24は、USBホスト側のプルダウン抵抗116(15kΩ)により“L”レベル(0V)となる。
【0038】
その後、D+端子22は、プルアップ抵抗44、およびUSBホスト側のプルダウン抵抗114(15kΩ)により“H”レベル(3.0V)が維持され、D−端子24は、USBホスト側のプルダウン抵抗116(15kΩ)により“L”レベル(0V)が維持され、USBホスト側で転送モードの識別が行われる。
【0039】
以上のように、D+端子22およびD−端子24がUSBホストと接続される前に、D+端子22が“H”レベルにドライブされ、D−端子24が“L”レベルにドライブされることにより、D−端子24よりもD+端子22が先に接続された場合であっても、USBホストへのUSBデバイス接続時の信号が安定化して“JKK”という信号論理がUSBホストに入力されることを防止し、USBホストのコントローラが初期状態のまま停止してしまうことを防止することができる。つまり、当該接続時に発生するD+,D−信号の不定状態を無くし、誤認識の発生確率を激減させることができる。
【0040】
なお、上記の実施形態では、USBデバイスのD+,D−端子がUSBホストに接続される前に、D+,D−端子のドライブを終了したが、USBデバイスのD+,D−端子がUSBホストに接続され、USBホストがUSBデバイスを検知した後、USBホストがUSB規格におけるリセットコマンド(D+,D−共に“L”レベル)を発行するまでに、すなわち、前記最大値以下の時間で、D+,D−端子のドライブを終了するようにしてもよい。
また、LSモードの場合には、論理を逆にしてD−端子に“H”レベルを出力するようにすればよい。
【0041】
さらに、上記の実施形態では、USBデバイスとUSBホストとが直接接続される場合(ケーブルを介する場合を含む。)について説明したが、USBデバイスとUSBホストとが、USBハブを介して接続される場合にも適用できる。
また、USB On−the−Go規格に対応した、USBホストとUSBデバイスの両方の機能を有するUSB機器でも同様に適用できる。
【0042】
その他にも、USBと同様の接続形態をとる規格や、USBを発展させた規格等の、活線挿抜可能な差動伝送(ディファレンシャル伝送)を行う通信システムにも適用することができる。
【0043】
以上、本発明に係る通信デバイスであるUSBデバイスについて詳細に説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、各種の改良や変更を行ってもよい。
【符号の説明】
【0044】
10 USBデバイス
12 VBUS検出器
14 PHY(フィジカルレイヤ)
16 ディファレンシャルドライバ制御回路
18 ディファレンシャルドライバ/レシーバ
20 VBUS端子
22 D+端子
24 D−端子
30 遅延回路
32,36 ANDゲート
34 インバータ
38 ORゲート
40 ドライバ
42 レシーバ
44 プルアップ抵抗

【特許請求の範囲】
【請求項1】
第1基準電圧端子である第1の端子、第2基準電圧端子である第2の端子、ならびに、信号端子である第3の端子および第4の端子を介して、通信ホストと接続される通信デバイスであって、
前記第3の端子および第4の端子をドライブするドライバと、
前記第1の端子の電圧を基準として前記第2の端子の電圧を監視することによって、前記通信ホストとの接続を検知する検知回路と、
前記検知回路が前記通信ホストとの接続を検知したときに、所定の期間だけ前記第3の端子および第4の端子を、それぞれの所定のレベルにドライブするように前記ドライバを制御する制御回路と、を備えることを特徴とする通信デバイス。
【請求項2】
請求項1に記載の通信デバイスと、請求項1に記載の通信ホストとを有する通信システムであって、
前記通信ホストは、前記通信デバイスが接続されたときに、前記通信ホストの第1の端子の電圧を基準として第2の端子から前記通信デバイスの第2の端子に所定の電圧を供給するとともに、第3の端子および第4の端子の電位の変化を検知することを特徴とする通信システム。
【請求項3】
前記通信システムはUSBシステム、前記通信ホストはUSBホスト、前記通信デバイスはUSBデバイスであり、
前記第1の端子がグランド端子、前記第2の端子が電源端子、前記第3の端子および第4の端子が差動信号端子であることを特徴とする請求項2に記載の通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate