《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于緩沖管理的MCP2515驅(qū)動(dòng)實(shí)現(xiàn)

基于緩沖管理的MCP2515驅(qū)動(dòng)實(shí)現(xiàn)

《電子技術(shù)應(yīng)用》
2008-03-21
作者:劉光倫,廖建明

  摘 要: 針MCP2515芯片的特點(diǎn),提出了一種新的MCP2515驅(qū)動(dòng)實(shí)現(xiàn)方法。把MCP2515的SPI口同MCU的SPI口相連,在EVC下用SPI接口的方式實(shí)現(xiàn)MCP2515的驅(qū)動(dòng)。在驅(qū)動(dòng)中,再加上了緩沖管理機(jī)制和雙注冊(cè)的機(jī)制,避免CAN總線上的干擾數(shù)據(jù)。
  關(guān)鍵詞: 緩沖 雙注冊(cè) MCP2515 CAN總線 SPI


  在WINCE的驅(qū)動(dòng)編寫(xiě)中,一般都采用標(biāo)準(zhǔn)的編寫(xiě)方式,即分層式結(jié)構(gòu)[1]。分層式結(jié)構(gòu)驅(qū)動(dòng)程序依賴于一段可在平臺(tái)間再使用的代碼,以簡(jiǎn)化和縮短開(kāi)發(fā)時(shí)間。這段由微軟提供的代碼稱為模塊設(shè)備驅(qū)動(dòng)程序MDD,用來(lái)實(shí)現(xiàn)驅(qū)動(dòng)程序的核心功能。MDD并不直接存取硬件,而是依靠另一段與硬件有關(guān)的代碼存取硬件,這段代碼被稱為平臺(tái)相關(guān)驅(qū)動(dòng)程序PDD。當(dāng)將一個(gè)平臺(tái)的分層驅(qū)動(dòng)程序用于另一個(gè)平臺(tái)時(shí),只要重寫(xiě)PDD即可,而不必重寫(xiě)整個(gè)驅(qū)動(dòng)程序。MDD和PDD之間有一個(gè)設(shè)備驅(qū)動(dòng)程序服務(wù)提供商的接口DDSPI,該接口定義了一些PDD功能,這些功能在執(zhí)行期間內(nèi)被MDD調(diào)用。這種方法相對(duì)來(lái)說(shuō)要簡(jiǎn)單一些,因?yàn)橛心0婵捎茫谡{(diào)試驅(qū)動(dòng)的時(shí)很不方便。因?yàn)榉謱咏Y(jié)構(gòu)的驅(qū)動(dòng)和WINCE的內(nèi)核是密切相關(guān)的,在調(diào)試驅(qū)動(dòng)程序時(shí),必須先把內(nèi)核編譯好,然后下載內(nèi)核到目標(biāo)平臺(tái)上,才能夠調(diào)試,因而效率很低。本文采用另一種脫離內(nèi)核的方式在WINCE中實(shí)現(xiàn)MCP2515的驅(qū)動(dòng)程序,即在EVC的平臺(tái)下,通過(guò)SPI接口來(lái)做驅(qū)動(dòng)MCP2515的工作。這樣,編寫(xiě)的驅(qū)動(dòng)直接編譯成一個(gè)動(dòng)態(tài)鏈接庫(kù)" title="動(dòng)態(tài)鏈接庫(kù)">動(dòng)態(tài)鏈接庫(kù)DLL,把這個(gè)動(dòng)態(tài)鏈接庫(kù)拷貝到目標(biāo)平臺(tái)上,就可以使用。而且,通過(guò)這種方式,實(shí)現(xiàn)了更加靈活的功能。
