首页 > 其他分享 >Type-c接口及其协议介绍

Type-c接口及其协议介绍

时间:2024-07-17 20:44:53浏览次数:10  
标签:协议 角色 Vbus 接口 Source Sink Type

Type-c接口及其协议介绍

Type-c接口支持的功能

支持接口正反插;

定义Vbus的电流传输能力;

定义功率传输角色,即供电端及受电端;

定义数据传输角色,主机或从机;

支持PD协议,实现大功率充电;

支持USB2.0/3.2/4.0/雷电/Display Port协议,实现高速数据传输。

Type-c接口支持的协议

Type-c接口是一种接口规范而不是协议,通过该接口可以实现设备间的充电、高速传输及音视频传输等功能,目前该接口可以实现USB2.0/USB3.2/PD协议/雷电协议/Diaplay Port协议。

Type-c接口pin脚定义

母座端接口定义

插头端接口定义

Vbus:电源;

CC1/CC2:初始模式识别或用于pd通信;

DP/DM:USB2.0传输协议或Type-c耳机的左右声道信号;

TX/RX:USB3.2/4.0信号传输脚;

SBU1/SBU2:USB3.0的辅助传输脚或Type-c耳机MIC信号及参考地;

GND:电源地。

Type-c角色说明

Power Role

Type-c的Power Role分为2类,如下:

Source:供电端用来提供Vbus电源,且在CC上有个Rp上拉。

Sink:耗电端用来消耗Vbus电源,且在CC上有个Rd对地下拉。

Data Role

Type C的Data Role分为3类,如下:

DFP:全称Downstream Facing Port,数据角色类似主机,初始情况下提供Vbus及Vconn供电,即作为Source端。

UFP:全称Upstream Facing Port,数据角色类似从机,初始情况下消耗Vbus供电,即作为Sink端。

DRP:全称Dual Role Power,即可作为Source或Sink,同时也可作为DFP或UFP。如果初始为Source,那数据角色为DFP,反之如果初始为Sink,数据角色为UFP。

角色互联方式

Type C规范角色互连只规定如下几种方式:

Source 与 Sink的互连; DFP与UFP的互连;

DRP与DRP的互连,互连方式有2种,一种随机,一种手动模式。

USB设备连接步骤

一个USB设备连接主要有以下步骤:

检测并确定连接关系,包括Source与Sink的关系,DFP与UFP的关系,线缆方向;

获取Emarker线缆信息;

检测Source的输出能力,可以通过PD/BC1.2/Type C规范的3种电流能力这3种方法来确定Source输出能力;

建立USB枚举关系。

角色检测

Type-c接口的角色检测通过CC1/CC2来实现。

Source检测CC1与CC2不同转态下对应描述如下:

Single Rp:Attached.SNK;

Dual Rp:DebugAcessory.SNK;

Single Rd with optional Ra:Attached.SRC with optional Electronically Marked Cable(Emarker Cable);

Dual Rd:DebugAccessory.SRC;

Single Ra:eMarker Cable only;

Dual Ra:AudioAccessory;

Open:unattached。

角色不同状态下的行为

Source与Sink在不同状态下的行为:

标签:协议,角色,Vbus,接口,Source,Sink,Type
From: https://www.cnblogs.com/bujidao1128/p/18307221

相关文章

  • TS 入门(七):TypeScript模块与命名空间
    目录前言回顾泛型编程1.模块a.导入和导出b.默认导出c.重命名导入和导出2.命名空间a.定义命名空间b.嵌套命名空间3.动态导入与条件导入a.动态导入b.条件导入结语前言在前几章中,我们学习了TypeScript的基础知识、函数与对象类型、接口与类、以及泛型编......
  • whisper-api语音识别语音翻译高性能兼容openai接口协议的开源项目
    whisper-api介绍使用openai的开源项目winsper语音识别开源模型封装成openaichatgpt兼容接口软件架构使用uvicorn、fastapi、openai-whisper等开源库实现高性能接口更多介绍[https://blog.csdn.net/weixin_40986713/article/details/138712293](https://blog.csdn.net......
  • 在 PowerShell 中Get-WmiObject Win32_PhysicalMemory,SMBIOSMemoryType 是一种用于描
    在PowerShell中Get-WmiObjectWin32_PhysicalMemory,SMBIOSMemoryType是一种用于描述系统中物理内存类型的属性。数字26表示特定的内存类型,具体为DDR4内存。每种内存类型在SMBIOS(SystemManagementBIOS)规范中都有一个对应的数字码,用来标识不同类型的内存。以下是一些常见......
  • 【Linux网络】Linux网络协议栈常用代码片段
    1.读取网卡mac地址可以通过ioctl(sock,SIOCGIFHHWADDR,&ifr)读取mac地址,对任意类型的socket都适用,只需指定第三参数structifreqifr的ifr.ifr_name,这个ifr_name就是网络设备的名字,如eth0,eth1,lo等,在/proc/net/dev可找到,ioctl通过ifr_name获取设备信息。structifreqifr;strn......
  • 【Linux网络】Linux网络协议栈问题汇集
    Linux本机与本机socket通信会走网卡吗?1.127.0.0.1本机网络IO需要经过网卡吗?不需要经过网卡,即使把网卡拔了本机网络还是可以正常使用的。本机网络IO的内核执行流程:跨机网络IO的流程:2.数据包在内核中是什么走向,和外网发送相比流程上有什么区别?本机网络IO和跨机IO比较起......
  • laravel11: 给接口增加签名验证
    一,添加controller/中间件/路由1,添加中间件liuhongdi@lhdpc:/data/site/gsapi$phpartisanmake:middlewareApiSignINFOMiddleware[app/Http/Middleware/ApiSign.php]createdsuccessfully.2,添加路由:在routes/api.php文件中Route::controller(VirtualControlle......
  • 自动化接口测试用例简单描述
    1.比如创建任务,每次都需要一个name,而且不可重复,可以random随机生成name,作为前置脚本使用:"name":"${job_name}",//namenow_time=DateFormatUtils.format(newDate(),"yyyyMMdd_HHmmss_SSS");random_number=RandomUtils.nextInt(0,1000000);affix=now_time+&......
  • ICS_S7comm协议分析-2021工业互联网内部预选赛
    根据功能可以看出是设置密码拆分data数据,用前两个与0x55进行异或接着对剩下的数操作,操作为与自己距离为-2的数进行异或list=[0x26,0x62,0x10,0x42,0x37,0x7e,0x16,0x52]passwd=[]foriinrange(0,len(list)):ifi==0ori==1:passwd.append(chr(list[i]^0x55))......
  • 2024-07-17 vite打包vue项目,无法正确加载,报错:TypeError: Failed to resolve module sp
    我这会打算打个包扔到线上看看效果,结果线上报错:TypeError:Failedtoresolvemodulespecifier"vue".Relativereferencesmuststartwitheither"/","./",or"../".奇怪,之前还好好的,因为本地调试什么的都正常,甚至昨天都可以打包。我不信邪,遂新建vue项目,做一下测试,这......
  • WebAPI公开接口请求签名验证
    前言现在的系统后端开发的时候,会公开很多API接口对于要登录认证后才能访问的接口,这样的请求验证就由身份认证模块完成但是也有些接口是对外公开的,没有身份认证的接口我们怎么保证接口的请求是合法的,有效的.这样我们一般就是对请求的合法性做签名验证.实现原理为保证接......