日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux USB驱动分析(一)----USB2.0协议分析

發(fā)布時間:2023/12/8 linux 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux USB驱动分析(一)----USB2.0协议分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文地址:http://blog.chinaunix.net/uid-25445243-id-4040449.html

一、USB硬件介紹
1.1、概述

????????一條USB傳輸線分別由地線、電源線、D+和D-四條線構(gòu)成,D+和D-是差分輸入線,它使用的是3.3V的電壓(與CMOS的5V電平不同),而電源線和地線可向設(shè)備提供5V電壓,最大電流為500mA(可以在編程中設(shè)置)。
????????USB設(shè)備可以直接和HOST通信,或者通過Hub和Host通信。
一個USB系統(tǒng)中僅有一個USB 主機,設(shè)備包括USB功能設(shè)備和USB HUB,最多支持127個設(shè)備。物理連接指的是USB傳輸線。在USB 2.0系統(tǒng)中要求使用屏蔽雙絞線。
1.2、USB HUB
????????USB HUB提供了一種低成本、低復(fù)雜度的USB接口擴展方法。HUB的上行PORT面向HOST,下行PORT面向設(shè)備(HUB或功能設(shè)備)。在下行PORT上,HUB提供了設(shè)備連接檢測和設(shè)備移除檢測的能力,并給各下行PORT供電。HUB可以單獨使能各下行PORT不同PORT可以工作在不同的速度等級(高速/全速/低速)。
????????如果USB設(shè)備通過集線器和Host通信,主機集線器監(jiān)視著每個端口的信號電壓,當有新設(shè)備接入時便可覺察。集線器端口的兩根信號線的每一根都有15kΩ的下拉電阻,而每一個設(shè)備在D+都有一個 1.5kΩ的上拉電阻。當用USB線將PC和設(shè)備接通后,設(shè)備的上拉電阻使信號線的電位升高,因此被主機集線器檢測到。

二、USB數(shù)據(jù)格式

????????USB的重要關(guān)鍵字:

??????? 端點(Endpoint):位于USB設(shè)備或主機上的一個數(shù)據(jù)緩沖區(qū),是USB設(shè)備中可以進行數(shù)據(jù)收發(fā)的最小單元支持單向或者雙向的數(shù)據(jù)傳,用來存放和發(fā)送USB的各種數(shù)據(jù),每一個端點都有惟一的確定地址,有不同的傳輸特性(如輸入端點、輸出端點、配置端點、批量傳輸端點)。設(shè)備支持端點的數(shù)量是有限制的,除默認端點外低速設(shè)備最多支持2組端點(2 個輸入,2 個輸出),高速和全速設(shè)備最多支持15組端點。

??????? 幀:時間概念,在USB中,一幀就是1MS,它是一個獨立的單元,包含了一系列總線動作,USB將1幀分為好幾份,每一份是一個USB的傳輸動作。

??????? 上行、下行:設(shè)備到主機為上行,主機到設(shè)備為下行。

2.1、USB數(shù)據(jù)傳輸方法

??????? 數(shù)據(jù)在USB線里傳送是由低位到高位發(fā)送的。

??????? USB采用不歸零取反來傳輸數(shù)據(jù),當傳輸線上的差分數(shù)據(jù)輸入0時就取反,輸入1時就保持原值,為了確保信號發(fā)送的準確性,當在USB總線上發(fā)送一個包時,傳輸設(shè)備就要進行位插入操作(即在數(shù)據(jù)流中每連續(xù)6個1后就插入一個0),從而強迫NRZI碼發(fā)生變化。這些是由專門硬件處理的。

2.2、數(shù)據(jù)格式

??????? USB數(shù)據(jù)是由二進制數(shù)字串構(gòu)成的,首先數(shù)字串構(gòu)成域(有七種),域再構(gòu)成包,包再構(gòu)成事務(wù)(IN、OUT、SETUP),事務(wù)最后構(gòu)成傳輸(中斷傳輸、并行傳輸、批量傳輸和控制傳輸)。下面介紹一下域、包和事務(wù)。

2.2.1、域
????????是USB數(shù)據(jù)最小的單位,由若干位組成(多少位由具體的域決定),域可分為七個類型:

????????1、同步域(SYNC)
????????所有的USB包都由SYNC開始,高速包的SYNC寬度為32bit,全速/低速包的SYNC段度為8bit。實際接收到的SYNC長度由于USB HUB的關(guān)系,可能會小于該值。八位的值固定為0000 0001,用于本地時鐘與輸入同步。

????????2、標識域(PID)
????????由四位標識符 + 四位標識符反碼構(gòu)成,表明包的類型和格式,這是一個很重要的部分,這里可以計算出,USB的標識碼有16種。
USB2.0使用了十六
種標識碼,標識碼的作用是用來說明包的屬性的,標識碼是和包聯(lián)系在一起的,標識碼分別有以下十六種:

????????令牌包 :

????????0x01:輸出(OUT)啟動一個方向為主機到設(shè)備的傳輸,并包含了設(shè)備地址和標號。

????????0x09:輸入(IN) 啟動一個方向為設(shè)備到主機的傳輸,并包含了設(shè)備地址和標號。

????????0x05:幀起始(SOF)表示一個幀的開始,并且包含了相應(yīng)的幀號。

????????0x0d:設(shè)置(SETUP)啟動一個控制傳輸,用于主機對設(shè)備的初始化

????????數(shù)據(jù)包 :

????????0x03:偶數(shù)據(jù)包(DATA0)。

????????0x0b:奇數(shù)據(jù)包(DATA1)。

????????握手包:

????????0x02:確認接收到無誤的數(shù)據(jù)包(ACK)。

????????0x0a:無效,接收(發(fā)送)端正在忙而無法接收(發(fā)送)信息。

????????0x0e:錯誤,端點被禁止或不支持控制管道請求。

????????特殊包0x0C前導(dǎo),用于啟動下行端口的低速設(shè)備的數(shù)據(jù)傳輸。

????????3、地址域(ADDR):七位地址,代表了設(shè)備在主機上的地址,地址000 0000被命名為零地址,是任何設(shè)備第一次連接到主機時,在被主機配置、枚舉前的默認地址,由此可以知道為什么一個USB主機只能接127個設(shè)備的原因。

????????4、端點域(ENDP),四位,由此可知一個USB設(shè)備端點數(shù)量最大為16個。

????????5、幀號域(FRAM),11位,每一個幀都有一個特定的幀號,幀號域最大容量0x800,對于同步傳輸有重要意義。

????????6、數(shù)據(jù)域(DATA):長度為0~1023字節(jié),在不同的傳輸類型中,數(shù)據(jù)域的長度各不相同,但必須為整數(shù)個字節(jié)的長度。

????????7、校驗域(CRC):對令牌包和數(shù)據(jù)包中非PID域進行校驗的一種方法,CRC校驗在通訊中應(yīng)用很泛,是一種很好的校驗方法,CRC碼的除法是模2運算,不同于10進制中的除法。

2.2.2、包
????????USB數(shù)據(jù)包的格式如下:

????????由域構(gòu)成的包有四種類型,分別是令牌包、數(shù)據(jù)包、握手包和特殊包,前面三種是重要的包,不同包的域結(jié)構(gòu)不同,介紹如下:????????

????????1、令牌包

??????? 分為輸入包、輸出包、設(shè)置包和幀起始包(注意這里的輸入包是用于設(shè)置輸入命令的,輸出包是用來設(shè)置輸出命令的,而不是放數(shù)據(jù)的)其中輸入包、輸出包和設(shè)置包的格式都是一樣的:

?????????????????????????????????????????????? SYNC + PID + ADDR + ENDP + CRC5(五位的校驗碼)

????????幀起始包的格式:

?????????????????????????????????????????????? SYNC + PID + 11位FRAM + CRC5(五位的校驗碼)

????????2、數(shù)據(jù)包

????????分為DATA0包和DATA1包,當USB發(fā)送數(shù)據(jù)的時候,如果一次發(fā)送的數(shù)據(jù)長度大于相應(yīng)端點的容量時,就需要把數(shù)據(jù)包分為好幾個包,分批發(fā)送,DATA0包和DATA1包交替發(fā)送,即如果第一個數(shù)據(jù)包是DATA0,那第二個數(shù)據(jù)包就是DATA1。但也有例外情況,在同步傳輸中(四類傳輸類型中之一),所有的數(shù)據(jù)包都是為DATA0,格式如下:

??????????????????????????????????????????????????????? SYNC + PID + 0~1023字節(jié) + CRC16

????????3、握手包
????????結(jié)構(gòu)最為簡單的包,格式如下:

????????????????????????????????????????????????????????????????????SYNC + PID
????????握手包包括 ACK、NAK、STALL以及NYET 四種,其中 ACK 表示肯定的應(yīng)答,成功的數(shù)據(jù)傳輸。NAK 表示否定的應(yīng)答,失敗的數(shù)據(jù)傳輸,要求重新傳輸。STALL表示功能錯誤或端點被設(shè)置了STALL屬性。NYET表示尚未準備好,要求等待。

2.2.3、事務(wù)

????????分別有IN、OUT和SETUP三大事務(wù),每一種事務(wù)都由令牌包、數(shù)據(jù)包、握手包三個階段構(gòu)成,這里用階段的意思是因為這些包的發(fā)送是有一定的時間先后順序的,事務(wù)的三個階段如下:

????????1、令牌包階段:啟動一個輸入、輸出或設(shè)置的事務(wù)。

????????2、數(shù)據(jù)包階段:按輸入、輸出發(fā)送相應(yīng)的數(shù)據(jù)。

????????3、握手包階段:返回數(shù)據(jù)接收情況,在同步傳輸?shù)腎N和OUT事務(wù)中沒有這個階段,這是比較特殊的。

????????事務(wù)的三種類型如下(以下按三個階段來說明一個事務(wù)):

????????1、 IN事務(wù):

????????令牌包階段——主機發(fā)送一個PID為IN的輸入包給設(shè)備,通知設(shè)備要往主機發(fā)送數(shù)據(jù);

