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

下載本文檔

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

文檔簡介

數(shù)據(jù)采集處理和控制系統(tǒng)設計一課程設計要求1?;綝SP硬件系統(tǒng)設計要求基本DSP硬件系統(tǒng)以TMS320C54X系列為核心處理器,包括最小系統(tǒng)、存儲器擴展、顯示器、鍵盤、AD、DA等電路模塊;硬件設計畫出主要芯片及電路模塊之間的連接即可,重點考查電路模塊方案設計與系統(tǒng)地址分配;設計方案以電路示意圖為主,輔以必要的文字說明。2?;拒浖O計要求看懂所給例程,畫出例程輸出波形示意圖;修改例程程序,使之輸出其它波形,如方波、三角波、鋸齒波等均可;設計方案以程序?qū)崿F(xiàn)為主,輔以必要的文字說明.3。課程設計報告要求硬件系統(tǒng)設計:設計思路、設計系統(tǒng)功能、主要芯片選型及使用方法、設計方案說明、電路示意圖軟件系統(tǒng)設計:示例程序功能解讀及輸出波形示意圖、設計軟件功能、設計思路、實現(xiàn)源碼(帶程序注釋)報告總結二系統(tǒng)分析利用實驗箱的模擬信號產(chǎn)生單元產(chǎn)生不同頻率的信號,或者產(chǎn)生兩個頻率的信號的疊加。在DSP中采集信號,并且對信號進行頻譜分析,濾波等。通過鍵盤或者串口命令選擇算法的功能,將計算的信號頻率或者濾波后信號的頻率在LCD上顯示。主要功能如下:(1)對外部輸入的模擬信號采集到DSP內(nèi)存,會用CCS軟件顯示采集的數(shù)據(jù)波形.(2)對采集的數(shù)據(jù)進行如下算法分析:頻譜分析:使用fft算法計算信號的頻率。對信號進行IIR濾波或FIR濾波,并且計算濾波前后信號的頻率。外部鍵盤或者從計算機來的串口命令選擇算法功能,并且將結果在LCD上顯示。繪制出DSP系統(tǒng)的功能框圖、使用AD(AltiumDesigner)繪制出系統(tǒng)的原理圖和PCB版圖。在DSP中采集信號,用CCS軟件顯示采集的數(shù)據(jù)波形,以及對采集的數(shù)據(jù)進行算法分析.三硬件設計CLKSD[15..0]/\\V一/16A[19..0]-PowerL(73HD3XX)20/CONTROL、、''、:——\——/111MX16BITFLASH復位電路TMS32054XRESET3.2DSP模塊設計WEOECEXDS510JTAGC-S■■飛HCAU■fr=SM-己|=-E-nm_i-E_139nE_e=_cmD-r=_■?Exnn-=_nE_itExriu:_^黑1邪珀黑MCIKESETKEKC1GND撾IFMEHKBLQUTLOUT21ESETKCK£zsmii:2Dtrr2flUTCap0L1F7-HD3I6■,■X'將5V電源電壓轉(zhuǎn)換為3。3V和1.6V電源3。4時鐘模塊設計此處由外部晶振提供時鐘信號§GfbGNDCLKX2CLKS§GfbGNDCLKX2CLKS3。5存儲器模塊設計DSP上只有一個讀寫控制信號引腳,而FLASH有兩個引腳,將讀、寫分開,故在OE上接一個非門電路,實現(xiàn)高時讀,低時寫.FLASH上的地址線和數(shù)據(jù)線與DSP上的地址線、數(shù)據(jù)線相連3。6JATG模塊設計nisI-.「I旅7pGND呻雙:?pGND一f8XDS51&JTAG3.7TMS320VC5416最小系統(tǒng)PCB版圖板上包括了支持TMS320VC5416獨立運行的時鐘電路、復位電路、Flash模塊、JTAG仿真接口電路以及電源模塊等。為節(jié)省空間和材料,部分器件放在了反面。四軟件設計4.1正弦波信號發(fā)生器所給例程輸出波形為正弦波,波形如下圖所示:45004000350030002.SOD2000150D1000500Q01015202530354。2三角波(方波)信號發(fā)生器大火**火火**火***火火火火火火*大火***火*火*火*火火火*****火火火**火*****火火**火***火火**火***火火*火*火**火**火火火**火火大三角波信號發(fā)生程序(括號內(nèi)為方波)**************************************************************************************.mmregs。defstartk1。usectk,1outdatal。set0800h(0800h)outdata2.set09ffh(0fffh)outdata3。set0affh(0fffh)outdata4.set0bffh(0fffh)outdata5.set0cffh(0fffh)outdata6.set0dffh(0fffh)outdata7。set0effh(0fffh)outdata8.set0fffh(0fffh)outdata9。set1000h(0fffh)outdata10.set0fffh(0fffh)outdatall.set0effh(0fffh)outdata12。set0dffh(0fffh)outdata13.set0cffh(0fffh)outdata14。set0bffh(0fffh)outdata15。set0affh(0fffh)outdata16.set09ffh(0fffh)outdata17.set08ffh(0800h)outdata18.set07ffh(0000h)outdata19.set06ffh(0000h)outdata20。set05ffh(0000h)outdata21。set04ffh(0000h)outdata22.set03ffh(0000h)outdata23。set02ffh(0000h)outdata24。set01ffh(0000h)outdata25.set00ffh(0000h)outdata26。set01ffh(0000h)outdata27。set02ffh(0000h)outdata28.set03ffh(0000h)outdata29。set04ffh(0000h)outdata30。set05ffh(0000h)outdata31。45004000350030002.SOD2000150D1000500Q0101520253035stm2000h,sp〃置堆棧指針stm#k1,ar2〃將操作數(shù)#k1裝入ar2st#outdata1,*ar2〃將數(shù)據(jù)送到*ar2nopnopbegin:st#outdata1,大ar2portw*ar2,0bfffh〃將大ar2內(nèi)容從D/A轉(zhuǎn)換器輸出rpt#7fffh//等待一段時間nopst#outdata2,*ar2portw大ar2,0bfffhrpt#7fffhnopst#outdata3,*ar2portw*ar2,0bfffh

rptnopstrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportw#outdata4,大ar2*ar2,0bfffh#7fffh#outdata5,*ar2大ar2,0bfffh#7fffh#outdata6,*ar2*ar2,0bfffh#7fffh#outdata7,*ar2大ar2,0bfffh#7fffh#outdata8,大ar2*ar2,0bfffh#7fffh#outdata9,大ar2大ar2,0bfffh#7fffh#outdata10,*ar2*ar2,0bfffh#7fffh#outdata11,*ar2大ar2,0bfffh#7fffh#outdata12,大ar2大ar2,0bfffh#7fffh#outdata13,大ar2大ar2,0bfffh#7fffh#outdata14,*ar2大ar2,0bfffh

rptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportwrptnopstportw#outdata15,*ar2*ar2,0bfffh#7fffh#outdata16,*ar2大ar2,0bfffh#7fffh#outdata17,大ar2大ar2,0bfffh#7fffhoutdata18,*ar2大ar2,0bfffh#7fffh#outdata19,大ar2大ar2,0bfffh#7fffh#outdata20,*ar2*ar2,0bfffh#7fffh#outdata21,*ar2*ar2,0bfffh#7fffh#outdata22,*ar2*ar2,0bfffh#7fffh#outdata23,*ar2大ar2,0bfffh#7fffh#outdata24,*ar2大ar2,0bfffh#7fffh#outdata25,*ar2大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,*ar2portw*ar2,0bfffhrpt#7fffhnopst#outdata32,大ar2portw大ar2,0bfffhrpt#7fffhnopbbegin〃循環(huán)輸出32個數(shù)據(jù)。end〃代碼段結束4.3本系統(tǒng)軟件總體流程系統(tǒng)各模塊初始化'、/調(diào)用FIR濾波器設計函數(shù)設計系統(tǒng)函數(shù)采集數(shù)據(jù)并調(diào)用FFT和卷計算法對信號進行處理SZ計算輸入信號的頻率和濾波后的信號頻率每采集256點計算頻率參數(shù)返回第三步4。4核心模塊及實現(xiàn)代碼FFT算法程序:voidkfft(doublepr[Length],doublepi[Length],intn,intk,doublefr[Length],doublefi[Length],intl,intil)(intit,m,is,i,j,nv,l0;doublep,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;}fr[it]=pr[is];fi[it]=pi[is];}pr[0]=1。0;pi[0]=0.0;p=6。283185306/(1.0*n);pr[1]=cos(p);pi[1]=一sin(p);if(l!=0)pi[1]=一pi[1];for(i=2;i<=n-1;i++){p=pr[i—1]*pr[1];q=pi[iT]*pi[1];s=(pr[i-1]+pi[i—1])*(pr[1]+pi[1]);pr[i]=p-q;pi[i]=s-p-q;}for(it=0;it〈=n-2;it=it+2){vr=fr[it];vi=fi[it];fr[it]=vr+fr[it+1];fi[it]=vi+fi[it+1];fr[it+1]=vr一fr[it+1];fi[it+1]=vi一fi[it+1];}m=n/2;nv=2;for(l0=k—2;10〉=0;10-—){m=m/2;nv=2大nv;for(it=0;it<=(m-1)大nv;it=it+nv)for(j=0;j〈=(nv/2)-1;j++){p=pr[m*j]*fr[it+j+nv/2];q=pi[m*j]*fi[it+j+nv/2];s=pr[m*j]+pi[m*j];s=s*(fr[it+j+nv/2]+fi[it+j+nv/2]);poddr=p-q;poddi=s—p-q;fr[it+j+nv/2]=fr[it+j]-poddr;fi[it+j+nv/2]=fi[it+j]-poddi;fr[it+j]=fr[it+j]+poddr;fi[it+j]=fi[it+j]+poddi;}}if(1!=0)for(i=0;i〈=n-1;i++){fr[i]=fr[i]/(1.0*n);fi[i]=fi[i]/(1。0*n);}if(i1!=0)for(i=0;i<=n—1;i++)(pr[i]=sqrt(fr[i]*fr[i]+fi[i]*fi[i]);if(fabs(fr[i])<0.000001*fabs(fi[i]))(if((fi[i]*fr[i])>0)pi[i]=90.0;elsepi[i]=-90.0;}e1sepi[i]=atan(fi[i]/fr[i])*360。0/6.283185306;}}卷積程序:voidConvolveok(〃卷積函數(shù)double*x,//原始輸入數(shù)據(jù)double*h,//沖擊響應double大y,//卷積輸出結果UINT16Leng,//序列長度UINT16h_Len)(UINT16m,p,j;doubler,rm;doublexmean=0.0;doublexmid[100];for(m=0;m<h_Len;m++){xmid[m]=0.0;}for(m=0;m<Leng;m++){xmean=x[m]+xmean;}xmean=1.0大xmean/Length;for(m=0;m〈Leng;m++)(x[m]=x[m]-xmean;}for(m=0;m<Leng;m++){for(p=0;p〈h_Len;p++){xmid[h_Len-p-1]=xmid[h_Len-p—2];}xmid[0]=x[m];r=0。0;rm=0。0;for(j=0;j<h_Len;j++){r=xmid[j]大h[j];rm=rm+r;}y[m]=rm;}}求最大值和次大值函數(shù):voidmax()(intk1,k2;//k1最大值,k2次最大值intr;for(r=0;r〈16;r++)(if(pr[k1]〈pr[r])(k1=r;}}for(r=20;r<64;r++){if(pr[k2]<pr[r])(k2=r;}}f0=250000.0/256*k1;f1=250000。0/256大k2;fc=(f0+f1)/2;}歸一化函數(shù):voidavg()(intj;sum=0。0;for(j=0;j〈256;j++){sum+=(data_buff[j]/256.0);}for(j=0;j<256;j++)(pr[j]=data_buff[j]-sum;pi[jl=0.0;}}FIR濾波器設計函數(shù):voidfirdes(doublenpass)//求h(n)(intt;for(t=0;t〈FLen;t++){h[t]=sin((t—(FLen—1)/2。0)*npass*3.1415926)/(3.1415926大(t-(FLen—1)/2.0));}if(t==((FLen一1)/2))h[t]=npass;}外部中斷2服務函數(shù):voidinterruptExtInt2(void){inti1,j;^(unsignedint*)IFR=0xFFFF;//清除所有中斷標志data_buff[i1]=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++)(yr[j]=y[j];yi[j]=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芯片

溫馨提示

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

評論

0/150

提交評論