新聞中心

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

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

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

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

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

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

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


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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