《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于μClinux的觸摸屏軟硬件關(guān)鍵技術(shù)分析
基于μClinux的觸摸屏軟硬件關(guān)鍵技術(shù)分析
摘要: 本文介紹了當(dāng)前比較流行的開放源代碼的嵌入式操作系統(tǒng)μClinux下驅(qū)動(dòng)程序的一般結(jié)構(gòu),以及觸摸屏控制器和Motorola DragonBallMCVZ328 CPU的連接。在此基礎(chǔ)上,詳細(xì)講述了觸摸屏驅(qū)動(dòng)程序設(shè)計(jì)的一些關(guān)鍵技術(shù),如阻塞型I/O操作、任務(wù)隊(duì)列以及系統(tǒng)定時(shí)器的應(yīng)用等,解決了采樣數(shù)量控制問題,具有較好的移植性。
Abstract:
Key words :

  引言

  背景介紹

  隨著信息技術(shù)的發(fā)展,嵌入式系統(tǒng)越來越廣泛地應(yīng)用到航空航天、通訊設(shè)備、工業(yè)控制等領(lǐng)域。由于尺寸的限制,觸摸屏代替鍵盤和鼠標(biāo)成為嵌入式系統(tǒng)首選的輸入工具。同時(shí)嵌入式系統(tǒng)也逐漸摒棄了傳統(tǒng)的循環(huán)控制模式,而是引入操作系統(tǒng)完成進(jìn)程間切換和任務(wù)調(diào)度。μClinux就是一種優(yōu)秀的開放源代碼的嵌入式操作系統(tǒng)。它經(jīng)過各方面的小型化改造,形成了一個(gè)高度優(yōu)化的、代碼緊湊的嵌入式Linux,雖然它的體積很小,μClinux仍然保留了Linux的大多數(shù)優(yōu)點(diǎn):穩(wěn)定良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、完備的對(duì)各種文件系統(tǒng)的支持以及標(biāo)準(zhǔn)豐富的API。比較起其它幾種應(yīng)用較多的嵌入式操作系統(tǒng),像vxworks、winCE等,它較為低廉的價(jià)格以及方便的用戶程序開發(fā),無疑是其巨大的優(yōu)勢(shì)。用戶可以方便地從互聯(lián)網(wǎng)上找到最新內(nèi)核版本、編譯器以及其它必需的軟件環(huán)境,這也促使眾多愛好者加盟。

  研究現(xiàn)狀

  由于觸摸屏使用得越來越廣泛,所以相應(yīng)的研究與工程實(shí)踐比較多。在現(xiàn)有的工作中,已有很多工程師對(duì)觸摸屏控制器ADS7846與StrongARM平臺(tái)的硬件連接以及在WinCE操作系統(tǒng)中軟件驅(qū)動(dòng)程序開發(fā)進(jìn)行了研究,并對(duì)改進(jìn)觸摸屏控制器硬件精度上做了一定探索。而本文的主要貢獻(xiàn)在于詳細(xì)描述了在μClinux這一嵌入式操作系統(tǒng)中觸摸屏驅(qū)動(dòng)程序硬件及軟件設(shè)計(jì)。實(shí)踐證明,這一設(shè)計(jì)具有比較高的精度、穩(wěn)定性和開放性,而且跨平臺(tái)性也較好,因此必將給嵌入式設(shè)備提供更多選擇。

  硬件設(shè)計(jì)

  本設(shè)計(jì)中硬件平臺(tái)微處理器選用Motorola公司的MC68VZ328,它是一款M68k體系的32位低功耗微處理器,采用SoC技術(shù)設(shè)計(jì),具有典型的嵌入式微處理器的特征;觸摸屏選用TI(原為Burr-Brown公司的產(chǎn)品,由于該公司已被TI公司收購(gòu),所以下文均用TI公司)公司的ADS7843。在本設(shè)計(jì)中,CPU與觸摸屏以主從方式工作,觸摸屏工作于從設(shè)備(slave)狀態(tài)。本設(shè)計(jì)中硬件電路不同于傳統(tǒng)設(shè)計(jì),而是充分利用了ADS7843中的BUSY信號(hào)線,如圖1所示。

硬件設(shè)計(jì)

  ADS7843是一款四線電阻式觸摸屏控制芯片,它主要完成兩件事情:其一,是完成電極電壓的切換;其二,是采集接觸點(diǎn)處的電壓值。它由兩層透明的阻性導(dǎo)體層組成,在導(dǎo)體層中間充滿了用粘性絕緣液體材料做成的隔離層和由導(dǎo)電性能極好的材料構(gòu)成的電極。

  觸摸屏工作時(shí),上下導(dǎo)體層相當(dāng)于電阻網(wǎng)絡(luò),如圖2所示。當(dāng)某一層電極加上電壓時(shí),會(huì)在該網(wǎng)絡(luò)上形成電壓梯度。若有外力使得上下兩層在某一點(diǎn)接觸,則在電極未加電壓的另一層可以測(cè)得接觸點(diǎn)處的電壓,從而知道接觸點(diǎn)處的坐標(biāo)。比如,若在頂層的電極(X+、X-)上加上電壓,則在頂層導(dǎo)體層上形成電壓梯度;當(dāng)有外力使得上下兩層在某一點(diǎn)接觸,在底層就可以測(cè)得接觸點(diǎn)處的電壓,再根據(jù)該電壓與電極(X+)之間的距離關(guān)系,知道該處的X坐標(biāo)。然后,將電壓切換到底層電極(Y+、Y-)上,并在頂層測(cè)量接觸點(diǎn)處的電壓,從而知道Y坐標(biāo)。對(duì)電壓在橫向和縱向?qū)w層之間的切換以及A/D轉(zhuǎn)換,需要先通過串行外設(shè)接口(SPI)往ADS7843發(fā)送控制字,轉(zhuǎn)換完成后再通過SPI讀出電壓轉(zhuǎn)換值。

