基于CPCI總線的FPGA加載設(shè)計(jì)
0 引言
由于具有極強(qiáng)的實(shí)時(shí)性和并行處理能力,F(xiàn)PGA芯片在無線通信、信號處理等領(lǐng)域得到了廣泛應(yīng)用。
作為一種半定制電路,F(xiàn)PGA 的使用非常靈活,對于同一片F(xiàn)PGA,通過加載不同的編程數(shù)據(jù)可以產(chǎn)生不同的電路功能。但是,由于基于靜態(tài)只讀存儲器(SRAM,Static Random Access Memory)的架構(gòu),F(xiàn)PGA 掉電后就變?yōu)榘灼?,再次上電時(shí)需要EPROM 芯片對其進(jìn)行加載。對于需要切換算法的場景,就需要通過上位機(jī)對其進(jìn)行動態(tài)加載。本文在深入分析了FPGA 配置流程和理解CPCI 總線的基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)了基于CPCI 總線的FPGA 動態(tài)加載。
1 硬件設(shè)計(jì)
系統(tǒng)中需要對三片Virtex5 系列的芯片進(jìn)行動態(tài)加載,整個(gè)硬件結(jié)構(gòu)框圖如圖1 所示。Spartan-3E與PCI9656直接相連,作為主控制芯片Spartan-3E一方面接收來自CPCI 總線的數(shù)據(jù),對V5 芯片進(jìn)行參數(shù)下載、動態(tài)加載等;另一方面接收V5 芯片的傳遞來的各類數(shù)據(jù),根據(jù)上層軟件的請求,將各類狀態(tài)信息或?qū)崟r(shí)處理數(shù)據(jù)上傳到工控機(jī)。
2 PCI9656 芯片介紹
PCI 接口協(xié)議比較復(fù)雜,接口電路實(shí)現(xiàn)起來較為困難,在設(shè)計(jì)基于PCI或CPCI總線的數(shù)字設(shè)備時(shí),采用各公司提供的通用PCI I/O 芯片或IP 核,可簡化復(fù)雜的PCI 接口設(shè)計(jì)。PCI9656 是PLX 公司為高速PCI 總線應(yīng)用而設(shè)計(jì)的通用I/O 芯片,PCI9656配備DMA 引擎、可編程直接主控和直接從屬數(shù)據(jù)傳輸模式以及PCI 信息傳輸功能。零等待狀態(tài)突發(fā)操作,PCI 總線突發(fā)傳輸速度高達(dá)528 MB/s,局域總線突發(fā)傳輸速度高達(dá)264 MB/s.
評論