USB接口的光电隔离保护方案及其实现_15
分类:奇闻趣事 热度:

  【摘要】本文涉及对USB(通用串行总线)接口进行光电隔离保护的方案设计及其实现。本方案将USB(通用串行总线)信号D+、D-的三种状态转换为光电耦合器的发光二极管的三种强度全亮、半亮、暗,并且传输到光电耦合器的光敏三极管接收器再通过相应电路恢复D+、D-的三种状态。光敏三极管接收器电路的输出信号之一触发单稳延时电路来控制D+、D-与光发射电路、光接收电路的通与断。

  目前计算机的USB接口已经大量使用,一般每台电脑都有2到4个USB口。当一台电脑同时接多个USB外部设备时,如果这些外部设备介入了高电压干扰,就可能会烧坏电脑的USB口甚至电脑以及外设。目前电脑的几种通信接口中,MODEM口以及以太网接口由于本身具有变压器隔离所以不容易损坏,而RS-232串口也可以选用波仕的RS-232光电隔离器来进行有效的保护,只有USB以及类似的1394接口目前还没有方便的隔离保护方案。

  实现原理

  本文提供了一种对USB信号进行光电隔离的电路,可以使USB的接口得到保护。

  图1为将USB信号(D+、D-)转换为光信号的原理框图。

  USB信号检测电路(1)将D+和D-变换为或门输出DOR1和差分比较器输出RCV1。一双可控三态缓冲器(2)通过控制端EN来控制逻辑通与端。当EN=0时,DOR=DOR1、RCV=RCV1。而当EN=1时,DOR和RCV为高阻状态。光发射驱动电路(3)将DOR和RCV转换为三种光强度(亮、半亮、暗)。光接收电路(4)将接收到的三种光强度(亮、半亮、暗)恢复为D+和D-的三种状态。光接收电路(4)的输出之一H的状态变化触发单稳延时电路(5)。单稳延时电路(5)的输出EN平时(即USB信号处于闲置状态时)为0,当其输入H有下降延(即由1变为0)时输出EN由0变为1并且保持为1大约1000us,然后恢复为0。另一双可控三态缓冲器(2)通过控制端EN来控制来控制逻辑通与断,当EN=1时,VP=H、VM=L,而当EN=0时输出VP、VM为高阻状态。

  具体实施方式

  图2为将USB信号转换为光信号的具体电路图。

  假设USB为全速状态(12M),此时D+通过大约1.5K的电阻接+5V电源。平时USB信号处于闲置(Idle)状态,此时D+为1(高电平,大约3至5V),D-为逻辑0(低电平,大约0至1.4V)。IC1为或门。IC2、IC4、IC5和IC6为可控三态缓冲器。其中,IC2和IC4是当其控制信号EN为0时导通的,而IC5和IC6是当其控制信号EN为1时导通的。由于IC2和IC4在不导通时(即EN为1时)输出为高阻状态,所以在IC2的输出端加了上拉电阻R1、在IC4的输出端加了上拉电阻R2。IC3、IC10和IC11是比较器。IC7是单稳触发电路由输入端(信号VP)下降沿触发,输出EN平时为0。当IC7的输入端出现一个下降沿时,其输出端将出现一个持续时间大约1000us的1状态,然后恢复为0。IC7的输出信号EN通过控制IC2、IC4、IC5和IC6来控D+、D-的收/发状态。由于EN平时为0,所以平时允许接收D+和D-(IC2、IC4导通),而禁止发送信号到D+和D-上(IC5和IC6输出为高阻态)。IC8是一个复合逻辑电路,其输入、输出以及光发射二极管的光强度关系如表1:

