0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从系统标准层面梳理USB标准之架构

Q4MP_gh_c472c21 来源:嵌入式客栈 作者:逸珺 2021-09-24 14:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

[导读] 大家好,我是逸珺。

前面写了一些SPI/I2C/RS-485之类的文章,有朋友留言希望能分享一些USB方面的梳理总结,今天就从系统标准层面先来梳理一下。看看有没有朋友喜欢。先从系统层面来梳理。个人学习,习惯于先从整体上摸个大概,然后再对感兴趣的细节逐渐深入。

USB是比较复杂的协议栈,如果发现文章中有错误,请帮忙指正。

注:本文主要参考USB2.0规范第4章,将标准中个人认为比较重要的一些点尽量条理清晰的总结出来。我感觉很多朋友可能对于阅读英文标准有点轻度抗拒,所以整理此文这也是一个起因,希望对朋友们有所帮助。

总线拓扑说到总线拓扑,这张图大家一定都见过:

USB标准上说USB总线拓扑是一种分层星形结构,这张拓扑图延申出来的一些要点:

所谓星型是针对Hub而言的,一个Hub下面可以挂Hub或者设备,最顶层就是USB主机控制器

USB主机控制器一般都伴随有一个根集线器Root Hub。

Hub级联最多5层

总线上理论最大允许连接127个设备。

Hub级联遵循向下兼容,USB2.0主机或者高速Hub可以连接USB1.1Hub。

一个USB分层星型结构有且仅有一个USB主机控制器

线缆最长不超过5米

这个最大7层星形结构,代表的是一条USB总线,一个USB分层星型结构有且仅有一个USB主机控制器,但并不是说一台计算机就只有一个USB总线,比如我的计算机内部就是2个USB主控制器+Root Hub,从Windows设备管理器可以看到:

7层拓扑图中的第2层只画了一个Hub,并不意味真正的第2层就只能有一个Hub,但这个图无法显示出更为详细的总线连接关系,用USBTrace软件来看看:

第1条总线有4个端口,第2条总线的根集线器具有18个端口,其中8、9、10为计算机内部的USB设备占用了。我这台笔记本对外有两个USB接口,通过分别将U盘插入这两个端口,再利用USBTrace探测可以推断出这两个端口都属于第2条总线的Port 3以及Port 4:

那么Hub长什么样呢?比如下面是一个7口的USB Hub示意图,来源于USB2.0标准:

物理接口电气概览USB 通过四线电缆传输信号电源。信令发生在每个点对点网段上的两条线上。

VBUS/GND:供电

D+/D-:USB差分信号线。

具有三种数据速率:

高速模式 high-speed:480 Mb/s,常缩写为HS模式

全速模式 full-speed:12 Mb/s,常缩写为FS模式

低速模式 low-speed:1.5 Mb/s,常缩写为LS模式

至于数据编码模式,这里先不管它。

机械概览机械部分主要定义USB采用什么尺寸的接插件,线缆的颜色定义、线号。线缆的抗拉强度等。主要从以下几个方面去标准化:

主要连接器类型规范,主要分A、B系列。定义了公头、母头。

线缆规范。高速/全速电缆由信号双绞线、VBUS、GND 和整体屏蔽组成。当高速/全速电缆与低速设备一起使用时,电缆必须满足所有低速设备要求。低速设备可以不使用双绞线。双绞线可有效抵抗共模噪声。

连接器机械尺寸及材料要求。

连接器脚号信号名线芯颜色

1VBUS红色

2D-白色

3D+绿色

4GND黑色

外壳屏蔽屏蔽层

A/B系列插座规范

A/B系列插头规范

电缆尺寸材料规范,这里就不罗列了,知道在哪里查就可以了。

电气、机械和环境合规性标准

接地规范,屏蔽层一定要焊接在插头的外壳接地点。

插座PCB尺寸规范。所以对于有绘制接插件需要的,可以参考6.9节的尺寸。

Logo位置

线芯颜色规范。

USB Logo尺寸规范。

协议概述USB采用主从通讯模式,是一种轮询总线。所有数据传输都由主机控制器发起。这是USB标准中最难啃的部分,这里先不总结。

健壮设计标准关于协议健壮性,又称鲁棒性,做了这几个方面的设计:

从信号完整性角度:使用差分驱动器、差分接收器和以及对信号线缆的屏蔽处理。差分收发策略主要在抵抗共模干扰方面效果显著,而屏蔽层则有两方面的作用:其一,有效降低USB线通过无线电波对外界干扰;其二、能有效隔断外界无线干扰对USB信号线、电源线的干扰。

CRC报文校验。报文中数据如果出错,可以检测出来,可以做相应的处置。

热插拔检测及对相应硬件设备的系统配置管理。这个设计有助于提升用户体验,用户随用随插,而无需关机插拔。

利用对数据丢失或数据损坏超时检测实现通讯自恢复机制,以增强协议的健壮性。

对流数据的进行流量控制以确保同步以及底层收发硬件缓冲区管理。

数据管道和控制管道分离

配置管理USB支持热插拔,所谓热插拔就是,设备插入,系统需要正确识别设备加载驱动程序,断开后,系统需要从软件层面识别到设备已经从总线上移除了。这里所谓的系统,有可能是带操作系统的计算机,也有可能是不带操作系统的嵌入式设备。

比如下面这个U盘插入移除的过程:

连接检测所有的USB设备都必须经过集线器上的USB端口连接到总线。从总线拓扑图可以看出,总线上有一个主控制器,位于金字塔的顶端。上面动图中也可以看出,即便是计算机内部USB设备也是经由Hub的端口连接到总线的,现在的计算机内部很多设备也会采用USB总线进行互联,比如内置的蓝牙设备。

主机控制器位于顶端,设备是经过集线器的端口连接到总线,那么主控制器怎么知道设备插入呢?这是由于集线器具有用于报告USB设备在其端口之一上的连接或移除的状态位。主控制器查询集线器检索这些状态位。在设备插入时,主控制器启用端口并通过设备的控制管道在默认地址对USB设备进行寻址。主机为设备分配一个唯一的USB地址,然后确定新连接的USB设备是集线器还是功能设备。主机使用分配的USB地址和端点编号0为USB设备建立其控制管道的端点。

如果新连接的USB设备是集线器,如果这个新连接的集线器的端口上有USB 设备,则对每个连接的USB设备执行上述识别操作。

如果连接的USB设备是一个功能设备,则连接通知将由适用于该功能的主机软件处理。如果是基于通用操作系统的计算机系统,则由一般驱动程序处理,如果主机控制器是单片机类嵌入式设备,则由单片机程序负责处理。

断开检测同样移除时,从标准设计角度来看,也需要考虑两种情况。

如果是设备从集线器移除,集线器会禁用该端口并向主机提供设备移除的指示。然后主机控制器从软件层面做相应的移除处理。

如果是集线器移除,需要从软件层面移除该集线器所有端口的USB设备或级联集线器,当然如果集线器又连集线器,则有点递归的意思。

总线枚举总线枚举是主控制器识别连接到总线的设备并为该设备分配唯一地址的活动。由于USB允许USB设备随时连接到USB总线或从USB总线断开,因此总线枚举是 USB系统软件的持续进行的过程。USB总线枚举还包括移除的检测和处理。

传输模式USB利用单向或双向管道在USB主机控制器和USB设备之间进行应用数据和功能数据传输。管道Pipe是一个底层软件及硬件逻辑概念,数据就像水一样从管道中的一侧流向另一侧,就对应着主机控制器与设备的两个端点endpoint。endpoint就像管道的两头,也是软件逻辑概念。将主机与设备侧的端点逻辑关联起来,就是所谓的管道了。当然这管道之所以能传输数据,是因为主端、设备端两侧相应的代码配合芯片内部硬件实现的。

数据流经由一侧的端点通过逻辑管道传输到另一侧端点,USB架构包含四种基本类型的数据传输:

控制传输

批量传输

中断传输

同步传输

下表是这四类传输在不同速度模式下支持的最大包长度,放在这里有一个整体概念:

速度模式低速全速高速

控制传输88/16/32/6464

同步传输不支持10231024

中断传输0~80~640~1024

批量传输不支持8/16/32/64512

控制传输控制传输,主要用于在设备首次连接时配置设备;并可用于其他设备自定义的传输目的,比如控制设备上的其他管道。

