《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > Modbus通信協議的FPGA實現
Modbus通信協議的FPGA實現
摘要: 目前Modbus協議實現方式多為單片機和PLC,隨著FPGA的廣泛應用,研究Modbus現場總線的FPGA解決方案有很大的實用價值。
Abstract:
Key words :

  現場總線是一種應用于生產現場,在現場設備之間,現場設備與控制裝置之間實現雙向、串行、多節點數字通信的技術。Modbus協議其節點安裝數量非常多,安裝的地區遍及世界各地。

  今天的FPGA可包含內嵌乘法器、專用計算例程和片上RAM等,加上FPGA的并行性,其結果比最快的DSP芯片還要快上500倍乃至更多。隨著FPGA價格不斷下降,甚至最小的器件都足以實現一個集成可選定制I/O功能的軟處理器核??梢?,FPGA對嵌入控制應用越來越具有吸引力。

  目前Modbus協議實現方式多為單片機和PLC,隨著FPGA的廣泛應用,研究Modbus現場總線的FPGA解決方案有很大的實用價值。

  1 Modbus協議簡介

  Modbus串行鏈路系統可以使用不同的物理接口(RS 485,RS 232),最常用的是RS 485兩線制接口。為了提高通信模塊在工業應用中的抗干擾性和穩定性,接口芯片和FPGA核心模塊之間應加入高速光耦進行隔離,總線兩端處放置線路終端電阻,采用屏蔽雙絞線作為通信線等。

  在串行鏈路上,Modbus RTU(Remote Terminal Unit)模式報文中每8個位字節含有兩個4位十六進制字符,這種模式的主要優點是較高的數據密度,在相同的波特率下比ASCII模式有更高的吞吐率。RTU模式每個字節(11位)的格式如圖1所示,支持奇、偶和無校驗,使用無校驗時要求2個停止位。Modbus RTU幀最大為256B,由發送設備將Modbus報文構造為帶有已知起始和結束標記的幀,報文幀由時長至少為3.5個字符時間的空閑間隔區分,整個報文幀必須以連續的字符流發送,如果兩個字符之間的空閑間隔大于1.5個字符時間,則報文幀被認為不完整被接收節點丟棄,如圖1所示。

RTU模式每個字節

  在應用層上,Modbus是一個請求/應答協議,并且提供功能碼規定的服務。有三類Modbus功能碼:公共碼、用戶定義碼和保留碼,大多數情況下只用公共碼,其主要包括比特(線圈)訪問、16 b(寄存器)訪問、文件記錄訪問、診斷和其他信息訪問。

  2 Modbus RTU通信協議接口設計

  2.1 接口功能及模塊劃分

  Modbus RTU接口框圖及輸入、輸出引腳示意圖如圖2所示。

Modbus RTU接口框圖及輸入、輸出引腳示意圖

  在某一確定的主時鐘頻率、通信波特率和奇偶校驗方式下,通過設置CE_Modbus和R_Tn的狀態,可以控制該接口模塊處于接收Modbus協議幀模式、發送Modbus協議幀模式或輸入/輸出寄存器操作模式,如表1所示。

操作模式控制

  典型的波特率和奇偶校驗位設置如表2、表3所示。這兩組控制信號可以從端口引出接到撥碼開關,然后可以通過調節撥碼開關來靈活控制該設備奇偶性與波特率,也可以通過寄存器配置方式控制。

