DSP课程设计--信号发生器(方波)

成 绩 评 定 表

课程设计任务书

目录

1 绪论.................................................................................................................... 1

1.1 设计背景................................................................................................. 1 1.2 设计目的................................................................................................. 2 1.3 设计任务................................................................................................. 2 2 设计过程............................................................................................................ 3

2.1 设计原理................................................................................................. 3 2.2 XF引脚周期性变化 ............................................................................... 3 2.3 子程序的调用......................................................................................... 4 3 程序代码............................................................................................................ 5

3.1 源程序..................................................................................................... 5 3.2 SDRAM初始化程序 .............................................................................. 7 3.3 方波程序连接命令文件......................................................................... 9 4 调试仿真运行结果分析.................................................................................. 10

4.1 寄存器仿真结果................................................................................... 10 4.2 模拟输出仿真....................................................................................... 12 5.设计总结.......................................................................................................... 13 参考文献.............................................................................................................. 13

信号发生器(方波)

1 绪论

1.1 设计背景

数字信号处理是20世纪60年代,随着信息学科和计算机学科的高速发展而 迅速发展起来的一门新兴学科。它的重要性日益在各个领域的应用中表现出来。 其主要标志是两项重大进展,即快速傅里叶变换(FFT)算法的提出和数字滤波器设计方法的完善。数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。例如:滤波、检测、变换、增强、估计、识别、参数提取、频谱分析等。

数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理的研究方向应该更加广泛、更加深入.特别是对于谱分析的本质研究,对于非平稳和非高斯随机信号的研究,对于多维信号处理的研究等,都具有广阔前景。

数字信号处理技术发展很快、应用很广、成果很多。多数科学和工程中遇到的是模拟信号。以前都是研究模拟信号处理的理论和实现。模拟信号处理缺点:难以做到高精度,受环境影响较大,可靠性差,且不灵活等。数字系统的优点:体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理。随着大规模集成电路以及数字计算机的飞速发展,加之从60年代末以来数字信号处理理论和技术的成熟和完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。

数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们所需要的信号形式。数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理技术及设备具有灵活、精确、

抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。

数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多的学科为理论基础的,它所涉及的范围及其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。一些新兴的学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。

长期以来,信号处理技术—直用于转换或产生模拟或数字信号。其中应用得最频繁的领域就是信号的滤波。此外,从数字通信、语音、音频和生物医学信号处理到检测仪器仪表和机器人技术等许多领域中,都广泛地应用了数字信号处理(digital signal processing,DSP)技术。数字信号处理己经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统。

1.2 设计目的

1.通过课程设计加深对DSP软件有关知识的学习与应用。 2.学习汇编语言并能熟练掌握与应用。 3.了解定时中断原理。

1.3 设计任务

1. 设计一个信号发生器(方波)。

2. 在XF引脚上输出任意频率的方波。

2 设计过程

2.1 设计原理

作为本设计的核心器件,DSP芯片的运算能力要求比较高,同时又存在运算过程中大量数据交换的特点。

方波信号发生器是信号中最常见的一种,它能输出一个幅度可调、频率可调的方波信号,在科学研究及生产实践中均有着广泛应用。

目前,常用的信号发生器绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不但参数准确度难以保证,而且体积大和功耗都很大,而由数字电路构成的低频信号发生器,虽然其低频性能好但体积较大,价格较贵,而本文借助DSP运算速度高,系统集成度强的优势设计的这种信号发生器,比以前的数字式信号发生器具有速度更快,且实现更加简便。

这里说明一下使用TI公司的DSP芯片TMS320C5502(以下简称5502)来产生方波信号的原理:由于产生一个方波信号需要有一个适合的定时器来重复产生一个与方波周期相同的计数周期,并用一个比较寄存器 来保持调制值,因此,比较寄存器的值应不断与定时寄存器的值相比较,这样,当两个值相匹配时,就会在响应的输出上产生一个转换(从低到高或从高到低),从 而产生输出脉冲,输出的开启(或关闭)时间与被调制的数值成正比,因此,改变调制数值,相关引脚上输出的脉冲信号的宽度也将随之改变。

通过TMS320C5502的 事件管理器模块可以产生一定占空比的脉冲信号,而使用其中的通用定时器、全比较单元和单比较单元则均可发出脉冲,由DSP可输出一系列等幅不等宽的波形信号,这些信号再经过外围一系列调理电路的变换之后,便可以得到所需要方波信号了。事实上,在硬件上,DSP有两个设计一样的事件管理模块(EVA/EVB),每一个事件管理模块都有6个输出口,故可输出两组方波,一般均可满足通常的设计需要。

