參考資料:USB2.0通信原理及電路設計
一、USB2.0物理特性
1.1、USB接口
USB連接器包含4條線,其中VBUS、GND用於提供5V電源,電流可達500mA;而D+、D-用於USB數據傳輸。
D+、D-是一組差分信號,差分阻抗為90歐,具有極強的抗干擾性;若遭受外界強烈干擾,兩條線路對應的電平會同時出現大幅度提升或降低的情況,但二者的電平改變方向和幅度幾乎相同,所以兩者之間的電壓差值可始終保持相對穩定。
擴展:USB OTG(即USB On-The-Go)技術在完全兼容USB2.0標准的基礎上,增添了電源管理(節省功耗)功能,它允許設備既可作為主機,也可作為外設操作,實現了在沒有主機的情況下,設備與設備之間的數據傳輸。例如數碼相機直接連接到打印機上,通過OTG技術,連接兩台設備間的USB口,將拍出的相片立即打印出來。
USB OTG接口中有5條線:
2條用來傳送數據D+ 、D-;
2條是電源線VBUS、GND;
1條是ID線,用於識別不同的電纜端點,mini-A插頭(即A外設)中的ID引腳接地,mini-B插頭(即B外設)中的ID引腳浮空。當OTG設備檢測到接地的ID引腳時,表示默認的是A設備(主機),而檢測到ID引腳浮空的設備則認為是B設備(外設)。
1.2、反向不歸零編碼(NRZI)
反向不歸零編碼(Non Return Zero Inverted Code)的編碼方式非常簡單,即用信號電平的翻轉代表“0”,信號電平保持代表“1”。這種編碼方式既可以保證數據傳輸的完整性,還不需要傳輸過程中包含獨立的時鍾信號,從而可以減少信號線的數量。
但是當數據流中出現長“1”電平時,就會造成數據流長時間無法翻轉,從而導致接收器丟失同步信號,使得讀取的時序發生嚴重的錯誤;所以在反向不歸零編碼中需要執行位填充的工作,當數據流中出現連續6個“1”電平就要進行強制翻轉(即自動添加一位“0”電平),這樣接收器在反向不歸零編碼中最多每七位就會出現一次數據翻轉,從而保證了接收器的時鍾同步,同時接收器端會扔掉自動填充的“0”電平,保證了數據的正確性(即使連續6個“1”電平后為“0”電平,NRZI仍然會填充一位“0”電平);
USB的數據包就是采用反向不歸零編碼方式,所以在總線中不需要時鍾信號。
1.3、檢測低速/全速設備的原理
USB2.0支持三種類型的傳輸速率:1.5Mbps(低速)、12Mbps(全速)、480Mbps(高速);其采用在D+或D-信號線上增加上拉電阻的方式來識別低速和全速設備,如圖1;
圖1 低速/全速設備電路連接方式
當主控制器或集線器的下行端口上沒有USB設備連接時,其D+、D-信號線上的下拉電阻使得這兩條數據線的電壓都是0V;當有低速設備連接時,由於其D-信號線上接有1.5K的上拉電阻,所以主機將檢測到D-信號線處於高電平狀態;當有全速設備連接時,由於其D+信號線上接有1.5K的上拉電阻,所以主機將檢測到D+信號線處於高電平狀態;所以主機可以識別到設備的連接及傳輸速率類型,而針對全速設備與高速設備的區別是通過后續的握手來識別,具體可閱讀USB2.0速度識別;
二、USB2.0電路設計及防護
2.1、電路濾波設計要點
USB接口的電路濾波設計如圖2所示;
L1為濾波磁珠,用於濾除電源上的干擾,磁珠阻抗選擇范圍為100Ω/100MHz~1000Ω/100MHz,典型值取600Ω/100MHz,磁珠在選取時通流量應符合電路電流的要求;
L2為共模濾波電感,用於濾除差分信號上的共模干擾,磁珠阻抗選擇范圍為60Ω/100MHz~120Ω/100MHz,典型值取90Ω/100MHz;
C1、C2為電源濾波電容,用於濾除電源上的干擾。C1、C2兩個電容在取值上要相差100倍,典型值為10uF+0.1uF;小電容用於濾除電源上的高頻干擾,大電容用於濾除電源線上的紋波干擾;
C3為接口地和數字地之間的跨接電容,典型值為1000pF/2KV,容值也可根據實際測試情況進行調整;
圖2 USB接口電路設計
2.2、電路防護設計要點
USB接口的電路防護設計如圖2所示;
D1、D2、D3能快速泄放靜電干擾,防止在熱插拔過程中產生的大量干擾能量對電路進行沖擊,導致內部電路工作異常。D1、D2、D3選用TVS管,反向關斷電壓為5V,結電容小於5pF;
三、USB2.0 PCB Layout規則
1、D+、D-以差分方式布線,並通過連續的參考平面層,保證阻抗的一致性,信號線的差分阻抗Z=90Ω±15%;
2、常規USB接口規定電流為500mA,但是VBUS走線需能承受1A的電流(采用1盎司銅箔的情況下線寬為20mil),以防止過流事件發生;
3、D+、D-的走線必須等長,長度誤差不超過5mil;並且不能走直角,需要用鈍角或者圓弧走線,同時盡量不換層布線,保證阻抗的連續性;
4、USB信號同其他CLK或者差分信號走線間隔應>20mil;
5、ESD保護器件和共模電感應該盡可能地靠近接口;
6、避免在晶振、晶體、時鍾信號發生器、功率電感、安裝孔、磁性器件或IC的下方或附近進行USB數據信號線布線;