设计一个属于您自己的简易I2C隔离器
通常产品设计时间非常紧张,用于新产品设计的资金也并不宽余。但不管怎样,我们都必须要在不增加成本的前提下设计出能够运行于恶劣环境下的稳健系统。一般而言,这会要求使用电流隔离,用于保护敏感控制电子组件免受外部突入和瞬态浪涌电流的损害。
如果您的设计涉及许多工业接口,那么当您在各大半导体厂商的官方网站上看到琳琅满目的RS-485、RS-232、CAN和I2C信号隔离器时,您会发现自己像一个进到糖果店里的小孩一样兴奋不已。但是,当您想要采购经理批准购买这些产品时,他会立马给您泼上一盆冷水:“不能利用一些已有的标准组件吗?不管用什么方法,把它们都利用起来?”
今后碰到这种情况,您可以热情洋溢的回答“没问题”了,因为本文将为您介绍一小部分工业接口电路,它们几乎都只使用一个标准隔离器。图 1-4 显示了工业应用中最为常见的数字接口的简化示意图。
请注意,为了便于说明,我们省略了旁路电容器和上拉/下拉电阻器。首批三个电路都有一个异步数据传输模式,其使用两条数据线路和一条控制线路,用于驱动器/接收器激活。这样,在节点控制器和标准兼容收发器芯片之间便只需一个三重隔离器了。
图 4 所示隔离式 I2C(inter-integrated circuit,IIC)表示一种特殊情况,因为它支持仅有几英寸长的短通信链路,因此不需要线路收发器。在一些多主机应用中,两个节点会同时访问总线。为了防止信号转回其源,我们使用一个双向缓冲器来支持从R(x,y) 到 S(x,y) 的接收传输以及 S(x,y) 到 T(x,y) 的发送传输,而非R(x,y) 到 T(x,y) 的直接回环。
幸运的是,多主机设计只是少数情况,大多数都是单主机应用。因此,我们可以极大地简化图 4 所示电路。
由于是单主机,时钟信号 (SCL) 仅需单向传输,从而将时钟隔离减少至一条通道。然后,用一个晶体二极管开关代替双向缓冲器,这样隔离层(图 5)每端将电路简化至我们的标准三重隔离器(图 6)。
图 5 利用晶体管开关隔离发送和接收路径
在待机模式下,隔离器输入 A 和 C 通过 R2 和 R4 被拉至高电平,推高输出 B 和 D。另外,主和从数据线路(SDA1 和 SDA2)通过 RPU1 和 RPU2 被拉至高电平。当主机通过拉低 SDA1 开始通信时,Q1 发射极结点被正向偏置,而 Q1 将输入 A 拉至低电平。输出B 跟着变为低电平,并正向偏置 D2。D2 拉低 SDA2。与此同时,Q2 发射极结点被反向偏置,并且 Q2 保持高阻抗。开关顺序相同,仅在从数据线路响应时反向。
图 6 单主机应用隔离式I2C总线接口
![](http://m.amcfsurvey.com/webstorage/images/display/reg.jpg)
评论