(2)编写程序需要对数据段、代码段、堆栈段进行设置。要编写相应的.cmd(链接命令文件)文档对其进行合理化的分配空间。
(3)在编写程序时一定要编写相应的中断向量表文件,这样在汇编时才不会出错。
六 结束语
通过对本课题的研究,自己从中取得了一些成绩,理论水平也得到了一定的提高,同时也暴露了一些问题:
首先,对一个课题必须要阅读大量的文献和书籍来获得一定的感性认识,然后才能有自己的想法,这是一条必经之路。其次,理论基础知识很重要,论文涉及了很多的算法,会用到很多基础知识,如果用的时候再去学会浪费时间,因此要在平时注意搜集相关的资料,多学一些有用实用的技术,这样在以后的学习和工作中才能够做到游刃有余。最后,要有信心,遇到困难要向别人请教,这样可以大大加快研究进程。以上是我做论文的一些心得体会,这些对我以后的学习会有很大的帮助。
由于本人的时间和能力有限,本次的开发系统还存在一些不足之处,整个系统还需要进一步完善。文中也难免有不足之处,恳请老师批评指正。同时,对评审设计的老师表示衷心的感谢!
参考文献
[1]潘松,黄继业,王国栋. 现代DSP技术[M]. 西安电子科技大学出版社. 2004.5. [2]王潞钢,陈林康,曾岳南,许贤昶. DSP C2000程序员高手进阶[M]. 机械工业出版社. 2004.10.
[3]赵红怡. DSP技术与应用实例[M]. 电子工业出版社. 2003.6.
[4]胡庆钟,李小刚,吴钰淳. TMS320C55X DSP原理、应用和设计[M]. 机械工业出版社. 2005.10.
[5]丁玉美,高西全. 数字信号处理[M]. 西安电子科技大学出版社. 2006.7. [6]刘顺兰,吴杰,高西全. 数字信号处理[M]. 西安电子科技大学出版社. 2003.8. [7]楼顺天,刘小东,李博菡. 基于MATLAB 7.X的系统分析与设计—信号处理[M]. 西安电子科技大学出版社. 2005.5.
16
[8]清源科技. TMS320C54X DSP应用程序设计教程[M]. 机械工业出版社. 2004.1. [9]陈学平. Protel [M]2004. 人民邮电出版社. 2005.9.
[10]戴明桢,周建江.TMS320C54XDSP结构、原理及应用[M].北京:北京航空航天大学出版社,2002年3月
17
附实验程序
1、IIR数字滤波器源文件:
.title \
.mmregs .def _start .global _main DX .usect \DY .usect \DB .usect \DA .usect \PA0 .set 0;800BH PA1 .set 1;800CH .data table:
.word 0
.word 0 .word 0 .word 0
.word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .word 5*32768/10 .word -4*32768/10 .text _main:
_start:
SSBX FRCT
STM #DX,AR1 RPT #1
MVPD #table,*AR1+ STM #DY,AR1 RPT #1
MVPD #table+2,*AR1+ STM #DB,AR1 RPT #2
MVPD #table+4,*AR1+ STM #DA,AR1 RPT #1
MVPD #table+7,*AR1+ STM #DX+2,AR2 STM #DY+1,AR3 STM #DB+2,AR4 STM #DA+1,AR5
STM #3,BK
STM #-1, AR0 LOOP:
STM 0FFH, AR6 STM 1000H, AR1 STM 2000H, AR7 IIR:
PORTR PA1, *AR2 ;从输入端口读入数据 MPY *AR2+0%,*AR4+0%, A ;乘法运算,A=b0×x(n)
MAC *AR2+0%,*AR4+0%, A ;第1次乘法累加 A1=b1*x(n-1)+b0*x(n)
MAC *AR2, *AR4+0%, A ;第2次乘法累加 A2=b2*x(n-2)+A1 MAC *AR3+0%,*AR5+0%, A ;第3次乘法累加 A3=a1*y(n-2)+A2 MAC *AR3+0%,*AR5+0%, A ;第4次乘法累加 A4=a2*y(n-2)+A3 MAR *AR5+0% ;修正AR5 STH A,*AR7+ ;存储 y(n)
PORTW *AR7, PA0 ;从输出端口输出y(n) BD IIR ;循环 .end
2、.cmd文件(链接器命令文件) -stack 0x200
MEMORY
{
PAGE 0: PROG: origin = 1a00h, length = 2600h PAGE 1: DATA: origin = 0200h, length = 1800h
}
SECTIONS
{
.text > PROG PAGE 0
DX: align(4){} > DATA PAGE 1
DY: align(4){} > DATA PAGE 1 DB: align(4){} > DATA PAGE 1 DA: align(4){} > DATA PAGE 1
.cinit > PROG PAGE 0 .switch > PROG PAGE 0 .vect > 3f80h PAGE 0
.data > DATA PAGE 1 .bss > DATA PAGE 1
xn >DATA PAGE 1,align (32)
h >DATA PAGE 1,align (32)
.const > DATA PAGE 1
.sysmem > DATA PAGE 1 .stack > DATA PAGE 1