新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA嵌入式的多比特自相關器設計

        基于FPGA嵌入式的多比特自相關器設計

        作者: 時間:2009-11-11 來源:網絡 收藏

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

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

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

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


        關鍵詞: FPGA 嵌入式 比特

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阜阳市| 静海县| 溧阳市| 安义县| 拉萨市| 禄劝| 漠河县| 平顺县| 民乐县| 临沂市| 光泽县| 友谊县| 道孚县| 云霄县| 家居| 班玛县| 鹰潭市| 武定县| 利辛县| 防城港市| 东山县| 犍为县| 化德县| 南乐县| 陆河县| 阿勒泰市| 云和县| 沈丘县| 祁东县| 金川县| 小金县| 望谟县| 潮安县| 长乐市| 宁安市| 绥棱县| 静海县| 宝兴县| 溧阳市| 鄯善县| 华亭县|