999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

變形鏡驅動器控制電路的設計

2017-11-18 19:45:29李正東周志強袁學文劉章文
現代電子技術 2017年22期

李正東 周志強 袁學文 劉章文

摘 要: 96通道變形鏡驅動器內含6個驅動模塊,每個驅動模塊含有16個輸出通道,為了更加有效地管理控制這6個驅動模塊,并實現與上位機、圖像處理模塊的交互通信,設計了變形鏡驅動器控制電路。該電路包含了硬件設計和軟件設計,其中硬件設計包含了電源設計、接口設計和FPGA設計,旨在實現高速向CPCI總線傳輸來自SPI接口的驅動矢量數據,同時把這些數據以適當的速度發給上位機。軟件設計包括FPGA程序和NIOS系統程序設計,其中NIOS程序旨在實現上位機對上位機指令或數據的接收、處理和發送,以及對系統參數的配置以及驅動模塊參數的保存等。結果表明,該電路不僅能夠以200 f/s的速率正確接收并發送來自圖像處理模塊的驅動矢量數據,還能夠正確收發來自上位機網口或者串口的控制指令,實現單通道與驅動矢量的切換、驅動矢量數據源的切換、單通道電壓設置、放大器參數調試和保存以及通道數據讀取、回傳等功能,達到了預定的設計目標。

關鍵詞: 變形鏡; 控制電路; 硬件設計; 軟件設計; FPGA; NIOS系統

中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2017)22?0125?06

Abstract: The 96?channel deformable mirror driver includes 6 driver modules, and each module has 16 output channels. In order to manage the 6 driver modules more efficiently, and realize the interactive communication with the upper computer and image processing module, a control circuit of the deformable mirror driver was designed. The hardware design and software design of the circuit are introduced. The hardware design contains the power supply design, interface design and FPGA design, which can transmit the driving vector data from SPI to CPCI bus in high speed, and send the data to the upper computer with proper speed. The software design includes the FPGA program design and NIOS system program design. The NIOS program is used to receive, process and send the instructions or data of the upper computer, configure the system parameters, and save the parameters of the driving module. The experimental results show that the circuit can accurately receive and send the driving vector data from the image processing module with the speed of 200 f/s, correctly transmit and receive the control instructions from the network interface or serial port of the upper computer, and realize the switchover between the single channel and driving vector, switchover between the driving vector data, voltage set of single channel, amplifier parameter debugging and saving, read and postback of the channel data. It achieves the scheduled design target.

Keywords: deformable mirror; control circuit; hardware design; software design; FPGA; NIOS system

0 引 言

主動光學系統的目的就是改善光束質量,其涉及到的關鍵器件是變形鏡。變形鏡是由一定數量的壓電陶瓷單元組成的面陣系統,通過合理的改變加在壓電陶瓷單元上的電壓,從而改變壓電陶瓷單元的形變,最終達到改善光束裝量的目的。變形鏡驅動器[1]就是負責將一組對應電壓的矢量數據施加到變形鏡上,其中的每一路電壓負責變形鏡一個陶瓷單元的驅動。但由于陶瓷單元的驅動電壓值較高,故陶瓷單元的末級電壓放大器都是高電壓模擬放大器。再考慮到放大電路的散熱要求,故每塊驅動模塊設計成僅僅輸出16通道驅動電壓的電路板。這樣96通道的變形鏡驅動器就需要6塊驅動板,這些驅動板卡通過CPCI物理總線集成在一個機箱內,并在機箱內設計一塊控制模塊,用來為了更加有效的控制、管理這6塊驅動板卡,并實現與上位機、圖像處理板卡的交互通信,以及每通道放大器參數的調試和加載。

1 變形鏡驅動器的原理設計endprint

