新闻中心

EEPW首页 > 网络与存储 > 设计应用 > SyncFlash存储器在ARM嵌入式系统中的应用

SyncFlash存储器在ARM嵌入式系统中的应用

作者:■ 解放军信息工程大学信息工程学院 孙红胜时间:2005-04-27来源:eaw收藏

摘    要:本文在简要介绍(同步Flash)的基础上,着重叙述了在基于ARM体系微处理器的中的应用,并介绍了采用设计嵌入系统的优势。
关键词:SyncFlash; 

随着嵌入式处理器的迅速发展,32位RISC处理器的应用越来越广泛,许多基于ARM核的微处理器都集成了控制器。应用系统中一般都是采用作内存、NOR Flash作程序。这种应用存在着缺点,而本文介绍的采用SyncFlash(即同步Flash存储器)设计嵌入系统的方法能很好地克服这些不足。

SyncFlash存储器
在嵌入式应用系统中用作程序存储器的器件一般是EPROM、NOR Flash、EEPROM等。大家都比较熟悉Flash 存储器,应用也很多,而SyncFlash存储器相对较陌生,目前应用也较少。SyncFlash存储器就是在NOR Flash的基础上增加了同步接口(所有信号均在时钟上升沿锁存),且该接口与通用SDRAM控制器接口兼容,并采用了内部管道结构以实现高速读写操作,如Atmel公司的AT29LS4M16 (1M 16)和Micron公司的MT28S4 M16B1LC,在133MHz时钟时读周期仅为5.4ns(CAS等待周期为2)。其简化的结构框图如图1所示。
SyncFlash和ARM嵌入式微处理器(如Cirrus Logic公司的EP7312)的硬件连接很简单,直接将它连接到SDRAM总线上即可。需注意的是其RP#引脚应和系统的复位信号相连,因为SyncFlash必须先复位(RP#由低变高后100 可完成内部初始化),才能正常工作。另外,其VCCP引脚应和VCC相连。微处理器对SyncFlash的读操作和读SDRAM完全一样,非读操作(如写、擦除等)须采用SCS(软件命令序列,Software Command Sequence)来实现,SCS由制造商提供。

运用SyncFlash设计ARM
采用Flash设计的ARM嵌入式系统
通常在设计基于的嵌入式系统时,都是采用Flash作为程序存储器(包括引导程序和应用程序),SDRAM存储器作系统内存。系统中还包括时钟、复位逻辑等其他电路,结构框图如图2所示。
ARM嵌入式系统的启动过程    
以EP7312为例,上电后EP7312处于等待状态,由WAKEUP上升沿激活并开始运行引导(BOOT)程序,引导程序包括微处理器外围设备初始化、SDRAM控制器初始化、MMU(内存管理单元)。为了提高应用程序运行速度,应用程序一般都是在SDRAM中执行,因为与SDRAM存储器相比,NOR Flash的读取速度较慢(一般大于50ns),影响执行速度。因此引导程序还应包括将应用程序传送到SDRAM中的代码,并将程序指针指向应用程序,应用程序即开始执行。
运用SyncFlash设计的ARM嵌入式系统
由上述ARM嵌入式系统的启动过程可以看出,NOR Flash存储器仅用作存储程序,以保证断电数据不丢失。将应用程序传送到SDRAM中之后,NOR Flash存储器即闲置,不参与系统执行。由于EP7312只具有普通SDRAM控制器,不支持SyncFlash直接启动,采用SyncFlash来设计时,框图如图3所示。由于SyncFlash既具有非易失性,又可直接连接到SDRAM总线,且可高速操作,即具有XIP (eXecute_In_Place)特性,因此可将应用程序直接写到SyncFlash,将BOOT程序固化在NOR Flash中,执行完BOOT程序后,将指针直接指向SyncFlash中的应用程序并执行。
另外,有一些微处理器具有能够直接启动且支持SyncFlash硬件命令序列的SDRAM控制器,如Motorola的龙珠MX1处理器。它将所有非易失存储器的功能移植到高速SDRAM/SyncFlash存贮器总线中,且能配置成从标准异步非易失存储器SyncFlash启动。采用这种处理器设计时,框图中的用于固化BOOT程序的ROM芯片也可省去。
运用SyncFlash设计ARM嵌入式系统时需要注意:一是SDRAM和SyncFlash都连接在SDRAM总线上,共用SDRAM控制器,但SyncFlash用作程序存储器,而SDRAM用作数据存储器,因此在进行系统存储器映射时,二者应映射到两个不同的区域;二是在使用SCS时,必须将Cache禁止。

运用SyncFlash的优势
根据EP7312嵌入式系统的启动过程,及应用SyncFlash前后系统的结构框图比较,不难发现运用SyncFlash设计系统具有以下优势。
提高启动速度
由于SyncFlash具有XIP特点,应用程序直接固化在SyncFlash中,在启动时省去了将应用程序传送到SDRAM中的过程,因而提高了系统的启动速度。
节省系统成本
一般BOOT程序的代码都极少(几KBytes),而应用程序较大(可达几MBytes),如都固化在NOR Flash中,势必需要大容量的Flash,由上述ARM嵌入式系统的启动过程可知,只有BOOT程序在Flash中运行,启动后用于存储应用程序的Flash实际上是冗余的,因而在运用SyncFlash设计的系统中,可将存储应用程序的NOR Flash省去,而只用小容量的NOR Flash(或EPROM)来存储BOOT程序即可,这样就达到了节省系统成本的目的。■

参考文献
1 EP7312 User誷 Manual. CIRRUS LOGIC, 2000
2 马忠梅等. ARM嵌入式处理器结构与应用基础. 北京航空航天大学,2002
3 AT49LS4M16 SyncFlash Data Sheet. ATMEL. 2002
4 SyncFlash Design Guide for Generic SDRAM Controllers. MICRON. 2002



评论


相关推荐

技术专区

关闭