(表格中的X表示任意状态,即:1或者0均可)

  IC8的输出A和B是具有足够电流驱动能力的电压,通过电阻R3和R4送给光发射二极管IC12。光发射二极管IC12的输出光强度大致正比于输入电流。当A和B同时为1时,通过光发射二极管的电流最大,所以此时光强度状态称为全亮。当A为1、B为0时,电流只有大约一半,此时光强度状态为半亮。当A为0、B为0时,电流为0,此时光强度状态为暗。IC13为光接收器。由于如图描述的电路是实际产品的一半,即在相互光电隔离的两个USB口各加一个这样的USB转光的电路,所以IC13光接收器接对方电路的光发射二极管的光(即通过光电耦合器)。IC13接收光,IC13的输出为与接收到的光的强度大致成正比的电压。无接收光时(即对方发射的光强度为暗),IC13的输出V0大约为0。由于比较器IC10、IC11的负端输入电压都大于0,所以IC10和IC11的输出的逻辑状态均为0,即H=0且L=0。当对方光发射强度为全亮时,IC13的输出电压比V1和V2都大(V1、V2的值都可通过调节电阻R5、R6和R7的值得到),所以IC10、IC11的输出的逻辑状态为H=1且L=1。当对方光发射强度为半亮时,IC13的输出电压比V1大而比V2小(V1、V2的值都可通过调节电阻R5、R6和R7的值得到),所以IC10、IC11的输出的逻辑状态为H=0且L=1。IC9是一个复合逻辑电路,其输入与输出以及接收光强度的关系如表2。

  

  对于全速USB的信号,平时闲置状态(Idle)时D+为逻辑1、D-为逻辑0,所以IC1、IC2的输出为1,IC3、IC4的输出为1,这样根据表1可知输出光强度为暗。当光强度为暗时,根据表2传到对方电路的光接收器并经过对方电路的IC9后的输出为VP=1、VM=0。一旦USB开始传输数据,则D+和D-的信号逻辑状态发生变化。全速USB的信号状态变化为:D+由1变成为0,D-由0变成为1。

  上位机的USB信号状态先出现变化,此时IC1和IC2的输出仍然为1,IC3和IC4的输出变成为0。根据表1 ,光发射二极管将由暗变成为全亮。全亮的光通过光电耦合器传到对方电路(与本专利描述的一样)的光接收管。根据表2,对方电路的VP由1变为0,VM 由0变为1。对方电路的VP由1变为0就是说这个VP产生了一个下降沿,从而触发了对方电路的IC7,使IC7的输出EN由0变为1并且保持1大约1000us(然后又恢复为0)。对方电路的VM由0变为1从而使对方电路的USB信号由禁止发送(EN=0)变为禁止接收(EN=1)。此时对方电路的VP和VM可以通过对方电路的IC5和IC6传给对方电路的D+和D-,从而使上位机的USB信号在1000us内通过光电耦合器传到对方电路(即:下位机)的D+和D-线上。在这1000us内可以过光电耦合器传输三种D+和D-状态: ①、 D+为1且D-为0(代表闲置状态以及数据1)②、 D+为0且D-为1(代表数据0)③、D+为0且D-为0(代表数据传输结束标志)。

  这三种状态可以表达USB信号的所有状态(D+为1且D-为1的状态是禁止的)。前面已经描述了如何通过光强度的暗代表状态①、全亮代表状态②。而状态③恰好是通过光强度的半亮来表示,具体描述如下:当D+和D-处于状态 ③时, D+和D-都为0,IC1和IC2的输出为DOR=0,根据表1,此时光发射二极管的强度为半亮。半亮的光传输到对方电路的光接收管IC12并且经过对方电路的比较器IC10和IC11,输出为H=0、L=1。根据表2,对方电路IC9个输出为VP=VM=0。

  而在单稳电路输出为1的1000us内正好将这个状态③传输给对方电路的D+和D-(均为0)。在大约1000us的时间内,恰好上位机向下位机传输一帧USB数据完毕,并且等待下位机回传应答信号。1000us结束后,下位机的IC7的输出EN恢复为0,此时下位机的USB数据状态先变化。 下位机的USB数据传输到上位机的过程与前面描述的上位机的USB数据传输到下位机的过程原理完全一样。

  对于半速USB(1.5M),闲置状态为D+为0且D-为1。开始传输数据时,D+由0变为1且D-由1变为0。同时由于传输一帧数据的时间增加了,所以单稳电路的延时时间要相应增加。IC8复合逻辑电路改为闲置状态时输出光强度为暗(即:不发光)。USB大部分时间为闲置状态,此时光发射二极管不发光,这样能够延长光发射二极管的工作寿命,并且也节省功耗。USB数据传输结束的标志还是D+为0且D-为0。由于IC8复合逻辑电路的逻辑关系改变了,所以相应的IC9复合逻辑电路的逻辑关系也要改变,以便产生下降沿输出以及能够将D+和D-的状态在对方电路的D+和D-线上正确恢复。

  对于高速USB(480M),由于传输一帧数据的时间减少了,所以单稳电路的延时时间要相应减小。

  参考文献

  1、黄丽 通过光纤传输USB信号的电路设计及应用 电子技术应用2006年2期

  2、中国专利:ZL02284434

上一篇:2017年智能制造世界巡礼之挪威与芬兰篇_10 下一篇:没有了
猜你喜欢
热门排行
精彩图文