DSP应用设计关键之接口设计(四)
四、TMS320C32的存储器接口设计
1 TMS320C32的外部存储器接口的特点
TMS320C32是一个32位微处理器,它可以通过24位地址总线、32位数据总线和选通信号对外部存储器进行访问。其外部存储器接口结构如下图l所示。
图1,TMS320C32的外部存储器接口图
在图1中,引脚(引脚,又叫管脚,英文叫Pin。就是从集成电路(芯片)内部电路引出与外围电路的接线,所有的引脚就构成了这块芯片的接口)PRGW是用来配置外部程序存储器的宽度的。当PRGW引脚为低电平时程序存储器宽度为16位;当PRGW引脚为高电平时程序存储器宽度为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)。当外部总线访问这些空间时,相应的选通信号就使能。
负责控制信号的输入和输出叫做使能,是一个动词,英文‘Enable’。使能通俗点说就是一个“允许”信号,进给使能也就是允许进给的信号,也就是说当进给使能信号有效的时候电机才能转动。一般的数控系统会将电机的进给使能信号跟急停开关和行程限位开关串联起来,当按下急停开关或者电机运转超出行程后,进给使能信号被断开,电机不能继续转动,从而保护机床在安全的行程内运行。
2 TMS320C32的3种存储器设计方案
2.1 8位存储器宽度
设计为8位的存储器,其硬件接线方案如图2所示。STRBx_B3/Al_1和STRBx_B2/A_2引脚作为地址引脚,STRBx_B0引脚作为片选引脚,而STRBx_B1则不用。
![](../img/eep/emb/emb-232554uaoaz03mx0.jpg)
图2,8位存储器的硬件接线图
![](../img/eep/emb/emb-23256gdiawbmnyi2.jpg)
图3,16位存储器的硬件接线图
设计为16位的存储器,其硬件接线方案如图3所示。STRBx_B3/A_1引脚作为地址引脚,STRBx_B0和STRBx_B1引脚作为片选引脚,而STRBx_B2/A_2则不用。
2.3 32位存储器宽度
设计为32位的存储器,其硬件接线方案如下图4所示。STRBx所有的引脚都设置成片选引脚。
![](../img/eep/emb/emb-23257o4legkyq3yk.jpg)
图4,32位存储器的硬件接线图
3 存储器映射外部总线控制寄存器
综上所述,TMS320C32可以从8/16/32位存储器中访问8/16/32位数据,或者从16/32位存储器中执行32位的程序。但是如果内外部数据的位数不一致时该如何处理呢?C32的外部总线控制寄存器可以根据相应控制位的值,自动对存储器接口的宽度进行相应的调整。下面则对总线控制寄存器作出一个详细的介绍。
STRBo、STRBl以及IOSTRB控制寄存器在存储器映射空间的物理地址分别是808064H、808068H和808060H,并且都是32位的,各位的定义如图5、图6和图7所示。
![](../img/eep/emb/emb-23258plhfpuhgohb.jpg)
图5,STRBo控制寄存器
![](../img/eep/emb/emb-23259h1ofgtrmmsk.jpg)
图6,STRBl控制寄存器
![](../img/eep/emb/emb-23260nzw4zshjhik.jpg)
图7,IOSTRB控制寄存器
从图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位数据。
![](../img/eep/emb/emb-23261nbowzysjhin.jpg)
图8,TMS320C32存储嚣接口的电路图
在16位存储器中存放32位数据时,STRB0_B3/A1作为地址引脚与外部存储器的AO相接,STRB0_B0和STRB0_B1作为片选信号,STRBx_B2/A_2不用。由于数据宽度大于存储器宽度,所以在外部存储器偶地址中存放32位数据的低16位,奇地址中存
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)