1 引言
随着数字信号处理技术的不断发展,大容量可编程逻辑器件的不断涌现,FPGA技术越来越多地应用在大规模集成电路设计中。在此硬件系统设计中,经常会遇到需要大容量的数据存储的情况,下面我们将针对FPGA中内部Block RAM有限的缺点,提出了将FPGA与外部SRAM相结合来改进设计的方法,并给出了部分VHDL程序。
2 硬件设计
这里将主要讨论以Xilinx公司的 FPGA(XC2S600E-6fg456)和ISSI公司的SRAM(IS61LV25616AL)为主要器件来完成大容量数据存储的设计思路。
FPGA即现场可编程门阵列,其结构与传统的门阵列相似,大量的可编程逻辑块(CLB, Configurable Logic Block)在芯片中央按矩阵排列,芯片四周为可编程输入/输出块(IOB, Input/Output Block),CLB行列之间及CLB和IOB之间具有可编程的互连资源(ICR, Inter Connect Resource)。CLB、IOB和ICR都由分布在芯片中的SRAM静态存储单元控制,SRAM中的数据决定FPGA的功能,这些数据可以在系统加电时自动或由命令控制从外部存储器装入 。
在进行数据存储时,可直接将数据写入FPGA内部的Block RAM中,在一定程度上减少了FPGA的资源分配。但FPGA内部自带的RAM块毕竟是有限的,当需进行大容量数据存储时这有限的RAM块是远远不能满足系统设计要求的。此时,就需要将FPGA与外部RAM相结合完成大容量数据存储。具体硬件电路如图一所示:
图一 硬件电路原理图
3 IS61LV25616AL功能简介
IS61LV25616AL是Integrated Silicon Solution 公司(ISSI)的一款容量为256K×16的且引脚功能完全兼容的4Mb的异步SRAM,可为Xilinx公司的Spartan-2E系列FPGA提供高性能、高消费比的外围存储。除了256K×16异步SRAM外,ISSI还提供128K×16、512K×16、256K×8、512K×8和1M×8的异步SRAM。
IS61LV25616AL引脚结构框图如图二所示:
图二 IS61LV25616AL结构框图
3.1主要特征
(1)工作电压:3.3伏;
(2)访问时间:10ns、12ns;
(3)芯片容量:256K×16;
(4)封装形式: 44引脚TSOPII封装,也有48引脚mBGA和44引脚SOJ封装;
(5)采用0.18μm技术制造;
3.2引脚功能
(1)A0~A17:18位的地址输入线;
(2)IO0~IO15:16位的三态数据输入输出线;
(3) :写控制线;
(4) : 片选信号;
(5) :输出使能信号;
(6) 、 :低字节、高字节使能信号;
(3)~(6)的控制线均为低电平有效。
3.3控制逻辑电路设计
如图三所示,控制逻辑由FPGA来实现。主要包括读地址产生器、写地址产生器、读写时钟信号产生器及读写控制等几部分。下面分别加以讲述。
图三 原理框图
(1)写地址产生器:由于设计时采用256K×16 的SRAM,故有18位地址,写地址产生器用18位计数器实现。靠外部时钟驱动,每进行一次写操作后,读写控制单元产生计数脉冲,使其增1,直到18位计数器计满再循环写入地址为0的空间。
(2)读地址产生器同上,也采用18位计数器实现,根据系统要求,每隔一定的采样周期将读地址指针偏移一定偏移量,并从该位置读取数据。
(3)读写地址选择器由于读写地址复用管脚,因此在读写操作时,必须选通相应的地址。这就需要由FPGA控制芯片上的 、 、 、 等控制信号来对SRAM进行读写的操作。
(4)此外,由于读写之间的切换,数据线上的数据在切换瞬间如不加处理会出现混乱现象。因此,为避免读、写操作发生冲突,数据线呈三种状态,读数据、写数据及高阻态。在从写到读的过程中需给数据线上送高阻态。
(5) 当需要对SRAM进行写操作时,由FPGA控制产生写地址选通信号,该选通信号为一单脉冲形式,如图四中 、 、 ,该脉冲下降沿触发SRAM,告知开始对RAM进行写操作,使FPGA输出写地址,同时给数据线上送数据。在写操作期间, 、 片选信号始终保持低电平,而写地址选通信号上升沿到来时使写地址计数器增1。以此类推,通过写地址选通信号高低电平变化完成对数据依次写入。需要注意的是,地址线和数据线在 、 、 为高时可同时赋新值,但只有在 变低后赋予数据线上的新值才有效。
图四 RAM写操作时序
对SRAM进行读操作相对较简单,在进行读操作期间, 、 、 、 始终为低电平, 始终为高电平。每进行一次读操作,地址按系统要求变化一次。同时注意,地址的变化时刻总要先于数据的变化时刻。图五为RAM读操作时序。
图五 RAM读操作时序
以下是一段用VHDL语言描述的控制RAM的读写操作时序的程序代码:
OE_SRAM<=LOWLEVEL;
CE_SRAM<=LOWLEVEL;
when 0 => addr_SRAM<=temp_addr_SRAM; --WRITE to SRAM
data_SRAM<=data_in;
WE_SRAM<='1';
LB_SRAM<='1';
UB_SRAM<='1';
when 1 => WE_SRAM<='0';
LB_SRAM<='0';
UB_SRAM<='0';
when 2 => WE_SRAM<='1';
LB_SRAM<='1';
UB_SRAM<='1';
when 3 => WE_SRAM<='1'; --READ from SRAM
LB_SRAM<='0';
UB_SRAM<='0';
data_SRAM<=b"ZZ_ZZZZ_ZZZZ_ZZZZ_ZZZZ"; --给数据线上送高阻
addr_SRAM<=temp_addr_SRAM;
when 4 => data_out <=data_SRAM;
程序中,在进行读写操作时,片选使能信号CE_SRAM及输出使能信号OE_SRAM始终为低电平。
· 第0时刻到第2时刻在进行写操作:第0时刻地址线addr_SRAM和数据线data_SRAM同时赋新值,控制线WE_SRAM 、LB_SRAM、 UB_SRAM要经历一个窄脉冲的变化过程, RAM在获取到此控制线下降沿信息后,便知开始进行写操作。需要注意的是,虽然数据在第0时刻已赋到数据线上,但因为写操作是控制线低电平有效,所以数据线上真正发生数据更新是在控制线变为低电平之后,因此,数据线上的实际更新时刻是在第2个时刻。
·第3、4状态是进行读操作:在读写转换时刻,也就是在第3时刻如前所述需给数据线上送高阻态。这样,读取数据的时序关系由系统时钟进行控制,在第3时刻给地址线上送要读取的地址,第4时刻将数据端口上的数据送出。这里需注意的是,读取数据要比读取地址晚一个时刻。从而,完成了对外部RAM的读写操作控制。
4结论
该系统已应用在罗兰—C导航接收机的信号处理中。实验证明,此设计可靠稳定地完成了大容量高速异步数据存储,进一步提高了系统的性能。
参考文献
[1] 孙红胜,岳春生用.DRAM、FPGA实现大容量FIFO存储器.信息工程学院学报.1997(9):38~41
[2] Data Sheet IS61LV25616AL 2004.5.5
[3] Keven Skahill.可编程逻辑系统的VHDL设计技术[M].朱明程,孙普译.东南大学出版社,2003
关键字:可编程 数据 存储
引用地址:FPGA与SRAM相结合完成大容量数据存储
随着数字信号处理技术的不断发展,大容量可编程逻辑器件的不断涌现,FPGA技术越来越多地应用在大规模集成电路设计中。在此硬件系统设计中,经常会遇到需要大容量的数据存储的情况,下面我们将针对FPGA中内部Block RAM有限的缺点,提出了将FPGA与外部SRAM相结合来改进设计的方法,并给出了部分VHDL程序。
2 硬件设计
这里将主要讨论以Xilinx公司的 FPGA(XC2S600E-6fg456)和ISSI公司的SRAM(IS61LV25616AL)为主要器件来完成大容量数据存储的设计思路。
FPGA即现场可编程门阵列,其结构与传统的门阵列相似,大量的可编程逻辑块(CLB, Configurable Logic Block)在芯片中央按矩阵排列,芯片四周为可编程输入/输出块(IOB, Input/Output Block),CLB行列之间及CLB和IOB之间具有可编程的互连资源(ICR, Inter Connect Resource)。CLB、IOB和ICR都由分布在芯片中的SRAM静态存储单元控制,SRAM中的数据决定FPGA的功能,这些数据可以在系统加电时自动或由命令控制从外部存储器装入 。
在进行数据存储时,可直接将数据写入FPGA内部的Block RAM中,在一定程度上减少了FPGA的资源分配。但FPGA内部自带的RAM块毕竟是有限的,当需进行大容量数据存储时这有限的RAM块是远远不能满足系统设计要求的。此时,就需要将FPGA与外部RAM相结合完成大容量数据存储。具体硬件电路如图一所示:
图一 硬件电路原理图
3 IS61LV25616AL功能简介
IS61LV25616AL是Integrated Silicon Solution 公司(ISSI)的一款容量为256K×16的且引脚功能完全兼容的4Mb的异步SRAM,可为Xilinx公司的Spartan-2E系列FPGA提供高性能、高消费比的外围存储。除了256K×16异步SRAM外,ISSI还提供128K×16、512K×16、256K×8、512K×8和1M×8的异步SRAM。
IS61LV25616AL引脚结构框图如图二所示:
图二 IS61LV25616AL结构框图
3.1主要特征
(1)工作电压:3.3伏;
(2)访问时间:10ns、12ns;
(3)芯片容量:256K×16;
(4)封装形式: 44引脚TSOPII封装,也有48引脚mBGA和44引脚SOJ封装;
(5)采用0.18μm技术制造;
3.2引脚功能
(1)A0~A17:18位的地址输入线;
(2)IO0~IO15:16位的三态数据输入输出线;
(3) :写控制线;
(4) : 片选信号;
(5) :输出使能信号;
(6) 、 :低字节、高字节使能信号;
(3)~(6)的控制线均为低电平有效。
3.3控制逻辑电路设计
如图三所示,控制逻辑由FPGA来实现。主要包括读地址产生器、写地址产生器、读写时钟信号产生器及读写控制等几部分。下面分别加以讲述。
图三 原理框图
(1)写地址产生器:由于设计时采用256K×16 的SRAM,故有18位地址,写地址产生器用18位计数器实现。靠外部时钟驱动,每进行一次写操作后,读写控制单元产生计数脉冲,使其增1,直到18位计数器计满再循环写入地址为0的空间。
(2)读地址产生器同上,也采用18位计数器实现,根据系统要求,每隔一定的采样周期将读地址指针偏移一定偏移量,并从该位置读取数据。
(3)读写地址选择器由于读写地址复用管脚,因此在读写操作时,必须选通相应的地址。这就需要由FPGA控制芯片上的 、 、 、 等控制信号来对SRAM进行读写的操作。
(4)此外,由于读写之间的切换,数据线上的数据在切换瞬间如不加处理会出现混乱现象。因此,为避免读、写操作发生冲突,数据线呈三种状态,读数据、写数据及高阻态。在从写到读的过程中需给数据线上送高阻态。
(5) 当需要对SRAM进行写操作时,由FPGA控制产生写地址选通信号,该选通信号为一单脉冲形式,如图四中 、 、 ,该脉冲下降沿触发SRAM,告知开始对RAM进行写操作,使FPGA输出写地址,同时给数据线上送数据。在写操作期间, 、 片选信号始终保持低电平,而写地址选通信号上升沿到来时使写地址计数器增1。以此类推,通过写地址选通信号高低电平变化完成对数据依次写入。需要注意的是,地址线和数据线在 、 、 为高时可同时赋新值,但只有在 变低后赋予数据线上的新值才有效。
图四 RAM写操作时序
对SRAM进行读操作相对较简单,在进行读操作期间, 、 、 、 始终为低电平, 始终为高电平。每进行一次读操作,地址按系统要求变化一次。同时注意,地址的变化时刻总要先于数据的变化时刻。图五为RAM读操作时序。
图五 RAM读操作时序
以下是一段用VHDL语言描述的控制RAM的读写操作时序的程序代码:
OE_SRAM<=LOWLEVEL;
CE_SRAM<=LOWLEVEL;
when 0 => addr_SRAM<=temp_addr_SRAM; --WRITE to SRAM
data_SRAM<=data_in;
WE_SRAM<='1';
LB_SRAM<='1';
UB_SRAM<='1';
when 1 => WE_SRAM<='0';
LB_SRAM<='0';
UB_SRAM<='0';
when 2 => WE_SRAM<='1';
LB_SRAM<='1';
UB_SRAM<='1';
when 3 => WE_SRAM<='1'; --READ from SRAM
LB_SRAM<='0';
UB_SRAM<='0';
data_SRAM<=b"ZZ_ZZZZ_ZZZZ_ZZZZ_ZZZZ"; --给数据线上送高阻
addr_SRAM<=temp_addr_SRAM;
when 4 => data_out <=data_SRAM;
程序中,在进行读写操作时,片选使能信号CE_SRAM及输出使能信号OE_SRAM始终为低电平。
· 第0时刻到第2时刻在进行写操作:第0时刻地址线addr_SRAM和数据线data_SRAM同时赋新值,控制线WE_SRAM 、LB_SRAM、 UB_SRAM要经历一个窄脉冲的变化过程, RAM在获取到此控制线下降沿信息后,便知开始进行写操作。需要注意的是,虽然数据在第0时刻已赋到数据线上,但因为写操作是控制线低电平有效,所以数据线上真正发生数据更新是在控制线变为低电平之后,因此,数据线上的实际更新时刻是在第2个时刻。
·第3、4状态是进行读操作:在读写转换时刻,也就是在第3时刻如前所述需给数据线上送高阻态。这样,读取数据的时序关系由系统时钟进行控制,在第3时刻给地址线上送要读取的地址,第4时刻将数据端口上的数据送出。这里需注意的是,读取数据要比读取地址晚一个时刻。从而,完成了对外部RAM的读写操作控制。
4结论
该系统已应用在罗兰—C导航接收机的信号处理中。实验证明,此设计可靠稳定地完成了大容量高速异步数据存储,进一步提高了系统的性能。
参考文献
[1] 孙红胜,岳春生用.DRAM、FPGA实现大容量FIFO存储器.信息工程学院学报.1997(9):38~41
[2] Data Sheet IS61LV25616AL 2004.5.5
[3] Keven Skahill.可编程逻辑系统的VHDL设计技术[M].朱明程,孙普译.东南大学出版社,2003
上一篇:延长EEPROM使用寿命的方法
下一篇:基于CPLD的容错存储器的设计实现
推荐阅读最新更新时间:2024-05-13 18:12
STM32F429--I2C通信(读写EEPROM,串口返回测试数据)
一、I2C介绍 I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息,SDA数据线和SCL时钟信号线。 主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。 如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送; 如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。 二、I2C的通信状态 总线空
[单片机]
基于可编程逻辑阵列的RS232至RS422的串行口扩展电路
摘要:介绍了利用可编程逻辑阵列把1路RS232扩展至4路RS422的串行口电路设计方法。该扩展电路不占用PC系统资源,同时具有结构简单,使用方便,通用性和可补性强等特点,可广泛应用于主从式多机通讯系统中。
关键词:串行通讯;数据采集;集散控制;RC232;RS422
由于RS-422总线具有抗干扰能力强、通讯速率高、通讯距离远、可以与多台从机通讯等特点,所以,该总线在数据采集、监控管理及集散控制系统的主从式多机通讯系统中得到普遍应用。但是,若在一条RS-422 通讯总线上连接过多的从机,则有可能会由于总线负担过重,而使系统可靠性变差,有时甚至会导致整个系统无法正常工作。
为了解决RS422总线在实际应用中可能出现的问题,笔
[应用]
2017年Q3移动数据流量年同比激增115% 印度和中国驱动增长
电子网消息,Strategy Analytics最新的无线运营商市场表现对标数据库及关联报告《Q3 2017 Reliance Jio,中国联通,沃达丰驱动移动数据流量加速增长》指出,2017年Q3移动数据流量增长达到六年新高,全球年同比增长115% 。印度和中国占全球流量增长的一半,Jio在印度势头正猛,同时中国不限量数据套餐的强劲增长推动了这两个市场。 在欧洲,沃达丰也受益于最新推出的针对特定服务提供固定费率并不限流量的业务(zero-rated Passes)稳步健康增长。 报告中的其它关键发现包括: Reliance Jio在推出后的六个月内承载的数据流量超过全球其他任何移动运营,但是它对市场带来的破坏性影响意味流
[网络通信]
单片机对AT24C512中数据的处理管理
在由单片机构成的数据采集系统及智能仪器仪表当中,往往有大量数据要保存。随着测控系统数字化的发展,人们对数据存储提出了更高的要求,因而用于存储数据的存储器容量也越来越大。但是,在增大数据存储量的同时,人们也希望能更便捷高效地操作其中的数据(包括浏览、添加和删除等),即像PC机上管理数据一样简单易行。然而,单片机以及用于保存数据的芯片本身并没有提供这种功能,为此,需要开发一种用于管理单片机数据的有效方法。本文在吸取PC机文件管理思想的基础上,以AT24C512为例,构造了一种类似于文件系统的用于管理单片机数据的方法,大大提高了数据操作的效率。 1 AT24C512介绍 AT24C512是Atmel公司生产的64KB串行电可擦的可编
[单片机]
小米智能家居背后的4个故事和4组数据
假如你回看一年以前,上个夏天的小米智能家居还不如它现在这么自信。那时候对小米而言,智能家居是一个紧紧围绕路由器的战略,严格意义上的小米智能家居产品还只有几款刚刚曝光不久的单品,包括Yeelight智能灯泡、小蚁摄像机、万能遥控和智能插座。
小米智能家居的负责人高自光在谈到智能家居策略时,曾这样克制地表示:策略谁都可以谈,而且关于智能家居的趋势大家都能看得很清楚,但根本上来讲,还是要看谁有决心(去推动智能家居的发展)。
而上周在小米总部的办公室里,当有记者询问小米WiFi模组的出货数量时,“300多万片”,高自光在回答这个数字时显得更加从容。
短短一年时间,小米智能家居
[安防电子]
基于嵌入式网络模块的HTTP数据采集方案
本文提出了一种在单片机系统中实施基于HTTP协议的数据采集的方案,利用嵌入式网络模块实现串口到以太网数据的转换,使用采集板将数据封装成HTTP包. 该方案灵活方便,实现简单;采用分布式结构,采集效率高,可适用于大量数据的采集,而且可以方便扩展为基于Internet的远程数据采集.
1 前言
随着工业以太网的发展,由于传输速度、传输可靠性及可扩展性等综合性能方面的优越性,越来越多的数据采集系统都是基于以太网接口,并且越来越多的仪器仪表设备也提供了以太网接口.但是很多企业都有早期投入的设备仪表,一般使用串口进行数据通信,因此需要一种简单、高效、易于扩充的集成方案,实现对原有设备仪表的数据采集,
[嵌入式]
可编程控制器的特点有哪些
可编程控制器使用较多,因此可编程控制器具有很强的现实意义。对于可编程控制器,大家或多或少有所耳闻,但大家未必知晓可编程控制器的几大特点。本文中,小编将对可编程控制器的四大特点予以介绍。如果你对可编程控制器具有兴趣,不妨继续往下阅读哦。 一、功能丰富 可编程控制器的功能非常丰富。这主要与它具有丰富的处理信息的指令系统及存储信息的内部器件有关。 它的指令多达几十条、几百条,可进行各式各样的逻辑问题的处理,还可进行各种类型数据的运算。凡普通计算机能做到的,它也都可作到。 它的内部种种继电器,相当于中间继电器,数量更多。内存中一个位就可作为一个中间继电器,怎么不多! 它的计数器、定时器也很多,是继电
[嵌入式]
美用户去年无线数据流量增长惊人达123%
美国无线通信与互联网协会近日发布的半年度报告显示,美国用户的无线数据流量仍以惊人速度攀升。为了应对美国用户对无线数据的需求,美国移动网络供应商继续在基础设施上投入巨资,将3G网络升级至4G,以增加基站的覆盖面和容量。在2011年,移动供应商资本支出达253亿美元,较2010年增长了2%。 美国无线通信与互联网协会近日发布的半年度报告显示,美国用户的无线数据流量仍以惊人速度攀升。2011年,美国无线数据流量在2010年3880亿兆的基础上增长了123%,达到8667亿兆。其中,活跃的智能手机和无线掌上电脑的数量增加了43%,由2010年的7820万台升至2011年的1.115亿台。 为了应对美国用户对无线数据的需求,美国
[网络通信]
- 热门资源推荐
- 热门放大器推荐
- ICCV2023论文汇总:Human-in-the-Loop Computer Vision(人机协同计算机视觉)
- ICCV2023论文汇总:Geometric Deep Learning(几何深度学习)
- ICCV2023论文汇总:Fairness, Privacy, Ethics, Social-good, Transparency, Accountability in Vision(视觉中的公平、隐
- ICCV2023论文汇总:Faces and Gestures(人脸和手势识别)
- 嵌入式网络那些事:LwIP协议深度剖析与实战演练
- 东芝1200V SIC SBD “TRSxxx120Hx系列” 助力工业电源设备高效
- 一起来学Cadence Allegro高速PCB设计
- 5G+MEC+V2X车联网解决方案白皮书
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
更多热门文章
更多每日新闻
更多往期活动
- 你是课代表——TI培训最受欢迎课程由你做主 发帖荐课即可参与幸运抽奖!
- 【已结束】直播|Microchip MPU解决方案及典型应用
- 有奖直播:万物互联 -世健公司携手Microchip专家,共同探讨IoT解决方案
- EEWorld邀你来拆解(第7期)——拆拆减肥利器,看看跳绳里都有什么
- 全球首款Cortex-M23内核物联网芯片SAML10和SAM L11系列 闯关获取SAML10/SAML11法宝,拆除电子界安全危机,赢好礼!
- 重量级板子揭晓——TI M4开发板,你敢得到她么?
- 英飞凌出手游啦 | 汽车水泵挑战赛等你来!
- 聊聊童年趣事,一起过六一!
- 呼朋唤友,传播电源设计的秘密!
- 停工停课不停学!罗姆R课堂正式上线
11月22日历史上的今天
厂商技术中心