變形鏡驅動器主要由控制模塊、圖像處理模塊、驅動模塊、總線電路和電源模塊組成[2?3],其拓撲結構如圖1所示。它的基本框架采用CPCI總線結構,其內含1塊控制模塊、1塊圖像處理模塊以及6塊驅動模塊,其中每個驅動模塊有16個輸出通道,每個通道可以用于驅動變形鏡的一個陶瓷單元。所以,整個驅動器可以驅動最多96單元的變形鏡。所有這些模塊均掛在CPCI總線上,其中控制模塊有兩種工作模式,當其工作在調試模式時,通過以太網與上位機相連,接收并處理上位機指令后,通過CPCI總線向驅動模塊發出控制指令,從而實現驅動模塊驅動電壓的輸出或者驅動模塊參數的調試和設置;當其工作在運行模式時,控制模塊通過CPCI總線,直接接收來自圖像處理模塊的驅動矢量數據,經過整形處理后,再通過CPCI總線,發送到各驅動模塊,從而實現驅動模塊驅動電壓的輸出,從而實現對96通道變形鏡的驅動。

具體來說,其中的總線電路板相當于整個變形鏡驅動器的主板,其提供了整個變形鏡驅動器基本的CPCI總線,電源模塊正是通過CPCI總線為變形鏡驅動器的控制模塊、圖像處理模塊和6塊驅動模塊供電,控制模塊、圖像處理模塊和6塊驅動模塊之間的控制信號、數據信號以及反饋信號也是通過該CPCI總線實現互聯;其中的電源模塊采用了一款成熟的商業化電源模塊來實現,其有四組輸出端子,分別輸出150 V,-50 V,15 V,

-15 V四種電壓,它們通過CPCI總線給控制模塊、圖像處理模塊和6塊驅動模塊供電,其中150 V和-50 V為6塊驅動模塊內部的末級高壓放大器提供正、負電源,15 V電源通過CPCI總線為控制模塊、圖像處理模塊和6塊驅動模塊提供工作電源,-15 V結合15 V為驅動模塊內含的前級放大器提供負、正電源;其中的圖像處理模塊對圖像數據處理完成后,得出一組驅動變形鏡所需的電壓驅動矢量數據,并通過CPCI總線發送到控制模塊,再經過控制模塊的處理,發送到驅動模塊,最終通過驅動模塊的輸出電壓控制變形鏡的形變,實現光束質量的控制。

2 變形鏡驅動器控制模塊的硬件設計

變形鏡驅動器控制模塊硬件框架如圖2所示。基本上基于CPCI總線結構,其設計主要包括三個部分,分別為電源部分、接口部分和FPGA部分,其中電源部分將來自CPCI總線的15 V電源,經過不同的電壓轉換芯片給整個驅動模塊的供電。來自CPCI總線的15 V電源首先經過過壓保護電路和由電容組成的濾波電路,再經過兩片LMZ14201電壓轉換芯片,分別輸出5.0 V 和3.3 V的電壓,其中5.0V電壓作為控制模塊中RS 485串口芯片的工作電壓,3.3 V電壓作為控制模塊中FPGA的I/O電壓和控制模塊其他接口芯片的工作電壓。同時,3.3 V電壓再經過NCP5661?1.2芯片輸出1.2 V的電壓用來作為FPGA的內核電壓。圖3給出了3.3 V電壓的設計原理圖。

