一种基于fpga的高速信号采集存储及回放装置的制作方法

文档序号:6599535阅读:260来源:国知局
专利名称:一种基于fpga的高速信号采集存储及回放装置的制作方法
技术领域
本发明涉及数据采集装置,特别涉及一种基于FPGA的高速信号采集存储及回放装置。
背景技术
随着工业自动化和智能化数字化系统的不断发展,数据采集系统在工业生产、科 学研究、实验教学和智能家居生活等领域得到了快速的发展,在数字化地球的发展和进化 中,数据采集系统将是所有系统中不可缺少的重要组成部分。总的来说,现有的数据采集系统大多是采用在线采集的方式,主流方式有以下三 种1、通过PCI或者ISA总线方式插入计算机的扩展槽采集数据,该方式目前产品最 多、使用最广、可靠性高、传输速度快,采集数据通道数可达数百个,可适应于工业现场及实 验室内研究,但不适应野外作业等特殊场合;2、通过通讯电缆长距离传输信号进行数据采集,该方式在目前应用中也使用较 多,但电缆传输线的通道数、成本以及干扰问题是该方式最严重的缺陷;3、通过无线传输来进行数据采集,随着无线通信技术的发展该方式的应用也越来 越广泛,在不久的未来将迎来工业无线应用新时代,但在一些电磁干扰恶劣,或是在水下作 业的环境,无线数据传输将无法实现。随着现代工业、材料、信息技术的发展,应用系统越来越庞大,现场环境也越来越 复杂,对数据采集的要求也越来越高,对数据采集系统提出了更多、更高和更广的要求,现 有的数据采集系统已经不能满足工程爆破、振动监测、水下测试及其它野外作业场合的数 据测试和采集需要。

发明内容
鉴于上述现有技术存在的不足,本发明提出一种基于FPGA的高速信号采集存储 及回放装置。本发明的目的是通过以下技术方案实现的一种基于FPGA的高速信号采集存储及回放装置,包括信号调理电路、高速A/D转 换电路、FPGA处理单元、SDRAM存储器、NAND FLASH存储阵列、USB2. O通讯单元以及上位 机。其中,所述信号调理电路用于将从外界采集到的模拟信号进行调理;所述高速A/D转换 电路用于将上述调理过的模拟信号转化为数字信号;所述SDRAM存储器用于缓存上述数字 信号;所述NAND FLASH存储阵列用于存储经过处理的上述数字信号以及上位机指定的采 样频率、每个采样段的时间长度;所述USB2. O通讯单元完成将FPGA发送到端口的数据通过 USB总线传输至上位机以及解析上位机软件发送的控制命令以及采样频率、每个采样段的 时间长度数据包,并输出相应的控制信号以及数据信息到FPGA处理单元;所述的上位机通 过软件控制能够接收USB2. O通讯单元发送的数据包并解析,将不同的通道数据保存至文件以及将其描绘的曲线显示在界面上,实现放缩、拖动等分析处理功能。所述FPGA处理单 元包括工作模式选择开关,使得该单元可以选择工作于信号采集模式下或者信号回放模式 下,其中在信号采集模式下,所述FPGA处理单元用于控制A/D采样,并将转换得到的数字信 号缓存至所述SDRAM高速数据存储器,之后采用LZW算法对缓存在SDRAM存储器中的数字 信号进行无损压缩后写入NAND FLASH存储阵列;在信号回放模式下,FPGA处理单元将数据 从NAND FLASH读出并通过USB2. O通讯单元发送至上位机进行回放。
进一步地,本发明所述的高速信号采集存储及回放装置,还包括无线接收模块,用 于接收远程控制信号,并产生外部触发信号,用于启动下一时间长度的采样存储,实现分段 采集存储。进一步地,本发明所述的高速信号采集存储及回放装置,所述FPGA处理单元在信 号回放模式下,在将存储在NAND FLASH中的数据发送至USB2. 0通讯单元之前,在所述数据 中添加一个通信协议报头,用于识别所传数据的通道编号以及采样频率信息。进一步地,本发明所述的高速信号采集存储及回放装置,其特征在于所述高速A/D 转换电路为多片高速ADC芯片组成的同步采样转换电路。更进一步地,本发明所述的高速信号采集存储及回放装置,其特征在于每个通道 的采样频率通过上位机分别设置。本发明与现有技术相比,具有以下有益效果1、本装置是基于先采集后回放的便携式数据采集处理设备,可满足工程爆破、振 动监测、水下测试及其它野外作业场合的数据测试和采集需要;2、本装置采样频率高、存储容量大,数据存储之前对数据进行无损压缩,有效降低 数据存储量,可适应大多数采集场合的需要;3、本装置产品采用高速NAND FLASH闪存,相比传统的存储介质机械硬盘,其可以 经受很大的压力、极端的温度,可以在强冲击、震动下工作,具有广阔的应用前景。


