《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > ARM-Linux平臺下GPS信號的采集與處理研究

ARM-Linux平臺下GPS信號的采集與處理研究

2009-08-11
作者:陳未峰,李 兵

  摘? 要: GPS信息的采集是導(dǎo)航定位系統(tǒng)的重要組成部分。分析了GPS普遍采用的NMEA-0183通信協(xié)議,然后介紹了目標(biāo)平臺及交叉編譯環(huán)境的建立。在此基礎(chǔ)上實現(xiàn)了嵌入式ARM-Linux平臺下GPS的數(shù)據(jù)采集與處理,為導(dǎo)航定位系統(tǒng)或者GIS系統(tǒng)的應(yīng)用奠定了基礎(chǔ)。
??? 關(guān)鍵詞: NMEA-0183協(xié)議;GPS;ARM-Linux;交叉編譯

?

  定位和導(dǎo)航是很多便攜移動設(shè)備以及汽車電子設(shè)備的重要功能之一,所以GPS在上述設(shè)備中得到了廣泛的應(yīng)用。基于ARM-Linux的嵌人式平臺以其開放性、安全性、健壯性和穩(wěn)定性越來越成為各種便攜設(shè)備和車載導(dǎo)航設(shè)備的主要開發(fā)平臺。如何實現(xiàn)GPS模塊和嵌人式ARM-Linux平臺之間的通信成了實現(xiàn)系統(tǒng)定位導(dǎo)航的基礎(chǔ)。
  本文主要研究GPS模塊與ARM-Linux平臺之間采用異步串行傳送方式進行數(shù)據(jù)傳送的問題,利用多線程編程技術(shù)實現(xiàn)GPS信號采集與處理,并介紹了一種WGS坐標(biāo)向地方坐標(biāo)的轉(zhuǎn)換方法。與GPS通信可選的協(xié)議有很多種,目前普遍采用的是NMEA-0183通信協(xié)議。
1 NMEA-0183通信協(xié)議
  NMEA-0183協(xié)議[1]是為了在不同的GPS導(dǎo)航設(shè)備中建立統(tǒng)一的海事無線電技術(shù)委員會(BTCM)標(biāo)準(zhǔn),由美國國家海洋電子協(xié)會NMEA(National Marine Electronics Association)制定的通信協(xié)議,其中規(guī)定了海用和陸用GPS接收設(shè)備輸出的定位位置數(shù)據(jù)、時間、衛(wèi)星狀態(tài)、接收機狀態(tài)等信息。除NMEA-0183協(xié)議之外,還有差分用的RTCMSC-104格式,各個廠商互不兼容的二進制格式等,但以NMEA-0183使用最廣泛。為實現(xiàn)ARM-LINUX平臺與GPS之間的通信,應(yīng)清楚協(xié)議規(guī)定的GPS輸出的數(shù)據(jù)格式和報文。NMEA-0183規(guī)定的格式如下:
??? 波特率:4 800 b/s
??? 數(shù)據(jù)位:8 bit
??? 奇偶校驗:無
??? 開始位:1 bit
??? 停止位:1 bit
??? 報文格式:報文的語句串(十進制ASCII碼)格式全部信息如圖1。

?


  圖1中具體內(nèi)容:$為串頭,表示串開始;GP為交談識別符。XXX為語句名,NMEA規(guī)定的常用語句有以下6種:GGA,衛(wèi)星定位信息;GLL,地理位置-經(jīng)度和緯度;GSA,GNSS DOP偏差信息,說明衛(wèi)星定位的信號的優(yōu)劣情況;GSV,GNSS天空范圍內(nèi)的衛(wèi)星;RMC,最基本的GNSS信息,指能夠達到定位目的的基本信息等語句。ddd為數(shù)據(jù)字段,字母或數(shù)字,“,”為域分隔符;*表示串尾;hh表示$與*之間所有字符代碼的校驗和;為回車控制符;為換行控制符。