1 MCP2515芯片介紹
  CAN(Controller Area Network)總線[2],即控制器局域網(wǎng)總線,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。由于其高性能、高可靠性及獨(dú)特的設(shè)計(jì)和適宜的價(jià)格而廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)控制、智能樓宇、醫(yī)療器械、交通工具以及傳感器等領(lǐng)域。CAN是一種基于廣播方式的協(xié)議,主從式網(wǎng)絡(luò)結(jié)構(gòu),也是一種串行數(shù)據(jù)通信協(xié)議,一種多主總線,通信介質(zhì)可采用雙絞線、同軸電纜或光纖。
  Microchip公司推出的CAN總線控制器芯片MCP2515符合CAN2.B技術(shù)規(guī)范并帶有符合工業(yè)標(biāo)準(zhǔn)的SPI串行接口,是目前市場(chǎng)上體積最小、最易于使用也是最節(jié)約成本的獨(dú)立CAN協(xié)議控制器芯片[3][4]。MCP2515具備最高40MHz時(shí)鐘輸入速度以及一個(gè)10MHz高速SPI接口,還可根據(jù)前兩個(gè)數(shù)據(jù)字節(jié)和11位標(biāo)識(shí)符對(duì)報(bào)文進(jìn)行濾波。
  MCP2515能夠發(fā)送和接收標(biāo)準(zhǔn)數(shù)據(jù)幀" title="數(shù)據(jù)幀">數(shù)據(jù)幀以及擴(kuò)展數(shù)據(jù)幀,并具有接收過(guò)濾和信息管理的功能。MCP2515通過(guò)其SI引腳同MCU進(jìn)行數(shù)據(jù)傳輸,最高數(shù)據(jù)傳輸速率可達(dá)1Mbps。MCU可以通過(guò)MCP2515與CAN總線上的其他MCU進(jìn)行通信。MCP2515內(nèi)含三個(gè)14 字節(jié)的發(fā)送緩沖器,二個(gè)14字節(jié)的接收緩沖器,并且具有靈活的中斷能力、幀屏蔽和過(guò)濾、幀優(yōu)先級(jí)設(shè)定等特性。
  MCP2515的主要功能參數(shù):(1)支持CAN協(xié)議2.0A/2.0B;(2)最大" title="最大">最大可編程波特率為1Mbps;(3)有標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種數(shù)據(jù)幀可供選擇,每個(gè)幀中的數(shù)據(jù)段長(zhǎng)可為0~8字節(jié);(4)支持遠(yuǎn)程幀;(5)內(nèi)含3個(gè)發(fā)送緩沖器和2個(gè)接收緩沖器,并且其優(yōu)先級(jí)可編程設(shè)定;(6)內(nèi)含6個(gè)29字節(jié)的接收過(guò)濾器和2個(gè)29字節(jié)的接收過(guò)濾屏蔽器;(7)具有(loop-back)自環(huán)檢測(cè)模式;(8)標(biāo)準(zhǔn)幀數(shù)據(jù)段的前兩個(gè)字節(jié)的單獨(dú)過(guò)濾功能。


  圖1為MCP2515的內(nèi)部結(jié)構(gòu)原理圖,其中CAN模塊包括CAN協(xié)議機(jī)和發(fā)送、接收緩沖器以及他們的屏蔽器、過(guò)濾器。CAN協(xié)議機(jī)主要負(fù)責(zé)與CAN總線的接口,SPI接口邏輯負(fù)責(zé)實(shí)現(xiàn)與MCU的接口,而緩沖器、過(guò)濾器組和控制邏輯以及與之相關(guān)的位定時(shí)發(fā)生器、控制和中斷寄存器則負(fù)責(zé)實(shí)現(xiàn)各種工作模式的設(shè)定和操作控制。MCP2515芯片在CAN總線上的數(shù)據(jù)接收是通過(guò)2個(gè)接收緩沖器、2個(gè)接收屏蔽器、6個(gè)接收過(guò)濾器的組合來(lái)實(shí)現(xiàn)的。CAN總線上只有同時(shí)滿足至少任意一個(gè)接收屏蔽器和一個(gè)接收過(guò)濾器的條件的幀,才可以進(jìn)入接收緩沖器。MCU可以通過(guò)SPI接口來(lái)讀取MCP2515接收緩沖器里的數(shù)據(jù)。MCP2515對(duì)CAN總線的數(shù)據(jù)發(fā)送則沒(méi)有限制,只要用MCU通過(guò)SPI接口將待發(fā)送的數(shù)據(jù)寫(xiě)入MCP2515的發(fā)送緩沖器,然后再調(diào)用RTS(發(fā)送請(qǐng)求)命令即可將數(shù)據(jù)發(fā)送到CAN總線上。MCU通過(guò)使用標(biāo)準(zhǔn)SPI讀寫(xiě)命令對(duì)MCP2515寄存器進(jìn)行讀寫(xiě)操作。
  MCP2515具有靈活的中斷管理功能。它有8個(gè)中斷源,包括發(fā)送、接收中斷、各種錯(cuò)誤中斷以及總線喚醒中斷等。MCU可以通過(guò)對(duì)MCP2515的中斷允許控制寄存器CANINTE的設(shè)置來(lái)設(shè)定和屏蔽各種中斷的發(fā)生條件,并可以通過(guò)讀取MCP2515的中斷標(biāo)志位寄存器CANINTE或者讀取CANSTAT寄存器中的ICOD部分來(lái)判斷當(dāng)前中斷的中斷源。
2 緩沖管理的驅(qū)動(dòng)實(shí)現(xiàn)
2.1 驅(qū)動(dòng)框架和流程

  按照WINCE的標(biāo)準(zhǔn)的分層結(jié)構(gòu)來(lái)實(shí)現(xiàn)MCP2515的驅(qū)動(dòng),由于分層結(jié)構(gòu)的WINCE驅(qū)動(dòng)程序和操作系統(tǒng)內(nèi)核是緊密結(jié)合在一起的,調(diào)試驅(qū)動(dòng)時(shí)效率很低,而且這種方式實(shí)現(xiàn)的驅(qū)動(dòng),功能也不夠靈活,所以本文不再采用這種方式,而是直接在EVC下用SPI接口的方式來(lái)操作MCP2515芯片。硬件采用三星的ARM內(nèi)核的S3C2440A,該CPU帶有2通道SPI口,可以直接和MCP2515帶的SPI相連。S3C2440A通過(guò)SPI口就可以操作MCP2515芯片,實(shí)現(xiàn)CAN協(xié)議的數(shù)據(jù)收發(fā)。
  在CAN總線中,各種在CAN總線上傳輸?shù)臄?shù)據(jù)幀都被分配一個(gè)惟一的標(biāo)識(shí)符,每個(gè)節(jié)點(diǎn)根據(jù)這些標(biāo)識(shí)符來(lái)確定是否接收這些幀。當(dāng)然還必須與過(guò)濾器及屏蔽器配合,共同決定是否接收數(shù)據(jù)" title="接收數(shù)據(jù)">接收數(shù)據(jù)。
  本文提到的CAN總線分成父設(shè)備和子設(shè)備,子設(shè)備會(huì)主動(dòng)把自己的數(shù)據(jù)上傳給父設(shè)備,父設(shè)備收到數(shù)據(jù)后,對(duì)這些數(shù)據(jù)進(jìn)行進(jìn)一步的處理,例如,在屏幕上以圖表的形式顯示出來(lái)等。圖2顯示了CAN總線的網(wǎng)絡(luò)結(jié)構(gòu)。

?

