这款 24-pin 连接器的机械设计反应了设计人员从 Micro-B 连接器上获得的历史教训,它无需确定插入的正反方向并可实现 10000 次的插拔。使用者再也不需要担心“哪头上,哪头下”,因为 USB Type-C 连接器没有正反方向之分,所以从任一方向插拔皆可。此外,不像其他大多数 USB 电缆,USB Type-C 电缆两端使用相同的插头。
  数据信道增加
USB Type-C 电缆包含两组支持 10Gbps USB 3.1 超速标准的 Tx/Rx 信号信道,提供了 20Gbps 总带宽,理论上可实现 2 倍的数据传输和下载时间改善。并保留单独一组引脚给使用 USB 2.0 连接的传统应用。
  供电性能增强
该电缆还包含配置信道(Configuration Channel, CC),可用于发现、配置和管理 USB Type-C 的先进供电(Power Delivery)功能,为外设或移动设备实现高达100W 的供电能力。
  更灵活的 USB 架构
除了最新的 USB 标准中定义的“上行数据流埠(Upstream-Facing Port, UFP)”和“下行数据流埠(Downstream-Facing Port, DFP)”,USB Type-C 规范还定义了“双向用途埠(Dual Role Port, DRP)”。这种新型的 USB 数据端口能够作为 DFP 或 UFP 两者中任一个进行工作。DRP 可被永久地配置为 DFP 或 UFP,也使用 FPGA 技术实现灵活的 USB Type-C 接口控制能在这两种端口间动态切换。
  供货商自定义消息(VDM)
该标准还可以扩展用于非 USB 应用的连接。结构化的 VDM 允许主机发现和配置连接设备的可选模式,重新分配信号对用于非 USB 端口,如 PCIe 或显示端口(DisplayPort)。非结构化的 VDM 允许供货商传输供货商专用信息和配置控制数据。

  USB Type-C 连接器的 24 个引脚在插头中呈对称分布,可实现“正常”或“反向”的插拔。对于用户使用来说很方便,但是仅有一部分的连接是“对称”的,即USB 连接是无需考虑方向的。

  USB Type-C 接口的对称连接包含:
D+/D-:当 USB3 接口不可用时,这些引脚为 USB2 信号提供信号信道。
Vbus/GND:这些引脚能够为上行数据接口提供高达 100W 的供电能力,或者在一些情况下支持点对点供电。

  剩余的连接是“非对称”的,也就是说在连接器插入方向错误时这些连接无法正常工作,除非这些端口在电气或逻辑方面做了修正。

  USB Type-C 的非对称连接包含:
Tx1/2 Rx1/2:提供最多 2 通道的超速数据链路,实现双向高达 20Gbps 的带宽。
CC1/CC2:配置信道信号用于连接的发现、配置和管理。请注意它们中仅一个信号用作配置信道,另一个在上行数据流端口中用于为 USB 逻辑供电
SBU1 & 2:边带使用(Side Band Use)信号适用于传输非 USB 信号,它们用于模拟音频(Analog Audio)模式,也可用于可选(Alternate)模式。

  PD 通信使用一条 CC 通道,由 USB 供电规范定义。它采用半双工通信机制,使用双相标记编码(Bi-phase Mark Coding, BMC)传输 4b5b 编码的数据,可简化接收器设计。BMC 可被认为是一种曼彻斯特(Manchester)编码。此外,数据使用循环冗余校验(Cyclic Redundancy Checking, CRC)算法来防止数据错误。

