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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(转)USB体系结构

發(fā)布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)USB体系结构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載地址:http://blog.ednchina.com/zenhuateng/203584/Message.aspx

?

USB總線接口層:物理連接、電氣信號環(huán)境、信息包傳輸機制;主機一方由USB主控制器和根集線器組成,而USB方則由設(shè)備中的USB接口組成。

USB設(shè)備層:由主機方的USB系統(tǒng)軟件和設(shè)備方的USB設(shè)備邏輯視圖組成。

USB功能層:代表客戶軟件和一個給定的設(shè)備功能接口之間的關(guān)系。

?

USB系統(tǒng)軟件執(zhí)行很多關(guān)鍵的功能,包括:

?????? 設(shè)備的連接/斷開檢測;設(shè)備配置;帶寬分配;管理客戶程序和設(shè)備之間的控制流;管理客戶程序和設(shè)備之間的數(shù)據(jù)流;收集狀態(tài)和事務(wù)處理的統(tǒng)計信息;事務(wù)處理的安排;控制電氣接口。

一套USB系統(tǒng)軟件存在于系統(tǒng)中,用于管理所有和USB總線相連的所有USB設(shè)備的訪問。USB系統(tǒng)軟件是由于以下部分組成的:

?????? USB驅(qū)動程序(USBD)---為客戶軟件驅(qū)動程序提供接口和服務(wù),分配總線帶寬,并管理配置過程;

?????? USB主控制器驅(qū)動程序(HCD)---控制對主控制器的操作,安排事務(wù)處理,并監(jiān)視事務(wù)處理的完成狀態(tài)。

?

當(dāng)一個事務(wù)處理被主機系統(tǒng)初始化以后,所有的傳輸設(shè)備和所有的集線器將看到這一務(wù)處理。每個事務(wù)處理包含一個地址字段,它標識目標設(shè)備或集線器,低速設(shè)備只能看見低速事務(wù)處理,它總是跟在一個高帶的前導(dǎo)事務(wù)處理之后。

?

?

?

USB信號環(huán)境

?

USB采用了NRZI(反相非歸零)編碼和差分信號。NRZI編碼方式既能夠確保數(shù)據(jù)發(fā)送的完整性,雙不需要獨立的時鐘信號和數(shù)據(jù)一起發(fā)送。數(shù)據(jù)流中的電平跳變代表0,而沒有跳變則代表1。為保持同步,在連續(xù)傳輸6個1的情況下,強制在NRZI編碼的數(shù)據(jù)流中加入跳變。這就確保接收器至少可以在每7個位的時間間隔內(nèi)從數(shù)據(jù)流中會檢測到一次跳動變。

?

一個USB的集線器通過監(jiān)視差分數(shù)據(jù)線來檢測設(shè)備是否已連接到自己的一個端口上。當(dāng)沒有設(shè)備連接到USB端口時,和D+和D-線相連的下拉電阻(15K)保證數(shù)據(jù)線接地,USB設(shè)備必須至少在D+和D-線的任意一條上有一個上拉電阻(1.5K)。全速設(shè)備D+上拉,低速設(shè)備D-上拉。保持時間2.5us。

USB傳輸

中斷傳輸---用于在傳統(tǒng)PC產(chǎn)品中被稱為中斷驅(qū)動設(shè)備的器件。由于USB不支持硬件中斷,所以中斷驅(qū)動的USB設(shè)備必須要被周期性地查詢,以確定設(shè)備是否有數(shù)據(jù)要傳輸。

塊傳輸---用于傳輸大塊的沒有周期和傳輸速率要求的數(shù)據(jù)。

同步傳輸---要求有一個恒定的發(fā)送速率。保證發(fā)送方和接收方之間能夠?qū)崿F(xiàn)傳輸率的匹配。

控制傳輸---用來把特定的請求傳送給USB設(shè)備,它經(jīng)常在設(shè)備配置中被使用。

?

USB事務(wù)處理

在USB上的每次傳輸廣播都由一些信息包組成。這些信息包組合起來定義某個事務(wù)處理而某個事務(wù)處理又是作為一個大的傳輸?shù)囊徊糠謭?zhí)行的。事務(wù)處理由主機進行初始化,用于把數(shù)據(jù)發(fā)送到USB設(shè)備和從USB設(shè)備把數(shù)據(jù)發(fā)送出去。

事務(wù)處理般由三個階段(令牌包階段、數(shù)據(jù)包階段、握手包階段)組成,或者說由信息包組成。

令牌包階段:每一個事務(wù)處理類型都從一個令牌階段開始,它定義了事務(wù)處理的類型。有的令牌包跟隨一個到兩個附加的信息包;

數(shù)據(jù)包階段:傳輸相關(guān)的數(shù)據(jù)。在一個事務(wù)處理中可以傳輸?shù)淖畲髷?shù)據(jù)包是1023字節(jié)。

握手階段:對數(shù)據(jù)發(fā)送方提供了一個反饋信號,通知發(fā)送方數(shù)據(jù)是否已經(jīng)被正確接收。

?

信息包有用來執(zhí)行所有的USB事務(wù)處理的機制。

?

同步序列

包ID(標識符)

包特定信息

CRC

包結(jié)束標志

??????????????????????????????????? 信息包

?

同步序列由8個位(00000001)組成,由于0用差分數(shù)據(jù)上的電平跳變來編碼,所以這7個0在每一位開始的時候都建立一個電平跳變。這就提供了一個時鐘,用來同步。同步性序列還通知USB接收器馬上要有一個信息包被發(fā)送,這個信息包緊跟在這8位同步序列之后。

信息包的標識符定義了信息包的目標和內(nèi)容,它分為令牌包、數(shù)據(jù)包、握手包、專用包(前導(dǎo)包)

信息包的ID:由四位標識符字段組成,后接四位包ID的反碼。

信息包的特定信息:這些信息可以組成一個USB設(shè)備地址,一個時間片的序列,從USB設(shè)備發(fā)出或者發(fā)送到USB設(shè)備的數(shù)據(jù),等等。

CRC:數(shù)據(jù)包使用16位的CRC,而別的包則5位的CRC。CRC的產(chǎn)生和檢驗僅僅用于信息包的具體數(shù)據(jù)。

信息包的結(jié)束(EOP):每個信息飯結(jié)束都收發(fā)送方發(fā)出一個信號來表示,具體方法是把兩條差分數(shù)據(jù)線上的電壓降低,并且這個低電壓將持續(xù)兩個位的傳輸時間,而且后接一個位的空閑時間。

令牌包的四種類型

SOF(時間片開始)-----指出下一個毫秒時間的開始;

IN-----表示一個USB事務(wù)處理,把數(shù)據(jù)從目標USB設(shè)備發(fā)送到系統(tǒng);

OUT-----表示一個USB事務(wù)處理,把數(shù)據(jù)從系統(tǒng)發(fā)送到目標USB設(shè)備;

SETUP-----表示一次控制傳輸?shù)拈_始。SETUP是控制傳輸?shù)牡谝浑A段,并用來把一個請求從系統(tǒng)發(fā)往目標USB設(shè)備。

SOF包內(nèi)含有一個11位的時間片編號。SOF包定義了一個事務(wù)處理,它僅僅由令牌包組成。

?

同步序列

包ID(標識符)

11位的時間片編號

5位CRC

包結(jié)束標志

?

當(dāng)軟件希望從一個指定的設(shè)備讀取信息時,就用到一個IN令牌。IN包通知目標USB設(shè)備數(shù)據(jù)正在被系統(tǒng)請求。IN事務(wù)處理用于各種USB傳輸類型中。一個IN令牌包由ID類型字段、ID校驗字段、USB設(shè)備地址和端點地址以及5位的CRC組成。一個IN事務(wù)處理從一個IN包廣播開始,后接一個從目標USB設(shè)備返回的數(shù)據(jù)包。在某些情況,還包括發(fā)回到目標設(shè)備的握手包,用來確認數(shù)據(jù)接收。

?

系統(tǒng)軟件指定一個OUT事務(wù)處理,當(dāng)數(shù)據(jù)發(fā)送到一個目標USB設(shè)備時,有三種類型的傳輸采用OUT事務(wù)處理,塊傳輸、控制傳輸?shù)臄?shù)據(jù)階段、同步傳輸。一個OUT包由ID類型字段、ID校驗字段、USB設(shè)備地址和端點地址以及5位的CRC組成。OUT令牌包后跟隨一個數(shù)據(jù)包和一個握手包(僅用于塊傳輸)。

?

SETUP包僅僅在控制傳輸?shù)慕㈦A段使用。SETUP包后跟隨著一個數(shù)據(jù)包,和一個確認包。SETUP事務(wù)處理可以跟隨一個或多個IN或OUT事務(wù)處理(數(shù)據(jù)階段)。或者可以僅僅伴隨一個狀態(tài)階段,狀態(tài)階段由一個最后的數(shù)據(jù)包組成,它從端點傳向主機系統(tǒng)。一個SETUP包由ID類型字段、ID校驗字段、USB設(shè)備地址和端點地址以及5位的CRC組成。

?

數(shù)據(jù)包---Data0和Data1

數(shù)據(jù)包的傳輸方向由事務(wù)處理類型確定,數(shù)據(jù)既可以傳向USB也可以從USB設(shè)備傳出。一個數(shù)據(jù)包由ID類型字段、ID校驗字段、數(shù)據(jù)字段(0-1023字節(jié))和16位CRC。

?

USB設(shè)備使用握手包來報告一個給定的事務(wù)處理的狀態(tài)。數(shù)據(jù)的接收器負責(zé)給發(fā)送方發(fā)回一個握手包。

確認包(ACK)---確認數(shù)據(jù)包被無錯誤地接收了;

非確認包(NACK)---報告主機目標設(shè)備暫時不能接收返回的數(shù)據(jù)。在中斷事務(wù)處理中,NACK表示當(dāng)前沒有數(shù)據(jù)可以返回到主機。

停止包(STALL)---目標設(shè)備用來報告它不能完成傳輸,并且要求軟件進行干預(yù),使設(shè)備從停止狀態(tài)恢復(fù)。

?

前導(dǎo)包

在廣播一個低速信息包之前,必須廣播一個前導(dǎo)包,通知所有的集線器在這個前導(dǎo)包后面跟隨一個低速的事務(wù)處理。前導(dǎo)包由一個同步序列和一個包的ID組成的,該包以全速傳輸。之后延遲四個全速位的傳輸時間。

?

?

?

?

事務(wù)處理

IN事務(wù)處理:數(shù)據(jù)被無錯誤地接收;(主機發(fā)送ACK包)

??????????? 數(shù)據(jù)接收的時候有錯誤; (沒有握手包)

??????????? 目標設(shè)備暫時不能返回數(shù)據(jù);(USB設(shè)備返回NAK包)

??????????? 錯誤狀態(tài)被清除之前,目標不能返回數(shù)據(jù);(USB設(shè)備返回STALL停止包)

??????????? 發(fā)生了一次同步傳輸,返回數(shù)據(jù),沒有握手運作。

OUT事務(wù)處理:數(shù)據(jù)被無錯誤地發(fā)送;(USB設(shè)備返回ACK包)

??????????? 數(shù)據(jù)發(fā)送出錯;? (沒有握手包)

??????????? 目標設(shè)備暫時不能接收數(shù)據(jù);(USB設(shè)備返回NAK包)

??????????? 錯誤狀態(tài)被清除之前,目標不能接收數(shù)據(jù);(目標設(shè)備返回STALL停止包)

??????????? 發(fā)生了一次同步傳輸,數(shù)據(jù)被發(fā)送到目標設(shè)備,沒有握手運作。

SETUP事務(wù)處理/控制傳輸:控制傳輸總是從一個SETUP事務(wù)處理開始,稱為建立階段。建立階段定義控制傳輸?shù)男再|(zhì)。某些控制傳輸包括一個數(shù)據(jù)階段,該數(shù)據(jù)階段由一個或幾個IN或OUT事務(wù)處理組成。控制傳輸?shù)淖罱K階段是狀態(tài)階段。該階段確認所要求的操作已經(jīng)成功完成了。控制傳輸以兩種基本基本形式存在:①傳輸由建立階段和狀態(tài)階段組成②傳輸由建立階段、數(shù)據(jù)階段和狀態(tài)階段組成。

SETUP事務(wù)處理的數(shù)據(jù)階段包括8字節(jié)的信息,該信息指出了大量用于定義將被執(zhí)行的設(shè)備請求信息。

錯誤恢復(fù)

信息包錯誤檢查;

錯誤EOP;

總線超時(沒有響應(yīng));

數(shù)據(jù)觸發(fā)器錯誤檢查;

串?dāng)_---在時間片結(jié)束之后發(fā)年事務(wù)處理;

LOA---總線活動丟失。

?

三種類型的包錯誤:包ID(PID);CRC;位填充錯誤。發(fā)生以上錯誤,接收方忽略這個信息包,并且不會返回一個信息包。

信息包的類型和CRC

信息包的類型

字段名

字段的最大長度

CRC

SOF

時間片編號

11位

5位

IN

設(shè)備地址和端點地址

11位

5位

OUT

設(shè)備地址和端點地址

11位

5位

SETUP

設(shè)備地址和端點地址

11位

5位

DATA0

數(shù)據(jù)

1023字節(jié)

16位

DATA1

數(shù)據(jù)

1023字節(jié)

16位

ACK

NAK

STALL

PREAMBLE

總線超時:事務(wù)處理的發(fā)送方在16個位時間內(nèi)一定不會超時,但是在18個位時間后則一定時。

錯誤的EOP:如果接收方在發(fā)送方實際完成傳輸之前檢測到包的結(jié)束(EOP)。錯誤的EOP往往會導(dǎo)致一個CRC錯誤。

數(shù)據(jù)觸發(fā)出錯:數(shù)據(jù)觸發(fā)是一種機制,用來確保數(shù)據(jù)傳輸?shù)陌l(fā)送方和接收方之間保持同步。數(shù)據(jù)觸發(fā)機制解決了和握手包出錯相關(guān)的問題。

串?dāng)_:如果在總線上的一個設(shè)備沒有結(jié)束它的事務(wù)處理(不停地串?dāng)_),這種不斷的串?dāng)_有可能對整個總線造成死鎖。串?dāng)_在時間片結(jié)束時被檢測到,如果設(shè)備在時間片結(jié)束時不處于空閑狀態(tài),那么這個設(shè)備必須被隔離,方法是把和這個設(shè)備相連的集線器端口禁止掉。

LOA---總線活動丟失:一個設(shè)備從一個包的傳輸開始,后接總線上的一個恒定的J或K狀態(tài),而且沒有EOP。檢測和處理類似串?dāng)_。

USB供電分配

USB電源管理

USB設(shè)備配置

設(shè)備描述符-----描述了設(shè)備所支持的配置的數(shù)量;

配置描述符-----指出了一個或多個接口而且定義了某些和這個配置相關(guān)的屬性;

接口描述符-----定義了端點的數(shù)量,它們和接口相關(guān),而且定義了某些和接口相關(guān)的屬性;

端點描述符-----指出了和給定的端點相關(guān)的屬性,以及那些主機軟件需要的信息,這些信息可以確定這個端點應(yīng)該怎樣被訪問;

字符串描述符-----可選的描述符,由UNICODE字符串組成。

類特定描述符-----設(shè)備類附加的描述符。

每一個描述符都包含一個類型字段,用它來識別上面列出的這此描述符的類型。

?

設(shè)備描述符:

?

字段編號

字段名

字段大小(字節(jié))

字段取值

說明

0

長度

1

數(shù)字

描述符的長度(以字節(jié)為單位)

1

描述的符類型

1

常數(shù)

設(shè)備描述符,0x01

2

USB版本號

2

BCD

?

4

設(shè)備類

1

類代碼

5

設(shè)備子類

1

子類

子類代碼

6

設(shè)備協(xié)議

1

協(xié)議

?

7

最大數(shù)據(jù)包大小

1

數(shù)字

8、16、32、64

8

設(shè)備供應(yīng)商

2

ID

供應(yīng)商ID

10

產(chǎn)品

2

ID

產(chǎn)品ID

12

系列號

2

BCD

出廠編號

14

設(shè)備供應(yīng)商索引

1

索引

?

15

產(chǎn)品索引

1

索引

?

16

系列號索引

1

索引

?

17

配置數(shù)目

1

數(shù)目

?

配置描述符:

?

字段編號

字段名

字段大小(字節(jié))

字段取值

說明

0

長度

1

數(shù)字

描述符的長度(以字節(jié)為單位)

1

描述的符類型

1

常數(shù)

配置描述符,0x02

2

總長度

2

數(shù)字

用于配置的返回數(shù)據(jù)的總長度,包括所有被返回的用于配置的描述符(配置描述符、接口描述符、端點描述符、類或設(shè)備供應(yīng)商自定的描述符)加在一起的長度。

4

接口的數(shù)目

1

數(shù)字

配置所支持的接口數(shù)目。

5

配置值

1

數(shù)字

作為Set Configuration的一個參數(shù)選擇配置值。

6

配置索引

1

索引

描述配置的字符串描述符的索引。

7

屬性

1

位段

D7???? 總線供電

D6???? 自供電

D5???? 遠程喚醒

D4..0 ?保留

8

最大供電量

1

毫安

以2毫安為單位

每一個配置描述符都有一個唯一的配置值,用來配置這個設(shè)備。配置軟件通過使用“Set Configuration”請求配置一個設(shè)備。這個配置值是在“Set Configuration”期間的SETUP事務(wù)處理的數(shù)值字段被指定的。

?

?

?

接口描述符:

?

字段編號

字段名

字段大小(字節(jié))

字段取值

說明

0

長度

1

數(shù)字

描述符的長度(以字節(jié)為單位)

1

描述的符類型

1

常數(shù)

接口描述符,

2

接口數(shù)

1

數(shù)字

接口的編號。

3

可選設(shè)置

1

數(shù)字

用于為在前面的的字段標識出來的接口選擇一個可選設(shè)置的數(shù)值。

4

端點數(shù)目

1

數(shù)字

本接口所使用的端點數(shù)目(0端點除外)。

5

接口類

1

類代碼

6

設(shè)備子類

1

子類

子類代碼

7

接口協(xié)議

1

協(xié)議

協(xié)議代碼

8

接口索引

1

索引

字符串描述符的索引。

接口數(shù)目和可選設(shè)置的字段用于支持USB的可選設(shè)置特征。設(shè)備可以在相同的配置下定義可選的特征。一個支持可選設(shè)置的設(shè)備將包含一個或多個附加的接口和端點描述符,同樣的接口,但是包含可選的設(shè)置。

?

?

端點描述符:

?

字段編號

字段名

字段大小(字節(jié))

字段取值

說明

0

長度

1

數(shù)字

描述符的長度(以字節(jié)為單位)

1

描述的符類型

1

常數(shù)

端點描述符,0x05

2

端點地址

1

端點

描述符所描述的USB設(shè)備上的端點地址

D0..3? 端點號

D4..6? 保留

D7???? 傳輸方向,0:OUT;1:IN

3

屬性

1

位段

D2..7 保留

D0..1 00 控制傳輸

01 同步傳輸

10 塊傳輸

11 中斷傳輸

4

最大包大小

2

數(shù)字

最大信息包的大小。

對于同步端點,該值用于保留進度表中的總線時間,這是每一個時間片傳輸數(shù)據(jù)都需要的。

6

間隔

1

數(shù)字

數(shù)據(jù)傳輸?shù)臅r候,查詢的時間間隔,以微秒為單位。對于塊傳輸端點和控制傳輸端點,這個字段無效。對于同步端點,這個字段被置為1,對于中斷端點,它的值為1-255。

端點描述符定義了在一個給定的設(shè)備里實現(xiàn)的實際寄存器。定義了每個寄存器的功能和特定的信息:端點要求的傳輸類型;傳輸?shù)姆较?#xff1b;帶寬需求;查詢間隔。

配置軟件必須確定USB是否能夠支持端點描述所指定的傳輸,傳輸所要求的帶寬大小在MaxPacketSize字段被指定。如果端點的帶寬需求超過了USB的所能提供的帶寬,那么設(shè)備就不會被配置,而且用戶會得到設(shè)備沒有配置的通知。

轉(zhuǎn)載于:https://www.cnblogs.com/zxc2man/p/5627781.html

總結(jié)

以上是生活随笔為你收集整理的(转)USB体系结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一区二区免费在线观看 | 超碰2025 | 麻豆视频免费网站 | 免费淫片 | 91色区| 美国少妇在线观看免费 | 国产精品日韩电影 | 色原网| 嘿咻视频在线观看 | 极品美女扒开粉嫩小泬 | 免费中文字幕 | 日本三级久久 | 久草福利在线 | 国产精品久久av | 爆乳熟妇一区二区三区 | 日韩三级一区二区三区 | 亚洲精品字幕在线观看 | 爱福利视频一区二区 | 亚洲美女视频 | 国产午夜精品在线 | 狠狠躁18三区二区一区视频 | 综合国产一区 | 干美女av| 久久婷婷国产麻豆91 | 白白色视频在线 | www日韩在线观看 | 亚洲成年人影院 | 午夜小福利 | 日本特黄色片 | 久操中文 | 色妞ww精品视频7777 | 8x8ⅹ8成人免费视频观看 | 男男做爰猛烈叫床爽爽小说 | 少妇搡bbbb搡bbb搡打电话 | 国产69视频在线观看 | 日本美女操 | 免费搞黄网站 | 久久avav | 老妇裸体性激交老太视频 | 欧美无吗 | 欧美视频在线一区 | 久久手机免费视频 | 色婷婷成人网 | 久久九九国产精品 | 成人资源在线 | 国产欧美日韩精品在线 | 色爱av综合| 在线视频成人 | 成年人在线观看视频网站 | 九九一级片| 色老头综合网 | 国产卡一卡二卡三无线乱码新区 | 亚洲啪av永久无码精品放毛片 | 国产伦精品一区二区三区视频我 | 国产免费一区视频观看免费 | 欧美a在线观看 | 天堂av√| 青青av在线 | 亚洲成人av电影网站 | 欧美综合网 | 超碰2025| 日韩免费高清视频网站 | 免费观看视频一区 | 欧美片 | 蜜桃av免费在线观看 | 好吊视频一区二区 | 91重口味| 特黄av | 丰满人妻一区二区三区精品高清 | 美女少妇一区二区 | 波多野结衣视频免费看 | 日韩精品一区二区免费视频 | 不卡av在线播放 | 久久久久久一区二区 | 中文在线字幕 | 欧美一级视频免费观看 | 国产在线色 | 日日综合网 | 午夜91 | 国产麻豆视频 | 日本aⅴ在线观看 | 国产精品成人99一区无码 | 亚洲欧美中日韩 | 好吊色视频在线观看 | 亚洲电影在线观看 | 久久久久亚洲精品 | 久久55| 国产乱淫av片 | 九色视频91 | 在线麻豆av | 欧美在线一 | videos亚洲| 国产免费av网站 | 疯狂伦交 | 国产精品理论片在线观看 | 一级片网址 | 手机在线亚洲 | 99久久精品一区二区 | 亚洲免费av网 |