DSP課程設計報告_第1頁
DSP課程設計報告_第2頁
DSP課程設計報告_第3頁
DSP課程設計報告_第4頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)據(jù)采集處理和控制系統(tǒng)設計一 課程設計要求1. 基本 DSP硬件系統(tǒng)設計要求基本 DSP硬件系統(tǒng)以 TMS320C54x系列為核心處理器,包括最小系統(tǒng)、存儲器擴展、顯示器、鍵盤、 AD、 DA等電路模塊;硬件設計畫出主要芯片及電路模塊之間的連接即可, 重點考查電路模塊方案設計與系統(tǒng)地址分配;設計方案以電路示意圖為主,輔以必要的文字說明。2. 基本軟件設計要求看懂所給例程,畫出例程輸出波形示意圖;修改例程程序,使之輸出其它波形,如方波、三角波、鋸齒波等均可;設計方案以程序實現(xiàn)為主,輔以必要的文字說明。3. 課程設計報告要求硬件系統(tǒng)設計:設計思路、設計系統(tǒng)功能、主要芯片選型及使用方法、設計方案說明

2、、電路示意圖軟件系統(tǒng)設計: 示例程序功能解讀及輸出波形示意圖、 設計軟件功能、 設計思路、實現(xiàn)源碼(帶程序注釋)報告總結二 系統(tǒng)分析利用實驗箱的模擬信號產生單元產生不同頻率的信號, 或者產生兩個頻率的信號的疊加。在 DSP 中采集信號,并且對信號進行頻譜分析,濾波等。通過鍵盤或者串口命令選擇算法的功能,將計算的信號頻率或者濾波后信號的頻率在 LCD 上顯示。主要功能如下:(1) 對外部輸入的模擬信號采集到 DSP 內存,會用 CCS 軟件顯示采集的數(shù)據(jù)波形。(2) 對采集的數(shù)據(jù)進行如下算法分析:頻譜分析:使用fft算法計算信號的頻率。對信號進行 IIR濾波或 FIR 濾波,并且計算濾波前后信號

3、的頻率。外部鍵盤或者從計算機來的串口命令選擇算法功能,并且將結果在LCD 上顯示。繪制出 DSP系統(tǒng)的功能框圖、使用 AD( Altium Designer )繪制出系統(tǒng)的原理圖和 PCB 版圖。在 DSP 中采集信號,用 CCS 軟件顯示采集的數(shù)據(jù)波形,以及對采集的數(shù)據(jù)進行算法分析。三 硬件設計3.1硬件總體結構CLKSPower(73HD3XX)復位電路3.2 DSP 模塊設計D15.016A19.020CONTROL1MX16BIT FLASH11WEOETMS32054XRESETCEXDS510 JTAG163.3電源模塊設計將 5V 電源電壓轉換為 3.3V 和 1.6V 電源 3

4、.4 時鐘模塊設計此處由外部晶振提供時鐘信號3.5存儲器模塊設計DSP上只有一個讀寫控制信號引腳,而FLASH有兩個引腳,將讀、寫分開,故在 OE上接一個非門電路,實現(xiàn)高時讀,低時寫。FLASH上的地址線和數(shù)據(jù)線與 DSP上的地址線、數(shù)據(jù)線相連3.6 JATG 模塊設計3.7 TMS320VC5416 最小系統(tǒng) PCB 版圖板上包括了支持 TMS320VC5416獨立運行的時鐘電路、復位電路、 Flash 模塊、JTAG仿真接口電路以及電源模塊等。為節(jié)省空間和材料,部分器件放在了反面。四 軟件設計4.1 正弦波信號發(fā)生器所給例程輸出波形為正弦波,波形如下圖所示:4.2 三角波(方波)信號發(fā)生器

5、*三角波信號發(fā)生程序(括號內為方波)*.mmregs.defstartk1.usect"k",1outdata1.set 0800h(0800h)outdata2.set 09ffh(0fffh)outdata3.set 0affh(0fffh)outdata4.set 0bffh(0fffh)outdata5.set 0cffh(0fffh)outdata6.set 0dffh(0fffh)outdata7.set 0effh(0fffh)outdata8.set 0fffh(0fffh)outdata9.set 1000h(0fffh)outdata10 .set 0f

6、ffh(0fffh)outdata11 .set 0effh(0fffh)outdata12 .set 0dffh(0fffh)outdata13 .set 0cffh(0fffh)outdata14 .set 0bffh(0fffh)outdata15 .set 0affh(0fffh)outdata16 .set 09ffh(0fffh)outdata17 .set 08ffh(0800h)outdata18 .set 07ffh(0000h)outdata19 .set 06ffh(0000h)outdata20 .set 05ffh(0000h)outdata21 .set 04ffh

7、(0000h)outdata22 .set 03ffh(0000h)outdata23 .set 02ffh(0000h)outdata24 .set 01ffh(0000h)outdata25 .set 00ffh(0000h)outdata26 .set 01ffh(0000h)outdata27 .set 02ffh(0000h)outdata28 .set 03ffh(0000h)outdata29 .set 04ffh(0000h)outdata30 .set 05ffh(0000h)outdata31 .set 06ffh(0000h)outdata32 .set 07ffh(00

8、00h)/ 定義輸出數(shù)據(jù).textstart:stm 2000h,sp/ 置堆棧指針stm#k1,ar2/ 將操作數(shù) #k1 裝入 ar2st #outdata1,*ar2/ 將數(shù)據(jù)送到 *ar2 nopnopbegin:st#outdata1,*ar2portw*ar2,0bfffh/ 將*ar2 內容從 D/A 轉換器輸出 rpt #7fffh/ 等待一段時間nopst#outdata2,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata3,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata4,*ar2portw*ar2,

