【硬件介绍】Type-C接口详解
一、Type-C接口概述
- Type-C接口特点:以其独特的扁头设计和无需区分正反两面的便捷性而广受欢迎。这种设计大大提高了用户的使用体验,避免了传统USB接口需要多次尝试才能正确插入的问题。
- Type-C接口内部结构:内部上下两排引脚的设计虽然可能不对称,但这种布局巧妙地实现了接口的正反插功能,使得Type-C接口在物理连接上更为灵活和耐用。
在USB Type-C的生态系统中,DFP(Downstream Facing Port)和UFP(Upstream Facing Port)是两个重要的角色,它们定义了设备在USB Type-C连接中的供电和数据传输方向。
1、DFP(Downstream Facing Port)
- 定义:DFP是指供电方向朝向另一设备的USB端口,通常是一个电源提供者。
- 功能:
- 提供电源:DFP可以提供电源给连接的设备,如充电器、电脑的USB端口等。
- 数据传输:DFP可以发送和接收数据,但通常在供电角色中,它更多的是作为数据的主导者。
- 例子:
- 壁式充电器
- 电脑的USB Type-C端口
- USB Type-C扩展坞的供电端口
2、UFP(Upstream Facing Port)
- 定义:UFP是指供电方向从另一设备接收电源的USB端口,通常是一个电源消费者。
- 功能:
- 接收电源:UFP从DFP接收电源,用于给自身设备充电或供电。
- 数据传输:UFP也可以发送和接收数据,但通常在接收电源的角色中,它更多的是作为数据的从属者。
- 例子:
- 智能手机
- 平板电脑
- USB Type-C外接硬盘
3、USB Type-C连接中的角色分配
在一个USB Type-C连接中,设备可以通过以下方式进行角色分配:
- 角色协商:当两个设备通过Type-C电缆连接时,它们会通过CC引脚进行角色协商。DFP和UFP的角色不是固定的,设备可以根据需要和协商结果切换角色。
- 双角色端口(DRP):一些设备具有双角色端口,这意味着它们可以同时充当DFP和UFP。例如,笔记本电脑的USB Type-C端口可以在连接充电器时作为UFP接收电源,而在连接智能手机时作为DFP提供电源。
二、Type-C接口与USB的关系
- Type-C全名:USB Type-C,是USB(通用串行总线)接口标准的一部分,继承并扩展了USB技术的诸多特性。
- USB Type-A简介:作为最常见的USB接口类型,USB Type-A拥有四个引脚,采用USB2.0协议,提供了最高480MBit/s的传输速率,广泛应用于各种电子设备。
三、USB Type-C引脚功能详细说明
Type-C插座
Type-C插头
主要引脚功能包括:
GND(地线)和VBUS(电压总线)
提供电源连接,VBUS通常为5V,是USB接口的电源正极。
D+和D-
这两根线用于兼容USB2.0协议,通过差分信号传输数据,具有较好的抗干扰能力。
TX+、TX-、RX+、RX-
这四根线用于兼容USB3.0协议,实现更高的数据传输速率,最高可达10Gbit/s,支持全双工通信。
SBU(辅助信号线)
用于传输附加功能信号,如音频或视频信号。
- 音频传输:
当Type-C设备处于ALT MODE模式,进行DP信号传输时,SBU引脚可作为音频传输通道,将音频信号从设备传输到外部的音频设备,如耳机、扬声器等。
- 麦克风信号传输:
在进入TYPE-C模拟音频耳机附件模式时,SBU引脚可作为麦克风信号传输通道,将麦克风采集到的音频信号传输到设备中进行处理。
- 数据传输:
SBU2是数字信号的传输通道,主要用于传输数据和控制信号,其传输速度可以达到1.5Mbps,可用于传输数字音频、控制信号以及扩展的USB功能,如USB PD(快速充电协议)和DP(显示器端口),还能实现USB Alt Mode(可选模式)功能,使Type-C接口实现多种信号传输,扩展了其适用范围。
CC(配置通道)
用于识别插入方向和协商供电协议,是Type-C接口能够智能识别插入方向的关键。一般数据线中只有一根导线连接到了CC脚,因此通过判断哪根CC线上有下拉电阻来判断方向
插入状态 | CC1状态 | CC2状态 | 描述 |
---|---|---|---|
正常插入 | 连接 | 开路 | 当Type-C公头正常插入母头时,CC1与电缆连接,CC2开路。 |
反向插入 | 开路 | 连接 | 当Type-C公头反向插入母头时,CC1开路,CC2与电缆连接。 |
未插入 | 开路 | 开路 | 当Type-C公头未插入母头时,CC1和CC2都是开路状态。 |
CC脚下拉电阻
CC脚需要下拉电阻,用于设备识别。如图所示:
下拉电阻阻值与功能对应表:
下拉电阻阻值 (kΩ) | 功能描述 |
---|---|
5.1 | USB 2.0 设备或电缆(默认) |
10.1 | USB 3.1 或更高版本的设备或电缆 |
56 | 下行端口(DFP,例如,充电器或电脑的USB端口) |
22.7 | 上行端口(UFP,例如,智能手机或平板电脑) |
44.2 | 双角色端口(DRP,即可以作为供电端或接收端) |
75 | 被动电缆(不支持数据传输,仅供电) |
0 (开路) | 不确定角色,通常用于检测电缆的插入方向 |
四、Type-C接口种类
根据不同场景需求,Type-C有着各种版本与删减版本。
完整的Type-C是24个引脚,但由于其成本相对较高、工艺困难,因此Type-C还有各种减配版。
直插(立式) | 弯插 | 贴片 | 沉板 | |
2脚 | | | ||
4脚 | ![]() | ![]() | ![]() | ![]() |
6脚 | ![]() | ![]() | ![]() | ![]() |
12脚(16脚) | ![]() | ![]() | ![]() | ![]() |
24脚(完整) | ![]() | ![]() | ![]() | ![]() |
引脚定义 | ||
2脚 |
| ![]() |
4脚 |
| ![]() |
6脚 |
| ![]() |
12脚(16脚) |
| ![]() |
24脚(完整) |
| ![]() |
五、Type-C接口的硬件简化实例
- Type-C接口的硬件设计可能会根据用途的不同而有所简化,这体现在引脚数量的减少和功能的裁剪上。
- 公头和母头的简化设计:
- DP和DN分别代表D+和D-,用于数据传输。
- CC1和CC2通过接入5.1k下拉电阻来识别插入方向。
- VBUS通常作为5V供电使用,而SBU等非必需引脚可以根据需要进行省略。
- 这种硬件简化不仅有助于降低生产成本,还能使接口更加紧凑,适应更多样化的设备设计需求。
相关文章:

