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

基于PCIe的多路傳輸系統的DMA控制器設計

2017-05-24 14:45:22李勝藍姜宏旭符煒劍
計算機應用 2017年3期
關鍵詞:系統設計

李勝藍,姜宏旭,符煒劍,陳 姣

(北京航空航天大學 計算機學院,北京 100191) (*通信作者電子郵箱jianghx@buaa.edu.cn)

基于PCIe的多路傳輸系統的DMA控制器設計

李勝藍,姜宏旭*,符煒劍,陳 姣

(北京航空航天大學 計算機學院,北京 100191) (*通信作者電子郵箱jianghx@buaa.edu.cn)

為了避免PCIe傳輸過程中PIO寫延時、主機與嵌入式處理系統交互次數過多等問題對于傳輸帶寬的影響,設計了一種基于命令緩沖機制的直接存儲訪問(DMA)控制器以提高傳輸帶寬利用率。采用FPGA端內部設置命令緩沖區的方式,使得DMA控制器可以緩存PC端的數據傳輸請求,FPGA根據自身需求動態地訪問PC端存儲空間,增強了傳輸靈活性;同時,提出一種動態拼接的DMA調度方法,通過合并相鄰存儲區訪問請求的方式,進一步減少主機與硬件的交互次數和中斷產生次數。系統傳輸速率測試實驗中,DMA寫最高速率可達1 631 MB/s,DMA讀最高速率可達1 582 MB/s,帶寬最大值可達PCIe總線理論帶寬值的85.4%;與傳統PIO方式的DMA傳輸方法相比,DMA讀帶寬提升58%,DMA寫帶寬提升36%。實驗結果表明,本設計能夠有效提升DMA傳輸效率,明顯優于PIO方式。

PCIe;直接存儲訪問;高帶寬;多路傳輸;FPGA

0 引言

隨著信息化與大數據時代的來臨,人們對于實時視頻數據的采集與處理的需求越來越多元化,采集的視頻數據從單一低分辨率朝向多路高分辨率發展,隨之而來的問題是需傳輸處理的數據規模呈倍數增長,這對數據的傳輸處理平臺的性能提出了更高的要求。嵌入式芯片,如FPGA(Field-Programmable Gate Array)、DSP(Digital Signal Processing)等的應用讓嵌入式硬件平臺的處理能力大幅度提升,但處理系統的性能瓶頸主要位于PC端與硬件板卡之間的數據傳輸效率上,因此跨平臺傳輸總線的選擇至關重要。

PCI Express(PCIe)是第三代高性能I/O(Input/Output)總線,在總線結構上進行了根本的變革,其變化主要體現在兩個方面:一是由并行總線變為串行總線,二是采用了點到點的互連。它具有速度快,兩端設備獨享帶寬,擴展靈活等諸多優點[1]。PCIe 作為目前使用最頻繁的高速總線,廣泛用于PC端與外部設備的之間的通信,如何利用PCIe總線對大規模數據進行高效傳輸已成為研究熱點[2-4]。

由于直接存儲訪問(Direct Memory Access, DMA)可以降低傳輸對系統CPU資源的占用率,顯著提高系統運行效率,可以達到更高的數據傳輸速率,而被大多數系統采用。文獻[5-6]中DMA傳輸所需的地址和數據大小等信息均由PC端通過PIO(Programmed I/O)方式寫入PCIe空間映射的狀態寄存器BAR(Base Address Register)中,FPGA只能被動地等待PC端的發起DMA操作;同時由于現有的平臺可支持的PIO讀寫帶寬僅為2~4 MB/s[7],DMA傳輸帶寬為PCIe理論帶寬的50%,不能最大限度地利用PCIe帶寬資源,無法滿足本系統的數據傳輸帶寬需求。文獻[8]中在FPGA中設置了地址表,驅動程序將初始化時PC端分配的地址空間寫入該地址表內,這解決了由PIO讀寫帶寬低而造成的DMA帶寬不理想的問題;但這種方式對PC端存儲的訪問靈活性低,因為地址表在初始化時被更新,DMA工作時只能按照既定的順序訪問存儲器空間,同時當大量的地址需存儲時,地址表額外占用了更多的FPGA的存儲資源。為了滿足本項目的傳輸帶寬需求并解決以上問題,本文在FPGA自帶的PCIe硬核的基礎上設計了一種DMA傳輸控制器,利用FPGA端設置的命令緩沖區,采用FPGA主控的DMA傳輸模式,解決了PIO寫延遲對DMA傳輸的限制問題,并提出了一種動態拼接的DMA調度方法,對DMA傳輸請求進行動態調控,進一步減少了軟硬件交互次數。通過實驗表明,本設計實現了PC端與處理板卡之間的多路數據高效傳輸,并且可為類似的應用提供參考。

