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