资源描述:
《太原理工现代科技DSP课程设计正弦信号发生器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、太原理工大学现代科技学院DSP硬件电路设计基础课程设计设计名称正弦信号发生器的设计专业班级学号姓名指导教师同组人太原理工大学现代科技学院专业班级学生姓名课程名称正弦信号发生器的设计设计名称正弦信号发生器的设计设计周数1.5周指导教师设计任务主要设计参数1.掌握产生正弦波的方法;2.学习正弦信号发生器的DSP实现原理;5.学习使用CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。设计内容设计要求用DSP汇编语言及C语言进行编程,实现正弦信号发生器。主要参考资料邹彦等.DSP原理及应用.北京:电子工业出版社.2007年.电气与电子信息类本科规划教材李利等.DSP原理及应用.北京:中国
2、水利水电出版社.2007年.21世纪高等院校规划教材学生提交归档文件课程设计报告课程设计任务书注:1.课程设计完成后,学生提交的归档文件应按照:封面—任务书—说明书—图纸的顺序进行装订上交(大张图纸不必装订)2.可根据实际内容需要续表,但应保持原格式不变。日期:2015.12.18一、设计名称:正弦信号发生器的设计二、设计目的:1.通过实验掌握DSP的软件开发过程。2.学会应用汇编语言进行程序设计,在此集成开发环境下完成工程项目的创建,程序编写,编译,链接,调试以及数据的分析。3.学会用CCS(Code Composer Studio)仿真模拟DSP芯片,通过CCS软件平台上应用C54X
3、汇编语言来实现正弦信号发生装置。三、设计内容:用DSP汇编语言及C语言进行编程,实现正弦信号发生器。四、设计原理:编写一个产生正弦波信号的程序,在CCS软件下进行模拟运行,观察输出结果 设计原理 :本实验产生正弦波的方法是泰勒级数展开法。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。求一个角度的正弦值和余弦值取泰勒级数的前5项,得近似计算式: 五、设计总体方案:利用计算一个角度的正弦值和余弦值程序可实现正弦波,其实现步骤如下:第一步:利用sin和cos子程序计算0度~45度(间隔为0.5)的正弦和余弦值。第二步:利用sin(2x
4、)=2sin(x)cos(x)公示,计算0度~90度的正弦值(间隔为1度)。第三步:通过复制,获得0度到359度的正弦值。第四步:将0度到359度的正弦值重复从PA口输出,便可得到正弦波。六、源程序:第7页共8页程序(1).mmregs.defstart.defd_xs,d_sinx,d_xc,d_cosx,sinx,cosxsin_x:.usect"sin_x",360STACK:.usect"STACK",10Hk_theta.set286;theta=pi/360(0.5deg)start:.textSTM#STACK+10H,SPSTMk_theta,AR1;设置增量STM0,A
5、R0;AR0=X=0STM#sin_x,AR6;AR6指向sin_xSTM#90,BRC;设置重复次数,计算sin0到sin90RPTBloop1-1LDMAR0,ALD#d_xs,DPSTLA,@d_xsSTLA,@d_xcCALLsinx;调用sinx子程序计算x的正弦值CALLcosx;调用cos子程序计算x的余弦值LD#d_sinx,DPLD@d_sinx,16,A;累加器A=sin(x)MPYA@d_cosx;累加器B=sin(x)*cos(x)STHB,1,*AR6+;结果放置到AR6所指向的单元MAR*AR0+1loop1:STM#sin_x+89,AR7;AR7指向sin
6、_x*89单元STM#88,BRC;设置重复次数,计算sin91到sin179RPTBloop2-1LD*AR7-,ASTLA,*AR6+loop2:STM#179,BRC;计算sin180到sin359STM#sin_x,AR7RPTBloop3-1LD*AR7+,A;AR7指向sin_x单元NEGASTLA,*AR6+loop3:STM#sin_x,AR6;AR6指向sin_x单元STM#1,AR0STM#360,BKBloop3sinx:.defd_xs,d_sinx.data第7页共8页table_s.word01C7H;C1=1/(8*9).word030BH;C2=1/(6*
7、7).word0666H;C3=1/(4*5).word1556H;C4=1/(2*3)d_coef_s.usect"coef_s",4d_xs.usect"sin_vars",1d_squr_xs.usect"sin_vars",1d_temp_s.usect"sin_vars",1d_sinx.usect"sin_vars",1d_l_s.usect"sin_vars",1.textSSBXFRCTSTM#d_coef_s,AR