<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>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 簡(jiǎn)單MicroBlaze微控制器的理念

簡(jiǎn)單MicroBlaze微控制器的理念

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

圖3 FPGA設計流程遵循標準的ISE FPGA實(shí)施流程,無(wú)須新工具或腳本


運行實(shí)施工具后,將額外生成一個(gè)文件,指示微所使用(smm_bd.bmm)的Block RAM的物理位置。

軟件應用設計流程
單個(gè)軟件描述文件(smm.xml)包含了啟動(dòng)微應用開(kāi)發(fā)工作所需的全部信息。開(kāi)發(fā)可獨立于FPGA設計流程進(jìn)行,甚至在任何FPGA設計實(shí)施之前就能啟動(dòng)。


從ISE 11.1開(kāi)始,SDK作為獨立選項提供,其包含完成軟件應用設計所需的全部工具、驅動(dòng)器、程序庫以及實(shí)用程序等。


圖4 顯示了以軟件定義文件開(kāi)始的標準的SDK開(kāi)發(fā)流程。微的地址空間包括8KB的RAM與用戶(hù)接口,在選擇UART選項的情況下,還包括UART寄存器空間。

圖4 SDK開(kāi)發(fā)流程始于軟件定義文件

設計實(shí)例
下面介紹一個(gè)LCD控制器參考設計實(shí)例,這種設計綜合采用了微控制器的各種特性。LCD控制器非常適用于小型微控制器實(shí)施,因為其硬件接口較慢,也比較,初始化序列較長(cháng),而且需要大量字符代碼。


通過(guò)綜合采用HDL和C代碼,設計可將消息輸出至電路板上的字符LCD屏。


HDL可處理硬件接口,而軟件則負責初始化和控制LCD屏。


LCD模塊的時(shí)序較慢,但同時(shí)需要指令或數據之間的較大延遲。例如,清空顯示的指令需要1.52ms的延遲,然后才能發(fā)出下一個(gè)指令或數據。部分指令需要40μs的延遲,其他的延遲則需要1μs。


我們可在C語(yǔ)言代碼中用while回路來(lái)處理延遲問(wèn)題,不過(guò)這樣做不夠準確,而且還會(huì )影響編譯器的優(yōu)化。更好的選擇是在FPGA中創(chuàng )建軟件可載入的32位計數器,以便在到達編程的延遲時(shí)觸發(fā)控制器中斷。

寫(xiě)入地址0x10,以根據用戶(hù)接口數據總線(xiàn)上的數據啟動(dòng)定時(shí)器。隨后將等待中斷,以繼續執行。


MicroBlaze寫(xiě)入用戶(hù)接口地址0x0會(huì )觸發(fā)LCD控制器硬件接口,硬件接口的時(shí)序由HDL處理。用戶(hù)接口數據總線(xiàn)可捕獲指令或數據值。按鈕輸入能夠連接至用戶(hù)接口地址0x20。


FPGA設計包括頂級模塊、LCD硬件時(shí)序模塊以及軟件可尋址可編程定時(shí)器。此外,文件還包括MicroBlaze微控制器的示例,運行頻率為66MHz。


C語(yǔ)言應用包含在單個(gè)文件中。該代碼不僅可實(shí)現MicroBlaze中斷、初始化LCD屏幕、管理不同的延遲情況、打印雙線(xiàn)LCD、等待按鈕輸入,同時(shí)還可清空屏幕并輸出新的消息。

微控制器的定制
由于微控制器采用MicroBlaze構建而成,因此設計人員將能獲得許多標準的外設和選項,以定制嵌入式系統。用戶(hù)可能希望部署不同的FPGA架構或添加更多主存儲器、浮點(diǎn)單元或標準的SPI或I2C外設。


定制既定的系統需要EDK。它包括眾多作為嵌入式項目的不同配置,可根據用戶(hù)要求進(jìn)行修改。例如,如果需要16KB的存儲器而不是標準的8KB存儲器,那么用戶(hù)可以打開(kāi)EDK項目,修改MicroBlaze RAM空間并生成新的網(wǎng)表、Block RAM存儲器和軟件描述文件。用戶(hù)隨后即可將新的文件添加至ISE和SDK項目中。


誠然,雖然簡(jiǎn)單的MicroBlaze微控制器不能滿(mǎn)足所有嵌入式設計的需要,但對于需要簡(jiǎn)單微控制器來(lái)高效提供控制功能的用戶(hù)來(lái)說(shuō)確實(shí)是非常好的選擇。此外,其還為希望共享和發(fā)布EDK設計的團隊提供了一種定則,那就是無(wú)論嵌入式設計的尺寸大小,僅需三個(gè)文件就能完成整個(gè)實(shí)施工作。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(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>