重磅干货:为嵌入式设计添加USB Type-C连接

by Administrator Siliconlabs on ‎09-19-2016 02:14 AM

消费电子市场存在诸多标准,底层的通用接口标准之争从里都没有停止过。自从Apple发布了基于USBType-C的新MacBook后,凭借着可正反插拔、快速充电、更高数据传输速度和视频传输这四大功能,USBType-C开始大受制造商和消费者欢迎。

 

芯科科技(Silicon Labs)作为USB连接解决方案和智能接口IC的领先供应商,在USB Type-C如此火热的当下,在众多厂商和开发人员对Type-C解决方案需求大增的今天,自然要走在行业的前沿,不仅已于今年5月推出了新型USB Type-C参考设计,为了进一步帮助开发人员更清晰、准确地理解Type-C开发的复杂性以及他们所面临的设计挑战,Silicon Labs的两位技术专家Mark BeechamKafai Leung携手撰写了一篇题为“为嵌入式设计添加USB Type-C连接”的技术文章,从电力输送、通信故障、连接线和适配器的设计等方面阐述了Type-C开发过程中存在的各项设计挑战,并提供了相应的解决方案来供开发人员参考。如果您正在为您的产品规划或设计USBType-C功能,欢迎详读这篇文章,相信您一定会有所收获。

 

为嵌入式设计添加USB Type-C连接

作者:MarkBeecham,SiliconLabs USB产品营销工程师;Kafai Leung,Silicon Labs MCU产品资深产品经理

 

最常用的电子设备都配备某种类型的通用串行总线(USB)端口。这些端口可能包括 Micro、Mini和Type-A等连接器格式,并且可支持不同的USB标准,如USB2.0 或最新的USB3.1等。USBType-C是在这些端口之上的又一次飞跃,具有更快的速度和更强的电力输送等特性。这款更先进的连接器解决了其前几代产品遇到的所有问题,Type-C可处理高速数据、视频和大量电力。凭借Type-C的这些扩展功能,消费者将仅需使用Type-C连接线即可充电、流传输视频或传输数据,在以前这得使用各种各样的连接线缆。制造商们将需要在其设备上提供和开发Type-C端口,以支持不同的用途。

 

Type-C 技术的多功能性是有代价的,因为USB曾经简单的,由线缆、端口、适配器和集线器所组成的内部工作方式已经被更复杂的嵌入式元件所替代。看似简单的HDMI转Type-C连接线其实很难设计,因为设计时需要使用嵌入式器件。在开发Type-C解决方案时,会出现两大主要难题。其一是处理大量电力的供应,其二是在所支持通信标准的数量增加时去避免可能产生的通信故障。当两台设备连接时,电力输送协议(PD协议)将启动。该过程涉及传输电量以及谁是供电方和用电方等内部的协调。由于此通信过程需要检测、读取并处理模拟和数字信号,因此需要由存在于主机端口、连接线或适配器(dongle)中的嵌入式MCU来提供MCU功能。当设备或主机之间相互不支持,且无法建立通信时,故障就有可能发生。设备先被检测,然后与主机进行通信,并要求更多的MCU功能。

 

USB Type-C通过减少连接线的数量与种类,以及确保设备之间协同工作,使最终用户的生活变得更加轻松。但是,由于其固有的复杂性,Type-C也为开发人员带来了设计挑战。

 

什么是USB Type-C

 

目前,USB端口和连接线的种类繁多,包括Mini、Micro、Type-A和Type-B。各种各样的端口和连接线缆令人困惑不已,因为一部手机、一台笔记本电脑和一部数码相机的端口各不相同。USBType-C将大部分连接形式集中在一个标准上,涵盖了所有设备,并增强了易用性。这种将所有USB端口和连接线汇集为一个标准的方式,还可以解决充电和视频传输的问题,如图1所示。USBType-C支持多种协议,且向下兼容USB2.0。包括显示器、耳机、充电器和键盘在内的几乎所有配件都能使用USBType-C与计算机、平板电脑和智能手机进行通信。

2-1.png

图1 USB Type-C插口将其他连接形式统一到一个标准

 

USB Type-C端口和连接线的布局如表1和表2所示。翻转插头不会导致任何问题,因为插口的信号采用了对称性设计。不论插头和插口的方向如何,USB 3.1SuperSpeed TX/RX、VBUS、GND 和所有其他引脚均可正确连接。从用户的角度来看,这种方式是Type-A端口的升级,因为Type-C连接线从两个方向均可插入。

 

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