【硬件介绍】Type-C接口详解
一、Type-C接口概述 Type-C接口特点:以其独特的扁头设计和无需区分正反两面的便捷性而广受欢迎。这种设计大大提高了用户的使用体验,避免了传统USB接口需要多次尝试才能正确插入的问题。Type-C接口内部结构:内部上下两排引脚的设计虽然可能不…...
【Pandas】pandas Series rtruediv
Pandas2.2 Series Binary operator functions 方法描述Series.add()用于对两个 Series 进行逐元素加法运算Series.sub()用于对两个 Series 进行逐元素减法运算Series.mul()用于对两个 Series 进行逐元素乘法运算Series.div()用于对两个 Series 进行逐元素除法运算Series.true…...
项目开发版本控制Git流程规范
个人&测试&预发布&生产分支命名 1)个人分支: 从sit或者master进行切出,姓名切出分支命名,或者日期切出分支命名 示例:liuys_sit、20250110_sit2)测试分支: sit3)用户验…...

STM32 : 波特率发生器
波特率发生器 1. 发送器和接收器的波特率 波特率寄存器 (BRR): 在串行通信中,发送器和接收器的波特率是由波特率寄存器(BRR)中的一个值 DIV 来确定的。 2. 计算公式 计算公式: 详细解释 1. 波特率寄存器 (BRR) BRR: 波特率寄存器是一…...

STM32 USB组合设备 MSC CDC
STM32 USB组合设备 MSC CDC实现 教程 教程请看大佬niu_88 手把手教你使用USB的CDCMSC复合设备(基于stm32f407) 大佬的教程很好,很详细,我调出来了,代码请见我绑定的资源 注意事项 值得注意的是: 1、 cu…...

