DSP课程设计一定频率范围内的方波生成.docx

上传人:b****7 文档编号:25328244 上传时间:2023-06-07 格式:DOCX 页数:17 大小:4.77MB
下载 相关 举报
DSP课程设计一定频率范围内的方波生成.docx_第1页
第1页 / 共17页
DSP课程设计一定频率范围内的方波生成.docx_第2页
第2页 / 共17页
DSP课程设计一定频率范围内的方波生成.docx_第3页
第3页 / 共17页
DSP课程设计一定频率范围内的方波生成.docx_第4页
第4页 / 共17页
DSP课程设计一定频率范围内的方波生成.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

DSP课程设计一定频率范围内的方波生成.docx

《DSP课程设计一定频率范围内的方波生成.docx》由会员分享,可在线阅读,更多相关《DSP课程设计一定频率范围内的方波生成.docx(17页珍藏版)》请在冰豆网上搜索。

DSP课程设计一定频率范围内的方波生成.docx

DSP课程设计一定频率范围内的方波生成

DSP课程设计--一定频率范围内的方波生成

DSP课程设计报告

——一定频率范围内的方波生成

 

组长:

黄君君

小组成员:

施以鹏,范嘉琪,谭洪军

李素华,蒋晓菲,余美洁

指导老师:

曹洪龙

 

一、设计题目

二、设计目标

1.设计要求

2.设计目的

三、设计方案

1.相关仪器的选择

2.设计原理

四、设计内容

五、设计结果

六、课程设计的参考文献

七、课程设计的结论及心得

 

一、设计题目

一定频率范围内的方波生成

二、设计目标

1.设计要求

(1)利用DSP的IO引脚输出方波

(2)频率范围5KHz~40KHz

(3)频率连续可调

(4)频率精度为100Hz

2.设计目的

(1)熟悉TMS320VC5416的硬件结构

(2)学会相关程序的编写

(3)熟悉CCS软件的使用

三、设计方案

1.相关实验设备的选择:

CCS软件,TMS320VC5416,示波器,导线

2.设计原理:

通过定时器中断程序产生方波,利用定时器在XF管脚输出频率可调的方波,设定时钟频率CLK=80MHz,则定时器的中断周期为:

1/80MHz*(1+7)*(1+9)=1us,再通过对计数器进行50次,达到50us的低电平,改变输出波形的电平,再分别计数不同的次数即可达到改变方波频率的效果。

四、设计内容

(1)asm源程序代码:

.mmregs

.include"global.h54"

.include"mymem.h54"

.text

;***************************************************

;Function:

main

;Description:

;mainfunctionofMyTimer0

;

;Note:

;DSPisinitializedandthestatusofTimerisanalyzedto

enableordisablethetimer

;***************************************************

_main

ssbxINTM;INTM=1,屏蔽中断

stm#d_stack+400h,sp;initsp

callDSP_INIT

RSBXINTM;INTM=0,开中断

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

work_loop:

;enabletimer

ANDM#0ffefH,*(TCR);TSS=0,启动定时器

IDLE1

BANZwork_loop,*AR1-

XORM#1,*(isFlag_Timer0);异或运算

CMPM*(isFlag_Timer0),#1;TC=

BCSet_XF,TC

RSBXXF;XF=0

STM#50,AR1

Bwork_loop

Set_XF

SSBXXF;XF=1

ST#10,*(Count0)

LD*(Count0),A

STLMA,AR1

Bwork_loop

dead_loop:

nop

nop

nop

bdead_loop

.end

(2)初始化程序:

.text

.mmregs

.include"global.h54"

.include"mymem.h54"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Function:

DSP_INIT;

;DESCRIPT:

whendspstartwork,it'sbecalled;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DSP_INIT:

;MP/MC(6)=0,OVLY(5)=1

ANDM#0BFH,*(PMST);与运算BFH=10111111B

nop

nop

;DROM(3)=1,CLKOFF

(2)=1

ORM#0ADH,*(PMST);或运算ADH=10101101B

nop

nop

;registerinit

STM#0h,SWWSR;软件等待状态寄存器SWWSR的初始化

stm#CLKMOD_DIV,clkmd;pllshouldhavesometimedelayingtoworknormally

rpt#(0x800-1)

nop

;时钟发生器80M

Stm#CLKMD100,CLKMD;CLKMD=4007HPLLMUL=4,PLLNDIV=1,PLLDIV=0

Set_CLK_PLL

Rpt#(0x800-1)

nop

CMPM*(CLKMD),#CLKMD100;TC=

BcSet_CLK_PLL,NTC

RSBXOVM;支持移溢出

stm#50,AR1

st#0,*(Count0)

st#0,*(Count1)

st#0,*(Count_25)

st#0,*(Count_25+1)

st#0,*(IsDelay)

st#0,*(isFlag_Timer0)

;timer0init,1us

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

stm#TCR100,TCR;initTCR,TSS=1,TDDR=9,free=1

stm#PRD100,PRD

;PRD=07H,(PRD+1)*(TDDR+1)*Tclk

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

RSBXSXM

Stm#0xFFFF,IFR;clearIFR

stm#0x0008,IMR;开放定时器

ret

(3)CMD配置文件:

MEMORY

{

PAGE0:

EPROG:

origin=0x100,len=0x0500

VECT:

origin=0x0080,len=0x80

PAGE1:

USERREGS:

origin=0x0B00,len=0x0400

PAGE1:

STACK_MEM:

origin=0x0600,len=0x0500

EDATA:

origin=0x0f00,len=0x0100

MYDATA:

origin=0x1000,len=0x7000,fill=0x0000

}

SECTIONS

