DSP最小系统设计报告_第1页
DSP最小系统设计报告_第2页
DSP最小系统设计报告_第3页
DSP最小系统设计报告_第4页
DSP最小系统设计报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

年4月19日DSP最小系统设计报告文档仅供参考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=0x001000PAGE1:/*SARAM*/RAMM0:origin=0x000000,length=0x000400RAMM1:origin=0x000400,length=0x000400/*PeripheralFrame0:*/DEV_EMU:origin=0x000880,length=0x000180FLASH_REGS:origin=0x000A80,length=0x000060CSM:origin=0x000AE0,length=0x000010XINTF:origin=0x000B20,length=0x000020CPU_TIMER0:origin=0x000C00,length=0x000008CPU_TIMER1:origin=0x000C08,length=0x000008 CPU_TIMER2:origin=0x000C10,length=0x000008 PIE_CTRL:origin=0x000CE0,length=0x000020PIE_VECT:origin=0x000D00,length=0x000100/*PeripheralFrame1:*/ECAN_A:origin=0x006000,length=0x000100ECAN_AMBOX:origin=0x006100,length=0x000100/*PeripheralFrame2:*/SYSTEM:origin=0x007010,length=0x000020SPI_A:origin=0x007040,length=0x000010SCI_A:origin=0x007050,length=0x000010XINTRUPT:origin=0x007070,length=0x000010GPIOMUX:origin=0x0070C0,length=0x000020GPIODAT:origin=0x0070E0,length=0x000020ADC:origin=0x007100,length=0x000020EV_A:origin=0x007400,length=0x000040EV_B:origin=0x007500,length=0x000040SPI_B:origin=0x007740,length=0x000010SCI_B:origin=0x007750,length=0x000010MCBSP_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=1FlashRegsFile:>FLASH_REGS,PAGE=1CsmRegsFile:>CSM,PAGE=1XintfRegsFile:>XINTF,PAGE=1CpuTimer0RegsFile:>CPU_TIMER0,PAGE=1CpuTimer1RegsFile:>CPU_TIMER1,PAGE=1CpuTimer2RegsFile:>CPU_TIMER2,PAGE=1PieCtrlRegsFile:>PIE_CTRL,PAGE=1PieVectTable:>PIE_VECT,PAGE=1/*AllocatePeripheralFrame2RegisterStructures:*/ECanaRegsFile:>ECAN_A,PAGE=1ECanaMboxesFile:>ECAN_AMBOXPAGE=1/*AllocatePeripheralFrame1RegisterStructures:*/SysCtrlRegsFile:>SYSTEM,PAGE=1SpiaRegsFile:>SPI_A,PAGE=1SciaRegsFile:>SCI_A,PAGE=1XIntruptRegsFile:>XINTRUPT,PAGE=1GpioMuxRegsFile:>GPIOMUX,PAGE=1GpioDataRegsFile:>GPIODATPAGE=1AdcRegsFile:>ADC,PAGE=1EvaRegsFile:>EV_A,PAGE=1EvbRegsFile:>EV_B,PAGE=1ScibRegsFile:>SCI_B,PAGE=1McbspaRegsFile:>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和低速外设时钟LSPCLKSysCtrlRegs.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|06May|L.H.|EzDSPAlphaRelease//0.56|20May|L.H.|Nochange//0.57|27May|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.GP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论