高速数据采集系统中高速缓存与海量缓存的实现

时间:2024-09-04 08:15:31 理工毕业论文 我要投稿
  • 相关推荐

高速数据采集系统中高速缓存与海量缓存的实现

摘要:探讨了高速数据采集系统中高速采样缓存的重要性和实现途径,阐述了基于ADSP-21065L的并行多通道数据采集板上高速采样缓存的设计与电路结构,给出了采用FPGA实现通道复用和采样数据预处理,从而构造16MB的SDRAM海量缓存以将高速缓存中的多批次采样数据经AD-21065L倒入SDRAM存储的实现方法。

1 引言

高速数据采集系统目前已在雷达、声纳、软件无线电、瞬态信号测试等领域得到广泛应用。它的关键技术是高速ADC技术、数据存储与传输技术和抗干扰技术。本文在分析了高速多通道数据采集系统中存储子系统的性能要求和设计方案的基础上,提出了高速缓存和海量缓存方案,并将该方案成功地应用于DSP多通道超声信号采集与处理系统中。

对高速多通道采样数据存储的性能要求:一是高速性,现在高速数据采集中所用的ADC已达到几十甚至几百MSPS的水平,这就要求采样数据存储器的速度也要与之匹配,也就是采用高速缓存;二是大容量,其原因是多通道高速数据采集会产生巨大的数据流。一个4通道40MHz采样率16位精度数据采集板并行采样0.1s将产生32MB的数据量,所以,通常需要海量缓存来存储采样数据。

2 高速缓存的实现

通常构成高速缓存的方案有三种:

第一种是FIFO(先进先出)方式。FIFO存储器就象数据管道一样,数据从管道的一头流入、从另一头流出,先进入的数据先流出。FIFO具有两套数据线而无地址线,可在其一端写操作而在另一端读操作,数据在其中顺序移动,因而能够达到很高的传输速度和效率,且由于省去了地址线而有利于PCB板布线。缺点是只能顺序读写数据,因而显得比较呆板,而且大容量的高速FIFO非常昂贵;

第二种是双口RAM方式。双口RAM具有两套独立的数据、地址和控制总线,因而可从两个端口同时读写而互不干扰,并可将采样数据从一个端口写入而由DSP从另一个端口读出。双口RAM也能达到很高的传输速度,并且具有随机存取的优点,缺点是大容量的高速双口RAM很难得且价格昂贵;

第三种是高速SRAM切换方式。高速SRAM只有一套数据、地址和控制总线,可通过三态缓冲门分别接到A/D转换器和DSP上。当A/D采样时,SRAM由三态门切换到A/D转换器一侧,以使采样数据写入其中。当A/D采样结束后,SRAM再由三态门切换到DSP一侧以便DSP进行读写。这种方式的优点是SRAM可随机存取,同时较大容量的高速SRAM容易得到且价格适中,缺点是切换控制电路比较复杂,且只能由A/D转换器和DSP分时读写。

综合考虑以上三种高速缓存方案的性能、价格和实现方便性后,笔者选用第三种方案(即高速SRAM切换方式)来构成A/D采样高速缓存。系统的采样与存储部分的原理框图如图1所示。

图1中,SRAM选用IS61LV25616-10T,容量为256k×16bit,访问速度为10ns,使用两片即可构成256k×32bit的高速缓存。当一轮采样开始时,DSP发出触发信号给CPLD,后者对50MHz晶振时钟二分频后得到25MHz采样时钟提供给4路A/D转换器AD9225,同时对4路超声信号进行25MHz、12bit的A/D转换。转换结果分成两个完全一样的数据通道进行处理,每个数据通道处理两路A/D转换结果,每个数据通道包含一片FPGA(现场可编程门阵列)、一片SRAM及其后的数据三态门等电路。FPGA可接收两路A/D转换结果并在其内部进行复用,以将其变成一路50MHz、12bit的数据流送入IS61LV25616缓存。FPGA完成数据通道复用的原理如图2所示。

FPGA选用EP1K50,它的逻辑门数为5万门,内含10个EAB(嵌入阵列块)。每个EAB实际上是4kbit的RAM,可以用来构造FIFO、双口RAM等。本系统应用两块EAB构成了两个256×16bit的FIFO,因而可将两路A/D转换结果分别送入两个FIFO,然后在FPGA的输出端将两个FIFO中的数据交替地读出写入IS61LV25616,每个FIFO每次读出128个采样数据。A/D转换器的输出为12位数据,而FPGA的片内FIFO和片外IS61LV25616的数据字宽都为16位。在存储、传送时,将高4位补0即可。两路A/D采样速度都为25MHz,复用后输出的速率为50MHz,这个速度对于IS61LV25616和EP1K50都是完全可以达到的。FPGA的作用除了构造FIFO以实现数据通道复用外,还可以作为协处理器由板上DSP控制来进行一些简单高效的数据预处理(如插值、取平均、FIR滤波等)。同时可使用EDA工具MAX+PLUSⅡ10.0来对EP1K50的逻辑算法进行设计、编译并仿真,然后下载到EP1K50中实现预定功能。

除了FPGA外,系统还采用了一片CPLD(复杂可编程逻辑器件)来控制采样。前者主要用于数据通道对A/D采样结果进行缓冲复用以及预处理,后者则负责产生A/D采样时钟以及作为地址计数器产生地址并提供给两片IS61LV25616以便存入A/D采样结果等。CPLD不象FPGA那样能完成较复杂的逻辑功能和信号处理算法,但是它具有更高的速度,且管脚到管脚具有固定一致的时延,因而在设计调试时容易获得简单可靠的定时关系,适于实现高速计数器、触发器、译码器等定时要求比较严格的场合。本系统使用MAX7128AE来控制采样,其可实现的功能如图3所示。

【高速数据采集系统中高速缓存与海量缓存的实现】相关文章:

基于USB总线的高速数据采集系统03-26

基于片内WISHBONE总线的高速缓存一致性实现03-18

USB接口的高速数据采集卡的设计与实现03-18

换体DMA高速数据采集电路的CPLD实现03-18

ISP技术在高速数据采集模块中的应12-07

基于USB总线的实时数据采集系统设计与实现03-19

VHDL在高速图像采集系统中的应用设计03-18

基于USB2.0的高速同步数据采集系统设计03-19

超声波测井的井下数据采集与传输系统的实现03-19

闪存在大容量数据采集系统中的应用03-07