[资料分享] 初识TMS320C5410

灞波儿奔   2019-9-12 21:42 楼主

今年学校开设了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灯,方便我们程序调试时用作指示灯,我们查看原理图,就可以看到类似如下的图:
360截图20190912213945628.jpg

图1.XF引脚与LED灯相连

 

那么,我们只要把XF引脚电平置0,即可点亮LED灯;置1即可熄灭LED灯。那怎么控制它呢?查看芯片的参考手册[ TMS320C54x DSP参考1(CPU and Peripherals) ],可以看到有这么一段:

 

360截图20190912214024616.jpg

图2. XF引脚的说明

 

大致意思是XF是状态寄存器ST1中的一位,而我们可以用SSBX指令来将XF置1,RSBX指令将XF清0。

 

下面就来建我们的第一个工程吧,我们的开发环境为CCS2.20,仿真器为XDS510,目标板为TMS320C5410,新建工程名为“1-LED_Control",并新建一个文件“main.c”,编写代码。

 

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

 

360截图20190912214105575.jpg

图3.总体工程图

 

 

360截图20190912214151292.jpg

图4.效果图1(灯亮)

360截图20190912214220657.jpg

图5.效果图2(灯灭)

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复