您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

TI DSP芯片TMS320VC5416存储空间配置方法研究

发布日期:2011-05-02

0 引言

DSP 器件凭借其高速运算的特点,被广泛应用于许多数字信号处理工程实践中。在 DSP 开发过程中,软件开发占有相当大的比重。而在 DSP 软件开发过程中,对存储空间配置的优劣直接关系着项目开发的成败,因此能否对 DSP 存储空间进行适当的配置,往往是开发者需要优先考虑的关键问题。

TMSVC5416 (以下简称 VC5416 TI 公司的一款 16 位定点DSP 芯片,具有功耗低、实时信号处理速度高、操作灵活的特点,已被广泛应用于无线电通信系统及其它应用系统中。已经有很多文献对 C54x 系列 DSP 存储器空间配置进行了研究[1][2][3],但绝大多数文献仅限于对 C54x 系列 DSP 存储空间的通用配置进行描述,即不针对某一特定型号的 DSP 存储空间进行介绍。目前在 C54x 系列 DSP VC5416 的应用比较广泛,但鲜有文献进行该芯片的存储空间配置专门介绍,因此本文将主要针对该芯片进行分析讨论。

1 VC5416 的存储结构

DSP 存储结构相关的有两个概念,即物理存储器与存储空间。这两个概念比较容易混淆,两者之间的区别与联系往往困扰着初学 DSP 的设计者。用楼房房间与其房间编号的例子可以形象说明物理存储器与存储空间之间关系:要找到并使用楼房的房间,通常先对房间进行编号,没有编号的房间是无法找到的,而实际的房间往往少于房间的编号,即有些编号是空的,没有对应的房间。DSP 的物理存储器相当于楼房房间,存储空间的编址相当于对房间编号,物理存储器是 DSP 芯片上存储程序及数据的实际空间(房间),而存储空间则是 DSP 的编址空间(房间号),物理存储器必须先经过映射(MAP)到存储空间才能为用户所用,物理存储器往往远远小于存储空间。

VC5416 的物理存储器包括内部随机存储器(RAM)和只读存储器(ROM)。内部 RAM 分为单寻址 RAMSARAM)和双寻址 RAMDARAM)。在片上 VC5416 16K 字的 ROM64K 字的 DARAM64K 字的 SARAMVC5416 的存储空间包括 64K 字的数据存储空间,64K 字的程序存储空间,64K 字的 I/O 存储空间[4]

2 存储空间与物理存储器的映射关系

2.1 数据存储空间的映射

VC5416 的数据存储空间为 64K 字,可映射到此空间的物理存储器为 DARAM64K DARAM 以及SARAM 8K 单位 可以 4 DARAM0 -7SARAM0-70080H-7FFFH 的地址范围由 DARAM0-3 映射,8000H-FFFFH地址范围的数据存储空间的映射关系与PMST 寄存器的 DROM 控制 位有关,当DROM 0 时,此部分存储空间由外部存储器映射,当 DROM 1 时相关存储空间由 DARAM4-7 映射。

需要说明的是 DARAM0 块映射的地址范围为 0080H-1FFFH,即该块的空间不足 8K,从 0000H-007FH 范围内的 80H 个单元为存储器映射寄存器和暂存寄存器,实际占用了DARAM 80H DARAM0 块不足 8K

2.2 程序存储空间的映射

2.2.1 基本程序存储空间映射

VC5416 芯片的基本程序存储空间为 64K 字,可映射到此空间的物理存储器包括片上存储器和外部存储器(如 FLASH 存储器),根据 PMST 寄存器的 MP/MC OVLY的控制位的取值不同,不同物理存储器到程序存储空间的映射关系也不尽相同。程序存储空间从 0000H 7FFFH 地址范围内的物理存储器映射,只与 OVLY 控制位有关系:当 OVLY 0 时,此地址范围全由外部存储器映射;当 OVLY 1 时,0000H 007FH 地址范围为保留区域,0080H 7FFFH 由片上 DARAM0-3 部分映射。从 C000H FFFFH 的地址范围的物理存储器映射,只与 MP/MC 取值有关:当 MP/MC 1 时,从 C000H FFFFH 的地址全部由外部存储器映射,且 FF80H FFFFH 地址范围为片外中断矢量表;当 MP/MC 0 时,C000H FEFFH 地址范围由片上 ROM 映射,FF00H FF7FH 地址范围为保留区域,FF80H FFFFH 地址范围为片上中断矢量表。从 8000H BFFFH 地址范围只由外部存储器映射,与 MP/MC OVLY 控制位均无关。