????????數(shù)據(jù)包階段——設(shè)備根據(jù)情況會作出三種反應(yīng)(要注意:數(shù)據(jù)包階段也不總是傳送數(shù)據(jù)的,根據(jù)傳輸情況還會提前進入握手包階段)。

????????1) 設(shè)備端點正常:設(shè)備往主機里面發(fā)出數(shù)據(jù)包(DATA0與DATA1交替);

??????? 2) 設(shè)備正在忙:無法往主機發(fā)出數(shù)據(jù)包就發(fā)送NAK無效包,IN事務(wù)提前結(jié)束,到了下一個IN事務(wù)才繼續(xù);

????????3) 相應(yīng)設(shè)備端點被禁止:發(fā)送錯誤包STALL包,事務(wù)也就提前結(jié)束了,總線進入空閑狀態(tài)。

????????握手包階段——主機正確接收到數(shù)據(jù)之后就會向設(shè)備發(fā)送ACK包。

????????2、 OUT事務(wù):

????????令牌包階段——主機發(fā)送一個PID為OUT的輸出包給設(shè)備,通知設(shè)備要接收數(shù)據(jù);

????????數(shù)據(jù)包階段——比較簡單,就是主機會往設(shè)備送數(shù)據(jù),DATA0與DATA1交替

????????握手包階段——設(shè)備根據(jù)情況會作出三種反應(yīng)

????????1) 設(shè)備端點接收正確,設(shè)備給主機返回ACK,通知主機可以發(fā)送新的數(shù)據(jù),如果數(shù)據(jù)包發(fā)生了CRC校驗錯誤,將不返回任何握手信息;

????????2) 設(shè)備正在忙,無法給主機返回ACK,就發(fā)送NAK無效包,通知主機再次發(fā)送數(shù)據(jù);

????????3) 相應(yīng)設(shè)備端點被禁止,發(fā)送錯誤包STALL包,事務(wù)提前結(jié)束,總線直接進入空閑狀態(tài)。

????????3、SETUT事務(wù):

????????令牌包階段——主機發(fā)送一個PID為SETUP的輸出包給設(shè)備,通知設(shè)備要接收數(shù)據(jù);

????????數(shù)據(jù)包階段——比較簡單,就是主機往設(shè)備送數(shù)據(jù),注意,這里只有一個固定為8個字節(jié)的DATA0包,這8個字節(jié)的內(nèi)容就是標準的USB設(shè)備請求命令,詳見2.4。

????????握手包階段——設(shè)備接收到主機的命令信息后,返回ACK,此后總線進入空閑狀態(tài),并準備下一個傳輸(在SETUP事務(wù)后通常是一個IN或OUT事務(wù)構(gòu)成的傳輸)。

2.3、標準的USB設(shè)備請求命令

????????標準的USB設(shè)備請求命令是用在控制傳輸中的“初始設(shè)置步驟”里的數(shù)據(jù)包階段(即DATA0,由八個字節(jié)構(gòu)成)命令共有11個,大小都是8個字節(jié),具有相同的結(jié)構(gòu),由5個字段構(gòu)成(字段是標準請求命令的數(shù)據(jù)部分),結(jié)構(gòu)如下(括號中的數(shù)字表示字節(jié)數(shù),首字母bm,b,w分別表示位圖、字節(jié),雙字節(jié)):

??????????????????? bmRequestType(1) + bRequest(1) + wvalue(2) + wIndex(2) + wLength(2)

????????各字段的意義如下:

????????1、bmRequestType:D7D6D5D4D3D2D1D0

????????D7=0主機到設(shè)備

????????????=1設(shè)備到主機;

????????D6D5=00標準請求命令

????????????=01 類請求命令

????????????=10用戶定義的命令????

????????????=11保留值

????????D4D3D2D1D0=00000 接收者為設(shè)備

????????????=00001 接收者為設(shè)備

????????????=00010 接收者為端點

????????????=00011 接收者為其他接收者

????????????=其他? 其他值保留

????????2、bRequest:請求命令代碼,在標準的USB命令中,每一個命令都定義了編號,編號的值就為字段的值,編號與命令名稱如下(要注意這里的命令代碼要與其他字段結(jié)合使用,可以說命令代碼是標準請求命令代碼的核心,正是因為這些命令代碼而決定了11個USB標準請求命令):

????????0? GET_STATUS:用來返回特定接收者的狀態(tài);

????????1? CLEAR_FEATURE:用來清除或禁止接收者的某些特性;

????????2)?3? SET_FEATURE:用來啟用或激活命令接收者的某些特性;

????????5? SET_ADDRESS:用來給設(shè)備分配地址;

????????6? GET_DEscriptOR:用于主機獲取設(shè)備的特定描述符;

????????7? SET_DEscriptOR:修改設(shè)備中有關(guān)的描述符,或者增加新的描述符;

????????8? GET_CONFIGURATION:用于主機獲取設(shè)備當前設(shè)備的配置值(注同上面的不同);

????????9? SET_CONFIGURATION:用于主機指示設(shè)備采用的要求的配置;

????????10? GET_INTERFACE:用于獲取當前某個接口描述符編號;

????????11? SET_INTERFACE:用于主機要求設(shè)備用某個描述符來描述接口;

????????12 SYNCH_FRAME:用于設(shè)備設(shè)置和報告一個端點的同步幀;

?????? 控制傳輸是USB的重心,而這11個命令是控制傳輸?shù)闹匦?#xff0c;所以這11個命令是重中之重。
2.4、
描述符(Descriptor)

??????? Descriptor是一個完整的數(shù)據(jù)結(jié)構(gòu),可以通過C語言等編程實現(xiàn),并存儲在USB設(shè)備中,用于描述一個USB設(shè)備的所有屬性,USB主機是通過一系列命令來要求設(shè)備發(fā)送這些信息的。它的作用就是給主機傳遞信息,從而讓主機知道設(shè)備具有什么功能、屬于哪一類設(shè)備、要占用多少帶寬、使用哪類傳輸方式及數(shù)據(jù)量的大小,只有主機確定了這些信息之后,設(shè)備才能真正開始工作,所以描述符也是十分重要的部分,標準的描述符有5種,USB為這些描述符定義了編號:

????????1——設(shè)備描述符

????????2——配置描述符

????????3——字符描述符

????????4——接口描述符

????????5——端點描述符

????????上面的描述符之間有一定的關(guān)系,一個設(shè)備只有一個設(shè)備描述符,而一個設(shè)備描述符可以包含多個配置描述符,而一個配置描述符可以包含多個接口描述符,一個接口使用了幾個端點,就有幾個端點描述符。這些描述符是用一定的字段構(gòu)成的,分別如下說明:

????????1、設(shè)備描述符

struct _DEVICE_DEscriptOR_STRUCT

{

????BYTE bLength;????????? //設(shè)備描述符的字節(jié)數(shù)大小,為0x12

????BYTE bDescriptorType;? //描述符類型編號,為0x01

????WORD bcdUSB;?????????? //USB版本號

????BYTE bDeviceClass;? //USB分配的設(shè)備類代碼,0x01~0xfe為標準設(shè)備類,0xff為廠商自定義類型

??????????????????????? //0x00不是在設(shè)備描述符中定義的,如HID

??? BYTE bDeviceSubClass;?? //usb分配的子類代碼,同上,值由USB規(guī)定和分配的

??? BYTE bDeviceProtocl;??? //USB分配的設(shè)備協(xié)議代碼,同上

??? BYTE bMaxPacketSize0;?? //端點0的最大包的大小

??? WORD idVendor;????????? //廠商編號

??? WORD idProduct;???????? //產(chǎn)品編號

??? WORD bcdDevice;???????? //設(shè)備出廠編號

??? BYTE iManufacturer;???? //描述廠商字符串的索引

??? BYTE iProduct;????????? //描述產(chǎn)品字符串的索引

??? BYTE iSerialNumber;???? //描述設(shè)備序列號字符串的索引

??? BYTE bNumConfiguration; //可能的配置數(shù)量

}

????????2、配置描述符

struct _CONFIGURATION_DEscriptOR_STRUCT

{

????BYTE bLength;????????? //設(shè)備描述符的字節(jié)數(shù)大小,為0x12

????BYTE bDescriptorType;? //描述符類型編號,為0x01

????WORD wTotalLength;???? //配置所返回的所有數(shù)量的大小

????BYTE bNumInterface;??? //此配置所支持的接口數(shù)量

????BYTE bConfigurationVale;?? //Set_Configuration命令需要的參數(shù)值

????BYTE iConfiguration;?????? //描述該配置的字符串的索引值

????BYTE bmAttribute;????????? //供電模式的選擇

????BYTE MaxPower;???????????? //設(shè)備從總線提取的最大電流

}

????????3、字符描述符

struct _STRING_DEscriptOR_STRUCT

{

????BYTE bLength;????????? //設(shè)備描述符的字節(jié)數(shù)大小,為0x12

????BYTE bDescriptorType;? //描述符類型編號,為0x01

????BYTE SomeDescriptor[36];????????? //UNICODE編碼的字符串

}

????????4、接口描述符

struct _INTERFACE_DEscriptOR_STRUCT

{

????BYTE bLength;????????? //設(shè)備描述符的字節(jié)數(shù)大小,為0x12

????BYTE bDescriptorType;? //描述符類型編號,為0x01

????BYTE bInterfaceNunber; //接口的編號

????BYTE bAlternateSetting;//備用的接口描述符編號

????BYTE bNumEndpoints;??? //該接口使用端點數(shù),不包括端點0

????BYTE bInterfaceClass;? //接口類型

????BYTE bInterfaceSubClass;//接口子類型

????BYTE bInterfaceProtocol;//接口所遵循的協(xié)議

????BYTE iInterface;??????? //描述該接口的字符串索引值

}

????????5、端點描述符

struct _ENDPOIN_DEscriptOR_STRUCT