接口部分的設計分為兩個部分:CPCI接口設計;面板接口設計。其中CPCI接口設計包含有DSP圖像處理模塊接口設計、RS 485總線設計、并行總線設計和網絡接口設計,其中圖像處理模塊接口主要用來通過CPCI總線接收來自于圖像處理模塊輸出的驅動矢量數據。該矢量數據利用SPI協議傳輸,SPI的時鐘、數據和幀同步3根信號經過SN54HC244芯片的驅動,送入到FPGA。同時,FPGA發往圖像處理模塊的反饋信號也經過SN54HC244芯片的驅動,發往CPCI總線;RS 485總線主要用來實現控制模塊和其他6塊驅動模塊在調試工作模式下的信息交互,尤其在逐個對放大器參數進行標定時,上位機的通道切換指令、通道電壓設置指令等均是通過本總線發往各驅動模塊,各驅動模塊的反饋信號也是通過本總線經控制模塊傳回上位機。此功能由SP485EL芯片來實現。控制模塊的FPGA為RS 485總線的主設備,6塊驅動模塊為RS 485總線的從設備。其中SP485EL_B和SP485EL_A為一對差分信號,連接至CPCI總線上,其他信號連接到FPGA。并行總線主要用來實現控制模塊在運行工作模式下,采用全硬件方式,將來自圖像處理模塊或者來自上位機的驅動矢量數據高速地通過CPCI總線,再發往各驅動模塊。此功能主要由DS91M040芯片來實現。電路設計上,通RS 485總線設計一致,即DS91M040的單端信號為信號輸入端,包括數據信號和控制信號,均接入到FPGA。其4對差分信號為輸出端,均接到CPCI總線上。這樣有利于提高總線數據傳輸的速度和可靠性,當然,具體的數據傳輸協議由用戶制定。圖3僅給出總線電路的設計。

網絡接口設計主要用來實現控制模塊在調試工作模式下,接收上位機指令,并將指令進行解析處理,然后發往各驅動模塊,或者將各驅動模塊的狀態數據收集打包并通過網口返回給上位機等功能,此功能由DP83848芯片來實現,具體的實現電路如圖4所示。面板接口設計則相對比較簡單,它主要用于顯示控制模塊的工作狀態,包含控制模塊的3.3 V電源狀態顯示、通信狀態顯示、故障顯示以及蜂鳴器報警設計。另外,面板上還備用了RS 422串口,在網絡不方便的時候,可利用串口進行網絡調試。RS 422功能利用ADM2582EBRW2芯片來實現,芯片的單端信號接入FPGA,差分信號輸出到面板的DB15接頭,在此不再贅述。

FPGA是整個控制模塊的核心部件,實現對控制模塊所有指令和數據的控制和交互。FPGA部分的設計主要包含FPGA電源設計、時鐘設計、JTAG口設計、配置芯片設計和存儲器設計。其中存儲器包含1片SDRAM芯片和1片EPCS16;而這里的EPCS16作為EPROM不同于FPGA的配置芯片,它主要存儲控制模塊的所有配置參數,上電后,NIOS系統先要從該EPROM中讀取參數,并利用這些參數進行系統的初始化,這些工作完成后,矢量數據通道都切換正常后,系統才進入工作模式。網絡接口原理圖如圖5所示。

3 變形鏡驅動器控制模塊的軟件設計endprint

變形鏡驅動器控制模塊的軟件設計包含兩個部分:FPGA的設計;NIOS程序設計。FPGA程序的主要目的是當變形鏡驅動器工作在運行模式時,使用硬件完成來自圖像處理模塊或者經NIOS來自上位機的驅動矢量數據的處理后,以較高的速度向CPCI總線發送,驅動模塊從CPCI總線接收驅動矢量數據,實現對變形鏡的驅動;NIOS程序的主要目的是當變形鏡驅動器工作在調試模式時,接收并解析上位機命令,并將相應的指令或數據通過CPCI總線上發送到驅動模塊中去,實現對驅動模塊每個通道放大器參數的標定,并給各驅動模塊發送命令,把這些參數存儲各驅動模塊的EPROM中,供驅動模塊上電時調用裝載,同時NIOS程序,還根據上位機指令,收集驅動模塊的狀態信息并上傳給上位機。下面分別介紹FPGA和NIOS程序的設計。

3.1 FPGA的程序設計

控制模塊對驅動矢量數據的接收有兩個途徑,一個途徑是通過CPCI總線接收來自圖像處理模塊發出的驅動矢量數據;另一個途徑是通過NIOS接收來自上位機的驅動矢量數據。當接收到驅動矢量數據后,FPGA利用硬件把驅動矢量數據通過CPCI總線發往掛在CPCI總線的驅動模塊中,FPGA程序的邏輯框圖如圖6所示。

