999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

噴氣織機控制器CAN通信接口設計及實現(xiàn)

2010-11-15 06:36:24胡旭東金玉珍何偉強
絲綢 2010年1期
關(guān)鍵詞:設備

汪 靜,胡旭東,金玉珍,何偉強

(浙江理工大學 浙江省現(xiàn)代紡織裝備技術(shù)重點實驗室,杭州 310018)

噴氣織機控制器CAN通信接口設計及實現(xiàn)

汪 靜,胡旭東,金玉珍,何偉強

(浙江理工大學 浙江省現(xiàn)代紡織裝備技術(shù)重點實驗室,杭州 310018)

提出了基于Win CE的噴氣織機控制器CAN通信接口設計及實現(xiàn)的方法。設計了CAN通信接口的硬件電路,介紹了接口驅(qū)動程序的工作機制及開發(fā)環(huán)境,詳細闡述了Win CE流接口驅(qū)動程序的開發(fā)過程,并通過編寫CAN通信應用程序測試通信。測試結(jié)果表明,CAN通信接口在Win CE下通信正常且具有較強的實時性。

Windows CE;CAN總線;流接口驅(qū)動;噴氣織機控制器

噴氣織機控制器主要由人機界面、主控制模塊及送經(jīng)/卷取模塊這三大部分組成,用戶在人機界面上設定織造工藝條件后傳送給織機下位機,下位機的主控制板及送經(jīng)/卷取板根據(jù)人機界面設定的參數(shù)執(zhí)行相應動作并把當前織機運行情況傳回人機界面實時顯示。織機控制器的正常通信是保證織機正常運行的先決條件。目前,國外高檔噴氣織機的機電一體化控制普遍采用基于現(xiàn)場總線的通信方式實現(xiàn),如日本津田駒公司的ZAX-N噴氣織機、豐田公司的JAT710噴氣織機、比利時必佳樂公司OMNI plus 800噴氣織機的控制系統(tǒng)。

CAN總線技術(shù)自20世紀80年代末以來已逐漸發(fā)展形成一定影響,目前,CAN總線已形成國際標準。CAN總線適用于數(shù)據(jù)交換簡短而頻繁的場合,它高性能、高可靠性的優(yōu)點特別適合工業(yè)設備的互連,是解決工業(yè)控制設備之間數(shù)據(jù)通信的有效方式。

基于CAN總線本身具有的優(yōu)勢能夠滿足噴氣織機控制系統(tǒng)的通信要求,本設計中噴氣織機控制器的各部分機構(gòu)通信采用CAN總線通信實現(xiàn)。Windows CE系統(tǒng)是微軟公司專門為移動設備、嵌入式應用等非PC領(lǐng)域而設計的一種32位嵌入式實時操作系統(tǒng),它具有很好的模塊性,良好的實時性及強大的通信能力,該操作系統(tǒng)在工業(yè)現(xiàn)場設備中也被廣泛應用[1-2]。本研究以噴氣織機控制器的CAN通信實現(xiàn)為實例,具體給出Win CE下CAN通信接口的實現(xiàn),詳細介紹CAN接口硬件設計及Win CE下接口驅(qū)動程序的開發(fā)實現(xiàn)流程。

1 Win CE下接口驅(qū)動工作機制

在Windows CE中,驅(qū)動程序是Windows CE內(nèi)核的一部分,所有驅(qū)動皆為動態(tài)鏈接庫,且在驅(qū)動實現(xiàn)中可以調(diào)用所有標準的API函數(shù)。Win CE驅(qū)動程序模型有本機驅(qū)動程序和流接口驅(qū)動程序兩種。本機驅(qū)動程序通常與基于Win CE的平臺有著緊密的連接,總是在平臺啟動時加載,如鍵盤、顯示器等都有專門用于Win CE的接口。流接口驅(qū)動程序是為連接到基于Win CE平臺的外圍設備而設計的,典型的流式設備如串口、網(wǎng)卡,打印機等。

