家电数码 > 数码产品 > 详情

用着容易的USB Type-C,给设计人员增加了多少难度?

发布时间:2024-07-11 发布时间:
|
新出的USB Type-C接口(或称USB C口)备受关注,这种接口正反插都可以正常工作,使用USB C口的用户再也不用考虑接口方向是否弄错了。

 

不过需要说明一下的是,USB C口与USB 3.1规范并不是一回事(译者注:支持USB C口的设备不一定支持USB 3.1规范,反之亦然)。支持USB C口的主要软件有这些:Windows 10既支持USB 3.1又支持USB C口;在2015款MacBook发布以后,苹果的OSX也是同时支持USB 3.1和 USB C口;Android M将支持USB C口以提供快充功能。

 

在硬件方面,一些已经支持USB C口的PC设备如下:诺基亚 N1 平板电脑、苹果2015款MacBook、谷歌第二代Chrome book Pixel。乐视发布的乐视手机是第一款支持USB C口的智能手机(乐视手机1、乐视手机1 Pro与乐视手机1 Max都支持USB C口)。LaCie推出了一款支持USB C口的移动存储器,SanDisk也上市了一系列支持USB 3.1 (传输速度达10Gbit/s)与USB C口的SSD存储器。

 

新思(Synopsys)解决方案事业部产品市场经理Gervais Fong表示,USB C口最吸引人的地方就是可以正反插。“我常把以前的USB接口称为‘三试接口’,因为大多数人如果第一次插的时候没有对准插不进去,通常会觉得自己方向搞反了,所以他会把方向反过来--这次方向真的搞反了,最后再反一次才能工作。但是如果用的是USB C口,正插反插都可以工作。而且如果你看过USB C口的线,两头的USB接口都是一样的(注,USB A/B口的线两头是不同的),所以不仅是接口,两头都是USB C口的线也没有方向性问题。”

 

“此外,C型接口标准可以根据使用情况设置成不同的数据速率,使得‘USB(通用串行总线)’更为通用,最新的USB 3.1标准支持最高10Gbps的速率。USB C口也支持系统实现USB 供电规范(USB power delivery specification),供电能力相比传统USB口提高很多。如果你的设计很小心,采用的都是高性能的元器件,那么现在理论上可以通过USB线提供100W的供电。当然要做到通过USB线提供100W供电,对于设计工程师的要求会非常高。”

 

Cadence设计IP部产品市场总监Arif Khan注意到,由于USB C口比以往的USB口更智能,因此在软件上需要更多的工作才能保证USB C口正常使用。“与以往相比,USB C口的供电软件与系统电源控制器(power controller)的交互更为智能,”Khan提到很多厂商在努力实现USB C口供电功能,例如谷歌正在与Cadence和新思合作实现供安卓系统使用的USB供电规范。”

 


USB C口的另外一个优势是支持交替模式(alternate mode),通过USB C口和USB线,不仅可以传输USB规范的数据,也可以传输一些视频格式的数据,例如DisplayPort(注:MHL也可以)。“把USB C口的这些主要功能加在一起可以得到结论,现在通过一根线一种接口传输数据、电力和视频。”Fong指出。

 

新USB接口把这么多种功能整合在一起,又要提供好的用户体验,因此增加了很大的设计复杂度。虽然用户不需要担心正反插的问题,但是处理USB连接的系统需要知道该接口的方向到底是怎样的。

 

“为了处理正反性的问题,当一根USB C口线接入系统时,系统需要知道该接口连接的是一台主机,还是一个设备。” Fong说道,“当USB C口插入时,还需要判断系统是否支持USB供电规范,是否支持交替模式传输视频。要利用USB C口的这些新功能,系统的复杂性就大幅增加。如果你打算把所有的功能与特性都考虑到,那么将是一个非常复杂的大系统。”

 

不过Mentor Graphics的嵌入式软件专家Colin Walls却认为,伴随USB 3.1规范出现的USB C口,从软件设计的角度来看却没有什么挑战。“从软件工程师的角度来看,最近USB技术没有什么令人兴奋的新东西,上一次USB技术的巨变是USB 3.0规范的引入,USB 3.1不过是在USB 3.0的基础上提高了性能并增加了一些功能。”

 

Walls认为,接口的改变每个人都会注意到,即使是外行人。不过现在接口改为USB C口,USB的驱动软件并没有发生大的变化。这是因为从软件的角度来看,USB的驱动非常复杂。“有一个普遍的规律,一个设备看起来越简单越好用,设备后面的软件就越复杂。”

 

因为USB软件越来越复杂,开发人员倾向于购买USB驱动开发包, Walls说道:“假设你已经为你的嵌入式设备选定了一种实时操作系统,那么很可能你会向实时操作系统的供应商购买他们开发的USB协议栈。另外从软件工程师的角度来看,他们只需要在高层协议(注:例如操作系统之上)基础上理解USB设备是如何工作的,并不需要了解USB设备底层的具体细节。”

 

Fong表示,对于设计开发人员来说,还有更多的好消息。“回顾USB标准的发展历程你会发现,旧的USB 2.0标准--高速USB标准--很容易用USB C口来实现。如果想让支持USB 2.0的设备能够使用USB C口非常容易。只要在原来USB 2.0的设计中增加两个电阻,就可以把接口改为USB C口。但是如果想要支持5Gbps的USB 3.0或者10Gbps的USB 3.1,设计复杂度就增加了,PHY的设计中需要增加额外的数据通道(data lane)。接口插入的方向不同,PHY会接到数据通道1或者数据通道2上。要跑到5Gbps或10Gbps,不能把一个数据通道短路使之成为单通道传输,5Gbps或10Gbps对于信号完整性的要求不允许开发人员这样处理。USB工作组在定义规范时认识到了这一点,因为他们明确定义USB 3.0和USB 3.1需要两条数据通道。” Fong说道。

 

Fong认为,如果USB 3.0或者USB 3.1的功能需要被集成到IP里面,PHY的设计必须要支持两个数据通道。此外如果要支持USB供电功能和交替模式传输视频的功能,IP里面必须有相应的逻辑电路,以使系统无论在进行哪种工作模式转换时,边带信号都能够得到处理。

 

Khan同意Fong的看法,他说:“USB C口设计上遇到的挑战是现在很普遍的一个问题,那就是信号线上会分时传送不同类型的信号。所以现在的接口内会集成一些逻辑电路来帮助两边的设备确定系统正在采用哪种工作模式,现在信号线上传送的信号是否正确。通过一组管脚设置,开发人员可以知道现在数据的流向是怎样的。这些功能的实现对于普通用户来说就像一个黑盒子,要使USB C口这样的接口顺利地工作起来,背后还是有很多奇妙的原理。”

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
保卫计算机架构的新黄金时代