dsp芯片与存储器有什么关系
扫描二维码
随时随地手机看文章
DSP(Digital Signal Processing)即数字信号处理技术,DSP芯片即指能够实现数字信号处理技术的芯片。DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。
DSP(Digital Signal Processing)即数字信号处理技术,DSP芯片即指能够实现数字信号处理技术的芯片。DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。
DPS芯片也被人们称为数字信号处理器,它常用于军事、医疗、家用电器等领域。我们根据它的工作时钟和指令类型,可以将它分为静态DSP芯片和一致性DSP芯片。按照它的工作数据格式将它分为定点DSP芯片和浮点DSP芯片。我们还可以根据它的用途不同,将它分为通用型DSP芯片和专用型DSP芯片。
DPS芯片的特点
通常来说dsp芯片的程序和数据是分开存放的,它的内部存在快速的RAM,这样导致我们可以通过数据总线同时访问指令和数据。Dsp芯片能够支持无开销循环及跳转的硬件,能够并行执行多个操作,像取指、译码等操作可以重复操作,具有稳定性好、精度高、大规模集成性等多个优点。不过它的功率消耗大,成本高。
数字信号处理器的选择具有以下原理:
1.算法格式。定点算法的动态范围较小。例如,16位定点算法的动态范围仅为96dB,这容易出现溢出问题,但成本低,功耗低。因此,大多数数字信号处理器都是定点的,约占67%。浮点算法具有较大的动态范围,例如32位浮点算法,其动态范围为1536dB。处理速度远高于定点,总线宽度也比定点宽。编程更容易,但是成本更高,功耗更高……浮点数字信号处理器主要用于高端产品。
2.数据宽度。所有浮点DSP均为32位宽,而定点DSP大多为16位宽,也有24位,例如摩托罗拉的DSP563xx系列。和Zoran的ZR3800系列(均为20位)。数据宽度直接影响DSP芯片的尺寸,封装引脚的数量以及外围存储器的容量,因此直接影响DSP的成本。
3.速度。选择DSP时,速度是最重要的考虑因素。DSP的速度通常是指令周期的时间,但也指核心功能(例如FIR或IIR滤波器)的计算时间。一些DSP使用非常大的指令字组(VLIW)结构,可以在一个周期内执行多个指令。它与时钟的工作频率密切相关。
存储器接口分为ROM接口和RAM接口两种。ROM包括EPROM和FLASH,而RAM主要是指SRAM。TMS320C5409具有32K字的片内RAM和16K字的掩膜ROM。但是在DSP应用的很多场合,尤其是带信号存储的DSP应用来说,TMS320C5409的片内存储资源是远远不够用的。因此,设计一个TMS320C5409硬件系统一般应该包括其与EPROM/FLASH和SRAM的接口设计,以存放程序和数据。本文介绍TMS320C5409与存储器的接口设计方案。
2 DSP与SRAM的接口设计
除了内部32k字RAM和16K字ROM之外,TMS320C5409还可以扩展外部存储器。其中,数据总空间总共为64k字(0000H~FFFFH),I/O空间为64K字(0000H~FFFFH),程序空间为8M。8M的程序空间的寻址是通过额外的7根地址线(A16~A22)实现的,由XPC寄存器控制。根据程序和数据的空间配置,扩展的方法主要有3种。
2.1 分开的程序和数据空间配置
这种方案是采用外接一个128k×16位的RAM,将程序区和数据区分开,如图1所示。采用程序选通线接外部RAM的A16地址线实现,因此,程序区为RAM的前64k字(0000H~FFFFH),数据区为RAM的后64k字(10000H~1FFFFH)。对DSP而言,程序区和数据区的地址范围均为0000H~FFFFH。
采用这种配置方法需要注意:如果内部RAM设置为有效,则相同地址的外部RAM自动无效;当外部RAM不能全速运行时,需要根据速度设置插入等待状态(设置SWWSR)。
2.2 混合的程序和数据空间配置
这种方案是令OVLY=1,此时内部RAM既是数据区也是程序区。这样设置的优点是程序可以在内部全速运行,缺点是由于程序和数据是共用的,因此存储区就变小了。此外,在链接时必须将程序和数据分开,以避免重叠。
这种配置方法如图2所示。将和信号接至一与非门,形成PDS信号,这个信号不论是有效还是有效都呈现有效(高电平),将这个信号经反向用作片选信号,就可以保证外部RAM既作为程序区也作为数据区。
如何选择DSP芯片的外部存储器?
DSP的速度较快,为了保证DSP的运行速度,外部存储器需要具有一定的速度,否则DSP访问外部存储器时需要加入等待周期。
1)对于C2000系列: C2000系列只能同异步的存储器直接相接。 C2000系列的DSP目前的最高速度为150MHz。建议可以用的存储器有:
CY7C199-15:32K×8,15ns,5V;
CY7C1021-12:64K×16,15ns,5V; CY7C1021V33-12:64K×16,15ns,3.3V。
2)对于C3x系列: C3x系列只能同异步的存储器直接相接。 C3x系列的DSP的最高速度,5V的为40MHz,3.3V的为75MHz,为保证DSP无等待运行,分别需要外部存储器的速度<25ns和<12ns。建议可以用的存储器有:
ROM: AM29F400-70:256K×16,70ns,5V,加入一个等待;
AM29LV400-55(SST39VF400):256K×16,55ns,3.3V,加入两个等待(目前没有更快的Flash)。
SRAM: CY7C199-15:32K×8,15ns,5V;
CY7C1021-15:64K×16,15ns,5V;
CY7C1009-15:128K×8,15ns,5V;
CY7C1049-15:512K×8,15ns,5V;
CY7C1021V33-15:64K×16,15ns,3.3V;
CY7C1009V33-15:128K×8,15ns,3.3V;
CY7C1041V33-15:256k×16,15ns,3.3V。
3)对于C54x系列: C54x系列只能同异步的存储器直接相接。 C54x系列的DSP的速度为100MHz或160MHz,为保证DSP无等待运行,需要外部存储器的速度<10ns或<6ns。建议可以用的存储器有:
ROM: AM29LV400-55(SST39VF400):256K×16,55ns,3.3V,加入5或9个等待(目前没有更快的Flash)。
SRAM: CY7C1021V33-12:64K×16,12ns,3.3V,加入一个等待;
CY7C1009V33-12:128K×8,12ns,3.3V,加入一个等待。
4)对于C55x和C6000系列: TI的DSP中只有C55x和C6000可以同同步的存储器相连,同步存储器可以保证系统的数据交换效率更高。
ROM: AM29LV400-55(SST39VF400):256K×16,55ns,3.3V。
SDRAM: HY57V651620BTC-10S:64M,10ns。
SBSRAM: CY7C1329-133AC,64k×32;
CY7C1339-133AC,128k×32。
FIFO:CY7C42x5V-10ASC,32k/64k×18。
DSP芯片有多大的驱动能力
DSP的驱动能力较强,可以不加驱动,连接8个以上标准TTL门。