基于DSP的高速外扩存储器的设计

时间:2022-07-06 09:14:16

基于DSP的高速外扩存储器的设计

摘 要:介绍一种能与DSP速度相匹配的外扩高速存储器的设计,外扩存储器按地址分为2个模块:一个是SRAM模块,另外一个是FLASH模块,一个作为数据存储器,另一个作为地址存储器。采用IS61LV25616作为SRAM,这种存储芯片的存取时间快且功耗低,非常适合与高速的DSP 配合使用;FLASH采用的是三星公司生产的存储器K9F1G08。各个模块从元器件的选择、硬件实现方面介绍了存储器的实现过程。在FLASH模块中还介绍了K9F1G08写操作流程,并简单描述了DSP的在线编程方法。该系统在现场实时采集系统中发挥了重要的作用,给后续数据的分析提供了宝贵的数据材料。

关键词:SRAM;外扩存储器;FLASH 高速;DSP

中图分类号:TN707文献标识码:B

文章编号:1004-373X(2008)24-004-03

Design of High Speed Ex-patulous Memory of DSP

YAN Xiaoyan,ZHANG Hongliang

(Key Laboratory of Instrumentation Science & Dynamic Measurement,Ministry of Education,Electronics and Computer Science &

Technology College,North University of China,Taiyuan,030051,China)

Abstract:The design of high speed ex-patulous memory of DSP is introduced in the paper.The choice and analysis of parts of an apparatus are recommended.In the paper,the SRAM is used as data memory,the FLASH is used as address memory,and in the module of FLASH,the collectivity scheme of design and scheduling of K9F1G08 and the on-line programme is described in a nutshell.Then the system has been used and participated in many tests.Through these tests,the data is provided well and truly for the task.

Keywords:SRAM;ex-patulous memory;FLASH;DSP

随着新军事革命在全球范围的形成与发展,人们已渐渐意识到这场深刻变革的核心就是信息化。为适应这种变化的一个明显趋势就是数字化战场概念的形成与发展。数字化战场是以实时信息收集网络为基础,而实时信息的收集一部分要依赖于存储器的速度。对于DSP外扩存储器,主要考虑的是存储器的速度。目前大多数存储器相对DSP而言是慢速器件,因此通常需要加入等待周期。这样就降低了DSP的存取速度,也就是说信息的实时性会受到影响。文中设计的外扩存储器能从速度上与高速DSP相匹配。

1 概 述

DSP是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器。由于它由具有丰富的硬件资源、改进的哈佛结构、高速数据处理能力和强大的指令系统,而在通信、航空、航天、雷达、工业控制、网络及家用电器等各个领域得到广泛应用。DSP分为定点和浮点两种,在此选用TI(Texas Instrument)公司的TMS320VC33,它是一款较新的浮点型数字信号处理器,采用高达120/150 MHz的主频(通过内部×5倍频实现),有120/150 MFLOPS(百万条浮点数操作指令)的峰值运算能力,片内1 Mb RAM,程序代码与先前的C3X完全兼容,采用3.3 V I/O电压和1.8 V处理器核电压使功耗降低到200 mW。

从TMS320VC33的存储器映射图中,我们可以看出在DSP内部RAM共有3块:RAM块0、RAM块1和RAM块2。其中连续的内存空间地址为:0X800000~0X807FFF,共为32 kWord,可见片内内存较紧张。这里可以采用外扩存储器的办法解决片内内存不足的缺陷。

TMS320VC33的寻址空间为0X0000000~0FFFFFF,共为16 MB,其中可扩展外部空间为0X001000~0X7FFFFF和0X80A000~0XFFF000。由于FLASH引导存储空间分配在0X400000~0X7FFFFF,系统中DSP对外扩存储器分配的2个外部地址为:

SRAM模块地址:0X010000~0X04FFFF;

FLASHROM模块地址:0X400000~0X4FFFFF。

这就完成了DSP到各个存储空间的映射,即将数据空间0X010000~0X4FFFF映射到SRAM的0X00000~0X3FFFF,将地址空间0X400000~0X4FFFFF映射到FLASH的0X00000~0XFFFFF。

这些地址是由DSP的地址线A16~A23进行译码的。这样,有些地址空间没有用到,例如0X001000~0X00FFFF,但对系统设计而言存储空间已经足够。

2 SRAM模块

本系统采用TMS320VC33,既可以将SRAM作为程序存储器,也可以用作数据存储器。用FLASHROM存放程序,在系统运行时,为提高运行速度,需将程序从FLASH搬至快速SRAM中运行,此时SRAM地址映射在程序空间中;而当系统的数据存储空间超过内部RAM时,SRAM地址映射在数据空间中。

这里采用IS61LV25616作为SRAM,这种存储芯片的存取时间为15 ns,COMS 工艺,3.3 V供电,输入/输出兼容TTL电平,且具有低功耗的优良特点,非常适合与高速的DSP 配合使用。容量为256 k×16 b,两片IS61LV25616即可构成256 kB静态RAM空间。图1为2片IS61LV25616作为数据存储器的接口方法。

