<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è) > 嵌入式系統 > 設計應用 > LPC1114/LPC11U14和LPC1343對比學(xué)習(八)USB

LPC1114/LPC11U14和LPC1343對比學(xué)習(八)USB

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏
這3種芯片的功能非常多,到此基本上我們已經(jīng)介紹完成,只有AD、WDT等沒(méi)有介紹,鑒于其難度不大這方面的內容就不再說(shuō)明。下面將進(jìn)行終極篇的學(xué)習----USB學(xué)習,由于USB難度非常大,這一貼可能會(huì )編寫(xiě)很長(cháng)時(shí)間,這里將主要學(xué)習HID的應用。

LPC1114沒(méi)有USB功能,所以這里只能針對LPC1343和LPC11U14進(jìn)行說(shuō)明。對于這兩種有USB功能的芯片其還是區 別,LPC1343內部集成了USB驅動(dòng),而LPC11U14沒(méi)有此功能,所以L(fǎng)PC1343USB開(kāi)發(fā)比較簡(jiǎn)單一點(diǎn),價(jià)格也要貴一點(diǎn)。為了編寫(xiě)出通用的 USB驅動(dòng)代碼,這里將先對LPC11U14 USB進(jìn)行學(xué)習,之后在移植到LPC1343。

本文引用地址:http://dyxdggzs.com/article/201611/322527.htm

鑒于USB開(kāi)發(fā)難度,這里將不會(huì )從零開(kāi)始開(kāi)發(fā)USB驅動(dòng),我們將對NXP設計的USB驅動(dòng)進(jìn)行學(xué)習,并改進(jìn)成一個(gè)自定義的HID,應用在自己的項目中。

USB HID(NXP原廠(chǎng)代碼).rar

對于USB的硬件設計非常簡(jiǎn)單,具體設計如下圖所示:

1. 除了連接好USB的兩路差分信號線(xiàn)外,還必須連接好電源,對于P0_3是非常重要,不管是否使用USB電源供電,此管腳必須接高電平,否則無(wú)法設別USB設備。而且,如果要應用USB ISP功能,此管腳也必須接高電平。

2. P0_6管腳為軟件連接端口,可以通過(guò)此管腳連接或斷開(kāi)USB設備。

3. 全速和高速設備的上拉電阻接在D+端,而低速設備是接在D-端的。

4. USB設備取電:在設備沒(méi)有配置之前最多只能從Vbus上獲取100mA電流,電流的大小是由設備配置的,配置后最多可獲取500mA電流。

USB基礎知識:

1. 在USB1.0和USB1.1中只支持1.5M/s的低速模式和12M/s的全速模式,在USB2.0中又加入了480M/b的高速模式,而在USB3.0中速度到達5GB/s。

2. USB集成器只能擴展USB接口,而能擴展帶寬,一個(gè)主控制器的帶寬是固定的。

3. 在USB1.1中集成器最多4層,USB2.0中最多6層。

4. 低速和全速模式下采用電壓差分傳輸信號,在高速模式下,采用電流傳輸。

5. USB采用NRZI編碼方式,0數據電平翻轉,1數據電平不翻轉。

USB的描述符應該是USB開(kāi)發(fā)主重要的部分,如果能夠正確的配置好描述符,USB開(kāi)發(fā)就完成了一半了。

描述符:

對于HID設備的描述除了5個(gè)USB的標準描述:設備描述符、配置描述符、接口描述符、端點(diǎn)描述符、字符串描述符。

HID設備還有3個(gè)特點(diǎn)描述符:HID描述符、報告描述符、實(shí)體描述符。

在5個(gè)標準描述符中與HID設備有關(guān)的部分有:

1. 設備描述符中bDeviceClass、bDeviceSubClass、bDeviceProtocol三個(gè)字段的值必須為零。

2. 接口描述符中bInterfaceClass的值必須為0x03,bInterfaceSubClass的值為1時(shí)表示Boot Device,即表示HID是一個(gè)啟動(dòng)設備。

面的描述符之間有一定的關(guān)系,一個(gè)設備只有一個(gè)設備描述符,而一個(gè)設備描述符可以包含多個(gè)配置描述符,而一個(gè)配置描述符可以包含多個(gè)接口描述符,一個(gè)接口使用了幾個(gè)端點(diǎn),就有幾個(gè)端點(diǎn)描述符。這間描述符是用一定的字段構成的,分別如下說(shuō)明:

報表描述符

報表描述符定義了執行設備功能的數據格式和使用方法。

報表描述符和USB的其他描述符是不一樣的,它不是一個(gè)簡(jiǎn)單的表格,報表描述符是USB所有描述符中最復雜的。報表描述符非常復雜而有彈性,因為它需要處理各種用途的設備。報表的數據必須以簡(jiǎn)潔的格式來(lái)儲存,這樣才不會(huì )浪費設備內的儲存空間以及數據傳輸時(shí)的總線(xiàn)時(shí)間。

實(shí)際上可以這樣理解,報表內容的簡(jiǎn)潔,是通過(guò)報表描述符全面的、復雜的數據描述實(shí)現的。

報表描述符必須先描述數據的大小與內容。報表描述符的內容與大小因設備的不同而不同,在進(jìn)行報表傳輸之前,主機必須先請求設備的報表描述符,只有得到了報表描述符才可正確解析報表的數據。

報表描述符是報表描述項目(Item)的集合,每一個(gè)描述項目都有相對統一的數據結構,項目很多,通過(guò)編碼實(shí)現。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: LPC1114LPC11U14LPC1343US

評論


技術(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>