1 PCI Express

1.1 PCIe接口

PCIe是一種分層的體系結構,由下至上分別為物理層(Physical Layer, PHY)、數據鏈路層(Data Link Layer, DL)以及事務層(Transaction Layer, TL)[9]。在硬件板卡端,目前許多FPGA芯片內部均提供了可選的PCI-E協議實現方案,其自帶的 Xilinx PCIe LogiCORE IP 核實現了物理層及數據鏈路層協議,并對上層提供了事務層接口[10],用戶利用該接口即可實現對PCIE設備的控制及訪問,開發者只需完成事務層的設計即可,這樣簡化了開發流程并具有優良的可移植性。

1.2 PCIe數據包組織結構

PCIe總線通過數據包形式來實現信息的傳遞。 PCIe協議的事務可分為存儲器事務、I/O事務、配置事務以及消息事務幾個類型。TLP(Transaction Layer Packet)的包頭被用于區分這些的事務,與此同時TLP數據包的包頭也決定了當前TLP的路由信息等一系列信息。一個完整的PCIe數據包結構如圖1所示[11]。用戶每次發送的數據都必須封裝在這樣的數據包格式內,但其中只有TLP頭與有效數據載荷是用戶層添加的,其余結構由PCIe物理層以及數據鏈路層額外添加到TLP上。

圖1 PCIe總線數據包結構

Fig. 1 PCIe bus data packet structure

1.3 PCIe總線帶寬

PCIe Gen1每條鏈路單方向傳輸理論帶寬為2.5 Gb/s,PCIe Gen2將該速率提高了一倍,每一條鏈路的單方向理論帶寬為5 Gb/s[12]。由于PCIe Gen1 和PCIe Gen2均使用了8 b/10 b的編碼(80%),且由圖1可知,PCIe協議數據包含有額外的開銷,所以PCIe總線帶寬的理論最大值T(單位為Gb/s)的計算公式為式(1):

(1)

其中:P為單個TLP最大有效載荷,O為TLP包頭額外開支,N為鏈路總數,Gen為1或2,代表PCIe Gen1 或 PCIe Gen2。

2 系統設計

2.1 系統結構及主要功能

本系統有兩個功能。一是FPGA將采集到的原始視頻數據存儲到DDR3 SDRAM中,用戶請求數據后,FPGA通過PCIe總線將數據傳輸到PC端;二是PC端將經程序處理后的多路視頻數據通過PCIE總線下傳至FPGA端,FPGA讀取這些數據并存儲到DDR3。 FPGA與PC端的數據傳輸由DMA控制模塊來調控。本項目中設計的多路視頻采集處理系統的數據傳輸過程具有以下特點:1)PCIe下傳參數時數據量大,板卡與PC端交互頻繁;2)PCIe上傳參數時數據量小,實時性要求高;3)為防止數據溢出,FPGA端需要較大的數據緩沖區來存儲PC端下傳的多路視頻數據。

針對這些特點,完成系統主要模塊設計,系統結構如圖2所示。本系統主要模塊包括PCIe IP核,DDR3 MIG模塊、DMA控制器模塊、DDR3讀寫控制模塊以及視頻采集輸出模塊。其中,PCIe IP核以及DDR3 MIG模塊可以通過Xilinx CORE Generator工具按需求配置生成。下文將會具體介紹DMA控制模塊的結構及DMA傳輸方法。

