CH442E/CH443Kチップを使用したUSB 2.0データ信号およびSWD信号の切り替えに関する質問

,

アナログスイッチICを使用して、USB 2.0データ信号SWD信号の切り替えを検討しています。主な懸念事項の一つは信号電圧の互換性です。当初、USB 2.0データ信号は5V、SWD信号は3.3Vであると仮定していました。現在の候補として、CH442EまたはCH443Kの使用を検討しています。

以下の点について具体的に質問があります:

  1. 制御ロジック:これらのチップを使用してUSB 2.0とSWDの間を切り替える場合、3.3V出力レベルを持つMCUのI/Oで確実に切り替え制御を行うことは可能ですか?
  2. 互換性:これらのチップは、USB 2.0のデータ信号(D+/D-)と3.3VのSWD信号の両方を、信号の完全性を損なうことなく適切に切り替えることができますか?
  3. 電源電圧(VCC)5Vまたは3.3Vのどちらの電源電圧がより適切でしょうか?チップを5Vで駆動した場合でも、3.3VのSWD信号の切り替えに対して互換性は保たれますか?

これは、基板スペースの節約やコネクタ数の削減に非常に実用的なアプローチです。CH442E および CH443K(WCH社製)は、まさにこの種の用途、つまりUSB 2.0高速信号の切り替えを想定して設計されています。

質問に入る前に、1つよくある誤解を解いておきましょう:USB 2.0のデータ信号(D+/D-)は5Vではありません

  • USB Full Speed(12 Mbps):信号は0Vから3.3Vの間で変化します。
  • USB High Speed(480 Mbps):信号ははるかに小さな差動振幅(約400mV)を使用します。
  • SWD信号:通常、0Vから3.3Vの間で変化します。

USBデータ信号もSWD信号もいずれも0V~3.3Vの範囲内に収まっているため、これらのチップは非常に適しています。


1. 制御ロジック:3.3VのMCUでスイッチを確実に制御できるか?

可能です
CH442/CH443シリーズの制御ピン(INまたはSEL)は、チップ自体が5Vで駆動されていても、3.3V CMOSロジックと互換性のある論理しきい値($V_{IH}$)を持っています。

  • $V_{CC} = 3.3V$の場合、Highレベルしきい値は通常1.5V~2.0V程度です。
  • $V_{CC} = 5V$の場合でも、しきい値は十分低く、3.3VのMCU出力で簡単にトリガできます。

2. 互換性:USB 2.0およびSWDの信号整合性

これらのチップは両方の用途に適していますが、注意すべき点がいくつかあります:

  • 帯域幅:CH442E/443Kは約550MHzの帯域幅を持ちます。これはUSB 2.0 High Speed(基本周波数で最低240MHzが必要)には十分であり、SWD(通常1MHz~25MHz)にとっては余裕があります。
  • オン抵抗($R_{ON}$):これらのチップは非常に低いオン抵抗(約$6\Omega$)を持ち、信号の減衰を最小限に抑え、USBのアイダイアグラムをクリーンに保ちます。
  • 寄生容量:容量は十分に低く(約5pF~8pF)、SWDのクロックエッジやUSB高速パケットを著しく歪ませることはありません。

3. 電源電圧($V_{CC}$):5Vか、それとも3.3Vか?

どちらでも使用可能ですが、あなたの特定の用途では3.3Vの使用が一般的に推奨されます。理由は以下の通りです:

項目 3.3Vで駆動 5Vで駆動
信号範囲 0V~3.3Vを通過(SWD/USBに最適) 0V~5Vを通過
消費電力 やや低い やや高い
ロジックしきい値 3.3V MCUに完全に適合 3.3V MCUと互換性あり
簡便さ MCUの電源レールと共用可能 USBのVBUSまたは5Vレールが必要

結論:システムに安定した3.3V電源レールがすでに存在する場合は、それを使用してください。5Vで駆動しても、アナログスイッチの「パススルー」特性により、$GND$から$V_{CC}$までの任意の電圧が通過できるため、3.3VのSWD信号でも問題なく動作します。


設計上のプロのヒント

  • インピーダンスマッチング:スイッチからUSBコネクタまでの配線は、90 $\Omega$の差動インピーダンスを保つようにしてください。スイッチがあるとはいえ、ステブ(分岐)は可能な限り短く保つ努力をしてください。
  • ESD保護:これらの信号は外部コネクタに接続されるため、ESD保護ダイオードはスイッチとコネクタの間に配置し、スイッチとMCUの間には配置しないでください。
  • ピンスワップ:スイッチが「間違った」状態になった場合に、3.3V信号が敏感な高速USB PHYに誤って印加されないよう、SWDピンとUSBピンのマッピングを正しく行ってください(ただし、最近のPHYは比較的堅牢です)。

