当前位置: 首页 > news >正文

【硬件介绍】Type-C接口详解

一、Type-C接口概述

  1. Type-C接口特点:以其独特的扁头设计和无需区分正反两面的便捷性而广受欢迎。这种设计大大提高了用户的使用体验,避免了传统USB接口需要多次尝试才能正确插入的问题。
  2. Type-C接口内部结构:内部上下两排引脚的设计虽然可能不对称,但这种布局巧妙地实现了接口的正反插功能,使得Type-C接口在物理连接上更为灵活和耐用。

在USB Type-C的生态系统中,DFP(Downstream Facing Port)和UFP(Upstream Facing Port)是两个重要的角色,它们定义了设备在USB Type-C连接中的供电和数据传输方向。

1、DFP(Downstream Facing Port)

  1. 定义:DFP是指供电方向朝向另一设备的USB端口,通常是一个电源提供者。
  2. 功能
    • 提供电源:DFP可以提供电源给连接的设备,如充电器、电脑的USB端口等。
    • 数据传输:DFP可以发送和接收数据,但通常在供电角色中,它更多的是作为数据的主导者。
  3. 例子
    • 壁式充电器
    • 电脑的USB Type-C端口
    • USB Type-C扩展坞的供电端口

2、UFP(Upstream Facing Port)

  1. 定义:UFP是指供电方向从另一设备接收电源的USB端口,通常是一个电源消费者。
  2. 功能
    • 接收电源:UFP从DFP接收电源,用于给自身设备充电或供电。
    • 数据传输:UFP也可以发送和接收数据,但通常在接收电源的角色中,它更多的是作为数据的从属者。
  3. 例子
    • 智能手机
    • 平板电脑
    • 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的关系

  1. Type-C全名:USB Type-C,是USB(通用串行总线)接口标准的一部分,继承并扩展了USB技术的诸多特性。
  2. 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.1USB 2.0 设备或电缆(默认)
10.1USB 3.1 或更高版本的设备或电缆
56下行端口(DFP,例如,充电器或电脑的USB端口)
22.7上行端口(UFP,例如,智能手机或平板电脑)
44.2双角色端口(DRP,即可以作为供电端或接收端)
75被动电缆(不支持数据传输,仅供电)
0 (开路)不确定角色,通常用于检测电缆的插入方向

四、Type-C接口种类

根据不同场景需求,Type-C有着各种版本与删减版本。

完整的Type-C是24个引脚,但由于其成本相对较高、工艺困难,因此Type-C还有各种减配版。

Type-C母座常见种类及实物图
直插(立式)弯插贴片沉板

2脚

4脚
6脚
12脚(16脚)
24脚(完整)
Type-C常见引脚定义对照表
引脚定义

2脚

  1. GND (地)(B12): 两个地引脚,用于电路的参考点。
  2. VBUS (电源)(A9): 两个电源引脚,用于传输直流电源。
4脚
  1. GND (地)(A12、B12): 通常有两个地引脚,用于电路的参考点。
  2. VBUS (电源)(A9、B9): 通常有两个电源引脚,用于传输直流电源。
6脚
  1. GND (地)(A12、B12): 通常有两个地引脚,用于电路的参考点。
  2. VBUS (电源)(A9、B9): 通常有两个电源引脚,用于传输直流电源。
  3. CC (A5、B5): 通信通道引脚,用于电缆插入方向检测、电源角色分配和配置管理。
12脚(16脚)
  1. GND (地)(A1、B1、A12、B12): 通常有两个地引脚,用于电路的参考点。
  2. VBUS (电源)(A9、B9、A4、B4): 通常有两个电源引脚,用于传输直流电源。
  3. CC (A5、B5): 通信通道引脚,用于电缆插入方向检测、电源角色分配和配置管理。
  4. DP(Data Positive)(A6、B6):用于传输差分信号的正部分。

  5. DN(Data Negative)(A7、B7):用于传输差分信号的负部分。
  6. SBUS(Serial Bus)(A8、B8):用于传输附加功能信号,如音频或视频信号