GND

TX1+

TX1-

Vbus

CC1

D+

D-

SBU1

Vbus

RX2-

RX2+

GND

 

GND

RX1+

RX1-

Vbus

SBU2

D-

D+

CC2

Vbus

TX2-

TX2+

GND

B12

B11

B10

B9

B8

B7

B6

B5

B4

B3

B2

B1

表1 USB Type-C支持众多插口

 

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

GND

RX2+

RX2-

Vbus

SBU1

D-

D+

CC

Vbus

TX1-

TX1+

GND

 

GND

TX2+

TX2-

Vbus

Vconn

   

SBU2

Vbus

RX1-

RX1+

GND

B1

B2

B3

B4

B5

B6

B7

B8

B9

B10

B11

B12

表2 USB Type-C拥有独特的插头引脚

 

USB Type-C不仅通用而且易用,但这种易用性增加了采用USB Type-C设备的内部复杂性。它也增加了电能输出量(可提供高达100W的功率,来为大电流设备充电),但对于不需要如此大功率的设备而言,这反而成了一个问题。而在此时,电力输送协议(PD协议)就会发挥作用。PD协议可确保输送适当范围的电量,或从任何已连接设备中获取适当范围的电量。

 

USB Type-C专用术语

 

在讨论USB Type-C之前,对设备、主机、供电器(源端)和用电器(汇端)加以区分是很重要的。主机并不总是供电器,因此术语不可互换使用。主机启动所有通信,然后设备进行响应。通常来讲,主机是下行端口(即DFP),而设备是上行端口(即UFP)。如果两台主机相连接,则双方的端口都可作为双用途端口(即DRP),两者都可以在主机和设备间切换角色。例如,当一副键盘与一台笔记本电脑相连时,键盘为上行端口和汇端,而笔记本电脑为下行端口和源端。

 

电力输送

当一个Type-C插头被插入插口时,相连设备之间的最初电力输送协议就开始被执行,其方式是在CC线路上采用一系列电阻来充当分压器。图2所示为一种典型的USBType-C通道线路拓扑结构。由于插头中的CC线路可以连接至插口中的CC1或CC2,所以插口通过简单地测量CC1线路和CC2线路上的电压来确定插头方向。上拉电阻的不同值代表着源端可供应的不同电流量,由此也可以确定上行端口和下行端口。用电器无法通过不同的下拉电阻值来表示汇集的电流量;它必须动态调节负载,以匹配供电器所提供的最大电流。

2-2.png

图2 USB Type-C通道线路拓扑结构使用了一系列电阻来在CC线路上充当分压器

 

为了准确读取分压器,两台设备均需要模拟处理单元,通常所采用的形式是在MCU中内置一个精确的模数转换器(ADC)。该模数转换器持续测量CC线路上的电压,以监测插头和插口之间的连接状况。MCU被称为PD控制器,负责处理整个物理层和上层协议。它负责协调输送或接收的电量。对于简单的Type-C应用,由于具有电阻,所以不进行电量协调。然而,对于更具适应性的设计,设备通过在CC线路上进行沟通,可在不同的设置上达成一致。

 

一旦插头方向和初始功率确定后,各设备就利用CC线路彼此通信。利用该线路,设备可在不同的电力水平上达成一致并指定汇端或源端,从而实现实时的电力输送调节。CC线路通信也用于声明将使用何种通信类型。如上文所述,USBType-C可在高速线路、USB2.0 及其他线路上进行通信。设备通过CC线路来声明这些线路中的哪一条可以被使用。然而,并不是所有设备都支持所有通信协议。

 

故障通告

如果两台已连接设备相互不支持,则会出现故障。例如,如果一台显示器仅能够接收来自主机的视频,当其连接至无法支持或提供视频数据的主机时,就会出现故障。如果出现故障,由于无法建立通信,所以主机将不会察觉到该故障。因此,USBType-C标准要求显示器或设备端上的一个嵌入式器件来充当故障保护角色,其被称为Billboard器件。Billboard器件在无法建立通信的D+和D-线路上,通过USB2.0标准将信号传送至主机。随后,主机可以通知用户这两台设备不兼容。Billboard器件通常为MCU,可与PD控制器采用同一个MCU。

 

Type-C 连接线和适配器