9、0bfffhrpt#7fffhnopst#outdata5,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata6,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata7,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata8,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata9,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata10,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata11,*ar2

10、portw*ar2,0bfffhrpt#7fffhnopst#outdata12,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata13,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata14,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata15,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata16,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata17,*ar2portw*ar2,0bfffhrpt#7fffhnopst

11、#outdata18,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata19,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata20,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata21,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata22,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata23,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata24,*ar2portw*ar2,0bfff

12、hrpt#7fffhnopst#outdata25,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata26,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata27,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata28,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata29,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata30,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata31,*ar2

13、portw*ar2,0bfffhrpt#7fffhnopst#outdata32,*ar2portw*ar2,0bfffhrpt#7fffhnopb begin/ 循環(huán)輸出 32 個數(shù)據(jù).end/ 代碼段結束4.3本系統(tǒng)軟件總體流程系統(tǒng)各模塊初始化調用 FIR濾波器設計函數(shù)設計系統(tǒng)函數(shù)采集數(shù)據(jù)并調用 FFT和卷計算法對信號進行處理計算輸入信號的頻率和濾波后的信號頻率每采集 256點計算頻率參數(shù)返回第三步4.4核心模塊及實現(xiàn)代碼FFT算法程序:void kfft(double prLength,double piLength,int n,int k,double frLength,double

14、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; i+) j=m/2; is=2*is+(m-2*j); m=j; frit=pris; fiit=piis;pr0=1.0; pi0=0.0;p=6.283185306/(1.0*n);pr1=cos(p); pi1=-sin(p);if (l!=0) pi1=-pi1;for (i=2; i<=n-1; i+) p=pr

15、i-1*pr1; q=pii-1*pi1; s=(pri-1+pii-1)*(pr1+pi1);pri=p-q; pii=s-p-q;for (it=0; it<=n-2; it=it+2) vr=frit; vi=fiit; frit=vr+frit+1; fiit=vi+fiit+1; frit+1=vr-frit+1; fiit+1=vi-fiit+1;m=n/2; nv=2;for (l0=k-2; l0>=0; l0-) m=m/2; nv=2*nv;for (it=0; it<=(m-1)*nv; it=it+nv)for (j=0; j<=(nv/2)-1

16、; 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 (il!=0)for (i=0; i<=

17、n-1; i+) pri=sqrt(fri*fri+fii*fii);if (fabs(fri)<0.000001*fabs(fii) if (fii*fri)>0) pii=90.0; else pii=-90.0;elsepii=atan(fii/fri)*360.0/6.283185306;卷積程序:void Convolveok(double *x,/卷積函數(shù)/原始輸入數(shù)據(jù)double *h,/沖擊響應double *y,/卷積輸出結果UINT16 Leng,/ 序列長度UINT16 h_Len)UINT16 m,p,j;double r,rm;double xmean =

18、 0.0;double xmid100;for(m=0;m<h_Len;m+)xmidm = 0.0;for (m=0; m<Leng; m+)xmean = xm + xmean;xmean = 1.0*xmean/Length;for (m=0; m<Leng; m+)xm = xm - xmean;for (m=0; m<Leng; m+)for (p=0; p<h_Len; p+)xmidh_Len-p-1 = xmidh_Len-p-2;xmid0 = xm;r = 0.0;rm= 0.0;for (j=0; j<h_Len; j+)r = xmi

19、dj * hj; rm = rm + r;ym = rm;求最大值和次大值函數(shù):void max() int k1,k2;/k1最大值, k2 次最大值int r;for(r=0;r<16;r+)if(prk1<prr)k1=r;for(r=20;r<64;r+)if(prk2<prr)k2=r;f0=250000.0/256*k1;f1=250000.0/256*k2;fc=(f0+f1)/2;歸一化函數(shù):void avg() int j; sum= 0.0; for(j=0;j<256;j+)sum+=(data_buffj/256.0);for(j=0;j&

20、lt;256;j+)prj=data_buffj-sum;pij=0.0;FIR 濾波器設計函數(shù):void firdes(double npass)/求 h(n)int t;for (t=0; t<FLen; t+)ht=sin(t-(FLen-1)/2.0)*npass*3.1415926)/(3.1415926*(t-(FLen-1)/2.0);if (t = (FLen-1)/2) ht=npass;外部中斷 2 服務函數(shù):void interrupt ExtInt2(void)int i1,j;*(unsigned int*)IFR=0xFFFF; / 清除所有中斷標志 data

21、_buffi1 = port8002 & 0x00ff;i1+;if(i1 = 256)avg();kfft(pr,pi,256,8,fr,fi,0,1);max();npass=fc/250000.0;firdes(npass);Convolveok(data_buff,h,y,256,51);for(j=0;j<256;j+)yrj=yj;yij=0.0;kfft(yr,yi,256,8,Yr,Yi,0,1);flag=1;i1 = 0;4.5程序運行效果采集的數(shù)據(jù)及其FFT計算結果 51 階濾波器 H(n) 波形濾波前后信號頻譜圖:由濾波前后高低頻分量的相對大小證明低通濾波器對高頻分量的衰減作用比較強,但沒有完全濾出去采集數(shù)據(jù)波形與濾波后波形比較由圖可見濾波后信號中的高頻分量得到了較大的衰減,濾波后波形變得平滑。五 課程設計總結DSP芯片有更適合于數(shù)字信號處理的軟件和硬件資源,非常適合于通用數(shù)字信號處理的開發(fā), 為數(shù)字信號處理的應用打開了新局面。 學好 DSP技術具有非常

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論