關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 簡單MicroBlaze微控制器的理念

        簡單MicroBlaze微控制器的理念

        作者: 時間:2010-05-03 來源:網絡 收藏

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


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

        軟件應用設計流程
        單個軟件描述文件(smm.xml)包含了啟動微應用開發工作所需的全部信息。開發可獨立于FPGA設計流程進行,甚至在任何FPGA設計實施之前就能啟動。


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


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

        圖4 SDK開發流程始于軟件定義文件

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


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


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


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


        我們可在C語言代碼中用while回路來處理延遲問題,不過這樣做不夠準確,而且還會影響編譯器的優化。更好的選擇是在FPGA中創建軟件可載入的32位計數器,以便在到達編程的延遲時觸發控制器中斷。

        寫入地址0x10,以根據用戶接口數據總線上的數據啟動定時器。隨后將等待中斷,以繼續執行。


        MicroBlaze寫入用戶接口地址0x0會觸發LCD控制器硬件接口,硬件接口的時序由HDL處理。用戶接口數據總線可捕獲指令或數據值。按鈕輸入能夠連接至用戶接口地址0x20。


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


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

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


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


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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 敦煌市| 石渠县| 改则县| 巴南区| 亳州市| 昌都县| 娄烦县| 晋江市| 吴江市| 莱西市| 河南省| 沙洋县| 永仁县| 玛沁县| 东辽县| 牡丹江市| 敖汉旗| 柘荣县| 定陶县| 伊宁县| 巴青县| 株洲县| 讷河市| 平乡县| 安岳县| 永安市| 宁德市| 图们市| 西安市| 浮梁县| 武强县| 布拖县| 安新县| 新田县| 子洲县| 丰镇市| 鹤岗市| 浏阳市| 织金县| 禄劝| 馆陶县|