摘要:基于SoPC技术设计了一种专门激励管道超声导波的信号发生器。重点阐述了导波专用DDS IP核的设计方法。发生器以MicroBlaze软核处理器为控制核心,单片FPGA辅以必要的少量外围硬件电路,易于扩展升级。实验结果表明,输出的信号精度高、噪声小、稳定性好,频率连续可调,可方便地应用于管道超声导波检测。
在管道缺陷检测当中,超声导波检测技术与传统无损检测方法相比具有沿传播路径衰减小,传播距离远,引起的质点振动能遍及构件内部和表面的特点,因此表现出更大优势[1]。超声导波在传播过程中存在多模态和频散特性,若激励源选择不当,导波发生严重频散,会使回波信号变得极为复杂,不利于缺陷分析。根据导波频散特性曲线可知,在50kHz~500kHz范围内,L(0,2)模态超声导波传播速度最快最稳定,几乎不发生频散。用汉宁窗调制该频段内一定周期数的单音频信号,形成窄带脉冲作为激励源,激励出L(0,2)模态占主导的超声导波,可最大限度地避免频散带来的不利影响[2]。
目前出现了多种超声导波激励信号发生器设计方案。一是利用多功能函数发生器如HP33120A[3]实现。由于HP33120A存储长度有限,长距离检测时脉冲间会出现干扰,最高调制频率不高[4]。二是采用单片机控制DDS芯片设计,精度较高,但定制性较弱,且一般需要两片以上DDS芯片,成本昂贵。还有一种方法是用高速单片机控制D/A转换芯片直接输出信号,方便易行,然而精度较低,激励频率受到单片机频率限制,而且很难做到连续可调。为了解决上述设计方案的不足,本设计在Xilinx公司FPGA(现场可编程门阵列)上,以MicroBlaze软核处理器为控制核心,借鉴直接数字频率合成DDS(Direct Digital Frequncy Synthesis)技术,给出了一种产生L(0,2)模态超声导波激励信号源的SoPC(System on Programmable Chip)实现方法。所得激励源精度高,汉宁窗调制下的单音频正弦波周期数可调,频率连续可调。
1 系统整体方案设计
本系统以Xilinx公司Spartan 3E-Starter开发板为硬件平台。此开发平台外设资源较为丰富,通过增加少量的外围设备即可实现系统设计。Spartan 3E系列FPGA是Xilinx 公司性价比最高的FPGA芯片,可较好地满足产品的高集成化与低成本化[5]。其内部MicroBlaze软核处理器采用功能强大的32位流水线RISC结构,包含32个32位的通用寄存器、2个32位特殊寄存器,可具有3/5级流水线。时钟频率高达150MHz。以IBM CoreConnect技术为基础,提供了丰富的接口资源。其中PLB(处理器本地总线)总线提供对片上外设、外部存储器以及基于硬件描述语言编写的算法模块的访问 ,和其他外设IP核一起,完成嵌入式的SoPC开发。超声导波激励源的SoPC实现结构如图1所示。
FPGA实现所有数字电路部分。MicroBlaze软核处理器是系统的控制核心,通过LMB(本地存储器总线)访问程序存储空间BRAM,PLB总线挂载所需IP核。例化GPIO接口连接键盘,负责激励信号的频率设置。LCD1602用于当前频率值显示。自主编写的DDS IP为系统波形发生的核心,直接产生激励源波形。MDM为系统的调试模块,RS232用于和PC机通信或程序调试。使用Xilinx嵌入式开发套件EDK自带的数字时钟管理DCM(Digital Clock Manager) IP核,把50MHz输入时钟分频,分别为DDS模块和外部高速数模转换芯片DAC902提供稳定的5MHz和50MHz时钟信号。程序通过JTAG下载到FPGA内部的BRAM,或者片外PROM中存储。FPGA产生的数字信号经过DAC902转换为模拟信号,再经过低通滤波器去噪,即可获得高质量的超声导波激励信号源。
2 超声导波DDS IP核设计
2.1 DDS算法原理
DDS是根据采样定理,通过查找表方法产生波形。通常为正弦波、余弦波、三角波或方波等。完整的DDS结构示意图如图2所示。在参考时钟的驱动下,N bit相位累加器对频率控制字K进行相位累加,得到的相位码对波形存储器寻址,使之输出相应的波形幅度值。将该值送给DAC和低通滤波器LPF,实现量化幅值到一个平滑信号的转换。当相位累加值大于2N时,相位累加器产生一次溢出,溢出频率就是DDS的输出频率。输出信号频率fout可表示为:
由DDS原理可知,相位累加器的位数N决定DDS的精度。N值越大,DDS的频率间隔?驻f就越细。但N值增加,所需ROM容量也将成指数增加。实际上在一般系统中,D/A转换器的位数m是一定的,通常选取累加器的输出位数N=m+2,即可满足需要[6]。设计中DAC902为12bit,取累加器为14bit,调制脉冲最大幅值为212,即4096。借助Matlab,生成由汉宁窗调制10个周期正弦波的窄带脉冲波形,如图3所示。
本设计基于DDS技术,采用Verilog HDL硬件描述语言设计直接产生导波激励波形的DDS模块,顶层原理如图4所示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)