?


  CAN父設(shè)備就是一個(gè)帶有MCP2515芯片的ARM嵌入式系統(tǒng)。CAN子設(shè)備也可以是一個(gè)帶MCP2515的嵌入式系統(tǒng),也可以是其他一些CAN設(shè)備。本文中主要介紹MCP2515在CAN父設(shè)備上" title="設(shè)備上">設(shè)備上的驅(qū)動(dòng)程序?qū)崿F(xiàn)。圖3是驅(qū)動(dòng)程序框圖。
  MCP2515主要提供了狀態(tài)查詢以及中斷兩種數(shù)據(jù)操作模式,本文中MCP2515主要采用狀態(tài)查詢模式進(jìn)行CAN總線數(shù)據(jù)的接收和發(fā)送。在系統(tǒng)上電后,先對(duì)MCP2515芯片進(jìn)行初始化的工作,主要是設(shè)置MCP2515芯片的相關(guān)寄存器的值,如設(shè)置波特率,屏蔽寄存器,過(guò)濾寄存器等。初始化工作完成后,開(kāi)啟一個(gè)線程負(fù)責(zé)收發(fā)數(shù)據(jù)。如果發(fā)送緩沖中有數(shù)據(jù)需要發(fā)送,則發(fā)送數(shù)據(jù),否則,查詢MCP2515的CANINTF寄存器的第0和1兩位,如果有數(shù)據(jù)則接收數(shù)據(jù),然后判斷該幀ID是否在父設(shè)備上注冊(cè),如果已注冊(cè),則把數(shù)據(jù)放到接收緩沖區(qū)中,否則,就丟掉繼續(xù)循環(huán),直到這個(gè)線程終止。
2.2 接收緩沖
  在驅(qū)動(dòng)中,為了保證接收的數(shù)據(jù)不會(huì)丟失,需要添加一個(gè)緩沖,用來(lái)緩存接收到的數(shù)據(jù)。在接收緩沖中,完全以幀的形式存放,方便后續(xù)的數(shù)據(jù)處理。在CAN總線中,主要有以下的幾種幀:
  數(shù)據(jù)幀:數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器。
  遠(yuǎn)程幀:總線單元發(fā)出遠(yuǎn)程幀,請(qǐng)求發(fā)送具有同一識(shí)別符的數(shù)據(jù)幀。
  錯(cuò)誤幀:任何單元檢測(cè)到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。
  過(guò)載幀:過(guò)載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供附加的延時(shí)。
  當(dāng)然,驅(qū)動(dòng)程序并不緩存所有的幀,只緩存需要的數(shù)據(jù)幀和遠(yuǎn)程幀,以下是驅(qū)動(dòng)中定義幀結(jié)構(gòu)的數(shù)據(jù)成員:
  DWORD      dwID;
  BOOL      bRemoteFlag;
  BOOL      bExternFlag;
  BYTE      DLCLen;
  BYTE      Data[9];
  結(jié)構(gòu)名稱為CAN_RECV_FRAME,dwID為幀ID,bRemoteFlag是遠(yuǎn)程幀標(biāo)志,bExternFlag 為擴(kuò)展幀標(biāo)志,DLCLen是數(shù)據(jù)長(zhǎng)度,它可以是0~8中的任何數(shù)值,Data[9]是幀數(shù)據(jù)的緩沖區(qū),最多使用其中8個(gè)字節(jié)。然后定義CList類(lèi)型的成員變量m_RevList作為一個(gè)接收的隊(duì)列:
  CListm_RevList;
  在對(duì)緩沖區(qū)初始化時(shí),一次就分配了足夠的數(shù)據(jù)空間,而不必在使用時(shí)再動(dòng)態(tài)申請(qǐng)內(nèi)存,這樣保證了系統(tǒng)占用的內(nèi)存資源的確定性。線程在存取緩沖區(qū)時(shí)必須要事先鎖定,保證在一個(gè)時(shí)刻只有一個(gè)線程對(duì)緩沖區(qū)進(jìn)行存取操作。為了提高對(duì)資源的利用率,驅(qū)動(dòng)中把緩沖變成一個(gè)循環(huán)隊(duì)列,再定義了一個(gè)RECV_FRAME_USE的結(jié)構(gòu)來(lái)管理緩沖區(qū),該結(jié)構(gòu)的數(shù)據(jù)成員如下:
  POSITION     pHead;
  POSITION     pTail;
  Int        iLen;
  pHead是頭指針,pTail是尾指針,iLen為隊(duì)列使用長(zhǎng)度。有了RECV_FRAME_USE這個(gè)結(jié)構(gòu)后,緩沖區(qū)就成了一個(gè)幀的循環(huán)隊(duì)列。在系統(tǒng)收到幀時(shí),就把該幀放到隊(duì)列的后面。如果數(shù)據(jù)緩沖區(qū)已滿,則清空頭一幀,實(shí)現(xiàn)先進(jìn)先出。在沒(méi)有加上過(guò)濾以前,收到的總線上的所有的數(shù)據(jù)幀都放在緩沖中。
