數字隔離器是一種方便易用的USB隔離方法
雖然有這些不足之處,但在過去難以克服實現透明USB隔離器的挑戰時,這些方案是唯一可行的選擇。但是現在,透明的隔離解決方案已成為現實,本文的后半部分將具體描述一個完全符合要求的實例。
透明USB隔離器的要求
USB隔離器系統必須滿足下述要求,才能實現真正的“透明”操作:
作為標準的USB收發器,USB隔離器系統必須能夠以同樣的方式驅動UD+、UD-、DD+和DD-,且實際上應包含兩個USB兼容收發器,分別位于絕緣阻障的兩端(圖3)。
USB隔離器系統的收發器必須能夠在適當的時間發送和接收信息,以管理USB線纜上的雙向通信,且USB隔離器系統必須能夠準確地復制所有驅動和空閑狀態。要想準確地復制空閑狀態,USB隔離器系統必須在上游側設置一個上拉電阻器來模擬連接至下游側外設上的上拉電阻的狀態。當然,也可以在下游側設置一些下拉電阻。此外,必須對總線進行監控,識別指示空閑總線、數據包頭、數據包尾的信號,以便能夠實時應對各種狀況。
USB隔離器內部的信號隔離器組件必須能夠穿過隔離阻障來回交流D+和D-數據。如果信號隔離器是單向的(因為一般情況下都是),USB隔離器系統需要多個隔離通道,有些負責在下游方向傳送數據,有些負責在相反的上游方向傳送數據。
信號隔離器必須能夠快速運行且具備準確定時功能,這樣才能滿足USB信令速率與傳播延遲和定時誤差的要求。
USB隔離器的兩端均應支持5V或3.3V電源。如果是5V電源,隔離器應能夠衍生出適用于一側USB收發器的3.3V穩壓電源。如果是3.3V電源,隔離器能夠旁路調節器,直接使用該電源為USB收發器供電。
透明USB隔離器的實現
美國ADI公司的ADuM4160 USB數字隔離器(參考文獻2)符合上述所有要求,并集成在16引腳小型SOIC封裝中。圖3給出的是ADuM4160的框圖。該器件包含一對USB收發器,5條iCoupler數字隔離通道、控制邏輯和兩個“智能調節器”。此外,該器件還包括一個1.5kΩ的上游側上拉電阻和數個15kΩ的下游側下拉電阻。
ADuM4160的USB收發器由一個簡化控制器進行控制,無需完全解碼和分析數據包即可實現隔離功能。此外,它還可以監控UD+、UD-、DD+和DD-,識別指示空閑總線、數據包頭、數據包尾的信號,從而在忽略數據包內容的同時正確地使能或去使能USB收發器。當在下游側從主機向外設傳輸數據包時,圖3中上方的兩條隔離通道處于有效狀態,用作上游側USB接收器和下游側USB發射器。數據從UD+/UD-拷貝到DD+/DD-.當數據包傳輸結束時,USB隔離器檢測到尾部序列后就會去使能所有USB收發器,使總線進入空閑狀態。如果接下來外設開始向上游側傳輸數據包,USB隔離器檢測到數據包頭部序列后就會使能第三和第四條隔離通道以及上游側USB發射器,并將數據從UD+/UD-拷貝到DD+/DD-,直到數據包傳輸結束。然后,總線再次進入空閑狀態,所有發射器也被關閉,等待新的數據傳輸。
ADuM4160使用第五隔離通道來傳遞下游側(參考文獻3)控制線路的狀態信息,從而激活一個集成于上游側的上拉電阻,這使得下游端口能夠控制上游端口何時連接USB總線。該引腳可以連接到外設上拉電阻、一條控制線路或VDD2引腳,具體取決于何時執行初始總線連接。將該引腳連接到外設上拉電阻可以使上游側上拉電阻模擬其狀態,同時ADuM4160的下拉電阻可以模擬連接到主機的下拉電阻的狀態。所有有效與空閑狀態均可從隔離阻障的一側復制到另一側。
隔離通道是使用芯片級變壓器技術實現隔離通信的數字隔離器。每一單個通道的運行速度均超過100Mbps,可以輕松支持12Mbps的全速USB數據傳輸。把所有通道集成到一個單獨的芯片上可以實現對時間的嚴密控制,從而降低定時誤差,以滿足USB的定時要求。此外,穿過ADuM4160的全部傳播延遲相當于穿過一個標準USB集線器的延遲,且靜態功耗要低于空閑總線的USB限制值。
智能調節器支持上面第5條要求中提到的電源選項,且無需明確的用戶控制(參考文獻4)。如要使用5V電源(例如上游側)為USB隔離器的一側供電,則要將該5V電源連接到合適的VBUS引腳(如VBUS1)上,且將VDD1設為斷開狀態。當傳感器檢測到電壓是應用于VBUS1而非VDD1時,傳感器會激活3.3V調節器,為VDD1供電。
要想使用3.3V電源(例如下游側)為USB隔離器的一側供電,要將3.3V電源與VBUS2和VDD2相連接。當傳感器檢測到兩側引腳上同時出現外加電壓時,就會去使能片上調節器,直接使用外接3.3V電源。
評論