早期的個人電腦以串行和并行端口作為與外部世界連接的標準接口。這些標準是從最早的大型計算機繼承而來的。另一個可用的通訊標準RS-232接口,雖然速度慢,但因為可簡單地實現所需要的魯棒隔離,很適合醫療和工業環境。由于得到廣泛使用并有良好的支持,人們容忍了其速度低和點對點的缺點。
USB接口已取代RS-232,成為個人電腦及其外設的標準端口,其特性幾乎在所有方面都遠遠優于較老的串行端口。然而,對于要求隔離的醫療和工業應用,由于實現隔離的難度大且成本高,USB一直主要用作診斷端口和臨時連接。
本文討論了對USB實現隔離的各種方法。值得特別介紹的是,ADI公司現提供了一個新的可選方案——ADuM41601 USB隔離器。這一突破性產品可簡單廉價地實現外設隔離(特別是D+和D-線的隔離),提高了USB在醫療和工業應用中的使用價值。
關于通用串行總線
USB是個人電腦的首選串行接口。該接口得到所有常用的商業操作系統的支持,且允許硬件和驅動器熱插拔。一臺主機可以集中星型方式連接多達127個設備。許多數據傳輸模式可處理存儲設備的大批量數據傳輸、流媒體的同步傳輸以及時間關鍵型數據的中斷驅動型傳輸(如鼠標移動)等各類傳輸。USB以三種數據傳輸速率運行:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。該規范創建后強化了消費應用,這些應用要求連接必須簡單且具有魯棒性,由控制器和物理層信令來解決復雜性的問題。本文來自電子發燒友網(http://m.1cnz.cn )?
USB物理層只包含4條線:兩條向外設提供5V電源和地,另外兩條(D+和D-)構成可傳遞差分數據的雙絞線對(圖1)。這些線也可傳遞單端數據以及用無源電阻實現的空閑狀態。當設備連接到總線上時,無源電阻結構中的電流對傳輸速度進行協商,并建立無驅動的空閑狀態。數據被組織成數據幀或數據包,每幀可以包含時鐘同步位、數據類型標識符、設備地址、數據有效載荷及包尾序列。
圖1. USB的標準組成。
串行接口引擎(SIE)在電纜的兩端對這個復雜的數據結構進行控制,這個專用控制器(或作為更大控制器的一部分)實現USB協議,通常內置USB收發器硬件。當某個外設首次連接到電纜上時,SIE在 枚舉,2 期間向宿主計算機提供外設的配置信息和功率要求。在運行期間,SIE把所有數據按照要求的傳輸類型格式化,并提供錯誤檢查和自動故障處理。SIE處理總線上的所有控制流,并按需要使能和禁用線驅動器和接收器。主機啟動所有的處理業務,然后按明確規定的數據序列在主機和外設之間交換數據,包括數據損壞和出現其它故障的情況。SIE可以內建在微處理器中,因此它可能只有D+和D-線與外設相連。實現這個總線的隔離面臨幾個挑戰:
隔離器幾乎總是單向器件,而D+和D-線是雙向的。
SIE不提供確定數據傳輸方向的外部方式。
隔離器必須與無源電阻的上拉和下拉功能兼容,即與隔離阻障兩側的電路匹配。
隔離USB的典型方法主要是設法回避上述挑戰。
第一種方法: 使USB接口與需要隔離的設備完全分離(圖2)。許多設備可把其它通用的串行總線與USB連接;圖2中顯示了RS-232與USB的連接接口。SIE提供普通的串行接口功能;隔離是在低速串行線中實現的。但這種方法并不能利用USB的優勢,所實現的是一個可熱插拔的串行端口。接口芯片可通過改變固件來實現定制,以識別外設,從而允許創建定制的驅動程序;但每個外設可能都需要一個定制的適配器。除非該適配器是永久連在這個外設上,否則這將是維修人員的噩夢。此外,接口的速度將被限制在標準RS-232的速度,甚至遠低于低速USB的吞吐量。
圖2. 通過RS-232隔離。
第二種方法:使用帶有易隔離接口的獨立SIE(圖3)。市場上有幾種產品(如SPI)使用快速單向接口把SIE連接到微處理器。數字隔離器(如ADuM1401C 四通道數字隔離器)可對SPI總線實現完全隔離。由于SIE包含可通過SPI總線填充的緩沖存儲器,SPI的運行速度在很大程度上可不依賴于USB的速度。SIE將與USB主機協商其可能的最高連接速度,并以協商得出的總線速度分發數據,直到把緩沖中的數據傳遞完。此時,SIE會通知主機如果有更多的數據需要傳送則重試,并留出時間使SPI接口可為下一個傳輸循環重新填充緩存。雖然非常有效,這種方案通常要求修改外設驅動程序,并忽視內置在外設的微處理器中的USB電路。該方案在元件和電路板尺寸方面的成本較高。
圖3. 通過SPI接口隔離SIE。
第三種方法:如果微處理器的SIE使用外部收發器,則可以對微處理器和收發器之間的數據和控制線進行隔離(圖4)。但是,這種方式要求在SIE和收發器之間有9條單向數據線。在高速數字隔離器中,這將帶來極大的成本問題。此外,現有的速度最快的數字隔離器工作在約150Mbps,雖然遠高于低速和全速USB,但不能處理高速數據,限制了USB接口的速度范圍。該方案與為微處理器SIE提供的USB驅動器完全兼容,可降低開發成本,但需使用多個隔離通道致使實現成本高昂。此類收發器接口將被集成度要求日益提高的市場所淘汰。
圖4. 隔離的外部USB收發器。
第四種方法:直接在D+和D-線線中插入隔離(圖5)。這種方式允許在現有的USB應用中添加D+/D-隔離,而無需重寫驅動程序或增加冗余SIE,同其它方法相比,這是一個很大的優點。但是,D+和D-線的隔離較為復雜,因為隔離器件必須能夠像SIE那樣處理控制流,允許在隔離屏障兩邊使用上拉電阻,并確定傳輸速度。另外,其運行不應要求額外的設備驅動程序相關的開銷。
圖5. 隔離D+/D-線。
新型芯片級器件ADuM4160 USB隔離器解決了這些挑戰性難題(圖6),它支持低速和全速USB的D+和D-線直接隔離。
圖6. ADuM4160的框圖。
ADI公司的iCoupler? 技術3 特別適合于構建USB隔離器。在開發USB隔離器時所面臨的主要挑戰是正確確定數據傳輸的方向,以及何時禁用驅動器以讓總線處在空閑狀態。USB數據的面向數據包特性使我們可以使用一種簡單的方法來確定數據方向,免去了整個SIE的開銷。當總線空閑時,上拉和下拉電阻使USB保持在空閑狀態,緩沖器不再驅動總線。
ADuM4160監視總線的上游和下游部分,等待來自任何方向的躍遷信號。當檢測到躍遷信號時,則對信號進行編碼并傳過隔離阻障。這些數據被解碼之后,ADuM4160使能輸出驅動器在電纜的另一段上進行傳輸。從第一次傳送開始,由于數據流的方向已得到確認,ADuM4160將禁用反向隔離通道。只要繼續收到數據,隔離器就沿相同的方向繼續傳輸數據。當USB數據包結束時,ADuM4160傳輸特殊的數據——包尾序列。包尾序列包含非差分信號,而非差分信號不應包含在任何數據結構中。ADuM4160可以區分有效數據和包尾標識。包尾標識通知總線返回空閑狀態。然后,ADuM4160禁用輸出驅動器,并開始監視上游和下游輸入的下一次躍遷,該信號將決定下一次數據傳輸的方向。
此外,當發生總線錯誤時,看門狗定時器將使ADuM4160返回空閑狀態。ADuM4160使用了基于躍遷的隔離方案,基于躍遷的隔離是iCoupler技術的核心能力之一。
隔離器還必須支持上拉和下拉電阻。隔離器的每側支持一個獨立的USB總線段,在空閑狀態連接所有的偏置電阻。當在總線上有某個設備需要進入初始化序列(稱為枚舉)時,上拉電阻發出信號。知道外設的工作速度以及何時應連接上拉電阻,使枚舉過程以受控的方式啟動。有幾個因素影響上游上拉電阻的狀態。上游和下游電源電壓可能有多種組合,隔離器的設計保證對所有給定的電源組合給出可預測的操作。有時,如外設需在開始USB枚舉之前完成自己的本地初始化的話,外設要求延遲啟用上游的上拉電阻。ADuM4160在其下游側提供了一個控制引腳以便由外設來決定何時開始枚舉。
該器件還可以工作于5V或3.3V電源,因此,外設僅需一個電源。ADuM4160還具有良好的ESD保護能力,通常允許在連接器的D+和D-引腳沒有外部保護電路的情況下熱插拔。
ADuM4160可按以下三種方式之一使用:
安裝在外設中以隔離其上游端口。ADuM4160是以這個配置為基礎應用設計的,該設計極大地簡化了電源和控制配置(圖7)。
可用來隔離集線器以及集線器所有的下游外設(圖8)。
可用于隔離電纜(圖9)。
下面的示例給出了ADuM4160在這些應用中的連接方法。
在外設應用中(圖7),外設有自己的電源,幾乎不需要從USB電纜獲得能量——只需約10毫瓦來驅動該隔離器的上游側和上拉電阻。由于外設以單一速度運行,該隔離器按期望的速度(全速或低速)設置以硬連線方式與外設連接。如果外設端口具有高速性能,那么,它在枚舉期間發送高速的“chirp”信號。這通常會啟動速度協商以實現高速操作,但ADuM4160會阻斷“chirp”信號并自動迫使高速外設運行在全速模式。對不帶電源的低功耗外設,可用隔離型DC/DC轉換器(如ADuM5000)給外設供電,而ADuM4160從USB電纜汲取能量。
圖7. 隔離的外設端口。
在作為集線器隔離器使用時,ADuM4160把集線器作為外設來對待(圖8)。ADuM4160設置為全速,其它部分與上面討論的標準外設類似。在ADuM4160的chirp功能干預下,集線器被迫以全速運行。即使ADuM4160以固定的速度運行,集線器芯片都可以連接到低速和全速設備的各種組合。集線器向下游端口的隔離器提供能量,枚舉可以以上電啟動或延遲啟動的方式進行。集線器要求提供的能量通常高于上游電纜通過隔離型DC/DC轉換器供電的能力。
圖8. 隔離的集線器。
驅動隔離的USB電纜(圖9)需使用DC/DC轉換器為下游端口和電纜供電。為了滿足USB規范的要求,電纜的下游部分必須向外設的上拉電路提供5V電源。可使用ADuM5000等隔離型DC/DC轉換器可以用于提供這個電源,另外,它還有足夠的裕量為下游功率要求低的設備提供能量。圖9顯示了ADuM5000 isoPower?器件的使用方法4 。在這個應用中,ADuM4160以硬連線連接的速度引腳有些不便。該電纜每次只能以一個USB速度運行,要切換速度模式須重新接線或通過簡單的開關以手動方式切換或采用更復雜的電路,這依賴于末端用戶的需求。
圖9. 包含isoPower的隔離電纜接口。
結束語
USB已融入我們的生活。ADI公司具有突破性的ADuM4160隔離器可在USB應用中簡單而廉價地實現外設隔離,進而使USB在醫療和工業應用領域的應用遠遠超出診斷端口和臨時連接的范圍。著重于在D+/D–線中提供隔離,ADuM4160極大地簡化了隔離的實現。它支持全速和低速運行,可滿足眾多應用的帶寬要求。