圖6中圖像處理模塊有DSPA和DSPB兩路輸出,其中DSPB的輸出作為系統備份之用,兩路輸出數據格式、傳輸協議均相同,故這里僅對DSPA輸出的數據做出說明,圖像處理模塊輸出的每幀驅動矢量數據含有106個數據,每個數據含有16 b數據,16 b的數據采用SPI協議傳輸,幀數據協議如圖7所示。

幀協議中,幀頭包括4個FFFF和1個FFFE,長度項表示每幀中所含的16 b字的數目,具體為0x0065(不包含幀頭),長度反碼為0xFF9A,命令字為0x0840,表示本幀數據為驅動矢量數據。幀計數主要是為了檢測是否存在丟幀現象而設置的。相鄰幀計數之差為1,則說明不存在丟幀現象。幀計數之后是96個驅動電壓的數值,每個驅動電壓對應驅動器的一個輸出通道。最后是一個16 b的校驗碼,校驗碼是從幀長度開始計算,按字節相加的方式進行計算,直至最后一個電壓數據,其中超出16 b的高位數據做舍棄處理。

SPI數據存儲控制模塊主要用來實現對來自CPCI總線的SPI數據的接受和存儲。為了兼顧上位機對SPI驅動矢量數據的監控,SPI數據存儲控制后端設置了兩個存儲器DPRAM1和DPRAM2。其中DPRAM2是為上位機監視查詢而設置的,其存儲容量為128個16 b的字,足可以存儲驅動矢量數據中的96個驅動電壓值。由于這僅僅為是為了滿足監視要求,故只當上位機設置成讀完成標志后,才容許SPI數據存儲控制模塊向DPRAM2寫入新的驅動矢量數據;并在寫入完成后,向NIOS系統發送中斷;NIOS再利用SPI數據上傳讀控制模塊進行驅動矢量數據的讀取,再通過NIOS的網絡內核,上傳給上位機。而DPRAM1是SPI數據存儲控制模塊發往CPCI總線上的驅動矢量存儲器,為了提高系統工作頻率,SPI存儲器容量設置為256個16 b的字,分為A,B兩個半區,分別為128個字,讀/寫操作均采用乒乓操作,由此提高了系統的帶寬。當系統開始工作時,SPI數據存儲控制向A區寫入數據,當A區數據寫操作完成時,SPI數據存儲控制模塊通知SPI數據發送讀控制模塊A區寫入完成,同時準備將下一幀的驅動矢量數據寫入B區,SPI數據發送讀控制模塊收到SPI數據存儲控制模塊的A區寫完成信號后,從A區讀取驅動矢量數據,并按照總線協議把這些數據發送到CPCI總線。反之亦然,不再贅述,SPI數據存儲控制流程圖如圖8所示。

SPI數據發送讀模塊的功能是將驅動矢量數據發送到CPCI總線上,采用4對差分信號實現輸出的傳輸。其中一對差分信號作為時鐘信號;另外三對差分信號作為數據線,以字節方式從DPRAM1中讀出數據,在字節數的最高位前再填一個0,組成9 b數據,依據高位先傳,低位后傳的原則實現傳輸,這樣一個字節的數據需要3個周期完成傳輸。當SPI數據發送讀模塊檢測到幀數據有效時時,首先在6個時鐘周期傳輸2組幀頭,即“111_111_111”和“111_010_101”,然后從DPRAM1的有效地址開始以字節方式讀出數據,組成9 b數據開始傳輸,直至1幀的96個字傳輸完成,由此完成1幀驅動矢量數據的發送。圖6中的上位機矢量數據發送讀模塊采用和SPI數據發送讀模塊完全相同的協議,二者的主要區別是驅動矢量數據來源不同,在此不做另外的說明。SPI數據發送讀模塊的FPGA框圖如圖9所示。

3.2 NIOS的設計

NIOS的設計包括QSYS組件定制和程序設計[4?5],其中QSYS組件定制除一些必要的JTAG、定時器、配置存儲器等內核外,還包含其他一些內核,具體介紹如下。QSYS組件定制界面如圖10所示。