USB系统软件在设备首次连接时使用控制传输进行设备配置。其他驱动程序软件也可以选择以自定义方式使用控制传输。控制传输主要使用管道0,数据传输是无损的。

每个USB设备都必须有控制端点,支持控制传输来进行命令和状态的传输。此外,控制传输是双向传输。

批量传输批量传输Bulk Transfer就像其名字一样,数据量相对较大,具有突发性。这种突发性可能来源于用户对USB设备的操作,比如对U盘的读写操作就会触发批量传输。批量传输这种突发性也就意味着是非周期性的,一般用于没有实时性要求、数据量比较大设备。比如用于打印机或扫描仪的数据。批量传输数据是连续的。通过在硬件中使用错误检测并采用前面所说的错误重传机制,可以在硬件级别确保可靠的数据交换。此外,大量数据占用的带宽可能会有所不同,具体取决于其他总线活动,这是由主机控制器动态仲裁管理的。

批量传输是单向的,使用单向大容量端点来实现。

中断传输一般用于需要实时可靠的传输场景。此类数据可随时由设备传输,并以不低于设备指定的速率进行传输。中断数据通常由一个或多个字节的事件通知、字符或坐标组成。比如USB鼠标就是一个采用中断传输的实例。

同步传输占用预先约定好的USB带宽以及传输延迟,也称为流式实时传输。所需要的带宽以及延迟要求,与特定设备的相关数据吞吐率以及端点的缓冲管理有关,比如用于音频会议USB耳麦,对于音频的采样率是有参数要求的。

带宽分配USB标准定义了如何允许每种传输类型访问总线的规则。带宽分配主要在从两个方面进行规定:

带宽在管道之间分配。当管道建立时,USB会为一些管道分配带宽。USB底层软硬件需要提供数据缓冲,带宽需求大的场景需要提供更大的缓冲区。

带宽可以在许多不同的数据流之间分配。从而能实现将各种设备连接到USB总线。此外,可以同时支持具有宽动态范围的不同设备比特率需求。所谓宽动态范围是指其带宽需求是随着使用场景在动态变化的。

好了,先总结这么多,继续慢慢啃~。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17879

    浏览量

    195159
  • usb
    usb
    +关注

    关注

    60

    文章

    8476

    浏览量

    285885
  • 信号
    +关注

    关注

    12

    文章

    2931

    浏览量

    80412

