Type-C那么多引脚是做什么用的?

news2024/11/24 7:02:05

一提到Type-C大家想到的肯定就是下面这个扁头接口。

如果大家仔细透过缝看里面的话,可以看到上下两排都有密密麻麻的引脚(手机比较差拍不出来就不上图了)。

虽然我们用Type-C口的时候我们不需要识别正反面(这也是我喜欢Type-C的原因,可以随便插),但是里面的上下引脚有可能是不对称的,按理说既然可以正反插,那起码上下引脚要一致吧。

那么接下来我们就来了解一下Type-C里对应位置的引脚都是什么功能吧。

不过在此之前,我们得先知道Type-C的全名是 USB Type-C,没错,它实际上也算属于USB。

一提到USB,我们想到的就是下面这个,它的全名叫USB Type-A。

可以看得出这个USB口里只有四个引脚,那么这个USB用的就是USB2.0协议。

从左到右的引脚功能依次是GND,D+,D-,VCC,传输速率最高可达480MBit/s(理论上)。

其中D+和D-就是数据传输线,这是差分信号线,当D+电压大于D-时表示传输的是‘1’,反之是‘0’,这样比用单根线来传输数据更具抗干扰性,因为就算受了干扰,而D+和D-是挨一块的,要干扰一起干扰,所以二者的差值几乎没什么改变,所以我们画PCB遇到类似的差分信号线的时候就需要让这两根线挨一起。

如果USB里除了四个引脚之外,在四个引脚上方又加了五个引脚,那么用的就是USB3.0协议了。

留下的四个引脚用于兼容USB2.0,新增的五个引脚中包含了一个GND,以及两组差分信号线,一组专门用来收数据(RX+,RX-),另一组用来发数据(TX+,TX-),这样就可以实现全双工了,传输速率最高可达10Gbit/s(理论上)。

接下来就是本文的主角Type-C了,它更是个重量级,足足有24个引脚(最多)。

可以看出它的引脚是沿中心对称分布的,这也就是Type-C可以正反插的原因。

其中GND和VBUS是电源线,VBUS就是Voltage Bus,也就是USB的电源正极。

D+和D-是为了兼容USB2.0,TX+TX-RX+RX-是为了兼容USB3.0。

并且因为它的传输数据的引脚更多,所以传输数据也更快,最高可达80Gbit/s(理论上)。

刨去这些见过的引脚,剩下的是SBU和CC。

SBU属于附加功能引脚,可以用来音频或是视频信号。

CC的功能不少,其中一个是用来识别Type-C的插入方向,正是因为可以检测正插还是反插,我们才可以随便插。

那么这是怎么做到的呢?

一般情况下我们设备端(被充电或是接收数据的一方)会在CC引脚接个5.1k的下拉电阻,而主机端则是上拉电阻。

当Type-C插头插入接口时,CC1和CC2引脚中的一个会与设备端的CC引脚连接,而另一个则保持断开状态。主机端通过检测CC1和CC2引脚上的电压变化来判断插头的插入方向。

如果CC1引脚检测到电压变化(即与设备端的CC引脚连接),则表明插头以正方向插入。

如果CC2引脚检测到电压变化,则表明插头以反方向插入。

此外CC还可以用来协商供电协议(这就是为什么手机厂商的快充需要使用自家配套的充电头和线了),通过主机端的CC引脚的上拉电阻。

现在我们就知道了USB Type-C多引脚是用来做什么的了,不过实际上我们的Type-C不会有这么多的引脚,就算是全功能的Type-C也基本上会少俩引脚,就像下面这样。

原因很简单,D+和D-属于USB2.0协议的,而USB2.0只有一对差分信号线,咱Type-C整出两对是完全没必要的。

既然D+和D-能砍,那么其他引脚未必就不能砍,如果我不需要很快的传输速率,那么TX2和RX2是不是就能砍掉。如我只需要充电,那么是不是只需要留下电源引脚就行。这也就是为什么有些Type-C的线无法传输数据,可能是它压根就没有数据传输引脚,也可能是数据传输引脚的协议对不上。

现在我们就知道为什么Type-C内部硬件看起来“坑坑洼洼”的原因了,因为多余功能被砍掉了。

除了Type-C的公头能砍功能,母头也可以砍。

我挑了俩,类似这种是我们比较常用的。

其中DP就是D+,DN就是D-。

CC1和CC2我们分别接上5.1k的下拉电阻,用不到的引脚(SBU)我们可以直接取消连接。

VBUS一般就是可以看成5V供电。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2194342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java语言的充电桩平台+云快充协议+充电桩管理后台+充电桩小程序

软件架构 1、提供云快充底层桩直连协议,版本为云快充1.5,对于没有对接过充电桩系统的开发者尤为合适; 2、包含:启动充电、结束充电、充电中实时数据获取、报文解析、Netty通讯框架、包解析工具、调试器模拟器软件等;…

电脑提示d3dcompiler_47.dll缺失怎么修复,仔细介绍dll的解决方法

1. d3dcompiler_47.dll 概述 1.1 定义与作用 d3dcompiler_47.dll 是 Microsoft DirectX 的一个关键组件,作为一个动态链接库(DLL)文件,它在 Windows 操作系统中扮演着至关重要的角色。DirectX 是一套由微软开发的用于处理多媒体…

Flutter渲染过程

The rendering process is what transforms your widget tree into the actual pixels that are displayed on the screen. It’s like the magic behind the scenes that brings your app’s UI to life! 呈现过程将小部件树转换为显示在屏幕上的实际像素。它就像幕后的魔法&…

代码随想录算法训练营第二十六天|669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 思路: 首先…

JavaScript 获取浏览器本地数据的4种方式