結論から先に明確に述べます:

  1. USB 2.0 の D+/D- 信号自体は 3.3V LVCMOS レベルであり、「5V データ信号」ではありません。5V というのは VBUS の電源供給の話であり、D+/D- の論理レベルとは異なります。
  2. CH442E/CH443K を使用して USB 2.0 と SWD 信号を切り替える場合、3.3V 電源供給という条件のもとでは互換性があります:
    • USB 2.0 の低速/全速/高速信号の帯域要件を満たせる;
    • 3.3V SWD 信号の切り替えも可能;
    • 3.3V IO を持つマイコンで SEL/EN ピンを制御でき、論理レベルも一致する。
  3. 「5V アナログスイッチ」と呼ばれるタイプの意味は:定格電源が 5V シリーズであるが、信号経路自体はレール・ツー・レールの双方向スイッチであるため、3.3V で駆動すると信号範囲は約 0~3.3V に制限され、ちょうど USB D+/D- や SWD の電圧レベルと互換性を持つ。CH442E/CH443K に 5V を供給して 3.3V SWD 信号を切り替えるのは推奨しない。電圧不整合のリスクがある。

以下、ご質問に対して一つずつ説明します。


1. マイコンの IO 電圧が 3.3V でも、CH442E/CH443K を制御できるか?

可能です

データシートによると、CH440/442/443/444 シリーズのデジタル制御ピンのしきい値は以下の通りです:

  • VIH(デジタル入力高レベル):2.0V 〜 VCC
  • VIL(デジタル入力低レベル):データシートでは典型値/最大値として記載されており、論理低レベルのしきい値は約 0.8V 程度(詳細は完全なデータシート参照)

つまり、

  • CH442E/CH443K に 3.3V を電源として供給すれば、VCC ≈ 3.3V となる;
  • マイコンの IO が出力する 3.3V のハイレベルは 2.0V 以上なので、VIH 要件を満たす;
  • 0V のローレベルも VIL 要件を満たす;
  • よって、3.3V マイコンの IO で CH442E/CH443K の制御/イネーブル端子を直接駆動しても全く問題ない

2. USB 2.0 データ信号と 3.3V SWD 信号の切り替えを両立できるか?

2.1 USB 2.0 D+/D- の電圧レベルに関する補足

  • USB 2.0 仕様では、D+/D- の差動信号振幅は約 ±400mV、共通モード電圧は約 0~3.6V の範囲であり、一般的なトランシーバは 3.3V 電源を使用し、D+/D- 出力は 3.3V LVCMOS レベルである。
  • 多くの専用 USB 2.0 アナログスイッチ(例:TI の TS3USB221E)は以下の仕様を持っている:
    • VCC:2.3~3.6V
    • スイッチ I/O は最大 5.5V まで対応
    • ただし、典型的な用途は 3.3V 電源で USB 2.0 信号を切り替えること
  • よって、USB 2.0 のデータライン D+/D- は 5V ロジックではなく、3.3V レベルである。

2.2 SWD 信号の電圧レベル

  • SWD(Serial Wire Debug)インタフェースは通常、デバッガがターゲットボードに電源を供給するか、またはターゲット側が SWD インタフェースに電源を供給する。典型的な電圧は 3.3V である。
  • SWDIO/SWCLK はいずれも 3.3V CMOS プッシュプル出力であり、周波数は通常数 MHz 程度であり、USB 2.0 高速(480MHz)よりもはるかに低い。

2.3 CH442E/CH443K の帯域とチャネル構成

  • CH442E:2 チャネル SPDT(DPDT)、つまり 2 つの 2 択スイッチで、D+ と D- の両方を同時に切り替え可能
  • CH443K:単一チャネル SPDT、1 つの信号線しか切り替えられない
  • 帯域:典型的に 550MHz、Ron は典型的に約 5Ω
  • データシートには明記されている:低速、全速、高速 USB 信号に対応

したがって、

  • 帯域は十分:USB 2.0 高速(480Mbps)および SWD の数 MHz 信号ともに通過可能
  • チャネル構成
    • USB の D+ と D- を同時に切り替えるには DPDT(CH442E) が必要、あるいは CH443K を 2 個使用
    • 片方のデバッグ信号だけを切り替える場合は CH443K を検討

