青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

USB開發(fā)基礎(chǔ)--USB命令(請求)和USB描述符

一、USB命令

  在USB規(guī)范里,對命令一詞提供的單詞為“Request”,但這里為了更好的理解主機與設(shè)備之間的主從關(guān)系,將它定義成“命令”。

  所有的USB設(shè)備都要求對主機發(fā)給自己的控制命令作出響應(yīng),USB規(guī)范定義了11個標(biāo)準(zhǔn)命令,它們分別是:Clear_Feature、Get_Configuration、Get_Descriptor、Get_Interface、Get_Status、Set_Address、Set_Configuration、Set_Descriptor、Set_Interface、Set_Feature、Synch_Frame。所有USB設(shè)備都必須支持這些命令(個別命令除外,如Set_Descriptor、Synch_Frame)。

  不同的命令雖然有不同的數(shù)據(jù)和使用目的,但所有的USB命令結(jié)構(gòu)是一樣的。下表所示為USB命令的結(jié)構(gòu): 

表1、USB命令的結(jié)構(gòu)
偏移量  長度(字節(jié)) 描述
0 bmRequestType 1 位圖 請求特征:
D7:傳輸方向 
0=主機至設(shè)備 
1=設(shè)備至主機 
D6..5:種類 
0=標(biāo)準(zhǔn) 
1=類 
2=廠商 
3=保留 
D4..0:接受者 
0=設(shè)備 
1=接口 
2=端點 
3=其他 
4..31 保留
1 bRequest 1 命令類型編碼值(見表3)
2 wValue 2 根據(jù)不同的命令,含義也不同
4 wIndex 2 索引或偏移 根據(jù)不同的命令,含義也不同,主要用于傳送索引或偏 移
6 wLength 2   如有數(shù)據(jù)傳送階段,此為數(shù)據(jù)字節(jié)數(shù)。

 

下表列出了USB的11種標(biāo)準(zhǔn)命令

 

表2、USB的11種標(biāo)準(zhǔn)命令
命令

bmRequestType

bRequest

wValue

wIndex

wLength

Data

Clear_Feature

00000000B
00000001B
00000010B

CLEAR_FEATURE

特性選擇符

零 
接口號 
端點號

Get_Configuration

10000000B

GET_CONFIGURATION

配置值

Get_Descriptor

10000000B

GET_DESCRIPTOR

描述表種類(高字節(jié),見表5)和索引(低字節(jié))

零或語言標(biāo)志

描述表長

描述表

Get_Interface

10000001B

GET_INTERFACE

接口號

可選設(shè)置

Get_Status

10000000B
10000001B
10000010B

GET_STATUS

零(返回設(shè)備狀態(tài))
接口號(對像時接口時)
端點號(對象是端點時)

設(shè)備,
接口 ,或 
端點狀態(tài)

Set_Address

00000000B

SET_ADDRESS

設(shè)備地址

Set_Configuration

00000000B

SET_CONFIGURATION

配置值(高字節(jié)為0,低字節(jié)表示要設(shè)置的配置值)

Set_Descriptor

00000000B

SET_DESCRIPTOR

描述表種類(高字節(jié),見表5)和索引(低字節(jié))

零或語言標(biāo)志

描述表長

描述表

Set_Feature

00000000B
00000001B
00000010B

SET_FEATURE

特性選擇符(1表示設(shè)備,0表示端點)

零 
接口號 
端點號

Set_Interface

00000001B

SET_INTERFACE

可選設(shè)置

接口號

Synch_Frame

100000010B

SYNCH_FRAME

端點號

幀號

 

其中bRequest為命令編碼值,含意見表3:

 

表3、USB標(biāo)準(zhǔn)命令的編碼值

bRequest

Value

GET_STATUS

0

CLEAR_FEATURE

1

為將來保留

2

SET_FEATURE

3

為將來保留

4

SET_ADDRESS

5

GET_DESCRIPTOR

6

SET_DESCRIPTOR

7

GET_CONFIGURATION

8

SET_CONFIGURATION

9

GET_INTERFACE

10

SET_INTERFACE

11

SYNCH_FRAME

12

 

 

