USB type-c和USB PD的应用可以说才刚刚开始,现在就谈它的安全问题似乎有点多余,因为多数人都还没有遇到,不会把这个问题放在心上,但对真正的业内人士来说,这绝不是一个毫无意义的话题。
相比过去的USB应用来说,USB type-c接口和USB PD协议显然要复杂得多,能力也强得多,其实现形式也多种多样,这就带来不同产品之间的兼容性问题。2015年,相关组织和企业在美国进行了所谓的“插拔大会”,会上把各家带来的产品放在一起进行相互的插拔试验以检验其兼容能力,结果在离开的时候只有三家公司的6个样品还活着,其他的样品都在插拔过程中死掉了,这就给众多的参与者提了一个醒,在参与这样的应用时应该把安全放在位,否则,即使你的产品功能再好,一样会在使用中很快死掉,终也会退出市场,甚至可能让你赔得倾家荡产。
USB PD的应用给使用USB type-c接口的应用带来了一个很大的变化,就是其接口上传递的电源电压可以高达20V,电流可高达5A,多可以传送100W的功率给受电端使用,大大拓展了USB接口的应用范围。但是,USB type-c接口上的VBUS和CC端之间的距离太近了,它们实际上就紧靠在一起,如下图所示:
这是USB Type-C插座的脚位分布图,其中的VBUS就是电压达20V(现在已经扩展到21V)的承载端。CC1和CC2都是CC的备选端,其选中与否由插头插入的方向决定,被选中者作为CC使用,成为设备与电缆及另一设备通讯交流的渠道,其信号的电压为5V,剩下的另一个端子就成为VCONN端,供电端借此端子向电缆的内部电路供电。
由于CC上的电压为5V,很多接口器件就会采用比5V工作电压稍高的设计和制程来制作,一旦VBUS和它短路,高电压就会进入该端子,对内部电路造成不可恢复的损伤,从而造成设备故障。下面这幅图算是对这个问题的形象化描述:
一个标准的USB Type-C接口控制器是非常简单的,它要做的事情基本上就是用上拉电阻标识本端口所在的设备为供电端、用下拉电阻标识本端口所在的设备为受电端、为电缆提供VCONN电源、识别电流供应/通过能力、确定电缆连接关系以及在完成接入识别以后开启VBUS通道等,由于不涉及提高VBUS电压,VBUS上的电压多就是5V,所以采用低压制程是完全可以的,其电路联通以后的模型大致示意如下:
下面是它们的具体实现示意图:
这是供电端的,
这是受电端的。如果一台设备既可以做供电端,又可以做受电端,则其电路模型就是这样的了:
这种设备可以担任两种角色,实用中具体采用哪一种需要双方进行协商或是人工进行选择,这就要进行通讯,通讯是经由CC通道完成的,其上传递的信息以BMC双相编码的方式进行,双方沟通的语言就是USB PD规范所定义的协议了。
借助USB PD协议,供需双方不仅可以商定各自的角色,也可以商定实际需要的电压和电流的大小,因而为实际的应用提供了巨大的方便,但也带来了隐患:如果VBUS电压已经提高了而CC端的耐压电压只比5V高一点点,一旦两者之间发生短路,损害的出现就是自然的了。
为了避免CC端因为和VBUS短路而造成损害,立锜科技的所有USB Type-C接口控制器和其它集成了该部件的器件都采用了高压工艺来提高CC端的耐压,它们全部可以承受20V以上的电压冲击。下面的波形图展示了CC在工作过程中和20V VBUS发生短路的情形,由于CC端具有20V以上的耐受能力,短路状况消除以后,信号又回到了正常状态:
CC端为什么会和VBUS短路呢?除了上面提到的两者相临以外,这些因素也是需要考虑到的:使用者可能随意地插拔、扭动接插件,有的人甚至可能是用很粗鲁的方式来对待它们,这都很容易直接造成短路事故或是破损,这种情形在接插件和电缆老化以后就更容易发生,因而是必须提早进行防范的。下图所示资料就说明了立锜产品的防护能力:
在一个实际的系统中,通常不会只是存在我们已经谈及的电路部分,MCU的存在几乎是必然的事情,实际上USB PD的应用策略通常都是由它来制定的。如果MCU在发出指令使USB Type-C接口输出20V的电压以后的某个时刻就死掉了,事情将会如何发展?这种情形你在使用电脑的时候一定遇到过,这不就是“宕机”吗?
一种很合理的推测是你的受电端可能在这个时候发生变化,例如它只需要一个5V的电压了,这既可能发生在一台设备的内部,也可能发生在设备更换的时候,而处理电源输入的电路可能就只能接受5V电压,20V的电压一定会让它死掉,所以这个“宕机”的状况很可能是一个灾难的开始。
对于这种问题,立锜的USB Type-C/PD控制器是这样预防的:它定时向MCU发送中断信号,MCU在正常情况下就会去响应此中断,例如它会询问这控制器“你有什么事啊?”,这一问好了,USB Type-C/PD控制器知道MCU还活着,它就回答说“啊啊,没事啊,我就是给你打个招呼问个好”之类的,然后继续工作下去。如果MCU长时间不理会它,比如像下图所示的200ms了还不响应,控制器就主动断掉输出,把自身的状态改变成受电端的状态,同时把输出端的储能主动释放掉使电压降下来,使得任何设备接上去都是安全的,这样就避免了系统“宕机”可能带来的灾难性影响。
USB PD的应用将USB总线的供电能力提高到了100W,如果在这种情况下出现VBUS和GND的短路,可能带来的危险也是很大的,立锜的应用方案又是如何破解此问题的呢?下面的应用电路可以看到我们的做法:
这个电路的是RT1711P,是一款通过USB-IF的单端口控制器,其主要特性如下图所示:
我相信很少有人会在这里去看一款产品的详细信息,所以不想花时间去把里面的英文变成中文,有需要的请再给我信息,我用另外的方法来满足你。
在上面的原理图中,RT1711P的EN端的状态是与VBUS的状态有关的,当VBUS与GND短路时,EN端将变成低电平,这将使RT1711P复位成为SINK状态,也就是受电端的状态,同时VBUS路径开关会关闭,确保短路状况不会再造成任何危害。下图是对此电路的更清晰描述:
实际上,在VBUS和GND发生短路的那一刻,为之供电的DC/DC会遇到负载突然加大的问题,其OCP功能会开始运作,由于电压降低而带来的UVP功能也会启动,而电流的增长也会让RT1711P本身的OCP功能被触发,但此短路现象又会造成RT1711P本身的复位过程,到底哪一个先起作用,就看实际的过程是怎样的了。了解了这一切以后,对于VBUS和GND的短路现象应该就可以放心了,不会有什么东西会造成损坏。
相对而言,RT1711P是一个中等规模的USB Type-C/PD控制器,可以用在单USB接口的应用中,此端口既可以作为DFP(下行端口),也可作为UFP(上行端口),也可以是双重角色的端口(DRP)。如果你要设计的系统很简单,你也可以选择RT1711H,这是一款轻量级的USB Type-C/PD控制器,下面这幅图是对它的简介:
如果要设计双端口的设备,RT1712会是更好的选择,它可以同时完成两个端口的管理,下图是对它的简介:
用它构成的系统大概长成这个样子:
在某些应用中,要使用独立的USB Type-C/PD控制器会造成系统太复杂,长期而言就不会有什么竞争优势,这时候就要将其功能和其他功能集成在一起而构成单芯片的完整系统,下图所示的电路就是这样的示例:
这是AC/DC转换器二次侧的控制器,其中已经集成了USB Type-C/PD控制器,MCU也被集成在其中,可以根据需要任意设计它可以支持的应用协议,已经在某些要求严格的厂商中得到应用,下图是由它和RT7786一起构成的完整AC/DC转换器的电路图:
电源网上已经有由此方案构成的产品的拆解资料,有兴趣的可以去看看,其中的另一颗器件RT7786也算是一款爆品,下表列出来的是它的一些标准版本,可供读者应用时参考。
从中可以看到,RT7786能够支持的保护功能也是非常多的,用户可以根据自己的需要进行选型配置,之所以能够如此,完全得益于它是一款数字化的控制器的缘故,可以灵活改变其配置。
如果你对支持USB PD应用的AC/DC转换器要求不太高,或许你也可以选择这样的简单设计:
这已经被简化了许多,那么这样的应用还可不可以简化呢?答案是可以的,立锜还有很多产品可以满足你的需求,可考虑到篇幅已经够大了,我就在这里打住吧,有需要的读者请与我们的各个业务部门联系,以便找到自己需要的产品。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。