2.4 電圧互換性(重要ポイント)

  • CH442E/CH443K は 「5V 低抵抗アナログスイッチ」 シリーズに属し、データシートには次のように記載されている:
    • 「5V スイッチチップは定格 5V 電源電圧をサポートし、最低 2.5V での動作も可能」
  • このような構造では通常、
    • スイッチ自体は双方向かつレール・ツー・レールであり、信号範囲はおおよそ GND~VCC の間
    • 制御ロジックの電圧レベルも VCC に応じて変化

CH442E/CH443K に 3.3V を電源として供給する場合

  • 信号経路はおおよそ 0~3.3V に制限される
  • これは以下の信号とぴったり一致する:
    • USB 2.0 D+/D- の 3.3V LVCMOS レベル
    • SWD の 3.3V CMOS レベル

よって、3.3V 電源条件下では、CH442E/CH443K は安全に USB 2.0 と SWD 信号の切り替えが可能である。


3. チップの電源は 5V と 3.3V、どちらが適しているか?

3.1 推奨案:CH442E/CH443K には 3.3V を使用

推奨理由:

  1. 電圧マッチングがシンプルで安全

    • USB D+/D-:3.3V 信号
    • SWD:3.3V 信号
    • スイッチの VCC = 3.3V → 信号範囲 0~3.3V、3.3V ドメインへの過電圧リスクなし
  2. 制御信号の電圧も一致

    • マイコン IO は 3.3V、スイッチの VCC も 3.3V
    • 数字制御ピン(SEL、EN など)の高低電圧しきい値が 3.3V CMOS と完全に互換
  3. ESD/保護回路との整合性向上

    • 後段には通常、D+/D- を保護するための TVS/ESD デバイスが配置されるが、これらは通常 3.3V システム向けにクランプ電圧が設計されている。スイッチも 3.3V 動作なら、全体として整合性が取れる

3.2 5V 電源は使用可能か?

チップの能力としては:

  • CH442E/CH443K のデータシートには「5V スイッチチップは定格 5V 電源電圧をサポート」とあり、VCC=5V でも動作可能である。
  • しかし、このとき信号経路の電圧範囲は約 0~5V となり、SWD ターゲットが 3.3V ドメインであることに注意が必要

リスク点:

  • SWD ターゲットの IO が 5V 耐性を持たない場合、SWDIO/SWCLK が 5V 近くまで引き上げられると、デバイス損傷や長期的な信頼性低下の恐れがある
  • 多くの MCU の SWD ピンは厳密に 5V 耐性ではなく、あるいは限定的な電流下でのみ耐性がある(例:一部の NXP/LPC シリーズは流入電流が制限されている)

したがって:

  • SWD ターゲットが確実に 5V 耐性であり、詳細な評価済みであれば、5V 電源も可
  • しかし、汎用性と安全性の観点からは、統一して 3.3V 電源を使用するのがより推奨される

4. 回路設計のアドバイス(接続例)

CH442E(DPDT)を例とした推奨接続方法:

flowchart LR
  USB_CONN[USB コネクタ D+ D-] -->|USB 2.0 3.3V signal| SW[CH442E DPDT スイッチ]
  SW -->|チャンネル A| USB_PHY[USB PHY または MCU USB D+ D-]
  SW -->|チャンネル B| TARGET[ターゲット MCU SWDIO SWCLK]
  MCU[3.3V マイコン] -->|制御 SEL/EN| SW
  VCC33[3.3V 電源] -->|VCC| SW

要点:

  1. 電源接続

    • CH442E/CH443K の VCC は システム 3.3V に接続
    • GND はグランドに接続
  2. 信号経路

    • USB D+ / D- → CH442E の各チャンネルの共通端子
    • チャンネル A → USB PHY または MCU の USB D+ / D-
    • チャンネル B → ターゲット MCU の SWDIO / SWCLK(必要に応じて直列に小型抵抗を挿入して整合)
  3. 制御ロジック

    • 3.3V IO を持つマイコンで SEL/EN ピンを駆動
    • 起動時のデフォルト状態で、USB 経路がデフォルトでオン(またはオフ)になるように設定(要件による)
  4. 保護対策

    • USB コネクタ側には TVS/ESD デバイスを追加推奨。3.3V システムに合わせた選定を行う
    • デバッガが 5V 出力で、ターゲットが 3.3V の場合、スイッチの VCC を 5V にするのではなく、デバッガ側にレベル変換/電流制限回路を設けるのが望ましい

