新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于SoPC的超声导波激励信号发生器设计

基于SoPC的超声导波激励信号发生器设计

作者:时间:2011-09-21来源:网络收藏

在管道缺陷检测当中,检测技术与传统无损检测方法相比具有沿传播路径衰减小,传播距离远,引起的质点振动能遍及构件内部和表面的特点,因此表现出更大优势[1]。在传播过程中存在多模态和频散特性,若激励源选择不当,导波发生严重频散,会使回波信号变得极为复杂,不利于缺陷分析。根据导波频散特性曲线可知,在50 kHz~500 kHz范围内,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)模态超声导波源的(System on Programmable Chip)实现方法。所得激励源精度高,汉宁窗调制下的单音频正弦波周期数可调,频率连续可调。
1系统整体方案设计
本系统以Xilinx公司Spartan 3E-Starter开发板为硬件平台。此开发平台外设资源较为丰富,通过增加少量的外围设备即可实现系统设计。Spartan 3E系列FPGA是Xilinx 公司性价比最高的FPGA芯片,可较好地满足产品的高集成化与低成本化[5]。其内部MicroBlaze软核处理器采用功能强大的32位流水线RISC结构,包含32个32位的通用寄存器、2个32位特殊寄存器,可具有3/5级流水线。时钟频率高达150 MHz。以IBM CoreConnect技术为基础,提供了丰富的接口资源。其中PLB(处理器本地总线)总线提供对片上外设、外部存储器以及基于硬件描述语言编写的算法模块的访问 ,和其他外设IP核一起,完成嵌入式的开发。超声导波激励源的实现结构如图1所示。

本文引用地址:http://www.eepw.com.cn/article/187311.htm

FPGA实现所有数字电路部分。MicroBlaze软核处理器是系统的控制核心,通过LMB(本地存储器总线)访问程序存储空间BRAM,PLB总线挂载所需IP核。例化GPIO接口连接键盘,负责的频率设置。LCD1602用于当前频率值显示。自主编写的DDS IP为系统波形发生的核心,直接产生激励源波形。MDM为系统的调试模块,RS232用于和PC机通信或程序调试。使用Xilinx嵌入式开发套件EDK自带的数字时钟管理DCM(Digital Clock Manager) IP核,把50 MHz输入时钟分频,分别为DDS模块和外部高速数模转换芯片DAC902提供稳定的5 MHz和50 MHz时钟信号。程序通过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为12 bit,取累加器为14 bit,调制脉冲最大幅值为212, 即4 096。借助 Matlab,生成由汉宁窗调制10个周期正弦波的窄带脉冲波形,如图3所示。

本设计基于DDS技术,采用Verilog HDL 硬件描述语言设计直接产生导波激励波形的DDS模块,顶层原理如图4所示。

L(0,2)模态超声导波的50 kHz~500 kHz频率是指单音频信号频率(如图3所示,10个周期, 设单音频率为f0),而非DDS输出频率fout。由Tout=10T0,得fout=f0/10。所以DDS输出fout应为5 kHz~50 kHz。系统主时钟为50 MHz,在DDS输出最高频率为50 kHz时,为实现0.3 kHz(单音频3 kHz) 步进值,10周期窄带脉冲取样点数不少于100点,以减小失真,则时钟频率必须大于4.9 MHz。将系统主时钟10分频,得到5 MHz DDS时钟频率。频率控制字取8 bit就可满足要求。
累加器模块Accu对频率控制字K累加,并将结果的低14位sum[13:0]送给下一级Reg寄存器,作为ROM地址。Accu的最高位sum[14]为判断位。在累加过程中,当相位sum[14]为1时,累加器清零,完成一次脉冲发射。然后通过一个计数器实现延时功能,使激励脉冲每隔1 ms发射一次。
  ROM模块采用ISE中ROM IP核直接定制。如果在系统中添加多个ROM,每个ROM中分别载入不同周期的调制脉冲,可实现激励源的周期可调。借助Matlab,把图3窄带脉冲量化成 12 bit 的定点波形数值,形成.coe 文件并加载到ROM中。
将频率控制字K设为23时,输出频率fout等于7 kHz,对应单音频信号为70 kHz。Modelsim仿真波形如图5所示。

3系统硬件实现
3.1 外设IP核挂载
利用EDK的XPS,创建MicroBlaze硬件平台。通过Base System Builder Wizard快速添加配置,如RS232、GPIO、BRAM等。对于自主编写的DDS模块,使用Create/Import Peripheral工具,适当修改user logic 和IPIF两个自动生成文件,可将自己的逻辑模块挂接在PLB总线上,无需过多关心自定义IP与PLB总线的协议和接口逻辑。在XPS中添加自带的DCM时钟管理模块,为DDS IP和DAC提供精确稳定的时钟输入。最后为所有外设分配地址,建立端口连接。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