如何设计TMS320C32 DSP的存储器接口

2008-05-20 14:08:42来源: 单片机及嵌入式系统应用

  摘要 通过对高性能浮点DSP处理器TMS320C32的外部存储器接口的研究,介绍其存储器结构的特点,并根据其特点给出3种设计方案。这3种不同的方案,分别可以实现3种宽度的存储器接口,即8位、16位和32位的外部数据访问或是16位和32住的外部程序访问。这一特点使得TMS320C32芯片非常适合于时变系统的控制与处理。

  关键词TMS320C32 浮点DSP处理器 存储器接口 存储器宽度

  TMS320C32是美国TI公司生产的一款浮点数字信号处理器(DSP),其CPU是在TMS320C30和TMS320C3l的基础上进行改进和简化来的,是C3X系列中的增强版。增强的功能有:可变宽度的存储器接口,更快的指令周期,节电模式,可重定位的中断向量表,以及外部中断可由电平的边沿或电平触发等。

  1 TMS320C32的外部存储器接口的特点

  TMS320C32是一个32位微处理器,它可通过24位地址总线、32位数据总线和选通信号对外部存储器进行访问。其外部存储器接口结构如图l所示。

  

  图l中,引脚PRGW是用来配置外部程序存储器宽度的。当PRGW引脚为低电平时程序存储器宽度为16位;为高电平时程序存储器宽度为32位。STRBO和STRBl各为一组访问外部存储器的选通信号,各有4个信号引脚(STRBx_B3/A_1、STRBx_B2/A_2、STRBx_Bl和STRBx_B0)。从图l中可以看出,选通信号STRB0和STRBl能从8/16/32位存储器中访问8/16/32位数据,或从16/32位存储器中执行32位程序;IOSTRB是外设I/O的选通信号引脚,它只能从32位宽度的存储器中访问32位的数据和程序。

  可以通过对STRBx和IOSTRB的设置,从8/16/32位的存储器中访问8/16/32位数据或程序。也就是说,可以从任何一个外部存储器中访同任何一种类型的数据。这就说明可以通过设置IOSTRB、STRB0和STRB1的选通信号来寻址整个外部存储器空间。比如,一个32位外部存储器可以被设定为存放一个32位的双字,但也可以被分为具有2个连续地址的16位字或4个连续地址的8位字节。反之,一个32位双字可放在一个32位外部存储器中,也可放在2个16位或4个8位宽度的外部存储器中。

  TMS320C32内部总共提供了64 MB的存储器映射空间。其中,STRB0所对应的存储映像区间是不连续的两段区问,一段是03FH~7FFFFFH(共31.999 MB),另一段是880000H~8FFFFFH(共2 MB);STRBl所对应的存储映像区间是900000H~FFFFFFH(共28 MB);IOSTRB所对应的存储映像区间是810000H~82FFFFH(共512KB)。当外部总线访问这些空间时,相应的选通信号就使能。

  2 TMS320C32的3种存储器设计方案

  2.1 8位存储器宽度

  设计为8位的存储器,其硬件接线方案如图2所示。STRBx_B3/Al_1和STRBx_B2/A_2引脚作为地址引脚,STRBx_B0引脚作为片选引脚,而STRBx_B1不用。

  

  2.2 16位存储器宽度

  设计为16位的存储器,其硬件接线方案如图3所示。STRBx_B3/A_1引脚作为地址引脚,STRBx_B0和STRBx_B1引脚作为片选引脚,而STRBx_B2/A_2不用。

  2.3 32位存储器宽度

  设计为32位的存储器,其硬件接线方案如图4所示。STRBx所有的引脚都设置为片选引脚。

  

  3 存储器映射外部总线控制寄存器

  如上所述,TMS320C32可以从8/16/32位存储器中访问8/16/32位数据,或从16/32位存储器中执行32位的程序。但如果内外部数据的位数不一致该如何处理呢?C32的外部总线控制寄存器可根据相应控制位的值,自动调整存储器接口宽度。下面对总线控制寄存器作具体的介绍。

  STRBo、STRBl以及IOSTRB控制寄存器在存储器映射空间的物理地址分别是808064H、808068H和808060H,且都是32位的,各位的定义如图5、图6和图7所示。

  

  从图5和图6中可以看出,STRBx控制寄存器的第18、19位是用来控制存储器宽度的,第16、17位是用来控制数据宽度的,具体定义如表1所列。

  4 存储器接口实例

  图8给出了一个实际TMS320C32存储嚣接口的电路图。16位存储器由2片128 K8位的SRAM构成,32位存储器由4片128 K8位的SRAM构成,STRB0的4组选通信号接16位外部存储器,STRBl的4组选通信号接32位外部存储器。为说明数据在存储器及处理器中的存放格式,本文设计了两种存储器接口电路:一是在16位存储器中存放32位数据;二是在32位存储器中存放32位数据。

  

  在16位存储器中存放32位数据时,STRB0_B3/A1作为地址引脚与外部存储器的AO相接,STRB0_B0和STRB0_B1作为片选信号,STRBx_B2/A_2不用。由于数据宽度大于存储器宽度,所以在外部存储器偶地址中存放32位数据的低16位,奇地址中存放32位数据的高16位,外部存储器的地址为OH~lFFFFH,对应的在C32存储映射中的地址为OH~0FFFFH。当一条指令向逻辑地址OH中装入一个32位数据时,存储器接口必须向外部16位存储器执行两个指令周期。这两个指令周期访问2个连续的外部存储器地址OH和1H,从而完成对32位数据的操作。

  当在外部32位存储器中存放32位数据时,STRBl的4个引脚都设置为片选引脚。这时数据宽度与外部存储器宽度一致,由于是STRBl使能,所以128 K32位的外部存储空间与C32存储器映射的900000H~91FFFFH相对应。

  当接口电路设计为16位时,其物理地址等于逻辑地址右移l位,即DSP的地址线A00接在SRAM的A1上;当接口电路设计为32位时,其物理地址等于逻辑地址,即DSP的地址线A00接在SRAM的A0上。

  5 小结

   本文主要介绍了如何根据实际需要来自动地调节存储器接口宽度。由于C32能够灵活地调整其存储器接口宽度,使得存储器接口电路的设计更加灵活,因此非常适合用于电机或电力系统等实时系统的数据采集与处理。

关键字:接口  指令周期  接线方案  向量表  AO  控制存储器  外部中断  存储器空间  DSP

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/gykz/2008/0520/article_985.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
接口
指令周期
接线方案
向量表
AO
控制存储器
外部中断
存储器空间
DSP

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved