可以用便宜的简单隔离电路保护计算机上的USB端口。嵌入式系统开发人员日常习惯于将一些奇怪的硬件和元器件插入他们的电脑中,很少考虑他们这样做会带来什么样的后果。
本设计实例介绍了一种使用Sparkfun USB-to-UART通用板(BOB)搭建的低成本隔离型USB-to-UART转换器。
隔离型USB-to-UART转换器迟早会派上用场。举例来说,在电池供电设备的开发过程中,经常会将USB-to-UART转换器连接在设备上,在没有采取隔离措施的情况下,会将主机的地和大地连在一起。设备可能工作非常正常,但当跟电脑分开时,它就不能正常工作了。隔离型转换器将设备和主机的地分隔开来,因此能很早地发现任何接地问题。
隔离USB-to-UART转换器的最重要用途当然是在故障条件下。考虑将一个未经测试的电路板连接到比如MacBook Pro这种昂贵的笔记本电脑的后果吧。USB规范和硬件层确实有保护电路,但它们不是针对工作在数百伏直流电压的设备设计的。当一台设备发生USB总线故障,并有可能给总线施加超过5V的电压或很大的电流时,花20美元隔离两台设备是一种明智的决策。
隔离器的选择
隔离器的选择需要仔细斟酌。UART一般被认为是低速器件,但现代的微控制器和接口可以支持超过1Mbps的波特率。许多隔离器、特别是光耦隔离器的最大波特率都在100kbps以下。Silicon Labs公司的Si8421BB-D-IS是适合这种应用的器件,但不推荐在新设计中使用。取而代之的是ADUM3211ARZ,但这种器件尚未经过严格的测试,因此使用需慎重。
Si8421BB可以支持2.5kV的隔离电压约一分钟之久。这种隔离器能够支持高达150Mbps的波特率。Si8421BB-D-IS的小批量价格仅1.46美元,但如果还嫌贵的话,可以选择仅1.05美元的Si8421AB-D-IS(最大波特率是1Mbps)。Si8421BB-D-IS的另外一个优点是,它有两个采用8引脚SOIC封装的隔离器,因此非常适合Tx/Rx信号对。这种隔离器是单向的,但布局上可以与Sparkfun USB-to-UART BOB做到引脚兼容。
搭建隔离器
需要订购少量器件:
![](http://images.contentful.com/lpm57et4ut1g/684Ovv9YPYEIy2AC0S8uSq/eaf06f3bb24e2f4ffbc121bd85895741/20170119A0031.jpg)
这些元器件的总价加上运输费也就20美元左右。大多数开发人员手头至少有一个项目,因此购买足够的材料搭建两到三个产品有助于抵消运输成本。完整的元器件集应该类似于图1所示:
![](http://images.contentful.com/lpm57et4ut1g/5HRpjYWnba6qW4qKqaCY8W/9098c6b04543a34a4779eb361b2bfb49/20170119A0032.jpg)
图1:隔离型USB-to-UART元件。
组装隔离器
从把隔离器焊接到SOIC BOB开始(图2)。然后给两块电路板增加插头,如图3所示。
![](http://images.contentful.com/lpm57et4ut1g/yZ4e6kiH2CCyQAqqOy0qM/b9049f47f8b6838a58830f7ffa949285/20170119A0033.jpg)
图2:SOIC-8 BOB准备。
USB-to-UART BOB需要一个4脚插头,4个引脚分别是Gnd、Tx、Rx和VCC。
![](http://images.contentful.com/lpm57et4ut1g/3Hj0ghYiw8WI0268mMKGKw/20c6ac72f761674b56952135e63685a2/20170119A0034.jpg)
图3:插头布局。
现在隔离板就可以直接焊接到USB-to-UART BOB上了。Si8421BB-D-IS的引脚1是电源,应该对接转换板上的FTDI232R IC提供的3.3V。隔离型USB-to-UART转换器的装配至此结束!
![](http://images.contentful.com/lpm57et4ut1g/36Y97iRvleSGUMUmo2a8kY/267a94d94e6afeb86ae6b79acfb77d42/20170119A0035.jpg)
图4:装配好的隔离型USB-to-UART转换器。
测试转换器
USB-to-UART板是通过连接主机的USB电缆中的USB 5V引脚供电的。板载FTDI232R输出的3.3V给隔离器的第一面供电,第二面需要由待测设备的硬件供电,可以是3.3V或5V。测试隔离型转换器的最简单方法是给Si8421BB-D-IS的第二面提供电源和地,然后通过连接Tx和Rx形成一个环路。隔离板装置的一个便利之处是,SOIC-8 BOB上未打标签的引脚直接关联到USB-to-UART丝印,因此Vcc、Tx、Rx和GND都是对准的。
![](http://images.contentful.com/lpm57et4ut1g/4oEbRXRPuUCOwImqYGmsKW/2b4a6d9171da85e7e37f9190c60ed395/20170119A0036.jpg)
图5:测试转换器。
最后一步就是测试电路板了。运行你最喜爱的终端应用,打开虚拟串口(VCP,就像FTDI设备驱动器创建的那样)。为了充分发挥性能极限,我将终端速率设置为最大值921.6kbps。在终端内输入字符应该会向隔离器发送数据,数据再通过环路返回,终端上应该显示你敲入的字符(图6)。如果有问题,可以观察USB-to-UART电路板上的Tx和Rx LED灯。在终端上输入字符时这两个灯正常应该同时点亮。如果有一个灯没亮,那么你就能知道从隔离器的哪一侧去找问题。
![](http://images.contentful.com/lpm57et4ut1g/145VpBqd36EgO4IEIGI2wq/9f68c957e10178bf1e82ba52aebabb37/20170119A0037.jpg)
图6:隔离型USB-to-UART转换器的环回测试。
最后的思考
搭建这样一个简单的隔离电路板至少有助于提供一开始未能到位的保护功能。作为进一步加固措施,你还可以在UART侧增加静电放电(ESD)保护功能。
文/Jacob Beningo
来源:EDN China