中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 存储设计 >>电子行业新闻正文

Flash Memory作为数据存储器在E5中的应用

时间:2008/4/10 10:46:00  作者:  来源:ic72  浏览人数:1173
 
 

      1.  E5的特点及体系结构

      E5是位于美国硅谷的公司Triscend 推出的一款全新的CPU,它是基于8051的内核,但将微处理器的内核,ASCI及可重构逻辑阵列集成与一体,构成一款CSOC(可配置系统)芯片。Triscend E5的主要特点有:

      1.1   它的主控制器是一个增强型的8032,与工业标准的8051指令上完全兼容。

      1.2   它包含一个嵌入式的可重构系统逻辑矩阵(CSL)。共有2048 个可配置系统逻辑(CSL)单元(约40000 个逻辑门)。

      1.3   拥有一个高性能的系统总线(CSI),连接微处理器,存储器和可重构系统逻辑矩阵。

      1.4   增加了一个存储器接口单元(MIU),负责连接外部存储器。

      1.5   片上64k 字节的系统专用RAM(XDATA RAM) 

      由此可知,E5的主要部件是:8032增强型CPU,可重构系统逻辑矩阵(CSL),内部系统总线(CSI),片上64KRAM,可编程I/O口以及一些专用外设。

      2.  E5存储区的映射关系

      E5内部含有64K的SRAM供数据存取之用,但不含ROM。因此须接以External Memory供程序运行。在使用E5的系统中,E5可以从Internal RAM或External Memory中取得指令运行。一般情况下,E5从External Memory中取得运行指令,而External Memory一般为FLASH。

      E5使用增强型的8051内核,其逻辑寻址能力遵循8051的规则,即逻辑地址上CODE、XDATA区各64KByte。在传统的8051系统中,指针DPTR可利用指令MOVC、MOVX分别寻址CODE、XDATA的64KByte。但E5利用其MIU(Memory Interface Unit)将实际物理寻址范围作了极大的提升。在使用E5的系统中,合理利用TRISCEND提供的地址映射器CMAP、DMAP,使得寻址范围达到32位的物理地址空间。图1为逻辑地址空间与物理地址空间的映射关系。

ic72新闻中心

      图1  E5逻辑地址空间与物理地址空间的映射

      从图中可知E5的物理地址划分如下:

      0000_0000~0000_FFFF        Primary Initialization Code ROM(初始化代码ROM空间)

      0001_0000~0001_FFFF        Internal RAM(内部RAM空间)

      0002_0000~0002_FFFF        Configuration Register Unit(可配制寄存器单元)

      0003_0000~0003_FFFF        CPU Debug Registers(CPU仿真寄存器)

      0004_0000~0007_FFFF        Initialization Memory(初始化存储器空间)

      0008_0000~0009_FFFF        Reserved(保留空间)

      0010_0000~007F_FFFF        CSL-based Soft Module Registers Decoded via Selectors(软件IP库寄存器空间)

      0080_0000~00FF_FFFF        External Memory(外部存储器空间)

      下面再分析实际使用中FLASH MEMORY的空间分配问题。

      在本文利用E5所设计的应用系统中,使用29LV800BA-90PFTN,作为External Memory程序存储器。它的容量是8M (1M * 8/512K * 16)BIT,并以64K分段(SECTORED)。它的段(SECTOR)空间与E5的物理地址的对应关系如图2所示。

