摘要:在电磁无损检测系统中,信号频率及其稳定性对检测效果影响很大,为了解决该难题,文中给出了一种应用dds技术设计的新型信号发生器解决方案。该信号发生器具有频率精度高、稳定性好、分辨率高的特点,有利于提高电磁无损检测的效果。
关键词:电磁无损检测;信号发生器;直接数字频率合成
电磁无损检测(如涡流)是基于电磁感应原理的无损检测技术。当载有交变电流的检测线圈靠近导体时,由于交变电流在周围空间中会产生交变磁场,因而在被测试件(导体)表面产生趋肤效应并感应出交变电流。通过优化设计可使被测试件表面电流达到均匀分布,从而使周围磁场也达到均匀,而当被测试件表面有缺陷时,电流就会发生畸变,均匀磁场随之发生变化,这样,直接或间接测量出该磁场的变化,就能检测试件的缺陷。虽然人们在电磁无损检测方面已取得了许多进展,但仍有许多不尽人意之处,其中一个重要的因素便是检测系统信号的稳定性,这一点对测量结果会产生严重的影响。因为信号发生电路是整个检测系统的信号源,它的信号频率是否稳定将对整个检测系统的工作起十分关键的作用,信号频率不稳定会给信号的后续处理带来极大的困难,甚至使电磁检测难以进行。为了解决上述问题,笔者应用dds技术设计了一个高稳定性信号发生器。
1 dds的工作原理
直接数字合成(dds-direct digital synthesizer)是近几年发展起来的一种新的频率/波形合成技术。该技术具有频率分辨率高、转换速度快、信号纯度高、相位可控、输出信号无电流脉冲叠加、输出可平稳过渡且相位保持连续变化等优点。近年来在通讯、雷达、gps、蜂窝基站、图像处理及hdtv等领域得到了广泛应用。
该技术是根据奈奎斯特取样定理,从连续信号的相位φ出发,对一个正弦信号进行取样、量化、编码,然后将形成的正弦函数表存入rom/ram中,合成时则通过改变相位累加器的频率控制字来改变相位增量,相位增量不同将导致一个周期内取样点数的不同。因角频率ω=△φ·△t,故可在取样频率不变的情况下,通过改变相位累加器频率控制字的方法将这种变化的相位/幅值量化为数字信号,然后通过 d/a变换和低通滤波即可得到相位变化的合成模拟信号频率。
图2
图1是dds的基本原理框图,它主要由四部分组成,第一部分为相位累加器,用于决定输出信号频率的范围和精度;第二部分为正弦函数功能表(波形存储器),用于存储经量化和离散后的正弦函数的幅值;第三部分为d/a转换,可产生所需的模拟信号;第四部分为低通滤波,用来减少量化噪声、消除波形尖峰。参考频率源是一个高稳定度的晶体振荡器,用以同步 dds中各部件的工作,因此,dds输出的合成信号的频率稳定度和晶体振荡器是一样的。从原理上还可看出,它是用高稳定的固定时钟频率来对所要合成的信号进行相位取样的,单位时间内取样量越大,则合成的频率越低。取样量的大小由可程控的频率设定数据决定。
2 dds芯片ad7008的结构原理
ad7008为单片dds集成芯片,其结构如图2所示。该器件内含32位相位累加器、正余弦查找表及10位dac的dds调制器,时钟频率可达20~50mhz;还内含两个10位乘法器、20位iqmod寄存器及12位相位寄存器。除了可合成正弦波外,还可实现调频、调相、调幅及数字解调,同时提供了可与微机接口的并行和串行接口。
图2中,参考频率clock为整个合成器的工作频率,输入的频率字保存在频率寄存器0或1中,经32位相位累加后,再和相移寄存器累加以得到内部rom的地址,然后经过内部rom正弦波形表便可得到相应的幅度值,最后经过d/a转换和低通滤波器得到合成的正弦波。
由于ad7008的相位累加器为32位,故2π=232,则△phase必须在0≤△phase≤232-1的范围内,每一时钟周期,32位累加器累加一个相位阶距,输出频率fout为:
fout=△phasefclock/2 32
式中,fclock是参考频率。实际使用中,fout的上限取fclock的40%(考虑到相位噪声和杂散信号干扰 )即△phase上限取0.4×232。△phase可通过控制fse-lect从freq0、freq1中选择。尽管ad7008包含有32位相位累加器,但其输出仅为12位,因此没有必要也不可能用32位的分辨率。12位的相位数据经查询可转换成10位幅度信号。如果不要求调幅,iq乘法器可以被旁路(cr2=0),而将正弦信号幅值直接送往dac电路。通过外电阻rset可对dac满量程输出电流进行调节,公式如下:
iout(ma)=6233vref(v)/rset(ω)
图4
3软硬件实现
应用dds技术设计的信号发生器的原理框图如图3。它主要由单片机89c52、dds芯片ad7008ap20、6阶椭圆低通滤波器、乘法型d/a转换器ad7524、功率放大电路以及正交信号形成电路组成。该信号发生器的工作过程如下:
(1)对ad7008芯片初始化,选择总线方式;
(2)通过键盘或上位pc机的串口输入信号频率和幅值;
(3)用单片机计算并得到频率和幅值的控制字,然后通过ad7008的mpu接口装入32位并行寄存器中,并行寄存器中命令数据在装载指令(load)及命令信号 (tc0~tc3)的作用下装入相应的寄存器中,dds开始工作。
(4)幅值调整。通过控制ad7524来改变ad7008的10位数模转换器参考电压,以实现输出幅值控制。
3.1 89c52和ad7008接口设计
89c52和ad7008的接口电路如图4所示。图中89c52的p0口和ad7008的d0~d7相连。由于89c52是8位单片机,故ad7008的d8~d15接地。同时,p0.0~p0.3和ad7008的tc0~tc3相连。用3-8译码器决定数据传送到数据总线还是传送到控制总线。p1.0可用来控制ad7008的复位。20mhz的有源晶振可为ad7008提供时钟。d/a转换器ad7524和ad7008的fs adj相连,可用于控制满量程输出幅度。由于ad7008是电流输出,输出阻抗为50ω,因此电路中设计了电流电压转换器,用以实现电流/电压转换。
3.2 椭圆低通滤波器设计
ad7008输出端有一个10位的d/a变换器。由于输出的合成信号是阶梯状的,带有很丰富的高次频谱分量,因此必须将它们滤除,以得到频谱纯净的正弦波输出。通常要求滤波器的衰减特性要陡直,延迟时间要短。在常用的巴特沃斯、切比雪夫和椭圆滤波器中,椭圆滤波器以其良好的通带和阻带特性受到偏爱,因此,本系统在设计时采用6阶椭圆低通滤波器。
本设计从直流到5mhz处的最大波纹为0.25db,在5.5mhz处最小衰减为60db,rs=rl=900ω,图5是根据椭圆函数低通滤波器的设计方法设计的滤波器电路及matlab仿真波形。
3.3 正交信号形成电路设计
ad7008的输出信号一路经功率放大后输出,另一路信号作为参考信号经方波转换电路形成方波。然后通过正交信号形成电路即可获得两个正交的方波信号以作为电磁无损检测信号的参考信号输入。该电路由集成锁相环4046和两片74f74组成,其原理图如图6所示。锁相环是一个相位自动跟踪的负反馈系统。鉴相器可将输入和输出反馈信号的相位差转换成脉冲宽度信号,并经低通滤波器平滑后产生直流电压信号去控制压控振荡器,以使输入和输出准确同频同相。
3.4 软件实现
该系统的软件设计主要由三个部分组成:lcd驱动程序、键盘输入处理程序、ad7008驱动程序。系统的总体软件流程图如图7所示。
4结束语
结合dds技术和单片机控制技术设计的信号发生器硬件结构简单,编程控制也比较方便。和传统的模拟信号发生器相比,该信号发生器频率精度高、相位精确可控、硬件简单。因此在许多对信号频率稳定性和分辨率要求较高的场合得到广泛的应用。
------------
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』