大學(xué)dsp實(shí)驗(yàn)心得體會(huì)
大學(xué)dsp實(shí)驗(yàn)心得體會(huì)
通過(guò)本次大學(xué)dsp實(shí)驗(yàn),加深了我對(duì)DSP的認(rèn)識(shí),使我對(duì)DSP實(shí)驗(yàn)的操作有了更進(jìn)一步的理解?;菊莆樟薈CS實(shí)驗(yàn)環(huán)境的使用,并能夠使用C語(yǔ)言進(jìn)行簡(jiǎn)單的DSP程序設(shè)計(jì)。下面是學(xué)習(xí)啦小編為大家收集整理的大學(xué)dsp實(shí)驗(yàn)心得體會(huì),歡迎大家閱讀。
大學(xué)dsp實(shí)驗(yàn)心得體會(huì)篇1
實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)室名稱:數(shù)字信號(hào)處理實(shí)驗(yàn)室
二、實(shí)驗(yàn)項(xiàng)目名稱:多種離散時(shí)間信號(hào)的產(chǎn)生
三、實(shí)驗(yàn)原理:
1、基本離散時(shí)間信號(hào)
利用MATLAB強(qiáng)大的數(shù)值處理工具來(lái)實(shí)現(xiàn)信號(hào)的分析和處理,首先就是要學(xué)會(huì)應(yīng)用MATLAB函數(shù)來(lái)構(gòu)成信號(hào)。常見(jiàn)的基本信號(hào)可以簡(jiǎn)要?dú)w納如下:
(1).單位采樣序列
⎧1n=0δ(n)=⎨ 0⎩n≠0
在MATLAB中可以利用zeros()函數(shù)實(shí)現(xiàn)。
x=zeros(1,N);
x(1)=1;
如果δ(n)在時(shí)間軸上延遲了k個(gè)單位,得到δ(n-k)即:
δ(n-k)=⎨
(2).單位階躍序列 ⎧1n=k ⎩0n≠0
⎧1n≥0u(n)=⎨ 0n<0⎩
在MATLAB中可以利用ones()函數(shù)實(shí)現(xiàn)。
x=ones(1,N);
(3).正弦序列
x(n)=Asin(2πfn+ϕ)
采用MATLAB的實(shí)現(xiàn)方法,如:
n=0:N-1
x=A*sin(2*pi*f*n+ϕ)
(4).實(shí)指數(shù)序列
x(n)=A⋅an
其中,A、a為實(shí)數(shù)。采用MATLAB的實(shí)現(xiàn)方法,如:
n=0:N-1
x=a.^n
(5).復(fù)指數(shù)序列
x(n)=A⋅e n=0:N-1 采用MATLAB的實(shí)現(xiàn)方法,如: x=A*exp((σ+j*ω0)*n)
為了畫出復(fù)數(shù)信號(hào)x[n],必須要分別畫出實(shí)部和虛部,或者幅值和相角。MATLAB函數(shù)real、imag、abs和angle可以逐次計(jì)算出一個(gè)復(fù)數(shù)向量的這些函數(shù)。
2、基本數(shù)字調(diào)制信號(hào)
(1).二進(jìn)制振幅鍵控(2ASK)
最簡(jiǎn)單的數(shù)字調(diào)制技術(shù)是振幅鍵控(ASK),即二進(jìn)制信息信號(hào)直接調(diào)制模擬載波的振幅。二進(jìn)制幅度鍵控信號(hào)的時(shí)域表達(dá)式:SASK(t)=[∑ang(t-nTs)]cosωct
其中,an為要調(diào)制的二進(jìn)制信號(hào),gn(t)是單極性脈沖信號(hào)的時(shí)間波形,Ts表示調(diào)制的信號(hào)間隔。 (σ+jω0)n 典型波形如下:
圖1 – 1二進(jìn)制振幅鍵控信號(hào)時(shí)間波形
(2).二進(jìn)制頻移鍵控(2FSK)
在二進(jìn)制數(shù)字調(diào)制中,若正弦載波的頻率隨二進(jìn)制基帶信號(hào)在f1和f2兩個(gè)頻率點(diǎn)間變化,則產(chǎn)生
二進(jìn)制移頻鍵控信號(hào)(2FSK信號(hào))。二進(jìn)制頻域鍵控已調(diào)信號(hào)的時(shí)域表達(dá)式為: ⎡⎤⎡⎤S2FSK(t)=⎢∑ang(t-nTS)⎥cosω1t+⎢∑ng(t-nTS)⎥cosω2t ⎣n⎦⎣n⎦這里,ω1=2πf1,ω2=2πf2,an是an的反碼。
an
載波信號(hào)1 t 載波信號(hào)2 t
2FSK信號(hào) t
(3).二進(jìn)制相移鍵控(2PSK或BPSK)
在二進(jìn)制數(shù)字調(diào)制中,當(dāng)正弦載波的相位隨二進(jìn)制數(shù)字基帶信號(hào)離散變化時(shí),則產(chǎn)生二進(jìn)制移相鍵控(2PSK)信號(hào)。通常用已調(diào)信號(hào)載波的0°和 180°分別表示二進(jìn)制數(shù)字基帶信號(hào)的 1 和 0。二進(jìn)制移相鍵控信號(hào)的時(shí)域表達(dá)式為:
⎡⎤
S2PSK(t)=⎢∑ang(t-nTS)⎥cos(ωct+φi),φi=0或π
⎣n⎦
(3).二進(jìn)制相移鍵控(2PSK或BPSK)
在二進(jìn)制數(shù)字調(diào)制中,當(dāng)正弦載波的相位隨二進(jìn)制數(shù)字基帶信號(hào)離散變化時(shí),則產(chǎn)生二進(jìn)制移相鍵控(2PSK)信號(hào)。通常用已調(diào)信號(hào)載波的0°和 180°分別表示二進(jìn)制數(shù)字基帶信號(hào)的 1 和 0。二進(jìn)制移相鍵控信號(hào)的時(shí)域表達(dá)式為:
⎡⎤
S2PSK(t)=⎢∑ang(t-nTS)⎥cos(ωct+φi),φi=0或π
⎣n⎦
因此,DTMF信號(hào)可以看作兩個(gè)有限長(zhǎng)度的正弦序列相加,正弦信號(hào)的頻率由按鍵數(shù)字或字母符號(hào)對(duì)應(yīng)的頻率決定。如,數(shù)字“8”由行頻852Hz和列頻1336Hz決定。
四、實(shí)驗(yàn)?zāi)康模?/p>
1、 掌握幾種基本的離散時(shí)間信號(hào)(包括單位采樣序列,單位階躍序列,單頻正弦序列,單頻復(fù)指
數(shù)序列,實(shí)指數(shù)序列等)。
2、 能夠熟練利用MATLAB產(chǎn)生這些基本的離散時(shí)間信號(hào)。
3、 理解雙音多頻DTMF信號(hào)、ASK、FSK、BPSK等信號(hào)的產(chǎn)生原理。
4、 學(xué)習(xí)并運(yùn)用MATLAB產(chǎn)生各種通信中的調(diào)制信號(hào)及雙音多頻信號(hào)。
五、實(shí)驗(yàn)內(nèi)容:
1、對(duì)幾種基本離散時(shí)間信號(hào)(包括單位采樣序列,單位階躍序列,正弦序列,復(fù)指數(shù)序列,實(shí)指數(shù)序列等)在MATLAB中編程產(chǎn)生。
2、(拓展要求)利用MATLAB編程產(chǎn)生2ASK,2FSK,2PSK等數(shù)字調(diào)制信號(hào)。
3、(拓展要求)利用MATLAB編程產(chǎn)生理解雙音多頻DTFM信號(hào)。
4、(拓展要求)利用MATLAB編程產(chǎn)生高斯白噪聲序列。
5、(拓展要求)利用MATLAB中的譜分析函數(shù)對(duì)正弦信號(hào)的頻譜進(jìn)行分析。
6、通過(guò)硬件(DSP)實(shí)驗(yàn)箱演示上述信號(hào)的時(shí)域(示波器)波形與頻域波形(計(jì)算結(jié)果)。
六、實(shí)驗(yàn)器材(設(shè)備、元器件):
安裝MATLAB軟件的PC機(jī)一臺(tái),DSP實(shí)驗(yàn)演示系統(tǒng)一套。
七、實(shí)驗(yàn)步驟:
1、在-20≤n≤20內(nèi),畫出單位下列信號(hào):
(a).單位采樣序列x1[n]=δ[n]和單位階躍序列x2[n]=u[n]的時(shí)域波形圖。
(b).y1[n]=x1[n+5]、y2[n]=x2[n-8]的波形。說(shuō)明x1[n]與y1[n]、x2[n]與y2[n]之間的關(guān)系。
2、畫出下列信號(hào)在0≤n≤100內(nèi)的波形。 ⎛πn⎫x3[n]=sin ⎪⎝16⎭
⎛n⎫x4[n]=sin ⎪⎝2⎭
⎛πn⎫⎛3πn⎫x5[n]=cos ⎪+cos ⎪⎝12⎭⎝8⎭
觀察x3[n]、x4[n]、x5[n]是否周期信號(hào)。如果是周期信號(hào),信號(hào)的基波周期是什么?如果不是
周期信號(hào),說(shuō)明原因。
3、在0≤n≤30內(nèi),畫出下列信號(hào): nx6[n]=0.2(0.8) (-1/12+jπ/6)nx7[n]=e對(duì)于復(fù)數(shù)序列,要求分別畫出實(shí)部和虛部;幅值和相角。若把x6[n]中的底數(shù)0.8分別改為1.2、
-0.8,討論產(chǎn)生的時(shí)域波形有何變化??偨Y(jié)指數(shù)序列的底數(shù)對(duì)序列變化的影響。
4、(拓展要求)設(shè)計(jì)產(chǎn)生數(shù)字二進(jìn)制序列:1 0 1 0 1 0 的2ASK、2FSK、2PSK調(diào)制信號(hào)。已
知符號(hào)速率Fd=10Hz(即時(shí)間間隔Ts為0.1),輸出信號(hào)的采樣頻率為20Hz。
(a).2ASK信號(hào)的載波頻率Fc=5Hz,
(b).2FSK信號(hào)載波1頻率F1=5Hz,載波2頻率F2=1Hz。
(c).2PSK載波頻率Fc=1Hz。
分別畫出以上信號(hào)調(diào)制前后的時(shí)域波形圖。
5、(拓展要求)利用MATLAB產(chǎn)生DTMF雙音多頻信號(hào)。畫出數(shù)字“0”的時(shí)域波形圖。
6、(拓展要求)MATLAB函數(shù)randn(1,N)可以產(chǎn)生均值為0,方差為1的高斯隨機(jī)序列,也就是
白噪聲序列。試?yán)胷andn函數(shù)產(chǎn)生均值為0.15,方差為0.1的高斯白噪聲序列x8[n],要求序列時(shí)域范圍為0≤n≤100。畫出時(shí)域波形圖。同時(shí)將實(shí)驗(yàn)步驟2中產(chǎn)生的信號(hào)x2[n]與x8[n]相加,將得到的波形與x2[n]的波形做比較。
7、(拓展要求)利用MATLAB中的譜分析函數(shù)畫出x3[n]、x4[n]、x5[n]的頻譜。與理論上根據(jù)傅
立葉變換的定義計(jì)算出的x3[n]、x4[n]、x5[n]的頻譜進(jìn)行比較。
8、通過(guò)硬件(DSP)實(shí)驗(yàn)箱演示上述信號(hào)的時(shí)域(示波器)波形與頻域波形(計(jì)算結(jié)果)。
八、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:
程序:
(1)產(chǎn)生x1[n]、x2[n]、y1[n]、y2[n]、x3[n]、x4[n]、x5[n]、x6[n]、x7[n]序列的程序
(2)產(chǎn)生2ASK、2FSK、2PSK調(diào)制信號(hào)的程序(拓展要求)
(3)產(chǎn)生DTMF信號(hào)的程序(拓展要求)
(4)高斯白噪聲序列的產(chǎn)生程序(擴(kuò)展要求)
(4)正弦信號(hào)頻譜分析的程序(擴(kuò)展要求)
clear all;
clc;
n=101;
%單位采樣序列
x1=zeros(1,n);
x1(1)=1;
x1=[zeros(1,100),x1];
%單位階躍序列
x2=ones(1,n);
x2=[zeros(1,100),x2];
%
n1=0:n-1;
yn1=n1-5;
yn2=n1+8;
%100;
Fs=1000;
n2=0:100;
%正弦序列
x3=sin(2*pi*n2/32);
x4=sin(n2/2);
x5=sin(pi*n2/12)+cos(3*pi*n2/8);
%指數(shù)序列
n3=0:30;
x61=0.2*(0.8.^n3);%實(shí)指數(shù)序列
x62=0.2*(1.2.^n3);
x63=0.2*((-0.8).^n3);
x7=exp((-1/12+1i*pi/6)*n3);%復(fù)指數(shù)序列
%畫出圖形
figure(1)
subplot(2,2,1),stem(n1,x1),title('x1'),axis([-20,20,0,1]);
subplot(2,2,2),stem(n1,x2),title('x2'),axis([-20,20,0,1]);
subplot(2,2,3),stem(yn1,x1),title('y1'),axis([-20,20,0,1]);
subplot(2,2,4),stem(yn2,x2),title('y2'),axis([-20,20,0,1]);
figure(2)
subplot(3,1,1),stem(n2,x3),title('x3'),axis([0,100,-1,1]);
subplot(3,1,2),stem(n2,x4),title('x4'),axis([0,100,-1,1]);
subplot(3,1,3),stem(n2,x5),title('x5'),axis([0,100,min(x5),max(x5)]);
figure(3)
subplot(3,1,1),stem(n3,x61),title('x6 a=0.8'),axis([0,30,min(x61),max(x61)]);
subplot(3,1,2),stem(n3,x62),title('x6 a=1.2'),axis([0,30,min(x62),max(x62)]);
subplot(3,1,3),stem(n3,x63),title('x6 a=-0.8'),axis([0,30,min(x63),max(x63)]);
figure(4)
subplot(4,1,1),stem(n3,abs(x7)),title('x7幅值'),axis([0,30,min(abs(x7)),max(abs(x7))]);
subplot(4,1,2),stem(n3,angle(x7)),title('x7相角'),axis([0,30,min(angle(x7)),max(angle(x7))]); subplot(4,1,3),stem(n3,imag(x7)),title('x7虛部'),axis([0,30,min(imag(x7)),max(imag(x7))]); subplot(4,1,4),stem(n3,real(x7)),title('x7實(shí)部'),axis([0,30,min(real(x7)),max(real(x7))]); %調(diào)制
x_base=[1,0,1,0,1,0];
Fd=10000;
t=linspace(0,0.6,6*Fd);
if(x_base(1)==1)
m=ones(1,Fd);
elseif(x_base(1)==0)
m=zeros(1,Fd);
end
for i=2:6
if(x_base(i)==1)
m=[m,ones(1,Fd)];
elseif(x_base(i)==0)
m=[m,zeros(1,Fd)];
end
end
%2ASK
Fc_A=5;
S_ask=m.*cos(2*pi*Fc_A*t);
%
figure(5)
subplot(4,1,1),stem(0:0.1:0.5,x_base),title('序列An'),axis([0,0.6,0,1]),xlabel('s');
subplot(4,1,2),plot(t,m),title('mt'),axis([0,0.6,0,1.5]),title('mt'),xlabel('s');
subplot(4,1,3),plot(t,cos(2*pi*Fc_A*t)),title('mt'),axis([0,0.6,-1.2,1.2]),title('載波信號(hào)'),xlabel('s'); subplot(4,1,4),plot(t,S_ask),title('mt'),axis([0,0.6,-1.2,1.2]),title('2ASK調(diào)制信號(hào)'),xlabel('s'); %2FSK
F1=5;F2=1;
s1=m.*cos(2*pi*F1*t);
s2=(1-m).*cos(2*pi*F2*t);
S_fsk=s1+s2;
figure(6)
subplot(4,1,1),plot(t,m),axis([0,0.6,0,1.5]),title('mt'),xlabel('s');
subplot(4,1,2),plot(t,s1),axis([0,0.6,-1.2,1.2]),title('載波信號(hào)1 F=5Hz)'),xlabel('s');
subplot(4,1,3),plot(t,s2),axis([0,0.6,-1.2,1.2]),title('載波信號(hào)2 F=1Hz'),xlabel('s');
subplot(4,1,4),plot(t,S_fsk),axis([0,0.6,-1.2,1.2]),title('2FSK調(diào)制信號(hào)'),xlabel('s');
%2PSK
Fc_P=1;
S_psk=(2*m-1).*cos(2*pi*Fc_P*t+pi);
figure(7)
subplot(4,1,1),plot(t,2*m-1),axis([0,0.6,-1.5,1.5]),title('mt'),xlabel('s');
subplot(4,1,2),plot(t,cos(2*pi*Fc_P*t+pi)),axis([0,0.6,-1.2,1.2]),title('正相載波信號(hào)'),xlabel('s'); subplot(4,1,3),plot(t,-cos(2*pi*Fc_P*t+pi)),axis([0,0.6,-1.2,1.2]),title('反相載波信號(hào)'),xlabel('s'); subplot(4,1,4),plot(t,S_psk),axis([0,0.6,-1.2,1.2]),title('2PSK調(diào)制信號(hào)'),xlabel('s');
%DTFM
t_dt=linspace(0,0.02,10000);
x_dtfm=cos(2*pi*941*t_dt)+cos(2*pi*1366*t_dt);
plot(t_dt,x_dtfm);
%rand
N=201;
x8=sqrt(0.1)*randn(1,N)+0.15;
x_rnd=x2+x8;
figure(8)
subplot(3,1,1),stem(n1,x2),title('X2');
subplot(3,1,2),stem(n1,x8),title('高斯信號(hào)');
subplot(3,1,3),stem(n1,x_rnd),title('加噪聲后X2');
%FFT
N_smp=length(n2);
fre=linspace(-1,1,N_smp)*Fs/2;
y3=abs(fftshift(fft(x3)));
y4=abs(fftshift(fft(x4)));
y5=abs(fftshift(fft(x5)));
figure(9)
subplot(3,1,1),plot(fre,y3),xlabel('Hz'),title('X3頻譜'),xlabel('頻率Hz'),axis([-100,100,1.2*min(y3),1.2*max(y3)]);
subplot(3,1,2),plot(fre,y4),xlabel('Hz'),title('X4頻譜'),xlabel('頻率Hz'),axis([-200,200,1.2*min(y4),1.2*max(y4)]);
subplot(3,1,3),plot(fre,y5),xlabel('Hz'),title('X5頻譜'),xlabel('頻率Hz'),axis([-300,300,1.2*min(y5),1.2*max(y5)]);
結(jié)果:
(1)x1[n]、x2[n]、y1[n]、y2[n]、x3[n]、x4[n]、x5[n]、x6[n]、x7[n]的時(shí)域波形
(2)信號(hào)的時(shí)移:x1[n]與y1[n]、x2[n]與y2[n]之間的關(guān)系。 答:y1[n]相當(dāng)于x1[n]向左平移5個(gè)單位,y2[n]相當(dāng)于將x2[n]向右平移8個(gè)單位
大學(xué)dsp實(shí)驗(yàn)心得體會(huì)篇2
基礎(chǔ)實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)設(shè)備
三、實(shí)驗(yàn)原理
浮點(diǎn)數(shù)的表達(dá)和計(jì)算是進(jìn)行數(shù)字信號(hào)處理的基本知識(shí);產(chǎn)生正弦信號(hào)是數(shù)字信號(hào)處理1. 一臺(tái)裝有CCS軟件的計(jì)算機(jī); 2. DSP實(shí)驗(yàn)箱的TMS320F2812主控板; 3. DSP硬件仿真器。 1. 掌握CCS實(shí)驗(yàn)環(huán)境的使用; 2. 掌握用C語(yǔ)言編寫DSP程序的方法。 中經(jīng)常用到的運(yùn)算;C語(yǔ)言是現(xiàn)代數(shù)字信號(hào)處理表達(dá)的基礎(chǔ)語(yǔ)言和通用語(yǔ)言。寫實(shí)現(xiàn)程序時(shí)需要注意兩點(diǎn):(1)浮點(diǎn)數(shù)的范圍及存儲(chǔ)格式;(2)DSP的C語(yǔ)言與ANSI C語(yǔ)言的區(qū)別。
四、實(shí)驗(yàn)步驟
1. 打開CCS 并熟悉其界面;
2. 在CCS環(huán)境中打開本實(shí)驗(yàn)的工程(Example_base.pjt),編譯并重建 .out 輸出文件,然后通過(guò)仿真器把執(zhí)行代碼下載到DSP芯片中;
3. 把X0 , Y0 和Z0添加到Watch窗口中作為觀察對(duì)象(選中變量名,單擊鼠標(biāo)右鍵,在彈出菜單中選擇“Add Watch Window”命令);
4. 選擇view->graph->time/frequency… 。 設(shè)置對(duì)話框中的參數(shù): 其中“Start Address”
設(shè)為“sin_value”,“Acquisition buffer size”和“Display Data size”都設(shè)為“100”,并且把“DSP Data Type”設(shè)為“32-bit floating point”,
設(shè)置好后觀察信號(hào)序列的波形(sin函數(shù),如圖);
5. 單擊運(yùn)行;
6. 觀察三個(gè)變量從初始化到運(yùn)算結(jié)束整個(gè)過(guò)程中的變化;觀察正弦波形從初始化到運(yùn)算結(jié)束整個(gè)過(guò)程中的變化;
7. 修改輸入序列的長(zhǎng)度或初始值,重復(fù)上述過(guò)程。
五、實(shí)驗(yàn)心得體會(huì)
通過(guò)本次實(shí)驗(yàn),加深了我對(duì)DSP的認(rèn)識(shí),使我對(duì)DSP實(shí)驗(yàn)的操作有了更進(jìn)一步的理解?;菊莆樟薈CS實(shí)驗(yàn)環(huán)境的使用,并能夠使用C語(yǔ)言進(jìn)行簡(jiǎn)單的DSP程序設(shè)計(jì)。
從軟件的安裝到使用軟件進(jìn)行程序設(shè)計(jì)與仿真,鍛煉了自己的動(dòng)手能力,也遇到了不少的坎坷,例如芯片的選擇,不能因?yàn)槁闊┒÷栽摬襟E,否則將會(huì)運(yùn)行出錯(cuò)。
大學(xué)dsp實(shí)驗(yàn)心得體會(huì)篇3
//EnablePWMpins;GpioMuxRegs.GPAMUX.all=0;GpioMuxRegs.GPBMUX.all=0;EDIS;;//Step3.Clearallinterrup;//DisableCPUinterrupts;DINT;;//InitializethePIEcontro;//ThedefaultstateisallPI;//ar
// Enable PWM pins
GpioMuxRegs.GPAMUX.all = 0x00FF; // EVA PWM 1-6 pins
GpioMuxRegs.GPBMUX.all = 0x00FF; // EVB PWM 7-12 pins
EDIS;
// Step 3. Clear all interrupts and initialize PIE vector table:
// Disable CPU interrupts
DINT;
// Initialize the PIE control registers to their default state.
// The default state is all PIE interrupts disabled and flags
// are cleared.
// This function is found in the DSP281x_PieCtrl.c file.
InitPieCtrl();
// Disable CPU interrupts and clear all CPU interrupt flags:
IER = 0x0000;
IFR = 0x0000;
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
// This will populate the entire table, even if the interrupt
// is not used in this example. This is useful for debug purposes.
// The shell ISR routines are found in DSP281x_DefaultIsr.c.
// This function is found in DSP281x_PieVect.c.
InitPieVectTable();
// Step 4. Initialize all the Device Peripherals:
// This function is found in DSP281x_InitPeripherals.c
// InitPeripherals(); // Not required for this example
InitXintf(); // For this example, init the Xintf
// Step 5. User specific code, enable interrupts:
init_eva();
//init_evb();
while(1)
{
for(i=0;i<65535;i+=1000)
{
Reg06=0;
EvbRegs.CMPR6 = i;
delay_loop();
}
}
}
void delay_loop()
{ short i,j;
for (i = 0; i < 1000; i++)
{for (j = 0; j < 10; j++);}
}
void init_eva()
{
// EVA Configure T1PWM, T2PWM, PWM1-PWM6
// Initalize the timers
// Initalize EVA Timer1
EvaRegs.T1PR = 0xFFFF; // Timer1 period
EvaRegs.T1CMPR = 0x3C00; // Timer1 compare
EvaRegs.T1CNT = 0x0000; // Timer1 counter
// TMODE = continuous up/down
// Timer enable
// Timer compare enable
EvaRegs.T1CON.all = 0x1042;
// Initalize EVA Timer2
EvaRegs.T2PR = 0x0FFF; // Timer2 period
EvaRegs.T2CMPR = 0x03C0; // Timer2 compare
EvaRegs.T2CNT = 0x0000; // Timer2 counter
// TMODE = continuous up/down
// Timer enable
// Timer compare enable
EvaRegs.T2CON.all = 0x1042;
// Setup T1PWM and T2PWM
// Drive T1/T2 PWM by compare logic
EvaRegs.GPTCONA.bit.TCMPOE = 1;
// Polarity of GP Timer 1 Compare = Active low
EvaRegs.GPTCONA.bit.T1PIN = 1;
// Polarity of GP Timer 2 Compare = Active high
EvaRegs.GPTCONA.bit.T2PIN = 2;
// Enable compare for PWM1-PWM6
//EvaRegs.CMPR1 = 0x0C00;
//EvaRegs.CMPR2 = 0x3C00;
EvaRegs.CMPR3 = 0xFC00;
// Compare action control. Action that takes place
// on a cmpare event
// output pin 1 CMPR1 - active high
// output pin 2 CMPR1 - active low
// output pin 3 CMPR2 - active high
// output pin 4 CMPR2 - active low
// output pin 5 CMPR3 - active high
// output pin 6 CMPR3 - active low
EvaRegs.ACTRA.all = 0x0666;
EvaRegs.DBTCONA.all = 0x0000; // Disable deadband
EvaRegs.COMCONA.all = 0xA600;
}
void init_evb()
{
// EVB Configure T3PWM, T4PWM and PWM7-PWM12
// Step 1 - Initialize the Timers
// Initialize EVB Timer3
// Timer3 controls T3PWM and PWM7-12
EvbRegs.T3PR = 0xFFFF; // Timer3 period
EvbRegs.T3CMPR = 0x3C00; // Timer3 compare
EvbRegs.T3CNT = 0x0000; // Timer3 counter
// TMODE = continuous up/down
// Timer enable
// Timer compare enable
EvbRegs.T3CON.all = 0x1042;
// Initialize EVB Timer4
// Timer4 controls T4PWM
EvbRegs.T4PR = 0x00FF; // Timer4 period
EvbRegs.T4CMPR = 0x0030; // Timer4 compare
EvbRegs.T4CNT = 0x0000; // Timer4 counter
// TMODE = continuous up/down
// Timer enable
// Timer compare enable
EvbRegs.T4CON.all = 0x1042;
// Setup T3PWM and T4PWM
// Drive T3/T4 PWM by compare logic
EvbRegs.GPTCONB.bit.TCMPOE = 1;
// Polarity of GP Timer 3 Compare = Active low
EvbRegs.GPTCONB.bit.T3PIN = 1;
// Polarity of GP Timer 4 Compare = Active high
EvbRegs.GPTCONB.bit.T4PIN = 2;
// Enable compare for PWM7-PWM12
EvbRegs.CMPR4 = 0x0C00;
EvbRegs.CMPR5 = 0x3C00;
EvbRegs.CMPR6 = 0xFC00;
// Compare action control. Action that takes place
// on a cmpare event
// output pin 1 CMPR4 - active high
// output pin 2 CMPR4 - active low
// output pin 3 CMPR5 - active high
// output pin 4 CMPR5 - active low
// output pin 5 CMPR6 - active high
// output pin 6 CMPR6 - active low
EvbRegs.ACTRB.all = 0x0666;
EvbRegs.DBTCONB.all = 0x0000; // Disable deadband
EvbRegs.COMCONB.all = 0xA600;
}
龍 巖 學(xué) 院
實(shí) 驗(yàn) 報(bào) 告
班 級(jí) 07電本(1)班 學(xué)號(hào) 2007050344 姓 名 楊寶輝 同組人 獨(dú)立 實(shí)驗(yàn)日期 2010-6-3 室溫 大氣壓 成 績(jī)
高速A/D轉(zhuǎn)換實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
1.了解高速 AD工作的基本原理。
2.了解如果通過(guò)軟件正確的控制高速AD。
3.掌握對(duì)高速 AD正確操作的過(guò)程
二、實(shí)驗(yàn)設(shè)備
1. 一臺(tái)裝有CCS軟件的計(jì)算機(jī);
2. DSP實(shí)驗(yàn)箱;
3. DSP硬件仿真器;
三、實(shí)驗(yàn)原理
實(shí)驗(yàn)箱用的高速 AD 為 TLC5510,它是一個(gè) CMOS 結(jié)構(gòu)的、具有高達(dá)20MSPS 的8位模數(shù)轉(zhuǎn)換器。TLC5510 采用單5V 供電,功耗僅為 130mW。TLC5510 內(nèi)部包含有一個(gè)采樣保持電路、具有高阻輸出的并行接口以及內(nèi)部參考電壓等。
TLC5510 采用半 FlASh 結(jié)構(gòu),與 FlASh 結(jié)構(gòu)相比,它不僅減少了功耗,而且提高了芯片的集成度。TLC5510 采用兩步轉(zhuǎn)換實(shí)現(xiàn)一次完整的轉(zhuǎn)換,這樣就大大減少了內(nèi)部比較器的個(gè)數(shù),其輸出數(shù)據(jù)的延遲為2.5個(gè)時(shí)鐘周期。TLC5510 采用 3 個(gè)內(nèi)部參考電阻產(chǎn)生一個(gè)標(biāo)準(zhǔn)2V的參考電壓,要實(shí)現(xiàn)內(nèi)部參考電壓僅需要通過(guò)外部的簡(jiǎn)單連線即可。
大學(xué)dsp實(shí)驗(yàn)心得體會(huì)相關(guān)文章:
1.dsp實(shí)驗(yàn)心得體會(huì)范文3篇
2.dsp實(shí)驗(yàn)心得體會(huì)范文3篇