2.3 發(fā)送緩沖
  發(fā)送緩沖區(qū)和接收緩沖區(qū)不同,接收緩沖區(qū)之所以這樣設(shè)計(jì),是因?yàn)樵贛CP2515收到數(shù)據(jù)后,要進(jìn)行解幀,把幀ID、幀的類(lèi)型、數(shù)據(jù)長(zhǎng)度和數(shù)據(jù)這些信息分開(kāi),分別存放在幀結(jié)構(gòu)的對(duì)應(yīng)變量中,這樣可方便后續(xù)的處理。但是在發(fā)送時(shí)必須先進(jìn)行組幀,而且要讓MCP2515把數(shù)據(jù)發(fā)送出去,必須把幀的數(shù)據(jù)(如幀ID、何種幀、數(shù)據(jù)的長(zhǎng)度以及數(shù)據(jù)等)按MCP2515的要求,送到MCP2515相應(yīng)寄存器中的對(duì)應(yīng)位。所以,在組織發(fā)送數(shù)據(jù)時(shí),必須把要發(fā)送的數(shù)據(jù)按照MCP2515的寄存器要求進(jìn)行組織,這樣在發(fā)送時(shí),直接把組織好的數(shù)據(jù)逐字節(jié)送到對(duì)應(yīng)的MCP2515的寄存器即可。MCP2515有三個(gè)14字節(jié)SRAM發(fā)送緩沖,并映射到存儲(chǔ)器中。其中第一字節(jié)TXBNCTRL 是與報(bào)文緩沖器相關(guān)的控制寄存器。該寄存器中的信息決定了報(bào)文在何種條件下被發(fā)送,并在報(bào)文發(fā)送時(shí)指示其狀態(tài)。用5個(gè)字節(jié)來(lái)裝載標(biāo)準(zhǔn)和擴(kuò)展標(biāo)識(shí)符以及其他報(bào)文仲裁信息。最后8個(gè)字節(jié)用來(lái)裝載等待發(fā)送的報(bào)文的8個(gè)可能的數(shù)據(jù)字節(jié)。所以,在發(fā)送緩沖區(qū)中,只保存5個(gè)字節(jié)的標(biāo)準(zhǔn)和擴(kuò)展標(biāo)識(shí)符以及其他報(bào)文仲裁信息,8個(gè)字節(jié)用來(lái)保存發(fā)送的數(shù)據(jù)。在驅(qū)動(dòng)中,定義了一個(gè)名為MCP2515_SEND_BUFFER的發(fā)送緩沖區(qū),以下是該緩沖區(qū)的數(shù)據(jù)成員。
  DWORD    dwWritePointer;
  DWORD    dwReadPointer;
  BYTE     Data[MAX_SEND_LEN]
  該緩沖區(qū)也是一個(gè)循環(huán)緩沖,dwWritePointer為發(fā)送緩沖的寫(xiě)指針,dwReadPointer為發(fā)送緩沖的讀指針,Data就是存放幀數(shù)據(jù)的隊(duì)列,MAX_SEND_LEN為隊(duì)列的最大長(zhǎng)度。該隊(duì)列的數(shù)據(jù)格式是:長(zhǎng)度+5個(gè)字節(jié)標(biāo)示符+數(shù)據(jù)。因?yàn)閿?shù)據(jù)的長(zhǎng)度最大為8個(gè)字節(jié),得出長(zhǎng)度最大就是13個(gè)字節(jié)。所以,長(zhǎng)度用BYTE型就可以表示了,這樣pData存放的數(shù)據(jù)就很規(guī)整。在發(fā)送時(shí),從pData中取走一幀后,直接把前5個(gè)字節(jié)標(biāo)準(zhǔn)和擴(kuò)展標(biāo)識(shí)符以及其他報(bào)文仲裁信息和后面數(shù)據(jù)字節(jié)送到MCP2515對(duì)應(yīng)對(duì)寄存器即可,不用解幀和組幀過(guò)程,從而加快發(fā)送進(jìn)程。
2.4 雙注冊(cè)機(jī)制
  MCP2515芯片具有兩個(gè)驗(yàn)收屏蔽寄存器(分別對(duì)應(yīng)不同的接收緩沖器)以及六個(gè)驗(yàn)收過(guò)濾寄存器,它們共同來(lái)決定報(bào)文是否應(yīng)被載入接收緩沖器。 一旦報(bào)文集成緩沖器(MBA)接收到有效報(bào)文,報(bào)文中的標(biāo)識(shí)符字段將與過(guò)濾寄存器中的值進(jìn)行比較。如果兩者匹配,該報(bào)文將被載入相應(yīng)的接收緩沖器。濾波屏蔽寄存器用來(lái)確定濾波器對(duì)標(biāo)識(shí)符中的哪些位進(jìn)行校驗(yàn),這樣可以直接屏蔽一些不希望收到的數(shù)據(jù)。這一機(jī)制對(duì)于所有的有MCP2515芯片的設(shè)備都是有用的。在利用緩沖區(qū)來(lái)緩存收到的數(shù)據(jù)后,畢竟驅(qū)動(dòng)程序中的緩沖區(qū)大小受限,有時(shí)并不需要把所有收到的數(shù)據(jù)放在緩沖中,所以對(duì)進(jìn)入緩沖區(qū)的數(shù)據(jù)再加上一次過(guò)濾,即在父設(shè)備上注冊(cè)的機(jī)制。只有在父設(shè)備上注冊(cè)了ID的子設(shè)備,父設(shè)備才會(huì)把數(shù)據(jù)放到數(shù)據(jù)緩沖區(qū)中。在父設(shè)備的驅(qū)動(dòng)中,有一個(gè)列表專門(mén)用來(lái)保存子設(shè)備注冊(cè)的ID,每次父設(shè)備收到數(shù)據(jù)在放到緩沖區(qū)中以前,都會(huì)比較一下,在列表中有沒(méi)有這個(gè)ID,如有就放到緩沖區(qū)中,如沒(méi)有則丟掉。這樣又可以屏蔽掉總線上的一些無(wú)關(guān)的數(shù)據(jù),從而提高了效率。
  本文詳細(xì)介紹了MCP2515在WINCE中的實(shí)現(xiàn)過(guò)程和主要技術(shù),但是限于篇幅,沒(méi)能給出詳細(xì)的軟件源程序。實(shí)踐證明,該驅(qū)動(dòng)在CAN總線實(shí)際的應(yīng)用中效果明顯,既提高了開(kāi)發(fā)的效率,又實(shí)現(xiàn)了更靈活的功能。