圖2 多路視頻傳輸系統結構

2.2 基于命令緩沖機制的DMA控制器設計

DMA控制模塊包含發送模塊、接收模塊、BAR、讀命令存儲FIFO(Rd_FIFO)、寫命令存儲FIFO(Wr_FIFO)和命令解析模塊,如圖3所示。

圖3 DMA控制模塊結構

兩個數據寬度為256 b的異步FIFO實現了DMA控制模塊與DDR3讀寫模塊的連接,解決了跨時鐘域的問題。DMA控制/狀態寄存器被映射到PCIe的地址空間中,也可和其他用戶邏輯連接,用于控制DMA傳輸。

發送模塊用于組織和傳輸轉發事務、非轉發事務和完成事務的數據包。發送模塊可以產生存儲器寫請求包(Memory Write Request, MWr)、讀請求包(Memory Read Request, MRd)和帶數據的完成包(Completion with data, Cpld),產生的數據包發送到事務層接口(Transaction interface, TRN)。

接收模塊支持完成事務、存儲器讀事務和存儲器寫事務。接收模塊從TRN接口中接收事務包,并根據事務的種類,作出相應的操作。如接收到PC端的Cpld TLP時,接收模塊將其中的數據段解析校驗后存入RX_FIFO,等待存入DDR3;當接收到PC端的數據傳輸命令時, 根據命令標志位將其放在對應的命令存儲FIFO中。

命令存儲FIFO將PC端發送的DMA讀寫命令順序存儲,命令解析模塊從FIFO中讀取命令,解析命令后通過發送模塊組織相應TLP向PC端發起DMA存儲器訪問請求。

PC端發送的DMA請求命令格式為如圖4所示,其中FLAG標志位占1 b,用于判斷該命令為DMA讀請求或DMA寫請求,地址塊對應id號占6 b,PC端最多可設置64個緩沖區。

圖4 DMA請求命令格式示意圖

Fig. 4 Schematic diagram of DMA request command format

2.2.1 DMA傳輸流程優化

采用PIO方式的DMA讀寫操作流程一般為:PC端準備好數據后,向FPGA端BAR空間對應的位置寫入代表觸發DMA中斷的數值,同時將DMA操作所需的起始地址及傳輸大小等信息一并填入BAR對應位置,FPGA檢測到中斷后開始進行DMA讀操作。由于對同一地址同時讀寫會導致數據發生錯亂,PC端會將對應的內存地址鎖死,不再更新這些地址的數據。這種方法實際上是由PC端來發起DMA操作,DMA讀寫帶寬受到了PC端工作主頻的影響,特別是面對PC端需要向FPGA傳輸大量數據的應用場景時,實際環境所測得的帶寬遠遠低于PCIe的理論帶寬。本文在FPGA端增加了命令存儲區,使得FPGA可根據自身需求動態地請求PC端的數據。兩種方式對應的PC與FPGA的交互過程如圖5。圖5(a)為PIO方式PC與FPGA DMA傳輸示意圖,圖5(b)為采用命令緩沖機制后的DMA傳輸示意圖。可見采用命令緩沖機制后,DMA搬運同樣大小數據的傳輸時間減少,傳輸涉及的中斷處理操作減少,DMA帶寬由此提升。

圖5 DMA傳輸流程對比

2.2.2 DMA讀操作

采用命令緩沖機制后,FPGA從PC端利用DMA讀取數據的具體過程如下:

1)PC端在驅動程序中申請一段數據緩沖區,緩沖區被分為N部分,分別對應N路數據,編號為0~N-1,地址塊大小為4KB,第i號地址塊的起始地址add_start_i的計算公式為式(2),即基地址add_read_base加上偏移:

add_start_i=add_read_base+i×4 000

(2)

2)PC端向ID為i的地址塊填充好數據后,向FPGA發送攜帶該地址塊的ID號的命令,表示該部分數據可供讀取。

3)FPGA端接收模塊收到DMA傳輸命令后,通過判斷flag標志位的值將命令存儲到讀命令存儲FIFO或寫命令存儲FIFO中。

4)FPGA端的數據量低于預先設定值后,命令解析模塊從讀命令存儲FIFO中取出一個命令,讀取該命令ID號,通過式(2)計算出PC端對應的起始地址,由發送模塊組織PCIe存儲器讀請求TLP發送到PC端,請求命令對應的地址數據。PC端收到讀請求后,會自動將相應地址內的數據打包成Cpld發回給FPGA,這個過程并不需要PC端CPU的參與。

5)FPGA端的接收模塊接收到Cpld TLP,解析后將其中攜帶的數據按順序存入到RX_FIFO中,等待存入DDR3。當整個DMA讀操作完成后,FPGA向主機發送一個中斷。

6)PC接收到中斷后,根據中斷信息判斷哪塊地址數據被讀取,并將對應數據緩沖區更新。回到步驟2)。

2.2.3 DMA寫操作

DMA寫操作與DMA讀操作類似,若FPGA內的DMA存儲器寫操作需要等待PC端操作BAR空間內寄存器才能發起,不僅占用了CPU的時鐘周期,而且每一次啟動DMA時FPGA都需要等待CPU,影響了DMA的帶寬吞吐量。

1)PC端在驅動程序中申請一段內存,緩沖區被分為N部分,編號為0~N-1,地址塊大小為4KB,第i號地址塊的起始地址add_start_i計算公式為式(3),即基地址add_write_base加上偏移,PC端需要讀取第i塊地址的數據時,將其ID值打包發送給FPGA:

add_start_i=add_write_base+i×4 000

(3)

2)FPGA端接收模塊收到DMA傳輸命令后,通過判斷flag標志位的值將命令存儲到讀命令存儲FIFO或寫命令存儲FIFO中。

3)FPGA端采集到的數據量大于預先設定值后,命令解析模塊從寫命令存儲FIFO中取出一個命令,通過式(3)計算出CPU端對應的緩沖區起始地址,由發送模塊組織PCIe存儲器寫請求TLP發送到PC端。PC端接收到寫存儲器請求,解析TLP提取出數據放至對應地址內。

4)FPGA完成DMA寫操作后,向主機發送一個中斷,表示該塊數據已更新。PC端可根據中斷信息,取用對應緩沖區的數據。

2.2.4 基于動態拼接的DMA調度方法

為了進一步提升DMA傳輸帶寬,一種基于動態拼接策略的DMA調度方法被用于DMA傳輸控制。以進行DMA存儲器讀操作為例,當FPGA準備進行DMA傳輸時,命令解析模塊從命令存儲FIFO中取出一個命令后,若FIFO仍存有命令,命令解析模塊將繼續判斷下一個命令的ID號,若該命令ID號與之前命令的ID號可相鄰,即意味著兩次DMA操作PC端的地址相連,則命令解析模塊取出該命令并將兩個命令拼接成一個DMA傳輸請求,當FIFO仍不為空時,這種DMA拼接將繼續,直到下一個命令的ID號與已有的ID號不連續或FIFO為空為止。這種將對相鄰地址的DMA讀操作動態的拼接成一次DMA操作的調度方法,減少了兩次DMA配置之間的時間,進一步提升了PCIeDMA傳輸效率。DMA調度流程如圖6所示。

圖6 DMA調度流程

當DMA不進行動態拼接時,一次DMA傳輸DMA完成操作后通知PC端的數據更新的地址ID號。多次DMA傳輸需多次中斷;但若DMA采用了動態拼接策略,多個命令傳輸完成后,僅需一次中斷通知PC端DMA操作更新的地址區間。利用動態拼接策略,減少了PC端需處理的DMA傳輸中斷數量,降低了CPU中斷處理所造成的延遲。

3 實驗結果

3.1 實驗環境

