通用串行总线(USB)这个接口可以说是现代电子设备的标配了,从U盘、鼠标、键盘到手机充电、显示器连接线,到处都是USB的身影。但很多人每天用USB,对USB控制器这个核心部件却不太了解——为什么同样是Type-C口,有的能传视频有的只能充电?为什么USB 3.0的速度比2.0快那么多?今天就聊聊通用串行总线控制器的原理和发展。
USB控制器是USB接口的"大脑",负责主机和设备之间的协议通信。主机端(比如电脑主板上的USB口)的控制器叫主机控制器(Host Controller),设备端(比如U盘里的控制芯片)的叫设备控制器(Device Controller),还有一种能在主机和设备之间切换的叫OTG控制器。USB的通信是主机主导的,所有数据传输都是由主机发起请求,设备响应,这个主从架构是USB跟其他串行总线(比如RS485)最大的不同。
从协议演进来看,USB 1.0是1996年推出的,速度只有1.5Mbps(低速)和12Mbps(全速),主要用来接键盘、鼠标这些低带宽设备。USB 2.0在2000年发布,速度提升到480Mbps(高速),U盘、移动硬盘开始普及,彻底取代了软盘和光驱的地位。USB 3.0(后来叫USB 3.1 Gen 1)是2008年的标准,速度跳到5Gbps(超高速),传输方式从半双工变成了全双工,增加了5条额外的数据线,所以USB 3.0的接口里面通常是蓝色的,比2.0多了5个触点。USB 3.1 Gen 2把速度翻了一倍到10Gbps,USB 3.2又通过多通道技术把速度提到了20Gbps。最新的USB4标准基于雷电3协议,支持40Gbps的传输速率,还能同时传数据、视频、充电信号。
硬件设计中最常用的USB控制器芯片有几类。第一种是独立的USB主机控制器,比如VIA、NEC出品的PCIe转USB 3.0芯片,很多主板扩展USB口就是用这种方案。第二种是USB集线器(Hub)芯片,比如GL3523、FE1.1s,把一个USB口扩展成多个。第三种是USB设备控制器,比如CH340(USB转串口)、CP2102、FT232,这类芯片在开发板和调试工具里用得特别多。还有就是集成在MCU和SoC里的USB控制器,现在的单片机基本都带USB 2.0全速甚至高速接口,不用外接芯片就能直接做USB设备。
做USB硬件设计有几个高频坑。第一个是差分线布线,USB的D+和D-是差分信号,走线要等长、平行、阻抗控制在90Ω±15%,中间不要过孔或者走分支,不然信号完整性会出问题。USB 3.0的高速差分对(TX/RX)要求更高,阻抗控制100Ω,还要注意跟其他高速信号的隔离。第二个是ESD保护,USB口是经常拔插的外露接口,很容易带静电进来,一定要加ESD保护芯片,比如PRTR5V0U2X或者TVS管阵列,不然客户手一摸芯片就烧了。第三个是供电,USB 2.0口最大只能提供500mA电流,USB 3.0是900mA,Type-C配合PD协议可以到100W以上,供电设计时要根据电流大小选合适的过流保护器件和电源走线宽度。
现在Type-C接口已经是大势所趋了,它的优点是正反插、支持多种协议(USB、DP、HDMI、PD充电)、体积小。但Type-C的设计复杂度也比之前的接口高很多,需要专门的Type-C控制器(比如PD控制器、CC逻辑芯片)来处理协商和配置。很多消费者吐槽"同样是Type-C口,有的只能充电",就是因为厂商为了成本,只实现了Type-C的物理接口和充电功能,没有加高速数据传输和视频输出的控制器。作为工程师,设计Type-C接口时一定要根据产品定位明确需要实现哪些功能,别为了省几块钱让用户体验打折扣。
上一篇:德生科技上半年营收2.17亿元 推进“AI工作栈”落地
下一篇:没有了