《dsp与外扩展存储器的连接方法.docx》由会员分享,可在线阅读,更多相关《dsp与外扩展存储器的连接方法.docx(6页珍藏版)》请在三一办公上搜索。
1、几种DSP与外接存储器的连接方法俞斌贾雅琼引言存储器接口分为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之外,TMS320C5
2、409还可以扩展外部存储器。其 中,数据总空间总共为64k字(0000HFFFFH) ,I/O空间为64K字(0000HFFFFH),程 序空间为8M。8M的程序空间的寻址是通过额外的7根地址线(A16A22)实现的,由XPC 寄存器控制。根据程序和数据的空间配置,扩展的方法主要有3种。2.1分开的程序和数据空间配置这种方案是采用外接一个128kX16位的RAM,将程序区和数据区分开,如图1所示。 采用程序选通线接外部RAM的A16地址线实现,因此,程序区为RAM的前64k字(0000H FFFFH),数据区为RAM的后64k字(10000H1FFFFH)。对DSP而言,程序区和数据区 的地址
3、范围均为0000HFFFFH。采用这种配置方法需要注意:如果内部RAM设置为有效,则相同地址的外部RAM自 动无效;当外部RAM不能全速运行时,需要根据速度设置插入等待状态(设置SWWSR)。2.2混合的程序和数据空间配置这种方案是令OVLY=1,此时内部RAM既是数据区也是程序区。这样设置的优点是程 序可以在内部全速运行,缺点是由于程序和数据是共用的,因此存储区就变小了。此外,在 链接时必须将程序和数据分开,以避免重叠。这种配置方法如图2所示。将和信号接至一与非门,形成PDS信号,这个信号不论是有效 还是有效都呈现有效(高电平),将这个信号经反向用作片选信号,就可以保证外部RAM 既作为程序
4、区也作为数据区。图1分开的数据和程序空间配置图2混合的数据和程序空间配置2.3优化的混合程序和数据空间配置图3所示为一种优化的混合程序和数据区外接RAM的方法。这种配置方法省去了 DSP 的A15地址线,将RAM分成32k字长的块。采用这种方法后,可充分利用外接的RAM, 不会因内部RAM和外部RAM的地址重叠而造成外部RAM的浪费。图3优化的混合数据和程序空间配由于外部扩展的空间很大,因此DSP程序区另外的地址空间也能访问到外部RAM。这 种优化的外部RAM配置方法,使得在使用DSP的内部RAM的情况下,能够充分利用外部 扩展RAM。图4 DSP与FLASH的接口3 DSP与FLASH的接口
5、设计图4为DSP与FLASH的一种接口配置。图中FLASH采用Silicon Storage公司的新- 代256KX 16位CMOS FLASH Memory产品SST39VF400A作为DSP的外部数据存储器, 地址总线和数据总线接至DSP的外部总线,接至DSP的。DSP上的XF引脚用于启动编程。 当XF为低时,FLASH处于读状态;当XF为高时,FLASH可擦或编程。为了满足 SST39VF400A的时序要求,XF与相“或”后接至,引脚与相“或”后接至。4 FLASH的擦写4.1片外FLASH擦写原理在实际应用中,选择的片外存储器通常是片外的RAM或FLASH Memory。但是,由于 R
6、AM中数据掉电即丢失,不适合长期保存数据,因此当需要保存到片外存储器的是一些无 需频繁读/写但需要长期保存的数据时,如字模数据、端口地址等,通常选择使用片外的 FLASH扩展DSP芯片的存储器空间。但是,使用片外的FLASH必须要解决对其的擦写问 题。在实际应用中,对FLASH的擦写主要有两种方式:一是使用通用编程器对FLASH芯 片进行擦写;二是直接由DSP对FLASH进行擦写。这里介绍一种利用存储器映射技术,通 过对DSP芯片编程实现片外FLASH擦写的方法。CCS5000 IDE是TI公司专为TMS320C5409设计的开发平台,该平台具有简单明了的 图形用户界面和丰富的软件开发工具。利
7、用GPIO0 口可以生成合适的片外FLASH和片内 RAM片选信号,从而实现片外FLASH和片内RAM访问的切换,在电路上可以将GPIO0 信号与数据选择信号或程序选择信号相“或”实现。4.2片外FLASH擦写流程编写FLASH擦写程序的流程图如图5所示。没村1山。淇l:L 使川.州说帅刊旧*1I邛而湘中的坎氾倡到歹Fis 的gwi班牌刘ru浏|更溯翼呼的;.中I,.,A二5|R珊扒汁IF1A视时|-打?伽1.治局卜个庖旷|图5 FLASH擦写程序流程图(1) 将character18032设置为全局变量。(2) 将程序编译下载到DSP芯片中,打开工程目录中output文件夹中的.map文件,
8、 找到character数组在RAM中存放的起始地址和长度。(3) 使用Save Memory命令将RAM中对应于character数组的地址段的数据以二进制形式 保存在计算机上。(4) 打开FLASH擦写程序,修改数据在片内RAM中存储的起始地址和FLASH擦写的起 始地址和数据长度,编译下载后,单步执行,直到擦写完FLASH,并将地址映射方式设置 为映射到片内RAM处,数据便写到片外FLASH的相应地址中。这一种通过地址映射方式的方法可适用于多种场合,针对多个FLASH芯片使用多个GPIO 端口进行地址的扩展,即可实现对其进行擦写操作;若将部分擦写程序放置到片外FLASH 中并作相应设置,
9、即可实现系统得自举运行。5 Bootload的设计BootLoader是嵌入式系统加电后在操作系统内核运行之前运行的第一段代码。BootLoader用于初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一 个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,Boot Loader是严 重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader几乎是不可能的。BootLoader 一般它只在系统启动时非常短的时间内运行。对 于嵌入式系统来说,这是至关重要的一步。TMS320C54x内部具有16KX16位的掩模ROM,其内部具有
10、Bootloader程序,工作在 微计算机方式下可以启动ROM中的引导程序,将用户程序从EPROM (FLASH)、串行口、 I/O 口或HPI 口引导到内部RAM或外部的高速SRAM中全速运行。TMS320C5409硬件复 位后采样引脚如果为低,则DSP从FF80H开始执行片内的引导程序,FF80H包含一条跳转 到Bootloader程序的语句,Bootloader程序将用户程序下载到RAM中运行。在硬件复位期 间,如果TMS320C5409的为高电平,则从片外的0FF80H开始执行程序。选择过程如图6 所示。图6自举加载方式的选择 过程6结束语实践证明,在DSP的使用中,以上介绍的DSP与其外围存储器的接口设计是切实可行 的。