本設計采用實驗室自主研發的多路視頻輸出板作為實驗平臺,并結合對應的驅動程和應用程序進行測試。該平臺支持GEN1×8模式的PCIe鏈路,并且使用Xilinx公司的Kintex-7XC7K325T作為主控芯片,采用XilinxISE14.7作為開發工具,利用Verilog語言完成FPGA程序設計。DDR3MIG配置讀寫控制時鐘400MHz,數據位寬256b。PCIecore配置為GEN1×8模式。板卡通過PCIe接口連接主機,CPU為Inteli7處理核,工作主頻為2.8GHz,操作系統為Windows7pro。

按照本文系統模塊設計,自頂向下完成FPGA各模塊代碼的編寫與優化,通過ISE綜合、映射與布局布線后,整個設計占用Register資源6 713個,占用LUT資源6 782個,占用BlockRam/FIFO資源12個,可以看出本系統對于FPGA資源占用率較少,有利于后續工作的展開。

表1 FPGA資源占用表

3.2DMA傳輸速率測試

視頻傳輸過程由本文中設計的DMA控制器控制,實驗分別測試DMA讀與DMA寫帶寬。PC端以2μs的間隔向FPGA發送N個數據傳輸命令,TLP的有效載荷設置為512 B。應用程序端使用函數QueryPerformanceCounter()計數傳輸一定大小的DMA數據塊需要的計算機周期數,并利用函數QueryPerformanceFrequency()讀取CPU時鐘周期,DMA傳輸帶寬計算公式如下,其中P為TLP有效載荷,n為所用CPU周期數,tc為CPU時鐘周期。

(4)

DMA讀寫帶寬與DMA傳輸不同大小的數據量的關系如圖7所示。通過實驗結果可以得知,隨著DMA傳輸數據量的增大,DMA讀寫帶寬均隨之增加,當傳輸數據量從10KB增加到100KB時,帶寬增長幅度最大,當傳輸數據量達到一定程度時,帶寬增長緩慢。最高DMA讀帶寬為1 582MB/s,最高DMA寫帶寬為1 631MB/s,峰值帶寬達到理論帶寬值的85%。

圖7 DMA傳輸帶寬變化曲線

表2為本文方法與其他文獻方法在DMA讀寫帶寬方面的比較。文獻[4]和文獻[13]中采用由PC端通過PIO更改DMA狀態控制寄存器的模式進行DMA傳輸。文獻[4]中采用PCIeGEN1×4 通道接口板,DMA寫速率為539MB/s,讀速率為504MB/s。文獻[13]中所用平臺為GEN1×8PCIe鏈路,DMA寫速率最高為1 311MB/s,DMA讀速率最高為1 002MB/s。將速率均換算為PCIeGEN1×8通道進行比較,本文DMA傳輸方式與PIO方式相比,DMA寫速率平均可提升36%,DMA讀速率平均可提升58%。

表2 DMA傳輸帶寬對比

4 結語

針對實際的多路視頻數據的傳輸需求,本文提出了一種基于命令緩沖機制的DMA傳輸機制,采用FPGA主動控制的DMA傳輸模式,降低了PIO寫延時對于DMA傳輸帶寬的影響,同時提出了一種基于動態拼接的DMA調度方法,進一步提升了DMA傳輸帶寬。實驗結果表明,該系統DMA寫最高速率可達1 631MB/s,DMA讀最高速率可達1 582MB/s,達到了PCIe理論帶寬值的85.4%;與利用PIO方式的DMA傳輸機制相比,本方法DMA讀帶寬提升58%,DMA寫帶寬提高36%。但目前為止,PC端每個ID號對應的數據存儲區大小相等,只能傳輸大小固定的數據塊,以后考慮在命令中增加新的字段來表示傳輸數據大小。

)

[1]PCI-SpecialInterestGroup.PCIexpress2.0basespecificationrevision3.1a[EB/OL]. [2016- 02- 07].http://www.pcisig.com/specifications/pciexpress/base2/.

[2] BITTNER R, RUF E. Direct GPU/FPGA communication via PCI express [J]. Cluster Computing, 2014, 17(2): 339-348.