2.2 XF引脚周期性变化

最简单的程序:DSP_XF1.asm

循环对XF位置1和清0,用示波器可以在XF脚检测到电平高低周期性变化。

.mmregs ;预定义的寄存器 .def CodeStart ;定义程序入口标记 .text ;程序区

CodeStart: ;程序入口

BSET XF ;XF置1

RPT #999 ;重复执行1000次空指令产生延时 NOP

BCLR XF ;XF清0

RPT #999 ;重复执行1000次空指令产生延时 NOP

B CodeStart ;跳转到程序开头循环执行

.end

NOP指令执行时间为一个时钟周期,设DSP工作频率是50MHz,可以估算出XF引脚电平的变化频率约为:50M/2000=25kHz

在没有示波器的情况下,就要将这个程序稍作改进,增加延时,用一个延时子程序将XF脚电平变化频率降到肉眼可分辨的程度,就可以用LED来显示电平的变化。

2.3 子程序的调用

DSP_XF2.asm对DSP_XF1.asm稍作改进,用延时子程序设置较长的延时,可以用试验板上的LED看到XF引脚电平的变化

.mmregs ;预定义的寄存器 .def CodeStart ;定义程序入口标记 .text ;程序区 CodeStart:

;程序入口

BSET XF ;XF置1 CALL Delay ;调用延时程序 BCLR XF ;XF清0

CALL Delay ;调用延时程序 B CodeStart ;跳转到程序开头循环执行

;延时子程序:Delay

;用两级减一计数器来延时。调整AR1和AR2的大小LED闪烁的频率不同

Delay:

MOV #999,*AR1 LOOP1: MOV #4999,*AR2 LOOP2: BCC LOOP2,*AR2- 断

BCC LOOP1,*AR1- OOP1

RET

.end

3 程序代码

3.1 源程序

;方波与程序清单 timer.asm

.mmregs

.def _c_int00 .ref sdram_init

tim0 .set 0x1000

prd0

.set 0x1001

tcr0 .set 0x1002 prsc0 .set 0x1003 sysr .set 0x07fd clkmd .set 0x1c00

;循环次数1000 ;循环次数5000

;如果AR2不等于0,AR2减1,再判 ;如果AR1不等于0AR1减1,跳转到L

pdp_timer0 .set tim0/128 STACK .usect ".stack",

200h

SYSSTACK .usect ".sysstack", 200h

.bss a1, 1

.data

.sect ".vectors"

rsv: b _c_int00 nop .align 8 nmi: .loop 8

nop .endloop

int0: .loop 8

nop .endloop

.loop 8

int2:

nop .endloop

tint0: b _Timer0

nop .align 8

;主程序:

.text

_c_int00:

amov #0,xdp

amov #STACK+200h,xsp amov #SYSSTACK+200h,xssp

bset intm mov #1,@ivpd mov #1,@ivph mov #10h,@ier0

mov #10h,@dbier0 mov #0,@ier1 mov #0ffffh,@ifr0 mov #0ffffh,@ifr1 call sdram_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) bclr intm amov #a1, xdp

mov #0,ac0

mov ac0, @a1 loop: Nop

b loop _Timer0: mov a1, ac0 bcc Loop1, ac0==#1 b Loop2 Loop1: bset xf mov #0, a1 b next Loop2: bclr xf mov #1, a1 Next: reti .end

3.2 SDRAM初始化程序

.def sdram_init ebsr .set egcr .set

0x6c00 0x800

emirst .set 0x801 emibe .set

0x802

ce01 .set 0x803 ce02 ce03 ce11

.set .set .set

0x804 0x805 0x806

ce12 .set ce13 .set ce21 .set ce22 ce23

0x807 0x808 0x809

0x80A 0x80B 0x80C 0x80D 0x80E 0x80F 0x810 0x811 0x812 0x813

.set .set

ce31 .set ce32 .set ce33 .set sdc1 .set sdper

.set

sdcnt .set init .set sdc2 .set

sdram_pdp .set egcr/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

;*emirst = 0 ;*sdc1 = 0X5958

mov #0x0,port(@emirst) mov #0x5958,port(@sdc1)

mov #0x38f,port(@sdc2) ;*sdc2 = 0X38F mov #0x0,port(@init)

;*init = 0

