《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > ARM+FPGA架構(gòu)有什么優(yōu)勢(shì)?

ARM+FPGA架構(gòu)有什么優(yōu)勢(shì)?

2022-10-25
來(lái)源:創(chuàng)龍科技
關(guān)鍵詞: FPGA ARM 處理器

  前 言

  近年來(lái),隨著中國(guó)新基建、中國(guó)制造2025的持續(xù)推進(jìn),單ARM處理器越來(lái)越難勝任工業(yè)現(xiàn)場(chǎng)的功能要求,特別是能源電力、工業(yè)控制、智慧醫(yī)療等行業(yè)通常需要ARM+FPGA架構(gòu)的處理器平臺(tái)來(lái)實(shí)現(xiàn)特定的功能,例如多路/高速AD采集、多路網(wǎng)口、多路串口、多路/高速并行DI/DO、高速數(shù)據(jù)并行處理等。

  那ARM+FPGA架構(gòu)有什么優(yōu)勢(shì)?

  ARM:接口資源豐富、功耗低,擅長(zhǎng)多媒體顯示、邏輯控制等。 FPGA:擅長(zhǎng)多通道或高速AD采集、接口拓展、高速信號(hào)傳輸、高速數(shù)據(jù)并行處理等。   因此,ARM+FPGA架構(gòu)能帶來(lái)性能、成本、功耗等綜合比較優(yōu)勢(shì),ARM與FPGA既可各司其職,各自發(fā)揮原本架構(gòu)的獨(dú)特優(yōu)勢(shì),亦可相互協(xié)作處理更復(fù)雜的問(wèn)題。   對(duì)于成本不敏感且通信速率要求的較高分立式ARM+FPGA場(chǎng)合,一般使用PCIe通信接口。但對(duì)成本敏感的分立式ARM+FPGA場(chǎng)合,PCIe通信接口則令FPGA芯片成本高居不下。

  對(duì)于能源電力、工業(yè)控制等眾多工業(yè)領(lǐng)域,真正需要的是性能與成本均具有競(jìng)爭(zhēng)力的方案,既要求能做到ARM與FPGA的高速通信,又要做到成本最優(yōu),并且最好能基于國(guó)產(chǎn)方案。

  在這種需求背景下,創(chuàng)龍科技提供了基于國(guó)產(chǎn)ARM與低成本FPGA高速通信的3種方案。

  * 硬件平臺(tái)介紹(全志科技T3/A40i)

  創(chuàng)龍科技TLT3-EVM/TLA40i-EVM是一款基于全志科技T3/A40i處理器設(shè)計(jì)的4核ARM Cortex-A7國(guó)產(chǎn)工業(yè)評(píng)估板,每核主頻高達(dá)1.2GHz,由核心板和評(píng)估底板組成。T3與A40i兩者pin to pin兼容。   評(píng)估板接口資源豐富,引出雙路網(wǎng)口、雙路CAN、雙路USB、雙路RS485等通信接口,板載Bluetooth、WIFI、4G(選配)模塊,同時(shí)引出MIPI LCD、LVDS LCD、TFT LCD、HDMI OUT、CVBS OUT、CAMERA、LINE IN、H/P OUT等音視頻多媒體接口,支持雙屏異顯、Mali400 MP2 GPU,1080P@45fps H.264視頻硬件編碼、1080P@60fps H.264視頻硬件解碼,并支持SATA大容量存儲(chǔ)接口。   核心板采用100%國(guó)產(chǎn)元器件方案,并經(jīng)過(guò)專業(yè)的PCB Layout和高低溫測(cè)試驗(yàn)證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。評(píng)估底板大部分元器件均采用國(guó)產(chǎn)方案,方便用戶快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研。

  本文主要介紹全志科技T3/A40i與紫光同創(chuàng)PGL25G/Xilinx Spartan-6基于SPI、SDIO、CSI的3種高速通信方案,最高通信速率可達(dá)到55.1MB/s。

  備注:目前,創(chuàng)龍科技已推出T3/A40i+PGL25G全國(guó)產(chǎn)一體化工業(yè)核心板方案,國(guó)產(chǎn)化率100%(連接器亦為國(guó)產(chǎn))。

  205.JPG

  圖 3  T3/A40i+PGL25G全國(guó)產(chǎn)工業(yè)核心板 (國(guó)產(chǎn)化率100%)

  1 spi_rw案例

  1.1 案例說(shuō)明

  案例功能:主要演示T3/A40i(ARM Cortex-A7)與PGL25G/Spartan-6(FPGA)處理器之間的SPI通信。   ARM端實(shí)現(xiàn)SPI Master功能 a.打開(kāi)SPI設(shè)備節(jié)點(diǎn),如:/dev/spidev0.0。 b.使用ioctl配置SPI總線,如SPI總線極性和相位、通信速率、數(shù)據(jù)字長(zhǎng)度等。 c.選擇模式為單線模式或雙線模式。當(dāng)SPI總線為雙線模式時(shí),發(fā)送數(shù)據(jù)是單線模式,接收數(shù)據(jù)是雙線模式。 d.發(fā)送數(shù)據(jù)至SPI總線,并從SPI總線讀取數(shù)據(jù)。(備注:如單次傳輸數(shù)據(jù)大于64Byte,驅(qū)動(dòng)程序?qū)?huì)自動(dòng)啟用DMA傳輸功能。) e.打印發(fā)送和接收速率。 f.校驗(yàn)讀寫(xiě)數(shù)據(jù),然后打印誤碼率。   FPGA端實(shí)現(xiàn)SPI Slave功能 a.FPGA將SPI Master發(fā)送的2KByte數(shù)據(jù)保存至BRAM。 b.SPI Master發(fā)起讀數(shù)據(jù)時(shí),F(xiàn)PGA從BRAM讀取2KByte通過(guò)SPI總線傳輸給SPI Master。 c.當(dāng)SPI總線為雙線模式,接收數(shù)據(jù)支持雙線模式,而發(fā)送數(shù)據(jù)不支持雙線模式。

  204.png

  圖 4 ARM端程序流程圖   

