一种基于CPLD的声发射信号传输系统设计

出处:tyw 发布于:2010-09-07 09:14:34

     声发射技术是光纤传感技术和声发射技术相结合的产物,是目前声发射技术的发展趋势。它将高灵敏度声发射传感器安装于受力构件表面以形成一定数目的传感器阵列,实时接收和采集来自于材料缺陷的声发射信号,进而通过对这些声发射信号的识别、判断和分析来对材料损伤缺陷进行检测研究并对构件强度、损伤、寿命等进行分析和研究。

  在实际的构件检测中,现场声源信号通常是在100~800 khz之间的微弱高频信号,而且材料损伤检测、声发射源定位往往需要多个传感器形成传感器阵列,而声发射信号的数据传输系统必须达到640 mbps以上的数据传输能力;并应具有应付突发或长时间数据接收和存储能力。本文就是利用CPLD来实现对声发射信号的采集,从而有效解决了数据的实时传输和存储问题。

  1 系统方案设计

  本方案采用fifo存储器构成外部大容量数据缓冲区,而使用pci总线的dma传输方式与微机进行高速数据传输。现场声发射信号经过ad转换和驱动电路驱动后进入pci板卡,然后将部分数据锁存,同时将并行信号转换为串并行信号,通过cpld控制逻辑电路存入fifo。当fifo存储器中的数据到达一定状态时,cpld控制

  逻辑会产生中断信号给pci9054总线控制器,之后由后者启动dma传输将数据传人计算机内存中。dma传输完成后,pci9054产生通道中断,并由计算机将数据从内存取出存入硬盘。该数据存储传输模块的总体框图如图1所示。

  2 fifo数据存储电路设计

  fifo是一个先人先出的双口缓冲器,为保证整个系统正常工作,fifo存储器允许系统进行dma操作,以提高数据的传输速度。否则,数据传输将达不到传输要求,而且会大大增加cpu的负担,甚至无法同时完成数据的存储。

  本设计在数据传输系统中采用了六片idt72281芯片来缓存数据,并将其分成两组,其中由三片fifo进行字宽扩展,图2所示是其缓存传输示意图。按照这种设计,其字宽可达27位,可以传输24位数据和两个otr位。

  3 cpld逻辑控制

  本系统中由于要对高速信号进行处理,因此,对控制信号的时序要求比较严格。在控制芯片的选择上要尽量选用时延小、速度快的芯片。本设计采用美国altera公司的max7000s系列可编程逻辑器件epm7128slc84-15,并采用max+plusⅱ来完成系统的输入、编译、验证及编程,进而完成向量测试及仿真.的数据可通过线传输到芯片中来完成芯片的配置。

  3.1 cpld逻辑控制电路

  cpld为采样控制器的,数据传输所要求的严格时序控制关系就由cpld负责处理。它在本系统中主要负责产生与pci9054的握手信号、数据存储器的片选信号和读写控制信号。cpld的外围信号接口如图3所示。

  cpld可根据fifo存储器的时序控制要求产生控制信号,并在个时钟周期中将数据分别存入fifo和数据锁存器74ls373中,而在第二个时钟周期将锁存器中的数据再存入fifo,从而完成并行数据向串行数据的转换。同时根据存储器的相关信号向pci9054控制器发出中断请求,并在pci9054读取数据时产生相应的控制逻辑。

  3.2 cpld控制逻辑

  当并行数据进入板卡后,cpld首先将一部分数据存入锁存器,而将另一部分数据直接存入fifo。但此时必须将写时钟信号wclk进行二分频,以便在一个ad转换周期内完成两次fifo写操作。当fifo数据到达半满时,cpld便向pci9054发出中断申请,并由pci9054将该申请传入计算机。若系统响应该中请,则在中断响应程序内发出读命令,以读取字节数和地址信号等。

  pci9054通过lhold申请local总线控制权,而cpld则通过lholda响应,以使pci9054能得到局部总线的控制权。pci9054首先将pci地址窄间映射到本地地址空间,接着启动本地总线的散聚dma周期。cpld收到读信号(lw/r)、地址选通信号(ads)和地址(la16、la17)后便开始传送数据。当la16位为0,la17位为1时,系统将使能后三片fifo的读使能端(ren2),以使后三片fifo数据线上的q0~q31有效而同时也使pci9054的准备好信号(ready)有效,开始数据传送。在一个数据传送之前,blast信号有效,之后,cpld将在一个时钟周期后使fifo的读使能(ren1或ren2)无效,从而完成数据传送过程。

  3.3 控制程序设计

  pci9054单周期读、写和dma读的vhdl语言时序控制状态机设计如图4所示。图中,s0为空闲状态。当本地总线请求信号lhold被置1时转到s1,否则留在s0。s1为总线保持状态,此状态下应将本地总线响应信号lholda置1。如ads信号为0且lw/r为1则转到s3,如ads信号为1且lw/r和blast为0则转到s4,这种状态表明此次读操作为单周期读。s2为dma读状态,在此状态下应将ready信号和fifo读使能信号ren1置0。如blast为1,则表明此次dma读取还未完成,应继续留在s2,如blast为0,则表明此次dma读取完成,可转到s4。s3为单周期写状态,此状态下也要置ready信号为0以表示写数据有效,并在blast为0时转到s4。s4为读写操作完成状态,当lhold被置0时,表明pci9054不再请求本地总线,此时应转到s0,当blast为0且lhold为1时,表明pci9054还要进行数据读写,故应转到s1继续操作。

  3.4 控制程序逻辑的仿真结果

  max+plusⅱ是开发aletra公司的fpga/CPLD系列产品的软件工具,本设计利用此工具提供的设计环境和设计工具来对cpld控制程序进行开发和调试。其功能时序如图5所示。

  cpld的设计是用vhdl编程实现的。本设计的操作代码都已经过仿真,并在实际调试中得到应用。

  4 系统驱动程序设计

  本设计使用driv erworks的driverwizard来创建wdm框架程序。可根据设计需求添加程序代码,从而完成pci设备的dma传输系统驱动程序,以执行dma操作、访问i/o端口和存储器空间、处理器中断和访问pci。根据系统需要,驱动程序的关键是三个方面:硬件访问、中断处理和dma传输。

  kdmaadapter类可用于建立一个dma适配器,以标明一个dma通道的特性和提供串行化访问服务;kdmatransfer类则用于控制dma的传输和启动dma传输,以传输dma数据缓冲区物理地址和字节数,dma传输结束后,数据将由公用缓冲区拷贝到应用数据缓冲区;kcommon dmabuffer用于实现公用缓冲区的操作。对于dma操作,本系统还提供了一个特殊的内存,即公用缓冲区。应当说明的是,公用缓冲区是稀有的系统资源,应该避免浪费使用。

  5 结束语

  本文给出了数据缓存、传输模块控制电路的设计,并采用vhdl语言和cpld很好的完成逻辑控制任务和系统驱动程序的编写与调试。实验结果表明,该数据存储传输模块的硬件、软件工作十分可靠、稳定,可实现640 mbps(80 mbyte/s)以上实时数据的存储与传输,完满足声发射信号采集的要求。

关键词:PLD信号

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!