通用串行總線(USB)是個人計算機(PC)通過電纜與外設實 現通信的常用方法。某些應用中,需要隔離USB通信以滿 足安全要求,或中斷接地環路。遺憾的是,隔離任務不易 完成,因為USB電纜上有雙向數據流。本文將討論這個問 題,并探討實現易于使用的隔離式USB方案面臨的其他挑 戰,最后對解決方案進行比較。一個理想的“透明”解決方 案能將隔離對系統的影響降至最低,目前我們就可以提供 這種解決方案。本文討論的內容針對USB 2.0,支持三種數 據速率: 1.5 Mbps(低速)、12 Mbps(全速)和480 Mbps(高速)。 為簡便起見,將詳細探討12 Mbps的情況,但示例中的很多 原理同樣適用于其他速度。
USB基礎知識
USB廣受歡迎的一個原因是它具有簡單的4線式接口,能夠 為外設供電,并在外設與PC之間提供串行數據鏈路。圖1 顯示標準的USB連接。VBUS和GND線提供5 V電源和接地, 而D+和D–則承載數據。信號發送方式為雙向半雙工,表 示數據可在任一方向沿電纜傳輸,但任意特定時刻最多只 有一個發送器主動驅動電纜。通信期間,USB發送器驅動 差分或單端狀態至D+和D–。數據以分組的形式進行組 織,并采用特殊信號序列表示分組開始和分組結束。有時 總線處于空閑狀態,也就是說沒有激活任何發送器,此時 連接電纜D+和D–端點的電阻將建立“空閑”總線狀態。空 閑狀態協助對分組之間的總線進行初始化。它們還用來向主機指示外設的連接與斷開狀態,以及外設所需要的通信 速度(1.5 Mbps、12 Mbps或480 Mbps)。
隔離總線主機和外設的方法
現在,請想象一下主機和外設的電氣隔離。如[1]所述,隔 離柵的位置可以有數個選項。無論哪種情況,都應隔離多個 信號,并且信號的運行速度可能較快,或者信號可能是雙 向的。這取決于在何處進行隔離。這使得基于分立器件構 建的解決方案變得更為復雜。完整的物料清單可能更長, 并且有可能很難找到完全滿足信號傳送要求的分立器件。
一種可能的隔離方法如圖2a所示。圖中,虛線表示隔離在 理論上將USB電纜分割。D+和D–的狀態信息可以跨越隔離 柵,但電流不能。GND1節點(上游的接地基準)現在與 GND2節點(下游的接地基準)相互分離。不幸的是,隔離 使主機無法“看到”下游的上拉電阻,而外設無法“看到”上 游的下拉電阻。因此,需要使用一些額外的電阻,如圖2b 所示,以便跨越隔離模仿相應連接。在這個“透明”概念 中,主機與外設之間的通信方式和圖1中的非隔離式連接十分類似。透明的USB隔離器元件可方便地插入收發器和 USB電纜之間,并使用隔離電源。原本設計用于非隔離式 應用的主機和外設可方便地連接USB隔離器并交換標準 USB信號,無需大幅改動設計。
這種方法非常有吸引力,只要此概念可以真正實現,但需 克服一些挑戰。例如,獨立的光電耦合器或數字隔離器通 常不提供兼容USB的驅動特性,也不支持雙向半雙工通信 方式。很多光電耦合器無法在12 Mbps或更高速率工作,并 且具有較高的傳播延遲和時序誤差,不符合USB 2.0時序要 求。后面還將提到其他問題。
目前,我們先討論不透明的替代方案,如[1]中所述的方 案。這些解決方案將隔離放在主機或外設的硬件內部,而 不是通過隔離平分USB電纜。這樣可以放在USB收發器和 串行接口引擎(SIE)之間,或者SIE和USB控制器之間。如 此,便可以采用獨立的通用隔離器來隔離單向數字邏輯信 號。然而,這樣做有幾個缺點。首先,必須定制USB收發 器或控制器硬件,才能插入隔離元件。可能還需要額外的 微控制器代碼或修改USB驅動器軟件。這將會為系統設計 人員帶來額外的工作量,并顯著增加所需的電路板空間, 因為這些解決方案非常復雜,要用到多個器件。另一個不 足之處是,這樣可能會導致總數據吞吐速率的下降,因為 數據現在通過USB收發器和單獨隔離的串聯組合方案發 送。隔離方案可能增加與編碼和解碼為另一種串行格式(如 SPI)有關的延遲,或者增加與低速或隔離元件的非精確時 序有關的延遲。
雖然存在這些缺點,但這類解決方案是在無法解決透明 USB隔離器部署難題時的唯一可行方案。現在可以采用透 明解決方案了。本文的余下篇幅將描述一個完全符合要求 的示例。
透明USB隔離器要求
一個USB隔離器系統必須滿足一些要求,以實現完全的“透 明”工作:
- 它必須驅動UD+、UD–、DD+和DD–,驅動方式與 標準USB收發器相同,并實際包含兩個USB兼容收發 器,分布在隔離柵兩側(圖3)。
- 它必須管理USB電纜上的雙向通信,確保其收發器在 適當的時候進行發送和接收,并精確重現所有驅動 和空閑狀態。若要精確重現空閑狀態,它必須在其 上游側配置上拉電阻,以模擬連接下游外設的上拉 電阻狀態。它在下游側也需配置下拉電阻。必須監 控總線上表示總線空閑、分組開始和分組結束的信 號,以便正確響應這些狀況。
- USB隔離器內部的信號隔離器元件必須跨越隔離柵正 向和反向傳輸D+和D–數據。如果信號隔離器是單向 的(通常如此),則USB隔離器系統需要多個隔離通 道,其中某些通道沿下游方向傳輸,另一些通道則 相反,沿上游方向傳輸。
- 信號隔離器必須以精確時序快速運行,以便支持所 需的USB信號速度,并滿足USB傳播延遲和時序誤差 要求。
- USB隔離器的每一側都應支持5 V或3.3 V電源提供的功 率。如果提供5 V電源,那么隔離器應當獲得適合為該 側USB收發器供電的3.3 V調節電源。如果電源為3.3 V, 那么隔離器可利用它來直接為USB收發器供電,并旁 路其調節器。
透明USB隔離器的實現
ADI的ADuM4160USB數字隔離器2滿足全部要求,采用16引 腳SOIC封裝。原理框圖如圖3所示。它包含一對USB收發 器、5個基于iCoupler?的數字隔離通道、控制邏輯以及2個 “智能調節器”。它還集成1.5 k上游上拉電阻,以及15 k下 游下拉電阻。
其USB收發器由簡化控制器控制,后者無需完全解碼并分 析數據分組即可支持隔離功能。它能監控UD+、UD–、 DD+和DD–,使信號指示總線空閑、分組啟動和分組結 束,并利用它們正確使能或禁用USB發送器,并忽略分組 數據內容。若將下游分組數據從主機傳輸至外設,則會激 活圖3中的兩個高位隔離通道,這與上游USB接收器和下游 USB發送器相同。數據從UD+/UD–復制到DD+/DD–。分 組結束時,檢測分組結束序列,禁用所有USB發送器,允 許總線進入空閑狀態。如果外設隨后開始傳輸上游分組數 據,則USB隔離器檢測分組啟動序列,使能第三和第四條 隔離通道以及上游USB發送器,并將數據從DD+/DD–復制 到UD+/UD–,直到分組結束。然后,總線再次返回空閑 狀態,所有發送器關斷,等待新數據到達。
ADuM4160 使用第五條隔離通道交流下游側控制線路的狀 態3,該控制線路激活一個集成在上游側的上拉電阻,使 得下游端口能夠控制上游端口何時連接USB總線。該引腳 可以連接到外設上拉電阻、一條控制線路或VDD2引腳, 具體取決于何時執行初始總線連接。將引腳與外設的上拉 電阻相連可讓上游上拉電阻模擬其狀態, 同時讓 ADuM4160的下拉電阻模擬所連接主機的狀態。所有活動 與空閑狀態均從隔離的一側復制到另一側。
隔離通道是采用芯片級變壓器的數字隔離器,可實現隔離通 信。所有通道均可在100 Mbps以上工作,輕松支持12 Mbps USB“全速”數據。單芯片內集成所有通道可使能針對時序 的嚴格控制,實現滿足USB時序要求的低時序誤差。 ADuM4160產生的總傳播延遲等于標準USB集線器產生的 延遲。空閑總線的靜態功耗低于USB限值。
智能調節器支持上文第5條要求中的電源選項,無需用戶 特別控制4。若要采用5 V為USB隔離器的一側上電(如上游 側),則應將5 V電源連接適當的VBUS引腳(如VBUS1),而 VDD1不連接。當傳感器檢測到電壓施加于VBUS1而非 VDD1時,將激活3.3 V調節器,為VDD1上電。
若要轉而采用3.3 V上電USB隔離器的一側(如下游側),則 3.3 V電源應同時連接VBUS2和VDD2。當傳感器檢測到電 壓同時施加在兩個引腳上時,將禁用片內調節器,以便直 接使用外部3.3 V電源。
結論
“透明”USB隔離器理論上可隔離平分USB電纜,現可輕松 用于原本針對非隔離式應用設計的USB硬件。與此相反, 在主機或外設硬件內實現隔離則要求對硬件進行較大的更 改,有時甚至可能降低USB性能。使用分立器件(比如現成 的通用隔離器)完成透明方案難度很大。然而,最新的集成 式解決方案(如ADuM4160)通過便利的單一封裝解決了這 些難題,極大地簡化了USB應用中實現隔離的過程。
-
usb
+關注
關注
60文章
7939瀏覽量
264514 -
數字隔離器
+關注
關注
17文章
640瀏覽量
76338 -
電氣隔離器
+關注
關注
0文章
43瀏覽量
5586
原文標題:Facebook桑德伯格的喪夫之痛:人們需要在工作中得到支持與理解
文章出處:【微信號:hbrchinese,微信公眾號:哈佛商業評論】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論