原文标题:USB标准之架构最强梳理!

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高质量RAG系统的五个核心设计要点

    检索增强生成(Retrieval-Augmented Generation, RAG)已成为构建大模型应用的标准架构。然而,大多数RAG系统在设计初期会因为忽略核心设计原则而在实际部署中暴露严重问题。本文
    的头像 发表于 04-24 14:42 128次阅读

    如何确保微电网标准架构设计流程的完整性?

    当前,微电网建设普遍存在设计流程碎片化、环节衔接不畅、标准执行不到位、成果追溯缺失等问题,导致架构设计与实际需求脱节、工程落地困难、运维成本偏高,甚至影响系统长期稳定运行。GB/T
    的头像 发表于 04-24 11:19 59次阅读
    如何确保微电网<b class='flag-5'>标准</b>化<b class='flag-5'>架构</b>设计流程的完整性?

    功能安全法规标准(转向和制动最新强规)解读:合规要求到测试验证

    验证提出了明确要求。本文基于ISO26262功能安全标准框架,系统梳理上述法规的核心条款与测试要求,探讨标准在实车测试中的具体落地方式,为功能安全验证工作提供技术参
    的头像 发表于 04-15 10:05 331次阅读
    功能安全法规<b class='flag-5'>标准</b>(转向和制动最新强规)解读:<b class='flag-5'>从</b>合规要求到测试验证

    Hynetek HUSB332:USB Type - C电缆eMarker芯片的理想

    Hynetek HUSB332:USB Type - C电缆eMarker芯片的理想选 在当今电子设备飞速发展的时代,USB Type - C接口凭借其强大的功能和便捷性,已经成为了众多设备的
    的头像 发表于 03-27 18:05 971次阅读

    慧能泰HUSB332B:USB Type - C eMarker芯片的卓越

    慧能泰HUSB332B:USB Type - C eMarker芯片的卓越选 在电子设计领域,USB Type - C接口的应用日益广泛,与相关的eMarker芯片也成为了设计中的
    的头像 发表于 03-27 13:45 186次阅读

    慧能泰HUSB332D:USB Type - C eMarker芯片的卓越

    慧能泰HUSB332D:USB Type - C eMarker芯片的卓越选 在电子设备飞速发展的今天,USB Type - C接口凭借其强大的功能和广泛的应用,成为了电子工程师设计中的热门选择
    的头像 发表于 03-27 12:10 230次阅读

    HUSB332E-CXXXX:USB Type-C eMarker芯片的卓越

    HUSB332E-CXXXX:USB Type-C eMarker芯片的卓越选 在电子设备飞速发展的今天,USB Type-C接口凭借其强大的功能和便捷性,成为了众多设备的标配。而Hynetek
    的头像 发表于 03-27 11:20 368次阅读

    电动汽车无线充电系统标准

    电动汽车无线充电标准体系构建,推动技术迭代与产业应用,实现从无到有、局部到全面的标准化发展。
    的头像 发表于 01-15 08:25 575次阅读
    电动汽车无线充电<b class='flag-5'>系统</b><b class='flag-5'>标准</b>

    虹科分享 | 为什么MPDO成为电梯通信的关键技术?CiA417标准说起

    随着电梯行业不断向智能化和标准化迈进,设备之间的高效互联能力正成为新一代电梯系统竞争力的决定性因素。在众多通信技术中,CANopenLift(CiA417)正在逐步成为主流标准,而其内部依赖的重要
    的头像 发表于 01-14 17:02 814次阅读
    虹科分享 | 为什么MPDO成为电梯通信的关键技术?<b class='flag-5'>从</b>CiA417<b class='flag-5'>标准</b>说起

    IEC 62368-3 标准-混乱到精准的演进逻辑​

    一、标准迭代:混乱到精准的演进逻辑​ 2017 年 IEC TC 108 发布的 IEC 62368-3 标准,因混合传统通信线路与 USB 等新技术的安全要求,长期存在适用范围模糊
    的头像 发表于 12-23 09:10 564次阅读

    “四可”标准体系解析:国标与电网接入规范的合规性指南

    “质量合规”的转型。国家层面的技术标准到地方电网的接入细则,“四可”已从推荐性要求升级为刚性门槛。本文将系统解析“四可”标准体系的核心内涵
    的头像 发表于 12-08 14:59 2097次阅读
    “四可”<b class='flag-5'>标准</b>体系解析:国标与电网接入规范的合规性指南

    标准更新频率对电能质量在线监测装置的生产和应用有哪些影响?

    维度展开分析: 一、生产端:技术迭代与成本重构 1. 研发周期与设计复杂度提升 硬件架构迭代:新标准(如 DL/T 1228-2025)要求监测装置支持每 12 个月固件升级,并通过系统标定精度验证,这迫使企业采用模块化设计以降
    的头像 发表于 09-03 16:41 920次阅读
    <b class='flag-5'>标准</b>更新频率对电能质量在线监测装置的生产和应用有哪些影响?

    嵌入式接口通识知识USB接口

    可以在计算机运行时插入或拔出设备,而不会影响系统的正常操作,这种特性大大增强了设备的易用性和可移植性。1.2 类型USB接口有多种版本和类型,包括标准USB、Micro-
    发表于 08-21 16:56

    步入式高低温试验室支持哪些测试标准?一次性梳理清楚

    。   本篇将围绕步入式高低温试验室常涉及的国家标准、行业标准及国际标准进行系统整理,助你标准
    的头像 发表于 07-12 15:11 1795次阅读
    步入式高低温试验室支持哪些测试<b class='flag-5'>标准</b>?一次性<b class='flag-5'>梳理</b>清楚

    光伏电站无人机巡检系统平台的设计架构

    电站中不同的运维管理需求。 根据光伏电站的运维管理工作内容,光伏电站无人机巡检系统平台多个层面建设系统平台架构,能够全方位、智能化的实现电
    的头像 发表于 05-07 11:23 1039次阅读
    光伏电站无人机巡检<b class='flag-5'>系统</b>平台的设计<b class='flag-5'>架构</b>