USB基礎知識

2021-06-01 22:26:14 字數 1732 閱讀 3083

開始對usb感興趣了,學習一下usb驅動,趁著現在剛好在做usb裝置驅動。

先了解一下usb的大概知識:

1.先看一下維基百科的介紹:

usb分組格式

usb的分組格式和早期的網際網路分組格式非常相似,要了解usb連線原理就一定要先了解分組格式。

2.了解一下vid和pid(摘自:

什麼是 usb 廠商 id號碼和產品id 號碼?

所有的usb 期間有三個號碼來識別,這立按重要性排序解釋。

這裡有usb org為廠商分配的id:

3.在ibm的**上,也有對usb驅動的講解,但是基於linux2.4核心的。

另有基於linux2.6核心的:

其中有一條命令很重要:cat /proc/bus/usb/devices,得到當前系統探測到的usb匯流排上的裝置資訊。它包括vendor、prodid、product等。

下面是我買的一款雜牌cf卡讀卡器插入後的資訊片斷:

t: bus=01 lev=01 prnt=01 port=01 cnt=02 dev#= 5 spd=12 mxch= 0 d: ver= 1.10 cls=00(>ifc ) sub=00 prot=00 mxps=8 #cfgs= 1 

p: vendor=07c4 prodid=a400 rev= 1.13

s: manufacturer=usb

s: product=mass storage

c:* #ifs= 1 cfg#= 1 atr=80 mxpwr=70ma

i: if#= 0 alt= 0 #eps= 2 cls=08(vend.) sub=06 prot=50 driver=usb-storage

e: ad=81(i) atr=02(bulk) mxps= 64 ivl= 0ms

e: ad=02(o) atr=02(bulk) mxps= 64 ivl= 0ms

4.usb體系工作流程

usb體系結構規定,在乙個

usb系統中,只有唯一的乙個主機

。usb

和主機系統的介面稱做主機控制器,主機控制器由主機控制器晶元、韌體程式和軟體共同實現的。

usb裝置包括

usb集線器和功能器件。其中

usb集線器的作用是擴充套件匯流排端點,向匯流排提供更多的連線點;功能器件是使用者使用的外部裝置,如鍵盤,滑鼠等。

usb裝置需要支援

usb匯流排協議,對主機的操作提供反饋並且提供裝置效能的描述資訊。

usb匯流排採用輪詢方式控制,主機控制設定初始化所有的資料傳輸。

usb匯流排每次執行傳輸動作最多可以傳輸3個資料報。每次開始傳輸時,主機控制器傳送乙個描述符描述傳輸動作的種類和方向,這個資料報稱做標誌資料報(token packet)。usb裝置收到主機傳送的標誌資料報後,解析出資料報的資料。

usb資料傳輸的方向只有兩種:主機到裝置或者裝置到主機。在乙個資料傳輸開始時,由標誌包標示資料的傳輸方向,然後傳送端開始傳送包含資訊的資料。接收端傳送乙個握手的資料包表明資料是否傳送成功。

在主機和裝置之間的usb資料傳輸可以看做乙個通道。

usb資料傳輸有流和訊息兩種通道。訊息是有格式的資料,而流是沒有資料格式的。usb有乙個預設的控制訊息通道,在裝置啟動的時候被建立,因此裝置的設定查詢和輸入控制資訊都可以使用預設訊息控制通道完成。

5.linux核心usb驅動框架

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,...

USB基礎知識

q usb是什麼?a usb是通用序列匯流排 universal serial bus 的縮寫。q usb的優點有哪些?a 支援熱插拔 hot plugging或hot swap 即帶電插拔。即插即用 pnp,即plug and play 也是usb設計的初衷之一。傳輸速度快。標準統一。攜帶方便。支...