小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

USB中的端點(diǎn)詳細(xì)了解

 slimfeng 2019-08-06
/***********************************************************************

USB入門系列:

1、USB行業(yè)標(biāo)準(zhǔn)介紹

2、USB具體通訊過程

3、USB中端點(diǎn)詳細(xì)了解

4、USB傳輸之控制傳輸

......(待補(bǔ)充)

************************************************************************/


前言
    端點(diǎn)在實(shí)際的USB通訊過程種的具體作用與含義十分重要,但是有些難以理解,自己整理一些知識(shí)作為備忘。
(注:
    1、文中的EP表示Endpoint;

一、端點(diǎn)概念。
    端點(diǎn)(Endpoint),是主機(jī)與設(shè)備之間通訊數(shù)據(jù)的接收或來源。主機(jī)與設(shè)備之間通信時(shí)最終會(huì)總用于設(shè)備上的各個(gè)端點(diǎn),它是主機(jī)與設(shè)備間通信流的一個(gè)邏輯終端。一系列相互獨(dú)立的端點(diǎn)在一起構(gòu)成了USB邏輯設(shè)備,在系統(tǒng)結(jié)構(gòu)中,位于下方紅色方框內(nèi):

二、端點(diǎn)的分類
    每個(gè)USB設(shè)備都有一個(gè)唯一的設(shè)備地址,設(shè)備地址是設(shè)備連接上主機(jī)時(shí)由主機(jī)分配的,主機(jī)主要依靠這個(gè)設(shè)備地址對(duì)USB設(shè)備進(jìn)行訪問。但是在設(shè)備內(nèi)部地址會(huì)被分的更細(xì),設(shè)備會(huì)分出一些端點(diǎn)來,每個(gè)端點(diǎn)在設(shè)備都會(huì)有唯一的端點(diǎn)號(hào),這個(gè)端點(diǎn)號(hào)是設(shè)計(jì)設(shè)備時(shí)給定的。如端點(diǎn)0,端點(diǎn)1等。一個(gè)設(shè)備最多可以包含16個(gè)端點(diǎn),每個(gè)端點(diǎn)的地址為0-15。(網(wǎng)上也有說幾十個(gè)的,有待考究)    
    其中每個(gè)端點(diǎn)地址對(duì)應(yīng)一個(gè)方向。例如端點(diǎn)3-IN,端點(diǎn)3-OUT,這兩個(gè)含義完全不同。但是需要注意其中的一個(gè)特殊端點(diǎn)--端點(diǎn)0,每個(gè)USB設(shè)備必須要有一個(gè)端點(diǎn)0,其作用為對(duì)設(shè)備枚舉和對(duì)設(shè)備進(jìn)行一些基本的控制功能,端點(diǎn)0也被稱為控制端點(diǎn)。并且它與其他的端點(diǎn)還有一個(gè)不同之處在于端點(diǎn)0的數(shù)據(jù)傳輸方向是雙向的,即端點(diǎn)0既可以給主機(jī)發(fā)送數(shù)據(jù),也可以接收主機(jī)發(fā)送過來的數(shù)據(jù),而其它端點(diǎn)均為單向。
    雖然有16個(gè)端點(diǎn),但通常我們只用到3個(gè),如下:
     1)、EP0:做傳輸配置和控制信息;
     2)、EP1:做數(shù)據(jù)輸入IN_EP;
     3)、EP2:做數(shù)據(jù)輸出OUT_EP。

注意:除了端點(diǎn)0,其余的端點(diǎn)在設(shè)備配置之前不能與主機(jī)通信,只有向主機(jī)報(bào)告這些端點(diǎn)的特性并被確認(rèn)后才能被激活。

三、端點(diǎn)的特性
    一個(gè)端點(diǎn)的特性決定了它與客戶軟件進(jìn)行傳送的類型。一個(gè)端點(diǎn)具有以下一些特性:
   ·端點(diǎn)的總線訪問頻率要求
   ·端點(diǎn)的總線延遲要求
   ·端點(diǎn)的帶寬要求
   ·端點(diǎn)的端點(diǎn)號(hào)
   ·對(duì)錯(cuò)誤處理的要求
   ·端點(diǎn)能接收或發(fā)送的包的最大長度
   ·端點(diǎn)的傳送類型
   ·端點(diǎn)與主機(jī)的數(shù)據(jù)傳送方向

四、端點(diǎn)描述符
    USB設(shè)備中端點(diǎn)描述符描述了端點(diǎn)信息,端點(diǎn)描述符格式如下:
typedef struct _USB_ENDPOINT_DESCRIPTOR_
{
    BYTE        bLength,
    BYTE        bDescriptorType,
    BYTE        bEndpointAddress,
    BYTE        bmAttributes,
    WORD      wMaxPacketSize,
    BYTE        bInterval
}USB_ENDPOINT_DESCRIPTOR;
各變量具體釋義如下:
bLength : 描述符大?。潭?x07.
bDescriptorType : 接口描述符類型.固定為0x05.
bEndpointType : USB設(shè)備的端點(diǎn)地址.Bit7,方向,對(duì)于控制端點(diǎn)可以忽略,1/0:IN/OUT.Bit6-4,保留.BIt3-0:端點(diǎn)號(hào).
bmAttributes : 端點(diǎn)屬性.Bit7-2,保留.BIt1-0:00控制,01同步,02批量,03中斷.
wMaxPacketSize : 本端點(diǎn)接收或發(fā)送的最大信息包大小.
bInterval : 輪訓(xùn)數(shù)據(jù)傳送端點(diǎn)的時(shí)間間隔.對(duì)于批量傳送和控制傳送的端點(diǎn)忽略.對(duì)于同步傳送的端點(diǎn),必須為1,對(duì)于中斷傳送的端點(diǎn),范圍為1-255。

五、端點(diǎn)與管道
1、管道的概念
    管道主機(jī)軟件(數(shù)據(jù)緩存區(qū)),和USB設(shè)備各各端點(diǎn)之間的數(shù)據(jù)傳輸連接,他是兩者之間通信流的抽象(實(shí)際上數(shù)據(jù)傳輸是USB總線接口完成)。管道與USB設(shè)備中的端點(diǎn)逐個(gè)對(duì)應(yīng),并且各個(gè)管道的數(shù)據(jù)傳輸是相互獨(dú)立的。

2、管道的格式分類
    管帶的通信格式分為兩種,一種為流,另一種為消息,這兩種通信格式不同且互斥。
1)、“流”指不具有USB定義格式的數(shù)據(jù)流,流通道中的數(shù)據(jù)是流的形式,也就是該數(shù)據(jù)內(nèi)容不具有USB要求的結(jié)構(gòu)。數(shù)據(jù)從流通道一端流進(jìn)的順序與它們從流通道另一端流出時(shí)的順序是一樣的(先進(jìn)先出),并且流通道中的通信流總是單向的。
2)、“消息”指具有某種USB定義格式的數(shù)據(jù)流。消息通道與端點(diǎn)的關(guān)系同流通道與端點(diǎn)的關(guān)系是不同的。首先,主機(jī)向USB設(shè)備發(fā)出一個(gè)請(qǐng)求;接著,就是數(shù)據(jù)的傳送;最后,是一個(gè)狀態(tài)階段(這部分即一次命令請(qǐng)求的過程)。為了能夠容納請(qǐng)求/數(shù)據(jù)/狀態(tài)的變化,消息通道要求數(shù)據(jù)有一個(gè)格式,此格式保證了命令能夠被可靠地傳送和確認(rèn)。消息通道允許雙方向的信息流。

六、端點(diǎn)的傳輸類型
    一個(gè)具體的端點(diǎn)只能屬于四個(gè)傳輸模式下中的一種。數(shù)據(jù)傳輸類型分為四種分別是:控制傳輸、批量傳輸、同步傳輸和中斷傳輸。一般情況下,通常把工作在什么模式下的端點(diǎn)就叫什么端點(diǎn),例如:控制端點(diǎn)、批量端點(diǎn)、同步端點(diǎn)和中斷端點(diǎn)。
    端點(diǎn)0,是設(shè)備的默認(rèn)控制端點(diǎn),在設(shè)備上電后就存在并可以使用,在Set Config之前所有的傳輸都是通過端點(diǎn)0傳輸?shù)摹?/span>


總結(jié):
    關(guān)于端點(diǎn)的了解暫時(shí)總結(jié)這么多,后面有時(shí)間繼續(xù)補(bǔ)充;歡迎大家指正上面可能存在的問題,我會(huì)及時(shí)改正。



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多