完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
TMS320VC5509工作基本条件包括电源电路、时钟电路、JTAG(调试用)接口电路等。
电源电路:模拟、数字、内核电源的纯净。一般使用TPS73HD301提供。 时钟电路:晶振要尽量靠近DSP,内部有倍频电路,外部可以使用12MHz的有源或者无源元件。 JTAG电路:对DSP通用系统来说要求不要超过6英寸,超过此距离要提高驱动能力。 对于不使用的外部中断接上拉电阻到DVDD。 复位信号不要用简单的RC电路,用门电路或者专门的复位芯片产生。 GPIO[0:3]的电平决定上电引导方式,需要根据自己需要设置。 对于外部引导,建议使用串行flash,布线简单(省去很多地址与数据线)。 电路参考ti提供的EVM。 TMS320VC5509的工作流程: 5509上电复位后从0xffff00开始执行程序(因为复位后IVPD的值是0xffff),在0xffff00处是指令:.ivec 0xff8000,程序转入0xff8000处执行,从0xff8000处开始就是5509内部固化的bootloader程序,在这段程序里通过读取GPIO口的状态来转入不同的boot方式。 假设用户的程序存片外flash中,5509内部固化的bootloader程序从片外的flash中按照一定格式读取数据并搬入片内RAM中,搬完后转入片内RAM的程序入口执行程序。 对于中断,需要自己定义一个中断向量表放入RAM中,并通过修改IVPD和IVPH的值来指向中断向量表的入口位置;寄存器IER0和IER1是各个中断的使能位,ST1的INTM位是总的中断使能位。中断向量表中应该放入中断服务程序的入口地址,也可以先不放入,在程序运行后通过调用CSL的IRQ_plug()函数在中断向量表插入中断服务程序入口。
|
|
相关推荐
3 个讨论
|
|
DSP程序中断中使用XF管脚误区 学习DSP,当然是从一些简单的测试程序开始。使一个LED的闪亮是经常用的,但这其中有一个误区,现分析如下,以定时器控制LED灯为例: void main() [ init_5509(); init_timer(); while(1) [ asm(" NOP"); ] ] interrupt void int_timer0() [ Flag=Flag+1; if (Flag>10) asm(" SSBX XF"); else asm(" RSBX XF"); if (Flag>20) Flag=0; ] 这个程序不能实现控制的。使用XF的时候要注意一下,XF是ST1的一个bit,但是在中断中,首先把ST1压入堆栈,出中断前才弹出堆栈,所以在中断中改变XF没有实际的意义。所以在C/C++加如汇编要谨慎。修改后的程序如下: void main() [ init_5509(); init_timer(); while(1) [ asm(" NOP"); if (Flag>10) asm(" SSBX XF"); else asm(" RSBX XF"); ] ] interrupt void int_timer0() [ Flag=Flag+1; if (Flag>20) Flag=0; ] 这个程序就好使。
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
509 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
380 浏览 1 评论
939 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2111 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3857 浏览 4 评论
31浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
890浏览 2评论
137浏览 2评论
172浏览 2评论
150浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-21 05:41 , Processed in 0.869102 second(s), Total 60, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号