日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

USB工作原理

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 USB工作原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

USB的工作原理及數據包格式??一?概述?對于USB的工作我這里做個比方,主機好比一個公司,你就是USB設備,要進入公司首先要面試(枚舉),你到了面試現場(第一次插入設備),面試官首先了解到你的外表,性別已經你要應聘的崗位(設備描述符),然后給你一個號,以后就開始按號叫人,當你被叫到就開始問你的專業知識,性格等(配置描述符),如果你比較合適(通過了枚舉)你就會錄取了,并且注冊一個你的信息到公司(驅動安裝,并且寫入注冊表)。等你下次來公司,只要把工號(PID,VID)報上,就知道是你來了。?USB的概念歷史啥的這里就不說了。我們先不管具體的數據包格式,這一節先從整個包的層面上簡單的說,過程是這樣的,??

設備插入?

1)主機會輪回查詢各個USB端口,主機檢測到D+與D-之間有電壓差,就認為有新的設置接入。主機等待100ms后發出復位請求。設備接到復位請求后將產生一個外部中斷信號。??

枚舉過程?

2)主機這時候只是知道有新的設備插入了,但是不知道插進來個什么東西,所以就開始詢問它是什么設備,怎么用,負荷能力怎么樣。這個時侯就進入了枚舉過程。因為剛剛插入的設備沒有分配地址,就用默認地址0,首先發送一個Get_descriptor(獲取設備描述符)指令包,設備接到包后就開始解析包(其實就是你在固件程序里判斷處理)?,然后按固定格式返回自己設備的設備描述符,這一步主要是主機知道你的USB設備的基礎屬性,比如支持的傳輸數據長度,電流負荷多少,支持那個USB版本,以及以后方便電腦找驅動的PID,VID。


?3)?這時候主機知道你(你做的設備,簡稱你吧)的數據長度還有電流大小后,下一步就是給你分配一個屬于你的地址。


?4)?給你一個地址后就開始詢問你的具體配置。首先發送一個試探性的設備配置請求Get_configuration(要求固定返回9個設備配置字),你接到后就開始發送9字節的設備配置字,其中包括你的配置字的總長度,這樣主機就知道你的配置到底有多長,然后再發一次設備配置請求,這時你就開始上傳所有的配置字。這個時侯主機就已經很明白你的工作方式最全最熱最專業的文檔類資源,文庫一網打盡 就各種特性,然后就可以正常工作了?


5)?如果你在前面的某些配置(以后章節詳細說明)要求要說明自己的名字什么的,這里還要上傳字符串描述符。


?6)?如果是鼠標或者鍵盤還要上傳報告描述符??正常數據階段?


7)?這個時侯你已經被主機正式接受并且注冊了,你可以通過自己寫測驅動或通用驅動與電腦進行通訊了。???以上是簡單的描述,詳細的后面章節再做介紹,學習一個東西關鍵是首先要知道這個東西是什么,簡單的工作原理。?對于USB傳輸大體有個概念,下一步就來看看到底USB上傳的什么東西,以什么格式傳數據,先不涉及端點的概念。??USB數據格式?各種總線的數據傳輸都是以固定的層次協議進行的,USB當然也不例外。

所謂的層次也只是個抽象的概念罷了,就是表達一種依附關系,上層要依賴與底層,上層以底層為基礎,上層只需要關心自己的東西就行了,如果你還不明白,那就繼續看,學習一個東西不可能一兩句話說的明白一個點,需要全面了解后才能清楚各個點。?要實現兩個機器(機器的范圍比較廣,可以是電腦,交換機,單片機)的通信總是要有一個載體才可以,對于機器當然是電平高低為載體,具體的說機器甲要告訴機器乙一件事情(比如說一條指令),那么機器甲可以通過一根線(串行數據總線)連到機器乙的一個IO口上,甲發送一個個的高低電平,乙固定時間檢測自己的這個IO口,然后逐個記錄下放到自己的緩沖里,這樣乙就收到甲送的數據了。


上述就是一個簡單的數據鏈路層(計算機網絡里這么叫)的描述,這一層要保證的就是甲發的每一位數據,乙都可以正確及時的接受,并且對在傳輸過程中出錯的數據做出反應。其實比數據連路更底層的還有物理層,這就是真正的物理介質,對于機器就是電線了,數據就是電線上傳輸的電壓,USB是用的四線,兩個電源(5V,地線),兩個數據線(D+,D-)。?這里也打個比方,比如人與人進行交流,我們當然是通過說話了,物理層就是空氣和傳輸的聲波,數據鏈路層就是我們說的每一個字,物理層就是空氣,負責把我們說的話轉換成 聲波傳給對方,數據鏈路層負責讓對方能正確的聽到每個字,如果聽的不清可以告訴對方重新說一遍。?經過上述的兩個底層,就可以保證每一位數據可以正確的傳到對方那里去。下一步的工作當然是解析數據代表了什么,一般來說,數據都是以一串數為單位,一般稱為一個包,機器間傳輸都是以一個包為單位傳出,就像人們說話都是以一句話為單位輸出一樣。