5. まとめ

  • USB 2.0 の D+/D- は 3.3V 信号であり、5V データ信号ではない
  • CH442E/CH443K は 3.3V 電源下で、USB 2.0 と 3.3V SWD 信号の切り替え要件を満たす:帯域は十分、チャネル形式も適切、論理レベルも互換性あり。
  • 3.3V マイコンの IO で直接 SEL/EN を制御しても問題ない。VIH/VIL しきい値は 3.3V CMOS と互換。
  • CH442E/CH443K には 3.3V 電源の使用を推奨。3.3V SWD 信号を切り替えるために 5V 電源を使うのは推奨しない。SWD ターゲットが確実に 5V 耐性であり、詳細評価済みの場合を除く。

まず、根本的な認識の誤りを修正します

USB 2.0の差分データ信号線(D+、D-)は5Vレベルではありません。5VはUSBのVBUS電源ピンにすぎず、フルスピード/ハイスピードUSB 2.0のデータ信号振幅は0~3.3Vです。これはSWDの3.3V信号レベルと完全に一致しており、本質的なレベル不整合は存在しません。

以下、あなたの3つの核心的な疑問について、CH442E/CH443Kの公式datasheetのパラメータに基づき、一つずつ回答します:


1. 3.3VマイコンのIOでCH442E/CH443Kを制御できるか?

まったく問題なく、互換性上何ら支障はありません

  • 両チップとも定格5Vのアナログスイッチですが、制御ピンの電圧は電源電圧とは独立しており、公式に5V、3.3V、2.5Vの制御信号入力をサポートしています。
  • 電気的仕様面では:
    • 5V供給時、制御ピンの高レベル最小入力しきい値VIH=2.0V、低レベル最大入力しきい値VIL=1.0V
    • 3.3V供給時、制御ピンの高レベル最小入力しきい値VIH=1.8V
      3.3VマイコンIOが出力する高レベル3.3V、低レベル0Vは、これらのしきい値を十分に満たしており、チップの切り替えを安定かつ確実に制御できます。

2. USB 2.0データ信号と3.3V SWD信号の切り替えに対応可能か?

両チップとも要件を満たしますが、CH442Eの方がこの用途に最適です

主要性能の適合性

  • 帯域幅が完全にカバー:CH442E/CH443Kの典型的な帯域幅はいずれも550MHzで、480Mbpsの高速USB 2.0信号伝送をサポートします。SWD信号の最高周波数は数十MHz程度であり、チップの帯域上限よりはるかに低く、速度ボトルネックは一切ありません。
  • 信号レベルの互換性:USB 2.0の差分データ信号、SWD信号ともに0~3.3Vの振幅であり、チップのアナログ信号許容入力範囲(-0.3V~VCC+0.3V)内に完全に収まっており、双方向伝送も問題ありません。

チャンネル選定の推奨

  • CH442E:2系統の独立したSPDT(単極双投)スイッチを内蔵。1チップでUSBのD+/D- 2系統の差分信号とSWDのSWDIO/SWCLK 2系統の信号を時分割で切り替えることが可能であり、本シナリオにおける最適解です。
  • CH443K:1系統のSPDTスイッチしか内蔵しておらず、2系統の信号切り替えには2個のチップが必要となり、コストおよびPCB占有面積が大きくなります。単一信号切り替え用途にのみ適しています。

3. チップの電源は5Vか3.3Vか?5V電源でも3.3V信号に対応できるか?

核心的な結論

  • 3.3V電源が最適選択ですが、5V電源でも3.3V信号の切り替えに完全に対応可能です。システムの電源状況に応じて柔軟に選択できます。

2種類の電源方式の詳細説明

  1. 優先推奨:3.3V電源

    • 最適なマッチング:USBデータ信号、SWD信号ともに3.3Vレベルであるため、3.3V電源時、アナログスイッチのオン抵抗はよりフラットになり、典型値は約5Ω程度と小さく、信号挿入損失が少なく、USB高速信号のインテグリティが向上します。
    • 制御との整合性:マイコンの3.3V IOレベルと同じ電源から供給されるため、レベルマッチングのリスクがなく、静的消費電力も低くなります。
    • 電源範囲のサポート:チップは定格で2.5V~5.5Vの広電圧動作をサポートしており、3.3Vは完全に定格動作範囲内です。
  2. 5V電源の互換性について

    • 5V電源時、チップが許容するアナログ信号入力範囲は-0.3V~5.3Vであり、3.3VのSWD/USBデータ信号は安全範囲内に完全に収まり、正常に切り替え・伝送が可能です。
    • 注意点として:5V電源下では、3.3V信号に対するオン抵抗の典型値は約11Ωとなり、3.3V電源時のオン抵抗よりやや高くなりますが、USB 2.0およびSWD信号にとってはこの差異は通信に影響せず、機能的な問題はありません。