[3] CORREIA M, SOUSA J, COMBO A, et al. Implementation of IEEE-1588 timing and synchronization for ATCA control and data acquisition systems [J]. Fusion Engineering and Design, 2012, 87(12): 2178-2181.

[4] DE LA CHEVALLERIE D, KORINTH J, KOCH A. ffLink: a lightweight high-performance open-source PCI express Gen3 interface for reconfigurable accelerators [J]. ACM SIGARCH Computer Architecture News, 2015, 43(4): 34-39.

[5] 李木國,黃影,劉于之.基于FPGA的PCIe總線接口的DMA傳輸設計[J].計算機測量與控制,2013,21(1):233-235.(LI M G, HUANG Y, LIU Y Z. Design of DMA transmission with PCIe bus interface based on FPGA [J]. Computer Measurement and Control, 2013, 21(1): 233-235.)

[6] 鄒晨,高云.基于FPGA的PCIe總線DMA傳輸的設計與實現[J].電光與控制,2015,22(7):84-88.(ZOU C, GAO Y. Design and implementation of DMA transmission with PCIe bus based on FPGA [J]. Electronics Optics and Control, 2015, 22(7): 84-88.)

[7] BITTNER R. Speedy bus mastering PCI express [C]// Proceedings of the 2012 22nd International Conference on Field Programmable Logic and Applications. Piscataway, NJ: IEEE, 2012: 523-526.

[8] ROTA L, CASELLE M, CHILINGARYAN S, et al. A PCIe DMA architecture for multi-gigabyte per second data transmission [J]. IEEE Transactions on Nuclear Science, 2015, 62(3): 972-976.

[9] THOMA Y, DASSATTI A, MOLLA D, et al. FPGA-GPU communicating through PCIe [J]. Microprocessors and Microsystems, 2015, 39(7): 565-575.

[10] Xilinx. LogiCoreTMIP endpoint for PCI express V3.7 user guide [EB/OL]. [2016- 03- 08]. http://www.xilinx.com.

[11] GONG J, WANG T, CHEN J, et al. An efficient and flexible host-FPGA PCIe communication library [C]// Proceedings of the 2014 24th International Conference on Field Programmable Logic and Applications. Piscataway, NJ: IEEE, 2014: 1-6.

[12] KAVIANIPOUR H, MUSCHTER S, BOHM C. High performance FPGA-based DMA interface for PCIe [J]. IEEE Transactions on Nuclear Science, 2014, 61(2):1-3.

[13] 侯杭呈,王憶文,李輝.一種基于PCI Express總線的DMA高速傳輸系統[J].微電子學,2013,43(3):383-386.(HOU H C, WANG Y W, LI H. A high-speed DMA transmission system based on PCI express bus [J]. Microelectronics, 2013, 43(3): 383-386.)

This work is supported by the National Natural Science Foundation of China (61272347).

LI Shenglan, born in 1992, M.S. candidate. Her research interests include digital media processing, embedded system design.

JIANG Hongxu, born in 1976, Ph. D., associate professor. His research interests include digital media processing, embedded system design.

FU Weijian, born in 1993, M.S. candidate. His research interests include digital media processing, embedded system design.

CHEN Jiao, born in 1992, M.S. candidate. Her research interests include digital media processing, embedded system design.

Design of DMA controller for multi-channel transmission system based on PCIe

LI Shenglan, JIANG Hongxu*, FU Weijian, CHEN Jiao

(SchoolofComputerScienceandEngineering,BeihangUniversity,Beijing100191,China)

To reduce the impact of Programmed I/O (PIO) write latency in PCI express (PCIe) transmission process, too many times of interaction between the host and the embedded processing system and other issues on transmission bandwidth, a Direct Memory Access (DMA) controller based on command buffering mechanism was designed to improve the transmission bandwidth utilization. Using the internal command buffer of the Field-Programmable Gate Array (FPGA), the DMA controller could cache the data transfer request of the PC. The FPGA could dynamically access the storage space of the PC according to its own requirements and enhance the transmission flexibility. At the same time, a dynamic mosaic DMA scheduling method was proposed to reduce the times of host-to-hardware interaction and interrupt generation by merging the access requests of adjacent storage areas. In the system transmission rate test, the maximum write speed of DMA was 1 631 MB/s, the maximum rate of DMA read was up to 1 582 MB/s, the maximum of bandwidth was up to 85.4% of the theoretical bandwidth of PCIe bus. Compared with the traditional PIO mode DMA transfer method, DMA read bandwidth increased by 58%, DMA write bandwidth increased by 36%. The experimental results show that the proposed design can effectively improve the DMA transfer efficiency, and is significantly better than PIO method.

