根據(jù)NiosII的流水燈設(shè)計(jì)28頁(yè)_第1頁(yè)
根據(jù)NiosII的流水燈設(shè)計(jì)28頁(yè)_第2頁(yè)
根據(jù)NiosII的流水燈設(shè)計(jì)28頁(yè)_第3頁(yè)
根據(jù)NiosII的流水燈設(shè)計(jì)28頁(yè)_第4頁(yè)
根據(jù)NiosII的流水燈設(shè)計(jì)28頁(yè)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于NiosII的流水燈設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康模夯贜iosII設(shè)計(jì)一個(gè)8位LED流水燈系統(tǒng),要求掌握SOPC系統(tǒng)設(shè)計(jì)方法,了解SDRAM和FLASH芯片的接口特性,掌握QuartusII軟件的使用方法以及NiosII EDS設(shè)計(jì)應(yīng)用軟件的基本流程。二、實(shí)驗(yàn)條件:1. 安裝WindowsXP系統(tǒng)的PC機(jī);2. 安裝QuartusII9.0 EDA軟件;3. 安裝NiosII EDS 9.0 軟件;4. GW48型SOPC開(kāi)發(fā)平臺(tái);三、實(shí)驗(yàn)要求:設(shè)計(jì)過(guò)程包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分內(nèi)容。使用SOPC Builer工具建立處理器系統(tǒng),使NiosII處理器成功連接SDRAM、FLAHS以及連接LED的PI

2、O驅(qū)動(dòng)模塊。通過(guò)嵌入式鎖相環(huán)獲得穩(wěn)定的100MHz時(shí)鐘為系統(tǒng)和SDRAM使用。系統(tǒng)時(shí)鐘復(fù)位端連接LEDSDRAM接口FLASH接口使用按鍵1實(shí)現(xiàn)系統(tǒng)復(fù)位(模式7,按鍵為單脈沖,接口為IO0):復(fù)位用LED陣列顯示流水燈效果:注:要求使用LED1LED8。對(duì)應(yīng)的IO編號(hào)分別為(IO60、IO67、IO65、IO63、IO70、IO73、IO75、IO79)。四、實(shí)驗(yàn)步驟:1. 打開(kāi)QuartusII軟件,建立一個(gè)新的工程:?jiǎn)螕舨藛蜦ileNew Project Wizard輸入工程的路徑、工程名以及頂層實(shí)體名。單擊Next>按鈕,出現(xiàn)以下窗口由于我們建立的是一個(gè)空的項(xiàng)目,所以沒(méi)有包含已有文

3、件,單擊Next>繼續(xù)。設(shè)置器件信息:?jiǎn)螕鬘ext>,指定第三方工具:這里我們不指定第三方EDA工具,單擊Next>后結(jié)束工程建立。2. 建立SOPC系統(tǒng)單擊ToolSOPC Builder菜單項(xiàng),啟動(dòng)SOPC Builder配置工具。在彈出的系統(tǒng)命名對(duì)話框中為系統(tǒng)名稱命名“MySystem”,并選擇目標(biāo)描述語(yǔ)言為“VHDL”,點(diǎn)擊OK保存。建立并配置處理器IP核。雙擊或選擇IP核庫(kù)列表中的NiosII Processor為系統(tǒng)添加NiosII處理器。系統(tǒng)將彈出如下對(duì)話框要求用戶對(duì)處理器情況進(jìn)行配置,此時(shí)我們先選擇Finish默認(rèn)系統(tǒng)的配置。右鍵處理器更改其名稱為“MyCPU

4、”。本設(shè)計(jì)所使用的存儲(chǔ)器是核心板載的SDRAM(K4S561632)和FLASH(AM29VL065D),所以需要通過(guò)為系統(tǒng)添加相關(guān)的IP核來(lái)驅(qū)動(dòng)。雙擊IP核列表中的Memories and Memory Controllers/SDRAM/SDRAM Controller將彈出以下的SDRAM控制器配置窗口,根據(jù)板載的SDRAM外圍參數(shù),按以下數(shù)據(jù)填入。點(diǎn)擊Next填寫(xiě)SDRAM的延時(shí)參數(shù)(默認(rèn)參數(shù)),點(diǎn)擊Finish完成。右鍵修改SDRAM的名稱“SDRAM”。 如下圖雙擊IP核列表中的Library/Bridges and Adapters/Avalon-MM Tristate Brid

5、ge為系統(tǒng)添加鏈接FLASH的三態(tài)橋IP核。在彈出的對(duì)話中中直接點(diǎn)擊Finish。雙擊IP核列表中的Library/Memories and Memory Controllers/Flash/Flash MemoryInterface(CFI)為系統(tǒng)添加FLASH界面IP核,并按照下圖填入描述參數(shù)。點(diǎn)擊Next填入時(shí)序參數(shù),并點(diǎn)擊Finish完成參數(shù)配置。修改此IP核實(shí)例名稱為“FLASH”,如下圖。 配置IP核之間的連接關(guān)系點(diǎn)擊菜單System/Auto-Assign Base Addresses完成存儲(chǔ)器地址分配。在此雙擊處理器IP核實(shí)例“MyCPU”配置復(fù)位地址和異常中斷地址,并點(diǎn)擊Fi

6、nish完成配置,如下圖。更改處理器的工作時(shí)鐘頻率為100MHz,如下圖。雙擊IP核列表中的Library/PIO,添加PIO模塊,按照下圖配置(默認(rèn)配置)并更名為“LED”。建議再次點(diǎn)擊菜單System/Auto-Assign Base Addresses重新對(duì)地址分配。到此,SOPC系統(tǒng)的配置工作已經(jīng)完成,點(diǎn)擊Generate按鈕生成SOPC系統(tǒng),系統(tǒng)生成完畢并成功后點(diǎn)擊Exit推出SOPC Builder環(huán)境。3. 建立系統(tǒng)電路圖單擊FileNew菜單項(xiàng),選擇彈出窗口中的Block Diagram/Schematic File,單擊OK按鈕以建立打開(kāi)空的圖形輸入文件,注意此文件并沒(méi)有在硬

7、盤(pán)中保存。雙擊圖形輸入?yún)^(qū)域的空白處,選擇彈出窗口中的SOPC系統(tǒng)模塊,點(diǎn)擊OK按鈕添加到圖形輸入?yún)^(qū)域。添加鎖相環(huán)。點(diǎn)擊菜單Tools/MegaWizard Plug-In Manager并在彈出的對(duì)話框中選擇“Create a new custom megafunction variation”點(diǎn)擊Next繼續(xù)。 如下圖選擇鎖相環(huán)IP核,并對(duì)其命名“MyPLL”,點(diǎn)擊Next進(jìn)入鎖相環(huán)的設(shè)定環(huán)節(jié)。按照下圖設(shè)定鎖相環(huán)的輸入頻率為20MHz,點(diǎn)擊Next繼續(xù)。清除彈出對(duì)話框的所有選項(xiàng),以此簡(jiǎn)化對(duì)鎖相環(huán)的控制,點(diǎn)擊Next。對(duì)彈出的對(duì)話框做如下設(shè)置,點(diǎn)擊Next繼續(xù)。對(duì)彈出的對(duì)話框,配置c0時(shí)鐘頻率

8、為輸入時(shí)鐘的5倍(100MHz),如下圖,點(diǎn)擊Next繼續(xù)。出現(xiàn)c1時(shí)鐘配置頁(yè)面后,不選擇此時(shí)鐘輸出,直接點(diǎn)擊Next繼續(xù)。彈出c2時(shí)鐘配置頁(yè)面后,對(duì)其做如下配置,用于SDRAM的時(shí)鐘(頻率為100MHz,移相為-63°),點(diǎn)擊Next繼續(xù)。 到此配置過(guò)程完成,點(diǎn)擊Finish生成鎖相環(huán)。 連接鎖相環(huán)到電路中。雙擊圖形輸入?yún)^(qū)域,選擇生成的鎖相環(huán),添加到電路中。再次雙擊圖形輸入空白區(qū)域,如下圖輸入引腳類(lèi)型“input”添加輸入和輸出引腳,按照?qǐng)D示連接并對(duì)引腳命名。(添加輸出引腳時(shí)輸入“output”,雙向引腳“bidir”)連接其他引腳。根據(jù)SOPC系統(tǒng)端口的方向依次添加各引腳并按照下

9、圖命名(復(fù)位端用到了一個(gè)反相器,鍵入名稱“NOT”即可獲得)。端口連接和命名完成之后點(diǎn)擊保存按鈕。引腳鎖定。點(diǎn)擊Processing/Start Compilation編譯當(dāng)前工程,以獲得電路的引腳信息。編譯完成之后,點(diǎn)擊菜單Assignments/Assignment Editor對(duì)引腳進(jìn)行鎖定。鎖定方式如下表所示:引腳名稱鎖定位置SD_ADDR0PIN_R14SD_ADDR1PIN_R15SD_ADDR2PIN_R16SD_ADDR3PIN_T16SD_ADDR4PIN_U13SD_ADDR5PIN_U14SD_ADDR6PIN_U15SD_ADDR7PIN_V14SD_ADDR8PIN_

10、V15SD_ADDR9PIN_W14SD_ADDR10PIN_W15SD_ADDR11PIN_W16SD_ADDR12PIN_AA12SD_BA0PIN_Y19SD_BA1PIN_Y20SD_CASPIN_AA15SD_CKEPIN_Y22SD_CLKPIN_Y21SD_CSnPIN_AA17SD_DQ0PIN_M15SD_DQ1PIN_M16SD_DQ2PIN_M18SD_DQ3PIN_M19SD_DQ4PIN_N15SD_DQ5PIN_N21SD_DQ6PIN_N22SD_DQ7PIN_P15SD_DQ8PIN_P17SD_DQ9PIN_P18SD_DQ10PIN_P19SD_DQ11PI

11、N_P20SD_DQ12PIN_P21SD_DQ13PIN_P22SD_DQ14PIN_R18SD_DQ15PIN_R19SD_DQM0PIN_Y14SD_DQM1PIN_Y17SD_RASnPIN_AA16SD_WEnPIN_AA14FLASH_ADDR0PIN_M5FLASH_ADDR1PIN_M6FLASH_ADDR2PIN_M7FLASH_ADDR3PIN_M8FLASH_ADDR4PIN_N1FLASH_ADDR5PIN_N2FLASH_ADDR6PIN_N3FLASH_ADDR7PIN_N4FLASH_ADDR8PIN_N5FLASH_ADDR9PIN_N6FLASH_ADDR10

12、PIN_P1FLASH_ADDR11PIN_P2FLASH_ADDR12PIN_P4FLASH_ADDR13PIN_P5FLASH_ADDR14PIN_P6FLASH_ADDR15PIN_R1FLASH_ADDR16PIN_R2FLASH_ADDR17PIN_R4FLASH_ADDR18PIN_R5FLASH_ADDR19PIN_R6FLASH_ADDR20PIN_R11FLASH_ADDR21PIN_T7FLASH_ADDR22PIN_T8FLASH_CSnPIN_W11FLASH_DATA0PIN_R7FLASH_DATA1PIN_R8FLASH_DATA2PIN_T1FLASH_DATA