流接口驅(qū)動程序是一般類型的設備驅(qū)動程序,由設備管理器統(tǒng)一加載、管理和卸載,它有固定的入口點函數(shù),主要任務是通過流接口函數(shù)使得應用程序通過Win CE的文件系統(tǒng)訪問這些驅(qū)動程序,達到應用程序訪問驅(qū)動程序、操作硬件的目的。應用程序使用文件API對設備進行訪問的過程是:OS接受API調(diào)用FileSys.exe,F(xiàn)ileSys.exe發(fā)現(xiàn)是對設備進行操作,就會把執(zhí)行交給device.exe,調(diào)用流接口與硬件交互[3]。流驅(qū)動的體系結(jié)構(gòu)如圖1所示。

圖1 流式接口驅(qū)動程序體系結(jié)構(gòu)Fig.1 Architecture of Stream Interface Driver

2 CAN接口硬件設計

本次設計的基于Win CE的CAN通信接口應用于噴氣織機控制器的各部分通信,主要是織機的人機交互界面與織機的主控板及送經(jīng)/卷取板這三部分機構(gòu)的通信實現(xiàn)。設計選用基于ARM9結(jié)構(gòu)EP9307為核心處理器,外接觸摸板及液晶屏用于系統(tǒng)的輸入及輸出顯示,由于EP9307微處理器不帶CAN總線控制器,所以在外部擴展了獨立的CAN控制器。為提高系統(tǒng)的驅(qū)動能力、增大通信距離,CAN收發(fā)器采用PCA82C250芯片作為其與物理總線間的接口,以實現(xiàn)物理層的轉(zhuǎn)換和傳輸,增加了對總線的差動發(fā)送能力和對CAN控制器的差動接收能力[4]。CAN控制器采用SJA1000芯片,SJA1000完全支持CAN 2.0A和CAN 2.0B協(xié)議;通信位速率最高可達1 Mbps;有擴展的接收緩沖器64字節(jié),先進先出(FIFO)。硬件結(jié)構(gòu)如圖2所示。

為提高系統(tǒng)的可靠性和抗干擾能力,主要從以下幾個方面考慮,在CAN收發(fā)器與控制器之間接入高速光耦TLP113以實現(xiàn)電氣隔離,TLP113可滿足在最高速率1 Mbps下的電氣響應,保護控制系統(tǒng)電路;采用隔離型DC/DC模塊為收發(fā)器電路供電,選擇B0505S型號定電壓輸入隔離非穩(wěn)壓單輸出型DC/DC模塊,可向收發(fā)器電路提供低于200 mA的電流,隔離電壓可高于1 000 VDC;由于CAN總線對收發(fā)器82C250發(fā)送數(shù)據(jù)輸入端(TXD)狀態(tài)的要求,在82C250的TXD端與高速光耦TLP113的輸出端5腳相連,同時接390 Ω上拉電阻以保證在總線空閑或出現(xiàn)異常情況時TXD端的狀態(tài)為高電平;在CAN總線末端必須連接2個120 Ω終端電阻以起到其對總線阻抗的匹配作用,加強總線數(shù)據(jù)通信的可靠性和抗干擾性。設計時還考慮其他抗干擾措施,如在82C250的CANH、CANL端與地之間并聯(lián)2個小電容以減小總線上的高頻干擾,在82C250與TLP113的電源端與地之間添加去耦合電容以降低干擾。具有光電隔離及電源隔離的CAN通信接口電路如圖3示。

圖2 硬件結(jié)構(gòu)框圖Fig.2 Hardware Structure Diagram

圖3 CAN通信接口電路Fig.3 Communication Interface Circuit ofCAN

3 CAN接口驅(qū)動設計

3.1 驅(qū)動開發(fā)環(huán)境

Platform Builder(PB)是微軟公司提供的一個集成開發(fā)軟件,通過它可創(chuàng)建系統(tǒng)鏡像,包括核心文件系統(tǒng)、存儲的程序和文檔、系統(tǒng)配置文件等。本次CAN驅(qū)動開發(fā)選擇PB作為開發(fā)工具,通過串口連接在超級終端輸出打印信息,進行驅(qū)動調(diào)試。由于驅(qū)動開發(fā)需要多次的調(diào)試、修改,而在PB中每次修改驅(qū)動程序后把它編譯進系統(tǒng)鏡像再調(diào)試需要耗費大量的時間。為簡化開發(fā)過程,選擇在Win CE下動態(tài)加載流驅(qū)動的方法,即單獨編譯驅(qū)動,通過加載DLL文件的方式把驅(qū)動加載到Win CE系統(tǒng)中結(jié)合硬件進行調(diào)試,直到對驅(qū)動程序進行多次迭代調(diào)試,修改完成之后再將其封裝入Win CE系統(tǒng)映像。