JavaScript 获取浏览器本地数据的方式 我们在做Web开发中,客户端存储机制对于在浏览器中持久化数据至关重要。这些机制允许开发者存储用户偏好设置、应用状态以及其他关键信息,从而增强用户体验。本文将介绍几种常用的JavaScript获取浏览器本地数据的方…

【无人机设计与控制】基于蜣螂优化算法的无人机三维路径规划Matlab程序

摘要 使用蜣螂优化算法(Dung Beetle Optimization, DBO),本文提出了一种无人机三维路径规划方法。该算法借鉴蜣螂导航行为,结合无人机避障需求,在复杂三维环境中生成最优路径。实验结果表明,基于DBO的路径…

Redis主从复制(replica)、哨兵

一、Redis主从复制介绍: 主从复制,master主机以写为主,slave从机以读为主,当主机数据变化的时候自动将新的数据异步同步到其他从机数据库;能够实现读写分离, 容灾恢复、 数据备份以及水平扩容支撑高并发 二、实现方法…

在ubuntu好部署jenkins发布vue项目时遇到的一些问题及解决方法以及使用jenkins发布vue项目-npm自动打包发布的实现

一、在ubuntu好部署jenkins发布vue项目时遇到的一些问题及解决方法 1. 问题:webpack-dev-server不是内部或外部命令,也不是可运行的程序 解决:使用webpack要安装webpack-cli这个包,才可以调用webpack和webpack-dev-server这些命…

C++——模拟实现stack和queue

1.传统模拟方式 namespace jxy {template<class T>class stack{//...private:T* _a;size_t _size;size_t _capacity;}; } 2.适配器方式模拟 namespace jxy {template<class T,class Container>class stack{public:void push(const T& x){_con.push_back(x);…

No.6 笔记 | Linux操作系统基础:全面概览与核心要点

1. 简介与历史 1.1 起源 创始人&#xff1a;Linus Torvalds&#xff08;芬兰赫尔辛基大学学生&#xff09;初衷&#xff1a;设计一个替代Minix的全功能Unix操作系统首次发布&#xff1a;1991年10月5日&#xff0c;Linux v0.01版本 2. Linux特点 多用户多任务&#xff1a;用…

【Python】PDFMiner.six:高效处理PDF文档的Python工具

PDF是一种广泛使用的文件格式&#xff0c;特别适用于呈现固定布局的文档。然而&#xff0c;提取PDF文件中的文本和信息并不总是那么简单。幸好有许多Python库可以帮助我们&#xff0c;其中&#xff0c;PDFMiner.six 是一个功能强大、专门用于PDF文档解析的库。 ⭕️宇宙起点 &a…

计算机毕业设计 基于Python的老年人健康预警系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

数据仓库拉链表

数仓拉链表是数据仓库中常用的一种数据结构&#xff0c;用于记录维度表中某个属性的历史变化情况。在实际应用中&#xff0c;数仓拉链表可以帮助企业更好地进行数据分析和决策。 数仓拉链表&#xff08;Slowly Changing Dimension, SCD&#xff09;是一种用于处理维表中数据变化…

Linux驱动开发——新字符设备驱动开发

文章目录 1 概述2 新字符设备驱动原理2.1 分配和释放设备号2.2 新字符设备注册方法 3 自动创建设备节点3.1 mdev机制3.2 创建和删除类3.3 创建设备 4 设置文件私有数据5 实验程序编写 系列文章&#xff1a; Linux驱动开发——字符设备驱动开发 Linux驱动开发——LED驱动开发 1 …

24最新从零开始教你玩转ComfyUI-保姆级部署教程-手把手带你ComfyUI工作流搭建!

前言 第一节&#xff1a;认识ComfyUI并安装 本教程专为初学者设计&#xff0c;详细介绍了 2024 年最新版的SD ComfyUI的使用方法。通过逐步指导&#xff0c;让你无需任何基础&#xff0c;快速学会并使用这一强大的AI绘图工具。 1、什么是comfyui ComfyUI就像拥有一支神奇魔…

如何定位前后端Bug?

问题&#xff1a; 假设你在某购物网站上&#xff0c;购买了两件商品&#xff0c;一件打折的&#xff0c;一件不打折的&#xff0c;当你下完订单并且成功支付之后&#xff0c;再去我的订单中查看订单内容时&#xff0c;发现两件商品只显示出来一件&#xff0c;打折的商品并没有显…

最强AI绘画大模型Flux可以在SDWebUI 上使用了!超便捷的Flux模型使用教程!AI绘画零基础入门到实战教程

大家好&#xff0c;我是画画的小强 目前最强的AI绘画大模型Flux.1 横空出世有段时间了&#xff0c;模型效果也得到了广泛的认可&#xff0c;但是 Stable Diffusion WebUI 官方迟迟没有跟进&#xff0c;据说是因为要修改很多底层的处理机制&#xff0c;加之ComfyUI如火如荼&…

基于Springboot的宠物咖啡馆平台的设计与实现(源码+定制+参考)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

高颜值自适应博客主题Puock WordPress主题

一款基于WordPress开发的高颜值的自适应主题&#xff0c;支持白天与黑夜模式。 安装&#xff1a; 请到 发行版本 中进行下载最新版本&#xff0c;然后到WordPress管理后台中的「外观」-「主题」中点击「添加」&#xff0c;选择Puock的主题包进行上传安装并启用即可。 提示&am…

【JVM】深入解析 Java 虚拟机:内存区域、类加载与垃圾回收机制

我的主页&#xff1a;2的n次方_ 1. JVM 内存区域划分 程序计数器&#xff08;空间比较小&#xff09;。保存了下一条要执行的指令的地址&#xff08;指向元数据区指令的地址&#xff09;堆。JVM 最大的空间&#xff0c;new 出来的对象都在堆上栈。函数中的局部变量&#x…