USB Type-C Docking (扩展坞) 设计

time : 2018-07-27 13:15       作者:凡亿pcb


USB Type-C简介USB Type-C型接口,由USB-IF组织制定,早在2014年就得到了包括苹果,谷歌,英特尔等厂商认可,相继在2015年推出相关产品。相比各类USB传统接口,USB Type-C具有小尺寸、高集成度、使用方便的优秀特性。也即USB Type-C 接口集数据传输,供电,和视频为一体。图1简略描述了USB Type-C的部分特性。 图1 高集成度的USB Type-C接口USB Type-C接口具有以下特性:1.延续USB即插即用的便利优势。

2.物理接口十分小且薄,并支持正反插。

3.支持USB3.1 Gen2(10Gbps)。

4.同时支持DisplayPort数据输出(也可以支持雷电,HDMI数据输出)。

5.支持高达20V 5A最大100W的标准电能传输。
上面提到的100W标准电能传输,是在USB PD(Power Delivery) 协议规范中定义的,标准输出能力。 它是一种协商供电协议,非常灵活也非常智能。USB PD协议也允许设计者使用厂商自定义命令即VDM(Vendor Defined Messages)传输更大电能或者其他客户需要的特殊的功能。综上所述,USB Type-C具备强大的功能和灵活性,为产品设计者各种创意提供了无限可能。图2 Apple Macbook上的USB Type-C接口USB Type-C典型特点是支持正反插,避免过去USB口繁复的方向对准问题,给用户带来极大的便利性。这一功能的实现和接口物理信号的定义有直接关系,图3是USB Type-C的接口信号示意图图3 USB Type-C插座(上图)插头(下图)完整的USB Type-C接口(插座)具有24个信号引脚,可以看到这些信号引脚的功能性呈180゜旋转中心对称的关系排列,在接口物理结构上支持了USB Type-C正反插。USB Type-C及协商供电 USB PD (Power Delivery)基本知识在USB Type-C中对数据和供电定义了3种角色,分别是DRP(Dual-Role-Port双向接口), DFP(Downstream Facing Port数据下行接口), UFP(Upstream Facing Port数据上行接口),同时还保留了Power Source/ Sink 的概念。 USB Type-C将数据角色和供电角色进行了分离,意味着一个端口数据和供电的方向可以相同也可以相反。 USB PD协议让端口的两种身份(数据和供电)可以自由组合,即一个端口可以是数据的主机,电源上却做受电角色. 而传统的USB, 数据和供电的身份是绑定的。这样给应用带来很大的灵活性。扩展坞设计就充分利用这种特性,就数据而言,针对于主机,它是从设备,而电源方面,它却要扮演源端(source), 为主机提供电源。USB PD协议中,数据和电源身份是可以动态依照情况而改变的,不是一层不变的。USB Type-C为了区分DFP与UFP的初始状态,使用了上(Rp)下(Rd)拉的电阻模型,如图4。图4 DFP和UFP的上下拉电阻模型DFP通过监控CC (Configuration Channel)上的电压来确认是否有正确的连接,然后打开Vbus和Vconn给设备和线缆供电,如果是插座设计,DFP和UFP都需要根据CC1/CC2上不同的分压值确定设备插入的方向,切换内部开关将多组数据线以正确的顺序传输或者获取数据。CC信号线上进行Rp-Rd配对,这决定了DFP 和UFP角色。Vconn信号线上进行Rp-Ra配对,作用是给带E-marker的cable供电,并读取cable支持的速度和能承载的最大电流等线材相关信息。图5 DFP和UFP建立连接时几种可能的连接模型图5展示了DFP和UFP的正反连接的四种模型,不论用户如何插拔,两端的设备都是根据CC1/CC2上的分压进行方向识别的。上一节中图3定义了USB Type-C插头和插座的信号顺序,在正插和反插的情况下,插头和插座的匹配如下图6所示。图6中最上面一个是正面朝上的插头信号图,中间是正面朝上的插座信号图,最下面一幅是正面朝下的插头信号图,该图示按翻转的方式插入,那么箭头指示了一个引脚配对的位置,据此可以看出其他引脚配对的位置了。注意插头和插座的区别---插头中间有2个空引脚。图6 DFP和UFP连接时信号匹配上面讲述了DFP和UFP角色的功能,USB Type-C中还有一个特殊的双角色端口(DRP),顾名思义,DRP是双向角色,也就是说一个DRP设备既能实现DFP功能,也能实现UFP功能,那么在DRP设备内是同时集成了Rp和Rd的,在CC通道上DRP设备分时连接Rp或者Rd,不会同时将它们连接在CC上。通常一个DRP, 内部的Rd 和Rp是通过一个开关来选定的,这样保证端口在同一时刻不会既是DFP 又是UFP。USB Type-C是物理接口,要实现更多功能则需要在接口上实现USB PD协议,USB PD协议在USB Type-C的CC通道上实现,是一种主从单线通讯协议,采用BMC编码,CC通道上并不负责高速数据的传输,而是实现控制及产品基本信息的交互。很多设计者都有个误区,认为USB PD只是供电的相关协议,实际上,USB PD是USB Type-C的灵魂所在。 比如要实现角色的切换,必须用到USB PD, 又比如要实现包括视频等高速数据传输,也必须用到USB PD协议,通过协议中的VDM消息才能建立包括DisplayPort等的各种可选模式(Alt Mode)连接,从而实现视频数据传输,关于USB Type-C可选模式设计的基本知识,请参考赛普拉斯相关网页Dock 基本概念的介绍:Dock,又叫做扩展坞,这类产品的流行是因为笔记本电脑的USB或者视频等接口数量有限, 用户希望扩展出更多数量的或者更多种类的接口,来满足多元应用需求。由于笔记本接口输出功率的限制,扩展坞通常需要通过自己的电源适配器供电。USB Type-C接口的出现进一步扩展了Dock的应用场景以及功能性。本文所指的Dock是:本身具有电源调节能力的扩展坞,区别于目前市面上本身不具有调压能力的可充电转换器产品(如:苹果推出的 1转3 转换器)。图7为传统Dock产品示意图,这种Dock的体积和重量都决定了它不便于携带,市场上各个品牌厂商的Dock通常也都不能通用,USB Type-C的出现赋予了Dock多元的设计要素,具体表现如下:(产品示意图如图8所示)1.接口简单,上行接口只需要一个USB Type-C口,不需要与笔记本的总线进行复杂的线缆连接;