追加のハードウェア設計上の注意点

  1. 電源デカップリング:チップのVCCピンには必ず近接して0.1μFのセラミックデカップリングコンデンサを配置し、電源の安定性を確保してください。
  2. 信号インテグリティ:USB差分配線は90Ωの差分インピーダンス制御を行い、切り替えパスの配線は可能な限り等長とし、ステブ(スタブ)長さを最小限に抑えてください。これにより、USB列挙や高速通信への悪影響を回避できます。
  3. 切り替えタイミング:制御ピンの切り替え操作は、USB/SWDが信号伝送を行っていないアイドル状態で行う必要があります。ホットスイッチングによる信号ギザギザ(グリッチ)を避け、通信異常を防止してください。

兄弟、この選定から察するに「二合一」インターフェースを検討しているんですね?CH442EまたはCH443Kを使ってUSB 2.0とSWDの切り替えを行うのはまったく問題ありません。

ただし、まず一つの誤解を正しておきましょう:USB 2.0のデータ信号(D+/D-)は5Vではなく、3.3Vの論理レベル(Full Speed)あるいはそれより低い400mV(High Speed)です。5VなのはVBUS電源ラインだけです。

あなたの3つの質問に対して、結論から直接回答します。

1. 3.3VマイコンのIO制御

まったく問題ありません。

これらのチップの制御ピン(IN/SEL)のしきい値は通常1.4V~2.0V程度です。3.3VのMCU IOでハイレベルを出力すれば、チップは確実に「論理ハイ」として認識できます。レベル変換は必要ありません。

2. 互換性のある切り替え

問題なく対応可能です。

  • 電圧面: USBデータ信号もSWD信号も実際には3.3Vロジックなので、これらのアナログスイッチはどちらも簡単にカバーできます。
  • 帯域面: CH442E/443Kの帯域幅は非常に高く(数百MHz)、USB 2.0の480Mbps高速信号や数MHzのSWD周波数にも十分対応でき、信号の整合性に問題が出ることはほとんどありません。

3. 電源の選択:5Vか3.3Vか?

優先的には3.3V電源を推奨しますが、5Vでも使用可能です。

  • 3.3V電源を使用: 信号範囲がまさに電源レール内(0V~3.3V)であり、消費電力が低く、信号の逆流リスクもありません。
  • 5V電源を使用: 可能です。オン抵抗( R_{on} )がわずかに小さくなり、信号伝送に有利です。また、電源が5Vであっても、3.3VのSWD信号の切り替えには完全に互換性があります(アナログスイッチは V_{in} \\le V_{CC} であれば正常に動作します)。

アドバイス:

PCBのスペースに余裕があるなら、CH443Kのほうがパッケージが小さく、かつデュアルチャネルSPDT(単極双投)であるため、D+/D-のようなペア信号に最適です。配線時には、USBの差動ペアを等長・インピーダンス制御でレイアウトすることを忘れないでください。

あなたの投稿を見て、ちょうど私もこれら2つのチップを使って同様の切り替えを行ったことがあるので、回答させていただきます:

  1. 使用可能です。CH442E/CH443K はアナログスイッチであり、信号が5Vか3.3Vかを気にするものではなく、単にON/OFFを行うだけです。3.3VのマイコンIOは直接選択ピン(SEL/IN)を制御でき、チップ側でも正しく認識されます。
  2. 完全に互換性があります。これらのチップは帯域幅が非常に高く、USB 2.0信号にも対応しています。また、純粋なアナログスイッチであるため、3.3VのSWD信号を通しても問題なく、レベルマッチングを心配する必要はありません。
  3. 5Vでの給電を推奨します。広い電圧範囲に対応していますが、データシートでは「5V低抵抗アナログスイッチ」として推奨されています。5Vで給電しても、3.3VのSWD信号を完璧に伝送できます(スイッチがONになると直結されるため、電圧は両端のデバイスによって決まります)。

もう一つ注意点:USBデータラインはDP/DMの2本の線からなります。CH442Eは2チャンネル(DPDT)なので、これにぴったり合います。一方、CH443Kは1チャンネル(SPDT)のため、これを選ぶ場合は2個使う必要があります。