不要看着USB Type-C好像能支持最高20V/5A,实际上这需要USB PD,而支持USB PD需要额外的PD芯片,所以不要以为是USB Type-C接口就可以支持到20V/5A。

  上图DFP (Downstream Facing Port)也就是主, UFP (Upstream Facing Port)为从。除了DFP、UFP,还有个DRP (Dual Role port),DRP可以做DFP也可以做UFP。当DPR接到UFP,DRP转化为DFP。当DRP接到DFP,DRP转化为UFP。两个DRP接在一起,这时就是任意一方为DFP,另一方为UFP。
  在DFP的CC pin有上拉电阻Rp,在UFP有下拉电阻Rd。未连接时,DFP的VBUS是无输出的。
  连接后,CC pin相连,DFP的CC pin会检测到UFP的下拉电阻Rd,说明连接上了,DFP就打开Vbus电源开关,输出电源给UFP。 而哪个CC pin(CC1,CC2)检测到下拉电阻就确定接口插入的方向,顺便切换RX/TX
  电阻Rd=5.1k,电阻Rp为不确定的值,根据前面的图看到USB Type-C有几种供电模式,靠什么来甄别?就靠Rp的值,Rp的值不一样,CC pin检测到的电压就不一样,然后来控制DFP端执行哪种供电模式

  需要注意的是,上图里画了两个CC,实际上在不含芯片的线缆里只有一根cc线。含芯片的线缆也不是两根cc线,而是一根cc,一根Vconn,用来给线缆里的芯片供电(3.3V或5V),这时就CC端没有下拉电阻Rd,而是下拉电阻Ra,800-1200欧

  例如CC1對應的是SSTX1與SSRX1。下圖的右邊整合了MUX(多工器(Multiplexer)),由於USB 3.1的data rate高達10 Gbps,為了避免PCB的走線出現分支,所以正反插進來的訊號會由MUX來切換,正插時,切換到SSRX1&SSTX1,反插時,切換到SSRX2&SSTX2。

  Type-C 以CC pin决定执行那个模式。DFP会有上拉电阻Rp,UFP会有下拉电阻Rd,当DFP与UFP相接,CC pin上就会有分压,Rd是固定5.1k,而Rp就会依照DFP的类别,而有不一样的阻值。UFP会monitor CC pin上的分压来知道DFP的VBUS种类。另外DFP也用不同大小的定电流源来供给CC pin,当电流流到uRd,同样可以产生电压,让UFP知道DFP的VBUS模式。

  在UFP是由CC pin上的电压,来得知DFP的VBUS输出能力。例如DFP为5V/3A,它可以在CC pin上供330uA的电流,在UFP端的CC pin上就会得到330uA * 5.1k=1.683V,UFP就可以判断DFP为vRd-3.0。或是DFP用一个上拉电阻10K到VBUS,UFP端的CC pin上的电压为5v * 5.1k /(5.1k+10k)=1.688V,UFP一样可以判断DFP为vRd-3.0。

  USB Type C也支援USB PD,而USB PD的Protocol会转为BMC的信号,在CC pin上传输。

USB Type-C和DisplayPort,PCIE
  USB PD是BMC编码的信号,而之前的USB则是FSK,所以存在不兼容,不知道目前市面上有没有能转换的产品。
  USB PD是在CC pin上传输,PD有个VDM (Vendor defined message)功能,定义了装置端ID,读到支持DP或PCIe的装置,DFP就进入替代(alternate)模式
如果DFP认到device为DP,便切换MUX/Configuration Switch,让Type-C USB3.1信号脚改为传输DP信号。AUX辅助由Type-C的SBU1,SUB2来传。HPD是检测脚,和CC差不多,所以共用。
而DP有lane0-3四组差分信号,Type-C有RX/TX1-2也是四组差分信号,所以完全替代没问题。
而且在DP协议里的替代模式,可以USB信号和DP信号同时传输,RX/TX1传输USB数据,RX/TX2替换为lane0,1两组数据传输,此时可支持到4k。
如果DFP认到device为DP,便切换MUX/Configuration Switch,让Type-C USB3.1信号脚改为传输PCIe信号。同样的,PCIe使用RX/TX2和SBU1,SUB2来传输数据,RX/TX1传输USB数据。
这样的好处就是一个接口同时使用两种设备,当然了,转换线就可以做到,不用任何芯片。

Type C利用CC pin来传输USB power delivery protocol信号,与Type A/B不同。Type A/B是由VBUS来传输USB PD protocol信号,所以需要加Isolation电感来滤掉高频的protocol信号,使得电源只剩低频的直流信号。

使用LLCR测试之原因 : 任何金属表面可能有 a.灰尘 b.氧化物 c.油污 等 杂质 , 当两金属表面接触后该介质会影响电流之流 通 , 一般称之为接触电阻 . 为确保 Connector 在任何环境及使用条件皆可导通故以低电压 ( 20mV 以下 ) 低电流 (0.1A以下 )测试接触电阻 , 称之 LLCR ( 因以太大之电压、电流测试时 , 火花会将该层介质打穿 )

