DSP課程設(shè)計總結(jié)_第1頁
DSP課程設(shè)計總結(jié)_第2頁
DSP課程設(shè)計總結(jié)_第3頁
DSP課程設(shè)計總結(jié)_第4頁
DSP課程設(shè)計總結(jié)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、DSP課程設(shè)計總結(jié)(2010-2011學(xué)年第2學(xué)期)題 目 : DSP課程設(shè)計 專業(yè)班級 : 電子08-3 學(xué)生姓名 : 謝臣勝 學(xué) 號 : 指導(dǎo)教師 : 宋華軍 設(shè)計成績 : 2011 年 6 月目 錄一 設(shè)計目的二 系統(tǒng)分析2.1設(shè)計要求2.2主要任務(wù)三 硬件設(shè)計3.1 硬件總體結(jié)構(gòu)3.2 DSP模塊設(shè)計3.3 電源模塊設(shè)計3.4 時鐘模塊設(shè)計3.5 存儲器模塊設(shè)計四 軟件設(shè)計4.1 軟件總體流程4.2 核心模塊及實現(xiàn)代碼五 課程設(shè)計總結(jié)六 參考文獻(xiàn)一 設(shè)計目的1、通過設(shè)計一個功能完備,能夠獨立運行的精簡DSP硬件系統(tǒng),熟悉Altium Designer的開發(fā)應(yīng)用環(huán)境,達(dá)到熟練掌握如何繪制

2、出系統(tǒng)的功能框圖、使用AD(Altium Designer)繪制出系統(tǒng)的原理圖和PCB版圖的目的。2、通過數(shù)據(jù)采集處理和控制系統(tǒng)設(shè)計,熟悉軟件CCS環(huán)境,掌握采集和處理數(shù)字信號的方法。二 系統(tǒng)分析2.1設(shè)計要求2.1.1設(shè)計一個功能完備,能夠獨立運行的精簡DSP硬件系統(tǒng)。繪制出系統(tǒng)的功能框圖、使用AD(Altium Designer)繪制出系統(tǒng)的原理圖和PCB版圖。2.1.2利用實驗箱的模擬信號產(chǎn)生單元產(chǎn)生不同頻率的信號,或者產(chǎn)生兩個率的信號的疊加。在DSP中采集信號,并且對信號進(jìn)行頻譜分析,濾波等。通過鍵盤選擇算法的功能,將計算的信號頻率或者濾波后信號的頻率在LCD上顯示2.2主要任務(wù)2.2

3、.1在硬件系統(tǒng)設(shè)計中,使用word軟件或者Visio軟件繪制出系統(tǒng)的框圖,要求框圖能體現(xiàn):具體的核心芯片(DSP、FLASH等)的名稱,芯片互聯(lián)的主要引腳(地址線,數(shù)據(jù)線和控制線)。根據(jù)設(shè)計的硬件系統(tǒng)結(jié)構(gòu),繪制系統(tǒng)的原理圖和繪制系統(tǒng)的PCB板圖。2.2.2在軟件設(shè)計中,對外部輸入的模擬信號采集到DSP內(nèi)存,會用CCS軟件顯示采集的數(shù)據(jù)波形。對采集的數(shù)據(jù)進(jìn)行如下算法分析:(1)頻譜分析:使用fft算法計算信號的頻率。(1)對信號進(jìn)行IIR濾波或FIR濾波,并且計算濾波前后信號的頻率,并且將結(jié)果在LCD上顯示。三 硬件設(shè)計3.1 硬件總體結(jié)構(gòu) 控制線DSP 數(shù)據(jù)線 CLK 地址線線 TMS320V