每一個包包含有許多位數據,這些數據又分段表示不同的意義,如圖一,這是一個USB令牌階段的包,Sync是同步數據(相當于說話時先打個招呼,告訴對方要跟他說話了),PID是包標示(告訴對方這個包是干什么用的),ADDR是對方的地址(叫對方的名字),ENDP是用端點幾通訊(先不介紹這個),CRC5是校驗位(判斷這個包是否在傳輸中出錯),EOP是包結束。

|------------------------------------------------------------------|?

|???Sync??|??PID??|??ADDR??|??ENDP??|??CRC5??|??EOP???|?

|______________________________________|??????????

圖一?USB的數據包又分為三種,一個是令牌包,一個是數據包,另一個是握手包。每一次的USB通訊事務處理都是以令牌包開頭,告訴對方要跟誰說話,這句話是用來干嘛的。如果要求有數據傳輸,則下一步就是數據包,另外如果要求對方要有反饋,則會發出握手包。令牌包又簡單的包括OUT,IN,STEP三種類型,OUT是用于主機告訴設備主機要向USB設備發送數據,IN是用于主機告訴設備要上傳數據,而STEUP是用于主機向USB設備發送配置信息,在枚舉過程中會用到。另外數據包和握手包的具體格式什么的,可以參照詳細的協議。?可以看到在所以的通訊過程中,主機都是發起者,不管是主機發送數據到USB設備還是USB設備發送數據到主機,都必須收主機控制。



圖二為一次事務的過程。???????

令牌階段???——>??數據階段??——>??握手階段??????????

?圖二?這個過程可以這樣描述,甲和乙對話,甲是老板,乙是職員。第一節已經講過了,乙面試就是枚舉,在這個過程中,甲多段的發送STEP令牌包給乙,乙收到后如果要反饋數據,就發數據包給甲,甲正確接收后,跟甲握握手,表示這次對話成功。?乙被正式錄取后,甲會分派任務(OUT),這時甲對乙說有任務給你(令牌階段),然后乙 就開始聽,甲說你的任務就是記錄數據并且上報(這段話就是數據包),乙說好的(握手包)。?乙開始正式工作,并且記錄數據。過了一段時間,甲開始要求提交數據(IN),乙把數據報告給甲(數據階段),甲說好(握手成功)。這里乙不能主動的去向老板匯報,只能被動的干活。

總結

以上是生活随笔為你收集整理的USB工作原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲第一综合 | 亚洲最大成人av | 成人黄色大片在线观看 | 91 高清 在线 制服 偷拍 | 亚洲国产精品成人无码区 | 新版天堂资源中文8在线 | 成人污在线观看 | 欧美黑人粗大 | 最新理伦片eeuss影院 | 精品欧美一区二区在线观看 | 国产福利影院 | 蘑菇福利视频一区播放 | 亚洲精品无码专区 | 激情文学88 | 精品一区二区久久久久久久网站 | 中文字幕av高清 | av图区| 国产色区 | 狠狠做深爱婷婷久久综合一区 | 成人久久免费 | 日本黄色免费网站 | 国产精品一区无码 | 麻豆免费下载 | 午夜影院一区 | 起碰在线 | 婷婷天堂网 | 国产性猛交╳xxx乱大交一区 | 懂色av一区二区三区免费 | 在线观看国产精品视频 | 制服丝袜在线视频 | 初恋视频污 | 激情六月 | 漂亮人妻被中出中文字幕 | 找av导航 | 雨宫琴音一区二区三区 | 黑白配高清国语在线观看 | 天天摸天天舔 | 极品美女高潮 | 99国产超薄肉色丝袜交足 | re久久| 欧美草草 | 一区二区不卡在线 | 日本一区二区三区免费在线观看 | 少妇视频在线观看 | 久久在线电影 | 91啦丨九色丨刺激 | 青娱乐在线免费视频 | 中国一级特黄真人毛片免费观看 | 影音先锋中文字幕在线视频 | 午夜av免费 | 99久久久国产 | 亚洲午夜18毛片在线看 | 深夜天堂 | 亚洲最大黄色网址 | 老子影院午夜伦不卡大全 | 丰满岳乱妇国产精品一区 | 亚洲天堂美女 | 美女视频黄色 | 精品伦精品一区二区三区视频 | 亚洲小说网 | 国产精品一区二区在线播放 | 麻豆91在线播放 | 久久撸视频 | 国产欧美不卡 | 又黄又免费的视频 | 色婷婷av一区二区三区大白胸 | 国产精品综合视频 | 日韩爱爱免费视频 | 在线二区 | 在线观看免费视频黄 | 久草免费新视频 | 理论片毛片 | 成年人国产视频 | 超碰在线播放97 | 色综合久久久无码中文字幕波多 | 黄色一区二区三区 | 亚洲av无码一区二区三区在线播放 | 在线电影一区二区三区 | 日日夜夜欧美 | 9久久9毛片又大又硬又粗 | 看片一区二区 | 久久久久久久蜜桃 | 日本伦理片在线看 | 男人操女人下面 | 色婷婷视频在线 | 亚洲永久av | 樱花电影最新免费观看国语版 | 凸凹人妻人人澡人人添 | 久久综合久色欧美综合狠狠 | 神马伦理影视 | 在线色亚洲 | 黄色在线网站 | 国模私拍一区二区 | 婷婷丁香激情五月 | 婷婷丁香综合 | 黑人操亚洲女 | 一级黄在线观看 | 91黄色小视频 | jizzjizz国产|