使用数字隔离器对USB实现隔离的方法

  早期的个人电脑以串行和并行端口作为与外部世界连接的标准接口。这些标准是从最早的大型计算机继承而来的。另一个可用的通讯标准RS-232接口,虽然速度慢,但因为可简单地实现所需要的鲁棒隔离,很适合医疗和工业环境。由于得到广泛使用并有良好的支持,人们容忍了其速度低和点对点的缺点。


  USB接口已取代RS-232,成为个人电脑及其外设的标准端口,其特性几乎在所有方面都远远优于较老的串行端口。然而,对于要求隔离的医疗和工业应用,由于实现隔离的难度大且成本高,USB一直主要用作诊断端口和临时连接。


  本文讨论了对USB实现隔离的各种方法。值得特别介绍的是,ADI公司现提供了一个新的可选方案——ADuM41601 USB隔离器。这一突破性产品可简单廉价地实现外设隔离(特别是D+和D-线的隔离),提高了USB在医疗和工业应用中的使用价值。


  关于通用串行总线


  USB是个人电脑的首选串行接口。该接口得到所有常用的商业操作系统的支持,且允许硬件和驱动器热插拔。一台主机可以集中星型方式连接多达127个设备。许多数据传输模式可处理存储设备的大批量数据传输、流媒体的同步传输以及时间关键型数据的中断驱动型传输(如鼠标移动)等各类传输。USB以三种数据传输速率运行:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。该规范创建后强化了消费应用,这些应用要求连接必须简单且具有鲁棒性,由控制器和物理层信令来解决复杂性的问题。本文来自电子发烧友网(http://www.elecfans.com ) 


  USB物理层只包含4条线:两条向外设提供5V电源和地,另外两条(D+和D-)构成可传递差分数据的双绞线对(图1)。这些线也可传递单端数据以及用无源电阻实现的空闲状态。当设备连接到总线上时,无源电阻结构中的电流对传输速度进行协商,并建立无驱动的空闲状态。数据被组织成数据帧或数据包,每帧可以包含时钟同步位、数据类型标识符、设备地址、数据有效载荷及包尾序列。


  

使用数字隔离器对USB实现隔离的方法

  图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的吞吐量。


  

使用数字隔离器对USB实现隔离的方法


  图2. 通过RS-232隔离。


  第二种方法:使用带有易隔离接口的独立SIE(图3)。市场上有几种产品(如SPI)使用快速单向接口把SIE连接到微处理器。数字隔离器(如ADuM1401C 四通道数字隔离器)可对SPI总线实现完全隔离。由于SIE包含可通过SPI总线填充的缓冲存储器,SPI的运行速度在很大程度上可不依赖于USB的速度。SIE将与USB主机协商其可能的最高连接速度,并以协商得出的总线速度分发数据,直到把缓冲中的数据传递完。此时,SIE会通知主机如果有更多的数据需要传送则重试,并留出时间使SPI接口可为下一个传输循环重新填充缓存。虽然非常有效,这种方案通常要求修改外设驱动程序,并忽视内置在外设的微处理器中的USB电路。该方案在元件和电路板尺寸方面的成本较高。


  

使用数字隔离器对USB实现隔离的方法


  图3. 通过SPI接口隔离SIE。


  第三种方法:如果微处理器的SIE使用外部收发器,则可以对微处理器和收发器之间的数据和控制线进行隔离(图4)。但是,这种方式要求在SIE和收发器之间有9条单向数据线。在高速数字隔离器中,这将带来极大的成本问题。此外,现有的速度最快的数字隔离器工作在约150Mbps,虽然远高于低速和全速USB,但不能处理高速数据,限制了USB接口的速度范围。该方案与为微处理器SIE提供的USB驱动器完全兼容,可降低开发成本,但需使用多个隔离通道致使实现成本高昂。此类收发器接口将被集成度要求日益提高的市场所淘汰。


  

使用数字隔离器对USB实现隔离的方法


  图4. 隔离的外部USB收发器。


  第四种方法:直接在D+和D-线线中插入隔离(图5)。这种方式允许在现有的USB应用中添加D+/D-隔离,而无需重写驱动程序或增加冗余SIE,同其它方法相比,这是一个很大的优点。但是,D+和D-线的隔离较为复杂,因为隔离器件必须能够像SIE那样处理控制流,允许在隔离屏障两边使用上拉电阻,并确定传输速度。另外,其运行不应要求额外的设备驱动程序相关的开销。


  

使用数字隔离器对USB实现隔离的方法


  图5. 隔离D+/D-线。


  新型芯片级器件ADuM4160 USB隔离器解决了这些挑战性难题(图6),它支持低速和全速USB的D+和D-线直接隔离。


  

使用数字隔离器对USB实现隔离的方法


  图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电缆汲取能量。


  

使用数字隔离器对USB实现隔离的方法


  图7. 隔离的外设端口。


  在作为集线器隔离器使用时,ADuM4160把集线器作为外设来对待(图8)。ADuM4160设置为全速,其它部分与上面讨论的标准外设类似。在ADuM4160的chirp功能干预下,集线器被迫以全速运行。即使ADuM4160以固定的速度运行,集线器芯片都可以连接到低速和全速设备的各种组合。集线器向下游端口的隔离器提供能量,枚举可以以上电启动或延迟启动的方式进行。集线器要求提供的能量通常高于上游电缆通过隔离型DC/DC转换器供电的能力。


  

使用数字隔离器对USB实现隔离的方法


  图8. 隔离的集线器。


  驱动隔离的USB电缆(图9)需使用DC/DC转换器为下游端口和电缆供电。为了满足USB规范的要求,电缆的下游部分必须向外设的上拉电路提供5V电源。可使用ADuM5000等隔离型DC/DC转换器可以用于提供这个电源,另外,它还有足够的裕量为下游功率要求低的设备提供能量。图9显示了ADuM5000 isoPower®器件的使用方法4 。在这个应用中,ADuM4160以硬连线连接的速度引脚有些不便。该电缆每次只能以一个USB速度运行,要切换速度模式须重新接线或通过简单的开关以手动方式切换或采用更复杂的电路,这依赖于末端用户的需求。


  

使用数字隔离器对USB实现隔离的方法


  图9. 包含isoPower的隔离电缆接口。


  结束语


  USB已融入我们的生活。ADI公司具有突破性的ADuM4160隔离器可在USB应用中简单而廉价地实现外设隔离,进而使USB在医疗和工业应用领域的应用远远超出诊断端口和临时连接的范围。着重于在D+/D–线中提供隔离,ADuM4160极大地简化了隔离的实现。它支持全速和低速运行,可满足众多应用的带宽要求。

  • 使用数字隔离器对USB实现隔离的方法已关闭评论
    A+
发布日期:2019年07月14日  所属分类:电子百科