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

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

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

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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