數(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),并對(duì)比了各種不同的解決方案。“透明的”理想方案是將添加隔離設(shè)備帶給系統(tǒng)的影響降至最低限度,而這樣的解決方案目前已經(jīng)成為可能。
本設(shè)計(jì)實(shí)例主要針對(duì)的是以三種數(shù)據(jù)傳輸速率運(yùn)行的USB2.0:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。簡(jiǎn)單起見,本文著重探討了12Mbps的全速USB,且實(shí)例中的大部分實(shí)現(xiàn)原理也適用于以其他數(shù)據(jù)傳輸速率運(yùn)行的USB設(shè)備。
關(guān)于USB
USB大受歡迎的一個(gè)原因是其簡(jiǎn)單的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ù)。信號(hào)是雙向半雙工傳輸,意味著數(shù)據(jù)可以在線纜的任意方向流動(dòng),但是無論何時(shí),最多只有一個(gè)發(fā)射器可以有效驅(qū)動(dòng)該線纜。在通信過程中,USB發(fā)射器驅(qū)動(dòng)差分或單端狀態(tài)信號(hào)到D+和D-線。數(shù)據(jù)被組織成數(shù)據(jù)包,其中有特別的信號(hào)序列標(biāo)識(shí)數(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)在想象一下對(duì)主機(jī)和外設(shè)進(jìn)行電氣隔離的方法。如參考文獻(xiàn)1中提到的,添加隔離阻障的方法有很多。但是無論如何都必須對(duì)信號(hào)進(jìn)行隔離。信號(hào)是高速運(yùn)行還是雙向運(yùn)行要取決于隔離阻障的具體添加位置,增加了從具體零部件中構(gòu)建隔離阻障的難度。這樣一來,隔離過程需要使用到更多的材料,而且也很難發(fā)現(xiàn)完全符合信號(hào)要求的分離組件。
圖2a給出的是一種可能的隔離方法,其中虛線表示對(duì)USB線纜的概念分割。有關(guān)D+和D-線的信息可以穿過隔離阻障,但是電流不可以。在這種情況下,接地端1(上游側(cè)接地基準(zhǔn))是獨(dú)立于接地端2(下游側(cè)接地基準(zhǔn))的一個(gè)單獨(dú)節(jié)點(diǎn)。不幸的是,這種隔離方法使主機(jī)無法“看到”下游側(cè)上拉電阻,且外設(shè)也無法“看到”上游側(cè)下拉電阻。因此,正如圖2b所示,這種隔離方法需要一些額外的電阻來模擬其相對(duì)物穿過隔離阻障的連接方式。在這一“透明”隔離概念中,主機(jī)與外設(shè)之間的通信與圖1非隔離USB連接的運(yùn)行原理類似。透明的USB隔離器組件簡(jiǎn)單地插入到某個(gè)收發(fā)器與USB線纜之間,還有一個(gè)隔離電源。最初為非隔離應(yīng)用設(shè)計(jì)的主機(jī)和外設(shè)可以輕松地連接到USB隔離器上,無需重大更改即可實(shí)現(xiàn)標(biāo)準(zhǔn)USB信號(hào)的交互。
假如可以真正實(shí)現(xiàn),這種方法還是極具吸引力的,但是真正實(shí)現(xiàn)起來需要面臨各種挑戰(zhàn)。舉例來說,獨(dú)立式光耦合器或者數(shù)字隔離器一般不支持USB兼容驅(qū)動(dòng)特性,也不支持雙向半雙工通信。此外,很多光耦合器無法以12Mbps或更快的速度運(yùn)行,且傳播延遲較長(zhǎng)并存在定時(shí)誤差,這些都不符合USB2.0的定時(shí)要求。還有一些問題會(huì)在后面講述。
現(xiàn)在,我們轉(zhuǎn)移一下注意力,考慮一下不透明的替代選擇,比如參考文獻(xiàn)1中描述的那些。這些方案不再對(duì)USB線纜平分隔離,而是把隔離阻障放置到主機(jī)或外設(shè)的硬件中—可以放置在USB收發(fā)器與串行接口引擎(SIE)之間,或者串行接口引擎與USB控制器之間。這樣就可以將單向數(shù)字邏輯信號(hào)與獨(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)的延遲。
評(píng)論