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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CPCI總線(xiàn)的FPGA加載設(shè)計(jì)

          基于CPCI總線(xiàn)的FPGA加載設(shè)計(jì)

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

            0 引言

            由于具有極強(qiáng)的實(shí)時(shí)性和并行處理能力,F(xiàn)PGA芯片在無(wú)線(xiàn)通信、信號(hào)處理等領(lǐng)域得到了廣泛應(yīng)用。

            作為一種半定制電路,F(xiàn)PGA 的使用非常靈活,對(duì)于同一片F(xiàn)PGA,通過(guò)加載不同的編程數(shù)據(jù)可以產(chǎn)生不同的電路功能。但是,由于基于靜態(tài)只讀存儲(chǔ)器(SRAM,Static Random Access Memory)的架構(gòu),F(xiàn)PGA 掉電后就變?yōu)榘灼?,再次上電時(shí)需要EPROM 芯片對(duì)其進(jìn)行加載。對(duì)于需要切換算法的場(chǎng)景,就需要通過(guò)上位機(jī)對(duì)其進(jìn)行。本文在深入分析了FPGA 配置流程和理解CPCI 總線(xiàn)的基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)了基于CPCI 總線(xiàn)的FPGA

            1 硬件設(shè)計(jì)

            系統(tǒng)中需要對(duì)三片Virtex5 系列的芯片進(jìn)行,整個(gè)硬件結(jié)構(gòu)框圖如圖1 所示。Spartan-3E與PCI9656直接相連,作為主控制芯片Spartan-3E一方面接收來(lái)自CPCI 總線(xiàn)的數(shù)據(jù),對(duì)V5 芯片進(jìn)行參數(shù)下載、動(dòng)態(tài)加載等;另一方面接收V5 芯片的傳遞來(lái)的各類(lèi)數(shù)據(jù),根據(jù)上層軟件的請(qǐng)求,將各類(lèi)狀態(tài)信息或?qū)崟r(shí)處理數(shù)據(jù)上傳到工控機(jī)。

            

            2 PCI9656 芯片介紹

            PCI 接口協(xié)議比較復(fù)雜,接口電路實(shí)現(xiàn)起來(lái)較為困難,在設(shè)計(jì)基于PCI或的數(shù)字設(shè)備時(shí),采用各公司提供的通用PCI I/O 芯片或IP 核,可簡(jiǎn)化復(fù)雜的PCI 接口設(shè)計(jì)。PCI9656 是PLX 公司為高速PCI 總線(xiàn)應(yīng)用而設(shè)計(jì)的通用I/O 芯片,PCI9656配備DMA 引擎、可編程直接主控和直接從屬數(shù)據(jù)傳輸模式以及PCI 信息傳輸功能。零等待狀態(tài)突發(fā)操作,PCI 總線(xiàn)突發(fā)傳輸速度高達(dá)528 MB/s,局域總線(xiàn)突發(fā)傳輸速度高達(dá)264 MB/s.


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();