DSP课程设计心得模版.docx
- 文档编号:24946162
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:20
- 大小:211.71KB
DSP课程设计心得模版.docx
《DSP课程设计心得模版.docx》由会员分享,可在线阅读,更多相关《DSP课程设计心得模版.docx(20页珍藏版)》请在冰豆网上搜索。
DSP课程设计心得模版
课程设计说明书
实验课程:
DSP技术及其应用
实验内容:
基于TMS320的Led显示控制系统设计
院(系):
计算机学院
专业:
通信工程
2014年7月5日
一、设计任务………………………………………………………………………1
二、实验目的………………………………………………………………………1
三、设计内容………………………………………………………………………2
4、实验原理………………………………………………………………………2
4.1DSP(2812)性能概述……………………………………………………2
4.2TMS320F2812的引脚图及功能……………………………………………4
4.3DSP最小系统………………………………………………………………4
5、程序设计………………………………………………………………………7
5.1流程图………………………………………………………………………7
5.2程序源代码…………………………………………………………………8
六、实验总结………………………………………………………………………13
七、参考资料………………………………………………………………………14
序言
DSP芯片的特点
DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。
DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。
根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:
在一个指令周期内可完成一次乘法和一次加法。
程序和数据空间分开,可以同时访问指令和数据。
片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。
具有低开销或无开销循环及跳转的硬件支持。
快速的中断处理和硬件I/O支持。
具有在单周期内操作的多个硬件地址产生器。
可以并行执行多个操作。
支持流水线操作,使取指、译码和执行等操作可以重叠执行。
与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
一、设计任务:
1、基于TMS320X2812的Led流水灯显示控制系统设计
要求:
(1)绘制系统框图(VISIO);
(2)包括复位电路设计、JTAG接口设计、时钟电路设计、电源设计等,并且用Protel软件绘制原理图;
(3)编写程序,实现流水灯;
(4)系统理论分析和设计陈述;
(5)设计过程、源代码和注释、设计说明书。
二、实验目的:
⑴学习并了解DSP开发版的基本原理;
⑵学习并了解TMS320X2812芯片的基本结构和原理;
⑶熟悉流水灯的软件实现原理和硬件设计;
⑷熟悉Emulator方式下的程序调试规程,并最终能够熟练掌握在DSP软硬件环境下的程序开发流程;能够对现有器件进行简单地编程,实现各种简单地显示控制;
(5)熟练CCS软件及使用VISIO画系统流程图。
三、设计内容:
(1)使用AltiumDesigner软件绘制原理图。
(2)使用VISIO软件绘制系统框图和软件流程图。
(3)使用CCStudiov3.3软件设计程序实现流水灯。
四、实验原理:
4.1DSP(2812)性能概述
1、F2812DSP芯片采用高性能静态CMOS技术
(1)主频高达150MHz,每个时钟周期为6.67ns。
(2)采用低电压供电,当主频为135MHz时,内核电压为1.8V,主频150MHz时内核电压为1.9V,I/O引脚电压为3.3V。
2、支持JTAG在线仿真接口
3、32位高性能处理器
(1)支持16bX16b和32bX32b的乘法加法运算。
(2)支持16bX16b双乘法运算。
(3)采用哈佛总线结构模式。
(4)快速的中断响应和中断处理能力。
(5)统一的存储设计模式。
(6)兼容C/C++语言以及汇编语言。
4、片内存储空间
(1)片内FLASH空间大小为128KX16b,分为4个8KX16b和6个16KX16b存储段。
(2)OTPROM空间大小1KX16b。
(3)L0、L1两块4KX16b单地址寻址随机存储器(SARAM)。
(4)H0:
一块8KX16b随机存储器(SARAM)。
(5)M0、M1:
两块1KX16bSARAM。
5、BootROM空间
空间大小为4KX16b,内含软件启动模式以及标准数学函数库。
6、外部接口
(1)高达1MX16b的总存储空间。
(2)可编程的等待时间。
(3)可编程的等待读写时序。
(4)3个独立的片选信号。
7、时钟和系统控制
(1)支持动态锁相环倍频。
(2)片内振荡器。
(3)内含看门狗定时模块。
8、3个外部中断
9、外设中断模块(PIE)可以支持45个外设中断
10、3个32位CPU定时器
11、128位安全密钥
(1)可以包含FlashROMOTP以及L0L1SARAM。
(2)防止系统硬件、软件被修改。
12、用于控制电机的外设
两路事件管理(EVA、EVB)。
13、串行通信端口
(1)串行外设接口SPI。
(2)两路串行通信接口SCI,标准URAT口。
(3)增强型CAN模块(eCAN)。
(4)多通道缓冲串行接口(MSBSP)。
14、12位ADC转换模块
(1)2X8路输入通道。
(2)两个采样保持器。
(3)单一或级联转换模式。
(4)最高转换速度80ns/12.5Msps。
15、56个通用GPIO口
16、先进的仿真模式
(1)具有实时仿真及设置断点的功能。
(2)支持硬件仿真。
17、开发工具
(1)DSP集成环境CCS。
(2)JTAG仿真器。
18、低电模式和电源存储
(1)支持IDLE、STANDBY、HALT模式。
(2)禁止/使能独立外设时钟。
19、封装
(1)179引脚BGA封装,带扩展存储接口。
(2)176引脚PGF封装,带扩展存储接口。
4.2TMS320F2812的引脚图及功能
如图4-2-1为TMS320F2812引脚图以及各个引脚的作用。
图4-2-1
4.3DSP最小系统
系统整体框图如下图4-3-1所示。
图4-3-1系统整体框图
1、电源转换
DSP最小系统仅有5V电源供电,由于DSP芯片供电电压只能是3.3V,所以在设计电路时,需要将5V电源转换为3.3V给CPU供电,因此使用了TI公司的5V/3V的TPS7333Q高性能稳压芯片,并可提供上电复位信号,该信号/RS—DSP接到DSP的复位引脚上。
该芯片最大输出电流500mA。
TPS7333Q输出后的10μf和0.1μf的电容不能省略,否则得不到稳定的3.3V电压。
图4-3-2为电源转换原理图。
图4-3-2电源转换原理图
2、复位电路
DSP系统的复位电路的设计对于系统性能有重要影响。
DSP2812为低电平复位,由于内部有复位电路,所以直接在复位引脚/xrs接一个10K的上拉电阻即可;有些电源芯片有复位引脚,可用于DSP的直接复位。
复位电路原理图如图4-3-3所示:
图4-3-3复位电路原理图
3、时钟电路
TMS320F2812DSP的时钟可以有两种连接方式,即外部振荡器方式和谐振器方式。
有源晶振驱动能力较强,频率范围较宽,在1HZ—400MHZ之间。
无源晶振驱动能力差,价格便宜,频率范围较窄。
本文采用的是外部有源时钟方式,直接选择一个3.3V供电的30MHz有源晶振实现。
晶振电路如图4-3-4所示。
图4-3-4时钟电路
4、JTAG仿真接口电路
几乎所有的高速控制器和可编程器件都配有标准仿真接口JTAG,F2812也不例外。
JTAG扫描逻辑电路用于仿真和测试,采用JTAG可实现在线仿真,同时也.是调试过程装载数据、代码的唯一通道。
通过JTAG接口可将仿真器与目标系统相连接。
为了与仿真器通信,DSP控制板必须带有14引脚的双排直插管座。
F2812和14针仿真插座连接的电路如图4-3-5。
图4-3-5JTAG接口设计电路
5、流水灯控制系统电路
流水灯控制电路如下图4-3-6所示。
图4-3-6流水灯电路图
五、程序设计:
5.1程序流程图
这里用软件延时的方法来调整发光二极管的延时时间间隔。
当发光二极管被点亮之后,通过改变端口的数据输出,达到点亮不同的LED显示管的目的。
实验要求实现LED显示管的循环显示:
先第1个LED亮,然后是第2个LED亮,第3个LED显示管亮。
第4个灯亮。
如此循环显示。
首先给temp赋初值00000001(由于高八位都为00000000,这里只写低八位),再给寄存器GPBCLEAR的值与temp的值相或,其相应位被写1,实现相应的端口输出低电平,LED灯亮,通过寄存器GPBSET的值再与temp值相或,则相应的端口输出高电平,LED等灭,通过tenp的值左移便可以完成00000001……10000000的改变,每改变一次就可以实现相应的LED灯的亮灭。
当数据的最高位等于1的时候,temp重新赋初值,即给程序重新赋值为00000001,进行下一轮的循环。
如此即可以实现实验要求的功能。
程序流程图如下图5-1-1所示。
图5-1-1程序流程图
5.2程序源代码
(1)系统初始化子程序DSP28_sysctrl.c
#include"DSP281x_Device.h"
#include"System.h"
#pragmaCODE_SECTION(InitFlash,"ramfuncs");
/*------------------------------------------*/
/*形式参数:
void*/
/*返回值:
void*/
/*函数描述:
初始化系统*/
/*------------------------------------------*/
voidInitSysCtrl(void)
{
DisableDog();//禁止看门狗
InitPll(0x02);//设置系统时钟=XCLKIN*2/2
InitPeripheralClocks();//设置外设时钟
DINT;//关闭总中断
IER=0x0000;//关闭外设中断
IFR=0x0000;//清中断标志
InitPieCtrl();//初始化PIE控制寄存器
InitPieVectTable();//使能PIE向量表
}
/*------------------------------------------*/
/*形式参数:
void*/
/*返回值:
void*/
/*函数描述:
禁止看门狗*/
/*------------------------------------------*/
voidDisableDog(void)
{
EALLOW;
SysCtrlRegs.WDCR=0x0068;
EDIS;
}
/*------------------------------------------*/
/*形式参数:
void*/
/*返回值:
void*/
/*函数描述:
喂看门狗*/
/*------------------------------------------*/
voidKickDog(void)
{
EALLOW;
SysCtrlRegs.WDKEY=0x0055;
SysCtrlRegs.WDKEY=0x00AA;
EDIS;
}
/*------------------------------------------*/
/*形式参数:
void*/
/*返回值:
void*/
/*函数描述:
设置锁相环倍频系数*/
/*------------------------------------------*/
voidInitPll(Uint16val)
{
volatileUint16iVol;
if(SysCtrlRegs.PLLCR.bit.DIV!
=val)
{
EALLOW;
SysCtrlRegs.PLLCR.bit.DIV=val;
EDIS;
for(iVol=0;iVol<4096;iVol++);
}
}
/*------------------------------------------*/
/*形式参数:
void*/
/*返回值:
void*/
/*函数描述:
初始化外设时钟*/
/*------------------------------------------*/
voidInitPeripheralClocks(void)
{
EALLOW;
SysCtrlRegs.HISPCP.all=0x0001;//设置高速时钟2分频
SysCtrlRegs.LOSPCP.all=0x0002;//设置低速时钟4分频
//使能外围模块时钟
SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;
SysCtrlRegs.PCLKCR.bit.EVBENCLK=1;
SysCtrlRegs.PCLKCR.bit.SCIAENCLK=1;
SysCtrlRegs.PCLKCR.bit.SCIBENCLK=1;
SysCtrlRegs.PCLKCR.bit.MCBSPENCLK=1;
SysCtrlRegs.PCLKCR.bit.SPIENCLK=1;
SysCtrlRegs.PCLKCR.bit.ECANENCLK=1;
SysCtrlRegs.PCLKCR.bit.ADCENCLK=1;
EDIS;
}
/*------------------------------------------*/
/*形式参数:
void*/
/*返回值:
void*/
/*函数描述:
初始化Flash*/
/*------------------------------------------*/
voidInitFlash(void)
{
EALLOW;
FlashRegs.FPWR.bit.PWR=3;//设置Flash为正常工作状态
FlashRegs.FBANKWAIT.bit.RANDWAIT=5;//设置随机存取等待时间
FlashRegs.FBANKWAIT.bit.PAGEWAIT=5;//设置页面存取等待时间
FlashRegs.FSTDBYWAIT.bit.STDBYWAIT=0x01FF;//设置从睡眠到等待的转换时间
FlashRegs.FACTIVEWAIT.bit.ACTIVEWAIT=0x01FF;//设置从等待到激活的转换时间
FlashRegs.FOPT.bit.ENPIPE=1;//使能流水线模式
EDIS;
asm("RPT#7||NOP");//软件延时,等待流水线刷新
}
/*------------------------------------------*/
/*形式参数:
void*/
/*返回值:
状态值*/
/*函数描述:
unlockstheCSM*/
/*------------------------------------------*/
#defineSTATUS_FAIL0
#defineSTATUS_SUCCESS1
Uint16CsmUnlock()
{
volatileUint16temp;
//写入密钥,应将0xFFFF替换成密钥值
EALLOW;
CsmRegs.KEY0=0xFFFF;
CsmRegs.KEY1=0xFFFF;
CsmRegs.KEY2=0xFFFF;
CsmRegs.KEY3=0xFFFF;
CsmRegs.KEY4=0xFFFF;
CsmRegs.KEY5=0xFFFF;
CsmRegs.KEY6=0xFFFF;
CsmRegs.KEY7=0xFFFF;
EDIS;
///执行空读
temp=CsmPwl.PSWD0;
temp=CsmPwl.PSWD1;
temp=CsmPwl.PSWD2;
temp=CsmPwl.PSWD3;
temp=CsmPwl.PSWD4;
temp=CsmPwl.PSWD5;
temp=CsmPwl.PSWD6;
temp=CsmPwl.PSWD7;
if(CsmRegs.CSMSCR.bit.SECURE==0)
returnSTATUS_SUCCESS;
else
returnSTATUS_FAIL;
}
(2)程序主函数
#include"DSP281x_Device.h"
#include"System.h"
/****************端口宏定义*****************/
/****************常量宏定义*****************/
/***************全局变量定义****************/
/****************函数声明*******************/
voidInit_LED(void);
/*形式参数:
void*/
/*返回值:
void*/
/*函数描述:
主函数*/
voidmain(void)
{
unsignedinti,j,temp;
InitSysCtrl();//系统初始化子程序,在DSP28_sysctrl.c中
Init_LED();
temp=0x0001;
while
(1)
{
GpioDataRegs.GPBCLEAR.all|=temp;/*向寄存器GPBCLEAR的相应位写1,GPIOBX引脚输出低电平,灯亮*/
for(i=0;i<10;i++)
for(j=0;j<60000;j++);
GpioDataRegs.GPBSET.all|=temp;/*向寄存器GPBST的相应位写1,GPIOBX引脚输出高电平,灯灭*/
temp<<=1;
if(temp==0x0100)
temp=0x0001;
}
}
/*形式参数:
void*/
/*返回值:
void*/
/*函数描述:
初始化LED端口为输出*/
voidInit_LED(void)
{
EALLOW;/*写保护*/
GpioMuxRegs.GPBDIR.all|=0x00FF;//将GPIOB0~GPIOB7引脚配置为输出口
EDIS;
}
六、实验总结
通过调试以上程序运行无误,利用程序延时,使用数码管显示和接口转换实现了使用dsp芯片设计流水灯。
通过本次课程设计实现了用DSP芯片设计LED流水灯,学习到了很多关于DSP的基础知识。
并且更加深刻的巩固了课堂上所学的课本知识,DSP技术有了更进一步的认识和了解。
掌握了DSP的基本实验方法,更加深了对CSS软件、protel软件和VISIO软件的使用,提高了工程设计和组织实验能力。
通过这次的课程设计,让我明白了,书本上的东西光看看是很难掌握好的,很多东西要理论与实践结合在一起才能算真正的掌握,要通过自己动手去做,去实践,去研究,才能真正的将它转化成自己的东西。
能完成这次的课程设计,我要谢谢袁老师在上课时说的,现在才发现这些都是很有用的,在实践中的重要性,是不可缺少的东西,也要谢谢那些给过我意见和帮助的同学,没有他们的意见和帮助,我是很难这么快的完成的。
七参考文献
刘和平《DSP原理及电机控制应用》北京航空航天大学出版社2006年
顾卫钢《手把手教你学DSP》北京航空航天大学出版社2011年
戴明帧周建江《TMS320C2407XDSP结构、原理及应用》(第二版)
北京航空航天大学出版社2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 课程设计 心得 模版
![提示](https://static.bdocx.com/images/bang_tan.gif)