




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 FPGA-CPLD原理及應用課程設計報告 題目: 基于SOPC設計萬年歷 學院: 信息與電子工程學院專業(yè): 電子信息工程學號: 姓名: 指導老師: 時間: 2015.7.15-2015.7.20一、摘要設計從系統(tǒng)硬件出發(fā),由CPU、總線、RAM、外接設備等構成SOPC Builder的硬件系統(tǒng),通過Nios II DE2開發(fā)的嵌入式軟件編寫并嵌入SOPC Builder的硬件中實現萬年歷的整體開發(fā)。通過應用SoPC Builder開發(fā)工具,設計者可以擺脫傳統(tǒng)的、易于出錯的軟硬件設計細節(jié),從而達到加快項目開發(fā)、縮短開發(fā)周期、節(jié)約開發(fā)成本的目的并具有高集成度、設計靈活和可移植性較好。關鍵詞:萬年
2、歷 SOPC SOPC Builder Nios II DE2二、設計要求 用Nios II DE2 開發(fā)板的LCD顯示電子鐘的日期和時間。LCD分兩行顯示,第1行顯示年、月、日;第2行顯示時、分、秒。用輸入BUTTON0來控制LCD行的修改,同時讓Nios II DE2開發(fā)板上的綠色發(fā)光二極管亮滅來表示這個選擇。當BUTTON0按一下后,LEDG3亮,可以修改年、月和日的數字;再按一下BUTTON0后,LEDG3滅,可以修改時、分和秒的數字。另外用輸入按鈕BUTTON3來控制日期和時間的修改,當處于日期修改方式時,每次按動一次BUTTON3,依次更換“年”、“月”和“日”的修改。當處于時間修
3、改方式時,每次按動一次BUTTON3,依次更換“時”、“分”和“秒”的修改。修改對象被選中后,按動BUTTON2輸入按鈕可以增加顯示的數字;按動BUTTON1輸入按鈕可以減少顯示的數字。三、設計內容1、按鍵信息BUTTON3:“年”、“月”、“日”或“時”、“分”、“秒”切換鍵BUTTON2:+鍵BUTTON1:-鍵BUTTON0:“年”、“月”、“日”與“時”、“分”、“秒”切換鍵顯示信息LCD_Line1:顯示“年”、“月”、“日” LCD_Line1:顯示“時”、“分”、“秒”2、SOPC Builder 硬件建立 SOPC Builder是在Quartus II里的SOPC Build
4、er進行的,先建立工程,在SOPC Builder里添加硬件,包括CPU ,jtag_uart ,RAM,LCD,PIO,按鍵,LED,以及LCD_ON。3、Quartus II硬件處理 硬件會自動建立一個頂層模塊,通過建一個原理圖來對對應的硬件進行輸入輸出的添加,再鎖定引腳,編譯工程,硬件下載。 4、Nios II DE2嵌入軟件編寫在Nios II里建立工程,選擇相應的模塊,編寫需要嵌入的軟件,添加缺少的頭文件對應的宏定義,編譯工程,進行軟件下載,在觀察結果。四、設計步驟1、打開Quartus II新建工程2、打開SOPC Builder生成相應的硬件如圖所示圖1.SoPC配置 建立好后點
5、擊Generate運行,看是否出錯,然后點擊exit退出。 3、調用剛才生成的硬件系統(tǒng),在Quartus II中建立圖形文件,然后進行引腳鎖定。引腳鎖定引腳文件如下:ClkY2Led3E24Led2E25Led1E22Led0E21KEY3R24KEY2N21KEY1M21KEY0M23LCD_RWM1LCD_ENL4LCD_RSM2LCD_DATA0L3LCD_DATA1L1LCD_DATA2L2LCD_DATA3K7LCD_DATA4K1LCD_DATA5K2LCD_DATA6M3LCD_DATA7M5 然后進行編譯,在Quartus I下生成文件如下圖:圖2. 頂層電路4、 Nios I
6、I運行打開Nios II IDE2,建立工程,選擇count_binary模塊,添加一個LCD.h的頂層文件。在此寫出C語言程序代碼。LCD.h的頂層文件為:#ifndef _LCD_H_#define _LCD_H_/LCD Module 16*2#define lcd_write_cmd(base,data) IOWR(base, 0, data)#define lcd_read_cmd(base) IORD(base, 1)#define lcd_write_data(base,data) IOWR(base, 2, data)#define lcd_read_data(base) IO
7、RD(base, 3)/=void LCD_Init();void LCD_Show_Text(char*Text);void LCD_Line2();void LCD_Test();/=#endif /_LCD_H_然后建立hello_world的C文件。#include #include altera_avalon_pio_regs.h#include alt_types.h#include system.h#ifndef _LCD_H_#define _LCD_H_/LCD Module 16*2#define lcd_write_cmd(base,data) IOWR(base, 0,
8、 data)#define lcd_read_cmd(base) IORD(base, 1)#define lcd_write_data(base,data) IOWR(base, 2, data)#define lcd_read_data(base) IORD(base, 3)/=void LCD_Init();void LCD_Show_Text(char*Text);void LCD_Line2();void LCD_Test();/=#endif /_LCD_H_int year=2013;int month=7;int day=15;int hour=20;int minute=25
9、;int second=30;int selectkey=1;int selectkeylr=1;int ms=0;int KEY=0;int shift=0,con=0,step=0;/#include basic_io.hvolatile int edge_capture;void LCD_Init() lcd_write_cmd(LCD_BASE,0x38); usleep(2000); lcd_write_cmd(LCD_BASE,0x0C); usleep(2000); lcd_write_cmd(LCD_BASE,0x01); usleep(2000); lcd_write_cmd
10、(LCD_BASE,0x06); usleep(2000); lcd_write_cmd(LCD_BASE,0x80); usleep(2000);void LCD_Show_Text(char*Text) int i; for(i=0;i=3)shift=0; break;case 2: step=1;break;case 3: step=-1;break;case 4: con+;if(con=3)con=0; break;default :break; modify();/=檢測按鍵 return 0;5、 連接開發(fā)板,將文件下載到開發(fā)板,運行文件檢驗是否正確。6、 檢查錯誤并修改,知道
11、結果正確。7、 運行情況圖3. 實驗板運行中圖4.實驗板運行中圖5.實驗板運行中五、運行情況與問題分析1、建立工程時,注意不能出現中文或者空格,且工程名需與文件名一致,選定芯片;2、在生成CPU硬件系統(tǒng)時,定義端口時,需注意設定端口輸入與輸出的位寬,需與程序定義的數值一致,否則運行溢出報錯,須修改;3、建立圖形文件后,需進行編譯,出現錯誤得返回原理圖核對,找到錯誤修改后重新編譯;4、進行引腳鎖定時,注意引腳文件的編寫,否則選擇引腳文件點擊Run后會不成功,從而影響后面程序的調試;5、當日數為31時,調節(jié)月份日期不會隨機改變,就會出現4月31日等錯誤,加入程序段但是還是沒有完成跳變;6、程序中閃
12、爍程序段、跳變程序段不執(zhí)行,程序還需后續(xù)修改。六、結論采用NIOS集成開發(fā)環(huán)境提供的快捷開發(fā)手段,在Cyclone 1C6Q240C8芯片上創(chuàng)建了一個用戶定制CPU和外設的片上系統(tǒng),同時完成對液晶顯示器和LED的編程控制。整個系統(tǒng)充分體現了SOPC設計方法的靈活性,設計時只定制系統(tǒng)需要的外設器件接口,避免過多的外圍電路和器件造成體積、功耗的增多和可靠性的下降。由于采用軟核結構,方便系統(tǒng)的升級和擴展,而不必硬件改版,節(jié)約了成本,加快開發(fā)進度,縮短了產品的開發(fā)周期。七、心得體會經過本次SOPC課程設計實驗,使我更加熟悉了Quartus 與Nios DE2以及開發(fā)板的使用,熟練掌握了從理論設計到硬件開發(fā)的流程,了解了萬年歷通過編程實現的整個過程。本次用C語言編寫的萬年歷系統(tǒng)主要實現了年歷、月歷、日歷的顯示,并且可通過鍵盤來變換相應的年月日,最終的設計結果達到的這些要求,是一次成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能數據挖掘與分析技術應用協(xié)議
- 哇她這個人400字(15篇)
- 二零二五年度房地產項目場地平整與基礎施工合作協(xié)議
- 2025版數字化辦公設備租賃與維護服務合同
- 2025至2030家用排氣扇行業(yè)市場發(fā)展分析及前景趨勢與投資管理報告
- 2025版汽車租賃公司承包權租賃與經營管理合同
- 2025年度路燈安裝工程安全與質量管理合同范本
- 二零二五年度煤炭裝卸搬運與銷售服務合同
- 2025年車輛租賃及托管服務合同范本
- 二零二五年廠房轉租與物業(yè)管理合作協(xié)議
- 2025年校長職級考試題及答案
- 統(tǒng)借統(tǒng)還資金管理辦法
- 國家能源集團采購管理規(guī)定及實施辦法知識試卷
- 2023-2024學年四川省成都市高新區(qū)八年級(下)期末數學試卷
- 2025年廣西繼續(xù)教育公需科目考試試題和答案
- 2024年廣州市南沙區(qū)社區(qū)專職招聘考試真題
- 心理健康科普常識課件
- 倉庫超期物料管理制度
- 奶茶公司供應鏈管理制度
- 加氣站風控分級管理制度
- 物業(yè)消防培訓教學課件
評論
0/150
提交評論