国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

可編程器件Microblaze的應(yīng)用與實現(xiàn)

2016-03-16 10:35劉軍偉中航工業(yè)西安航空計算技術(shù)研究所西安710065
電子測試 2016年1期

劉軍偉(中航工業(yè)西安航空計算技術(shù)研究所,西安,710065)

?

可編程器件Microblaze的應(yīng)用與實現(xiàn)

劉軍偉
(中航工業(yè)西安航空計算技術(shù)研究所,西安,710065)

摘要:MicroBlaze是基于Xilinx公司FPGA 的微處理器IP核,可以利用其便捷性優(yōu)化嵌入式系統(tǒng)設(shè)計,同時簡化硬件電路,提高系統(tǒng)性能。

關(guān)鍵詞:MicroBlaze;FPGA;IP核

Application and Realization of Microblaze Programmable Devices

Liu Junwei
(AVIC Computing Technique Research Institute,Xi’an,710065)

Abstract:MicroBlaze is based on the microprocessor IP core of Xilinx company,it can utilize the convenient optimization design of embedded system,and simplify the circuit and improve the performance of the system. Keywords:MicroBlaze;FPGA;IP core

0 引言

隨著可編程邏輯器件FPGA在信號數(shù)據(jù)處理領(lǐng)域日益廣泛的應(yīng)用,以FPGA為核心的架構(gòu),諸如FPGA+PowerPC、FPGA+DSP等架構(gòu)被廣泛采用,如何有效的利用FPGA自帶的內(nèi)部資源完成簡單的控制功能,從而減輕處理器的負擔,提高系統(tǒng)性能成為設(shè)計者設(shè)計時需要考慮的問題。

本文介紹了Xilinx公司FPGA的Microblaze IP核的體系結(jié)構(gòu)和性能,同時基于Microblaze IP核的基礎(chǔ)上,介紹了其在實際應(yīng)用上的實現(xiàn)事例。

1 Microblaze的體系結(jié)構(gòu)

MicroBlaze是基于Xilinx公司FPGA 的微處理器IP 核,和其它外設(shè)IP 核一起,可以完成可編程系統(tǒng)芯片(SOPC) 的設(shè)計。MicroBlaze 是Xilinx 的32 位RISC 軟核嵌入處理器,在ISE/XPS(EDK+SDK)開發(fā)環(huán)境中進行設(shè)計,廣泛適用于Spartan 和Virtex 系列的FPGA。一個FPGA 芯片內(nèi)部可以使用主從兩個或多個MicroBlaze處理器,而FPGA 最大的特點就是能夠縮短產(chǎn)品開發(fā)的周期,它的可編程配置特性可以將系統(tǒng)開發(fā)的風險降到最低。而Xilinx 公司的MicroBlaze 軟核處理器的優(yōu)點在于,不像ARM是由固定的硬芯片來實現(xiàn),用戶可以根據(jù)實際系統(tǒng)的需求添加必要的外設(shè)來實現(xiàn)基于MicroBlaze 的嵌入式可編程片上系統(tǒng),從而提高了設(shè)計的靈活性。MicroBlaze微處理器采用RISC 架構(gòu)和哈佛結(jié)構(gòu)的32位指令和數(shù)據(jù)總線,內(nèi)部有32個32位通用寄存器,2個特殊寄存器:PC指針和MSR狀態(tài)標志寄存器,可以按照字節(jié)、半字和字三種方式訪問寄存器。其中獨立的32位OPB指令總線和數(shù)據(jù)總線,可以訪問片外存儲器及其他外設(shè),獨立的32位LMB指令總線和數(shù)據(jù)總線,直接連接到FPGA內(nèi)部的RAM上進行高速的讀寫操作。簡單來說,通過MicroBlaze可以訪問可以全速執(zhí)行存儲在片上存儲器和外部存儲器中的程序,并訪問其中的數(shù)據(jù)。MicroBlaze的IP核結(jié)構(gòu)框圖如圖1所示。

圖1 MicroBlaze的IP核結(jié)構(gòu)框圖

MicroBlaze處理器同時具有8個輸入和8個輸出快速單一鏈路接口(FSL)。FSL通道是專用于單一方向的點到點的數(shù)據(jù)流傳輸接口。FLS和MicroBlaze 的接口寬度都是是32位。每一個FSL通道都可以發(fā)送和接收控制或數(shù)據(jù)字。MicroBlaze是一種大端存儲系統(tǒng)處理器,使用大端的格式來訪問存儲器,具體詳格式見圖2。同時MicroBlaze 可以響應(yīng)軟件和硬件中斷,進行異常處理,通過外加控制邏輯,可以擴展外部中斷,可通過FPGA的JTAG接口來調(diào)試處理器系統(tǒng)。

2 Microblaze微處理器的OPB總線與PLB總線

