一种扩展存储器访问空间的方法
【技术领域】
[0001] 本发明属于嵌入式计算机系统设计技术领域,尤其是一种扩展存储器访问空间的 方法。
【背景技术】
[0002] 存储器是集成电路中最常用的器件之一,当今的手机、电脑、多媒体等领域都对 存储器容量非常依赖,而存储器的工艺不断改进,使得它的容量也在不断增大。存储器的 类型也多种多样,包括FLA甜、EPROM、EEPR0M、SRAM、DRAM、DPRAM、NVRAM等,各种存储器都有 它各自的特点及使用方式。
[0003] 在对嵌入式计算机系统进行开发时,经常遇到的问题就是存储器的访问空间问 题,比如存储器巧片的容量足够大,但是处理器或主桥巧片却没有足够大的存储器访问空 间对其进行访问。一般处理器或者主桥巧片虽然设置了一定范围的存储器访问空间,但是 受到多方面因素的限制,该种存储器空间访问范围并不是足够大,满足不了实际需求。
[0004] 因此需要发明一种扩展存储器访问空间的方法,对于解决此类问题,提供了一个 很有价值的解决方案。
【发明内容】
[0005] 为了解决【背景技术】中嵌入式计算机平台存储器访问空间不足的技术问题,本发明 提出一种扩展存储器访问空间的方法,满足嵌入式计算机系统大容量存取信息的需求。
[0006] 本发明的技术解决方案是;一种扩展存储器访问空间的方法,其特征在于:所述 方法包括W下步骤:
[0007] 1)通过IFC_CS0访问外部化A甜存储器;
[000引。判断访问化A甜的高端空间还是低端空间,若访问高端空间,则进行步骤如龙 访问低端空间,则进行步骤4);
[0009] 3)判断是访问FLA甜的最高端空间还是较高端空间,如果访问最高端空间,则进 行步骤3.1);若访问较高端空间,则进行步骤3.5);
[0010] 3. 1)写FPGA内地址空间选择寄存器D1 = 1,DO= 1;
[0011] 3.。FPGA将FLA甜高位地址A25输出为1,A24输出为1;
[0012] 3. 3)对IFC_CS0进行读/写操作;
[001引 3. 4)访问到FLA甜最高端空间;
[0014] 3. 5)写FPGA内地址空间选择寄存器D1 = 1,DO= 0;
[00巧]3. 6)FPGA将FLA甜高位地址A25输出为1,A24输出为0;
[0016] 3. 7)对IFC_CS0进行读/写操作;
[0017] 3. 8)访问到FLA甜较高端空间;
[0018] 4)判断是访问FLA甜的最低端空间还是较低端空间,如果访问较低端空间,则进 行步骤4.1);若访问最低端空间,则进行步骤4.5);
[0019] 4. 1)写FPGA内地址空间选择寄存器D1 = 0,DO= 1;
[0020] 4. 2)FPGA将FLA甜高位地址A25输出为0,A24输出为1 ;
[0021] 4. 3)对IFC_CS0进行读/写操作;
[002引 4. 4)访问到化A甜较低端空间;
[002引 4. 5)写FPGA内地址空间选择寄存器D1 = 0,DO= 0 ;
[0024]4. 6)FPGA将FLA甜高位地址A25输出为0,A24输出为0;
[0025] 4. 7)对IFC_CS0进行读/写操作;
[0026] 4. 8)访问到化A甜最低端空间。
[0027]上述FLA甜存储器是S29GL01GP11TFI010。
[0028] 上述DO位是数据位、D1位是标志位;DO位对应数据线A24,D1位对应数据线A25。 [002引本发明的优点是:
[0030] 1.采用CPLD或FPGA和软件共同实现,无须增加任何外围扩展电路,可节约研发成 本;
[0031] 2.适用于FLA甜、EPROM、EEPR0M、SRAM、DPRAM、NVRAM等多种存储器访问的扩展;
[0032] 3.设计思想清晰明确,实现方式简单,不会增加系统负担,软件易于操作,适合被 广泛应用。
【附图说明】
[0033] 图1是本发明存储空间扩展控制电路图;
[0034] 图2是本发明方法流程图;
【具体实施方式】:
[00巧]本发明采用CPLD或FPGA(具体型号不限)实现存储器高位地址线的控制逻辑,在CPLD或FPGA内设置一个地址空间选择寄存器,软件可对该寄存器进行读写操作。在访问存 储器之前,软件先对FPGA内的地址空间选择寄存器写入相应标志,控制逻辑根据该标志将 存储器高位地址线输出0或1。该样,只要该标志不同,处理器只需访问相同的地址空间,就 能访问到实际存储器不同的存储空间内,从而实现对存储器访问空间的扩展。
[0036] 此方法在多片存储器的情况下,也可用控制存储器的片选信号来实现访问空间的 扩展,原理是相同的。
[0037] 下面W化eescale公司的P1010处理器配合SPANSI0N公司的1G位FLA甜存储器 (S29化01GP11TFI010)的硬件平台为例,对本设计方法做进一步详细说明。
[003引 P1010是QorlQ系列高性能低功耗化werPC处理器,集成有孤R3控制器、IFC(集 成FLA甜控制器)端口、PCIe、SATA、USB、千兆W太网控制器等功能,其中IFC端口包括4个Bank,每个Bank的地址空间最大为32MB,16位数据宽度,地址线A0~A23,地址范围软件可 设置,见表1。从表1就可看出,P1010的IFC端口访问空间并不算大,4个Bank加起来总 容量才128MB,该无法满足本平台的设计要求(本平台设计要求为系统化A甜容量128MB, 用户化A甜容量128MB)。
[0039] 表1P1010处理器IFC端口信息
[0040]
[i^kI对应片选 I空间大小 I地址范围(己设置) I数据宽度
[00川本平台设计中,采用2片16位化A甜巧片,单片容量128MB,16位数据宽度,地址 线A0~A25,1片作为系统FLA甜,1片作为用户FLA甜。其中,系统FLA甜的片选采用IFC_ CS0,用户FLA甜的片选采用IFC_CS1。
[004引下面W对BankO(对应片选IFC_CS0)的访问空间进行扩展为例,对本方法做具体 描述,控制电路见图1。正常情况下,IFC_CS0片选是不能对128MB容量的FLA甜进行全空 间访问的,因为IFC_CS0的空间大小只有32MB,地址线只有A0~A23,只能访问到FLA甜的 1/4空间。但是,如果对该FLA甜巧片的最高两位地址线A24、A25进行相应的控制,就可W 通过IFC_CS0对该FLA甜进行全空间访问了。
[004引在FPGA内设置一个地址空间选择寄存器,寄存器地址可W设置在IFC_CS3片选的 地址空间内,例如,该寄存器地址为OxEOOOOOOO,可读可写,设置该寄存器数据位DO位、D1 位为标志位。DO位对应数据线A24,D1位对应数据线A25。当DO标志位=0,控制逻辑将 FLA甜高位地址A24输出为0,当DO标志位为=1,控制逻辑则将A24输出为1。当D1标志 位=0,控制逻辑将FLA甜高位地址A25输出为0,当D1标志位为=1,控制逻辑则将A25输 出为1。见表2。
[0044] 表2标志位与FLA甜存储空间对应关系
[0045]
[0046] 软件操作流程见图2,软件所须进行的操作很简单,当访问该FLA甜的4个32MB存 储空间之前,先将FPGA内部的地址空间选择寄存器标志位DO及D1写入表2中对应的值, 再通过软件对IFC_CS0进行访问,由于高位地址A24、A25的变化,处理器通过IFC_CS0可W 访问到该FLA甜的全部空间,实际上对IFC_CS0的可访问空间由32MB扩展到了 128MB。
[0047] 具体操作为;
[0048]a.先将OxEOOOOOOO地址DO位写0,D1位写0,再访问IFC_CS0空间Ox阳000000~ OxFFFFFFFF,即可访问到系统FLA甜最低端32MB空间;
[0049]b.先将OxEOOOOOOO地址DO位写1,D1位写0,再访问IFC_CS0空间Ox阳000000~ OxFFFFFFFF即可访问到系统FLA甜较低端32MB空间;
[0050] C.先将OxEOOOOOOO地址DO位写1,D1位写0,再访问IFC_CS0空间Ox阳000000~ OxFFFFFFFF即可访问到系统FLA甜较高端32MB空间;
[0051]d.先将OxEOOOOOOO地址DO位写1,D1位写1,再访问IFC_CS0空间Ox阳000000~ OxFFFFFFFF即可访问到系统FLA甜对高端32MB空间。
[0052] 上面描述的是对FLA甜存储器高位2根地址线进行控制,实现访问空间扩展的方 法,同理,在多片化A甜存储器巧片的情况下,对化A甜片选信号进行同样的控制,一样能够 实现对访问空间的扩展,只要硬件资源足够,该种扩展方式及扩展的空间大小是无限的。
【主权项】
1. 一种扩展存储器访问空间的方法,其特征在于:所述方法包括以下步骤: 1) 通过IFC_CSO访问外部FLASH存储器; 2) 判断访问FLASH的高端空间还是低端空间,若访问高端空间,则进行步骤3);若访问 低端空间,则进行步骤4); 3) 判断是访问FLASH的最高端空间还是较高端空间,如果访问最高端空间,则进行步 骤3.1);若访问较高端空间,则进行步骤3.5); 3. 1)写FPGA内地址空间选择寄存器Dl = 1,DO = 1 ; 3. 2) FPGA将FLASH高位地址A25输出为1,A24输出为1 ; 3. 3)对IFC_CSO进行读/写操作; 3. 4)访问到FLASH最高端空间; 3. 5)写FPGA内地址空间选择寄存器Dl = 1,DO = 0 ; 3. 6) FPGA将FLASH高位地址A25输出为1,A24输出为0 ; 3. 7)对IFC_CSO进行读/写操作; 3. 8)访问到FLASH较高端空间; 4) 判断是访问FLASH的最低端空间还是较低端空间,如果访问较低端空间,则进行步 骤4.1);若访问最低端空间,则进行步骤4.5); 4. 1)写FPGA内地址空间选择寄存器Dl = 0, DO = 1 ; 4. 2) FPGA将FLASH高位地址A25输出为0, A24输出为1 ; 4. 3)对IFC_CSO进行读/写操作; 4. 4)访问到FLASH较低端空间; 4. 5)写FPGA内地址空间选择寄存器Dl = 0, DO = 0 ; 4. 6) FPGA将FLASH高位地址A25输出为0, A24输出为0 ; 4. 7)对IFC_CSO进行读/写操作; 4. 8)访问到FLASH最低端空间。2. 根据权利要求1所述的扩展存储器访问空间的方法,其特征在于:所述FLASH存储 器是 S29GL01GP11TFI010。3. 根据权利要求1所述的扩展存储器访问空间的方法,其特征在于:所述DO位是数据 位、Dl位是标志位;DO位对应数据线A24, Dl位对应数据线A25。
【专利摘要】本发明是一种扩展存储器访问空间的方法,包括以下步骤:1)通过IFC_CSO访问外部FLASH存储器;2)判断访问FLASH的高端空间还是低端空间,若访问高端空间,则进行步骤3);若访问低端空间,则进行步骤4);3)判断是访问FLASH的最高端空间还是较高端空间,如果访问最高端空间,则进行步骤3.1);若访问较高端空间,则进行步骤3.5);3.1)写FPGA内地址空间选择寄存器D1=1,D0=1;3.2)FPGA将FLASH高位地址A25输出为1,A24输出为1;3.3)对IFC_CSO进行读/写操作;3.4)访问到FLASH最高端空间;3.5)写FPGA内地址空间选择寄存器D1=1,D0=0;本发明采用CPLD或FPGA和软件共同实现,无须增加任何外围扩展电路,可节约研发成本;适用于FLASH、EPROM、EEPROM、SRAM、DPRAM、NVRAM等多种存储器访问的扩展。
【IPC分类】G06F3/06, G06F12/10
【公开号】CN104881373
【申请号】CN201410737394
【发明人】陈颖图, 林清, 王爱林, 张琰, 曹彦荣, 张锐
【申请人】中国航空工业集团公司第六三一研究所
【公开日】2015年9月2日
【申请日】2014年12月5日