• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MicroBlaze的16點fft的設計實現(xiàn)

    基于MicroBlaze的16點fft的設計實現(xiàn)

    作者: 時間:2015-01-09 來源:網(wǎng)絡 收藏

      一、的體系結(jié)構(gòu)

    本文引用地址:http://www.czjhyjcfj.com/article/267943.htm

      是基于Xilinx 公司FPGA 的微處理器和其它外設一起可以完成可編程系統(tǒng)芯片(SOPC)的設計 處理器采用RISC 架構(gòu)和哈佛結(jié)構(gòu)的32位指令和數(shù)據(jù)總線可以全速執(zhí)行存儲在片上存儲器和外部存儲器中的程序并訪問其中的數(shù)據(jù)。

      (1)內(nèi)部結(jié)構(gòu)。MicroBlaze 內(nèi)部有32個32位通用寄存器和2 個32位特殊寄存器——PC指針和MSR狀態(tài)標志寄存器。為了提高性能,MicroBlaze還具有指令和數(shù)據(jù)緩存所有的指令字長都是32位,有3個操作數(shù)和2種尋址模式。指令按功能劃分有邏輯運算、算術運算、分支、存儲器讀/寫和特殊指令等。指令執(zhí)行的流水線是并行流水線,它分為3級流水:取指、譯碼和執(zhí)行。

      (2)存儲結(jié)構(gòu)。MicroBlaze 是一種大端存儲系統(tǒng)處理器,使用如圖1所示的格式來訪問存儲器。

      (3)中斷控制和調(diào)試接口。MicroBlaze可以響應軟件和硬件中斷,進異常處理,通過外加控制邏輯,可以擴展外部中斷。利用微處理器調(diào)試模塊( MDM)IP核可通過JTAG 接口來調(diào)試處理器系統(tǒng)。多個MicroBlaze 處理器可以用1個MDM來完成多處理器調(diào)試。

      (4)快速單一鏈路接口。MicroBlaze處理器具有8個輸入和8個輸出快速單一鏈路接口(FSL) 。FSL通道是專用于單一方向的點到點的數(shù)據(jù)流傳輸接口。FLS 和MicroBlaze 的接口寬度是32位,每一個FSL通道都可以發(fā)送和接收控制或數(shù)據(jù)字。

      二、FFT處理器

      FFT處理器主要對數(shù)據(jù)進行蝶形運算及數(shù)據(jù)存取。設計采用基2蝶形運算器,包括存儲器ROM和RAM,控制器及地址產(chǎn)生單元等。其FFT的結(jié)構(gòu)模型如圖1所示。

      三、基于MicroBlaze和FPGA的開發(fā)

      (1)基本開發(fā)流程。

      應用EDK(嵌入式開發(fā)套件)可以進行MicroBlaze 的開發(fā)。工具包中集成了硬件平臺產(chǎn)生器、軟件平臺產(chǎn)生器、仿真模型生成器、軟件編譯器和軟件調(diào)試工具等。EDK 中提供一個集成開發(fā)環(huán)境XPS(Xilinx 平臺工作室) ,以便使用系統(tǒng)提供的所有工具,完成嵌入式系統(tǒng)開發(fā)的整個流程。EDK 中還帶有一些外設接口的IP核,如LMB、 OPB 總線接口、外部存儲控制器、SDRA M 控制器、UART、 中斷控制器、定時器等。利用這些資源,可以構(gòu)建一個較為完善的嵌入

      式微處理器系統(tǒng)。在FPGA上設計的嵌入式系統(tǒng)層次結(jié)構(gòu)為5 級。可在最低層硬件資源上開發(fā)IP核,或利用已開發(fā)的IP 核搭建嵌入式系統(tǒng),這是硬件開發(fā)部分;開發(fā)IP 核的設備驅(qū)動、應用接口(API)和應用層(算法),屬軟件開發(fā)內(nèi)容。通過標準總線接口LMB 總線和OP B總線的IP核,microBlaze 就可以和各種外設IP 核相連。EDK中提供的IP核均有相應的設備驅(qū)動和應用接口,使用者只需利用相應的函數(shù)庫就可以編寫自己的應用軟件和算法程序?qū)τ谟脩糇约洪_發(fā)的IP 核需要自己編寫相應的驅(qū)動和接口函數(shù)軟件設計流程。

      (2)FFT的地址產(chǎn)生單元。

      地址產(chǎn)生單元主要是跟蹤FFT運算進度,進而更好地調(diào)配存儲單元,及控制各相關模塊的運行。1.通過計數(shù)器來跟蹤記錄FFT計算的狀況。為方便對存儲單元操作,采用計數(shù)器來記錄FFT的計算情況。8點的FFT,每個單元包括4個數(shù)據(jù),所以用一個4位計數(shù)器Butterfly表示全部的運算狀態(tài)。一個2位級計數(shù)器Stage表示三級蝶形單元。當Butterfly計數(shù)為4時,級計數(shù)器Stage加1,當Stage計數(shù)為3時,表示FFT的計算操作完成。當Butterfly計數(shù)為15時,輸入輸出信號置“1”,反饋回控制器輸入輸出操作完成。

      2.ROM讀取的地址。旋轉(zhuǎn)因子Wkn存儲在ROM中,由實部cos(2kPi/8)和虛部sin(2kPi/8)兩部分組成,讀取由時鐘單元的信號控制。可以看出每一級參加蝶形運算的旋轉(zhuǎn)因子不同。

      3.RAM數(shù)據(jù)地址。在整個地址單元中,分配RAM中數(shù)據(jù)的地址是重點,8點蝶形運算共需l6個存儲單元,數(shù)據(jù)地址的產(chǎn)生遵循一定規(guī)則。

      四、結(jié)論

      本文采用FPGA 和MicroBlaze 進行嵌入式系統(tǒng)設計,文中在分析了FFT算法后,描述了運算的蝶形單元,地址生成單元及FFT的實現(xiàn)過程。從實際設計出發(fā),完成了基于FPGA的單精度浮點運算器的FFT設計,精度達到10-6。大大縮小了接收機體積,便于系統(tǒng)實現(xiàn)小型化、集成化。捕獲及跳頻同步等算法采用硬件實現(xiàn),加快了捕獲跟蹤速度。實驗結(jié)果表明FPGA系統(tǒng)設計是正確可行的。



    關鍵詞: MicroBlaze fft IP

    評論


    相關推薦

    技術專區(qū)

    關閉
    主站蜘蛛池模板: 崇仁县| 泸定县| 穆棱市| 济南市| 翼城县| 东辽县| 苍溪县| 凉城县| 台南市| 大安市| 临朐县| 克什克腾旗| 富民县| 神农架林区| 满城县| 宁津县| 西乡县| 宝山区| 山丹县| 三门峡市| 黄大仙区| 灵璧县| 万宁市| 海阳市| 凭祥市| 夏河县| 辉县市| 南涧| 宜都市| 安徽省| 秦安县| 赫章县| 伊宁县| 新泰市| 屏东市| 廊坊市| 博乐市| 友谊县| 金昌市| 汝南县| 西乡县|