chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

什么是USB?USB的物理層和協(xié)議層有什么區(qū)別?

FPGA之家 ? 來源:TopSemic嵌入式 ? 作者:TopSemic嵌入式 ? 2021-05-08 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.USB概述

USB設(shè)備現(xiàn)在是用的非常普遍的一種接口了,它即插即用的特性給人們帶來了很大的方便。在嵌入式的應(yīng)用中, USB經(jīng)常被用來作為與上位機(jī)通信的接口,還用來通過U盤存儲(chǔ)數(shù)據(jù)等。USB按通訊速度可分為低速,全速和高速設(shè)備。在我們的應(yīng)用中,低速和全速是最為普遍的,在此我們對USB從物理層到協(xié)議層做一個(gè)簡要的介紹。高速USB的原理是一樣的,在理解了低速和全速設(shè)備的工作原理后再去理解高速設(shè)備就比較簡單了,在此我們暫不討論。

低速(Low Speed, 1.5Mbps):鍵盤,鼠標(biāo),手寫筆

全速(Full Speed, 12Mbps):音頻

高速(High Speed, 480Mbps):視頻

USB協(xié)議是開放的,可以從官方網(wǎng)站usb.org下載。

2.主機(jī),設(shè)備(Host, Device)

什么是USB?USB的物理層和協(xié)議層有什么區(qū)別?

上圖是一個(gè)典型的USB全速主機(jī)和設(shè)備的連接示意圖。主機(jī)要有對外的供電能力,圖中可以看到作為主機(jī)的單片機(jī),一個(gè)引腳用來控制三極管或MOSFET,提供5V的電源至USB口。設(shè)備供電有兩種方法:一種是通過USB總線,從主機(jī)提供的5V獲得,如我們常用的U盤;一種是自己從另外的電源獲得,此時(shí)主機(jī)至設(shè)備的電源線可以不連。如果設(shè)備的1.5k上拉電阻是加在D-上,那么此設(shè)備將被主機(jī)識(shí)別為低速設(shè)備。高速設(shè)備的上拉與全速設(shè)備一樣是加到D+,需要靠軟件協(xié)議進(jìn)一步區(qū)分。

通過USB總線獲得供電的設(shè)備,分為兩種配置:

低功率設(shè)備(Low-power devices): 最大電流不超過100mA

高功率設(shè)備(High-power devices): 剛連接后設(shè)備后的枚舉階段不超過100mA,配置完成后最大不超過500mA。

USB所有的通訊都是由主機(jī)發(fā)起。當(dāng)主機(jī)檢測到有設(shè)備連接時(shí),首先會(huì)詢問設(shè)備,讓設(shè)備自報(bào)家門,看看設(shè)備都具備哪些能力,其中就包括最大電流,然后主機(jī)根據(jù)上報(bào)的描述進(jìn)行相應(yīng)的操作。這個(gè)過程叫自舉(Enumeration)。設(shè)備通過描述符(Descriptor)來聲明自己的能力,包括:

設(shè)備描述符(Device Descriptor)

配置描述符(Configuration Descriptor)

接口描述符(Interface Descriptor)

端點(diǎn)描述符(Endpoint Descriptor)

字符串描述符(String Descriptor)

端點(diǎn)(Endpiont)是USB通信的基本單元,每個(gè)USB設(shè)備都會(huì)包含若干個(gè)端點(diǎn)。主機(jī)下發(fā)的數(shù)據(jù)最終會(huì)根據(jù)設(shè)備地址和端點(diǎn)地址到達(dá)某一個(gè)端點(diǎn),主機(jī)獲取數(shù)據(jù)也是給某個(gè)端點(diǎn)發(fā)出讀數(shù)據(jù)命令,此端點(diǎn)隨后把存儲(chǔ)在自己緩沖區(qū)的數(shù)據(jù)發(fā)給主機(jī)。

在端點(diǎn)之上是邏輯組織,多個(gè)端點(diǎn)可以歸到一個(gè)接口,多個(gè)接口可以歸為一個(gè)配置。而一個(gè)設(shè)備可以有多個(gè)配置。

3.USB物理層

什么是USB?USB的物理層和協(xié)議層有什么區(qū)別?

(USB Specification 2.0)

1 紅色 Vbus(5V)

2 白色 D-

3 綠色 D+

4 黑色 GND

有的USB接口會(huì)多出一根ID線,以支持OTG(On The Go)。支持OTG的線兩端是不一樣的,其中一端插到OTG設(shè)備時(shí)會(huì)把設(shè)備接口的識(shí)別引腳ID拉低,此設(shè)備識(shí)別到自己的ID拉低后會(huì)進(jìn)入主機(jī)狀態(tài)(Host),連線另一端的設(shè)備ID沒有拉低,默認(rèn)進(jìn)入設(shè)備狀態(tài)(Device)。之后通過軟協(xié)議可以主從切換。但是集中這種應(yīng)用不是太多,一臺(tái)設(shè)備要么作主機(jī),要么作設(shè)備的情況比較多。

USB使用的是差分傳輸模式,有兩根數(shù)據(jù)線D+和D-。

Differential 1:D+ 》 VOH(min) (2.8V) 且D- 《 VOL(max)(0.3V)

Differential 0:D- 》 VOH and D+ 《 VOL

J狀態(tài):對于低速USB是Differential 0,對于全速USB是 Differential 1

K狀態(tài):對于低速USB是Differential 1,對于全速USB是 Differential 0

除此之外,通過把D+,D-當(dāng)作單端信號(hào)拉低,拉高,可以表示一些特殊的狀態(tài)。

SE0狀態(tài)(Single Ended 0):D+ 低,D- 低

SE1狀態(tài)(Single Ended 1):D+ 高,D- 高

Reset信號(hào):D+ and D- 《 VOL for 》= 10ms

主機(jī)在要和設(shè)備通信之前會(huì)發(fā)送Reset信號(hào)來把設(shè)備設(shè)置到默認(rèn)的未配置狀態(tài)。即主機(jī)拉低兩根信號(hào)線(SE0狀態(tài))并保持10ms。

看到這里也許有點(diǎn)暈,不過沒關(guān)系,你如果看USB協(xié)議會(huì)更暈。

我們千萬不要掉進(jìn)這個(gè)坑里出不來,就像我們用串口也從來不會(huì)去觸發(fā)一個(gè)起始信號(hào),或者拉出一個(gè)結(jié)束信號(hào)一樣,這些物理層信號(hào)狀態(tài)的處理完全由芯片集成的USB控制器來處理。而且提供USB軟件協(xié)議棧也是必須的,靠用戶自己完全把所有細(xì)節(jié)搞清楚是不現(xiàn)實(shí)的。然而就像開車一樣,你如果對汽車的原理有更深入的了解,一定更能充分的發(fā)揮出這輛車的性能。

繼續(xù),除了以上狀態(tài),還有:

Idle State, Resume State, Start of Packet, End of Packet, Disconnect, Connnect.

4.Packet

Packet是USB通訊最基本的單位。

什么是USB?USB的物理層和協(xié)議層有什么區(qū)別?

SOP:Start Of Packet,標(biāo)志由空閑狀態(tài)轉(zhuǎn)入數(shù)據(jù)包發(fā)送。

SYNC:同步段,供USB設(shè)備進(jìn)行時(shí)鐘同步。

PID:Packet Identifier。種類比較多,下面再詳細(xì)說明。

Address:設(shè)備和端點(diǎn)地址。一個(gè)主機(jī)可以掛接多個(gè)設(shè)備,主機(jī)會(huì)給每個(gè)設(shè)備分配不同地址。

Frame Number:幀號(hào),每發(fā)一幀加1,達(dá)到7FFFH時(shí)變?yōu)?。

Data:數(shù)據(jù)段。

CRC:校驗(yàn)和。

EOP:End Of Packet。

通過不同的PID,數(shù)據(jù)包被分成4個(gè)大類,每個(gè)大類又包含一些小類:

令牌 (Token) OUT,IN,SETUP,SOF

數(shù)據(jù) (Data) DATA0,DATA1

握手 (Handshake) ACK,NAK,STALL,NYET

特殊包 (Special) PRE,ERR

5.Transaction

一次Transaction總是從主機(jī)向設(shè)備發(fā)出一個(gè)令牌(Token)開始。再次強(qiáng)調(diào),USB所有的通信過程都是由主機(jī)發(fā)起。三種令牌把Transaction分為三類:

OUT:主機(jī)發(fā)送數(shù)據(jù)給設(shè)備。

IN:主機(jī)從設(shè)備獲取數(shù)據(jù)。

SETUP:主機(jī)對設(shè)備進(jìn)行設(shè)置。

USB協(xié)議里的OUT和IN,都要站在主機(jī)的角度來看。下面是比較典型的獲取,發(fā)送數(shù)據(jù)的例子:

什么是USB?USB的物理層和協(xié)議層有什么區(qū)別?

每一次Transaction,Token總是必需的,數(shù)據(jù)段和握手則視情況而定。比如在上一個(gè)例子中,當(dāng)主機(jī)發(fā)出IN令牌獲取數(shù)據(jù)時(shí),如果設(shè)備沒準(zhǔn)備好數(shù)據(jù),則可以返回NAK結(jié)束此Transaction。

6.Transfer

好了,有了以上這些,似乎萬事俱備了。但是如果進(jìn)一步想一下,那么還是有些問題不好解決。什么呢?比方說DATA數(shù)據(jù)段的長度規(guī)定多長好呢?主機(jī)多長時(shí)間發(fā)起一次通信比較好呢?

一個(gè)USB主機(jī)上是允許掛載多個(gè)設(shè)備的,而這些設(shè)備千差萬別:比如像鼠標(biāo),按鍵后需要快速響應(yīng),把位置信息發(fā)送到主機(jī),它的數(shù)據(jù)量很少,而像U盤則需要傳輸大量的數(shù)據(jù)。如果按鼠標(biāo)的時(shí)候U盤正在傳輸數(shù)據(jù)怎么辦呢?

為了解決上述問題,USB首先規(guī)定了四種傳輸類型:

控制傳輸(Control Transfers): 主要用來在設(shè)備剛連接到主機(jī)時(shí)對設(shè)備進(jìn)行設(shè)置。還有平時(shí)對設(shè)備狀態(tài)的管理。它需要雙向的數(shù)據(jù)傳輸。

批量傳輸(Bulk Data Transfers): 主要用來進(jìn)行量大,但對傳輸時(shí)間要求不嚴(yán)格的場景。例如U盤。

中斷傳輸(Interrupt Data Transfers): 需要及時(shí)準(zhǔn)確的傳輸信息的場景。中斷傳輸總是單向的。比如鼠標(biāo)。

??

同步傳輸(Isochronous Data Transfers): 一般需要占用相對固定的帶寬,延時(shí)短而且比較確定。傳輸是單向的,數(shù)據(jù)出錯(cuò)后不需要重傳。比如USB攝像頭。

然后,為了解決設(shè)備的及時(shí)響應(yīng)問題,USB每隔1ms (高速USB是每隔125us)發(fā)出一個(gè)SOF令牌,緊接令牌進(jìn)行同步類型的傳輸,之后依次是中斷類型,控制類型和批量數(shù)據(jù)傳輸類型。在每一個(gè)Frame內(nèi),Isochronous,Interrupt和Control都會(huì)保證一定的帶寬。而Bulk型的傳輸優(yōu)先級(jí)最低,不一定每幀都得到帶寬進(jìn)行數(shù)據(jù)傳輸。

什么是USB?USB的物理層和協(xié)議層有什么區(qū)別?

一個(gè)Transfer 由一個(gè)或多個(gè)Transactions組成。比如一次控制傳輸可以由Setup,IN,OUT等Transactions組成。Packet和Transaction是不允許被中間打斷的,而Transfer的多個(gè)Transactions可以分多次傳輸。

7.小結(jié)

我們對USB的物理層和協(xié)議層做了簡要的介紹。在接下來的文章里我們將通過實(shí)際的例子來看一下USB是如何工作的,并對很多工程師經(jīng)常忽略或者沒有意識(shí)到的一些問題進(jìn)行探討。

責(zé)任編輯:lq6


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

    關(guān)注

    33

    文章

    9005

    瀏覽量

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

    關(guān)注

    60

    文章

    8190

    瀏覽量

    272993
  • 物理層
    +關(guān)注

    關(guān)注

    1

    文章

    155

    瀏覽量

    35070
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    967

    瀏覽量

    55797

原文標(biāo)題:單片機(jī)外圍模塊-USB總線基本概念。

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    分布式IO模塊:架起城軌交通物理層與控制的信息橋梁

    物理層與控制的橋梁,為城市軌道交通的高效運(yùn)行提供了強(qiáng)有力的技術(shù)支撐,極大地提高了系統(tǒng)的靈活性和可擴(kuò)展性,為城軌交通的智能化、網(wǎng)絡(luò)化發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
    的頭像 發(fā)表于 03-11 17:08 ?299次閱讀
    分布式IO模塊:架起城軌交通<b class='flag-5'>物理層</b>與控制<b class='flag-5'>層</b>的信息橋梁

    MultiGABSE-AU物理層PMA子及PMD子的相關(guān)機(jī)制

    在之前的文章中,我們介紹了IEEE 802.3cz[1]協(xié)議,MultiGABSE-AU物理層中XMII、PCS子以及兩個(gè)可選功能的相關(guān)內(nèi)容,本篇將介紹MultiGABSE-AU物理層
    的頭像 發(fā)表于 12-23 10:20 ?1076次閱讀
    MultiGABSE-AU<b class='flag-5'>物理層</b>PMA子<b class='flag-5'>層</b>及PMD子<b class='flag-5'>層</b>的相關(guān)機(jī)制

    CAN XL物理層揭秘(下):物理層組合與兼容性

    CAN XL網(wǎng)絡(luò)憑借物理層革新,在汽車電子和工業(yè)通信中占據(jù)重要地位。在上篇中,我們深入探討了CAN XL網(wǎng)絡(luò)中的物理層革新與優(yōu)勢(點(diǎn)擊回顧)。本文將繼續(xù)這一話題,重點(diǎn)介紹CAN XL網(wǎng)絡(luò)在實(shí)際應(yīng)用中的組合與兼容性問題,以及如何選擇合適的
    的頭像 發(fā)表于 11-29 15:27 ?720次閱讀
    CAN XL<b class='flag-5'>物理層</b>揭秘(下):<b class='flag-5'>物理層</b>組合與兼容性

    如何通過OSI七模型優(yōu)化網(wǎng)絡(luò)性能

    OSI(Open Systems Interconnection)七模型是一種標(biāo)準(zhǔn)的網(wǎng)絡(luò)分層模型,將網(wǎng)絡(luò)功能分為七個(gè)不同的層次,每個(gè)層次都有獨(dú)立的功能和協(xié)議,可以獨(dú)立地實(shí)現(xiàn)和升級(jí)。通過優(yōu)化OSI
    的頭像 發(fā)表于 11-24 11:14 ?1018次閱讀

    OSI七模型和網(wǎng)絡(luò)安全的關(guān)系

    開放系統(tǒng)互聯(lián)(OSI)模型是一個(gè)概念框架,用于標(biāo)準(zhǔn)化網(wǎng)絡(luò)通信過程。它將網(wǎng)絡(luò)通信過程劃分為七個(gè)層次,每一都有其特定的功能和協(xié)議。網(wǎng)絡(luò)安全是指保護(hù)網(wǎng)絡(luò)系統(tǒng)免受未經(jīng)授權(quán)的訪問、使用、披露、破壞、修改或
    的頭像 發(fā)表于 11-24 11:08 ?1110次閱讀

    OSI七模型中各層的協(xié)議 OSI七模型的優(yōu)勢與不足

    功能。以下是OSI七模型中各層的協(xié)議物理層(Physical Layer) : 主要負(fù)責(zé)傳輸比特流,即實(shí)際的數(shù)據(jù)信號(hào)傳輸和物理連接的建立。 協(xié)
    的頭像 發(fā)表于 11-24 10:54 ?1271次閱讀

    如何理解OSI七模型 OSI七模型在網(wǎng)絡(luò)中的應(yīng)用

    ,旨在幫助不同計(jì)算機(jī)系統(tǒng)之間實(shí)現(xiàn)互操作性。OSI模型將網(wǎng)絡(luò)通信過程劃分為七個(gè)層次,每一都有其特定的功能和協(xié)議。以下是對OSI七模型的簡要介紹以及它們在網(wǎng)絡(luò)中的應(yīng)用。 物理層(Phy
    的頭像 發(fā)表于 11-24 10:48 ?1138次閱讀

    OSI七模型的每一功能

    物理層(Physical Layer) 功能 :物理層負(fù)責(zé)在物理媒介上傳輸原始的比特流。這包括定義電氣、機(jī)械、過程和功能標(biāo)準(zhǔn),以實(shí)現(xiàn)不同網(wǎng)絡(luò)設(shè)備之間的物理連接。
    的頭像 發(fā)表于 11-24 10:46 ?1612次閱讀

    SL6341B USB3.2 Gen1X1 接口的的4口HUB

    和 和 USB2.0? 高速物理層 收發(fā)器 ,使得 芯片可以完美支持 超高速、高速和 低速 USB? 上下行設(shè)備連接;芯片集成度高,工藝先進(jìn),功耗低,采用QFN80兩種封裝。 ??????? SL6341B? 支持符合
    發(fā)表于 10-28 17:07 ?20次下載

    和芯潤德USB3.0HUB芯片SL6341設(shè)計(jì)資料

    和 和 USB2.0? 高速物理層 收發(fā)器 ,使得 芯片可以完美支持 超高速、高速和 低速 USB? 上下行設(shè)備連接;芯片集成度高,工藝先進(jìn),功耗低,采用QFN60,QFN80兩種封裝。 ??????? SL6341x?
    發(fā)表于 10-28 17:07 ?25次下載

    SATA主機(jī)協(xié)議物理層的實(shí)現(xiàn)過程

    這里講解SATA主機(jī)協(xié)議物理層的實(shí)現(xiàn)過程。
    的頭像 發(fā)表于 10-22 15:17 ?985次閱讀
    SATA主機(jī)<b class='flag-5'>協(xié)議</b>的<b class='flag-5'>物理層</b>的實(shí)現(xiàn)過程

    SD3.0物理層規(guī)格書中文版

    電子發(fā)燒友網(wǎng)站提供《SD3.0物理層規(guī)格書中文版.pdf》資料免費(fèi)下載
    發(fā)表于 10-22 10:05 ?3次下載

    IEEE 1394物理層用晶體的選擇和規(guī)范

    電子發(fā)燒友網(wǎng)站提供《IEEE 1394物理層用晶體的選擇和規(guī)范.pdf》資料免費(fèi)下載
    發(fā)表于 09-30 11:03 ?0次下載
    IEEE 1394<b class='flag-5'>物理層</b>用晶體的選擇和規(guī)范

    LIN協(xié)議物理層要求

    電子發(fā)燒友網(wǎng)站提供《LIN協(xié)議物理層要求.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 09:36 ?1次下載
    LIN<b class='flag-5'>協(xié)議</b>和<b class='flag-5'>物理層</b>要求

    交換機(jī)和三交換機(jī)什么區(qū)別

    交換機(jī)分為二交換機(jī)和三交換機(jī),它們在功能、應(yīng)用場景和技術(shù)實(shí)現(xiàn)上有明顯區(qū)別。
    的頭像 發(fā)表于 08-07 15:33 ?2637次閱讀