{

????BYTE bLength;????????? //設(shè)備描述符的字節(jié)數(shù)大小,為0x12

????BYTE bDescriptorType;? //描述符類型編號,為0x01

????BYTE bEndpointAddress; //端點地址及輸入輸出屬性

????BYTE bmAttribute;????? //端點的傳輸類型屬性

????WORD wMaxPacketSize;?? //端點收、發(fā)最大包的大小

????BYTE bInterval;??????? //主機查詢端點的時間間隔

}

三、傳輸
????????USB系統(tǒng)中的數(shù)據(jù)傳輸,宏觀看是在HOST和USB功能設(shè)備之間進行。微觀看是在應(yīng)用軟件的Buffer和USB功能設(shè)備的端點之間進行。一般來說端點都有Buffer,可以認為USB通訊就是應(yīng)用軟件Buffer和設(shè)備端點Buffer之間的數(shù)據(jù)交換,交換的通道稱為管道。應(yīng)用軟件通過和設(shè)備之間的數(shù)據(jù)交換來完成設(shè)備控制和數(shù)據(jù)傳輸。通常需要多個管道來完成數(shù)據(jù)交換,因為同一管道只支持一種類型的數(shù)據(jù)傳輸。用在一起來對設(shè)備進行控制的若干管道稱為設(shè)備的接口,這就是端點、管道和接口的關(guān)系。
????????USB 采用“令牌包”-“數(shù)據(jù)包”-“握手包”的傳輸機制,在令牌包中指定數(shù)據(jù)包去向或者來源的設(shè)備地址和端點(Endpoint),從而保證了只有一個設(shè)備對被廣播的數(shù)據(jù)包/令牌包作出響應(yīng)。握手包表示了傳輸?shù)某晒εc否。
????????USB 采用輪詢的廣播機制傳輸數(shù)據(jù),所有的傳輸都由主機發(fā)起,任何時刻整個 USB 體系內(nèi)僅允許一個數(shù)據(jù)包的傳輸,即不同物理傳輸線上看到的數(shù)據(jù)包都是同一被廣播的數(shù)據(jù)包。

????????傳輸由OUT、IN和SETUP事務(wù)構(gòu)成,傳輸有四種類型,中斷傳輸、批量傳輸、同步傳輸、控制傳輸,其中中斷傳輸和批量傳輸?shù)慕Y(jié)構(gòu)一樣,同步傳輸有最簡單的結(jié)構(gòu),而控制傳輸是最重要的也是最復(fù)雜的傳輸。

3.1、 控制傳輸
????????控制傳輸是一種可靠的雙向傳輸,是最重要也是最復(fù)雜的,一次控制傳輸可分為構(gòu)成(初始設(shè)置階段、可選數(shù)據(jù)階段、狀態(tài)信息步驟),每一個階段可以看成一個傳輸,也就是說控制傳輸其實是由三個傳輸構(gòu)成的,在USB設(shè)備初次接到主機后,主機通過控制傳輸來交換信息、設(shè)備地址和讀取設(shè)備的描述符,使得主機識別設(shè)備,并安裝相應(yīng)的驅(qū)動程序,這是每一個USB開發(fā)者都要關(guān)心的問題。
????????第一階段:從HOST到Device的SETUP事務(wù)傳輸,這個階段指定了此次控制傳輸?shù)恼埱箢愋汀?br style="word-wrap:break-word" /> ????????第二階段:數(shù)據(jù)階段,也有些請求沒有數(shù)據(jù)階段。
????????第三階段:狀態(tài)階段,通過一次IN/OUT傳輸表明請求是否成功完成。
????????控制傳輸通過控制管道在應(yīng)用軟件和Device的控制端點之間進行,控制傳輸過程中傳輸?shù)臄?shù)據(jù)是有格式定義的,USB 設(shè)備或主機可根據(jù)格式定義解析獲得的數(shù)據(jù)含義。其他三種傳輸類型都沒有格式定義。控制傳輸對于最大包長度有固定的要求。對于高速設(shè)備該值為64Byte,對于低速設(shè)備該值為8,全速設(shè)備可以是8或16或32或64。
????????最大包長度表征了一個端點單次接收/發(fā)送數(shù)據(jù)的能力,實際上反應(yīng)的是該端點對應(yīng)Buffer的大小。Buffer越大,單次可接收/發(fā)送的數(shù)據(jù)包越大,反之亦反。當通過一個端點進行數(shù)據(jù)傳輸時,若數(shù)據(jù)的大小超過該端點的最大包長度時,需要將數(shù)據(jù)分成若干個數(shù)據(jù)包傳輸。并保證除最后一個包外,所有的包長度均等于該最大包長度。也就是說如果一個端點收到/發(fā)送了一個長度小于最大包長度的包,即意味著數(shù)據(jù)傳輸結(jié)束
????????控制傳輸在訪問總線時也受到一些限制,如高速端點的控制傳輸不能占用超過 20%的微幀,全速和低速的則不能超過 10%。在一幀內(nèi)如果有多余的未用時間,并且沒有同步和中斷傳輸,可以用來進行控制傳輸。


????????控制傳輸(Transaction) 一次控制傳輸分為三(或兩個)個階段:建立(Setup)、數(shù)據(jù)(DATA)(可能沒有)以及狀態(tài)(Status)。每個階段都由一次或多次(數(shù)據(jù)階段)事務(wù)傳輸組成(Transaction)。
??????? 上圖為建立階段的事務(wù)傳輸流程圖。可以看出:
????????與批量傳輸相比,在流程上并沒有多大區(qū)別,區(qū)別只在于該事務(wù)傳輸發(fā)生的端點不一樣、支持的最大包長度不一樣、優(yōu)先級不一樣等這樣一些對用戶來說透明的東西。
????????建立階段過后,可能會有數(shù)據(jù)階段,這個階段將會通過一次或多次控制傳輸事務(wù),完成數(shù)據(jù)的傳輸。同樣也會采用PID翻轉(zhuǎn)的機制。
????????建立階段,Device 只能返回ACK包,或者不返回任何包。
????????最后是狀態(tài)階段,通過一次方向與前一次相反的控制事務(wù)傳輸來表明傳輸?shù)某晒εc否。如果成功會返回一個長度為0的數(shù)據(jù)包,否則返回 NAK或STALL。下圖為整個控制傳輸?shù)氖疽鈭D:

3.2、中斷傳輸

??????? 中斷傳輸是一種輪詢的傳輸方式,是一種單向的傳輸。HOST通過固定的間隔對中斷端點進行查詢,若有數(shù)據(jù)傳輸或可以接收數(shù)據(jù)則返回數(shù)據(jù)或發(fā)送數(shù)據(jù)。否則返回NAK,表示尚未準備好。中斷傳輸?shù)难舆t有保證,但并非實時傳輸,它是一種延遲有限的可靠傳輸,支持錯誤重傳。對于高速/全速/低速端點,最大包長度分別可以達到1024/64/8 Bytes。 高速中斷傳輸不得占用超過 80%的微幀時間,全速和低速不得超過90%。 中斷端點的輪詢間隔由在端點描述符中定義,全速端點的輪詢間隔可以是1~255mS。低速端點為10~255mS,高速端點為(2interval-1)*125uS,其中 interval 取 1到 16 之間的值。
????????除高速高帶寬中斷端點外,一個微幀內(nèi)僅允許一次中斷事務(wù)傳輸。高速高帶寬端點最多可以在一個微幀內(nèi)進行三次中斷事務(wù)傳輸,傳輸高達 3072 字節(jié)的數(shù)據(jù)。
????????所謂單向傳輸,并不是說該傳輸只支持一個方向的傳輸。而是指在某個端點上該傳輸僅支持一個方向,或輸出、或輸入。如果需要在兩個方向上進行某種單向傳輸,需要占用兩個端點,分別配置成不同的方向。可以擁有相同的端點編號。
????????中斷傳輸由OUT事務(wù)和IN事務(wù)構(gòu)成,用于鍵盤、鼠標等HID設(shè)備的數(shù)據(jù)傳輸。
????????中斷傳輸在流程上除不支持PING之外,其他的跟批量傳輸是一樣的。他們之間的區(qū)別也僅在于事務(wù)傳輸發(fā)生的端點不一樣、支持的最大包長度不一樣、優(yōu)先級不一樣等這樣一些對用戶來說透明的東西。
????????主機在排定中斷傳輸任務(wù)時,會根據(jù)對應(yīng)中斷端點描述符中指定的查詢間隔發(fā)起中斷傳輸。中斷傳輸有較高的優(yōu)先級,僅次于同步傳輸。同樣中斷傳輸也采用 PID 翻轉(zhuǎn)的機制來保證收發(fā)端數(shù)據(jù)同步。
????????下圖為中斷傳輸?shù)牧鞒虉D。

3.3、批量傳輸
????????批量傳輸由OUT事務(wù)和IN事務(wù)構(gòu)成,是一種可靠的單向傳輸,但延遲沒有保證,它盡量利用可以利用的帶寬來完成傳輸,適合數(shù)據(jù)量比較大的傳輸。低速USB設(shè)備不支持批量傳輸,高速批量端點的最大包長度為512,全速批量端點的最大包長度可以為8、16、32、64。
????????批量傳輸在訪問USB總線時,相對其他傳輸類型具有最低的優(yōu)先級,USB HOST總是優(yōu)先安排其他類型的傳輸,當總線帶寬有富余時才安排批量傳輸。高速的批量端點必須支持PING操作,向主機報告端點的狀態(tài)。NYET表示否定應(yīng)答,沒有準備好接收下一個數(shù)據(jù)包,ACK 表示肯定應(yīng)答,已經(jīng)準備好接收下一個數(shù)據(jù)包。

????????圖中一個方框表示一個 Packet,灰色的包表示主機發(fā)出的包,白色的包表示Device發(fā)出的包。批量傳輸是可靠的傳輸,需要握手包來表明傳輸?shù)慕Y(jié)果。若數(shù)據(jù)量比較大,將采用多次批量事務(wù)傳輸來完成全部數(shù)據(jù)的傳輸,傳輸過程中數(shù)據(jù)包的PID按照 DATA0-DATA1-DATA0-...的方式翻轉(zhuǎn),以保證發(fā)送端和接收端的同步。若成功則將錯誤次數(shù)計數(shù)器清0,否則累加該計數(shù)器。USB允許連續(xù)3次以下的傳輸錯誤,會重試該傳輸。超過三次后,HOST 認為該端點功能錯誤(STALL),放棄該端點的傳輸任務(wù)。
????????一次批量傳輸(Transfer)由 1 次到多次批量事務(wù)傳輸(Transaction)組成。
????????翻轉(zhuǎn)同步:發(fā)送端按照 DATA0-DATA1-DATA0-...的順序發(fā)送數(shù)據(jù)包,只有成功的事務(wù)傳輸才會導(dǎo)致PID翻轉(zhuǎn),也就是說發(fā)送段只有在接收到ACK后才會翻轉(zhuǎn)PID,發(fā)送下一個數(shù)據(jù)包,否則會重試本次事務(wù)傳輸。同樣,若在接收端發(fā)現(xiàn)接收到的數(shù)據(jù)包不是按照此順序翻轉(zhuǎn)的,比如連續(xù)收到兩個DATA0,那么接收端認為第二個DATA0是前一個DATA0的重傳。

3.4、同步傳輸

????????同步傳輸是一種實時的、不可靠的傳輸,不支持錯誤重發(fā)機制。只有高速和全速端點支持同步傳輸,高速同步端點的最大包長度為1024,低速的為1023。由OUT事務(wù)和IN事務(wù)構(gòu)成。有兩個特殊地方,第一,在同步傳輸?shù)腎N和OUT事務(wù)中是沒有返回包階段的;第二,在數(shù)據(jù)包階段所有的數(shù)據(jù)包都為DATA0
????????除高速高帶寬同步端點外,一個微幀內(nèi)僅允許一次同步事務(wù)傳輸,高速高帶寬端點最多可以在一個微幀內(nèi)進行三次同步事務(wù)傳輸,傳輸高達 3072 字節(jié)的數(shù)據(jù)。全速同步傳輸不得占用超過 80%的幀時間,高速同步傳輸不得占用超過90%的微幀時間。同步端點的訪問也和中斷端點一樣,有固定的時間間隔限制。

????????同步傳輸是不可靠的傳輸,所以它沒有握手包,也不支持PID翻轉(zhuǎn)。主機在排定事務(wù)傳輸時,同步傳輸有最高的優(yōu)先級。

3.5、分離傳輸(Split Transaction)
????????分離傳輸是在主機控制器和USB HUB之間的傳輸,它僅在主機控制器和HUB之間執(zhí)行,通過分離傳輸,可以允許全速/低速設(shè)備連接到高速主機。分離傳輸對于USB設(shè)備來說是透明的、不可見的。
????????分離傳輸,顧名思義就是把一次完整的事務(wù)傳輸分成兩個事務(wù)傳輸來完成。其出發(fā)點是高速傳輸和全速/低速傳輸?shù)乃俣炔幌嗟?#xff0c;如果使用一次完整的事務(wù)來傳輸,勢必會造成比較長的等待時間,從而降低了高速USB總線的利用率。通過將一次傳輸分成兩次,將令牌(和數(shù)據(jù))的傳輸與響應(yīng)數(shù)據(jù)(和握手)的傳輸分開,這樣就可以在中間插入其他高速傳輸,從而提高總線的利用率。
3.6、總結(jié)

????????包是USB總線數(shù)據(jù)傳輸?shù)淖钚挝?#xff0c;不能被打斷或干擾,否則會引發(fā)錯誤。若干個數(shù)據(jù)包組成一次事務(wù)傳輸,一次事務(wù)傳輸也不能打斷,屬于一次事務(wù)傳輸?shù)膸讉€包必須連續(xù),不能跨幀完成。一次傳輸由一次到多次事務(wù)傳輸構(gòu)成,可以跨幀完成。
四、枚舉

????????USB設(shè)備連接到HOST時,HOST必須通過默認的控制管道對其進行枚舉,完成獲得其設(shè)備描述、進行地址分配、獲得其配置描述、進行配置等操作后方可正常使用。USB設(shè)備的即插即用特性即依賴于此。

4.1、枚舉時USB的狀態(tài)

????????當USB設(shè)備插上主機時,主機就通過一系列的動作來對設(shè)備進行枚舉配置(配置是屬于枚舉的一個態(tài),態(tài)表示暫時的狀態(tài)),這些態(tài)如下:

??????? 1、接入態(tài)(Attached):設(shè)備接入主機后,主機通過檢測信號線上的電平變化來發(fā)現(xiàn)設(shè)備的接入;

??????? 2、供電態(tài)(Powered):就是給設(shè)備供電,分為設(shè)備接入時的默認供電值,配置階段后的供電值(按數(shù)據(jù)中要求的最大值,可通過編程設(shè)置);

??????? 3、缺省態(tài)(Default):USB在被配置之前,通過缺省地址0與主機進行通信;

??????? 4、地址態(tài)(Address):經(jīng)過了配置,USB設(shè)備被復(fù)位后,就可以按主機分配給它的唯一地址來與主機通信,這種狀態(tài)就是地址態(tài);

??????? 5、配置態(tài)(Configured):通過各種標準的USB請求命令來獲取設(shè)備的各種信息,并對設(shè)備的某些信息進行改變或設(shè)置。

??????? 6、掛起態(tài)(Suspended):總線供電設(shè)備在3ms內(nèi)沒有總線操作,即USB總線處于空閑狀態(tài)的話,該設(shè)備就要自動進入掛起狀態(tài),在進入掛起狀態(tài)后,總的電流功耗不超過280uA。
??????? 狀態(tài)轉(zhuǎn)移圖如下所示:


???????
4.2、枚舉過程

??????? 1、用戶將一個USB設(shè)備插入USB端口,主機為端口供電,設(shè)備此時處于上電狀態(tài)。主機檢測設(shè)備。集線器使用中斷通道將事件報告給主機。

????????2、主機發(fā)送Get_Port_Status(讀端口狀態(tài))請求,以獲取更多的設(shè)備信息。 返回的消息告訴主機該設(shè)備是什么時候連接的。 集線器檢測設(shè)備是低速運行還是高速運行,并將此信息送給主機,這是對Get_Port_Status請 求的響應(yīng)。

??????? 3、主機發(fā)送Set_Port_Feature(寫端口狀態(tài))請求給集線器,要求它復(fù)位端口,請求集線器來重新設(shè)置端口。集線器使設(shè)備的USB數(shù)據(jù)線處于重啟(RESET)狀態(tài)至少10ms。

??????? 4、主機使用Chirp K信號來了解全速設(shè)備是否支持高速運行。

??????? 5、主機發(fā)送另一個Get_Port_Status請求,確定設(shè)備是否已經(jīng)從復(fù)位狀態(tài)退出。返回的數(shù)據(jù)有一位表示設(shè)備仍然處于重啟狀態(tài)。當集線器釋放了重啟狀態(tài),設(shè)備此時處于缺省狀態(tài),且已準備好在零端點通過缺省通道響應(yīng)主機控制傳輸。缺省地址為00h,設(shè)備能從總線獲取高達100mA的電流。
????????6、集線器檢測設(shè)備速度?

????????集線器通過測定哪根信號線(D+或D-)在空閑時有更高的電壓來檢測設(shè)備是低速設(shè)備還是全速設(shè)備。全速和高速設(shè)備D+有上拉電阻,低速設(shè)備D-有上拉電阻。

??????? 7、獲取最大數(shù)據(jù)包長度
??????? 主機向addre
ss 0發(fā)送Get_Device_Deor(讀設(shè)備描述符)報文,以取得缺省控制管道所支持的最大數(shù)據(jù)包長度并在有限的時間內(nèi)等待USB設(shè)備的響應(yīng)該長度包含在設(shè)備描述符的bMaxPacketSize0字段中,其地址偏移量為7,所以這時主機只需讀取該描述符的前8個字節(jié)。注意,主機一次只能枚舉一個USB設(shè)備,所以同一時刻只能有一個USB設(shè)備使用缺省地址0。
??????? 例:主機向設(shè)備發(fā)送一個八字節(jié)請求:80 06 00 01 00 00 40 00,設(shè)備接收到請求后產(chǎn)生一
個中斷,我們可以通過讀中斷寄存器知道中斷源,并且可以加讀最后狀態(tài)寄存器來確定第一個接到的包是否為一個Setup包。當控制器處理程序判斷出它是一個Get_descriptor請求時,把設(shè)備描述符的前16個字節(jié)發(fā)送到端點0緩沖區(qū)中。剩下的2個字節(jié)描述符第一次請求時不再發(fā)送。

??????? 8、主機分配一個新的地址給設(shè)備

????????主機通過發(fā)送一個Set_Address請求來分配一個唯一的地址給設(shè)備。設(shè)備讀取這個請求,返回一個確認,并保存新的地址。從此開始所有通信都使用這個新地址。

????????例:當主機收到正確的前16字節(jié)描述符后,會給設(shè)備分配一個地址,我的PC分配的地址為:0x03(這個要看你的機子當的USB接口設(shè)備數(shù)目而定) Set_Address 請求所發(fā)送的數(shù)據(jù)為:00 05 03 00 00 00 00 00,其中的03就表示主機為設(shè)備配的地址為0x03,在以后的通信里設(shè)備就只對0x03地址作出應(yīng)答。當設(shè)備產(chǎn)生一個接收中斷后,根據(jù)所分配的地址設(shè)置設(shè)備的地址寄存器相應(yīng)位。

??????? 9、主機向新地址重新發(fā)送Get_Device_Deor命令,此次讀取其設(shè)備描述符的全部字段,以了解該設(shè)備的總體信息,如VID,PID。
??????? 例:主機發(fā)送設(shè)備描述符標準請求Get_descriptor:80 06 00 01 00 00 12 00,此次將要求把18個字節(jié)全部發(fā)送完。所以主
機要分兩次來讀取。第一次讀取16個字節(jié),第二次讀取兩個字節(jié),最后主機發(fā)送0表示發(fā)送完畢的應(yīng)答。

