以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.送信信号の信号特性
図1を用いてUSBでの送信信号の信号特性の劣化を説明する。図1は車載の電子機器のシステムの一例を示すものであり、ホストであるメインコントローラー200にはUSB−HUB210が接続される。例えばUSB−HUB210のアップストリームポートがメインコントローラー200に接続され、ダウンストリームポートには、SD211、BT212、DSRC213(Dedicated Short Range Communications)などのデバイスが接続される。SD211はSDカードの機器であり、BT212はブルートゥース(登録商標)の機器である。またケーブル224を有するケーブルハーネス220のUSBレセプタクル226には、スマートフォンなどの携帯型端末装置250が接続される。メインコントローラー200とUSBレセプタクル226の間には、充電回路221、静電気保護回路222、短絡保護回路223などが設けられている。
図1では、ケーブル224は車内において例えば内装を避けて配線されるため、ケーブル長が非常に長くなり、寄生容量等が生じる。また充電回路221、静電気保護回路222、短絡保護回路223などの回路に起因する寄生容量等も生じる。これらの寄生容量等が原因となって、メインコントローラー200が有するUSBのHSの送信回路の送信信号の信号特性が劣化する。一方、USBの認証テストにおいては送信信号の波形がアイパターンの禁止領域と重ならないようにすることが要求される。ところが図1において車内で引き回されるケーブル224が長くなることなどにより、送信信号の信号品質が悪化すると、適正な信号転送を実現できなくなり、アイパターンのニアエンドの認証テストなどをパスできないなどの問題が生じる。
またUSBにおいては、デバイス切断を適正に検出する必要がある。例えば図1において、ユーザーが、USBレセプタクル226への携帯型端末装置250の接続を取り外したとする。この場合に、ホストであるメインコントローラー200が、デバイスである携帯型端末装置250のUSBからの切断を適正に検出できるようにする必要がある。
2.回路装置の構成例
図2に本実施形態の回路装置10の構成例を示す。回路装置10は、第1物理層回路11と、第2物理層回路12と、処理回路20と、バススイッチ回路40を含む。第2物理層回路12は第2バス側の切断検出回路94を含む。なお回路装置10は図2の構成には限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
第1物理層回路11にはUSB規格の第1バスBS1が接続される。第2物理層回路12にはUSB規格の第2バスBS2が接続される。第1、第2物理層回路11、12の各々は、物理層のアナログ回路により構成される。物理層のアナログ回路は、例えばHS、FS用の送信回路、受信回路、各種の検出回路、プルアップ抵抗回路などである。なお、USBを介して受信したシリアルデータをパラレルデータに変換するシリアル/パラレル変換回路や、パラレルデータをシリアルデータに変換するパラレル/シリアル変換回路や、エラスティックバッファーや、NRZI回路などのリンク層に相当する回路は、処理回路20に含まれる。例えばUSBのトランシーバマクロセルのうちのリンク層等に相当する回路は処理回路20に含まれ、送信回路、受信回路、検出回路等のアナログ回路が第1、第2物理層回路11、12に含まれる。
第1バスBS1は例えばメインコントローラー側が接続されるバスであり、第2バスBS2は例えばペリフェラルデバイス側が接続されるバスである。但し本実施形態はこのような接続構成に限定されるものではない。第1バスBS1、第2バスBS2は、差動信号を構成する第1、第2信号である信号DP、DMの信号線を含むUSB規格のバスである。第1バスBS1、第2バスBS2は電源VBUS、GNDの信号線を含むことができる。USB規格は広義には所与のデータ転送の規格である。
バススイッチ回路40は、一端が第1バスBS1に接続され、他端が第2バスBS2に接続される。そして第1バスBS1と第2バスBS2との間の接続をオン又はオフにする。即ち、第1バスBS1と第2バスBS2を電気的に接続したり、電気的に非接続にする。第1バスBS1と第2バスBS2との間の接続をオン又はオフにするとは、例えば第1バスBS1のDP、DMの信号線と第2バスBS2のDP、DMの信号線の間に設けられるスイッチ素子などをオン又はオフにすることである。また本実施形態における回路間の接続やバス又は信号線と回路との接続は、電気的な接続である。電気的な接続とは、電気信号が伝達可能に接続されていることであり、電気信号による情報の伝達が可能となる接続である。電気的な接続は例えば信号線や能動素子等を介した接続であってもよい。
具体的には後述の図6に示すように、バススイッチ回路40は、第1バスBS1と第2バスBS2との間の接続を、第1期間T1においてオンにする。即ち、バススイッチ回路40は、第1バスBS1と第2バスBS2との間に設けられるスイッチ素子を有し、第1期間T1において、当該スイッチ素子がオンになる。これにより、第1バスBS1に接続されるメインコントローラー200と第2バスBS2に接続されるペリフェラルデバイス260とが、USBのバスにより直接にUSBの信号転送を行うことが可能になる。なおスイッチ素子としては例えば信号DP用の第1スイッチ素子と信号DM用の第2スイッチ素子が設けられる。またメインコントローラー200、ペリフェラルデバイス260は広義には第1装置、第2装置である。また後述の図7に示すように、バススイッチ回路40は、第1バスBS1と第2バスBS2との間の接続を、第2期間T2においてオフにする。即ち、第2期間T2において、第1バスBS1と第2バスBS2との間に設けられるスイッチ素子がオフになる。処理回路20は、この第2期間T2において、下述する転送処理を行うことになる。
処理回路20は、転送処理や各種の制御処理を行う回路であり、ゲートアレイなどの自動配置配線によるロジック回路などにより実現できる。なお処理回路20をCPU、MPU等のプロセッサーにより実現してもよい。
そして処理回路20は、第1バスBS1から第1物理層回路11を介して受信したパケットを第2物理層回路12を介して第2バスBS2に送信し、第2バスBS2から第2物理層回路12を介して受信したパケットを第1物理層回路11を介して第1バスBS1に送信する転送処理を、第2期間T2において行う。例えば少なくとも第2期間T2の一部において当該転送処理を行う。例えば第1バスBS1側から第2バスBS2側に、或いは第2バスBS2側から第1バスBS1側に、パケットフォーマットを変更することなくパケットを転送する。このとき処理回路20は、当該転送処理において、所定の信号処理を行う。所定の信号処理は、パケット転送のための信号処理であり、受信したパケットのリピートパケットを転送するための信号処理である。例えば処理回路20は、所定の信号処理として、所定パケットのビットの再同期化処理を行う。例えばパケットの受信の際には、回路装置10で生成されたクロック信号に基づいてパケットの各ビットをサンプリングする。パケットの送信の際には、回路装置10で生成されたクロック信号に同期してパケットの各ビットを送信する。処理回路20を経由した図7の転送経路TR2でパケット転送を行う際に、処理回路20が所定の信号処理を行うことで、USBの送信信号の信号特性の劣化を改善した高品質な信号転送を実現できるようになる。
そして図2では、第2物理層回路12が、第2バスBS2でのデバイス切断の検出を行う第2バス側の切断検出回路94を含む。以下では第2バス側の切断検出回路94を、適宜、単に切断検出回路94と記載する。切断検出回路94は、第2バスBS2でのデバイス切断の検出に用いられる回路である。切断検出回路94は、第2バスBS2に接続されていたデバイスが取り外されて第2バスBS2との接続が切断された場合に、デバイス切断の検出(HSの切断検出)を行う。このデバイス切断の検出は、第2バスBS2のDP、DMの信号振幅を検出することで実現できる。例えばUSBではデバイスやホストの物理層回路に終端抵抗が設けられており、デバイスが切断されるとデバイスの終端抵抗が失われるため、信号DP、DMの信号振幅が増加する。従って、この信号振幅が所定のしきい値を超えたことを検出することで、デバイス切断を検出できる。即ち信号DP、DMの信号レベルがしきい値を越えたか否かを検出することでデバイス切断を検出できる。具体的には、後述するようにSOF(Start Of Frame)のパケットのリピートパケットにおけるEOP(End Of Packet)の信号振幅を検出することなどで、デバイス切断を検出できる。
そしてバススイッチ回路40は、第1バスBS1と第2バスBS2の間の接続がオフであるときに切断検出回路94によりデバイス切断が検出された場合に、デバイス切断が検出されたタイミングからウェイト期間が経過した後に、第1バスBS1と第2バスBS2の間の接続をオフからオンに切り替える。即ち、図7のような第1物理層回路11、処理回路20、第2物理層回路12を介した転送経路TR2での転送が行われている際に、デバイス切断が検出されたとする。この場合にバススイッチ回路40は、第1バスBS1と第2バスBS2の間の接続を直ぐにはオンにせず、設定されたウェイト期間が経過するまで、第1バスBS1と第2バスBS2の間の接続をオフのままにする。このとき、処理回路20による転送経路TR2でのパケットの転送処理は停止している。そしてウェイト期間が経過した後に、第1バスBS1と第2バスBS2の間の接続をオフからオンに切り替える。このようにすれば、このウェイト期間の間、ホストであるメインコントローラー200には、メインコントローラー200と回路装置10との間の第1バスBS1だけが接続された状態となり、第2バスBS2については接続が切り離された状態になる。これにより、デバイス切断によるインピーダンス不整合により発生する反射波が及ぼす悪影響が低減され、メインコントローラー200がデバイス切断を適切に検出できるようになる。ウェイト期間としては、反射波の影響を回避でき、ホストがデバイス切断を適切に検出できる期間として設定すればよい。
即ち本実施形態では、バススイッチ回路40は、第1バスBS1と第2バスBS2の間の接続を、第1期間T1においてオンにし、第2期間T2においてオフにする。そして第2期間T2では第1物理層回路11、処理回路20、第2物理層回路12を介した転送経路TR2でのパケット転送を行っている。こうすることでUSBの送信信号の信号特性の劣化を改善した高品質な信号転送を実現できる。しかしながら図7の転送経路TR2でのパケット転送が行われている際に、第2バスBS2に接続されていたペリフェラルデバイス260が取り外されて、第2バスBS2から切断された場合に、バススイッチ回路40での第1バスBS1、第2バスBS2の間の接続はオフになっているため、メインコントローラー200は、このデバイス切断を検出できない。
そこで本実施形態では、メインコントローラー200の代わりに、回路装置10の切断検出回路94が、第2バスBS2でのペリフェラルデバイス260のデバイス切断を検出する。そしてデバイス切断の検出後に、バススイッチ回路40での第1バスBS1、第2バスBS2の間の接続をオフからオンに切り替えて、図6の転送経路TR1でのUSBの信号転送ができるようにする。
この場合に、ホストであるメインコントローラー200に対して、デバイス切断を認識させる比較例の手法として、次のような手法が考えられる。即ち、この比較例の手法では、切断検出回路94によるデバイス切断の検出後に、即座に、バススイッチ回路40での第1バスBS1と第2バスBS2の間の接続をオフからオンに切り替える。そしてメインコントローラー200が、接続がオンになったバススイッチ回路40を介して、例えばDP、DMの信号振幅を検出することで、デバイス切断を検出する。
しかしながら、ペリフェラルデバイス260が取り外されるデバイス切断が行われると、ペリフェラルデバイス260による45Ω終端のHSターミネーションが失われ、インピーダンス不整合の状態になってしまう。従って、メインコントローラー200の送出波に対する反射波が、遅延を伴って送出波に対して重畳してしまい、メインコントローラー200がデバイス切断を適切に検出できなくなってしまう事態が発生する。例えば上述の比較例の手法では、切断検出回路94によるデバイス切断の検出後に、即座にバススイッチ回路40での接続がオフからオンに切り替わるため、メインコントローラー200の送出波に対する反射波が、接続がオンになったバススイッチ回路40を通過して、送出波に重畳してしまう。具体的には後述するように、メインコントローラー200が送出するSOFのパケットに対して反射波が重畳することで、SOFのEOPの信号振幅の上昇が阻まれ、切断検出レベルに達しなくなり、メインコントローラー200がデバイス切断を適正に検出できなくなってしまう。
そこで本実施形態では、切断検出回路94によりデバイス切断が検出された場合にも、第1バスBS1と第2バスBS2の間の接続を直ぐにはオンにせずに、ウェイト期間が経過するのを待つ。このウェイト期間においては、第1バスBS1と第2バスBS2の間の接続がオフのままであるため、メインコントローラー200の送出波は、第2バスBS2側には伝達されず、第1バスBS1での反射波が、遅延を伴って送出波に重畳するだけとなる。従って、第2バスBS2の影響は受けず、第1バスBS1での反射波の遅延のみが影響するようになるため、SOFのEOPへの反射波の重畳度合いは、上述の比較例の手法にくべて小さくなる。この結果、SOFのEOPの信号振幅が切断検出レベルを下回らないようになり、ホストであるメインコントローラー200が、例えばウェイト期間においてデバイス切断を検出できるようになる。従って、USBの信号の信号特性の劣化を改善しながら、デバイス切断についても適切に対応できるようになる。
また本実施形態では、切断検出回路94によりデバイス切断が検出された場合に、処理回路20が、転送処理を停止する。即ち、処理回路20を無効状態である動作ディスエーブル状態に設定して、図7の転送経路TR2での転送処理を停止する。このとき第1物理層回路11、第2物理層回路12の出力はハイインピーダンス状態になっており、第1物理層回路11、第2物理層回路12が第1バスBS1、第2バスBS2に電気的に非接続である場合と等価な状態になる。即ちホストであるメインコントローラー200から見てデバイス切断と同じ状態になる。そして処理回路20が転送処理を停止し、デバイス切断が検出されたタイミングからウェイト期間が経過した後に、バススイッチ回路40が、第1バスBSと第2バスBS2との間の接続をオフからオンに切り替える。このようにすれば、切断検出回路94によるデバイス切断の検出後、ウェイト期間の間においては、バススイッチ回路40を介した信号経路と処理回路20を介した信号経路の両方が経路オフの状態になる。従って、ウェイト期間の間は、ホストであるメインコントローラー200と回路装置10との間の第1バスBS1のみが接続された状態になり、第2バスBS2については接続が切り離された状態になる。これにより、デバイス切断によるインピーダンス不整合により発生する反射波が及ぼす悪影響が低減され、メインコントローラー200がデバイス切断を適切に検出できるようになる。
図3に回路装置10の詳細な構成例を示す。図3では、回路装置10はバスモニター回路30を含む。バスモニター回路30は、第1バスBS1と第2バスBS2のモニター動作を行う。例えば第1バスBS1、第2バスBS2の少なくとも一方の状態を監視するモニター動作を行う。具体的にはバスモニター回路30は第1、第2物理層回路11、12を用いて第1バスBS1、第2バスBS2のモニター動作を行う。即ち、第1物理層回路11からの信号や第2物理層回路12からの信号に基づいて、第1バスBS1や第2バスBS2の状態を監視するモニター動作を行う。そしてバススイッチ回路40は、バスモニター回路30でのモニター結果に基づいて、第1バスBS1と第2バスBS2の間の接続をオン又はオフにする。例えばバススイッチ回路40は、バスモニター回路30でのモニター結果に基づいて、第1バスBS1と第2バスBS2の間の接続を第1期間T1においてオンにし、第2期間T2においてオフにする。そして処理回路20は、第2期間T2において図7に示す転送処理を行う。これにより、パケットのビットの再同期化処理等の所定の信号処理が、処理回路20により実行される。即ちパケットのリピート処理が実行される。これによりUSBの送信信号の信号特性の劣化を改善した高品質な信号転送を実現できる。
また図3では、第1物理層回路11は、第1バスBS1でのデバイス切断の検出を行う第1バス側の切断検出回路93を含む。切断検出回路93は、第1バスBS1でのデバイス切断の検出に用いられる回路である。以下では第1バス側の切断検出回路93を、適宜、単に切断検出回路93と記載する。そして切断検出回路93は、第1バスBS1に接続されていたデバイスが取り外されて第1バスBS1との接続が切断された場合に、デバイス切断の検出を行う。デバイス切断の検出は、第1バスBS1のDP、DMの信号振幅を検出することで実現できる。例えばSOFのパケットのリピートパケットにおけるEOPの信号振幅を検出することでデバイス切断を検出する。
そしてバススイッチ回路40は、第1バスBS1と第2バスBS2の間の接続がオフであるときに切断検出回路93によりデバイス切断が検出された場合に、デバイス切断が検出されたタイミングからウェイト期間が経過した後に、第1バスBS1と第2バスBS2の間の接続をオフからオンに切り替える。具体的には、切断検出回路93によりデバイス切断が検出された場合に、処理回路20が、転送処理を停止し、デバイス切断が検出されたタイミングからウェイト期間が経過した後に、バススイッチ回路40が、第1バスBS1と第2バスBS2との間の接続をオフからオンに切り替える。
例えば前述した図2は、第1バスBS1がアップストリーム側のバスであり、第2バスBS2がダウンストリーム側のバスである場合の例である。即ち図1において、ホストであるメインコントローラー200と、デバイスである携帯型端末装置250の間に、本実施形態の回路装置10が設けられる。そしてメインコントローラー200が、アップストリーム側の第1バスBS1に接続され、携帯型端末装置250が、ダウンストリーム側の第2バスBS2に接続される。
このように第2バスBS2がダウンストリーム側である場合には、図2に示すようにダウンストリーム側である第2バスBS2側だけに切断検出回路94を設ければよい。デバイス切断の検出はダウンストリーム側で行われるものだからである。しかしながら、後述するようにCarPlayやUSBのOTGでは、マスターであるホストの役割とスレーブであるデバイスの役割が交換できるようになっている。従って、図1において携帯型端末装置250がホストの役割となり、メインコントローラー200がデバイスの役割になる場合がある。この場合には第1バスBS1がダウンストリーム側となり、第1バスBS1側においてデバイス切断の検出を行う必要がある。
この点、図3では、第2バスBS2側の切断検出回路94に加えて、第1バスBS1側にも切断検出回路93が設けられている。従って、例えばホストとデバイスの役割が交換されて、第1バスBS1がダウンストリーム側になった場合にも、第1バスBS1でのデバイス切断を適正に検出できるようになる。従って、例えばホストとデバイスの役割の交換が可能なシステムに適切な回路装置10の提供が可能になる。
また図3では第1物理層回路11は、第1バスBS1がアップストリーム側のバスであるか否かを検出する第1アップストリームポート検出回路91を含む。アップストリーム側とはアップストリームポート側のことである。第2物理層回路12は、第2バスBS2がアップストリーム側のバスであるか否かを検出する第2アップストリームポート検出回路92を含む。第1、第2アップストリームポート検出回路91、92は、各々、第1バスBS1、第2バスBS2から受信したSOFのパケット等に基づいて、第1バスBS1、第2バスBS2がアップストリーム側なのか否かを検出する。
そして第1バスBS1がアップストリーム側のバスであると判断されたときは、切断検出回路94が第2バスBS2でのデバイス切断の検出を行う。即ち第1バスBS1がアップストリーム側である場合には、第2バスBS2がダウンストリーム側になるため、第2バスBS2側の切断検出回路94が、第2バスBS2でのデバイス切断を検出する。ダウンストリーム側とはダウンストリームポート側のことである。一方、第2バスBS2がアップストリーム側のバスであると判断されたときは、切断検出回路93が第1バスBS1でのデバイス切断の検出を行う。即ち第2バスBS2がアップストリーム側である場合には、第1バスBS1がダウンストリーム側になるため、第1バスBS1側の切断検出回路93が、第1バスBS1でのデバイス切断を検出する。
このようにすれば、例えば図1においてメインコントローラー200がUSBのホストであり、携帯型端末装置250がUSBのデバイスである場合には、第1アップストリームポート検出回路91が、メインコントローラー200から受信したSOFのパケット等に基づいて、第1バスBS1がアップストリーム側であることを検出する。そして切断検出回路94が、ダウンストリーム側である第2バスBS2でのデバイス切断を検出するようになる。一方、携帯型端末装置250がホストの役割であり、メインコントローラー200がデバイスの役割である場合には、第2アップストリームポート検出回路92が、携帯型端末装置250から受信したSOFのパケット等に基づいて、第2バスBS2がアップストリーム側であることを検出する。そして切断検出回路93が、ダウンストリーム側である第1バスBS1でのデバイス切断を検出するようになる。
また回路装置10は、切断検出回路93、94の動作設定を行う動作設定回路31を含む。例えばバスモニター回路30に対して動作設定回路31が設けられる。そして動作設定回路31は、第1バスBS1がアップストリーム側のバスであると判断されたときは、第2バスBS2側の切断検出回路94を動作イネーブル状態に設定する。例えば第1バスBS1がアップストリーム側であることが第1アップストリームポート検出回路91により検出されると、切断検出回路94の動作が有効になって、ダウンストリーム側である第2バスBS2でのデバイス切断の検出が可能になる。例えばバスモニター回路30の動作設定回路31が、切断検出回路94の有効信号である動作イネーブル信号をアクティブにすることで、切断検出回路94が有効状態である動作イネーブル状態になる。一方、動作設定回路31は、第2バスBS2がアップストリーム側のバスであると判断されたときは、第1バスBS1側の切断検出回路93を動作イネーブル状態に設定する。例えば第2バスBS2がアップストリーム側であることが第2アップストリームポート検出回路92により検出されると、切断検出回路93の動作が有効になって、ダウンストリーム側である第1バスBS1でのデバイス切断の検出が可能になる。例えば動作設定回路31が、切断検出回路93の動作イネーブル信号をアクティブにすることで、切断検出回路93が動作イネーブル状態になる。
このようにすれば、第1バスBS1、第2バスBS2の一方のバスがアップストリーム側であると判断されると、ダウンストリーム側である他方のバスの切断検出回路が動作イネーブル状態に設定され、他方のバスでのデバイス切断の検出が可能になる。
また動作設定回路31は、第1バスBS1がアップストリーム側であると判断された場合に、第1バスBS1側の切断検出回路93を動作ディスエーブル状態に設定する。このようにすれば、デバイス切断の検出が不要となる切断検出回路93が、その動作を停止するため、誤検出の防止を図れる。また動作設定回路31は、第2バスBS2がアップストリーム側であると判断された場合には、第2バスBS2側の切断検出回路94を動作ディスエーブル状態に設定する。このようにすれば、デバイス切断の検出が不要となる切断検出回路94が、その動作を停止するため、誤検出の防止を図れる。また第1、第2アップストリームポート検出回路91、92がアップストリーム側のバスを検出した後や、第1バスBS1と第2バスBS2の間の接続がオンにされた後において、動作設定回路31が、第1、第2アップストリームポート検出回路91、92を動作ディスエーブル状態に設定してもよい。
なお、例えば動作設定回路31が動作ディスエーブル信号又は省電力設定信号をアクティブにすることで、動作ディスエーブル状態又は省電力状態の設定が行われる。また動作イネーブル状態は、切断検出回路93、94のデバイス切断検出の動作が有効になる状態であり、動作ディスエーブル状態は、切断検出回路93、94のデバイス切断検出の動作が無効になる状態である。また省電力状態は、切断検出を通常に行う通常状態に比べて、消費電力が少なくなる状態である。
また第1アップストリームポート検出回路91は、第1バスBS1から受信したパケットがSOFのパケットであることが検出されたときに、第1バスBS1がアップストリーム側のバスであると判断する。また第2アップストリームポート検出回路92は、第2バスBS2から受信したパケットがSOFのパケットであることが検出されたときに、第2バスBS2がアップストリーム側のバスであると判断する。
例えば第1バスBS1がアップストリーム側である場合には、HSモード時に、図6、図7のメインコントローラー200がホストとしてSOFのパケットを送信する。この場合には回路装置10の第1バスBS1側の第1アップストリームポート検出回路91が、メインコントローラー200からのSOFのパケットを検出することで、第1バスBS1がアップストリーム側であることを検出する。そして第2バスBS2側の切断検出回路94が第2バスBS2でのデバイス切断を検出する。一方、第2バスBS2がアップストリーム側である場合には、HSモード時に、ペリフェラルデバイス260がホストとしてSOFのパケットを送信する。この場合には回路装置10の第2バスBS2側の第2アップストリームポート検出回路92がペリフェラルデバイス260からのSOFのパケットを検出することで、第2バスBS2がアップストリーム側であることを検出する。そして第1バスBS1側の切断検出回路94が第1バスBS1でのデバイス切断を検出する。このようにすれば、ホスト側から受信したSOFのパケットを利用して、アップストリーム側のバスであるか否かを適切に検出できるようになる。SOFのパケットはホスト側から定期的に送られてくるため、アップストリーム側か否かを検出する信号として好適である。但し、SOFのパケットの代わりに、ホスト側からしか到来しない他の信号を検出して、アップストリーム側か否かを検出してもよい。
また処理回路20は、第1バスBS1からSOFのパケットを受信した場合に、SOFのパケットのリピートパケットを第2バスBS2に送信する処理を行う。即ち処理回路20がリピーター回路として動作して、SOFのパケットのリピートパケットを第2物理層回路12を用いて第2バスBS2側に送信する。そして第2バスBS2側の切断検出回路94は、SOFのパケットのリピートパケットにおけるEOPの信号振幅を検出して、デバイス切断の検出を行う。即ち第1バスBS1がアップストリーム側であり、第2バスBS2がダウンストリーム側であると判断された場合には、第2物理層回路12により送信されるリピートパケットの信号振幅を、切断検出回路94がモニターして、デバイス切断を検出する。例えば切断検出回路94は、信号振幅が所定のしきい値を越えたか否かを検出することで、デバイス切断を検出する。所定のしきい値は例えば400mVと800mVの間の電圧レベルである。このようにすればSOFのパケットのEOPのフィールドを利用してデバイス切断を適切に検出できるようになる。
また処理回路20は、第2バスBS2からSOFのパケットを受信した場合に、SOFのパケットのリピートパケットを第1バスBS1に送信する処理を行う。そして第1バスBS1側の切断検出回路93は、SOFのパケットのリピートパケットにおけるEOPの信号振幅を検出して、デバイス切断の検出を行う。即ち、第1物理層回路11により送信されるリピートパケットの信号振幅を、切断検出回路93がモニターして、デバイス切断を検出する。
また本実施形態の回路装置10はタイマー回路32を含む。図3ではタイマー回路32はバスモニター回路30に設けられている。このタイマー回路32は、デバイス切断が検出されたタイミングからのウェイト期間の経過を計時する。例えばタイマー回路32はカウンターにより構成され、デバイス切断が検出されると、当該カウンターのカウント処理が開始する。そしてカウンターのカウント値が、ウェイト期間に対応するカウント値に達すると、タイマー回路32がカウント終了信号をアクティブにして出力する。バスモニター回路30は、カウント終了信号がアクティブになると、バススイッチ回路40をオフからオンに切り替えるスイッチング制御信号を出力し、これにより第1バスBS1と第2バスBS2の接続がオフからオンに切り替わる。このようにすれば、タイマー回路32に対して、ウェイト期間に対応するカウント値を設定することで、ウェイト期間の経過を経時できるようになる。そしてデバイス切断が検出されたタイミングからウェイト期間が経過した後に、第1バスBS1と第2バスBS2との間の接続をオフからオンに切り替えることが可能になる。
また本実施形態では、SOFのパケットの発行間隔をTSFとした場合に、ウェイト期間の長さTWは、TW>TSFとなる。SOFのパケットの発行間隔は例えばTSF=125μsであり、ウェイト期間の長さTWを、このTSF=125μsよりも長くする。このようにすれば、メインコントローラー200は、TW>TSFとなるウェイト期間において、SOFのパケットを少なくとも1回、送出して、デバイス切断を検出できるようになる。即ちウェイト期間においては、バススイッチ回路40の接続はオフの状態になっており、処理回路20も無効状態である動作ディスエーブル状態に設定され、処理回路20でのHSの転送処理は停止している。従って、メインコントローラー200は、SOFのパケットを第1バスBS1に送出することで、デバイス切断を検出できるようになる。
また本実施形態では、TW≧2×TSFであることが望ましい。このようにすれば、メインコントローラー200は、TW≧2×TSFとなるウェイト期間において、SOFのパケットを複数回、送出して、デバイス切断を検出できるようになる。従って、デバイス切断を、より適切にメインコントローラー200に検出させることが可能になる。
またバスモニター回路30は、切断検出回路94等によりデバイス切断が検出された場合に、処理回路20の転送処理を停止する信号を処理回路20に出力する。そしてバスモニター回路30は、デバイス切断が検出されたタイミングからウェイト期間が経過した後に、第1バスBS1と第2バスBS2との間の接続をオフからオンに切り替える信号をバススイッチ回路40に出力する。このようにデバイス切断の検出時に、バスモニター回路30が、HSの転送処理を停止する信号を出力することで、第1物理層回路11でのHSターミネーションも無効な状態になる。例えばFS用のドライバーの出力がハイインピーダンス状態になる。従って、メインコントローラー200は、SOFのパケットを第1バスBS1に送出することで、デバイス切断を検出できるようになる。
図4は、充電回路221が接続される場合の回路装置10の構成例である。充電回路221は、例えばUSBのBC1.2の仕様(Battery Charging Specification Rev1.2)に準拠した動作を行う回路である。BC1.2では、例えば500mA以下というVBUSの電源制限が例えば2A以下というように拡張されている。図4において充電回路221はレギュレーター回路等を有し、外部電源が供給されてVBUSの給電を行う。また、従来はマスター側からスレーブ側にしか電源供給できなかったものが、BC1.2ではスレーブ側からマスター側にも電源供給できるようになった。例えばペリフェラルデバイス260がホストであるマスターの役割になり、メインコントローラー200がデバイスであるスレーブの役割になった場合にも、スレーブであるメインコントローラー200からマスターであるペリフェラルデバイス260に対してVBUSの電源を供給できる。
BC1.2を実現するためには、充電回路221は、充電調停期間において、ペリフェラルデバイス260との間でDP、DMを用いた信号転送を行い、BC1.2のプロトコルを実行する必要がある。このためバススイッチ回路40は、後述の図9で説明するように、BC1.2のプロトコルの実行期間である充電調停期間では、充電回路221に接続される第3バスBS3と第2バスBS2との間の接続をオンにする。例えば第3バスBS3と第2バスBS2の間に設けられるスイッチ素子をオンにして、充電回路221がペリフェラルデバイス260との間でDP、DMを用いた信号転送を実行できるようにする。こうすることで、充電調停期間において、BC1.2のプロトコルを実行して、充電の調停処理を行うことが可能になる。例えば、適切な充電電流に設定できるので、充電スピードを上げることができる。
図5は回路装置10の具体的な構成例である。図5では回路装置10が、基準電流回路13、14、クロック信号生成回路50、電源回路60を更に含んでいる。基準電流回路13、14は、各々、第1、第2物理層回路11、12で用いられる基準電流を生成するための回路であり、外付け部品である抵抗RI、REを用いて基準電流を生成する。クロック信号生成回路50は、回路装置10で用いられる各種のクロック信号を生成する回路であり、発振回路52、PLL回路54を含む。発振回路52には、外付け部品である発振子XTALやキャパシターCC1、CC2が接続される。発振子XTALは水晶振動子等により実現される。そして発振回路52は、発振子XTALの発振動作を行って、発振信号に基づくクロック信号を生成する。PLL回路54は、生成されたクロック信号に基づいて、多相のクロック信号を生成する。電源回路60は、外部電源電圧が供給されて、回路装置10で用いられる各種の電源電圧を生成する。具体的には電源回路60のレギュレーター62が外部電源電圧のレギュレートを行って、外部電源電圧よりも低電圧の電源電圧を生成して、回路装置10の各回路ブロックに供給する。
処理回路20は、リンク層回路22、リピーターロジック回路24などを含む。リンク層回路22は、リンク層に相当する処理を行う回路である。リンク層回路22は、例えばUSBにより受信したシリアルデータをパラレルデータに変換するシリアル/パラレル変換処理や、パラレルデータを送信用のシリアルデータに変換するパラレル/シリアル変換処理や、NRZIの符号化や復号化のための処理などを行う。リピーターロジック回路24は、第1バスBS1側から受信したパケットを第2バスBS2側に送信し、第2バスBS2側から受信したパケットを第1バスBS1側に送信するためのロジック処理を行う。例えば、受信したパケットの各ビットはクロック信号を用いてサンプリングされ、サンプリングにより得られたシリアルデータがパラレルデータに変換される。そして、NRZIなどの各種のロジック処理が行われた後のパラレルデータが、シリアルデータに変換されて、回路装置10内のクロック信号に同期して送信される。このようにすることで、パケットのビットの再同期化処理(リシンクロナイズ)などの所定の信号処理が実現される。
図6、図7、図8は本実施形態の回路装置10の動作説明図である。図6に示すように、第1期間T1では、バススイッチ回路40は第1バスBS1と第2バスBS2の間の接続をオンにする。例えばバスモニター回路30からのスイッチング制御信号がアクティブになることで、DP、DMの信号線の各々に対応して設けられたスイッチ素子がオンになり、第1バスBS1と第2バスBS2が電気的に接続される。これにより、第1バスBS1に接続されるメインコントローラー200と、第2バスBS2に接続されるペリフェラルデバイス260は、第1バスBS1、バススイッチ回路40、第2バスBS2の転送経路TR1において、USBの信号転送を行うことが可能になる。即ち、信号DP、DMを用いた信号転送が可能になる。一方、図7に示すように、第1期間T1の後の第2期間T2では、バススイッチ回路40は第1バスBS1と第2バスBS2の間の接続をオフにする。例えばバスモニター回路30からのスイッチング制御信号が非アクティブになることで、信号DP、DMの各々に対応して設けられたスイッチ素子がオフになり、第1バスBS1と第2バスBS2が電気的に非接続になる。そして処理回路20は、この第2期間T2において、第1バスBS1と第2バスBS2の間で第1、第2物理層回路11、12を介してパケットを転送する転送処理を行う。即ち転送経路TR2でのパケットの転送処理が行われる。例えば第2期間T2において、バスモニター回路30からの転送処理の指示信号がアクティブになることで、処理回路20は転送経路TR2でのパケットの転送処理を開始する。この転送処理では、パケットのビットの再同期化処理などの所定の信号処理が行われて、信号品質の改善が実現される。
図8は、図4の構成例での回路装置10の動作説明図である。図8では、バススイッチ回路40は、充電調停期間において、充電回路221に接続される第3バスBS3と第2バスBS2の間の接続をオンにする。例えば第3バスBS3と第2バスBS2の間において信号DP、DMの各々に対応して設けられたスイッチ素子が、充電調停期間においてオンになり、第3バスBS3と第2バスBS2が電気的に接続される。これにより例えば充電回路221とペリフェラルデバイス260との間で、例えばBC1.2のプロトコルが実行されて、充電の調停処理等が実現される。そして、この充電調停期間の後に、図6の第1期間T1に切り替わって、転送経路TR1での信号転送が行われる。その後に、図7の第2期間T2に切り替わって、転送経路TR2でのパケットの転送処理が行われる。
以上のように本実施形態では、第1バスBS1と第2バスBS2の間で第1、第2物理層回路11、12を介したパケット転送を行う処理回路20と、バスをモニターするバスモニター回路30と、モニター結果に基づき第1バスBS1と第2バスBS2の間の接続のオン、オフを行うバススイッチ回路40が設けられる。このようにすれば、例えば第1バスBS1、第2バスBS2での信号の信号特性が劣化している場合にも、図7の転送経路TR2でのパケットのビットの再同期化処理などの所定の信号処理により、信号特性の劣化を改善できるようになる。
例えば図1のようにケーブル224が長かったり、大きな寄生容量や寄生抵抗が転送経路に存在したりする場合には、信号特性が大きく劣化してしまい、適正な信号転送を実現できないという問題がある。この点、メインコントローラー200と、ペリフェラルデバイス260である携帯型端末装置250との間に本実施形態の回路装置10を配置すれば、劣化した信号特性を改善できるようになる。従って、メインコントローラー200と携帯型端末装置250との間での適正な信号転送を実現できるようになる。
また本実施形態では、バスモニター回路30により第1バスBS1、第2バスBS2の状態がモニターされ、モニター結果に基づいて、バススイッチ回路40により第1バスBS1と第2バスBS2の間の接続のオン、オフが行われる。従って、例えばHSモードによる高速なパケット転送が行われる前の第1期間T1において、図6に示すようにバススイッチ回路40により第1バスBS1と第2バスBS2を電気的に接続できるようになる。これにより、この第1期間T1においては、メインコントローラー200とペリフェラルデバイス260との間で、信号DP、DMを用いた信号転送を行うことが可能になり、HSモードのパケット転送の前段階での種々のやり取りが可能になる。そして第2期間T2では、図7に示すように、第1バスBS1と第2バスBS2の間の接続がオフになり、転送経路TR2でのHSモードのパケット転送が行われるようになる。そして、このパケット転送の際には、パケットのビットの再同期化が行われるため、図1で説明したような信号特性の劣化が改善された高品質のパケット転送を実現できる。
なお、図1に示すUSB−HUB210は、USB規格のプロダクトIDやベンダーIDを有している。これに対して本実施形態の回路装置10はこのようなプロダクトIDやベンダーIDを有しておらず、この点において本実施形態の回路装置10はUSB−HUB210とは異なる。
また信号特性の劣化を改善する回路装置として、信号DP、DMの振幅調整や開口調整をアナログ回路により行うリドライバーと呼ばれる回路装置もある。しかしながら、リドライバーは、図7の転送経路TR2のようなパケット転送を行うものではないため、劣化した信号の信号特性を再同期化処理により改善することはできず、この点において本実施形態の回路装置10とは異なる。
また図6〜図8のペリフェラルデバイス260は、CarPlayやUSBのOTG(On-The-GO)のように、ホストの役割とデバイスの役割を交換できるものであってもよい。例えば図1の携帯型端末装置250が、CarPlay等を行うことが可能なペリフェラルデバイス260であったとする。この場合に、メインコントローラー200とペリフェラルデバイス260の間に、信号特性の劣化の改善のためのUSB−HUBを配置する手法も考えられる。しかしながら、ペリフェラルデバイス260がホストになった場合には、USB−HUBのダウンストリームポートに、ホストであるペリフェラルデバイス260が接続されることになってしまい、適正なパケット転送を実現できないという問題がある。この点、本実施形態の回路装置10は、USB−HUBとは異なり、例えば図6〜図8の第2バスBS2に接続されるペリフェラルデバイス260の役割が、ホストに切り替わった場合にも、これに対応できるという利点がある。例えばホストやデバイスの役割についての切替処理や設定処理は、第1期間T1において行えばよい。そして、ペリフェラルデバイス260の役割がホスト又はデバイスに決定した後に、第2期間T2において図7に示すような転送経路TR2でのパケット転送を行えばよい。従って本実施形態の手法によれば、ペリフェラルデバイス260がCarPlay等のデバイスであっても、適正なパケット転送を実現できるという利点がある。
次に本実施形態の詳細な動作例について説明する。図9はケーブルアタッチ後のUSBの動作シーケンスを示す信号波形図である。図9においてBCスイッチとUSBスイッチはバススイッチ回路40に設けられるスイッチ素子である。BCスイッチは、バススイッチ回路40において第3バスBS3と第2バスBS2の間に設けられるスイッチ素子である。USBスイッチは、バススイッチ回路40において第1バスBS1と第2バスBS2の間に設けられるスイッチ素子である。一方、転送処理のオフ、オンは、図7の転送経路TR2での転送処理のオフ、オンを示している。
ケーブルアタッチ(t1)の後、前述したBC1.2のプロトコルが実行される。BC1.2のプロトコルが実行されるB1に示す期間が充電調停期間である。次に、ペリフェラルデバイス260であるデバイス側がプルアップ抵抗をオンにすることで、信号DPの電圧がプルアップされて、FSモードに移行する(t2)。即ち、FSアイドルに移行し、一定時間、何もなければ、サスペンド状態に移行する。次に、メインコントローラー200であるホスト側がリセットを開始すると(t3)、プルアップされていた信号DPの電圧がLレベルになる。これをデバイス側が検知し、デバイス側がデバイスチャープKを送出する(t4)。その後、一定時間経過が経過すると、デバイス側はデバイスチャープKを停止する(t5)。するとホスト側がホストチャープK/Jを実行する(t6)。デバイス側はホストチャープK/Jを検出することで、ホスト側がHSモードに対応していることを認識して、HSターミネーションをオンにする(t7)。これにより信号DP、DMの振幅が400mVに低下して、HSモードに移行する。そしてホスト側がリセットを終了すると(t8)、HSアイドルに移行し、ホスト側はSOFの送出を開始する(t9)。
本実施形態では、第3バスBS3と第2バスBS2を接続するBCスイッチのイネーブル、ディスエーブルの設定が可能になっている。BCスイッチがイネーブルに設定されている場合、図9のB1に示すBC1.2のプロトコル実行期間においては、B2に示すようにBCスイッチがオンになり、USBスイッチがオフになる。例えば図8において、BCスイッチがオンになることで、第3バスBS3と第2バスBS2の間の接続がオンになり、USBスイッチがオフになることで、第1バスBS1と第2バスBS2の間の接続がオフになる。これにより、充電回路221とペリフェラルデバイス260との間で、信号DP、DMを用いた充電調停等のための信号処理が可能になる。
FSモードに移行すると、B3に示すようにUSBスイッチがオンになり、BCスイッチはオフになる。USBスイッチがオンになることで第1バスBS1と第2バスBS2の間の接続がオンになり、BCスイッチがオフになることで第3バスBS3と第2バスBS2の間の接続がオフになる。これによりメインコントローラー200とペリフェラルデバイス260との間で信号DP、DMを用いた図6の転送経路TR1での信号転送が可能になる。このときB4に示すように図7の転送経路TR2での転送処理はオフになっている。
そして本実施形態では、第1バスBS1と第2バスBS2の間の接続のオン、オフの切替タイミングが、図9のB5に示す範囲内のタイミングに設定される。即ち、少なくともデバイスチャープKの開始タイミング(t4)の後に、第1バスBS1と第2バスBS2の間の接続がオンからオフに切り替わる。つまり第1期間T1から第2期間T2に切り替わる。或いは、少なくともホストチャープK/Jの終了タイミング(t8)の後に、第1バスBS1と第2バスBS2の間の接続がオンからオフに切り替わる。例えば少なくともデバイスチャープKの開始タイミング(t4)の後であって、SOF送出の開始タイミング(t9)の前において、第1バスBS1と第2バスBS2の間の接続がオンからオフに切り替わり、転送経路TR2での転送処理がオフからオンに切り替わる。なお、BCスイッチがディスエーブルに設定されている場合には、B2、B3に示すようなBCスイッチのオン、オフの切替は行われず、B7に示すようにBCスイッチはオフのままになる。
このように本実施形態では、B3に示す第1期間T1においては、USBスイッチがオンになることで、第1バスBS1と第2バスBS2の間の接続がオンになる。そして転送経路TR1での信号転送が、メインコントローラー200とペリフェラルデバイス260との間で行われる。一方、B6に示す第2期間T2においては、USBスイッチがオフになることで、第1バスBS1と第2バスBS2の間の接続がオフになり、処理回路20の転送処理がオンになることで、転送経路TR2でのパケット転送が行われる。なお切替タイミングは、B5に示す範囲内のタイミングであるため、図9では、USBスイッチのオン、オフの切替タイミングや転送処理のオン、オフの切替タイミングの範囲を点線で示している。
そして本実施形態では、少なくともデバイスチャープKの開始タイミング(t4)の後に、バススイッチ回路40が、第1バスBS1と第2バスBS2の間の接続をオンからオフに切り替え、処理回路20が転送経路TR2での転送処理を開始する。例えばデバイスチャープKの開始タイミングの後に、USBスイッチがオン(B3)からオフ(B6)に切り替わり、処理回路20の転送処理がオフ(B4)からオン(B6)に切り替わる。即ち、デバイスチャープKの開始(t4)が検出された場合には、デバイス側がHSモードに対応していると判断できる。一方、ホスト側がHSモードに非対応であることは極めて希である。このため、デバイスチャープKの開始(t4)が検出された場合に、USBスイッチをオンからオフに切り替えて、処理回路20によるHSモードの転送処理をオフからオンに切り替えることができる。従って、B5に示す範囲の切替タイミングは、少なくともデバイスチャープKの開始タイミング(t4)の後のタイミングであればよい。
或いは、ホスト側がHSモードに非対応である可能性も考慮して、ホストチャープK/Jの開始(t6)が検出された場合に、USBスイッチをオンからオフに切り替え、処理回路20によるHSモードの転送処理をオフからオンに切り替えてもよい。例えば本実施形態では、少なくともホストチャープK/Jの終了タイミング(t8)の後に、バススイッチ回路40が、第1バスBS1と第2バスBS2の間の接続をオンからオフに切り替え、処理回路20が転送経路TR2での転送処理を開始してもよい。このようにすれば、ホスト側及びデバイス側の双方がHSモードに対応していると判断され、HSモードに完全に切り替わったと判断された後に、処理回路20の転送処理を適正に開始できるようになる。このようにB5に示す範囲の切替タイミングは、少なくともデバイスチャープKの開始タイミング後であればよい。但し、切替によるグリッジの発生による悪影響も考慮する必要がある。従って、切替タイミングは、信号DP、DMがLレベル等の所定の電圧レベルに設定されている期間内であることが望ましい。例えば図9のタイミングt5〜t6の間の期間やt8〜t9の間の期間などである。
以上のように本実施形態では、図9のB5に示す切替タイミングの前においては、B3に示すようにUSBスイッチをオンにすることで、ホスト側とデバイス側の間でUSBのバス上での信号のやり取りが可能になる。バスモニター回路30は、USBのバス上での信号のやり取りをモニターする。そして、例えばデバイスチャープKやホストチャープK/Jの検出により、HSモードの転送が可能であると判断したら、USBスイッチをオンからオフに切り替え、処理回路20による転送処理をオフからオンに切り替える。こうすることで、ホスト側とデバイス側の間での信号のやり取りの後に、HSモードの転送処理に適正に移行することが可能になる。
図10は、HSモードの転送においてリセットが行われた場合の動作シーケンスを示す信号波形図である。ホスト側は、HSモードでは、125μs(t11、t12)ごとにSOFのパケットを送出する。ホスト側がリセットを開始すると(t12)、FSモードに移行し、パケットがバス上に無くなってから3ms以上経過すると、デバイス側はHSターミネーションをオフし、プルアップ抵抗をオンにする(t13)。そしてデバイス側は、バスの状態がSE0であることが確認されたため(t14)、リセットが開始されたと判断し、デバイスチャープKを送出する。これに対してホスト側がホストチャープK/Jを送出することで、FSモードからHSモードに移行する。
図10のC1に示すように、本実施形態では、ホストがリセットを開始した場合に、USBスイッチがオフからオンに切り替わり、処理回路20の転送処理がオンからオフに切り替わる。即ちホストによりリセットが行われた場合にバススイッチ回路40が第1バスBS1と第2バスBS2の間の接続をオフからオンに切り替え、処理回路20が転送処理を停止する。このようにすれば、例えばHSモードの転送中にリセットが行われた場合に、第1バスBS1と第2バスBS2を電気的に接続して、例えばメインコントローラー200とペリフェラルデバイス260との間で、信号DP、DMを用いた信号転送を行うことが可能になる。その後、例えば図10のC2に示す範囲内の切替タイミングにおいて、USBスイッチがオンからオフに切り替わり、処理回路20の転送処理がオフからオンに切り替わる。これにより、ホスト側とデバイス側の間での信号のやり取りの後に、HSモードの転送処理に適正に移行することが可能になる。
図11はHSモードの転送からサスペンド、レジュームに移行する場合の動作シーケンスを示す信号波形図である。ホスト側がサスペンドを開始すると(t22)、FSモードに移行し、パケットがバス上に無くなってから3ms以上経過すると、デバイス側はHSターミネーションをオフし、プルアップ抵抗をオンにする(t23)。そしてデバイス側は、バスの状態がJであることが確認されたため(t24)、サスペンドが開始されたと判断する。そしてホスト側がレジュームを開始し(t25)、レジュームが終了すると(t26)、デバイス側はレジュームの終了と同時に、サスペンドに入った時点のモードに戻す。そしてプルアップ抵抗をオフし、HSターミネーションをオンにして、HSモードに戻る。図11のD1に示すように、本実施形態では、ホストがサスペンドを開始した場合にもUSBスイッチがオフからオンに切り替わり、処理回路20の転送処理がオンからオフに切り替わる。即ちホストによりサスペンドが行われた場合に、バススイッチ回路40が第1バスBS1と第2バスBS2の間の接続をオフからオンに切り替え、処理回路20が転送処理を停止する。このようにすれば、例えばHSモードの転送中にサスペンドが開始した場合に、第1バスBS1と第2バスBS2を電気的に接続して、メインコントローラー200とペリフェラルデバイス260との間で、信号DP、DMを用いた信号転送を行うことが可能になる。そしてサスペンドの後、ホスト側がレジュームを行うことで、図11のD2に示すように、USBスイッチがオンからオフに切り替わり、処理回路20の転送処理がオフからオンに切り替わる。このようにすれば、サスペンド後のレジュームにより、HSモードのデータ転送を適正に再開できるようになる。なお、サスペンドからリセットへの移行の動作シーケンスは、ケーブルアタッチからFSアイドルの後においてサスペンドからリセットに入る動作シーケンスと同様になる。
3.回路装置の詳細
次に本実施形態の回路装置10の詳細について図12等を用いて説明する。本実施形態では図10のC1に示すタイミングで、処理回路20を介した転送経路TR2から、バススイッチ回路40を介した転送経路TR1に切り替えている。そしてホスト、デバイスが第1バスBS1、第2バスBS2に接続された状態であれば、このようなタイミングでの転送経路の切替で問題なく動作が行われるが、デバイスが抜き取られて切断状態となった場合には問題が生じる。例えば図9のデバイスチャープの実行中(t4〜t5)にデバイスが切断されると、デバイスチャープの長さが所望の時間(1ms)を満たさなくなるため、ホストはデバイスの切断を検出できる。またホストチャープの実行中(t6〜t8)にデバイスが切断されると、ホストチャープの信号レベルが所望の信号レベル(400mV)にならないため、ホストはデバイスの切断を検出できる。一方、チャープの終了後(t8の後)にデバイスが切断されると、ホストはデバイスの切断を検出することができない。なぜなら、チャープ終了後は、ホストと処理回路20との間でHS接続が確立しているため、第2バスBS2で生じたデバイス切断による波形変化が第1バスBS1側で生じないため、ホストはデバイスの切断を検出することができない。また3ms以上のSE0状態が検出された後(t13の後)において、更にSE0状態が検出され、デバイスチャープが検出できなければ、ホストはデバイス切断を検出できる。
このように、処理回路20を介した転送経路TR2に切り替わった後において、HSモードの通信が行われると、ホストと処理回路20との間でHS接続が確立しており、HSパケットの波形に変化が生じないため、デバイスが切断されても、ホストはそれを検出できない。ホストがデバイスに対して何らかのコマンドを発行して、デバイスが無応答であればデバイス切断とみなすという手法も考えられるが、この手法では、切断検出用のコマンドを定期的に発行しなければならず、ホストのソフトウェア制御が複雑になってしまう。
そこで本実施形態では、HSモードの通信時にデバイスが切断された場合、ホストがそのデバイス切断を検出できるようにしている。具体的には図12に示すように、第1バスBS1に接続されている第1物理層回路11に、第1アップストリームポート検出回路91と切断検出回路93を設ける。また第2バスBS2に接続されている第2物理層回路12に、第2アップストリームポート検出回路92と切断検出回路94を設ける。第1、第2アップストリームポート検出回路91、92は、バスモニター回路30から出力されるHSモードへの切替信号であるHSモード信号により、動作イネーブル状態になる。即ちFSモードからHSモードに切り替わると動作イネーブル状態になる。そして第1、第2アップストリームポート検出回路91、92は、第1バスBS1、第2バスBS2から入力されるHSパケットのPIDを逐一解析し、第1、第2アップストリームポート検出回路91、92のいずれか一方が、ホストが送出したSOFを検出する。そして第1、第2アップストリームポート検出回路91、92は、SOFの検出信号SDET1、SDET2を用いて、SOFの検出結果をバスモニター回路30に通知する。これにより、バスモニター回路30は、ホストが接続されているアップストリーム側のバスが、第1バスBS1と第2バスBS2のどちらのバスであるかを認識する。バスモニター回路30は、SOFの検出信号SDET1、SDET2を、各々、クロック同期された動作イネーブル信号ENB2、ENB1として出力する。動作イネーブル信号ENB1、ENB2は、切断検出回路93、94に入力される。この場合に、SOFが検出されていないダウンストリーム側の切断検出回路が動作イネーブル状態になる。なお検出信号SDET1、SDET2に基づく動作イネーブル信号ENB1、ENB2の出力は、バスモニター回路30の動作設定回路31が行う。
切断検出回路93、94は、動作イネーブル状態になると、処理回路20を介して第1バスBS1、第2バスBS2に出力されるSOFのリピート波形のEOPの信号振幅を検定する。そしてEOPの信号振幅が625mVを超えると、デバイスが切断されたと判断し、切断検出信号DDET1、DDET2を用いてバスモニター回路30に通知する。なお切断検出の判断の際に使用する信号振幅のしきい値は、525mV〜625mVの範囲内で設定可能である。バスモニター回路30は、切断検出信号DDET1、DDET2によりデバイス切断が通知された場合は、動作モードをHSモードからFSモードに設定して、処理回路20を介した転送経路TR2からバススイッチ回路40を介した転送経路TR1に切り替える処理を行う。具体的にはバスモニター回路30の動作設定回路31が、この切替処理を行う。そして、上述した比較例の手法では、ホストは、オンになったバススイッチ回路40を介して、デバイス切断を検出することになる。
しかしながら、上述の比較例の手法では、ホストが検出するSOFのEOPに対して、デバイス側からの当該SOFの反射波が重畳することが原因となって、ホストがデバイス切断を適正に検出できないという問題が発生することが判明した。図13、図14はデバイス切断時に発生する問題点についての説明図である。ここでは第1バスBS1にホストが接続され、第2バスBS2にデバイスが接続されており、HSモードの通信が行われているものとする。なお、前述したように第2バスBS2にホストが接続され、第1バスBS1にデバイスを接続される接続態様の場合も同様の処理となるため、詳細な説明は省略する。
図13はホストと回路装置10を接続するUSBケーブルCB1と、回路装置10とデバイスを接続するUSBケーブルCB2が短い場合の動作例である。図13のE1に示すように、HSモードでは125μs毎に、フレームの先頭を示すSOFのパケットがホストから送出される。このSOFのパケットは他のトークンパケットとは異なり、ホストからFrameNumberを示すために用いられ、デバイスはこれに応じる必要はない。また他のパケットとは異なりSOFのパケットのEOPは40bit分の長さを有する。なお説明の簡素化のために、SOFのパケットを、適宜、単にSOFと記載する。またホストからのHSパケットはSOFのみが出力されているものとする。
回路装置10から見てUSBケーブルCB2の遠端でデバイスが切断されると、デバイスのHSターミネーションが失われる。これにより図13のE2に示すように、第2バスBS2におけるHSパケット(SOF4)の信号振幅が上昇する。回路装置10は、これを切断検出回路94で検出し、SOFのEOPの信号振幅が切断検出レベルVDLを超えた場合は、E3に示すように経路切替信号をアクティブにして、E4に示すように信号経路を処理回路20の経路からバススイッチ回路40の経路に切り替える。これ以降、ホストが出力するHSパケットは、バススイッチ回路40を通じて回路装置10内を通過するが、デバイスのHSターミネーションが失われているため、E5に示すようにHSパケット(SOF5、SOF6、SOF7・・・)の信号振幅も上昇する。ホストは、自身の切断検出機能を用いて検出し、SOFのEOPの信号振幅が切断検出レベルを超えた場合は、デバイスが切断されたと判断する。
ここで、図13に示すようにUSBケーブルCB1とUSBケーブルCB2の総ケーブル長が短い場合には動作に問題は生じないが、総ケーブル長が長くなった場合には、ホストの切断検出が機能しなくなる問題が発生する。この場合の動作例を図14に示す。図14のF1に示すようにホストはHSパケットを送出している。そして回路装置10から見てUSBケーブルCB2の遠端でデバイスが切断されると、F2に示すように第2バスBS2におけるHSパケット(SOF4)の信号振幅が上昇し、回路装置10はこれを切断検出回路94で検出する。そしてSOFのEOPの信号振幅が切断検出レベルVDLを超えた場合は、F3に示すように経路切替信号をアクティブにして、F4に示すように信号経路を処理回路20の経路からバススイッチ回路40の経路に切り替える。
これ以降、ホストが出力するHSパケットはバススイッチ回路40を通じて回路装置10内を通過する。このとき、デバイスのHSターミネーションが失われているため、SOFの信号振幅が上昇するはずである。しかしながら、この動作例ではUSBケーブルCB1とUSBケーブルCB2のそれぞれのケーブル長が長いため、ホストが送出するSOFに対して、遅延を伴う反射波が重畳することになる。総ケーブル長が長ければ、この遅延も大きい。そしてSOFのEOPに対して、反射波のSYNCやPIDが重畳した場合には、F5に示すように、SOFのEOPの信号振幅の上昇が阻まれて、切断検出レベルVDLに達することができなくなる。ホストは、SOFのEOPを自らの切断検出機能を用いて検出するが、SOFのEOPの信号振幅が低下し、切断検出レベルVDLを下回る場合には、デバイス切断を検出できなくなってしまう。
そこで本実施形態では、HSモードの通信時にデバイスが切断された場合に、ホストと回路装置10の間及び回路装置10とデバイスの間を接続する双方のUSBケーブルの長さが長い場合でも、ホストによるデバイスの切断の未検出を防止する機能を実現する。この機能を実現するために、バスモニター回路30は、ダウンストリーム側の切断検出回路94からデバイスの切断検出信号DDET2が通知されたら、処理回路20を無効にするとともにタイマー回路32のカウント動作を開始する。タイマー回路32が所定時間のカウント動作を終了したら、バススイッチ回路40を有効にする。この所定時間がウェイト期間に対応する。これらにより、回路装置10がデバイス切断を検出した後、所定時間の間、処理回路20とバススイッチ回路40がともに無効な状態、即ちUSBバスの信号経路がハイインピーダンスとなるオフ状態を設ける。この間は、ホストにとっては、ホストと回路装置10の間のUSBケーブルCB1のみが接続された状態となり、ホストが検出するSOFのEOPに対して、当該SOFの反射波が重畳されることによる当該SOFのEOPの信号振幅の低下が防止されるため、ホストによるデバイス切断の未検出を防止することが可能になる。更に、タイマー回路32により、USBバスの信号経路を、所定時間の経過後に、経路オフの状態から、バススイッチ回路40の信号経路に切り替えることで、次のデバイス再接続に自動的に備えることが可能となる。
次に図15を用いて本実施形態の詳細な動作について説明する。なお以下では、第2バスBS2がダウンストリーム側である場合について主に説明するが、第1バスBS1がダウンストリーム側である場合には、切断検出回路93がデバイスの切断を検出し、その後は、第2バスBS2がダウンストリーム側である場合と同様の処理を行えばよい。
図15のG1に示すように、ホストが送出するHSパケットは、第1バスBS1から入力されて、処理回路20を介して第2バスBS2にリピート出力される。このホストからのHSパケットに応じてデバイスが送出するHSパケットは、第2バスBS2から入力されて、処理回路20を介して第1バスBS1にリピート出力される。HS動作時は、バスモニター回路30からのHSモード信号により、第1、第2アップストリームポート検出回路91、92が動作イネーブル状態になっており、第1、第2アップストリームポート検出回路91、92は、各々、第1バスBS1、第2バスBS2からのHSパケットのPIDを逐一解析する。図15では、第1アップストリームポート検出回路91が、ホストから送出されるSOF1を受信したため、G2に示すように、SOFの検出信号SDET1=Hレベルを出力している。一方、第2アップストリームポート検出回路92はSOFを受信していないため、検出信号SDET2=Lレベルを出力している。
バスモニター回路30は、入力された検出信号SDET1=Hレベルと検出信号SDET2=Lレベルとから、ホストが接続されているアップストリーム側のバスは、第1バスBS1であると認識する。そして、検出信号SDET1、SDET2をクロック同期して、G3に示すように、動作イネーブル信号ENB1=Lレベル、ENB2=Hレベルを出力する。動作イネーブル信号ENB1=Lレベル、ENB2=Hレベルは、各々、切断検出回路93、94に入力される。これによりダウンストリーム側の切断検出回路94が動作イネーブル状態になり、アップストリーム側の切断検出回路93は動作ディスエーブル状態になる。動作イネーブル状態になったダウンストリーム側の切断検出回路94は、第2バスBS2にリピート出力されるSOFのEOPの信号振幅を検知し続けるが、図15のSOF1〜SOF3を転送する期間では、デバイスが接続された状態であるため、切断検出信号DDET2=Lレベルを出力する。
回路装置10によるSOF3のリピート出力後に、回路装置10から見てUSBケーブルCB2の遠端でデバイスが切断されると、SOF3の次に第2バスBS2にリピート出力されるSOF4のEOPの信号振幅が、G4に示すように上昇する。するとダウンストリーム側の切断検出回路94が、SOF4のEOPの信号振幅が切断検出レベルVDLを超えたと判定し、G5に示すように切断検出信号DDET2=Hレベルを出力して、バスモニター回路30に通知する。バスモニター回路30は、入力された切断検出信号DDET2=Hレベルと切断検出信号DDET1=Lレベルとから、第2バスBS2側でデバイスが切断されたことを認識し、動作モードをHSモードからFSモードへと遷移させる。更にバスモニター回路30は、切断検出信号DDET2=Hレベルに基づいて、G6に示すように処理回路20の動作イネーブル信号ENPRC=Lレベルを生成し、これにより処理回路20を無効状態である動作ディスエーブル状態に設定して、処理回路20の転送処理を停止する。またバスモニター回路30は、切断検出信号DDET2=Hレベルに基づいて、G7に示すようにカウント開始のパルス信号を生成して、タイマー回路32に出力する。これによりG8に示すようにタイマー回路32のカウント処理が開始する。なお動作イネーブル信号ENPRCやタイマー開始のパルス信号の生成は、動作設定回路31が行う。
タイマー回路32は、カウント値が、ウェイト期間の長さに対応するカウント値に達すると、G9に示すようにカウント終了のパルス信号を出力し、カウント処理を停止する。この動作例においてはSOF6が出力された後に、カウント処理が停止するものとする。そしてカウント処理の終了のタイミングで、バスモニター回路30は、G10に示すようにバススイッチ回路40の動作イネーブル信号ENSW=Hレベルを出力して、バススイッチ回路40の接続をオンにする。これによりG11、G12に示すように、信号経路が、経路オフの状態から、バススイッチ回路40の経路に切り替わる。なお動作イネーブル信号ENSWは、バススイッチ回路40をオフからオンに切り替えるスイッチング制御信号である。
処理回路20の動作イネーブル信号ENPRC=Lレベルであり、且つ、バススイッチ回路40の動作イネーブル信号ENSW=Lレベルである期間は、処理回路20及びバススイッチ回路40が共にオフになるため、信号経路は、ハイインピーダンス状態である経路オフの状態になる。この動作例においては、ホストによりSOF5、SOF6が送出されたG13に示す期間において、G11に示すように信号経路が経路オフの状態になるため、ホストからのSOF5、SOF6は、第2バスBS2側には通過しない。従って、回路装置10とデバイスとの間のUSBケーブルCB2の影響は受けずに、ホストと回路装置10の間のUSBケーブルCB1による反射波の遅延のみが影響するようになるため、SOFのEOPへの反射波の重畳の度合いが少なくなる。従って、ホストが送出したSOF5、SOF6のEOPの信号振幅は、切断検出レベルVDLを下回らないようになり、これによりホストはデバイス切断を適切に検出できるようになる。
即ち図14のF5においては、ホストが送出したSOFに対する反射波が、USBケーブルCB2から回路装置10を通過してUSBケーブルCB1に伝達し、SOFのEOPに重畳されることで、後述するようにEOPの信号振幅が低下してしまう。このようにEOPの信号振幅が低下すると、ホストがデバイス切断を検出できなくなる。
これに対して本実施形態では、図15においてホストがSOF5、SOF6を送出する期間では、バススイッチ回路40の接続がオフになっているため、回路装置10とデバイスとの間のUSBケーブルCB2の影響を受けることはない。そして、ホストが送出したSOF5、SOF6に対して反射波が重畳した場合にも、USBケーブルCB1とUSBケーブルCB2の総ケーブル長に比べて、USBケーブルCB1のケーブル長は短いため、反射波の重畳の度合いは少なく、EOPの信号振幅は切断検出レベルVDLを下回らないようになる。従ってホストはデバイス切断を適切に検出できるようになる。
以上のように本実施形態によれば、HSモードの通信時にデバイスが切断された場合に、デバイスのHSターミネーションが失われて信号振幅が増大したSOFの波形を、直接にホストが検出することができ、ホストは、デバイスが切断されたことを容易に判定することが可能になる。
なお本実施形態では、タイマー回路32は、デバイス切断が検出された図15のG7のタイミングからのウェイト期間の経過を計時する。即ちタイマー回路32は、デバイス切断が検出されたG7のタイミングでカウント処理を開始し、カウント値が、ウェイト期間の長さTWに対応するカウント値に達すると、カウント処理を停止して、G9に示すようにカウント終了のパルス信号を出力する。この場合に図15に示すように、SOFの発行間隔をTSFとした場合に、ウェイト期間の長さTWは、TW>TSFとなっている。SOFの発行間隔TSFは125μsであり、ウェイト期間の長さTWは125μsよりも長い。このようにすることで、TW>TSFとなる長さのウェイト期間において、ホストは少なくとも1つのSOFを送出して、デバイス切断を検出できるようになる。この場合に本実施形態ではTW≧2×TSFであることが望ましい。このようにすれば図15のG13に示すように、ホストは2つ以上のSOFを送出して、デバイス切断を検出できるようになるため、より確実なデバイス切断の検出が可能になる。
また本実施形態では、バスモニター回路30は、デバイス切断が検出された場合に、図15のG6に示すように、処理回路20の転送処理を停止する信号を出力する。即ち処理回路20の動作イネーブル信号ENPRC=Lレベルを出力する。これにより処理回路20の転送処理がオフになり、G11に示すように信号経路を経路オフの状態にできる。そしてバスモニター回路30は、デバイス切断が検出されたタイミングからウェイト期間が経過した後に、G10に示すように第1バスBS1と第2バスBS2との間の接続をオフからオンに切り替える信号をバススイッチ回路40に出力する。即ちバススイッチ回路40の動作イネーブル信号ENSW=Hレベルを出力する。これによりバススイッチ回路40を介したホストとデバイスによる信号のやり取りが可能になり、デバイスの再接続に備えることが可能になる。
4.反射波の重畳
次にSOFのEOPへの反射波の重畳の問題について詳細に説明する。図16はSOFのパケットの説明図である。図16に示すようにホストは、TSF=125μs毎にSOFを送出する。そしてSOFは、SYNC、PID、FrameNumber、CRC、EOPにより構成される。SYNCは同期用のフィールドである。ホストからは32ビットのSYNCが出力されるが、HUBを1段通過する毎に先頭から最大で4ビットずつ削られるため、最小で12ビットまで認められる。PIDはパケット識別用のフィールドであり、8ビットの識別子が設定される。FrameNumberは、SOF固有のフレーム管理用のフィールドであり11ビットの長さを持つ。CRCは5ビットの誤り検出用のフィールドである。EOPはパケットの終了を示すフィールドであり、SOF以外のパケットのEOPは8ビットタイムであるが、SOFのEOPは、デバイス切断の検出用に用いられるため、40ビットタイムに拡張されている。
図17、図18は、ホストが検出するSOFのEOPに対して、SOFの送出波の反射波が重畳することにより発生する問題点の説明図である。デバイス切断により45Ω終端のHSターミネーションが失われると、ホストが検出するSOFのEOPに対して反射波が重畳する。図17は、図13のようにUSBケーブルの総ケーブル長が短く、反射波の遅延DEL=DEL1が小さい場合を示し、図18は、図14のように総ケーブル長が長く、反射波の遅延DEL=DEL2が大きい場合を示している。反射波の遅延DELは、反射波が伝搬するケーブル長を、反射波の伝搬速度である電磁波の伝搬速度で除算したものに対応する。従って、反射波が伝搬するケーブル長が長いほど、遅延DELは大きくなる。
図17では、総ケーブル長が短く、遅延DELが小さいため、ホストの送出波のEOPと反射波のEOPとの間に、時間的な重畳箇所VLP1が存在する。そして、この重畳箇所VLP1では、EOPの信号振幅が低下しないため、ホストは、デバイス切断を検出できる。
一方、図18では、総ケーブル長が長く、遅延DELが大きいため、ホストの送出波のEOPと反射波のEOPとの間には重畳箇所が存在しない。そして図18では、ホストの送出波のEOPと反射波のSYNCやPIDとが、重畳箇所VLP2において重畳している。SYNCやPIDの値はフレーム毎に同じであり、1〜2ビットタイムでレベルが反転する。このため、重畳箇所VLP2では、EOPの信号振幅がDC的に上昇しなくなってしまい、ホストは、デバイス切断を検出できなくなる。
図19は、デバイス切断が行われていないときのSOFの測定波形の例である。図19では、デバイス切断が行われておらず、デバイスによる45Ω終端のHSターミネーションにより、インピーダンス整合の状態になっているため、反射波は生じていない。そしてHSターミネーションにより、ホストのSOFの送出波のEOPの信号振幅V1は、例えば400mV程度になっている。
図20は、デバイス切断が行われており、デバイス側のUSBケーブルCB2のケーブル長が0mである場合のSOFの測定波形の例である。図20では、インピーダンス不整合の状態であるが、反射波の影響は出ていない。また送出波のEOPの信号振幅V2は、例えば800mV程度になっており、切断検出レベルVDLを越えている。
図21は、デバイス切断が行われており、デバイス側のUSBケーブルCB2のケーブル長が比較的短く、例えば3m程度である場合のSOFの測定波形の例である。図21では、インピーダンス不整合により、送出波のEOPに対してH1に示す反射波が重畳している。反射波の遅延DELは例えば30ns程度である。図21では、前述の図17のように送出波のEOPと反射波のEOPとが重畳箇所VLP1において重畳している。そして送出波のEOPの信号振幅V3は、切断検出レベルVDLを越えているため、ホストはデバイス切断を検出できる。
一方、図22は、デバイス切断が行われており、デバイス側のUSBケーブルCB2のケーブル長が10mよりも長く、例えば13m程度である場合のSOFの測定波形の例である。図22では、インピーダンス不整合により、送出波に対してH2に示す反射波が重畳している。反射波の遅延DELは例えば120ns程度である。図22では、前述の図18のように送出波のEOPと反射波のSYNCやPIDとが重畳箇所VLP2において重畳している。これにより送出波のEOPの信号振幅V4が低下しており、切断検出レベルVDLを下回っている。従って、ホストはデバイス切断を検出できなくなる。
そして本実施形態では、図18、図22のようにケーブル長が長い場合にも、図15のG11に示すように長さTWのウェイト期間において、処理回路20の信号経路のみならず、バススイッチ回路40の信号経路もオフになる。従って、ホストに対しては、ホスト側のUSBケーブルCB1だけが接続されている状態になり、ホストが検出するSOFのEOPに対する、当該SOFの反射波の重畳の度合いは少なく、EOPの信号振幅は切断検出レベルVDLを下回らないようになる。即ち、バススイッチ回路40の信号経路がオフになることで、デバイス側のUSBケーブルCB2が切り離された状態になり、総ケーブル長が短い場合と同等の状態になる。従って、送出波のEOPに対して反射波が重畳した場合にも、図21の場合と同様にEOPの信号振幅が切断検出レベルVDLを越えるようになり、ホストはデバイス切断を適切に検出できるようになる。
5.物理層回路の詳細
図23は物理層回路の構成例である。ここでは第1物理層回路11及び第2物理層回路12を物理層回路と総称する。物理層回路は、プルアップ抵抗Rpu、スイッチ素子SW_Rpu、SW_Dm、プルダウン抵抗Rpd1、Rpd2を含む。スイッチ素子SW_Rpuは制御信号Rpu_Enableに基づいてオン又はオフにされる。これによりプルアップ動作が実現される。また物理層回路は、HSモード用のカレントドライバーである送信回路HSDと、LS/FSモード用のドライバーである送信回路LSDと、抵抗Rs1、Rs2を含む。HSターミネーションの際には、送信回路LSDがLレベルを出力することで、抵抗Rs1、Rs2が45Ωの終端抵抗として機能する。HSターミネーションを無効にする場合には、送信回路LSDの出力がハイインピーダンス状態になる。
また物理層回路は、HSモード用の差動のデータレシーバーである受信回路HSRと、トランスミッションエンベロープディテクターであるスケルチの検出回路SQLと、LS/FSモード用のデータレシーバーである差動の受信回路LSRと、ディスコネクションエンベロープディテクターである切断検出回路DISと、シングルエンドのレシーバーである受信回路DP_SER、DM_SERを含む。
そして本実施形態では物理層回路を構成するアナログ回路からの信号に基づいて、バスモニター回路30でのバスのモニター動作が行われる。具体的には図23に示すように、例えばHSモード用の差動の受信回路HSR、スケルチ用の検出回路SQL、LS/FSモード用の差動の受信回路LSR、切断検出回路DIS、或いはシングルエンドの受信回路DP_SER、DM_SERからの信号に基づいて、バスモニター回路30はバスのモニター動作を行う。即ち、これらのアナログ回路からの信号に基づいて、デバイスチャープK、ホストチャープK/J、アイドル、リセット、サスペンド、レジューム、SE0、J、K、バスリセット、或いはHS切断などのバスの各状態を、バスモニター回路30はモニターできる。そしてバスモニター回路30は、モニター結果に基づいて、バススイッチ回路40のスイッチ素子をオン又はオフにする制御を行ったり、処理回路20の転送処理をオン又はオフにする制御を行う。こうすることで、バスの状態を適切に判断した適正なバススイッチ回路40のスイッチ制御や処理回路20の転送制御を実現できるようになる。
6.電子機器、ケーブルハーネス
図24に、本実施形態の回路装置10を含む電子機器300の構成例を示す。この電子機器300は、本実施形態の回路装置10と、処理装置であるメインコントローラー200を含む。メインコントローラー200は第1バスBS1に接続される。例えば第1バスBS1を介してメインコントローラー200と回路装置10は接続される。また回路装置10の第2バスBS2には例えばペリフェラルデバイス260が接続される。
メインコントローラー200は、例えばCPU又はMPU等のプロセッサーにより実現される。或いはメインコントローラー200を各種のASICの回路装置により実現してもよい。またメインコントローラー200は、複数の回路装置(IC)や回路部品が実装された回路基板により実現されてもよい。ペリフェラルデバイス260としては、例えば図1のような携帯型端末装置250などを想定できるが、これには限定されない。ペリフェラルデバイス260はウェアラブル機器などであってもよい。
電子機器300は、記憶部310、操作部320、表示部330を更に含むことができる。記憶部310は、データを記憶するものであり、その機能はRAMやROMなどの半導体メモリーやHDD(ハードディスクドライブ)などにより実現できる。操作部320は、ユーザーが入力操作を行うためのものであり、操作ボタンやタッチパネルディスプレイをなどの操作デバイスにより実現できる。表示部330は、各種の情報を表示するものであり、液晶や有機ELなどのディスプレイにより実現できる。なお操作部320としてタッチパネルディスプレイを用いる場合には、このタッチパネルディスプレイが操作部320及び表示部330の機能を兼ねることになる。
本実施形態により実現される電子機器300としては、例えば車載機器、印刷装置、投影装置、ロボット、頭部装着型表示装置、生体情報測定機器、距離、時間、流速又は流量等の物理量を計測する計測機器、基地局又はルーター等のネットワーク関連機器、コンテンツを配信するコンテンツ提供機器、或いはデジタルカメラ又はビデオカメラ等の映像機器などの種々の機器を想定できる。
図25に本実施形態の回路装置10を含むケーブルハーネス350の構成例を示す。ケーブルハーネス350は、本実施形態の回路装置10とケーブル360を含む。ケーブル360はUSB用のケーブルである。またケーブルハーネス350はUSBレセプタクル370を含んでもよい。或いはケーブルハーネス350は図1の静電気保護回路222、短絡保護回路223などを含むものであってもよい。ケーブル360は例えば回路装置10の第2バスBS2に接続される。回路装置10の第1バスBS1側には、例えば処理装置であるメインコントローラー200等が接続される。このケーブルハーネス350は、例えば車内において配線を引き回すなどの用途に用いられる。なおケーブルハーネス350は車用以外のハーネスであってもよい。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また回路装置、電子機器、ケーブルハーネスの構成・動作や、バスモニター処理、バススイッチ処理、転送処理、切断検出処理、アップストリームポート検出処理等も本実施形態で説明したものに限定されず、種々の変形実施が可能である。