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