你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文

數(shù)字隔離器提供易于使用的隔離式USB選項(xiàng)

發(fā)布時(shí)間:2018-05-31 責(zé)任編輯:lina

【導(dǎo)讀】通用串行總線(USB)是個(gè)人計(jì)算機(jī)(PC)通過(guò)電纜與外設(shè)實(shí)現(xiàn)通信的常用方法。某些應(yīng)用中,需要隔離USB通信以滿足安全要求,或中斷接地環(huán)路。遺憾的是,隔離任務(wù)不易完成,因?yàn)閁SB電纜上有雙向數(shù)據(jù)流。


簡(jiǎn)介
 
通用串行總線(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的情況,但示例中的很多原理同樣適用于其他速度。
 
圖1. 全速(12 Mbps) USB連接(非隔離式)
 
USB基礎(chǔ)知識(shí)
 
USB廣受歡迎的一個(gè)原因是它具有簡(jiǎn)單的4線式接口,能夠?yàn)橥庠O(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ā)送器主驅(qū)動(dòng)電纜。通信期間,USB發(fā)送器驅(qū)動(dòng)差分或單端狀態(tài)至D+和D–。數(shù)據(jù)以分組的形式進(jìn)行組織,并用特殊信號(hào)序列表示分組開(kāi)始和分組結(jié)束。有時(shí)總線處于空閑狀態(tài),也就是說(shuō)沒(méi)有激活任何發(fā)送器,時(shí)連接電纜D+和D–端點(diǎn)的電阻將建立“空閑”總線狀態(tài)??臻e狀態(tài)協(xié)助對(duì)分組之間的總線進(jìn)行初始化它們還用來(lái)向主機(jī)指示外設(shè)的連接與斷開(kāi)狀態(tài),以及外設(shè)所需要的通信速度(1.5 Mbps、12 Mbps或480 Mbps)。
 
隔離總線主機(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. 隔離分割了電纜(概念)
 
圖2b. 隔離分割了電纜(顯示額外電阻)
 
一種可能的隔離方法如圖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ì)。
 
這種方法非常有吸引力,只要此概念可以真正實(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í)的唯一可行方案?,F(xiàn)在可以采用透明解決方案了。本文的余下篇幅將描述一個(gè)完全符合要求的示例。

透明USB隔離器要求
 
一個(gè)USB隔離器系統(tǒng)必須滿足一些要求,以實(shí)現(xiàn)完全的“透明”工作:
 
1. 它必須驅(qū)動(dòng)UD+、UD–、DD+和DD–,驅(qū)動(dòng)方式與標(biāo)準(zhǔn)USB收發(fā)器相同,并實(shí)際包含兩個(gè)USB兼容收發(fā)器,分布在隔離柵兩側(cè)(圖3)。
 
圖3. ADuM4160功能框圖
 
2. 它必須管理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)控總線上表示總線空閑、分組開(kāi)始和分組結(jié)束的信號(hào),以便正確響應(yīng)這些狀況。
 
3. USB隔離器內(nèi)部的信號(hào)隔離器元件必須跨越隔離柵正向和反向傳輸D+和D–數(shù)據(jù)。如果信號(hào)隔離器是單向的(通常如此),則USB隔離器系統(tǒng)需要多個(gè)隔離通道,其中某些通道沿下游方向傳輸,另一些通道則相反,沿上游方向傳輸。
 
4. 信號(hào)隔離器必須以精確時(shí)序快速運(yùn)行,以便支持所需的USB信號(hào)速度,并滿足USB傳播延遲和時(shí)序誤差要求。
 
5. 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的ADuM4160 USB數(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è)隨后開(kāi)始傳輸上游分組數(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)生的延遲。空閑總線的靜態(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ò)程。


 

推薦閱讀:
低功耗藍(lán)牙之四大PCB板載天線設(shè)計(jì)方式
了解了電路設(shè)計(jì)中的這些細(xì)節(jié),你的電路才不會(huì)被毀!
輕薄手機(jī)好幫手:德莎推出新一代高性能薄膜膠帶61305 
EMC測(cè)量到底測(cè)量哪些內(nèi)容?
如何保護(hù)你的系統(tǒng)不受反向電流的影響?
要采購(gòu)隔離器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