在NIOS系統中clk_0為處理器內核,onchip_ram_descriptor為片內存儲器內核,用于存儲程序代碼以及程序運行空間,在系統中設置其為復位地址。sdram_0為SDRAM控制器內核,它用于實現和外部SDRAM的通信,從而為應用程序提供運行空間,為NIOS系統的異常地址。po_0為并行輸入/輸出類型內核,它用于實現NIOS系統對輸入/輸出I/O的電平控制,從而通過FPGA,在面板顯示控制模塊電源、通信、報錯以及蜂鳴器的工作狀態,同時還通過FPGA,實現對驅動矢量數據源的開/關切換。tse_mac為三速以太網內核,用于實現NIOS系統和DP83848硬件的通信功能,進而實現和上位機通信。epcs_config為EPCS內核,對應于配置芯片EPCS16,用于存儲PFGA配置數據。而epcs_flash_controller_0也為EPCS內核,但在本系統中配置為EPROM使用,用于存儲程序所需的一些全局配置參數,包括輸出最大電壓、最低電壓等。DPRAM16_DrvVecIn和DPRAM16_DrvVecOut為雙口RAM內核。其中前者實現與FPGA中DPRAM2的通信,當FPGA程序將來自圖像處理模塊的驅動矢量數據寫入DPRAM2后,中斷通知NIOS系統,NIOS通過讀取DPRAM2中的數據,進而通過網口上傳給上位機,用來監視來自圖像處理模塊的工作狀況;后者實現與FPGA中DPRAM3的通信,在調試模式下,NIOS利用它把來自網口的上位機驅動矢量數據寫入DPRAM3,再通知FPGA讀取并發往CPCI總線,寫另一個存儲模塊用于將圖像處理模塊通過SPI協議發送到FPGA的驅動矢量寫入模塊。uart_0和uart_0均為串口內核,其中前者用于實現與CPCI總線測RS 485芯片的通信,繼而通過CPCI總線與掛在總線上的全部驅動模塊通信,而后者用于實現與面板側RS422芯片的通信,用于實現控制模塊工作在串口調試模式時,與上位機串口的通信,由此構成了NIOS系統的內核設計。endprint

NIOS程序設計上則以UCOS嵌入式操作系統運行輕量級的TCP/IP協議為基礎[6],創建了taskUdpRecv,taskUdpSend和taskTelnetServer三個任務,分別代表UDP接收任務、UDP發送任務以及網絡服務任務。其中taskUdpRecv用于接收處理來自上位機網口的指令或者數據,taskUdpSend用于將控制模塊或者驅動模塊的狀態信息,以及通過CPCI總線來自圖像處理系統SPI接口的驅動矢量數據傳回上位機。在taskUdpSend中首先利用wtInit()函數進行系統初始化。初始化包含禁止任何來自FPGA的硬件中斷、DPRAM16_DrvVecIn、DPRAM16_DrvVecOut和po_0內核初始化、所有串口初始化、控制模塊對各驅動模塊的呼叫應答以及FPGA程序中斷信號的使能等。系統初始化完成后,進入UDP發送任務的主循環,即wtMainloop()函數。

