以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.送信信号の信号特性
図1を用いてUSBでの送信信号の信号特性の劣化を説明する。図1は車載の電子機器のシステムの一例を示すものであり、メインコントローラー200(ホストコントローラー)にはUSB−HUB210が接続される。例えばUSB−HUB210のアップストリームポートがメインコントローラー200に接続され、ダウンストリームポートには、SD211(SDカード)、BT212(ブルートゥース(登録商標))、DSRC213(Dedicated Short Range Communications)などのデバイスが接続される。
またケーブル224を有するケーブルハーネス220のUSBレセプタクル226には、スマートフォンなどの携帯型端末装置250が接続される。メインコントローラー200とUSBレセプタクル226の間には、充電回路221、静電気保護回路222、短絡保護回路223などが設けられている。
図1では、ケーブル224は車内において例えば内装を避けて配線されるため、ケーブル長が例えば1〜3mというように長くなり、寄生容量等が生じる。また充電回路221、静電気保護回路222、短絡保護回路223などの回路に起因する寄生容量等も生じる。これらの寄生容量等が原因となって、メインコントローラー200が有するUSBの送信回路(HS)の送信信号の信号特性が劣化する。
図2はUSBの認証テストにおけるアイパターンの説明図である。ARは送信信号の波形の禁止領域を示すものであり、この禁止領域ARはUSBの規格で定められている。USBの送信回路(HS)には、A1に示す送信信号(DP、DM)の波形がこの禁止領域ARと重ならないようにすることが要求される。
しかしながら、図1において車内で引き回されるケーブル224が長くなったり、充電回路221、静電気保護回路222、短絡保護回路223などの回路に起因したりして、寄生容量等が生じると、図2のA1に示す送信信号の信号品質が悪化してしまう。このため、適正な信号転送を実現できず、アイパターンの認証テスト(例えばニアエンドの認証テスト)をパスできないという課題がある。
またUSBにおいては、デバイス切断を適正に検出する必要がある。例えば図1において、ユーザーが、USBレセプタクル226への携帯型端末装置250の接続を取り外したとする。この場合に、ホストであるメインコントローラー200が、デバイスである携帯型端末装置250のUSBからの切断を適正に検出できるようにする必要がある。また図2で説明したような認証テストを行うために、USBでは認証テスト用のテストモードが設けられている。このテストモードでは、ホストであるメインコントローラー200が、テスト用のパケットを出力したり、DCレベル測定用の信号を出力するが、このテストモードにも適正に対応できるようにする必要がある。
2.第1の構成例
図3に本実施形態の回路装置10の第1の構成例を示す。第1の構成例の回路装置10は、物理層回路11、12と、処理回路20と、バススイッチ回路40を含み、物理層回路12が切断検出回路94を含む。なお回路装置10は図3の構成には限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
物理層回路11(第1の物理層回路)には、USB規格のバスBS1(第1のバス)が接続される。物理層回路12(第2の物理層回路)には、USB規格のバスBS2(第2のバス)が接続される。物理層回路11、12の各々は、物理層のアナログ回路により構成される。物理層のアナログ回路は、例えばHS、FS用の送信回路、受信回路、各種の検出回路、プルアップ抵抗回路などである。なお、USBを介して受信したシリアルデータをパラレルデータに変換するシリアル/パラレル変換回路や、パラレルデータをシリアルデータに変換するパラレル/シリアル変換回路や、エラスティックバッファーや、NRZI回路などのリンク層に相当する回路は、処理回路20に含まれる。例えばUSBのトランシーバマクロセルのうちのリンク層等に相当する回路は処理回路20に含まれ、送信回路、受信回路、検出回路等のアナログ回路が物理層回路11、12に含まれる。
バスBS1は例えばメインコントローラー側が接続されるバスであり、バスBS2は例えばペリフェラルデバイス側が接続されるバスである。但し本実施形態はこのような接続構成に限定されるものではない。バスBS1、BS2は、差動信号を構成する信号DP、DM(第1、第2の信号)などの信号線を含むUSB規格(広義には所与のデータ転送の規格)のバスである。バスBS1、BS2は電源VBUS、GNDの信号線を含むことができる。
バススイッチ回路40は、一端がバスBS1に接続され、他端がバスBS2に接続される。そしてバスBS1とバスBS2との間の接続(電気的な接続)をオン又はオフにする。即ち、バスBS1とバスBS2を電気的に接続したり、電気的に非接続にする。バスBS1とバスBS2との間の接続をオン又はオフにする(電気的に接続又は非接続にする)とは、例えばバスBS1のDP、DMの信号線とバスBS2のDP、DMの信号線の間に設けられるスイッチ素子(第1、第2のスイッチ素子)などをオン又はオフにすることである。
具体的には後述の図9に示すように、バススイッチ回路40は、バスBS1とバスBS2との間の接続を、期間T1(第1の期間)においてオンにする。即ち、バススイッチ回路40は、バスBS1とバスBS2との間に設けられるスイッチ素子を有し、期間T1において、当該スイッチ素子がオンになる。これにより、バスBS1に接続されるメインコントローラー200(広義には第1の装置)とバスBS2に接続されるペリフェラルデバイス260(広義には第2の装置)とが、USBのバスにより直接にUSBの信号転送を行うことが可能になる。また後述の図10に示すように、バススイッチ回路40は、バスBS1とバスBS2との間の接続を、期間T2(第2の期間)においてオフにする。即ち、期間T2において、バスBS1とバスBS2との間に設けられるスイッチ素子がオフになる。処理回路20は、この期間T2において、下述する転送処理を行うことになる。
処理回路20は、転送処理や各種の制御処理を行う回路であり、ゲートアレイなどの自動配置配線によるロジック回路などにより実現できる。なお処理回路20をCPU、MPU等のプロセッサーにより実現してもよい。
そして処理回路20は、バスBS1から物理層回路11を介して受信したパケットを物理層回路12を介してバスBS2に送信(転送)し、バスBS2から物理層回路12を介して受信したパケットを物理層回路11を介してバスBS1に送信(転送)する転送処理を、期間T2(少なくとも期間T2の一部において)において行う。例えばバスBS1側からバスBS2側に、或いはバスBS2側からバスBS1側に、パケットフォーマットを変更することなくパケットを転送する。このとき処理回路20は、当該転送処理において、所定の信号処理を行う。所定の信号処理は、パケット転送のための信号処理であり、受信したパケットのリピートパケットを転送するための信号処理である。例えば処理回路20は、所定の信号処理として、所定パケットのビットの再同期化処理を行う。例えばパケットの受信の際には、回路装置10で生成されたクロック信号に基づいてパケットの各ビットをサンプリングする。パケットの送信の際には、回路装置10で生成されたクロック信号に同期してパケットの各ビットを送信する。処理回路20を経由した転送経路TR2(図10)でパケット転送を行う際に、処理回路20が所定の信号処理を行うことで、USBの送信信号の信号特性の劣化を改善した高品質な信号転送を実現できるようになる。
そして図3では、物理層回路12が、バスBS2でのデバイス切断の検出を行う切断検出回路94(第2のバス側の切断検出回路)を含む。切断検出回路94はバスBS2側の切断検出回路であり、バスBS2でのデバイス切断の検出に用いられる回路である。切断検出回路94は、バスBS2に接続されていたデバイスが取り外されてバスBS2との接続が切断された場合に、デバイス切断の検出(HSの切断検出)を行う。このデバイス切断の検出は、バスBS2のDP、DMの信号振幅を検出することで実現できる。例えばUSBではデバイスやホストの物理層回路に終端抵抗が設けられており、デバイスが切断されるとデバイスの終端抵抗が見えなくなるため、信号DP、DMの信号振幅が増加する。従って、この信号振幅(信号レベル)が所定のしきい値を超えたことを検出することで、デバイス切断を検出できる。具体的には、後述するようにSOF(Start Of Frame)のパケットのリピートパケットにおけるEOP(End Of Packet)の信号振幅を検出することなどで、デバイス切断を検出できる。
そしてバススイッチ回路40は、バスBS1、BS2の間の接続がオフであるときに切断検出回路94によりデバイス切断が検出された場合に、バスBS1、BS2の間の接続をオフからオンに切り替える。即ち、図10のような物理層回路11、処理回路20、物理層回路12を介した転送経路TR2での転送が行われている際に、デバイス切断が検出された場合に、図9のようなバススイッチ回路40を介した、即ち処理回路20を介さない転送経路TR1に切り替える。
即ち本実施形態では、バススイッチ回路40は、バスBS1、BS2の間の接続を、期間T1においてオンにし、期間T2においてオフにする。そして期間T2では物理層回路11、処理回路20、物理層回路12を介した転送経路TR2でのパケット転送を行っている。こうすることでUSBの送信信号の信号特性の劣化を改善した高品質な信号転送を実現できる。しかしながら図10の転送経路TR2でのパケット転送が行われている際に、バスBS2に接続されていたペリフェラルデバイス260が取り外されて、バスBS2から切断された場合に、バススイッチ回路40でのバスBS1、BS2の間の接続はオフになっているため、メインコントローラー200は、このデバイス切断を検出できない。
そこで本実施形態では、図3の切断検出回路94が、バスBS2でのペリフェラルデバイス260のデバイス切断を検出する。そしてデバイス切断が検出された場合には、バススイッチ回路40でのバスBS1、BS2の間の接続をオフからオンに切り替えて、図9の転送経路TR1でのUSBの信号転送ができるようにする。このようにすれば、バスBS1とバスBS2が電気的に接続されるようになり、メインコントローラー200は、例えばDP、DMの信号振幅を検出することで、ペリフェラルデバイス260のデバイス切断を検出できるようになる。従って、ホストであるメインコントローラー200がデバイス切断を適正に検出できるようになり、USBの信号の信号特性の劣化を改善しながら、デバイス切断についても適切に対応できるようになる。
図4に回路装置10の第1の構成例の詳細例を示す。図4では、回路装置10はバスモニター回路30を含む。バスモニター回路30は、バスBS1、BS2のモニター動作を行う。例えばバスBS1、BS2の少なくとも一方の状態を監視するモニター動作を行う。具体的にはバスモニター回路30は物理層回路11、12を用いてバスBS1、BS2のモニター動作を行う。即ち、物理層回路11や物理層回路12(少なくとも一方の物理層回路)からの信号に基づいて、バスBS1やバスBS2(少なくとも一方のバス)の状態を監視するモニター動作を行う。そしてバススイッチ回路40は、バスモニター回路30でのモニター結果に基づいて、バスBS1、BS2の間の接続(電気的な接続)をオン又はオフにする。例えばバススイッチ回路40は、バスモニター回路30でのモニター結果に基づいて、バスBS1、BS2の間の接続を期間T1においてオンにし、期間T2においてオフにする。そして処理回路20は、期間T2において図10に示す転送処理を行う。これにより、パケットのビットの再同期化処理等の所定の信号処理(パケットのリピート処理)が、処理回路20により実行され、USBの送信信号の信号特性の劣化を改善した高品質な信号転送を実現できるようになる。
また図4では、物理層回路11は、バスBS1でのデバイス切断の検出を行う切断検出回路93(第1のバス側の切断検出回路)を含む。切断検出回路93はバスBS1側の切断検出回路であり、バスBS1でのデバイス切断の検出に用いられる回路である。そして切断検出回路93は、バスBS1に接続されていたデバイスが取り外されてバスBS1との接続が切断された場合に、デバイス切断の検出を行う。デバイス切断の検出は、バスBS1のDP、DMの信号振幅を検出することで実現できる。例えばSOFのパケットのリピートパケットにおけるEOPの信号振幅を検出することでデバイス切断を検出する。
そしてバススイッチ回路40は、バスBS1、BS2の間の接続がオフであるときに切断検出回路93によりデバイス切断が検出された場合に、バスBS1、BS2の間の接続をオフからオンに切り替える。即ち、図10のような転送経路TR2での転送が行われている際に、デバイス切断が検出された場合に、図9のようなバススイッチ回路40を介した転送経路TR1に切り替える。
例えば前述した図3は、バスBS1がアップストリーム側のバスであり、バスBS2がダウンストリーム側のバスである場合の例である。即ち図1において、ホストであるメインコントローラー200と、デバイスである携帯型端末装置250の間に、本実施形態の回路装置10が設けられる。そしてメインコントローラー200が、アップストリーム側のバスBS1に接続され、携帯型端末装置250が、ダウンストリーム側のバスBS2に接続される。
このようにバスBS2がダウンストリーム側である場合には、図3に示すようにダウンストリーム側であるバスBS2側だけに切断検出回路94を設ければよい。デバイス切断の検出はダウンストリーム側で行われるものだからである。しかしながら、後述するようにCarPlayやUSBのOTGでは、ホスト(マスター)の役割とデバイス(スレーブ)の役割が交換できるようになっている。従って、図1において携帯型端末装置250がホストの役割となり、メインコントローラー200がデバイスの役割になる場合がある。この場合にはバスBS1がダウンストリーム側となり、バスBS1側においてデバイス切断の検出を行う必要がある。
この点、図4では、バスBS2側の切断検出回路94に加えて、バスBS1側にも切断検出回路93が設けられている。従って、例えばホストとデバイスの役割が交換されて、バスBS1がダウンストリーム側になった場合にも、バスBS1でのデバイス切断を適正に検出できるようになる。従って、例えばホストとデバイスの役割の交換が可能なシステムに適切な回路装置10の提供が可能になる。
また図4では物理層回路11は、バスBS1がアップストリーム側(アップストリームポート側)のバスであるか否かを検出するアップストリームポート検出回路91(第1のアップストリームポート検出回路)を含む。物理層回路12は、バスBS2がアップストリーム側のバスであるか否かを検出するアップストリームポート検出回路92(第2のアップストリームポート検出回路)を含む。アップストリームポート検出回路91、92は、各々、例えばバスBS1、BS2から受信したパケット(SOFのパケット等)に基づいて、バスBS1、BS2がアップストリーム側なのか否かを検出する。
そしてバスBS1がアップストリーム側のバスであると判断されたときは、切断検出回路94がバスBS2でのデバイス切断の検出を行う。即ちバスBS1がアップストリーム側である場合には、バスBS2がダウンストリーム側(ダウンストリームポート側)になるため、バスBS2側の切断検出回路94が、バスBS2でのデバイス切断を検出する。一方、バスBS2がアップストリーム側のバスであると判断されたときは、切断検出回路93がバスBS1でのデバイス切断の検出を行う。即ちバスBS2がアップストリーム側である場合には、バスBS1がダウンストリーム側になるため、バスBS1側の切断検出回路93が、バスBS1でのデバイス切断を検出する。
このようにすれば、例えば図1においてメインコントローラー200がUSBのホストであり、携帯型端末装置250がUSBのデバイスである場合には、アップストリームポート検出回路91が、メインコントローラー200から受信したパケット(SOFのパケット等)に基づいて、バスBS1がアップストリーム側であることを検出する。そして切断検出回路94が、ダウンストリーム側であるバスBS2でのデバイス切断を検出するようになる。一方、携帯型端末装置250がホストの役割であり、メインコントローラー200がデバイスの役割である場合には、アップストリームポート検出回路92が、携帯型端末装置250から受信したパケット(SOFのパケット等)に基づいて、バスBS2がアップストリーム側であることを検出する。そして切断検出回路93が、ダウンストリーム側であるバスBS1でのデバイス切断を検出するようになる。
また回路装置10には、切断検出回路93、94の動作設定を行う動作設定回路31が設けられる。例えばバスモニター回路30に動作設定回路31が設けられる。そして動作設定回路31は、バスBS1がアップストリーム側のバスであると判断されたときは、バスBS2側の切断検出回路94を動作イネーブル状態に設定する。例えばバスBS1がアップストリーム側であることがアップストリームポート検出回路91により検出されると、切断検出回路94の動作が有効になって、ダウンストリーム側であるバスBS2でのデバイス切断の検出が可能になる。例えば動作設定回路31(バスモニター回路30)が、切断検出回路94の動作イネーブル信号(有効信号)をアクティブにすることで、切断検出回路94が動作イネーブル状態(有効状態)になる。一方、動作設定回路31は、バスBS2がアップストリーム側のバスであると判断されたときは、バスBS1側の切断検出回路93を動作イネーブル状態に設定する。例えばバスBS2がアップストリーム側であることがアップストリームポート検出回路92により検出されると、切断検出回路93の動作が有効になって、ダウンストリーム側であるバスBS1でのデバイス切断の検出が可能になる。例えば動作設定回路31が、切断検出回路93の動作イネーブル信号をアクティブにすることで、切断検出回路93が動作イネーブル状態になる。
このようにすれば、バスBS1、BS2の一方のバスがアップストリーム側であると判断されると、ダウンストリーム側である他方のバスの切断検出回路が動作イネーブル状態に設定され、他方のバスでのデバイス切断の検出が可能になる。そしてデバイス切断が検出されると、バススイッチ回路40でのバスBS1とバスBS2の電気的接続がオンになる。これにより、バスBS1とバスBS2が、回路装置10をバイパスして直結されたような状態になり、一方のバスに接続されるホストが、他方のバスでのデバイス切断を検出できるようになる。
また動作設定回路31は、バスBS1がアップストリーム側であると判断された場合に、バスBS1側の切断検出回路93を動作ディスエーブル状態又は省電力状態に設定する。このようにすれば、デバイス切断の検出が不要となる切断検出回路93が、その動作を停止したり、省電力状態に移行するようになるため、低消費電力化や誤検出の防止を図れる。また動作設定回路31は、バスBS2がアップストリーム側であると判断された場合には、バスBS2側の切断検出回路94を動作ディスエーブル状態又は省電力状態に設定する。このようにすれば、デバイス切断の検出が不要となる切断検出回路94が、その動作を停止したり、省電力状態に移行するようになるため、低消費電力化や誤検出の防止を図れる。またアップストリームポート検出回路91、92がアップストリーム側のバスを検出した後や、バスBS1、BS2の間の接続がオンにされた後において、動作設定回路31が、アップストリームポート検出回路91、92を動作ディスエーブル状態又は省電力状態に設定してもよい。このようにすることで、更なる低消費電力化を図れる。
なお、例えば動作設定回路31が動作ディスエーブル信号又は省電力設定信号をアクティブにすることで、動作ディスエーブル状態又は省電力状態の設定が行われる。また動作イネーブル状態は、切断検出回路93、94のデバイス切断検出の動作が有効(可能)になる状態であり、動作ディスエーブル状態は、切断検出回路93、94のデバイス切断検出の動作が無効(不能)になる状態である。また省電力状態は、切断検出を通常に行う通常状態に比べて、消費電力が少なくなる状態である。
またアップストリームポート検出回路91は、バスBS1から受信したパケットがSOFのパケットであることが検出されたときに、バスBS1がアップストリーム側のバスであると判断する。またアップストリームポート検出回路92は、バスBS2から受信したパケットがSOFのパケットであることが検出されたときに、バスBS2がアップストリーム側のバスであると判断する。
例えばバスBS1がアップストリーム側である場合には、HSモード時に、図9、図10のメインコントローラー200がホスト(マスター)としてSOFのパケットを送信する。この場合には回路装置10のバスBS1側のアップストリームポート検出回路91が、メインコントローラー200からのSOFのパケットを検出することで、バスBS1がアップストリーム側であることを検出する。そしてバスBS2側の切断検出回路94がバスBS2でのデバイス切断を検出する。一方、バスBS2がアップストリーム側である場合には、HSモード時に、ペリフェラルデバイス260がホスト(マスター)としてSOFのパケットを送信する。この場合には回路装置10のバスBS2側のアップストリームポート検出回路92がペリフェラルデバイス260からのSOFのパケットを検出することで、バスBS2がアップストリーム側であることを検出する。そしてバスBS1側の切断検出回路94がバスBS1でのデバイス切断を検出する。このようにすれば、ホスト側から受信したSOFのパケットを利用して、アップストリーム側のバスであるか否かを適切に検出できるようになる。SOFのパケットはホスト側から定期的に送られてくるため、アップストリーム側か否かを検出する信号として好適である。但し、SOFのパケットの代わりに、ホスト側からしか到来しない他の信号を検出して、アップストリーム側か否かを検出してもよい。
また処理回路20は、バスBS1からSOFのパケットを受信した場合に、SOFのパケットのリピートパケットをバスBS2に送信する処理を行う。即ち処理回路20がリピーター回路として動作して、SOFのパケットのリピートパケットを物理層回路12を用いてバスBS2側に送信する。そしてバスBS2側の切断検出回路94は、SOFのパケットのリピートパケットにおけるEOPの信号振幅を検出して、デバイス切断の検出を行う。即ちバスBS1がアップストリーム側であり、バスBS2がダウンストリーム側であると判断された場合には、物理層回路12により送信されるリピートパケットの信号振幅を、切断検出回路94がモニターして、デバイス切断を検出する。例えば切断検出回路94は、信号振幅が所定のしきい値(例えば400mVと800mVの間の電圧レベル)を越えたか否かを検出することで、デバイス切断を検出する。このようにすればSOFのパケットのEOPのフィールドを利用してデバイス切断を適切に検出できるようになる。
また処理回路20は、バスBS2からSOFのパケットを受信した場合に、SOFのパケットのリピートパケットをバスBS1に送信する処理を行う。そしてバスBS1側の切断検出回路93は、SOFのパケットのリピートパケットにおけるEOPの信号振幅を検出して、デバイス切断の検出を行う。即ち、物理層回路11により送信されるリピートパケットの信号振幅を、切断検出回路93がモニターして、デバイス切断を検出する。
3.第2の構成例
図5に本実施形態の回路装置10の第2の構成例を示す。第2の構成例の回路装置10は、物理層回路11、12と、処理回路20と、バススイッチ回路40と、テスト信号検出回路95と、テスト信号出力回路98を含む。なお回路装置10は図5の構成には限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また図3、図4で説明した回路部分(物理層回路、処理回路、バススイッチ回路、バスモニター回路等)については、詳細な説明を省略する。
図5では回路装置10がテスト信号検出回路95とテスト信号出力回路98を含む。テスト信号検出回路95(第1のテスト信号検出回路)は、バスBS1にテスト信号(第1のテスト信号)が出力されたか否かを検出する。例えば後述するように、Test_J状態やTest_K状態のDCレベル測定のためのテスト信号が、バスBS1に接続されるホスト(メインコントローラー200)から出力された否かを検出する。例えばバスBS1のDP、DMの信号のサンプリングを行うことなどによりテスト信号の検出を行う。
そしてテスト信号出力回路98(第1のテスト信号出力回路)は、バスBS1にテスト信号(第1のテスト信号)が出力されたことがテスト信号検出回路95により検出されたときに、テスト信号のリピート信号をバスBS2に出力する。例えばバスBS1に出力されたテスト信号に対応する信号を、テスト信号のリピート信号としてバスBS2に出力する。例えばバスBS1に対してTest_J状態の測定用のテスト信号が出力されたことが検出された場合には、テスト信号出力回路98は、Test_J状態の測定用のテスト信号を、リピート信号としてバスBS2に出力する。またバスBS1に対してTest_K状態の測定用のテスト信号が出力されたことが検出された場合には、テスト信号出力回路98は、Test_K状態の測定用のテスト信号を、リピート信号としてバスBS2に出力する。
このようにすれば、図10の転送経路TR2での転送処理を行うことでUSBの信号の信号特性の劣化を改善しながら、USBの認証テスト用のテストモードにも対応できるようになる。例えば図1のシステムの認証テストの際に、ホストであるメインコントローラー200が、Test_J、Test_Kなどのテストモードにおいて、DCレベル測定用のテスト信号を出力する場合がある。例えばメインコントローラー200は、Test_Jのテストモードでは、DP=400mV、DM=0mVのテスト信号をバスBS1に出力する。またTest_Kのテストモードでは、DP=0mV、DM=400mVのテスト信号をバスBS1に出力する。この場合に、このようなテスト信号が出力されたことを回路装置10が認識できないと、認証テストをパスすることができなくなってしまう。この点、本実施形態によれば、テスト信号検出回路95が、Test_J、Test_Kなどのテストモード用のテスト信号がバスBS1に出力されたことを検出する。そしてテスト信号の出力が検出された場合には、テスト信号出力回路98が、バスBS1に接続されるメインコントローラー200(ホスト)に代わって、テスト信号のリピート信号をバスBS2に出力する。例えばTest_Jのテスト信号がバスBS1において検出された場合には、テスト信号出力回路98は、DP=400mV、DM=0mVのテスト信号をバスBS2に出力する。またTest_Kのテスト信号がバスBS1において検出された場合には、テスト信号出力回路98は、DP=0mV、DM=400mVのテスト信号をバスBS2に出力する。こうすることで、本実施形態のような回路装置10を、メインコントローラー200とUSBレセプタクル226との間に設けた場合にも、USBの認証テストに適正に対応できるようになる。
図6に回路装置10の第2の構成例の詳細例を示す。図6では回路装置10はバスモニター回路30を含む。またアップストリームポート検出回路91、92、テスト信号検出回路95、96、テスト信号出力回路97、98が更に設けられている。例えば物理層回路11にアップストリームポート検出回路91とテスト信号出力回路97が設けられ、物理層回路12にアップストリームポート検出回路92とテスト信号出力回路98が設けられている。またバスモニター回路30にテスト信号検出回路95、96が設けられている。なおアップストリームポート検出回路91、92、テスト信号検出回路95、96、テスト信号出力回路97、98が設けられる場所はこれに限定されず、種々の変形実施が可能である。また図3、図4、図5で説明した回路部分については詳細な説明を省略する。
図6の回路装置10は、バスBS2にテスト信号(第2のテスト信号)が出力されたか否かを検出するテスト信号検出回路96(第2のテスト信号検出回路)を含む。また回路装置10は、バスBS2にテスト信号が出力されたことがテスト信号検出回路96により検出されたときに、テスト信号のリピート信号をバスBS1に出力するテスト信号出力回路97(第2のテスト信号出力回路)を含む。
このようにすれば、例えばバスBS2がアップストリーム側のバスであるときに、テスト信号検出回路96が、バスBS2にテスト信号が出力されたか否かを検出できるようになる。そしてバスBS2にテスト信号が出力された場合には、テスト信号出力回路97が、当該テスト信号のリピート信号をバスBS1に出力する。こうすることで、バスBS2がアップストリーム側であった場合にも、USBの認証テストに適切に対応することが可能になる。即ち、バスBS1がアップストリーム側である場合には、バスBS1側のテスト信号検出回路95が、バスBS1に出力されたテスト信号を検出し、バスBS2側のテスト信号出力回路98が、テスト信号のリピート信号をバスBS2に出力する。一方、バスBS2がアップストリーム側である場合には、バスBS2側のテスト信号検出回路96が、バスBS2に出力されたテスト信号を検出し、バスBS1側のテスト信号出力回路97が、テスト信号のリピート信号をバスBS1に出力する。このようにすれば、バスBS1がアップストリーム側になり、バスBS2がダウンストリーム側になった場合と、バスBS2がアップストリーム側になり、バスBS1がダウンストリーム側になった場合の両方において、USBの認証テストに対して適切に対応できるようになる。
また図6では、回路装置10に動作設定回路31が設けられる。例えばバスモニター回路30に動作設定回路31が設けられる。また物理層回路11は、バスBS1がアップストリーム側のバスであるか否かを検出するアップストリームポート検出回路91を含み、物理層回路12は、バスBS2がアップストリーム側のバスであるか否かを検出するアップストリームポート検出回路92を含む。これらのアップストリームポート検出回路91は、SOFのパケットを検出することなどで、アップストリーム側のバスか否かを検出する。そして動作設定回路31は、バスBS1がアップストリーム側のバスであると判断されたときは、テスト信号検出回路95を動作イネーブル状態に設定する。これにより、バスBS1にテスト信号が出力された場合に、動作イネーブル状態に設定されたテスト信号検出回路95を用いて、テスト信号を適切に検出できるようになる。そしてこのテスト信号に対応するリピート信号を、テスト信号出力回路98によりバスBS2に出力できるようになる。一方、動作設定回路31は、バスBS2がアップストリーム側のバスであると判断されたときは、テスト信号検出回路96を動作イネーブル状態に設定する。これにより、バスBS2にテスト信号が出力された場合に、動作イネーブル状態に設定されたテスト信号検出回路96を用いて、テスト信号を適切に検出できるようになる。そしてこのテスト信号に対応するリピート信号を、テスト信号出力回路97によりバスBS1に出力できるようになる。なお、動作設定回路31は、バスBS1がアップストリーム側のバスであると判断されたときは、ダウンストリーム側のテスト信号検出回路96を動作ディスエーブル状態又は省電力状態に設定してもよい。またバスBS2がアップストリーム側のバスであると判断されたときは、ダウンストリーム側のテスト信号検出回路95を動作ディスエーブル状態又は省電力状態に設定してもよい。動作イネーブル状態は、テスト信号検出回路95、96のテスト信号の検出動作が有効(可能)になる状態であり、動作ディスエーブル状態は、テスト信号の検出動作が無効(不能)になる状態である。省電力状態は、テスト信号の検出を通常に行う通常状態に比べて、消費電力が少なくなる状態である。
またテスト信号検出回路95は、バスBS1の信号をサンプリングする。そして所与の期間(例えば1フレーム以上の期間)にわたって、テスト信号に対応する信号レベル(例えばTest_J、Test_Kの信号レベル)が継続(連続)してサンプリングされたときに、テスト信号が検出されたと判断する。同様にテスト信号検出回路96は、バスBS2の信号をサンプリングし、所与の期間にわたって、テスト信号に対応する信号レベルが継続してサンプリングされたときに、テスト信号が検出されたと判断する。このようにすれば、バスBS1、BS2の信号(信号レベル)をサンプリングしてモニターすることで、バスBS1、BS2に対してテスト信号が出力されたか否かを検出できるようになる。そして、所与の期間にわたって、テスト信号に対応する信号レベルが継続してサンプリングされたことを条件に、テスト信号が出力されたと判断されるため、テスト信号が出力されていないのに、テスト信号が出力されたと誤判定されてしまう事態を防止できる。
4.回路装置の詳細
次に本実施形態の回路装置10の詳細について説明する。図7は本実施形態の回路装置10の他の構成例である。充電回路221は、例えばUSBのBC1.2の仕様(Battery Charging Specification Rev1.2)に準拠した動作を行う回路である。BC1.2では、例えば500mA以下というVBUSの電源制限が例えば2A以下というように拡張されている。図7において充電回路221は例えばレギュレーター回路等を有し、外部電源が供給されてVBUSの給電を行う。また、従来はマスター側からスレーブ側にしか電源供給できなかったものが、BC1.2ではスレーブ側からマスター側にも電源供給できるようになった。例えばペリフェラルデバイス260がマスター(ホスト)の役割になり、メインコントローラー200がスレーブ(デバイス)の役割になった場合にも、スレーブであるメインコントローラー200からマスターであるペリフェラルデバイス260に対してVBUSの電源を供給できる。
BC1.2を実現するためには、充電回路221は、充電調停期間において、ペリフェラルデバイス260との間でDP、DMを用いた信号転送を行い、BC1.2のプロトコルを実行する必要がある。このためバススイッチ回路40は、後述の図12で説明するように、充電調停期間(BC1.2のプロトコルの実行期間)では、充電回路221に接続されるバスBS3(第3のバス)とバスBS2(第2のバス)との間の接続をオンにする(オフからオンに切り替える)。即ち、バスBS3とバスBS2を電気的に接続する。例えばバスBS3とバスBS2の間に設けられるスイッチ素子をオンにして、充電回路221がペリフェラルデバイス260との間でDP、DMを用いた信号転送を実行できるようにする。こうすることで、充電調停期間において、BC1.2のプロトコルを実行して、充電の調停処理を行うことが可能になる。例えば、適切な充電電流に設定できるので、充電スピードを上げることができる。
図8は回路装置10の詳細な構成例である。図8では回路装置10が、基準電流回路13、14、クロック信号生成回路50、電源回路60を更に含んでいる。基準電流回路13、14は、各々、物理層回路11、12で用いられる基準電流を生成するための回路であり、外付け部品である抵抗RI、REを用いて基準電流を生成する。クロック信号生成回路50は、回路装置10で用いられる各種のクロック信号を生成する回路であり、発振回路52、PLL回路54を含む。発振回路52には、外付け部品である発振子XTALやキャパシターCC1、CC2が接続される。発振子XTALは例えば水晶振動子等により実現される。そして発振回路52は、発振子XTALの発振動作を行って、発振信号に基づくクロック信号を生成する。PLL回路54は、生成されたクロック信号に基づいて、後述の図33に示すような多相のクロック信号を生成する。電源回路60は、外部電源電圧が供給されて、回路装置10で用いられる各種の電源電圧を生成する。具体的には電源回路60のレギュレーター62が外部電源電圧のレギュレートを行って、外部電源電圧よりも低電圧の電源電圧を生成して、回路装置10の各回路ブロックに供給する。
処理回路20は、リンク層回路22、リピーターロジック回路24などを含む。リンク層回路22は、リンク層に相当する処理を行う回路である。リンク層回路22は、例えばUSBにより受信したシリアルデータをパラレルデータに変換するシリアル/パラレル変換処理や、パラレルデータを送信用のシリアルデータに変換するパラレル/シリアル変換処理や、NRZIの符号化や復号化のための処理などを行う。リピーターロジック回路24は、バスBS1側から受信したパケットをバスBS2側に送信し、バスBS2側から受信したパケットをバスBS1側に送信するためのロジック処理を行う。例えば、後述の図33、図34で詳細に説明するように、受信したパケットの各ビットはクロック信号を用いてサンプリングされ、サンプリングにより得られたシリアルデータがパラレルデータに変換される。そして、NRZIなどの各種のロジック処理が行われた後のパラレルデータが、シリアルデータに変換されて、回路装置10内のクロック信号に同期して送信される。このようにすることで、パケットのビットの再同期化処理(リシンクロナイズ)などの所定の信号処理が実現される。
図9、図10、図11は本実施形態の回路装置10の動作説明図である。図9に示すように、期間T1では、バススイッチ回路40はバスBS1、BS2の間の接続をオンにする。例えばバスモニター回路30からのスイッチング制御信号がアクティブになることで、DP、DMの信号線の各々に対応して設けられたスイッチ素子がオンになり、バスBS1、BS2が電気的に接続される。これにより、バスBS1に接続されるメインコントローラー200と、バスBS2に接続されるペリフェラルデバイス260(例えば図1の携帯型端末装置250)は、バスBS1、バススイッチ回路40、バスBS2の転送経路TR1において、USBの信号転送を行うことが可能になる。即ち、信号DP、DMを用いた信号転送が可能になる。一方、図10に示すように、期間T1の後の期間T2では、バススイッチ回路40はバスBS1、BS2の間の接続をオフにする。例えばバスモニター回路30からのスイッチング制御信号が非アクティブになることで、信号DP、DMの各々に対応して設けられたスイッチ素子がオフになり、バスBS1、BS2が電気的に非接続になる。そして処理回路20は、この期間T2において、バスBS1、BS2の間で物理層回路11、12を介してパケットを転送する転送処理を行う。即ち転送経路TR2でのパケットの転送処理が行われる。例えば期間T2において、バスモニター回路30からの転送処理の指示信号(許可信号)がアクティブになることで、処理回路20は転送経路TR2でのパケットの転送処理を開始する。この転送処理では、パケットのビットの再同期化処理などの所定の信号処理が行われて、信号品質の改善が実現される。
図11は、図7の構成例での回路装置10の動作説明図である。図11では、バススイッチ回路40は、充電調停期間において、充電回路221に接続されるバスBS3、BS2の間の接続をオンにする。例えばバスBS3、BS2の間において信号DP、DMの各々に対応して設けられたスイッチ素子が、充電調停期間においてオンになり、バスBS3とバスBS2が電気的に接続される。これにより例えば充電回路221とペリフェラルデバイス260との間で、例えばBC1.2のプロトコルが実行されて、充電の調停処理等が実現される。そして、この充電調停期間(BC1.2のプロトコル実行期間)の後に、図9の期間T1に切り替わって、転送経路TR1での信号転送が行われる。その後に、図10の期間T2に切り替わって、転送経路TR2でのパケットの転送処理が行われる。
以上のように本実施形態では、バスBS1、BS2間で物理層回路11、12を介したパケット転送を行う処理回路20と、バスをモニターするバスモニター回路30と、モニター結果に基づきバスBS1、BS2の間の接続のオン、オフを行うバススイッチ回路40が設けられる。このようにすれば、例えばバスBS1、BS2での信号の信号特性が劣化している場合にも、図10の転送経路TR2でのパケットのビットの再同期化処理などの所定の信号処理により、信号特性の劣化を改善できるようになる。
例えば図1のようにケーブル224が長かったり、大きな寄生容量や寄生抵抗が転送経路に存在したりする場合には、信号特性が大きく劣化してしまい、適正な信号転送を実現できないという問題がある。この点、例えばメインコントローラー200と携帯型端末装置250(ペリフェラルデバイス)との間に本実施形態の回路装置10を配置すれば、劣化した信号特性を改善できるようになる。従って、メインコントローラー200と携帯型端末装置250との間での適正な信号転送を実現できるようになる。
また本実施形態では、バスモニター回路30によりバスBS1、BS2の状態がモニターされ、モニター結果に基づいて、バススイッチ回路40によりバスBS1、BS2の間の接続のオン、オフが行われる。従って、例えばHSモードによる高速なパケット転送が行われる前の期間T1において、図9に示すようにバススイッチ回路40によりバスBS1、BS2を電気的に接続できるようになる。これにより、この期間T1においては、メインコントローラー200とペリフェラルデバイス260との間で、信号DP、DMを用いた信号転送を行うことが可能になり、HSモードのパケット転送の前段階での種々のやり取りが可能になる。そして期間T2では、図10に示すように、バスBS1、BS2の間の接続がオフになり、転送経路TR2でのHSモードのパケット転送が行われるようになる。そして、このパケット転送の際には、パケットのビットの再同期化が行われるため、図1で説明したような信号特性の劣化が改善された高品質のパケット転送を実現できる。
なお、図1に示すUSB−HUB210は、USB規格のプロダクトIDやベンダーIDを有している。これに対して本実施形態の回路装置10はこのようなプロダクトIDやベンダーIDを有しておらず、この点において本実施形態の回路装置10はUSB−HUB210とは異なる。
また信号特性の劣化を改善する回路装置として、信号DP、DMの振幅調整や開口調整をアナログ回路により行うリドライバーと呼ばれる回路装置もある。しかしながら、リドライバーは、図10の転送経路TR2のようなパケット転送を行うものではないため、劣化した信号の信号特性を再同期化処理により改善することはできず、この点において本実施形態の回路装置10とは異なる。
また図9〜図11のペリフェラルデバイス260は、CarPlayやUSBのOTG(On-The-GO)のように、ホスト(マスター)の役割とデバイス(スレーブ)の役割を交換できるものであってもよい。例えば図1の携帯型端末装置250が、CarPlay等を行うことが可能なペリフェラルデバイス260であったとする。この場合に、メインコントローラー200とペリフェラルデバイス260(携帯型端末装置250)の間に、信号特性の劣化の改善のためのUSB−HUBを配置する手法も考えられる。しかしながら、ペリフェラルデバイス260がホストになった場合には、USB−HUBのダウンストリームポートに、ホストであるペリフェラルデバイス260が接続されることになってしまい、適正なパケット転送を実現できないという問題がある。
この点、本実施形態の回路装置10は、USB−HUBとは異なり、例えば図9〜図11のバスBS2に接続されるペリフェラルデバイス260の役割が、ホストに切り替わった場合にも、これに対応できるという利点がある。例えばホストやデバイスの役割についての切替処理や設定処理は、期間T1において行えばよい。そして、ペリフェラルデバイス260の役割がホスト又はデバイスに決定した後に、期間T2において図10に示すような転送経路TR2でのパケット転送を行えばよい。従って本実施形態の手法によれば、ペリフェラルデバイス260がCarPlay等のデバイスであっても、適正なパケット転送を実現できるという利点がある。
次に本実施形態の詳細な動作例について説明する。図12はケーブルアタッチ後のUSBの動作シーケンスを示す信号波形図である。図12は、差動の信号DP、DMの各種状態と、バススイッチ回路40のスイッチ素子のオン、オフ状態を示している。
図12においてBCスイッチとUSBスイッチはバススイッチ回路40に設けられるスイッチ素子である。具体的にはBCスイッチは、バススイッチ回路40において、図11のバスBS3(充電回路)とバスBS2(ペリフェラルデバイス)の間に設けられるスイッチ素子である。USBスイッチは、バススイッチ回路40において、バスBS1(メインコントローラー)とバスBS2(ペリフェラルデバイス)の間に設けられるスイッチ素子である。転送処理のオフ、オンは、図10の転送経路TR2での転送処理のオフ、オンを示している。
ケーブルアタッチ(タイミングt1)の後、前述したBC1.2のプロトコルが実行される。BC1.2のプロトコルが実行されるB1に示す期間が充電調停期間である。
次に、デバイス側(ペリフェラルデバイス)がプルアップ抵抗をオンにすることで、信号DPの電圧がプルアップされて、FSモードに移行する(t2)。即ち、FSアイドルに移行し、一定時間、何もなければ、サスペンド状態に移行する。
次に、ホスト側(メインコントローラー)がリセットを開始すると(t3)、プルアップされていた信号DPの電圧がLレベルになる。これをデバイス側が検知し、デバイス側がデバイスチャープKを送出する(t4)。その後、一定時間経過が経過すると、デバイス側はデバイスチャープKを停止する(t5)。すると、ホスト側がホストチャープK/Jを実行する(t6)。デバイス側は、ホストチャープK/Jを検出することで、ホスト側がHSモードに対応していることを認識して、HSターミネーションをオンにする(t7)。これにより信号DP、DMの振幅が例えば400mVに低下して、HSモードに移行する。そしてホスト側がリセットを終了すると(t8)、HSアイドルに移行し、ホスト側はSOFの送出を開始する(t9)。
本実施形態では、バスBS3とバスBS2を接続するBCスイッチのイネーブル、ディスエーブルの設定が可能になっている。BCスイッチがイネーブルに設定されている場合、図12の期間B1に示す充電調停期間(BC1.2のプロトコル実行期間)においては、状態B2に示すようにBCスイッチがオンになり、USBスイッチがオフになる。例えば図11において、BCスイッチがオンになることで、バスBS3、BS2の間の接続がオンになり、USBスイッチがオフになることで、バスBS1、BS2の間の接続がオフになる。これにより、充電回路221とペリフェラルデバイス260との間で、信号DP、DMを用いた充電調停等のための信号処理が可能になる。
FSモードに移行すると、状態B3に示すようにUSBスイッチがオンになり、BCスイッチはオフになる。USBスイッチがオンになることでバスBS1、BS2の間の接続がオンになり、BCスイッチがオフになることで、バスBS3、BS2の間の接続がオフになる。これにより図9に示すように、メインコントローラー200とペリフェラルデバイス260との間で、信号DP、DMを用いた転送経路TR1での信号転送が可能になる。このとき、状態B4に示すように、図10の転送経路TR2での転送処理はオフになっている。
そして本実施形態では、バスBS1、BS2の間の接続のオン、オフの切替タイミング(期間T1、T2の切替タイミング)が、図12の期間B5に示す範囲内のタイミングに設定される。即ち、少なくともデバイスチャープKの開始タイミング(t4)の後に、バスBS1、BS2の間の接続がオンからオフに切り替わる(期間T1からT2に切り替わる)。或いは、少なくともホストチャープK/Jの終了タイミング(t8)の後に、バスBS1、BS2の間の接続がオンからオフに切り替わる。例えば少なくともデバイスチャープKの開始タイミング(t4)の後であって、例えばSOF送出の開始タイミング(t9)の前において、バスBS1、BS2の間の接続がオンからオフに切り替わり、図10の転送経路TR2での転送処理がオフからオンに切り替わる。つまり、期間B5に示す範囲内のタイミングで、状態B6に示すように、バスBS1とバスBS2を接続するUSBスイッチがオンからオフに切り替わり、転送経路TR2での転送処理がオフからオンに切り替わる。なお、BCスイッチがディスエーブルに設定されている場合には、状態B2、B3に示すようなBCスイッチのオン、オフの切替は行われず、状態B7に示すようにBCスイッチはオフのままになる。
このように本実施形態では、期間T1(B3)においては、USBスイッチがオンになることで、バスBS1、BS2の間の接続がオンになる。そして図9に示すような転送経路TR1での信号転送が、例えばメインコントローラー200とペリフェラルデバイス260との間で行われる。一方、期間T2(B6)においては、USBスイッチがオフになることで、バスBS1、BS2の間の接続がオフになり、処理回路20の転送処理がオンになることで、図10に示す転送経路TR2でのパケット転送が行われる。なお切替タイミングは、期間B5の範囲内のタイミングであるため、図12では、USBスイッチのオン、オフの切替タイミングや転送処理のオン、オフの切替タイミングの範囲を点線で示している。
そして本実施形態では、少なくともデバイスチャープKの開始タイミング(t4)の後に、バススイッチ回路40が、バスBS1、BS2の間の接続をオンからオフに切り替え、処理回路20が図10の転送経路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が、バスBS1、BS2の間の接続をオンからオフに切り替え、処理回路20が図10の転送経路TR2での転送処理を開始してもよい。
このようにすれば、例えばホスト側及びデバイス側の双方がHSモードに対応していると判断され、HSモードに完全に切り替わったと判断された後に、処理回路20の転送処理を適正に開始できるようになる。
このように図12の期間B5内の切替タイミングは、少なくともデバイスチャープKの開始タイミング後であればよい。但し、切替によるグリッジの発生による悪影響も考慮する必要がある。従って、切替タイミングは、信号DP、DMの所定の電圧レベル(例えばLレベル)に設定されている期間内であることが望ましい。例えば図12のタイミングt5〜t6の間の期間やt8〜t9の間の期間などである。
以上のように本実施形態では、図12の期間B5の切替タイミングの前においては、状態B3に示すようにUSBスイッチをオンにすることで、ホスト側とデバイス側の間でUSBのバス上での信号のやり取りが可能になる。バスモニター回路30は、USBのバス上での信号のやり取りをモニターする。そして、例えばデバイスチャープKやホストチャープK/Jの検出により、HSモードの転送が可能であると判断したら、USBスイッチをオンからオフに切り替え、処理回路20による転送処理をオフからオンに切り替える。こうすることで、ホスト側とデバイス側の間での信号のやり取りの後に、HSモードの転送処理に適正に移行することが可能になる。
また図12の期間B1に示すような図11の充電回路221による充電調停期間においては、状態B2に示すようにBCスイッチをオンにして、USBスイッチをオフにする。こうすることで、例えば図11において充電回路221とペリフェラルデバイス260との間での適正な充電の調停処理を実現することが可能になる。
図13は、HSモードの転送においてリセットが行われた場合の動作シーケンスを示す信号波形図である。ホスト側は、HSモードでは、125μs(t11、t12)ごとにSOFのパケットを送出する。ホスト側がリセットを開始すると(t12)、FSモードに移行し、パケットがバス上に無くなってから3ms以上経過すると、デバイス側はHSターミネーションをオフし、プルアップ抵抗をオンにする(t13)。そしてデバイス側は、バスの状態がSE0であることが確認されたため(t14)、リセットが開始されたと判断し、デバイスチャープKを送出する。これに対してホスト側がホストチャープK/Jを送出することで、FSモードからHSモードに移行する。
図13のC1に示すように、本実施形態では、ホストがリセットを開始した場合に、USBスイッチがオフからオンに切り替わり、処理回路20の転送処理がオンからオフに切り替わる。即ちホストによりリセットが行われた場合にバススイッチ回路40がバスBS1、BS2の間の接続をオフからオンに切り替え、処理回路20が転送処理を停止する。
このようにすれば、例えばHSモードの転送中にリセットが行われた場合に、バスBS1、BS2を電気的に接続して、例えばメインコントローラー200とペリフェラルデバイス260との間で、信号DP、DMを用いた信号転送を行うことが可能になる。その後、例えば図13の期間C2に示す範囲内の切替タイミングにおいて、USBスイッチがオンからオフに切り替わり、処理回路20の転送処理がオフからオンに切り替わる。これにより、ホスト側とデバイス側の間での信号のやり取りの後に、HSモードの転送処理に適正に移行することが可能になる。
図14はHSモードの転送からサスペンド、レジュームに移行する場合の動作シーケンスを示す信号波形図である。ホスト側がサスペンドを開始すると(t22)、FSモードに移行し、パケットがバス上に無くなってから3ms以上経過すると、デバイス側はHSターミネーションをオフし、プルアップ抵抗をオンにする(t23)。そしてデバイス側は、バスの状態がJであることが確認されたため(t24)、サスペンドが開始されたと判断する。そしてホスト側がレジュームを開始し(t25)、レジュームが終了すると(t26)、デバイス側はレジュームの終了と同時に、サスペンドに入った時点のモードに戻す。そしてプルアップ抵抗をオフし、HSターミネーションをオンにして、HSモードに戻る。
図14の状態D1に示すように、本実施形態では、ホストがサスペンドを開始した場合にもUSBスイッチがオフからオンに切り替わり、処理回路20の転送処理がオンからオフに切り替わる。即ちホストによりサスペンドが行われた場合に、バススイッチ回路40がバスBS1、BS2の間の接続をオフからオンに切り替え、処理回路20が転送処理を停止する。
このようにすれば、例えばHSモードの転送中にサスペンドが開始した場合に、バスBS1、BS2を電気的に接続して、例えばメインコントローラー200とペリフェラルデバイス260との間で、信号DP、DMを用いた信号転送を行うことが可能になる。
そしてサスペンドの後、ホスト側がレジュームを行うことで、図14の状態D2に示すように、USBスイッチがオンからオフに切り替わり、処理回路20の転送処理がオフからオンに切り替わる。即ち本実施形態では、ホストによりサスペンドが行われた後、リジュームが行われた場合に(レジュームの終了タイミングで)、バススイッチ回路40がバスBS1、BS2の間の接続をオンからオフに切り替え、処理回路20が転送処理を開始する。このようにすれば、サスペンド後のレジュームにより、HSモードのデータ転送を適正に再開できるようになる。なお、サスペンドからリセットへの移行の動作シーケンスは、ケーブルアタッチからFSアイドルの後においてサスペンドからリセットに入る動作シーケンスと同様になる。
5.第1の構成例の動作の詳細
次に図3、図4の第1の構成例の動作の詳細について、図15、図16等を用いて説明する。本実施形態では図12のB5の範囲内のタイミングで、バススイッチ回路40を介した転送経路TR1(図9)から、処理回路20を介した転送経路TR2(図10)に切り替えて、HSモードの通信を行っている。また図13のC1に示すタイミングで、処理回路20を介した転送経路TR2から、バススイッチ回路40を介した転送経路TR1に切り替えている。そしてホスト、デバイスがバスBS1、BS2に接続された状態であれば、このようなタイミングでの転送経路の切替で問題なく動作が行われるが、デバイスが抜き取られて切断状態となった場合には問題が生じる。
例えば図12のデバイスチャープの実行中(t4〜t5)にデバイスが切断されると、デバイスチャープの長さが所望の時間(1ms)を満たさなくなるため、ホストはデバイスの切断を検出できる。またホストチャープの実行中(t6〜t8)にデバイスが切断されると、ホストチャープの信号レベルが所望の信号レベル(400mV)にならないため、ホストはデバイスの切断を検出できる。一方、チャープの終了後(t8の後)にデバイスが切断されると、ホストはデバイスの切断を検出することができない。なぜなら、チャープ終了後は、ホストと処理回路20との間でHS接続が確立しているため、バスBS2で生じたデバイス切断による波形変化がバスBS1側で生じないため、ホストはデバイスの切断を検出することができない。
また3ms以上のSE0状態が検出された後(t13の後)において、更にSE0状態が検出され、デバイスチャープが検出できなければ、ホストはデバイス切断を検出できる。
このように、処理回路20を介した転送経路TR2に切り替わった後において、HSモードの通信が行われると、ホストと処理回路20との間でHS接続が確立しており、HSパケットの波形に変化が生じないため、デバイスが切断されても、ホストはそれを検出することができない。ホストがデバイスに対して何らかのコマンドを発行して、デバイスが無応答であればデバイス切断とみなすという手法も考えられるが、この手法では、切断検出用のコマンドを定期的に発行しなければならず、ホストのソフトウェア制御が複雑になってしまう。
そこで本実施形態では、HSモードの通信時にデバイスが切断された場合、ホストがそのデバイス切断を検出できるようにしている。具体的には図15に示すように、バスBS1に接続されている物理層回路11に、アップストリームポート検出回路91と切断検出回路93を設ける。またバスBS2に接続されている物理層回路12に、アップストリームポート検出回路92と切断検出回路94を設ける。アップストリームポート検出回路91、92は、バスモニター回路30から出力されるHSモード信号(HSモードへの切替信号)により動作イネーブル状態(有効)になる。即ちFSモードからHSモードに切り替わると動作イネーブル状態になる。そしてアップストリームポート検出回路91、92は、バスBS1、BS2から入力されるHSパケットのPIDを逐一解析し、アップストリームポート検出回路91、92のいずれか一方が、ホストが送出したSOF(SOFのパケット)を検出する。そしてアップストリームポート検出回路91、92は、SOFの検出信号SDET1、SDET2を用いて、SOFの検出結果をバスモニター回路30に通知する。これにより、バスモニター回路30は、ホストが接続されているアップストリーム側のバスが、バスBS1、BS2のどちらのバスであるかを認識する。
バスモニター回路30は、SOFの検出信号SDET1、SDET2を、クロック同期された動作イネーブル信号ENB1、ENB2(有効信号)として出力する。動作イネーブル信号ENB1、ENB2は、切断検出回路93、94に入力される。この場合に、SOFが検出されていないダウンストリーム側の切断検出回路(ホストが接続されていない側の切断検出回路)が動作イネーブル状態になる。
切断検出回路93、94は、動作イネーブル状態になると、処理回路20を介してバスBS1、BS2に出力されるSOFのリピート波形のEOPの信号振幅を検定する。そしてEOPの信号振幅が625mVを超えると、デバイスが切断されたと判断し、切断検出信号DDET1、DDET2を用いてバスモニター回路30に通知する。なお切断検出の判断の際に使用する信号振幅のしきい値は、525mV〜625mVの範囲内で設定可能である。バスモニター回路30は、切断検出信号DDET1、DDET2によりデバイス切断が通知された場合は、動作モードをHSモードからFSモードに設定して、処理回路20を介した転送経路TR2からバススイッチ回路40を介した転送経路TR1に切り替える。
図16は第1の構成例の動作を詳細に説明する信号波形例である。ここではバスBS1にホストが接続され、バスBS2にデバイスが接続されており、HSモードの通信が行われているものとする。なお、前述したようにバスBS2にホストが接続され、バスBS1にデバイスを接続される接続態様も可能である。
HSモードでは125μs毎に、フレームの先頭を示すSOFのパケットがホストから送出される。このSOFのパケットは他のトークンパケットとは異なり、ホストからFrameNumberを示すために用いられ、デバイスはこれに応じる必要はない。また他のパケットとは異なりSOFのパケットのEOPは40bit分の長さを持つ。
図16のJ1に示すように、ホストが送出するHSパケットは、バスBS1から入力されて、処理回路20を介してバスBS2にリピート出力される。このホストからのHSパケットに応じてデバイスが送出するHSパケットは、バスBS2から入力されて、処理回路20を介してバスBS1にリピート出力される。HS動作時は、バスモニター回路30からのHSモード信号により、アップストリームポート検出回路91、92が動作イネーブル状態になっており、アップストリームポート検出回路91、92は、各々、バスBS1、BS2からのHSパケットのPIDを逐一解析する。図16では、アップストリームポート検出回路91が、ホストから送出されるSOF1を受信したため、J2に示すように、SOFの検出信号SDET1=Hレベルを出力している。一方、アップストリームポート検出回路92はSOFを受信していないため、検出信号SDET2=Lレベルを出力している。
バスモニター回路30は、入力された検出信号SDET1=Hレベルと検出信号SDET2=Lレベルとから、ホストが接続されているアップストリーム側のバスは、バスBS1であると認識する。そして、検出信号SDET1、SDET2をクロック同期して、J3に示すように、動作イネーブル信号ENB1=Lレベル、ENB2=Hレベルを出力する。動作イネーブル信号ENB1=Lレベル、ENB2=Hレベルは、各々、切断検出回路93、94に入力される。これによりダウンストリーム側の切断検出回路94が動作イネーブル状態になり、アップストリーム側の切断検出回路93は動作ディスエーブル状態になる。動作イネーブル状態になった切断検出回路94は、バスBS2にリピート出力されるSOFのEOPの信号振幅を検知し続けるが、図16のSOF1〜SOF3を転送する期間では、デバイスが接続された状態であるため、切断検出信号DDET2=Lレベルを出力する。そして、J4に示すように、デバイスが切断された後のSOF4を転送する期間以降では、デバイスのHSターミネーションが失われて、EOPの信号振幅レベルが増大し、625mVを超えるため、J5に示すように、切断検出信号DDET2=Hレベルを出力する。
バスモニター回路30は、入力された切断検出信号DDET1=Lレベル、DDET2=Hレベルから、ダウンストリーム側のバスBS2でデバイスが切断されたことを認識する。そしてJ6に示すように、動作モードをHSモードからFSモードにして、処理回路20の転送経路TR2からバススイッチ回路40の転送経路TR1に切り替える。そのため、SOF5を転送する期間以降のHSパケットは、J7に示すように、バススイッチ回路40を経由してバスBS1からバスBS2に送られる。これによりSOF5以降は、EOPの信号振幅レベルが増大した波形が、ホストのUSBバス(DP/DM)に直接伝わる。従って、ホストは、内蔵する切断検出回路を用いて、SOF5を転送する期間以降のEOPの信号振幅レベルを検知することで、デバイスが切断されたことを認識できるようになる。
以上のように本実施形態によれば、HSモードの通信時にデバイスが切断された場合に、デバイスのHSターミネーションが失われて信号振幅が増大したSOFの波形を、直接にホストが検出することができ、ホストは、デバイスが切断されたことを容易に判定することが可能になる。
6.第2の構成例の動作の詳細
次に図5、図6の第2の構成例の動作の詳細について、図17、図18等を用いて説明する。本実施形態の回路装置10では、HSモードにおける転送経路は処理回路20を介した転送経路TR2である。この回路装置10においては、バスBS1及びバスBS2の一方から入力されたHSのパケットを、処理回路20の内部で一旦受信し、受信したデータを内部で同期化して、バスBS1及びバスBS2の他方に出力するという動作を行っている。これにより、劣化した信号に含まれるジッタの除去や波形改善を行い、特性の優れたHS波形を提供することが可能となる。
そしてホスト及びデバイスとの間で一般的なHSパケットが送受信される通常使用時においては、このような処理回路20を介した転送経路TR2での転送により、問題なく動作する。しかしながら、USBの規格(USB2.0)では、HSモードのUSB認証テスト用にテストモードが設けられており、これらのテストモードの中には、対応することができないテストモードがあることが判明した。
例えばTest_Packetのテストモードは対応可能である。このテストモードは、HS送信波形の品質判定のために、アイパターン測定に用いられる。回路装置10を組み込んだシステム構成においては、ホストから入力したTestPacketをリピート出力し、ダウンストリーム側で波形観測することが考えられる。本実施形態の回路装置10では、TestPacketは、通常のHSパケットと同様に受信して同期化し、ダウンストリーム側に出力することが可能であるため、問題なく対応することができる。
Test_SE0_NAKのテストモードも対応可能である。このテストモードは、HS動作時のSE0状態のDCレベル測定に用いられる。回路装置10を組み込んだシステム構成においては、ホストから入力したSE0をリピート出力し、ダウンストリーム側でDCレベル測定することが考えられる。本実施形態の回路装置10では、SE0状態(DP=0mV、DM=0mV)は、バスアクティビティーがない状態であるため、処理回路20を介した転送経路TR2ではなく、バススイッチ回路40を介した転送経路TR1が選択される。従って、ホスト側のSE0が、そのままダウンストリーム側に送られるため、問題なく対応することができる。
Test_Jのテストモードは対応不可である。このテストモードは、HS動作時のTest_J状態のDCレベル測定に用いられる。回路装置10を組み込んだシステム構成においては、ホストから入力したTest_Jをリピート出力し、ダウンストリーム側でDCレベル測定することが考えられる。本実施形態の回路装置10では、Test_J状態(DP=400mV、DM=0mV)は、バスアクティビティーがある状態であるため、処理回路20を介した転送経路TR2が選択される。しかし、処理回路20を介して送受信することができるのは、HSパケットであり、DC的な信号であるTest_Jは通過できないため、対応することができない。
Test_Kのテストモードも対応不可である。このテストモードは、HS動作時のTest_K状態のDCレベル測定に用いられる。回路装置10を組み込んだシステム構成においては、ホストから入力したTest_Kをリピート出力し、ダウンストリーム側でDCレベル測定することが考えられる。本実施形態の回路装置10では、Test_K状態(DP=0mV、DM=400mV)は、バスアクティビティーがある状態であるため、処理回路20を介した転送経路TR2が選択される。しかし、処理回路20を介して送受信することができるのは、HSパケットであり、DC的な信号であるTest_Kは通過できないため、対応することができない。
このように、DC的な信号であるTest_J、Test_Kを受信しても、それを通過するができないため、回路装置10を組み込んだシステム機器では、USBの認証テストの項目を満足することができないという課題がある。そこで本実施形態では、HSモードの通信時に、DC的な信号であるTest_J、Test_Kがホストから入力された場合に、これを検出してデバイスに出力できるようにしている。
具体的には図17に示すように、バスBS1に接続される物理層回路11に、アップストリームポート検出回路91とテスト信号出力回路97を設ける。またバスBS2に接続される物理層回路12に、アップストリームポート検出回路92とテスト信号出力回路98を設ける。またバスモニター回路30に、テスト信号検出回路95、96とタイマー99を設ける。アップストリームポート検出回路91、92はバスモニター回路30から出力されるHSモード信号で有効になる。そしてアップストリームポート検出回路91、92は、バスBS1、BS2から入力されるHSパケットのPIDを逐一解析し、いずれか一方が、ホストが送出したSOFを検出する。アップストリームポート検出回路91、92は、検出信号SDET1、SDET2により、SOFの検出結果をバスモニター回路30に通知する。これにより、バスモニター回路30は、ホストが接続されているアップストリーム側のバスが、バスBS1、BS2のどちらのバスであるかを認識する。
検出信号SDET1、SDET2は、バスモニター回路30のテスト信号検出回路95、96に入力される。そしてテスト信号検出回路95、96のうち、ホストが接続されているアップストリーム側のテスト信号検出回路が動作イネーブル状態になる。ここで、テスト信号検出回路95をアップストリーム側のテスト信号検出回路として説明する。テスト信号検出回路95は、動作イネーブル状態になると、バスBS1から入力されるHS信号を、タイマー99から得られるサンプリングクロックを用いて検出し続ける。そしてテスト信号検出回路95は、Test_J又はTest_Kを検出したら、ダウンストリーム側のテスト信号出力回路98に対して、Test_Jの検出信号TJDET1、或いはTest_Kの検出信号TKDET1を出力する。テスト信号出力回路98は、Test_Jの検出信号TJDET1又はTest_Kの検出信号TKDET1が入力されたら、バスBS2に対してTest_Jの出力又はTest_Kの出力を行う。
図18は第2の構成例の動作を詳細に説明する信号波形例である。ここではバスBS1にホストが接続され、バスBS2にデバイスが接続されており、HSモードの通信が行われているものとする。
HSモードでは、フレームの先頭を示すSOFのパケットが125us毎にホストから送出される。図18のK1に示すように、ホストが送出するHSパケットは、バスBS1から入力されて、処理回路20を介してバスBS2にリピート出力される。このホストからのHSパケットに応じてデバイスが送出するHSパケットは、バスBS2から入力されて、処理回路20を介してバスBS1にリピート出力される。HS動作時は、バスモニター回路30からのHSモード信号により、アップストリームポート検出回路91、92が動作イネーブル状態になっており、アップストリームポート検出回路91、92は、各々、バスBS1、BS2からのHSパケットのPIDを逐一解析する。図18では、アップストリームポート検出回路91が、ホストから送出されるSOF1を受信したため、K2に示すように、アップストリームポート検出回路91が検出信号SDET1=Hレベルを出力し、アップストリームポート検出回路92が検出信号SDET2=Lレベルを出力する。
バスモニター回路30は、入力された検出信号SDET1=HレベルとSDET2=Lレベルとから、ホストが接続されているアップストリーム側のバスは、バスBS1であると認識する。また検出信号SDET1、SDET2は、テスト信号検出回路95、96に入力され、アップストリーム側のテスト信号検出回路95が動作イネーブル状態に設定され、ダウンストリーム側のテスト信号検出回路96が動作ディスエーブル状態に設定される。動作イネーブル状態に設定されたテスト信号検出回路95は、バスBS1から入力されるアップストリームポートのHS信号を、タイマー99から得られるサンプリングクロックSMCKでサンプリングし続ける。具体的にはHS_J又はHS_Kが、1フレーム(125us)を超える期間の間、サンプリングされ続けたら、Test_J又はTest_Kを検出したと判断する。図18の例では、SOF2の後に、K3に示すように、ホストからTest_Jが送出されている。テスト信号検出回路95は、送出されたTest_JをサンプリングクロックSMCKによりサンプリングし続け、K4に示すように、1フレーム以上、Test_Jが継続した場合に、K5に示すように、Test_Jの検出信号TJDET1=Hレベルを出力する。そしてホストがTest_Jの送出を開始すると、通常のHSパケットは停止するため、処理回路20を介したHSパケットのリピート出力は行われなくなる。この状態でダウンストリーム側のテスト信号出力回路98に、Test_Jの検出信号TJDET1=Hレベルが入力されると、K6に示すように、テスト信号出力回路98はバスBS2に対してTest_Jを出力することになる。
このように本実施形態によれば、HSモードの通信時にホストがDC的なTest_J又はTest_Kの信号を送出しても、それを検出してダウンストリーム側に出力することが可能になるため、回路装置10を組み込んだシステム機器はUSBの認証テストに適合することが可能となる。
7.第3の構成例
図19に本実施形態の回路装置10の第3の構成例を示す。第3の構成例の回路装置10は、物理層回路11、12と、処理回路20と、バススイッチ回路40と、スイッチ信号生成回路70を含む。スイッチ信号生成回路70はチャージポンプ回路80を含む。なお図3〜図8で説明した回路部分については、詳細な説明を省略する。また第1、第2、第3の構成例の少なくとも2つの構成例の組合わせについても、本実施形態の範囲内に含まれる。
図19の回路装置10はスイッチ信号生成回路70を含み、スイッチ信号生成回路70は、バスBS1とバスBS2との間の接続のオン及びオフを制御するスイッチ信号SWSを生成して、バススイッチ回路40に供給する。そしてスイッチ信号SWSにより、図9の期間T1ではバススイッチ回路40のスイッチ素子がオンになり、図10の期間T2では当該スイッチ素子がオフになる。なおバススイッチ回路40が複数のスイッチ素子を有する場合には、スイッチ信号生成回路70は、これらの複数のスイッチ素子をオン又はオフにする複数のスイッチ信号SWSを供給する。
そしてスイッチ信号生成回路70は、クロック信号に基づきチャージポンプ動作を行うチャージポンプ回路80を有する。チャージポンプ動作は、電荷を遷移させ、入力電圧と、キャパシターに充電された電圧とを重畳させることで出力電圧を得る方式の回路動作である。スイッチ信号生成回路70は、チャージポンプ回路80により昇圧された昇圧電源電圧に基づいてスイッチ信号SWSを生成する。例えばチャージポンプ回路80は、通常の電源電圧よりも高い電圧の昇圧電源電圧をチャージポンプ動作により生成する。例えばバススイッチ回路40のスイッチ素子を構成するトランジスターのしきい値電圧をVthとし、電源電圧をVDとした場合に、チャージポンプ回路80は、VH>VD+Vthとなる昇圧電源電圧VHを生成する。スイッチ信号生成回路70は、この昇圧電源電圧に基づいてスイッチ信号SWSを生成する。チャージポンプ回路80は、スイッチ信号生成回路70が有する回路(バッファー回路又はレベルシスター等)の電源電圧として、昇圧電源電圧を供給し、これらの回路はこの昇圧電源電圧に基づき動作する。
このように本実施形態では、バスBS1、BS2の間を電気的に接続又は非接続にするバススイッチ回路40を設けている。そしてスイッチ信号生成回路70は、チャージポンプ回路80により昇圧された昇圧電源電圧に基づいてスイッチ信号SWSを生成して、バススイッチ回路40に供給している。このように昇圧電源電圧に基づくスイッチ信号SWSを用いれば、バススイッチ回路40のスイッチ素子を適切にオン又はオフにすることが可能になり、例えば図9の期間T1の転送経路TR1での信号の適切なやり取りが可能になる。即ちスイッチ素子を構成するトランジスターのゲートに、昇圧電源電圧に基づくスイッチ信号SWSを供給することで、当該トランジスターを適切なオン状態にすることが可能になる。例えば前述のように昇圧電源電圧をVH>VD+Vthとすることで、スイッチ素子を通過する電圧範囲に制限ができるのを防止できる。またトランジスターのオン抵抗を十分に小さくすることが可能なる。またスイッチ素子を例えば第1導電型(例えばN型)のトランジスターだけで構成することで、当該第1導電型トランジスターのドレイン容量等に起因する寄生容量を低減することが可能になり、図10の期間T2での通信品質の劣化を抑制できるようになる。
また本実施形態ではチャージポンプ回路80は、バスBS1、BS2の間の接続がオンであるときにチャージポンプ動作を行うと共に、バスBS1、BS2の間の接続がオフであるときにもチャージポンプ動作を行う。ここでチャージポンプ動作は、連続的な動作だけではなく、間欠的な動作であってもよい。
例えば図9の期間T1において、チャージポンプ回路80がチャージポンプ動作を行い、チャージポンプ回路80の昇圧電源電圧に基づくスイッチ信号SWSがバススイッチ回路40のスイッチ素子に供給され、当該スイッチ信号SWSによりバスBS1、BS2の間の接続がオンになる。スイッチ素子がN型トランジスターである場合にはハイレベル(アクティブ)のスイッチ信号SWSがN型トランジスターのゲートに供給されてN型トランジスターがオンになる。一方、図10の期間T2のようにバスBS1、BS2の間の接続がオフであるときにも、チャージポンプ回路80がチャージポンプ動作を行い、チャージポンプ回路80の昇圧電源電圧に基づくスイッチ信号SWSがバススイッチ回路40のスイッチ素子に供給される。スイッチ素子がN型トランジスターである場合にはローレベル(非アクティブ)のスイッチ信号SWSがN型トランジスターのゲートに供給される。
このように期間T2においてもチャージポンプ回路80がチャージポンプ動作を行うようにすれば、期間T2から期間T1に切り替わった場合にも、適切な電圧レベルのスイッチ信号SWSをバススイッチ回路40のスイッチ素子に供給できるようになる。即ち、期間T2においてチャージポンプ動作をオフにしてしまうと、期間T2から期間T1の切り替わり時にチャージポンプ動作をオフからオンに切り替えた場合に、チャージポンプ動作による昇圧電圧は直ぐには立ち上がらないため、バススイッチ回路40のスイッチ素子を適切にオフできないおそれがある。スイッチ素子がN型トランジスターである場合には、スイッチ信号SWSをハイレベルの昇圧電圧に立ち上げるのに時間を要してしまい、期間T1においてN型トランジスターを適切にオンできなくなってしまう。
この点、本実施形態では、バスBS1、BS2の間の接続がオフである期間T2においても、チャージポンプ回路80がチャージポンプ動作を行うため、期間T2から期間T1に切り替わった際に、適切な昇圧電源電圧のレベルとなるスイッチ信号SWSを、バススイッチ回路40のスイッチ素子に供給できるようになる。
またチャージポンプ回路80は、図9の期間T1において、周波数f1(第1の周波数)のクロック信号CKに基づきチャージポンプ動作を行い、図10の期間T2において、周波数f1よりも低い周波数f2(第2の周波数)のクロック信号CKに基づきチャージポンプ動作を行う。
例えば期間T1においては、チャージポンプ回路80が、高い周波数f1のクロック信号CKに基づきチャージポンプ動作を行うことで、適切に昇圧された昇圧電源電圧に基づくスイッチ信号SWSをバススイッチ回路40に供給できる。一方、期間T2においては、チャージポンプ回路80が、遅い周波数f2のクロック信号CKに基づきチャージポンプ動作を行うことで、チャージポンプ動作に起因するスイッチノイズを低減でき、チャージポンプ回路80がノイズ源となり期間T2での通信(HSモード)の特性が劣化するのを抑制できる。例えば期間T2においては、バススイッチ回路40のスイッチ素子をオフできればよいため、周波数f2が低いことが原因で昇圧電源電圧のレベルが低下するのはある程度許容される。例えばスイッチ素子がN型トランジスターである場合には、期間T1においては、適切に昇圧されたハイレベルのスイッチ信号SWSをN型トランジスターに供給して、N型トランジスターをオンにする必要がある。これに対して期間T2においては、スイッチ信号SWSの電圧レベルはローレベルになるため、周波数f2が低くなることで昇圧電源電圧の電圧レベルが低下しても、それほど大きな悪影響はない。そして周波数f2が低くなることで、チャージポンプ動作に起因するスイッチノイズを低減でき、期間T2での通信特性が劣化するのを抑制できる。
またスイッチ信号生成回路70は、バスアクティビティーがなくなってから所与の期間が経過した後に、クロック信号CKの周波数(クロック周波数)を、周波数f2から周波数f1に変化させる。即ち低い周波数f2から高い周波数f1に変化させる。この所与の期間は、例えば2ms以上の長さの期間(例えば2ms以上で3ms未満の長さの期間)である。バスアクティビティーがなくなるとは、例えばパケットがバス上で転送されていない状態である。例えばUSBでは、バスアクティビティーがなくなってから3msが経過すると、リセット要求又はサスペンド要求のいずれが行われたかの判定が行われる。このため例えば2ms程度の期間が経過した場合には、クロック信号CKの周波数を、周波数f2から周波数f1に戻す。即ち、チャージポンプのクロック周波数を高い周波数f1に戻して、適切な昇圧電源電圧が生成されるようにする。これにより、期間T1において、バススイッチ回路40のスイッチ素子を適正にオンさせることが可能になり、スイッチ素子を通過する電圧範囲に制限ができてしまう事態の発生を抑制できる。
図20は第3の構成例の回路装置10の詳細な構成例である。図20では、回路装置10が、バスモニター回路30とクロック信号生成回路50を更に含んでいる。また充電回路221用のバスBS3が更に設けられている。充電回路221、バスBS3等については図7で説明した通りであるため、詳細な説明は省略する。
図20では、バスモニター回路30は、スイッチ制御のための制御信号をスイッチ信号生成回路70に出力する。即ちバスモニター回路30は、期間T1においてバスBS1、BS2の間の接続をオンにし、期間T2においてバスBS1、BS2の間の接続をオフにすることを指示する制御信号を、スイッチ信号生成回路70に出力する。スイッチ信号生成回路70は、バスモニター回路30からの制御信号(モニター結果)に基づいて、期間T1において、スイッチ信号SWS(スイッチング制御信号)をアクティブ(例えばハイレベル)にして、スイッチ素子をオンにする。またバスモニター回路30からの制御信号に基づいて、期間T2において、スイッチ信号SWSを非アクティブ(例えばローレベル)にして、スイッチ素子をオフにする。
また回路装置10は、チャージポンプ用のクロック信号CKを生成して、チャージポンプ回路80に供給するクロック信号生成回路50を含む。クロック信号生成回路50は、期間T2において、バスBS1及びバスBS2により転送されるパケットの信号に基づいて、チャージポンプ用のクロック信号CKを生成する。具体的にはSOFのパケットに基づいてクロック信号CKを生成する。例えばEOP(End Of Packet)に基づいてクロック信号CKを生成する。またクロック信号生成回路50は、データパケットの転送期間において、チャージポンプ回路80に供給するクロック信号CKを停止する。そしてクロック信号CKを停止してから所与の設定期間が経過したときに、クロック信号CKの信号レベルを、第1、第2の電圧レベルの一方の電圧レベルから他方の電圧レベルに変化させる。これらの詳細については後述する。
図21にスイッチ信号生成回路70、バススイッチ回路40の詳細な構成例を示す。スイッチ信号生成回路70は、チャージポンプ回路80とコントロール回路72を含む。チャージポンプ回路80は、チャージポンプのイネーブル信号ENCPとクロック信号CKが入力され、電源電圧VD、VSに基づいて昇圧電源電圧VHを生成する。そして生成された昇圧電源電圧VHを、コントロール回路72の対応する回路に供給する。
コントロール回路72は、インバーター回路IV1〜IV4、レベルシフター74、76、NAND回路NA1、NA2を含む。NAND回路NA1、NA2、インバーター回路IV3、IV4によりバッファー回路が構成されている。
スイッチ信号生成回路70には、スイッチ信号生成のイネーブル信号ENSWとセレクト信号SELが入力される。レベルシフター74は、イネーブル信号ENSWとその反転信号が入力され、チャージポンプ回路80からの昇圧電源電圧VHに基づいてレベルシフト動作を行い、レベルシフトされたイネーブル信号ENHを出力する。レベルシフター76は、セレクト信号SELとその反転信号が入力され、チャージポンプ回路80からの昇圧電源電圧VHに基づいてレベルシフト動作を行い、レベルシフトされたセレクト信号SELH、XSELHを出力する。XSELHはSELHの反転信号である。レベルシフター74、76の、「I」、「XI」は、各々、正転入力端子、反転入力端子を表し、「Q」、「XQ」は、各々、正転出力端子、反転出力端子を表す。
そしてバッファー回路を構成するNAND回路NA1、NA2、インバーター回路IV3、IV4は、レベルシフター74、76からのイネーブル信号ENH、セレクト信号SELH、XSELHに基づいて、スイッチ信号SWS1、SWS2(図19、図20のスイッチ信号SWS)を生成して、バススイッチ回路40に出力する。
バススイッチ回路40は、トランジスターTN1、TN2、TN3、TN4を含む。トランジスターTN1〜TN4はバススイッチ回路40のスイッチ素子を構成する。
具体的にはトランジスターTN1、TN2は、図19、図20のバスBS1、BS2の間の接続をオン又はオフするスイッチ素子に対応する。例えばトランジスターTN1は、バスBS1のDP1の信号線とバスBS2のDP2の信号線の間に設けられる。トランジスターTN2は、バスBS1のDM1の信号線とバスBS2のDM2の信号線の間に設けられる。
トランジスターTN3、TN4は、図20のバスBS2、BS3の間の接続をオン又はオフするスイッチ素子に対応する。例えばトランジスターTN3は、バスBS2のDP2の信号線とバスBS3のDP3の信号線の間に設けられる。トランジスターTN4は、バスBS2のDM2の信号線とバスBS3のDM3の信号線の間に設けられる。
そしてイネーブル信号ENSW(ENH)がローレベルになると、スイッチ信号の生成動作がディスイネーブルに設定される。この場合には、スイッチ信号SWS1、SWS2がローレベルになることで、N型のトランジスターTN1〜TN4がオフになり、バスBS1とバスBS2の間及びバスBS2とバスBS3の間の接続がオフになる。
一方、イネーブル信号ENSW(ENH)がハイレベルになると、スイッチ信号の生成動作がイネーブルに設定される。この状態で、セレクト信号SELがハイレベル(VDレベル)になると、レベルシフト後のセレクト信号SELHがローレベル(VSレベル)になり、セレクト信号XSELHがハイレベル(VHレベル)になる。これにより、スイッチ信号SWS1がハイレベル(VHレベル)になり、スイッチ信号SWS2がローレベル(VSレベル)になる。この結果、トランジスターTN1、TN2がオンになると共にトランジスターTN3、TN4がオフになり、バスBS1、BS2の間の接続がオンになり、バスBS2、BS3の間の接続がオフになる。従って、図9に示すような期間T1でのメインコントローラー200とペリフェラルデバイス260との間での信号のやり取りが可能になる。
一方、イネーブル信号ENSWがハイレベルになって、スイッチ信号の生成動作がイネーブルに設定された状態で、セレクト信号SELがローレベル(VSレベル)になると、レベルシフト後のセレクト信号SELHがハイレベル(VHレベル)になり、セレクト信号XSELHがローレベル(VSレベル)になる。これにより、スイッチ信号SWS1がローレベル(VSレベル)になり、スイッチ信号SWS2がハイレベル(VHレベル)になる。この結果、トランジスターTN3、TN4がオンになると共に、トランジスターTN1、TN2がオフになり、バスBS2、BS3の間の接続がオンになり、バスBS1、BS2の間の接続がオフになる。従って、図11に示すようなペリフェラルデバイス260と充電回路221との間での信号のやり取りが可能になる。
また本実施形態ではバススイッチ回路40は、第1導電型トランジスターにより構成されるスイッチ素子を有している。第1導電型トランジスターは、N型及びP型の一方の導電型のトランジスターである。図21では、バススイッチ回路40が有する第1導電型トランジスターは、N型のトランジスターTN1〜TN4になっている。例えばトランジスターTN1〜TN4の基板はVSの電圧レベルに設定されている。
例えばバススイッチ回路40のスイッチ素子のオン抵抗を下げるためには、スイッチ素子をトランスファーゲート(CMOS構造の伝送ゲート)で構成する手法が考えられる。トランスファーゲートではN型トランジスターとP型トランジスターが並列に接続されるため全体のオン抵抗を下げることができる。
しかしながら、トランスファーゲートを用いると、N型トランジスターとP型トランジスターが並列に接続される構成になるため、バスBS1、BS2に付加される寄生容量が大きくなってしまい、図10の期間T2でのHSモードの通信特性が劣化してしまう。
この点、図21では、N型トランジスターなどの片チャンネルの第1導電型トランジスターだけでバススイッチ回路40のスイッチ素子が構成されている。従って、バスBS1、BS2に付加される寄生容量を小さくでき、トランスファーゲートを用いる手法に比べて、図10の期間T2でのHSモードの通信特性の劣化を低減できる。
そして本実施形態では、チャージポンプ回路80からの昇圧電源電圧VHに基づくスイッチ信号SWS1、SWS2(SWS)を用いて、N型のトランジスターTN1〜TN4のオン、オフが制御される。従って、トランジスターTN1〜TN4のゲートに、例えばVH>Vth+VDとなる電圧レベルのスイッチ信号SWS1、SWS2が入力されるようになるため、トランジスターTN1〜TN4を通過する電圧範囲に制限ができるのを抑制できる共にトランジスターTN1〜TN4のオン抵抗を低減できる。なお本実施形態ではスイッチ素子としてトランスファーゲートを用いる変形実施も可能である。
図22はチャージポンプ回路80の動作説明図である。図22ではチャージポンプ回路80は、キャパシターCA1、CA2、CBを用いてチャージポンプ動作を行う。キャパシターCA1、CA2、CBは、回路装置10に内蔵のキャパシターであることが望ましいが、外付けのキャパシター(コンデンサー)であってもよい。内蔵キャパシターである場合には、キャパシターCA1、CA2は、例えばMIM(Metal-Insulator-Metal)のキャパシターなどにより実現できる。キャパシターCBは、ゲート容量によるキャパシター、ポリシリコン−ポリシリコンのキャパシター、或いはMIMのキャパシターなどにより実現できる。
図22のH1では、VD(高電位側電源電圧)のノードとVS(低電位側電源電圧)のノードの間にキャパシターCA1、CA2が直列に接続される。またキャパシターCBは、一端がVHのノードに接続され、他端がVSのノードに接続されている。従って、VS=0Vであり、CA1、CA2の容量値が同じであるとすると、CA1、CA2の各キャパシターの端子間電圧はVD/2になる。次に、H2に示すように、VHのノードとVDのノードの間に並列にキャパシターCA1、CA2が接続される。これにより、VH=VD+VD/2の昇圧動作が行われるようになる。そしてチャージポンプ動作では、クロック信号CKに基づいて図22のH1の接続状態とH2の接続状態が交互に切り替わる。
図23はチャージポンプ回路80の詳細な構成例である。チャージポンプ回路80は、トランジスターTA1〜TA3、TB1〜TB5、キャパシターCA1、CA2、CBを含む。トランジスターTA3はN型トランジスターであり、それ以外はP型トランジスターである。クロック信号AP、BP、ANは、クロック信号CKに対応するチャージポンプ用のクロック信号であり、クロック信号CKに基づき生成される。クロック信号AP、BPは、互いに排他的にローレベル又はハイレベルになり、例えば互いにノンオーバラップの信号になっている。クロック信号ANはクロック信号APの反転信号である。またイネーブル信号ENCPがローレベル(非アクティブ)になり、トランジスターTB5がオンになると、VHのノードとVDのノードが接続され、チャージポンプ回路80の動作がディスエーブルに設定される。
キャパシターCBは、VHのノードとVSのノードの間に設けられ、例えば容量値が可変のキャパシターとなっている。クロック信号AP、ANがアクティブになると、トランジスターTA1、TA2、TA3がオンになる。APは、ローレベルがアクティブのレベルとなる信号であり、ANは、ハイレベルがアクティブのレベルとなる信号である。トランジスターTA1、TA2、TA3がオンになることで、図22のH1に示す接続状態になる。即ち、VDのノードとVSのノードの間にキャパシターCA1、CA2が直列に接続された状態になる。
一方、クロック信号BPがアクティブになると、トランジスターTB1、TB2、TB3、TB4がオンになる。BPは、ローレベルがアクティブのレベルとなる信号である。トランジスターTB1、TB2、TB3、TB4がオンになることで、図22のH2に示す接続状態になる。即ち、VHのノードとVDのノードの間にキャパシターCA1、CA2が並列に接続された状態になる。そしてクロック信号CKに基づいて、クロック信号AP、AN、BPがアクティブ又は非アクティブになることで、図22のH1の接続状態とH2の接続状態が交互に切り替わり、VDを昇圧した昇圧電源電圧VH=VD+VD/2が生成される。例えばVD=3.0V〜3.6Vであれば、VH=4.5V〜5.4Vになり、図21のバススイッチ回路40のトランジスターTN1〜TN4のゲートに対して、VD+Vth以上(例えばVth=0.6〜1.0V)の電圧を印加できるようになる。従って、バスを通過する信号の電圧範囲がVS(=0V)〜VDである場合に、VD+Vthよりも高い昇圧電源電圧VH=VD+VD/2を、N型のトランジスターTN1〜TN4のゲートに印加して駆動できるため、トランジスターTN1〜TN4を通過する電圧範囲に制限ができてしまうのを抑制できる。即ち、バスBS1側からVS〜VDの電圧範囲の信号が入力された場合に、バスBS2側にVS〜VDの電圧範囲の信号として出力できるようになる。またバスBS2側からVS〜VDの電圧範囲の信号が入力された場合に、バスBS1側にVS〜VDの電圧範囲の信号として出力できるようになる。
図24はFSモードからHSモードへの切り替え時の第3の構成例の動作を説明する図である。図9に示す期間T1では、図12で説明したように、メインコントローラー200とペリフェラルデバイス260との間でFSモード(LSモード)での信号転送が行われる。即ち転送経路TR1において信号DP、DMを用いたFSモードの信号転送が行われる。一方、図10に示す期間T2では、メインコントローラー200とペリフェラルデバイス260との間でHSモードの信号転送が行われる。即ち転送経路TR2においてHSモードのパケット通信が行われる。
そして図24のE1ではバスステートがFSモードからHSモードに切り替わっているが、このE1の切り替えタイミングの前の期間T1では、E2に示すようにチャージポンプ用のクロック信号CKが周波数f1(第1の周波数)に設定されている。例えば10KHz〜100KHz程度の周波数f1のクロック信号CKに基づいて、図22、図23で説明したチャージポンプ回路80がチャージポンプ動作を行う。このように高い周波数f1でチャージポンプ動作を行うことで、チャージポンプ回路80が、十分な電源供給能力で、コントロール回路72のバッファー回路(IV3、IV4、NA1、NA2)やレベルシフター74、76に対して、昇圧電源電圧VHを供給できるようになる。従って、適切に電圧レベルが昇圧されたスイッチ信号SWS1、SWS2をバススイッチ回路40のトランジスターTN1〜TN4に供給できる。これにより、トランジスターTN1〜TN4を通過する電圧範囲に制限ができてしまうのを抑制できると共に、トランジスターTN1〜TN4のオン抵抗を低減できるようになる。例えば期間T1での信号転送を適正に行うためには、トランジスターTN1〜TN4のオン抵抗を小さくする必要があり、そのためにはトランジスターTN1〜TN4のゲート幅Wを十分に大きくする必要がある(例えばW=100μm〜1000μm)。そしてゲート幅が大きくなると、トランジスターTN1〜TN4のゲート容量が大きくなるため、コントロール回路72のバッファー回路(IV3、IV4、NA1、NA2)に昇圧電源電圧VHを供給するチャージポンプ回路80の電源供給能力を高める必要がある。図24のE2に示すようにチャージポンプ用のクロック信号CKを高い周波数f1に設定することで、チャージポンプ回路80の電源供給能力を高めることができる。
また本実施形態では、バスBS1、BS2の間の接続がオンになる期間T1(FSモード)において、E2に示すようなクロック信号CKを用いてチャージポンプ回路80にチャージポンプ動作を行わせると共に、バスBS1、BS2の間の接続がオフになる期間T2(HSモード)においても、E3に示すようなクロック信号CKを用いてチャージポンプ回路80にチャージポンプ動作を行わせている。
即ち、バスBS1、BS2の間の接続がオフになる期間T2では、図21のトランジスターTN1〜TN4をオフさせるために、スイッチ信号SWS1、SWS2がローレベルになるため、本来ならばチャージポンプ回路80による昇圧電源電圧VHの生成は不要である。しかしながら、チャージポンプ回路80が起動して、適正な昇圧電源電圧VHを供給できるようになるまでには、例えば数十ms程度というような長い起動時間が必要になる。従って、期間T2においてチャージポンプ回路80を完全に停止してしまうと、期間T2から期間T1に切り替わった際に、チャージポンプ回路80の長い起動時間がタイムラグとなって、適正な昇圧電圧レベル(VH)のスイッチ信号SWS1、SWS2をトランジスターTN1〜TN4に供給できなくなってしまう。このため、トランジスターTN1〜TN4を通過する電圧範囲に制限が生じたり、オン抵抗が高くなってしまい、期間T1(FSモード)での信号転送に不具合が発生してしまう。
これに対して本実施形態では図24のE3に示すように、期間T2(HSモード)においても、クロック信号生成回路50がチャージポンプ用のクロック信号CKをチャージポンプ回路80に供給して、チャージポンプ回路80を動作させている。従って、期間T2から期間T1に切り替わった際に、適正な昇圧電圧レベルのスイッチ信号SWS1、SWS2をトランジスターTN1〜TN4に供給することが可能になる。これにより、トランジスターTN1〜TN4を通過する電圧範囲に制限が生じる事態や、オン抵抗が高くなってしまう事態を防止でき、期間T1での適正な信号転送を実現できるようになる。
更に本実施形態ではチャージポンプ回路80は、期間T1においては図24のE2に示すように周波数f1のクロック信号CKに基づきチャージポンプ動作を行い、期間T2においては、E3に示すように周波数f1よりも低い周波数f2のクロック信号CKに基づきチャージポンプ動作を行う。即ち期間T2では期間T1に比べてクロック信号CKの周波数を低くする。例えば図12においてホストチャープK/J後のHSアイドルの期間において、バススイッチ回路40のスイッチ素子をオンからオフに切り替える場合には、この切り替えタイミングにおいて、クロック信号CKを周波数f1からf2に切り替える。
このようにすればチャージポンプ回路80のチャージポンプ動作によるスイッチノイズが、期間T2でのHSモードのパケット通信に及ぼす悪影響を低減できるようになる。即ち、HSモードでは小振幅の差動信号を用いてパケット通信が行われるため、期間T1のような高い周波数f1でチャージポンプ動作が行われると、チャージポンプ動作によるスイッチノイズが原因で通信エラー等の不具合が生じるおそれがある。
この点、本実施形態では期間T2においては図24のE3に示すようにクロック信号CKを低い周波数f2に設定している。これによりスイッチノイズが原因で通信エラーの不具合が生じるのを抑制できるようになる。一方、FS(LS)の通信が行われる期間T1では、バススイッチ回路40のスイッチ素子をオンにするが、スイッチ素子を通過する信号は電圧駆動であるため、チャージポンプ動作のスイッチノイズの影響は少ない。このため、速い周波数f1のクロック信号CKで通常通りにチャージポンプ動作を行わせる。
例えば本実施形態では、期間T2において、バスBS1、BS2により転送されるパケットの信号に基づいて、チャージポンプ用のクロック信号CKを生成する。例えば図24のE4に示すように、SOF(Start Of Frame)のパケットに基づいて、クロック信号CKを生成する。具体的にはSOFのEOP(End Of Packet)に基づいてクロック信号CKを生成する。例えばUSBでは、HSモードのアイドル期間において125μs毎にSOFのパケットが送出され、SOFの最後にはEOPが設定される。HSモードでは、EOPはビットスタッフィング無しの8ビットのNRZの01111111で示される。このSOFの例えばEOPによりトグルカウンターを動作させる。例えばトグルカウンターのトグル動作を行わせて、トグル動作のタイミングで、クロック信号CKを第1の電圧レベル(例えばローレベル)から第2の電圧レベル(例えばハイレベル)に変化させたり、第2の電圧レベルから第1の電圧レベルに変化させる。例えば、立ち上がりタイミングや立ち下がりタイミングがSOF(EOP)に同期するようにクロック信号CKを生成する。このようにすることで、期間T2において、SOFなどのパケットを有効利用して、低い周波数f2のクロック信号CKを生成し、チャージポンプ回路80にチャージポンプ動作を行わせることが可能になる。そしてEOPを用いることで、SOFの送出期間を避けたタイミングでクロック信号CKを動作させることが可能になる。
また本実施形態ではHSモードの通信期間であるデータパケットの転送期間において、チャージポンプ回路80に供給されるクロック信号CKを停止する。クロック信号CKを停止するとは、例えばクロック信号CKの電圧レベルを第1、第2の電圧レベルの一方の電圧レベルから他方の電圧レベルに変化させないことである。例えば図24のE5、E6では、バスアクティブとなって、HSのデータパケットの通信が行われている。このようなHSモードの通信期間においては、E7に示すようにクロック信号CKを、例えばローレベルなどの所定電圧レベルに固定して停止する。即ち、クロック信号CKをマスクして、チャージポンプ回路80が動作しないようにする。こうすることで、チャージポンプ回路80のチャージポンプ動作が停止し、チャージポンプ動作に起因するスイッチノイズが、HSモードのパケット通信に悪影響を及ぼすのを抑制できるようになる。そしてデータパケットの通信が終了し、HSアイドル期間になったら、E8、E9に示すようにSOFのパケットに基づきクロック信号CKを動作させる。
図25はHSモードの通信期間での本実施形態の詳細な動作を説明する図である。本実施形態では図24のE7に示すようにHSモードの通信期間においてクロック信号CKをマスクして停止している。しかしながら、この通信期間が長くなった場合に、クロック信号CKを停止したままにすると、図21のコントロール回路72でのリーク電流等が原因となって、昇圧電源電圧VHの電圧レベルが徐々に低下してしまう。この結果、期間T2から期間T1に切り替わる際のチャージポンプ回路80の起動時間が長くなってしまい、この長い起動時間がタイミングラグとなって、適正な昇圧電圧レベルのスイッチ信号SWS1、SWS2をトランジスターTN1〜TN4に供給できなくなってしまう。
そこで本実施形態ではクロック信号CKを停止してから所与の設定期間が経過したときに、クロック信号CKの信号レベルを、第1、第2の電圧レベルの一方の電圧レベルから他方の電圧レベルに変化させる。
例えば図25のF1ではバスアクティブとなってHSモードの通信期間が開始している。この場合に、例えばトグルカウンターの最後のトグル動作のタイミングの後、F2に示すような所与の設定期間TSが経過すると、F3に示すようにクロック信号CKの信号レベルを、例えばローレベル(第1、第2の電圧レベルの一方の電圧レベル)からハイレベル(他方の電圧レベル)に変化させる。その後、設定期間TSが経過すると、F4に示すようにクロック信号CKの信号レベルを、例えばハイレベルからローレベルに変化させる。このようにすれば、HSモードの通信期間が長くなってしまった場合にも、必要最小限の周波数のクロック信号CKを用いてチャージポンプ動作を行うことが可能になる。従って、期間T2から期間T1に切り替わった際に、適正な昇圧電圧レベルのスイッチ信号SWS1、SWS2をトランジスターTN1〜TN4に供給することが可能になり、上記したような問題が発生するのを防止できるようになる。
例えばHSモードの通信期間中には、回路装置10のレジスターに設定される通信中フラグが立ち、チャージポンプ回路80に供給されるクロック信号CKが停止する。一方、クロック信号CKに対しては最大停止時間(最小クロック周波数)を設定し、停止時間が最大停止時間以上(最小クロック周波数以下)にならないように、クロック信号CKを管理する。例えばチャージポンプ回路80の安定化容量の値やリーク電流値から、昇圧電源電圧VHの電圧変化の時定数τを求める。そしてこの時定数τに基づいて、昇圧電源電圧VHが、例えばVD+Vthを下回らないような時間を、最大停止時間として求め、図25の設定期間TSを、最大停止時間以下の長さに設定する。具体的には設定期間TSを例えば1ms程度の長さに設定する。こうすることで、HSモードの通信期間中にクロック信号CKを停止した場合にも、昇圧電源電圧VHが例えばVD+Vthを下回らないようになり、上記したような問題が発生するのを防止できる。
また本実施形態では、バスアクティビティーがなくなってから所与の期間が経過した後に、クロック信号CKの周波数を、周波数f2から周波数f1に変化させる。この所与の期間は例えば2ms以上の長さの期間である。例えば図26のG1では、SOFの送出が停止し、バスがSE0の状態になり、バスアクティビティーがなくなった状態になっている。USBでは、バスアクティビティーがなくなってから3ms以上経過すると、リセット要求が行われたか、或いはサスペンド要求が行われたかが判断される。そこで図26のG2では、SOFの送出が停止し、バスアクティビティーがなくなってから、所与の期間TWA(例えば2ms以上で3ms未満の期間)が経過すると、G3、G4に示すように、クロック信号CKを、周波数f2から周波数f1に変化させる。即ち図24のE2、E3でf1からf2に変化した周波数を、f2からf1に戻す。このように高い周波数f1のクロック信号CKをチャージポンプ回路80に供給することで、チャージポンプ回路80は、適正な電源供給能力で昇圧電源電圧VHを図21のコントロール回路72に供給できるようになる。これにより、適正な昇圧電圧レベルのスイッチ信号SWS1、SWS2により、トランジスターTN1〜TN4を適正にオン状態に設定できるようになる。以上のようにすることで、低ノイズで高品質なHS通信を実現するバススイッチ制御手法を実現できるようになる。
8.バスモニター回路、物理層回路の詳細
図27はバスモニター回路30の詳細な動作の説明図である。バスモニター回路30はUSBのバスのモニター動作を行うが、このモニター動作は物理層回路からの信号に基づき行われる。具体的には図27に示すように、期間T1において、バスモニター回路30は、物理層回路11、12の一方の物理層回路からの信号に基づいて、モニター動作を行う。即ち、物理層回路11、12の両方ではなく、いずれか一方の物理層回路からの信号(検出信号等)に基づいて、USBのバスのモニター動作を行う。そして期間T1において、物理層回路11、12の他方の物理層回路が動作オフ又は省電力モードに設定される。
例えばバスモニター回路30が、物理層回路11からの信号に基づいてバスモニター動作を行った場合には、物理層回路12が動作オフ又は省電力モードに設定される。或いは、バスモニター回路30が、物理層回路12からの信号に基づいてバスモニター動作を行った場合には、物理層回路11が動作オフ又は省電力モードに設定される。物理層回路11や物理層回路12の動作オフ又は省電力モードの設定は、例えばバスモニター回路30からの制御信号に基づいて行うことができる。或いは、処理回路20からの制御信号に基づいて、物理層回路11や物理層回路12の動作オフ又は省電力モードの設定を行ってもよい。
ここで動作オフに設定とは、例えば物理層回路を構成するアナログ回路の動作をディスイネーブルに設定することである。例えばアナログ回路を構成するトランジスター等をオフにして、電力消費となる電流が流れないようにする。例えばHSモード用の送信回路(HSD)は、AVDD(高電位側電源)の電源線と第1のノードの間に設けられる電流源と、第1のノードとDPの信号線、DMの信号線、AVSS(低電位側電源)の電源線の間に設けられる第1、第2、第3のトランジスターを含むことができる。この場合に、HSモード用の送信回路の動作オフの設定とは、例えば電流源を停止(電流源に流れる電流を停止)することである。また省電力モードに設定とは、物理層回路を構成するアナログ回路(演算増幅器等)に流れる電流を制限して、消費電力を低減することである。例えばアナログ回路に流れる電流を所与のしきい値以下の電流に制限する。例えば上記の電流源に流れる電流を所与のしきい値以下の電流に制限する。
例えば図12〜図14に示すようなバス(信号DP、DM)の状態をモニターするためには、物理層回路を構成するアナログ回路からの信号を利用するのが有効である。従って、モニター動作を行う際には、これらのアナログ回路を動作させておく必要がある。
一方、本実施形態の回路装置10では2つの物理層回路11、12が設けられており、モニター動作のためにこれらの物理層回路11、12の両方を動作させるのは、消費電力の面において無駄である。そこで物理層回路11、12の一方の物理層回路からの信号に基づきモニター動作を行い、他方の物理層回路については動作オフ又は省電力モードに設定する。このようにすれば、一方の物理層回路からの信号に基づいて、適正なバスのモニター動作を実現できると共に、他方の物理層回路を動作オフ又は省電力モードに設定することで、無駄な電力消費を抑えることができ、低消費電力化を図れるようになる。
そして図10に示すように期間T2においては、物理層回路11、12の両方の動作をオンにする。そしてバスBS1、BS2の間で物理層回路11、12を介した転送経路TR2でのパケット転送を行うようにする。
なおバスモニター回路30は、バスBS1、BS2の一方だけではなく、バスBS1、BS2の両方のモニター動作を行うことができる。例えばバスモニター回路30は、物理層回路11、12の両方からの信号(検出信号等)に基づいて、USBのバスのモニター動作を行う。例えばバスリセットを検出するためには、例えばメインコントローラー200側のバスBS1のモニター動作を行う必要がある。またHS切断の検出のためには、ペリフェラルデバイス260側のバスBS2のモニター動作を行う必要がある。従って、これらのバスリセットの検出やHS切断の検出を行うために、バスモニター回路30は、バスBS1、BS2の両方のモニター動作を行う。つまり、物理層回路11、12の両方からの信号に基づいてモニター動作を行う。
図28は物理層回路(11、12)の構成例である。この物理層回路は、プルアップ抵抗Rpu、スイッチ素子SW_Rpu、SW_Dm、プルダウン抵抗Rpd1、Rpd2を含む。スイッチ素子SW_Rpuは制御信号Rpu_Enableに基づいてオン又はオフにされる。これによりプルダウン動作が実現される。また物理層回路は、HSモード用の送信回路HSD(カレントドライバー)、LS/FSモード用の送信回路LSD(ドライバー)、抵抗Rs1、Rs2を含む。また物理層回路は、HSモード用の差動の受信回路HSR(データレシーバー)、スケルチの検出回路SQL(トランスミッションエンベロープディテクター)、LS/FSモード用の差動の受信回路LSR(データレシーバー)、切断の検出回路DIS(ディスコネクションエンベロープディテクター)、シングルエンドの受信回路DP_SER、DM_SER(レシーバー)を含む。
そして本実施形態では物理層回路を構成するアナログ回路からの信号に基づいて、バスモニター回路30でのバスのモニター動作が行われる。具体的には図28に示すように、例えばHSモード用の差動の受信回路HSR、スケルチ用の検出回路SQL、LS/FSモード用の差動の受信回路LSR、切断の検出回路DIS、或いはシングルエンドの受信回路DP_SER、DM_SERからの信号に基づいて、バスモニター回路30はバスのモニター動作を行う。即ち、これらのアナログ回路からの信号に基づいて、デバイスチャープK、ホストチャープK/J、アイドル、リセット、サスペンド、レジューム、SE0、J、K、バスリセット、或いはHS切断などのバスの各状態を、バスモニター回路30はモニターできる。そしてバスモニター回路30は、モニター結果に基づいて、図12、図13、図14で説明したようにバススイッチ回路40のスイッチ素子(USBスイッチ、BCスイッチ)をオン又はオフにする制御を行ったり、処理回路20の転送処理をオン又はオフにする制御を行う。こうすることで、バスの状態を適切に判断した適正なバススイッチ回路40のスイッチ制御や処理回路20の転送制御を実現できるようになる。
また本実施形態では図28に示すように、期間T1において、物理層回路11、12のHSモード用の送信回路HSDが動作オフ又は省電力モードに設定される。即ち本実施形態では図27に示すように、期間T1においては、バススイッチ回路40がバスBS1、BS2の間の接続をオンにして、メインコントローラー200とペリフェラルデバイス260の間で転送経路TR1での直接の信号のやり取りを可能にしている。そしてバスモニター回路30は、物理層回路11、12の一方の物理層回路からの信号に基づいてバスのモニター動作を行う。
この場合に、物理層回路11、12のHSモード用の送信回路HSDについては、HSの転送処理が行われないため、動作する必要がない。そこで期間T1では、例えばバスモニター回路30(又は処理回路20)は、HSモード用の送信回路HSDを動作オフ又は省電力モードに設定する。こうすることで、HSモード用の送信回路HSDにおいて無駄に電力が消費されてしまうのを防止でき、低消費電力化を図れるようになる。HSモード用の送信回路HSDは、カレントドライバーであり、多くの電流が流れる。従って、バスモニター回路30(又は処理回路20)が送信回路HSDを動作オフ又は省電力モードに設定することで、消費電力を大幅に低減できる。なお期間T1において、LS/FS用の送信回路LSDについても動作オフ又は省電力モードに設定されてもよい。こうすることで、更なる低消費電力化を図れるようになる。
9.転送処理の詳細
次に処理回路20での転送処理の詳細について説明する。図29、図30は、メインコントローラー200とペリフェラルデバイス260の間にUSB−HUB210を設けた場合のパケットの転送処理を説明する図である。図30には、図29のUSB−HUB210のアップストリーム側の信号UPP、ダウンストリーム側の信号DWPの信号波形が示されている。これらの信号UPP、DWPのパケットは、SOFのパケットを例にとると、SYNC、PID、FrameNumber、CRC、EOPのフィールド(領域)を有している。例えばSYNCは同期のフィールド、PIDはパケットIDのフィールド、FrameNumberはフレーム番号のフィールド、CRCは巡回冗長検査のフィールド、EOPはパケット終了のフィールドである。
この場合に図29のUSB−HUB210では、図30に示すように、信号DWPのパケットにおいて、SYNCのフィールドは−3ビットというようにビット数が減り、EOPのフィールドのビット数は+1ビットというようにビット数が増加している。図30に示すようにUSBの規格においては、SYNCのフィールドは−4ビットまで許容され、EPのフィールドは+4ビットまで許容されている。
図31、図32は、メインコントローラー200とペリフェラルデバイス260の間に本実施形態の回路装置10を設けた場合のパケットの転送処理を説明する図である。
図32には図31の回路装置10のバスBS1側の信号INT、バスBS2側の信号EXTの信号波形が示されている。図32に示すように、バスBS1側から受信したパケットは、パケットのフォーマットが変更されずにそのままのフォーマットで、バスBS2側に送信される。なお図31、図32では、バスBS1側からバスBS2側にパケットが転送される場合を示しているが、バスBS2側からバスBS1側にパケットが転送される場合も同様の信号波形になる。即ち、バスBS2側から受信したパケットは、パケットのフォーマットが変更されずにそのままのフォーマットで、バスBS1側に送信される。
そして図32では、図30の場合とは異なり、信号EXTにおいて、SYNCのフィールドのビット数も、EOPのフィールドのビット数も変更されていない。即ち、バスBS1側から受信したパケットは、SYNCのフィールドのビット数、EOPのフィールドのビット数が変更されずに、そのままバスBS2側に送信される。バスBS2側から受信したパケットをバスBS1側に送信する場合も同様である。
即ち、図29に示すUSB−HUB210は、USBのプロダクトIDやベンダーIDを有しており、USBのHUBの規格に準拠したパケットの転送を行う。そしてUSBの規格においては、SYNCのフィールドでのビット数の変化が−4ビットまで許容され、EOPのフィールドでのビット数の変化が+4ビットまで許容されている。このため、図30の信号DWPの波形では、この規格に準拠するようにSYNC、EOPのビット数が変化している。
これに対して本実施形態の回路装置10は、プロダクトIDやベンダーIDを有しておらず、図30に示すようなSYNC、EOPのフィールドでのビット数の変化は許容されていない。そこで本実施形態では、パケットのSYNCのフィールドのビット数とEOPのフィールドのビット数を変更せずに、図10に示した転送経路TR2でのパケットの転送処理を行うようにしている。こうすることで、図31のようにメインコントローラー200とペリフェラルデバイス260の間に本実施形態の回路装置10を設けても、USB規格に準拠した適正なパケット転送を実現することが可能になる。即ち、メインコントローラー200とペリフェラルデバイス260の間には、あたかも何らの回路装置も存在していないかのようにUSBのパケットを転送できるようになる。
また本実施形態では、処理回路20での転送処理において、パケットのビットの再同期化処理を行っている。再同期化処理(リシンクロナイズ)は、例えば受信したパケットの各ビットを、回路装置10のクロック信号でサンプリングして取り込み、取り込まれた各ビットにより構成されるパケットを再構築し、再構築されたパケットを、回路装置10のクロック信号に同期して出力することなどにより実現される。
図33、図34は、パケットの再同期化処理の説明図であり、パケットの各ビットをサンプリングする処理の説明図である。図33においてPLL回路54は、周波数が同一で位相が互いに異なるクロック信号CLK0、CLK1、CLK2、CLK3、CLK4(広義には第1〜第Nのクロック信号)を生成して出力する。例えばPLL回路54は、そのVCO(発振周波数が可変に制御される発振手段)が含む5個(N個)の差動出力コンパレータ(広義には奇数段の第1〜第Nの反転回路)の出力を用いて、クロック信号CLK0〜CLK4を生成して出力する。
DLL回路25はエッジ検出回路26、クロック選択回路27を含む。そして、このエッジ検出回路26は、物理層回路(11、12)の受信回路により受信されたシリアルデータDINのエッジを検出し、そのエッジ検出情報をクロック選択回路27に出力する。具体的には、図34で説明するように、PLL回路54からのクロック信号CLK0〜CLK4のエッジ(立ち上がり又は立ち下がりエッジ)の中のいずれのエッジ間にシリアルデータDINのエッジがあるかを検出し、そのエッジ検出情報をクロック選択回路27に出力する。クロック選択回路27は、このエッジ検出情報に基づいて、クロック信号CLK0〜CLK4の中からいずれかのクロック信号を選択し、選択したクロック信号をサンプリングクロック信号SCLKとして出力する。このサンプリングクロック信号SCLKに基づいてシリアルデータをサンプリングすることで、受信したパケットの各ビットのサンプリングを実現できる。
図34は、図33の回路動作を説明するためのタイミング波形図である。図34に示すようにCLK0〜CLK4は周波数が同一(480MHz)となる多相のクロック信号である。またクロック信号の周期をTとした場合に、各クロック間の位相がT/5(広義にはT/N)だけシフトしている。そして図34では、サンプリング対象となるシリアルデータDINのエッジEDが、CLK0とCLK1の間にあることが図33のエッジ検出回路26により検出される。すると、シリアルデータDINのエッジEDから例えば3個(広義には設定数M個)だけずれたエッジEC3を有するクロック信号CLK3が、図33のクロック選択回路27により選択され、この選択されたCLK3が、DINのサンプリングクロック信号SCLKとして後段の回路に出力される。
図33、図34で説明した処理を行うことで、USBのバスから受信したパケットの各ビットを適正にサンプリンできるようになる。即ち図32の信号INTのパケットの各ビットを適正にサンプリングできる。そして、サンプリングされた各ビットによりパケットを再構築し、図32のように信号EXTのパケットとしてUSBのバスに送信する。この際には、例えば回路装置10のクロック信号にパケットの各ビットが同期するように、当該パケットを送信する。
例えば図1で説明したようにケーブル長が長くなったり、大きな寄生容量、寄生抵抗が転送経路上に寄生すると、信号品質が劣化してしまい、図2のアイパターンの認証テストにパスできず、適正な信号転送を実現できないという課題がある。
この点、本実施形態によれば、例えば図31のバスBS1側からのパケットの信号(INT)の信号品質が劣化している場合にも、回路装置10により上述の再同期化処理が行われることで、信号品質が改善(浄化)されたパケットの信号(EXT)が、バスBS2側に転送される。同様に、バスBS2側からのパケットの信号の信号品質が劣化している場合にも、回路装置10により上述の再同期化処理が行われることで、信号品質が改善されたパケットの信号が、バスBS1側に転送される。従って、USBの信号の信号特性の劣化を改善できる回路装置10の提供が可能になる。
しかも、このようなHSモードによる高速なパケット転送の前段階において、図9に示すように、バススイッチ回路40により、バスBS1、BS2の間の接続をオンにすることができる。これによりバスBS1に接続されるメインコントローラー200と、バスBS2に接続されるペリフェラルデバイス260の間で、図12〜図14で説明したような各種の信号のやり取りを行うことが可能になる。従って、USBの規格上は、メインコントローラー200とペリフェラルデバイス260の間には、あたかも回路装置10が存在しないかのように種々の処理を行って、メインコントローラー200とペリフェラルデバイス260の間でUSB規格に準拠した適正な転送処理を実行できるようになる。
10.電子機器、ケーブルハーネス
図35に、本実施形態の回路装置10を含む電子機器300の構成例を示す。この電子機器300は、本実施形態の回路装置10とメインコントローラー200(広義には処理装置)を含む。メインコントローラー200はバスBS1に接続される。例えばバスBS1を介してメインコントローラー200と回路装置10は接続される。また回路装置10のバス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としては、例えば車載機器、印刷装置、投影装置、ロボット、頭部装着型表示装置、生体情報測定機器、距離、時間、流速又は流量等の物理量を計測する計測機器、基地局又はルーター等のネットワーク関連機器、コンテンツを配信するコンテンツ提供機器、或いはデジタルカメラ又はビデオカメラ等の映像機器などの種々の機器を想定できる。
図36に本実施形態の回路装置10を含むケーブルハーネス350の構成例を示す。ケーブルハーネス350は、本実施形態の回路装置10とケーブル360を含む。ケーブル360はUSB用のケーブルである。またケーブルハーネス350はUSBレセプタクル370を含んでもよい。或いはケーブルハーネス350は図1の静電気保護回路222、短絡保護回路223などを含むものであってもよい。ケーブル360は例えば回路装置10のバスBS2に接続される。回路装置10のバスBS1側には例えばメインコントローラー200(処理装置)等が接続される。このケーブルハーネス350は、例えば車内において配線を引き回すなどの用途に用いられる。なおケーブルハーネス350は車用以外のハーネスであってもよい。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また回路装置、電子機器、ケーブルハーネスの構成・動作や、バスモニター処理、バススイッチ処理、転送処理、切断検出処理、アップストリームポート検出処理、テスト信号検出処理、テスト信号出力処理等も本実施形態で説明したものに限定されず、種々の変形実施が可能である。