999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Nios Ⅱ的SOPC實驗教學平臺設計

2016-10-22 01:40:24陳曉靜吳愛平
長江大學學報(自科版) 2016年22期
關鍵詞:實驗教學實驗系統

陳曉靜,吳愛平

(長江大學電子信息學院,湖北 荊州 434023)

?

基于Nios Ⅱ的SOPC實驗教學平臺設計

陳曉靜,吳愛平

(長江大學電子信息學院,湖北 荊州 434023)

提出了以EP4CE30F248N FPGA為核心的SOPC實驗教學平臺設計方案,介紹了平臺的硬件組成和軟件開發工具,以定時中斷為實驗案例介紹了SOPC實驗的具體流程。該平臺由核心板、底板和擴展板組成,可實現的實驗項目包括基本模塊實驗和創新型實驗。其中基本模塊實驗類似于單片機實驗,如定時器、鍵盤、數碼管顯示模塊等,目的是幫助學生理解SOPC系統基本設計方法;創新型實驗項目是將FPGA并行數據處理和Nios Ⅱ處理器靈活控制功能相結合的實驗,如多通道數據采集、高精度頻率計、頻譜儀設計等,旨在幫助學生進一步掌握SOPC系統設計的精髓。該方案既能實現SOPC系統基本模塊的實驗,又能為電子設計競賽和實際項目開發提供創新性平臺,有助于培養學生的SOPC綜合設計能力。

SOPC;Nios Ⅱ;FPGA;實驗教學平臺

SOPC(System On a Programmable Chip)即片上可編程系統,該技術使用FPGA(Field Programmable Gate Array)的邏輯單元以及植入FPGA內部的軟核處理器、存儲模塊和DSP模塊,設計出可裁剪、可擴充、可升級的嵌入式處理系統[1]。該系統不僅具有可編程系統的的靈活性,而且具有高速并行處理數據的能力。近年來,SOPC技術在數據采集、目標跟蹤、電能質量監測等領域得到了廣泛的應用[2~4]。

SOPC系統中的處理器通常有硬核和軟核2種:硬核是指嵌入在可編程芯片內部的具有固定掩模版圖的處理器內核,如ARM內核;軟核是指以硬件描述語言文件的形式存在,需經過編譯下載,最終固化到可編程芯片內部才可使用的處理器內核,如Altera公司推出的Nios Ⅱ嵌入式軟核。雖然硬核的處理性能更高,但由于用戶需支付額外的知識產權的費用,其推廣應用受到限制。相比之下,Nios Ⅱ軟核由Altera公司免費提供,用戶只使用很少的邏輯資源就可獲得一個功能強大的處理器,因此基于Nios Ⅱ軟核的SOPC系統設計具有較大的實際應用價值。

近年來,為了使教學實驗跟上高新技術發展的步伐,許多高校已經把SOPC技術引入到了教學實驗中。文獻[5]提出了基于Nios Ⅱ的SOPC實驗平臺的構建方法,在該平臺上可以實現SOPC系統的基本模塊實驗比如PIO、定時器、中斷等,但是由于FPGA芯片和外圍設備被裝配到同一塊電路板上,系統檢修和升級都不方便。文獻[6]提出了EDA、單片機以及SOPC一體化實驗的模式,硬件平臺由FPGA核心板和功能底板組成,具有擴展靈活、升級方便的優點。但該實驗平臺主要是基于8051單片機IP(Intellectual Property)軟核實現的,因此該實驗系統本質上仍然是單片機實驗,而不是SOPC系統實驗,也沒有利用到Nios Ⅱ軟核的處理優勢。為此,筆者設計了一種基于Nios Ⅱ軟核的新型實驗教學平臺設計方法。

1 平臺的硬件設計

圖1 SOPC實驗教學平臺的設計框圖

根據易擴展、易升級的原則,SOPC實驗教學平臺由核心板、底板和擴展板3部分組成。其中核心板是一個FPGA最小系統,主要包括EP4CE30F248N FPGA芯片、64Mbit的EPCS64配置芯片、4Mbit SRAM存儲器、256MbitSDRAM存儲器、128MbitCFI FLASH存儲器、主動編程AS接口、在系統編程JTAG接口;底板設計能夠滿足基本SOPC實驗模塊的實現,主要包括鍵盤、LED燈、七段數碼管、12864LCD顯示、RS232串口、步進電機驅動、直流電機驅動;擴展板是為擴展底板的功能使其滿足某些創新型實驗而設計,包括多通道數據采集板(板1)、多通道數模轉換板(板2)、USB2.0擴展板(板3)。該平臺的設計框圖如圖1所示,能夠實現的實驗項目及其硬件配置如表1所示。

2 實驗項目設計流程

表1 實驗項目及硬件配置

在上述硬件平臺上,可以完成表1的每個實驗項目的SOPC設計。不同于傳統的嵌入式系統設計方式,SOPC系統是硬件和軟件的協同設計,遵循如圖2所示的流程。硬件設計使用Quartus Ⅱ 11.0和SOPC Builder軟件,其中SOPC Buider可以通過Quartus Ⅱ中子菜單項啟動。Quartus Ⅱ可完成基于Nios Ⅱ軟核處理器的嵌入式系統的綜合、優化、適配、下載和調試等,SOPC Builder可完成Nios Ⅱ系統的配置和生成,允許設計者在很短時間內創建高度定制的可編程片上系統。軟件開發在Nios Ⅱ IDE集成開發環境中進行,該環境提供易用的圖形用戶界面和GCC編譯器,并能根據Nios Ⅱ的硬件配置自動生成硬件抽象層HAL(Hardware Abstraction Layer)以提供底層硬件訪問的驅動程序,并提供實時操作系統和TCP/IP協議棧的支持。從圖2中還可以看出,SOPC設計與FPGA設計的區別在于多了對軟核處理器和外設IP模塊的配置步驟,體現了SOPC設計的可裁剪和可配置特性。

圖2 SOPC設計流程

實驗項目設計中一個關鍵的環節是外設IP模塊的選擇和配置。Nios Ⅱ系統的外設可以分為標準外設和自定義外設。標準外設是由Altera公司所提供的一系列免費使用的外設IP,也是其他微控制器系統中通常會用到的外設,如定時器、串行通信接口、通用I/O口等。自定義外設是指當標準外設不能滿足用戶的需求時,用戶使用可編程邏輯資源自己定義外設集成到Nios Ⅱ系統之中。筆者所提出的實驗項目中基本實驗項目可以選擇標準外設來設計,如流水燈實驗可以選擇PIO內核,定時器中斷使用定時器內核,而創新型實驗項目中沒有現成的外設模塊可以使用,因此需要用戶自定義相應外設,如多通道數據采集和傳輸實驗可以通過設計具有FIFO(First Input First Output,先進先出)存儲結構和Avalon總線接口的外設模塊實現,多通道任意波形發生器實驗需要具有多路波形數字量的輸出和鎖存功能的外設模塊。自定義外設IP設計是SOPC設計的難點,要求學生具有邏輯設計和接口設計的基礎。

3 實驗項目實例

為具體說明SOPC實驗設計流程,筆者介紹一個具體的實驗項目實例——定時器中斷實驗。該實驗要求每定時1s,LED燈狀態發生反轉。

1)首先利用Quartus Ⅱ軟件建立一個新的工程以及頂層.bdf文件。頂層文件用于描述Nios Ⅱ系統和LPM模塊(Library of Parameterized Modules,參數化模塊庫)、用戶邏輯設計模塊之間的連接關系。

2)啟動SOPC Builder構建一個Nios Ⅱ系統。從組件庫中選取如下組件:1個Nios Ⅱ處理器、1個片上RAM存儲器、4個PIO內核,1個定時器組件、1個在系統編程JTAG組件、1個EPCS控制器組件,各組件在SOPC Builder中互聯情況如圖3所示。組件加入后需對其屬性進行配置,如Nios Ⅱ處理器選型和復位地址、異常地址的設置,RAM存儲器的容量和數據位寬的設置,PIO內核的數據寬度和數據傳輸方向的設置,定時器Timer組件的計數寬度、初值和預置模式的設置等。組件加入并配置完畢后,進行自動分配地址和中斷,最后點擊generate按鈕產生Nios Ⅱ系統。

3)在頂層文件中加入鎖相環符號niosp Ⅱ和Nios Ⅱ系統符號niosprj,鎖相環可通過MegaWizard Plug-In Manager工具加入,用于對板上晶振50MHz進行倍頻產生Nios Ⅱ系統的100MHz工作時鐘。將鎖相環和Nios Ⅱ系統連接,并進行引腳分配,結果如圖4所示。接下來對Quartus Ⅱ工程進行編譯,編譯成功后生成.sof配置文件和.ptf硬件描述文件。最后利用Programmer工具將.sof配置文件下載到FPGA的RAM中形成SOPC系統的硬件電路部分,至此SOPC系統硬件平臺已經生成。

圖3 SOPC Builder中的組件連接和地址分配

圖4  Quartus Ⅱ工程中的頂層文件

4)啟動Nios Ⅱ IDE集成開發環境,建立新的工程C/C++Application,指定目標硬件為剛生成的ptf文件,并選擇hello world模板;為實現定時中斷控制LED燈反轉,需改寫hello world.c文件代碼:

#include

#include“system.h”#include“altera_avalon_pio_regs.h”

#include“altera_avalon_timer_regs.h”

#include“sys/alt_irq.h”

Void Timer_init();

Void Timer_interrupts(void *context, alt_u32 id);

int i2=0;

Void Timer_init()

{alt_irq_register(TIMER_0_IRQ,0,Timer_interrupts); //中斷注冊函數

IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_0_BASE,0x0000); //清0定時器狀態

IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_0_BASE,0x5f5);

IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_0_BASE,0x0e100);//定時1s

IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_0_BASE,0x0007);//啟動連續定時

}

Void Timer_interrupts(void *context, alt_u32 id)//中斷服務函數

{IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_0_BASE,0); //清0定時器狀態

i2=~i2; //狀態變量取反

i2&=0x01;

IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE,i2); //狀態變量輸出

}

int main()

{

printf(“Hello from Nios Ⅱ!N”);

Timer_init();

while(1);

return 0;

}

該C文件中包含了標準C頭文件,如輸入輸出頭文件stdio.h,設備地址和中斷號定義頭文件system.h,內核寄存器訪問頭文件altera_avalon_pio_regs.h, altera_avalon_timer_regs.h,中斷頭文件sys/alt_irq.h。這些文件是由Nios Ⅱ IDE對文件進行編譯后自動生成,用戶無需對其進行修改。編譯Nios Ⅱ工程將產生可執行.elf文件,若在用戶應用程序文件夾上點擊右鍵執行run as-Nios Ⅱ Hardware,可以觀察Nios Ⅱ的C程序在目標硬件上全速執行的結果。

實驗表明,不同的實驗項目所遵循的實驗流程大致相同,其主要區別體現在3點:①頂層文件所包含的模塊和連接方式不同;②SOPC Builder中所加入的外設IP模塊不同;③Nios Ⅱ IDE中的C程序設計不同。而這些區別也正好體現了SOPC軟硬件設計的靈活性,學生的SOPC系統綜合設計能力的不同也能在這3個方面的設計中得以體現。

4 實驗項目開設方式

筆者所提出的SOPC實驗教學平臺在實踐中通過2種開設方式使用:①隨課實驗,即在SOPC系統理論課程中設置部分實驗學時;該部分實驗難度不大,平臺中的基本實驗模塊就能夠滿足需求,同時理論和實驗相結合加深了對SOPC系統的理解,有利于學生的入門級學習。②創新型實驗,這一部分作為SOPC設計競賽的訓練題目使用,安排在開放式創新實驗室進行;該部分實驗要求學生有較好的專業基礎,并配以專任輔導教師進行輔導,其目的是提高學生運用先進的SOPC設計技術創造性解決實際問題的能力。

5 結語

提出了一種新型的SOPC實驗教學平臺的設計方法,介紹了該平臺的具體硬軟件設計,并提供一個具體的實驗例程說明該平臺實驗項目的設計流程。該平臺能夠實現基本實驗項目和創新型實驗項目,這2類實驗項目可以通過不同的實驗開設形式進行開展,滿足了不同層次的學生的需求,在高校SOPC實驗教學中有良好的應用前景。

[1]韋思健,張馳,韓文龍,等.最新的SOPC技術與EDA實驗教學[J].實驗技術與管理,2006,23(1):113~115.

[2] 王銳,雷金奎.基于軟核Nios Ⅱ的SOPC數據采集系統的設計[J].計算機測量與控制,2008,16(8):1199~1202.

[3] 賀明,王新賽.Nios Ⅱ的紅外圖像實時跟蹤系統設計[J].電光與控制,2008,15(3):90~96.

[4] 金燕,葛遠香,梁玲飛,等.基于SOPC的電能質量在線監測儀的設計[J].浙江工業大學學報,2008,36(6):664~668.

[5] 卓興旺,李廣軍.基于NIOS的SOPC實驗平臺的構建[J].實驗科學與技術,2004(4):30~33.

[6] 唐續,趙芳斌,王嘉.EDA與單片機及SOPC一體化實驗教學平臺研制[J].實驗技術與管理,2013,30(1):73~77.

[編輯]洪云飛

2016-04-27

湖北省教育廳科學技術研究重點項目(D20141303)。

陳曉靜(1980-),女,講師,博士生,現主要從事電磁測量與儀器方面的教學與研究工作。

吳愛平(1977-),男,副教授,博士,現主要從事信號采集與處理方面的教學與研究工作;E-mail:wuaping@yangtzeu.edu.cn。

TP368.1

A

1673-1409(2016)22-0009-05

[引著格式]陳曉靜,吳愛平.基于Nios Ⅱ的SOPC實驗教學平臺設計[J].長江大學學報(自科版),2016,13(22):9~13.

猜你喜歡
實驗教學實驗系統
記一次有趣的實驗
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
小議初中化學演示實驗教學
甘肅教育(2020年4期)2020-09-11 07:42:36
電容器的實驗教學
物理之友(2020年12期)2020-07-16 05:39:20
對初中化學實驗教學的認識和體會
甘肅教育(2020年8期)2020-06-11 06:10:04
做個怪怪長實驗
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
幾何體在高中數學實驗教學中的應用
主站蜘蛛池模板: 国产18在线播放| 波多野结衣视频网站| 99在线小视频| 国产精品三级av及在线观看| 欧洲熟妇精品视频| 亚洲中文字幕国产av| 18禁不卡免费网站| 又爽又大又黄a级毛片在线视频| 国产三级毛片| 美女无遮挡被啪啪到高潮免费| 国产一区二区三区在线观看视频| 久久香蕉国产线看观看精品蕉| 色婷婷在线播放| 91探花国产综合在线精品| 中文字幕日韩欧美| 国产香蕉97碰碰视频VA碰碰看| 久久久久久午夜精品| 亚洲国产成人超福利久久精品| 野花国产精品入口| 国产美女视频黄a视频全免费网站| 在线a网站| 国产凹凸视频在线观看| 激情乱人伦| 天天躁夜夜躁狠狠躁躁88| 亚洲综合激情另类专区| 91成人在线免费视频| 日韩AV无码一区| 国产a网站| 国产丰满大乳无码免费播放| 亚洲欧洲美色一区二区三区| 中国丰满人妻无码束缚啪啪| 国模在线视频一区二区三区| 午夜视频免费试看| 天堂网亚洲系列亚洲系列| 久久99国产综合精品1| 亚洲一级毛片免费观看| 日韩一级毛一欧美一国产| 久996视频精品免费观看| 性色在线视频精品| 亚洲成人www| 成人免费黄色小视频| 色欲综合久久中文字幕网| 免费A∨中文乱码专区| 中文字幕在线欧美| 小说区 亚洲 自拍 另类| 美女高潮全身流白浆福利区| 亚洲第一区在线| 91在线无码精品秘九色APP| 91视频区| 大学生久久香蕉国产线观看 | 激情综合婷婷丁香五月尤物| 欧美a级在线| 亚洲区第一页| 国产成人高清亚洲一区久久| 日韩欧美网址| 国产区网址| 久久男人资源站| av在线人妻熟妇| 毛片久久网站小视频| 91丝袜美腿高跟国产极品老师| 一级片一区| 亚洲黄色片免费看| 国产微拍精品| 亚洲国产欧美国产综合久久| 2021精品国产自在现线看| 就去吻亚洲精品国产欧美| 蜜桃臀无码内射一区二区三区| 久草美女视频| 亚洲伊人久久精品影院| 97成人在线观看| 亚洲免费福利视频| 色老头综合网| 国产chinese男男gay视频网| 日韩欧美中文字幕在线精品| 亚洲天堂高清| 国产另类乱子伦精品免费女| 亚洲日韩Av中文字幕无码| 亚洲男女天堂| 成年人视频一区二区| 欧美va亚洲va香蕉在线| 免费久久一级欧美特大黄| 好紧太爽了视频免费无码|