圖2 MicroBlaze的大端數(shù)據(jù)格式框圖

Microblaze微處理器構(gòu)建系統(tǒng)時,需要一些必要的IP核,其中比較重要的就是OPB和PLB總線接口。

2.1片上外設(shè)總線(OPB)

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

2.2處理器本機總線(PLB)

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

3 Microblaze的開發(fā)工具

Xilinx公司提供了EDK嵌入式開發(fā)套件可以進行MicroBlaze IP核的開發(fā)。EDK中還帶有一些外設(shè)接口的IP核,如LMB、OPB總線接口、外部存儲控制器、SDRAM控制器、UART、中斷控制器、定時器等。利用這些資源,可以構(gòu)建一個較為完善的嵌入式微處理器系統(tǒng)。在FPGA上設(shè)計的嵌入式系統(tǒng)層次結(jié)構(gòu)為5級??稍谧畹蛯佑布Y源上開發(fā)IP核,或利用已開發(fā)的IP核搭建嵌入式系統(tǒng)。軟件方面需開發(fā)IP核的設(shè)備驅(qū)動、應(yīng)用接口(API)和應(yīng)用層(算法)。通過標準總線接口(LMB總線和OPB總線的IP核),MicroBlaze就可以和各種外設(shè)IP核相連。EDK中提供的IP核均有相應(yīng)的設(shè)備驅(qū)動和應(yīng)用接口,設(shè)計者只需利用相應(yīng)的函數(shù)庫,就可以編寫自己的應(yīng)用軟件和算法程序。對于用戶自己開發(fā)的IP 核,需要自己編寫相應(yīng)的驅(qū)動和接口函數(shù)。

4 Microblaze的實際應(yīng)用事例

4.1設(shè)計思路

使用硬件開發(fā)測試邏輯,將作為測試設(shè)備激勵源的模塊的發(fā)送接口和模塊的接收用戶主機接口連接,同時使用線纜將兩端的接口連接。在Microblaze的基礎(chǔ)上開發(fā)外部激勵源中測試邏輯,功能如下:

(1)外部激勵源母板集成模塊連接器和MAX3232ESE驅(qū)動器,驅(qū)動器實現(xiàn)作為測試設(shè)備的UART串口引出;

(2)邏輯布隨機碼并按照約定格式并發(fā)送,單次發(fā)送啟動均由邏輯集成的MicroBlaze處理器控制;

(3)之后邏輯等待FC接收數(shù)據(jù),接收到數(shù)據(jù)后,由邏輯進行比對,將正確和錯誤結(jié)果使用不同的中斷上報給MicroBlaze處理器,處理器響應(yīng)中斷,并進行統(tǒng)計技術(shù),并通過UART接口現(xiàn)實輸出。

具體邏輯架構(gòu)圖如圖3所示:

圖3 邏輯開發(fā)框圖

4.2測試流程

具體測試流程如下:

(1)模塊上電后,處理器運行,并置軟件計數(shù)變量為0,之后讀取鏈路狀態(tài)(如果用戶鏈路狀態(tài)為閉環(huán)模式,則也需要讀取用戶鏈路狀態(tài));

(2)在告訴鏈路狀態(tài)均正常的情況下,發(fā)送第一次測試命令

到測試邏輯,測試邏輯啟動偽隨機碼布碼邏輯,并在發(fā)送的同時填入到比較緩沖中;

(3)等待接收數(shù)據(jù),在數(shù)據(jù)接收完成后,將接收緩沖中的數(shù)據(jù)和測試邏輯中的比較緩沖中的數(shù)據(jù)通過硬件進行讀取比較,比較完成后,根據(jù)結(jié)果上報中斷到處理器;

(4)處理器響應(yīng)中斷,并增加相應(yīng)的技術(shù)指,并按照約定頻率(比如10次正確輸出一次,單詞錯誤輸出并停止測試)通過UART輸出測試結(jié)果;

(5)通過PC端的超級中斷觀察串口輸出結(jié)果,并以此作為合格判據(jù)。

5 結(jié)束語

本文對FPGA 和MicroBlaze架構(gòu)、工作原理及具體應(yīng)用的實現(xiàn)方法分別進行了介紹。通過闡述,可知采用Xilinx公司FPGA的MicroBlaze 進行嵌入式系統(tǒng)設(shè)計,可以簡化硬件電路同時提高系統(tǒng)性能,在應(yīng)用上具有一定的價值。

參考文獻

[1] 劉永健.軟核嵌入處理器MicroBlaze [J].計算機與網(wǎng)絡(luò),2012.

[2] 何賓.王瑜. 基于Xilinx MicroBlaze多核嵌入式系統(tǒng)的設(shè)計[J].電子設(shè)計工程.2011.

劉軍偉,中航工業(yè)西安航空計算技術(shù)研究所,工程師

作者簡介