新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 高速PCI信號(hào)采集卡設(shè)計(jì)與實(shí)現(xiàn)綜合實(shí)例之: FPGA內(nèi)部結(jié)構(gòu)設(shè)計(jì)

高速PCI信號(hào)采集卡設(shè)計(jì)與實(shí)現(xiàn)綜合實(shí)例之: FPGA內(nèi)部結(jié)構(gòu)設(shè)計(jì)

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

13.6內(nèi)部結(jié)構(gòu)設(shè)計(jì)

13.6.1構(gòu)框圖

基于的信號(hào)采集卡的核心設(shè)計(jì)部分是內(nèi)部結(jié)構(gòu)的邏輯設(shè)計(jì)。如圖13.15所示為本系統(tǒng)FPGA內(nèi)部結(jié)構(gòu)框圖。

本文引用地址:http://m.butianyuan.cn/article/201706/348784.htm

其中,信號(hào)接收器是接收采集信號(hào)的模塊,對(duì)LVTTL信號(hào)接口和LVDS信號(hào)接口輸入的信號(hào)進(jìn)行分析,并將獲得的信號(hào)送入下一個(gè)模塊。

是一個(gè)用于測(cè)試的模塊。通過產(chǎn)生一個(gè)已知的有序的信號(hào)序列送至信號(hào)接收器,最終進(jìn)入主機(jī)后進(jìn)行檢測(cè),即可得知整個(gè)傳輸過程的正確性。

雙口RAM用于實(shí)現(xiàn)信號(hào)的串并轉(zhuǎn)換,使輸入的信號(hào)轉(zhuǎn)換成32位數(shù)據(jù)位寬,同時(shí)實(shí)現(xiàn)時(shí)鐘域的轉(zhuǎn)換。另外通過乒乓操作實(shí)現(xiàn)數(shù)據(jù)的有序存取。

圖13.15FPGA內(nèi)部結(jié)構(gòu)框圖

數(shù)據(jù)控制模塊用于產(chǎn)生雙口RAM和的地址總線、數(shù)據(jù)總線和控制總線,是雙口RAM模塊與的橋梁。實(shí)現(xiàn)雙口RAM至正確的數(shù)據(jù)轉(zhuǎn)移。同時(shí),數(shù)據(jù)控制模塊還負(fù)責(zé)從SDRAM控制器讀取數(shù)據(jù),并送至FPGA內(nèi)的FIFO緩沖區(qū)中,用于PCI總線交互。

SDRAM控制器是FPGA內(nèi)用于外部SDRAM控制的模塊。

PCI本地控制器是FPGA內(nèi)用于控制本地總線交互的模塊。

PLL是AlteraFPGA內(nèi)提供的模擬延遲鎖相環(huán)模塊,可以實(shí)現(xiàn)系統(tǒng)時(shí)鐘的倍頻、分頻及延遲等時(shí)鐘控制操作。通過該模塊可以實(shí)現(xiàn)系統(tǒng)內(nèi)不同時(shí)鐘域的時(shí)鐘分配。

13.6.2設(shè)計(jì)方法

在實(shí)際的設(shè)計(jì)中,主要通過自行編寫模塊、調(diào)用宏模塊和引用開源模塊3種方式來實(shí)現(xiàn)模塊的設(shè)計(jì)。

1.自行編寫模塊

自行編寫模塊就是完全通過自行編寫的邏輯完成模塊的設(shè)計(jì),可以使用硬件編程語言、狀態(tài)機(jī)、電路圖等方式實(shí)現(xiàn)。

本設(shè)計(jì)中的PCI本地控制器、信號(hào)接收器、、數(shù)據(jù)控制等模塊都是使用Verilog硬件語言自行編寫設(shè)計(jì)的。

2.調(diào)用宏模塊

在邏輯設(shè)計(jì)中,Altera已經(jīng)為設(shè)計(jì)者提供了豐富的基本邏輯組件的模塊。設(shè)計(jì)者只需使用宏模塊向?qū)нM(jìn)行調(diào)用,配置相應(yīng)的參數(shù),即可得到符合設(shè)計(jì)需求的模塊。

本設(shè)計(jì)中的雙口RAM、PLL及FIFO緩沖模塊正是通過調(diào)用CycloneFPGA支持的相應(yīng)的LPM_RAM_DP、ALTPLL和LPM_FIFO+宏模塊實(shí)現(xiàn)的。如圖13.16所示為Altera宏模塊向?qū)Ч芾砥鹘缑妗?/p>

圖13.16Altera宏模塊向?qū)Ч芾砥?/p>

3.引用開源模塊

除了設(shè)計(jì)者自行編寫模塊及宏模塊向?qū)Ч芾砥髦刑峁┑哪K以外,設(shè)計(jì)者還可以引用開源的模塊加入到系統(tǒng)的設(shè)計(jì)中。開源的模塊往往是一些廠家對(duì)一些常見的外圍器件提供的控制模塊。

本設(shè)計(jì)中使用的SDRAM控制器正是引用了成熟的開源模塊進(jìn)行的設(shè)計(jì),Altera為SDRAM控制器給出了白皮書和開源模塊。設(shè)計(jì)者只需將該開源模塊引用至系統(tǒng)的設(shè)計(jì)中,進(jìn)行一定的修改即可使用。



評(píng)論


相關(guān)推薦

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

關(guān)閉