日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

USB 之概述

發(fā)布時(shí)間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 USB 之概述 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來(lái)源:公眾號(hào)【魚鷹談單片機(jī)】

作者:魚鷹Osprey

ID ??:emOsprey

本篇筆記將大概介紹 USB的情況,了解 USB 的一些基本知識(shí)。

USB接口

首先看一看 USB 的接口,當(dāng)你看到這些接口時(shí),你應(yīng)該知道,哦,那是 USB 接口。

不然學(xué)完了USB,USB 接口都不認(rèn)識(shí)那就很尷尬了。

看到這些接口是不是很熟悉?

常用的接口有 Type A 接口,這個(gè)接口一般直接插在電腦上的,Type B 接口比較少見,目前比較常見的是 Mini-B、Micro-B接口,前者在 MP3 之類的設(shè)備中比較常見,當(dāng)然在我們工程師中的調(diào)試器中也經(jīng)常使用,后者多用于手機(jī)等設(shè)備,不過(guò)目前大部分手機(jī)接口用 Type-C接口代替了:

(圖片來(lái)源于網(wǎng)絡(luò))

這種接口可以正反插,并且能提供比其它接口更大的電流,速度更快,所以今天可以看到越來(lái)越多的設(shè)備開始支持 Type-C了。

我們可以看看這些接口內(nèi)部的引腳分布情況(不包含 Type-C 接口,這個(gè)接口引腳很多):

第四引腳在某些接口中可能沒(méi)有,其他引腳都是存在的。

Vbus 和 GND 兩個(gè)硬件用于供電,提供恒定的 4.4 ~5.25 V電源(當(dāng) USB 為設(shè)備提供 5.25 V 電源時(shí),數(shù)據(jù)線工作在 3.3 V),當(dāng)設(shè)備使用總線供電時(shí),將由這兩根引腳提供所需電源,當(dāng)然總線提供的電流比較有限,所以如果說(shuō)總線不足以提供足夠的電源,那么就需要使用外部供電。

D-、D+兩個(gè)引腳用于數(shù)據(jù)傳輸,類似串口的Tx、Rx數(shù)據(jù)線,不同的是,USB采用差分方式傳輸,使用雙絞線,并且在線上傳輸?shù)臄?shù)據(jù)編碼遠(yuǎn)比串口的復(fù)雜,這個(gè)將在下節(jié)介紹。

這里需要注意一下線的顏色,一般的廠家生產(chǎn)USB數(shù)據(jù)線時(shí)會(huì)按照標(biāo)準(zhǔn)來(lái)生產(chǎn),但是有些廠家卻不一定,紅色不一定是電源,黑色不一定就是地,使用的時(shí)候需要注意確認(rèn)。

標(biāo)準(zhǔn)的USB數(shù)據(jù)線外部一般會(huì)有屏蔽線包裹,防止外部干擾,但是有些廠家偷工減料,可能并沒(méi)有屏蔽線,甚至連D-、D+數(shù)據(jù)線都沒(méi)有,只提供電源線。

(圖片來(lái)源于網(wǎng)絡(luò),外層白色包裹為屏蔽線)

因?yàn)椴捎貌罘謧鬏?#xff0c;并且只有兩個(gè)引腳,所以總線為半雙工傳輸,即同一時(shí)刻只能發(fā)送或接收。同時(shí) USB 采用一主多從模式,即USB網(wǎng)絡(luò)中只有一個(gè)主機(jī),其他都是從機(jī),也就是設(shè)備。

USB 歷史版本

USB經(jīng)過(guò)多年的發(fā)展,經(jīng)歷了多個(gè)版本,初始版本 1.0,于1996年完成,支持低速(LS)模式(1.5Mb/s)和全速(FS)模式(12Mb/s)。

USB1.1規(guī)范于 1998 年面世,改進(jìn)了 1.0,但速度上沒(méi)有改變。

USB2.0 在2000 年問(wèn)世,增加了新的速度模式,即高速(HS)模式,最高支持 480 Mb/s。

USB3.0在2008年發(fā)布,傳輸速率 5Gb/s。

這些版本保持向后兼容的特性,即USB3.0的主機(jī)接口可以接入 USB 1.0、2.0 的設(shè)備,但是受到設(shè)備本身的速度影響,所以最終的速度由低版本速度決定。

通過(guò)數(shù)據(jù)(D+或D-)線上的上拉電阻的位置,主機(jī)可以識(shí)別低速設(shè)備和全速設(shè)備,而高速設(shè)備會(huì)在之后移除上拉電阻。

在 STM32F103 中,支持 USB 2.0接口 ,但是只支持全速模式下的2.0,即最大速度只有 12 Mb/s,換算到字節(jié)的話,只有 1.5 MB/s,除去USB本身的協(xié)議開銷的話(類似串口中的起始位、結(jié)束位開銷,但USB比這個(gè)復(fù)雜的多),最大有效數(shù)據(jù)帶寬差不多在1.2 MB/s(我們接下來(lái)要學(xué)習(xí)的就是全速模式)。

所以不要認(rèn)為 USB2.0 的接口一定支持高速模式。

在 STM32F4 中,USB開始支持高速模式,并且支持 OTG,這個(gè)模式使得USB 設(shè)備既可以當(dāng)做主機(jī)也可以當(dāng)設(shè)備使用。

現(xiàn)在的手機(jī)一般都支持 OTG,即通過(guò)一根轉(zhuǎn)接線,即可將U盤之類的設(shè)備插入手機(jī)中使用,所以當(dāng)你的手機(jī)觸摸屏壞了,別著急,插上無(wú)線鼠標(biāo)鍵盤套餐,照樣玩手機(jī)。

當(dāng)然這只是應(yīng)急使用,真正來(lái)說(shuō),沒(méi)誰(shuí)會(huì)隨身帶著鼠標(biāo)鍵盤的。

HUB 與 USB 拓?fù)浣Y(jié)構(gòu)

除了常見的設(shè)備外,在 USB 網(wǎng)絡(luò)中,還有一種特殊的設(shè)備,即 HUB(集線器),這種設(shè)備只有一個(gè)作用,就是將一個(gè) USB 接口分成多個(gè) USB 接口(最多 7 個(gè))使用,這樣即使你的電腦只有一個(gè)USB接口,通過(guò) HUB,你也可以實(shí)現(xiàn)多個(gè)設(shè)備的連接。

HUB對(duì)于用戶而言是透明的(即用戶在使用時(shí)不用特別去操作它),而為了實(shí)現(xiàn)這種透明,HUB所做的工作要比上述復(fù)雜的多,具體可以找相關(guān)資料,魚鷹有時(shí)間也會(huì)研究一下這種特殊的設(shè)備。

上圖是USB連接圖,可以看到,通過(guò) HUB,一個(gè) USB 網(wǎng)絡(luò)中可以連接非常多的設(shè)備(最多 127 個(gè),由 USB 設(shè)備7位地址決定),并且由于集線器的時(shí)間和電纜傳播的延遲,最多只能連接五個(gè) HUB,在層次上表現(xiàn)為上圖的 7 層(在全速和高速設(shè)備中,最大線纜長(zhǎng)度為 5 m,低速設(shè)備限制為 3 m)。

USB網(wǎng)絡(luò)中的所有設(shè)備(包括HUB)都有一個(gè)地址,范圍 0~127,地址 0 是所有設(shè)備在接入 USB 網(wǎng)絡(luò)時(shí)使用的默認(rèn)地址,當(dāng)設(shè)備完成枚舉后,即可擁有新的 USB設(shè)備地址,之后所有的通信都將采用新地址通信。也就是說(shuō), USB 設(shè)備的地址是動(dòng)態(tài)的,類似網(wǎng)絡(luò)的IP地址。

USB 層次結(jié)構(gòu)

下面再來(lái)看看 USB 層次結(jié)構(gòu):

在開發(fā)時(shí),由于我們主要是軟件開發(fā),所以主要的關(guān)注對(duì)象是上面兩層,而底層的實(shí)現(xiàn)一般來(lái)說(shuō)都是由硬件自動(dòng)完成的,比如STM32就幫我們實(shí)現(xiàn)了這一層,我們只需要獲取底層的數(shù)據(jù)然后進(jìn)行相應(yīng)的處理即可。

但是為了更好、更全面的理解USB,這一層的內(nèi)容魚鷹也會(huì)在下一節(jié)進(jìn)行介紹。

推薦閱讀:

嵌入式系統(tǒng)優(yōu)先級(jí)詳解

KEIL 調(diào)試經(jīng)驗(yàn)總結(jié)

線程CPU使用率到底該如何計(jì)算?

許久以后,你會(huì)感謝自己寫的異常處理代碼

終極串口接收方式,極致效率

延時(shí)功能進(jìn)化論(合集)

如何寫一個(gè)健壯且高效的串口接收程序?

打了多年的單片機(jī)調(diào)試斷點(diǎn)到底應(yīng)該怎么設(shè)置?| 顛覆認(rèn)知

-THE END-


如果對(duì)你有幫助,記得轉(zhuǎn)發(fā)分享哦

微信公眾號(hào)「魚鷹談單片機(jī)」

每周一更單片機(jī)知識(shí)

長(zhǎng)按后前往圖中包含的公眾號(hào)關(guān)注

魚鷹,一個(gè)被嵌入式耽誤的暢銷書作家

個(gè)人微信「EmbeddedOsprey」

長(zhǎng)按后打開對(duì)方的名片關(guān)注

總結(jié)

以上是生活随笔為你收集整理的USB 之概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。