您的位置:首页 > 其它

(1)初识TMS320C5410

2012-11-10 16:33 260 查看
第一讲 初识TMS320C5410

潮风工作室 吴宏伟 2012.11.10

本人今年大四,学校开设了DSP的课程,于是开始跨入DSP领域,学校配的设备是北京百科融创的实验箱RC-DSP-II+,里面即有C2000系列的TMS320LF2407,主要用在控制方面;也有TMS320C5410,主要用在音频处理和通讯。结合自身的兴趣爱好,于是决定学习C5000系列。

这里的DSP是Digital Signal Processor数字信号处理器,它可以算是功能超强的单片机,然而学习起来却十分复杂,本人虽有较强的单片机功底,刚开始学的时候也是云里雾里,加之无导师指导,学习之路可谓十分艰苦,于是在图书馆借了N多书,看了网上的N多教程,摸爬滚打两个月之后,才渐渐有了些小领悟。

学习之前肯定要对芯片有一定的了解,可以网上介绍文章都是泛泛而谈,很少谈到重点,下面是我自己对这块芯片(TMS320C5410)的认识:

(1) 16位定点DSP芯片,总线结构为改进的哈佛结构,内部有1个17X17位的乘法器;

(2) 外接晶振最大为40MHz,通过PLL倍频最高主频为160MHz;

(3) 片内ROM大小为16K×16bit , DARAM大小为8K×16bit, SARAM大小为56K×16bit;

(4) 3组多通道缓冲串行口(McBSP),DMA,主机接口HPI

(5) 通用IO引脚(BIO与XF),外部中断引脚INT0,INT1,INT2,INT3与NMI

有了以上基础知识,我们就可以来做我们的第一个实验:利用通用IO引脚XF来控制LED灯的亮与灭。拿到一块开发板,一般DSP的XF引脚都会连接一个LED灯,方便我们程序调试时用作指示灯,我们查看原理图,就可以看到类似如下的图:

View Code

/** @file main.c

* @brief 利用XF引脚控制LED灯

*

* @author 潮风工作室 吴宏伟

* @date 2012-11-10

*/

void delay(unsigned int n)

{

while(n--);

}

void main()

{

int i;

while(1)

{

asm(" RSBX XF");

for(i=0;i<10;i++)delay(60000);

asm(" SSBX XF");

for(i=0;i<10;i++)delay(60000);

}

}


写好之后,连同“vector.asm"(即中断向量表),"5410.cmd" (存储器配置文件),"rts.lib"(C语言运行时库)文件一直添加到工程中去,编译,下载,运行,即可看到开发板上的LED开始一闪一闪的效果。置于中断向量表的编写与存储器如何配置,我将在第二讲详细介绍。



图3.总体工程图



图4.效果图1(灯亮)



图5.效果图2(灯灭)

参考资料:

1.TMS320C54x DSP 参考1(CPU and Peripherals).pdf

2.TMS320VC5410 Fixed-Point DSP (Rev. E).PDF

工程文件:1-LED_Control.zip
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: