您现在的位置:首页 > 技术支持技术支持

基于FPGA的高速大容量固态存储设备

发布时间:2018-09-05 06:32:00  来源:大电流电感厂家   查看:

系统整体框图


图2中2个外部接口连接2个A/D通道,采用两片FPGA作为控制和缓冲区,每片控制16组Flash。存储板通过PCI9054与CPCI总线相连,通过CPCI总线可以将存储板数据高速读回计算机。

3.2 系统设计思想

为了解决高速的数据采集和低速的Flash访问速度之间的矛盾,采取将数据流串并转换,复制多个操作模块并行处理的设计方法。通过利用FPGA内部的存储区实现4个双口RAM作为缓冲区。每条外部Flash总线用一个双口RAM,采集到的数据分时加载到4个RAM中,然后再写入Flash。写入Flash的操作以流水方式进行,具体方式如图3所示。首先,外部A/D采样通道写数据到RAM1。当RAM1写满时,加载数据到第一组Flash数据寄存器,加载完成后第一组Flash进入自动编程阶段;当RAM2写满时,第2组Flash加载开始,数据加载完成后,进入自动编程阶段。依次加载RAM3,当RAM4写满,第4组Flash开始加载后,FPGA内部控制重新写RAM1,开始对第5组Flash操作,然后依此循环方式对第6~16组Flash进行操作;当第16组数据加载完成后,第1组Flash已经编程结束,接着从第1组Flash开始加载和编程。可看出向16组Flash写入数据是并行的,通过并行写操作,可存储高速采集的数据。

16组Flash的流水操作方式示意图


FPGA内部设计大体可划分为PCI9054操控部分和数据录放部分。PCI9054操控部分一方面跟PCI9054接口,一方面要完成对Flash的操作。数据录放部分主要完成外部数据写入、读出以及擦除、建立无产块信息列表等功能。由于对4组Flash的操作都是一样的,所以数据录放部分可以分为数据流控制部分和Flash操控部分。数据流控制部分控制数据写入或读取哪组Flash;Flash操控部分用于对Flash的具体操作。图4为数据录放部分FPGA功能结构。为了节省内部存储单元的数量,写入和读取数据要使用同样的缓存区。

数据录放部分FPGA功能结构


3.3 无效块的建立和操作

当一个块中有一位或更多位不能正确操作时,就定义此块为无效块。无效块并不影响其他块的正常工作,各个块之间是相互独立的。所选的K9F2G08U0M在出厂时可能存在无效块,在使用中也可能产生新的无效块,但是器件的第一个块一定不是无效块。NAND Flash在出厂时就标记本身的无效块,每个块的第一页或第二页的空闲区的第一个数据不是FFh,则表示此块为无效块。为了保证Flash的正确操作,必须在操作之前建立无效块信息表。在每片FPGA中设计了4个2 048×1 bit的RAM用于存储无效块的信息。RAM的每一个存储单元存储相应总线上的4组Flash的无效块信息。其中某一块的无效块信息是4组Flash的无效块信息相“与”后的结果(1表示正常,0表示无效块)。在对Flash进行读、写或擦除操作之前,应先从RAM中读取无效块信息,然后根据无效块信息决定是否对当前块操作。

3.4 读写Flash操作

对Flash的读写操作都是基于页的,读写操作的时序分别如图5和图6所示。计算机通过CPCI总线发送出读或写命令后,FPGA内部根据接收到的命令执行相应操作。写Flash时,外部采集的数据输入RAM1,RAM1满后,开始向RAM2写入数据,同时选通第一条总线上第一组Flash的写模块,在写模块中通过计数器产生ALE、CLE、WE、RE等控制写Flash的相应时序,将数据从RAM中编程到Flash内存,并令页地址加1,依次循环(循环流程见图3)。当总线上的第4组Flash的页地址为64时,块地址加1,并读取无效块信息,如果为无效块,则屏蔽此块,重新读取下一块信息,直至读取到正常块为止。如果是正常块,则向此块中写入数据,同时将页地址清零。读操作与写操作类似,只不过是将Flash中的数据读出先送到RAM,然后依循环次序读取RAM即可。

读写操作的时序


3.5 PCI9054操控部分的设计

通过编写PCI9054专用的驱动和应用软件,实现由计算机通过CPCI总线操控存储板卡。在应用软件中,对Flash读写或者擦除等命令自定义为对CPCI总线发送特定的数据。而在FPGA内部根据PCI9054发送的局部端数据线上的特定数据判断是何种操作,并执行相应操作。FPGA和PCI9054通信的主要信号线有LHOLD、LHOLDA、READY、ADS、ADDR、DATA,利用这些信号线可以实现PCI9054局部端和FPGA握手。将数据写到计算机中。在PCI9054专用的驱动和应用软件中,利用DMA方式读取Flash,读取速度可提高至1.3 MHz×16 bit。平面变压器厂家 | 平面电感厂家

CRM模式时mos管得导通时间Tonh:最高输入电压Uimax对应的导通时间

Tonl:最低输入电压Uimin对应的导通时间

为什么计算的方法不一样?

小白希望各大神抽空解答下,谢谢!













[开关电源]通信电源为什么用的是 -48V 而不是+在“****”淘到一颗电源如图片这个是参数-48V的。 所以引出一个问题,为什么要用-48V的呢?满意回复+20jjjyufan 查看完整内容A:这里面包含2 个意思: 1. (1) 极性为何是负电源(也就是正接地)? 2. (2) 电压为何为-48V(-36~ -72V)? 先说一下第2 个问题 ...A:这里面包含2 个意思:   1.          (1) 极性为何是负

电子技术在LED照明应用分析与传统的照明方式相比,LED照明有许多独特的地方,主要表现在:从结构上看,传统照明的光源和灯具是分离的,而LED照明在结构可以实现配光、散热及灯具的一体化设计;从功能上看,只有少部分的传统照明可以实现

CopyRight2014
大电流电感 | 大功率电感 | 扁平线圈电感 注塑加工厂