<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用FPGA夾層卡實(shí)現(xiàn)I/O設(shè)計(jì)靈活性

          利用FPGA夾層卡實(shí)現(xiàn)I/O設(shè)計(jì)靈活性

          作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò) 收藏

          面對(duì)似乎層出不窮的新 I/O 標(biāo)準(zhǔn),目前嵌入式系統(tǒng)設(shè)計(jì)人員繼續(xù)依靠 來(lái)部署系統(tǒng)日益重要的外部 I/O 接口,這點(diǎn)絲毫不足為奇。 可提供大量的 I/O,能在適當(dāng) IP 基礎(chǔ)上支持幾乎無(wú)限多種高度復(fù)雜的 I/O 標(biāo)準(zhǔn)。設(shè)計(jì)人員還能用 執(zhí)行流內(nèi) (in-stream) 數(shù)據(jù)處理,甚至以數(shù)千兆位級(jí)信號(hào)傳輸速率和帶寬運(yùn)行的協(xié)議。

          本文引用地址:http://www.ex-cimer.com/article/201706/349314.htm

            FPGA 能夠靈活適應(yīng) I/O 要求變化。FPGA 經(jīng)重配置(除了替換物理 I/O 組件和連接器外基本無(wú)需其它更改)后,便可部署新的協(xié)議。如果 I/O 不是實(shí)施在夾層模塊上的話,那么這就意味著需要修改板的設(shè)計(jì)。為了避免設(shè)計(jì)更改造成成本和工作量的增加,設(shè)計(jì)人員以前一直采用 PCI 夾層卡 (PMC) 和交換夾層卡 (XMC) 標(biāo)準(zhǔn)。不過(guò),上述標(biāo)準(zhǔn)是十多年前針對(duì)單板計(jì)算機(jī) (SBC) 等通用解決方案而并非 FPGA 開發(fā)的。2008 年 7 月,情況發(fā)生了變化,美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì) (ANSI) 批準(zhǔn)發(fā)布了 VITA 57 FPGA 夾層卡 (FMC) 標(biāo)準(zhǔn)。

            FMC 標(biāo)準(zhǔn)由包括 FPGA 廠商和最終用戶在內(nèi)的公司聯(lián)盟開發(fā),旨在為基礎(chǔ)板(載卡)上的 FPGA 提供標(biāo)準(zhǔn)的夾層卡尺寸、連接器和模塊接口。通過(guò)這種方式將 I/O 接口與 FPGA 分離,不僅簡(jiǎn)化了 I/O 接口模塊設(shè)計(jì),同時(shí)還最大化了載卡的重復(fù)利用率。與使用 PCI、PCI-X、PCIe 或 Serial RapidIO 等復(fù)雜接口連接到載卡的 PMC 和 XMC 標(biāo)準(zhǔn)不同,F(xiàn)MC 標(biāo)準(zhǔn)只要求核心 I/O收發(fā)器電路直接連接至載卡上的 FPGA 即可。

            這樣做能夠提高效率,進(jìn)而帶來(lái)諸多顯著優(yōu)勢(shì):

            • 數(shù)據(jù)吞吐量:支持高達(dá) 10 Gb/s 的信號(hào)傳輸速率,夾層卡和載卡之間潛在總帶寬達(dá) 40 Gb/s。

            • 時(shí)延:消除了協(xié)議開銷,避免了時(shí)延問(wèn)題,確保確定性數(shù)據(jù)交付。

            • 簡(jiǎn)化設(shè)計(jì):無(wú)需了解 PCI、PCI Express 或 Serial RapidIO 等協(xié)議標(biāo)準(zhǔn)的專業(yè)技術(shù)。

            • 系統(tǒng)開銷:通過(guò)簡(jiǎn)化系統(tǒng)設(shè)計(jì)降低了功耗,縮短了工程設(shè)計(jì)時(shí)間,并縮減了IP 核及材料成本。

            • 設(shè)計(jì)重復(fù)使用:不管是采用定制的內(nèi)部板設(shè)計(jì)還是商用成品 (COTS) 夾層卡或載卡,F(xiàn)MC 標(biāo)準(zhǔn)有助于將現(xiàn)有的 FPGA / 載卡設(shè)計(jì)重新用到新的 I/O 上,而這只需更換 FMC 模塊并對(duì) FPGA 設(shè)計(jì)略作調(diào)整即可。

            
          FMC 標(biāo)準(zhǔn)的亮點(diǎn)

            FMC標(biāo)準(zhǔn)定義了單寬度(69 毫米 x 76.5 毫米) 和雙寬度(139 毫米 x 76.5 毫米)兩種尺寸。單寬度模塊支持到載卡的單個(gè)連接器。雙寬度模塊主要面向需要更高帶寬、更大前面板空間或較大PCB 面積的應(yīng)用,支持多達(dá)兩個(gè)連接器。FMC 標(biāo)準(zhǔn)提供兩種尺寸,能夠更加靈活地根據(jù)空間、I/O 要求或者這兩者的要求對(duì)板進(jìn)行精心優(yōu)化。圖 1 給出了 FMC 載卡及多種 FMC 夾層卡示意圖。


          圖 1:FMC 載卡和多種 FMC 夾層卡

            選定尺寸之后,板設(shè)計(jì)人員就要在兩種不同連接器間做出選擇,以用作 FMC 標(biāo)準(zhǔn)到載卡上 FPGA 的接口:一種是具有 160 個(gè)引腳的低引腳數(shù) (LPC) 連接器,另一種則是具有 400 個(gè)引腳的高引腳數(shù) (HPC) 連接器。這兩種連接器均支持高達(dá) 2 Gb/s 的單端和差分信號(hào)傳輸速率,且到 FPGA 串行連接器的信號(hào)傳輸速率高達(dá) 10 Gb/s。

            除了 68 個(gè)用戶定義的單端信號(hào)或者 34 個(gè)用戶定義的差分對(duì)外,LPC 連接器還提供了 1 個(gè)串行收發(fā)器對(duì)、時(shí)鐘、JTAG 接口和 1 個(gè)作為基礎(chǔ)智能平臺(tái)管理接口 (IPMI) 命令可選支持的 I2C 接口。而 HPC 連接器則提供了 160 個(gè)用戶定義的單端信號(hào)(或者 80 個(gè)用戶定義的差分對(duì))、10 個(gè)串行收發(fā)器對(duì)以及更多時(shí)鐘。

            HPC 和 LPC 連接器都使用相同的機(jī)械式連接器,唯一的差別在于實(shí)際上移植哪些信號(hào),因此采用 LPC 連接器的卡也能插入 HPC 處,而且只要適當(dāng)設(shè)計(jì),HPC 卡在插入 LPC 處時(shí)還能提供諸多派生功能。

            圖 2 顯示的是賽靈思的一個(gè)實(shí)例板,該板采用了 Virtex'-6 FPGA和兩種 FMC連接器(一個(gè) LPC 和一個(gè) HPC)。


          圖 2:ML605 評(píng)估板

            FMC 標(biāo)準(zhǔn)支持眾多現(xiàn)有的業(yè)界標(biāo)準(zhǔn)載卡尺寸,包括 VME、CompactPCI、VXS、VPX、VPX-REDI、CompactPCI Express、AdvancedTCA 以及 AMC 等。FMC標(biāo)準(zhǔn)還定義了一系列環(huán)境配置,包括低成本商用級(jí)尺寸乃至強(qiáng)化的傳導(dǎo)式散熱選項(xiàng)。

            
          FMC的市場(chǎng)機(jī)會(huì)

            將 FMC 標(biāo)準(zhǔn)和 FPGA 的多樣性結(jié)合在一起,可帶來(lái)一系列有趣的市場(chǎng)和應(yīng)用商機(jī)。航空與國(guó)防、醫(yī)療、工業(yè)、電信、視頻及其它等市場(chǎng)通常高度依靠 FPGA來(lái)實(shí)現(xiàn)其數(shù)字信號(hào)處理 (DSP) 性價(jià)比優(yōu)勢(shì),并滿足各種不同的 I/O 要求。不過(guò),過(guò)去每個(gè)市場(chǎng)及給定市場(chǎng)中的每個(gè)應(yīng)用都需要不同的板設(shè)計(jì)。

            FMC 標(biāo)準(zhǔn)的出現(xiàn)將板設(shè)計(jì)進(jìn)行了模塊化,分為處理引擎(載卡)和 I/O 引擎(FMC 模塊)兩大部分。設(shè)計(jì)人員現(xiàn)在能重復(fù)利用單個(gè)載卡(包括一個(gè)或多個(gè)FPGA 以及適當(dāng)數(shù)量和類型的 FMC 連接器和板)作為多種不同市場(chǎng)和應(yīng)用的基礎(chǔ)。此外,借助性能更高、功能更強(qiáng)的新型 FPGA 產(chǎn)品,設(shè)計(jì)人員能在確保與現(xiàn)有 FMC 模塊全面兼容的同時(shí)輕松升級(jí)到新載卡。

            粗略看看上述部分市場(chǎng)的尺寸、I/O 及處理要求,我們能看出問(wèn)題的所在。舉例來(lái)說(shuō),廣播視頻應(yīng)用通常需要接入 4 個(gè)或更多 SDI 連接器、10 Gb 以太網(wǎng)及其它收發(fā)器連接器;就無(wú)線基站應(yīng)用而言,基帶處理通常采用處理速度達(dá) 3.12510 Gb/s、尺寸為 ATCA/AMC 的板,這就需要將 FPGA 和傳統(tǒng) DSP 進(jìn)行組合,并在無(wú)線電前端上采用高速 I/O(100500 MHz、1216 位分辨率);航空與國(guó)防市場(chǎng)傾向于采用 VME 和 cPCI 尺寸的板,但處理要求大不相同。舉例來(lái)說(shuō),雷達(dá)處理的采樣率類似于無(wú)線電應(yīng)用,但通常分辨率更高。而軍事衛(wèi)星基站應(yīng)用通常使用更高的采樣率,但分辨率較低(814 位)。

            顯然,單就我們所說(shuō)的少數(shù)一些應(yīng)用而言,處理和 I/O 要求就已經(jīng)千差萬(wàn)別了,因此我們可以想象,采用 FPGA 的各種不同應(yīng)用會(huì)有多大不同的需求。盡管我們比較清楚地了解了這些應(yīng)用的不同處理要求,且得到了成熟板行業(yè)提供的豐富的硬件解決方案的支持,但此前工程師們不得不花費(fèi)大量寶貴的設(shè)計(jì)時(shí)間來(lái)創(chuàng)建定制硬件或處理復(fù)雜(經(jīng)常也是不必要的)總線協(xié)議問(wèn)題。

            FMC 標(biāo)準(zhǔn)將 FPGA 與 I/O 引擎相分離,從而解決了上述問(wèn)題。它使設(shè)計(jì)人員能從專門支持其終端應(yīng)用的大量 COTS 產(chǎn)品中選擇適當(dāng)尺寸的適當(dāng)處理引擎和適當(dāng)?shù)?I/O 引擎。此外,F(xiàn)MC 標(biāo)準(zhǔn)還使廠商能為評(píng)估和開發(fā)創(chuàng)建統(tǒng)一的系統(tǒng),隨后還能量產(chǎn)部署,從而大幅降低成本,并顯著縮短了產(chǎn)品上市時(shí)間。

            
          總結(jié)

            FMC 標(biāo)準(zhǔn)是 FPGA 開發(fā)人員設(shè)計(jì)開發(fā)選擇中的一大轉(zhuǎn)變。從事微處理器和傳統(tǒng) DSP 設(shè)計(jì)工作的設(shè)計(jì)人員幾十年來(lái)一直受益于可擴(kuò)展開發(fā)解決方案的靈活性優(yōu)勢(shì),而現(xiàn)在,F(xiàn)MC 標(biāo)準(zhǔn)則為 FPGA 領(lǐng)域的開發(fā)人員帶來(lái)了模塊化設(shè)計(jì)的強(qiáng)大實(shí)力。

            COTS 板廠商通過(guò)重復(fù)使用硬件設(shè)計(jì),可加速并簡(jiǎn)化產(chǎn)品設(shè)計(jì)工作,進(jìn)而大幅降低產(chǎn)品開銷。這種高效性不僅有助于我們?yōu)楦鄳?yīng)用推出更好的產(chǎn)品,使客戶專注于實(shí)現(xiàn)其產(chǎn)品獨(dú)特的差異化,而且還能加速解決方案的市場(chǎng)部署。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();