24脚(完整)
  1. GND (Ground)(A1、B1、A12、B12):接地引脚,用于电路的参考点。Type-C接口有多个GND引脚。

  2. TX1+(A2) 和 TX1-(A3):这是第一对差分信号线,用于传输高速数据。

  3. TX2+(B2) 和 TX2-(B3):这是第二对差分信号线,也用于传输高速数据。

  4. VBUS (Voltage Bus)(A4、B4、A9、B9):供电引脚,提供电源给连接的设备。在主机设备上,VBUS提供电源;在设备上,VBUS接收电源。

  5. CC (Configuration Channel)(A5、B5):配置通道引脚,用于检测电缆插入方向、设备角色(主机或设备)、以及电缆类型(例如,是否支持USB 3.1或更高版本)。

  6. SBUS (Serial Bus)(A8、B8):侧带使用引脚,用于辅助信号,可能用于特殊功能或附件模式。

  7. RX1+(B11) 和 RX1-(B10):这是第一对差分信号线,用于接收高速数据。

  8. RX2+(A11) 和 RX2-(A10):这是第二对差分信号线,也用于接收高速数据。

五、Type-C接口的硬件简化实例

  1. Type-C接口的硬件设计可能会根据用途的不同而有所简化,这体现在引脚数量的减少和功能的裁剪上。
  2. 公头和母头的简化设计:
    • DP和DN分别代表D+和D-,用于数据传输。
    • CC1和CC2通过接入5.1k下拉电阻来识别插入方向。
    • VBUS通常作为5V供电使用,而SBU等非必需引脚可以根据需要进行省略。
  3. 这种硬件简化不仅有助于降低生产成本,还能使接口更加紧凑,适应更多样化的设备设计需求。

相关文章:

【硬件介绍】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 是插值动画中&#xff0c;用于组件边框半径的类&#xff0c;专门作用于组件边框和半径动化过度。 这个类继承自Tween&#xff0c;用法相似。 下面是示例写法 class BorderRadiusTweenPage extends StatefulWidget {overrideState<StatefulWidget> c…...

VSCode 中的 launch.json 配置使用

VSCode 中的 launch.json 配置使用 在 VSCode 中&#xff0c;launch.json 文件用于配置调试设置&#xff0c;特别是用来定义如何启动和调试你的应用。它允许你配置不同的调试模式、运行参数和调试选项。 基本结构 launch.json 文件位于 .vscode 文件夹内&#xff0c;可以通过…...

深度学习张量的秩、轴和形状

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

Redis有哪些常用应用场景?

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

vue3+ts+element-plus 输入框el-input设置背景颜色

普通情况&#xff1a; 组件内容&#xff1a; <el-input v-model"applyBasicInfo.outerApplyId"/> 样式设置&#xff1a; ::v-deep .el-input__wrapper {background-color: pink; }// 也可以这样设置 ::v-deep(.el-input__wrapper) {background-color: pink…...

Ubuntu 磁盘修复

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

使用RSyslog将Nginx Access Log写入Kafka

个人博客地址&#xff1a;使用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文件中添加如下规则&#xff0c;来拒绝除了指定文件类型之外的所有请求 <FilesMatch "\.(?!(jpg|jpeg|png|gif|css|js|ico)$)[^.]$">Order Allow,DenyDeny from all </FilesMatch> 上述配置表示仅允许访问.jpg …...

uniapp小程序中隐藏顶部导航栏和指定某页面去掉顶部导航栏小程序

uniappvue3开发小程序过程中隐藏顶部导航栏和指定某页面去掉顶部导航栏方法 在page.json中 "globalStyle": {"navigationStyle":"custom",}, 如果是指定某个页面关闭顶部导航栏&#xff0c;在style中添加"navigationStyle": "cus…...

Agile Scrum 敏捷开发方法

Agile Scrum 是一种敏捷开发方法&#xff0c;广泛用于软件开发以及其他项目管理领域。它强调迭代式的工作流程、团队协作、灵活应对变化和持续改进&#xff0c;旨在通过快速交付和反馈来最大化项目价值。Scrum 是 Agile&#xff08;敏捷&#xff09;方法中的一种具体实践框架&a…...

【算法与数据结构】—— 回文问题

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

用vscode写latex-1

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

爬虫基础之爬取歌曲宝歌曲批量下载

声明&#xff1a;本案列仅供学习交流使用 任何用于非法用途均与本作者无关 需求分析: 网站:邓紫棋-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&#xff0c;我这里选择 14.9.1版本 如果执行出现找不到下载源&#xff0c;添加官方仓库 执行 curl -L &quo…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...