E-Marker芯片,USB数据线的“性能中枢”?
liebian365 2025-03-30 18:18 16 浏览 0 评论
根据线缆行业的研究数据,在2019年搭载Type-C接口的设备出货量已达到20亿台,其中80%的笔记本电脑和台式电脑采用Type-C接口,50%的智能手机和平板电脑也使用Type-C接口。
我们都知道,USB Type-C接口天生就具备更高的数据传输、充电(基于USB PD 协议)和音频传输能力。但是由于不同线缆具有的功能有强弱之分,因此衍生出了许多具有不同规格的USB Type-C线缆。
以数据传输为例,USB Type-C可选USB2.0、USB3.0(USB3.1 Gen1,USB3.2 Gen1)、USB3.1 Gen2(USB3.2 Gen2)、USB3.2 Gen2×2(USB4 20)和USB4(雷电3/4)等多档速度标准,分别对应480Mbps、5Gbps、10Gbps、20Gbps和40Gbps。
以充电为例,USB Type-C线缆虽然都原生支持20V电压,但所支持的电流却存在3A和5A之别。
可以说,虽然Type-C接口在笔记本电脑、手机等移动设备上普及迅速,但也因此导致了它规格上的诸多乱象。直到2019年,USB协会为了更好地规范它们的功能,设定了一个全新的门槛,那就是E-Marker芯片。
E-Marker是Electronically Marked的缩写,是USB-IF协会用于最新USB连接器迭代Type-C的芯片。该芯片用于与连接的设备进行通信,以确保安全的数据和电力传输到源和接收器。E-Marker 提供的线缆特性,包括线缆长度、支持的最大电流和电压、USB信号类型、供应商和产品ID等等。所有支持5V或超过60W功率承载能力的 USB Type-C线缆都需要E-Marker。预计数据传输速率高于480 Mbps或高速USB 2.0的USB Type-C线缆也需要在连接器中嵌入E-Marker 芯片。有意思的是,超过480 Mbps的速率的通常都被归纳为USB 3.1领域,这也意味着USB-IF协会要求,除了极个别特例以外,几乎所有的USB 3.1线缆都需要配备E-Marker芯片。
那么E-Marker芯片为什么如此重要?它又能起到什么作用呢?在这之前我们先需要理解另外一个概念,那就是“枚举过程”。
每当USB设备连接到主机设备时,都会执行称为“枚举过程”的通信。它是主机和设备的“第一次接触” 。在枚举期间,主机设备通过描述符的传输相互通信,这些描述符通知主机已连接的设备类型、设备的电源要求以及如何传输数据。例如,当USB鼠标插入计算机时,在枚举过程中,该鼠标向计算机发送信息,告诉主机这是HID(人机界面设备),是总线供电的,是一个光学鼠标。然后计算机才能正确地与鼠标交互。所有这些通信对用户是不可见的,且都发生在几分之一秒内。
根据USB-IF协会的标准,如果用于为移动设备充电的线缆的电流等于或小于3A线,则使用3A线即可。而如果电源适配器的电流输出大于3A, 则需要使用嵌入E-Marker芯片的5A线传输电流。这是因为当连接USB Type-C设备时,也会发生枚举过程,就像上述提到的那样,但会稍微有些许不同。
比方说,MacBook Pro 16英寸的充电功率是96W ,也就是 20.5V/4.7A 。 如果插入带有E-Marker的 3A线 ,充电器将仅输出20V/3A的最大电流,因为它不识别E- Marker 芯片协议。而如果在使用最大60W的Apple 96W充电器时,数据线中没有E-Marker芯片,则充电器可能按照源设备和接受设备的要求,输出96W(20V/ 4.35A)的功率。那PD的传输协议就会出现错误,线缆本身只有3A的负载能力,却将96W的功率危险地输出到MacBook Pro上,其结果可能导致电线烧毁甚至设备损坏。
因此,在枚举过程之前,必须进行电力传输协商,包括源、接收器和线缆。而这一切能实现的基础就是源于线缆连接器内部的微芯片,即E-Marker芯片。凭借着E-Marker,线缆才能够告诉源和接收设备它能够做什么,然后源和接收设备进行相应的调整,最终完成合适的传输。
总的来说,E-Marker芯片是所有USB Type-C线缆的“性能中枢”,只有通过它的,才能确保连接的设备在安全可靠的水平上运行。
相关推荐
- VIM配置整理(vim配置教程)
-
一、基本配色setnumbersetshowcmdsetincsearchsetexpandtabsetshowcmdsethistory=400setautoreadse...
- Vim 进阶指南:如何让你的手速更上一层楼?
-
背景Vim是一款流行的、高效的、全屏幕的文本编辑器,它被广泛用于开发、编译、校对和其他与文本相关的工作。Vim具有强大的功能,如自动完成、跳转、高亮和重复等等,使得用户能够更快速、更高效地进行文本...
- vi和vim上查找字符串(vi 查找字符串)
-
以samba的配置文件为例,搜索一个user的字符串。vim/etc/samba/smb.conf打开smb.conf命令模式下,输入/user/要搜索的字符串或者字符按下回车之后,可以看到vim已...
- Vim查找与替换命令大全,功能完爆IDE!
-
Vi/Vim可以说是文本编辑中的一代传奇人物,直至现在,它仍然在高级程序员的武器库中占有一席之地。每个Linux发行版默认都包含Vim,而且即使你不是Linux系统用户,你也可以安装Vi...
- 我的VIM配置(vim的配置文件在哪)
-
写一篇关于VIM配置的文章,记录下自己的VIM配置,力求简洁实用。VIM的配置保存在文件~/.vimrc中(Windows下是C:\Users\yourname\_vimrc)。VIM除了自身可配置...
- vim 从嫌弃到依赖(21)——跨文件搜索
-
之前介绍了vim中的搜索模式,使用正则表达式可以很方便地在一个文件中进行搜索。后续也介绍了如何使用argsdo命令在参数列表中进行替换操作。但是到目前为止还没有介绍如何在工程目录中进行搜索,而这个...
- Linux Vim文本编辑器(vim文本编辑器的使用)
-
在使用Linux操作系统的过程中,经常需要对文本文件进行操作,如新建、编辑等,常用的方法有以下几种:1、使用第三方SFTP的工具,连接服务器上传下载文件进行创建修改2、在图形界面的Linu...
- x-cmd pkg | nvim - 命令行文本编辑器,Vim 的一个现代化分支
-
简介Neovim(简称nvim)是用C语言开发的文本编辑器,是Vim的一个现代化分支,更专注于提升可扩展性和提供更现代的用户体验。它是基于Vim源代码的一个衍生版本,不是一个从头开始重写...
- vim技巧:设置空格和Tab字符可见,并自定义显示的字符颜色
-
使用Windows下的一些IDE(例如SourceInsight)查看代码时,可以设置空格和Tab字符可见。本篇文章介绍在vim中如何进行这个设置,并自定义显示的字符颜色。具体包括下面的...
- 谁说 Vim 不好用?送你一个五彩斑斓的编辑器!
-
相信大家在使用各种各样强大的IDE写代码时都会注意到,代码中各种类型的关键字会用独特的颜色标记出来,然后形成一套语法高亮规则。这样不仅美观,而且方便代码的阅读。而在上古神器Vim中,我们通常看...
- 技巧:如何在 Vim 中显示行号?(vim编辑文件如何显示行号)
-
Vim是Linux中一款功能强大的文本编辑器,广泛用于代码编写和文件编辑。对于使用人员来说,Vim的行号功能可以大大简化代码审查和编辑过程。本文将详细介绍如何在Vim中启用行号显示,帮助提高文本编辑的...
- 有了vim命令为何还存在view命令(vim为什么强大)
-
于Linux系统之中,纵使Vim已然是一个性能卓越、功能强劲的文本编辑器,然而view命令依旧存于其中,并且和Vim构建起了相辅相成的互补态势。功能定位1.vim(全功能编辑器):支持...
- 精品博文嵌入式6410中蓝牙的使用
-
BluetoothUSB适配器拥有一个BluetoothCSR芯片组,并使用USB传输器来传输HCI数据分组。因此,LinuxUSB层、BlueZUSB传输器驱动程序以及B...
- win10跟这台计算机连接的前一个usb设备工作不正常怎么办?
-
前几天小编闲来无事就跑到网站底下查看粉丝朋友给小编我留言询问的问题,还真的就给小编看到一个问题,那就是win10跟这台计算机连接的一个usb设备运行不正常怎么办,其实这个问题的解决方法时十分简单的,接...
- 制作成本上千元的键盘,厉害在哪?
-
这是稚晖君亲自写的开源资料!下方超长超详细教程预警!!全文导航:项目简介、项目原理说明、硬件说明、软件说明项目简介瀚文智能键盘是一把我为自己设计的——多功能、模块化机械键盘。键盘使用模块化设计。左侧的...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- wireshark怎么抓包 (75)
- qt sleep (64)
- cs1.6指令代码大全 (55)
- factory-method (60)
- sqlite3_bind_blob (52)
- hibernate update (63)
- c++ base64 (70)
- nc 命令 (52)
- wm_close (51)
- epollin (51)
- sqlca.sqlcode (57)
- lua ipairs (60)
- tv_usec (64)
- 命令行进入文件夹 (53)
- postgresql array (57)
- statfs函数 (57)
- .project文件 (54)
- lua require (56)
- for_each (67)
- c#工厂模式 (57)
- wxsqlite3 (66)
- dmesg -c (58)
- fopen参数 (53)
- tar -zxvf -c (55)
- 速递查询 (52)