典型的波特率和奇偶校驗位設置

  2.2 接收過程

  (1)系統處于接收Modbus協議幀模式下之后,清零標志位和定時器,然后啟動定時器,如果檢測到有串口輸入數據,則清零定時器,如果沒有檢測到串口輸入數據且定時器第一次計時到3.5個字符時間,置幀起始標志;

  (2)把接收到的第一個字符放入接收緩沖寄存器的0x00地址(協議幀最長為256 B,故接收緩沖大小為256 B,地址為8 b),置已開始接收標志;

  (3)將接收到的正確字符依次放入接收緩沖寄存器中,即地址每次加1,每接收完一個字符之后清零定時器;如果在接收字符時檢查到起始錯誤(起始位沒有持續波特率所對應bit時間的一半),奇偶校驗錯誤,或者幀錯誤(停止位為O),則丟棄該字符,重新同步起始位;

  (4)如果檢測到兩個字符時間間隔大于1.5個字符時間,則重置幀起始標志,把下一個接收到的字符放入接收緩沖寄存器的0x00地址,再繼續步驟(3);

  (5)當檢測到沒有字符輸入且定時器第二次檢測到3.5個字符時間,置協議幀接收完全標志;

  (6)把接收緩沖區接收的數據作CRC校驗,如果校驗不正確,置幀起始標志,轉到步驟(3),繼續等待接收;如果是基于該接口的主Modbus協議設備,一般應設置超時時間,以避免無限等待;如果校驗正確,則Re_finish發出一個脈沖,認為接收了一個在數據鏈路層上正確的Mod-bus協議幀。

  對于幀錯誤(停止位為0)標志FE,奇偶校驗錯誤標志PE,最后一個接收到的數據所在接收緩沖區中的位置Rebuf_end[7..O],對外并不必須,可以留出這些端口備用,所以用虛線表示。

  2.3 輸入/輸出寄存器操作

  接收緩沖數據寄存器和發送緩沖數據寄存器都采用雙口RAM實現,這比寄存器實現要節省很多資源。為了保證對它們的操作是原子的,即為了避免同時對相同地址執行寫操作,故要求當CE_Modbus置低時,外部才可以對輸入輸出寄存器執行寫操作,此時接口內部不會對接收/輸出寄存器執行任何讀寫操作。

  2.4 發送過程

  (1)在發送模式使能之前,應先處于輸入/輸出寄存器模式,通過Trbuf_data[7..0],Trbuf_add[7..0],Trbuf_wren把待發送的不包括兩位CRC校驗的Modbus協議幀從地址0x00依次寫入發送緩沖寄存器中,然后使能Ld_TbNCE信號(一個時鐘周期),同時存入發送緩存寄存器所裝最后一個數據的地址,然后把該接口置于發送Modbus協議幀模式。

  (2)發送模塊先對發送數據緩沖寄存器中的所有數做CRC-16校驗,然后把計算所得結果按低位在前高位在后的順序依次放到用Ld_TbNCE信號鎖存的地址的下兩個地址位置處。

  (3)發送模塊從發送數據緩沖寄存器Ox00開始,依次讀出數據并按所給的波特率發送出去,如果要求奇偶校驗,則發送完數據之后加上計算所得的奇偶校驗位發送出去。

  (4)當發送完最后一個數據即CRC-16的高8位數據之后,Tr_finish發出一個脈沖表示發送完畢。

  3 接口模塊實現

  3.1 波特率發生器

  波特率發生器就是一個分頻器,根據系統時鐘分別發出位時鐘(Tx_clk)和1/16位時鐘(RX_clkl6)。由于系統的時鐘周期可能不同,為了模塊的通用性,該模塊用一個類屬(Generic)語句產生各種分頻系數。為了保證同步設計,產生的位時鐘和1/16位時鐘作為控制信號在主時鐘的驅動下控制其他模塊。

  3.2 接收模塊

  接收模塊組包括同步濾波模塊、接收機模塊、接收控制模塊、接收狀態寄存器模塊、時間標志產生模塊等。

  Modbus網絡中設備是運行在不相關時鐘上的,為了避免亞穩態現象,要求通信信號進入FPGA時通過兩個級聯的寄存器。異步輸入信號必須在足夠的時間內保持數據有效,從而保證被目標時鐘域檢測到,在接收端則認為最少是大于幾個脈沖寬度的信號才是應該被檢測到的信號,于是在接收端加入濾波模塊,具體算法如下:連續3次檢測到為高(或低)電平時,才往接收寄存器寫入高(或低)電平,否則保持原來檢測到的電平,不到3個脈沖寬度的信號被過濾。顯然,同步濾波模塊引入了5個時鐘的延遲,但這樣的延時對于Modbus協議來說可以忽略。

  接收機模塊是一個改進的UART接收模塊,其工作流程如下:

  (1)當檢測到起始位時,繼續讀取其他位并通過移位把它們移人接收移位寄存器RSR中;

  (2)當所有的數據位和停止位都接收完畢后,置RDR寄存器滿標志RDRF位為1;

  (3)檢測停止位和奇偶校驗位,如果發現錯誤置相關錯誤標志位;

  (4)如果所接收數據正確,RSR中數據載入到接收數據寄存器RDR中,清除錯誤標志。

  從Rxd_syn上進入的比特流與本地的位時鐘不是同步的,為了避免可能在錯誤的時間讀取一些位,在每個比特時間采樣16次,在時鐘Rx_-clkl6的每個上升沿采樣,為了保證最大可行度,在理想情況下將在每比特時間中間進行采樣。首先判斷起始位,當檢測Rxd_syn至少連續半個位時鐘為低電平時,即從第一次檢測到低電平之后,再連續9次檢測,如果Rxd_syn為低電平的次數大于等于8次,則認為起始位到來,此時應該在起始位中間后兩個Rx_clkl6處。之后每隔16個Rx_clkl6時鐘周期在14,15,16個上升沿到來時分別采樣,然后對3次采樣結果取至少兩次相等的數據作為所接收到的值,以保證接收數據的準確性。8個數據位采集完畢之后,根據Sel_parity[1..O]信號判斷是否奇偶校驗,如果有校驗需求,則對第9個數據位的數據同樣做3次采樣取兩次相同值作為接收到的奇偶校驗位,同時計算奇偶校驗結果。在停止位(不包括起始位,無校驗時為第9位,有校驗時為第10位)到來時,同樣經過3次采樣,但是只要檢測到1位為高就認為停止位正確,為了減少狀態機數量,可以在停止位到來時比較計算所得奇偶校驗位和接收到的奇偶校驗位從而判定接收數據是否奇偶校驗錯誤。由于接收控制器一定會讀取前一個數據字節并清零RDRF,所以常見的UART里的超限(overrun)錯誤這里并沒有出現。圖3為用RTUsⅡ軟件自帶仿真器仿真結果。

