1、 DSP 课程设计 设计题目:正弦信号发生器的设计 一、设计目的 1、通过实验掌握 DSP 的软件开发过程 2、学会运用汇编语言进行程序设计 3、学会用 CCS 仿真模拟 DSP 芯片,通过 CCS 软件平台上应用 C54X 汇编语言来 实现正弦信号发生装置。 二、设计原理 本实验产生正弦波的方法是泰勒级数展开法。 泰勒级数展开法需要的存储单 元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真 度就越小。求一个角度的正弦值取泰勒级数的前 5 项,得近似计算式: 三、总体方案设计 本实验是基于 CCS 开发环境的。 CCS 是 TI 公司推出的为开发 TMS320 系列 DS
2、P 软件的集成开发环境,是目前使用最为广泛的 DSP 开发软件之一。它提供了环境 配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发 工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在 统一的环境中进行,从而加速软件开发进程。通过 CCS 软件平台上应用 C54X 汇 编语言来实现正弦信号发生装置。 总体思想是:正弦波的波形可以看作由无数点组成,这些点与 x 轴的每一个 角度值相对应, 可以利用 DSP 处理器处理大量重复计算的优势来计算 x 轴每一点 对应的 y 的值(在 x 轴取 N 个点进行逼近)。 整个系统软件由主程序和基于泰勒展 开法的 SIN
3、 子程序组成,相应的软件流程图如图。 )( 98 1 76 1 54 1 32 1 !9!7!5!3 )sin( 2222 9753 xxxx x xxxx xx 四、设计内容 1、设置 在 Family 下选择 C55xx,将看到所有 C55xx 的仿真驱动,包括软件仿真和硬件 仿真; 在Platform下选择Simulator, 在Available Factory Boards中只显示软件仿真驱动, 选中相应的驱动; 双击 C55xx Rev4.0 CPU Functional Simulator, 可以在 My System 下看到所加入的 驱动; 点击 Save theta=pi/3
4、60(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: