CapacitorPro
Q

USB 的 1.5KΩ pull-up 電阻到底在做什麼?低速與全速模式的差異

A

USB 的 D+ 和 D- 資料線上,會看到一顆 1.5kΩ 的 pull-up 電阻。這顆電阻不是拿來「拉高」電壓那麼簡單——它的位置和阻值,其實是用來辨識設備速度的關鍵。

USB 的基本電壓狀態

USB 在靜態(idle)時,D+ 和 D- 兩條資料線都被 pull-down 電阻(15kΩ)拉到接地端,電壓約 0V。當有設備插入時,其中一條資料線會被拉高,產生電壓差,這就是「SE0」(Single-Ended Zero)狀態的結束。

1.5KΩ pull-up 的功能

1.5kΩ pull-up 電阻連接到 D+ 或 D-,用來通知主機:「我是低速設備」還是「我是全速設備」。

低速設備(Low-Speed, 1.5 Mbps)

  • D-(DM)被拉高到 3.3V
  • D+(DP)保持在 0V(被 host 15kΩ pull-down)
  • 主機辨識到「D- 為高、D+ 為低」,就知道這是 Low-Speed 設備

全速設備(Full-Speed, 12 Mbps)

  • D+(DP)被拉高到 3.3V
  • D-(DM)保持在 0V
  • 主機辨識到「D+ 為高、D- 為低」,就知道這是 Full-Speed 設備

為什麼是 1.5KΩ?

USB 規格定義了 D+/D- 的 Logic Low 與 Logic High 電壓門檻:

  • V_IL(max):0.3 × VCC(小於此值為 Low)
  • V_IH(min):0.7 × VCC(大於此值為 High)

以 3.3V 為例:V_IH_min ≈ 2.31V。

15kΩ(host pull-down)與 1.5kΩ(device pull-up)形成分壓:

V_data = 3.3V × (15k / (15k + 1.5k)) ≈ 3.0V > 2.31V ✅ 滿足 Logic High 要求

若使用標準 10kΩ pull-up:V_data = 3.3V × (15k / (15k + 10k)) ≈ 1.98V < 2.31V ❌ 會被辨識為 invalid signal

訊號完整性與 pull-up 阻值的權衡

1.5kΩ pull-up 的缺點是:每當資料線由 High 變 Low 時,會有較大的洩放電流(I = 3.3V / 1.5k ≈ 2.2mA)。在 USB 2.0 High-Speed(480 Mbps)中,1.5KΩ pull-up 不用於高速傳輸,僅用於初始 enumeration(枚舉識別)。

對訊號完整性來說:pull-up 電阻越大,訊號上升/下降時間越慢;pull-up 越小,功耗越大,但訊號邊緣越陡。USB 協會規定 pull-up 阻值必須為 1.5KΩ ±5%,這是經過優化計算的結果。

相關分類:電阻
USB 的 1.5KΩ pull-up 電阻到底在做什麼?低速與全速模式的差異|CapacitorPro