用<a class=Quartus" border="0" height="199" hspace="0" src="http://files.chinaaet.com/images/20100823/6cffc0e2-f204-43f2-80f7-5ad0029d3c79.jpg" width="427" />

  3.3 發送模塊

  發送模塊包括發送控制模塊,發送機模塊,發送狀態寄存器模塊等。

  發送機模塊是基于普通UART發送原理設計,其發送過程如下:

  (1)等待TDRE=‘1’,即等待發送數據寄存器(TDR)為空,隨后TDR中載入一個字節數據,并把TDRE清零。

  (2)根據波特率設置Sel_baud[1..0]對TDR里的數據進行奇偶校驗計算。

  (3)把TDR里的數據放入發送移位寄存器TSR的1~8位,TSR第O位放起始位(‘O’),TSR第9位放入奇偶校驗位或者停止位(‘1’)。

  (4)通過對TSR右移,一位一位地發送出9位數據比特,最后發送停止位(‘1’)。

 

  3.4 CRC模塊

  CRC模塊包括接收CRC控制模塊,發送CRC控制模塊,CRC產生模塊三部分。

發送仿真時序圖

  生成CRC的過程為:

  (1)將一個16位寄存器裝入十六進制FFFF(全1),將之稱作CRC寄存器。

  (2)將報文的第一個8位字節與16位CRC寄存器的低字節異或,結果置于CRC寄存器。

  (3)將CRC寄存器右移1位(向LSB方向),MSB充零,提取并檢測LSB。

  (4)如果LSB為0:重復步驟(3)(另一次移位);如果LSB為1:對CRC寄存器異或多項式值0xA00l(1010000000000001)。

  (5)重復步驟(3)和(4),直到完成8次移位。當做完此操作后,將完成對8位字節的完整操作。

  (6)對報文中的下一個字節重復步驟(2)~(5),繼續此操作直至所有報文被處理完畢。

  (7)CRC寄存器中的最終內容為CRC值。

  這種方式計算CRC值的時間比其他方式計算CRC(比如查表法等)的時間稍微要長,但是它節省了資源,比如查表法計算CRC需要一個數組來存放所有可能的CRC結果值。圖5為對數據串“010300000001”(十六進制)CRC-16運算的仿真時序圖,時鐘周期為50 MHz,由圖可見,整個計算時間在2.5 μs內,估算一個含有240個字符的消息,CRC校驗總時間約為2.5μs×(240/6)=100μs,這樣長的校驗計算時間對于Modbus協議來說是完全可以接受的。

