教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

DSP课程设计__正弦信号发生器的设计

来源:网络收集 时间:2026-05-17
导读: 正弦波振荡器课程设计报告 太原理工大学 DSP课程设计 设计题目:正弦信号发生器的设计 学院: 信息工程 班级: 姓名:学号: 同组人:指导老师: 李鸿艳 实验地点: 中区图书馆起点机房 时间: 2013 年 12 月 23 日 正弦波振荡器课程设计报告 设计题目 正弦

正弦波振荡器课程设计报告

太原理工大学 DSP课程设计

设计题目:正弦信号发生器的设计

学院: 信息工程

班级: 姓名:学号: 同组人:指导老师: 李鸿艳 实验地点: 中区图书馆起点机房

时间: 2013 年 12 月 23 日

正弦波振荡器课程设计报告

设计题目 正弦信号发生器 设计目的

1、通过实验掌握DSP的软件开发过程

2、学会运用汇编语言进行程序设计,在此集成开发环境下完成工程项目创建, 程序编写,编译,链接,调试以及数据的分析。

3、学会用CCS(Code Composer Studio)仿真模拟DSP芯片,通过CCS软件平台上应用C54X汇编语言来实现正弦信号发生装置。

设计内容

编写一个产生正弦波信号的程序,在CCS软件下进行模拟运行,观察输出结果

设计原理

本实验产生正弦波的方法是泰勒级数展开法。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。求一个角度的正弦值取泰勒级数的前5项,得近似计算式: x3x5x7x9 sin(x) x

3!5!7!9!

2222

xxxx

x(1 (1 (1 (1 ))))

2 34 56 78 9

一、总体方案设计

本实验是基于CCS开发环境的。CCS是TI公司推出的为开发TMS320系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。它提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。通过CCS软件平台上应用C54X汇编语言来实现正弦信号发生装置。 总体思想是:正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图。

正弦波振荡器课程设计报告

二、设计内容

1、设置

在Family下选择C55xx,将看到所有C55xx的仿真驱动,包括软件仿真和硬件仿真;

在Platform下选择Simulator,在Available Factory Boards中只显示软件仿真驱动,选中相应的驱动;

双击C55xx Rev4.0 CPU Functional Simulator,可以在My System下看到所加入的驱动;

点击Save & Quit,将保存设置退出Setup CCStudio v3.1并启动运行CCStudio。

正弦波振荡器课程设计报告

2、编写汇编源程序sin。 3.、建立汇编源程序

在CCS环境下,点击file/new/source file菜单命令,打开一个空白文档,将汇编程序输入。

单击file/save菜单命令,在D:\program files\ti\myprojects下保存文件名为sin,并选择保存类型为*.asm。 4、建立链接命令文件。 5、创建新的工程文件

启动CCS,在Project菜单中选择New项,在Project中输入denglin,CCS将创建一个名为denglin.pjt的工程。

6、将文件添加到工程中

在工程中添加源文件,执行菜单project/add files to project,把sin文件添加到工程中。

7、生成和运行程序

(1)选择菜单命令Project→Rebuild All,对工程重新编译、汇编和链接,主窗口下方的信息窗口将显示build进行汇编、编译和链接的相关信息。

正弦波振荡器课程设计报告

(2)选择菜单命令File→Load Program,在当前目录的Debug目录下选择sin并打开,将Build生成的程序加载到DSP中。

(3)选择菜单命令Debug→Run或在Debug工具栏上单击Run按钮,运行该程序。

正弦波振荡器课程设计报告

8、观察运行结果

点击view/gragh菜单命令观看图像

三、主要参数

正弦波振荡器课程设计报告

四、源程序

汇编源程序sin

.mmregs .def start

.def d_xs,d_sinx,d_xc,d_cosx,sinx,cosx sin_x: .usect "sin_x",360 STACK: .usect "STACK",10H

k_theta .set 286 ;theta=pi/360(0.5deg) start:

.text

STM #STACK+10H,SP STM k_theta,AR0 STM 0,AR1 STM #sin_x,AR6 STM #90,BRC RPTB loop1-1 LDM AR1,A LD #d_xs,DP STL A,@d_xs STL A,@d_xc

CALL sinx ;d_sinx=sin(x) CALL cosx ;d_cosx=cos(x) LD #d_sinx,DP

LD @d_sinx,16,A ;A=sin(x) MPYA @d_cosx ;B=sin(x)*cos(x) STH B,1,*AR6+ ;AR6----2*sin(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 ;sin180(deg.)-sin359(deg.) STM #sin_x,AR7 RPTB loop3-1 LD *AR7+,A NEG A STL A,*AR6+

loop3: STM #sin_x,AR6 ;generate sin wave STM #1,AR0 STM #360,BK B loop3 sinx:

.def d_xs,d_sinx .data

table_s .word 01C7H ;C1=1/(8*9) .word 030BH ;C2=1/(6*7) .word 0666H ;C3=1/(4*5) .word 1556H ;C4=1/(2*3) d_coef_s .usect "coef_s",4 d_xs .usect "sin_vars",1 d_squr_xs .usect "sin_vars",1 d_temp_s .usect "sin_vars",1 d_sinx .usect "sin_vars",1

d_l_s .usect "sin_vars",1 .text

SSBX FRCT

STM #d_coef_s,AR5 ;move coeffs table_s RPT #3

MVPD #table_s,*AR5+ STM #d_coef_s,AR3

STM #d_xs,AR2

STM #d_l_s,AR4 ST #7FFFH,d_l_s

SQUR *AR2+,A ;A=x^2 ST A,*AR2 ;(AR2)=x^2 ||LD *AR4,B ;B=1 MASR

*AR2+,*AR3+,B,A ;A=1-x^2/72,T=x^2 MPYA

A ;A=T*A=x^2(1-x^2/72) STH

A,*AR2 ;(d_temp)=x^2(1-x^2/72) MASR

*AR2-,*AR3+,B,A ;A=1-x^2/42(1-x^2/72);T=x^2(1-x^2/72)

MPYA

*AR2+ ;B=x^2(1-x^2/42(1-x^2/72)) ST

B,*AR2 …… 此处隐藏:3401字,全部文档内容请下载后查看。喜欢就下载吧 ……

DSP课程设计__正弦信号发生器的设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2078761.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)