資料介紹
本文以一個實際USB設備枚舉的數據過程,講述了USB協議中的一些關鍵概念和重要的數據結構、時序;在此基礎上,簡單介紹本系統的硬件設計,然后圍繞如何實現USB設備枚舉,從底層到高層詳細地介紹了本系統的軟件設計。
關鍵詞:USB主機? SL811HS? 51單片機? 枚舉? 嵌入式
1.前言
USB(通用串行總線)是最近幾年逐步在PC領域廣為應用的新型接口技術。USB接口通用性好、實時性強、傳輸方式多樣、成本低、易于擴展且便于使用,這些優點使它受到許多硬件廠商的青睞,其相關設備種類越來越多,數量越來越大。
然而,USB的拓撲結構中居于核心地位的是主機,任何一次USB的數據傳輸都必須由主機來發起和控制,所有的USB外設都只能和主機建立連接,任何兩個外設之間無法直接通信。目前,大量扮演主機角色的是個人電腦PC機。目前使用的USB移動設備,如U盤,MP3隨身聽,USB接口的移動硬盤、移動光驅及數碼相機等等,都只能在PC機上使用,只能通過PC機來進行數據傳輸和文件交換,這無疑給USB移動設備的應用帶來了局限性。
因此,如果能拋開PC機,使用輕便、廉價的設備就能讀寫操作USB外設,這將拓寬USB接口的應用范圍,使人們享受更多更方便的USB接口電子產品。本設計使用51系列單片機對USB主機接口芯片SL811HS進行控制,實現了USB主機的一項重要功能:枚舉USB設備。
2.關于USB協議
在本設計中,由于采用了USB主機的接口芯片,所以不需要詳細了解USB傳輸的底層物理特性,但必須深入理解USB的數據傳輸的協議層,具體來說,就是USB傳輸中數據包,數據字段的格式和時序是如何的。
2.1設備的枚舉
主機對USB設備的枚舉指的是主機對設備的檢測和配置。
在說明主機的枚舉功能前,需要說明一下USB傳輸的數據基本結構和格式。
從表1可見,在USB的數據傳輸中:
主要有四種傳輸事務類型(控制、批量、中斷、同步),而主機枚舉設備的功能是只需要通過控制傳輸實現的。
控制傳輸有三個傳輸階段(建立、數據、狀態,其中數據階段是可選的)。
每個傳輸階段又由三個包組成(令牌包、數據包、握手包、特殊包)。
表 1? USB傳輸的數據基本結構和格式
傳輸事務類型?階段?包
控制?建立?令牌包
??數據包
??握手包
?數據?令牌包
??數據包
??握手包
?狀態?令牌包
??數據包
??握手包
批量?(不分階段)?令牌包
??數據包
??握手包
中斷?(同上)
同步?(同上)
其中,包是由域來組成的,共有7種域,每種域的子類型如下表所列:
表 2? 域和域的子類型
域類型名?域子類型名
同步域?SYNC
標識域(PID)?SETUP、OUT、IN、SOF、
DATA0、DATA1、
ACK、NAK、STALL、
PRE
地址域?ADDR
端點域?ENDP
幀號域?FRAM
數據域?DATA
校驗域?CRC5、CRC16
其中,同步域的實際二進制編碼為”_0000 0001”;另外,每個包是以SE0態作為結束標志的。
下面,就以一個實際設備枚舉的全過程為例,說明USB數據傳輸的一些具體細節(在這里,將不列出每個包的同步域和結束標志)。
2.1.1主機檢測到有設備插上,總線復位
當設備與主機連接時,主機就會檢測到一個連接條件(USB接口芯片向CPU發出中斷請求),主機就開始進行總線復位(主機強制輸出SE0,即強制把D+和D-兩信號線拉為低電平)。
- AN1140USB嵌入式主機棧 3次下載
- 基于USB嵌入式主機棧 4次下載
- 開發嵌入式USB主機擴展移動數據存儲和交換的應用領域 8次下載
- 嵌入式USB MiniHost系統設計與實現 47次下載
- 基于嵌入式USB主機的飛控數據記錄器設計 58次下載
- 嵌入式USB主機系統的研究與設計
- ARM和LINUX系統下嵌入式USB主機的設計
- 基于單片機的嵌入式USB主機系統的實現
- 基于TTL串口的嵌入式USB主機系統的設計和實現
- 基于SL811HST和S3C4510B的嵌入式USB主機與設
- 基于U盤的單片機低功耗海量存儲系統
- 基于ARM 和μC/OS-II的嵌入式USB主機設計與應用
- 嵌入式usb主機系統的研究與設計
- 開發”嵌入式usb主機“擴展移動數據存儲和交換的應用領域
- MAX3301E-MAX3302E中文資料.pdf
- 嵌入式fpga是什么意思 992次閱讀
- fpga是嵌入式嗎 1768次閱讀
- 什么是嵌入式系統?嵌入式系統的具體應用 2096次閱讀
- 簡化USB嵌入式主機和外設應用的硬件和軟件組合 873次閱讀
- 基于嵌入式技術的單芯片USB解決方案 998次閱讀
- firefly EC-A3288C四核小型嵌入式主機規格 1147次閱讀
- 嵌入式FIFO數據傳輸系統詳解 4142次閱讀
- 關于嵌入式系統以及嵌入式平臺下的學科分工詳解 1855次閱讀
- 嵌入式行業發展狀況_嵌入式行業人才需求_嵌入式系統就業前景分析 2.3w次閱讀
- 基于嵌入式USB主機和ZigBee技術無線音響系統設計實現 2789次閱讀
- 嵌入式USB主機系統設計 1913次閱讀
- 基于PIC32的嵌入式USB主機系統設計 1009次閱讀
- 學習嵌入式要什么基礎 4060次閱讀
- 嵌入式應用的 USB 3.0 鏈路共享 2266次閱讀
- 典型的嵌入式系統設計 2650次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 93次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多