亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM 的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

        2012-08-06 09:38:06楊志杰石驥碩王財(cái)進(jìn)
        關(guān)鍵詞:驅(qū)動(dòng)程序內(nèi)核調(diào)用

        楊志杰,石驥碩,徐 寧,王財(cái)進(jìn)

        (中國(guó)鐵道科學(xué)研究院通信信號(hào)研究所,北京100081;2.北京交通大學(xué)理學(xué)院,北京100044)

        工業(yè)現(xiàn)場(chǎng)設(shè)備通常都會(huì)長(zhǎng)時(shí)間運(yùn)行,為了對(duì)設(shè)備的運(yùn)行狀況進(jìn)行更好的監(jiān)控,可以利用信號(hào)采集系統(tǒng)對(duì)這些設(shè)備運(yùn)行狀況以及產(chǎn)生的數(shù)據(jù)進(jìn)行采集,并發(fā)送給監(jiān)控計(jì)算機(jī),運(yùn)行在監(jiān)控計(jì)算機(jī)上的分析軟件通過對(duì)這些數(shù)據(jù)的分析處理,可以得出設(shè)備當(dāng)前的運(yùn)行狀況,從而可以針對(duì)當(dāng)前的運(yùn)行狀況采取相應(yīng)的措施。目前,常用的信號(hào)采集裝置,在其系統(tǒng)軟件設(shè)計(jì)中多采用單片機(jī)、DSP或基于嵌入式計(jì)算機(jī)的架構(gòu)。然而基于DSP的數(shù)據(jù)采集系統(tǒng), 雖然處理速度快,但成本較高,實(shí)現(xiàn)通信接口較困難,過多的中斷會(huì)降低CPU 的效率,系統(tǒng)響應(yīng)速度變差。而單片機(jī)的系統(tǒng)則由于單片機(jī)本身的局限性,運(yùn)行速度低,無法執(zhí)行多任務(wù)操作?;谇度胧絃inux的數(shù)據(jù)采集系統(tǒng)則很好地完成相應(yīng)功能,彌補(bǔ)了上面兩種系統(tǒng)的缺陷。

        嵌入式Linux操作系統(tǒng)作為整個(gè)系統(tǒng)的核心部分,完成對(duì)任務(wù)進(jìn)行控制和調(diào)度,并且實(shí)現(xiàn)任務(wù)間通信與同步、對(duì)系統(tǒng)資源以及存儲(chǔ)的管理。

        本文以嵌入式Linux操作系統(tǒng)為平臺(tái),以基于ARMv5te、XScale架構(gòu)的PXA270為處理器,設(shè)計(jì)和實(shí)現(xiàn)一種通用的高性能數(shù)據(jù)采集系統(tǒng)。

        1 系統(tǒng)硬件設(shè)計(jì)

        數(shù)據(jù)采集系統(tǒng)采用分布式設(shè)計(jì),可以使用以太網(wǎng)、485/422串口、CAN總線等多種通信接口實(shí)現(xiàn)系統(tǒng)上位機(jī)與現(xiàn)場(chǎng)檢測(cè)下位機(jī)之間的通信。正常運(yùn)行時(shí),數(shù)據(jù)采集系統(tǒng)可以用來完成數(shù)據(jù)采集、數(shù)據(jù)簡(jiǎn)單處理、數(shù)據(jù)在文件中的存儲(chǔ)、數(shù)據(jù)傳輸?shù)榷喾N任務(wù)。系統(tǒng)有一定的自動(dòng)檢測(cè)、自動(dòng)校正能力,可以將檢測(cè)出的異常情況發(fā)送給上位機(jī),方便對(duì)系統(tǒng)進(jìn)行維護(hù)。為了適應(yīng)各種自動(dòng)檢測(cè)的需求,采用模塊化結(jié)構(gòu)對(duì)整個(gè)檢測(cè)系統(tǒng)進(jìn)行設(shè)計(jì),這樣可以方便地對(duì)模塊進(jìn)行不同的組合,從而構(gòu)造出不同功能的應(yīng)用系統(tǒng)。

        1.1 系統(tǒng)硬件組成

        數(shù)據(jù)采集系統(tǒng)選用PXA270處理器作為整個(gè)系統(tǒng)的核心,其系統(tǒng)硬件組成如圖1。從傳感器等信號(hào)源接收的模擬信號(hào)經(jīng)過調(diào)理電路處理后,由模數(shù)轉(zhuǎn)換器(ADC)轉(zhuǎn)換為數(shù)字信號(hào),輸入到PXA270中。根據(jù)不同的應(yīng)用,在ARM中進(jìn)行數(shù)字濾波和其它相應(yīng)處理,通過通信接口將數(shù)據(jù)傳輸?shù)缴衔粰C(jī),從而進(jìn)行進(jìn)一步的分析和處理。圖形界面利用QT技術(shù),利用液晶屏顯示軟件界面以及調(diào)試信息,可以方便地通過圖形界面的提示,利用鼠標(biāo)和鍵盤進(jìn)行控制。

        圖1 基于PXA270的數(shù)據(jù)采集系統(tǒng)框圖

        1.2 信號(hào)調(diào)理電路

        信號(hào)調(diào)理電路主要是為了將信號(hào)分量調(diào)整到適當(dāng)?shù)姆?,并抑制干擾信號(hào)。采取的主要措施有:增加衰減器以調(diào)整較大信號(hào)電壓到合適ADC輸入的范圍,并增加與前端的傳感器或接收天線的匹配程度。調(diào)理電路中包括LC低通濾波器,濾去干擾信號(hào)。

        1.3 模擬信號(hào)采樣

        模數(shù)轉(zhuǎn)換器采用12 bit雙通道、采樣速率為65 Msp/s的AD9238。該芯片采用3.3 V供電,與單通道A/D轉(zhuǎn)換器相比,AD9238具有與A/D轉(zhuǎn)換器同樣優(yōu)異的動(dòng)態(tài)性能,但是與兩個(gè)單通道A/D轉(zhuǎn)換器相比,AD9238可以實(shí)現(xiàn)比A/D轉(zhuǎn)換器更好的抗串?dāng)_性能。

        1.4 外部設(shè)備

        根據(jù)系統(tǒng)需求,外部可擴(kuò)展相應(yīng)大小的FLASH,供緩存數(shù)據(jù)和存貯程序。PXA270處理器集成了存儲(chǔ)單元控制器,其外部的存儲(chǔ)總線接口支持為:SDRAM、FLASH、ROM、SRAM、PC卡等。SDRAM具有單位空間存儲(chǔ)容量大和價(jià)格便宜的優(yōu)點(diǎn),主要被用作程序的運(yùn)行空間以及數(shù)據(jù)集堆棧區(qū)。系統(tǒng)上電啟動(dòng)時(shí),CPU首先會(huì)讀取地址0x0處的代碼,在這段代碼完成相應(yīng)硬件初始化后,會(huì)將其他相應(yīng)的程序代碼傳送到SDRAM中運(yùn)行。系統(tǒng)設(shè)計(jì)中,使用4片HY57V561620FTP-H芯片構(gòu)成128 Mbit的大容量存儲(chǔ)空間。HY57V-561620是4 Mbit×4 banks×16 bit的SDRAM,單片容量為32 Mbit,這里,使用位擴(kuò)展的方式擴(kuò)展成32 bit的接口。

        與上位機(jī)通信接口包括:以太網(wǎng),帶光電隔離的3路422/485串口,CAN總線。

        2 系統(tǒng)軟件設(shè)計(jì)

        針對(duì)該系統(tǒng)的特點(diǎn),將軟件平臺(tái)在嵌入式Linux上實(shí)現(xiàn)。

        圖2 嵌入式Linux的分層體系結(jié)構(gòu)

        如圖2,嵌入式Linux具有分層的體系結(jié)構(gòu),每一層都屏蔽了它以下各層具體的實(shí)現(xiàn)細(xì)節(jié),為上層提供相應(yīng)的功能接口,上層模塊不需要知道下面各層的具體實(shí)現(xiàn)細(xì)節(jié),只需要利用下層提供的接口來完成相應(yīng)功能。正因分層的體系結(jié)構(gòu),提高了嵌入式Linux的安全性、穩(wěn)定性以及便利性。

        2.1 內(nèi)核的裁減編譯與啟動(dòng)

        由于基于PXA270的系統(tǒng)資源受限,真正標(biāo)準(zhǔn)的Linux操作系統(tǒng)是面向PC的,這就需要裁減Linux內(nèi)核,只保留所需要的功能使之適應(yīng)受限的系統(tǒng)資源。對(duì)于一些可獨(dú)立加載或者可以卸載的功能塊,可以在配置內(nèi)核時(shí)僅保留嵌入式系統(tǒng)功能真正實(shí)現(xiàn)所需要的模塊,卸載那些不需要的功能模塊。系統(tǒng)對(duì)數(shù)據(jù)采集的實(shí)時(shí)性有一定要求,而內(nèi)核中的虛擬內(nèi)存管理機(jī)制對(duì)實(shí)時(shí)性有所影響,可以將其屏蔽從而增強(qiáng)Linux的實(shí)時(shí)性。

        數(shù)據(jù)采集系統(tǒng)中,PXA270屬于X86體系結(jié)構(gòu),與一般PC使用的Linux操作系統(tǒng)兼容。因此,可以使用X86體系下Linux系統(tǒng)的gcc編譯器,對(duì)裁剪過的Linux 內(nèi)核源代碼進(jìn)行編譯。本系統(tǒng)增加了對(duì)文件系統(tǒng)和GUI的支持,其中所實(shí)現(xiàn)的文件系統(tǒng)包括:基本文件的系統(tǒng)體系結(jié)構(gòu),基本可執(zhí)行程序,配置文件,設(shè)備/dev/hd* 和/dev/tty*,程序運(yùn)行所需的庫文件。GUI是實(shí)現(xiàn)軟件可視化設(shè)計(jì)需求所必需的,用其所實(shí)現(xiàn)的圖形界面也為將來的現(xiàn)場(chǎng)檢修維護(hù)提供便于操作的圖形界面。

        2.2 啟動(dòng)設(shè)備驅(qū)動(dòng)程序

        BootLoader是一段小程序,用于引導(dǎo)操作系統(tǒng)或者用戶應(yīng)用程序。BootLoader用于對(duì)必要的硬件設(shè)備進(jìn)行初始化、建立內(nèi)存映射,為最終內(nèi)核或用戶應(yīng)用程序的啟用準(zhǔn)備好正確的軟硬件環(huán)境。

        為了完成系統(tǒng)的功能,實(shí)現(xiàn)應(yīng)用程序?qū)τ布目刂?,需要?duì)串口以及I/O口編寫相應(yīng)的設(shè)備驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間,是內(nèi)核的一部分,用于完成內(nèi)核與硬件之間的交互。設(shè)備驅(qū)動(dòng)程序的主要功能包含:對(duì)設(shè)備初始化、設(shè)備使用完成后對(duì)設(shè)備以及其使用相關(guān)資源的釋放、驅(qū)動(dòng)程序與硬件之間數(shù)據(jù)的交互、應(yīng)用程序與驅(qū)動(dòng)程序之間的數(shù)據(jù)交流、對(duì)設(shè)備出現(xiàn)的異常情況的監(jiān)測(cè)和處理。

        設(shè)備驅(qū)動(dòng)程序的功能主要通過對(duì)中斷處理實(shí)現(xiàn)。為了使系統(tǒng)更好地工作,完成中斷的功能,一般把中斷處理程序分為上半部和下半部。上半部也就是在關(guān)中斷方式先被硬件中斷觸發(fā)的一般意義上的中斷服務(wù)程序,所以要求運(yùn)行時(shí)間應(yīng)當(dāng)盡可能短,處理盡可能快,否則影響系統(tǒng)性能;下半部適合處理占用時(shí)間較長(zhǎng),甚至有休眠的任務(wù),可以在開中斷以及任務(wù)串行化的環(huán)境下運(yùn)行。實(shí)時(shí)性很強(qiáng)的任務(wù)被驅(qū)動(dòng)程序上半部處理完成后會(huì)調(diào)用queue_task函數(shù),這樣就會(huì)把下半部處理函數(shù)掛入到立即隊(duì)列中,并激活立即隊(duì)列,再通過調(diào)用mark_bh函數(shù),下半部就可以以最高最優(yōu)級(jí)被先執(zhí)行。

        由于中斷信號(hào)線數(shù)目極其有限,當(dāng)數(shù)據(jù)采集系統(tǒng)面對(duì)多個(gè)數(shù)據(jù)源,如果對(duì)每個(gè)信號(hào)源都獨(dú)占一根中斷信號(hào)線時(shí),顯然中斷信號(hào)線的數(shù)目無法滿足要求。為了解決上面的問題,使系統(tǒng)具有更好的靈活性,則應(yīng)使用數(shù)據(jù)源共享某根中斷信號(hào)線的方式來實(shí)現(xiàn)中斷。中斷信號(hào)線共享的實(shí)現(xiàn)只需要在申請(qǐng)中斷信號(hào)線時(shí)把request_irq函數(shù)的flags參數(shù)設(shè)置為SA_SHIRQ即可。此時(shí)的中斷處理例程需要通過inb函數(shù)查看AD9238相應(yīng)的寄存器來判斷中斷是否是這個(gè)芯片發(fā)出,如果不是則繼續(xù)查找中斷源。如果找到中斷源,則讀取相應(yīng)的數(shù)據(jù)寄存器中的相關(guān)數(shù)據(jù),放到驅(qū)動(dòng)程序的緩存區(qū)AD_Data中,等待進(jìn)程通過調(diào)用read函數(shù)來調(diào)用驅(qū)動(dòng)程序中實(shí)現(xiàn)的read函數(shù),并通過copy_to_user將數(shù)據(jù)拷貝到用戶空間中。

        在接收中斷的過程中,為了防止由于丟失中斷導(dǎo)致驅(qū)動(dòng)程序沒有讀取AD9238中的數(shù)據(jù)并對(duì)其進(jìn)行設(shè)置,使其不能發(fā)送中斷導(dǎo)致整個(gè)驅(qū)動(dòng)卡死的這種情況發(fā)生,這里需要使用內(nèi)核定時(shí)器,如果在100個(gè)時(shí)鐘滴答內(nèi)沒有收到中斷,會(huì)自行調(diào)動(dòng)中斷處理例程,檢測(cè)是否芯片已經(jīng)發(fā)出了中斷卻沒有收到。

        用戶進(jìn)程是通過/dev目錄下的相關(guān)設(shè)備文件來與硬件打交道的,通過調(diào)用對(duì)設(shè)備文件相關(guān)操作的系統(tǒng)調(diào)用從而對(duì)設(shè)備或接口進(jìn)行操作。需要使用file_operations結(jié)構(gòu)來實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序要實(shí)現(xiàn)的系統(tǒng)調(diào)用,file_operations結(jié)構(gòu)中每一個(gè)成員都對(duì)應(yīng)著一個(gè)系統(tǒng)調(diào)用。用戶進(jìn)程通過對(duì)/dev下設(shè)備文件的操作找到相應(yīng)設(shè)備驅(qū)動(dòng)程序的相關(guān)調(diào)用,通過讀取這個(gè)設(shè)備對(duì)應(yīng)file_operations結(jié)構(gòu)中的函數(shù)指針,最終把控制權(quán)交給該函數(shù)。對(duì)設(shè)備驅(qū)動(dòng)程序的編寫主要是要實(shí)現(xiàn)與該設(shè)備相關(guān)的系統(tǒng)調(diào)用,也就是填充file_operations的各個(gè)域并編寫相對(duì)應(yīng)的函數(shù)。

        設(shè)備驅(qū)動(dòng)程序可以以模塊的方式加入內(nèi)核。init_module函數(shù)首先要檢測(cè)設(shè)備是否存在;然后對(duì)系統(tǒng)中未使用的空閑中斷進(jìn)行申請(qǐng);設(shè)備驅(qū)動(dòng)申請(qǐng)輸入輸出緩存隊(duì)列空間對(duì)提高系統(tǒng)的性能有很大幫助,可以通過調(diào)用kmalloc函數(shù)進(jìn)行申請(qǐng);以上工作完成后,對(duì) register_chrdev函數(shù)進(jìn)行調(diào)用就可以完成系統(tǒng)對(duì)設(shè)備驅(qū)動(dòng)程序的加載。在clearup_module時(shí),先通過調(diào)用free_irq函數(shù)釋放掉申請(qǐng)到的中斷資源,然后調(diào)用kfree函數(shù)釋放初始化時(shí)申請(qǐng)到的內(nèi)存空間,最后通過調(diào)用unregister_chrdev函數(shù)來完成對(duì)這個(gè)已經(jīng)注冊(cè)的字符設(shè)備驅(qū)動(dòng)程序的釋放。

        2.3 應(yīng)用程序設(shè)計(jì)

        系統(tǒng)的應(yīng)用程序由多個(gè)功能模塊構(gòu)成,包括數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)通信等模塊。

        (1)數(shù)據(jù)采集模塊通過對(duì)I/O接口的操作,實(shí)現(xiàn)對(duì)數(shù)據(jù)的采集,系統(tǒng)中利用inb、inb_p、outb、outb_p這4個(gè)函數(shù)實(shí)現(xiàn)設(shè)備中數(shù)據(jù)的讀取和寫入。inb_p、outb_p相對(duì)于inb、outb,需要在存取I/O時(shí)有等待(pause),可適應(yīng)響應(yīng)較慢的I/O設(shè)備。Linux內(nèi)核提供對(duì)端口使用狀況的控制及查詢功能,合理利用這些功能就可以防止I/O讀寫時(shí)發(fā)生沖突。端口使用之前,檢查相應(yīng)的I/O端口是否正在被使用,如果當(dāng)前狀態(tài)為空閑,就把相應(yīng)端口標(biāo)記為正在使用,在使用完后進(jìn)行釋放。

        (2)數(shù)據(jù)處理模塊完成數(shù)據(jù)的數(shù)字濾波以及其它處理功能,并將數(shù)據(jù)導(dǎo)出存到相應(yīng)文件中。最終要將處理后的數(shù)據(jù)經(jīng)過適當(dāng)接口傳到上位機(jī)。

        (3)數(shù)據(jù)通信模塊負(fù)責(zé)從緩沖區(qū)讀取數(shù)據(jù),并發(fā)送給上位機(jī)。

        應(yīng)用程序的工作流程如圖3。

        圖3 應(yīng)用程序工作流程圖

        從圖3可以看出,應(yīng)用程序完成了以下工作:(1)初始化操作,開辟一塊共享緩沖區(qū),并為該緩沖區(qū)加一個(gè)互斥鎖。(2)創(chuàng)建3個(gè)線程,分別對(duì)應(yīng)3種數(shù)據(jù)通信方式:socket網(wǎng)絡(luò)通信,485串口通信,CAN總線通信。這3種數(shù)據(jù)通信方式負(fù)責(zé)把數(shù)據(jù)傳送給上位機(jī)。

        在主線程中,打開驅(qū)動(dòng)程序設(shè)備文件,并從這個(gè)設(shè)備中讀取數(shù)據(jù)。由于設(shè)備read()函數(shù)是阻塞函數(shù),所以使用了select()函數(shù)設(shè)置了一個(gè)等待時(shí)間,使得讀取操作為非阻塞操作。當(dāng)有數(shù)據(jù)可讀時(shí),就調(diào)用read()函數(shù),把驅(qū)動(dòng)程序處于內(nèi)核區(qū)的數(shù)據(jù)傳遞給用戶區(qū)的數(shù)據(jù)緩存,也就是主線程把數(shù)據(jù)寫入了共享緩沖區(qū)中。

        在socket網(wǎng)絡(luò)通信線程中,先要?jiǎng)?chuàng)建一個(gè)用于通信的socket文件描述符,并使用bind()函數(shù)綁定本地的網(wǎng)絡(luò)地址(IP)、端口號(hào)(Port);然后循環(huán)檢測(cè)緩沖區(qū)是否有數(shù)據(jù)可讀,如果有,就讀取出來并調(diào)用sendTo()函數(shù)把數(shù)據(jù)發(fā)送給對(duì)方。

        在485通信線程中,先要打開串口設(shè)備,并設(shè)置串口的相關(guān)數(shù)據(jù),如波特率,數(shù)據(jù)位,停止位等,然后也是到共享緩沖區(qū)讀取數(shù)據(jù),并通過write函數(shù)將數(shù)據(jù)發(fā)送給上位機(jī)。

        在CAN總線通信線程中,首先打開CAN總線設(shè)備文件,進(jìn)行一系列的初始化操作,然后判斷共享緩沖區(qū)的數(shù)據(jù)是否可以讀取,如果可以就讀取下來,通過CAN總線給上位機(jī)傳輸數(shù)據(jù)。

        3 結(jié)束語

        本文設(shè)計(jì)了一種通用的高性能信號(hào)采集系統(tǒng),可以通過加載不同的應(yīng)用程序使用在不同的應(yīng)用場(chǎng)合,具有集成度高、低成本、高性能、多用途的特點(diǎn)。數(shù)據(jù)采集系統(tǒng)調(diào)試非常方便,可靠性高,擴(kuò)展方便,組合容易,可以根據(jù)現(xiàn)場(chǎng)提供的通信條件如422/485串口、以太網(wǎng),或者CAN總線與上位機(jī)通信,便于將現(xiàn)場(chǎng)采集到的數(shù)據(jù)可靠地上傳。本系統(tǒng)現(xiàn)在已經(jīng)應(yīng)用于400 km/h高速綜合檢測(cè)列車上應(yīng)答器的數(shù)據(jù)采集,高速列車上多處現(xiàn)場(chǎng)監(jiān)控和數(shù)據(jù)采集設(shè)備也采用了本系統(tǒng)。

        [1] 孫天澤,袁文菊,張海峰. 嵌入式設(shè)計(jì)及Linux驅(qū)動(dòng)開發(fā)指南[M] . 北京:電子工業(yè)出版社,2005.

        [2] 石秀民,魏洪興. 嵌入式系統(tǒng)原理與應(yīng)用—基于Xscale與Linux[M] . 北京:北京航空航天大學(xué)出版社,2007.

        [3] 朱利利,陳斌,何運(yùn)桃. 基于PXA270的電源管理[J] . 電腦知識(shí)與技術(shù),2009(17).

        [4] Marvell Technology Group Ltd. Marvell PXA27x Processor Family Design Guide[Z] . 2007.

        猜你喜歡
        驅(qū)動(dòng)程序內(nèi)核調(diào)用
        萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        亚洲av无码国产精品色软件下戴| 中文乱码字幕人妻熟女人妻| 中文字幕人妻互换av| 亚洲日韩精品a∨片无码加勒比| 香蕉久久福利院| 国产精品久久久久影视不卡| 国产视频在线播放亚洲| 中国亚洲一区二区视频| 影音先锋女人aa鲁色资源| 亚洲综合一区二区三区四区五区 | 午夜成人精品福利网站在线观看| 国产偷国产偷高清精品| 久久综合这里只有精品| 国产自拍高清在线观看| 日韩欧美人妻一区二区三区| 97视频在线播放| 国产精品女人一区二区三区| 少妇人妻综合久久中文字幕| 久久久精品456亚洲影院| 国精品无码一区二区三区在线看| 精品国产一区二区av麻豆不卡 | 一本无码中文字幕在线观| 人妻献身系列第54部| 久久狠色噜噜狠狠狠狠97| 亚洲中文字幕第一页免费| 国产果冻豆传媒麻婆精东| 窝窝影院午夜看片| 国产网友自拍亚洲av| av日韩高清一区二区| 精品9e精品视频在线观看| 国产熟女亚洲精品麻豆| 日本女优禁断视频中文字幕| 亚洲av永久无码精品一福利| 国产成人精品成人a在线观看| 无遮挡粉嫩小泬| 一区二区亚洲精品在线| 无码av无码天堂资源网| 国产精品视频一区日韩丝袜| 日韩精品人妻视频一区二区三区 | 精品久久综合日本久久综合网| 最爽无遮挡行房视频|