參考文獻(xiàn)
1 Boling D.Microsoft Windows CE程序設(shè)計(jì).北京:北京大學(xué)出版社,1998
2 饒運(yùn)濤.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù).北京:北京航空航天大學(xué)出版社,2003
3 Microchip公司.MCP2515,Stand-Alone CAN Controller With SPITM Interface.2003
4 Microchip公司.AN215,A Simple CAN Node Using the MCP2510 and PIC12C67X.2002

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 久久亚洲sm情趣捆绑调教 | 狠狠操欧美 | 国产a一级片 | 久久精品综合视频 | 欧美精品第三页 | 六月丁香久久 | 国产国产人免费人成免费 | 免费一级淫片 | 亚洲图片中文字幕 | 国产美女诱惑 | 波多野结衣一区二区三区av免费 | 亚洲国产精品无码久久98 | 日韩av在线免费观看 | 狂揉吃奶胸高潮视频免费 | 肉色丝袜一区二区 | 国产精品一国产精品 | 亚洲免费福利 | 亚洲乱码日产精品bd在线观看 | 国产欧美一区二区精品久久 | 国产又粗又猛又黄又爽无遮挡 | 夫の友人 风间ゆみ 在线 | 好爽好大久久久级淫片毛片小说 | 影音先锋中文字幕资源 | 国产亚洲精品成人 | 含紧一点h边做边走动免费视频 | 国产亚洲欧洲 | 国产洗浴女技师全套av | xx性欧美肥妇精品久久久久久 | 国产精品久久久久久久久妇女 | 国内精品国产成人国产三级粉色 | 国产网红主播三级精品视频 | 日韩av二区| 亚洲精品乱码久久久久久自慰 | 麻豆亚洲一区 | 狠狠色丁香婷婷综合最新地址 | 夜夜躁很很躁日日躁麻豆 | 久久久久久国产精品高清 | 以色列最猛性xxxxx视频 | 一级特级毛片 | 视频在线亚洲 | 天天躁日日躁狠狠躁av麻豆男男 | 亚洲国产欧美日韩在线精品一区 | 深夜久久 | 久久久噜噜噜www成人网 | 女人与牲口性恔配视频免费 | 内射巨臀欧美在线视频 | 图片区 小说区 区 亚洲五月 | 亚洲成熟毛多妇女av毛片 | 久久99热婷婷精品一区 | 精品国产亚洲第一区二区三区 | 欧美精品videosex极品 | 亚洲97在线 | 国产成人亚洲综合无码99 | 国产免费一区二区三区免费视频 | 国产第一页在线观看 | 男人添女人囗交做爰高潮 | 成年黄色网 | 亚洲国产真实交换 | 色播视频在线 | 午夜黄色一级片 | 91视频免费看片 | 精品毛片一区二区三区 | 久久午夜无码免费 | av岬奈奈美一区二区三区 | 日本理论中文字幕 | 欧美国产日韩在线 | 中文字幕网址在线 | 久久这里只有精品国产 | 亚洲精品乱码久久久久久麻豆不卡 | 人妻少妇久久中文字幕 | 久久99精品国产麻豆91樱花 | v片在线看| 国产做爰全免费的视频软件 | 久热精品视频 | 久久久999国产 | 国产麻花豆剧传媒精品mv在线 | 亚洲人成电影网站色 | 国产精品国产三级国产专播精品人 | 精品乱人码一区二区二区 | 黄色免费视频在线 | 亚洲色图一区二区三区 | 中国一级毛片黄 | 亚洲成av人不卡无码影片 | 日本少妇又色又爽又高潮看你 | 99视频免费在线观看 | 国产日产精品一区二区三区四区介绍 | 一级特毛片 | 欧美精品xx | 国产波多野结衣 | 成人毛片视频网站 | 国产精品久久久久久久久久三级 | 天天躁久久躁日日躁 | 国产肉体xx裸体137大胆 | 久久久国产精品视频 | 操日本老妇 | 国产美女高潮一区二区三区 | 黄页网站视频免费大全 | 一级做a爱片性色毛片高清 一级做a毛片 | 婷婷网址| 91精品久久久久久久久中文字幕 | 欧美激情a∨在线视频播放 少妇人妻无码专区视频 | 在线一二区 | 亚洲免费人成在线视频观看 | 乱人伦人妻中文字幕无码久久网 | 亚洲乱码日产精品bd在线观看 | 最新中文字幕av | 久久网中文字幕日韩精品专区四季 | 亚洲天堂免费看 | 黑人巨大亚洲一区二区久 | 天天射日 | hd日本xxxx | 欧美性猛交久久久乱大交小说 | 91黄色免费网站 | 亚洲欧美日韩中文高清www777 | 日产一区三区三区高中清 | 免费国产一级 | 欧洲av无码放荡人妇网站 | 日韩精品免费一区二区三区 | 最新一区二区三区 | 亚洲天堂毛片 | 波多野结衣一区二区三区高清 | av免费福利 | 欧美日韩国产精品自在自线 | 欧美一级欧美三级在线观看 | 一级特黄少妇高清毛片 | 免费观看激色视频网站 | av无码不卡在线观看免费 | 日韩成人动漫在线观看 | 日本不卡一区二区三区 | 日韩一区国产二区欧美三区 | 亚洲毛片儿 | 亚洲视频456 | 亚洲色婷婷一区二区三区 | 97中文字幕在线观看 | 欧美成人一区二区三区在线观看 | 色婷婷一区 | 成年人免费看黄 | 亚洲国产成人av毛片大全 | 欧美另类在线播放 | 超碰在线亚洲 | xxxx视频在线观看 | 窝窝午夜理论片影院 | 精品国产亚洲第一区二区三区 | 色婷婷久久一区二区三区麻豆 | 中文字幕永久在线观看 | 精品热久久 | 国产精品久久久久久亚洲影视公司 | 亚洲∧v久久久无码精品 | 午夜精品久久久久久久 | 国产真实乱对白精彩久久老熟妇女 | 国产精品1区2区3区4区 | 一区二区三区入口 | 欧美黑人性暴力猛交喷水黑人巨大 | 日本福利片在线观看 | 亚洲国产精品18久久久久久 | 色综合激情 | 一级大黄毛片 | 亚洲国产成人久久综合一区77 | 日韩国产欧美在线观看 | 国产玉足榨精视频在线观看 | 韩国性猛交╳xxx乱大交 | 涩涩屋视频在线观看 | 国产女主播喷水 | 99xav| 日韩精品一区二区三区四区 | 久久久久久久久久91 | 五月丁香六月综合av | 国产真人做爰视频免费 | 国产网站在线看 | 噼里啪啦免费观看高清动漫 | wwwyoujizzcom在线 wwwyoujizzcom中国版 | 中文字幕在线免费视频 | 秋霞免费av | 护士的小嫩嫩好紧好爽 | 日韩黄色大全 | 欧美大片大全 | 国产香港明星裸体xxxx视频 | 国产精品视频免费播放 | 中国亚洲女人69内射少妇 | 狠狠躁夜夜躁人蜜臀av小说 | 日本高清视频网站www | 久久影院视频 | 视频黄色免费 | 99热免费在线 | 国产又粗又猛又爽又黄 | 欧美一区二区激情视频 | 91高跟黑色丝袜呻吟在线观看 | 亚州成人| 97无码人妻福利免费公开在线视频 | 亚洲高清视频一区二区三区 | 精品撒尿视频一区二区三区 | 亚洲一区二区三区三州 | 国产在线成人 | 国产中文区二幕区2021 | 五月色婷婷综合 | 中文字幕在线观 | 亚洲精品乱码久久久久v最新版 | 欧美天天爽| 狠狠色丁香婷婷综合尤物 | 日日噜噜噜夜夜爽爽狠狠同性男 | 真人做爰免费毛片视频 | 黄色一级片视频 | 免费亚洲精品 | 亚洲女同av | 伊人精品一区二区三区 | 日日不卡av | 一级毛片黄色 | 久久精品国产精品亚洲精品 | 精品一区二区国产 | 亚洲国产精品无码久久久久高潮 | 操人视频免费 | 中文字幕日韩人妻在线视频 | 亚洲国产成人丁香五月激情 | 日本久久精品一区二区三区 | 国产深夜视频在线观看 | 成人在线免费观看网址 | 91人人揉日日捏人人看 | 婷婷五月深深久久精品 | sm捆绑一区二区三区 | 美女十八毛片 | 日本精品久久久久久草草 | 欧美激情视频在线 | 一本一生久久a久久精品综合蜜 | 第一毛片 | 久艹视频免费看 | 日本美女日批视频 | 91久久国产综合久久 | 伊人网色 | 国产啪亚洲国产精品无码 | 99国产精品久久久久久久成人 | 日韩欧美黄色 | 波多野结衣一区二区三区中文字幕 | 亚洲成av人片一区二区梦乃 | 先锋资源国产 | 一级片在线免费观看视频 | 久久亚洲日韩精品一区二区三区 | 亚洲成在线观看 | 狠狠色噜噜狠狠狠狠777米奇 | 日本高清视频在线 | 黄色网战入口 | 日韩一区二区免费看 | 伊人久久大香线蕉综合网站 | ass亚洲熟妇毛耸耸pics | 天天干天天草天天 | 狂野欧美性猛交xxⅹ李丽珍 | 亚洲黑人精品一区在线观看 | 91视频久久久久久 | 日本r级无打码中文 | 99热在线观看 | 国产欧美精品一区二区三区 | www.色就是色.com| 久久久久久免费毛片精品 | sese在线视频| 4hu在线观看| 色欲欲www成人网站 婷婷成人综合激情在线视频播放 | 亚洲精品乱码久久久久久蜜桃 | 慈禧一级淫片免费放特级 | 欧美日韩中文国产一区发布 | 狠狠色噜噜狠狠狠合久 | 日韩欧美人人爽夜夜爽 | 嫩草视频 | av成人免费 | 国产日韩欧美在线播放 | 国产精品久久久久久久久久iiiii | 成人福利视频一区二区 | 91性生活 | xvideos亚洲网站入口 | 伊人久久婷婷五月综合97色 | 91美女诱惑| 在线观看av网页 | 久久97精品 | 国产美女91呻吟求 | 新亚洲天堂 | 国产老熟妇精品观看 | 无码人妻精一区二区三区 | 少妇在线观看888视频 | 三级黄色网络 | 国产在线拍揄自揄拍无码 | 欧美精品在线观看 | 国产精品宾馆在线精品酒店 | 欧美成人免费在线 | 无码人妻h动漫 | 亚洲高清av一区二区三区 | 日本艹逼视频 | 777精品久无码人妻蜜桃 | 日韩免费成人av | 久久久国产视频 | 欧美成人精品a∨在线观看 香蕉av福利精品导航 | 不卡视频国产 | 熟妇好大好深好满好爽 | 青草视频在线播放 | 日日碰狠狠躁久久躁96avv | 久久不见久久见免费影院www日本 | 日本19禁啪啪吃奶大尺度 | 91欧美日韩 | 久久www成人_看片免费不卡 | 台湾av在线播放 | 精品免费国产一区二区三区四区 | www国产亚洲精品 | 成人在线高清 | 一区在线免费观看 | 国产又大又黑又粗 | 97精品国产手机 | 婷婷成人基地 | 噜噜噜狠狠夜夜躁精品仙踪林 | 日本精品人妻无码免费大全 | 精品国产av无码一区二区三区 | 少妇啊灬啊别停灬用力啊免费视频 | 56av国产精品久久久久久久 | 国产精品久久久久久久久毛片 | 黄色网战在线观看 | 男人添女人高潮免费网站打开网站 | av网站大全在线 | 丝瓜色版| 无码伊人久久大杳蕉中文无码 | 免费人妻精品一区二区三区 | 香蕉国产片一级一级一级一级 | 欧美激情视频一区二区 | 国产女王调脚奴免费视频 | 日韩精品999 | 草逼视频网 | 天堂在线www天堂 | 五月婷婷激情在线 | 麻豆传媒av在线播放 | 国产美女91呻吟求 | 日本又色又爽又黄的a片18禁 | 在线播放亚洲第一字幕 | 免费中文字幕在线观看 | 国产干b | 午夜av一区 | 99精品久久毛片a片 在线亚洲高清揄拍自拍一品区 | 成人欧美一区二区三区在线观看 | 国产亚洲精品久久网站 | 狠狠色噜噜狠狠狠狠av不卡 | 性少妇中国内射xxxx狠干 | 91精品啪在线观看国产商店 | 国产精品视频网站 | 夜夜高潮夜夜爽精品视频 | 国产无遮挡又黄又爽免费网站 | 精品国产一区二区三区久久久狼 | 伊人第四色 | 婷婷综合基地俺也来 | av操操操| 40岁成熟女人牲交片20分钟 | 成人av视屏 | 狠狠色噜噜狠狠狠狠av | 美女搞黄视频网站 | 奇米影视久久 | 97国产精品一区二区 | 国产又色又爽又黄又免费软件 | 国产女女做受ⅹxx高潮 | 日本videos18高清hd下 | 91色在线视频 | √资源天堂中文在线视频 | 巨肉黄暴辣文高h文帐中香 巨乳动漫美女 | 日日碰狠狠躁久久躁蜜桃 | 国产女无套免费网站 | 久久久一本精品99久久精品66 | 男人综合网| 欧美成年黄网站色视频 | 亚洲精品网站日本xxxxxxx | 欧美激情综合色综合啪啪五月 | 久久露脸视频 | 国产熟妇与子伦hd | 国产精品久久..4399 | 亚洲啪啪aⅴ一区二区三区9色 | 中文字幕人妻高清乱码 | 国产一区二区三区 | 99热成人 | 五月婷婷,六月丁香 | 久久国产加勒比精品无码 | 国产精品熟妇视频国产偷人 | 国产大学生粉嫩无套流白浆 | 国模冰莲大胆自慰难受 | 狠狠色综合7777久夜色撩人 | 国产精品制服 | 国产视频99| 妖精视频一区 | 男女午夜影院 | 欧美天堂网站 | 日本69少妇 | 无码免费一区二区三区 | 日本激情一区二区三区 | 衣服被扒开强摸双乳18禁网站 | 国产一区二区综合 | 久久99精品国产99久久6尤物 | 午夜视频在线看 | 国产永久毛片 | 国产鲁鲁视频在线观看免费 | 亚洲精品乱码久久久久久蜜桃图片 | 国产女人水真多18毛片18精品 | 日韩一区二区精品视频 | 伊人成长网 | yy6080亚洲精品一区 | 精品视频免费在线 | 久草视频在线资源 | 国产高潮流白浆喷水视频 | 国产精品99精品无码视亚 | 亚洲第一毛片 | 国产69精品久久久 | 欧美一区在线看 | 狠狠干一区 | 国产一国产二 | 性一交一乱一伧国产女士spa | 国产黄色小说 | 伊人婷婷久久 | 中文字幕精品一二三四五六七八 | 91丨九色丨蝌蚪丨老版 | 国产精品毛片一区二区 | 婷婷俺来也 | 69av视频在线 | 国产无套粉嫩白浆内精品 | av黄色网址| 青青青在线观看视频 | 99视频在线精品免费观看2 | 国产真实乱免费高清视频 | 91福利视频在线观看 | 一本一道色欲综合网中文字幕 | 99久久人妻无码精品系列 | 极品少妇一区二区 | 人妻丰满熟妇岳av无码区hd | 午夜在线观看一区 | 亚洲美女自拍视频 | 久热精品在线观看视频 | 久久对白 | 最近免费中文字幕mv在线视频3 | 日韩精品色哟哟 | 亚洲性视频网站 | 伊人超碰 | 91久久精品国产91久久性色tv | 免费看男女做爰爽爽视频 | 久久久久国产a免费观看rela | 无码人妻精品一区二区在线视频 | 嫩草影院懂你的影院 | 国产精品久久久久久久午夜 | 免费黄色三级网站 | 欧美性生活xxx | 国内成人自拍视频 | 亚洲九九爱 | 六月婷婷网| 亚州毛片 | 国产成人8x视频一区二区 | 麻豆精品在线播放 | 乱人伦中文视频在线观看 | 色综合av| 91在线视频免费播放 | 国产女人高潮大叫a毛片 | av丁香| 国产一区二区三区不卡在线观看 | 青青草视频污 | 无码人妻丰满熟妇区五十路 | 欧美真人做爰在线观看 | 美女内射毛片在线看3d | 每日更新在线观看av | 情人伊人久久综合亚洲 | 亚洲天堂视频一区 | 99国产精品久久久久久久夜 | 国产乱淫av片免费看 | 久久大胆视频 | 日本a级毛片视频播放 | 国产肉体xxx裸体312大胆 | 天天做天天爱天天爽综合网 | 男女黄色网 | 色播视频在线 | 日本肉体做爰猛烈高潮全免费 | 国模精品一区二区三区 | 免费av福利 | 色老二导航 | 综合亚洲网 | 性折磨bdsm欧美激情另类 | 精一区二区 | 四虎成人精品国产永久免费无码 | 久久久久久欧美精品se一二三四 | 亚洲熟色妇av日韩熟色妇在线 | 欧美日韩在线视频观看 | 欧美熟妇另类久久久久久不卡 | 热久久精品免费视频 | 久久精品99国产精品酒店日本 | 亚洲欧洲无码av不卡在线 | 少妇做爰水狂喷 | a午夜| 亚洲欧洲日产国码久在线 | 久久精品国产成人av | 亚洲视频导航 | 色一情一乱一伦一区二区三欧美 | 国产精品色综合一区二区三区 | 亚洲激情欧美激情 | 久久久久久av无码免费网站下载 | 色欲天天天综合网 | 天堂资源中文在线 | 中文字幕日本在线 | 亚洲w码欧洲s码免费 | 国产亚洲综合在线 | 久草最新网址 | 国产亚洲成av人片在线观黄桃 | 国产亚洲视频在线观看 | 91久久久久 | 亚洲欧洲日产国码久在线 | 精品中文在线 | 国产精品视频在线观看免费 | 亚洲免费av在线 | 亚洲无人区午夜福利码高清完整版 | 久草精品视频 | 欧美成人一区二区三区在线视频 | 欧美黑人一区二区三区 | 九九热九九热 | www.91亚洲| 精品无码一区在线观看 | 女人两腿打开让男人添野外视频 | 成人一区视频 | 午夜精品久久久久久久久久久久 | 无遮无挡爽爽免费毛片 | 日本亲与子乱ay中文 | 久久人人艹| 欧美xxxx精品另类 | 国产精品视频久久久久 | 日韩精品免费在线 | 污视频在线播放网站 | 欧美一区二区三区在线免费观看 | 男生看的污网站 | 中国精品18videosex性中国 | 自拍偷拍专区 | 999久久久国产精品消防器材 | 婷婷综合亚洲 | 大胆欧美熟妇xx | 亚洲两性视频 | 国产超碰人人做人人爱 | 日韩午夜视频在线观看 | 白浆网站| 国产成人无码区免费网站 | 黑丝av在线| 亚洲 成人 在线 | www.亚洲天堂 | 欧美亚洲91| 四虎影视免费永久在线 | 三攻一受h啪肉np文 三级av毛片 | 国产日批视频在线观看 | 在线免费看91 | 毛片大全在线观看 | 欧美综合视频 | 成人91看片 | 欧美国产影院 | 99精产国品一二三产区nba | 九热在线视频 | а√天堂8资源在线官网 | 美女视频久久 | 精品一区二区三区波多野结衣 | 爽爽精品dvd蜜桃成熟时电影院 | www.桃色 | 国产精品99久久久久人中文网介绍 | 亚洲成人精品一区 | 久久精品中文 | 亚洲播播 | 日本少妇白嫩猛烈进入免费视频 | 日日摸夜夜添夜夜添亚洲女人 | 亚洲精品97 | 激情网色| 日本激情视频一区二区三区 | heyzo朝桐光一区二区 | av在线观| 日本wwwxxxx| 99这里只有精品视频 | 三级黄色视屏 | 日本丰满熟妇videossex一 | 亚洲乱亚洲乱妇50p 亚洲va中文字幕无码久久不卡 | 露脸丨91丨九色露脸 | www欧美| 日韩欧美视频网站 | 性生交大片免费看 | 国产一线二线三线女 | 国产精品xxxx喷水欧美 | 久久激情综合 | 久久久久久欧美精品色一二三四 | 波多野结衣激情视频 | 国产精品一区在线播放 | 亚洲色图19p| 四虎影视在线播免费观看 | 好紧好湿好爽免费视频 | 国产福利酱国产一区二区 | 君岛美绪在线 | 日韩影视一区二区三区 | 精品在线一区二区 | 中文字幕第8页 | 国产69精品久久久久999天美 | 影音先锋亚洲一区 | 国产毛片一区二区三区va在线 | 天天干干干| 亚洲国产精品久久精品 | 日本欧美视频在线观看 | 日韩av手机在线播放 | 免费看成人啪啪 | 精品国产不卡 | 熟妇的奶头又大又长奶水视频 | 一本色道久久88加勒比—综合 | 日韩中文字幕在线免费观看 | 精品人妻久久久久久888 | 欧美三级视频在线 | 久久精品99久久久久久 | 国产精品免费看久久久无码 | 免费一级特黄特色的毛片 | 男人天堂成人网 | 国产首页 | 亚洲最大成人综合 | 亚洲男人天堂网站 | 日本19禁啪啪无遮挡网站 | 成人午夜在线 | 亚洲人成网站18禁止 | 日韩尤物| 激情综合色综合啪啪开心 | 国产精品人妻 | 粉嫩av亚洲一区二区图片 | 久久午夜无码免费 | 豆花视频18成人入口 | 2025成人免费毛片视频 | 手机av免费在线 |