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

2. USB Type C接口定义
Type C接口母头(插座)


Type C接口公头(插头)


引脚定义

参考:https://www.cnblogs.com/zhouhaocheng---yijianqinxin/p/12484492.html
配置通道(CC)详解
配置通道CC的用途如下:
检测USB设备是否接入;
检测USB插入方向,并以此建立USB 数据通道的路由;
插入后帮助建立USB设备角色(谁为HOST,谁为Device);
发现并配置VUBS,配置USB PD供电模式;
配置Vconn;
发现和配置可选的备用和辅助模式;
名词解释
在USB2.0端口,USB根据数据传输的方向定义了HOST/Device/OTG三种角色,其中OTG即可作为HOST,也可作为Device,在Type-C中,也有类似的定义。
DFP(Downstream Facing Port):下行端口,可以理解为Host或者是HUB,DFP提供VBUS、VCONN,可以接收数据。在协议规范中DFP特指数据的下行传输,笼统意义上指的是数据下行和对外提供电源的设备。
UFP(Upstream Facing Port):上行端口,可以理解为Device,UFP从VBUS中取电,并可提供数据。典型设备是U盘,移动硬盘。
DRP(Dual Role Port):双角色端口,类似于以前的OTG,DRP既可以做DFP(Host),也可以做UFP(Device),也可以在DFP与UFP间动态切换。典型的DRP设备是笔记本电脑。设备刚连接时作为哪一种角色,由端口的Power Role(参考后面的介绍)决定;后续也可以通过switch过程更改(如果支持USB PD协议的话)。
USB PORT的供电(或者受电)情况,USB Type-C将port划分为Source、Sink。
Source:通过VBUS或者VCONN供电。
Sink:通过VBUS或者VCONN接受供电。
DRP(Dual-Role-Power):既可以作为Source,也可以作为Sink。到底作为Source还是Sink,由设备连接后的配置决定。
Source和Sink的连接过程
Source和Sink的通用USB情况下,配置接口的典型流程如下:
首先,检测端口之间的有效连接(包括确定电缆方向、源/接收器和DFP/UFP关系)。
其次检测电缆的能力。
再次接通USB供电(协商USB电力传输,选择供电模式,电池充电等)。
最后进行USB枚举。
Source to Sink的连接检测
如下图,Source端是上拉电阻Rp,Sink端接下拉电阻Rd

在未对接时,Source检测到CC管脚都为高电平,Sink端检测到CC管脚都未低电平。对接后,形成分压,电平为中间值。Rp的阻值能表明Source能够提供的功率水平。
电阻值设置
各电流值对应的Rp的值如下表:

Rd都是5.1K电阻,电源供电能力的检测与否与电阻精度相关:

在Sink与Source连接后,因为Rp与Rd分压的原因,Sink端的CC的电压(vRd)-供电能力对应关系如下表:

更多定义请参考:
https://blog.csdn.net/a6588621/article/details/85049539
https://blog.csdn.net/weixin_42005993/article/details/100046714
3. 制作Type A转Type C充电-数据线
购买如图Type C公头,5.1k电阻(0402);另一端是常用的USB Type A线



Type C公头接法如下:

USB接口定义 | USB Type C接口定义 | 制作Type A转Type C充电-数据线的更多相关文章
- USB 3.0连接器引脚、接口定义及封装尺寸
上篇整理了USB 2.0A型.B型和Mini USB接口定义及封装,本文补充USB 3.0接口定义,USB 3.0采用的双总线结构,在速率上已经达到4.8Gbps,所以称为Super speed,在U ...
- go语言之进阶篇接口的定义和实现以及接口的继承
1.接口的定义和实现以及接口的继承 示例: package main import "fmt" //定义接口类型 type Humaner interface { //方法,只有声 ...
- go定义接口以及类怎么使用接口
go定义接口以及类怎么使用接口 多态是指代码可以根据类型的具体实现采取不同行为的能力.如果一个类型实现了某个接口,所有使用这个接口的地方,都可以支持这种类型的值. 接口是用来定义行为的类型.这些被定义 ...
- java8函数式接口详解、函数接口详解、lambda表达式匿名函数、方法引用使用含义、函数式接口实例、如何定义函数式接口
函数式接口详细定义 函数式接口只有一个抽象方法 由于default方法有一个实现,所以他们不是抽象的. 如果一个接口定义了一个抽象方法,而他恰好覆盖了Object的public方法,仍旧不算做接口的抽 ...
- 在定义C++, C通用接口函数时让C++接口支持默认参数
在SOUI4的开发中,所有SOUI核心对象都采用了一种类似COM接口的技术来导出接口. 这所以采用这种方案,主要目的是为了让SOUI4支持C语言调用,扩展SOUI的使用场景. 众所周知,C++函数的参 ...
- 将手机micro USB口转换为USB type C连接器的低成本方案
我们知道USB IF提出的type C连接器的终极目标是统一各种USB 接口. 尽管USB 3.0在PC市场上发展的风生水起,但是由于USB 3.0对手机4G LTE的EMI和RFI干扰,导致市场上除 ...
- go type别名和定义类型区别
package main import ( "fmt" ) type person struct { age int name string } func (p person)te ...
- USB C和USB 3.1傻傻分不清?这篇文章可以帮你
USB Type-C接口以及USB 3.1标准的到来,理应为消费者提供更多便利.然而就目前来看,似乎这些新标准非但没有为消费者提供了更好的使用体验,反而带来了诸多隐患.Google的工程师Benson ...
- 【转】Android实战技巧之四十九:Usb通信之USB Host
零 USB背景知识 USB是一种数据通信方式,也是一种数据总线,而且是最复杂的总线之一. 硬件上,它是用插头连接.一边是公头(plug),一边是母头(receptacle).例如,PC上的插座就是母头 ...
随机推荐
- JUC之Java中的阻塞队列及其实现原理
在文章线程池实现原理 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中介绍了线程池的组成部分,其中一个组成部分就是阻塞队列.那么JAVA中的阻塞队列如何实现的呢? 阻塞队列,关键字是阻塞 ...
- java实现 TCP通信
//服务端import com.hl.bluetooth.util.CRC16; import com.hl.bluetooth.util.FrameCheckFailedException; imp ...
- python-利用xlrd模块中读取有合并单元格的excel数据
前言 对于excel中有合并单元格的情况,合并的单元格只能取到第一个单元格的值,合并的单元格后面的单元格内容的值为空,针对这个情况,写了下面一段代码实现, 对单元格进行判断,如果是传入的索引是合并单元 ...
- [系统优化]Centos系统优化
在运维工作中,我们发现Linux系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.以下是我在日常生产应用的优化操作. 一.文件打开数限制优化 描述 生产下要调整 ...
- yield return Il代码讲解
反编译后,迭代器用的是状态机,栈本身就是状态机,由于协程本身也有栈, 我怀疑C#中的 迭代器和基于任务的异步编程是协程(未经过验证) .class nested private auto ansi s ...
- SpringMVC教程--eclipse中使用maven创建springMVC项目
一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...
- PCL库在Linux环境下的编译安装
PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...
- WIN10:全选一个文件夹中的所有文件
- python post请求中Content-Typ为application/x-www-form-urlencoded; charset=UTF-8 解决方案
# -*- coding: utf-8 -*- import requests import json from urllib import parse import quotes def GtgLo ...
- 02-asio学习
https://blog.csdn.net/weixin_42881084/article/details/101996032 https://blog.csdn.net/Marble_ccp/art ...