信号发生器方波正文Word格式文档下载.docx
《信号发生器方波正文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《信号发生器方波正文Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
2.2XF引脚周期性变化
最简单的程序:
DSP_XF1.asm
循环对XF位置1和清0,用示波器可以在XF脚检测到电平高低周期性变化。
.mmregs
。
预定义的寄存器
.def
CodeStart
定义程序入口标记
.text
程序区
CodeStart:
程序入口
BSET
XF
XF置1
RPT
#999
重复执行1000次空指令产生延时
NOP
BCLR
XF清0
RPT
#999
NOP
B
CodeStart
跳转到程序开头循环执行
.end
NOP指令执行时间为一个时钟周期,设DSP工作频率是50MHz,可以估算出XF引脚电平的变化频率约为:
50M/2000=25kHz
在没有示波器的情况下,就要将这个程序稍作改进,增加延时,用一个延时子程序将XF脚电平变化频率降到肉眼可分辨的程度,就可以用LED来显示电平的变化。
2.3子程序的调用
DSP_XF2.asm对DSP_XF1.asm稍作改进,用延时子程序设置较长的延时,可以用实验板上的LED看到XF引脚电平的变化
.mmregs。
.defCodeStart。
.text。
BSETXF。
CALLDelay。
调用延时程序
BCLRXF。
BCodeStart。
。
延时子程序:
Delay
用两级减一计数器来延时。
调整AR1和AR2的大小LED闪烁的频率不同
Delay:
MOV#999,*AR1。
循环次数1000
LOOP1:
MOV#4999,*AR2。
循环次数5000
LOOP2:
BCCLOOP2,*AR2-。
如果AR2不等于0,AR2减1,再判断
BCCLOOP1,*AR1-。
如果AR1不等于0AR1减1,跳转到LOOP1
RET
.end
3软件程序
3.1源程序
方波与程序清单timer.asm
.mmregs
.def_c_int00
.refsdram_init
tim0.set0x1000
prd0.set0x1001
tcr0.set0x1002
prsc0.set0x1003
sysr.set0x07fd
clkmd.set0x1c00
pdp_timer0.settim0/128
STACK.usect"
.stack"
200h
SYSSTACK.usect"
.sysstack"
.bssa1,1
.data
.sect"
.vectors"
rsv:
b_c_int00
nop
.align8
nmi:
.loop8
.endloop
int0:
int2:
.loop8
nop
.endloop
tint0:
b_Timer0
nop
主程序:
.text
_c_int00:
amov#0,xdp
amov#STACK+200h,xsp
amov#SYSSTACK+200h,xssp
bsetintm
mov#1,@ivpd
mov#1,@ivph
mov#10h,@ier0
mov#10h,@dbier0
mov#0,@ier1
mov#0ffffh,@ifr0
mov#0ffffh,@ifr1
callsdram_init
mov#pdp_timer0,pdp
mov#04f0h,port(tcr0>
mov#0h,port(tim0>
mov#0ffffh,port(prd0>
mov#15h,port(prsc0>
mov#0e0h,port(tcr0>
bclrintm
amov#a1,xdp
mov#0,ac0
movac0,@a1
loop:
Nop
bloop
_Timer0:
mova1,ac0
bccLoop1,ac0==#1
bLoop2
Loop1:
bsetxf
mov#0,a1
bnext
Loop2:
bclrxf
mov#1,a1
Next:
reti
.end
3.2SDRAM初始化程序sdram_init.asm
.defsdram_init
ebsr.set0x6c00
egcr.set0x800
emirst.set0x801
emibe.set0x802
ce01.set0x803
ce02.set0x804
ce03.set0x805
ce11.set0x806
ce12.set0x807
ce13.set0x808
ce21.set0x809
ce22.set0x80A
ce23.set0x80B
ce31.set0x80C
ce32.set0x80D
ce33.set0x80E
sdc1.set0x80F
sdper.set0x810
sdcnt.set0x811
init.set0x812
sdc2.set0x813
sdram_pdp.setegcr/128
.text
sdram_init:
mov#0xa01,port(#ebsr>
。
*ebsr=0xa01
mov#sdram_pdp,pdp
mov#0x220,port(@egcr>
*egcr=0x220
mov#0x3000,port(@ce01>
*ce01=0X3000
mov#0x1fff,port(@ce11>
*ce11=0X1fff
mov#0x1fff,port(@ce21>
*ce21=0x1fff
mov#0x1fff,port(@ce31>
*ce31=0x1fff
mov#0x0,port(@emirst>
*emirst=0
mov#0x5958,port(@sdc1>
*sdc1=0X5958
mov#0x38f,port(@sdc2>
*sdc2=0X38F
mov#0x0,port(@init>
*init=0
ret
3.3方波程序连接命令文件timer.cmd
MEMORY
{
PAGE0:
MMR:
origin=00000000h,length=00000c0h
SPRAM:
origin=00000c0h,length=0000040h
VECS:
origin=0000100h,length=0000100h
DARAM0:
origin=0000200h,length=0001E00h
DARAM1:
origin=0002000h,length=0002000h
DARAM2:
origin=0004000h,length=0002000h
DARAM3:
origin=0006000h,length=0002000h
}
SECTIONS
.vectors:
{}>
VECSPAGE0
.bss:
{}>
DARAM0PAGE0
.stack:
DARAM1PAGE0
.sysstack:
DARAM1PAGE0
.text:
DARAM2PAGE0
.data:
DARAM3PAGE0
4调试仿真运行结果分析
所有程序经调试无误,全部正常运行,根据定时器长度计算公式:
Tt=T*(1+TDDR>
*(1+PRD>
,通过修改TDDR与PRD的值便可在XF引脚上输出频率任意频率的方波。
4.1运行结果截图
在mov#0,a1设置断点,当程序运行到此位置时XF位已被置为1。
图4.1XF引脚输出1
在mov#1,a1设置断点,当程序运行到此位置时XF位已被置为0。
图4.2XF引脚输出0
当程序再次运行到mov#0,a1断点时,XF位又再一次被置为1。
图4.3XF引脚再次输出1
4.2课设过程中遇到的问题与解决方案
在程序调试过程中出现缺少空格、符号及字母大小写等错误,经过仔细阅读修改后程序运行正常。
结论
本文得到的结论如下:
在对设计的信号发生器<
方波)进行调试时采用了集成开发环境CodeComposerStudio(CCS>
,即对C55xx的汇编语言进行调试。
本文以基于DSP的信号发生器<
方波)的设计为题,完成了在XF引脚上输出任意频率的方波的任务。
但是上述工作尚有许多不成熟、不完善的地方,这就需要今后进一步开展的工作。
参考文献
[1]方华刚.DSP原理与应用.北京.北京机械工业出版社,2006.1
[2]程佩青.数字信号处理教程第二版.北京.清华大学出版社,2001.8
[3]孙宗瀛.TMS320C5xDSP原理设计与应用.北京.清华大学出版社,2002
[4]郑红吴冠.TMS320C54XDSP应用系统设计.北京.北京航空航天大学出版社,2002
[5]TMS320C55XDSPProgrammer’sGuideSPRU376A[Z].TexasInstruments,2001
[6]TMS320C55XDSPMnemonicInstructionSetReferenceGuideSORU374G[Z].TexasInstruments,2002
致谢
在这次课程设计从开始到完成,我得到了许多人的帮助。
首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。
在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。
其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。
同时也感谢学院为我提供良好的做毕业设计的环境。
最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。
课程设计<
论文)评语及成绩评定
指导教师评语:
评分_______指导教师<
签字)_______________________年____月____日
论文)及答辩评分:
1.学生工作态度和平时表现<
共20分)__________;
2.论文格式规范、语言流畅<
3.数据完整、分析论述充分合理,结论正确<
4.答辩表述能力<
5.基本概念及回答问题情况<
共20分)_________。
课程设计总成绩______答辩组成员<
签字)_________________年___月__日