基于OpenBus系統(tǒng)的FPGA嵌入式設(shè)計(jì)與實(shí)現(xiàn)
在軟件平臺(tái)搭建器SwPlatform完成LED器件底層硬件驅(qū)動(dòng)代碼的基礎(chǔ)上,用C語(yǔ)言設(shè)計(jì)應(yīng)用程序代碼,實(shí)現(xiàn)32—bit RISC Processor TSK3000A處理器控制LED器件的功能。NanoBoard 3000上有一組共8個(gè)LED(RGBUSERLEDS)。程序代碼擬控制LED7的亮度值為最大值的一半,LED0的亮度每隔一定的時(shí)間,逐漸增強(qiáng)然后熄滅。程序代碼清單如下:
上述程序中的led_open函數(shù)、led_set_intensity函數(shù)都可以在Altium Designer軟件的知識(shí)中心面板查看到其具體含義和調(diào)用方法。
2.3 FPGA管腳映射與設(shè)計(jì)下載
FPGA設(shè)計(jì)必不可少的一步是通過(guò)約束文件,建立設(shè)計(jì)端口與實(shí)際目標(biāo)FPGA器件真實(shí)引腳之間的連接關(guān)系。約束文件中詳細(xì)列出了端口到引腳的映射及其它相關(guān)的設(shè)計(jì)特性,如時(shí)鐘分配等。配置管理器會(huì)自動(dòng)打開(kāi),顯示檢測(cè)到的約束文件并添加到工程中,約束配置文件就創(chuàng)建完成了。連接NanoBoard 3000與裝有Altium Designer軟件的電腦,成功下載設(shè)計(jì)后,占用的資源情況,如圖6所示。在NanoBoard 3000開(kāi)發(fā)板上可以看到,最左側(cè)的LED7的亮度是程序中設(shè)定的數(shù)值,而最右側(cè)的LED0亮度則是逐漸變化的,LED的亮暗變化情況與設(shè)計(jì)意圖一致。本文引用地址:http://www.ex-cimer.com/article/189725.htm
3 結(jié)論
基于OpenBus系統(tǒng)的FPGA嵌入式設(shè)計(jì)沒(méi)有硬件描述語(yǔ)育的編程,OpenBus文件的設(shè)計(jì)像繪制原理圖一樣方便,軟件平臺(tái)搭建器SwPlatform為FPGA嵌入式設(shè)計(jì)完成了底層的驅(qū)動(dòng)代碼。結(jié)合Altium Designer的創(chuàng)新電子平臺(tái)NanoBoard3000可片內(nèi)在線(xiàn)調(diào)試,能及時(shí)發(fā)現(xiàn)設(shè)計(jì)中的問(wèn)題,節(jié)約項(xiàng)目的研發(fā)與設(shè)計(jì)時(shí)間。這種設(shè)計(jì)方法相對(duì)傳統(tǒng)的FPGA設(shè)計(jì)開(kāi)發(fā),設(shè)計(jì)過(guò)程大大簡(jiǎn)化,符合FPGA嵌入式“軟”設(shè)計(jì)的設(shè)計(jì)應(yīng)用發(fā)展趨勢(shì)。
評(píng)論