微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 数字隔离器是一种方便易用的USB隔离方法

数字隔离器是一种方便易用的USB隔离方法

时间:02-06 来源:互联网 点击:

USB,是英文Universal Serial Bus(通用串行总线)的缩写,个人电脑(PC)可以使用USB通过连接电缆与外设进行通信。但是出于安全考虑,在某些应用中需要隔离USB通信或隔断接地回路。遗憾的是,由于USB连接电缆上的数据流是双向传输,所以隔离工作也非易事。这篇文章讨论的就是方便易用的USB隔离设备在实际应用中遇到的挑战,并对比了各种不同的解决方案。"透明的"理想方案是将添加隔离设备带给系统的影响降至最低限度,而这样的解决方案目前已经成为可能。

本设计实例主要针对的是以三种数据传输速率运行的USB2.0:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。简单起见,本文着重探讨了12Mbps的全速USB,且实例中的大部分实现原理也适用于以其他数据传输速率运行的USB设备。

关于USB

USB大受欢迎的一个原因是其简单的4线接口设计,不但可以为外设供电,还可以在外设和PC间充当串行数据链路。图1是标准的USB(参考文献1)连接示意图。VBUS线可以为外设提供5V电力,GND为接地线,而D+和D-则用来传输数据。信号是双向半双工传输,意味着数据可以在线缆的任意方向流动,但是无论何时,最多只有一个发射器可以有效驱动该线缆。在通信过程中,USB发射器驱动差分或单端状态信号到D+和D-线。数据被组织成数据包,其中有特别的信号序列标识数据包的头部和尾部。有时,总线会处于空闲状态,也就意味着没有发射器处于活跃状态,此时与线缆两端相连的电阻在D+和D-线建立起"空闲"总线状态。空闲状态会促成两个数据包之间总线的初始化,并使主机了解外设何时连接或断开以及外设期望的通信速率(1.5Mbps、12Mbps或480Mbps)。



隔离USB主机和外设的方法

现在想象一下对主机和外设进行电气隔离的方法。如参考文献1中提到的,添加隔离阻障的方法有很多。但是无论如何都必须对信号进行隔离。信号是高速运行还是双向运行要取决于隔离阻障的具体添加位置,增加了从具体零部件中构建隔离阻障的难度。这样一来,隔离过程需要使用到更多的材料,而且也很难发现完全符合信号要求的分离组件。


图2a给出的是一种可能的隔离方法,其中虚线表示对USB线缆的概念分割。有关D+和D-线的信息可以穿过隔离阻障,但是电流不可以。在这种情况下,接地端1(上游侧接地基准)是独立于接地端2(下游侧接地基准)的一个单独节点。不幸的是,这种隔离方法使主机无法"看到"下游侧上拉电阻,且外设也无法"看到"上游侧下拉电阻。因此,正如图2b所示,这种隔离方法需要一些额外的电阻来模拟其相对物穿过隔离阻障的连接方式。在这一"透明"隔离概念中,主机与外设之间的通信与图1非隔离USB连接的运行原理类似。透明的USB隔离器组件简单地插入到某个收发器与USB线缆之间,还有一个隔离电源。最初为非隔离应用设计的主机和外设可以轻松地连接到USB隔离器上,无需重大更改即可实现标准USB信号的交互。

假如可以真正实现,这种方法还是极具吸引力的,但是真正实现起来需要面临各种挑战。举例来说,独立式光耦合器或者数字隔离器一般不支持USB兼容驱动特性,也不支持双向半双工通信。此外,很多光耦合器无法以12Mbps或更快的速度运行,且传播延迟较长并存在定时误差,这些都不符合USB2.0的定时要求。还有一些问题会在后面讲述。

现在,我们转移一下注意力,考虑一下不透明的替代选择,比如参考文献1中描述的那些。这些方案不再对USB线缆平分隔离,而是把隔离阻障放置到主机或外设的硬件中-可以放置在USB收发器与串行接口引擎(SIE)之间,或者串行接口引擎与USB控制器之间。这样就可以将单向数字逻辑信号与独立式通用隔离器分离开来。但是,这样的方案也存在一些重大缺陷。首先,USB收发器或控制器硬件必须经过定制,使其能够容纳隔离组件;还可能需要一些额外的微控制器代码或USB驱动软件方面的改动。所有这些无疑会加大系统设计师的工作负担。而由于这些方案比较复杂且需要不同的组件,也会大大增加所需的板空间。

另外一个缺陷就是,数据传送需要USB收发器和单独隔离方案的一系列组合,可能会导致整体数据吞吐量降低。此外,隔离方案可能会增加与编解码成其它串行格式如串行外设接口(SPI)相关的延迟或者与隔离组件低速或非精确定时相关的延迟。

虽然有这些不足之处,但在过去难以克服实现透明USB隔离器的挑战时,这些方案是唯一可行的选择。但是现在,透明的隔离解决方案已成为现实,本文的后半部分将具体描述一个完全符合要求的实例。

透明USB隔离器的要求

USB隔离器系统必须满足下述要求,才能实现真正的"透明"操作:

作为标准的USB收发器,USB隔离器系统必须能够以同样的方式驱动UD+、UD-、DD+和DD-,且实际上应包含两个USB兼容收发器,分别位于绝缘阻障的两端(图3)。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top