2.一口多用,在传输数据的同时可以给笔记本充电,并且播放笔记本中的视频;

3.兼容广泛,USB Type-C Dock都遵从标准USB PD协议,不同品牌的USB Type-C电脑和USB Type-C Dock理论上可以互相兼容;

4.适配各类USB Type-C 主机,USB Type-C Dock不仅仅只能搭配笔记本电脑,同时也能用在平板电脑和手机上;

5.体积超小,可以随身携带。(注:图示只是示意图)图7 传统Dock图8 USB Type-C Dock USB Type-C Dock Station的设计1. Docking中电源设计注意事项:如上文所述在做Dock设计时,需要设计Dock给手机或笔记本充电的能力,在USB PD协议中要求电源输出设计在功率足够的情况下至少遵从以下规则:图9 标准PD电源输出规则图9的含义是,在输出功率大于15W/27W/45W的情况下,输出的电源能力(PDO)一定要包含9V、15V及20V,例如,Dock的输出能力为30W,则PDO应至少包含5V@3A,9V@3A和15V@2A,其他电压值都是可选的,不做强制规定,USB PD协议的这个规定是为了提高不同厂商产品的兼容性,增强USB Type-C的通用性。2. Cypress的Dock解决方案简介图10是Dock类设计的简略结构框图,Dock采用直流接口供电,具有一个连接笔记本/平板或手机的上位USB Type-C接口,一个作为DFP输出USB数据及电源的下位USB Type-C接口,两个图形输出接口,一个网口,一个音频接口,两个USB3.0和USB2.0接口,所用到的芯片主要有DP Splitter(也可以用DP Switch降低成本), DP-HDMI转换芯片,DC-DC转换芯片,HUB芯片,数字音频转换芯片和USB PD芯片,下面着重介绍一下USB PD芯片。图10是Dock简略框图Cypress EZ-PD CCG4/4M的内部结构概图如图11,该芯片以一个ARM Cortex M0内核作为主控集成了通用微处理器的外围组件,集成了USB PD3.0的解码器及USB Type-C的相关外围组件,具备128KB片上Flash,8KB SRAM,因此既可以作为PD3.0的协议控制器,也能做通用处理器处理系统事务。Dock设计中推荐使用CCG4产品主要是因为该系列产品广泛应用于各大OEM厂商的笔记本及复杂USB Type-C Dock扩展器设计中,具有良好的兼容性,和成熟的SDK(软件开发包),SDK扩展性良好,设计工程师易于开发[1]。CCG4作为USB Type-C DRP角色工作[2],在Dock中主要负责的功能:1.处理USB Type-C事务,例如作为双向角色DRP处理接口拔插,正反插事务。