測(cè)試結(jié)果

 ?。?)SPI單線模式 根據(jù)官方數(shù)據(jù)手冊(cè),SPI總線通信時(shí)鐘頻率理論值最大為100MHz。本次測(cè)試指定SPI總線通信時(shí)鐘頻率為最大值100MHz,則SPI單線模式理論速率為:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s。實(shí)測(cè)SPI單線模式寫(xiě)速率為:10.924MB/s,SPI單線模式讀速率為:10.924MB/s。   (2)SPI雙線模式 根據(jù)官方數(shù)據(jù)手冊(cè),SPI總線通信時(shí)鐘頻率理論值最大為100MHz。本次測(cè)試指定SPI總線通信時(shí)鐘頻率為最大值100MHz,則SPI單線模式理論速率為:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s;則SPI雙線模式理論速率為:(100000000/1024/1024/4)MB/s ≈ 23.84MB/s。本次實(shí)測(cè)SPI單線模式寫(xiě)速率為11.631MB/s,SPI雙線模式讀速率為17.807MB/s。

  2 rt_spi_rw案例

  2.1 案例說(shuō)明

  案例功能:基于Linux-RT系統(tǒng),演示T3/A40i(ARM Cortex-A7)與PGL25G/Spartan-6(FPGA)處理器之間的SPI通信(單線模式)。

  ARM端實(shí)現(xiàn)SPI Master功能 a.打開(kāi)SPI設(shè)備節(jié)點(diǎn)。如:/dev/spidev0.0。 b.使用ioctl配置SPI總線。如SPI總線極性和相位、通信速率、數(shù)據(jù)字長(zhǎng)度等。 c.創(chuàng)建實(shí)時(shí)線程。 d.發(fā)送數(shù)據(jù)至SPI總線,以及從SPI總線讀取數(shù)據(jù)。 e.打印發(fā)送、接收的速率和傳輸耗時(shí)。 f.校驗(yàn)讀寫(xiě)數(shù)據(jù),然后打印誤碼率。

  FPGA端實(shí)現(xiàn)SPI Slave功能 a.FPGA將SPI Master發(fā)送的2KByte數(shù)據(jù)保存至BRAM。 b.SPI Master發(fā)起讀數(shù)據(jù)時(shí),F(xiàn)PGA從BRAM讀取2KByte通過(guò)SPI總線傳輸給SPI Master。

  203.JPG

  圖 5 ARM端程序流程圖

  測(cè)試結(jié)果

  (1)非輪詢方式  根據(jù)官方數(shù)據(jù)手冊(cè)可知,SPI總線通信時(shí)鐘頻率理論值最大為100MHz。本次測(cè)試指定SPI總線通信時(shí)鐘頻率為最大值100MHz,則理論速率為:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s。實(shí)測(cè)傳輸4Byte數(shù)據(jù)的最小耗時(shí)為49us,最大耗時(shí)為662us,平均耗時(shí)為227us;寫(xiě)速率為0.017MB/s,讀速率為0.017MB/s。

  (2)輪詢方式  根據(jù)官方數(shù)據(jù)手冊(cè)可知,SPI總線通信時(shí)鐘頻率理論值最大為100MHz。本次測(cè)試指定SPI總線通信時(shí)鐘頻率為最大值100MHz,則理論速率為:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s。實(shí)測(cè)傳輸4Byte數(shù)據(jù)的最小耗時(shí)為14us,最大耗時(shí)為59us,平均耗時(shí)為14us;寫(xiě)速率為0.239MB/s,讀速率為0.239MB/s。

  3 sdio_test案例

  3.1 案例說(shuō)明

  案例功能:演示T3/A40i(ARM Cortex-A7)與PGL25G/Spartan-6(FPGA)處理器之間的SDIO通信。

  ARM端實(shí)現(xiàn)SDIO Master功能 a.打開(kāi)SDIO設(shè)備節(jié)點(diǎn),如:/dev/generic_sdio0。 b.發(fā)送數(shù)據(jù)至SDIO總線,以及從SDIO總線讀取數(shù)據(jù)。 c.打印發(fā)送和接收速率。 d.校驗(yàn)讀寫(xiě)數(shù)據(jù),然后打印誤碼率。

  FPGA端實(shí)現(xiàn)SDIO Slave功能 a.FPGA將SDIO Master發(fā)送的2KByte數(shù)據(jù)保存至BRAM。 b.SDIO Master發(fā)起讀數(shù)據(jù)時(shí),F(xiàn)PGA從BRAM讀取2KByte通過(guò)SDIO總線傳輸給SDIO Master。

 202.JPG

  圖 6 ARM端程序流程圖

  測(cè)試結(jié)果

  本次測(cè)試指定SDIO總線通信時(shí)鐘頻率為25MHz(最高50MHz),則理論通信速率為:(25 x 4 / 8)MB/s = 12.5MB/s。實(shí)測(cè)寫(xiě)速率為5.113MB/s,讀速率為5.440MB/s,誤碼率為0.0%。

  4 csi_test案例

  4.1 案例說(shuō)明 案例功能:演示T3/A40i(ARM Cortex-A7)與PGL25G/Spartan-6(FPGA)處理器之間的CSI通信案例。

  ARM端功能

  a)基于Linux子系統(tǒng)V4L2。 b)通過(guò)CSI總線,采集指定幀數(shù)數(shù)據(jù)。 c)計(jì)算總耗時(shí)。 d)打印平均采集速率,并校驗(yàn)最后一幀圖像的數(shù)據(jù)。

  FPGA端功能 a)將測(cè)試數(shù)據(jù)(0x00 ~ 0xFF)寫(xiě)入FIFO。 b)從FIFO讀出數(shù)據(jù),按行與幀的方式、1024 x 512的分辨率,通過(guò)CSI總線發(fā)送至ARM端。 使用的CSI總線為CSI0,最高支持分辨率為1080P30,數(shù)據(jù)位寬為8bit。功能框圖與程序流程圖,如下圖所示。

201.JPG

  圖 7 功能框圖

  200.JPG

  圖 8 ARM端程序流程圖

  測(cè)試結(jié)果

  FPGA端將CSI_PCLK設(shè)置為65MHz,測(cè)試數(shù)據(jù)寫(xiě)入FIFO的時(shí)鐘FIFO_WR_CLK設(shè)置為59MHz。由于FPGA端需將數(shù)據(jù)寫(xiě)入FIFO再?gòu)腇IFO讀出后發(fā)送,每一行與每一幀之間的間隔時(shí)間會(huì)受FIFO寫(xiě)入的速率影響,因此CSI通信的實(shí)際理論傳輸帶寬應(yīng)為:(59MHz x 8bit / 8)MB/s = 59MB/s。實(shí)測(cè)傳輸速率為55.1MB/s,誤碼率為0.0%。



更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。