继续以“实用”指导Pythonic编码(re通配表达式)(2024年终总结2)
弃现成工具手剥任务🧐,我哈哈滴就像笨笨的傻大个儿😋。 (笔记模板由python脚本于2025年01月12日 23:29:33创建,本篇笔记适合熟悉正则表达式的coder翻阅) 【学习的细节是欢悦的历程】 Python官网:https://www.python.or…...
Flutter使用BorderRadiusTween实现由矩形变成圆形的动画
BorderRadiusTween 是插值动画中,用于组件边框半径的类,专门作用于组件边框和半径动化过度。 这个类继承自Tween,用法相似。 下面是示例写法 class BorderRadiusTweenPage extends StatefulWidget {overrideState<StatefulWidget> c…...
VSCode 中的 launch.json 配置使用
VSCode 中的 launch.json 配置使用 在 VSCode 中,launch.json 文件用于配置调试设置,特别是用来定义如何启动和调试你的应用。它允许你配置不同的调试模式、运行参数和调试选项。 基本结构 launch.json 文件位于 .vscode 文件夹内,可以通过…...

深度学习张量的秩、轴和形状
深度学习张量的秩、轴和形状 秩、轴和形状是在深度学习中我们最关心的张量属性。 秩轴形状 秩、轴和形状是在深度学习中开始使用张量时我们最关心的三个属性。这些概念相互建立,从秩开始,然后是轴,最后构建到形状,所以请注意这…...

Redis有哪些常用应用场景?
大家好,我是锋哥。今天分享关于【Redis有哪些常用应用场景?】面试题。希望对大家有帮助; Redis有哪些常用应用场景? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 是一个高性能的开源键值对(Key-Va…...

vue3+ts+element-plus 输入框el-input设置背景颜色
普通情况: 组件内容: <el-input v-model"applyBasicInfo.outerApplyId"/> 样式设置: ::v-deep .el-input__wrapper {background-color: pink; }// 也可以这样设置 ::v-deep(.el-input__wrapper) {background-color: pink…...

Ubuntu 磁盘修复
Ubuntu 磁盘修复 在 ubuntu 文件系统变成只读模式,该处理呢? 文件系统内部的错误,如索引错误、元数据损坏等,也可能导致系统进入只读状态。磁盘坏道或硬件故障也可能引发文件系统只读的问题。/etc/fstab配置错误,可能…...

使用RSyslog将Nginx Access Log写入Kafka
个人博客地址:使用RSyslog将Nginx Access Log写入Kafka | 一张假钞的真实世界 环境说明 CentOS Linux release 7.3.1611kafka_2.12-0.10.2.2nginx/1.12.2rsyslog-8.24.0-34.el7.x86_64.rpm 创建测试Topic $ ./kafka-topics.sh --zookeeper 192.168.72.25:2181/k…...
通过Apache、Nginx限制直接访问public下的静态文件
一、Apache 在public目录下的.htaccess文件中添加如下规则,来拒绝除了指定文件类型之外的所有请求 <FilesMatch "\.(?!(jpg|jpeg|png|gif|css|js|ico)$)[^.]$">Order Allow,DenyDeny from all </FilesMatch> 上述配置表示仅允许访问.jpg …...

uniapp小程序中隐藏顶部导航栏和指定某页面去掉顶部导航栏小程序
uniappvue3开发小程序过程中隐藏顶部导航栏和指定某页面去掉顶部导航栏方法 在page.json中 "globalStyle": {"navigationStyle":"custom",}, 如果是指定某个页面关闭顶部导航栏,在style中添加"navigationStyle": "cus…...
Agile Scrum 敏捷开发方法
Agile Scrum 是一种敏捷开发方法,广泛用于软件开发以及其他项目管理领域。它强调迭代式的工作流程、团队协作、灵活应对变化和持续改进,旨在通过快速交付和反馈来最大化项目价值。Scrum 是 Agile(敏捷)方法中的一种具体实践框架&a…...

【算法与数据结构】—— 回文问题
回文问题 目录 1、简介2、经典的回文问题(1) 判断一个字符串是否为回文(2) 给定字符集求构建的最长回文长度(3) 求最长回文子串方法一:中心拓展方法二:Manacher 算法 (4) 求回文子串的数目方法一:中心拓展方法二:Manacher 算法 1、…...

用vscode写latex-1
一般大伙使用 LaTeX 大体有两种方案, 一种是在本地配置环境或使用本地的软件,如 vscode LaTeX,texlive,lyx 等等; 另一种是线上 LaTeX 平台,其中用的最多的是 Overleaf,还有一部分高校也有自…...

爬虫基础之爬取歌曲宝歌曲批量下载
声明:本案列仅供学习交流使用 任何用于非法用途均与本作者无关 需求分析: 网站:邓紫棋-mp3在线免费下载-歌曲宝-找歌就用歌曲宝-MP3音乐高品质在线免费下载 (gequbao.com) 爬取 歌曲名 歌曲 实现歌手名称下载所有歌曲 本案列所使用的模块 requests (发送…...

GitLab CI/CD使用runner实现自动化部署前端Vue2 后端.Net 7 Zr.Admin项目
1、查看gitlab版本 建议安装的runner版本和gitlab保持一致 2、查找runner 执行 yum list gitlab-runner --showduplicates | sort -r 找到符合gitlab版本的runner,我这里选择 14.9.1版本 如果执行出现找不到下载源,添加官方仓库 执行 curl -L &quo…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...