2.处理USB PD3.0协议事务,例如电源事件处理,ALT MODE事件响应等。

3.根据USB PD事件控制电源模块-----包括输出功率控制,模块电源开断,系统电源控制等。

4.根据ALT MODE事件切换Video模块工作模式(例如2/4 Lane 切换,监控显示器插入信号),并响应USB Billboard事件。

5.其他板级事件----例如LED控制,按键控制等。
图11 Cypress CCG4/4M的结构概图DMC(全称Dock Management Controller)推荐使用Cypress的CY7C65219,DMC最主要的功能[3]是1.作为USB Billboard通知主机ALT MODE状态事件

2.作为在线升级控制器处理USB事务,接收数据包,并通过I2C或其他板上接口对其他芯片升级。

3.作为EC(全称Embedded Controller)对PD控制器或其他芯片进行任务协调和扩展。
HUB推荐使用Cypress USB3.1 Gen1的HX3系列(CYUSB3314)可以单独使能每个下行口的BC1.2,DCP,Apple Charging,Ghost Charging等功能,它具备Shared Link功能, 在嵌入式设计时,能将下行口的USB3.0的Super Speed信号和High Speed信号拆分成两组独立使用[4]。另外USB2.0 HUB的HX2VL系列具有外围简单性能稳定和低功耗的优势[5],也是业界较受认可的选择。电源控制芯片可以考虑ON-SEMI采用I2C控制的宽范围输入输出开关电源,有利于减少IO占用。MUX和DP转HDMI转换器可以考虑Diode(Pericom)或者Parade。3. Dock方案中的在线升级功能---提升终端客户体验在厂商开发自己的产品过程中,如何保证产品的高质量:1.量产前合理的测试方案(可根据系统厂商原有经验实施);

