一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

USB基礎(chǔ)學(xué)習(xí):USB體系結(jié)構(gòu)介紹

漫談嵌入式 ? 來(lái)源:漫談嵌入式 ? 2023-05-06 09:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

1. USB 硬件框架

一個(gè) USB 系統(tǒng) 由三部分來(lái)描述:

USB interconnect

USB devices

USB host

USB interconnect 是指USB 設(shè)備連接到主機(jī)并與主機(jī)通信的方式。這包括以下內(nèi)容:

總線拓?fù)洌篣SB device 和 host 之間的連接模型。

層間關(guān)系:

數(shù)據(jù)流模型:

USB 調(diào)度:

1.1. 總線拓?fù)?/p>

在USB 系統(tǒng)中有兩個(gè)硬件的概念:

USB host:它跟處理器相連,處理器通過(guò)USB Host跟各類(lèi)USB設(shè)備通信。USB Host中集成有一個(gè)root hub

USB device:這類(lèi)設(shè)備又分為兩類(lèi)

Hub:用來(lái)擴(kuò)展USB接口

Function:就是普通的USB設(shè)備,比如U盤(pán)、聲卡等

USB 總線拓?fù)淙缦拢?/p>

roothub:根hub(根集線器)

hub:集線器

func:功能設(shè)備

Compound Device:組合設(shè)備,包含一個(gè)hub 和 一個(gè)或多個(gè)func

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

USB 總線拓?fù)渥钌蠈右欢ㄊ莌ost, 最后一級(jí)只能是func, 因此hub 級(jí)聯(lián)最多5級(jí);

1.2. USB host

在任何USB 系統(tǒng)中只有一個(gè)主機(jī),主機(jī)的每個(gè)USB控制器(Host Controller)對(duì)應(yīng)一條USB總線。與主機(jī)計(jì)算機(jī)系統(tǒng)相連的USB接口被稱(chēng)為主機(jī)控制器。

主機(jī)控制器可以以硬件,固件或軟件的組合來(lái)實(shí)現(xiàn)。

根集線器(root hub)集成在主機(jī)系統(tǒng)內(nèi)以提供一個(gè)或多個(gè)連接點(diǎn)。

USB Host通過(guò) Host Controller 與 USB device 交互。

Host主要負(fù)責(zé):

檢測(cè)USB 設(shè)備的拔插動(dòng)作

管理Host和Device之間的控制流、數(shù)據(jù)流

收集USB 總線狀態(tài)和活動(dòng)數(shù)據(jù)信息

為連入U(xiǎn)SB總線的設(shè)備供電

1.3. USB device

USB device 分為 USB hub 和 USB Function。

USB hub (集線器):

root hub:一般與主機(jī)控制器連接在一起,提供一個(gè)或者多個(gè)端口。

普通hub:用于擴(kuò)展USB 的主機(jī)端口。

結(jié)構(gòu)上由一個(gè)上行端口和多個(gè)下行端口組成。

支持級(jí)聯(lián):最多5級(jí),不包含root hub。

支持速率轉(zhuǎn)換:低速/全速設(shè)備,可連接在高速hub 上。

USB function 設(shè)備:

Composite Device:復(fù)合設(shè)備。一個(gè)設(shè)備地址,1個(gè) 或者 多個(gè)function 接口組成

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

比如:鍵盤(pán),鼠標(biāo),攝像頭等。

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

1.4. USB 數(shù)據(jù)流

USB主機(jī)和USB設(shè)備之間的通信是通過(guò)管道(Pipe)進(jìn)行的。

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

在USB協(xié)議中,管道是一個(gè)邏輯概念,

在USB主機(jī)端實(shí)際上就是一組緩沖區(qū),用于管道中數(shù)據(jù)的收發(fā)。

在USB設(shè)備端,管道對(duì)應(yīng)一個(gè)特定的端點(diǎn),每一個(gè)端點(diǎn)都是一個(gè)由索引和方向確定的,USB設(shè)備最多支持16個(gè)雙向端點(diǎn)(8個(gè)in/8個(gè)out)。

USB設(shè)備地址、端點(diǎn)索引和端點(diǎn)方向的組合可以唯一確定USB主機(jī)和USB設(shè)備間的通信。

2. USB 軟件框架

2.1. USB 數(shù)據(jù)流模型

