資料介紹
本文以一個實際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是什么意思 2.8k次閱讀
- fpga是嵌入式嗎 4.8k次閱讀
- 什么是嵌入式系統?嵌入式系統的具體應用 4k次閱讀
- 簡化USB嵌入式主機和外設應用的硬件和軟件組合 2.1k次閱讀
- 基于嵌入式技術的單芯片USB解決方案 1.4k次閱讀
- firefly EC-A3288C四核小型嵌入式主機規格 1.9k次閱讀
- 嵌入式FIFO數據傳輸系統詳解 4.9k次閱讀
- 關于嵌入式系統以及嵌入式平臺下的學科分工詳解 2.4k次閱讀
- 嵌入式行業發展狀況_嵌入式行業人才需求_嵌入式系統就業前景分析 2.5w次閱讀
- 基于嵌入式USB主機和ZigBee技術無線音響系統設計實現 3.7k次閱讀
- 嵌入式USB主機系統設計 2.6k次閱讀
- 基于PIC32的嵌入式USB主機系統設計 1.3k次閱讀
- 學習嵌入式要什么基礎 4.6k次閱讀
- 嵌入式應用的 USB 3.0 鏈路共享 2.9k次閱讀
- 典型的嵌入式系統設計 3.1k次閱讀
下載排行
本周
- 1MDD品牌三極管MMBT3906數據手冊
- 2.33 MB | 次下載 | 免費
- 2MDD品牌三極管S9012數據手冊
- 2.62 MB | 次下載 | 免費
- 3聯想flex2-14D/15D說明書
- 4.92 MB | 次下載 | 免費
- 4收音環繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 524Pin Type-C連接器設計報告
- 1.06 MB | 次下載 | 免費
- 6新一代網絡可視化(NPB 2.0)
- 3.40 MB | 次下載 | 免費
- 7MS1000TA 超聲波測量模擬前端芯片技術手冊
- 0.60 MB | 次下載 | 免費
- 8MS1022高精度時間測量(TDC)電路數據手冊
- 1.81 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論