



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、USB 的工作原理及數(shù)據(jù)包格式一概述對于 USB 的工作我這里做個比方,主機好比一個公司,你就是 USB備,要進入公司首先要面試(枚舉),你到了面試現(xiàn)場(第一次插入設備),面試官首先了解到你的外表,性別已經(jīng)你要應聘的崗位(設備描述符),然后給你一個號,以后就開始按號叫人,當你被叫到就開始問你的專業(yè)知識,性格等(配置描述符),如果你比較合適(通過了枚舉)你就會錄取了,并且注冊一個你的信息到公司(驅(qū)動安裝,并且寫入注冊表)。等你下次來公司,只要把工號(PID,VID)報上,就知道是你來了。USB 的概念歷史啥的這里就不說了。我們先不管具體的數(shù)據(jù)包格式,這一節(jié)先從整個包的層面上簡單的說,過程是這樣的
2、,設備插入1) 主機會輪回查詢各個 USB口, 主機檢測到 D+WD-之間有電壓差, 就認為有新的設置接入。主機等待 100ms 后發(fā)出復位請求。設備接到復位請求后將產(chǎn)生一個外部中斷信號。枚舉過程2)主機這時候只是知道有新的設備插入了,但是不知道插進來個什么東西,所以就開始詢問它是什么設備,怎么用,負荷能力怎么樣。這個時侯就進入了枚舉過程。因為剛剛插入的設備沒有分配地址,就用默認地址 0,首先發(fā)送一個 Get_descriptor(獲取設備描述符)指令包,設備接到包后就開始解析包(其實就是你在固件程序里判斷處理),然后按固定格式返回自己設備的設備描述符,這一步主要是主機知道你的 USB備的基礎
3、屬性,比如支持的傳輸數(shù)據(jù)長度,電流負荷多少,支持那個 USB本,以及以后方便電腦找驅(qū)動的 PID,VID。3)這時候主機知道你(你做的設備,簡稱你吧)的數(shù)據(jù)長度還有電流大小后,下一步就是給你分配一個屬于你的地址。4)給你一個地址后就開始詢問你的具體配置。首先發(fā)送一個試探性的設備配置請求Get_configuration(要求固定返回 9 個設備配置字),你接到后就開始發(fā)送 9 字節(jié)的設備配置字,其中包括你的配置字的總長度, 這樣主機就知道你的配置到底有多長,然后再發(fā)一次設備配置請求,這時你就開始上傳所有的配置字。這個時侯主機就已經(jīng)很明白你的工作方式就各種特性,然后就可以正常工作了5)如果你在前
4、面的某些配置(以后章節(jié)詳細說明)要求要說明自己的名字什么的,這里還要上傳字符串描述符。6)如果是鼠標或者鍵盤還要上傳報告描述符正常數(shù)據(jù)階段7)這個時侯你已經(jīng)被主機正式接受并且注冊了,你可以通過自己寫測驅(qū)動或通用驅(qū)動與電腦進行通訊了。以上是簡單的描述,詳細的后面章節(jié)再做介紹,學習一個東西關鍵是首先要知道這個東西是什么,簡單的工作原理。對于 USB 專輸大體有個概念, 下一步就來看看到底 USB 上傳的什么東西, 以什么格式傳數(shù)據(jù),先不涉及端點的概念。US 吸據(jù)格式各種總線的數(shù)據(jù)傳輸都是以固定的層次協(xié)議進行的,USB 當然也不例外。所謂的層次也只是個抽象的概念罷了,就是表達一種依附關系,上層要依賴
5、與底層,上層以底層為基礎,上層只需要關心自己的東西就行了,如果你還不明白,那就繼續(xù)看,學習一個東西不可能一兩句話說的明白一個點,需要全面了解后才能清楚各個點。要實現(xiàn)兩個機器(機器的范圍比較廣,可以是電腦,交換機,單片機)的通信總是要有一個載體才可以,對于機器當然是電平高低為載體,具體的說機器甲要告訴機器乙一件事情(比如說一條指令),那么機器甲可以通過一根線(串行數(shù)據(jù)總線)連到機器乙的一個 IO 口上,甲發(fā)送一個個的高低電平,乙固定時間檢測自己的這個 IO 口,然后逐個記錄下放到自己的緩沖里,這樣乙就收到甲送的數(shù)據(jù)了。上述就是一個簡單的數(shù)據(jù)鏈路層(計算機網(wǎng)絡里這么叫)的描述,這一層要保證的就是甲
6、發(fā)的每一位數(shù)據(jù),乙都可以正確及時的接受,并且對在傳輸過程中出錯的數(shù)據(jù)做出反應。其實比數(shù)據(jù)連路更底層的還有物理層,這就是真正的物理介質(zhì),對于機器就是電線了,數(shù)據(jù)就是電線上傳輸?shù)碾妷?,USB 是用的四線,兩個電源(5V,地線),兩個數(shù)據(jù)線(D+,D-)o這里也打個比方,比如人與人進行交流,我們當然是通過說話了,物理層就是空氣和傳輸?shù)穆暡?,?shù)據(jù)鏈路層就是我們說的每一個字,物理層就是空氣,負責把我們說的話轉換成聲波傳給對方,數(shù)據(jù)鏈路層負責讓對方能正確的聽到每個字,如果聽的不清可以告訴對方重新說一遍。經(jīng)過上述的兩個底層,就可以保證每一位數(shù)據(jù)可以正確的傳到對方那里去。下一步的工作當然是解析數(shù)據(jù)代表了什么,
7、一般來說,數(shù)據(jù)都是以一審數(shù)為單位,一般稱為一個包,機器間傳輸都是以一個包為單位傳出,就像人們說話都是以一句話為單位輸出一樣。每一個包包含有許多位數(shù)據(jù),這些數(shù)據(jù)又分段表示不同的意義,如圖一,這是一個 US 的牌階段的包,Sync 是同步數(shù)據(jù)(相當于說話時先打個招呼,告訴對方要跟他說話了),PID 是包標示(告訴對方這個包是干什么用的),ADD 思對方的地址(叫對方的名字),END 思用端點幾通訊(先不介紹這個),CRC 思校驗位(判斷這個包是否在傳輸中出錯),0 比包結束。I1|Sync|PID|ADDR|ENDP|CRC5|EOP|I|圖一USB 的數(shù)據(jù)包又分為三種,一個是令牌包,一個是數(shù)據(jù)包
8、,另一個是握手包。每一次的 USB通訊事務處理都是以令牌包開頭,告訴對方要跟誰說話,這句話是用來干嘛的。如果要求有數(shù)據(jù)傳輸,則下一步就是數(shù)據(jù)包,另外如果要求對方要有反饋,則會發(fā)出握手包。令牌包又簡單的包括OUTIN,STEP 三種類型,0U 說用于主機告訴設備主機要向 USB備發(fā)送數(shù)據(jù),IN 是用于主機告訴設備要上傳數(shù)據(jù),而 STEUP!用于主機向 USBS 備發(fā)送配置信息,在枚舉過程中會用到。另外數(shù)據(jù)包和握手包的具體格式什么的,可以參照詳細的協(xié)議??梢钥吹皆谒缘耐ㄓ嵾^程中,主機都是發(fā)起者,不管是主機發(fā)送數(shù)據(jù)到 USB備還是USBS 備發(fā)送數(shù)據(jù)到主機,都必須收主機控制。圖二為一次事務的過程。令牌階段一一數(shù)據(jù)階段一一握手階段圖二這個過程可以這樣描述,甲和乙對話,甲是老板,乙是職員。第一節(jié)已經(jīng)講過了,乙面試就是枚舉, 在這個過程中, 甲多段的發(fā)送 STE 吟牌包給乙, 乙收到后如果要反饋數(shù)據(jù), 就發(fā)數(shù)據(jù)包給甲,甲正確接收后,跟甲握握手,表示這次對話成功。乙被正式錄取后,甲會分派任務(OUT,這時甲對乙說有任務給你(令
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《數(shù)理統(tǒng)計》第8章 正態(tài)總體均值的假設檢驗
- 異地采集指紋辦理流程
- 中醫(yī)診斷學培訓課件
- 維修電工高級試題含答案(附解析)
- 計算機基礎模擬考試題與參考答案解析
- 為老年人提供必要的醫(yī)療和健康服務確保他們得到及時治療和關懷
- 2024年5月配電線路工專業(yè)試題+參考答案解析
- 5月1+x無損檢測模擬試題與答案(附解析)
- 種子種苗遺傳改良方法考核試卷
- 如何培養(yǎng)自律的孩子家庭教育
- 2023年上海市浦東新區(qū)中考語文二模試卷
- OECD -二十國集團 經(jīng)合組織公司治理原則2023
- 中輻放射性藥物貯存及銷售項目環(huán)評資料環(huán)境影響
- DB1503∕T 01-2018 礦山排土場連片治理規(guī)范
- 新疆公共建筑節(jié)能設計標準
- 2024年餐廳服務員(高級)職業(yè)鑒定理論考試題庫(含答案)
- 金屬非金屬礦山尾礦庫安全生產(chǎn)標準化定級評分標準2023版
- GB/T 10433-2024緊固件電弧螺柱焊用螺柱和瓷環(huán)
- 2《歸去來兮辭并序》公開課一等獎創(chuàng)新教案統(tǒng)編版高中語文選擇性必修下冊
- 道路交通設施紅綠燈運維投標方案(技術方案)
- 數(shù)獨題目高級50題(后附答案)
評論
0/150
提交評論