在wtMainloop()函數中,該函數首先判斷是否有來自上位機新的字符串指令,若有新的字符串指令,則調用procNetCommand()對新的字符串指令進行處理。字符串指令大體分為3類:一類為set類命令,包括驅動矢量數據源在SPI(圖像處理模塊)和NIOS(上位機)之間的切換,配置參數中電壓極值設置,通道映射設置,單通道電壓設置與驅動矢量數據切換等;一類為get類指令,這類指令主要是為了確認set類命令執行結果是否正確而設置的,基本對應著set指令;最后一類指令為其他指令,如save指令,設計這個指令主要是因為驅動模塊每個通道的末級電壓放大器含有兩個參數,這些參數需在單通道電壓調試模式下通過調試獲得,并最終通過控制模塊的save命令將這些參數固化到相應驅動模塊的ROM中,上電工作時加載。例如<0.0/set_ vec _source:0>指令,其中<>為字符串指令的首尾標志;0.0表示指令接收方為第一個機箱的控制模塊;set_vec_source表示驅動矢量數據的來源;0表示驅動矢量源來自圖像處理模塊輸出的SPI接口;1則表示驅動矢量源來自上位機通過網絡送到的NIOS系統的DPRAM3,又如<0.2/set_DA:12=43525>。其中:0.2表示操作的對象為第1個機箱的第2個驅動模塊;set_DA表示本指令是設置通道的電壓值;12=43 525表示將本驅動模塊的12通道的電壓設置為43 525(65 535對應電壓最大值),這個通道映射為驅動器系統的第28號通道,即(2-1)×16+12=28。相反<0.0/get_ vec _source>表示獲取驅動矢量的數據源,<0.2/get_DA:12>表示獲取第28號通道的設置電壓值。這些指令執行完成后,調用netSendStrCommand()函數將獲得的字符串指令的反饋信息打包,組成符合UDP協議的數據包,發往上位機以供監視。

在wtMainloop()函數中,還設計有串口字符串指令處理函數procSuartCommand(),它主要用于接收處理來自面板串口的上位機調試指令。其處理過程幾乎和procNetCommand()函數一樣,不同之處在于其操作對象是來自面板側的RS 422串口,接收指令或發送反饋信息均通過該串口來實現,由于受速度限制,串口指令集中不涉及驅動矢量的操作。

在wtMainloop()函數中,還設計有netSendVec()函數,其用來實現對存儲在DPRAM2中的SPI接口提供的驅動矢量數據的讀取,并通過網絡上傳給上位機。當DPRAM2寫操作有效時,且FPGA程序將來自SPI的驅動矢量數據寫入DPRAM2后,FPGA將DPRAM16_DrvVecIn內核的DPRAM2ReadBufReady[0]信號設置為高電平,并向DPRAM16_DrvVecIn發送一個中斷信號,DPRAM16_DrvVecIn接收到中斷后,拷貝DPRAM2的數據到內核,并設置hasNewVecFromBus為true,當netSendVec()判斷hasNewVecFromBus為true后,將數據打包,并發往上位機。

taskUdpRecv首先偵聽本地端口,判斷是否有上位機數據包,如果有上位機數據包,則判斷數據包是連接指令、斷開連接指令、數據或字符串指令和應答指令(沒有數據傳輸時,判斷并告知上位機,網絡是否連通)四種類型中的那一種類型。如果是數據或字符串指令類型,則再判斷是字符串指令,還是驅動矢量數據;如果是來自上位機的驅動矢量數據,則調用dpramWriteBlock()函數。首先從網絡數據包中讀出驅動矢量數據,再通過DPRAM16_DrvVecOut內核把驅動矢量數據寫入DPRAM3。當寫入完成后,設置dpramDrvOut_WriteBufReady信號線,使其發出一個正脈沖觸發FPGA程序。FPGA程序識別到這個脈沖后,開始讀取DPRAM3中的驅動矢量數據,再發往CPCI總線,供驅動模塊讀取。如果是字符串矢量,則調用scmdParsetStr()函數檢查數據包是否符合命令格式協議,若符合字符串指令的格式協議,則提取出字符串指令供taskUdpSend調用,同時設置新的網絡命令標志變量netHasNewStrCommand為True, 當taskUdpSend中的主循環Mainloop()函數判斷此變量為true時,調用上述procNetCommand()對新的字符串指令進行處理。圖11為NIOS程序中taskUdpRecv和taskUdpSend兩個主要任務的流程圖。

4 結 論

