寫在前面,看完本文,你是不可能完全掌握USB驅(qū)動的,這里主要是給大家?guī)硪稽c思路,希望能對大家有所幫助。
一.整體框架
二.硬件基礎(chǔ)
USB的硬件十分簡單,一共就四根線,一共電源一共地,還有兩根數(shù)據(jù)線。這區(qū)區(qū)四根線看似簡單,作用不可小看啊。
識別過程:正如上圖看到的, PC的USB口內(nèi)部,D-和D+接有15K的下拉電阻,未接USB設(shè)備時為低。USB設(shè)備的USB口內(nèi)部,D-或D+接有1.5K的上拉電阻;它一接入PC,電源通過兩根電阻接地,然后分壓,就會把PC USB口的D-或D+拉高,從硬件的角度通知PC有新設(shè)備接入。
三.軟件概念
1.USB設(shè)備概觀
有圖可看出:
? 設(shè)備通常有一個或多個配置.? 配置常常有一個或多個接口? 接口常常有一個或多個設(shè)置.? 接口有零或多個端點.
2.端點
端點是USB通信的最基本的形式,USB端點只能往一個方向傳輸數(shù)據(jù)。輸出端點(主機向設(shè)備),輸入端點(設(shè)備向主機)都是相對于主機來說的。
端點的四種類型:
控制端點:控制端點是用來控制對USB設(shè)備不同部分的訪問,通常用于配制設(shè)備、獲取設(shè)備信息、發(fā)送命令到設(shè)備,或者獲取設(shè)備的狀態(tài)報告。數(shù)據(jù)可靠,并且有時間保證。
中斷端點:每當(dāng)USB宿主要求設(shè)備傳輸數(shù)據(jù)是,中斷端點就以一個固定的速率來傳輸少量數(shù)據(jù)。注意這里說的中斷,并不是我們之前說的硬件上的中斷。因為設(shè)備在沒有主控制器要求的情況下是不會發(fā)送數(shù)據(jù)的,所以是USB宿主負(fù)責(zé)每一個USB設(shè)備是否有數(shù)據(jù)需要發(fā)送。這些端點是USB鼠標(biāo)和鍵盤所使用的主要傳輸方式。
批量端點:批量端點傳輸大批量的數(shù)據(jù)。USB協(xié)議不保證這些傳輸始終可以在特定的時間內(nèi)完成。U盤等設(shè)備多用次傳輸方式
等時端點:等時端點也可以傳送大批量的數(shù)據(jù),但是數(shù)據(jù)是否到達沒有保證。USB話筒,USB視頻都使用這類端點。
3.接口
USB接口只處理一種USB邏輯連接。舉個例子:現(xiàn)在的USB攝像頭基本都帶麥克風(fēng)功能。要實現(xiàn)它的驅(qū)動,則需要兩個驅(qū)動,一個USB攝像頭驅(qū)動,一個麥克風(fēng)驅(qū)動。所以需要兩個接口。因為一個USB接口代表了一種基本的功能。所以說,并不是一個硬件就只對應(yīng)著一個驅(qū)動,是有一對多的情況的。
4.配置
一個 USB 設(shè)備可有多個配置并且可能在它們之間轉(zhuǎn)換,以便改變設(shè)備的狀態(tài). 例如, 一些允許固件被下載到它們的設(shè)備包含多個配置來實現(xiàn)這個,一個配置只能在一個時間點上被使能。
-
接口
+關(guān)注
關(guān)注
33文章
8447瀏覽量
150720 -
USB驅(qū)動
+關(guān)注
關(guān)注
1文章
136瀏覽量
20158 -
配置
+關(guān)注
關(guān)注
1文章
187瀏覽量
18340
原文標(biāo)題:看完就會是不可能的,給大家講講USB驅(qū)動
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論