觸摸屏工作時(shí)

  μClinux下驅(qū)動(dòng)程序的特點(diǎn)

  μClinux繼承了Linux的設(shè)備管理方法,將所有的設(shè)備看做具體的文件,通過文件系統(tǒng)層對(duì)設(shè)備進(jìn)行訪問。所以在Clinux的框架結(jié)構(gòu)中,和設(shè)備相關(guān)的處理可以分為兩個(gè)層次——文件系統(tǒng)層和設(shè)備驅(qū)動(dòng)層。設(shè)備驅(qū)動(dòng)層屏蔽具體設(shè)備的細(xì)節(jié),文件系統(tǒng)層則向用戶提供一組統(tǒng)一的規(guī)范的用戶接口。這種設(shè)備管理方法可以很好地做到“與設(shè)備無關(guān)性”,使Clinux可以根據(jù)硬件外設(shè)的發(fā)展進(jìn)行方便的擴(kuò)展,比如要實(shí)現(xiàn)一個(gè)設(shè)備驅(qū)動(dòng)程序,只要根據(jù)具體的硬件特性向文件系統(tǒng)提供一組訪問接口即可。

  μClinux中的設(shè)備可以分為3類:字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。其中字符設(shè)備沒有緩沖區(qū),數(shù)據(jù)的處理是以字節(jié)為單位按順序進(jìn)行的,它不支持隨機(jī)讀寫,觸摸屏即屬于字符設(shè)備的一種。

  驅(qū)動(dòng)程序在內(nèi)核中裝載的方式有兩種:一種是直接編譯進(jìn)內(nèi)核,在系統(tǒng)初始化的時(shí)候就對(duì)設(shè)備進(jìn)行注冊(cè);一種是模塊化加載的方法,將驅(qū)動(dòng)程序編譯成目標(biāo)文件(*.o),需要添加設(shè)備時(shí),使用insmod命令向系統(tǒng)注冊(cè),停止使用時(shí),用rmmod命令卸載。對(duì)于觸摸屏這種基本的輸入工具,建議采取直接編譯進(jìn)內(nèi)核的方式,這樣系統(tǒng)一啟動(dòng)就可以使用了。

  向內(nèi)核注冊(cè)一個(gè)字符設(shè)備的函數(shù)為:externintregister_chrdev(unsignedintmajor,constchar*name, structfile_operations*fops);內(nèi)核用主設(shè)備號(hào)和次設(shè)備號(hào)惟一地標(biāo)識(shí)一個(gè)設(shè)備。參數(shù)major對(duì)應(yīng)所請(qǐng)求的主設(shè)備號(hào),name對(duì)應(yīng)設(shè)備的名字,fops是一個(gè)指向file_operations結(jié)構(gòu)的指針,它是Clinux下編寫驅(qū)動(dòng)程序用到的一個(gè)關(guān)鍵的數(shù)據(jù)結(jié)構(gòu),它提供了應(yīng)用空間與驅(qū)動(dòng)程序的調(diào)用接口。這個(gè)數(shù)據(jù)結(jié)構(gòu)的每一項(xiàng)都指向驅(qū)動(dòng)程序完成的一個(gè)功能。

 

  在2.4版本內(nèi)核中對(duì)該結(jié)構(gòu)采取標(biāo)記結(jié)構(gòu)初始化語(yǔ)法(TaggedStructureInitializationSyntax),與2.0內(nèi)核比較,這種語(yǔ)法可移植性更好,程序的可讀性和代碼的緊湊性都比較好。以觸摸屏為例:

  staticstruct file_operations ts_fops={

  owner:THIS_MODULE,

  read:ts_read, //讀數(shù)據(jù)操作

  poll:ts_poll, //非阻塞操作

  ioctl:ts_ioctl, //I/O控制操作

  open:ts_open, //打開設(shè)備

  release:ts_release, //釋放設(shè)備

  fasync:ts_fasync, //異步觸發(fā)}

  完整的結(jié)構(gòu)還包括llseek、readdir等函數(shù)指針,只是由于在本程序中沒有用到,所以省略不寫,內(nèi)核把它們默認(rèn)為空(NULL)。

  觸摸屏驅(qū)動(dòng)程序的流程及關(guān)鍵函數(shù)

  在本設(shè)計(jì)中,我們使用μClinux2.4內(nèi)核。驅(qū)動(dòng)程序主要設(shè)計(jì)思想是:驅(qū)動(dòng)程序在初始化結(jié)束后,進(jìn)入空閑狀態(tài),等待中斷的到來。一旦筆中斷(pen_irq)發(fā)生,則進(jìn)入中斷處理程序,進(jìn)行數(shù)據(jù)采樣、轉(zhuǎn)換和傳輸,同時(shí),程序?qū)Ω鞣N不同的情況進(jìn)行鑒別和異常處理。

  觸摸屏軟件流程如圖3所示。在驅(qū)動(dòng)程序中設(shè)定了觸摸屏所處的7個(gè)不同狀態(tài),分別用從-1到5的數(shù)字表征,這7個(gè)狀態(tài)構(gòu)成了一個(gè)觸摸屏狀態(tài)機(jī),系統(tǒng)根據(jù)當(dāng)前狀態(tài)做出下一步的處理,如表1所示。整個(gè)軟件設(shè)計(jì)根據(jù)功能可以劃分為5個(gè)部分,分別是初始化、設(shè)備打開、讀操作、中斷處理以及I/O控制,下面具體介紹每一部分。

觸摸屏軟件流程

觸摸屏軟件流程如圖

 

  驅(qū)動(dòng)程序初始化

  在mc68328digi_init()中向內(nèi)核注冊(cè)設(shè)備驅(qū)動(dòng)函數(shù):err=misc_register(&mc68328_digi),在init_ts_settings()中設(shè)定觸摸屏的當(dāng)前參數(shù):內(nèi)核版本號(hào)、筆移動(dòng)判別閾值、采樣時(shí)間、消除抖動(dòng)開關(guān)、消除抖動(dòng)時(shí)間等參數(shù),這些均由用戶根據(jù)自己的液晶屏以及精度要求來定制,也可以在應(yīng)用程序中用I/O控制函數(shù)ioctl()來設(shè)定,本文將在參數(shù)分析中具體分析這些參數(shù)的意義。

  打開設(shè)備

  在ts_open()函數(shù)中,驅(qū)動(dòng)程序向內(nèi)核注冊(cè)中斷。中斷也可以在系統(tǒng)初始化的時(shí)候向內(nèi)核注冊(cè),但是一般不建議這樣做,因?yàn)樵诩虞d的設(shè)備比較多時(shí),這樣做有可能造成中斷的沖突。打開一個(gè)設(shè)備,才讓該設(shè)備占用中斷,是一個(gè)較好的策略。向內(nèi)核注冊(cè)中斷處理程序主要實(shí)現(xiàn)兩個(gè)功能,一是注冊(cè)中斷號(hào),二是注冊(cè)中斷處理函數(shù)。

  本程序中,向內(nèi)核注冊(cè)了兩個(gè)中斷處理程序,分別是:

  request_irq(PEN_IRQ_NUM, handle_pen_irq,IRQ_FLG_STD,

  “touch_screen”,NULL)和request_ irq(SPI_IRQ_NUM,handle_spi_irq, IRQ_FLG_STD,“spi_irq”,NULL);

  在前者中,PEN_IRQ_NUM是中斷號(hào),可以指定,也可以動(dòng)態(tài)分配。在該驅(qū)動(dòng)程序中,指定筆中斷分配中斷號(hào)為19;handle_pen_irq是中斷處理函數(shù),IRQ_FLG_STD是申請(qǐng)時(shí)的選項(xiàng),它決定中斷處理程序的一些特性,這里表示由系統(tǒng)內(nèi)部占用;touch_ screen是設(shè)備名。在后者中,程序向內(nèi)核注冊(cè)SPI中斷,用來在CPU和外設(shè)間傳遞數(shù)據(jù),分配的中斷號(hào)是0,handle_spi_irq是SPI中斷處理函數(shù)。

  此外,在觸摸屏驅(qū)動(dòng)初始化子函數(shù)init_ts_drv()中,進(jìn)行了如下工作:

  (1)觸摸屏狀態(tài)的初始化;

  (2)筆信息(pen_values)的初始化;

  (3)初始化定時(shí)器并設(shè)置超時(shí)函數(shù)handle_timeout();

  (4)初始化寄存器。初始化等待隊(duì)列,等待隊(duì)列是由等待觸摸事件發(fā)生的進(jìn)程組成的一個(gè)隊(duì)列,它包括頭尾指針和一個(gè)正在睡眠進(jìn)程的鏈表;

  (5)設(shè)置觸摸屏狀態(tài)為空閑。

  由于這里的初始化會(huì)占用一部分系統(tǒng)資源,所以把它們放在了打開設(shè)備時(shí)處理,而不是最初的設(shè)備初始化部分,這樣也是出于節(jié)省資源的考慮。

  讀函數(shù)ts_read()

  一旦用戶程序調(diào)用read()對(duì)觸摸屏進(jìn)行讀操作,則驅(qū)動(dòng)程序調(diào)用入口點(diǎn)函數(shù)ts_read()進(jìn)行處理。如果此時(shí)沒有數(shù)據(jù)到來,且驅(qū)動(dòng)程序選擇阻塞型操作,則調(diào)用interruptible_sleep_on(&queue->proc_list)將進(jìn)程阻塞,并進(jìn)入等待隊(duì)列,同時(shí)設(shè)置觸摸屏狀態(tài)為等待;如果選擇了非阻塞型操作,則程序在沒有數(shù)據(jù)到達(dá)的時(shí)候立即返回,然后用異步觸發(fā)fasync()來通知數(shù)據(jù)的到來。

 

  在等待數(shù)據(jù)到來的過程中,如果有觸摸動(dòng)作(筆中斷pen_irq)發(fā)生,則進(jìn)入中斷處理程序。在中斷處理程序中對(duì)數(shù)據(jù)進(jìn)行采樣和轉(zhuǎn)化,把當(dāng)前坐標(biāo)信息放入隊(duì)列中。在進(jìn)程被喚醒后(使用wake_up_interruptible(&queue->proc_list)來喚醒進(jìn)程),程序把位置坐標(biāo)信息、事件序列信息等從隊(duì)列中取出,放入用戶空間(put_user),從而可以被用戶程序使用,避免了用戶直接和硬件打交道。

  驅(qū)動(dòng)程序的中斷處理函數(shù)

  當(dāng)筆中斷發(fā)生,程序進(jìn)入中斷處理函數(shù)。在中斷處理函數(shù)中,將完成對(duì)兩個(gè)中斷進(jìn)行處理,分別是外部的觸摸中斷(筆中斷)和SPI數(shù)據(jù)轉(zhuǎn)換中斷。與這兩個(gè)中斷對(duì)應(yīng)的中斷處理函數(shù),是觸摸屏軟件設(shè)計(jì)的關(guān)鍵所在。

  驅(qū)動(dòng)程序在中斷處理函數(shù)中使用定時(shí)器處理時(shí)間相關(guān)操作。定義函數(shù)set_timer_irq(),如下:

  staticvoidset_timer_irq(structtimer_list*timer,intdelay){

del_timer(timer);

timer->expires=jiffies+delay;

add_timer(timer);

}

  jiffies是一個(gè)表征系統(tǒng)自從啟動(dòng)以來到當(dāng)前為止所運(yùn)行時(shí)鐘數(shù)的變量,delay是設(shè)定的延長(zhǎng)時(shí)間(用時(shí)鐘數(shù)作為計(jì)數(shù)單位)。一旦時(shí)鐘數(shù)超過設(shè)定值,則觸發(fā)超時(shí)函數(shù),在本程序中是handle_timeout( )。引入定時(shí)器的目的有兩個(gè):一是可以較為精確地控制系統(tǒng)由于消除電平升降造成信號(hào)抖動(dòng)所需要時(shí)間,二是能夠有效控制采樣坐標(biāo)的數(shù)量,而不必引入占用大量系統(tǒng)資源的簡(jiǎn)單延時(shí)函數(shù)。使用SPI中斷而產(chǎn)生大量坐標(biāo)數(shù)據(jù)這一問題在文獻(xiàn)中沒有很好的解決辦法,只是簡(jiǎn)單地降低SPI時(shí)鐘頻率以取較少的數(shù)據(jù)量。本設(shè)計(jì)中引入定時(shí)器,可以很好地解決上述問題。

  在handle_timeout()函數(shù)中,程序利用條件選擇語(yǔ)句,對(duì)觸摸屏狀態(tài)值(ts_drv_state)進(jìn)行判斷,如果是非Error狀態(tài),則使能SPI,進(jìn)入handle_spi_irq(),與ADS7843進(jìn)行數(shù)據(jù)通訊。在handle_spi_irq()中,程序利用條件選擇語(yǔ)句,根據(jù)觸摸屏狀態(tài)值(ts_drv_state)來進(jìn)行數(shù)據(jù)轉(zhuǎn)換操作,通過向觸摸屏控制芯片發(fā)送前文中提到的控制字,來得到X和Y方向的坐標(biāo)。具體邏輯可參見程序流程圖。一旦一次轉(zhuǎn)換完成,程序?qū)⒏鶕?jù)點(diǎn)擊狀態(tài)信息(state_counter)來鑒別點(diǎn)擊的性質(zhì),在cause_event()函數(shù)中,分別對(duì)點(diǎn)擊和移動(dòng)做出了判斷。判定方法較為簡(jiǎn)單,只需將前后兩次采樣坐標(biāo)之差與移動(dòng)閾值比較即可得出結(jié)論。此外,還區(qū)分了信號(hào)誤差和由于筆移動(dòng)造成的坐標(biāo)改變,判別閾值可以由用戶自己設(shè)定。

  I/O控制

  對(duì)于硬件各個(gè)參數(shù),包括采樣時(shí)間、消除抖動(dòng)開關(guān)、消除抖動(dòng)時(shí)間,都可以通過I/O控制函數(shù)ioctl()在用戶程序里進(jìn)行設(shè)定,避免每次都直接改變驅(qū)動(dòng)程序,并重新編譯內(nèi)核所帶來的時(shí)間開銷。本程序中對(duì)I/O控制函數(shù)的定義是:staticintts_ioctl(structinode*inode,structfile*file,unsignedintcmd,unsignedlongarg);其中,參數(shù)cmd有兩個(gè)值,分別為:TS_PARAMS_GET和TS_PARAMS_SET,它們用來指出是獲取參數(shù)還是設(shè)定參數(shù)。用戶在調(diào)用這個(gè)函數(shù)的時(shí)候,只需要對(duì)這個(gè)參數(shù)按照事先約定的格式賦值,就可以方便地獲取或者改變觸摸屏當(dāng)前參數(shù),arg是指向所傳遞參數(shù)的指針。

  結(jié)論

  在獲得觸摸點(diǎn)的原始坐標(biāo)(數(shù)值范圍由所選用的A/D轉(zhuǎn)換器位數(shù)決定)后,還要根據(jù)具體使用的液晶屏實(shí)際像素進(jìn)行轉(zhuǎn)換,以方便圖形界面的后續(xù)開發(fā)。考慮到相鄰兩次的移動(dòng)閾值,按照如下公式對(duì)觸摸屏坐標(biāo)進(jìn)行計(jì)算:
  公式

  其中XV為觸摸點(diǎn)X坐標(biāo)顯示值,XW為觸摸點(diǎn)X坐標(biāo)測(cè)量值(原始坐標(biāo)值),(1)、(2)、(3)式在觸摸屏初始化時(shí)得到,方法是任取觸摸屏X方向左側(cè)和右側(cè)各一點(diǎn),以X△V=X△W=1,Xoffrer=0為初始值進(jìn)行測(cè)量得到新的3個(gè)參數(shù):X△V、X△W和Xoffrer(在實(shí)際使用中此項(xiàng)工作屬于校準(zhǔn)零點(diǎn)偏移),然后這3個(gè)參數(shù)就不再變動(dòng),對(duì)于每次測(cè)量到的任意觸摸點(diǎn)原始坐標(biāo)XW,直接代入(4)式求出觸摸點(diǎn)的像素顯示坐標(biāo)XV。 其中,XV1為觸摸屏左側(cè)點(diǎn)坐標(biāo)顯示值;XV2為觸摸屏右側(cè)點(diǎn)坐標(biāo)顯示值;XW1為觸摸屏左側(cè)點(diǎn)坐標(biāo)測(cè)量值;XW2為觸摸屏右側(cè)點(diǎn)坐標(biāo)測(cè)量值。

 

  本設(shè)計(jì)使用MicroWindows作為用戶界面,定制出每個(gè)桌面圖標(biāo)的坐標(biāo)區(qū)域,結(jié)合觸摸屏的采樣坐標(biāo),判斷是否在圖標(biāo)區(qū)域坐標(biāo)內(nèi),然后做出相應(yīng)的事件處理。對(duì)于本設(shè)計(jì)中使用的開發(fā)平臺(tái),液晶屏是320240點(diǎn)陣的,物理尺寸為: 80mm60mm,ADS7843選擇12位轉(zhuǎn)換精度,觸摸屏理論分辨率為80/212=0.020mm,但是由于電平干擾和觸摸動(dòng)作發(fā)生時(shí)的物理干擾,實(shí)際的精度無法達(dá)到這個(gè)值。經(jīng)過測(cè)試,在我們平臺(tái)上對(duì)同一點(diǎn)的點(diǎn)擊精度可以達(dá)到1.0mm。本驅(qū)動(dòng)程序可以有效地區(qū)分點(diǎn)擊和移動(dòng)信號(hào),如果配合手寫識(shí)別軟件,能夠作為手寫板的底層驅(qū)動(dòng)使用,實(shí)現(xiàn)手寫輸入。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 九九九热精品 | 伊人青青| 欧美黑大粗 | 欧美性生交大片18禁止 | 亚洲成人一区二区在线观看 | 亚洲国产精品激情在线观看 | 巨大乳做爰视频在线看 | 7788色淫视频观看日本人 | 一级片在线放映 | 农村妇女av | 国产精品视频入口麻豆 | 天天射网站 | 巨大荫蒂视频欧美另类大 | 亚洲视频图片小说 | 欧美精品一区在线观看 | 秋葵视频在线 | 内射爽无广熟女亚洲 | 国产对白在线 | 国产大屁股喷水视频在线观看 | 思思99热| 韩国无码色视频在线观看 | 亚洲无限看| 成人香蕉视频在线观看 | 久久精品日产第一区二区三区在哪里 | 91麻豆精品国产91久久久无需广告 | www.激情| 性残虐av片在线播放 | 激情内射亚州一区二区三区爱妻 | 国产精品美女www爽爽爽视频 | 亚洲精品国产精品国自产观看 | 丰满熟女高潮毛茸茸欧洲 | 欧美另类综合 | 欧美不卡一区二区三区 | 午夜刺激视频 | 亚洲熟妇av一区二区三区宅男 | 天天爱天天做天天大综合 | 国产超级av在线 | 222aaa免费国产在线观看 | 久久综合久久网 | 粗大猛烈进出高潮视频大全 | 又粗又黑又大的吊av | 欧美体内she精高潮 欧美体内谢she精2性欧美 | 欧美成人黄色小说 | 日韩视频精品 | 三浦惠理子aⅴ一二三区 | 欧美变态另类刺激 | 伊人中文在线 | 少妇被又大又粗又爽毛片久久黑人 | 亚洲性色av私人影院无码 | 精品免费一区 | 免费国产一区 | 欧美日韩视频一区二区三区 | 国产精品女人精品久久久天天 | 国产午夜精品久久久久久 | 极品销魂美女少妇尤物优美 | 国产一区二区不卡老阿姨 | 日韩美女一级片 | 少妇乱子伦在线播放 | 成人一级黄色片 | 在线免费观看av网站 | 久久人妻无码中文字幕 | 一区二区高清 | 国产欧美日韩在线视频 | 久久精品国产亚洲77777 | 成人毛片100部免费看 | 久久久精品美女 | 熟妇人妻av无码一区二区三区 | 国产女人十八毛片 | 久久午夜神器 | 黄色毛片儿| 日日碰狠狠添天天爽超碰97久久 | 久久久久一 | 国产v在线| 国产激情自拍视频 | 日韩精品一区二区中文字幕 | 亚洲欧洲精品mv免费看 | 国产精品美女久久久av超清 | 亚洲视频高清 | 精品一区二区三区免费 | 亚洲激情欧美色图 | 狠狠躁日日躁夜夜躁影院 | 久久精品国产一区 | 亚洲色大网站www永久网站 | 国产精品丝袜美腿一区二区三区 | 奇米影视888欧美在线观看 | 日本黄色免费网站 | 国产精品网友自拍 | 欧美亚洲一二三区 | 日本一区二区三区精品 | 99久久精品免费看国产免费软件 | 99国产精品久久久久久久成人 | 天堂av免费在线 | 麻豆文化传媒精品一区观看 | 久久久久女教师免费一区 | 国产精品无码午夜福利 | 日本精品婷婷久久爽一下 | 久久精品免费国产 | 欧美色偷偷 | 国产精品99 | 日本久久一级片 | 日韩一区二区三区免费视频 | 欧美黄色www | 久久黄色成人 | 99久久久精品免费观看国产 | 国产日韩av免费无码一区二区三区 | 日日夜夜天天 | 国产精品久久久久影院 | 日韩精品免费在线视频 | 国产妇女乱一性一交 | 人人做人人澡人人爽欧美 | 国产极品美女到高潮 | 中国大陆高清aⅴ毛片 | 人妻丝袜中文无码av影音先锋专区 | 久色国产sm重口调教在线观看 | 欧美理论在线 | 亚洲精品人人 | 精品久久久久久亚洲综合网站 | 黄色不卡av | 久久久久久av无码免费看大片 | 女人大p毛片女人大p毛片 | 狼人大香伊蕉国产www亚洲 | 精产国品一二三产品99麻豆 | 色综合色狠狠天天综合色 | 午夜精品久久久久久久99热额 | 日韩精品成人无码专区免费 | 两个奶头被吃高潮视频 | 欧美性插插 | 国产97免费视频 | 熟妇人妻午夜寂寞影院 | 一级美女黄色片 | 91一区二区三区在线观看 | 中文国产一区 | 天堂av资源网 | 欧美日韩久久久久 | 无码免费一区二区三区 | 亚洲区免费中文字幕影片|高清在线观看 | 午夜性刺激免费视频 | 亚洲第一色 | 日韩大片免费观看视频播放 | 可以免费看的av | 性一交一乱一色一视频 | 高级会所人妻互换94部分 | 久久久久女人 | 男女操网站 | 国产成人无码av | www.欧美日韩| 国产精品伦视频 | 中文字幕乱码在线播放 | 成人美女免费网站视频 | 国产日韩欧美视频在线观看 | 中文字幕一区二区三区精华液 | www.youjizz.com偷拍| 国产成人免费ā片在线观看老同学 | 国产精品夜间视频香蕉 | 欧美综合另类 | 五月婷婷狠狠干 | 亚洲人成精品久久久久 | 丰满少妇精品一区二区性也 | 看av网站| 国产一区二区精品久久岳 | 久久久久久网址 | 成人毛片在线 | 国产精品一区二区免费在线观看 | 国产办公室秘书无码精品99 | 欧美性猛交ⅹxx | 久久国产中文字幕 | 热久久中文 | 国产无套内射普通话对白 | 亚洲毛片在线免费观看 | 亚洲成人免费影院 | 又色又爽又黄的美女裸体网站 | 午夜精品久久久久久久四虎 | 毛片av中文字幕一区二区 | 久久精品青草社区 | 日韩一区二区在线观看视频 | 午夜天堂av | 亚洲va欧洲va国产va不卡 | 中文文字幕文字幕高清 | 国产乱人伦真实精品视频 | 日本在线观看中文字幕 | 久久精品国产清高在天天线 | 国产丝袜视频在线观看 | 动漫美女爆羞羞动漫在线蜜桃 | 91在线精品入口 | 夫妻啪啪呻吟x一88av | 中文字幕在线亚洲精品 | 日韩欧美精品一区 | 性久久久久久久久波多野结衣 | 日本少妇喂奶 | 欧美成人精品a∨在线观看 香蕉av福利精品导航 | 文中字幕一区二区三区视频播放 | 中文字幕人成乱码在线观看 | 欧美 日韩 一区二区三区 | 国产精品毛片久久久久久久 | 国产同性女女互磨在线播放 | 亚洲欧美激情国产综合久久久 | 天堂а√在线地址在线 | 日韩av片在线看 | 风间由美性色一区二区三区四区 | 好看的av网址 | 免费男人和女人牲交视频全黄 | 在线不卡av | 麻豆激情网 | 91福利在线免费观看 | 亚洲精品乱码久久 | 亚洲国产欧美一区二区三区丁香婷 | 人人人草 | 四色永久访问网站 | 97超碰在线播放 | 四川一级毛毛片 | 婷婷亚洲综合五月天小说 | 男人女人黄 色视频一级香蕉 | 天天综合性 | 福利视频二区 | 美女性感毛片 | 最新91在线| 国产精品爽到爆呻吟高潮不挺 | 自拍偷拍第3页 | 亚洲偷怕| 蜜桃av噜噜一区二区三区 | 成人免费一级 | 国产亚洲成av人片在线观看 | 妺妺窝人体色www看人体 | 欧美三级欧美成人高清www | 亚洲福利视频网站 | 91精品久久久久含羞草 | 欧美爱视频 | 久久99精品国产麻豆婷婷 | 色呦呦在线 | 亚洲色图欧美视频 | 国产又粗又猛又大爽老大爷 | 综合久久伊人 | 国产精品1区2区3区 国产精品1区2区3区4区 | 青青草99热| 狠狠躁日日躁夜夜躁2020 | 欧美激情综合五月色丁香 | 精品一区二区三区蜜桃 | 欧美性大战久久久久久久 | 色乱码一区二区三在线看 | 日本十大三级艳星 | 久久婷婷麻豆国产91天堂 | 秋霞无码一区二区 | 欧美大尺度做爰啪啪床戏明星 | 日本免费黄色片 | 免费av网页 | 精品无码国产一区二区三区51安 | 国产精品久久久久久久妇 | 精品国产午夜肉伦伦影院 | 欧美另类交人妖 | 久热最新视频 | 69精品丰满人妻无码视频a片 | 2021中文字幕| 日产欧美一区二区三区不上 | 四虎国产精品永久地址998 | 欧美12--15处交性娇小 | 日韩中文字幕在线一区二区三区 | 亚洲精品无码专区在线在线播放 | 真实乱偷全部视频 | 成人中文字幕在线 | 人人澡超碰碰97碰碰碰 | 伊人55| 国产99久久久国产精品免费看 | 一区二区三区四区蜜桃 | 成人激情免费 | 国产日韩欧美亚洲精品中字 | 一本大道久久 | 欧美大波乳人伦免费视频 | 日本成熟老太 | 国产日产亚洲系列最新 | 欧美成年网站 | 成人免费看片视频 | 亚洲国产精品一区二区第一页 | 在线观看wwww | 最新国产在线 | 91丨九色丨喷水 | 超污视频在线观看 | 国产波霸爆乳一区二区 | 女邻居的大乳中文字幕 | 蜜臀av88| 亚州男人的天堂 | 日本男女啪啪 | 亚洲aaa毛片 | 国产三级一区 | wwwav麻豆| 久久久久久久久久久丰满 | 日本国产视频 | 乱码精品国产成人观看免费 | 成人免费xxxxxxx| 久久婷婷国产综合尤物精品 | 国产成人亚洲欧洲在线 | 国产农村妇女毛片精品 | 国产ts变态重口人妖hd | 国产第99页| 可以直接观看的av | 国产喷潮| 国产精品久久久久久久久大全 | 日本高清免费在线 | 北岛玲日韩一区二区三区 | 亚洲天堂日韩在线 | 免费人妻av无码专区 | 国产成人精品必看 | 影音先锋在线视频 | 成人精品免费网站 | 国产色精品久久人妻 | 国产精品久久毛片av大全日韩 | 亚洲日韩中文字幕一区 | 中文字幕av伊人av无码av | 午夜精品一区二区三区免费视频 | 99re在线播放 | 国产色影院 | 国产三级国产精品国产专区50 | av网站观看| 午夜丰满寂寞少妇精品 | 国产中文字字幕乱码无限 | 最近中文字幕第一页 | 久久久久久欧美精品se一二三四 | 国产又猛又粗 | 91精品国产综合久久久密臀九色 | 97久久天天综合色天天综合色hd | 九九热精品在线视频 | 6080av | 日韩性生活视频 | 橘梨纱连续高潮在线观看 | 日本在线黄色 | 91精品国产综合婷婷香蕉 | 亚洲欧洲美洲精品一区二区三区 | 国产高清免费视频 | 高清国产精品人妻一区二区 | 国产亚洲精品久久久久久无几年桃 | 99久久精品日本一区二区免费 | 自拍偷拍亚洲区 | 欧美色欧美亚洲高清在线视频 | 亚洲天堂二区 | 麻豆国产一区 | 成人欧美在线观看 | 国产精品乱码久久久久久 | 久久综合亚洲色hezyo国产 | 深夜免费福利视频 | 无码粉嫩虎白一线天在线观看 | 日本人乱人乱亲乱色视频观看 | 国产丝袜自拍 | 麻豆网神马久久人鬼片 | 激情女主播 | 亚洲精品色午夜无码专区日韩 | 激情综合亚洲色婷婷五月app | 日日日干干干 | 色接久久| 91区人人爽人人都喜欢人人都有 | 老司机在线精品视频 | 麻豆高清免费国产一区 | 人妻色综合网站 | 无码人妻一区二区三区线 | 中文字幕亚洲日本 | 日本黄色美女 | 国产一区二区三区久久 | 姑娘第5集在线观看免费好剧 | 亚洲视频六区 | 男女又爽又黄激情免费视频大 | 手机在线观看av网站 | 亚洲日韩精品一区二区三区 | 韩国乱码片免费看 | 99热久久这里只精品国产www | 久久综合一区 | 亚洲天堂在线观看视频 | 亚洲精品午夜久久久 | 尹人成人 | 精品一区二区久久 | 亚洲青涩网| 任你躁在线精品免费 | 久久久18| 欧美性大战xxxxx久久久 | 国偷自产av一区二区三区麻豆 | 99久久精品国产一区二区成人 | 杨幂毛片午夜性生毛片 | 精品国产乱码久久久久久久软件 | 亚洲精品久久久久avwww潮水 | 性色在线观看 | 99国内精品久久久久久久夜夜嗨 | 久久久99精品免费观看乱色 | 免费拍拍拍网站 | 中文字幕亚洲高清 | 日本成人性爱 | 亚洲人成综合网站7777香蕉 | 激情一区二区三区 | 午夜视频一区二区三区 | 国产人交视频xxxcom | 色婷婷综合激情综在线播放 | 久久久久久久久淑女av国产精品 | 狠狠操2019 | 97av在线| 黄色av网| 亚洲精品一区二区三区在线 | 丰满人妻熟妇乱又伦精品软件 | 久久精品tv | 成年人网站免费观看 | 自拍欧美亚洲 | 51国产偷自视频区 | 久久国产一级片 | 老局长的粗大高h | 久久精品国产乱子伦 | 精品乱人伦一区二区三区 | 日韩午夜影院 | 国产免费丝袜调教视频 | 337p粉嫩日本欧洲亚洲大胆 | 插我一区二区在线观看 | 免费超爽视频在线观看 | 激情欧美一区 | 午夜亚洲福利在线老司机 | 免费成人小视频 | 国产精品久久久久久久久久妞妞 | 久久久午夜精品福利内容 | 992在线观看 | 久操热久操 | 亚洲精品午夜久久久久久久灵蛇爱 | 日韩99在线 | 中文 | 精品在线一区 | 欧美视频一区二区三区在线观看 | 亚洲中文字幕av无码区 | 日本japanese学生丰满 | 关秀媚三级露全乳视频 | 熟女人妻少妇精品视频 | www视频在线免费观看 | 欧美极品在线播放 | 一本大道道香蕉a又又又 | 国产在视频线在精品视频55 | 欧美日韩不卡合集视频 | 国户精品久久久久久久久久久不卡 | 综合久久影院 | 丰满少妇在线观看资源站 | 国产清纯白嫩初高生在线播放性色 | 天天噜日日噜狠狠噜免费 | 色婷婷久久久亚洲一区二区三区 | 女同三级bd高清在线播放 | 后入内射国产一区二区 | 国产极品视频 | 亚洲在av极品无码天堂手机版 | 91丨九色丨丰满人妖 | 国产又嫩又黄又猛视频在线观看 | 91丝袜国产在线播放 | 国产午夜福利在线播放 | 性猛交xxxx乱大交孕妇2十 | 成人h视频在线观看 | 欧美大片免费在线观看 | 欧美精品videos另类 | 国产网站免费看 | 久久久资源网 | 福利视频在线播放 | 丰满少妇aaaaaa爰片毛片 | 成人nv在线观看 | 1024精品久久久久久久久 | 成人啪啪178| 乌克兰少妇xxxx做受 | 国内女人喷潮完整视频 | 国产999精品久久久久久 | 免费观看h片 | 国内国内在线自偷第68页 | 国产日韩av免费无码一区二区三区 | 偷窥福利视频 | 尤物网站在线播放 | 国产一精品一av一免费爽爽 | 国产精品高潮呻吟久久av免费动漫 | 乱人伦中文字幕成人网站在线 | 午夜激情影院在线观看 | 成人免费看黄网站yyy456 | 久久精品精品 | 精品小视频在线观看 | 久久久www影院人成_免费 | 亚洲精品中文字幕久久久久下载 | jav久久亚洲欧美精品 | 2019中文字幕在线 | 亚洲第一页夜 | 久久精品久久久 | 91视频蝌蚪 | 污污视频在线观看网站 | 国产美女永久免费无遮挡 | 99re在线播放 | 久久午夜夜伦鲁鲁片免费无码 | 美女毛毛片 | 国产精品人成在线播放新网站 | 亚洲精品乱码久久久久久蜜桃不卡 | 波多野结衣中文字幕一区二区三区 | 爽爽淫人| 日韩一区二区三区免费视频 | 波多野结衣一二三四区 | 国产黄色免费网站 | 国产视频在线播放 | 夜夜躁狠狠躁日日躁aab苏桃 | 森林影视官网在线观看 | 欲求不满在线小早川怜子 | 91精品在线播放 | 国产h在线 | 一本色综合亚洲精品蜜桃冫 | 激情的网站 | 国产乱女淫av麻豆国产 | 婷婷在线观看视频 | 久久久综合香蕉尹人综合网 | 日日夜夜天天操 | 自拍偷拍在线播放 | 免费裸体美女网站 | 色橹橹欧美在线观看视频高清 | 91小宝寻花一区二区三区 | 亚洲一区激情 | 中文字幕乱码亚洲无线码小说 | 色综合色天天久久婷婷基地 | www成人免费 | 午夜欧美日韩 | 超高清日韩aⅴ大片美女图片 | 午夜精品久久久久久久91蜜桃 | 亚洲图片在线视频 | 中文字幕资源站 | 深夜av| 北条麻妃一区二区三区av | 欧美丰满熟妇xxxx性ppx人交 | 国产精品无码一区二区在线观一 | 青青草午夜 | 91精彩视频在线观看 | 国产成人无码av片在线观看不卡 | 欧美黄色aaa | 国产精品久久久久一区二区三区 | 伊人三区 | 亚洲天堂av中文字幕 | 亚洲国产女人aaa毛片在线 | 国产精品成人观看视频国产奇米 | 国内精品人妻无码久久久影院导航 | 少妇又色又紧又大爽又刺激 | 少妇29p| 色婷婷久久久swag精品 | 亚洲国产成人精品久久久国产成人 | 一区二区三区乱码在线 | 欧洲 | 亚洲一区二区三区无码久久 | 爆操欧美美女 | 牲高潮99爽久久久久777 | 亚洲黄色在线观看视频 | www.伊人| 欧美激情肉欲高潮视频 | 欧美性大战xxxxx久久久 | 国产婷婷色综合av蜜臀av | 亚洲色图19p | 神宫寺奈绪一区二区三区 | 久久久久久国产精品免费免费 | 中日韩无砖码一线二线 | 天躁狠狠躁 | 丝袜+亚洲+另类+欧美+变态 | v天堂中文在线 | 狠狠躁日日躁夜夜躁老司机 | 曰本极品少妇videossexhd 中文字幕乱码人妻一区二区三区 | 调教丰满的已婚少妇在线观看 | 凹凸日日摸日日碰夜夜爽1 凹凸日日摸天天碰免费视频 | 亚洲精品无码久久 | 四色网址| www婷婷com| 风流少妇按摩来高潮 | 男女啪啪做爰高潮无遮挡 | 精品香蕉一区二区三区 | 国产激情一区二区三区 | 午夜欧美视频 | 男人天堂你懂的 | 亚洲成av人片一区二区密柚 | 免费国产黄色片 | 99精品国产99久久久久久97 | 蜜桃一本色道久久综合亚洲精品冫 | 亚洲午夜久久久久久久久电影网 | 国产精品99爱免费视频 | 亚洲乱论| 国产成人精品亚洲男人的天堂 | 最近中文字幕在线视频 | 俺来俺也去www色在线观看 | 一本无码av中文出轨人妻 | 超碰色偷偷男人的天堂 | 无码人妻品一区二区三区精99 | 一本大道在线一本久道视频 | 日本少妇久久久 | 国产欧美久久一区二区三区 | 午夜影院一区二区 | 精品国产一区二区三区香蕉 | 黄色欧美网站 | 国产1区二区 | 精品少妇一区二区三区日产乱码 | 精品久久久久久久久久久久 | 欧美又粗又深又猛又爽啪啪九色 | 亚洲 欧美 日韩 国产综合 在线 | 欧洲美色妇ⅹxxxxx欧美 | 亚洲中文无码a∨在线观看 在线不卡日本v二区到六区 | 中文字幕色婷婷在线视频 | 精品国精品自拍自在线 | 天天燥日日燥 | 国产丶欧美丶日本不卡视频 | 色婷婷色婷婷 | 日韩欧美视频一区二区三区 | 乱荡少妇xxhd | 19禁大尺度做爰无遮挡小说 | 国产精品一二三区在线观看 | a级毛片,黄,免费观看 m | 亚洲成色777777女色窝 | 日日摸日日碰夜夜爽av | 三级第一页 | 国精产品一品二品国精品69xx | 爽爽精品dvd蜜桃成熟时电影院 | 亚洲精品a| 午夜成人鲁丝片午夜精品 | 久久99精品久久久久久琪琪 | 中文字幕一精品亚洲无线一区 | 国产精品第一页在线观看 | 国产三级av片 | 不卡免费av | 国产毛茸茸毛毛多水水多 | 污视频免费在线观看网站 | 亚洲伊人精品酒店 | 精品国产一区二区三区久久久狼 | 日吊视频| 国产亚洲高清视频 | 国产精品自拍小视频 | 香蕉久久久久 | 337p粉嫩大胆噜噜噜亚瑟影院 | 久久久www成人免费精品 |