《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > DSP的SPI口和串行EEPROM在變頻器中的應用
DSP的SPI口和串行EEPROM在變頻器中的應用
摘要: 變頻器的開發中我們選用TMS320F240芯片做主CPU,TMS320F240系列是美國TI公司于1997年推出的,專為數字電機控制和其它控制應用系統而設計的16位定點數字信號處理器。
Abstract:
Key words :

1 引言

  變頻器的開發中我們選用TMS320F240芯片做主CPU,TMS320F240系列是美國TI公司于1997年推出的,專為數字電機控制和其它控制應用系統而設計的16位定點數字信號處理器。它將數字信號處理的高速運算功能與面向電機的強大控制能力結合在一起,成為中低端變頻器理想的主控芯片。F240片內外設包括雙10位A/D轉換器,帶有鎖相環PLL時鐘模塊,帶中斷的看門狗定時器模塊,串行通信接口SCI及串行外設接口SPI,另外,還集成了一個事件管理模塊EVM。因此,TMS320F240基本能滿足筆者變頻器設計的要求。

  變頻器有幾百甚至上千個參數,這些參數值都要求系統斷電后不能丟失,在設計中我們選用非易失性存儲器EEPROM保存數據。每次上電時,從EEPROM中讀取上次參數的設定值,以保證變頻器運行狀態的連續性,同樣每次斷電時,也要保存變頻器此次運行的參數設定情況,以便開機時讀取。本文闡述了變頻器開發中F240擴展EEPROM(X5168)的設計思路和實現過程。

2 對TMS320F240的串行外設接口(SPI)的說明

  TMS320F240的串行外設接口(SPI)模塊是一個高速同步串行輸入/輸出端口,它允許F240控制器和片外外設或其他控制器進行串行通信,在通信過程中,SPI能夠以任意給定的傳輸速率對具有可編成長度(1-8位)的串行比特流進行收發。該模塊也是一個8位外設,它直接掛在16位的片內外設總線上,因此,外設總線的高8位讀寫訪問對該模塊是沒有意義的。

  SPI模塊的特性如下:

 ?。?) 4個外部引腳。SPISOM I為SPI從輸出/主輸入引腳;SPISIMO為SPI從輸入/主輸出引腳;SPISTE為SPI從發送使能引腳;SPICLK為SPI串行時鐘引腳。

 ?。?) 兩種工作方式,即主模式(Master)和從模式(Slave)。

 ?。?) 數據字長。1-8個數據位。

 ?。?) 可同時接收和發送數據,發送和接收操作可通過中斷或查詢方法來完成。

 ?。?) 波特率,l25種可編程的波特率,下列兩個公式給出了計算SPI的波特率的方法:

  1. 當SPIBRR=3-127時,SPI波特率=系統時鐘頻率/(SPI寄存器的值+1);

  2. 當SPIBRR=0、1、2時,SPI波特率=系統時鐘頻率/4;

 ?。?) 4種時鐘方案,由時鐘極性位(SPICCR寄存器的位6)和時鐘相位位(SPICTL寄存器的位3)進行設置,包括:

  1. 無延時下降沿有效:串行外設接口在SPICLK 信號下降沿發送數據,而在SPICLK 信號上升沿接收數據;

  2. 有延時下降沿有效:串行外設接口在SPICLK 信號下降沿之前的半個周期時發送數據,而在SPICLK 信號下降沿接收數據;

  3. 無延時上升沿有效:串行外設接口在SPICLK 信號上升沿發送數據,而在SPICLK 信號下降沿接收數據;

  4. 有延時上升沿有效:串行外設接口在SPICLK 信號上升沿之前的半個周期時發送數據, 在SPICLK 信號上升沿接收數據。

3 對X5168的說明

  DSP處理速度比較快,且本設計需要保存的數據量大,筆者選擇了XICOR公司的帶16Kb SPI EEPROM 的CPU監視器X5168。器件把四種常用的功能:上電復位、看門狗定時器、電源電壓監控和塊鎖存保護的串行EEPROM 存儲器集成在一個封裝之內,這種組合降低了系統成本,減少了電路板空間,增加了可靠性。

  器件的存儲器部分是帶有XICOR公司的塊鎖存保護的CMOS串行EEPROM 陣列,陣列的內部組織是x8位。具有串行外圍接口(SPI)和軟件協議的特點,允許在簡單的四線總線上工作。利用XICOR專有的直接寫入晶片,提供最小為100,000次擦寫和最少為100 年的數據保存期。