ic72新闻中心

      图2  Flash段空间与E5的物理地址

      在实际应用中,FastChip自动将E5 CSL数据存放在FLASH的SA12,如果这部分数据需要占用的空间超过64KByte,则向后继续占用SA13,并依此类推;其余SA0~SA11作为程序代码存放区。实际上程序代码所需要的存储空间并不是总需要那么大,多数情况下甚至少于64KByte。因此我们可以将FLASH中的部分区域划做数据存储,用于保存需要在掉电或硬件复位后可再恢复的数据。

      3.  FLASH 做DATA MEMORY的说明

      使用FLASH中的部分区域作数据存储,必然涉及到数据的改写。对FLASH而言,在进行数据改写时,必须先将该数据所在的SECTOR完全擦除(ERASE),然后再执行写(WRITE)操作。受FLASH操作的限制,在对FLASH进行EREASE、WRITE操作时,相应部分功能程序代码不可能从FLASH内取得,所以必须预先将它们转移到适当的位置(SRAM),以保证读、写FLASH的程序正常运转,完成这一部分操作完成后,可以恢复从FLASH内取得程序代码继续执行其他功能。

      在这些应用中,内部SRAM由CODE与XDATA地址空间共享。E5内部有一定容量(64K)的SRAM,故可以从SRAM取得程序代码完成规定的操作。但是这个RAM的容量有限(具体:E502-8KByte,E505-16KByte,E512-32KByte,E520-40KByte),而且SRAM本身还必须预留足够的空间作为中间数据的存放,所以转移到RAM的程序代码应该尽可能精简。

      要E5完成对FLASH中部分区间的数据改写,最少必须具有以下两个功能:将程序代码区的内容转移到内部RAM区;完成对FLASH的ERASE、WRITE。

      3.1   程序代码转移

      按照设计要求,被转移的程序代码所完成的功能是操作FLASH。为保证该部分代码转移至E5内部RAM后能正确运行,代码的绝对起始地址应该为0。

      这部分代码应该利用FastChip的CODE BANK存放在单独的BANK内。如一般功能应用程序占用BANK0~N,则这部分代码存放在BANKN+1。

      进行程序代码转移时,需要确定的参数包括:被转移程序代码的首地址、被转移程序代码的长度、被转入区间的首地址。在进行该项工作之前,确认改变地址映射器的设置不会导致程序运行的混乱。

      3.2 Internal RAM区块说明

      改写FLASH的功能代码必须在Internal RAM运行,而且起始地址必须是0000,因此,在设计时,Internal RAM的低段区域不要用来保存数据,我们设定该区域长度为4KByte,地址范围0001_0000~0001_0FFF。即其它数据的存取在0001_1000H之上。

      3.3   地址映射

      为将FLASH区域内的功能代码转移到Internal RAM指定的位置,我们设置地址映射器来分别指向:

      设置地址映射器DMAP2,使保存有改写FLASH的功能代码的FLASH之SECTOR的地址映射至XDATA区的0000~0FFF。映射器DMAP2各寄存器设置如下:

      DMAP2_TAR_0ß0x00               ;源映射区的起始地址

      DMAP2_TAR_1ß0x(80+BANK_No)   ;源映射区的起始地址

      DMAP2_TAR_2ß0x00               ;源映射区的起始地址

      DMAP2_ SRCß0x00                ;目的映射区的起始地址
 
      DMAP2_ CTLß0x2C                ;代码长度

      设置地址映射器DMAP4,将Internal RAM低4KByte的地址映射至XDATA区的1000~1FFF。映射器DMAP4各寄存器设置如下:

      DMAP4_TAR_0ß0x00                ;源映射区的起始地址

      DMAP4_TAR_1ß0x01                ;源映射区的起始地址

      DMAP4_TAR_2ß0x00                ;源映射区的起始地址

      DMAP4_ SRCß0x10                 ;目的映射区的起始地址

      DMAP4_ CTLß0x2C                 ;代码长度

      完成上述存储器映射后,就可以将FLASM MEMORY的程序按BYTE TO BYTE的方式COPY到INTERNAL SRAM内执行。当然,这些都是在XDATA中处理的。

      4.对FLASH的操作

      在这个设计中,感兴趣的是FLASH作数据存储区使用,而不是作为程序存储区使用时的操作,所以,下面的描述是针对FLASH作数据存储区使用时的关注事项。

      在进行操作前,要事先进行地址映射器的配置,使DPTR能正确指向。

      读(READ)--类似于标准的RAM。可在任意时候进行。

      写(WRITE)--FLASH片内任一位都只能从1写为0,要从0写为1,必须使用擦除操作。

      擦除(ERASE)--擦除操作不能针对特定的字节,最少必须以扇区为单位进行,也可以选择将整个器件内的字节全部擦除。

      对FLASH的读、擦除操作,必须按照其Datasheet给定的步骤进行。如:

      擦除:  xxAAA/AA-xx555/55-xxAAA/80-xxAAA/AA-xx555/55-xxAAA/10(整片擦除); xxAAA/AA-xx555/55-xxAAA/80-xxAAA/AA-xx555/55-ADDR/30(按扇区擦除)

      很显然,在我们的应用中,不能使用整片擦除操作,只能按需要将要改写的扇区进行擦除以保存我们的数据。

      写:xxAAA/AA-xx555/55-xxAAA/A0-PA/PD

      写FLASH时,每个命令序列只能写一个字节。其中PA是所要改写的字节的地址,PD是将要写入的内容。

      5.总结
      
      在很多场合,如何将数据保护而不受掉电的影响是很重要的。本文作者创新点:说明了在E5微处理器中如何将FALSH MEMORY用与存取、保护数据,提供了FLASH与SRAM在XDATA空间中映射的方法,希望对使用E5 CPU的研发人员能有所帮助。

 

 
【相关文章】
·Flash Memory作为数据存储器在E5中的应用
·基于MSP430F12x2的SPI数据存储器扩展
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9