USB的基礎知識

2021-05-23 09:07:47 字數 1794 閱讀 3256

usb的基礎知識主要是對薛圓圓的書的前8章的乙個總結,總的可以分成微觀和巨集觀兩方面的認識。

微觀的理解,主要理解幾個大的概念:資訊包的分配、usb的事務處理分階段和各類資訊包的關係、幾種usb資料傳輸型別、幾種usb的傳輸速率、控制傳輸的分階段與事務處理的關係。

5個方面中的3和4是概念性的,你也知道傳輸型別就控制傳輸、中斷傳輸、塊傳輸、同步傳輸幾種;而傳輸速率也就低速、全速、高速幾種。主要說說其餘3個知識點,它們之間還有些相互的關聯。

一、資訊包分成令牌包、資料報、握手包,每個包都包含幾部分必要的「字段」,如同步字段、eop欄位、資料字段(不要認為資料字段就是資料報才會有的,每種包都有它的內容);三種包是合作的關係,一般的usb中的事務的完成,可能都要同時借助3種包,這其中令牌包一般會確定「單一usb事務」的型別。

二、關於事務和資訊包的關係,第一點說的已經夠詳細,我們可以進行接下來的思考:乙個事務的完成,需要三種資訊包的傳遞,而每種資訊包又包含那麼多的頭尾資訊,最終要做到的無非是把「資料報中的資料字段」按照「令牌包確定的傳輸方向、裝置位址、端點」進行傳輸,最終有價值的東西只有乙個:「資料報中的資料字段」,而三種資訊包的其他部分對我們來說應該是透明的,這些都伴隨著底層對usb傳輸協議的解析過濾掉了。

三、控制傳輸可以說分成幾個「事務階段」:建立、資料、狀態,每個事務又都可以分成令牌、資料、握手三部分;鑑於這是控制傳輸,建立階段多為「裝置請求」,所以要深刻了解「建立階段的資料部分」、8個位元組,對我們後來理解韌體程式中的「請求響應函式」幫助很大,p37頁有對這8個位元組的詳細介紹,關於它們我們在後面的巨集觀理解也還要提到。

巨集觀的理解,也可以分成幾大部分:列舉的過程、「裝置請求響應函式」的分析。

列舉的過程大致如下:裝置插好—>主機通過總線電壓知道有裝置連線—>主機通過裝置類請求(注意不是標準usb請求)獲取資訊,等待100ms以期連線穩定—>主機通過裝置類請求復位usb裝置,usb裝置進入預設狀態,端點0可用—>主機獲取描述符,給裝置分配位址—>主機進一步獲取描述符,給裝置載入驅動程式—>裝置正常工作,可進行各種配置和資料傳輸。

裝置請求響應函式分析:函式關心的核心是「控制傳輸建立階段的資料報的資料部分」,也就是setupdat,這8個位元組的資料報含了一次「裝置請求的核心資訊」,可以參考p37來理解,首先通過第二個位元組setupdat[1]來判斷是什麼裝置請求,也就是請求什麼;然後如果是要描述符的,又要看setupdat[3],這是wvalue的高位元組,指明描述符的種類;如果要求的請求需要進一步說明操作物件,比如是跟特性、狀態有關的請求,那又要看setupdat[0],它指明了資料的傳輸方向和主機對立一段的裝置、介面或端點(如果是精確到介面或端點的請求,那麼可以通過setupdat的windex欄位進一步了解端點號或者介面號)。通過上面這一大串對setupdat的8位元組的判斷,基本上就能知道請求什麼,並作出相應,如果判斷都落空,則進入default處理。

早就該及時記錄瑣碎的心得了,從當初想寫編譯和時鐘中斷之類的,拖到現在,dsp的東西都沒沉積下來,好在時間還不晚(從10月7號還是算100天倒計時,過去了2周,現在還剩85天),現在有的就馬上寫。記錄兩條語句:1、時間不早不晚,心態不急不慢。2、物件是死的,人是活的;想象是活的,做是死的。

翻開作息時間表看看:現在學習除錯的變得越來越緊迫,求別人不如靠自己,去搜尋資訊吧。第二個方面就是嵌入式的開課,我覺得這和回來要搭的dsp系統應該是相通的,應該按老師說的,不讀手冊,拿了例程來先去上手,搞好了這個,對理解dsp硬體工作原理和作業系統都有好處。最後乙個就是現在的usb了,整了半天覺得還應該先搞清底層的工作原理,讀手冊和韌體例程,知道韌體是怎麼扮演中間的角色的,然後去問師兄地下的fpga是怎樣控制向usb的fifo填數的,最後再回過頭來確定上位機的控制讀數的機制,當然關係到上位機作業系統的東西只能去網上找了。關鍵還是上面的2句話。

USB基礎知識

開始對usb感興趣了,學習一下usb驅動,趁著現在剛好在做usb裝置驅動。先了解一下usb的大概知識 1.先看一下維基百科的介紹 usb分組格式 usb的分組格式和早期的網際網路分組格式非常相似,要了解usb連線原理就一定要先了解分組格式。2.了解一下vid和pid 摘自 什麼是 usb 廠商 id...

USB基礎知識

1.usb是什麼?usb是universal serial bus的縮寫,中文譯為通用序列匯流排。2.一些重要概念 主機 host 和裝置 device 介面 inte ce 管道 pipe 是主機與裝置端點資料傳輸的連線通道,代表了主機的資料緩衝區與裝置端點間互動資料的能力。管道包括資料流管道和訊...

USB基礎知識

url size medium usb 介紹 usb 協議有嚴格的層次結構。在所有 usb 系統中,只有乙個主裝置,到主計算機的的 usb 介面稱為 主控器 host controller 主控器有兩個標準 開放主控器介面 compaq 的 open host controller inte ce,...