摘要:基于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所示。
l(0,2)模态超声导波的50khz~500khz频率是指单音频信号频率(如图3所示,10个周期,设单音频率为f0),而非dds输出频率fout。由tout=10t0,得fout=f0/10。所以dds输出fout应为5khz~50khz。系统主时钟为50mhz,在dds输出最高频率为50khz时,为实现0.3khz(单音频3khz) 步进值,10周期窄带脉冲取样点数不少于100点,以减小失真,则时钟频率必须大于4.9mhz。将系统主时钟10分频,得到5mhz dds时钟频率。频率控制字取8bit就可满足要求。
累加器模块accu对频率控制字k累加,并将结果的低14位sum[13:0]送给下一级reg寄存器,作为rom地址。accu的最高位sum[14]为判断位。在累加过程中,当相位sum[14]为1时,累加器清零,完成一次脉冲发射。然后通过一个计数器实现延时功能,使激励脉冲每隔1ms发射一次。
rom模块采用ise中rom ip核直接定制。如果在系统中添加多个rom,每个rom中分别载入不同周期的调制脉冲,可实现激励源的周期可调。借助matlab,把图3窄带脉冲量化成12bit的定点波形数值,形成.coe文件并加载到rom中。
将频率控制字k设为23时,输出频率fout等于7khz,对应单音频信号为70khz。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提供精确稳定的时钟输入。最后为所有外设分配地址,建立端口连接。
4 软件设计
软件部分在sdk中通过c语言编写完成,主要包括初始化、gpio口键盘值读取、lcd显示、dds频率字输入和调节等。由于导波频率在50khz~500khz,跨度较大。为方便实际检测,设计了频率粗调和微调功能。系统键盘包括设置键(set)、粗调键(adjust)、微调键(fine)、确认键(ok)以及复位键(reset)。上电后,频率控制字k为初始值16,系统产生50khz默认频率激励信号。每按一次粗调键(adjust),k值增加,分别对应70khz、120khz、170khz等基数频率。用微调键(fine)以3khz为步进值进行细调。通过写寄存器语句dds_ip_mwritereg将k值赋给dds模块,产生相应频率激励信号。程序流程如图8所示。
5 实验结果分析
系统上电后,在键盘上选择激励频率值为70khz,使用ni pci-5102数字化仪的虚拟示波器对输出信号进行采集和分析。捕捉到的激励信号如图9所示。由面板参数可知,波形最高幅值1.5v,包含10个周期单音频信号的窄带脉冲宽度约为0.142ms。改变键盘输入,对输出信号进行fft频谱分析,如表1所示。实验结果表明,此设计产生的激励信号精度高,波形纯净,性能良好,频率连续可调,较好地满足了设计要求。
利用sopc技术,给出了一种新的超声导波激励信号发生器的设计方法。重点论述了导波专用dds模块的实现过程。把系统的主要功能集成在单片fpga内,减少了外围电路,体积小,功耗低,抗干扰能力强,易于扩展和升级,有效降低了设计成本。产生的激励信号精度高,稳定性好,频率连续可调。本设计可方便地应用到管道超声导波缺陷检测中,并为开发小型化、集成化的导波检测系统提供了可能。
参考文献
[1] 吴斌,邓菲,何存富. 超声导波无损检测中的信号处理研究进展[j].北京工业大学学报,2007,33(4):342-348.
[2] 王军阵,王建斌,王帅. 基于ds89c430的超声导波激励信号源的设计[j].电子设计工程,2010,18(10):136-138.
[3] 吴斌,王智,金山,等.用于激励超声导波的任意波形发生器[j].北京工业大学学报,2002,28(4):389-393.
[4] 金传喜,武新军,夏志敏,等.导波检测用激励源的设计与应用[j].制造业自动化,2006,28(10):79-81.
[5] 田耘,胡彬,徐文波,等.xilinx ise design suite 10.xfpga开发指南——逻辑设计篇[m].北京:人民邮电出版社,2008:27-29.
[6] 王金明.数字系统设计与verilog hdl(第三版)[m].北京:电子工业出版社,2009:285-286.
python模块属性及字符串导入模块介绍
承上启下 中国彩电行业2019年增长空间并不大
华为云与中维世纪深度合作,联手打造智慧的云端能力
蓝宝RX5700XTPlus显卡预计在8月30日发布 配备8+6pin供电接口
如何为ADAS处理器提供超过100A的电流?
基于SoPC的超声导波激励信号发生器设计[图]
TDK新产品带触觉反馈的PowerHap压电执行器的介绍
NGL200系列电源的优点和主要特征分析
加大技术服务力度 助力客户快速发展!
传华为拟千亿元出售荣耀业务,神州数码和深圳市政府将接手
超高效稳定:ERS3041A降压芯片助力电源领域新突破
荣耀Note9什么时候上市?华为荣耀Note9成为华为首款全面屏手机,超大屏+麒麟960加持,价格良心
展望未来,中国移动将全力推动“数字经济”新发展
尚德电力遭纽交所退市警告
数字化施工,成都天府国际机场建设一路高歌
饲料生产控制系统如何实时监控设备运行状态
负反馈的采用原则有哪些
A股1013家公司花6229亿元买理财!说说半导体公司买理财那些事儿
图形技术深度谈——主流(中端)移动平台上的极速后处理特效
苹果明年将会有Intel处理器+AMD显卡等产品问世