二、USB描述符

  USB協(xié)議為USB設(shè)備定義了一套描述設(shè)備功能和屬性的有固定結(jié)構(gòu)的描述符,包括標(biāo)準(zhǔn)的描述符即設(shè)備描述符、配置描述符、接口描述符、端點描述符和字符串描述符,還有百標(biāo)準(zhǔn)描述符,如類描述符。USB設(shè)備通過這些描述符向USB主機匯報設(shè)備的各種各樣屬性,主機通過對這些描述符的訪問對設(shè)備進(jìn)行類型識別、配置并為其提供相應(yīng)的客戶端驅(qū)動程序。

  USB設(shè)備通過描述符反映自己的設(shè)備特性。USB描述符是由特定格式排列的一組數(shù)據(jù)結(jié)構(gòu)組成。

  在USB設(shè)備枚舉過程中,主機端的協(xié)義軟件需要解析從USB設(shè)備讀取的所有描述符信息。在USB主向設(shè)備發(fā)送讀取描述符的請求后,USB設(shè)備將所有的描述符以連續(xù)的數(shù)據(jù)流方式傳輸給USB主機。主機從第一個讀到的字符開始,根據(jù)雙方規(guī)定好的數(shù)據(jù)格式,順序地解析讀到的數(shù)據(jù)流。

  USB描述符包含標(biāo)準(zhǔn)描述符、類描述符和廠商特定描述3種形式。任何一種設(shè)備必須USB標(biāo)準(zhǔn)描述符(隊字符串描述符可選外)。

  在USB1.X中,規(guī)定了5種標(biāo)準(zhǔn)描述符:設(shè)備描述符(Device Descriptor)、配置描述符(Configuration Descriptor)、接口描述符(Interface Descriptor)、端點描述符(Endpoint Descriptor)和字符串描述符(String Descriptor)。

  每個USB設(shè)備只有一個設(shè)備描述符,而一個設(shè)備中可包含一個或多個配置描述符,即USB設(shè)備可以有多種配置。設(shè)備的每一個配置中又可以包含一個或多個接口描述符,即USB設(shè)備可以支持多種功能(接口),接口的特性通過描述符提供。

  在USB主機訪問USB設(shè)備的描述符時,USB設(shè)備依照設(shè)備描述符、配置描述符、接口描述符、端點描述符、字符串描述符順序?qū)⑺忻枋龇麄鹘o主機。一設(shè)備至少要包含設(shè)備描述符、配置描述符和接口描述符,如果USB設(shè)備沒有端點描述符,則它僅僅用默認(rèn)管道與主機進(jìn)行數(shù)據(jù)傳輸。

1、設(shè)備描述符

  設(shè)備描述符給出了USB設(shè)備的一般信息,包括對設(shè)備及在設(shè)備配置中起全程作用的信息,包括制造商標(biāo)識號ID、產(chǎn)品序列號、所屬設(shè)備類號、默認(rèn)端點的最大包長度和配置描述符的個數(shù)等。一個USB設(shè)備必須有且僅有一個設(shè)備描述符。設(shè)備描述符是設(shè)備連接到總線上時USB主機所讀取的第一個描述符,它包含了14個字段,結(jié)構(gòu)如下:

 

表4、USB設(shè)備描述符的結(jié)構(gòu)

偏移量

大小

描述

0

bLength

1

數(shù)字

此描述表的字節(jié)數(shù)

1

bDecriptorType

1

常量

描述符的類型(此處應(yīng)為0x01,即設(shè)備描述符)

2

bcdUSB

2

BCD碼

此設(shè)備與描述表兼容的USB設(shè)備說明版本號(BCD 碼)

4

bDeviceClass

1

設(shè)備類碼:
如果此域的值為0則一個設(shè)置下每個接口指出它自己的類,各個接口各自獨立工作。 
如果此域的值處于1~FEH之間,則設(shè)備在不同的接口上支持不同的類。并這些接口可能不能獨立工作。此值指出了這些接口集體的類定義。 
如果此域設(shè)為FFH,則此設(shè)備的類由廠商定義。

5

bDeviceSubClass

1

子類

子類挖碼 
這些碼值的具體含義根據(jù)bDeviceClass 域來看。 
如bDeviceClass 域為零,此域也須為零 
如bDeviceClass 域為FFH,此域的所有值保留。

6

bDevicePortocol

1

協(xié)議

