DSP与海量存储器的接口技术 长沙国防科技大学刘国福张王己张连超 摘要在分析DSP芯片TMS320F206存储结构的基础上,解决TMS320F206与海量SRAM、FLASH和DRAM的接口设计问题;比较三种海量存储器在DSP系统中应用的优缺点,并给出一个应用实例。 关键词TMS320F206海量存储器接口 TMS320F206是美国TI(德州仪器)公司继TMS320C2X和TMS320C5X之后推出的一种低价格、高性能的16位定点运算DSP。其CPU接近于TMS320C25,但时钟速率提高、指令集更
DSP与海量存储器的接口技术 长沙国防科技大学刘国福张王己张连超 摘要在分析DSP芯片TMS320F206存储结构的基础上,解决TMS320F206与海量SRAM、FLASH和DRAM的接口设计问题;比较三种海量存储器在DSP系统中应用的优缺点,并给出一个应用实例。 关键词TMS320F206海量存储器接口 TMS320F206是美国TI(德州仪器)公司继TMS320C2X和TMS320C5X之后推出的一种低价格、高性能的16位定点运算DSP。其CPU接近于TMS320C25,但时钟速率提高、指令集更为丰富和优化、片内外设向TMS320C5X靠拢\[1\]。TMS320F206(以下简称F206)的性价比极高,目前已成为高档单片机的理想替代品,在通信、语音/语言、军事、仪器仪表、图像处理、工业控制等领域得到了广泛的应用。尽管F206可以满足许多实际系统对DSP芯片的性能要求,但由于其地址总线只有16根,故寻址空间仅为64K,因而远远满足不了需要大容量数据存储系统的需要。本文就是在分析F206的存储结构的基础上,通过借用I/O空间来扩展存储空间,解决了TMS320F206与海量SRAM、FLASH和DRAM的接口设计问题。读者在设计实际DSP应用系统过程中,可根据需要来选择合适的海量存储器。 一、 F206的存储结构 表1给出了F206的存储结构分布。从表1可以看出,F206拥有独立的程序空间、数据空间和I/O空间,每个空间的大小均为64KB。在程序空间,F206利用FLASH存储器来存储程序,不仅降低了成本,减小了体积,同时系统升级也比较方便;F206片内的32KB FLASH存储器也几乎能满足大多数DSP系统的要求,不用再外接其它非易失性存储器。在I/O空间,除了256字节的高端I/O空间由F206保留或作为外设寄存器使用外,其余的I/O空间皆可为用户使用;但对于需要频繁对数据进行读写操作的数据空间,F206留给用户的只有从1800H到FFFFH大约58KB的范围,这对于需要海量数据存储的场合是远远不能满足的。目前应用在DSP系统中的海量存储器主要有三种:SRAM、FLASH和DRAM。它们的存储容量一般都在64KB以上,因而如果只依靠数据空间是不可能实现F206与这些海量存储器间的接口的。但仔细观察表1可以发现,F206有大量的I/O空间闲置不用,这就自然地启发我们能否借用I/O空间来扩展数据空间呢?如果将I/O空间的每个I/O地址看作是“页”,每“页”的大小是用户的58KB数据空间,则F206的整个扩展的数据空间将达到(64K-256)×58K≈3700M。根据上述设想,作者设计了F206与IS61C1024(SRAM,128KB)、AM29F040B(FLASH,512KB)的接口电路。DRAM由于其地址线分时复用为行地址和列地址,因而它的地址线少,可以和F206直接接口,但需解决分时传送行列地址和周期刷新的问题,故F206与DRAM的接口设计比SRAM和FLASH复杂,实际DSP系统中也很少使用。 表1F206的存储结构 程序空间〖〗数据空间〖〗I/O空间地址〖〗说明〖〗地址〖〗说明〖〗地址〖〗说明0000H 7FFFH〖〗片内32KB FLASH8000H FFFFH〖〗外部扩展程 序空间使用〖〗0000H 07FFH〖〗片内RAM 及保留空间〖〗0000H FEFFH〖〗外部I/O 空间0800H 17FFH[]片内4KB RAM[]FF00H FF0FH[]保留1800H FFFFH[]外部扩展数 据空间使用[]FF10H FFFFH[]片内I/O外 设寄存器二、 F206与海量SRAM的接口电路设计 图1示出了F206与海量SRAM、FLASH和图1F206与SRAM、FLASH和DRAM接口的译码电路DRAM接口的译码电路。U2将F206的I/O空间选择信号IS、数据空间选择信号DS、读信号RD和写信号WE译码生成I/O空间读写信号IOR和IOW、存储空间读写信号MEMRD和MEMWE;U3将U2译码生成的I/O空间读写信号与F206的地址信号译码,从而得到具体的I/O地址;U4则译图2F206与IS61C1024的接口电路码生成海量FLASH、DRAM的片选信号,同时还得到了对DRAM操作的三个信号:读写方式选择信号、行地址选通信号RAS和列地址选通信号CAS。图1所示电路是实现F206与海量存储器接口的前提。 IS61C1024为128KB的SRAM,地址线有17根。设计F206与其接口的关键是将IS61C1024的高位地址线(图2中为A14、A15和A16,可根据分页的多少和页面的大小而定)通过八D锁存器74HC574的输出保持,其余地址线直接连到F206的地址总线上。如图2所示,IS61C1024的128KB空间被分成8页,每页为16KB。这16KB的空间被定位在F206数据空间的哪一个范围则是由信号线CSRAM决定的。在对SRAM操作时,先要通过74HC574选择页面,然后便可对当前页面的16KB数据空间读写。 三、 F206与海量FLASH的接口电路设计 AM29F040B是AMD公司生产的CMOS型FLASH,存储容量为512KB,使用单5V电源进行按扇区的擦除和按字节的写入操作。其引脚输出与工业标准的EPROM、E2PROM完全