需要说明的两点是:一是 MP/MC 取值为 0 时,芯片工作在微计算机模式,MP/MC 取值为 1 时,芯片工作在微处理器模式。两种工作模式的主要区别在于芯片的加电复位时自启动 BOOT 程序方面:BOOT 程序的主作用是在开机时将用户程序从外部装入到程序存储器。当处于微处理器模式时,芯片复位后,程序就从外部存储器的 FF80H 地址开始运行。在 FF80H 处,可以设置一条指令转到BOOT 程序的指令,这样就可运行用户自己编写的 BOOT 程序。当处于微计算机模式时,芯片复位后,则从片上由 TI 定义的 ROM中的 FF80H 地址开始运行中断向量表。二是当 OVLY 1 时,DARAM0-3 即映射到数据存储空间的 0080H 7FFFH 地址范围,也映射到程序存储空间的 0080H 7FFFH 地址范围。

2.2.2 扩展程序存储空间映射

由于程序代码的增长,图 2 64K 的程序空间往往不能满足应用需要,为此需要对程序空间进行分页扩展。程序计数器扩展寄存器 XPC 6 条寻址扩展程序空间的指令可以实现对程序存储空间的分页扩展。扩展程序空间的地址范围从 010000H 7FFFFFH,其中程序空间地址的高 7 位是由 XPC 决定的页号。每一页的低 32K 存储空间的映射关系由 OVLY 决定,当 OVLY 0 时,此范围存储空间由外部存储器映射,当 OVLY 1 时,相关存储空间由 DARAM0-3 映射,为数据、程序公共存储区。前 3 页的高 32K存储空间的映射关系与 MP/MC 有关,当 MP/MC 1 时,此范围存储空间由外部存储器映射,当 MP/MC 0 时,第 1 页的高 32K 存储空间由 DARAM4-7 映射,第 2 页的高 32K 存储空间由 SARAM0-3映射,第 3 页的高 32K 存储空间由 SARAM4-7 映射。第 4 页至第127 页的高 32K 存储空间由外部存储空间映射。

3 存储空间的配置方法

明确了存储空间与物理存储空间的映射关系之后,就可以根据实际物理存储器的配置情况编写链接配置文件,即只要按着上述数据存储空间与程序存储空间与物理存储器的映射关系,在正确设定PMST 寄存器的 OVLYMP/MC DROM 相关控制位的前提下,按着相应的地址范围进行相关存储空间的配置,主要任务在于配置文件中 MEMORY 段的不同地址范围的配置。关于存储空间的配置方法,文献[1][2][3]等已进行了详细论述,在这里就不再赘述了,如需要可参阅相关文献。

4 结束语

DSP 的存储空间配置是困扰许多 DSP 初学者的一个重要问题,只有充分了解所使用芯片存储器空间的配置方法,并根据具体情况进行有针对的链接配置文件编写,才能充分利用 DSP 的片上、片外存储器资源。VC5416 DSP 芯片在许多教科书上被作为教学芯片都进行了介绍,是 DSP 入门者接触比较多的一款常用芯片。在查阅了TI 文档及相关文献基础上,本文主要介绍了该芯片的存储空间与物理存储器的映射关系,其中融入了作者本人的部分开发心得,希望对初学者能有一定的帮助。

 

 

版权说明:本站部分文章来自网络,版权归原作者、原杂志社和原网站所有,本站引用仅作交流学习之用,不作为商业用途,如涉及侵权,请及时告知,本站第一时间删除。特此说明!