協(xié)議碼 
這些碼的值視bDeviceClass 和 bDeviceSubClass 的值而定。 
如果設(shè)備支持設(shè)備類相關(guān)的協(xié)議,此碼標(biāo)志了設(shè)備類的值。如果此域的值為零,則此設(shè)備不支持設(shè)備類相關(guān)的協(xié)議,然而,可能它的接口支持設(shè)備類相關(guān)的協(xié)議。如果此域的值為FFH,此設(shè)備使用廠商定義的協(xié)議。

7

bMaxPacketSize0

1

數(shù)字

端點0的最大包大小(僅8,16,32,64
為合法值)

8

idVendor

2

ID

廠商標(biāo)志(由USB-IF組織賦值)

10

idProduct

2

ID

產(chǎn)品標(biāo)志(由廠商賦值)

12

bcdDevice

2

BCD 碼

設(shè)備發(fā)行號(BCD 碼)

14

iManufacturer

1

索引

描述廠商信息的字符串描述符的索引值。

15

iProduct

1

索引

描述產(chǎn)品信息的字串描述符的索引值。

16

iSerialNumber

1

索引

描述設(shè)備序列號信息的字串描述符的索引值。

17

bNumConfigurations

1

數(shù)字

可能的配置描述符數(shù)目

 

其中bDescriptorType為描述符的類型,其含義可查下表(此表也適用于標(biāo)準(zhǔn)命令Get_Descriptor中wValue域高字節(jié)的取值含義):

 

表5、USB描述符的類型值
類型 描述符 描述符值
標(biāo)準(zhǔn)描述符 設(shè)備描述符(Device Descriptor) 0x01
配置描述符(Configuration Descriptor) 0x02
字符串描述符(String Descriptor) 0x03
接口描述符(Interface Descriptor) 0x04
端點描述符(EndPont Descriptor) 0x05
類描述符 集線器類描述符(Hub Descriptor) 0x29
人機接口類描述符(HID) 0x21
廠商定義的描述符   0xFF

 

設(shè)備類代碼bDeviceClass可查下表:

 

表6、設(shè)備的類別(bDeviceClass)
值(十進(jìn)制)
值(十六進(jìn)制)
說明
0
0x00
接口描述符中提供類的值
2
0x02
通信類
9
0x09
集線器類
220
0xDC
用于診斷用途的設(shè)備類
224
0xE0
無線通信設(shè)備類
255
0xFF
廠商定義的設(shè)備類

 

下表列出了一個USB鼠標(biāo)的設(shè)備描述符的例子,供大家分析一下:

 

表7、一種鼠標(biāo)的設(shè)備描述符示例
字段 描述符值(十六制)

bLength

0x12

bDecriptorType

0x01

bcdUSB

x0110

bDeviceClass

0x00

bDeviceSubClass

0x00

bDevicePortocol

0x00

bMaxPacketSize0

0x08

idVendor

0x045E(Microsoft Corporation)

idProduct

0x0047

bcdDevice

0x300

iManufacturer

0x01

iProduct

0x03

iSerialNumber

0x00

bNumConfigurations

0x01

 

2、配置描述符

  配置描述符中包括了描述符的長度(屬于此描述符的所有接口描述符和端點描述符的長度的和)、供電方式(自供電/總線供電)、最大耗電量等。主果主機發(fā)出USB標(biāo)準(zhǔn)命令Get_Descriptor要求得到設(shè)備的某個配置描述符,那么除了此配置描述符以外,此配置包含的所有接口描述符與端點描述符都將提供給USB主機。

 

表8、USB配置描述符的結(jié)構(gòu)

   偏移量

     域

 大小

   值

   描述

      0

bLength

1

   數(shù)字

此描述表的字節(jié)數(shù)長度。

      1

bDescriptorType

1

   常量

配置描述表類型(此處為0x02)

      2

wTotalLength

2

   數(shù)字

此配置信息的總長(包括配置,接口,端點和設(shè)備類及廠商定義的描述符)

      4

bNumInterfaces

1

   數(shù)字

此配置所支持的接口個數(shù)

      5

bCongfigurationValue

1

   數(shù)字

在SetConfiguration()請求中用作參數(shù)來選定此配置。

      6

iConfiguration

1

   索引

描述此配置的字串描述表索引

      7

bmAttributes

1

   位圖

配置特性: 
D7: 保留(設(shè)為一) 
D6: 自給電源 
D5: 遠(yuǎn)程喚醒 
D4..0:保留(設(shè)為一) 
一個既用總線電源又有自給電源的設(shè)備會在MaxPower域指出需要從總線取的電量。并設(shè)置D6為一。運行時期的實際電源模式可由GetStatus(DEVICE) 請求得到。

      8

MaxPower

1

    mA

在此配置下的總線電源耗費量。以 2mA 為一個單位。

 

下面是一種硬盤的配置描述符示例:

 

表9、一種硬盤的配置描述符示例
字段 描述符值(十六進(jìn)制)

bLength

0x09

bDescriptorType

0x02

wTotalLength

0x01F

bNumInterfaces

0x01

bCongfigurationValue

0x01

iConfiguration

0x00

bmAttributes

0x0C

MaxPower

0x32

 

3、接口描述符

  配置描述符中包含了一個或多個接口描述符,這里的“接口”并不是指物理存在的接口,在這里把它稱之為“功能”更易理解些,例如一個設(shè)備既有錄音的功能又有揚聲器的功能,則這個設(shè)備至少就有兩個“接口”。

  如果一個配置描述符不止支持一個接口描述符,并且每個接口描述符都有一個或多個端點描述符,那么在響應(yīng)USB主機的配置描述符命令時,USB設(shè)備的端點描述符總是緊跟著相關(guān)的接口描述符后面,作為配置描述符的一部分被返回。接口描述符不可直接用Set_Descriptor和Get_Descriptor來存取。

  如果一個接口僅使用端點0,則接口描述符以后就不再返回端點描述符,并且此接口表現(xiàn)的是一個控制接口的特性,它使用與端點0相關(guān)聯(lián)的默認(rèn)管道進(jìn)行數(shù)據(jù)傳輸。在這種情況下bNumberEndpoints域應(yīng)被設(shè)置成0。接口描述符在說明端點個數(shù)并不把端點0計算在內(nèi)。

 

表10、USB接口描述符的結(jié)構(gòu)

偏移量

大小

說明

       0

bLength

1

數(shù)字

此表的字節(jié)數(shù)

       1

bDescriptorType

1

常量

接口描述表類(此處應(yīng)為0x04)

       2

bInterfaceNumber

1

數(shù)字

接口號,當(dāng)前配置支持的接口數(shù)組索引(從零開始)。

       3

bAlternateSetting

1

數(shù)字

可選設(shè)置的索引值。

       4

bNumEndpoints

1

數(shù)字

此接口用的端點數(shù)量,如果是零則說明此接口只用缺省控制管道。

       5

bInterfaceClass

        1

接口所屬的類值: 
零值為將來的標(biāo)準(zhǔn)保留。 
如果此域的值設(shè)為FFH,則此接口類由廠商說明。 
所有其它的值由USB 說明保留。

       6

bInterfaceSubClass

        1

子類

子類碼 
這些值的定義視bInterfaceClass域而定。
如果bInterfaceClass域的值為零則此域的值必須為零。 
bInterfaceClass域不為FFH則所有值由USB 所保留。

       7

bInterfaceProtocol

        1

協(xié)議

協(xié)議碼:bInterfaceClass 和bInterfaceSubClass 域的值而定.如果一個接口支持設(shè)備類相關(guān)的請求此域的值指出了設(shè)備類說明中所定義的協(xié)議.

       8

iInterface

        1

索引

描述此接口的字串描述表的索引值。

 

對于bInterfaceClass字段,表示接口所屬的類別,USB協(xié)議根據(jù)功能將不同的接口劃分成不的類,其具體含義如下表所示:

 

表11、USB協(xié)議定義的接口類別(bInterfaceClass)
值(十六進(jìn)制) 類別
0x01 音頻類
0x02 CDC控制類
0x03 人機接口類(HID)
0x05 物理類
0x06 圖像類
0x07 打印機類
0x08 大數(shù)據(jù)存儲類
0x09 集線器類
0x0A CDC數(shù)據(jù)類
0x0B 智能卡類
0x0D 安全類
0xDC 診斷設(shè)備類
0xE0 無線控制器類
0xFE 特定應(yīng)用類(包括紅外的橋接器等)
0xFF 廠商定義的設(shè)備

 

4、端點描述符

  端點是設(shè)備與主機之間進(jìn)行數(shù)據(jù)傳輸?shù)倪壿嫿涌冢渲檬褂玫亩它c0(控制端點,一般一個設(shè)備只有一個控制端點)為雙向端口外,其它均為單向。端點描述符描述了數(shù)據(jù)的傳輸類型、傳輸方向、數(shù)據(jù)包大小和端點號(也可稱為端點地址)等。

  除了描述符中描述的端點外,每個設(shè)備必須要有一個默認(rèn)的控制型端點,地址為0,它的數(shù)據(jù)傳輸為雙向,而且沒有專門的描述符,只是在設(shè)備描述符中定義了它的最大包長度。主機通過此端點向設(shè)備發(fā)送命令,獲得設(shè)備的各種描述符的信息,并通過它來配置設(shè)備。

 

表12、USB端點描述符的結(jié)構(gòu)

偏移量

大小

說明

0

bLength

1

數(shù)字

此描述表的字節(jié)數(shù)長度

1

bDescriptorType

1

常量

端點描述表類(此處應(yīng)為0x05)

2

bEndpointAddress

1

端點

此描述表所描述的端點的地址、方向: 
Bit 3..0 : 端點號.
Bit 6..4 : 保留,為零 
Bit 7:    方向,如果控制端點則略。 
0:輸出端點(主機到設(shè)備) 
1:輸入端點(設(shè)備到主機)

3

bmAttributes

1

位圖

此域的值描述的是在bConfigurationValue域所指的配置下端點的特性。 
Bit 1..0 :傳送類型 
00=控制傳送 
01=同步傳送 
10=批傳送 
11=中斷傳送 
所有其它的位都保留。

4

wMaxPacketSize

2

數(shù)字

當(dāng)前配置下此端點能夠接收或發(fā)送的最大數(shù)據(jù)包的大小。 
對于實進(jìn)傳輸,此值用于為每幀的數(shù)據(jù)凈負(fù)荷預(yù)留時間。在實際運行時,管道可能不完全需要預(yù)留的帶寬,實際帶寬可由設(shè)備通過一種非USB定義的機制匯報給主機。對于中斷傳輸,批量傳輸和控制傳輸,端點可能發(fā)送比之短的數(shù)據(jù)包
 

6

bInterval

1

數(shù)字

周期數(shù)據(jù)傳輸端點的時間間隙。 
此域的值對于批傳送的端點及控制傳送的端點無意義。對于同步傳送的端點此域必需為1,表示周期為1ms。對于中斷傳送的端點此域值的范圍為1ms到255ms。

 

下表是一種鼠標(biāo)的端點描述符的示例,該端點是一個中斷端點:

 

表13、一種鼠標(biāo)的端點描述符示例
值(十六進(jìn)制)

bLength

0x07

bDescriptorType

0x05

bEndpointAddress

0x81

bmAttributes

0x03

wMaxPacketSize

0x04

bInterval

0x0A

 

5、字符串描述符

  字符串描述符是一種可選的USB標(biāo)準(zhǔn)描述符,描述了如制商、設(shè)備名稱或序列號等信息。如果一個設(shè)備無字符串描述符,則其它描述符中與字符串有關(guān)的索引值都必須為0。字符串使用的是Unicode編碼。

  主機請示得到某個字符串描述符時一般分成兩步:首先主機向設(shè)備發(fā)出USB標(biāo)準(zhǔn)命令Get_Descriptor,其中所使用的字符串的索引值為0,設(shè)備返回一個字符串描述符,此描述符的結(jié)構(gòu)如下:

 

表14、USB字符串描述符(響應(yīng)主機請求時返回的表示語言ID的字符串描述符)

偏移量

大小

     描述

0

bLength

1

N+2

此描述表的字節(jié)數(shù)

1

bDescriptorType

1

常量

字串描述表類型(此處應(yīng)為0x03)

2

wLANGID[0]

2

數(shù)字

語言標(biāo)識(LANGID) 
碼0

      

N

wLANGID[x]

2

數(shù)字

語言標(biāo)識(LANGID) 
碼X

 

該字符串描述符雙字節(jié)的語言ID的數(shù)組,wLANGID[0]~wLANGID[x]指明了設(shè)備支持的語言,具體含義可查看USB_LANGIDs.pdf

  主機根據(jù)自己需要的語言,再次向設(shè)備發(fā)出USB標(biāo)準(zhǔn)命令Get_Descriptor,指明所要求得到的字符串的索引值和語言。這次設(shè)備所返回的是Unicode編號的字符串描述符,其結(jié)構(gòu)如下:

 

表15、Unicode字符串描述符(響應(yīng)主機請求時真正表示字符串編碼的字符串描述符)

偏移量

大小

描述

0

bLength

1

數(shù)字

此描述表的字節(jié)數(shù)(bString域的數(shù)值N+2)

1

bDescriptorType

1

常量

字串描述表類型(此處應(yīng)為0x03)

2

bString

N

數(shù)字

UNICODE 編碼的字串

 

bString域為設(shè)備實際返回的以UNICODE編碼的字符串流,我們在編寫設(shè)備端硬件驅(qū)動的時候需要將字符串轉(zhuǎn)換為UNICODE編碼,您可以通過一些UNICODE轉(zhuǎn)換工具進(jìn)行轉(zhuǎn)換。這里推薦由百合電子工作室開發(fā)的一款USB描述符生成工具“USB Unicode 字符串描述符生成器”,它專門為編寫設(shè)備端驅(qū)動程序的需要而定制,可以非常方便將您需要的字符串轉(zhuǎn)換成UNICODE格式,進(jìn)而導(dǎo)入您的C或匯編程序代碼中,以下是它的界面:

USB Unicode 字符串描述符生成器-生成C語言格式

USB Unicode 字符串描述符生成器-生成匯編格式

溫馨提示:

  百合電子工作室有一個關(guān)于USB開發(fā)方面的開源項目-Easy USB 51 Programer,整個開發(fā)過程寫得非常詳細(xì),不防參考一下,您還可以進(jìn)入她的論壇參與此項目的討論。

注:本篇文章部分內(nèi)容摘自《USB協(xié)議》和《USB技術(shù)及應(yīng)用設(shè)計》

 原文地址 http://www.baiheee.com/Documents/090518/090518112619.htm

posted on 2010-11-24 14:39 wrh 閱讀(1053) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導(dǎo)航

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

統(tǒng)計

常用鏈接

留言簿(19)

隨筆檔案

文章檔案

收藏夾

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美在线日韩| 亚洲你懂的在线视频| 午夜亚洲一区| 欧美亚洲免费在线| 国产欧美日韩视频一区二区三区 | 日韩一级黄色av| 久久成人人人人精品欧| 欧美一区二视频在线免费观看| 国产一区二区三区黄| 亚洲精品美女在线观看| 国产精品色网| 久久久久久一区| 一区二区三区高清在线| 亚洲欧美自拍偷拍| 欧美中文字幕在线| 亚洲免费中文| 欧美国产成人在线| 制服丝袜激情欧洲亚洲| 99re6这里只有精品视频在线观看| 国产精品美女在线| 欧美激情第9页| 欧美一区成人| 狠狠入ady亚洲精品| 99国产精品久久| 亚洲成色www8888| 亚洲欧美成人| 韩日精品中文字幕| 久久狠狠亚洲综合| 亚洲区第一页| 亚洲你懂的在线视频| 亚洲高清不卡一区| 欧美三级网页| 噜噜爱69成人精品| 亚洲国产日韩欧美综合久久| 欧美.com| 国产精品老女人精品视频| 亚洲性图久久| 亚洲成人在线网站| 亚洲国产精品久久久久婷婷884| 一本久久精品一区二区| 国产精品色一区二区三区| 欧美日韩1区2区3区| 欧美成人日本| 亚洲精品一区二区网址| 午夜精品视频在线观看| 欧美 日韩 国产精品免费观看| 亚洲深夜激情| 久久久中精品2020中文| 亚洲欧美日韩一区二区| 一区二区在线视频播放| **网站欧美大片在线观看| 国产精品久久久久国产a级| 国产亚洲人成网站在线观看| 欧美一区二区三区精品| 国产精品一区二区你懂得| 国产美女搞久久| 国产精品成人一区二区三区夜夜夜 | 亚洲一区二区三区高清不卡| 亚洲视频你懂的| 亚洲国产精品综合| 午夜亚洲福利在线老司机| 欧美日韩中文字幕综合视频| 亚洲高清不卡| 亚洲图片欧洲图片日韩av| 免费亚洲婷婷| 国产日韩免费| 欧美激情中文字幕一区二区| 久久精品日产第一区二区三区| 在线观看不卡| 亚洲电影自拍| 免费成人网www| 亚洲一区欧美二区| 男男成人高潮片免费网站| 99在线精品观看| 久久在线免费| 久久久亚洲高清| 欧美激情一区二区三区蜜桃视频| 欧美日韩国产黄| 国产日韩欧美在线观看| 亚洲天堂成人在线观看| 一本色道久久| 久久福利精品| 在线一区免费观看| 国产精品手机在线| 国产精品99久久久久久久vr| 久久亚洲精品网站| 亚洲成色777777在线观看影院| 日韩视频精品在线观看| 亚洲国产精品久久久久秋霞影院| 一本色道综合亚洲| 欧美日韩视频在线一区二区观看视频| 国产精品久久久久久久久搜平片| 国产综合一区二区| 欧美综合国产| 亚洲性夜色噜噜噜7777| 免费日韩av| 欧美人与禽性xxxxx杂性| 久久久久国产精品一区三寸 | 亚洲欧美影音先锋| 久久精品观看| 国产精品视频久久| 久久精品免费播放| 欧美成人免费网站| 亚洲黄色免费网站| 久久久999精品免费| 欧美成人在线免费观看| 亚洲欧美日韩精品久久| 久久大综合网| 亚洲欧洲一区二区在线观看| 亚洲欧美另类综合偷拍| 亚洲精品一区在线| 最新日韩中文字幕| 亚洲激情图片小说视频| 午夜亚洲伦理| 99视频有精品| 久久黄色影院| 麻豆精品视频| 韩国精品在线观看| 亚洲激情一区二区| 国产精品福利在线| 欧美不卡在线视频| 欧美精品精品一区| 宅男精品视频| 欧美色区777第一页| 久久成人精品无人区| 黄色精品网站| 久久精品成人一区二区三区蜜臀| 国产偷国产偷亚洲高清97cao| 亚洲精品国产品国语在线app| 久久青草久久| 欧美日韩一区在线视频| 一区二区高清在线| 亚洲一区影院| 在线观看国产精品淫| 久久嫩草精品久久久久| 久久综合网络一区二区| 国产精品国产三级国产普通话蜜臀| 亚洲欧美激情视频| 99精品热视频只有精品10| 欧美亚洲免费电影| 国产精品一区久久久| 99成人免费视频| 日韩亚洲视频在线| 欧美黄免费看| 欧美在线www| 免费一级欧美片在线观看| 亚洲二区三区四区| 久久免费国产精品1| 国产精品99久久久久久久vr| 欧美一级午夜免费电影| 国产日韩免费| 国产人成一区二区三区影院| 黄色成人av| 国内久久婷婷综合| 黑人极品videos精品欧美裸| 国产精品网站在线观看| 欧美高清hd18日本| 欧美久久在线| 国产自产在线视频一区| 欧美亚男人的天堂| 激情视频亚洲| 国产欧美日韩视频一区二区三区 | 免费在线观看日韩欧美| 亚洲一级二级在线| 日韩天堂在线观看| 亚洲一区二区三区乱码aⅴ| 久久久久久久国产| 久久影院午夜论| 免费观看欧美在线视频的网站| 欧美一区二区视频97| 亚洲欧美日韩爽爽影院| 亚洲午夜免费福利视频| 日韩视频一区二区三区在线播放| 欧美日韩一区二区三区视频| 欧美激情自拍| 国语自产精品视频在线看| 国产麻豆精品在线观看| 国产精品福利在线| 国产色综合久久| 国产亚洲精品bt天堂精选| 国产日韩专区| 亚洲一区国产一区| 亚洲人成亚洲人成在线观看| 国产日韩亚洲欧美综合| 亚洲电影在线免费观看| 亚洲日本成人女熟在线观看| 亚洲欧洲一区二区三区| 久久er精品视频| 一区二区三区www| 欧美日韩国产综合新一区| 红杏aⅴ成人免费视频| 一本大道av伊人久久综合| 一区二区三区导航| 亚洲精品久久久久久下一站| 99在线观看免费视频精品观看| 亚洲中无吗在线| 欧美二区视频| 韩国av一区二区| 欧美一区二区三区婷婷月色 | 免费视频一区|