???? ??? 10、主機向設(shè)備循環(huán)發(fā)送Get_Device_Configuration命令,要求USB設(shè)備回答,以讀取全部配置信息。

????????11、主機發(fā)送Get_Device_String命令,獲得字符集描述(unicode),比如產(chǎn)商、產(chǎn)品描述、型號等等。此時主機將會彈出窗口,展示發(fā)現(xiàn)新設(shè)備的信息,產(chǎn)商、產(chǎn)品描述、型號等。

??????? 根據(jù)Device_Deor和Device_Configuration應(yīng)答,PC判斷是否能夠提供USB的Driver,一般win2k能提供幾大類的設(shè)備,如游戲操作桿、存儲、打印機、掃描儀等,操作就在后臺運行。但是Win98卻不可以,所以在此時將會彈出對話框,索要USB的Driver。

??????? 12、主機分配并加載設(shè)備驅(qū)動程序,這時就可能作應(yīng)用中的數(shù)據(jù)傳輸了。

??????? 13、主機發(fā)送Set_Configuration(x)(寫配置)命令請求為該設(shè)備選擇一個合適的配置(x代表非0的配置值)。如果配置成功,USB設(shè)備進入“配置”狀態(tài),并可以和客戶軟件進行數(shù)據(jù)傳輸。此時,常規(guī)的USB完成了其必須進行的配置和連接工作,至此設(shè)備應(yīng)當可以開始使用。不過,USB協(xié)議還提供了一些用戶可選的協(xié)議,設(shè)備如果不應(yīng)答,也不會出錯,但是會影響到系統(tǒng)的功能。

??????? 14、主機為復(fù)合設(shè)備接口分配驅(qū)動程序。如果集線器檢測到有過流現(xiàn)象,或者主機要求集線器關(guān)閉電源,則USB總線切斷設(shè)備供電電源。在這種情況下,設(shè)備與主機無法通信,但設(shè)備處于連接狀態(tài)。???

????????使用USB View 采集到的數(shù)據(jù):

Device Descriptor:
bcdUSB:???????????? 0x0100
bDeviceClass:???????? 0xDC
bDeviceSubClass:????? 0x00
bDeviceProtocol:????? 0x00
bMaxPacketSize0:????? 0x10 (16)
idVendor:?????????? 0x0471
idProduct:????????? 0x0666
bcdDevice:????????? 0x0100
iManufacturer:??????? 0x00
iProduct:???????????? 0x00
iSerialNumber:??????? 0x00
bNumConfigurations:?? 0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:???? Full
Device Address:?????? 0x02
Open Pipes:????????????? 4

Endpoint Descriptor:
bEndpointAddress:???? 0x81
Transfer Type:?? Interrupt
wMaxPacketSize:???? 0x0010 (16)
bInterval:??????????? 0x0A

Endpoint Descriptor:
bEndpointAddress:???? 0x01
Transfer Type:?? Interrupt
wMaxPacketSize:???? 0x0010 (16)
bInterval:??????????? 0x0A

Endpoint Descriptor:
bEndpointAddress:???? 0x82
Transfer Type:??????? Bulk
wMaxPacketSize:???? 0x0040 (64)
bInterval:??????????? 0x0A

Endpoint Descriptor:
bEndpointAddress:???? 0x02
Transfer Type:??????? Bulk
wMaxPacketSize:???? 0x0040 (64)
bInterval:??????????? 0x0A

4.3、USB枚舉實例

????????對2440的USB HOST進行初始化完畢(主要包括對符合OHCI規(guī)范的寄存器的初始化—總線復(fù)位、中斷使能、清除中斷標志、電源管理、內(nèi)存指針寄存器的初始化,各種數(shù)據(jù)結(jié)構(gòu)的初始化等),等待USB設(shè)備的插入,當2440檢測到有設(shè)備插入,就要對設(shè)備進行枚舉了。起始枚舉就相當于主機和設(shè)備建立連接的過程(接頭),Host向Device詢問一些東西,Device將自身的設(shè)備類型,如何進行通信報告給Host,這樣Host就知道怎么對Device進行操作了。

????????枚舉的過程實際上用到而且只用到了總線的“控制傳輸(Control Transfer)”。這種傳輸方式通常用于配置/命令/狀態(tài)等情形,其中的設(shè)置操作setup和狀態(tài)操作status過程的數(shù)據(jù)包具有USB 協(xié)議定義的數(shù)據(jù)結(jié)構(gòu),因此,控制傳輸只能通過消息管道進行。

????????一個完整的控制傳輸包括三個過程:

????????1、建立連接。 ???
??????? 2、數(shù)據(jù)過程(可選) 。 ???????
????????3、狀態(tài)過程。

????????建立連接的過程都是由Host發(fā)起,它開始于一個Setup令牌包,后面緊跟一個DATA0包。如果是控制輸入傳輸,數(shù)據(jù)過程則為輸入數(shù)據(jù),若是控制輸出傳輸,則數(shù)據(jù)過程是輸出數(shù)據(jù)。

????????數(shù)據(jù)過程的可選型是指設(shè)置過程需要指定數(shù)據(jù)長度,如果指定為0,則沒有數(shù)據(jù)過程。狀態(tài)過程跟在數(shù)據(jù)過程之后,狀態(tài)過程恰好和數(shù)據(jù)過程的數(shù)據(jù)傳輸方向相反,因為此階段主要是用來確認之前兩階段的所有數(shù)據(jù)都已經(jīng)正確傳輸了。

?????? 好了,下面就結(jié)合我的這個實例來看看枚舉的詳細過程:

????????1、控制2440向U盤發(fā)送第一個Setup包,內(nèi)容是80 06 00 01 00 00 08 00,其中最后的00 08表示得到DEVICE_DCESCRIPTOR的前8個字節(jié),因為這個包的主要目的是要獲得USB Device中端點0的最大包的大小(第8個字節(jié)),所以只需要8個字節(jié)就可以了。USB Device返回的設(shè)備標識符為12 01 10 01 00 00 00 40,下面我們需要把0x40記錄下來,將其放到Endpoint Descriptor數(shù)據(jù)結(jié)構(gòu)的DWORD0的MPS(bit16~bit32)塊中去。
????????2、接下來2440發(fā)送第二個Setup包,內(nèi)容是00 05 01 00 00 00 00 00,這一次的作用是為USB設(shè)備分配地址。如果USB Device接收并接受了此地址設(shè)置包,會返回一個長度為0的數(shù)據(jù)包。主機接收到長度為0的狀態(tài)包之后就會返回一個ACK給Device,Device再接收到這個ACK之后,就可以啟用新地址了。這樣Device就得到了一個唯一的設(shè)備地址,作為主機通信的唯一表示。

????????3、發(fā)送第三個Setup包,內(nèi)容是80 06 00 02 00 00 09 00,這次是為了獲取配置描述符集合的大小,此位位于讀回數(shù)據(jù)的第三個字節(jié)。U盤返回的數(shù)據(jù)為09 02 20 00 01 01 00 80 32,即描述符集合總大小為0x20。

????????4、發(fā)送第四個Setup包,內(nèi)容是80 06 00 02 00 00 09 00,和上次不同的僅僅是,這次要讀回來的數(shù)據(jù)是整個配置描述符區(qū)域。U盤返回來的數(shù)據(jù)是09 02 20 00 01 01 00 80 32 09 04 00 00 02 08 06 50 00 07 05 82 02 40 00 00 07 05 02 02 40 00?00。這時候我們就可以知道該設(shè)備是什么類型的設(shè)備,支持什么樣的操作了。

上述這兩個過程也有的程序就是直接讀取0xff個字符大小,當然同樣可以達到讀回設(shè)備描述符集合的目的。

至此,我們已經(jīng)得到了所需要的設(shè)備信息,之后就可以對設(shè)備進行配置了。

????????5、向設(shè)備發(fā)送第五個Setup包,數(shù)據(jù)為00 09 01 00 00 00 00 00,USB Device返回一個長度為0的數(shù)據(jù)包,表明數(shù)據(jù)正確接收。至此,USB枚舉過程就完成了。初始設(shè)置步驟:就是一個由SET事務(wù)構(gòu)成的傳輸

??????? 可選數(shù)據(jù)步驟:就是一個由IN或OUT事務(wù)構(gòu)成的傳輸,這個步驟是可選的,要看初始設(shè)置步驟有沒有要求讀/寫數(shù)據(jù)(由SET事務(wù)的數(shù)據(jù)包階段發(fā)送的標準請求命令決定)。

??????? 狀態(tài)信息步驟:這個步驟就是要獲取狀態(tài)信息,由IN或OUT事務(wù)構(gòu)成的傳輸,但是要注意這里的IN和OUT事務(wù)和之前的INT和OUT事務(wù)有兩點不同:

????????1) 傳輸方向相反,通常IN表示設(shè)備往主機送數(shù)據(jù),OUT表示主機往設(shè)備送數(shù)據(jù);在這里,IN表示主機往設(shè)備送數(shù)據(jù),而OUT表示設(shè)備往主機送數(shù)據(jù),這是為了和可選數(shù)據(jù)步驟相結(jié)合;

????????2) 在這個步驟里,數(shù)據(jù)包階段的數(shù)據(jù)包都是0長度的,即SYNC+PID+CRC16。


總結(jié)

以上是生活随笔為你收集整理的Linux USB驱动分析(一)----USB2.0协议分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