3.2 CAN驅(qū)動程序的實現(xiàn)

CAN驅(qū)動程序的開發(fā)過程主要可概括為編寫DLL做成Project再加入到操作系統(tǒng)。實現(xiàn)的步驟是先在PB中新建一個DLL項目,編寫一些輸入函數(shù),寄存器,外設的聲明,寫DLLENTRY函數(shù);編寫流接口函數(shù);編寫DLL的導出函數(shù)文件.DEF;為驅(qū)動程序?qū)懭胱员眄棧薷腷ib文件。

流接口驅(qū)動程序必須實現(xiàn)一組標準的函數(shù)用來完成標準的輸入輸出管理和電源管理,而流驅(qū)動開發(fā)的重點就在于這10個標準流接口函數(shù)的實現(xiàn)[5]。接口函數(shù)見表1,在此設備名前綴命名為“CAN”。

表1 流接口函數(shù)Tab.1 Function of Stream Interface

現(xiàn)主要對CAN_Init、CAN_Open和CAN_IOControl這3個函數(shù)進行分析。

3.2.1 CAN_Init()函數(shù)

CAN_Init()函數(shù)的主要任務是分配內(nèi)存、綁定中斷,CAN_Init函數(shù)流程如圖4所示。

圖4 CAN_Init函數(shù)流程Fig.4 Function Flow of CAN_Init

在Windows CE中,對物理內(nèi)存的訪問是通過虛擬地址進行的,VirtualAlloc()函數(shù)負責在虛擬內(nèi)存空間內(nèi)保留一段虛擬內(nèi)存,而VirtualCopy()函數(shù)負責把一段物理內(nèi)存和虛擬內(nèi)存綁定,這樣,最終實現(xiàn)通過虛擬地址進行對物理內(nèi)存的訪問,地址映射的關(guān)鍵代碼如下:

DWORD dwRet=1;

SJA1000_VBASE=VirtualAlloc (0, 0x04,MEM_RESERVE, PAGE_NOACCESS);

dwRet=VirtualCopy(SJA1000_VBASE, (PVOID)(SJA1000_PHYBASE>>8), 0x04, PAGE_READWRITE |PAGE_NOCACHE | PAGE_PHYSICAL);

3.2.2 CAN_Open()函數(shù)

CAN_Open()函數(shù)主要完成初始化,創(chuàng)建有名事件。初始化包括寄存器初始化、SJA1000初始化、緩沖區(qū)初始化、CAN設備初始化設置工作方式和波特率參數(shù)等。在Win CE中有名事件可以在進程間被識別,通過有名事件實現(xiàn)處于不同進程中的驅(qū)動程序與應用程序間的通信,在此創(chuàng)建有名事件以備應用程序使用。

3.2.3 CAN_IOControl()函數(shù)

在CAN通信應用程序中通過調(diào)用CAN_IOControl()函數(shù)可根據(jù)自定義協(xié)議進行相關(guān)參數(shù)設置。以波特率設置為例,定義IOCTL_CAN_SET_BAUDRATE函數(shù)之后,在應用程序中通過設置控制代碼IoControlCode=IOCTL_CAN_SET_BAUDRATE,即可用DeviceIoControl直接調(diào)用進行波特率的設置,而不必再對寄存器進行設置,簡化了應用程序的開發(fā)。

在驅(qū)動程序開發(fā)過程中還需注意Windows CE中斷的處理[6],處理中斷的幾個關(guān)鍵步驟是:首先在驅(qū)動的初始過程中用CreateEvent()函數(shù)創(chuàng)建有名事件,調(diào)用InterruptInitialize()函數(shù)將事件與中斷號綁定同時設置該中斷使能標識。驅(qū)動程序中的中斷服務線程(IST)使用WaitForSingleObject()函數(shù)等待中斷發(fā)生,中斷發(fā)生時喚醒等待相應事件的IST進行中斷處理,處理完成后調(diào)用InterruptDone()函數(shù)告訴操作系統(tǒng)中斷處理結(jié)束,完成中斷處理。

中斷程序的任務是接收中斷觸發(fā)完成相應操作。若接收到中斷類型為“接收中斷”,則讀緩存數(shù)據(jù),置中斷使能并SetEvent()設置同步等待事件對象為有信號量狀態(tài),若為其他類型中斷(如數(shù)據(jù)傳輸錯誤中斷,總線錯誤中斷,數(shù)據(jù)溢出中斷等)則置相應中斷使能標志,通信應用程序即可根據(jù)使能標志位捕捉錯誤信息。處理完成后調(diào)用InterruptDone()函數(shù)完成中斷。中斷程序流程圖如圖5所示,其中bStop標識符在初始化函數(shù)中賦值,線程創(chuàng)建成功賦False,中斷程序不斷查詢等待中斷到達。

3.3 CAN驅(qū)動程序的封裝

完成驅(qū)動程序的編寫后,需把驅(qū)動程序與Win CE操作系統(tǒng)的其他組件一起編譯,將編譯后產(chǎn)生的文件封裝進操作系統(tǒng)。需要完成的工作是,把驅(qū)動程序?qū)懭胱员眄棽⑿薷腷ib文件。

1)在注冊表文件Platform.reg中增加CAN子鍵和相應鍵值。[HKEY_LOCAL_MACHINEDriversBuiltInCAN]"Index"=dword: 1;設備驅(qū)動程序在同名設備文件中的序號

"Prefix"="CAN" ;設備文件前綴

"Dll"="can.dll" ;設備驅(qū)動的DLL文件名

"Order"=dword: 0

圖5 中斷流程Fig.5 Interrupt Flowchart

2)在文件Platform.Bib的MODULE部分增加代碼“CAN.DLL $(_FLATRELEASEDIR)CAN1.DLL NK SH”,使CAN驅(qū)動文件被包含在最終編譯生成的鏡像文件中。

完成驅(qū)動封裝之后,就可在應用程序中通過標準的文件I/O函數(shù)來調(diào)用驅(qū)動函數(shù)控制設備“CAN1:”,如,調(diào)用CreateFile函數(shù)打開設備,調(diào)用ReadFile函數(shù)、WriteFile函數(shù)讀、寫設備信息,調(diào)用CloseHandle函數(shù)關(guān)閉設備。最終達到通過應用程序訪問CAN驅(qū)動程序、操作CAN設備的目的。

4 通信協(xié)議

本次CAN通信協(xié)議采用自定義的協(xié)議規(guī)范。CAN報文采用CAN2.0B協(xié)議規(guī)范中的擴展幀格式。CAN的一包幀由幀信息、幀ID、幀數(shù)據(jù)三部分組成,為使通信協(xié)議簡單實用,規(guī)定幀信息只能為擴展幀(29位ID),幀數(shù)據(jù)長度為8個字節(jié)。幀ID定義如圖6所示,ID值越小優(yōu)先級越高。幀數(shù)據(jù)、8位功能代碼和8位功能代碼參數(shù)根據(jù)實際需求自行定義,需傳輸?shù)膮?shù)量近100個,8位數(shù)據(jù)位(28=256)足夠使用。針對本系統(tǒng)定義的6位地址ID如表2所示。由于本次設計中CAN總線上設備較少,采用易于實現(xiàn)的總線形拓撲結(jié)構(gòu)及多主式結(jié)構(gòu)的通信方式。

根據(jù)以上CAN通信協(xié)議實現(xiàn)織機上位機人機交互系統(tǒng)與底層主控板及送經(jīng)/卷取板的通信。當人機交互系統(tǒng)啟動后在總線上發(fā)送廣播ID偵聽總線上其他CAN設備的連接請求,在收到總線上CAN設備的發(fā)送的請求后按優(yōu)先級高低與其建立連接進行通信。

圖6 幀ID定義Fig.6 De fi nition of Frame ID

表2 地址ID定義Tab.2 De fi nition of Address ID

5 CAN通信測試

驅(qū)動封裝入系統(tǒng)后與系統(tǒng)鏡像一同下載到目標設備中,再根據(jù)CAN通信協(xié)議規(guī)范編寫通信應用程序來測通信是否正常,本次設計的通信應用程序用C#語言編寫,采用Windows API函數(shù)操作文件的方式訪問CAN端口。用USB-CAN收發(fā)器連接普通計算機作為測試工具連接CAN收發(fā)器82C250的CANH、CANL兩腳進行CAN通信的數(shù)據(jù)收發(fā)測試。

為提高CAN通信的實時數(shù)據(jù)處理能力,通信應用程序設計引入多線程技術(shù),與底層CAN驅(qū)動結(jié)合,采用中斷觸發(fā)及事件同步對象實現(xiàn)通信應用程序與驅(qū)動程序的實時通信,保證CAN總線上數(shù)據(jù)的即時接收與顯示,若在通信過程中出錯,則根據(jù)中斷類型判斷錯誤原因以提示用戶進行相應操作。程序中除主線程負責消息處理之外另外創(chuàng)建2個輔助線程:一個是讀線程,用于監(jiān)聽CAN端口的緩沖是否有數(shù)據(jù)到達從而判斷是否執(zhí)行讀操作;另一個是顯示線程,用于在界面上實時顯示接收到的數(shù)據(jù)信息。輔助線程使用線程同步的事件對象信號量來觸發(fā)。主線程在打開CAN口后創(chuàng)建與驅(qū)動程序初始化中創(chuàng)建的有名事件同名的事件,并將事件對象狀態(tài)標識為“無信號”狀態(tài),同時在主線程中創(chuàng)建讀線程并阻塞等待,當驅(qū)動程序中類型為“讀中斷”的中斷觸發(fā),則設置事件為有信號量狀態(tài),阻塞的讀線程被激活,調(diào)用函數(shù)讀取“接收緩沖區(qū)”中數(shù)據(jù)。在界面顯示還需注意,用戶界面上的控件是由主線程創(chuàng)建的,在主線程外修改控件屬性涉及跨線程處理控件的問題,因為在C#中不允許在函數(shù)中直接修改本線程外的控件屬性,必須使用控件的Invoke方法修改。采用委托調(diào)用的方法,在聲明委托時需注意在Win CE中必須且只能是EventHandler委托。

CAN通信可供選擇的波特率范圍最低為10 K,最高可達1 M,經(jīng)數(shù)據(jù)收發(fā)測試結(jié)果表明在此波特率范圍下通信正常,通信發(fā)送方與接收的幀數(shù)據(jù)、幀格式一致且能即時收發(fā)數(shù)據(jù),根據(jù)測試經(jīng)驗采用250 K的波特率傳輸穩(wěn)定性較好,傳送速度以ms為單位,實時性及可靠性都很好。

6 結(jié) 語

本研究提出了噴氣織機控制器CAN通信接口的設計與實現(xiàn)方法,給出基于EP9307微處理器和Win CE下CAN接口的具體實現(xiàn)過程,CAN接口電路設計中采取的措施提高了通信的可靠性及抗干擾能力。CAN接口驅(qū)動開發(fā)為進一步開發(fā)Win CE下CAN總線設備提供了一個良好的底層硬件驅(qū)動支持,并可供以后開發(fā)基于Win CE下其他設備驅(qū)動程序進行參考。CAN通信測試結(jié)果表明,CAN通信正常且實時性較強,能滿足噴氣織機控制器各機構(gòu)間的通信需求。

[1] 金玉珍,吳震宇,武傳宇,等.基于CAN總線噴氣織機控制系統(tǒng)的研制[J].紡織學報,2009,30(2):117-120.

[2] 羅健飛,吳仲城,沈春山,等.基于ARM和Win CE下的設備接口驅(qū)動設計與實現(xiàn)[J].自動化與儀表,2009(3):1-3.

[3] 何宗鍵.Windows CE嵌入式系統(tǒng)[M].北京:北京航空航天大學出版社,2006.

[4] 劉濤.CAN總線接口電路設計中的關(guān)鍵問題[J].工礦自動化,2007(1):100.

[5] 張毅,王學思.基于Win CE的流接口驅(qū)動程序開發(fā)[J].工業(yè)控制計算機,2008,21(6):47-48.

[6] 胡朝斌,王治森,董伯麟,等.基于Windows CE的數(shù)控系統(tǒng)中斷控制[J].中國機械工程,2005,16(9):761-764.

Design and Implementation of CAN Communication Interface for Air-jet Loom Controller

WANG Jing, HU Xu-dong, JIN Yu-zhen, HE Wei-qiang
(Zhejiang Province Key Laboratory of Modern Textile Machine, Zhejiang Sci-Tech University, Hangzhou 310018, China)

A design and implementation method of CAN communication interface for Air-jet loom controller based on Win CE was presented in the article. Firstly, the hardware circus of CAN communication interface was designed. Secondly, the working principle and the development environment of interface driver were introduced, the development process of the stream interface driver based on Win CE was discussed in detail.Finally, the application program of CAN communication was developed to test the communication effect.The test results showed that the CAN communication interface based on Win CE could achieve real-time communication.

Windows CE; CAN bus; Stream interface driver; Air-jet loom controller

TS103.337.11;TP316.7

A

1001-7003(2010)01-0031-05

2009-06-27

浙江省自然科學基金項目(Y1080469)

汪靜(1986- ),女,碩士研究生,研究方向為紡織設備機電一體化。通訊作者:胡旭東,教授,xdhu@zstu.edu.cn。

猜你喜歡
設備
諧響應分析在設備減振中的應用
調(diào)試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發(fā)的設備管理信息系統(tǒng)
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發(fā)射設備中平衡輸入與不平衡輸入的轉(zhuǎn)換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
HTC斥資千萬美元入股虛擬現(xiàn)實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節(jié)省成本
主站蜘蛛池模板: 亚洲精品卡2卡3卡4卡5卡区| 91小视频在线观看免费版高清| 免费国产高清精品一区在线| 国产成人久视频免费| 熟妇人妻无乱码中文字幕真矢织江 | 国产丝袜丝视频在线观看| 亚洲视频在线网| 国产成人综合亚洲欧美在| 久久情精品国产品免费| 99999久久久久久亚洲| 日韩视频精品在线| 国产一二三区视频| 欧美日韩精品综合在线一区| 色偷偷综合网| 亚洲欧美另类日本| 国产麻豆精品手机在线观看| 精品国产免费观看一区| 欧美日本激情| 中文字幕不卡免费高清视频| 99久久亚洲综合精品TS| 国产AV毛片| 波多野结衣一区二区三区四区视频 | 日韩免费成人| 国产天天色| 成人亚洲天堂| 免费国产在线精品一区| 国产精品成人AⅤ在线一二三四| 免费日韩在线视频| 免费国产无遮挡又黄又爽| 99久久性生片| 无码久看视频| 国产波多野结衣中文在线播放| 奇米精品一区二区三区在线观看| 久久国产精品影院| 久久永久免费人妻精品| 三区在线视频| 国产美女在线免费观看| 国产成人AV综合久久| 国产精品熟女亚洲AV麻豆| 国产哺乳奶水91在线播放| a欧美在线| 在线国产91| 波多野结衣久久高清免费| 中国国语毛片免费观看视频| 亚洲欧美不卡| 亚洲精品无码在线播放网站| 伊人久久大香线蕉影院| 无码国产伊人| 国产精品久久自在自2021| 天天色天天综合| 黄色a一级视频| 热久久综合这里只有精品电影| 国产精品视频观看裸模| 国产自在线拍| 国产日韩精品欧美一区喷| 亚洲精品777| 日韩美毛片| 亚洲AV无码乱码在线观看代蜜桃 | 国产制服丝袜无码视频| 欧美成人精品欧美一级乱黄| 久久亚洲日本不卡一区二区| 青青草国产一区二区三区| 5388国产亚洲欧美在线观看| 真人高潮娇喘嗯啊在线观看 | 国产高清毛片| 亚洲一区二区三区国产精品 | 午夜啪啪福利| 美女一区二区在线观看| 亚洲高清在线播放| 国产成人精品无码一区二 | 色爽网免费视频| 成人午夜天| 香蕉99国内自产自拍视频| 99久久亚洲精品影院| 爱爱影院18禁免费| 日韩a级片视频| 69综合网| 国产69囗曝护士吞精在线视频| 97视频免费在线观看| 在线观看欧美精品二区| 国产成人精品免费视频大全五级| 欧美精品啪啪一区二区三区|