2.保证产品灵活的接口特性(增加在线升级功能)
Cypress目前有成熟的Dock在线升级方案,图12展示了Dock在线升级的拓扑结构,DMC通过USB2.0接收主机端升级命令和数据,再通过I2C或者其他板级通信协议中转到各外部芯片上进行升级。图12 Dock在线升级的拓扑结构DMC主要具备两个USB接口,一个是USB Billboard类,主要用于标准USB Billboard事务处理。一个是WINUSB类,这种设备类在WIN10上有预装的驱动程序,可以免去使用者使用麻烦,更重要的是在Windows移动终端操作系统上也支持这种设备类,使得Dock无论在搭配笔记本电脑还是手机平板都能实现功能升级,同时DMC将使用USB控制端点传输命令,再通过批量端点传送各芯片固件的二进制文件。该Dock方案中在升级软件与DMC建立链接后,所有升级动作由DMC主动发起,所以在不同Dock应用中是可以使用相同的系统端升级软件的,并且由于CY7C65219 集成了加解密IP,在特殊应用中也可以通过DMC发起密匙配对识别升级来源是否是安全的。值得注意的是在DMC升级系统部件的过程中,可能某些部件会有主动操作I2C总线的行为,这是需要设计者考虑进去的,这种情况建议设计师建立两颗芯片间操作总线的互斥原则,并在FW中做相应设置。4. Dock解决方案中的固件流程Dock的解决方案中会涉及大量芯片与芯片之间的沟通,例如:USB PD芯片需要根据USB PD 沟通的信息进行调整电压,涉及与DC-DC电源之间的沟通; USB PD芯片需要识别正反插,涉及与MUX之间的沟通等等。系统I2C的基本控制拓扑结构可简化为图13.图13 Dock的I2C控制拓扑结构Dock中CCG4会通过I2C控制大部分外围芯片,主要是实现前文提到的电源控制,上下行USB Type-C口的正反插控制,视频部分的控制,图14的流程图说明了在USB PD软件开发时的流程。图14 CCG4 USB PD控制器软件流程图CCG4已经完成了全部USB Type-C及USB PD的功能,流程图中重点突出了应用层需要完成的工作,基本上流程中所需要处理的事件都是CCG4 SDK会通报出的协议栈事件[6],开发者可以将更多精力放在功能应用层面,为用户提供创新实用的Dock产品。图15 Cypress DMC软件流程图图15揭示了Cypress DMC的软件流程图,实际上这些事务在DMC的架构中已经构建并充分验证,开发者不需要做更改即可使用,在Dock设计中,为了增强事务处理的实时性,建议尽量在CCG4中做事件处理。5. Dock解决方案中的软件开发本文中扩展坞推荐采用的Cypress系列PD控制器设计,他们推出了成熟的配套软件开发包(SDK), 开发者可以免费使用软件开发包完成个性化的功能设计,图16是Cypress CCGx 软件开发包界面, 该开发软件采用模块化的方式调用内部资源(比如I2C,PWM等),并自动生成相应API供开发者使用,并能像FPGA一样调整IO顺序,使开发者上手容易[7]。CCGx的软件开发包将Type-C和USB PD的协议栈封装成了库,提供出API接口供使用者调用,除了部分特定功能的IO外,其他的GPIO及内部资源可以当成通用的MCU使用,使芯片性能在系统中可以充分利用。图16 Cypress CCGx 软件开发包界面6. Dock解决方案中的注意事项电脑扩展坞是一个比较复杂的封闭系统,因为扩展坞通常具有多种不同外部接口,对应的在设计中对系统有一些注意事项:3.电源的分配,比如供电电源能力的计算,对每个模块及接口电源的分配需要匹配

4.对数据带宽的分配

5.对系统休眠状态的省电控制

6.人机交互方式的设计
总结USB Type-C在逐渐统一笔记本及移动终端设备外部接口,在趋势的推动下,基于USB Type-C接口的Dock设计必将受到广大用户的欢迎,尤其是在手机和平板性能越发强大的今天,便携式Dock让用户随时随地可以将手机、平板变身成完整的电脑,本文介绍的基于Cypress CCG4 USB PD控制器的Dock设计方式为广大外设厂商提供了一个具有参考价值的设计思路和理念。**引用:**

1.[AN210771 - Getting Started with EZ-PD? CCG4](http://www.cypress.com/documentation/application-notes/an210771-getting-started-ez-pd-ccg4?source=search&cat=technical_documents)

2.[AN210403 - Hardware Design Guidelines for Dual Role Port Applications Using EZ-PD? USB Type-C Controllers](http://www.cypress.com/documentation/application-notes/an210403-hardware-design-guidelines-dual-role-port-applications?source=search&cat=technical_documents)

3.[EZ-PD? CCG3 USB Type-C Port Controller Datasheet](http://www.cypress.com/documentation/datasheets/ez-pd-ccg3-datasheet-usb-type-c-controller-power-delivery)

4.[AN94150-Designing a SuperSpeed Hub Using HX3 with Optimized BOM ](http://www.cypress.com/documentation/application-notes/an94150-designing-superspeed-hub-using-hx3-optimized-bom?source=search&cat=technical_documents)

5.[AN72332 - Guidelines on System Design Using Cypress’s USB 2.0 Hub (HX2VL)](http://www.cypress.com/documentation/application-notes/an72332-guidelines-system-design-using-cypresss-usb-20-hub-hx2vl?source=search&cat=technical_documents)

6.[EZ-PD Software Development Kit](http://www.cypress.com/documentation/software-and-drivers/ez-pd-software-development-kit?source=search&cat=software_tools)

7.[PSoC? Creator? Integrated Design Environment (IDE)](http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide)