USB底層協(xié)議
USB它是串行總線,所以數(shù)據(jù)在總線上是一位一位傳輸?shù)?,先傳輸最低位?shù)據(jù),最后傳輸最高位數(shù)據(jù)。對(duì)于多個(gè)字節(jié)的數(shù)據(jù)傳輸呢,采用的是小端格式,即先傳輸?shù)妥止?jié)數(shù)據(jù),最后傳輸高字節(jié)數(shù)據(jù)。
在USB中,數(shù)據(jù)是以包為單位進(jìn)行傳輸?shù)模械陌急仨氁許YNC字段開(kāi)始,以EOP(End-of-Packet)結(jié)尾。在SYNC字段之后,緊跟著的是包標(biāo)識(shí)符(PID),PID為一個(gè)字節(jié),其中4位用于定義包的類(lèi)型,另外4位是用來(lái)校驗(yàn)PID的,PID格式如下:
在USB中,定義了四種類(lèi)型的包,令牌包、數(shù)據(jù)包、握手包和特殊包,包類(lèi)型詳細(xì)定義如下:
在令牌包的PID字段之后,還包含地址域,地址就包括設(shè)備地址和端點(diǎn)地址,設(shè)備地址共7位,總共可尋址128個(gè)地址,但是地址0是作為默認(rèn)設(shè)備地址的,所以說(shuō),USB系統(tǒng)中,最多只能同時(shí)連接127個(gè)設(shè)備。端點(diǎn)地址共4位,可尋址16個(gè)端點(diǎn)。
在USB包最后,還包含5位的CRC檢驗(yàn)碼,CRC校驗(yàn)碼只對(duì)PID后面的數(shù)據(jù)進(jìn)行校驗(yàn),不對(duì)PID進(jìn)行校驗(yàn),因?yàn)镻ID本身就包含4位校驗(yàn)碼。
包格式
令牌包格式
令牌包格式定義如下:
這里的令牌特指IN、OUT、SETUP令牌,而SOF包格式定義如下:
令牌包實(shí)例如下:
數(shù)據(jù)包格式
數(shù)據(jù)包包含包標(biāo)識(shí)符(PID)和0到多個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)包類(lèi)型總共四種,DATA0、DATA1、DATA2和MDATA。數(shù)據(jù)包格式定義如下:
數(shù)據(jù)包實(shí)例如下:
上圖為SETUP請(qǐng)求數(shù)據(jù)包,用于讀取設(shè)備的設(shè)備描述符。
握手包格式
握手包有三種ACK、NAK和STALL,其中ACK表示數(shù)據(jù)傳輸完成并且無(wú)錯(cuò)誤,NAK表示設(shè)備不能接收數(shù)據(jù)或者沒(méi)有數(shù)據(jù)上傳,STALL表示設(shè)備不能進(jìn)行數(shù)據(jù)傳輸。而NYET和ERR握手包只針對(duì)高速設(shè)備,表示設(shè)備沒(méi)有準(zhǔn)備好或者出錯(cuò)。握手包格式定義如下:
ACK握手包實(shí)例如下:
聲明:本文內(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)投訴
原文標(biāo)題:不用再為USB底層協(xié)議犯難了
文章出處:【微信號(hào):eet-china,微信公眾號(hào):電子工程專(zhuān)輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
相關(guān)推薦
我是一名初學(xué)者,看了書(shū)知道MSP430F4250的AD轉(zhuǎn)換模式有四種,我想知道這四種轉(zhuǎn)化模式有什么區(qū)別,分別應(yīng)該在什么情況下使用。各位高手能否為我解答哈,在下不勝感激。因?yàn)槭浅鯇W(xué)者,有很多東西都不知道,能盡量詳細(xì)就盡量哈,謝謝
發(fā)表于 01-06 06:16
DAC61404 SPI應(yīng)該是四種模式中的哪種?
發(fā)表于 11-27 06:18
在Altium Designer(簡(jiǎn)稱(chēng)AD)等電子設(shè)計(jì)自動(dòng)化(EDA)軟件中,端口(Port)是設(shè)計(jì)原理圖時(shí)用于連接和表示信號(hào)流動(dòng)的重要元素。除了端口外,AD還提供了多種類(lèi)型的網(wǎng)絡(luò)標(biāo)識(shí)
發(fā)表于 09-29 10:11
?2095次閱讀
閉合。用于外徑、橢圓度或?qū)挾群穸鹊臋z測(cè)。
這四種樣式的測(cè)徑儀使用用途僅前兩種和后兩種的區(qū)別,看產(chǎn)線上是否有生產(chǎn)板材、扁線等需要測(cè)量寬度與厚度的產(chǎn)品。
需要注意的是,以上
發(fā)表于 08-27 17:42
Filter, LPF)、高通濾波器(High-Pass Filter, HPF)、帶通濾波器(Band-Pass Filter, BPF)和帶阻濾波器(Band-Stop Filter, BSF)。以下是對(duì)這四種濾波電路類(lèi)型
發(fā)表于 08-08 16:25
?3084次閱讀
負(fù)反饋是電子系統(tǒng)中常用的一種技術(shù),它通過(guò)將系統(tǒng)輸出的一部分信號(hào)以某種方式反饋到輸入端,以減小輸出信號(hào)與期望信號(hào)之間的差異,從而提高系統(tǒng)的穩(wěn)定性和性能。負(fù)反饋主要分為四種類(lèi)型:電壓串聯(lián)負(fù)反饋、電壓并聯(lián)負(fù)反饋、電流串聯(lián)負(fù)反饋和電流并聯(lián)負(fù)反饋。
發(fā)表于 08-08 16:15
?4531次閱讀
及其判斷方法。 一、負(fù)反饋的四種類(lèi)型 比例負(fù)反饋 比例負(fù)反饋是指系統(tǒng)輸出與輸入之間的反饋關(guān)系是線性的,即輸出的變化與輸入的變化成正比。在比例負(fù)反饋中,當(dāng)系統(tǒng)輸出增加時(shí),輸入會(huì)相應(yīng)減少,反之亦然。這種反饋機(jī)制有
發(fā)表于 08-02 11:01
?2718次閱讀
受控源是電子電路中的一種特殊元件,它具有一個(gè)或多個(gè)控制量,其輸出電壓或電流與控制量之間存在一定的函數(shù)關(guān)系。受控源有四種基本類(lèi)型:電壓控制電壓源(VCVS)、電流控制電壓源(CCVS)、
發(fā)表于 07-29 15:15
?6218次閱讀
在數(shù)字電路設(shè)計(jì)中,觸發(fā)器是一種基本且重要的存儲(chǔ)元件,用于存儲(chǔ)二進(jìn)制信息(即0和1)。根據(jù)功能和應(yīng)用場(chǎng)景的不同,觸發(fā)器可以分為多種類(lèi)型,其中四種基本觸發(fā)器包括RS觸發(fā)器、JK觸發(fā)器、D觸
發(fā)表于 07-27 14:59
?1.1w次閱讀
功率放大電路是電子技術(shù)中的一個(gè)重要組成部分,廣泛應(yīng)用于音頻、視頻、通信、雷達(dá)等領(lǐng)域。根據(jù)其工作原理和應(yīng)用場(chǎng)景,功率放大電路可以分為四種基本類(lèi)型:A類(lèi)、B類(lèi)、AB類(lèi)和D類(lèi)。 1. A類(lèi)功率放大電路 A
發(fā)表于 07-16 09:29
?1754次閱讀
介紹MCUboot支持的四種升級(jí)模式,分別是Overwrite、Swap、Direct XIP和加載到RAM中執(zhí)行。由于FSP不支持第四種——加載到RAM中執(zhí)行,因?yàn)槲覀冎攸c(diǎn)介紹前三
發(fā)表于 06-13 10:56
?975次閱讀
電氣設(shè)備的狀態(tài)可以分為四種:正常狀態(tài)、異常狀態(tài)、故障狀態(tài)和緊急狀態(tài)。這四種狀態(tài)涵蓋了電氣設(shè)備在運(yùn)行過(guò)程中可能遇到的各種情況。本文將詳細(xì)分析這
發(fā)表于 06-05 16:47
?4695次閱讀
嵌入式微處理器是一種專(zhuān)門(mén)設(shè)計(jì)用于嵌入式系統(tǒng)中的微處理器。它們通常用于控制和管理電子設(shè)備的各種任務(wù),例如自動(dòng)化系統(tǒng)、家電、電子設(shè)備以及工業(yè)機(jī)械等。嵌入式微處理器可以根據(jù)應(yīng)用的需求分為四種類(lèi)型:通用
發(fā)表于 04-21 09:45
?1420次閱讀
如何理解IGBT的四種SOA? IGBT的四種SOA表示了IGBT器件在不同工作狀態(tài)下的安全操作區(qū)域。這
發(fā)表于 02-18 11:04
?1140次閱讀
電感器在電路中的主要用途有哪四種? 電感器是電子電路中常見(jiàn)的一種 passie元件,其主要作用是存儲(chǔ)和調(diào)整電流。電感器在電路
發(fā)表于 02-03 15:07
?2383次閱讀
評(píng)論