摘要
本方案硬件上由英創工控主板和一個基于FPGA的擴展模塊構成,通過PCIE高速接口相連。利用PCIE端點的DMA傳輸功能實現的Linux DMA Engine架構驅動程序,可把高速大容量數據直接傳輸至Linux系統內存空間,供用戶的應用程序進行實時處理。支持本方案的英創工控主板型號包括ESM7100、ESM8100等。本方案的FPGA評估模塊ETA750,采用Xilinx公司的XC7A50T-2CSG325,可實現16MB/s的連續數據采集。
設計選型
在工控領域中,高速大容量數據采集是常見的應用需求之一,這里我們把高速大容量數據采集定義為連續采集數據率超過10MB/s的應用。本文將介紹針對高速大容量數據采集需求,英創公司提供的解決方案。分析這類應用,可發現有如下特點:
1、數據采集的硬件前端與具體的應用密切相關,如采樣的通道數、數據的分辨率、采樣數率、觸發條件等等,這要求本方案能支持靈活的前端硬件設計。
2、系統平臺需要有高速的數據接口,并支持采集單元的DMA傳輸,以降低主CPU的負載(payload)。另外用戶的應用程序可直接處理采集的原始數據。
根據以上2條基本的應用需求,選擇支持PCIE高速數據接口的英創工控主板作為系統平臺,采用一片FPGA實現PCIE端點(PCIE Endpoint)及前端數據采集硬件邏輯。利用PCIE端點的DMA功能,實現采集數據到系統內存的直接傳送,就可構成一個簡潔靈活的實現方案。事實上Xilinx公司針對PCIE端點的DMA傳輸功能,專門設計了一個FPGA IP核,供用戶免費使用,使本方案的實施成為可能。
目前英創的ESMARC工控主板中ESM7100、ESM8100和ESM6802均支持PCIE×1接口,即將推出的新產品ESM6400也是支持PCIE×1接口。這些主板的PCIE接口相關指標如下:
主板型號 | CPU | PCIE版本 | 最高速率 | NVMe讀 |
ESM7100 | Cortex-A7×2,1GHz | PCIE 2.1 | 6.0Gbps | 260MB/s |
ESM8100 | Cortex-A53×4,1.6GHz | PCIE 4.0 | 16Gbps | 240MB/s |
ESM6802 | Cortex-A9×2,1GHz | PCIE 2.0 | 5.0Gbps | 140MB/s |
ESM6400 | Cortex-A53×2,1GHz | PCIE 4.0 | 5.0Gbps | 170MB/s |
上表中的“NVMe讀”欄,是在Linux用戶空間中對PCIE接口實測的用戶數據率,單位為Mega Byte。PCIE接口的速率均可滿足絕大多數工業控制領域高速大容量數據采集的需求。從上表還可以看出,主板的PCIE控制器決定數據傳輸率,與CPU的配置高低關系不大,因此價格相對低的ESM7100主板具有更高的性價比。在后續的測試中,均采用ESM7100作為主控平臺。
在FPGA方面,本方案選用的是Xilinx公司的Artix-7系的器件XC7A50T-2CSG325,其PCIE接口的收發速率可達6.25Gbps,與英創主板完全匹配。另一方面XC7A50T-2CSG325支持最大150條IO管腳,足以面對各種數據采集前端接口的需求。在成本來看,Artix-7系芯片屬于支持PCIE接口應用的低成本方案。根據具體的前端需求,還可選擇與XC7A50T-2CSG325管腳完全兼容,成本更低的XC7A35T-2CSG325來實現本方案的硬件系統。
為了給客戶提供一個快速評估本方案的適用性,英創公司專門設計了一款miniPCIe模塊(型號為ETA750,外形尺寸50mm×40mm),用于對本方案的實際評估。ETA750模塊以XC7A50T為核心,同時搭載了AD7606C,這是一片 8路平行采集AD芯片,AD分辨率16-bit,采樣率1Msps,總的數據率16MB/s;ETA750除了8路模擬信號接口外,同時還引出了幾十路數字IO,供客戶進行前期原型機開發所用。在英創的ESMARC EVB-C型評估底板上,插上所選的ESMARC主板和ETA750模塊,就可快速搭建起完整的評估系統。
圖1是ESM7100主板與PCIE模塊ETA750的連接示意圖:
圖2為評估底板上的ESM7100主板與PCIE模塊ETA750:
進一步的介紹
從評估應用的角度看,用戶需要了解如何在FPGA中,把自己的前端數字邏輯與PCIE/DMA控制器結合在一起,這部分內容將在后續文章《基于PCIE接口的高速大容量數據采集——硬件篇》中介紹。另一方面,應用程序如何操作PCIE/DMA控制器實現數據采集并獲得采集的數據,將在《基于PCIE接口的高速大容量數據采集——軟件篇》一文中介紹。請感興趣的客戶點擊相應鏈接,了解進一步的信息。
成都英創信息技術有限公司 028-8618 0660