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

2011-09-16 12:59:10来源: 电子技术应用
   

摘  要: 基于SoPC技术设计了一种专门激励管道超声导波的信号发生器。重点阐述了导波专用DDS IP核的设计方法。发生器以MicroBlaze软核处理器为控制核心,单片FPGA辅以必要的少量外围硬件电路,易于扩展升级。实验结果表明,输出的信号精度高、噪声小、稳定性好,频率连续可调,可方便地应用于管道超声导波检测。
关键词: SoPC; MicroBlaze; DDS; 超声导波; 激励信号

    在管道缺陷检测当中,超声导波检测技术与传统无损检测方法相比具有沿传播路径衰减小,传播距离远,引起的质点振动能遍及构件内部和表面的特点,因此表现出更大优势[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)模态超声导波激励信号源的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级流水线。时钟频率高达150 MHz。以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核,把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所示。

 

[1] [2]

关键字:DDS  超声导波  激励信号

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0916/article_2491.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
DDS
超声导波
激励信号

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved