收藏 分销(赏)

DSP最小专业系统设计方案报告.doc

上传人:a199****6536 文档编号:2957079 上传时间:2024-06-12 格式:DOC 页数:12 大小:568.54KB
下载 相关 举报
DSP最小专业系统设计方案报告.doc_第1页
第1页 / 共12页
DSP最小专业系统设计方案报告.doc_第2页
第2页 / 共12页
DSP最小专业系统设计方案报告.doc_第3页
第3页 / 共12页
DSP最小专业系统设计方案报告.doc_第4页
第4页 / 共12页
DSP最小专业系统设计方案报告.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、DSP最小系统汇报一 TMS320F2812最小系统1.1 TMS320F2812最小系统 TMS320F2812最小系统图1-1所表示。电路关键由TMS320F2812芯片、30MHz有源晶振和电路电源和电容、电阻电感等少许器件组成。另外,考虑到DSP在下载时需要下载端口,所以在最小系统上加一个14脚JTAG仿真烧写口。该最小系统不管是在仿真模式下还是在实时模式下,全部能够正常运行。通常来说,在设计电源而过程中,模拟地和数字地最终经过电感连接起来,电源和地经过电容连接起来。图1-1 TMS320F2812最小系统1.2 电源电路设计 TMS320X2812工作时所要求电压分为两部分:3.3V

2、Flash电压和1.8V内核电压。TMS320X2812对电源很敏感,所以在此推荐选择电压精度比较高电源芯片TPS767D301或TPS767D318。TPS767D301芯片输入电压为+5V,芯片起振,正常工作以后,能够产生3.3V和1.8V两种电压供DSP使用。图1-2 电源电路1.3 JTAG下载口电路及复位电路 考虑到TPS767D301芯片能够本身产生复位信号,此复位信号可直接供DSP芯片使用,所以不用为DSP设置专门复位芯片。复位芯片和DSP芯片连接如上电路图。而对于JTAG电路,在实际设计过程中,需要考虑到JTAG下载口抗干扰性,在和DSP相连接端口需要采取上拉设计,JTAG电路

3、以下图所表示。图1-3-1 JTAG下载口电路图1-3-2 复位电路二外设电路 我设计流水灯电路使用了GPIOA0到GPIOA4五个端口,其中GPIOA0到GPIOA45个IO口输出连接LED5个灯。最终试验结果:5个LED灯被循环点亮。 图2-1 LED流水灯 三 程序3.1 CMD文件MEMORYPAGE 0 : PRAMH0 : origin = 0x3f8000, length = 0x001000 PAGE 1 : /* SARAM */ RAMM0 : origin = 0x000000, length = 0x000400 RAMM1 : origin = 0x000400, l

4、ength = 0x000400 /* Peripheral Frame 0: */ 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 =

5、0x000C08, length = 0x000008 CPU_TIMER2 : origin = 0x000C10, length = 0x000008 PIE_CTRL : origin = 0x000CE0, length = 0x000020 PIE_VECT : origin = 0x000D00, length = 0x000100 /* Peripheral Frame 1: */ ECAN_A : origin = 0x006000, length = 0x000100 ECAN_AMBOX : origin = 0x006100, length = 0x000100 /* P

6、eripheral Frame 2: */ 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

7、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 /* CSM Password Locations */ CSM

8、_PWL : origin = 0x3F7FF8, length = 0x000008 /* SARAM */ DRAMH0 : origin = 0x3f9000, length = 0x001000 SECTIONS /* Allocate program areas: */ .reset : PRAMH0, PAGE = 0 .text : PRAMH0, PAGE = 0 .cinit : PRAMH0, PAGE = 0 /* Allocate data areas: */ .stack : RAMM1, PAGE = 1 .bss : DRAMH0, PAGE = 1 .ebss

9、: DRAMH0, PAGE = 1 .const : DRAMH0, PAGE = 1 .econst : DRAMH0, PAGE = 1 .sysmem : DRAMH0, PAGE = 1 /* Allocate Peripheral Frame 0 Register Structures: */ DevEmuRegsFile : DEV_EMU, PAGE = 1 FlashRegsFile : FLASH_REGS, PAGE = 1 CsmRegsFile : CSM, PAGE = 1 XintfRegsFile : XINTF, PAGE = 1 CpuTimer0RegsF