4 DSP與X5168的連接通信

4.1硬件設計

  在變頻器設計中DSP與X5168的硬件連接圖如圖1

圖1 TMS320F240與X5168連接原理圖

  串行外設接口(SPI)有兩種工作模式:主模式和從模式,與X5168 連接時工作于主模式。從圖中可看到,X5168通過四根線來完成與DSP的數據交換,DSP的SPISIMO、SPISOMI、SPICLK、SPISTE引腳分別連接X5168的SI(串行輸入)、SO(串行輸出)、SCK(串行時鐘)、/CS(片選端),此時的F240控制器稱為“主機”,這種情況下,SPI在SPICLK引腳上提供了整個串行通信網絡所需的串行時鐘;數據從SPISIMO引腳輸出;并鎖存從SPISOMI引腳輸入的數據;SPIBRR寄存器決定了整個串行通信網絡中數據發送和接收時的位傳輸率。

  寫入SPIDAT的數據啟動了SPISIMO引腳上的數據發送,先發送最高有效位;同時,接收的數據通過SPISOMI引腳移入SPIDAT的最低有效位。當有一定數量的數據位通過SPIDAT移位時,產生下列事件:

  一、SPI INT FLAG置1

  二、SPIDAT的內容傳送到SPIBUF

  三、如果SPI INT ENA也被置1,則產生中斷請求

  在主模式中,無論寄存器SPIPC1的位5(SPISTE FUNCTION)為何值,SPISTE引腳都將用作通用數字I/O引腳。在本設計中,引腳SPISTE用作從機SPI模塊的片選引腳;在將主機數據傳送到從機器件之前,應將從機器件片選引腳拉低電平,并且在傳送完主機數據之后,重新將該引腳拉為高電平。

4.2軟件設計

4.2.1 TMS320 F240的SPI初始化

  上文介紹了F240的SPI模塊的功能,配置寄存器串行外設接口工作于主模式,波特率設置為2MHz,初始化程序如下:

  void SPIinitial(void)

 ?。?*SPICCR=0xc7; //復位SPI

 ?。猄PICTL=0x06; //主模式,使能TALK,禁止SPI中斷

 ?。猄PISTS=0x00; //清中斷標志

  *SPIBRR=0x04; //波特率設為SPICLK=SYSCLK/4+1=2MHz,SYSCLK=10MHz

  *SPIPC1=0x52; //SPISTE引腳配置成輸出引腳,SPICLK被配置成串行時鐘的輸

  //入或輸出

 ?。猄PIPC2=0x22; //SPISIMO,SPISOMI用作SPI輸入輸出

  *SPICCR=0x47; //上升沿發送,下降沿輸入數據鎖存,無時延,字符長度為8

 ?。?/p>

4.2.2 F240對X5168的讀寫程序

  對EEPROM的讀寫是設計的重點,以下分別介紹:

  一、讀操作

  a).從EEPROM存儲器陣列中讀數據時,/CS 首先被拉低以選擇器件,向器件傳送8位讀READ指令(00000011B),接著是16位地址(高位在前)。在讀操作碼和地址送出后,存儲位于在所選地址的存儲器中的數據在SO線上被移出,繼續提供時鐘脈沖可接著讀出存儲在位于下一個地址的存儲器中的數據。每移出一個字節地址自動增加至下一個更高的地址,在達到最高地址時,地址計數器返回到地址$0000,允許讀周期無限期地繼續。將/CS拉高可終止讀操作。參見讀EEPROM陣列時序圖2。

圖2 讀EEPROM陣列時序圖

  以下是讀X5168子程序,其中RA_ADDR為存儲讀出數據的數組的首地址,EEP_ADDR為要讀取數據在EEPROM陣列中的地址,N為要讀取數據的個數

  void READ_X5168(unsigned int * RA_ADDR, unsigned int EEP_ADDR, unsigned int N)

 ?。?unsigned int I,readspibuf1,readspibuf2;

 ?。猄PIPC1&=0xBF; /*置低SPISTE引腳,從而選通X5168*/

 ?。猄PIDAT=READ; /*發送X5168的寫狀態寄存器命令字*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT=EEP_ADDR>>8; /*發送地址高八位*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT=EEP_ADDR; /*發送地址低八位*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

  for (I=0;I

 ?。?*SPIDAT=0; /*發送偽數據*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI讀/寫結束*/

  readspibuf1=*SPIBUF; /*讀取高位字節*/

  readspibuf1=readspibuf1<<8;

  *SPIDAT=0; /*發送偽數據*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI讀/寫結束*/

  readspibuf2=*SPIBUF; /*讀取低位字節*/

 ?。≧A_ADDR+I)=readspibuf1+readspibuf2;

 ?。?/p>

 ?。猄PIPC1|=0x40; /*置高SPISTE引腳,從而禁止X5168*/

 ?。?/p>

  b).讀狀態寄存器時,首先要拉低/CS 線,以選中器件,接著發送8位的RDSR指令(00000101B),在RDSR操作碼發出以后,狀態寄存器的內容在SO線上被移出。參見讀狀態寄存器時序圖3。

圖3 讀狀態寄存器時序圖

  以下是讀狀態寄存器子程序:

  unsigned int RSDR_X5168(void)

  { unsigned int readspibuftrue;

 ?。猄PIPC1&=0xBF; /*置低SPISTE引腳,從而選通X5168*/

 ?。猄PIDAT=RDSR; /*發送x5168的讀狀態寄存器命令字*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuftrue=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

  *SPIDAT=0; /*發送偽數據*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI讀/寫結束*/

  readspibuftrue=*SPIBUF; /*讀SPIBUF寄存器,讀取狀態寄存器*/

  return readspibuftrue;

 ?。?/p>

  二、寫操作

  a).在試圖向器件寫入數據前必須首先通過發送WREN指令來設置寫使能鎖存WEL(見圖4)。/CS 先被拉低,接著向器件輸入WREN指令(00000110B)。在指令的所有的8位傳送完后,/CS 必須被拉高。如果用戶在發送完WREN指令后,沒有將/CS 拉高而繼續寫操作則該寫操作將被忽略。

圖4 寫使能時序圖

  串行EEPROMX5168寫使能命令子程序如下:

  void WREN_X5168(void) /*寫使能*/

 ?。?*SPIPC1&=0xBF; /*置低SPISTE引腳,從而選通X5168*/

 ?。猄PIDAT=WREN; /*發送X5168的寫使能命令字*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIPC1|=0x40; /*置高SPISTE引腳,從而禁止X5168*/

 ?。?/p>

  b).為了向EEPROM存儲器陣列寫入數據用戶接著發送寫WRITE 指令(00000010B),跟著是16位地址和被寫入的數據。任何不用的地址位都被指令為“0”,寫操作最少要用32個時鐘,/CS 必須為低并在該操作期間一直保持為低。如果地址計數器達到一頁的末端而時鐘還在繼續,時計數器將返回至該頁的首地址,并覆蓋任何之前已寫入的數據。對于將完成的頁面寫操作(字節或頁面寫)而言,在寫入的最后一個數據的位0被同時輸入后,/CS只能被拉高。如果它在其它任何時候被拉高則不能完成寫操作(見圖5)。

圖5 寫EEPROM陣列時序圖

  以下是寫EEPROM陣列子程序,RA_ADDR為存儲要寫數據數組的首地址,EEP_ADDR為要寫入的EEPROM首地址,N要存儲數據的個數。

  void WRITE_X5168(unsigned int * RA_ADDR, unsigned int EEP_ADDR, unsigned int N)

 ?。?unsigned int I;

  WREN_X5168(); /*寫使能*/

  *SPIPC1&=0xBF; /*置低SPISTE引腳,從而選通X5168*/

  *SPIDAT=WRITE; /*發送x5168的寫狀態寄存器命令字*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT=EEP_ADDR>>8; /*先發送高位地址在發送低位地址*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT=EEP_ADDR; /*先發送高位地址在發送低位地址*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

  for (I=0;I

 ?。?*SPIDAT =*(RA_ADDR+I)>>8 ; /*發送數據用數組傳送,傳送數據高八位*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT =*(RA_ADDR+I) ; /*發送數據用數組傳送,傳送數據第八位*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。?/p>

  *SPIPC1|=0x40; /*置高SPISTE引腳,從而禁止X5168*/

  }

  c).為向狀態寄存器寫數據,在WRSR指令(00000001B)之后應跟隨被寫入的數據(見圖6),數據位0和位1必須為“0”。