国产无套一区二区三区久久 | 日本不卡一区二区三区在线观看 | 在线 影视 一区 | 国产一区二区三区 在线 | 91av免费观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲va男人天堂 | 欧美视频国产视频 | 激情网站免费观看 | 99热在线这里只有精品 | 狠狠色香婷婷久久亚洲精品 | 色噜噜狠狠狠狠色综合 | 精品在线观看一区二区三区 | 91看片网址 | 欧美久久久久久久久久久久久 | 成人av影视 | 国产精品久久久久久久久久久免费 | 日韩成人邪恶影片 | 免费成人av网站 | 国产福利av | 午夜精品成人一区二区三区 | 99综合电影在线视频 | 亚洲精品高清一区二区三区四区 | 色99中文字幕 | 亚洲人成在线电影 | 视频在线观看国产 | 久久久久国产成人精品亚洲午夜 | 成人毛片在线视频 | 一区二区三区四区五区六区 | 久一网站| 午夜精品影院 | 国产日韩精品视频 | 在线性视频日韩欧美 | 色妞色视频一区二区三区四区 | 色a4yy| 久精品视频免费观看2 | 99爱视频 | 国产欧美综合视频 | 国产精品久久久久永久免费看 | 五月婷婷另类国产 | 99色在线播放 | 中文字幕a∨在线乱码免费看 | 久久99久久99精品中文字幕 | 中文字幕一二 | 精品亚洲视频在线 | 亚洲精品成人av在线 | 欧美在线观看视频 | 国产视频九色蝌蚪 | 激情五月激情综合网 | 97精品国产91久久久久久久 | 91av视频导航 | 日韩精品一区二区在线观看视频 | 日韩视频一区二区在线观看 | 黄色大片日本免费大片 | 精品一区二区免费 | 最近久乱中文字幕 | 成人黄色短片 | 婷婷九月丁香 | 夜夜躁日日躁狠狠躁 | 最近av在线 | 99精品视频一区 | 亚洲午夜av | 久久精品这里都是精品 | 免费成人黄色av | 国内丰满少妇猛烈精品播放 | 亚洲精品网站在线 | 日躁夜躁狠狠躁2001 | 在线观看成人毛片 | 伊人看片| 成人国产精品久久久久久亚洲 | 一区二区精品 | a成人v | 国产精品免费久久 | 蜜桃视频日韩 | 国产五月天婷婷 | 亚洲一级二级 | 91九色视频在线 | 久久看片网站 | 亚洲精品国产精品国自产 | 成人福利在线播放 | 日韩在线观看网站 | 午夜精品一区二区国产 | 日韩精品欧美视频 | 国产成人久久精品77777 | avlulu久久精品 | 99在线精品视频在线观看 | 中文字幕一区二区三 | 久久在线播放 | 在线观看亚洲专区 | 久久新视频| 在线免费观看视频你懂的 | 黄网在线免费观看 | 亚洲一区动漫 | 欧美无极色 | 国产精品ⅴa有声小说 | 日韩综合一区二区 | 亚洲精品国产电影 | 婷婷在线视频观看 | 美女免费视频一区 | 91在线视频网址 | 激情深爱 | 久久影院午夜论 | 亚洲欧美日韩在线一区二区 | 精品国内自产拍在线观看视频 | 久草色在线观看 | 日韩肉感妇bbwbbwbbw | 青青草国产成人99久久 | 99视频99 | 波多野结衣久久精品 | 国产精品国产三级国产aⅴ9色 | 久久超碰在线 | 狠狠干天天操 | 久久综合九色综合97_ 久久久 | 国产视频精品免费 | 91免费视频国产 | 欧美a在线看 | 国产91影视| 亚洲日本中文字幕在线观看 | 在线视频1卡二卡三卡 | 久久精品中文字幕免费mv | 欧美精品国产综合久久 | 伊人婷婷综合 | 日本精品久久久久中文字幕 | 中文av网站| 国产一级黄色免费看 | 青春草视频 | 9999在线观看 | 天天色综合1 | .国产精品成人自产拍在线观看6 | 国产精品毛片一区二区三区 | 亚洲欧美日韩一区二区三区在线观看 | 成人在线免费视频 | 日本精品久久久久影院 | 国产精品专区一 | 波多野结依在线观看 | 国产高清av免费在线观看 | 国产一区二区免费看 | 精品久久久免费视频 | 久久久久久中文字幕 | 免费成人在线观看视频 | 国产精品国产三级国产专区53 | japanesefreesexvideo高潮 | 国产精品视频专区 | 欧美日韩另类在线观看 | 亚在线播放中文视频 | 日韩精品免费一区 | 首页av在线 | 精品视频99| www黄色av | 九九免费精品 | 狠狠色丁香婷婷综合视频 | 色中色资源站 | 久久99精品国产99久久 | 国产精品视频久久 | 精品国产伦一区二区三区观看方式 | a午夜电影 | 99re热精品视频 | 天天操天天操天天爽 | 天天操天天操天天操天天 | 久久精品电影网 | 亚洲人成人天堂h久久 | 激情深爱.com | 国产精品久久久久久久久久久不卡 | 在线 视频 一区二区 | 日韩在线欧美在线 | 色操插| 中文字幕在线网址 | 国产在线国偷精品产拍 | 在线观看免费福利 | 午夜精品久久久久久久久久 | 午夜精品福利一区二区 | 精品一区二区在线免费观看 | 中文视频一区二区 | 91禁在线观看 | 国产精品 日韩精品 | 亚洲视频大全 | av黄色成人| av丝袜制服| 成年人免费av网站 | 欧美性极品xxxx做受 | 黄色日本免费 | 欧美专区国产专区 | 国产91免费看 | 黄色毛片视频免费观看中文 | 黄色三级视频片 | 国产视频一区在线免费观看 | 五月天天色 | 免费看三级黄色片 | 伊人色**天天综合婷婷 | 亚洲午夜剧场 | 亚洲欧美日韩国产精品一区午夜 | 在线精品观看国产 | 综合色婷婷 | 97在线观看视频国产 | 久久久久久高潮国产精品视 | 97精产国品一二三产区在线 | 色婷婷欧美 | 狠狠干狠狠操 | 永久免费的啪啪网站免费观看浪潮 | 久久精品这里都是精品 | 国产特黄色片 | 综合在线亚洲 | 午夜国产福利视频 | 国产成人亚洲在线观看 | 正在播放国产一区 | www.91国产 | 久久视 | 最新一区二区三区 | 日韩欧美在线观看一区二区三区 | 国产视频在线免费观看 | 在线观看国产v片 | 日韩电影在线看 | 国产高清区 | 狠狠干夜夜爽 | 五月婷婷综合激情 | 久久精品xxx | 97人人爽人人| bbw av| 808电影 | 精品在线你懂的 | 日韩mv欧美mv国产精品 | 99在线视频免费观看 | 国产一级片观看 | 亚洲综合在线一区二区三区 | 成人毛片在线视频 | 婷婷在线免费 | 日韩高清精品一区二区 | 中文字幕一区二区三区四区久久 | 国产一级二级在线观看 | 国产一区在线视频 | 国产又粗又长又硬免费视频 | 午夜精品一区二区三区在线播放 | 成片免费观看视频999 | 中文字幕 国产精品 | 久久精品成人热国产成 | 久久首页 | av色综合网 | 久久久伊人网 | 丰满少妇在线观看网站 | 九九激情视频 | av免费黄色 | 免费在线一区二区 | 午夜精品剧场 | 国产在线观看国语版免费 | 伊人射| 亚洲欧美日本一区二区三区 | 日韩欧美xx | 一本一本久久a久久 | 午夜av电影| 在线播放日韩av | 色噜噜在线观看视频 | 一区精品久久 | 日韩精品在线一区 | 天天操天天干天天爱 | 四虎在线观看精品视频 | 欧美日韩一区二区在线观看 | 亚洲人人网 | 91理论片午午伦夜理片久久 | 国产精品理论片在线观看 | 九九热在线精品视频 | 2019免费中文字幕 | 99久久久国产精品免费99 | 91丨精品丨蝌蚪丨白丝jk | 91一区二区三区在线观看 | 91丨九色丨国产女 | 人人玩人人添人人澡97 | 色综合天天视频在线观看 | 97**国产露脸精品国产 | 香蕉视频网站在线观看 | 日本久久中文字幕 | 99国产在线视频 | 欧美作爱视频 | 免费久久久久久 | 精品美女国产在线 | 日韩久久精品一区二区 | 精品久久久久久亚洲 | 人人澡人摸人人添学生av | 国产亚洲精品中文字幕 | 国内三级在线 | 精品视频在线免费观看 | 亚洲一级片免费观看 | 亚洲va综合va国产va中文 | 黄色av在| 91精品麻豆 | 亚洲最大在线视频 | 亚洲精品久久久久久久蜜桃 | 开心色婷婷 | 久久99深爱久久99精品 | 69亚洲精品| 国产99久久久久久免费看 | 精品久久久久久综合 | 国产精品一区在线 | 日韩伦理片一区二区三区 | 视频在线观看入口黄最新永久免费国产 | 国产成人三级一区二区在线观看一 | 国产精品成人一区二区三区吃奶 | 91在线免费播放视频 | 综合色播 | 国产精品美女 | 久久理论电影 | 91精品国自产在线观看 | 婷婷中文字幕在线观看 | 久久99爱视频 | 亚洲成免费 | 久青草视频在线观看 | 国产精品自在线 | av九九九| 日韩理论在线视频 | 碰超在线 | 91免费网站在线观看 | 亚洲精品资源在线 | 五月婷婷在线视频 | 日韩网页 | 国内久久久久久 | 97成人资源 | 超碰国产人人 | 最近高清中文字幕 | 99久久精品免费视频 | 久久免费播放 | 久久国产成人午夜av影院潦草 | caobi视频| 黄色日本免费 | 亚洲va欧美 | 亚洲 欧美变态 另类 综合 | 97**国产露脸精品国产 | 深爱激情五月网 | 色五婷婷 | 亚洲日韩欧美一区二区在线 | 91精品久久久久久久久久入口 | 亚洲国产精品日韩 | 五月天亚洲综合 | 国际精品久久久 | 日日操天天射 | 色鬼综合网 | 麻豆国产精品永久免费视频 | 久久综合九色综合欧美狠狠 | 99久久精品日本一区二区免费 | 久久久久久国产一区二区三区 | 日韩免费大片 | 亚洲成人av一区二区 | 黄色小视频在线观看免费 | zzijzzij日本成熟少妇 | av一级片| 欧美精品免费一区二区 | 亚洲在线网址 | 亚洲在线视频观看 | 久久久五月天 | 狠狠狠狠狠狠 | 婷婷丁香在线 | 日韩在线视频二区 | 国产精品免费观看久久 | 99精品国产99久久久久久97 | 久久人91精品久久久久久不卡 | 亚洲专区中文字幕 | 日韩欧美综合精品 | 婷婷在线看 | 成人在线免费av | 在线精品亚洲一区二区 | 国产精品久久久久影院日本 | 久久综合给合久久狠狠色 | 视频在线观看国产 | 欧美一二三四在线 | 国产午夜精品一区二区三区在线观看 | 在线av资源| 国产视频一区二区在线 | 5月丁香婷婷综合 | 国产一区视频在线观看免费 | 欧美成人免费在线 | 中文亚洲欧美日韩 | 国产精品一区二区三区在线播放 | 精品xxx | 97视频亚洲| 免费黄在线看 | 超碰在97 | 在线视频第一页 | 色综合久久66 | 三级黄色片子 | 香蕉视频在线观看免费 | 免费日韩一区二区 | 中文字幕久久网 | 麻豆视屏 | 8x8x在线观看视频 | 亚洲黄色在线 | 欧美影片 | 国产成人精品一区二区在线观看 | 91免费观看视频网站 | 中文字幕综合在线 | 日韩精品一区二区三区中文字幕 | 久久男人中文字幕资源站 | 精品久久久久久久久久久久久久久久久久 | 成年美女黄网站色大片免费看 | 午夜久久视频 | 亚洲精品一区二区三区高潮 | 日本精品va在线观看 | 午夜资源站 | 天天天天色射综合 | 天天看天天干天天操 | 99久久er热在这里只有精品66 | aaa免费毛片 | 日韩精品一区不卡 | 亚洲aⅴ乱码精品成人区 | 免费在线日韩 | 97在线看| 日日干干 | 日韩成人免费观看 | 成人黄色在线视频 | 中文字幕国产一区二区 | 国产精品久久毛片 | 涩涩网站在线观看 | 成人av免费在线观看 | 一级黄色片网站 | 奇米影视777影音先锋 | 综合网色| 91亚洲精品乱码久久久久久蜜桃 | 亚洲综合色丁香婷婷六月图片 | 黄色成人在线网站 | 精品国产中文字幕 | 五月天亚洲综合小说网 | 成人网在线免费视频 | 91高清在线| 日韩精品久久久免费观看夜色 | 一区二区三区在线观看中文字幕 | 亚洲精品乱码久久久久久蜜桃欧美 | 麻豆久久一区 | 久草精品视频在线播放 | 婷婷99| 久久av高清| 色婷五月| 久久久久这里只有精品 | 在线精品国产 | 在线午夜电影神马影院 | 日韩欧美xxxx | 综合网中文字幕 | 亚洲综合色视频 | 最近中文国产在线视频 | 亚洲欧洲一级 | 色婷婷中文 | 日韩草比 | 日韩电影在线一区 | 日韩三区在线观看 | 丁香婷五月| 久久久免费视频播放 | 日日干网 | 久久欧美精品 | 日韩欧美xxx | 亚洲欧美日韩一二三区 | 97视频资源 | 91在线九色 | 国产精品xxxx18a99 | 国产91九色蝌蚪 | 国产在线97 | 久久只精品99品免费久23小说 | 婷婷六月在线 | 国产一区在线视频播放 | 97网站 | 欧洲精品在线视频 | 美女视频黄的免费的 | 中文网丁香综合网 | 天天操天天干天天干 | 久久超碰99 | 精品成人国产 | 在线视频18在线视频4k | 亚洲精品视频在线观看免费视频 | 最新色视频 | www.干| 五月婷婷激情 | 久久99国产精品免费网站 | 国产99精品在线观看 | 国精产品999国精产 久久久久 | 国产精品成人免费 | 日韩有码第一页 | 国产精品剧情在线亚洲 | 91在线免费视频观看 | 国产在线综合视频 | 久久呀| 午夜美女网站 | 999久久久久 | 国内精品久久久久影院优 | 国产人在线成免费视频 | 久久综合偷偷噜噜噜色 | av噜噜噜在线播放 | 狠狠色丁香久久婷婷综合_中 | 香蕉视频最新网址 | 中文字幕在线观看亚洲 | 久久九九国产精品 | 久久久影视 | 国产色婷婷精品综合在线手机播放 | 综合久久影院 | 在线 视频 一区二区 | 欧美成人日韩 | 成年人免费av网站 | 久久久精品久久日韩一区综合 | 深爱开心激情 | 成人亚洲欧美 | 伊人国产女 | 91视频传媒| 超级碰碰碰免费视频 | 特级黄色电影 | 日日碰狠狠添天天爽超碰97久久 | 一本色道久久综合亚洲二区三区 | 在线免费视频一区 | 成人午夜免费剧场 | 天天色 天天 | 欧美精品一区在线发布 | 日韩免费电影在线观看 | 伊人天天综合 | 成人午夜精品福利免费 | 9在线观看免费高清完整 | 久久成人综合视频 | 综合在线色 | 精品国产视频在线观看 | 丁香色婷| 99久久婷婷国产一区二区三区 | 国产高清日韩欧美 | 免费在线观看一区二区三区 | 久视频在线播放 | 久久久久国产精品视频 | 午夜三级福利 | 911久久香蕉国产线看观看 | 91成人精品一区在线播放69 | 亚洲人成精品久久久久 | 久产久精国产品 | 精品福利视频在线观看 | 精品久久久久久久久久国产 | 一级免费黄视频 | 国产成人综合在线观看 | 国内丰满少妇猛烈精品播 | 激情偷乱人伦小说视频在线观看 | 色婷婷国产精品一区在线观看 | 9ⅰ精品久久久久久久久中文字幕 | 波多野结衣在线播放视频 | 久久久久久久久毛片 | 国产一区在线精品 | 五月婷婷在线综合 | 人人射人人澡 | 少妇bbb搡bbbb搡bbbb | 国产麻豆精品久久一二三 | 亚欧洲精品视频在线观看 | 日韩久久久久久久久久 | 国产在线中文 | 亚洲国产福利视频 | 久久国产精品网站 | 天天综合视频在线观看 | 日本久久久久 | 国产精品一区久久久久 | 欧美大荫蒂xxx | 四虎永久精品在线 | 福利视频区 | 亚洲精品国产精品99久久 | 国产精品自产拍在线观看 | 香蕉在线影院 | 天天激情天天干 | 国产伦理久久精品久久久久_ | 国产免费久久久久 | 超碰在线人人艹 | 国产成人精品一区二区三区 | 国产精品自产拍在线观看中文 | 日韩免费视频在线观看 | 香蕉久草在线 | 欧美无极色 | 黄色av网站在线观看免费 | 亚洲成人黄色网址 | 91在线入口 | 91黄色小视频 | 亚洲综合成人专区片 | 97av在线视频免费播放 | 色免费在线 | 99热这里精品 | 美女国内精品自产拍在线播放 | 国产午夜精品久久久久久久久久 | 一本一本久久a久久精品综合妖精 | 五月婷婷六月丁香在线观看 | 综合色影院 | 久久国产剧场电影 | 欧美日韩中 | 国产精品高清免费在线观看 | 九九爱免费视频在线观看 | 久久久久久久网站 | 欧美日韩国产精品一区二区三区 | 国产视频不卡一区 | 亚洲欧美999 | 日韩二区精品 | av再线观看 | 中文在线8资源库 | 精品你懂的 | 亚洲毛片视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线成人免费电影 | 免费国产黄线在线观看视频 | 中文字幕一二 | 欧美精品第一 | 免费在线观看av网站 | wwwwww色 | 日韩午夜精品福利 | 日日骑 | 精品久久精品 | 精品中文字幕视频 | 在线国产小视频 | 四虎成人精品永久免费av九九 | h久久| 国产成人亚洲在线观看 | 人人爽人人爽人人爽学生一级 | 在线视频 精品 | 91精品办公室少妇高潮对白 | 国产a级精品 | 国产小视频在线播放 | 青春草免费在线视频 | 日韩二区在线 | 奇米网网址 | 四虎成人免费观看 | 日韩无在线 | 天天超碰| 久久精品久久久精品美女 | 日本中文字幕视频 | 三级黄色免费 | 日本精油按摩3 | 韩国精品在线 | 成人午夜影院 | 丁香激情综合久久伊人久久 | 草久在线视频 | 国产免费影院 | 不卡av在线免费观看 | 日韩在线观看视频网站 | 91成人免费观看视频 | 国产精品一区二区三区视频免费 | 久久九九久久精品 | 欧美专区国产专区 | 国产99免费视频 | 国产伦理久久精品久久久久_ | 亚洲在线a | 91av网址| 亚洲国产日韩欧美在线 | 啪一啪在线 | 一区二区精品在线 | 一二三久久久 | 午夜日b视频| 亚洲成人精品 | 人人玩人人添人人澡超碰 | 欧美最爽乱淫视频播放 | 五月婷视频 | 日韩精品首页 | 日本久久久久 | ww亚洲ww亚在线观看 | 日本女人在线观看 | 久操视频在线观看 | 奇米影视777四色米奇影院 | av理论电影 | 81国产精品久久久久久久久久 | 超碰在线免费97 | 日批视频在线观看免费 | 国产精品九九视频 | 色999视频| av综合站| 91麻豆精品国产 | 久久精品国产一区二区电影 | 色五月成人 | 日韩电影在线一区二区 | 激情五月***国产精品 | 一区二区三区在线视频观看58 | 中文在线a√在线 | 激情综合色图 | 奇米影视999| 中文字幕在线免费观看 | 成片人卡1卡2卡3手机免费看 | 日韩精品一卡 | 久久久久久久久久影视 | 免费在线观看日韩 | 在线影院中文字幕 | 麻豆国产在线播放 | 97在线视频网站 | 91精品免费 | av在线收看 | 日韩视频一区二区在线观看 | 亚洲免费专区 | 国产成人精品一区二区三区福利 | 最近免费中文字幕 | 国产一二区免费视频 | 久久99久久99 | 热99在线| 亚洲成av人片 | 三级av小说| 国产精品美女久久久免费 | 日韩黄色免费看 | 在线免费高清一区二区三区 | 中文字幕黄色av | 69视频永久免费观看 | 免费激情在线电影 | 97人人澡人人添人人爽超碰 | 黄色av免费电影 | 色婷婷在线视频 | 中文字幕国产 | 欧美一级大片在线观看 | 欧美一级久久久 | 99久久超碰中文字幕伊人 | 六月丁香激情网 | 人人插人人插 | 国产情侣一区 | 激情中文字幕 | 久久九精品| www在线免费观看 | 中文字幕一区二区在线播放 | 成人毛片在线观看 | 久久久久久久国产精品影院 | 91成人免费| 综合国产在线观看 | www.夜夜夜 | 日韩av片在线 | 综合久久网 | 超碰伊人网 | 最近免费中文字幕 | 色吧久久 | 91福利社区在线观看 | 成人av资源在线 | 欧美极品少妇xbxb性爽爽视频 | 成人av一区二区三区 | 免费的国产精品 | 人人dvd| 五月婷久久 | 日韩高清成人在线 | 中字幕视频在线永久在线观看免费 | 欧美综合色 | 美女黄频在线观看 | 99精品视频网站 | 国产精品久久人 | 久草视频精品 | 天天射天天干天天操 | 在线观看视频你懂的 | 久久久亚洲影院 | 高清在线观看av | 国产精品美 | 蜜桃av人人夜夜澡人人爽 | 色综合久久久久 | 久久精品成人欧美大片古装 | 蜜臀久久99精品久久久无需会员 | 91麻豆精品国产91久久久久久久久 | 亚洲视频精选 | 粉嫩一二三区 | av黄网站 | 黄av资源| 久久精品视频网站 | 天天射天天爱天天干 | 国产精品毛片久久久久久 | 免费看三级 | 一区二区在线电影 | 一区二区三区在线观看中文字幕 | 久久激情视频 久久 | 久一在线 | 国产一级片视频 | 狠狠操影视| 中文字幕在线观看免费高清完整版 | 日本婷婷色 | 国产玖玖精品视频 | 韩国三级在线一区 | 三级av网站 | 久久精品99国产精品 | 国产精品久久久久久久久久久免费 | 色爱区综合激月婷婷 | 在线视频 国产 日韩 | 亚洲一区二区三区毛片 | 国产三级视频 | free. 性欧美.com| 91日韩精品| 色94色欧美| 最新黄色av网址 | 日日夜夜精品免费 | 日韩午夜视频在线观看 | 99久久精品免费一区 | 天天做天天爱天天爽综合网 | 国产成人精品福利 | 欧美亚洲国产精品久久高清浪潮 | 99视频在线精品免费观看2 | 亚洲精品在线电影 | 久久精品99国产精品酒店日本 | 日韩在线观看 | 国产成人精品久久亚洲高清不卡 | 免费在线观看日韩视频 | 色www精品视频在线观看 | av福利在线免费观看 | 久久久久激情电影 | 黄网站免费大全入口 | 一区二区不卡高清 | 中文字幕 国产 一区 | 99视频99 | 国产九九精品视频 | 欧美久草网| 最近乱久中文字幕 | 久久综合久久综合久久 | 中文字幕黄色av | 欧美在线aa | 在线观看色网 | 日韩av电影国产 | 久久 在线| 尤物97国产精品久久精品国产 | 日韩在线视频观看 | 伊人伊成久久人综合网站 | 久久久久国产一区二区三区四区 | 久久国产精品免费一区 | 成人h动漫精品一区二 | 日本在线视频一区二区三区 | 精品国产免费观看 | 天天综合精品 | 中文字幕一区在线 | 国产黄色在线看 | 成在线播放 | 国产精品久久久免费 | 日韩精品视频免费在线观看 | 国产精品一区二区在线播放 | www.天天射| 亚洲精品乱码久久久久 | 69视频永久免费观看 | 日产乱码一二三区别在线 | 免费黄色av片 | 国产专区一 | 成年人免费在线观看 | 天天操天天色综合 | 四虎在线永久免费观看 | 97在线公开视频 | 国产手机视频 | 天天做综合网 | 开心综合网 | 国产精品18久久久久久久久久久久 | 337p西西人体大胆瓣开下部 | 久久这里 | 超碰人人超 | 男女激情麻豆 | 久草在线资源观看 | 亚洲最大av网站 | 日韩欧美69 | 久草国产精品 | 精品国产一区二区三区久久久蜜臀 | 99九九热只有国产精品 | 久久综合久久综合九色 | 日韩在线观看你懂得 | 国产视频1 | av一本久道久久波多野结衣 | 日日夜夜狠狠干 | 久久99国产精品久久99 | 国产精品久久久久久69 | 江苏妇搡bbbb搡bbbb | 久草视频在线免费看 | 婷婷久月| 国产三级香港三韩国三级 | 国产成人99久久亚洲综合精品 | 久久免费精品 | 女人魂免费观看 | 天天色天天射天天干 | 丁香在线观看完整电影视频 | 精品国产一区二区三区不卡 | 久久久国产毛片 | 又黄又刺激又爽的视频 | 免费在线观看成人av | 在线观看中文字幕dvd播放 | 久久99精品久久久久久清纯直播 | 一区二区三区福利 | 国产成人三级在线 | 丝袜av网站 | 国产中文字幕一区二区 | 亚洲 在线| 五月婷婷婷婷婷 | 天天天干天天射天天天操 | 在线视频电影 | 永久黄网站色视频免费观看w | 国产一级在线观看视频 | 亚洲综合激情 | 国产成人在线观看 | 在线看片中文字幕 | 中文字幕在线播放视频 | zzijzzij亚洲成熟少妇 | 免费在线播放黄色 | 国产精品毛片完整版 | 欧美乱大交 | 成人a免费看 | 黄色免费观看网址 | 国产男女无遮挡猛进猛出在线观看 | 国产精品久久一 | 一区中文字幕电影 | 91中文字幕在线 | 日韩在线观看电影 | 久久精品99国产国产精 | 中文字幕在线观看免费高清电影 | 国产一区免费 | 国产欧美精品xxxx另类 | 911国产 | 久久久免费视频播放 | 黄色一级动作片 | 五月婷婷六月丁香激情 | 亚洲综合色视频在线观看 | 亚洲精品福利在线观看 | 一级黄色片在线播放 | 国产精品网红福利 | 一区二区在线不卡 | 亚洲经典中文字幕 | 91亚洲精品在线观看 | 欧美一区二区在线 | 最新av在线播放 | 国产精品高清在线观看 | 中文在线字幕免 | 国产日韩在线看 | 国产在线精品视频 | 狠狠色噜噜狠狠狠合久 | 一区中文字幕在线观看 | 日韩精品观看 | 91完整版在线观看 | 亚洲欧洲成人精品av97 | 91午夜精品 | 色噜噜日韩精品欧美一区二区 | 久草在线国产 | 国产精品h在线观看 | 国产免费观看久久 | 一区在线播放 | 免费久久久久久久 | 亚洲国产精品小视频 | 色综合久久久久久久 | 午夜av免费观看 | 天天激情综合网 | 少妇自拍av| 国产91在线 | 美洲 | 久久久免费精品视频 | 最近中文字幕免费av | 日日夜夜av | 久久精品视频网站 | 狠狠色噜噜狠狠狠狠2021天天 | 欧美日韩视频在线观看免费 | 岛国av在线不卡 | 天天操天天艹 | av播放在线 | 婷婷在线色| 深夜激情影院 | 99亚洲国产 | 国产精品一区二区在线 | 久久好看免费视频 | 国产精品v a免费视频 | 五月天婷亚洲天综合网精品偷 | 成人97视频 | 亚洲爽爽网 | 亚洲无吗视频在线 | 国产999精品久久久影片官网 | 亚洲精品国偷拍自产在线观看 | 黄色大全免费观看 | avav片 | 人人澡超碰碰97碰碰碰软件 | 亚洲免费激情 | 麻豆综合网 | 亚洲理论视频 | 成人国产精品久久久春色 | 国产精品激情偷乱一区二区∴ | 国产打女人屁股调教97 | 欧美人人爱| 热热热热热色 | 99产精品成人啪免费网站 | 久久精品国产第一区二区三区 | 免费久久精品视频 | 久草网在线视频 | 久99久精品视频免费观看 | 97在线观看免费高清完整版在线观看 | 欧美爽爽爽 | 奇米影视四色8888 | 日韩免费电影在线观看 | av中文字幕av | 中文字幕在线影院 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 国产黄a三级 | 日本韩国中文字幕 | 日本高清中文字幕有码在线 | 免费成人在线电影 | 观看免费av | 91| 久久婷婷色综合 | 国产精品黄色影片导航在线观看 | 在线观看精品国产 | 国内丰满少妇猛烈精品播 | 精品在线一区二区三区 | 久久尤物电影视频在线观看 | 日日日操操| 丁香六月婷婷开心婷婷网 | 久久五月激情 | 午夜精品一二三区 | 欧洲成人免费 | 久久久免费观看完整版 | 97人人模人人爽人人喊网 | 51精品国自产在线 | 麻豆传媒视频观看 | 久久精品视频在线看 | 国产免费观看高清完整版 | 成人黄色小说网 | 亚州免费视频 | 美女国产 | 精品国产伦一区二区三区观看说明 | 日本精品在线 | www久久 | 国产九九热视频 | 超碰免费在线公开 | 五月天久久综合网 | 久久精品2 | 日韩欧美在线影院 | 国产美女免费看 | 欧美成人理伦片 | 天堂成人在线 |