ret

.end

3.3 方波程序连接命令文件

MEMORY { PAGE 0: MMR: origin =00000000h, SPRAM: origin = 00000c0h, VECS: origin = 0000100h,

DARAM0: origin = 0000200h,

DARAM1: origin = 0002000h, DARAM2: origin = 0004000h, DARAM3: origin = 0006000h, }

SECTIONS { .vectors: {} > VECS PAGE 0 .bss:

{} > DARAM0 PAGE 0 .stack: {} > DARAM1 PAGE 0 .sysstack: {} > DARAM1 PAGE 0

.text:

{} > DARAM2 PAGE 0

.data: {} > DARAM3 PAGE 0 }

length = 00000c0h

length = 0000040h length = 0000100h

length = 0001E00h length = 0002000h

length = 0002000h length = 0002000h

4 调试仿真运行结果分析

所有程序经调试无误,全部正常运行,根据定时器长度计算公式:Tt=T*(1+TDDR)*(1+PRD),通过修改TDDR与PRD的值便可在XF引脚上输出频率任意频率的方波。

4.1 寄存器仿真结果

在mov #0, a1设置断点,当程序运行到此位置时XF位已被置为1。

图4.1 XF引脚输出1

在mov #1, a1设置断点,当程序运行到此位置时XF位已被置为0。

图4.2 XF引脚输出0

当程序再次运行到

mov #0, a1断点时,XF位又再一次被置为1。

图4.3 XF引脚再次输出1

4.2 模拟输出仿真

打开CCS V3.1的View——Graph Property Dialog菜单,打开图形属性对话框,在对话框中修改相应参数,如图4.4所示。

图4.4 图形显示窗口设置菜单

运行程序,在时域图观察视窗中的得到如图4.5所示的波形图。

图4.5 图形显示XF引脚输出结果

5.设计总结

在本次课程设计中,对设计的信号发生器(方波)进行调试时采用了集成开发环境Code Composer Studio(CCS),对C55xx用汇编语言进行调试。

本文以基于DSP 的信号发生器(方波)的设计为题,完成了在XF引脚上输出任意频率的方波的任务。但是上述工作尚有许多不成熟、不完善的地方,这就需要今后进一步开展的工作。

在这次课程设计从开始到完成,我得到了许多人的帮助。

首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。同时也感谢学院为我提供良好的做毕业设计的环境。

最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。

参考文献

[1] 方华刚.DSP原理与应用.北京.北京机械工业出版社,2006.1 [2] 程佩青.数字信号处理教程第二版.北京.清华大学出版社,2001.8 [3] 孙宗瀛. TMS320C5x DSP原理设计与应用.北京. 清华大学出版社,2002 [4] 郑 红 吴 冠. TMS320C54X DSP应用系统设计.北京.北京航空航天大学出版社, 2002

[5] TMS320C55X DSP Programmer’s Guide SPRU376A[Z].Texas Instruments,2001

[6] TMS320C55X DSP Mnemonic Instruction Set Reference Guide SORU374G[Z]. Texas Instrument 2005

成 绩 评 定 表

课程设计任务书

目录

1 绪论.................................................................................................................... 1

1.1 设计背景................................................................................................. 1 1.2 设计目的................................................................................................. 2 1.3 设计任务................................................................................................. 2 2 设计过程............................................................................................................ 3

2.1 设计原理................................................................................................. 3 2.2 XF引脚周期性变化 ............................................................................... 3 2.3 子程序的调用......................................................................................... 4 3 程序代码............................................................................................................ 5

3.1 源程序..................................................................................................... 5 3.2 SDRAM初始化程序 .............................................................................. 7 3.3 方波程序连接命令文件......................................................................... 9 4 调试仿真运行结果分析.................................................................................. 10

4.1 寄存器仿真结果................................................................................... 10 4.2 模拟输出仿真....................................................................................... 12 5.设计总结.......................................................................................................... 13 参考文献.............................................................................................................. 13

信号发生器(方波)

1 绪论

1.1 设计背景

数字信号处理是20世纪60年代,随着信息学科和计算机学科的高速发展而 迅速发展起来的一门新兴学科。它的重要性日益在各个领域的应用中表现出来。 其主要标志是两项重大进展,即快速傅里叶变换(FFT)算法的提出和数字滤波器设计方法的完善。数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。例如:滤波、检测、变换、增强、估计、识别、参数提取、频谱分析等。