{

.vector:

{}>VECTPAGE0

.text:

{}>EPROGPAGE0

.bss:

{}>USERREGSPAGE1

.sysmem:

{}>USERREGSPAGE1

my:

{}>USERREGSPAGE1

stack_mem:

{}>STACK_MEMPAGE1

.data:

{}>EDATAPAGE1

}

(4)中断向量表:

.mmregs

.include"global.h54"

.include"mymem.h54"

.align0x80

.sect".vector"

IV_RESET:

BD_main;复位中断,跳转到程序的入口

NOP

NOP

IV_NMI:

RETE;NMI中断,开中断返回

NOP

NOP

NOP

IV_SINT17:

RETE;软件中断#17,开中断返回

NOP

NOP

NOP

IV_SINT18:

RETE;软件中断#18,开中断返回

NOP

NOP

NOP

IV_SINT19:

RETE;软件中断#19,开中断返回

NOP

NOP

NOP

IV_SINT20:

RETE;软件中断#20,开中断返回

NOP

NOP

NOP

IV_SINT21:

RETE;软件中断#21,开中断返回

NOP

NOP

NOP

IV_SINT22:

RETE;软件中断#22,开中断返回

NOP

NOP

NOP

IV_SINT23:

RETE;软件中断#23,开中断返回

NOP

NOP

NOP

IV_SINT24:

RETE;软件中断#24,开中断返回

NOP

NOP

NOP

IV_SINT25:

RETE;软件中断#25,开中断返回

NOP

NOP

NOP

IV_SINT26:

RETE;软件中断#26,开中断返回

NOP

NOP

NOP

IV_SINT27:

RETE;软件中断#27,开中断返回

NOP

NOP

NOP

IV_SINT28:

RETE;软件中断#28,开中断返回

NOP

NOP

NOP

IV_SINT29:

RETE;软件中断#29,开中断返回

NOP

NOP

NOP

IV_SINT30:

RETE;软件中断#30,开中断返回

NOP

NOP

NOP

*********************************************************************************

*本程序未用此中断*

*********************************************************************************

IV_INT0:

RETE

NOP

NOP

NOP

*********************************************************************************

*本系统未用*

*********************************************************************************

IV_INT1:

RETE

NOP

NOP

NOP

*********************************************************************************

*外部中断#2:

本系统未用*

*********************************************************************************

IV_INT2:

RETE

NOP

NOP

NOP

*********************************************************************************

*内部定时中断#0:

mytimer*

*********************************************************************************

IV_TINT0:

BDtimer0

PSHMST0

PSHMST1

*********************************************************************************

*McBSP#0接收中断:

本系统未用*

*********************************************************************************

IV_BRINT0:

RETE

NOP

NOP

NOP

*********************************************************************************

*McBSP#0发送中断:

本系统未用*

*********************************************************************************

IV_BXINT0:

RETE

NOP

NOP

NOP

*********************************************************************************

*DMA通道#0中断:

本系统未用*

*********************************************************************************

IV_DMAC0:

RETE

NOP

NOP

NOP

*********************************************************************************

*内部定时中断#1:

本系统未用*

*********************************************************************************

IV_TINT1:

RETE

NOP

NOP

NOP

*********************************************************************************

*外部中断#3:

本系统未用*

*********************************************************************************

IV_INT3:

RETE

NOP

NOP

NOP

*********************************************************************************

*HPI中断:

本系统未用*

*********************************************************************************

IV_HPINT:

RETE

NOP

NOP

NOP

*********************************************************************************

*McBSP#1接收中断:

本系统未用*

*********************************************************************************

IV_BRINT1:

RETE

NOP

NOP

NOP

*********************************************************************************

*McBSP#1发送中断:

本系统未用*

*********************************************************************************

IV_BXINT1:

RETE

NOP

NOP

NOP

*********************************************************************************

*DMA通道#4中断:

本系统未用*

*********************************************************************************

IV_DMAC4:

RETE

NOP

NOP

NOP

*********************************************************************************

*DMA通道#5中断:

本系统未用*

*********************************************************************************

IV_DMAC5:

RETE

NOP

NOP

NOP

Reserved1:

NOP

NOP

NOP

NOP

Reserved2:

NOP

NOP

NOP

NOP

.text

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;timerinterruptacknowledge

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

timer0:

popmST1

popmST0

rete

.end

五、设计结果:

1.频率为9.613kHz,占空比为51.90%的方波:

2.频率为6.579kHz,占空比为67.10%的方波:

3.频率为16.13kHz,占空比为17.78%的方波:

六、课程设计的参考文献

《DSP技术与应用实例》赵红怡编著(电子工业出版社2012)

《DSP实验教程:

基于TMS320VC5416DSK》张涛陈存彪编著(机械工业出版社2009)

七、课程设计的结论及收获

在CCS中用汇编语言编写源程序,可以实现输出频率连续可调的方波信号,下载到开发板TMS320VC5416上以后可用示波器测量输出的方波波形和频率。

通过对一定频率范围内的方波生成课程设计的实践,让我们对开发板TMS320VC5416的结构有了更加直观的了解,同时也对用汇编语言编写程序更加熟练,也让我们熟悉了CCS的开发环境。

而且,在课程设计的过程中,小组成员们通过学校图书馆和上网等方式查阅了大量的资料,在阅读了大量文献的过程中,不仅对我们所做的课程设计有了更加深刻的认识,而且我们也对DSP设计相关方面的知识有了更加深入的了解。

这次的课程设计是分小组进行的,在小组内大家分工合作,也互相学习,锻炼了大家的团队协作的能力。

总之,我们不仅收获了课本知识,也锻炼了动手能力,还学会了如何去配合,去相互学习。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1