??? 在實際的GPS應(yīng)用中,并不會用到NMEA的全部信息,而是根據(jù)具體的需要,從中選取有用的信息,忽略其余的信息內(nèi)容。下面以GPRMC語句為例來介紹。該語句包含時間、日期、方位、速度和磁偏角等信息,基本上可以滿足一般的導(dǎo)航需求。GPRMC語句的結(jié)構(gòu)為:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh
??? 數(shù)據(jù)區(qū)說明如下:
??? (1)UTC時間,hhmmss.sss(時分秒.毫秒)格式;
??? (2)定位狀態(tài),A=有效定位,V=無效定位;
??? (3)緯度ddmm.mmmm (度分)格式(前面的0也將被傳輸);
??? (4)緯度半球N(北半球)或S(南半球);
??? (5)經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸);
??? (6)經(jīng)度半球E(東經(jīng))或W(西經(jīng));
??? (7)地面速率(000.0~999.9節(jié),前面的0也將被傳輸);
??? (8)地面航向(000.0~359.9度,以真北為參考基準(zhǔn),前面的0也將被傳輸);
??? (9)UTC日期,ddmmyy(日月年)格式;
??? (10)磁偏角(000.0~180.0度,前面的0也將被傳輸);
??? (11)磁偏角方向,E(東)或W(西)。
2 目標(biāo)平臺
??? 本文中使用的是以SAMSUNG公司的ARM9系列中的16/32位RISC處理器S3C2410A芯片為核心的目標(biāo)平臺。S3C2410A包含一個16/32位的RISC(ARM920T)CPU內(nèi)核、獨立的16 KB的指令和16 KB數(shù)據(jù)緩存(cache)、用于虛擬內(nèi)存管理的MMU單元、LCD控制器(STN&TFT)、非線性(NAND)Flash、系統(tǒng)管理器(包括片選邏輯控制和SDRAM控制器)及3個通道的異步串口(UART)。目標(biāo)板資源包括S3C2410的微處理器,主頻200 MHz;16 MB的Flash;64 MB的SDRAM;RS-232C UART接口;LCD液晶顯示屏。
??? 在目標(biāo)板上選配的GPS模塊是HIMARK公司的GPS模塊,此模塊是符合民用標(biāo)準(zhǔn)的GPS接收器,信號接收性能好,功耗較小,整體工作比較穩(wěn)定。整體硬件設(shè)計框圖如圖2所示。


3 交叉編譯環(huán)境的建立
??? 基于嵌入式Linux操作系統(tǒng)的應(yīng)用開發(fā)模式通常都是宿主機+目標(biāo)機[2]。目標(biāo)機用于運行操作系統(tǒng)和系統(tǒng)應(yīng)用軟件,而目標(biāo)板所用到的操作系統(tǒng)的內(nèi)核編譯、應(yīng)用程序的開發(fā)和調(diào)試則需要通過宿主機(資源豐富處理能力強的PC)來完成,稱之為交叉編譯。雙方之間一般通過串口、并口或以太網(wǎng)接口建立連接關(guān)系。
??? (1)配置minicom:在宿主機Redhat Linux 9.0的X windows界面下新建終端,在終端命令提示符后輸入minicom-s,回車,然后按照提示設(shè)置波特率115200,8位數(shù)據(jù),1位停止位,無流控,保存退出。
??? (2)TFTP服務(wù)的配置:在終端中運行setup->system service->tftp增加TFTP服務(wù),并去掉ipchains和iptables 兩項,然后在Firewall configuration,選中no firewall,保存退出,執(zhí)行service xinetd restart啟動TFTP服務(wù)。
??? (3)NFS服務(wù)器的配置:在終端中運行setup->system service->NFS,增加NFS服務(wù),然后編輯文件exports,添加與目標(biāo)機共享的目錄,并設(shè)置目標(biāo)機對目錄的訪問權(quán)限,重新啟動NFS服務(wù)。
??? (4)Linux內(nèi)核移植:通過并口,宿主機向目標(biāo)開發(fā)板的Flash燒寫引導(dǎo)程序ppcboot,燒寫完畢后通過TFTP服務(wù)把經(jīng)過裁剪的Linux內(nèi)核鏡像文件以及根文件系統(tǒng)下載到目標(biāo)板的RAM中,然后由ppcboot完成內(nèi)核及根文件系統(tǒng)從內(nèi)存到Flash的燒寫。最后需要在宿主機安裝主編譯器Arm-linux-gcc,用來交叉編譯應(yīng)用程序。
4 GPS信號的采集和處理
??? 為實現(xiàn)ARM-Linux平臺下GPS信號的采集與處理,涉及到Linux下串口編程技術(shù),首先給出Linux串口通信的原理,然后利用多線程編程技術(shù)來完成GPS數(shù)據(jù)采集與NMEA數(shù)據(jù)格式的解析,因解析后得到的GPS定位坐標(biāo)屬于WGS84坐標(biāo),需轉(zhuǎn)換到相應(yīng)的54、80坐標(biāo)或地方坐標(biāo)供用戶標(biāo)圖定位所用,因此介紹了一種坐標(biāo)轉(zhuǎn)換方法。
4.1 GPS數(shù)據(jù)采集與處理
??? 大多數(shù)GPS接收機與各種處理器平臺進行數(shù)據(jù)交換時,都采用異步串行傳送方式,提供一個符合RS-232C電氣標(biāo)準(zhǔn)的數(shù)據(jù)接口。
??? 在Linux操作系統(tǒng)中,所有設(shè)備以設(shè)備文件的形式存儲在目錄/dev/下,串口設(shè)備文件為/dev/ttyS*,在Linux中,若要設(shè)置串口的參數(shù),如改變串口的波特率、字符大小等,可通過POSIX標(biāo)準(zhǔn)終端接口[3],該接口被稱為termios,在系統(tǒng)頭文件中定義。它包括一個數(shù)據(jù)結(jié)構(gòu)和一系列操縱這些數(shù)據(jù)結(jié)構(gòu)的函數(shù)組成。有關(guān)串口的所有參數(shù)配置都保存在接口termios的結(jié)構(gòu)struct termios中,該結(jié)構(gòu)定義如下:
??? struct termios
  ??? {
???   tcflag_t c_iflag; /*輸人模式標(biāo)志*/
???   tcflag_t c_oflag; /*輸出模式標(biāo)志*/
  ??? tcflag_t c_cflag; /*控制模式標(biāo)志*/
  ??? tcflag_t c_lflag; /*本地模式標(biāo)志*/
???   cc_t???? c_cc[NCCS];/*特殊控制字符*/
??? }
??? 其中的c_iflag成員是用來控制輸入處理選項的,它影響到終端驅(qū)動程序?qū)⑤斎氚l(fā)送給程序前是否對其進行處理,及怎樣對其進行處理。c_oflag成員是用來控制輸出數(shù)據(jù)的處理,并決定在發(fā)送輸出數(shù)據(jù)到顯示屏和其他輸出設(shè)備之前,終端驅(qū)動程序是否以及如何來處理它們。c_cflag用于存放各種決定終端設(shè)備硬件特性的控制標(biāo)志,如串口的波特率、奇偶校驗、停止位、數(shù)據(jù)位等。存放在c_lflag 中的本地模式標(biāo)志用來操縱串口如何處理輸入字符,比如是否將輸入字符顯示到顯示屏上,一般可通過此成員來設(shè)置串口為正規(guī)模式或是非正規(guī)模式。c_cc數(shù)組成員用來定義支持的特殊控制字符以及一些timeout參數(shù)。
??? 除了上面的這個包含串口參數(shù)配置的數(shù)據(jù)結(jié)構(gòu)之外,termios中還包含許多控制串口特性的函數(shù)。其中重要的幾個函數(shù)如:tegetattr( )、tesetattr( )、cfsetispeed( )、cfsetospeed( )、tcflush( )。tegetattr( )用來初始化一個termios數(shù)據(jù)結(jié)構(gòu),之后可使用其他的函數(shù)來操縱由tegetattr( )返回的數(shù)據(jù)結(jié)構(gòu)。完成這些操作后,使用tesetattr( )來更新串口的設(shè)置。cfsetispeed( )用來設(shè)置串口的輸入速度。cfsetospeed( )用來設(shè)置串口的輸出速度。tcflush( )用來清除所有隊列在串口的輸入與輸出。
??? 在Linux下采用多線程編程技術(shù)可大大節(jié)省系統(tǒng)的開銷,方便各線程之間通信,提高應(yīng)用程序的響應(yīng),改善程序結(jié)構(gòu),從而可以提高嵌入式系統(tǒng)的性能。本文就是利用Linux下多線程編程來實現(xiàn)GPS數(shù)據(jù)的采集和處理,在GPS模塊的初始化GPS_Initial函數(shù)中創(chuàng)建接收線程GPS_Thread_Port_Svc,在接收線程中調(diào)用GPS信息語句的解析函數(shù)GPS_Parse_Data(buf_GPS,&gps_data),進一步調(diào)用語句字符串解析函數(shù)GPS_Parse_Data_Line(char*str_gprs_data_line,GPS_DATA_TYPE*GPS_DATA)。在GPS語句的處理過程中,需對所讀取的語句進行鑒別區(qū)分,只選取其中要用的信息進行處理而忽略其余的信息,這就要根據(jù)NMEA-0183協(xié)議中規(guī)定的語句格式來進行解析。圖3給出了GPS數(shù)據(jù)處理流程。


??? 下面是程序?qū)崿F(xiàn)的關(guān)鍵函數(shù)部分代碼。
??? /*包含必要的頭文件*/
??? #include
??? #include
??? #include
??? #include
??? #include
??? #include
??? #include
??? int GPS_Initial(int n_tty_no)
??? {
??? int ret_tty=-1;
??? int ret_thread=-1;
??? ret_tty=OpenComPort(n_tty_no,9600,8,“1”,‘N’);/*打開串口,并設(shè)置通信屬性,如波特率,數(shù)據(jù)位,有無奇偶校驗,停止位等*/
??? ret_thread=pthread_create(&pthr_id,NULL,GPS_
??? Thread_Port_Svc,NULL);/*創(chuàng)建接收線程*/
??? …
??? }
??? void*GPS_Thread_Port_Svc(void*pData)
{/*接收線程函數(shù)*/
??? unsigned char buf_GPS[256];
??? int ret_rd_com;
??? while(1) {
  ??bzero(buf_GPS,sizeof(buf_GPS));
??? ret_rd_com=ReadComPort((void*)buf_GPS,
??? sizeof(buf_GPS));/*讀串口,接收數(shù)據(jù)*/
??? GPS_Parse_Data(buf_GPS,&gps_data);
/*調(diào)用解析語句函數(shù),*/
  ?????? …}
??? 在GPS_Parse_Data(buf_GPS,&gps_data)函數(shù)中每接收一個GPS語句,調(diào)用一次字符串解析函數(shù)。
??? GPS_Parse_Data_Line(char*str_gprs_data_line,GPS_DATA_TYPE*GPS_DATA){
??? char*temptr;
??? temptr=str_gprs_data_line;
?/*字符串賦給臨時指針,然后對其解析*/
??? if(strncmp(temptr,RMC_DATA_L,strlen(RMC_DATA_L))==0) {/*解析RMC語句串*/
 ??startchar(temptr,',');
??? temptr=temptr+strlen(temptr)+12;
/*$GPRMC,HHMMSS.SSS*/
??? GPS_DATA->Time.Flag=temptr[0];
??? temptr=temptr+27;
/*A,DDMM.MMMM,N,DDDMM.MMMM,E*/
  ?? …}
??? 以上只是GPS信息處理的部分代碼。經(jīng)過交叉編譯調(diào)試下載至目標(biāo)平臺上,運行后可得到本地地理位置信息。實驗所得數(shù)據(jù)為:時間10:28:35;緯度:北緯30°46’;經(jīng)度:東經(jīng)103°57’。用戶也可以根據(jù)需要選擇提取GPS的其他語句,只需編寫解析相應(yīng)語句字符串的代碼即可。
4.2 GPS坐標(biāo)的轉(zhuǎn)換
??? 上述所得的結(jié)果屬于WGS84坐標(biāo),而在工程上實用的大多是國家坐標(biāo)系,因此GPS數(shù)據(jù)采集結(jié)果的使用就存在與國家坐標(biāo)系間的坐標(biāo)轉(zhuǎn)換問題。一般要通過兩步轉(zhuǎn)換:首先將上述實測經(jīng)緯度坐標(biāo)即WGS84大地坐標(biāo)(L,B)轉(zhuǎn)換為對應(yīng)于WGS84橢球的高斯平面坐標(biāo)(X84,Y84),然后再經(jīng)過平面坐標(biāo)轉(zhuǎn)換,將高斯平面坐標(biāo)(X84,Y84)強制附合到本地高斯平面坐標(biāo)系統(tǒng)[4]。
??? (1)高斯投影換算
??? 將GPS采集所得出的大地坐標(biāo)(L,B)轉(zhuǎn)換為高斯平面坐標(biāo)(X84,Y84)。有關(guān)的推導(dǎo)過程較復(fù)雜,本文只給出結(jié)果:
  

  

  由上述原理利用EXCEL就可以算出對應(yīng)的高斯平面坐標(biāo)。
??? (2)平面坐標(biāo)轉(zhuǎn)換
??? 平面坐標(biāo)轉(zhuǎn)換的目的就是將高斯投影換算得出平面坐標(biāo)(X84,Y84)轉(zhuǎn)換為當(dāng)?shù)貒易鴺?biāo)系的平面坐標(biāo)。下面介紹一種平均轉(zhuǎn)軸相似轉(zhuǎn)換法,以轉(zhuǎn)換為北京54坐標(biāo)系下的平面坐標(biāo)(X54,Y54)為例,說明該方法實現(xiàn)過程。
??? 首先,根據(jù)公共點分別在WGS84和北京54系中的高斯平面坐標(biāo),求出該點在兩個坐標(biāo)系中同一邊的方位角之差?駐?琢和長度比例系數(shù)?資,然后按下式計算任一點在北京54系中的平面坐標(biāo)。
  
??? 將得到的X54,Y54坐標(biāo)可應(yīng)用于GIS系統(tǒng)標(biāo)圖,實現(xiàn)導(dǎo)航定位。
??? GPS信息的獲取是設(shè)計導(dǎo)航定位系統(tǒng)的首要環(huán)節(jié),本文有針對性的研究了ARM-Linux平臺與GPS接收模塊之間的串行通信。基于NMEA-0183通信協(xié)議,在Linux下通過多線程編程實現(xiàn)了GPS基本定位信息的采集與處理,所得數(shù)據(jù)滿足精度要求,為導(dǎo)航定位系統(tǒng)或GIS系統(tǒng)提供了數(shù)據(jù)基礎(chǔ)。


參考文獻
[1] 陳石磊.FPGA與GPS-OEM板的串行通訊系統(tǒng)設(shè)計[J]. 電子元器件應(yīng)用,2008,10(5):12-13.
[2] 藍炳偉,王濤.構(gòu)建嵌入式Linux應(yīng)用開發(fā)環(huán)境[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2008(2):57-58.
[3] 馬文輝,李蘭友.Linux環(huán)境下的串口通信[J].儀器儀表用戶,2005(12):32-34.
[4] 楊貴軍,武文波.PDA環(huán)境下GPS信號的接收和處理方法[J].單片機與嵌入式系統(tǒng)應(yīng)用,2005(9):25-26.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区黄| 一区二区三区高清不卡| 99精品热6080yy久久| 在线观看91久久久久久| 国产视频在线观看一区| 国产精品女人久久久久久| 欧美日韩一区免费| 欧美精品久久久久a| 欧美成人免费全部| 美国十次了思思久久精品导航| 欧美在线资源| 久久riav二区三区| 久久精品成人一区二区三区 | 久久久亚洲欧洲日产国码αv| 欧美一区二区三区视频免费| 亚洲欧美日韩成人| 午夜精品视频在线观看一区二区| 亚洲欧美久久| 午夜精彩国产免费不卡不顿大片| 亚洲制服少妇| 午夜一级在线看亚洲| 欧美亚洲一区三区| 久久国产精品99国产| 久久精品国产久精国产一老狼| 欧美在线观看视频在线| 久久久精品一品道一区| 久久亚洲春色中文字幕| 蜜臀av性久久久久蜜臀aⅴ四虎 | 性久久久久久久久| 午夜一区不卡| 久久久久久久久伊人| 久久一区亚洲| 欧美v日韩v国产v| 欧美日本簧片| 国产精品九九久久久久久久| 国产精品午夜电影| 国产一区二区三区直播精品电影 | 极品日韩av| 亚洲国产欧美日韩精品| 日韩视频免费| 午夜精品久久久久久久蜜桃app| 欧美一级夜夜爽| 亚洲欧洲精品一区二区三区不卡 | 亚洲精品永久免费| 一区二区高清视频在线观看| 亚洲欧美日韩国产综合| 久久成人亚洲| 欧美激情精品久久久久久大尺度| 欧美视频日韩视频| 国产日本欧美一区二区三区在线| 禁久久精品乱码| 夜色激情一区二区| 午夜精品视频网站| 亚洲精品久久久一区二区三区| 亚洲天堂男人| 久久精品亚洲精品国产欧美kt∨| 欧美电影免费观看高清完整版| 欧美日韩中国免费专区在线看| 国产精品一二三视频| 国外成人网址| 日韩午夜精品| 久久av红桃一区二区小说| 日韩一区二区精品视频| 欧美一级视频精品观看| 欧美mv日韩mv亚洲| 国产精品免费看片| 亚洲国产精品第一区二区三区| 亚洲视频碰碰| 亚洲人永久免费| 亚洲欧美资源在线| 欧美高清在线一区| 国产午夜一区二区三区| 亚洲精品乱码久久久久| 欧美一级日韩一级| 亚洲视频碰碰| 久久亚洲一区二区三区四区| 欧美新色视频| 亚洲黄色精品| 久久xxxx精品视频| 亚洲小说春色综合另类电影| 久久精品视频在线看| 欧美日韩亚洲综合一区| 揄拍成人国产精品视频| 亚洲综合色丁香婷婷六月图片| 亚洲精品美女在线观看播放| 欧美一区二区在线播放| 国产精品v亚洲精品v日韩精品| 亚洲福利在线看| 欧美在线视频全部完| 亚洲欧美清纯在线制服| 欧美精品在线一区二区三区| 国产综合色产| 亚洲午夜免费视频| 欧美中日韩免费视频| 亚洲一区二区四区| 免费中文日韩| 国内精品久久久久久久影视蜜臀| 一区二区高清| 一本色道久久综合亚洲二区三区| 免费在线看一区| 国产在线国偷精品产拍免费yy| 亚洲午夜在线观看| 一本色道久久综合亚洲精品婷婷 | 午夜亚洲性色福利视频| 亚洲一级黄色av| 欧美激情一区二区三区高清视频 | 一区二区激情小说| 99re6这里只有精品| 欧美高清在线观看| 亚洲国产精品免费| 亚洲精品影视| 欧美二区不卡| 亚洲人成欧美中文字幕| 亚洲伦理在线免费看| 欧美激情视频网站| 亚洲日本免费电影| 日韩视频第一页| 欧美剧在线观看| 亚洲精品一区二区三| 日韩午夜av电影| 欧美精品三级| 99re66热这里只有精品4| 夜夜精品视频一区二区| 欧美日韩国产一区二区三区| 亚洲精品久久| 亚洲视频一二区| 国产精品国产三级国产专播精品人 | 日韩午夜精品| 亚洲一区二区视频在线| 国产精品福利在线观看| 亚洲深夜激情| 午夜免费在线观看精品视频| 国产精品欧美在线| 亚洲欧美色婷婷| 久久亚洲捆绑美女| 亚洲福利国产| 99re6这里只有精品| 欧美午夜精品一区| 亚洲一级黄色片| 久久国产精品久久精品国产| 国产真实精品久久二三区| 久久精品国产综合| 欧美成人黄色小视频| 亚洲区第一页| 午夜精品视频在线观看| 国产婷婷一区二区| 亚洲黄色三级| 欧美日产在线观看| 中文av一区特黄| 久久高清福利视频| 在线观看日韩www视频免费| 日韩手机在线导航| 国产精品红桃| 欧美在线观看一区| 欧美成人嫩草网站| 一二三区精品福利视频| 香蕉尹人综合在线观看| 韩日精品在线| 99国产精品99久久久久久| 国产精品蜜臀在线观看| 亚洲成在人线av| 欧美日韩国产区一| 亚洲直播在线一区| 理论片一区二区在线| 亚洲乱码国产乱码精品精天堂 | 一本不卡影院| 国产欧美一区二区三区国产幕精品 | 欧美 日韩 国产精品免费观看| 亚洲精品一区久久久久久| 午夜精品亚洲一区二区三区嫩草| 好吊色欧美一区二区三区视频| 99在线精品视频在线观看| 国产麻豆日韩| 亚洲美女视频网| 国产日韩一区二区| 亚洲九九爱视频| 国产精品久久久久久一区二区三区| 欧美专区福利在线| 欧美日韩一区综合| 亚洲成色999久久网站| 欧美视频中文字幕| 亚洲高清影视| 欧美性猛交xxxx乱大交退制版| 欧美一区二区视频在线观看2020| 欧美护士18xxxxhd| 欧美一级二区| 欧美日韩国产高清| 久久精品人人爽| 国产精品地址| 亚洲精品影视在线观看| 国产欧美日韩中文字幕在线| 亚洲麻豆国产自偷在线| 国模精品一区二区三区| 亚洲午夜在线观看视频在线| 狠狠操狠狠色综合网| 在线亚洲+欧美+日本专区| 好看不卡的中文字幕| 午夜精品亚洲| 亚洲精品黄色| 欧美ab在线视频|