




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 USB系統(tǒng)的簡(jiǎn)介 USB的物理接口 USB的電氣特性 USB系統(tǒng)的組成 USB設(shè)備的檢測(cè) USB數(shù)據(jù)流的類(lèi)型 USB的傳輸方式 信號(hào)的編碼與傳輸 USB的優(yōu)點(diǎn) USB總線電纜包括4根線,用以傳輸信號(hào)和提供電源。其中D+和D-為信號(hào)線,傳輸信號(hào),是一對(duì)雙絞線(即采用差動(dòng)傳輸方式);Vbus和GND是電源線,提供電源。相應(yīng)的USB接口插頭也比較簡(jiǎn)單,只有4芯。上游插頭是4芯的長(zhǎng)方形插頭,下游插頭是4芯的方形插頭。 USB主機(jī)或根集線器(Root Hub)對(duì)設(shè)備提供的對(duì)地電壓為4.755.25V,設(shè)備能吸入的最大電流為500mA。因此,USB對(duì)設(shè)備提供的電源是有限的。當(dāng)USB設(shè)備第一次被USB主機(jī)
2、檢測(cè)到時(shí),設(shè)備從USB Hub吸入的電流值應(yīng)該小于100mA。 USB主機(jī)有一個(gè)獨(dú)立的USB的電源管理系統(tǒng)。USB系統(tǒng)軟件通過(guò)與主機(jī)電源管理系統(tǒng)交互來(lái)處理掛起、喚醒等電源事件。為了節(jié)省能源,對(duì)暫時(shí)不起作用的USB設(shè)備、電源管理系統(tǒng)將其置為掛起狀態(tài),等有數(shù)據(jù)傳輸時(shí)再喚醒設(shè)備。 USB系統(tǒng)在硬件上一般由USB主機(jī)控制器/根集線器、USB集線器和USB功能設(shè)備3個(gè)部分組成。USB設(shè)備的插入檢測(cè)機(jī)制USB主機(jī)是如何檢測(cè)到設(shè)備的插入的呢? 首先,在USB集線器的每個(gè)下游端口的D+和D-上, 分別接了一個(gè)15K歐姆的下拉電阻到地。這樣,在集線器的端口懸空時(shí),就被這兩個(gè)下拉電阻拉到了低電平。而在USB設(shè)備端
3、,在D+或者D-上接了1.5K歐姆上拉電阻。對(duì)于全速和高速設(shè)備, 上拉電阻是接在D+上;而低速設(shè)備則是上拉電阻接在D-上。這樣,當(dāng)設(shè)備插入到集線器時(shí), 由1.5K的上拉電阻和15K的下拉電阻分壓,結(jié)果就將差分?jǐn)?shù)據(jù)線中的一條拉高了。集線器檢測(cè)到這個(gè)狀態(tài)后,它就報(bào)告給USB主控制器(或者通過(guò)它上一層的集線器報(bào)告給USB主控制器), 這樣就檢測(cè)到設(shè)備的插入了。USB高速設(shè)備先是被識(shí)別為全速設(shè)備,然后通過(guò)HOST和DEVICE 兩者之間的確認(rèn),再切換到高速模式的。在高速模式下,是電流傳輸模式,這時(shí)將D+上的上拉電阻斷開(kāi)。一個(gè)簡(jiǎn)單的實(shí)驗(yàn):只用一個(gè)上拉電阻接在USB的+5V和D+或者D-上,WINDOWS
4、也會(huì)提示發(fā)現(xiàn)新硬件,但是無(wú)法找到驅(qū)動(dòng)程序。這時(shí)去設(shè)備管理器里面看,有顯示未知USB設(shè)備, 并且其VID和PID為0。 所有的USB系統(tǒng)上的聯(lián)系都是在軟件控制下由USB主機(jī)進(jìn)行的。USB主機(jī)是帶有USB主控器的PC機(jī)。主機(jī)控制器負(fù)責(zé)USB系統(tǒng)的處理,是USB系統(tǒng)的大腦。 USB根集線器提供USB接口給USB設(shè)備和USB Hub使用。 USB連接的127個(gè)設(shè)備并不需要控制器去尋址,只需要對(duì)根集線器發(fā)出命令,根集線器可以自動(dòng)找到相應(yīng)的設(shè)備。 USB集線器。利用USB集線器來(lái)提供更多的USB接口,以連接較多的USB設(shè)備。 USB功能設(shè)備。USB功能設(shè)備能在總線上發(fā)送和接受數(shù)據(jù)和控制信息,它是完成某項(xiàng)具
5、體功能的硬件設(shè)備。通過(guò)USB的硬件和軟件與計(jì)算機(jī)系統(tǒng)進(jìn)行數(shù)據(jù)交換。它們通常是一些高速設(shè)備、中速設(shè)備和低速設(shè)備。如視頻、硬盤(pán)、移動(dòng)存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備、音頻設(shè)備以及鼠標(biāo)鍵盤(pán)等。 端點(diǎn):位于USB設(shè)備中與USB主機(jī)通信的基本單元。每個(gè)設(shè)備允許有多個(gè)端點(diǎn),主機(jī)只能通過(guò)端點(diǎn)與設(shè)備進(jìn)行通信,各個(gè)端點(diǎn)由設(shè)備地址和端點(diǎn)號(hào)確定在USB系統(tǒng)中的唯一地址。每個(gè)端點(diǎn)都包括一些屬性:傳輸方式、總線訪問(wèn)頻率、帶寬、端點(diǎn)號(hào)、數(shù)據(jù)包的最大容量等。除控制端點(diǎn)0外的其他端點(diǎn)必須在設(shè)備配置后才能生效,控制端點(diǎn)0通常用于設(shè)備初始化參數(shù)。USB芯片中,每個(gè)端點(diǎn)實(shí)際上就是一個(gè)一定大小的數(shù)據(jù)緩沖區(qū)。 管道:管道是USB設(shè)備與USB主機(jī)之間
6、數(shù)據(jù)通信的邏輯通道,這個(gè)USB管道對(duì)應(yīng)一個(gè)設(shè)備端點(diǎn),各端點(diǎn)通過(guò)自己的管道與主機(jī)通信。所有設(shè)備都支持對(duì)應(yīng)端點(diǎn)0的控制管道,通過(guò)控制管道主機(jī)可以獲取USB的設(shè)備信息,包括:設(shè)備類(lèi)型、電源管理、配置、端點(diǎn)描述符等。 描述符:描述符是具有一定格式的數(shù)據(jù)結(jié)構(gòu),它包含了設(shè)備所有的屬性信息。 USB設(shè)備使用各種描述符來(lái)向主機(jī)報(bào)告它的屬性。在主機(jī)使用控制傳輸請(qǐng)求描述符時(shí),設(shè)備就會(huì)將這些信息以標(biāo)準(zhǔn)描述符格式發(fā)送給主機(jī),從而使主機(jī)控制器獲得諸如設(shè)備及供應(yīng)商ID,設(shè)備通信能力等重要信息。所有的USB外設(shè)都必須響應(yīng)對(duì)標(biāo)準(zhǔn)USB描述符的請(qǐng)求,并且要按一定的規(guī)范進(jìn)行。 描述符的種類(lèi):標(biāo)準(zhǔn)USB描述符包括設(shè)備描述符、配置描
7、述符、接口描述符、端點(diǎn)描述符和字符串描述符。它們分別從不同的層次來(lái)描述設(shè)備的屬性。USB的描述符及各種描述符之間的依賴(lài)關(guān)系 一個(gè)USB設(shè)備有一個(gè)設(shè)備描述符,設(shè)備描述符里面決定了該設(shè)備有多少種配置,每種配置描述符對(duì)應(yīng)著配置描述符;而在配置描述符中又定義 了該配置里面有多少個(gè)接口,每個(gè)接口有對(duì)應(yīng)的接口描述符;在接口描 述符里面又定義了該接口有多少個(gè)端點(diǎn),每個(gè)端點(diǎn)對(duì)應(yīng)一個(gè)端點(diǎn)描述符; 端點(diǎn)描述符定義了端點(diǎn)的大小,類(lèi)型等等 每種描述符都有自己獨(dú)立的編號(hào),如下: #define DEVICE_DESCRIPTOR 0 x01 /設(shè)備描述符#define CONFIGURATION_DESCRIPTOR
8、0 x02 /配置描述符 #define STRING_DESCRIPTOR 0 x03 /字符串描述符#define INTERFACE_DESCRIPTOR 0 x04 /接口描述符#define ENDPOINT_DESCRIPTOR 0 x05 /端點(diǎn)描述符 /定義標(biāo)準(zhǔn)的設(shè)備描述符結(jié)構(gòu)typedef struct _DEVICE_DCESCRIPTOR_STRUCT BYTE blength; /設(shè)備描述符的字節(jié)數(shù)大小 BYTE bDescriptorType; /設(shè)備描述符類(lèi)型編號(hào) WORD bcdUSB; /USB版本號(hào) BYTE bDeviceClass; /USB分配的設(shè)備類(lèi)代
9、碼 BYTE bDeviceSubClass; /USB分配的子類(lèi)代碼 BYTE bDeviceProtocol; /USB分配的設(shè)備協(xié)議代碼 BYTE bMaxPacketSize0; /端點(diǎn)0的最大包大小 WORD idVendor; /廠商編號(hào) WORD idProduct; /產(chǎn)品編號(hào) WORD bcdDevice; /設(shè)備出廠編號(hào) BYTE iManufacturer; /設(shè)備廠商字符串的索引 BYTE iProduct; /描述產(chǎn)品字符串的索引 BYTE iSerialNumber; /描述設(shè)備序列號(hào)字符串的索引 BYTE bNumConfigurations; /可能的配置數(shù)量
10、/定義標(biāo)準(zhǔn)的配置描述符結(jié)構(gòu) Typedef structCONFIGURATION_DESCRIPTOR_STRUCT BYTE bLength; /配置描述符的字節(jié)數(shù)大小 BYTE bDescriptorType; /配置描述符類(lèi)型編號(hào) WORD wTotalLength; /此配置返回的所有數(shù)據(jù)大小 BYTE bNumInterfaces; /此配置所支持的接口數(shù)量 BYTE bConfigurationValue; /Set_Configuration命令所需要的參數(shù)值 BYTE iConfiguration; /描述該配置的字符串的索引值 BYTE bmAttributes; /供電模
11、式的選擇 BYTE MaxPower; /設(shè)備從總線提取的最大電流 /定義標(biāo)準(zhǔn)的接口描述符結(jié)構(gòu)typedef struct _INTERFACE_DESCRIPTOR_STRUCT BYTE bLength; /接口描述符的字節(jié)數(shù)大小 BYTE bDescriptorType; /接口描述符的類(lèi)型編號(hào) BYTE bInterfaceNumber; /該接口的編號(hào) BYTE bAlternateSetting; /備用的接口描述符編號(hào) BYTE bNumEndpoints; /該接口使用的端點(diǎn)數(shù),不包括端點(diǎn)0 BYTE bInterfaceClass; /接口類(lèi)型 BYTE bInterface
12、SubClass; /接口子類(lèi)型 BYTE bInterfaceProtocol; /接口遵循的協(xié)議 BYTE iInterface; /描述該接口的字符串索引值 /定義標(biāo)準(zhǔn)的端點(diǎn)描述符結(jié)構(gòu)typedef struct _ENDPOINT_DESCRIPTOR_STRUCT BYTE bLegth; /端點(diǎn)描述符字節(jié)數(shù)大小 BYTE bDescriptorType; /端點(diǎn)描述符類(lèi)型編號(hào) BYTE bEndpointAddress; /端點(diǎn)地址及輸入輸出屬性 BYTE bmAttributes; /端點(diǎn)的傳輸類(lèi)型屬性 WORD wMaxPacketSize; /端點(diǎn)收、發(fā)的最大包大小 BYTE
13、 bInterval; /主機(jī)查詢(xún)端點(diǎn)的時(shí)間間隔 偏移字段大小值描述0bLength1數(shù)字描述符的大小1bDescriptorType1常量描述符的類(lèi)型(05)2bEndpointAddress1端點(diǎn)端點(diǎn)地址3bmAttributes1位映射端點(diǎn)屬性4wMaxPacketSize2數(shù)字支持的最大數(shù)據(jù)包的大小5bInterVal1數(shù)字中斷掃描時(shí)間間隔 端點(diǎn)描述符總線列舉經(jīng)歷的步驟:(1)集線器檢測(cè)新設(shè)備主機(jī)集線器監(jiān)視著每個(gè)端口的信號(hào)電壓,當(dāng)有新設(shè)備接入時(shí)便可覺(jué)察。(集線器端口的兩根信號(hào)線的每一根都有15k的下拉電阻,而每一個(gè)設(shè)備在D+都有一個(gè)1.5k的上拉電阻。當(dāng)用USB線將PC和設(shè)備接通后,設(shè)
14、備的上拉電阻使信號(hào)線的電位升高,因此被主機(jī)集線器檢測(cè)到。)(2)主機(jī)知道了新設(shè)備連接后每個(gè)集線器用中斷傳輸來(lái)報(bào)告在集線器上的事件。當(dāng)主機(jī)知道了這個(gè)事件,它給集線器發(fā)送一個(gè)Get_Status請(qǐng)求來(lái)了解更多的消息。返回的消息告訴主機(jī)一個(gè)設(shè)備是什么時(shí)候連接的。(3)集線器重新設(shè)置這個(gè)新設(shè)備當(dāng)主機(jī)知道有一個(gè)新的設(shè)備時(shí),主機(jī)給集線器發(fā)送一個(gè)Set_Feature請(qǐng)求,請(qǐng)求集線器來(lái)重新設(shè)置端口。集線器使得設(shè)備的USB數(shù)據(jù)線處于重啟(RESET)狀態(tài)至少10ms。(4)集線器在設(shè)備和主機(jī)之間建立一個(gè)信號(hào)通路主機(jī)發(fā)送一Get_Status請(qǐng)求來(lái)驗(yàn)證設(shè)備是否激起重啟狀態(tài)。返回的數(shù)據(jù)有一位表示設(shè)備仍然處于重啟狀
15、態(tài)。當(dāng)集線器釋放了重啟狀態(tài),設(shè)備就處于默認(rèn)狀態(tài)了,即設(shè)備已經(jīng)準(zhǔn)備好通過(guò)Endpoint 0 的默認(rèn)流程響應(yīng)控制傳輸。即設(shè)備現(xiàn)在使用默認(rèn)地址0 x0與主機(jī)通信。(5)集線器檢測(cè)設(shè)備速度集線器通過(guò)測(cè)定那根信號(hào)線(D+或D-)在空閑時(shí)有更高的電壓來(lái)檢測(cè)設(shè)備是低速設(shè)備還是全速設(shè)備。(全速和高速設(shè)備D+有上拉電阻,低速設(shè)備D-有上拉電阻)。以下,需要USB的firmware進(jìn)行干預(yù)(6)獲取最大數(shù)據(jù)包長(zhǎng)度 PC向address 0發(fā)送USB協(xié)議規(guī)定的Get_Device_Descriptor命令,以取得卻缺省控制管道所支持的最大數(shù)據(jù)包長(zhǎng)度,并在有限的時(shí)間內(nèi)等待USB設(shè)備的響應(yīng),該長(zhǎng)度包含在設(shè)備描述符的b
16、MaxPacketSize0字段中,其地址偏移量為7,所以這時(shí)主機(jī)只需讀取該描述符的前8個(gè)字節(jié)。注意,主機(jī)一次只能列舉一個(gè)USB設(shè)備,所以同一時(shí)刻只能有一個(gè)USB設(shè)備使用缺省地址0。以下操作雷同,不同操作系統(tǒng)設(shè)定時(shí)延是不一樣的,比如說(shuō)win2k大概是幾毫秒,如果沒(méi)有反應(yīng)就再發(fā)送一次命令,重復(fù)三次。(7)主機(jī)分配一個(gè)新的地址給設(shè)備主機(jī)通過(guò)發(fā)送一個(gè)Set_Address請(qǐng)求來(lái)分配一個(gè)唯一的地址給設(shè)備。設(shè)備讀取這個(gè)請(qǐng)求,返回一個(gè)確認(rèn),并保存新的地址。從此開(kāi)始所有通信都使用這個(gè)新地址。(8)主機(jī)向新地址重新發(fā)送Get_Device_Descriptor命令,此次讀取其設(shè)備描述符的全部字段,以了解該設(shè)備
17、的總體信息,如VID,PID。(9)主機(jī)向設(shè)備循環(huán)發(fā)送Get_Device_Configuration命令,要求USB設(shè)備回答,以讀取全部配置信息。(10)主機(jī)發(fā)送Get_Device_String命令,獲得字符集描述(unicode),比如產(chǎn)商、產(chǎn)品描述、型號(hào)等等。(11)此時(shí)主機(jī)將會(huì)彈出窗口,展示發(fā)現(xiàn)新設(shè)備的信息,產(chǎn)商、產(chǎn)品描述、型號(hào)等。(12)根據(jù)Device_Descriptor和Device_Configuration應(yīng)答,PC判斷是否能夠提供USB的Driver,一般win2k能提供幾大類(lèi)的設(shè)備,如游戲操作桿、存儲(chǔ)、打印機(jī)、掃描儀等,操作就在后臺(tái)運(yùn)行。但是Win98卻不可以,所以在
18、此時(shí)將會(huì)彈出對(duì)話框,索要USB的Driver。(13)加載了USB設(shè)備驅(qū)動(dòng)以后,主機(jī)發(fā)送Set_Configuration(x)命令請(qǐng)求為該設(shè)備選擇一個(gè)合適的配置(x代表非0的配置值)。如果配置成功,USB設(shè)備進(jìn)入“配置”狀態(tài),并可以和客戶軟件進(jìn)行數(shù)據(jù)傳輸。此時(shí),常規(guī)的USB完成了其必須進(jìn)行的配置和連接工作。查看注冊(cè)表,能夠發(fā)現(xiàn)相應(yīng)的項(xiàng)目已經(jīng)添加完畢,至此設(shè)備應(yīng)當(dāng)可以開(kāi)始使用。不過(guò),USB協(xié)議還提供了一些用戶可選的協(xié)議,設(shè)備如果不應(yīng)答,也不會(huì)出錯(cuò),但是會(huì)影響到系統(tǒng)的功能。 USB數(shù)據(jù)流的類(lèi)型分為如下4類(lèi) 控制信號(hào)流:當(dāng)USB設(shè)備加入系統(tǒng)時(shí),USB系統(tǒng)軟件與設(shè)備之間建立起控制信號(hào)流來(lái)發(fā)送控制信號(hào)
19、,這種數(shù)據(jù)不允許出錯(cuò)或丟失。 塊數(shù)據(jù)流:通常用于發(fā)送大量的數(shù)據(jù)。 中斷數(shù)據(jù)流:用于傳送少量的隨機(jī)輸入信號(hào),它包括事件通知信號(hào),輸入字符或坐標(biāo)等。 實(shí)時(shí)數(shù)據(jù)流:用于傳輸連續(xù)的固定速率的數(shù)據(jù),它們所需的帶寬與傳輸數(shù)據(jù)的采樣有關(guān)。與USB數(shù)據(jù)流類(lèi)型對(duì)應(yīng)的有4中基本的傳輸類(lèi)型: 控制傳輸方式:這種方式傳輸?shù)牟皇菙?shù)據(jù)流,而是控制信息流,其中包括設(shè)備控制指令,設(shè)備狀態(tài)查詢(xún)及確認(rèn)(握手信號(hào))。當(dāng)USB設(shè)備收到這些命令數(shù)據(jù)后,將按先進(jìn)先出(FIFO)的原則處理到達(dá)的命令數(shù)據(jù)。 批量傳輸方式:批量傳輸方式可以是單向的,也可以是雙向的。它用于傳輸大批數(shù)據(jù),這種數(shù)據(jù)的實(shí)時(shí)性不強(qiáng),當(dāng)要確保數(shù)據(jù)的正確性。在傳輸?shù)倪^(guò)程中
20、出現(xiàn)錯(cuò)誤重傳。其典型的應(yīng)用是掃描儀、打印機(jī)、靜態(tài)圖片輸入。 中斷傳輸方式:該方式用于數(shù)據(jù)量少,但具有突發(fā)性的一類(lèi)設(shè)備。這些數(shù)據(jù)需要及時(shí)的處理,以達(dá)到實(shí)時(shí)的效果。此方式主要用在鍵盤(pán)和位置點(diǎn)采集(如鼠標(biāo)、數(shù)字化儀器)等設(shè)備。這類(lèi)設(shè)備并不要求因產(chǎn)生數(shù)據(jù)而占用USB總線一段較長(zhǎng)的時(shí)間,只是它們要發(fā)送數(shù)據(jù)時(shí),才必須盡快予以相應(yīng)。 等時(shí)傳輸方式:這個(gè)傳輸方式可以單向的,也可以是雙向的,用于傳輸連續(xù)性、實(shí)時(shí)的數(shù)據(jù)。因此要求傳輸?shù)乃俾使潭?,時(shí)間性強(qiáng),忽略傳送錯(cuò)誤。如視頻設(shè)備、數(shù)字音頻設(shè)備、數(shù)字相機(jī)等。數(shù)據(jù)包中各種域的格式 SYNC域:在全/低速下為8個(gè)字節(jié),而在高速下是32個(gè)字節(jié)。 數(shù)據(jù)包鑒定域(PID):P
21、ID由4個(gè)包類(lèi)型位和4個(gè)校驗(yàn)位組成。PID 類(lèi)型 PID 名 PID3:0 描述 標(biāo)記(Token) 輸出(OUT)輸入(IN)幀開(kāi)始(SOF)建立(SETUP) 0001B1001B0101B1101B在主機(jī)到功能部件的事務(wù)中有地址+端口號(hào)在功能部件到主機(jī)的事務(wù)中有地址+端口號(hào)幀開(kāi)始標(biāo)記和幀號(hào)在主機(jī)到功能部件建立一個(gè)控制管道的事務(wù)中有地址+端口號(hào) 數(shù)據(jù)(DATA) 數(shù)據(jù)0(DATA0)數(shù)據(jù)1(DATA1) 0011B1011B 偶數(shù)據(jù)包PID奇數(shù)據(jù)包PID 握手(Handshake) 確認(rèn)(ACK)不確認(rèn)(NAK)停止(STALL) 0010B1010B1110B 接收器收到無(wú)措數(shù)據(jù)包;接收
22、設(shè)備部不能接收數(shù)據(jù),或發(fā)送設(shè)備不能發(fā)送數(shù)據(jù);端口掛起,或一個(gè)控制管道請(qǐng)求不被支持。 包標(biāo)識(shí)符被分為4個(gè)編碼組:標(biāo)記,數(shù)據(jù),握手和專(zhuān)用。包標(biāo)識(shí)符傳送的前2位(PID)指出了其屬于哪個(gè)組。這說(shuō)明包標(biāo)識(shí)符編碼的分布。專(zhuān)用(Special) 前同步(PRE) 1100B 主機(jī)發(fā)送的前同步字。打開(kāi)到低速設(shè)備的下行總線通信。 端點(diǎn)域Addr0Addr1Addr2Addr3Addr4Addr5Addr6Addr7 地址域:設(shè)備端點(diǎn)是由兩個(gè)域來(lái)定位的:設(shè)備地址和端點(diǎn)號(hào)。Eenp0Eenp1Eenp2Eenp3 設(shè)備的地址域 幀數(shù)量域:幀數(shù)量域是由主機(jī)按每一個(gè)幀來(lái)進(jìn)行增加的11位的域。幀序號(hào)域在到達(dá)其計(jì)數(shù)的最大
23、值7FFH后便進(jìn)行翻轉(zhuǎn),而且在每一個(gè)幀(微幀)的開(kāi)始時(shí)在SOF中送出。 數(shù)據(jù)域:數(shù)據(jù)域可以是01024個(gè)字節(jié),而且必須是一個(gè)取整數(shù)字節(jié)。多重字節(jié)的格式如下圖所示。數(shù)據(jù)字節(jié)是從LSB開(kāi)始進(jìn)行傳送的,數(shù)據(jù)包的大小根據(jù)不同的傳輸類(lèi)型會(huì)有所不同。D7D0D1D2D3D4D5D6D7D0 BYTE N-1 Byte N Byte N+1循環(huán)冗余校驗(yàn):是用來(lái)保護(hù)所有的在標(biāo)志和數(shù)據(jù)包中的非PID標(biāo)志域的。所有的CRC是在執(zhí)行位填充之前由收發(fā)器在各自獨(dú)立的域中完成的。同樣,在接受器端,在填充位被去掉之前,CRC被解碼。標(biāo)記使用了5位的CRC字段,它覆蓋了輸入,建立和輸出標(biāo)記的ADDR和ENDP字段,或SOF標(biāo)
24、記的時(shí)間戳字段。數(shù)據(jù)CRC是作用于數(shù)據(jù)包的數(shù)據(jù)字段上的16位多項(xiàng)式。 標(biāo)志包:由PID、ADDR和ENDP域構(gòu)成,用于確定數(shù)據(jù)包的類(lèi)型:IN、OUT或者SETUP。FieldPIDADDRENDPCRC5bit8745 幀開(kāi)始(Start-of-Frame)包:在全速下以1mS或在高速下以125uS的速率發(fā)出。SOF包中包含8位的PID,11位的幀計(jì)數(shù)位。FieldPIDFrame NumberCRC5bit8115主機(jī)負(fù)責(zé)設(shè)置Setup包內(nèi)的每個(gè)域的值每個(gè)Setup包有8個(gè)字節(jié) 偏移量偏移量 域域 大大小小 值值 描述描述 0 bmRequestType 1 位圖 請(qǐng)求特征:D7: 傳輸方向 0=主機(jī)至設(shè)備 1=設(shè)備至主機(jī)D6.5: 種類(lèi) 0=標(biāo)準(zhǔn) 1=類(lèi) 2=廠商 3=保留D4.0: 接受者 0=設(shè)備 1=接口 2=端點(diǎn) 3=其他4.31=保留 1 bRequest 1 值 具體請(qǐng)求 2 wValue 2 值 字長(zhǎng)域,根據(jù)不同的請(qǐng)求含義改變
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 垃圾站應(yīng)急預(yù)案
- 安全生產(chǎn)法第1條規(guī)定
- 水利工程建設(shè)資金管理辦法
- 生物傳感器與智能系統(tǒng)結(jié)合-洞察及研究
- 整本書(shū)閱讀教學(xué)策略研究
- 工程問(wèn)題導(dǎo)向下的系統(tǒng)設(shè)計(jì)與優(yōu)化研究
- 天然氣輸送管道安全施工技術(shù)研究
- 陶瓷材料在環(huán)保領(lǐng)域的應(yīng)用研究
- 幼兒心理健康教育的游戲化途徑探討
- 海洋科技前沿:浮游生物抑制劑行業(yè)的可行性研究
- 2025年醫(yī)保知識(shí)考試題庫(kù)及答案:醫(yī)保信息化建設(shè)應(yīng)用法律法規(guī)試題
- 陜西省專(zhuān)業(yè)技術(shù)人員繼續(xù)教育2025公需課《黨的二十屆三中全會(huì)精神解讀與高質(zhì)量發(fā)展》20學(xué)時(shí)題庫(kù)及答案
- 藥品管理學(xué)概論(藥品管理學(xué))
- JC∕T 1083-2008 水泥與減水劑相容性試驗(yàn)方法
- 食品工程原理(李云飛)第二章ppt 傳熱
- 二氧化碳?xì)怏w保護(hù)焊.ppt
- 深圳市裝配式建筑住宅項(xiàng)目建筑面積獎(jiǎng)勵(lì)實(shí)施細(xì)則
- ADL常用評(píng)定量表
- 2019年北京市中考數(shù)學(xué)試題(含答案)
- 廣東某高層小區(qū)屋面飄板模板工程專(zhuān)項(xiàng)施工方案
- IPC-A-610F通用焊接標(biāo)準(zhǔn)(經(jīng)典實(shí)用)
評(píng)論
0/150
提交評(píng)論