圖6 寫狀態寄存器時序圖

  以下是寫狀態寄存器子程序:

  void WRSR_X5168(unsigned int COM) /*寫狀態*/

 ?。?WREN_X5168(); /*寫使能*/

 ?。猄PIPC1&=0xBF; /*置低SPISTE引腳,從而選通X5168*/

 ?。猄PIDAT=WRSR; /*發送X5168的寫狀態寄存器命令字*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT=COM; /*STATUS_REG發送狀態字*/

  while((*SPISTS&0x40)!=0x40){} /*等待SPI寫結束*/

  readspibuf=*SPIBUF; /*讀SPISTS寄存器,清除SPI INT FLAG 位*/

 ?。猄PIPC1|=0x40; /*置高SPISTE引腳,從而禁止X5168*/

  TIMEDEL(5); /*延時1us*/

 ?。?/p>

  以上子程序實現了DSP對X5168的讀寫功能,在主程序中調用這些子程序就可實現對X5168的操作。

5 結束語

  由于篇幅的原因,本文沒有過多的講述DSP的串行外設接口和X5168的各項特性,這些說明書上都有敘述且很具體。而是把重點放在了講述DSP擴展EEPROM應用的軟硬件設計,該設計已成功應用在筆者開發的變頻器中,經過反復測試,運行可靠。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美在线视频一区二区| 欧美黄色小视频| 国产精品爽黄69| 亚洲高清久久网| 亚洲午夜激情| 亚洲精品国产拍免费91在线| 欧美美女操人视频| 国产精品护士白丝一区av| 午夜久久电影网| 欧美在线视频在线播放完整版免费观看| 欧美一区日韩一区| 一区二区免费看| 日韩视频免费| 亚洲国产电影| 国产精品日日摸夜夜添夜夜av| 在线精品视频免费观看| 欧美高清视频一区二区| 免费国产一区二区| 欧美午夜国产| 国产一级揄自揄精品视频| 国产欧美亚洲日本| 一区二区三区在线看| 欧美激情第六页| 欧美精品久久99久久在免费线| 这里只有视频精品| 欧美午夜一区二区福利视频| 亚洲国产成人久久综合一区| 亚洲午夜激情网站| 欧美涩涩网站| 欧美国产日韩一区二区| 亚洲国语精品自产拍在线观看| 久久亚洲综合色一区二区三区| 中国日韩欧美久久久久久久久| 国内一区二区三区在线视频| 欧美精品三区| 在线亚洲观看| 国产一区二区三区自拍| 国产日韩欧美不卡在线| 欧美一区二区视频网站| 亚洲欧美日韩高清| 亚洲区在线播放| 久久精品国产综合精品| 国产精品国产三级国产普通话三级| 亚洲日本成人网| 久久久美女艺术照精彩视频福利播放| 日韩一级大片| 亚洲电影免费观看高清完整版在线| 中日韩在线视频| 在线成人av网站| 欧美巨乳在线| 亚洲欧美日本国产专区一区| 久久精品国产一区二区三区免费看| 亚洲激情一区| 精品成人国产| 久久婷婷久久一区二区三区| 欧美韩日视频| 久久久精彩视频| 国产精品手机视频| 国产欧美日韩在线| 国产精品久久久久一区二区| 亚洲一区高清| 国产精品久久久久高潮| 亚洲欧洲一区二区三区久久| 国产精品综合av一区二区国产馆| 久久久久国产精品一区三寸| 国产精品久久久一区二区三区| 一区二区三区精品| 欧美日韩国产首页在线观看| 欧美激情视频给我| 欧美亚洲免费高清在线观看| 99亚洲视频| 欧美日韩久久久久久| 欧美另类69精品久久久久9999| 久久精品一区四区| 国产区在线观看成人精品| 亚洲激情视频| 1204国产成人精品视频| 激情久久五月天| 一本久久综合亚洲鲁鲁五月天| 亚洲视频一二三| 国产精品推荐精品| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲男同1069视频| 欧美国产日韩亚洲一区| 久久久久免费视频| 99精品视频一区二区三区| 国产精品乱人伦一区二区| 国产精品观看| 日韩视频一区二区三区在线播放| 亚洲乱码国产乱码精品精可以看| 久久久欧美一区二区| 亚洲午夜精品久久久久久浪潮| 在线观看欧美日韩国产| 99精品视频免费观看视频| 国产在线观看91精品一区| 久久一区二区三区国产精品| 欧美黑人国产人伦爽爽爽| 欧美日韩精品免费看| 国产精品日本欧美一区二区三区| 欧美精品久久99| 欧美日韩视频在线第一区| 久久久久久亚洲精品不卡4k岛国| 蜜臀a∨国产成人精品| 玖玖玖免费嫩草在线影院一区| 国产精品久久久免费| 亚洲欧美日韩综合aⅴ视频| 国产精品久久久久久久久久直播| 亚洲老板91色精品久久| 亚洲激情偷拍| 国产精品久久久久一区二区三区| 99视频精品在线| 亚洲男人的天堂在线aⅴ视频| 在线观看成人网| 国产一区二区三区免费不卡| 国产性做久久久久久| 欧美日韩精品二区| 亚洲第一二三四五区| 欧美成人亚洲成人| 性欧美暴力猛交69hd| 国产精品天天摸av网| 久久一区精品| 亚洲女性裸体视频| 国产欧美日韩亚洲| 免费亚洲一区二区| 欧美大学生性色视频| 亚洲国产精品va在线观看黑人| 影音先锋久久资源网| 国产欧美日韩一区二区三区在线观看| 99re6热在线精品视频播放速度| 欧美精品一区二区在线观看| 亚洲砖区区免费| 亚洲精品视频一区二区三区| 亚洲免费播放| 国产日韩欧美自拍| 亚洲欧美日韩精品综合在线观看| 一区二区免费在线播放| 日韩小视频在线观看专区| 亚洲天堂网站在线观看视频| 午夜日韩激情| 国产欧美日韩另类视频免费观看| 一本不卡影院| 欧美成人69| 欧美日本在线观看| 免费欧美日韩国产三级电影| 国产精品视频久久一区| 欧美日韩成人激情| 美女国产一区| 在线视频日韩精品| 欧美精品一级| 欧美日韩大片一区二区三区| 久久久午夜视频| 亚洲与欧洲av电影| 欧美一区二区精品| 开心色5月久久精品| 亚洲丰满在线| 久久www成人_看片免费不卡| 亚洲国产日韩欧美一区二区三区| 亚洲一区自拍| 欧美日韩的一区二区| 免费欧美日韩国产三级电影| 香蕉乱码成人久久天堂爱免费| 在线日韩视频| 国产偷国产偷精品高清尤物| 午夜亚洲伦理| 国外成人免费视频| 欧美午夜精品理论片a级按摩| 销魂美女一区二区三区视频在线| 在线观看欧美日韩国产| 欧美成年人网站| 国产在线播放一区二区三区| 欧美日韩a区| 日韩视频精品在线观看| 一区二区三区产品免费精品久久75| avtt综合网| 最新国产の精品合集bt伙计| 亚洲国产视频直播| 午夜在线精品偷拍| 99在线热播精品免费99热| 影音先锋久久精品| 亚洲欧美日韩精品一区二区| 国产精品久久国产愉拍| 欧美成人免费一级人片100| 国产色婷婷国产综合在线理论片a| 欧美日韩国产美| 一区二区三区我不卡| 欧美视频一区二区三区四区| 久久久久88色偷偷免费| 国产视频一区免费看| 国产精品视频在线观看| 久久这里只精品最新地址| 久久精品亚洲精品| 亚洲国产国产亚洲一二三| 欧美精品一区二区三区久久久竹菊| 国产麻豆一精品一av一免费| 欧美成人综合网站| 亚洲第一福利视频| 欧美日韩高清不卡| 久色婷婷小香蕉久久| 狠狠久久婷婷| 欧美精品亚洲二区| 欧美激情中文字幕一区二区| 久久综合狠狠综合久久综青草| 亚洲一区二区三区视频播放| 亚洲精品一区二区三区福利| 亚洲欧美变态国产另类| 亚洲一区二区在线免费观看视频| 国产日韩精品一区二区三区在线| 欧美日韩91| 欧美婷婷久久| 亚洲三级免费电影| 欧美日韩免费一区二区三区| 久久久精品免费视频| 欧美日韩不卡一区| 国产精品免费一区二区三区在线观看| 亚洲国产精品成人va在线观看| 久久一日本道色综合久久| 欧美午夜女人视频在线| 亚洲国产精品久久人人爱蜜臀| 欧美三级特黄| 国产精品午夜国产小视频| 在线亚洲激情| 国产乱子伦一区二区三区国色天香| 欧美精品二区| 一本色道**综合亚洲精品蜜桃冫| 久久久国产一区二区| 国产精品久久久久久久久久尿| 欧美精品色一区二区三区| 亚洲欧美日韩综合一区| 欧美精品久久久久a| 欧美日韩国产小视频| 亚洲一区精品电影| 欧美二区视频| 国产精品影视天天线| 午夜视频在线观看一区二区三区| 揄拍成人国产精品视频| 一本色道88久久加勒比精品| 一区二区三区成人精品| 国内精品视频在线观看| 欧美人妖另类| 久久综合久久美利坚合众国| 美女999久久久精品视频| 国产精品欧美日韩久久| 久久精品一级爱片| 国产精品一二三视频| 亚洲欧洲中文日韩久久av乱码| 激情欧美日韩| 亚洲性夜色噜噜噜7777| 欧美精品在线观看| 欧美久久99| 国产精品视频精品视频| 好吊一区二区三区| 欧美日韩精品福利| 美腿丝袜亚洲色图| 国内免费精品永久在线视频| 99国产一区二区三精品乱码| 国产精品网站一区| 欧美日韩一区二区精品| 欧美精品久久久久久久久老牛影院| 国产欧美高清| 欧美77777| 一本色道久久精品| 欧美日韩国产精品专区| 免费视频最近日韩| 亚洲精品一区在线| 小黄鸭精品aⅴ导航网站入口| 国产色婷婷国产综合在线理论片a| 在线免费一区三区| 最新中文字幕一区二区三区| 国产日韩三区| 久久成人久久爱| 91久久中文| 99在线|亚洲一区二区| 国产亚洲精品资源在线26u| 一区二区三区成人精品| 亚洲激情视频在线播放| 99热这里只有成人精品国产| 亚洲国产欧美另类丝袜| 久久综合伊人77777尤物| 在线观看视频一区二区欧美日韩| 欧美在线视频导航| 亚洲成人资源网| 亚洲欧美一区二区激情| 亚洲一区二区三区在线观看视频| 久久aⅴ乱码一区二区三区| 欧美日韩国产高清视频| 欧美视频不卡| 亚洲第一区中文99精品| 亚洲理论电影网| 午夜国产精品视频免费体验区| 欧美韩国日本一区| 性做久久久久久免费观看欧美| 亚洲精品免费一区二区三区| 亚洲第一页在线| 国产精品久久久久久亚洲调教| 欧美了一区在线观看| 欧美视频日韩视频在线观看| 美日韩精品视频免费看| 午夜精品福利一区二区蜜股av| 欧美综合国产精品久久丁香| 国模私拍一区二区三区| 国产精品爱啪在线线免费观看| 欧美午夜不卡影院在线观看完整版免费| 久久精品中文字幕免费mv| 欧美人交a欧美精品| 欧美日韩亚洲一区二区三区四区| 欧美日韩精品免费看| 午夜视频一区在线观看| 翔田千里一区二区| 国产麻豆精品久久一二三| 亚洲黄色av| 亚洲成人资源| 精品96久久久久久中文字幕无| 欧美午夜精品久久久久久人妖| 国产亚洲精品一区二555| 亚洲直播在线一区| 亚洲高清在线观看| 亚洲另类自拍| 国产欧美精品一区| 国产农村妇女精品一区二区| 欧美无乱码久久久免费午夜一区| 欧美成人网在线| 欧美一区二区三区免费在线看| 在线观看91精品国产入口| 国产精品色网| 国产精品久线观看视频| 一区二区免费看| 久久久水蜜桃av免费网站| 99xxxx成人网|