版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2015-2016學(xué)年第二學(xué)期信號與信息處理綜合實驗(DSP)實驗一學(xué)院:信息與通信工程學(xué)院班級: 學(xué)號: 姓名: 班內(nèi)序號: 一. 實驗?zāi)康氖煜CS v5的開發(fā)流程,了解各個菜單的功能。二. 實驗環(huán)境Code Composer Studio v5,Windows XP,DSP開發(fā)板三. 實驗要求1. 在控制臺顯示 Hello World2. 控制 LED 燈閃爍FTP給出一個LED的程序模板,可以控制LED-0的閃爍?;谠撃0?,需要完成:1) 修改閃爍的頻率;2) 通過寫8bit數(shù)值到CPLD寄存器來控制LED,使得4個LED以200ms的頻率同時打開和關(guān)閉;3. 在驗收時候依照助教的要
2、求改變 LED 燈的閃爍方式四. 實驗原理4.1 總體介紹DSP芯片也稱數(shù)字信號處理器,是一種特別適合于進(jìn)行數(shù)字信號處理運(yùn)算的微處理器,其主要應(yīng)用是實時快速地實現(xiàn)各種數(shù)字信號處理算法。本學(xué)期DSP實驗所用芯片為TI公司生產(chǎn)的TMS320C6416T。TMS320C6416T為定點DSP,基于第二代高性能的VLIW架構(gòu),擁有超長指令字,即一種非常長的指令組合,它把許多條指令連在一起,增加了運(yùn)算的速度。4.2 處理器介紹該系列芯片的處理器由三部分組成:1) CPU內(nèi)核:有8個并行操作的功能單元,被分為類似的兩套有兩組寄存器,每組包括16個32位寄存器;2) 存儲器:包括程序存儲器和數(shù)據(jù)存儲器片內(nèi)程
3、序存儲器總線寬度為256bit,每個周期可取8條32位指令;3) 外設(shè):直接存儲器訪問DMA、外部存儲器接口EMIF、串口、擴(kuò)展總線、定時器等。4.3 相關(guān)函數(shù)介紹為了方便用戶對DSP系統(tǒng)進(jìn)行開發(fā),TI公司的第三方提供一種簡單的系統(tǒng)評估平臺,即DSK開發(fā)套件和評估板。DSK和EVM(評估板)除了提供基本的硬件平臺外,還提供完整的代碼生成工具和調(diào)試工具。用戶可以使用DSK或EVM完成需要設(shè)計系統(tǒng)的硬件性能、軟件算法的評估,為確定系統(tǒng)的軟/硬件方案提供可靠的依據(jù)。以下為DSK6416提供的DSP開發(fā)相關(guān)函數(shù):void DSK6416_init();/* 初始化所有板子的初始函數(shù)*/uint8 DS
4、K6416_rget(int16 regnum); /* 讀取CPLD寄存器的8bit 值*/void DSK6416_rset(int16 regnum, uint8 regval); /* 寫8 bit數(shù)值到CPLD寄存器*/void DSK6416_wait(uint32 delay); /* 插入dl次的迭代循環(huán)*/void DSK6416_waitusec(Uint32 delay); /* 插入dl 微秒的迭代循環(huán)*/利用以上函數(shù),實現(xiàn)DSP板子的初始化以及開關(guān)狀態(tài)讀取和LED燈的亮滅控制。4.4 寄存器介紹CPLD寄存器定義如下:本實驗所需配置的寄存器為USER_REG,該寄存器
5、用于讀取DIP開關(guān)狀態(tài),并將LED燈開關(guān)。其具體描述如下:由上表可以看出,USER_REG前四個比特用于DIP,讀該寄存器前四比特,若相應(yīng)比特位置一表示所對應(yīng)開關(guān)斷開,相應(yīng)比特位置零表示所對應(yīng)開關(guān)打開;后四個比特用于LED控制,向該寄存器寫數(shù)據(jù),若相應(yīng)比特位置一表示點亮所對應(yīng)LED燈,置零則表示將所對應(yīng)LED熄滅。五. 功能描述1) 運(yùn)行程序后,在控制臺顯示Hello World;2) 通過寫8bit數(shù)值到CPLD寄存器來實現(xiàn)按鍵控制四盞LED燈以一定頻率同時亮滅;3) 通過寫8bit數(shù)值到CPLD寄存器來實現(xiàn)四盞LED燈作為跑馬燈順序亮滅;4) 通過寫8bit數(shù)值到CPLD寄存器來實現(xiàn)四盞L
6、ED燈作為跑馬燈加速亮滅;六. 程序模塊描述6.1 Hello World模塊使用 printf 語句輸出 "Hello World!"。6.2 LED燈同時亮滅模塊首先初始化板子初始函數(shù)以及LED及DIP,然后設(shè)置while循環(huán),在循環(huán)之中讀取CPLD寄存器的八比特數(shù)值。若檢測到數(shù)值為0XE0,即表示只有DIP0按下,則設(shè)置CPLD寄存器八比特數(shù)值為0XEF,即表示四盞燈全亮,延遲一段時間之后,設(shè)置CPLD寄存器八比特數(shù)值為0XE0,即表示四盞燈全滅,并延遲相同時間;否則設(shè)置CPLD寄存器八比特數(shù)值為0XE0,即表示四盞燈全滅。3. 跑馬燈模塊首先初始化板子初始函數(shù)以及L
7、ED及DIP,然后設(shè)置while循環(huán),在循環(huán)之中讀取CPLD寄存器的八比特數(shù)值。若檢測到數(shù)值為0XD0,即表示只有DIP1按下,則依次設(shè)置CPLD寄存器八比特數(shù)值為0XE0、0XE1、0XE2、0XE4、0XE8,分別表示四盞燈全滅、只有第一盞燈亮、只有第二盞燈亮、只有第三盞燈亮、只有第四盞燈亮,在每次設(shè)置之后延遲相同的時間;否則設(shè)置CPLD寄存器八比特數(shù)值為0XE0,即表示四盞燈全滅。4. 跑馬燈變速模塊若檢測到數(shù)值為0X90,即表示DIP1與DIP2同時按下,則通過改變延遲的時間來改變跑馬燈的速度。七. 程序流程八. 各種功能的測試記錄、結(jié)果及說明8.1 功能分析本實驗所設(shè)計的功能都順利實
8、現(xiàn):1) 在運(yùn)行程序之后,控制臺顯示 "Hello World!";2) 當(dāng)DIP0沒有按下時,四盞LED全滅;3) 當(dāng)只按下DIP0時,四盞LED燈閃爍,頻率為200Hz;4) 當(dāng)只按下DIP1時,四盞LED燈依次點亮然后熄滅,頻率為200Hz;5) 當(dāng)DIP1及DIP2同時按下時,四盞LED燈依次點亮然后熄滅,頻率為400Hz。8.2 截圖分析1) 控制臺顯示 "Hello World!"如圖所示,在運(yùn)行程序之后,控制臺顯示 "Hello World!"。2) LED燈同時亮滅只按下DIP0并如上圖所示設(shè)置斷點,單步運(yùn)行后查看寄存
9、器的值,低八位的值為EF,與所賦的值相同,此時四盞燈全亮,如下圖所示:3) 跑馬燈順序亮滅只按下DIP1并如上圖所示設(shè)置斷點,單步運(yùn)行后查看寄存器的值,低八位的值為D1,與所賦的值相同,此時第一盞燈亮,如下圖所示:4) 跑馬燈加速亮滅同時按下DIP1及DIP2并如上圖所示設(shè)置斷點,單步運(yùn)行后查看寄存器的值,低八位的值為90,與所賦的值相同,此時四盞燈全滅,如下圖所示:九. 調(diào)試過程中的主要問題及難點第一次實驗的重點在于認(rèn)識DSP芯片的基本架構(gòu),根據(jù)課件的步驟,能熟練的操作使用Code Composer Studio v5工作環(huán)境,在編寫簡單的程序代碼之后,完成編譯、調(diào)試等步驟。過程中遇到的一個
10、問題是硬件驅(qū)動的安裝,在剛開始做實驗時我沒有注意到這個問題,一直到調(diào)試過程中報錯時才發(fā)現(xiàn)驅(qū)動安裝有問題,后來向同學(xué)詢問了手動導(dǎo)入安裝驅(qū)動的方法,才順利完成了實驗。程序部分的一個難點在于DSK6416_RSET()和DSK6416_RGET()函數(shù)的使用,在基本功能實現(xiàn)以后,我們想要實現(xiàn)不同DIP開關(guān)對應(yīng)不同的狀態(tài),所以又回顧了課件中CPLD寄存器方面的內(nèi)容,了解了CPLD寄存器不同狀態(tài)對應(yīng)的8bit數(shù)值的含義。十. 心得體會總體來說第一次DSP實驗比較簡單,主要是學(xué)習(xí)DSP芯片的基本知識,熟悉DSK開發(fā)板以及Code Composer Studio v5集成開發(fā)環(huán)境,掌握利用CPLD的USER
11、_REG寄存器配置LED和DIP開關(guān)的方法,了解程序優(yōu)化的原理和基本操作。感覺編程能力方面要求不高,在原來的編程基礎(chǔ)上需要掌握DSK6416相關(guān)函數(shù)、LED相關(guān)函數(shù)和4DIP開關(guān)相關(guān)函數(shù)的使用就可以。除了在熟悉軟件和開發(fā)板上遇到了一些問題以外,實驗的其他方面進(jìn)行得非常順利,在基本功能實現(xiàn)后我們很快就完成了其他擴(kuò)展功能,比如實現(xiàn)了LED全亮全滅,跑馬燈及變速等功能。另外根據(jù)實驗課件教程,我們進(jìn)行了多次的斷點調(diào)試,使用軟件更加熟練,為之后的實驗做充足的準(zhǔn)備。本次實驗給我的感覺是十分有趣,能夠鍛煉提升實際操作能力和分析解決問題的能力。實驗開始時助教學(xué)長跟我們介紹了如何做好實驗前的準(zhǔn)備工作,開發(fā)板的養(yǎng)
12、護(hù),以及實驗過程中一旦遇到問題時怎么迅速有效地解決。感覺學(xué)長們也很認(rèn)真負(fù)責(zé),熱心地給同學(xué)們答疑解惑,極大地增加了我對DSP實驗的熱情和信心,相信接下來的實驗,我一定會更愿意去做,并能給我?guī)砀蟮氖斋@。十一. 程序源代碼#include <stdio.h>#include "dsk6416.h"#include "dsk6416_led.h"#include "dsk6416_dip.h"#define delay 100000#define delay1 50000void main() DSK6416_init();/
13、初始化所有板子初始函數(shù) DSK6416_LED_init();/初始化LED DSK6416_DIP_init();/初始化DIP printf("Hello World!n"); while(1) if(DSK6416_rget(DSK6416_USER_REG)=0XE0)/只有DIP0按下 DSK6416_rset(DSK6416_USER_REG,0XEF); DSK6416_waitusec(delay); DSK6416_rset(DSK6416_USER_REG,0XE0); DSK6416_waitusec(delay); else DSK6416_rset
14、(DSK6416_USER_REG,0XE0); if(DSK6416_rget(DSK6416_USER_REG)=0XD0)/只有DIP1按下 DSK6416_rset(DSK6416_USER_REG,0XE0);/寫8bit數(shù)值到CPLD寄存器 DSK6416_waitusec(delay); DSK6416_rset(DSK6416_USER_REG,0XE1); DSK6416_waitusec(delay); DSK6416_rset(DSK6416_USER_REG,0XE2); DSK6416_waitusec(delay); DSK6416_rset(DSK6416_USE
15、R_REG,0XE4); DSK6416_waitusec(delay); DSK6416_rset(DSK6416_USER_REG,0XE8); DSK6416_waitusec(delay); else DSK6416_rset(DSK6416_USER_REG,0XE0); if(DSK6416_rget(DSK6416_USER_REG)=0X90)/DIP1、2按下 DSK6416_rset(DSK6416_USER_REG,0XE0); DSK6416_waitusec(delay1); DSK6416_rset(DSK6416_USER_REG,0XE1); DSK6416_w
16、aitusec(delay1); DSK6416_rset(DSK6416_USER_REG,0XE2); DSK6416_waitusec(delay1); DSK6416_rset(DSK6416_USER_REG,0XE4); DSK6416_waitusec(delay1); DSK6416_rset(DSK6416_USER_REG,0XE8); DSK6416_waitusec(delay1); else DSK6416_rset(DSK6416_USER_REG,0XE0); 注:1)如果想要改變燈的亮滅,只需要改變delay的數(shù)值;2)寄存器高四位代表著按鍵的狀態(tài),其中 "0"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東外語外貿(mào)大學(xué)南國商學(xué)院《蒙臺梭利教育法》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東體育職業(yè)技術(shù)學(xué)院《特殊兒童早期干預(yù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東司法警官職業(yè)學(xué)院《通信系統(tǒng)制圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東食品藥品職業(yè)學(xué)院《教師領(lǐng)導(dǎo)力》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東女子職業(yè)技術(shù)學(xué)院《統(tǒng)計學(xué)原理實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東農(nóng)工商職業(yè)技術(shù)學(xué)院《環(huán)境工程項目管理與概預(yù)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東梅州職業(yè)技術(shù)學(xué)院《油畫速寫》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東女子職業(yè)技術(shù)學(xué)院《小學(xué)德育》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東理工職業(yè)學(xué)院《宏觀經(jīng)濟(jì)學(xué)原理(全英文)》2023-2024學(xué)年第一學(xué)期期末試卷
- 四年級數(shù)學(xué)(上)計算題專項練習(xí)及答案匯編
- 浙江大學(xué)2011–2012學(xué)年冬季學(xué)期《高級數(shù)據(jù)結(jié)構(gòu)與算法分析》課程期末考試試卷
- 職業(yè)生涯規(guī)劃-體驗式學(xué)習(xí)智慧樹知到期末考試答案章節(jié)答案2024年華僑大學(xué)
- 手術(shù)保護(hù)性約束
- AQ4230-2013 糧食平房倉粉塵防爆安全規(guī)范
- 建筑節(jié)能與綠色建筑監(jiān)理細(xì)則
- 2024法務(wù)部門合規(guī)風(fēng)險管理實踐模板
- 湖北省襄陽市襄城區(qū)2023-2024學(xué)年七年級上學(xué)期期末學(xué)業(yè)水平診斷英語試題
- 學(xué)??蒲刑幪庨L述職報告范文
- 護(hù)理文書書寫規(guī)范
- 2023-2024學(xué)年安徽省阜陽市臨泉縣八年級(上)期末數(shù)學(xué)試卷(含解析)
- LS/T 1234-2023植物油儲存品質(zhì)判定規(guī)則
評論
0/150
提交評論