<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于MicroBlaze軟核的FPGA片上系統設計

基于MicroBlaze軟核的FPGA片上系統設計

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

  (1)片上外設總線(xiàn)(OPB)

本文引用地址:http://dyxdggzs.com/article/267948.htm

  內核通過(guò)片上外設總線(xiàn)(OPB)來(lái)訪(fǎng)問(wèn)低速和低性能的系統資源。OPB是一種完全同步總線(xiàn),它的功能處于一個(gè)單獨的總線(xiàn)層級。它不是直接連接到處理器內核的。OPB接口提供分離的32位地址總線(xiàn)和32位數據總線(xiàn)。處理器內核可以借助“PLB to OPB”橋,通過(guò)OPB訪(fǎng)問(wèn)從外設。作為OPB總線(xiàn)控制器的外設可以借助“OPB to PLB”橋,通過(guò)PLB訪(fǎng)問(wèn)存儲器。

  

 

  (2)處理器本機總線(xiàn)(PLB)

  PLB接口為指令和數據一側提供獨立的32位地址和64位數據總線(xiàn)。PLB支持具有PLB總線(xiàn)接口的主機和從機通過(guò)PLB信號連接來(lái)進(jìn)行讀寫(xiě)數據的傳輸??偩€(xiàn)架構支持多主從設備。每一個(gè)PLB主機通過(guò)獨立的地址總線(xiàn)、讀數據總線(xiàn)和寫(xiě)數據總線(xiàn)與PLB連接。PLB從機通過(guò)共享但分離的地址總線(xiàn)、讀數據總線(xiàn)和寫(xiě)數據總線(xiàn)與PLB連接,對于每一個(gè)數據總線(xiàn)都有一個(gè)復雜的傳輸控制和狀態(tài)信號。為了允許主機通過(guò)競爭來(lái)獲得總線(xiàn)的所有權,有一個(gè)中央判決機構來(lái)授權對PLB的訪(fǎng)問(wèn)。

  (3)設備控制寄存器總線(xiàn)(DCR)

  設備控制寄存器總線(xiàn)(DCR)是為在CPU通用寄存器(GPRs)和DCR的從邏輯設備控制寄存器(DCRs)之間傳輸數據而設計的。

  

 

  3 的開(kāi)發(fā)

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

  在上設計的嵌入式系統層次結構為5級??稍谧畹蛯佑布Y源上開(kāi)發(fā)IP核,或或已開(kāi)發(fā)的IP核搭建嵌入式系統,這是硬件開(kāi)發(fā)部件;開(kāi)發(fā)IP核的設備驅動(dòng)、應用接口(API)和應用層(算法),屬軟件開(kāi)發(fā)內容。

  利用構建基本的嵌入式系統如圖5所示。通過(guò)標準總線(xiàn)接口—LMB總線(xiàn)和OPB總線(xiàn)的IP核,MicroBlaze就可以和各種外設IP核相連。

  EDK中提供的IP核均有相應的設備驅動(dòng)和應用接口,使用者只需利用相應的函數庫,就可以編寫(xiě)自己的應用軟件和算法程序。對于用戶(hù)自己開(kāi)發(fā)的IP核,需要自己編寫(xiě)相應的驅動(dòng)和接口函數。軟件設計流程如圖6所示。

  

 

  4 MicroBlaze的應用

  在軟件無(wú)線(xiàn)電系統中,一般采用“微處理器+協(xié)處理器”結構。微處理器一般使用通用DSP,主要完成系統通信和基帶處理等工作;協(xié)處理器用實(shí)現,主要完成同步和預處理等底層算法的運算任務(wù)。在本課題中,采用的基帶處理算法比較簡(jiǎn)單,應用軟處理器IP核代替DSP,在一片內就能實(shí)現整個(gè)系統的設計。這樣可以簡(jiǎn)化系統的結構,提高系統的整體性能。

  本課題的系統設計如圖7和圖8所示,FPGA片上系統主要完成兩個(gè)任務(wù)—發(fā)送和接收數據。對于發(fā)送任務(wù),FPGA完成硬件算法的初始化,接收串口數據,并將數據存儲在雙口SRAM中,系統硬件算法部分對雙口SRAM中數據進(jìn)行基帶處理,并將結果送給D/A轉換器。對于接收任務(wù),FPGA接收A/D轉換器送來(lái)的數據,進(jìn)行基帶處理,并將數據存儲在雙口SRAM中,把存儲在雙口SRAM中的數據通過(guò)串口發(fā)送回主機。

存儲器相關(guān)文章:存儲器原理




關(guān)鍵詞: MicroBlaze Xilinx FPGA

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>