USB 簡(jiǎn)化傳輸模型如下圖所示,實(shí)際上要比這個(gè)復(fù)雜的多。主要包含以下部分:

USB 物理設(shè)備:USB電纜終端的一塊硬件,執(zhí)行一些有用的終端用戶(hù)功能。

客戶(hù)端軟件:在主機(jī)上執(zhí)行的軟件,對(duì)應(yīng)于一個(gè)USB設(shè)備。此客戶(hù)端軟件通常與操作系統(tǒng)一起提供,或與USB設(shè)備一起提供。

USB 系統(tǒng)軟件:在一個(gè)特定的操作系統(tǒng)中支持USB的軟件。USB系統(tǒng)軟件通常與操作系統(tǒng)一起提供,獨(dú)立于特定的USB設(shè)備或客戶(hù)端軟件。

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

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

2.2. USB 軟件模型

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

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

USB host:

客戶(hù)端軟件

USB 系統(tǒng)軟件:USB 驅(qū)動(dòng),HOST controller 驅(qū)動(dòng) 和 host 軟件

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

USB device:


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

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

為了幫助主機(jī)識(shí)別和配置USB設(shè)備,每個(gè)設(shè)備都會(huì)攜帶和報(bào)告與配置相關(guān)的信息。所報(bào)告的一些信息在所有邏輯設(shè)備中都是常見(jiàn)的。其他信息是特定于該設(shè)備提供的功能的。此信息的詳細(xì)類(lèi)型根據(jù)設(shè)備的設(shè)備類(lèi)別而有所不同。

詳細(xì)軟件模型

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

抽象為熟悉的軟件模型

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

對(duì)于一個(gè) usb 設(shè)備驅(qū)動(dòng),大多時(shí)候我們其實(shí)只需要關(guān)心function driver,不同的設(shè)備向上只有function 或者接口區(qū)分,對(duì)于底層而言都是一樣的,最終通過(guò)SIE (串行總線)和主機(jī)通信。

3. 總結(jié)

本文主要介紹了,USB 系統(tǒng)的體系結(jié)構(gòu)。一個(gè)USB 系統(tǒng)包含核心的三部分:

USB interconnect:通過(guò)PIPE 互聯(lián)傳輸

USB Host:USB 主機(jī)

USB Device:USB 設(shè)備和集線器

并簡(jiǎn)要闡述其軟件模型。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17106

    瀏覽量

    184276
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8185

    瀏覽量

    272889
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6206

    瀏覽量

    137816
  • 集線器
    +關(guān)注

    關(guān)注

    0

    文章

    402

    瀏覽量

    40205
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2959

    瀏覽量

    89754

原文標(biāo)題:USB 基礎(chǔ)學(xué)習(xí):USB 體系結(jié)構(gòu)介紹