图1是基于FPGA的高速信号采集存储及回放装置结构图;图2是一个信号调理电路及高速A/D转换电路的实施例;图3是采集模式下的系统结构示意图;图4是数据采集、处理、存储的流程图;图5是一个NAND FLASH存储阵列的实施例;图6是信号回放模式下的系统结构示意图;图7是一个上位机软件发送数据请求指令数据包的实施例;图8是一个FPGA处理单元发送数据包的实施例。
具体实施例图1是高速信号采集存储及回放装置的结构图。包括信号调理电路101、高速A/D 转换电路102、FPGA处理单元103、SDRAM存储器104、NAND FLASH存储阵列105、USB2. 0通 讯单元106以及上位机软件107。信号调理电路101是一个增益可调电路,它将外部不同输 入幅值范围的信号按照不同比例放大,以适应后级AD采样的需求,放大比例由跳线进行选择。高速A/D转换电路102完成高速模拟信号到高速数字信号的转换。FPGA处理单元103 能根据外部跳线设置判断装置处于采集模式还是信号回放模式。在采集模式下,FPGA处理 单元103将AD采样得到的数字信号写入SDRAM存储器104进行缓存,再对数据进行压缩 之后写入NAND FLASH存储阵列105 ;在信号回放模式下,FPGA处理单元103将NAND FLASH 存储阵列105存储的数据读出并通过USB2.0通讯单元106发送至上位机,交由上位机软件 107处理。信号调理电路主要是一种增益可调电路,其完成将不同幅值范围的输入信号按照 不同比例放大,以适应AD采样的需求。高速A/D转换电路主要完成高速模拟信号到高速数字信号的转换。FPGA处理单元主要是FPGA芯片以及其外围电路,FPGA芯片内部包含ADC控制模 块、SDRAM控制模块、LZff算法模块、FIFO缓冲模块、NAND FLASH控制模块、USB控制模块以 及工作模式选择开关。ADC控制模块控制AD的采样时序,并将数字信号读入通过SDRAM控 制模块写入SDRAM存储器,LZW算法模块对SDRAM中的数据进行无损压缩,压缩后的数据通 过FIFO高速缓冲写入NAND FLASH存储单元。上位机通过软件控制完成对装置的操作控制功能以及接收数据存储并将其描绘 的曲线显示在界面上,实现相关分析处理功能。所述的上位机可以向USB2. 0通讯单元发 送特定信息,比如发送数据请求指令数据包,告知FPGA处理单元发送NAND FLASH存储阵 列中存储的指定通道编号内的指定数据段;发送擦除指令数据包,告知FPGA处理单元对 NANDFLASH中指定地址范围的数据进行擦除;发送设置各通道采样频率数据包,告知FPGA 处理单元各个通道的A/D采样频率;发送设置每个采样段的时间长度数据包,告知FPGA处 理单元采集时每个采样段的时间长度。本实施例中,FPGA芯片采用Altera公司的CYCLONE III系列FPGA芯片 EP3C40F484C8N,高速A/D采用ANALOG公司的高速并行AD芯片AD9224,SDRAM存储器采用 K4S561632J, NAND FLASH 采用 SAMSUNG 公司的 K9F2G08U0B,USB 芯片采用 CYPRESS 的公司 USB2. 0 芯片 CY7C68013A。图2显示了一个信号调理电路101以及高速A/D转换电路102的实施例。其中信 号调理电路101主要包括输入信号201、输入阻抗变换202、放大倍数调节203、偏置电压调 节204以及输出阻抗变换205。其中输入阻抗变换202以及输出阻抗变换205是由低输入 失调电压、高带宽的FET型运放组成的高输入电阻,低输出电阻电路。偏置电压调节204主 要是使输出信号在运放可达到的范围之内,使之能被AD正确采样,偏置电压的大小视输入 信号的直流分量而定。放大倍数调节203将峰值随机的输入信号分档放大,使放大后的信 号在AD量程之内,以便AD能够准确的采样信号。需要说明的是,图2显示的是一个单路输入信号处理的实施例,在具体实现时,可 将多路该处理电路并联,实现多路信号处理及A/D转换。图3是采集模式下的系统结构示意图。主要包括信号调理电路101、高速A/D转换 电路102、FPGA处理单元103、SDRAM存储器104、NAND FLASH存储阵列105以及外部触发信 号301。其中,FPGA处理单元103主要包括ADC控制模块302、SDRAM控制模块303、LZW算 法模块304、FIF0缓冲模块305以及NAND FLASH控制模块306。在外部触发信号301到来 之前,高速A/D转换电路、SDRAM存储器104、NAND FLASH存储阵列105都由FPGA处理单元103控制处于低功耗状态。当远程控制端通过无线发送一个启动信号,无线接收模块接收该 信号并产生外部触发信号301,外部触发信号301到来之后,ADC控制模块302产生高速时 钟控制A/D转换开始,使能各通道高速A/D开始同步、等时间间隔采集,之后通过SDRAM控 制模块303将转换得到的数据送入SDRAM缓存,LZff算法模块304将缓存的数据进行无损 压缩再送入FIFO缓冲模块305,并由NAND FLASH控制模块306将FIFO中的数据写入NAND FLASH存储阵列105。需要说明的是,通过控制其同步、等时间间隔采样,在还原原始信号时可通过时间间隔长度得到相邻采样点的时间信息,进而得到信号的时间特性,使得在采集存储时,无需 将时间信息进行存储,从而提高系统工作效率,有效降低存储数据量。图4是数据采集、处理、存储的流程图。系统上电后,首先执行步骤S401,将存储 于NAND FLASH指定区域的采样频率、采样时间段的时间长度以及上次采样时的系统参数读 出,并根据该参数生成时钟控制每次A/D采样的启动时间以及NAND FLASH存储阵列105的 开始写入地址。在图4所示的外部触发信号301来临后,执行步骤S402,开始启动A/D转 换,对待采集信号进行采集,读取A/D转换值。接下来执行步骤S403,判断指定的采样时间 长度是否已经满足,若满足,则执行步骤S405,将当前系统状态信息保存,主要是指每个通 道NAND FLASH的最后写入页地址。若不满足,则执行步骤S404,将得到的数据写入对应通 道的SDRAM缓冲区进行缓存。在步骤S406中,使用LZW算法对存储在SDRAM缓冲区的数据进行无损压缩,减小 所需存储的数据量,降低对数据存储的要求,一方面,单位时间内存储的数据量减少,意味 着可以获得更高的数据采样率;另一方面,将数据进行压缩,可以节省所需的存储空间。数 据压缩之后执行步骤S407,将压缩后的数据写入对应的FIFO缓冲区。在缓冲区的数据量达 到NAND FLASH的单页存储容量后,也就是满了 2048字节后,执行步骤S408,将所得数据写 入NAND FLASH存储阵列105。图5是一个NAND FLASH存储阵列105的实施例。考虑到NAND FLASH在将一页的数 据写入其内部器件缓冲区之后,还有一段页编程时间,其典型值为200us,最大值为700us。 为了避免在页编程等待时间内出现数据的丢失,在设计上对多组NAND FLASH存储组502进 行轮询写入的方式,即将当前数据块写入一个NAND FLASH存储组502之后,下一数据不再 写入该存储单元,而是写入下一个NAND FLASH存储组502,当轮询完第16个NANDFLASH存 储组502之后,再返回写第一个NAND FLASH存储组502的第二页,如此不会因为页编程时 间内的等待而造成数据丢失。如图5所示,首先由16个NAND FLASH存储组502构成一个NAND FLASH存储子 阵列501,NAND FLASH存储组502由两块8位NAND FLASH构成。16个NAND FLASH存储组 502的16位数据线并联得到NAND FLASH存储子阵列501的16位数据线,与FPGA处理单元 103的IO 口相连。其/TO,/RE, CLE, ALE控制线并联得到NAND FLASH存储子阵列501的/ WE, /RE, CLE,ALE控制线,与FPGA处理单元103的IO 口相连。每个NAND FLASH存储组502 的R/B信号以及/CE控制线分别与FPGA处理单元103的IO 口相连。由多个所述的NAND FLASH存储子阵列501并联构成NAND FLASH存储阵列105。将一页的数据写入NAND FLASH内部缓冲在IOOus以内,由此可得到上述的16组 16位NAND FLASH存储子阵列501的写入速度高于40Mb/s。在实际使用中,可以为每个通道开辟多个FIFO缓冲,每个FIFO缓冲对应一个NAND FLASH存储子阵列501,由此,只要FPGA 芯片资源足够,该方式可以实现40*N Mb/s的数据写入速度,其中N为每个通道FIFO缓冲 的数量,亦可理解为每个通道外接NAND FLASH存储子阵列501的数量。。图6是信号回放模式下的系统结构示意图。主要包括FPGA处理单元103,SDRAM存 储器104,NAND FLASH存储阵列105,USB通讯单元106,上位机软件107。其中,FPGA处理 单元103主要包括SDRAM控制模块303、NAND FLASH控制模块305以及USB控制模块601。 首先,上位机软件107发送数据请求命令数据包,USB通讯单元106将数据转发给FPGA处理 单元103,由USB控制模块601对数据进行解析。得到所需发送的数据内容参数后,由NAND FLASH控制模块305从NAND FLASH存储阵列105指定地址单元中将数据读出并由SDRAM控 制模块303控制将读出的数据按照设定的数据包格式写入外部SDRAM存储器104。在存储 的数据量达到64KB后,由USB控制模块601将数据通过端点发送到USB通讯单元106。本实施例中,USB通讯单元106使用的USB芯片为CYPRESS的公司USB2. 0芯片 CY7C68013A,其传输方式采用批量传输。在收到FPGA处理单元103发送过来的数据后,USB 通讯单元106自动将数据打包发送至上位机。为了保证数据在高速传输下的稳定性,上位 机软件107采用异步传输模式,并采用乒乓缓冲的方式对数据进行接收,对收到的数据进 行解析,按通道编号保存至对应文件,并将数据解压将信号还原成曲线显示在界面上。同 时,上位机软件107还可以实现对还原的信号曲线进行放缩、拖动、显示曲线数据等分析处 理功能。图7是一个上位机软件107发送数据请求指令数据包的实施例。其主要由帧头 701、指令类型702、指令内容703、校验码704、帧结束标志705五个部分构成。本实施例中, 帧头701为单字节数据0x68,帧结束标志705为0x16。数据请求指令数据包的指令类型 702为Oxbl,指令内容703为多个通道的通道编号、请求数据开始时间、请求数据结束时间 组成。其中,各个通道编号、请求数据开始时间、请求数据结束时间可以在上位机软件107 中进行设置。除上述指令数据包之外,上位机软件107还可以发送擦除指令数据包、系统设置 指令数据包等,其数据包帧格式与发送数据请求指令数据包的帧格式相同,所不同的是,指 令类型702、指令内容703以及校验码704根据所发送指令的不同而有所不同。比如,发送 擦除指令数据包的指令类型702为0xb2,发送设置各通道采样频率数据包的指令类型702 为 0xb3o图8是一个FPGA处理单元103发送数据包的实施例。其主要由帧头801、通道编 号802、数据长度803、数据内容804、校验码805、请求数据结束标志806以及帧结束标志 807组成。其中,帧头801为0x69,帧结束标志807为0x17。通道编号802为对应数据的 A/D采样通道编号,数据长度803为所发送数据内容804的字节数。请求数据结束标志806 指示上位机软件107所请求的数据是否发送完成,若该标志为Oxel,则表示数据尚未发送 完毕;若该标志为0xe2,则表示所请求的数据已经发送完毕,上位机软件107给出“数据传 输完成”提示。在上文中,虽然参照本发明的具体实施例详细描述了本发明,但是,很明显,在本 发明的范围和精神内,本领域技术人员能对实施例进行修改、变更以及改进。因此,将理解 本发明并不局限于具体的说明性实施例,而仅仅被附加权利要求的范围所限定。
权利要求
一种基于FPGA的高速信号采集存储及回放装置,包括信号调理电路、高速A/D转换电路、FPGA处理单元、SDRAM存储器、NAND FLASH存储阵列、USB2.0通讯单元以及上位机,其中所述信号调理电路用于将从外界采集到的模拟信号进行调理,所述高速A/D转换电路用于将上述调理过的模拟信号转化为数字信号,所述SDRAM存储器用于缓存上述数字信号,所述NAND FLASH存储阵列用于存储经过处理的上述数字信号以及上位机指定的采样频率、每个采样段的时间长度,所述USB2.0通讯单元用于将FPGA处理单元发送到端口的数据通过USB总线传输至上位机以及解析上位机软件发送的控制命令以及采样频率、每个采样段的时间长度,并输出相应的控制信号以及数据信息到FPGA处理单元,所述上位机能够通过软件控制接收USB2.0通讯单元发送的数据包并解析,将不同的通道数据保存至文件以及将其描绘的曲线显示在界面上进行分析处理,其特征在于所述FPGA处理单元包括工作模式选择开关,使得该单元可以选择工作于信号采集模式下或者信号回放模式下,其中在信号采集模式下,所述FPGA处理单元用于控制A/D采样,并将转换得到的数字信号缓存至所述SDRAM高速数据存储器,之后采用LZW算法对缓存在SDRAM存储器中的数字信号进行无损压缩后写入NAND FLASH存储阵列,在信号回放模式下,FPGA处理单元将数据从NAND FLASH读出并通过USB2.0通讯单元发送至上位机进行回放。
2.根据权利要求1所述的高速信号采集存储及回放装置,其特征在于还包括无线接收 模块,用于接收远程控制信号,并产生外部触发信号,以启动下一时间长度的采样存储,实 现分段采集存储。
3.根据权利要求1或2所述的高速信号采集存储及回放装置,其特征在于所述FPGA处 理单元在信号回放模式下,在将存储在NAND FLASH中的数据发送至USB2. O通讯单元之前, 在所述数据中添加一个通信协议报头,用于识别所传数据的通道编号以及采样频率信息。
4.根据权利要求3所述的高速信号采集存储及回放装置,其特征在于所述高速A/D转 换电路为多片高速ADC芯片组成的同步采样转换电路。
5.根据权利要求4所述的高速信号采集存储及回放装置,其特征在于每个通道的采样 频率通过上位机分别设置。
全文摘要
本发明公开一种基于FPGA的高速信号采集存储及回放装置,本装置由信号调理电路、高速A/D转换电路、FPGA处理单元、SDRAM存储器、NAND FLASH存储阵列、USB2.0通讯单元以及上位机软件组成。采集模式下,模拟信号经信号调理电路后通过高速A/D转换电路转换为数字信号,FPGA处理单元将数字信号缓存并用LZW算法进行无损压缩后写入NANDFLASH存储阵列。信号回放模式下,FPGA将数据从NAND FLASH读出并通过USB2.0通讯单元发送至上位机,上位机软件实现对数据的接收解析及相关分析处理。
文档编号G06F17/40GK101807214SQ20101012833
公开日2010年8月18日 申请日期2010年3月22日 优先权日2010年3月22日
发明者周海燕, 祝高峰, 肖业伟, 谢锋, 阳敏 申请人:湖南亿能电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1