對數據串

  4 基于該接口的MODBUS從站協處理器實現

  協處理器框圖如圖6所示。

協處理器框圖

  從站協處理器控制模塊程序控制過程如下:

  (1)置CE_Modbus為‘1’,把MAX485芯片公式信號輸出置低,即控制RS 485接口芯片處于接收狀態。

  (2)等待一段延遲時間(RS 485接口芯片穩定時間),使能Modbus協議接口模塊即置CE_Modbus為‘1’,并置接收Modbus協議幀模式。

  (3)如果接收到一個完整的幀(消息),則轉到步驟(4),如果沒接收到一個完整的消息,一直處于等待狀態。

  (4)先置CE_Modbus為‘O’,再解釋接收緩沖寄存器里消息,等待消息處理完畢,如果消息不是發往該從站或者為廣播消息,則轉到步驟(2);否則把公式信號輸出置高,轉到步驟(5)。

  (5)等待一段延遲時間,使能Modbus協議接口模塊即置CE_Modbus為‘1’,并置發送Modbus協議幀模式。

  (6)等待發送完成,轉到步驟(1)。

  解釋模塊主要由解釋控制模塊、分析模塊、各功能碼解釋模塊、錯誤功能碼處理模塊組成。分析模塊首先分析接收消息起始兩個字節,即地址碼和功能碼。如果地址為廣播消息地址(地址為0)或者地址碼和本從站地址不相等,則不處理本消息,解釋控制模塊發出解釋完畢并置不響應信號為“1”,頂層控制模塊繼續處于等待接收消息狀態。如果功能碼為非支持功能碼,則選擇錯誤功能代碼處理模塊;如果為某一支持的功能碼,則選擇相應的功能模塊解釋接收消息,按照功能碼要求解碼(例如讀/寫某一指定寄存器或者線圈)。處理完之后把相應的異常碼響應消息或者正常響應消息寫入Modbus協議接口模塊里的發送緩沖寄存器里,完畢之后通過Ld_TbNCE信號把發送緩沖寄存器鎖存消息的末地址(不帶CRC校驗位)Trbuf_add[7..O](保證在Ld_TbNCE有效時它為末地址)存入Modbus協議接口模塊,發出解釋完畢信號,不響應信號置“O”,之后由頂層控制模塊控制接口模塊發送響應消息。對于某些功能碼,比如01碼和02碼,03碼和04碼,由于對它們的解釋差別很小,可以共用一個模塊,達到節省資源的目的。對于特定的系統,完全可以選擇某一些功能碼甚至某一個功能碼,而達到需求,故這里采用這種模塊化方式,可以很容易在不改變其他功能模塊的情況下刪除不需要的功能碼模塊或者增加新需要的功能碼模塊。

  該協處理器與從設備其他部分接口僅僅為雙口RAM,從設備完全被映射為寄存器組的抽象,這比啟用寄存器直接實現要節省邏輯資源。由于這些雙口RAM是完全透明的,用戶可以根據整個Modbus系統需要自定義各個寄存器的實際含義。Modbus主設備可以在任何時候隨機地訪問這些寄存器組。Modbus從設備控制、執行模塊對這些寄存器組的訪問需要尋求一種較好的方式,由于FPGA的高速度及并行機制,一般情況下可以采取輪詢的機制即可滿足工業實時性需求。對于某些特殊情況需要更高優先級的控制方式,也可以采取中斷方式。如圖7所示,可以通過雙口RAM的地址線和寫使能信號線進行中斷檢測和沖突檢測:當從站協處理模塊對某些特定寄存器讀/寫完畢之后,產生一個中斷信號,對某些可能存在從站協處理器模塊和從設備控制執行模塊都要對其進行寫操作的寄存器,如果有寫操作同時發生,則從設備控制執行模塊應該等待從站協處理器寫完再寫,以保證寫操作是原子的。圖8為03碼應答的完整仿真時序。

 

 從設備寄存器訪問抽象

