还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数字信号处理实验报告(第二次)学院:班级:姓名:学号:指导老师:完成日期:内容:实验
四、正弦信号发生器断点start address=0X2000,step=0x0400IDebug史XilesWQjGZLfiUs昌笛3团B口Projects-Msd力,CIDSP/BIOSConfurIGeneratedTile:I_1Include囱LKBOID口Librariesl-lLJSource因Sin.SM-3641-7282・1ScM・1Be*4-22e*4-
2.5e*4・
2.笑x10020030040050060070080090100110120130140150160170180190199©
9.-27208Tint LinAutoSeal,/C54xSimulatorTexasInstruents/CPU-C54XSiaulator-CodeComposerStudio-[GraphicalDisplay]_〈ELleiEndkMi匕n”gLrojectR.b”Ptofiler£ELOptionD£P/BIQSXindovHelpBuild Complete,.♦OK/STOMKfS6—-fBuild4Messages/ILLICPUHALTED ForK«ly,pressFl片DSFS4X-28-Twc1411□《数字信号处理东0DSPSIEFCISXITAM/C54xSsultlor0Errors0Warnings.0Remarks.断点及探针start address=0X2000,step=0x
0400.程序流程图6OS主程序流程
五、实验心得这次实验的主要内容包括阅读理解多项式逼近正弦的文档;阅读和理解Sin.;调试正弦波发生器;加入断点,并选取图形观测,利用动画及时更新;试利s54用迭代的方法来实现正弦信号发生器是为了掌握利用产生正弦信号的原理;DSP熟悉子程序调用的程序结构以及堆栈的使用;掌握的图形输出操作相对于CCS前三次试验有所难度,但是在老师的精辟讲解以及助教的帮助下,还是顺利完成了试验这次试验学到了很多,实践与理论的一次经典结合在本次试验中学会了设置断点以及怎样连接探针,通过两次试验觉得自己的动手能力有所提高感谢老师和助教的悉心指导实验
四、正弦信号发生器
一、实验目的掌握利用产生正弦信号的原理
1.DSP熟悉子程序调用的程序结构以及堆栈的使用
2.掌握的图形输出操作
3.CCS
二、实验设备集成开发环境简称
1.Code ComposerStudio CCS实验代码和
2.Sin.s54Lab.cmd Lab.gel
三、实验内容阅读理解多项式逼近正弦的文档
1.sin%=
3.140625%+
0.02026367x2-
5.325196x3+
0.5446778x4+
1.800293^5为第一象限内的弧度值因为所以只需将第二,三,X sin»-x=sin%,sinr=-sin%,四象限内的弧度值转换到第一象限即可计算出相应的正弦函数值由于有限精度,规定弧度值从一万万,其中〃=一万利用级数展开〜0x7FFF,71/2=0x4000,=0x8000产生正弦波,必须在调用计算子程序之前备份好累加器中的当前弧度值,以便计A算结束后实现增量正弦波的频率可以通过增幅的大小来进行控制,如果假定X程序循环一次为一个时间单位,则正弦波的周期为步长,频率为周期倒数65536/自动增长时要注意当%超过后必须调整到一万万的范围内才能调用计算子程x〜序,即若不则x=2阅读和理解
2.Sin.s54程序如下Sin.s54•5^C/;SJTU DSPTech.Center;Copyright c2003SJTU DSPTech.Center.All RightsReserved.;Description:;TMS320C54x Programfor StudentsExperiment;History:;Date AuthorsChangesSTACK ADDR;2003/08/01Fu XuanCreated.STEP.set0x
0500.bss sin_out,
1.mmregs.glo mainbal.textmain:stm#STACK_ADDR,SPstm#0x00A8,PMST;IPTR=0x0080stm#0x0000,SWWSR;software waitstatus registersubAssbx CPL;direct addressusing SPssbxFRCT fractionmodessbx OVM;overflow modessbxSXM;sign extensionstm#sin_out,AR6sinjoop:pshm AG;save currentx;ddian OKpshmAH;ddian OKpshmAL;ddian OKcallcalculate_sin;-pi=x=pi;ddian OKsthA,*AR6;store sinx,add probepoint;ddian OKpopm AL;ddian OK断点设置处popm AH;ddian OKpopmAG;ddian OKadd#STEP,A;add delta;ddian OKsub#0x7fff,A,B;test ifxpi,B=A-pi;ddian OKbenormaljncrease,BLT;ddian OKId#0x8000,A;A=-piadd B,A;A=B+-pi=x-2*pinormaljncrease:b sinjoop;ddian OKdead_loop:nopnopnopnopb deadjoop.set0x0400;delta xmust bepositive,the morethe higherfrequencysign.set;local variablecalculate_sin:frame-1;allocate signnop;no directaddressing nextframest#0,@sign;decide sign,0for1st and2nd quadrant,1for3rd and4thquadrantxc2,ALTst#1,@signabs A;change to1st and2ndsub#0x4000,A,B quadrant;test for1st quadrantbefirst_quadrant,BLEQ;if notchange to1st quadrantsub#0x7fff,A;As sinpi-x=sinx,let x=pi-xA、neg first_quadrant:#coef,AR2stm;T=xstlm A,T*AR2+,16,A;AH=C5Id*AR2+,16,B;BH=C4Idrpt#5-1;AH=C5*xA5+C4*xA4+C3*xA3+C2*xA2+Cl*x+0poly*AR2+Id@sign,B;pick outsignsfta A,3;make Q15formatnop;nop forB conditiontest byxcxc1,BNEQ;test signnegA;sin-x=-sinxframeret.sect vectors;T=65536/STEP,f=l/Tint RESET:mainnopnop.space124*16;sinx=0+
3.140625X+
0.02026367xA2-
5.325196xA3+
0.5446778xA4+
1.800293xA
5.datacoef:;As themax valueis-
5.325196,so Q12is used.word Oxlcce;
1.800293*
4096.word0x08b7;
0.5446778*
4096.word Oxaacc;-
5.325196*
4096.word0x0053;
0.02026367*
4096.word0x3240;
3.140625*4096;o.word0x
0000.end;end ofSin.s54调试正弦波发生器
3.图形观测时选择菜单然后设置如下图:View-Graph-Time/Frequency,凶nGraphProperty DialogDisplayTypeSingleTime昌1GraphTitle GraphicalDisplayStartAddresssin_outPage DataAcquisitionBufferSize1IndexIncrement1DisplayDataSize200DSPDataType16-bitsignedintegerQ-value0SamplingRateHz1PlotDataFrom LefttoRightLeft-shi£tedDataDisplay YesAutoscaleOnDCValue0AxesDisplay OnTimeDisplayUnitsStatusBarDisplay OnMagnitudeDisplayScaleLinearDataPlotStyle LineGridStyleZeroLineCursorMode DataCursor|皿OK cel|Helppopm AH;ddian OK断点设置处加入断点,并选取图形观测,利用动画及时更新
4.试利用迭代的方法来实现正弦信号发生器
5.sin{Ia T+例+coT}+sin{[n+例一
①T}=2sin[n+例cosafT得至[n-x gsinnaT2coscoT sin[n-VcoT+例一sin[n-2
①T+例,因为coT+8=x为常数,所以为常数,则利用此公式迭代计算每次只需一次乘法和一次加2es3T法
四、实验结果及注意事项需要使用临时数据时,必须用语句留出所需空间,使用结束后要将堆栈
1.frame指针还原以防堆栈内存泄漏要注意的是的下一条指令不能使用直接寻址frame.利用累加器写乘法寄存器之后的下一条指令不能使用;条件转移指2T stlmT令在指令访问阶段判断条件,该条件必须在先于指令的个指令之前产生;xc xc2条件转移指令是在指令执行阶段判断条件,不存在这方面的问题具体细节请be参见《数字信号处理系统的应用和设计》节和节
3.
64.5在断点及动画运行方式实现正弦波显示的情况下,查找到存储器中对应存储正
3.弦波数据实时更新的数据单元0国国图国国il00001010F074CALL calculate_sinles000010128286STH A,*AR6J GELfiles00001013SAO8POPM8h0lab.gel00001014SAO9POPM9h000010158A0A POPMOahJ Projects00001016FOOD ADD#400h,0A,Ar邕-]SIN.pjt00001018F110SUB#7fffh,0,A,B0000101A F84B BCnormal_increase BLTX0000101C F020LD#8000h70,A0000101E F600ADD B,0,A0000101F normal_increase0000101F F073B sin_loopnnnn.1n n-i△…—JT.实验结果汇总5断点start address=sin_out,step=0x0400/Cb4sSiBUIMlurTCKNKInaitruarnt«/CPUCb4XSiBU!Mt CodeCoBpoMntS1ucli[CrnphiC:MXDiitplny]国同区S[!I*Rditjfi**projectR・bu.P£ofil«r$ELOptionJooltDSP/BIOSYindo*M«lp■in.»八]|D«bu困分0茴国国回S£1Fil”I-!GRLfiles渝10C«1ElLJProjects-渝・,•»jLJDSP/MOSConfiII7l«tClInclud*此IABOID口Libr«ri«sl-lJJSource:—一EMILinkingBuildCompleter0Errors,0Wornmgs,0Remarks.If|]\Biiihl4Messages/-ILLCPUKAUED F*rKelp.pr«i*Fl L.KR4x-2er3M y/C541cSi*ultor断点设置截屏a/C6d-Siavi1atorTrsRRInuirtaarntif/CPnC54XSian1atorCodeCoapoirrrSttidio[Sin.S5«l]■E1«£4itprojectH«b«ickofilLOption工ool*DSf/BIOSXindov图H•三]R嚓铁S谯・信熄睇空运八・以备|♦”|cin.pjt~~KlD.buc~~3I图的卷/©时R义,忌□日回00aze dh生Fil«s•tmstmstm*STACK_ADDR.SP-iCJGXLf»i««Labr«l#0x00A8,PMST;IPTR-0x0080IP,;softwarowaitstatus r»glatc»rfQjProj・C Ox•-哥…P LJD5P/BX0SCerfU subssbxSP至匚JG・n*r7*dFil«i ses ebbx xssbxACPLFRCTOVMSXMInclud*;directaddressusing;fFactiong|LABCWD mode;overflowmode;signextension1■L»lrr••・0J•tm outrAR6SourJ0)电埋山AGain.loop:pshm;savocurrantx;ddian;ddionOK;ddianAH OKpshmpshmOKALcolleth colculate_sinA・«AR6i-pi-x■pi:ddionOK;etoreemx,addprobepoint;ddian OKpopm■popmAL;ddlanOK;ddionOK;ddlanOKAHAOpopm;odddeltozddionOKadd STEP.Asub#0x7fff,A,B〉;ddianOKbe normal^lncraaee.;testifx pi.B-A-piBLT;ddianOKId*0x8000,A;A--piadd B.A iA-B*-pi-x-2・pinortna1_incr^aee:b sin^loop;dd1anOKdead_loop:nopnoo.I-dLinkingBuildComp1©t«,0Errors•0Worn!ngo,0R^morks.PDIDJ\BuihiAMessages/开始aDSE4Xnwu51■/C54MS»*ul«tor断点及探针start address=sin_out,step=0x0400断点及探针设置截屏断点start address=sin_out,step=0x0500/C54xSiaulatorTexasInstruaents/CPU-C54XSiaulator-CodeCoaposerStudio-[GraphicalDisplay]□fileEdit匕c projectRebugPtofil«r£ELOptionToolsDgP/BIOSJtindovHelp|sin.pjt11Debug6比2FilesLJGZLfiUz2M4|labg©】FlProjtcls
2.50*4-叁sia22exrIDSP/BIOSConfurIGeneratedFile:I_
11.8e*4Include囱LKBOID口Libraries
1.5e*4HI口Source
1.1eM因Sin.S5472823641・3641-7282-1Sc*4-1Be*4-22e*4-
2.5e*42笑y•3%Y.100200300400SOO6007008009001001101201501601701801901990OS21,4040Tin«LinAutoScULinkingBuild Complete,0Errors0Warnings.0Remarks.一[—|一|~|\Build4Messages/—11CPUHALTED ForK«ly,pressFl11®»DSFS4X-2e-7wiwi0数字信号处理求EjDSPSIEFCISMITAM/C54xSi»ul«lor断点及探针start address=sin_out,step=0x0500/C54xSiaulatorTexasInstruaents/CPU-C54XSiaulator-CodeCoaposerStudio-[GraphicalDisplay]■阿X□fileEdit匕c projectRebugPtofil«r£ELOptionToolsDgP/BIOSJtindovHelp|sin.pjt11Debug6比2FilesLJGZLfiUz2M4|labg©】FlProjtcls
2.50*4-叁sia22exrIDSP/BIOSConfurIGeneratedFile:I_
11.8e*4Include囱LKBOID口Libraries
1.5e*4HI口Source
1.1eM因Sin.S54国7282口3641网用-3641・7282-
1.5cM-1朋2-
2.2e*4-
2.5e*4・29e*4-
3.3e
4.610020*030*040*050*0GOD70080X90XidoHO120*130l4o150160170,
180190099.32296Tin«LinAntoScal«00Linking aBuildComplete,0Errors0Warnings.0Remarks.一[—|一|~|\Build4Messages/—^4-OK/S.OK/S0-CPUHALTED ForK«ly,pressFl片DSPS4X-28-Twcian.EJ《数字信号处起东0DSPSIEFCISHIYAK/C54xSsultlor断点start address=AR6,step=0x0400/C54xSiaulatorTexasInstruaents/CPU-C54XSiaulator-CodeCoaposerStudio-[GraphicalDisplay]□fileEdit匕c projectRebugPtofil«r£ELOptionToolsDgP/BIOSJtindovHelp|sin.pjt11Debug6比2FilesLJGZLfiUz2M4|labg©】FlProjtcls
2.50*4-叁sia22exrIDSP/BIOSConfurIGeneratedFile:I_
11.8e*4Include囱LKBOID口Libraries
1.5e*4HI口Source
1.1eM因Sin.S5472823641-3641・7282-
1.5cM-1朋2-
2.2e*4-
2.5e*4・29e*4-
3.3e
4.610020*030*040*05010070080X90XidoHO120*130l4o150160170,
18019005.28912Tin«LinAntoScal«OSLinking:JBuild Complete,0Errors0Warnings.0Remarks.~]\BuildXMessages/ILLCPUHALTED ForK«ly,pressFl ILn47,Col1CAPmX®»DSFS4X-2e-7wiwi0数字信号处理求EjDSPSIEFCISMITAM/C54xSi»ul«lor断点及探针start address=AR6,step=0x0400[^回|/C54xSiaulatorTexasInstruaents/CPU-C54XSiaulator-CodeCoaposerStudio-[GraphicalDisplay]□XfileEdit匕r projectRebugPtofil«r£ELOption11,DSP/BIOSYindovHelp|sin.pjt11Debug6比2KilesCJGELfiles2M4公FlProjtcls
2.50*4-叁与sia22exrIDSP/BIOSConfurI国GeneratedFile:I_
11.8e*4口Include囱LKBOID口Libraries
1.5e*4网HI口Source
1.1eM用因Sin.S5472823641-3641・7282-
1.5cM-1朋2-
2.2e*4-
2.5e*4・29e*4-
3.3e
4.610020*030*040*05010070080X90XidoHO120*130l4o150160170,1801904L28888Tin«LinAntoScal«00Linking上JBuild Complete,0Errors0Warnings.0Remarks.~]\BuildXMessages/ILLCPUHALTED ForK«ly,pressFl ILn48,Col1CAPmX前DSre4X-2e-7tixi»n.0《数字信号处理东0DSPSIEFCISMITAM/C54xSsultlor*1oe。