当前位置: 首页 > 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…...

web前端第五次作业---制作菜单

制作菜单 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style…...

软件系统安全逆向分析-混淆对抗

1. 概述 在一般的软件中&#xff0c;我们逆向分析时候通常都不能直接看到软件的明文源代码&#xff0c;或多或少存在着混淆对抗的操作。下面&#xff0c;我会实践操作一个例子从无从下手到攻破目标。 花指令对抗虚函数表RC4 2. 实战-donntyousee 题目载体为具有漏洞的小型软…...

HAMi + prometheus-k8s + grafana实现vgpu虚拟化监控

最近长沙跑了半个多月&#xff0c;跟甲方客户对了下项目指标&#xff0c;许久没更新 回来后继续研究如何实现 grafana实现HAMi vgpu虚拟化监控&#xff0c;毕竟合同里写了需要体现gpu资源限制和算力共享以及体现算力卡资源共享监控 先说下为啥要用HAMi吧&#xff0c; 一个重要原…...

Java基于SSM框架的在线视频教育系统小程序【附源码、文档】

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…...

mysql本地安装和pycharm链接数据库操作

MySQL本地安装和相关操作 Python相关&#xff1a;基础、函数、数据类型、面向、模块。 前端开发&#xff1a;HTML、CSS、JavaScript、jQuery。【静态页面】 Java前端&#xff1b; Python前端&#xff1b; Go前端 -> 【动态页面】直观&#xff1a; 静态&#xff0c;写死了…...

Unity编程与游戏开发-编程与游戏开发的关系

游戏开发是一个复杂的多领域合作过程,涵盖了从创意构思到最终实现的多个方面。在这个过程中,技术、设计与美术三大核心要素相互交织,缺一不可。在游戏开发的过程中,Unity作为一款强大的跨平台游戏引擎,凭借其高效的开发工具和庞大的社区支持,成为了很多游戏开发者的首选工…...

2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)

游泳竞技策略优化模型代码详解 第一题&#xff1a;速度优化模型 在这一部分&#xff0c;我们将详细解析如何通过数学建模来优化游泳运动员在不同距离比赛中的速度分配策略。 1. 模型概述 我们的模型主要包含三个核心文件&#xff1a; speed_optimization.py: 速度优化的核…...

针对服务器磁盘爆满,MySql数据库始终无法启动,怎么解决

&#xff08;点击即可进入聊天助手&#xff09; 很多站长在运营网站的过程当中都会遇到一个问题,就是网站突然无法打开,数据一直无法启动 无论是强制重启还是,删除网站内的所有应用,数据库一直无法启动 这个时候,就需要常见的运维手段了,需要对服务器后台各个资源,进行逐一排查…...

[Android]service命令的使用

在前面的讨论中,我们说到,如果在客户端懒得使用aidl文件生成的接口类进行binder,可以使用IBinder的transcat方法 Parcel dataParcel = Parcel.obtain(); Parcel resultParcel = Parcel.obtain();dataParcel.writeInterfaceToken(DESCRIPTOR);//发起请求 aProxyBinder.trans…...

【芯片封测学习专栏 -- Substrate | RDL Interposer | Si Interposer | 嵌入式硅桥(EMIB)详细介绍】

请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 OverviewSubstrate&#xff08;衬底或基板&#xff09;Substrate 定义Substrate 特点与作用Substrate 实例 RDL Interposer&#xff08;重布线层中介层&a…...

怎么做网站流量统计分析/seo优化快速排名

#include <boost/type_index.hpp> std::cout<<boost::typeindex::type_id_with_cvr<decltype(变量名)>().pretty_name()<<std::endl;...

北京软件研发公司/牛排seo系统

在網上搜了很多的關於表格排序的Js代碼&#xff0c;看起來相當晦澀&#xff0c;爲了以後便於查找&#xff0c;方便自己也方便大家。 1.对单列的表格排序&#xff1a; <html> <head> <title>Table Sort Example</title> <script type"…...

网页培训多少钱/seo排名工具有哪些

#一、描述 此课程记录一些脚本的生命周期。 #二、生命周期说明 一、继承于MonoBehaviour类的脚本是不能被实例化的&#xff0c;只有在系统需要的时候会实例化。 二、onStart和onUpdate都不是MonoBehaviour的方法&#xff0c;是通过反射调用的一些事件&#xff0c;由系统来决定他…...

网站建设的搜索栏怎么设置/网站制作策划书

在本篇文章里&#xff0c;我将详细介绍如果启动 Logstash 的监控及集中管理。 前提条件 如果你还没安装好自己的 Logstash&#xff0c;请参照文章 “如何安装 Elastic 栈中的 Logstash”。同时安装我之前的文章 “Elasticsearch&#xff1a;设置 Elastic 账户安全” 为我们的 …...

麒麟区住房和城乡建设局网站/站长工具是什么意思

两个线程并发执行以下代码&#xff0c;假设a是全局变量&#xff0c;初始为1&#xff0c;那么以下输出______是可能的&#xff1f;1234void foo(){aa1;printf("%d ",a);}3 2 2 3 3 3 2 2 正确答案: A B C D 你的答案: B C D (错误) 编译出来&#xff08;一般来讲&am…...

怎么做vip电影网站/西安网站建设哪家好

附件中是我根据原版zabbix-1.8.4的汉化&#xff0c;重新修改的。希望对初学者有所帮助。 &#xff08;1&#xff09;将zabbix网站下的include/locales目录下的汉化文件cn_zh.inc.php进行备份 &#xff08;2&#xff09;将附件中的文件解压后放到zabbix网站下的include/locales目…...