DSP课程设计__正弦信号发生器的设计
正弦波振荡器课程设计报告
太原理工大学 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
相关推荐:
- [文秘资料]班长职务辞职报告
- [文秘资料]完美的辞职报告
- [文秘资料]经典的员工辞职报告
- [文秘资料]医院口腔医生辞职报告
- [文秘资料]总经理辞职报告范文四篇
- [文秘资料]超市职员个人辞职报告
- [文秘资料]村妇联主任的辞职报告
- [文秘资料]辞职报告书格式
- [文秘资料]酒店辞职报告简单范文
- [文秘资料]联通的辞职报告
- [文秘资料]2017最新私企员工辞职报告范文
- [文秘资料]2019年度医院基层党组织书记抓党建述职
- [文秘资料]工作时间长辞职报告
- [文秘资料]辞职报告怎么写出来
- [文秘资料]个人能力原因辞职报告
- [文秘资料]网络工程师辞职报告
- [文秘资料]项目部辞职报告
- [文秘资料]缝纫工辞职报告怎么写
- [文秘资料]XXX州委书记述职报告
- [文秘资料]抓基层党建工作述职报告
- (王虎应老师讲课记录)六爻理象思维
- 八个常见投影机故障排除法
- 质量专业综合知识(中级)第一章质量管理
- 煤矿班组建设实施意见
- 我国快餐业与肯德基经营模式的比较与分
- 汽车保险杠模具标准化模架技术工艺研究
- 汽车二级维护作业团体赛比赛规程
- 装卸搬运工安全操作规程
- 高效的工作方法-刘铁
- 依据《生产安全事故报告和调查处理条例
- 2015专业PS夜景亮化效果图制作教程
- 企业劳动定额定员浅析
- 中枢神经系统医学影像学本科五年制第五
- 长城汽车参观探营第三站:研发试验中心
- 小升初语文专项训练
- 建筑工程质量检测资质分类与等级标准
- 周燕珉-我国养老社区的发展现状与规划
- 《生命里最后的读书会》读后感
- 实验室管理评审报告
- CCNA思科网院教程精华之网络基础知识




