数字隔离器提供易于使用的隔离式USB选项

通用串行总线(usB)是个人计算机(PC)通过电缆与外设实现通信的常用方法。某些应用中,需要隔离USB通信以满足安全要求,或中断接地环路。遗憾的是,隔离任务不易完成,因为usB电缆上有双向数据流。本文将讨论这个问题,并探讨实现易于使用的隔离式usB方案面临的其他挑战,最后对解决方案进行比较。一个理想的“透明”解决方案能将隔离对系统的影响降至最低,目前我们就可以提供这种解决方案。本文讨论的内容针对usB2.0,该版本支持三种数据速率,即1.5Mbps(低速)、12Mbps(全速)和480Mbps(高速)。

为简便起见,将详细探讨12Mbps的情况,但示例中的很多原理同样适用于其他速度。隔离USB主机和外设的方法

现在,请想像一下主机和外设的电气隔离。无论哪种情况,都应隔离多个信号,并且信号的传输速度可能很快,或者信号可能是双向的。这取决于在何处进行隔离。这使得利用分立器件来构建解决方案变得复杂。完整的物料清单可能很长,并且有可能很难找到完全满足信号传送要求的分立器件。

一种可能的隔离方法如图1a所示。其中,虚线表示隔离在理论上将USB电缆分割。D+和D的状态信息可以跨越隔离栅,但电流不能。GNDl节点(上游的接地基准)现在与GND2节点(下游的接地基准)相互分离。不幸的是,隔离使主机无法“看到”下游的上拉电阻,且外设无法“看到”上游的下拉电阻。因此,需要使用一些额外的电阻,如图1b所示,以便跨越隔离模仿相应连接。透明的usB隔离器元件可方便地插入收发器和USB电缆之间,并使用隔离电源。原本设计用于非隔离式应用的主机和外设可方便地连接usB隔离器并交换标准USB信号,无须大幅改动设计。

只要此概念可以真正实现,这种方法非常有吸引力,但需克服一些挑战。例如,独立的光电耦合器或数字隔离器通常不提供兼容usB的驱动特性,也不支持双向半双工通信方式。很多光电耦合器无法在12Mbps或更高速率下工作,并且具有较高的传播延迟和时序误差,不符合USB2.0时序要求。后面还将提到其他问题。

目前,我们先讨论不透明的替代方案。这些解决方案将隔离放在主机或外设的硬件内部,而不是通过隔离平分USB电缆。这样可以放在USB收发器和串行接口引擎(sIE)之间,或者sIE和usB控制器之间。如此,便可以采用独立的通用隔离器来隔离单向数字逻辑信号。然而,这样做有几个缺点。首先,必须定制usB收发器或控制器硬件,才能插入隔离元件。可能还需要额外的微控制器代码或修改usB驱动程序软件。这将会为系统设计人员带来额外的工作量,并显著增加所需的电路板空间,因为这些解决方案非常复杂,要用到多个器件。

另一个不足之处是,这样可能会导致总数据吞吐速率下降,因为数据现在通过usB收发器和单独隔离的串联组合方案发送。隔离方案可能增加与编码和解码为另一种串行格式(如SPI)有关的延迟,或者增加与低速或隔离元件的非精确时序有关的延迟。

虽然存在这些缺点,但这类解决方案是在无法解决透明usB隔离器部署难题时的唯一可行方案。但现在可以采用透明解决方案了。本文的余下篇幅将描述一个完全符合要求的示例。透明USB隔离器要求

USB隔离器系统必须满足一些要求,以实现完全的“透明”工作。

1.它必须驱动UD+、UD、DD+和DD,驱动方式与标准USB收发器相同,并实际包含两个usB兼容收发器,分布在隔离栅两侧(见图2)。

2.它必须管理usB电缆上的双向通信,确保其收发器在适当的时候进行发送和接收,并精确重现所有驱动和空闲状态。若要精确重现空闲状态,它必须在其上游侧配置上拉电阻,以模拟连接至下游外设的上拉电阻状态。它在下游侧也需配置下拉电阻。必须监控总线上表示总线空闲、数据包开始和数据包结束的信号,以便正确响应这些状况。

3.USB隔离器内部的信号隔离器元件必须能够跨越隔离栅正向和反向传输D+和D数据。如果信号隔离器是单向的(通常如此),则usB隔离器系统需要多个隔离通道,其中某些通道沿下游方向传输,另一些通道则相反,沿上游方向传输。

4.信号隔离器必须以精确时序快速运行,以便支持所需的usB信号速度,并满足usB传播延迟和时序误差要求。

5.usB隔离器的每一侧都应支持5V或3.3V电源供电。如果提供5V电源,那么隔离器应当获得适合为该侧USB收发器供电的3.3V调节电源。如果电源为3.3V,那么隔离器可利用它来直接为usB收发器供电,并旁路其调节器。透明USB隔离器的实现

ADuM4160USB数字隔离器满足全部要求,采用16引脚SOIC封装。原理框图如图2所示。它包含一对USB收发器、5个基于iCoupler的数字隔离通道、控制逻辑以及2个“智能调节器”。它还集成1.5k()上游上拉电阻,以及15kt)下游下拉电阻。

其usB收发器由简化的控制器控制,后者无须完全解码和分析数据包即可支持隔离功能。它能监控uD+、UD、DD+和DD,使信号指示总线空闲、数据包开始和数据包结束,并利用它们正确使能或禁用usB发送器,并忽略数据包内容。若将数据包从主机传输至外设,则会激活图3中的两个高位隔离通道,这与上游usB接收器和下游USB发送器相同。数据从UD+/UD复制到DD+/DD。数据包结束时,检测数据包结束序列,禁用所有USB发送器,允许总线进入空闲状态。如果外设随后开始向上游传输数据包,则USB隔离器检测数据包开始序列,使能第三和第四条隔离通道以及上游USB发送器,并将数据从DD+/DD复制到UD+/UD,直到数据包结束。然后,总线再次返回空闲状态,所有发送器关断,等待新数据到达。

ADuM4160使用第五个隔离通道传输下游侧控制线路的状态,该控制线路激活一个集成在上游侧的上拉电阻,使得下游端口能够控制上游端口何时连接usB总线。该引脚可以连接到外设上拉电阻、一条控制线路或VDD2引脚,具体取决于何时执行初始总线连接。将引脚与外设的上拉电阻相连可让上游上拉电阻模拟其状态,同时让ADuM4160的下拉电阻模拟所连接主机的状态。所有活动与空闲状态均从隔离的一侧复制到另一侧。

隔离通道是采用芯片级变压器的数字隔离器,可实现隔离通信。所有通道均可在100Mbps以上工作,轻松支持12Mbps

uSB“全速”数据。单芯片内集成所有通道可使能针对时序的严格控制,实现满足usB时序要求的低时序误差。ADuM4160产生的总传播延迟等于标准usB集线器产生的延迟。空闲总线的静态功耗低于usB限值。

智能调节器支持上文第五条要求中的电源选项,无须用户特别控制4。若要采用5V为usB隔离器的一侧(如上游侧)供电,则应将5V电源连接至适当的VBUS引脚(女NVBusl),而VDDl不连接。当传感器检测到电压施加于VBusl而非VDDl时,将激活3.3V调节器,为VDDl供电。

若要转而采用3.3V为USB隔离器的一侧(如下游侧)供电,则3.3V电源应同时连接至VBus2和VDD2。当传感器检测到电压同时施加在两个引脚上时,将禁用片内调节器,以便直接使用外部3.3V电源。

推荐访问:隔离器 易于 隔离 选项 数字