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