PCIe; Direct Memory Access (DMA); high bandwidth; multi-channel transmission; Field-Programmable Gate Array (FPGA)

2016- 09- 23;

2016- 10- 26。

國家自然科學基金資助項目(61272347)。

李勝藍(1992—),女,四川內江人,碩士研究生,主要研究方向:數字媒體處理、嵌入式系統設計; 姜宏旭(1976—),男,陜西藍田人,副教授,博士,主要研究方向:數字媒體處理、嵌入式系統設計; 符煒劍(1993—),男,福建壽寧人,碩士研究生,主要研究方向:數字媒體處理、嵌入式系統設計; 陳姣(1992—),女,湖北咸寧人,碩士研究生,主要研究方向:數字媒體處理、嵌入式系統設計。

1001- 9081(2017)03- 0691- 04

10.11772/j.issn.1001- 9081.2017.03.691

TP391.7

A

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 久久国产乱子| 国产精品伦视频观看免费| 91网址在线播放| 国产成人1024精品下载| 香蕉综合在线视频91| 久久久久国产精品嫩草影院| 激情国产精品一区| 国产幂在线无码精品| 国产凹凸视频在线观看| 国产成人乱无码视频| 国产十八禁在线观看免费| 手机成人午夜在线视频| 好吊妞欧美视频免费| 国产精品无码翘臀在线看纯欲| 日韩精品成人在线| 亚洲精品自拍区在线观看| 国产丝袜丝视频在线观看| 亚洲人成网18禁| 91亚洲免费视频| 欧美专区日韩专区| 2020国产在线视精品在| 国产女人综合久久精品视| 国产女主播一区| 欧美全免费aaaaaa特黄在线| 色偷偷男人的天堂亚洲av| 狠狠色婷婷丁香综合久久韩国| 日韩在线永久免费播放| 99久久精品国产精品亚洲 | 国产人成午夜免费看| 亚洲一级毛片免费看| 亚洲久悠悠色悠在线播放| 国产噜噜在线视频观看| 日韩一二三区视频精品| 一级毛片在线免费看| 日本道综合一本久久久88| 日本人又色又爽的视频| 免费三A级毛片视频| 免费视频在线2021入口| 欧美成人午夜视频免看| 亚洲日产2021三区在线| 亚洲不卡网| 欧美69视频在线| 91福利国产成人精品导航| 国产一区二区三区精品久久呦| 国产乱子伦精品视频| 国产精品v欧美| 美女免费精品高清毛片在线视| 99视频在线免费| 毛片在线播放a| 久久国产黑丝袜视频| 日本手机在线视频| 亚洲无线观看| 亚洲免费毛片| 久久精品无码专区免费| 亚洲视频免| 国产男女免费视频| 色综合久久久久8天国| 免费xxxxx在线观看网站| 少妇精品网站| 2020国产在线视精品在| 国产微拍精品| 欧洲一区二区三区无码| 福利在线一区| 欧美日韩综合网| 国产不卡国语在线| 成色7777精品在线| 亚洲日韩国产精品综合在线观看| 国产一级做美女做受视频| 亚洲天堂精品在线观看| 99re免费视频| 精品欧美一区二区三区久久久| 天堂中文在线资源| 国内老司机精品视频在线播出| 精品欧美一区二区三区在线| 久996视频精品免费观看| 国产成人精品优优av| 黄网站欧美内射| 天堂亚洲网| 日本人妻丰满熟妇区| 色婷婷色丁香| 国产精品流白浆在线观看| 亚洲无码37.|