<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > USB學(xué)習系列之二——USB設備的插入檢測機制

USB學(xué)習系列之二——USB設備的插入檢測機制

作者: 時(shí)間:2016-12-14 來(lái)源:網(wǎng)絡(luò ) 收藏
1.USB的插入檢測機制:USB端口的D+和D-均用一個(gè)15k的電阻接地,當無(wú)設備接入時(shí),均處于低電平;在設備端在D+(表示高速設備或者全速設備)或者D-(表示低速設備)接了一個(gè)1.5k的上拉電阻到+3.3v,一旦將設備接入,USB端口的D+或者D-其中一個(gè)被拉高為3v,系統識別到外部設備接入。

注意:高速設備首先會(huì )被識別為全速設備,然后再通過(guò)集線(xiàn)器和設備二者的確認最后切換到高速模式下。

本文引用地址:http://dyxdggzs.com/article/201612/330046.htm

在高速模式下,采用的是電流傳輸模式,這個(gè)時(shí)候上拉電阻需要從D+上斷開(kāi)。

2.當設備沒(méi)有枚舉成功時(shí)(可以通過(guò)一個(gè)10K的電阻將USB的電源端和D+或者D-連接起來(lái),電腦會(huì )發(fā)現一個(gè)無(wú)法識別的設備,這個(gè)設備的PID和VID都是0,根據每個(gè)特性可以簡(jiǎn)單的判定設備的枚舉是否成功。

3.一個(gè)具體的USB實(shí)現什么功能,USB主機并不知道。USB主機通過(guò)讀取USB的設備描述符來(lái)獲取設備的類(lèi)型、廠(chǎng)商的ID和產(chǎn)品的ID(通常依靠它們來(lái)加載對應的驅動(dòng)程序)、端點(diǎn)情況、版本號等眾多信息。

4.USB1.1協(xié)議定義的標準描述符有設備描述符(DeviceDescriptor)、配置描述符(ConfigurationDescriptor)、接口描述符(InterfaceDescriptor)、端點(diǎn)描述符(EndpointDescriptor)和字符串描述符(StringDescriptor)。

USB2.0相比于USB1.1新增加的兩個(gè)描述符:限定符描述符(QualifierDescriptor)和其他速度配置描述符(OtherSpeedConfigurationDescriptor)。

5.一個(gè)USB設備只有一個(gè)設備描述符。

設備描述符里面決定了該設備有多少種配置,每種配置都有一個(gè)配置描述符;

而在每個(gè)配置描述符中又定義了該配置有多少個(gè)接口,每個(gè)接口都有一個(gè)接口描述符;

在接口描述符里面又定義了該接口有多少個(gè)端點(diǎn),每個(gè)端點(diǎn)都有一個(gè)端點(diǎn)描述符,端點(diǎn)描述符定了端點(diǎn)的大小、類(lèi)型等。

如果有類(lèi)特殊描述符,它跟在相應的接口描述符之后。

注意:USB主機獲取描述符時(shí),從上到下逐層獲取。對于字符串描述符,USB主機是單獨獲取的,主機通過(guò)發(fā)送獲取字符串中描述符的請求以及描述符的索引號、語(yǔ)言ID來(lái)獲取對應的字符串描述符。

6.設備描述符:設備所使用的USB協(xié)議版本號、設備類(lèi)型、端點(diǎn)0的最大包大小、廠(chǎng)商ID(VID)和產(chǎn)品ID(PID)、設備版本號、廠(chǎng)商字符串索引、產(chǎn)品字符串索引、設備序列號索引、可能的配置數等。

配置描述符:記錄配置所包含的接口數、配置的編號、供電方式、是否支持遠程喚醒、電流需求量等。

接口描述符:記錄接口的編號、接口的端點(diǎn)數、接口所使用的類(lèi)、子類(lèi)、協(xié)議等。

端點(diǎn)描述符:端點(diǎn)號及方向、端點(diǎn)的傳輸類(lèi)型、最大包長(cháng)度、查詢(xún)時(shí)間間隔等。

字符串描述符:提供一些方便人們閱讀的信息,它不是必需的。

7.與USB設備進(jìn)行通信時(shí)需要的地址:設備的地址和端點(diǎn)的地址。配置和接口是為了更加方便的管理端點(diǎn)抽象出來(lái)的概念。一個(gè)設備可以有多個(gè)配置,但是一個(gè)時(shí)刻只能有一個(gè)配置有效;每個(gè)配置下又可以有多個(gè)接口,一個(gè)接口下面可以有多個(gè)端點(diǎn)。

8.具有多個(gè)接口,并由接口來(lái)實(shí)現功能的設備叫做USB復合設備。例如一個(gè)USB音頻設備,它具有一個(gè)音頻控制接口,另外還有一個(gè)到多個(gè)音頻流或者M(jìn)IDI流接口。在主機端會(huì )把USB復合設備的每個(gè)接口當做一個(gè)功能設備來(lái)看待,常見(jiàn)的USB鼠標,U盤(pán)等通常是單一的設備,即一個(gè)設備下只有一個(gè)配置描述符、一個(gè)接口描述符。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>