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

作者:Eric Gaalaas,ADI公司

简介

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

图1. 全速(12 Mbps) USB连接(非隔离式)

USB基础知识

USB广受欢迎的一个原因是它具有简单的4线式接口,能够为外设供电,并在外设与PC之间提供串行数据链路。图1显示标准的USB连接。VBUS和GND线提供5 V电源和接地,而D+和D–则承载数据。信号发送方式为双向半双工,表示数据可在任一方向沿电缆传输,但任意特定时刻最多只有一个发送器主驱动电缆。通信期间,USB发送器驱动差分或单端状态至D+和D–。数据以分组的形式进行组织,并用特殊信号序列表示分组开始和分组结束。有时总线处于空闲状态,也就是说没有激活任何发送器,时连接电缆D+和D–端点的电阻将建立“空闲”总线状态。空闲状态协助对分组之间的总线进行初始化它们还用来向主机指示外设的连接与断开状态,以及外设所需要的通信速度(1.5 Mbps、12 Mbps或480 Mbps)。

隔离总线主机和外设的方法

现在,请想象一下主机和外设的电气隔离。如[1]所述,隔离栅的位置可以有数个选项。无论哪种情况,都应隔离多个信号,并且信号的运行速度可能较快,或者信号可能是双向的。这取决于在何处进行隔离。这使得基于分立器件构建的解决方案变得更为复杂。完整的物料清单可能更长,并且有可能很难找到完全满足信号传送要求的分立器件。

图2a. 隔离分割了电缆(概念)

图2b. 隔离分割了电缆(显示额外电阻)

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

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

目前,我们先讨论不透明的替代方案,如[1]中所述的方案。这些解决方案将隔离放在主机或外设的硬件内部,而不是通过隔离平分USB电缆。这样可以放在USB收发器和串行接口引擎(SIE)之间,或者SIE和USB控制器之间。如此,便可以采用独立的通用隔离器来隔离单向数字逻辑信号。然而,这样做有几个缺点。首先,必须定制USB收发器或控制器硬件,才能插入隔离元件。可能还需要额外的微控制器代码或修改USB驱动器软件。这将会为系统设计人员带来额外的工作量,并显著增加所需的电路板空间,因为这些解决方案非常复杂,要用到多个器件。另一个不足之处是,这样可能会导致总数据吞吐速率的下降,因为数据现在通过USB收发器和单独隔离的串联组合方案发送。隔离方案可能增加与编码和解码为另一种串行格式(如SPI)有关的延迟,或者增加与低速或隔离元件的非精确时序有关的延迟。

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

透明USB隔离器要求

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

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

图3. ADuM4160功能框图

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

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

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

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

透明USB隔离器的实现

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

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

ADuM4160使用第五条隔离通道交流下游侧控制线路的状态3,该控制线路激活一个集成在上游侧的上拉电阻,使得下游端口能够控制上游端口何时连接USB总线。该引脚可以连接到外设上拉电阻、一条控制线路或VDD2引脚,具体取决于何时执行初始总线连接。将引脚与外设的上拉电阻相连可让上游上拉电阻模拟其状态,同时让ADuM4160的下拉电阻模拟所连接主机的状态。所有活动与空闲状态均从隔离的一侧复制到另一侧。隔离通道是采用芯片级变压器的数字隔离器,可实现隔离通信。所有通道均可在100 Mbps以上工作,轻松支持12 Mbps USB“全速”数据。单芯片内集成所有通道可使能针对时序的严格控制,实现满足USB时序要求的低时序误差。ADuM4160产生的总传播延迟等于标准USB集线器产生的延迟。空闲总线的静态功耗低于USB限值。

智能调节器支持上文第5条要求中的电源选项,无需用户特别控制4。若要采用5 V为USB隔离器的一侧上电(如上游侧),则应将5 V电源连接适当的VBUS引脚(如VBUS1),而VDD1不连接。当传感器检测到电压施加于VBUS1而非VDD1时,将激活3.3 V调节器,为VDD1上电。若要转而采用3.3 V上电USB隔离器的一侧(如下游侧),则3.3 V电源应同时连接VBUS2和VDD2。当传感器检测到电压同时施加在两个引脚上时,将禁用片内调节器,以便直接使用外部3.3 V电源。

结论

“透明”USB隔离器理论上可隔离平分USB电缆,现可轻松用于原本针对非隔离式应用设计的USB硬件。与此相反,在主机或外设硬件内实现隔离则要求对硬件进行较大的更改,有时甚至可能降低USB性能。使用分立器件(比如现成的通用隔离器)完成透明方案难度很大。然而,最新的集成式解决方案(如ADuM4160)通过便利的单一封装解决了这些难题,极大地简化了USB应用中实现隔离的过程。

作者简介:Eric Gaalaas [eric.gaalaas@analog.com]是一位混合信号集成电路设计工程师,任职于ADI公司的iCoupler数字隔离器部门。他拥有美国康奈尔大学电气工程学士学位和工程硕士学位。Eric发表了很多相关文章,并拥有九项专利。

点击这里,获取更多电机控制设计信息

最新文章