基于TMS320C32 DSP的存储器接口设计

时间:2008-05-23来源:网络


  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能够灵活地调整其存储器接口宽度,使得存储器接口电路的设计更加灵活,因此非常适合用于电机或电力系统等实时系统的数据采集与处理。

1 2

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

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版