根據上述設計原理,研制了集成在96通道變形鏡驅動器內的控制電路板,該電路板不僅能夠以200 f/s的速率正確接收并發送來自SPI的驅動矢量數據,而且能夠正確收發來自上位機網口或者串口的控制指令,實現單通道與驅動矢量的切換、驅動矢量數據源的切換、單通道電壓設置、放大器參數調試和保存以及通道數據讀取、回傳等功能,達到了預定的設計目標。當然,相對變形鏡的響應速度而言,如何在后續工作中進一步提高系統帶寬,提高數據頻率仍有許多工作要做。

參考文獻

[1] 董理治,雷翔,劉文勁,等.腔內雙壓電變形鏡光強分布優化[J].強激光與粒子束,2012,24(7):1691?1694.

[2] 朱曉錦,曹浩.基于PA95功放芯片的壓電功率放大器開發[J].壓電與聲光,2008,30(5):561?563.

[3] 王慧,宮赤坤,王宏峰.基于PA95的新型壓電陶瓷驅動電源[J].微計算機信息,2011,27(12):58?59.

[4] 周立功.SOPC嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2006.

[5] 潘松,黃繼業.SOPC技術實用教程[M].北京:清華大學出版社,2005.

[6] 任哲.嵌入式實時操作系統μC/OS?Ⅱ原理及應用[M].北京:北京航空航天大學出版社,2005.

[7] 譚浩強.C程序設計[M].北京:清華大學出版社,1991.endprint

主站蜘蛛池模板: 激情爆乳一区二区| 亚洲国产成人精品无码区性色| 久久综合婷婷| 成年女人a毛片免费视频| 欧美一级夜夜爽| 一本久道久久综合多人| 日本精品视频一区二区 | a毛片基地免费大全| 亚洲精品777| 中文字幕不卡免费高清视频| 青草91视频免费观看| 亚洲国产精品成人久久综合影院| 国产精品无码AV中文| 国产精品hd在线播放| 久久综合色播五月男人的天堂| 97狠狠操| 欧美成人aⅴ| 亚洲欧美一级一级a| 国产欧美日韩18| 成年人视频一区二区| 久久 午夜福利 张柏芝| 91精品啪在线观看国产| 免费看美女自慰的网站| 国产成人在线无码免费视频| 国产精品免费电影| 五月丁香在线视频| 日本久久免费| 免费看黄片一区二区三区| 免费一看一级毛片| 超碰aⅴ人人做人人爽欧美| 日本欧美一二三区色视频| 亚洲清纯自偷自拍另类专区| 综合人妻久久一区二区精品 | 国产在线拍偷自揄拍精品| 中文字幕天无码久久精品视频免费 | 国产精品一区二区在线播放| 99久久精品免费看国产免费软件| 无套av在线| 亚洲色图欧美| 九九线精品视频在线观看| 国产超碰一区二区三区| 美女扒开下面流白浆在线试听| 美女高潮全身流白浆福利区| 亚洲色图狠狠干| 99精品在线视频观看| 黄色网页在线播放| 天堂成人av| 美女内射视频WWW网站午夜 | 在线永久免费观看的毛片| 在线看片中文字幕| 亚洲AV人人澡人人双人| 中文纯内无码H| 国产农村1级毛片| 在线观看亚洲天堂| 亚洲国产天堂在线观看| 国内精自线i品一区202| 不卡无码h在线观看| 国产黄网永久免费| 中国国产一级毛片| 在线视频亚洲色图| 成色7777精品在线| 亚洲人免费视频| 欧美成人第一页| 国内精品久久人妻无码大片高| 亚洲欧美成人在线视频| 四虎永久免费在线| 第一区免费在线观看| 国产亚洲一区二区三区在线| 国产成人午夜福利免费无码r| 成人国产精品网站在线看| 成人亚洲视频| 亚洲日韩精品综合在线一区二区| 欧美成人免费午夜全| 国产91在线免费视频| 免费人成视网站在线不卡 | 国产精品自在在线午夜区app| 99热免费在线| 亚洲无码37.| 精品无码一区二区三区在线视频| 国产v精品成人免费视频71pao| 国产成人AV男人的天堂| 性欧美精品xxxx|