03碼應答的完整仿真時序

  圖9為示波器在通信線路上檢測到的波形,圖9(a)展現了一系列連續幀通信實況;圖9(b)展現某一應答情況,可以看出主機和從機通信電平有差異,但都在RS 485范圍之內;圖9(c)展現了某一幀的具體情況。

示波器在通信線路上檢測到的波形

  5 結語

  該設計基于Altera公司FPGA,首先設計了一個可以通用于Modbus主設備和從設備的Modbus協議接口,然后基于該協議接口設計了一個通用的Modbus從設備協處理器,該接口也可以方便地用于主協議設備中。本設計通過了多款FPGA芯片的綜合驗證,并與WEINVIEW公司觸摸屏MT-506MV和INVT公司CHF1OO-5R5G/7R5P變頻器成功通信。目前該設計已在某工業EPS系統和某沖擊試驗臺中穩定運行半年,可見其有一定應用前景。

此內容為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>
          国产精品99久久不卡二区| 91久久线看在观草草青青| 欧美一区二区三区男人的天堂| 亚洲第一精品夜夜躁人人爽| 欧美精品三区| 午夜视频一区| 国产三级欧美三级| 夜夜爽夜夜爽精品视频| 久久99在线观看| 久久综合网色—综合色88| 欧美福利网址| 亚洲日本成人在线观看| 免费人成精品欧美精品| av成人福利| 欧美国产极速在线| 国产亚洲a∨片在线观看| 欧美/亚洲一区| 亚洲人成网在线播放| 狠狠色丁香婷综合久久| 亚洲国产精品va在线观看黑人| 欧美日本高清| 久久久久久久一区二区| 精品va天堂亚洲国产| 欧美精品一区二区三区高清aⅴ| 在线一区二区三区四区五区| 欧美日韩美女在线观看| 国产精品天美传媒入口| 久久精品国产亚洲一区二区三区| 宅男噜噜噜66一区二区| 亚洲小说春色综合另类电影| 久久中文欧美| 一二三区精品| 亚洲一级在线| 亚洲七七久久综合桃花剧情介绍| 欧美多人爱爱视频网站| 亚洲国产专区| 欧美另类高清视频在线| 欧美亚洲视频一区二区| 国产精品久久久久久福利一牛影视| 免费91麻豆精品国产自产在线观看| 国产精品区一区二区三| 久久九九99视频| 久久综合狠狠综合久久综青草| 亚洲欧美中文另类| 狠狠久久综合婷婷不卡| 99re6热在线精品视频播放速度| 国产精品久久久久永久免费观看| 一区二区三区在线免费播放| 亚洲制服欧美中文字幕中文字幕| 欧美日韩国产色视频| 国产精品资源在线观看| 午夜视频在线观看一区| 91久久亚洲| 9i看片成人免费高清| 欧美日韩一区二区在线视频| 欧美视频一区二区在线观看| 激情视频一区二区三区| 午夜亚洲福利在线老司机| 亚洲国产一区二区三区a毛片| 国产精品一区二区久久精品| 亚洲综合色自拍一区| 狂野欧美激情性xxxx欧美| 免费在线成人| 国产午夜精品久久久久久免费视| 亚洲小视频在线观看| 久久日韩精品| 久久久久久久久久久久久女国产乱| 一区二区亚洲精品国产| 欧美日精品一区视频| 亚洲一区二区免费| 亚洲欧美国产毛片在线| 欧美制服第一页| 国产日本欧美一区二区| 欧美大色视频| 欧美一区视频在线| 宅男噜噜噜66国产日韩在线观看| 欧美黄色网络| 亚洲私人影吧| 久久最新视频| 99热在这里有精品免费| 久久精品国产亚洲精品| 亚洲综合久久久久| 久久久999| 欧美精品在线一区二区三区| 亚洲黄色在线看| 在线精品国产欧美| 欧美人与性动交α欧美精品济南到| 欧美精品二区| 国产精品大全| av成人毛片| 欧美成人日本| 欧美精品1区2区3区| 亚洲国产日韩欧美在线99| 欧美亚洲一区二区在线| 99re66热这里只有精品4| 午夜在线一区二区| 亚洲欧美日韩第一区| 亚洲综合欧美| 最新69国产成人精品视频免费| 亚洲国内高清视频| 一区二区三区在线视频免费观看| 99视频超级精品| 国产精品日本| 国产精品资源在线观看| 狠狠久久综合婷婷不卡| 欧美日韩免费一区二区三区视频| 亚洲精选国产| 久久久久一区二区| 国产精品99久久久久久人| 国产伦理精品不卡| 国产精品伦一区| 亚洲美女av网站| 99天天综合性| 国产日本精品| 亚洲在线1234| 国产精品青草久久久久福利99| 亚洲韩日在线| 欧美日韩一卡| 欧美日韩综合在线免费观看| 国产伦精品免费视频| 亚洲精品久久久久久久久久久| 日韩视频一区二区三区在线播放免费观看| 国产精品久久91| 亚洲精品之草原avav久久| 久久久久久色| 亚洲永久免费视频| 国产欧美精品xxxx另类| 理论片一区二区在线| 亚洲第一在线| 亚洲国产高清自拍| 亚洲人成绝费网站色www| 亚洲精品视频啊美女在线直播| 欧美日本乱大交xxxxx| 久久精品亚洲乱码伦伦中文| 久久久综合精品| 一区二区av| 亚洲高清不卡| 欧美风情在线| 国产自产在线视频一区| 久久久久久久激情视频| 午夜在线观看欧美| 亚洲一区国产精品| 欧美成人激情视频| 日韩视频免费在线| 欧美一级午夜免费电影| 亚洲欧美一区二区原创| 国产欧美日韩综合一区在线观看| 久久亚洲一区| 欧美激情亚洲自拍| 欧美激情综合亚洲一二区| 夜夜嗨av一区二区三区四季av| 国内精品伊人久久久久av一坑| 一区二区三区免费看| 亚洲大片在线| 亚洲免费av观看| 亚洲精品一区二区三区蜜桃久| 亚洲欧美日韩在线播放| 蜜桃久久av一区| 国产日韩欧美在线视频观看| 在线日韩一区二区| 一本大道久久a久久综合婷婷| 久久久噜噜噜| 国产精一区二区三区| 久久久久久久久综合| 亚洲一区在线直播| 亚洲小说区图片区| 久久精品国产久精国产爱| 亚洲视频综合| 蜜臀99久久精品久久久久久软件| 亚洲精一区二区三区| 久久精品一区| 免费欧美网站| 欧美一乱一性一交一视频| 久久久久久综合| 国产香蕉久久精品综合网| 欧美精品v国产精品v日韩精品| 欧美日韩精品一区二区在线播放| 欧美日韩精品欧美日韩精品一| 亚洲无限av看| 欧美日韩在线观看一区二区| 亚洲一区在线视频| 国产欧美日韩伦理| 尤物九九久久国产精品的特点| 国产噜噜噜噜噜久久久久久久久| 久久精视频免费在线久久完整在线看| 你懂的国产精品| 精品91久久久久| 极品尤物一区二区三区| 国产精品va在线播放我和闺蜜| 伊人成年综合电影网| 国产一区二区三区视频在线观看| 欧美成人亚洲成人日韩成人| 久久亚洲不卡| 久久青青草原一区二区| 欧美激情一区二区三区成人| 久久久久国产一区二区三区四区| 老牛国产精品一区的观看方式| 国产精品久久久久久久久搜平片| 欧美午夜精品理论片a级按摩| 国产日韩精品入口| 国产欧美精品一区二区三区介绍| 国产精品久久久久国产精品日日| 亚洲一区二区三区四区中文| 欧美日韩一区二区免费在线观看| 欧美福利在线观看| 亚洲精品综合| 另类尿喷潮videofree| 久久美女艺术照精彩视频福利播放| 久久激情视频免费观看| 久久久在线视频| 欧美主播一区二区三区| 国产精品vip| 亚洲一区在线直播| 国产女人aaa级久久久级| 国产人成精品一区二区三| 一区二区欧美日韩视频| 午夜精品久久久久久久久久久久| 免费在线一区二区| 国产精品劲爆视频| 99精品视频免费在线观看| 亚洲男人第一av网站| 性欧美超级视频| 国产精品视频一| 亚洲黄色一区| 国产日韩三区| 91久久国产综合久久蜜月精品| 国内外成人在线视频| 久久精品视频在线看| 国产精品大片| 欧美国产日韩免费| 影音先锋在线一区| 99re国产精品| 中文亚洲字幕| 国产主播一区二区三区四区| 亚洲精品一区在线观看| 国产亚洲a∨片在线观看| 亚洲一级一区| 欧美区高清在线| 亚洲欧美日韩国产中文| 欧美日韩久久| 欧美精品精品一区| 欧美午夜性色大片在线观看| 国产精品视频福利| 亚洲人成小说网站色在线| 亚洲另类在线视频| 久久久精品免费视频| 9久草视频在线视频精品| 国产精品xnxxcom| 久久国产乱子精品免费女| 亚洲精品黄网在线观看| 欧美福利视频在线观看| 在线视频欧美日韩精品| 国产精品久久久久一区二区三区共| 狠狠色综合网| 亚洲免费播放| 亚洲欧美中文另类| 国产日韩欧美夫妻视频在线观看| 欧美日韩mv| 免费不卡在线视频| 欧美日韩成人综合在线一区二区| 亚洲欧美国产精品桃花| 亚洲欧美日本另类| 欧美一区二区精品在线| 国产在线高清精品| 欧美激情综合网| 欧美亚洲免费高清在线观看| 欧美国产日韩xxxxx| 亚洲午夜视频在线| 欧美日本免费| 日韩写真视频在线观看| 久久亚洲精选| 国产精品毛片a∨一区二区三区| 亚洲国产精品99久久久久久久久| 国产一区三区三区| 国产日韩在线视频| 亚洲国语精品自产拍在线观看| 狠狠爱综合网| 欧美成人一二三| 先锋影音久久| 亚洲丶国产丶欧美一区二区三区| 影音先锋久久久| 亚洲三级影院| 国产精品福利av| 久久精品在线| 在线不卡视频| 亚洲国产精品视频| 亚洲高清久久| 亚洲精选一区二区| 国产一区二区高清| 亚洲精品久久7777| 欧美一激情一区二区三区| 精品成人在线视频| 老司机免费视频一区二区三区| 欧美激情视频在线播放| 亚洲人体1000| 国产综合av| 国产亚洲a∨片在线观看| 影音先锋久久资源网| 欧美在线观看天堂一区二区三区| 欧美激情精品| 国产麻豆9l精品三级站| 99国产精品国产精品毛片| 国产日韩精品电影| 国产精品九色蝌蚪自拍| 午夜一区二区三区在线观看| 99视频精品在线| 国产一区二区主播在线| 亚洲欧美日韩在线不卡| 亚洲黄色成人久久久| 激情文学综合丁香| 欧美精品入口| 久久精品一级爱片| 久久综合国产精品台湾中文娱乐网| 久久久爽爽爽美女图片| 久久久777| 国产精品久久久久久久浪潮网站| 国产精品网站视频| 欧美成人免费网站| 久久综合久久综合九色| 久久激情五月丁香伊人| 久久精品女人的天堂av| 久久精品在线| 国产亚洲一区精品| 国产性做久久久久久| 亚洲综合精品自拍| 亚洲精品自在久久| 欧美主播一区二区三区美女 久久精品人| 午夜欧美大片免费观看|