(完整word版)DSP课程设计正弦信号发生器的设计(精)_第1页
(完整word版)DSP课程设计正弦信号发生器的设计(精)_第2页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、太原理工大学 DSP 课程设计设计题目:正弦信号发生器的设计 班级:电信 0801 班姓名:凌天一、设计目的1、 通过实验掌握 DSP 的软件开发过程2、 学会运用汇编语言进行程序设计3、 学会用 CCS 仿真模拟 DSP 芯片,通过 CCS 软件平台上应用 C54X 汇编语言来 实现正弦信号发生装置。二、设计原理本实验产生正弦波的方法是泰勒级数展开法。泰勒级数展开法需要的存储单元 少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度 就越小。求一个角度的正弦值取泰勒级数的前5 项,得近似计算式:x3x5x7x9sin( x)=x-+-+3!5!7!9!2222xxxx =x

2、1-1-1-1-(三、总体方案设计 2? 3(4? 5(6? 7(8? 9)本实验是基于 CCS 开发环境的。 CCS 是 TI 公司推出的为开发 TMS320 系列 DSP 软件的集成开发环境,是目前使用最为广泛的DSP 开发软件之一。它提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发 工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在 统一的环境中进行,从而加速软件开发进程。通过CCS 软件平台上应用 C54X 汇编语言来实现正弦信号发生装置。总体思想是:正弦波的波形可以看作由无数点组成,这些点与x 轴的每一个角度值相对应,可以利用 DS

3、P 处理器处理大量重复计算的优势来计算x 轴每一点对应的 y 的值(在 x 轴取 N 个点进行逼近)。 整个系统软件由主程序和基于泰勒展开法 的 SIN子程序组成,相应的软件流程图如图。四、设计内容1 设置在 Family 下选择 C55xx,将看到所有 C55xx 的仿真驱动,包括软件仿真和硬件仿 直.在 Platform 下选择 Simulator,在 Available Factory Boards 中只显示软件仿真驱动,选中相应的驱动;双击 C55xx Rev4.0 CPU Functional Simulator,可以在 My System 下看到所加入的 驱动;点击 Save &a

4、mp; Quit,将保存设置退出 Setup CCStudio v3.1 并启动运行 CCStudio。2、编写汇编源程序 sin3、建立汇编源程序在 CCS 环境下,点击 file/new/source file 菜单命令,打开一个空白文档,将汇编 程序输入。单击 file/save 菜单命令,在 D:program filestimyprojects 下保存文件名为 sin,并 选择保存类型为*.asm。4、 建立链接命令文件。5、 创建新的工程文件启动 CCS,在 Project 菜单中选择 New 项,在 Project 中输入 denglin,CCS 将创 建一个名为 denglin

5、.pjt 的工程。(p6、 将文件添加到工程中在工程中添加源文件,执行菜单project/add files to project,把 sin 文件添加到工 -%址1川蔽8pj电可出ak谢国日回Mt dil Em brtjtrl企沁 孤 咖U恤IHUKF71B35曲Ebd/,1%* /CIMO? D-iriricieIBU!Atur/CPD1- CMI (SiBulBtor) Co de胃r StudioTUB _j盅itl*f* h tjtctaduLiBi. jit OM程中。7、 生成和运行程序(1)选择菜单命令 Project - Rebuild AIJ 对工程重新编译、汇编和链接,主

6、窗口 下方的信息窗口将显示 build 进行汇编、编译和链接的相关信息。1/ChltS ivjic* SaMilwIdE/l:!1#i ILL-i J,aLil.-m|I4_ F K書w EFiFMil EUkUH沖胡弘Hl亡皿汀:m诣/iM=1!_占= RAM?Sk.Ei_j;匚al 3nFAOE IPME FKOT .PAJQt I IkMlAMlFJU3E :Hui Id ir-rrplatWfc0 mKr G 爾,D -PirnaHEE(2)打开将 Build 生成的程序加载到 DSP 中。序。五、主要参数射召Q n AK CD口l孔二”MVIJrn%8、观察运行结果点击 view/g

7、ragh 菜单命令观看图像/CMV7 tavirt b-3Milvlfir/cg - C14B CliMlhliai! - CdnCBXVESlwli - iMiotiriJ山利刖|“:“1二u- JIHiriN#P * jNh ? tFIa Q1L l|vl鼻1. FfidLti Javlii:IEKE)IA4Ht.L|HB户Lit比it*3BJGraph Property Dialog六、源程序 汇编源程序 sin.mmregs .def start.def d_xs,d_si nx,d_xc,d_cosx,si nx,cosx sin_x: .usect s in _x,360 STAC

8、K: .usectSTACK,10Hk_theta .set 286 ;theta=pi/360(0.5deg) start:.textSTM #STACK+10H,SP STM k_theta,AR0 STM 0,AR1 STM #si n_x,AR6 STM #90,BRCRPTB loop1-1 LDM AR1,A LD #d_xs,DP STL A,d_xs STL A,d_xc CALL si nx ;d_sinx=s in(x) CALL cosx ;d_cosx=cos(x) LD #d_si nx,DPLD d_si nx,16,A ;A=si n(x) MPYA d_cosx

9、 ;B=si n(x)*cos(x) STHB,1,*AR6+ ;AR6-2*si n(x) MAR *AR1+0 loop1:STM#sin_x+89,AR7 ;sin91(deg.)-sin179(deg.) STM #88,BRC RPTB loop2-1 LD *AR7-,A STL A,*AR6+loop2:STM #179,BRC ;si n180(deg.)-si n359(deg.) STM #sin_x,AR7 RPTB loop3-1 LD *AR7+,ANEG A STL A,*AR6+loop3: STM #sin_x,AR6 ;generate sin wave ST

10、M #1,AR0 STM #360,BK B loop3 sinx: .defd_xs,d_s inx .datatable_s .word 01C7H ;C 1= 1/(8*9) .word 030BH ;C2=1/(6*7) .word0666H ;C3=1/(4*5) .word 1556H ;C4=1/(2*3) d_coef_s .usect coef_s,4 d_xs .usectsin _vars,1 d_squr_xs .usect s in _vars,1 d_temp_s .usect s in _vars,1 d_sinx .usectsin_vars,1d_l_s .u

11、sect s in _vars,1 .textSSBX FRCTSTM #d_coef_s,AR5 ;move coeffs table_s RPT #3MVPD #table_s,*AR5+ STM #d_coef_s,AR3STM #d_xs,AR2STM #d_l_s,AR4 ST #7FFFH,d_l_sSQUR *AR2+,A ;A=xA2 ST A,*AR2 ;(AR2)=xA2 |LD *AR4,B ;B=1 MASR*AR2+,*AR3+,B,A ;A=1-xA2/72,T=xA2 MPYAA ;A=T*A=xA2(1-xA2/72) STHA, *AR2 ;(d_temp)=

12、xA2(1-xA2/72) MASR*AR2-,*AR3+,B,A 4=1帜人2/42(1帜人2/72)汀=乂八2(1帜八2/72)MPYA*AR2+ ;B=xA2(1-xA2/42(1-xA2/72) STB, *AR2 ;(d_temp)=xA2(1-xA2/42(1-xA2/72)|LD *AR4,B ;B=1 MASR*AR2-,*AR3+,B,A 4=1帜八2/20(1帜八2/42(1帜八2/72) MPYA*AR2+ ;B=xA2(1-xA2/20(1-xA2/42(1-xA2/72)STB,*AR2 ;(d_temp)=B|LD *AR4,B ;B=1 MASR*AR2-,*AR

13、3+,B,A 4=1帜八2/6(1帜八2/20(1帜八2/42(1帜八2/72)MPYAd_xs ;B=x(1-xA2/6(1-xA2/20(1-xA2/42(1-xA2/72)STH B,d_si nx ;si n( theta) RET cosx:.def d_xc,d_cosx d_coef_c .usect coef_c,4 .datatable_c .word 0249H ;C仁1/(7*8) .word 0444H ;C2=1/(5*6) .word0AABH ;C3=1/(3*4) .word 4000H ;C4=1/2 d_xc .usect cos_vars,1d_squr_

14、xc .usect cos_vars,1 d_temp_c .usect cos_vars,1 d_cosx .usect cos_vars,1c_l_c .usect cos_vars,1 .textSSBX FRCTSTM #d_coef_c,AR5 ;move coeffs MASR*AR2-,*AR3+,B,A;人=1帜人2/30(1帜八2/56); T=XA2(1-XA2/56) MPYA*AR2+ ;B=xA2(1-xA2/30(1-xA2/56) STB,*AR2 ;(d_temp)=xA2(1-xA2/30(1-xA2/56)table_cRPT #3MVPD #table_c

15、,*AR5+STM #d_coef_c,AR3STM #d_xc,AR2 STM #c_l_c,AR4 ST #7FFFH,c_l_cSQUR *AR2+,A ;A=xA2 STA,*AR2 ;(AR2)=xA2|LD *AR4,B ;B=1 MASR*AR2+,*AR3+,B,A ;A=1-xA2/56,T=xA2 MPYAA;A=T*A=xA2 (1-XA2/56) STHA,*AR2 ;(d_temp)=xA2(1-xA2/56)链接命令文件MEMORY PAGE 0:EPROM: org=OEOOOH, len=1000H VECS: org=0FF80H, len=0080H PAG

16、E 1: SPRAM:org=0060H, le n=0020H DARAM1: org=0080H, le n=0010H DARAM2: org=0090H, len=0010H DARAM3: org=0200H, le n=0200H SECTIONS .text : EPROM PAGE0 .data : EPROM PAGE 0 STACK : SPRAM PAGE 1 sin_vars : DARAM1 PAGE 1coef_s : DARAM1 PAGE 1 cos_vars : DARAM2 PAGE 1 coef_c : DARAM2 PAGE 1sin_x : alig n(512) DARAM3 .vectors :VECS PAGE 0)|LD *AR4,B ;B=1 MASR*AR2-,*AR3+,B,A 4=1帜八2/12(1帜八2/30(1帜八2/56) SFTA A,-1,A ;-1/2 NEG AMPYA*AR2+旧=帜八2/2(1帜八2/12(1帜八2/30(1帜八2/56)MAR *AR2+ RETD ADD*AR4,16,B ;B=-xA2/2(1-xA2/12(1-xA2/30(1-xA2/56)STH B,*AR2 ;cos(theta) RET .e ndPAGE 1七、实验结果及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论