希望使用不支持USB Type-C的老式外围设备的用户需要使用转换线缆或dongle适配器。这其中有多种情形可能发生,第一种情形就是简单的USB2.0转换为Type-C。由于USB2.0不支持更高的速度且不要求Vbus的电压或电流超过5V或3A,所以连接线缆可简单地经由D+/D-、Vbus和GND线路到连接器。而一条Type-C转接Type-C的连接线缆,一个将USB3.0/1转换为Type-C的适配器,或者要求Vbus的电压或电流超过5V或3A的适配器则更难以设计。

 

在这些情形中,适配器成为两台设备间电量协调体系的一部分,要求连接线缆或dongle适配器带有一个嵌入式PD控制器。PD控制器最初通过设为5V的Vbus或Vconn线路来供电。随后,它与主机协商,以在Vbus线路上设置一个达成一致的电量水平。图3所示为用于连接两台Type-C设备的电子标注连接线(EMCA)的示例。PD控制器可由Vconn1或Vconn2供电。EMCA将在CC线路上声明其最大电能容量,源端将调整以适应其功率。

2-3.png

图3 USB Type-C转接Type-C连线被用来连接两台Type-C设备

 

具有替代模式的Type-C适配器

替代模式是Type-C接口的功能扩展,它允许DisplayPort、PCIe或其他通信协议使用USB 3.1SuperSpeed线路。当适配器连接至一台兼容主机时,就进入替代模式。支持替代模式的dongle适配器需要额外的预防措施和嵌入式设备。如果适配器不能进入替代模式以避免隐蔽故障,那么它必须通知主机。它通过Billboard器件来完成该任务,USBType-C的PD标准规定,任何替代模式配件都可作为Billboard器件。图4为将传统视频端口转换为Type-C的连接线示意图。如果Type-C设备不支持传统视频格式,PD控制器将通知Billboard器件,反过来,也会向Type-C设备通知该故障。

2-4.png

图4 USB Type-C替代模式适配器连接线缆被用来支持传统格式

 

扩展坞或集线器

比显示/Type-C转接Type-C更为复杂的示例是扩展坞或集线器,它们必须支持多台设备的充电功能。集线器可以是多个Type-C或Type-A端口、HDMI和PCIe接口的组合。该集线器需要多个嵌入式设备来成功支持各连接设备。根据所连接设备的不同,每个端口会需要不同的电量。为了满足这种需求,每个端口可能需要一个PD设备。

 

诸如显示、VGA 或 HDMI之类的任何视频端口都需要Billboard器件。另外,集线器需要一台设备来控制到主机的流量。这一点从Type-A 集线器以来就没什么改变,因为你需要防止线路上产生冲突并确保同一时间仅有一台设备与主机通信。显然,之前的简单集线器现在需要更复杂、更严格的设计。

 

USB Type-C解决方案

 

如图5所示的开发板现在已可以供货,它可实现具有充电功能的Vesa® DisplayPort™ 替代模式适配器。开发这样一款设备,可通过允许电源(充电)和视频使用同一端口,来为主机增加一个Type-C端口功能。图5所示的开发板有两个PD 控制器(每个端口各有一个)以及随附于DisplayPort的Billboard器件。该参考设计解决了以下问题:切换至替代模式、充电、通知主机发生故障,以及确保向显示端口和主机输送合适的电量。较之于创建一个新平台并从头开始编写固件,使用这样一块开发板和所提供的固件,将会减少开发时的痛苦且更快捷。使用这样一块开发板,制造商和供应商可以快速地提供一种具有增强功能的Type-C解决方案。

2-5.png

图5用于特定目的的开发板可简化为嵌入式设计添加USB Type-C功能的任务

 

结论

 

USB Type-C将成为未来的通用标准。翻遍抽屉去寻找合适的转换器或连接线的日子已经一去不复返。展望未来,选择连接线时将考虑其端头是插头或插口,以及是否可以传输更高的电量。市面上已经出现了只有Type-C端口的智能手机、平板电脑和笔记本电脑,这些开创性的设备仅仅是个开始。Type-C需要嵌入式器件和固件去实现大量的功能,这为开发人员和制造商迁移设备带来了严峻的考验。幸运的是,嵌入式开发人员可借助于USBType-C的参考设计、软件库和固件,以及专注于为各种应用简化Type-C需求的支持团队。

 

欲了解所有关于Silicon Labs USB Type-C参考设计的详细信息,包括软件协议栈、原理图、文档、工具和EFM8MCU信息,请浏览网站:http://cn.silabs.com/products/mcu/8-bit/Pages/usb-type-c.aspx?Utm_Source=Cmty&Utm_Medium=blog post&U...