本文涉及对USB(通用串行总线)接口进行光电隔离保护的方案设计及其实现。本方案将USB(通用串行总线)信号D+、D-的三种状态转换为光电耦合器的发光二极管的三种强度全亮、半亮、暗,并且传输到光电耦合器的光敏三极管接收器再通过相应电路恢复D+、D-的三种状态。光敏三极管接收器电路的输出信号之一触发单稳延时电路来控制D+、D-与光发射电路、光接收电路的通与断。
目前计算机的USB接口已经大量使用,一般每台电脑都有2到4个USB口。当一台电脑同时接多个USB外部设备时,如果这些外部设备介入了高电压干扰,就可能会烧坏电脑的USB口甚至电脑以及外设。目前电脑的几种通信接口中,MODEM口以及以太网接口由于本身具有变压器隔离所以不容易损坏,而RS-232串口也可以选用波仕的RS-232光电隔离器来进行有效的保护,只有USB以及类似的1394接口目前还没有方便的隔离保护方案。
实现原理
本文提供了一种对USB信号进行光电隔离的电路,可以使USB的接口得到保护。
USB接口的光电隔离保护方案及其实现 将USB信号(D+、D-)转换为光信号的原理框图
图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为高阻状态。
具体实施方式
USB接口的光电隔离保护方案及其实现
图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),由于传输一帧数据的时间减少了,所以单稳电路的延时时间要相应减小。
电话:18923864027(同微信)
QQ:709211280
〈烜芯微〉专业制造二极管,三极管,MOS管,桥堆等20年,工厂直销省20%,上万家电路电器生产企业选用,专业的工程师帮您稳定好每一批产品,如果您有遇到什么需要帮助解决的,可以点击右边的工程师,或者点击销售经理给您精准的报价以及产品介绍
电话:18923864027(同微信)
QQ:709211280
〈烜芯微〉专业制造二极管,三极管,MOS管,桥堆等20年,工厂直销省20%,上万家电路电器生产企业选用,专业的工程师帮您稳定好每一批产品,如果您有遇到什么需要帮助解决的,可以点击右边的工程师,或者点击销售经理给您精准的报价以及产品介绍