新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > LPC1114/LPC11U14和LPC1343對比學習(八)USB

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

        作者: 時間:2016-11-27 來源:網絡 收藏
        這3種芯片的功能非常多,到此基本上我們已經介紹完成,只有AD、WDT等沒有介紹,鑒于其難度不大這方面的內容就不再說明。下面將進行終極篇的學習----USB學習,由于USB難度非常大,這一貼可能會編寫很長時間,這里將主要學習HID的應用。

        LPC1114沒有USB功能,所以這里只能針對LPC1343和LPC11U14進行說明。對于這兩種有USB功能的芯片其還是區 別,LPC1343內部集成了USB驅動,而LPC11U14沒有此功能,所以LPC1343USB開發比較簡單一點,價格也要貴一點。為了編寫出通用的 USB驅動代碼,這里將先對LPC11U14 USB進行學習,之后在移植到LPC1343。

        本文引用地址:http://www.104case.com/article/201611/322527.htm

        鑒于USB開發難度,這里將不會從零開始開發USB驅動,我們將對NXP設計的USB驅動進行學習,并改進成一個自定義的HID,應用在自己的項目中。

        USB HID(NXP原廠代碼).rar

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

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

        2. P0_6管腳為軟件連接端口,可以通過此管腳連接或斷開USB設備。

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

        4. USB設備取電:在設備沒有配置之前最多只能從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接口,而能擴展帶寬,一個主控制器的帶寬是固定的。

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

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

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

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

        描述符:

        對于HID設備的描述除了5個USB的標準描述:設備描述符、配置描述符、接口描述符、端點描述符、字符串描述符。

        HID設備還有3個特點描述符:HID描述符、報告描述符、實體描述符。

        在5個標準描述符中與HID設備有關的部分有:

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

        2. 接口描述符中bInterfaceClass的值必須為0x03,bInterfaceSubClass的值為1時表示Boot Device,即表示HID是一個啟動設備。

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

        報表描述符

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

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

        實際上可以這樣理解,報表內容的簡潔,是通過報表描述符全面的、復雜的數據描述實現的。

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

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


        上一頁 1 2 3 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 资阳市| 临颍县| 思茅市| 政和县| 方正县| 宕昌县| 汉川市| 乐东| 武城县| 南丹县| 土默特左旗| 佳木斯市| 洱源县| 玉龙| 呼玛县| 通化县| 邵阳市| 潼南县| 安丘市| 枞阳县| 稷山县| 辽阳市| 手游| 武川县| 保山市| 枣阳市| 张北县| 凤山市| 湘阴县| 晋中市| 理塘县| 响水县| 屏东市| 宁波市| 富平县| 曲阳县| 阳山县| 华阴市| 临泽县| 阿尔山市| 金坛市|