數(shù)字隔離器是一種方便易用的USB隔離方法
USB,是英文Universal Serial Bus(通用串行總線)的縮寫,個(gè)人電腦(PC)可以使用USB通過連接電纜與外設(shè)進(jìn)行通信。但是出于安全考慮,在某些應(yīng)用中需要隔離USB通信或隔斷接地回路。遺憾的是,由于USB連接電纜上的數(shù)據(jù)流是雙向傳輸,所以隔離工作也非易事。這篇文章討論的就是方便易用的USB隔離設(shè)備在實(shí)際應(yīng)用中遇到的挑戰(zhàn),并對比了各種不同的解決方案。“透明的”理想方案是將添加隔離設(shè)備帶給系統(tǒng)的影響降至最低限度,而這樣的解決方案目前已經(jīng)成為可能。
本設(shè)計(jì)實(shí)例主要針對的是以三種數(shù)據(jù)傳輸速率運(yùn)行的USB2.0:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。簡單起見,本文著重探討了12Mbps的全速USB,且實(shí)例中的大部分實(shí)現(xiàn)原理也適用于以其他數(shù)據(jù)傳輸速率運(yùn)行的USB設(shè)備。
關(guān)于USB
USB大受歡迎的一個(gè)原因是其簡單的4線接口設(shè)計(jì),不但可以為外設(shè)供電,還可以在外設(shè)和PC間充當(dāng)串行數(shù)據(jù)鏈路。圖1是標(biāo)準(zhǔn)的USB(參考文獻(xiàn)1)連接示意圖。VBUS線可以為外設(shè)提供5V電力,GND為接地線,而D+和D-則用來傳輸數(shù)據(jù)。信號是雙向半雙工傳輸,意味著數(shù)據(jù)可以在線纜的任意方向流動(dòng),但是無論何時(shí),最多只有一個(gè)發(fā)射器可以有效驅(qū)動(dòng)該線纜。在通信過程中,USB發(fā)射器驅(qū)動(dòng)差分或單端狀態(tài)信號到D+和D-線。數(shù)據(jù)被組織成數(shù)據(jù)包,其中有特別的信號序列標(biāo)識數(shù)據(jù)包的頭部和尾部。有時(shí),總線會(huì)處于空閑狀態(tài),也就意味著沒有發(fā)射器處于活躍狀態(tài),此時(shí)與線纜兩端相連的電阻在D+和D-線建立起“空閑”總線狀態(tài)??臻e狀態(tài)會(huì)促成兩個(gè)數(shù)據(jù)包之間總線的初始化,并使主機(jī)了解外設(shè)何時(shí)連接或斷開以及外設(shè)期望的通信速率(1.5Mbps、12Mbps或480Mbps)。
隔離USB主機(jī)和外設(shè)的方法
現(xiàn)在想象一下對主機(jī)和外設(shè)進(jìn)行電氣隔離的方法。如參考文獻(xiàn)1中提到的,添加隔離阻障的方法有很多。但是無論如何都必須對信號進(jìn)行隔離。信號是高速運(yùn)行還是雙向運(yùn)行要取決于隔離阻障的具體添加位置,增加了從具體零部件中構(gòu)建隔離阻障的難度。這樣一來,隔離過程需要使用到更多的材料,而且也很難發(fā)現(xiàn)完全符合信號要求的分離組件。
圖2a給出的是一種可能的隔離方法,其中虛線表示對USB線纜的概念分割。有關(guān)D+和D-線的信息可以穿過隔離阻障,但是電流不可以。在這種情況下,接地端1(上游側(cè)接地基準(zhǔn))是獨(dú)立于接地端2(下游側(cè)接地基準(zhǔn))的一個(gè)單獨(dú)節(jié)點(diǎn)。不幸的是,這種隔離方法使主機(jī)無法“看到”下游側(cè)上拉電阻,且外設(shè)也無法“看到”上游側(cè)下拉電阻。因此,正如圖2b所示,這種隔離方法需要一些額外的電阻來模擬其相對物穿過隔離阻障的連接方式。在這一“透明”隔離概念中,主機(jī)與外設(shè)之間的通信與圖1非隔離USB連接的運(yùn)行原理類似。透明的USB隔離器組件簡單地插入到某個(gè)收發(fā)器與USB線纜之間,還有一個(gè)隔離電源。最初為非隔離應(yīng)用設(shè)計(jì)的主機(jī)和外設(shè)可以輕松地連接到USB隔離器上,無需重大更改即可實(shí)現(xiàn)標(biāo)準(zhǔn)USB信號的交互。
假如可以真正實(shí)現(xiàn),這種方法還是極具吸引力的,但是真正實(shí)現(xiàn)起來需要面臨各種挑戰(zhàn)。舉例來說,獨(dú)立式光耦合器或者數(shù)字隔離器一般不支持USB兼容驅(qū)動(dòng)特性,也不支持雙向半雙工通信。此外,很多光耦合器無法以12Mbps或更快的速度運(yùn)行,且傳播延遲較長并存在定時(shí)誤差,這些都不符合USB2.0的定時(shí)要求。還有一些問題會(huì)在后面講述。
現(xiàn)在,我們轉(zhuǎn)移一下注意力,考慮一下不透明的替代選擇,比如參考文獻(xiàn)1中描述的那些。這些方案不再對USB線纜平分隔離,而是把隔離阻障放置到主機(jī)或外設(shè)的硬件中—可以放置在USB收發(fā)器與串行接口引擎(SIE)之間,或者串行接口引擎與USB控制器之間。這樣就可以將單向數(shù)字邏輯信號與獨(dú)立式通用隔離器分離開來。但是,這樣的方案也存在一些重大缺陷。首先,USB收發(fā)器或控制器硬件必須經(jīng)過定制,使其能夠容納隔離組件;還可能需要一些額外的微控制器代碼或USB驅(qū)動(dòng)軟件方面的改動(dòng)。所有這些無疑會(huì)加大系統(tǒng)設(shè)計(jì)師的工作負(fù)擔(dān)。而由于這些方案比較復(fù)雜且需要不同的組件,也會(huì)大大增加所需的板空間。
另外一個(gè)缺陷就是,數(shù)據(jù)傳送需要USB收發(fā)器和單獨(dú)隔離方案的一系列組合,可能會(huì)導(dǎo)致整體數(shù)據(jù)吞吐量降低。此外,隔離方案可能會(huì)增加與編解碼成其它串行格式如串行外設(shè)接口(SPI)相關(guān)的延遲或者與隔離組件低速或非精確定時(shí)相關(guān)的延遲。
評論