衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

USB基礎學習:USB體系結構介紹

漫談嵌入式 ? 來源:漫談嵌入式 ? 2023-05-06 09:48 ? 次閱讀

停更好久,重新梳理一下usb 知識體系

1. USB 硬件框架

一個 USB 系統 由三部分來描述:

USB interconnect

USB devices

USB host

USB interconnect 是指USB 設備連接到主機并與主機通信的方式。這包括以下內容:

總線拓撲:USB device 和 host 之間的連接模型。

層間關系:

數據流模型:

USB 調度:

1.1. 總線拓撲

在USB 系統中有兩個硬件的概念:

USB host:它跟處理器相連,處理器通過USB Host跟各類USB設備通信。USB Host中集成有一個root hub

USB device:這類設備又分為兩類

Hub:用來擴展USB接口

Function:就是普通的USB設備,比如U盤、聲卡等

USB 總線拓撲如下:

roothub:根hub(根集線器)

hub:集線器

func:功能設備

Compound Device:組合設備,包含一個hub 和 一個或多個func

7c57145c-eb54-11ed-90ce-dac502259ad0.png

USB 總線拓撲最上層一定是host, 最后一級只能是func, 因此hub 級聯最多5級;

1.2. USB host

在任何USB 系統中只有一個主機,主機的每個USB控制器(Host Controller)對應一條USB總線。與主機計算機系統相連的USB接口被稱為主機控制器。

主機控制器可以以硬件,固件或軟件的組合來實現。

根集線器(root hub)集成在主機系統內以提供一個或多個連接點。

USB Host通過 Host Controller 與 USB device 交互。

Host主要負責:

檢測USB 設備的拔插動作

管理Host和Device之間的控制流、數據流

收集USB 總線狀態和活動數據信息

為連入USB總線的設備供電

1.3. USB device

USB device 分為 USB hub 和 USB Function。

USB hub (集線器):

root hub:一般與主機控制器連接在一起,提供一個或者多個端口

普通hub:用于擴展USB 的主機端口。

結構上由一個上行端口和多個下行端口組成。

支持級聯:最多5級,不包含root hub。

支持速率轉換:低速/全速設備,可連接在高速hub 上。

USB function 設備:

Composite Device:復合設備。一個設備地址,1個 或者 多個function 接口組成

Compound Device:組合設備。多個設備地址,一個hub 和 一個或者多個func 組成。

比如:鍵盤,鼠標,攝像頭等。

7c73c80e-eb54-11ed-90ce-dac502259ad0.png

1.4. USB 數據流

USB主機和USB設備之間的通信是通過管道(Pipe)進行的。

7c892802-eb54-11ed-90ce-dac502259ad0.png

在USB協議中,管道是一個邏輯概念,

在USB主機端實際上就是一組緩沖區,用于管道中數據的收發。

在USB設備端,管道對應一個特定的端點,每一個端點都是一個由索引和方向確定的,USB設備最多支持16個雙向端點(8個in/8個out)。

USB設備地址、端點索引和端點方向的組合可以唯一確定USB主機和USB設備間的通信。

2. USB 軟件框架

2.1. USB 數據流模型

USB 簡化傳輸模型如下圖所示,實際上要比這個復雜的多。主要包含以下部分:

USB 物理設備:USB電纜終端的一塊硬件,執行一些有用的終端用戶功能。

客戶端軟件:在主機上執行的軟件,對應于一個USB設備。此客戶端軟件通常與操作系統一起提供,或與USB設備一起提供。

USB 系統軟件:在一個特定的操作系統中支持USB的軟件。USB系統軟件通常與操作系統一起提供,獨立于特定的USB設備或客戶端軟件。

USB Host Controller (Host Side Bus Interface):允許將USB設備連接到主機上的硬件和軟件。

7caeffb4-eb54-11ed-90ce-dac502259ad0.png

2.2. USB 軟件模型

7cc977ae-eb54-11ed-90ce-dac502259ad0.png

實際的通信數據流:usb host control 和 USB 總線接口。虛擬的通信方式:主機端客戶端軟件和 物理設備fucntion 直接通信。

USB host:

客戶端軟件

USB 系統軟件:USB 驅動,HOST controller 驅動 和 host 軟件

7ce9bdac-eb54-11ed-90ce-dac502259ad0.png

USB device:


7cfadf60-eb54-11ed-90ce-dac502259ad0.png

USB物理設備為主機提供了額外的功能。USB設備提供的功能類型差別很大。但是,所有的USB邏輯設備都為主機提供相同的基本接口。這允許主機以相同的方式管理不同USB設備。

為了幫助主機識別和配置USB設備,每個設備都會攜帶和報告與配置相關的信息。所報告的一些信息在所有邏輯設備中都是常見的。其他信息是特定于該設備提供的功能的。此信息的詳細類型根據設備的設備類別而有所不同。

詳細軟件模型

7d0b7802-eb54-11ed-90ce-dac502259ad0.png

抽象為熟悉的軟件模型

7d1fa4e4-eb54-11ed-90ce-dac502259ad0.png

對于一個 usb 設備驅動,大多時候我們其實只需要關心function driver,不同的設備向上只有function 或者接口區分,對于底層而言都是一樣的,最終通過SIE (串行總線)和主機通信。

3. 總結

本文主要介紹了,USB 系統的體系結構。一個USB 系統包含核心的三部分:

USB interconnect:通過PIPE 互聯傳輸

USB Host:USB 主機

USB Device:USB 設備和集線器

