前言
USB芯片的電路和PCB設計參考及注意事項,含CH34X、CH37X等系列芯片的電路設計說明。涉及工作穩定性和抗干擾以及USB-HOST帶電熱插拔。基于 USB 芯片的電路及 PCB 設計的重要注意事項 版本:2E
1、摘要
本文主要針對以下因電路及 PCB 設計不佳而引起的故障現象進行分析和解答
⑴、關于 USB 設備帶電熱插拔以及 ESD 保護:(重要)
用 CH374、CH375 設計的 USB-HOST 電路中,當某些 USB 設備帶電插入時,工作不正常或者芯片發熱
⑵、關于設計 3.3V 甚至 3V 的 USB 產品:
用 CH372、CH374、CH375、CH341 等 USB 芯片設計 3.3V 電源電壓的 USB 產品時需要注意的事項
⑶、關于 USB 主從模式切換:
用 CH374、CH375 設計的 USB-HOST 和 USB-DEVICE 產品中,如何識別并進行 USB 主從模式切換
⑷、關于工作穩定性和抗干擾:(重要)
用 CH372、CH375、CH341 等 USB 芯片設計的 USB 產品,如何提高可靠性和抗干擾能力
2、USB 設備帶電熱插拔
2.1. 故障現象
在使用 CH375 評估板的過程中,或者在自行設計的 USB-HOST 產品中,某些 USB 設備帶電插入時:
① 導致 CH375 復位或者單片機復位(尤其是采用μP 監控電路的單片機系統)
② CH375 或者單片機突然工作不正常,失去控制
③ CH375 芯片的工作電流突然增大并且持續如此,時間長了芯片發熱燙手甚至芯片損壞
2.2. 原因分析
USB 支持動態帶電插拔,以 CH375 評估板使用 U 盤為例。由于 U 盤內部都有電源退耦電容,當 U 盤剛插入 USB-HOST 插座時,評估板必然要對其充電,由于瞬間充電電流很大(微秒級瞬間峰值可達幾安培),所以導致主機端的電源電壓 VCC 突降(用高速的數字存儲示波器可以看出,越靠近 USB 插座的位置,電源電壓降得越嚴重),這個電壓突降過程可能只有幾十微秒甚至幾百納秒,但是一旦被 CH375 或者 uP 監控電路檢測到,就會被當作電源上電或者電源下電,從而有可能導致 CH375 和單片機被復位。并且,由于 U 盤插入過程引起的電壓突降是一種不確定的瞬時狀態,例如幾十納秒的電壓突降,所以有可能使 CH375 或者單片機不完全復位,從而工作不正常。
另外,由于 CH375 的 V3 引腳接有電容,在 U 盤插入過程中,如果 CH375 的 VCC 引腳的電源電壓突降到 2.5V 以下,而 CH375 的 V3 引腳被其外接電容保持在 3.5V 以上,出現 CH375 的普通引腳電壓超過電源引腳 VCC 的特殊情況,那么將容易導致 CMOS 電路 CH375 出現大電流閂鎖,芯片發熱,長時間還會損壞。
如果 CH375 的 V3 引腳不接電容,則不會出現大電流,V3 引腳的電容用于內部電源節點退耦,改善 USB 傳輸過程中的 EMI,通常容量是在 4700pF 到 0.1uF 范圍,建議容量為 0.01uF,即 103 電容。
由于有些 USB 設備內部的電源退耦電容較小,或者內部串有限流電阻或者電感,所以只有少數峰值電流較大的 USB 設備會在某些條件下出現上述現象,而且這種情形還與 PCB 中 USB 電源線的布線有關。
還有一種意外情況(不是設計原因)就是,USB 插座或 USB 線損壞或者焊接原因導致 USB 信號線 D+或D-與 VCC 之間短路、USB 信號線 D-與 GND 之間短路,這種情況會引起 CH375 芯片發熱甚至損壞。
2.3. 解決方法(以下幾種任選一種,或者多種并用更加可靠)
最核心的一句話就是:在 USB 設備插拔的過程中,確保 CH375 和單片機的電源電壓保持不變
2.3.1. 給 USB 插座單獨供電,使 USB 設備剛插上時的電容充電過程不影響單片機和 CH375。變通方法是,將 5V 主電源分別通過兩個獨立的限流電感后(或者在 PCB 中電源線分開走),一組提供給 CH375和單片機等,另一組提供給 USB 插座。注意,在電感后面應該有退耦電容或者負載,防止 USB 設備拔出時由電感產生過沖高電壓。這種方法更適合連接消耗電流較大的 USB 外置硬盤。
2.3.2. 在 USB 插座前串接限流電阻或電感,并在 USB 插座電源上并聯儲能用的電解電容。例如,在 CH375評估板的原理圖中,電容 C23 用于儲能,電阻 R1 用于限制 USB 設備剛插入時的瞬時電流,由于一般 U 盤的正常工作電流只有幾十毫安,所以串接幾歐姆的電阻對其影響不大,建議電阻值在 0.47Ω到 5Ω之間,阻值大些更安全,但是要確保 USB 設備正常工作時的電源電壓大于 4.5V。如果用電感也可以限制電流突變,防止電源電壓突降,但是用電感在 USB 設備拔出后,容易在 USB 插座中產生過沖高壓,所以需要接儲能電容。(注意,在第一版 CH375 評估板的原理圖中已經標出 USB插座的限流電阻 R1 為 1Ω,建議將其換為阻值 3.3Ω的電阻或者保險電阻)
2.3.3. 參考目前計算機的解決方法:USB 端口的電源供給是通過保險電阻或限流電感提供的,這些能夠限制瞬時電流。對于計算機前面板的 USB 端口,由于本身通過一段較長的連接線,自然減弱了對主電源的影響,而且計算機的 5V 電源功率很大,連續供電電流都在 20A 以上,所以不易受影響。
2.4. 參考電路
下面是作為 USB 主機端處理 USB 插座電源及信號的一些參考電路圖,參考了一些計算機主板的做法,用于較為嚴格的應用環境,常規應用可以不必如此復雜,或者在此基礎上進行簡化。
2.4.1. 下圖為較嚴格的設計圖
在 USB 電源供給線中串接保險電阻或者自恢復保險絲 F1,一般 500mA 以下,最大 1A。
串聯電感 L1 限制峰值電流,感抗在 47uH 到 200uH 之間,直流電阻應該不超過 3 歐姆,盡量小些。
在 USB 插座的電源上并聯獨立的儲能電容 C16 緩解電壓瞬時下降。
在 USB 信號線 D+和 D-上串接共扼電感 T1,減少信號干擾。
上圖是共扼電感樣圖,在一些計算機的主板中可以見到。
U13 為μP 監控電路,為單片機和 CH37X 提供可靠的上電復位。
U12 為 ESD 保護器件/瞬變電壓抑制器件,內部一般為高速二極管陣列,在頻繁帶電插拔 USB 設備的應用中和靜電較強的環境下,建議使用此類器件保護 CH37X 的 USB 信號引腳,型號為 CH412Z 或者CH412A 或者 NUP4301MR6T1(引腳不同)等,注意不能選用內有電阻的器件。CH412 能夠承受 15KV的 HBM 人體模型 ESD 沖擊,具體設計可參考 CH412 芯片手冊。
如果不外加任何專用 ESD 保護器件,CH37X 也能夠承受 4KV 左右的 HBM 沖擊,CH374 能夠承受 8KV 左右的 HBM 沖擊。
電容 C14 用于 CH37X 電源退耦,實際電路還應該在 U13 附近連接 0.1uF 退耦電容。
該圖適用于 5V 電源電壓,如果 VCC 為 3.3V,那么應該將 CH375 的 9 腳與 28 腳短路。
圖中 X1 是頻率為 12MHz 的石英晶體,需要兩個振蕩電容 C11 和 C12,也可以用 12MHz 有源晶振。
2.4.2. 另外一種參考電路
在 USB 電源供給線中串接保險電阻 R2,根據 U 盤最大消耗電流選擇限流,一般 100mA 以下。
在 USB 插座的電源上并聯獨立的儲能電容 C26 緩解電壓瞬時下降。
在 USB 信號線 D+和 D-上串接電阻(0 到 5 歐姆范圍內),可選。
在 USB 信號線 D+和 D-上并接高頻二極管 D21-D24,實現簡單的 ESD 保護,注意,二極管的所有引線必須盡可能短,當然也可以使用專用 ESD 保護芯片 CH412A 代替這 4 只二極管。
電容 C25 是可選的,用于為 CH37X 提供上電復位,大多數電路不需要使用 C25。
該圖適用于 5V 電源電壓,如果 VCC 為 3.3V,那么應該將圖中 CH375 的 9 腳與 28 腳短路。
3、設計 3.3V 的 USB 產品
CH372、CH374、CH375、CH341 等 USB 芯片都支持 5V 電源電壓和 3.3V 電源電壓,當電源電壓為 3.3V時除了以下幾點要求之外,其它要求都與 5V 電源電壓時完全相同。
① 與 USB 芯片相連接的所有電路的電源電壓都必須不高于 3.3V,
例如μP 監控電路、有源晶振、MCU 單片機、SRAM 等電源電壓都必須為 3.3V 或者更低。
② USB 芯片的 VCC 引腳與 V3 引腳必須短接,必須同時輸入 3.3V 電源電壓。
③ 用 CH37X 設計 USB-HOST 產品時,提供給 USB 插座的電源應該仍然是符合 USB 規范的 5V 電源。
④ 如果使用 ESD 保護器件/瞬變電壓抑制器件,那么其正電壓應該是 3.3V(例如圖中 CH412A 的 VCC)。
⑤ CH374 還支持 3V 電源電壓,其電路設計及注意事項與 3.3V 時相同。
4、USB 主從模式切換
如果使用一個 CH37X 同時實現 USB-HOST 和 USB-DEVICE 主從兩種 USB 通訊,那么單片機系統應該自行決定主從模式,主模式通常用于控制其它 USB 設備(例如讀寫 U 盤),從模式通常用于連接到計算機。單片機決定當前主從模式可以依賴于下述 4 種方法之一:操作人員的選擇、5 針 USB 插座的 ID 信號、雙 USB插座主從判斷電路、單 USB 插座主從判斷電路。注意:單片機中的判斷程序應該有去抖動處理。
4.1. 操作人員的選擇比較容易實現。
例如,單片機使 CH37X 芯片默認工作于主機模式,當有 USB 設備插入時 CH37X 會中斷通知單片機然后處理;當單片機接收到操作人員的控制指令時,使 CH37X 切換到設備模式,以便作為 USB 設備與計算機通訊。
4.2. 用 5 針 USB 插座的 ID 信號
是指使用 OTG 協議中的 5 針 USB 插座,向單片機提供一個額外的主從識別信號,由單片機判斷后控制 CH37X 切換工作模式。
4.3. 雙 USB 插座主從判斷電路如下,
端口 P4 僅用于連接 USB 設備,端口 P42 僅用于連接計算機,兩者不能同時使用。空閑情況下,STATUS 為低電平,單片機使 CH37X 工作于主機模式,當有 USB 設備插入P4 時 CH375 會自動通知單片機然后處理。
當端口 P42 連接到計算機的 USB 端口時,計算機的USB提供5V電源使STATUS為高電平,所以單片機使 CH375 切換到設備模式。
4.4. 基于 CH374U 芯片的完全獨立雙 USB 插座主從判斷電路如下,
端口 P7 僅用于作為 USB-HOST 連接 USB設備,端口 P72 僅用于作為 USB-DEVICE 連接計算機,兩者可以同時連接,但不能同時使用。
4.5. 單 USB 插座主從判斷電路如下,
空閑情況下,節點 4V7 的電壓比 USB 插座的電源電壓高,比較器 U31輸出 STATUS 為低電平,單片機使 CH375 工作于主模式,當有 USB 設備插入 P3 時 CH375 會自動通知單片機然后處理。當 P3 連接到計算機的 USB 端口時,計算機的 USB 提供 5V 電源使 USB 插座的電源電壓比節點 4V7 的電壓高,比較器 U31 輸出 STATUS 為高電平,所以單片機使 CH375 切換到從模式。
圖中,電阻 R3 用于產生壓差以便比較,D31 和 D32 為壓降在 0.3V 左右的肖特基二極管,型號不限,可選用 1N5817 或 BAT54XV2T1(電流小于 100mA)等,D32 使節點 4V7 的電壓低于計算機的 USB 電源電壓,D31 用于避免輸出較大電流時電阻 R3 壓降太大,Z1 和 Z2 為兩個性能相同的普通 LED 發光二極管,用于將輸入共模比較電壓降到比較器 LM393 可以接受的范圍。注意,作為 USB 主機端口,輸出 USB 電源電壓約為 4.3V 到 4.8V,部分 USB 設備可能不適用。
5、工作穩定性和抗干擾
因為 USB 信號屬于模擬信號,所在 CH372、CH375、CH341 等 USB 芯片內部包含數字電路和一些模擬電路,另外,USB 芯片中還包含時鐘振蕩及 PLL 倍頻電路,以上 3 種電路的公共地端在芯片內部已經連接在一起并連接到芯片外部的 GND 引腳。
如果 USB 芯片有時工作不正常、或者 USB 數據傳輸隨機性的失敗、或者抗干擾能力差,那么就應該考慮 USB 芯片是否穩定工作。影響 USB 芯片工作穩定性的三大因素是:
① 時鐘信號不穩定。這是主要原因,下面將詳細分析。
② 時鐘信號受干擾。解決方法:PCB 設計時盡量不在晶體及振蕩電容附近走線,尤其是不要走繼電器、電動機等帶有瞬時沖擊電流的電源線和強信號線;在晶體及振蕩電容周邊布置 GND 鋪銅屏蔽干擾;可以將晶體外殼接地(人手碰到晶體外殼會引入干擾);或者使用有源晶振等。
③ USB 信號受干擾。解決方法:PCB 設計時使 USB 信號線 D+和 D-平行布線,最好在兩側布置 GND 鋪銅,減少干擾。應該使用符合 USB 規范的 USB 傳輸線(有屏蔽),不能使用普通排線或者線纜。
5.1. 時鐘信號不穩定
時鐘信號不穩定通常是 PCB 布線中 GND 走線不佳。參考下圖,該圖適用于 CH372、CH374、CH375、CH341、CH340 等 USB 芯片。圖中有 6 個接地點,分別是 A、B、C、D、E、F,設計電路及 PCB 時應該盡量避免這 6個 GND 點之間存在電壓差(主要是指數字電路中的高頻毛刺電壓,也就是數字噪聲)。
解決方法是:①盡量縮短這 6 個點之間的距離;②類似模擬電路設計中的單點接地;③大面積 GND 鋪銅及 GND 多點過孔 VIA 降低高頻信號阻抗。圖中最關鍵的是 E 點、F 點與 D 點之間不能存在高頻毛刺電壓差,可以用示波器探頭地接 D 點測量時鐘輸入端 XI 引腳的 12MHz 時鐘波形是否有抖動。
5.2. 參考 PCB 設計 1(需要多加幾個 GND 過孔后 GND 鋪銅)
下圖適用于 CH375 或 CH341 或 CH374 芯片,由于 GND 引腳緊靠 XI 引腳和 XO 引腳,所以比較容易走線。
5.3. 參考 PCB 設計 2(需要多加幾個 GND 過孔后 GND 鋪銅)
下圖適用于 CH372 或 CH374 芯片,GND 引腳借助過孔 VIA 及冗余 GND 線連接時鐘振蕩電路等。
5.4. 參考 PCB 設計 3(需要多加幾個 GND 過孔后 GND 鋪銅)
下圖適用于 CH372 或 CH374 芯片,GND 走線和時鐘信號線都比較短,時鐘信號受到 GND 屏蔽保護。
5.5. 不良設計
下圖中 CH372 的 GND 引腳 D 點遠離電容 C1 和 C2 的 GND 端 E 點和 F 點,并且 C1 和 C2 的 GND 端與單片機 MCU 的 GND 連接,所以 MCU 的數字噪聲將被引入 CH372 的 XI 引腳和 XO 引腳。建議改為:在 C1 和 C2 的GND 端與 CH372 的 GND 引腳之間連接短線甚至斷開 MCU 的 GND(實際上這幾個 GND 之間仍然是物理相通的)。
客觀的講,CH372、CH375、CH341 等 USB 芯片對時鐘的穩定性要求較高,稍有不穩定就會影響 USB 傳輸甚至不工作。如果只是個人做 USB 實驗,下圖中的這塊 PCB 仍然能夠在 99.9%的情況下正常工作。如果是做批量產品的生產,那么強烈建議改進這塊 PCB 的布線以提高穩定性。