初識USB
由于項目需求,需要USB這塊,花了幾天時間了解了下USB方面的知識,的确挺難的!USB是個挺難啃的家夥,當時看了一遍看的一頭霧水,不過幾天下來還是有所收獲的。順便記錄下自己學習的過程,一遍以後檢視。
一、USB介紹
USB(Univetsal Serial Bus)的縮寫,即通用串行總線。是現在通訊裝置中不可或缺的一部分,可以這麼說,電子工程師不懂USB那就太OUT了。
二、USB的發展史
Ø1994年 Philips公司 Access.Bus規範(USB的前身) Ø1996年 Compaq、Intel、Microsoft、NEC USB1.0規範 Ø1997年 USB1.1規範 Ø2000年 USB2.0規範 Ø2002年 USB OTG規範 三、USB的特點 1)優點: Ø可以熱插拔:告别“并口和序列槽先關機,将電纜接上再開機”的動作。 Ø系統總線供電:可提供5V/500mA電源。 Ø支援裝置衆多:例如滑鼠,鍵盤,列印機,顯示器等。 Ø擴充容易,通過Hub可以連接配接多個裝置隻PC機 Ø高速資料傳輸:USB1.1是12Mb/s,USB2.0高達480Mb/S(ps210Mb/s/并口8Mb/s、R- 23220Kb/s) Ø友善的裝置互連:USBOTG支援點對點通信,例如數位相機和列印機直接互連,無 需PC斷開連接配接。 2)缺點: Ø供電能力差:高功率裝置必須外接電源,例如:列印機 Ø傳輸距離短:USB總線的連線長度最大為5m,即便是用HUB來擴充最遠也不超過 30m,距離越遠資料傳輸誤差越大! 不過對于這次做空中滑鼠來說,還是挺好的。這些影響基本沒有。
四、USB的工作原理 1)USB識别過程 以前的确很好奇,往電腦插個滑鼠,它就能識别出滑鼠來,插個鍵盤就能識别很出是鍵盤,插個U盤就能識别出U盤,太神奇了,心中充滿了好奇,一直想找個機會了解下,這回,終于懂了,USB是如何識别的,呵呵! 在USB的原理圖設計時,必須給D+和D-端接上連個電阻:
D+和D-是兩個差分信号線。 D+ 減 D-進行區分,可以看到區分度還是挺大的。
在裝置連結主機時,會檢測裝置電平,如果檢測到在D+上有上拉電阻說明是全速裝置,如果檢測到在D-上有上拉電阻說明是低速裝置。 識别過程是一個枚舉過程。 首先裝置上電---USB裝置會自動複位(将自己的位址初始化為0(包括裝置位址和端口位址))---主機檢測到複位了(檢測到位址為0 的裝置)---主機要求USB提供裝置址,此時USB裝置會将自己的一些描述符發送給主機(電腦),在這些描述符中包括,生産廠商、名字、幹什麼的、屬于什麼類别(比如U盤、滑鼠……)……,接着主機會查找自己的目前沒有占用的位址配置設定給裝置,包括端口位址、裝置位址-----想剛配置設定的位址發送索取資訊--包括描述符(比如是U盤的話,索取U盤的大小、什麼牌子等等),然後就可進行其他通訊了。想象還是挺神奇的,USB枚舉居然做了這麼多的事情。 在枚舉完成後,主機會給裝置安裝驅動程式,這也是我們經常可以看到的,剛買的滑鼠、鍵盤或U盤插入電腦後會提示正在安裝驅動,當驅動程式安裝完成後就可以記性相關的操作了。 2)描述符類型 在USB枚舉過程中,主機要求裝置提供描述符,描述符主要有一下幾個: 标準的(通用的)描述符主要有: 裝置描述符:屬于什麼裝置 配置描述符: 接口描述符: 端點描述符:有多少個端口 字元串描述符:告訴USB英文的一個表述:比如U盤的名字,KingSton(金士頓) 以上描述符的詳細資訊會在後面講解。
技術在于分享、交流……
Email: [email protected]
QQ:936563422