4、C5416復(fù)位時鐘 FLASH電源3.2 DSP模塊設(shè)計3.3 電源模塊設(shè)計3.4 時鐘模塊設(shè)計3.5 存儲器模塊設(shè)計四 軟件設(shè)計采集外部信號并進(jìn)行A/D轉(zhuǎn)換4.1 軟件總體流程將轉(zhuǎn)換后的信號采集到DSP內(nèi)存會用CCS軟件顯示采集的數(shù)據(jù)波形使用fft算法計算信號的頻率對信號進(jìn)行卷積運算IIR濾波或FIR濾波結(jié)果在LCD上顯示4.2 核心模塊及實現(xiàn)代碼4.2.1信號采集并進(jìn)行AD轉(zhuǎn)換/*;*;* 北京達(dá)盛科技有限公司;* 研 發(fā) 部;*;* ;*;*- 文件信息 - ;*;* 文件名稱 : IO.C;* 文件功能 : 該文件為測試數(shù)字量輸入輸出的測試

5、程序,CPU=TMS320VC5402;* 接口說明: 輸入IN: IO的 8000H 74ls244;* 輸出OUT: IO的 8001H 74ls273;*-*/-頭文件-#include DspRegDefine.h /VC5402 寄存器定義#include stdio.h /輸入輸出頭文件/-/* * 宏定義 */#define UCHAR unsigned char#define UINT16 unsigned int#define UINT32 unsigned long#define TRUE 1#define FALSE 0#define OUTH 0x5555#define

6、 OUTL 0xaaaa#define Length 256/-/* * 端口定義*/-ioport UINT16 port8002; /定義輸出io端口為0x8001;/* * 所使用的函數(shù)原型 */UINT16 i = 0,fft=0; UINT16 data_buff256;double buff_data256;double data_buffim256;double Xr256;double Xi256;double X256;void cpu_init(void); /初始化CPUextern void kfft(double prLength,double piLength,in

7、t n,int k,double frLength,double fiLength,int l,int il);void Delay(int numbers); /延遲/* 函數(shù)定義 */-/ 函數(shù)名稱 : void cpu_init(void)/ 函數(shù)說明 : 初始化CPU/ 輸入?yún)?shù) : 無/ 輸出參數(shù) : 無/-void cpu_init(void)asm( nop );asm( nop );asm( nop ); *(unsigned int*)CLKMD=0x0; /switch to DIV mode clkout= 1/2 clkin while(*(unsigned int*)

8、CLKMD)&01)!=0); *(unsigned int*)CLKMD=0x77ff; /switch to PLL X 1 mode*(unsigned int*)PMST=0x3FF2;*(unsigned int*)SWWSR=0x7fff;*(unsigned int*)SWCR=0x0001; *(unsigned int*)BSCR=0xf800;/-asm( ssbx intm ); /Disable all mask interrupts *(unsigned int*)IMR=0x0004; /使能int2中斷 asm( rsbx INTM); /開總中斷*(unsign

9、ed int*)IFR=0xffff;/- asm( nop );asm( nop );asm( nop ); /*- 函數(shù)名稱 : void Delay(int numbers)- 函數(shù)說明 : 延時- 輸入?yún)?shù) : numbers- 輸出參數(shù) : 無*/void Delay(int numbers) int i,j; for(i=0;i4000;i+) for(j=0;jnumbers;j+); interrupt void ExtInt2() /中斷2中斷子程序*(unsigned int*)IFR=0xFFFF;data_buffi = port8002 & 0x00ff;i+;if(

10、i = 256) i = 0;/* 主函數(shù) */void main()/-CPU初始化- cpu_init(); for(;) /-程序結(jié)束-4.2.2 使用fft算法計算信號的頻率。void kfft(double prLength,double piLength,int n,int k,double frLength,double fiLength,int l,int il) int it,m,is,i,j,nv,l0; double p,q,s,vr,vi,poddr,poddi; for (it=0; it=n-1; it+) m=it; is=0; for (i=0; i=k-1;

11、i+) j=m/2; is=2*is+(m-2*j); m=j; frit=pris; fiit=piis; pr0=1.0; pi0=0.0; p=6./(1.0*n); pr1=cos(p); pi1=-sin(p); if (l!=0) pi1=-pi1; for (i=2; i=n-1; i+) p=pri-1*pr1; q=pii-1*pi1; s=(pri-1+pii-1)*(pr1+pi1); pri=p-q; pii=s-p-q; for (it=0; it=0; l0-) m=m/2; nv=2*nv; for (it=0; it=(m-1)*nv; it=it+nv) fo

12、r (j=0; j=(nv/2)-1; j+) p=prm*j*frit+j+nv/2; q=pim*j*fiit+j+nv/2; s=prm*j+pim*j; s=s*(frit+j+nv/2+fiit+j+nv/2); poddr=p-q; poddi=s-p-q; frit+j+nv/2=frit+j-poddr; fiit+j+nv/2=fiit+j-poddi; frit+j=frit+j+poddr; fiit+j=fiit+j+poddi; if (l!=0) for (i=0; i=n-1; i+) fri=fri/(1.0*n); fii=fii/(1.0*n); if (i

13、l!=0) for (i=0; i=n-1; i+) pri=sqrt(fri*fri+fii*fii); if (fabs(fri)0) pii=90.0; else pii=-90.0; else pii=atan(fii/fri)*360.0/6.; 使用FFT進(jìn)行運算后的波形4.3求系統(tǒng)單位脈沖響應(yīng)h(n) void firdes(double npass) int t; for (t=0; tFLen; t+) ht = sin(t-(FLen-1)/2.0)*npass*pi)/(pi*(t-(FLen-1)/2.0); if (t = (FLen-1)/2) ht=npass;

14、4.4對信號進(jìn)行FIR濾波 interrupt void int2() in_xm = port8002;in_xm &= 0x00FF;m+;intnum = m;if (intnum = Len)intnum = 0;xmean = 0.0;for (i=0; iLen; i+)xmean = in_xi + xmean;xmean = 1.0*xmean/Len;for (i=0; iLen; i+)xi = (double)(in_xi - xmean);for (i=0; iLen; i+)for (p=0; pFLen; p+) xmidFLen-p-1 = xmidFLen-p-

15、2; xmid0 = xi; r = 0;rm= 0; for (j=0; jFLen; j+) r = xmidj * hj;rm = rm + r; yi = rm; m=0;flag = 1; 濾波后的波形 五 課程設(shè)計總結(jié)通過這次數(shù)字信號課程設(shè)計,我覺得學(xué)到了很多東西。它讓我懂得了什么是課程設(shè)計,為我們以后的畢業(yè)設(shè)計打下了一些基礎(chǔ)。更重要的是通過這次課程設(shè)計,我多少清楚了在以后的工作中我們這個專業(yè)能做些什么,也為我們以后的工作積累了一些經(jīng)驗,很有意義。在課程設(shè)計開始時,我還不是很明白我們到底要做些什么,或者說怎么去實現(xiàn)。因為不知道DSP原理圖和PCB圖,也沒接觸過protel DXP軟

16、件和CCS軟件。但是大家都差不多,都會有這種感覺的。車到山前必有路,有路必有大眾車。在宋博士的一步步帶領(lǐng)和指導(dǎo)下,我們也幾乎能跟上,比如,在課程設(shè)計一中,在老師的指導(dǎo)下,我至少明白了我們到底要做些什么,實現(xiàn)步驟是什么,也就是說實驗?zāi)康暮蛯嶒灢襟E明確了。由于還不熟悉軟件的使用,所以具體實現(xiàn)還是遇到很多問題,比如說課程設(shè)計一中遇到了以下問題。一是如何創(chuàng)建自己的原理圖并增加到原理圖庫個中,二是封裝元件時,對不同的元件要用什么來封裝,特別是對電容和非們的封裝。三是布線時由于布局不好,所以布線雖然完成了,但布線很不整齊緊湊。等等一些問題。最后在老師和同學(xué)的指導(dǎo)和幫助下,但幾乎解決了。特別是布線這一環(huán)節(jié)中

17、,我花了很多時間進(jìn)行了第二次布線,雖然還是不是十分完美,但感覺比第一次好多了,畢竟有了第一次布線的經(jīng)驗。最后再畫板鋪銅,總算完成了。至少知道了設(shè)計一個硬件系統(tǒng),需要先設(shè)計結(jié)構(gòu)框圖,再畫出原理圖,再進(jìn)行布線,最后畫板鋪地鋪電源層等。第二個軟件設(shè)計實驗比較難,主要是算法的實現(xiàn)比較難。比如FFT變換的實現(xiàn)和卷積的實現(xiàn)等。但在老師的講解下,大部分都明白了,至于fft的實現(xiàn),以后再研究。至少明白了這個課程設(shè)計的流程,即先進(jìn)行采集外部信號并進(jìn)行A/D轉(zhuǎn)換,將轉(zhuǎn)換后的信號采集到DSP內(nèi)存,會用CCS軟件顯示采集的數(shù)據(jù)波形,使用fft算法計算信號的頻率對信號進(jìn)行卷積運算IIR濾波或FIR濾波等。老師說過,如果我們這次課程設(shè)計能拿到九十分以上還找不到工作的話,他負(fù)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論