1引言
高速数据采集系统目前已在雷达、声纳、图像处理、语音识别、通信、瞬态信号测试等领域得到广泛应用。它的关键技术是高速ADC技术、数据存储与传输技术和抗干扰技术。当大量的高速实时数据经过模数转换后,必须高速存储,多通道高采样率的数据采集系统会产生巨大的数据流。这样就需要高速大容量的存储板将数据存储起来,然后再读回计算机进行处理。基于以上原因,本文设计了可以同时存储两通道采样数据的大容量存储板,板中采用了64片Samsung公司的高速大容量存储器K9F2G08UOM,使整块板卡的存储容量达到128Gbit。采用FPGA作为控制器,通过标准的CPCI工控机箱操作存储板,并通过CPCI总线将存储板上的数据高速读回计算机,提高了读取数据的速度。
2K9F2G08UOM简介
NORF
lash和NANDFlash是目前市场上的两种主要的非易失性闪存技术,本设计的目的是为了高速存储大容量的数据,因此,选择NAND型K9F2G08U0M存储器。它的存储容量是2Gbit,8位位宽,页大小为2048×8bit,每块由64页组成,共有2048块。每页带有64×8bit的空闲存储区,共有8192K×8bit的空闲存储区。页编程的典型时间为300μs,***大页编程时间为700μ8。页内连续***小访问时间为30ns/Byte,即数据写入Flash数据寄存器的速度可达33MB/s。但是单页数据的典型编程速度为2048/300μs=6.8MB/s,***慢的编程速度为2048/700μs=2.9MB/s。块擦除的典型时间为2ms。K9F2G08U0M具有硬件数据保护功能,即在电源上电、掉电期间关闭编程/擦除操作。K9F2G08U0M内部写控制器使得所有的编程和擦除操作自动进行,片内包含一个页(2048+64字节)的数据寄存器,读写过程中始终是将存储单元数据或外部数据先缓存到数据寄存器,然后再读出数据或写入存储单元。因此,它是基于页读写,基于块擦除的。当然,它也支持随机读写。但本设计目的是高速存储数据,因此对它的读写操作完全是基于页的。K9F2G08U0M的主要引脚有CLE(命令锁存允许)、ALE(地址锁存允许)、CE(片选)、WE(写允许)、RE(读允许)、WP(写保护)、R/B(准备好/忙)、PRE(上电读使能)、I/O0~I/O7(输入,输出)。其中I/O0~I/O7既可作为数据输入输出引脚,又可作为命令地址的输入引脚,命令、地址、数据分时复用,根据不同的命令区分地址和数据。一般的操作流程为:
1)写入命令,通知器件所要完成的操作(读、写、擦除等);
2)写入地址,即写入要读写数据的起始地址,包括列地址和页地址;
3)如果是读或者擦除,写入一个确认命令。如果是写操作,输人待编程的数据,完成后输入编程确认命令。
因为K9F2G08U0M共有128K页,每页的大小为(2048+64)×8bit,所以在写入地址时列地址需要12根地址线,页地址需要17根地址线。这样就需要5个时钟周期来写入地址。前两个时钟写入列地址,后三个时钟写人页地址。
3系统设计
3.1总体硬件设计
外部数据采集系统是2个40MHz采样的16位A/D通道,所以设计时分成两个通道***设计。虽然K9F2G08U0M的数据寄存器写入速度可达33MB/s,但在FPGA设计时,为了在时序上更加可靠,选择使用25MHz的时钟设计,则K9F2G08U0M的写入速度为50MB/s(把两个K9F2G08U0M并成16bit,写入速度即为25M×l6b/s)。这样,在FPGA内部开辟3个页大小的双口RAM作为缓存区就能满足40M×16b/s的写入速度,即在写第2、3个RAM的时间(25ns×2048×2=102.4μs)内,启动第1个RAM把数据写
入Flash的数据寄存器,所需时间为40ns×2048=81.92μs,小于102.4μs。
在读回数据时,如以20MHz读取Flash,以40MHz读出缓冲区中的数据,3个双口RAM就能刚好满足要求,如图1。读取K9F2G08U0M一页数据能达到33MHz的速度,为了让读写Flash使用同一时钟,读Flash也采用25MHz的速度。同时为了增加系统设计的冗余,采用4页的双口RAM作为缓冲区。所以每片FPGA内部至少需要4×2048×16bit="131"072bit的存储空间。
回放时内部缓存区个数
由于数据在写入Flash后还有较长的编程时间,一页的编程时间典型值为300μs,***大值为700μs。数据在存储上不能有任何的停顿,否则就会丢失数据,所以不能使用R/B信号进行设计。为了系统更加可靠,选择***大编程时间700μs。两次对同一组Flash进行写操作的时间间隔为700μs+81.92μs=781.92μs,一页的数据写到双口RAM要
用25ns×2048=51.2μs。总时间除以写一页数据的时间:781.92/51.2=15.3μs,说明一个循环内至少需要16组Flash才能满足要求。所以在设计中,对于每路A/D采样通道都用一片FPGA作为缓冲和控制系统,在每片FPGA内部都采用4个缓冲区,每个缓冲区对应一条外部总线,每条总线上挂有4组K9F2G08U0M×2(将两片Flash并成16位操作,即把I/O并成16位,共用控制信号线)。系统整体框图如图2所示。
系统整体框图
图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写入数据是并行的,通过并行写操作,可存储高速采集的数据。
BTV20.2CA-64B-33C-D-FW
AEG AS-8534-000
AEG AS-P120-000
AEG AS-J890-101
AEG AS-S908-011
AEG PC-0984-455
AEG AS-B872-002
AEG AS-B828-016
AEG PC-E984-265
AEG AS-B872-002
AEG DAP208
AEG NW-RR85-000
AEG NUL200
AEG S908
AEG AS-B840-108
AEG 170BDI54250
AEG AS-B846-001
AEG PC-A984-120
AEG AS-B829-116
AEG AS-B350-001
AEG MM-PMA2-100
AEG 3240/5200
AEG 120-089-006
AEG AS-P120-00
AEG AS-BDEP-218
AEG PC-***84-230
AEG PC-E984-685
AEG 1-PE-0001-000
IBM 59H2682
Tellabs PWPQH151AB
Honeywell 2VM62-020- 5
HPS 100760406
Zenith PWMT-200
***aya Lucent TN2181 V8
AEG AS-P120-000
AEG AM-S985-042
AEG AS-C921-101
AEG AS-B804-016
AEG 170BDM34200
AEG AS-BDAU-202/ASBDAU202
AEG PC-A984-145
AEG AS-B360-001
AEG AS-B885-111
AEG AS-BDEP-210
AEG AS-B804-116
Asco SC8210G87
Chiller 0375-362-21
***aya TN754
Philips 1240/00
Radyne DMD2050
Tektronix MIL-3600TEK
Netgear FVS318
Apple A1047
Dynapar H23200011011J
***aya TN748C V5
Oriental 4TK10CGN-A
Sun 3701704
***aya Lucent TN760D
CMS A5X70
Compaq 007902-001
Reuters CA-AKPT-0001
Haydon 87H4B-05-006ENG
Siemens 6ES5315-8MA11
Cisco 2650XM
***aya TN747B V8
***aya TN747B
NetApp EMA-XF500-201-G1
Phillips 275801
Toshiba DKT2104-CB
SimpleTech 8500-0031-001
Seagate ST330620A
Skystream EMR-1600
*** RM-P110
Startek 299AT
Bogen M300
***aya TN767E
Honeywell 2VM62-020-5
Panasonic TNPA4242
Panasonic TNPA4055
***aya 120A4
***AYA 617U33-K
***aya 103G13
***aya TN573B
***aya TN750B
***aya TN2302AP
***aya TN801B
***aya 391C1
***aya PG-5E385
***aya TN801
***aya TN750C V8
Compaq 007912-001
Asco 103-833-1-D
***aya TN746B
STB 1X0-0271-307
MDC K100-5
Black SP400A-R2
Cisco 34-0667-01
Exide 101073070-001
3664 TRICONEX
3721 TRICONEX
07DI92 GJR5252400R0101
07DI92 GJR5252400R4101
07AI91 GJR5251600R0202
07AI91 GJR5251600R4202
FBM214
FBM215
FBM204卡件 P0914SY
FBM204端子 P0916AG
FBM204电缆 P0916DB
FBM241卡件 P0914TG
FBM241端子 P0916AS
FBM241电缆 P0916FH
FBM241C卡件 P0914WM
FBM241C端子 P0916AW
FBM241电缆 P0916FH
2094-BM02-S
651CD2S2N
DSQ***31
IC697CMM742
MTM-120-S-A20-120VA
TRICONEX 5101
TRICONEX 5201
TRICONEX 5301
TRICONEX 5401
TRICONEX 5351
FBM201
FBM07B
FBM237
FBM242
ENI MKS DCG-100A
ENI MKS DCG-100
ENI MKS DCG-200Z
ENI MKS DCG-100 DC
MKS DCG-200Z OPTIMA OPT-100Z-00
ENI MKS DCG-200ZHC-S02
DCG-200Z DC22S-Z022000010A
ENI DCG-100A DCG4M-A001101010
ENI DCG-100A DC26M-Z011100010C
ENI DCG-100A DCG2M-A001200020C
ENI DCG-100A DCG2M-A001200020MA
ENI DCG-200Z DC21M-Z041300110A
ENI DCG-200A DC22M-A041300111AL
ENI DCG-200Z DC22M-Z041300111A
ENI DCG-200Z DC22S-Z122000010A
ENI DCG-200Z DC24M-Z041300110A
ENI DCG-200Z DC24M-Z041300111A
ENI DCG-200E DCG-400E-00 Optima
DCG-100A DCG1M-A001200020C
DCG-100A DCG1M-A001100020V
DCG-100A DCG1R-A021200021
DCG-100A DCG2D-A001100020MA
DCG-100A DCG2D-A031100021
DCG-100A DCG2S-A022000010
DCG-100A DCG2S-A022001010
DCG-100A DCG2S-A122000010 RPG-50
RPG-100
DSQC639 3HAC025097-001
DSQC679 3HAC028357-001
DSQC633A ***B板3HAC031851-001