




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大連東軟信息學(xué)院電子工程系SoPC系統(tǒng)開發(fā)實(shí)驗(yàn)指導(dǎo)書引 言SoPC系統(tǒng)開發(fā)是電子信息工程(嵌入式系統(tǒng)工程方向)必修課,是以數(shù)字電路,程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)和數(shù)字系統(tǒng)設(shè)計(jì)為先導(dǎo)課程,為后續(xù)課程的實(shí)施,以及參加工作或者繼續(xù)深造奠定基礎(chǔ)的課程,也是一門實(shí)踐性很強(qiáng)的課程。通過這門課程的學(xué)習(xí),使學(xué)生熟練掌握SoPC系統(tǒng)開發(fā)的基本理論和基本方法;掌握SoPC系統(tǒng)開發(fā)的實(shí)踐方法,獲得實(shí)踐技能的基本訓(xùn)練;培養(yǎng)學(xué)生分析問題和解決問題的能力,深化和擴(kuò)展對(duì)課程內(nèi)容的理解。本門課程理論內(nèi)容包括:SoPC設(shè)計(jì)緒論,SoPC硬件設(shè)計(jì)流程,SoPC軟件設(shè)計(jì)流程,相關(guān)EDA工具,Nios體系結(jié)構(gòu),Avalon總線規(guī)范等。實(shí)踐
2、內(nèi)容包括:片上最小系統(tǒng)、片外SDRAM、PIO輸出LED、PIO輸入中斷、Interval Timer和基于SoPC的USB畫筆設(shè)計(jì)與實(shí)現(xiàn)等。本實(shí)驗(yàn)指導(dǎo)書旨在對(duì)SoPC系統(tǒng)開發(fā)課程的實(shí)驗(yàn)進(jìn)行規(guī)范,內(nèi)容包括:實(shí)驗(yàn)?zāi)康暮鸵蟆⒃O(shè)備或環(huán)境、實(shí)驗(yàn)原理、實(shí)驗(yàn)內(nèi)容等。學(xué)生可遵照本實(shí)驗(yàn)指導(dǎo)書內(nèi)容完成相應(yīng)實(shí)驗(yàn)并提交實(shí)驗(yàn)報(bào)告。設(shè)備與工具這章主要介紹本實(shí)驗(yàn)指導(dǎo)書中會(huì)用到的硬件設(shè)備。DE2-115 FPGA開發(fā)板一、概述DE2 系列平臺(tái)一直位居于國(guó)內(nèi)外 FPGA 教育開發(fā)平臺(tái)的領(lǐng)先地位。因其擁有適應(yīng)各種應(yīng)用需求的豐富接口及工業(yè)等級(jí)的設(shè)計(jì)資源,成為全球 1000 所名校實(shí)驗(yàn)室中的首選。延續(xù) DE2 系列開發(fā)平臺(tái)之領(lǐng)先
3、和成功,搭載 Cyclone IV E 芯片之 DE2-115 開發(fā)平臺(tái),不僅提供客戶一個(gè)低功耗,豐富邏輯資源,大容量存儲(chǔ)器以及 DSP 功能的選擇,而且搭配了豐富的外圍接口,以滿足對(duì)移動(dòng)視頻、語(yǔ)音、數(shù)據(jù)接入及高品質(zhì)圖像的開發(fā)需求。二、使用說明 DE2-115 開發(fā)板包括以下硬件資源: Altera Cyclone® IV 4CE115 FPGA 器件 Altera 系列配置 EPCS64 板上 USB Blaster 用于編程 ,同時(shí)支持 JTAG 模式和 AS 模式 2MB SRAM 2 片 64MB SDRAM 8MB 閃存 SD 卡插槽 4 個(gè)按鈕開關(guān) 18 個(gè)滑動(dòng)開關(guān) 18
4、 個(gè)紅色 LEDs 9 個(gè)綠色 LEDs 50MHz 晶振提供給時(shí)鐘源 24-bit CD-品質(zhì)聲道 CODEC 帶有線路輸入, 線路輸出和麥克風(fēng)輸入接口 VGA DAC (8-比特高速三通道 DACs) 帶有 VGA 輸出接口 TV 解碼器 (NTSC/PAL/SECAM) 和 TV 輸入接口 2 千兆以太網(wǎng) PHY 帶 RJ45 連接器 帶有 A 類和 B 類 USB 接口的 USB 主從控制器 RS-232 收發(fā)器和 9 針連接器 PS/2 鼠標(biāo)/鍵盤接口 IR 收發(fā)器 2 個(gè) SMA 接頭,用于外部時(shí)鐘輸入/輸出 1 個(gè) 40-pin 擴(kuò)展口,帶二極管保護(hù) 1 個(gè) HSMC 連接器 1
5、6x2 LCD 模組 該開發(fā)板使用說明請(qǐng)參見DE2-115 User Manual。實(shí)驗(yàn)一:片上最小系統(tǒng)和片外SDRAM一、目的和要求1、完成基于Qsys的片上最小硬件系統(tǒng)設(shè)計(jì)2、完成基于SBT的軟件開發(fā)流程(Hello World!)3、在片上最小系統(tǒng)基礎(chǔ)上添加SDRAM二、設(shè)備或環(huán)境DE2-115 FPGA開發(fā)板三、實(shí)驗(yàn)原理 利用Qsys搭建最小硬件系統(tǒng)(NIOS II CPU、JTAG UART、SYSTEM ID、On-Chip Memory),應(yīng)用SBT創(chuàng)建Hello World!模板的軟件工程,在DE2-115 FPGA開發(fā)板上系統(tǒng)軟硬件能夠正常運(yùn)行。四、實(shí)驗(yàn)內(nèi)容 1、最小系統(tǒng)硬件
6、設(shè)計(jì)(1)創(chuàng)建Quartus工程,工程存放路徑及工程名可自行定義(不要包含中文)。Device配置如下圖所示。(2)新建頂層原理圖文件(文件名與工程名一致),并保存,如下圖所示。(3)單擊Tools->Qsys->Component Library->Embedded Processors->Nios II Processor,配置如下圖所示。單擊finish。(4)單擊Component Library->Interface Protocols->Serial->JTAG UART,配置如下圖所示,單擊finish。(5)單擊Component Li
7、brary->Peripherals->Debug and Performance->System ID Peripheral,配置如下圖所示,單擊finish。(6)單擊Component Library->Memories and Memory Controllers-> On-Chip-> On-Chip Memory(RAM or ROM),配置如下圖所示,單擊finish。(7)AVALON總線連接關(guān)系如下圖所示。(8)雙擊Nios II CPU,將Reset Vector和Exception Vector修改為片內(nèi)存儲(chǔ)器onchip_memory
8、,如下圖所示。(9)單擊System菜單下面的Assign Base Address和Assign Interrupt numbers,自動(dòng)進(jìn)行地址和中斷號(hào)分配。(10)單擊Generation選項(xiàng)卡下面的Generate按鈕,生成系統(tǒng)。(11)雙擊頂層原理圖空白處,添加硬件如下圖所示,單擊OK。(12)在頂層原理圖中,右鍵單擊上述Symbol,在彈出的菜單中,左鍵單擊選擇Generate Pins for Symbol Ports,如下圖所示。(13)單擊Start Analysis & Synthesis,如所示。(14)分配管腳如下圖所示。(15)編譯并通過JTAG將設(shè)計(jì)下載到F
9、PGA中。2、最小系統(tǒng)軟件設(shè)計(jì)(Hello World!)(1)雙擊SBT,選擇軟件工程路徑(不含中文)。(2)單擊Nios II Application and BSP from Template,如下圖所示。(3)新建應(yīng)用程序工程和BSP工程,單擊finish,如下圖所示。(4)新建軟件工程(Hello_world模板),如下圖所示。(5)右鍵單擊Project Explorer的Hello工程,選擇Build Project。(6)右鍵單擊Project Explorer的Hello工程,選擇Run As->Nios II Hardware。 如果系統(tǒng)硬件及軟件正常運(yùn)行,將在SBT
10、的Console中打印顯示“Hello from Nios II!”。3. 在片上最小系統(tǒng)基礎(chǔ)上添加SDRAM(1)將上次實(shí)驗(yàn)得到的Quartus II工程打開,單擊Tools->Qsys,將上次實(shí)驗(yàn)得到的片上最小系統(tǒng)打開,如下圖所示。右鍵單擊onchip_memory2_0,單擊remove,將其移除。(2)雙擊Component Library->Memories and Memory Controllers->External Memory Interfaces->SDRAM Interfaces->SDRAM Controller,配置信息如下圖所示,單擊
11、finish。(3)AVALON總線連接關(guān)系如下圖所示,雙擊圖中的兩個(gè)橢圓形區(qū)域(將對(duì)應(yīng)IP的引腳輸出),單擊圖中圓形區(qū)域(連接中斷)。(4)雙擊Nios II CPU,將Reset Vector和Exception Vector修改為如下圖所示。(5)單擊System菜單下面的Assign Base Address和Assign Interrupt numbers,自動(dòng)進(jìn)行地址和中斷號(hào)分配。(7)單擊Generation選項(xiàng)卡下面的Generate按鈕,生成系統(tǒng)。(8)將頂層原理圖中設(shè)計(jì)刪除,雙擊頂層原理圖空白處,添加硬件如下圖所示,單擊OK。(9)在頂層原理圖中,右鍵單擊上述Symbol,
12、在彈出的菜單中,左鍵單擊選擇Generate Pins for Symbol Ports,如下圖所示。 (10)雙擊頂層原理圖空白處,添加輸出引腳,如下圖所示,單擊OK。將此引腳重命名為Sdram_clock,與clk_clk輸入引腳相連,如下圖所示。(11)單擊Start Analysis & Synthesis,如所示。(12)分配管腳如下圖所示。(12)編譯并通過JTAG將設(shè)計(jì)下載到FPGA中。五、實(shí)驗(yàn)結(jié)果及實(shí)驗(yàn)報(bào)告內(nèi)容(1)最小系統(tǒng)硬件設(shè)計(jì)過程。(2)最小系統(tǒng)軟件設(shè)計(jì)過程。(3)在片上最小系統(tǒng)基礎(chǔ)上添加SDRAM硬件設(shè)計(jì)過程。(4)實(shí)驗(yàn)過程中遇到的問題和解決辦法。實(shí)驗(yàn)二:PIO
13、輸出LED一、 目的和要求1、擴(kuò)展PIO輸出2、利用PIO輸出控制LED二、設(shè)備或環(huán)境DE2-115 FPGA開發(fā)板三、實(shí)驗(yàn)原理 創(chuàng)建硬件系統(tǒng)(NIOS II CPU、JTAG UART、SYSTEM ID、SDRAM、EPCS)基礎(chǔ)上,添加PIO控制器,實(shí)現(xiàn)系統(tǒng)對(duì)LED的控制。四、實(shí)驗(yàn)內(nèi)容 1、系統(tǒng)硬件設(shè)計(jì)(1)創(chuàng)建如實(shí)驗(yàn)一的Quartus II工程,單擊Tools->Qsys。 (2)雙擊Component Library->Peripherals->Microcontroller Peripherals->PIO,配置信息如下圖所示,單擊finish。(3)AVA
14、LON總線連接關(guān)系如下圖所示,雙擊圖中的橢圓形區(qū)域(將對(duì)應(yīng)IP的引腳輸出)。(4)單擊System菜單下面的Assign Base Address和Assign Interrupt numbers,自動(dòng)進(jìn)行地址和中斷號(hào)分配。(5)單擊Generation選項(xiàng)卡下面的Generate按鈕,生成系統(tǒng)。(6)將頂層原理圖中設(shè)計(jì)刪除,雙擊頂層原理圖空白處,添加硬件如下圖所示,單擊OK。(7)在頂層原理圖中,右鍵單擊上述Symbol,在彈出的菜單中,左鍵單擊選擇Generate Pins for Symbol Ports,如下圖所示。記得添加Sdram_clock輸出。(8)單擊Start Analys
15、is & Synthesis,如所示。(9)分配管腳如下所示。set_location_assignment PIN_E21 -to pio_0_external_connection_export0set_location_assignment PIN_E22 -to pio_0_external_connection_export1set_location_assignment PIN_E25 -to pio_0_external_connection_export2set_location_assignment PIN_E24 -to pio_0_external_connect
16、ion_export3(10)編譯并通過JTAG將設(shè)計(jì)下載到FPGA中。2、系統(tǒng)軟件設(shè)計(jì)(1)新建軟件工程(Hello_world模板),如下圖所示。(2)右鍵單擊工程名,新建Led.h頭文件。 (3)Led.h頭文件內(nèi)容如下所示。#include "system.h"#define _LEDtypedef structunsigned long int DATA;unsigned long int DIRECTION;unsigned long int INTERRUPT_MASK;unsigned long int EDGE_CAPTURE;PIO_STR;#ifdef
17、 _LED#define LED (PIO_STR *) PIO_0_BASE)#endif(4)修改主程序文件“hello_world.c”內(nèi)容如下所示。#include <stdio.h>#include <unistd.h>#include "led.h"int main() LED->DATA = 1; int i=0; while(1) LED->DATA = 1 << i; if(i=4) i=0; else i=i+1; usleep(100000); return 0;(5)右鍵單擊Project Explor
18、er的軟件工程,選擇Build Project。(6) 右鍵單擊Project Explorer的軟件工程,選擇Run As->Nios II Hardware,如果系統(tǒng)硬件及軟件正常運(yùn)行,將觀察到開發(fā)板上的四個(gè)LED輪流被點(diǎn)亮。五、實(shí)驗(yàn)結(jié)果及實(shí)驗(yàn)報(bào)告內(nèi)容(1)系統(tǒng)硬件設(shè)計(jì)過程。(2)系統(tǒng)軟件設(shè)計(jì)過程。(3)實(shí)驗(yàn)過程中遇到的問題和解決辦法。實(shí)驗(yàn)三:PIO輸入中斷一、目的和要求1、擴(kuò)展PIO輸入2、利用PIO輸入實(shí)現(xiàn)外部中斷輸入二、設(shè)備或環(huán)境DE2-115 FPGA開發(fā)板三、實(shí)驗(yàn)原理 創(chuàng)建硬件系統(tǒng)(NIOS II CPU、JTAG UART、SYSTEM ID、SDRAM、EPCS、PIO
19、輸出)基礎(chǔ)上,添加PIO輸入控制器,通過PIO輸入實(shí)現(xiàn)系統(tǒng)對(duì)外部中斷的響應(yīng)。四、實(shí)驗(yàn)內(nèi)容 1、系統(tǒng)硬件設(shè)計(jì)(1)創(chuàng)建如實(shí)驗(yàn)二的Quartus II工程,單擊Tools->Qsys。 (2)雙擊Component Library->Peripherals->Microcontroller Peripherals->PIO,配置信息如下圖所示,單擊finish。(3)AVALON總線連接關(guān)系如下圖所示,雙擊圖中的兩個(gè)橢圓形區(qū)域(將對(duì)應(yīng)IP的引腳輸出),單擊圖中圓形區(qū)域(連接中斷)。(4)單擊System菜單下面的Assign Base Address和Assign Inte
20、rrupt numbers,自動(dòng)進(jìn)行地址和中斷號(hào)分配。(5)單擊Generation選項(xiàng)卡下面的Generate按鈕,生成系統(tǒng)。(6)參考實(shí)驗(yàn)三步驟,更新頂層原理圖,并生成管腳,管腳分配如下。set_location_assignment PIN_AC28 -to pio_1_external_connection_export(7)編譯并通過JTAG將設(shè)計(jì)下載到FPGA中。2、系統(tǒng)軟件設(shè)計(jì)(1)新建軟件工程(Hello_world模板),如下圖所示。(2)右鍵單擊工程名,新建Led.h頭文件。#include "system.h"#define _LEDtypedef s
21、tructunsigned long int DATA;unsigned long int DIRECTION;unsigned long int INTERRUPT_MASK;unsigned long int EDGE_CAPTURE;PIO_STR;#ifdef _LED#define LED (PIO_STR *) PIO_0_BASE) #define KEY (PIO_STR *) PIO_1_BASE)#endif(3)修改主程序文件“hello_world.c”內(nèi)容如下所示。 #include <stdio.h>#include <unistd.h>#i
22、nclude "led.h"void KEY_ISR()LED->DATA = 15;KEY->EDGE_CAPTURE = 0;printf("KEY_ISR OCCURED:%dn",KEY->DATA);void init()KEY->INTERRUPT_MASK = 1;alt_ic_isr_register(PIO_1_IRQ_INTERRUPT_CONTROLLER_ID,PIO_1_IRQ,KEY_ISR,NULL,0);int main() printf("Hello from Nios II!n&quo
23、t;); init(); LED->DATA = 1; int i=0; while(1) LED->DATA = 1 << i; if(i=4) i=0; else i=i+1; usleep(100000); return 0;(4)右鍵單擊Project Explorer的軟件工程,選擇Build Project。(5) 右鍵單擊Project Explorer的軟件工程,選擇Run As->Nios II Hardware,如果系統(tǒng)硬件及軟件正常運(yùn)行,將觀察到開發(fā)板上的四個(gè)LED輪流被點(diǎn)亮。當(dāng)相應(yīng)按鍵按下時(shí),觸發(fā)中斷,四個(gè)LED燈將被全部點(diǎn)亮。五、實(shí)驗(yàn)結(jié)果
24、及實(shí)驗(yàn)報(bào)告內(nèi)容(1)系統(tǒng)硬件設(shè)計(jì)過程。(2)系統(tǒng)軟件設(shè)計(jì)過程。(3)實(shí)驗(yàn)過程中遇到的問題和解決辦法。實(shí)驗(yàn)四:Interval Timer一、目的和要求1、Interval Timer模塊的生成和使用2、在Nios II中實(shí)現(xiàn)定時(shí)器功能、System Clock功能和Timestamp功能二、設(shè)備或環(huán)境DE2-115 FPGA開發(fā)板三、實(shí)驗(yàn)原理 在實(shí)驗(yàn)三系統(tǒng)(NIOS II CPU、JTAG UART、SYSTEM ID、SDRAM、EPCS、PIO輸出、PIO輸入)基礎(chǔ)上,添加Interval Timer模塊,在Nios II中實(shí)現(xiàn)定時(shí)器功能、System Clock功能和Timestamp功
25、能。四、實(shí)驗(yàn)內(nèi)容 1、系統(tǒng)硬件設(shè)計(jì)(1)將上次實(shí)驗(yàn)得到的Quartus II工程打開,單擊Tools->Qsys。 (2)雙擊Component Library->Peripherals->Microcontroller Peripherals->Interval Timer,配置信息如下圖所示,單擊finish。 (3)以相同方式再次添加Interval Timer,其AVALON總線連接如下圖所示。(4)單擊System菜單下面的Assign Base Address和Assign Interrupt numbers,自動(dòng)進(jìn)行地址和中斷號(hào)分配。(5)單擊Genera
26、tion選項(xiàng)卡下面的Generate按鈕,生成系統(tǒng)。(6)更新頂層原理圖。(7)編譯并通過JTAG將設(shè)計(jì)下載到FPGA中。2、系統(tǒng)軟件設(shè)計(jì)(1)應(yīng)用SBT,打開實(shí)驗(yàn)四所建立的軟件工程。 (2)修改helloworld.c文件,添加定時(shí)器功能,如下所示。 #include <stdio.h>#include <unistd.h>#include "led.h"#include "altera_avalon_timer_regs.h"#include "sys/alt_alarm.h"#include "
27、alt_types.h"#include "sys/alt_timestamp.h"int counter = 0;void TIMER_ISR()counter+;IOWR(TIMER_0_BASE, ALTERA_AVALON_TIMER_STATUS_REG, 0);printf("%dn",counter);void init_timer()alt_ic_isr_register(TIMER_0_IRQ_INTERRUPT_CONTROLLER_ID,TIMER_0_IRQ,TIMER_ISR,NULL,0);IOWR(TIMER_0_BASE, ALTERA_AVALON_TIMER_STATUS_REG, 0);IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_0_BASE, 50000000);IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_0_BASE,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子真空器件在汽車電子中的應(yīng)用考核試卷
- 拍賣行業(yè)公共服務(wù)效能提升考核試卷
- 玻璃制品超聲波焊接機(jī)考核試卷
- 洗衣機(jī)械的工業(yè)互聯(lián)網(wǎng)應(yīng)用考核試卷
- 石膏在印刷工業(yè)中的應(yīng)用考核試卷
- 手持設(shè)備按鍵故障修復(fù)考核試卷
- 水產(chǎn)罐頭產(chǎn)品創(chuàng)新設(shè)計(jì)與消費(fèi)者需求考核試卷
- 《三袋麥子》課件-2
- 動(dòng)物產(chǎn)科學(xué)模擬習(xí)題含參考答案
- 數(shù)字化轉(zhuǎn)型升級(jí)背景下濰坊市制造業(yè)高質(zhì)量發(fā)展模式研究
- 2024年全國(guó)中學(xué)生生物學(xué)聯(lián)賽試題含答案
- GLB-2防孤島保護(hù)裝置試驗(yàn)報(bào)告
- 高壓液氧泵原理、結(jié)構(gòu)及檢修、結(jié)構(gòu)及檢修
- 《長(zhǎng)方體正方體》課前小研究
- MIL-STD-105E抽樣計(jì)劃表
- 標(biāo)準(zhǔn)件新舊標(biāo)準(zhǔn)德標(biāo)國(guó)際標(biāo)準(zhǔn)對(duì)照表
- 一課一練21:關(guān)聯(lián)速度模型(答案含解析)—2021屆高中物理一輪基礎(chǔ)復(fù)習(xí)檢測(cè)
- 高中化學(xué)選擇性必修3教材解讀(魯科版2021)
- 學(xué)習(xí)通《商業(yè)計(jì)劃書的優(yōu)化》章節(jié)測(cè)試附答案
- “三會(huì)一課”記錄表(樣表).doc
- 高中師徒結(jié)對(duì)物理新教師總結(jié)
評(píng)論
0/150
提交評(píng)論