数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理的研究方向应该更加广泛、更加深入.特别是对于谱分析的本质研究,对于非平稳和非高斯随机信号的研究,对于多维信号处理的研究等,都具有广阔前景。

数字信号处理技术发展很快、应用很广、成果很多。多数科学和工程中遇到的是模拟信号。以前都是研究模拟信号处理的理论和实现。模拟信号处理缺点:难以做到高精度,受环境影响较大,可靠性差,且不灵活等。数字系统的优点:体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理。随着大规模集成电路以及数字计算机的飞速发展,加之从60年代末以来数字信号处理理论和技术的成熟和完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。

数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们所需要的信号形式。数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理技术及设备具有灵活、精确、

抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。

数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多的学科为理论基础的,它所涉及的范围及其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。一些新兴的学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。

长期以来,信号处理技术—直用于转换或产生模拟或数字信号。其中应用得最频繁的领域就是信号的滤波。此外,从数字通信、语音、音频和生物医学信号处理到检测仪器仪表和机器人技术等许多领域中,都广泛地应用了数字信号处理(digital signal processing,DSP)技术。数字信号处理己经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统。

1.2 设计目的

1.通过课程设计加深对DSP软件有关知识的学习与应用。 2.学习汇编语言并能熟练掌握与应用。 3.了解定时中断原理。

1.3 设计任务

1. 设计一个信号发生器(方波)。

2. 在XF引脚上输出任意频率的方波。

2 设计过程

2.1 设计原理

作为本设计的核心器件,DSP芯片的运算能力要求比较高,同时又存在运算过程中大量数据交换的特点。

方波信号发生器是信号中最常见的一种,它能输出一个幅度可调、频率可调的方波信号,在科学研究及生产实践中均有着广泛应用。

目前,常用的信号发生器绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不但参数准确度难以保证,而且体积大和功耗都很大,而由数字电路构成的低频信号发生器,虽然其低频性能好但体积较大,价格较贵,而本文借助DSP运算速度高,系统集成度强的优势设计的这种信号发生器,比以前的数字式信号发生器具有速度更快,且实现更加简便。

这里说明一下使用TI公司的DSP芯片TMS320C5502(以下简称5502)来产生方波信号的原理:由于产生一个方波信号需要有一个适合的定时器来重复产生一个与方波周期相同的计数周期,并用一个比较寄存器 来保持调制值,因此,比较寄存器的值应不断与定时寄存器的值相比较,这样,当两个值相匹配时,就会在响应的输出上产生一个转换(从低到高或从高到低),从 而产生输出脉冲,输出的开启(或关闭)时间与被调制的数值成正比,因此,改变调制数值,相关引脚上输出的脉冲信号的宽度也将随之改变。

通过TMS320C5502的 事件管理器模块可以产生一定占空比的脉冲信号,而使用其中的通用定时器、全比较单元和单比较单元则均可发出脉冲,由DSP可输出一系列等幅不等宽的波形信号,这些信号再经过外围一系列调理电路的变换之后,便可以得到所需要方波信号了。事实上,在硬件上,DSP有两个设计一样的事件管理模块(EVA/EVB),每一个事件管理模块都有6个输出口,故可输出两组方波,一般均可满足通常的设计需要。

2.2 XF引脚周期性变化

最简单的程序:DSP_XF1.asm

循环对XF位置1和清0,用示波器可以在XF脚检测到电平高低周期性变化。

.mmregs ;预定义的寄存器 .def CodeStart ;定义程序入口标记 .text ;程序区

CodeStart: ;程序入口

BSET XF ;XF置1

RPT #999 ;重复执行1000次空指令产生延时 NOP

BCLR XF ;XF清0

RPT #999 ;重复执行1000次空指令产生延时 NOP

B CodeStart ;跳转到程序开头循环执行

.end

NOP指令执行时间为一个时钟周期,设DSP工作频率是50MHz,可以估算出XF引脚电平的变化频率约为:50M/2000=25kHz

在没有示波器的情况下,就要将这个程序稍作改进,增加延时,用一个延时子程序将XF脚电平变化频率降到肉眼可分辨的程度,就可以用LED来显示电平的变化。

2.3 子程序的调用

DSP_XF2.asm对DSP_XF1.asm稍作改进,用延时子程序设置较长的延时,可以用试验板上的LED看到XF引脚电平的变化

.mmregs ;预定义的寄存器 .def CodeStart ;定义程序入口标记 .text ;程序区 CodeStart:

;程序入口

BSET XF ;XF置1 CALL Delay ;调用延时程序 BCLR XF ;XF清0

CALL Delay ;调用延时程序 B CodeStart ;跳转到程序开头循环执行

;延时子程序:Delay

;用两级减一计数器来延时。调整AR1和AR2的大小LED闪烁的频率不同

Delay:

MOV #999,*AR1 LOOP1: MOV #4999,*AR2 LOOP2: BCC LOOP2,*AR2- 断

BCC LOOP1,*AR1- OOP1

RET

.end

3 程序代码

3.1 源程序

;方波与程序清单 timer.asm

.mmregs

.def _c_int00 .ref sdram_init

tim0 .set 0x1000

prd0

.set 0x1001

tcr0 .set 0x1002 prsc0 .set 0x1003 sysr .set 0x07fd clkmd .set 0x1c00

;循环次数1000 ;循环次数5000

;如果AR2不等于0,AR2减1,再判 ;如果AR1不等于0AR1减1,跳转到L

pdp_timer0 .set tim0/128 STACK .usect ".stack",

200h

SYSSTACK .usect ".sysstack", 200h

.bss a1, 1

.data

.sect ".vectors"

rsv: b _c_int00 nop .align 8 nmi: .loop 8

nop .endloop

int0: .loop 8

nop .endloop

.loop 8

int2:

nop .endloop

tint0: b _Timer0

nop .align 8

;主程序:

.text

_c_int00:

amov #0,xdp

amov #STACK+200h,xsp amov #SYSSTACK+200h,xssp

bset intm mov #1,@ivpd mov #1,@ivph mov #10h,@ier0

mov #10h,@dbier0 mov #0,@ier1 mov #0ffffh,@ifr0 mov #0ffffh,@ifr1 call sdram_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) bclr intm amov #a1, xdp

mov #0,ac0

mov ac0, @a1 loop: Nop

b loop _Timer0: mov a1, ac0 bcc Loop1, ac0==#1 b Loop2 Loop1: bset xf mov #0, a1 b next Loop2: bclr xf mov #1, a1 Next: reti .end

3.2 SDRAM初始化程序

.def sdram_init ebsr .set egcr .set

0x6c00 0x800

emirst .set 0x801 emibe .set

0x802

ce01 .set 0x803 ce02 ce03 ce11

.set .set .set

0x804 0x805 0x806

ce12 .set ce13 .set ce21 .set ce22 ce23

0x807 0x808 0x809

0x80A 0x80B 0x80C 0x80D 0x80E 0x80F 0x810 0x811 0x812 0x813

.set .set

ce31 .set ce32 .set ce33 .set sdc1 .set sdper

.set

sdcnt .set init .set sdc2 .set

sdram_pdp .set egcr/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

;*emirst = 0 ;*sdc1 = 0X5958

mov #0x0,port(@emirst) mov #0x5958,port(@sdc1)

mov #0x38f,port(@sdc2) ;*sdc2 = 0X38F mov #0x0,port(@init)

;*init = 0

ret

.end

3.3 方波程序连接命令文件

MEMORY { PAGE 0: MMR: origin =00000000h, SPRAM: origin = 00000c0h, VECS: origin = 0000100h,

DARAM0: origin = 0000200h,

DARAM1: origin = 0002000h, DARAM2: origin = 0004000h, DARAM3: origin = 0006000h, }

SECTIONS { .vectors: {} > VECS PAGE 0 .bss:

{} > DARAM0 PAGE 0 .stack: {} > DARAM1 PAGE 0 .sysstack: {} > DARAM1 PAGE 0

.text:

{} > DARAM2 PAGE 0

.data: {} > DARAM3 PAGE 0 }

length = 00000c0h

length = 0000040h length = 0000100h

length = 0001E00h length = 0002000h

length = 0002000h length = 0002000h

4 调试仿真运行结果分析

所有程序经调试无误,全部正常运行,根据定时器长度计算公式:Tt=T*(1+TDDR)*(1+PRD),通过修改TDDR与PRD的值便可在XF引脚上输出频率任意频率的方波。

4.1 寄存器仿真结果

在mov #0, a1设置断点,当程序运行到此位置时XF位已被置为1。

图4.1 XF引脚输出1

在mov #1, a1设置断点,当程序运行到此位置时XF位已被置为0。

图4.2 XF引脚输出0

当程序再次运行到

mov #0, a1断点时,XF位又再一次被置为1。

图4.3 XF引脚再次输出1

4.2 模拟输出仿真

打开CCS V3.1的View——Graph Property Dialog菜单,打开图形属性对话框,在对话框中修改相应参数,如图4.4所示。

图4.4 图形显示窗口设置菜单

运行程序,在时域图观察视窗中的得到如图4.5所示的波形图。

图4.5 图形显示XF引脚输出结果

5.设计总结

在本次课程设计中,对设计的信号发生器(方波)进行调试时采用了集成开发环境Code Composer Studio(CCS),对C55xx用汇编语言进行调试。

本文以基于DSP 的信号发生器(方波)的设计为题,完成了在XF引脚上输出任意频率的方波的任务。但是上述工作尚有许多不成熟、不完善的地方,这就需要今后进一步开展的工作。

在这次课程设计从开始到完成,我得到了许多人的帮助。

首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。同时也感谢学院为我提供良好的做毕业设计的环境。

最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。

参考文献

[1] 方华刚.DSP原理与应用.北京.北京机械工业出版社,2006.1 [2] 程佩青.数字信号处理教程第二版.北京.清华大学出版社,2001.8 [3] 孙宗瀛. TMS320C5x DSP原理设计与应用.北京. 清华大学出版社,2002 [4] 郑 红 吴 冠. TMS320C54X DSP应用系统设计.北京.北京航空航天大学出版社, 2002

[5] TMS320C55X DSP Programmer’s Guide SPRU376A[Z].Texas Instruments,2001

[6] TMS320C55X DSP Mnemonic Instruction Set Reference Guide SORU374G[Z]. Texas Instrument 2005


相关文章

  • 基于dsp的正弦波信号发生器课程设计
  • 目录 第1章 绪论 ............................................. 1 1 DSP简介 ............................................... 1 第2章 ...查看


  • 课程设计8086电子时钟设计
  • 微机原理及其接口技术 课 程 设 计 题目: 8086电子时钟设计 前 言 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动乎.动脑和理论联系实际的特点,是培养在校工科大学 ...查看


  • DSP高通滤波器课程设计报告
  • D S P 课程设计报告 题目: FIR 高通滤波器设计 姓 名 学 号 教学院系 专业年级 指导教师 目录 一.设计题目........................................................... ...查看


  • 无限冲激响应FIR在TMS320C64上实现
  • DSP 芯片及应用课程设计 设计题目:无限冲激响应FIR 在TMS320C64上实现 姓名:吴康鑫 学号:学院:信息工程 指导教师:饶志华 时间日期:2012.4.29 摘要 随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理 ...查看


  • 电路与系统专业硕士研究生培养方案
  • 电路与系统专业硕士研究生培养方案 华中师范大学信息技术系 2005年10月 一.培养目标 本专业主要培养德.智.体全面发展的,适应社会主义现代化建设需要的电路与系统学专业专门人才,其具体要求是: 1. 较好地掌握马克思主义基本原理,坚持党的 ...查看


  • 7电子信息专业就业方向及薪水
  • 电子信息专业就业方向及薪水 如果从工程师和研究生的专业方向来看,电子信息专业的方向大概有 1)数字电子线路方向.从事单片机(8位的8051系列.32位的ARM系列等等).FPGA(CPLD).数字逻辑电路.微机接口(串口.并口.USB.PC ...查看


  • 通信专业学生,出来之后要干什么呢
  • 转的,看完觉得是好东西,转过来分享 如果从工程师和研究生的专业方向来看,电子信息专业的方向大概有 1)数字电子线路方向.从事单片机(8位的8051系列.32位的ARM系列等等).FPGA(CPLD).数字逻辑电路.微机接口(串口.并口.US ...查看


  • 线路串联电容器实现电力系统电压控制
  • 辽 宁 工 业 大 学 电力系统自动化 课程设计(论文) 题目: 线路串联电容器实现电力系统电压控制 (4) 院(系): 电气工程学院 专业班级: 学 号: 学生姓名: 指导教师: 起止时间: 课程设计(论文)任务及评语 院(系):电气工程 ...查看


  • 高速数据采集原理分析与设计
  • 课程设计任务书 学生姓名: 周国阳 专业班级: 电信1001班 指导教师: 沈维聪 工作单位: 信息工程学院 题 目:高速数据采集系统原理分析和设计 初始条件: 数据采集是数字信号处理的前提,研究和设计数据采集系统就显得尤为重要.本课程设计 ...查看


热门内容