新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA嵌入式的多比特自相關(guān)器設(shè)計

基于FPGA嵌入式的多比特自相關(guān)器設(shè)計

作者: 時間:2009-11-11 來源:網(wǎng)絡(luò) 收藏

FLASH芯片 用于保存NiosⅡ中運行的程序代碼和中的配置數(shù)據(jù)。在SoPC Builder中定制NiosⅡ系統(tǒng)時集成了CFI(通用FLASH接口)控制器。這樣就可以很方便地使用FLASH芯片;SDRAM通常用于需要大量易失性存儲器且成本要求高的的應(yīng)用系統(tǒng)。SDRAM比較便宜,但需要實現(xiàn)刷新操作、行列管理、不同延遲和命令序列等邏輯。NiosⅡ系統(tǒng)中集成的SDRAM芯片接口能夠處理所有的SDRAM協(xié)議要求,使SDRAM的使用方便。
CLOCK時鐘模塊,通過內(nèi)部自帶的數(shù)字鎖相環(huán)將開發(fā)板上的晶振(50 MHz)提供的信號分別提供給NiosⅡ處理器和外部的SDRAM作為時鐘。
Interface在該設(shè)計中為了方便地驗證算法的正確,采用JTAG_UART接口實現(xiàn)PC和NiosⅡ系統(tǒng)之間的串行通信,通過在程序中調(diào)用相關(guān)驅(qū)動函數(shù)傳輸數(shù)據(jù),可以在集成開發(fā)環(huán)境IDE的Console窗口中觀察到運行數(shù)據(jù)。
A/D轉(zhuǎn)換器采用串行12位A/D轉(zhuǎn)換器ADS7822,其最高采樣率位75 KS/s,將它設(shè)置為掛接在AVALON總線上的從設(shè)備,通過NiosⅡ操作系統(tǒng)發(fā)起詢問傳輸獲取數(shù)據(jù)。
鍵盤 用于用戶輸入信息給處理器。
中有著豐富的存儲器資源,對于驗證的試驗板,AItera公司提供的CycloneⅡ系列FPGA芯片EP2C20F484C8含有18 752個LE(Logic elements,邏輯單元),52個RAM模塊,35個18×18乘法器模塊,4個數(shù)字鎖相環(huán),完全能實現(xiàn)中小規(guī)模的數(shù)字信號處理運算,在FPGA中的整體算法框圖如圖3所示。

2 外圍處理邏輯的設(shè)計與實現(xiàn)
2.1 “乒乓”RAM的設(shè)計與實現(xiàn)
為了保持?jǐn)?shù)據(jù)處理的連續(xù)性,這里采用“乒乓”RAM數(shù)據(jù)緩沖模式,即兩組功能能相互切換且長度相同的RAM。它的工作原理是:其中一組RAM在進(jìn)行儲存操作時;另一組RAM進(jìn)行讀取操作,并且讀取和存儲的速率相同,當(dāng)進(jìn)行存儲操作的RAM存儲滿,進(jìn)行讀取操作的RAM被清空時兩者被外部控制邏輯功能互換,這樣可以使兩組RAM能連續(xù)不斷地對A/D采集數(shù)據(jù)進(jìn)行緩沖處理。如圖4所示。
為了提高自相關(guān)計算的處理速度,每一組RAM均含有兩個完全相同的RAM。在存儲時存儲相同的數(shù)據(jù);在讀取數(shù)據(jù)時其中一個RAM輸入地址碼從0開始依次讀取數(shù)據(jù)形成序列x(n),另一個RAM在輸入地址碼加上k后讀取數(shù)據(jù)形成序列x(n-k),然后將兩列數(shù)列送人乘法器中進(jìn)行運算完成自相關(guān)運算。這樣雖然犧牲了FPGA中的存儲空間,但是較之于單RAM分時讀取數(shù)據(jù)的操作方式,提高了運算速率(減少2個總線讀取周期)。如圖5所示。

從式(4)可以看出:存儲器輸出的第一個數(shù)據(jù)為第一個記錄數(shù)據(jù)往后延遲k個記錄數(shù)據(jù)。這樣就會出現(xiàn)一個問題:在RAM中記錄的所有數(shù)據(jù)不能都用于自相關(guān)計算,當(dāng)RAM1_2讀取到倒數(shù)第N-1-k個數(shù)據(jù)時,RAM1_1的數(shù)據(jù)已經(jīng)讀取完畢,再進(jìn)行計算均為無效數(shù)據(jù)(見表1)。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: FPGA 嵌入式 比特

評論


相關(guān)推薦

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

關(guān)閉