veSTM 1 AR0STM 360BKloop4: PORTW AR60 PA0B loop4sinx:.def d_xsd_sinx.datatable_s .word 01c7h c11/8 9 .word 030bh c21/6 7 .word 0666h c31/4 5 .word 1556h c41/2 3d_coef_s .usect coef_s4d_xs .usect sin_vars 1d_squr_xs .usect sin_vars 1d_temp_s .usect sin_vars 1d_sinx .usect sin_vars 1c_1_s .usect sin_vars 1.textSSBX FRCTSTM d_coef_s AR5RPT 3MVPD table_s AR5STM d_coef_s AR3STM d_xs AR2STM c_1_s AR4ST 7FFFh c_1_sSQUR AR2 AST A AR2LD AR4 B 10 基于 DSP 的正弦信号MASR AR2 AR3 B AMPYA ASTH A AR2MASR AR2- AR3 B AMPYA AR2ST B AR2LD AR4 BMASR AR2- AR3 B AMPYA AR2ST B AR2LD AR4 BMASR AR2- AR3 B AMPYA d_xsSTH B d_sinxRETcosx:.def d_xcd_cosxd_coef_c .usect coef_c 4.datatable_c .
word 0249h cl1/7 8 .word 0444h c21/5 6 .word 0aabh c31/3 4 .word 4000h c4 1 /2d_xc .usect cos_vars1d_squr_xc .usect cos_vars1d_temp_c .usect cos_vars1d_cosx .usect cos_vars1c_1_c .usect cos_vars1.textSSBX FRCTSTM d_coef_c AR5 move coeff tableRPT 3MVPD table_c AR5STM d_coef_c AR3 11 基于 DSP 的正弦信号 STM d_xc AR2 STM c_1_c AR4 ST 7FFFhc_1_c SQUR AR2 A A x-2 ST A AR2 AR2 x2 LD AR4B B1 MASR AR2 AR3BA AI-x-2/56 T x2 MPYA A AT Ax21-x2/56 STH A AR2 d temp x21-x2/56 MASR AR2- AR3BA A1-x2/301-x2/56 Tx21-x2/56 MPYA AR2 Bx21-x2/301-x2/56 ST B AR2 d tempx21-x2/301-x2/56 LD AR4 B B1 MASR AR2- AR3BA A1-x2/121-x2/301-x2/56 SFTA A-1A -1/2 NEG A MPYA AR2 B-x2/21-x2/121-x2/30 1-x2/56 MAR AR2 RETD ADD AR416B B1-x2/21-x2/121-x2/30 1-c2/56 STH B AR2 costheta RET .end2 正弦波源程序 vectors.asm 清单 vectors.asm .title “vectors” .ref start .sect “.vectors” B start .end 12 基于 DSP 的正弦信号3 编写链接命令文件 sin.cmd 正弦波
程序链接命令文件 sin.cmd .Debugsin.obj .Debugvectors.obj -o sin.out -m sin.map -e start MEMORY PAGE 0: EPROM : org0E000h len1000h VECS : org0FF80h len0080h PAGE 1: SPRAM : org0060h len0020h DARAM1 : org0080h len0010h DARAM2 : org0090h len0010h DARAM3 : org0200h len0200h SECTIONS .text : EPROM PAGE 0 .data : EPROM PAGE 0 STACK : SPRAM PAGE 1 sin_vars : DARAM1 PAGE 1 coef_s : DARAM1 PAGE 1 cos_vars : DARAM2 PAGE 1 coef_c : DARAM2 PAGE 1 sin_x : align512 DARAM3 PAGE 1 .vectors : VECS PAGE 0 13 基于 DSP 的正弦信号 3 在 CCS 中生成项目、编译和调试 在 CCS 中生成项目,编译,调试,用 graph 窗口观察结果: (1)在自己建立的工程文件中加载 sin.asm,vectors.asm 程序和 sin.cmd程序。
(2)程序全部输入以后,进行编译,连接,并调试。
(3)载入可执行程序。
命令 File—Load Program 载入编译链接好的可执行程序。
(4)点击运行键 RUN。
(5)程序运行后按 View—Graph—Time/Frequency…设置显示窗口,观察所计算生成的正弦波图形。
(Time/Frequency…中的 Start Address Sized 的原始值改为 0X0020,Acquisition Buffer Size 改为 360,Display Data Size 改成适量值如300) 图形如下显示: 图 3.1 实验结果波形图 14 基于 DSP 的正弦信号 总结 经过
学习 DSP 这门课,我不仅对程序编程有了更全面的认识,而且学会了利用 CCS 集成开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等
工作环节. DSP 原理对我们来说还算简单,主要过程是将理论转化成实际程序调试,这就考验我们如何把复杂的程序理解并成功的调试出来。
再调试的过程中,更全面的理解课本上所学的内容。
关于这次实验,我也有许多收获:拿到材料后,经过认真的预习,让我对DSP 系统有了更加全面的认识,了解了如何利用 TMS320C54xDSP 来实现正弦信号发生器,可是在电路调试的过程中我也遇到了
问题,由于输入时的粗心,程序中错误很多,起初只是着急,经过耐心的检查,错误一个一个的减少,终于正确了,心情很激动! 15 基于 DSP 的正弦信号 参考文献1 秦永左,杨光.TMS320LF240XDSP 原理及应用M,北京:清华大学出版社,2009.6.2 戴明桢. 数字信号处理的硬件实现J. 航空工业出版社,2006.9.3 周建江. 数字信号处理的硬件实现J.北京航空航天大学出版社,2005.6 .4 李哲英. DSP 基本理论与应用技术M.机械出版社,2005.7. 16