图1中,两片IS61LV25616构成256 k×32 b的数据存储器。地址译码、片选和读写逻辑由CPLD 完成。SRAM分成程序和数据2部分。具体是数据空间0X010000~0X4FFFF映射到SRAM的0X00000~0X3FFFF。

3 FLASH ROM模块

在高速DSP应用系统中,为了充分发挥DSP性能,在加电后需要将用户代码装载到高速RAM存储器中运行。FLASH存储器是一种高密度、非易失性的电可擦写存储器,存储量大,使用方便,适用于低功耗、高性能的系统。本系统使用的是三星公司生产的FLASH存储器K9F1G08。它是具有超大容量的FLASH存储器,其中1片的存储容量就达到了128 MB(1 Gb),由1 024个块组成,每块又由64个页组成,一页有(124+4)kB,该片的8位I/O总线是命令、地址、数据复用的。读写操作均以页为单位,擦除操作则以块为单位.

K9F1G08不需要后备电池,数据永远不会丢失,而且可以在线编程、集成度高、使用方便。这种FLASH的读写速度与SRAM相差无几,并且它的内部开辟了一定容量的高速缓冲区,将FLASH分成了若干个扇区,对于这种扇区连续写入的周期可达50 ns。逻辑控制用1片XILINX公司的FPGA-XC2S50,它拥有1 728个逻辑宏单元,176个用户I/O口,而且供电电源是3.3 V和2.5 V,属于低功耗集成芯片。

设计FLASH与DSP 的接口时,主要考虑以下几点:

(1) 采用DSP的外部16位BOOT 方式;

(2) 通过DSP的仿真系统能够将程序和数据写入到Flash 中;

(3) 系统独立运行时,能够从FLASH中读出程序装入到内部RAM中;

(4) 接口尽量简单。

根据以上几点所设计的FLASH接口如图2所示。

FLASH的数据线和地址线分别和DSP的外部数据和地址总线相连,FLASH的控制信号分别接由CPLD译码产生的信号。接译码后的选通信号,在这个系统中,将FLASH映射到存储空间的400000H~43FFFF地址段,以实现程序的引导。

FLASH支持软件数据保护功能(Software Data Protection),当执行3字节DSP写指令时,保护功能将自动加上,任何后续的写操作必须带上3字节DSP写指令。

由于FLASH分成相同的块,每个块又有相同的页区(每页128 kB)。写入数据时,首先判断第一块是否是无效块,是无效块的话直接跳到下一块,不是无效块的时候,进行块擦除,然后一个页区一个页区依次往下写,直到一块写完以后,跳到下一块,直到1 024个块写完,依次类推,实现高速连续写入FLASH存储器的功能。

FLASH页面写操作流程如图3所示。

TMS320VC33的调试使用CC for C3x/4X(Code COmposer)集成编程环境,通过JTAG头仿真用户板,用户代码先放在外部RAM中调试,调试成功后,就可以将用户程序代码写入FLASH。对TMS320VC33用户系统外部FLASH使用在线编程,省去HEX转换工具及EPROM编程器等工具,方便、易行。下面介绍在并行装入BOOT2方式下的在线编程方法:

第一步:在CC下编译后,装入用户.OUT文件,用户程序代码即被写入EXRAM空间;

第二步:依据TMS320VC33的BOOT格式,并根据CC产生的用户.MAP文件找出程序入口地址、各加载块的入口地址以及长度,编写FLASH烧写文件;

第三步:修改.CMD文件SECTION段,将烧写程序链接到内部RAM区;

第四步:运行烧写程序,用户代码即被写入FLASH中。复位DSP,利用CCS可以查看FLASH存储器内容是否与要烧写的内部一致,并脱机检验。

4 结 语

运用DSP外扩存储器来实现高速存储,在现场实时采集系统中发挥了重要的作用,给后续数据的分析提供了宝贵的数据材料。

参考文献

[1]张雄伟,陈亮,徐光辉.DSP 芯片的原理与开发应用[M].3版.北京: 电子工业出版社,2004.

[2]王超,张桂林,杜峥.TMS320VC33 DSP用户程序加载方法.计算机与数学工程,2003,3(4):26-30.

[3]黎明也.DSP系统应用中FLASH在线编程方法.电子技术应用,2005,31(3):64-66,69.

[4]迟男,陆俊.TMS320C32浮点DSP存储器接口设计.电子技术应用,2000,26(11):70-72.

[5]向展,裴昌幸,易运晖.使用I2C总线实现TMS320VC5509A引导装载设计.现代电子技术,2006,29(18):80-82,85.

[6]张晓红,韩莹,杨雷,等.基于DSP的无刷直流电机舵机位置伺服系统.现代电子技术,2007,30(9):122-123,126.

作者简介 闫晓燕 女,1977年出生,山西交城人。研究方向为测试计量技术及仪器。

上一篇:AuthorWare中声音的处理技巧 下一篇:基于CSCW和Intraweb技术的校园教研系统设计与...