DSP最小系统设计报告.doc
- 文档编号:8775481
- 上传时间:2023-05-14
- 格式:DOC
- 页数:9
- 大小:582KB
DSP最小系统设计报告.doc
《DSP最小系统设计报告.doc》由会员分享,可在线阅读,更多相关《DSP最小系统设计报告.doc(9页珍藏版)》请在冰点文库上搜索。
DSP最小系统报告
一.TMS320F2812最小系统
1.1TMS320F2812最小系统
TMS320F2812的最小系统如图1-1所示。
电路主要由TMS320F2812芯片、30MHz有源晶振和电路电源以及电容、电阻电感等少量器件构成。
另外,考虑到DSP在下载时需要下载端口,所以在最小系统上加一个14脚的JTAG仿真烧写口。
该最小系统不管是在仿真模式下还是在实时模式下,都能够正常运行。
一般来说,在设计电源的而过程中,模拟地和数字地最后通过电感连接起来,电源和地通过电容连接起来。
图1-1TMS320F2812最小系统
1.2电源电路的设计
TMS320X2812工作时所要求的电压分为两部分:
3.3V的Flash电压和1.8V的内核电压。
TMS320X2812对电源很敏感,所以在此推荐选择电压精度比较高的电源芯片TPS767D301或者TPS767D318。
TPS767D301芯片的输入电压为+5V,芯片起振,正常工作之后,能够产生3.3V和1.8V的两种电压供DSP使用。
图1-2电源电路
1.3JTAG下载口电路及复位电路
考虑到TPS767D301芯片能够自身产生复位信号,此复位信号可直接供DSP芯片使用,所以不用为DSP设置专门的复位芯片。
复位芯片与DSP芯片的连接如上电路图。
而对于JTAG电路,在实际设计过程中,需要考虑到JTAG下载口的抗干扰性,在与DSP相连接的端口需要采用上拉设计,JTAG电路如下图所示。
图1-3-1JTAG下载口电路
图1-3-2复位电路
二.外设电路
我设计的流水灯电路使用了GPIOA0到GPIOA4的五个端口,其中GPIOA0到GPIOA4的5个IO口输出连接LED的5个灯。
最后的实验结果:
5个LED灯被循环点亮。
图2-1LED流水灯
三.程序
3.1CMD文件
MEMORY
{
PAGE0:
PRAMH0:
origin=0x3f8000,length=0x001000
PAGE1:
/*SARAM*/
RAMM0:
origin=0x000000,length=0x000400
RAMM1:
origin=0x000400,length=0x000400
/*PeripheralFrame0:
*/
DEV_EMU:
origin=0x000880,length=0x000180
FLASH_REGS:
origin=0x000A80,length=0x000060
CSM:
origin=0x000AE0,length=0x000010
XINTF:
origin=0x000B20,length=0x000020
CPU_TIMER0:
origin=0x000C00,length=0x000008
CPU_TIMER1:
origin=0x000C08,length=0x000008
CPU_TIMER2:
origin=0x000C10,length=0x000008
PIE_CTRL:
origin=0x000CE0,length=0x000020
PIE_VECT:
origin=0x000D00,length=0x000100
/*PeripheralFrame1:
*/
ECAN_A:
origin=0x006000,length=0x000100
ECAN_AMBOX:
origin=0x006100,length=0x000100
/*PeripheralFrame2:
*/
SYSTEM:
origin=0x007010,length=0x000020
SPI_A:
origin=0x007040,length=0x000010
SCI_A:
origin=0x007050,length=0x000010
XINTRUPT:
origin=0x007070,length=0x000010
GPIOMUX:
origin=0x0070C0,length=0x000020
GPIODAT:
origin=0x0070E0,length=0x000020
ADC:
origin=0x007100,length=0x000020
EV_A:
origin=0x007400,length=0x000040
EV_B:
origin=0x007500,length=0x000040
SPI_B:
origin=0x007740,length=0x000010
SCI_B:
origin=0x007750,length=0x000010
MCBSP_A:
origin=0x007800,length=0x000040
/*CSMPasswordLocations*/
CSM_PWL:
origin=0x3F7FF8,length=0x000008
/*SARAM*/
DRAMH0:
origin=0x3f9000,length=0x001000
}
SECTIONS
{
/*Allocateprogramareas:
*/
.reset:
>PRAMH0,PAGE=0
.text:
>PRAMH0,PAGE=0
.cinit:
>PRAMH0,PAGE=0
/*Allocatedataareas:
*/
.stack:
>RAMM1,PAGE=1
.bss:
>DRAMH0,PAGE=1
.ebss:
>DRAMH0,PAGE=1
.const:
>DRAMH0,PAGE=1
.econst:
>DRAMH0,PAGE=1
.sysmem:
>DRAMH0,PAGE=1
/*AllocatePeripheralFrame0RegisterStructures:
*/
DevEmuRegsFile:
>DEV_EMU,PAGE=1
FlashRegsFile:
>FLASH_REGS,PAGE=1
CsmRegsFile:
>CSM,PAGE=1
XintfRegsFile:
>XINTF,PAGE=1
CpuTimer0RegsFile:
>CPU_TIMER0,PAGE=1
CpuTimer1RegsFile:
>CPU_TIMER1,PAGE=1
CpuTimer2RegsFile:
>CPU_TIMER2,PAGE=1
PieCtrlRegsFile:
>PIE_CTRL,PAGE=1
PieVectTable:
>PIE_VECT,PAGE=1
/*AllocatePeripheralFrame2RegisterStructures:
*/
ECanaRegsFile:
>ECAN_A,PAGE=1
ECanaMboxesFile:
>ECAN_AMBOXPAGE=1
/*AllocatePeripheralFrame1RegisterStructures:
*/
SysCtrlRegsFile:
>SYSTEM,PAGE=1
SpiaRegsFile:
>SPI_A,PAGE=1
SciaRegsFile:
>SCI_A,PAGE=1
XIntruptRegsFile:
>XINTRUPT,PAGE=1
GpioMuxRegsFile:
>GPIOMUX,PAGE=1
GpioDataRegsFile:
>GPIODATPAGE=1
AdcRegsFile:
>ADC,PAGE=1
EvaRegsFile:
>EV_A,PAGE=1
EvbRegsFile:
>EV_B,PAGE=1
ScibRegsFile:
>SCI_B,PAGE=1
McbspaRegsFile:
>MCBSP_A,PAGE=1
/*CSMPasswordLocations*/
CsmPwlFile:
>CSM_PWL,PAGE=1
}
3.2系统初始化函数
#include"DSP28_Device.h"
//---------------------------------------------------------------------------
//InitSysCtrl:
//---------------------------------------------------------------------------
//ThisfunctioninitializestheSystemControlregisterstoaknownstate.
//
voidInitSysCtrl(void)
{
Uint16i;
EALLOW;
SysCtrlRegs.WDCR=0x0068;//禁止看门狗模块
SysCtrlRegs.PLLCR=0xA;
for(i=0;i<5000;i++){}//延时,使得PLL模块能够完成初始化操作
//高速时钟预定标器和低速时钟预定标器,产生高速外设时钟HSPCLK和低速外设时钟LSPCLK
SysCtrlRegs.HISPCP.all=0x0001;
SysCtrlRegs.LOSPCP.all=0x0002;
EDIS;
}
3.3GPIO初始化函数
//
//TMDXALPHARELEASE
//Intendedforproductevaluationpurposes
//
//###########################################################################
//
//FILE:
DSP28_Gpio.c
//
//TITLE:
DSP28GeneralPurposeI/OInitialization&SupportFunctions.
//
//###########################################################################
//
//Ver|ddmmmyyyy|Who|Descriptionofchanges
//=====|=============|======|===============================================
//0.55|06May2002|L.H.|EzDSPAlphaRelease
//0.56|20May2002|L.H.|Nochange
//0.57|27May2002|L.H.|Nochange
//###########################################################################
#include"DSP28_Device.h"
//---------------------------------------------------------------------------
//InitGpio:
//---------------------------------------------------------------------------
//ThisfunctioninitializestheGpiotoaknownstate.
//
voidInitGpio(void)
{
EALLOW;
GpioMuxRegs.GPAMUX.bit.PWM1GPIOA0=0;
GpioMuxRegs.GPADIR.bit.GPIOA0=1;
GpioMuxRegs.GPAMUX.bit.PWM2GPIOA1=0;
GpioMuxRegs.GPADIR.bit.GPIOA1=1;
GpioMuxRegs.GPAMUX.bit.PWM3GPIOA2=0;
GpioMuxRegs.GPADIR.bit.GPIOA2=1;
GpioMuxRegs.GPAMUX.bit.PWM4GPIOA3=0;
GpioMuxRegs.GPADIR.bit.GPIOA3=1;
GpioMuxRegs.GPAMUX.bit.PWM5GPIOA4=0;
GpioMuxRegs.GPADIR.bit.GPIOA4=1;
EDIS;
}
3.4主函数
#include"DSP28_Device.h"
voidmain(void)
{
intkk=0;
InitSysCtrl();//初始化系统函数
DINT;
IER=Ox0000;//禁止CPU中断
IFR=Ox0000;//清除CPU中断标志
InitPieCtrl();//初始化PIE控制寄存器
InitPieVectTable();//初始化PIE中断向量表
InitGpio();//初始化GPIO口
while
(1)
{
GpioDataRegs.GPACLEAR.bit.GPIOA0=1;//PWM1引脚输出低电平,LED1灯亮
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPASET.bit.GPIOA0=1;//PWM1引脚输出高电平,LED1灯灭
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPACLEAR.bit.GPIOA1=1;//PWM2引脚输出低电平,LED2灯亮
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPASET.bit.GPIOA1=1;//PWM2引脚输出高电平,LED2灯灭
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPACLEAR.bit.GPIOA2=1;//PWM3引脚输出低电平,LED3灯亮
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPASET.bit.GPIOA2=1;//PWM3引脚输出高电平,LED3灯灭
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPACLEAR.bit.GPIOA3=1;//PWM4引脚输出低电平,LED4灯亮
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPASET.bit.GPIOA3=1;//PWM4引脚输出高电平,LED4灯灭
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPACLEAR.bit.GPIOA4=1;//PWM5引脚输出低电平,LED5灯亮
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
GpioDataRegs.GPASET.bit.GPIOA4=1;//PWM5引脚输出高电平,LED5灯灭
for(kk=0;kk<100;kk++)
delay_loop();//延时保持
}
}
voiddelay_loop()
{
shorti;
for(i=0;i<30000;i++){}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 最小 系统 设计 报告