10、ile : CPU_TIMER0, PAGE = 1 CpuTimer1RegsFile : CPU_TIMER1, PAGE = 1 CpuTimer2RegsFile : CPU_TIMER2, PAGE = 1 PieCtrlRegsFile : PIE_CTRL, PAGE = 1 PieVectTable : PIE_VECT, PAGE = 1 /* Allocate Peripheral Frame 2 Register Structures: */ ECanaRegsFile : ECAN_A, PAGE = 1 ECanaMboxesFile : ECAN_AMBOX PAG

11、E = 1 /* Allocate Peripheral Frame 1 Register Structures: */ SysCtrlRegsFile : SYSTEM, PAGE = 1 SpiaRegsFile : SPI_A, PAGE = 1 SciaRegsFile : SCI_A, PAGE = 1 XIntruptRegsFile : XINTRUPT, PAGE = 1 GpioMuxRegsFile : GPIOMUX, PAGE = 1 GpioDataRegsFile : GPIODAT PAGE = 1 AdcRegsFile : ADC, PAGE = 1 EvaR

12、egsFile : EV_A, PAGE = 1 EvbRegsFile : EV_B, PAGE = 1 ScibRegsFile : SCI_B, PAGE = 1 McbspaRegsFile : MCBSP_A, PAGE = 1 /* CSM Password Locations */ CsmPwlFile : CSM_PWL, PAGE = 13.2 系统初始化函数#include DSP28_Device.h/-/ InitSysCtrl: /-/ This function initializes the System Control registers to a known

13、state./void InitSysCtrl(void) Uint16 i; 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初始化函数/ TMDX ALPHA RELEA

14、SE/ Intended for product evaluation purposes/#/ FILE:DSP28_Gpio.c/ TITLE:DSP28 General Purpose I/O Initialization & Support Functions./#/ Ver | dd mmm yyyy | Who | Description of changes/ =|=|=|=/ 0.55| 06 May | L.H. | EzDSP Alpha Release/ 0.56| 20 May | L.H. | No change/ 0.57| 27 May | L.H. | No ch

15、ange/#include DSP28_Device.h/-/ InitGpio: /-/ This function initializes the Gpio to a known state./void InitGpio(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.PWM

16、3GPIOA2= 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.hvoid main(void) int kk=0; InitSysCtrl(); /初始化系统函数 DINT; IER=Ox0000; /严禁CPU中

17、止 IFR=Ox0000; /清除CPU中止标志 InitPieCtrl(); /初始化PIE控制寄存器 InitPieVectTable(); /初始化PIE中止向量表 InitGpio(); /初始化GPIO口 while(1) GpioDataRegs.GPACLEAR.bit.GPIOA0 = 1; /PWM1引脚输出低电平,LED1灯亮 for(kk=0;kk100;kk+) delay_loop(); /延时保持 GpioDataRegs.GPASET.bit.GPIOA0 = 1; /PWM1引脚输出高电平,LED1灯灭 for(kk=0;kk100;kk+) delay_loo

18、p(); /延时保持 GpioDataRegs.GPACLEAR.bit.GPIOA1 = 1; /PWM2引脚输出低电平,LED2灯亮 for(kk=0;kk100;kk+) delay_loop(); /延时保持 GpioDataRegs.GPASET.bit.GPIOA1 = 1; /PWM2引脚输出高电平,LED2灯灭 for(kk=0;kk100;kk+) delay_loop(); /延时保持 GpioDataRegs.GPACLEAR.bit.GPIOA2 = 1; /PWM3引脚输出低电平,LED3灯亮 for(kk=0;kk100;kk+) delay_loop(); /延时

19、保持 GpioDataRegs.GPASET.bit.GPIOA2 = 1; /PWM3引脚输出高电平,LED3灯灭 for(kk=0;kk100;kk+) delay_loop(); /延时保持 GpioDataRegs.GPACLEAR.bit.GPIOA3 = 1; /PWM4引脚输出低电平,LED4灯亮 for(kk=0;kk100;kk+) delay_loop(); /延时保持 GpioDataRegs.GPASET.bit.GPIOA3 = 1; /PWM4引脚输出高电平,LED4灯灭 for(kk=0;kk100;kk+) delay_loop(); /延时保持 GpioDataRegs.GPACLEAR.bit.GPIOA4 = 1; /PWM5引脚输出低电平,LED5灯亮 for(kk=0;kk100;kk+) delay_loop(); /延时保持 GpioDataRegs.GPASET.bit.GPIOA4 = 1; /PWM5引脚输出高电平,LED5灯灭 for(kk=0;kk100;kk+) delay_loop(); /延时保持 void delay_loop() short i; for(i=0;i30000;i+)

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服