13、3PIN_T2FLASH_DATA4PIN_T3FLASH_DATA5PIN_T5FLASH_DATA6PIN_T6FLASH_DATA7PIN_U1FLASH_RDnPIN_W9FLASH_RSTnPIN_Y6FLASH_WRnPIN_Y5CLKPIN_L1RSTPIN_AB15LED0PIN_AB16LED1PIN_AB11LED2PIN_AB7LED3PIN_AB19LED4PIN_A8LED5PIN_A5LED6PIN_A3LED7PIN_Y10鎖定完成后保存引腳鎖定文件。 點(diǎn)擊菜單Assignments/Device將彈出以下對(duì)話框,點(diǎn)擊其中的“Device and Options”

14、按鈕,在彈出對(duì)話框的“Unused Pins”選項(xiàng)卡中設(shè)定未使用的引腳為“As input tri-stated with weak pull-up”。編譯工程。單擊ProcessingStart Compilation開(kāi)始編譯,編譯過(guò)程中如果有出錯(cuò)消息,請(qǐng)參考提示對(duì)工程進(jìn)行修改直到編譯完全成功為止。4. 軟件設(shè)計(jì)啟動(dòng)NiosII EDS軟件,選擇File/New/NiosII Application and BSP from Template新建一個(gè)應(yīng)用工程和板級(jí)描述包。在彈出的對(duì)話框中填入SOPC描述信息和工程名。在模板窗口中選擇“Blank Project”點(diǎn)擊Finish完成一個(gè)空應(yīng)用

15、工程的建立。在工程管理窗口中右鍵點(diǎn)擊“Led_Flow_Soft”,從彈出菜單中選擇新建源文件,如下圖。為源文件起名“main.cpp”已建立一個(gè)C+文件,點(diǎn)擊Finish確定。編寫(xiě)源文件:保存工程后點(diǎn)擊Project/Build All編譯工程。點(diǎn)擊菜單項(xiàng)NiosII/QuartusII Programmer,打開(kāi)QuartusII編程下載對(duì)話框,將QuartusII工程生成的SOF文件下載到FPGA芯片中。下載成功后,開(kāi)發(fā)板就構(gòu)造成功了一個(gè)NiosII系統(tǒng),我們需要把流水燈程序下載到其中的Flash中實(shí)現(xiàn)流水燈效果。注意下載后不要斷電,后續(xù)的Flash下載過(guò)程需要保證NiosII系統(tǒng)常駐在

16、FPGA中。點(diǎn)擊菜單項(xiàng)NiosII/Flash Programmer,打開(kāi)Flash編程下載對(duì)話框。點(diǎn)擊新建菜單,指定板級(jí)描述文件的位置(默認(rèn)位置在工程目錄的software文件夾中)。添加程序下載文件到對(duì)話框中,下載文件后綴名為.elf。 點(diǎn)擊Start即進(jìn)行下載。程序下載無(wú)誤即可看到LED的流水燈效果。五、實(shí)驗(yàn)結(jié)果附:1. 參考代碼:-制作人:程鴻亮-#include "system.h"#include "alt_types.h"#include "unistd.h"#include "altera_avalon_pi

17、o_regs.h"int main()alt_u8 iData(1);alt_u8 i(0);while(1)if(i<7)iData=iData<<1;elseiData=iData>>1;IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE,iData);i=(+i)%14;usleep(100000);return 0;-2. 開(kāi)發(fā)系統(tǒng)I/O管腳映射表:引腳名稱引腳號(hào)引腳名稱引腳號(hào)I/O0AB15I/O40C13I/O1AB14I/O41C7I/O2AB13I/O42H3I/O3AB12I/O43U3I/O4AA20I/O44P3I/O5AA19I/O45F4I/O6AA18I/O46C10I/O7L19I/O47C16I/O8J14I/O48G20I/O9H15I/O49R20I/O10H14PIO60AB16I/O11G16PIO61AB17I/O12F15PIO62AB18I/O13F14PIO63AB19I/O14F13PIO64AB20I/O15L18PIO65AB7I/O16L17PIO66AB8I/O17K22PIO67AB11I/O18K21PIO68A10I/O19K18PIO69A9I

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論