微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于PC主机北桥的长时间不间断高速采集和存储的系

基于PC主机北桥的长时间不间断高速采集和存储的系

时间:09-26 来源:互联网 点击:

linx公司Spartan-3ADSP系列的FPGA芯片XC3SD3400A。因为PEX8311接口芯片可支持8位、16位、32位数据的传输,为了提高数据传输的效率,同时也为了使得数据采集速率获得相对提升。本设计中PEX8311中采用32位数据传输。所以在本方案FPGA数据流逻辑控制中,不仅要完成数据的缓存以及数据传输逻辑的控制,还要进行数据位的变换扩展,由14位数据扩展为32位数据。

数据传输和存储

数据传输是指的从PEX8311到主机内存的过程。本方案选择DMA方式进行,由于PEX8311内建两个DMA通道。本方案使用其中的一个,DMA通道0。在安装PLX提供的SDK以及驱动后,可以通过其提供的API开发包中的函数对PEX8311和PEX8616进行控制和访问。一般的DMA传输过程是无需CPU的参与的,但是含Burst的DMA操作还是要通过CPU的参与的,与单独的一次读写操作相比,Burst只需要提供一个起始地址就行了,以后的地址依次加1,而非Burst操作每次都要给出地址,以及需要中间的一些应答、等待状态等等。如果是对地址连续的读取,Burst效率高得多,但如果地址是跳跃的,则无法采用Burst操作。PEX8311的DMA传输支持Single Burst 、Burst-4LW和Infinite Burst三种突发方式,表1为三种突发方式在不同单次传输字节数的情况下的传输速度对比。

表1 DMA传输在三种突发方式下的速度对比(MB/s)

由表1数据可观察出,采用后两种突发方式进行DMA传输时,速度较普通DMA传输方式有明显的提高,因此本方案采用Infinite Burst突发方式进行DMA传输,使用连续的地址,以提高DMA传输的速度。

PLX公司SDK中提供的函数可对PEX8311和PEX8616进行一系列控制和操作,DMA通道的参数设置在打开DMA通道的时候一并完成,通过设置函数PlxPci_DeviceOpen()中的PLX_DMA_PROP结构体可以设置DMA传输的突发方式、本地总线带宽和传输方向等参数。在系统初始化过程中设置以上参数。当整个采集存储过程完成时,则需要进行对整个工程的关闭工作,同样是通过SDK中的函数PlxPci_DeviceClose()来关闭DMA通道。然后释放开辟的所有内存块空间,并将指针赋NULL值。系统连续存储的整个过程从开始到结束,虽然进行了很多个DMA传输的操作,但是只进行了一次DMA通道的打开和关闭,从而尽可能低的减小由于这部分时间带来的速度影响。软件流程如图5所示。

图5 采集存储系统软件流程图

根据图5可以观察到系统引入了多线程技术,多线程技术的实现是通过分别创建两个函数,一个控制DMA控制器进行连续的数据传输,另一个用于将内存中的数据快速的存储到磁盘阵列中,然后创建成为两个线程。当准备开始进行数据传输的时候,首先是设置DMA传输的参数并打开DMA通道。在此过程中还需要申请多块内存空间进行缓存数据,由于使用多线程技术,因此一块内存空间不能同时供两个函数同时读写,因此创建多个内存块,然后将两个线程同时打开,对开辟的多个内存块依次进行读写操作,但是由于整个过程只包含一个极短的时间延迟,因此完全可以将整个读写内存的过程近似的看成一个同时进行读写操作,因此达到提高存储的速度的目的。
传输速度分析

RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。

表2 RAID0方式下读写阵列速度比较(MB/s)

该系统在实际的采集存储过程中,连续存储的速度在135MB/s,因此用两块或者三块磁盘组成的RAID 0阵列就能完全满足设计要求。因为存储的速度仍明显高于采集卡DMA传输的速度,而且可以通过扩展RAID卡上的硬盘数进一步增加磁盘阵列存储速度。表2的实验数据使用四个Western Digest WD3200AAJS硬盘,因为使用同样大小或者规格的硬盘能够更好的使用所用的磁盘空间。由表中的数据可以看出,随着磁盘数目的增加,其存储的各项指标均有明显的提高,该磁盘阵列卡Rocket RAID 2680最多可提供8块SATA硬盘,随着采集卡采集传输的速度的提升,可以用更多的磁盘组建磁盘阵列,来匹配前端采集卡的带宽,所以整个系统只需更换一个更高速的PCI-E采集卡就可以实现更高存储速度的高速采集存储系统。

图6 高速采集存储系统照片

结论

设计一个基于PC主机北桥的长时间不间断高速采集和存储的系统。利用PC北桥PCI-E扩展技术,将采集卡和存储都连接到计算机北桥,此法可以用于后续通道进一步扩大的应用中。本文最后介绍了利用PC主机、PCI-E接口

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top