并簡要闡述其軟件模型。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16445

    瀏覽量

    179449
  • usb
    usb
    +關注

    關注

    60

    文章

    7980

    瀏覽量

    266085
  • 通信
    +關注

    關注

    18

    文章

    6070

    瀏覽量

    136425
  • 集線器
    +關注

    關注

    0

    文章

    389

    瀏覽量

    39602
  • 總線
    +關注

    關注

    10

    文章

    2903

    瀏覽量

    88392

原文標題:USB 基礎學習:USB 體系結構介紹

文章出處:【微信號:漫談嵌入式,微信公眾號:漫談嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM SoC體系結構

    介紹ARM 的片上系統體系結構
    發表于 03-31 23:03

    PSoC 5體系結構中是否存在時鐘鎖定?

    寄存器TRM提到USB時鐘鎖定,但沒有指定UBSYLID位的位置。PSoC 5體系結構中是否存在時鐘鎖定?這在架構TRM中沒有提到,但那并不是第一個遺漏。-) 以上來自于百度翻譯 以下為原文
    發表于 05-16 11:25

    USB驅動程序框架介紹

    《ARM嵌入式Linux系統開發詳解》第25章USB驅動開發,本章講解了Linux內核USB驅動體系結構USB設備驅動結構等知識,并在最后
    發表于 07-11 07:38

    了解體系結構 - 介紹 Arm 體系結構

    。該體系結構為軟件開發人員公開了一個通用的指令集和工作流程,也稱為程序員模型。這有助于確保架構的不同實現之間的互操作性,以便軟件可以在不同的 Arm 設備上運行。本指南為任何對此感興趣的人介紹了 Arm
    發表于 08-01 14:35

    Armv9-A體系結構參考手冊

    本增補件是Armv9-A體系結構的Arm?體系結構參考手冊增補件輪廓本書介紹了Armv9-A體系結構擴展,因此必須與Arm?體系結構參考手冊
    發表于 08-08 07:07

    Arm的DRTM體系結構規范

    的原理和術語,但也包含了顯著的差異。 本規范的結構如下: ?第2節,DRTM體系結構概述,概述了DRTM,并介紹了該體系結構如何將DRTM映射到基于Arm的系統。本節
    發表于 08-08 07:45

    《IP交換技術協議與體系結構

    《IP交換技術協議與體系結構》 這資料還是不錯的,可供參考學習哦!
    發表于 03-24 22:27 ?49次下載

    USB體系結構概述

    USB體系結構概述     本章主要內容是關于USB的概述和一些關鍵的概念。USB是一種電纜總線,支持在主機和各式各樣的即插即
    發表于 04-15 20:43 ?1963次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>體系結構</b>概述

    LTE體系結構

    LTE體系結構 LTE體系結構可以借助SAE 體系結構來做詳細描述。在SAE 體系結構中,RNC部分功能、GGSN、SGSN 節點將被融合為一個新的節點,
    發表于 06-16 13:09 ?9873次閱讀

    網絡體系結構,什么是網絡體系結構

    網絡體系結構,什么是網絡體系結構 通過通信信道和設備互連起來的多個不同地理位置的計算機系統,要使其能協同工作實現信息交換和資源共享
    發表于 04-06 16:30 ?1725次閱讀

    ARM體系結構與程序設計

    《ARM體系結構與程序設計》是ARM體系結構與程序設計的一本實用指導書籍,通過案例詳細介紹了ARM體系結構與程序設計,案例中的程序都取自實際的項目,且對程序有詳細注解。
    發表于 10-27 16:37 ?2378次閱讀

    USB設備驅動開發

    首先對USB總線及USB驅動的體系結構進行介紹,然后分成主機端和設備端來詳細介紹
    發表于 11-15 14:41 ?209次下載
    <b class='flag-5'>USB</b>設備驅動開發

    ARM7體系結構

    ARM7體系結構的詳細介紹
    發表于 05-03 09:21 ?29次下載

    米爾科技ARM體系結構與編程介紹

    《ARM體系結構與編程》分14章對ARM處理器的體系結構、指令系統和開發工具作了比較全面的介紹
    的頭像 發表于 11-25 09:18 ?2088次閱讀
    米爾科技ARM<b class='flag-5'>體系結構</b>與編程<b class='flag-5'>介紹</b>

    汽車EE體系結構中的功能域介紹

    汽車EE體系結構中的功能域介紹
    發表于 11-15 11:37 ?475次閱讀
    德州扑克论坛| 百家乐官网和21点| 金宝博娱乐城返水| 威尼斯人娱乐网站| 太阳城百家乐公司| 澳门顶级赌场官网| 威尼斯人娱乐网网址| 百家乐大娱乐场开户注册| 肯博百家乐现金网| CEO百家乐官网娱乐城| 百家乐官网吹| 百家乐官网的代理办法| 宁陵县| 阿瓦提县| 长武县| 澳门百家乐官网加盟| 百家乐官网网娱乐城| 百家乐官网几点开奖| 百家乐官网是否有路子| 百家乐官网下对子的概率| 百家乐官网连输的时候| 博九百家乐官网娱乐城| 加州百家乐官网娱乐城| 百家乐官网二代皇冠博彩| 百家乐官网真人娱乐场| 百家乐官网免费破解外挂| 百家乐官网真人秀| 百家乐官网学院| 百家乐官网槛| 风水罗盘24山| 2024九紫离火| 百家乐在线投注顺势法| 百家乐全透明牌靴| 任我赢百家乐软件中国有限公司| 网络百家乐电脑| 威尼斯人娱乐场下载| 大发888娱乐免费试玩| kk娱乐城送彩金| 临城县| 百家乐官网布| 永利高百家乐会员|