新闻  |   论坛  |   博客  |   在线研讨会
基于cpld的高速数据采集系统
dw1980 | 2011-11-13 20:45:02    阅读:6263   发布文章

摘 要: 在超声波探伤中,超声波频率很高。指出了超声波探伤面临的主要问题,提出了应用单片机加CPLD的结构,进行高速采样,并通过特殊算法,将采集数据进行存储的解决方案。
关键词:单片机;CPLD;高速数据;采集;存储
在数据采集系统中,数据的高速采集及数据的存储一直是困扰科研人员的一个问题。科研人员面临如何准确采集高速数据、如何存储数据等诸多问题。利用超声波探伤就是高速数据采集及存储的一个典型实例。
1 超声波探伤面临的主要问题
1.1 采样系统的设计难度
众所周知,超声波的频率在20kHz以上。超声波本身频率很高,这样对数据采集的速度要求很高。应用超声波探伤,对超声波频率的要求更高,为能够远距离探伤,甚至要求超声波的频率达到几兆赫兹。这样,我们就需要更高的采样频率进行采样。这给设计采样系统带来了极大的难度。
1.2 高速数据采集所得庞大的数据如何处理
在高速数据采集系统中,不但要面临高速采样问题,而且对高速数据采集所得到的庞大数据的处理是设计师面临的更大难题。目前比较先进的单片机的时钟频率也就达到几十兆Hz,而真正的指令周期最高也就能达到10MHz左右。处理数据不是几条指令可以完成的。这样带来的直接后果就是单片机的速度无法满足高速数据的处理。
1.3 处理后的数据如何进行实时存储
数据存储器分为掉电保持数据和掉电丢失数据两种存储器。掉电保持存储器速度较慢,无法满足高速存储问题。掉电丢失的存储器,虽然存储数据很快,但是无法保持数据,这样采集的数据在系统断电后就会丢失。而从现场情况来看,超声波探伤设备需要能够长时间存储探伤数据,以供日后校对。这样,就要求探伤设备不但能够高速存储数据,还要求数据能够在一起掉电后长久保持数据。
2 超声波探伤技术的解决方案
2.1 结构图
为解决以上问题,提出如下结构图:
 
 
 
 
 
 
 
 
 
 
                         

单片机
CPLD
暂存A
暂存B
存储
采样A
采样B
1
2
3
4
4
5
3
注:1.单片机控制cpld采样。2.单片机读通过cpld读取采样数据。3.cpld控制采样芯片是否工作,并读取采样数据。4.cpld将处理后的采样数据进行实时存储。并读取存储数据传输给单片机。5.单片机将cpld传送来的数据存储于flash中。

2.2cpld可编程控制器
cpld即可编程控制器,其内部由基本门电路以及大量总线构成,通过编程,使其内部形成各种复合门电路。这样它的动作时间问题可以忽略,只要考虑它的内部时序问题就可以。因此cpld的速度是单片机所无法比拟的。
2.3高速数据采集的解决方案
在超声波探伤数据采集系统中单片机控制cpld进行采样,当cpld接收到单片机传送的采样信号以后,cpld为采样芯片提供采样使能信号,并根据单片机设定的采样频率为采样芯片提供采样时钟信号,并将采集得到的数据传送到cpld中。由于采集频率很高,对采样芯片要求严格。为实现高速采集的目的,采用两块采集芯片,实行乒乓操作,弥补采集芯片采样速率不足问题。即在采样时钟频率的上升沿采集芯片A工作,采集数据,在采样时钟的下降沿采集芯片B工作,采集数据。这样就可以使采集频率达到采集芯片频率的2倍,大大提高了采集频率的同时,降低对采集芯片的要求,节约成本开支。
2.4 采样数据的处理
实现高速采样后,面临的问题的就是如何处理采样数据。因为采样频率极高,这样带来的直接问题就是采样数据极其庞大,如果将数据直接进行存储,就需要存储器不但要有超大的容量,并且还要有极高的速度。就目前的工艺来说,还没有这样的存储器问世。这就需要对采样数据进行处理分析,以精简数据。为保证保留数据具有代表性,在cpld中,通过基本门电路搭建比较器,将数据在比较器中进行逐一比较,保留数据的最大值作为最终保留数据进行存储。
2.5 采样数据的存储
由于采样速率达到几十兆,为了保持采样的精确率,不能将长时间的数据做比较,使采样数据失去普遍意义。所以,即使已对数据进行了比较处理,存储器也仍然需要极高的速度配合数据的实时存贮。为了能够及时存储数据,并且保证数据掉电后仍然可以保存,以sdram作为缓存,以flash作为最终存储器。由于采样频率过高,即使目前速度最快的sdram也无法完全满足数据的实时存储。为了保证存储数据的准确性,系统的稳定性,同样采用乒乓操作来缓解sdram的存储速率的压力。即在cpld搭建计数器作为sdram的地址,并由cpld提供sdram的时钟及片选信号,将处理后的采样数据以乒乓操作的原理存储于两片高速sdram中,作为缓存以适应高速实时存储。由于flash的数据读写比较复杂,cpld很难完成对其的读写操作。因此待采样结束后, cpld将sdram中的采样数据读入,并传送给单片机。再由单片机将数据写入flash中,以便探伤结束后处理数据。这样就解决了存储速率和存储容量以及掉电后数据保持的矛盾。
3 结语
通过以上的解决方案,已经实现60M的高速采样,系统能够稳定运行,并已经应用到实际探伤中,取得成功。如果采用更先进的单片机、更强大的cpld或fpga,以及更高频率的采样芯片,还可以实现更高速的数据采集,以满足更高精度、更高要求的超声波探伤需求。
参考文献:
[1]张迎新著。单片机原理及应用。电子工业出版社。北京。 2008.5
[2]邹益民著。FPGA/CPLD技术实用教程。中国石化出版社。北京。2010.1
[3]肖忠祥主编。数据采集原理。  西北工业大学出版社。西安。 2001.2
[4]周在纪主编。钢结构超声波探伤及质量分析。中国标准出版社。北京。 2008.2

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客