USB Type-C,接口上的大统一?的更多相关文章

  1. USB接口定义 | USB Type C接口定义 | 制作Type A转Type C充电-数据线

    1. USB接口定义 2. USB Type C接口定义 Type C接口母头(插座) Type C接口公头(插头) 引脚定义 参考:https://www.cnblogs.com/zhouhaoch ...

  2. webapi接口上传大文件

    通过WebApi或者MVC模式的接口上传文件时,总数报错 413 Request Entity Too Large IIS 404 服务未找到 解决方法: 1. 在web.config文件下找到sys ...

  3. C# HttpWebRequest 后台调用接口上传大文件以及其他参数

    直接上代码,包各位看客能用!!! 1.首先请求参数的封装 /// <summary> /// 上传文件 - 请求参数类 /// </summary> public class ...

  4. 适配器模式-如何把usb插到插座上

    前言 下面所写的内容不是实际的业务场景, 也可能不符合正常的生活习惯, 或者不满足一些人的口味 所写的内容包括之前的帖子,只是为了方便大家更好的记住这个设计模式,实际生活中要灵活应用 设计模式重思想, ...

  5. 将手机micro USB口转换为USB type C连接器的低成本方案

    我们知道USB IF提出的type C连接器的终极目标是统一各种USB 接口. 尽管USB 3.0在PC市场上发展的风生水起,但是由于USB 3.0对手机4G LTE的EMI和RFI干扰,导致市场上除 ...

  6. 基于ZedBoard的Webcam设计(一):USB摄像头(V4L2接口)的图片采集【转】

    转自:http://www.cnblogs.com/surpassal/archive/2012/12/19/zed_webcam_lab1.html 一直想把USB摄像头接到Zedboard上,搭建 ...

  7. 第一章 USB Type C的基本原理

    图 1: USB Type C接头外形 USB Type C(简称USB-C)的基本特性: 1. 接口插座的尺寸与原来的Micro USB规格一样小,约为8.3mm X 2.5mm 2. 可承受1万次 ...

  8. tp5+layui 实现上传大文件

    前言: 之前所写的文件上传类通常进行考虑的是文件的类型.大小是否符合要求条件.当上传大文件时就要考虑到php的配置和服务器的配置问题.之前简单的觉得只要将php.ini中的表单上传的 大小,单脚本执行 ...

  9. asp.net core流式上传大文件

    asp.net core流式上传大文件 首先需要明确一点就是使用流式上传和使用IFormFile在效率上没有太大的差异,IFormFile的缺点主要是客户端上传过来的文件首先会缓存在服务器内存中,任何 ...

随机推荐

  1. xxx is not in the sudoers file.This incident will be reported.的解决方法

    1.切换到root用户下,怎么切换就不用说了吧,不会的自己百度去. 2.添加sudo文件的写权限,命令是:chmod u+w /etc/sudoers 3.编辑sudoers文件vi /etc/sud ...

  2. Microsoft SQL Server 获得本地帮助方法

    微软的自带的帮助文档不管是对于开发人员还是DBA都是相当的重要.一般在有网络的状况下可以直接访问 http://msdn.microsoft.com/query/dev10.query?appId=D ...

  3. 总结&记录

    一.Git(linux命令) 1.tar  压缩/解压 -c 建立一个压缩文件(create) -x 解压一个压缩文件 -t 查看tarfile中文件 -z 是否具有gzip的属性?是否需要用gzip ...

  4. C++例题练习(1)

    环境:Dev-C++( Version:5.6.1) 一.求2个或3个正整数中的最大数,用带有默认参数的函数实现 代码实现: #include <iostream> using names ...

  5. Appium 解决中文输入问题

  6. mac 查看系统时区

    sudo systemsetup -gettimezone https://developer.apple.com/library/mac/documentation/Darwin/Reference ...

  7. [Effective Java读书笔记] 第二章 创建和销毁对象(1~7)

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3537576.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  8. Java7 switch新特性

    在Java7之前,switch只能匹配整数值,和字符:而Java7添加了字符串的匹配特性. 代码如下: package blog; public class Main { public static ...

  9. mysql 相关环境配置

    1. mysql 版本要求 5.5 以上, 否则不支持 emoji 表情. $ sudo apt-get install mysql-server $ sudo vim /etc/mysql/my.c ...

  10. vim 的 tags 模块 与 ctags

    1. 概述 一般来说,在代码中跳转,离不开 ctags. 实际上,vim 中代码跳转是由 vim tags 模块完成的,tags 模块依赖于 tags 文件. ctags(Generate tag f ...