文章出處:【微信號(hào):漫談嵌入式,微信公眾號(hào):漫談嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ARM SoC體系結(jié)構(gòu)

    介紹ARM 的片上系統(tǒng)體系結(jié)構(gòu)
    發(fā)表于 03-31 23:03

    PSoC 5體系結(jié)構(gòu)中是否存在時(shí)鐘鎖定?

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

    USB驅(qū)動(dòng)程序框架介紹

    《ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)詳解》第25章USB驅(qū)動(dòng)開(kāi)發(fā),本章講解了Linux內(nèi)核USB驅(qū)動(dòng)體系結(jié)構(gòu)、USB設(shè)備驅(qū)動(dòng)結(jié)構(gòu)等知識(shí),并在最后
    發(fā)表于 07-11 07:38

    了解體系結(jié)構(gòu) - 介紹 Arm 體系結(jié)構(gòu)

    。該體系結(jié)構(gòu)為軟件開(kāi)發(fā)人員公開(kāi)了一個(gè)通用的指令集和工作流程,也稱(chēng)為程序員模型。這有助于確保架構(gòu)的不同實(shí)現(xiàn)之間的互操作性,以便軟件可以在不同的 Arm 設(shè)備上運(yùn)行。本指南為任何對(duì)此感興趣的人介紹了 Arm
    發(fā)表于 08-01 14:35

    Armv9-A體系結(jié)構(gòu)參考手冊(cè)

    本增補(bǔ)件是Armv9-A體系結(jié)構(gòu)的Arm?體系結(jié)構(gòu)參考手冊(cè)增補(bǔ)件輪廓本書(shū)介紹了Armv9-A體系結(jié)構(gòu)擴(kuò)展,因此必須與Arm?體系結(jié)構(gòu)參考手冊(cè)
    發(fā)表于 08-08 07:07

    Arm的DRTM體系結(jié)構(gòu)規(guī)范

    的原理和術(shù)語(yǔ),但也包含了顯著的差異。 本規(guī)范的結(jié)構(gòu)如下: ?第2節(jié),DRTM體系結(jié)構(gòu)概述,概述了DRTM,并介紹了該體系結(jié)構(gòu)如何將DRTM映射到基于Arm的系統(tǒng)。本節(jié)
    發(fā)表于 08-08 07:45

    《IP交換技術(shù)協(xié)議與體系結(jié)構(gòu)

    《IP交換技術(shù)協(xié)議與體系結(jié)構(gòu)》 這資料還是不錯(cuò)的,可供參考學(xué)習(xí)哦!
    發(fā)表于 03-24 22:27 ?49次下載

    USB體系結(jié)構(gòu)概述

    USB體系結(jié)構(gòu)概述     本章主要內(nèi)容是關(guān)于USB的概述和一些關(guān)鍵的概念。USB是一種電纜總線,支持在主機(jī)和各式各樣的即插即
    發(fā)表于 04-15 20:43 ?2069次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>體系結(jié)構(gòu)</b>概述

    LTE體系結(jié)構(gòu)

    LTE體系結(jié)構(gòu) LTE體系結(jié)構(gòu)可以借助SAE 體系結(jié)構(gòu)來(lái)做詳細(xì)描述。在SAE 體系結(jié)構(gòu)中,RNC部分功能、GGSN、SGSN 節(jié)點(diǎn)將被融合為一個(gè)新的節(jié)點(diǎn),
    發(fā)表于 06-16 13:09 ?1w次閱讀

    網(wǎng)絡(luò)體系結(jié)構(gòu),什么是網(wǎng)絡(luò)體系結(jié)構(gòu)

    網(wǎng)絡(luò)體系結(jié)構(gòu),什么是網(wǎng)絡(luò)體系結(jié)構(gòu) 通過(guò)通信信道和設(shè)備互連起來(lái)的多個(gè)不同地理位置的計(jì)算機(jī)系統(tǒng),要使其能協(xié)同工作實(shí)現(xiàn)信息交換和資源共享
    發(fā)表于 04-06 16:30 ?1907次閱讀

    ARM體系結(jié)構(gòu)與程序設(shè)計(jì)

    《ARM體系結(jié)構(gòu)與程序設(shè)計(jì)》是ARM體系結(jié)構(gòu)與程序設(shè)計(jì)的一本實(shí)用指導(dǎo)書(shū)籍,通過(guò)案例詳細(xì)介紹了ARM體系結(jié)構(gòu)與程序設(shè)計(jì),案例中的程序都取自實(shí)際的項(xiàng)目,且對(duì)程序有詳細(xì)注解。
    發(fā)表于 10-27 16:37 ?2465次閱讀

    USB設(shè)備驅(qū)動(dòng)開(kāi)發(fā)

    首先對(duì)USB總線及USB驅(qū)動(dòng)的體系結(jié)構(gòu)進(jìn)行介紹,然后分成主機(jī)端和設(shè)備端來(lái)詳細(xì)介紹。
    發(fā)表于 11-15 14:41 ?209次下載
    <b class='flag-5'>USB</b>設(shè)備驅(qū)動(dòng)開(kāi)發(fā)

    ARM7體系結(jié)構(gòu)

    ARM7體系結(jié)構(gòu)的詳細(xì)介紹
    發(fā)表于 05-03 09:21 ?29次下載

    米爾科技ARM體系結(jié)構(gòu)與編程介紹

    《ARM體系結(jié)構(gòu)與編程》分14章對(duì)ARM處理器的體系結(jié)構(gòu)、指令系統(tǒng)和開(kāi)發(fā)工具作了比較全面的介紹。
    的頭像 發(fā)表于 11-25 09:18 ?2355次閱讀
    米爾科技ARM<b class='flag-5'>體系結(jié)構(gòu)</b>與編程<b class='flag-5'>介紹</b>

    汽車(chē)EE體系結(jié)構(gòu)中的功能域介紹

    汽車(chē)EE體系結(jié)構(gòu)中的功能域介紹
    發(fā)表于 11-15 11:37 ?652次閱讀