基于FPGA与MSP430的单相数字移相系统的设计与实现

【摘要】本文介绍了一种基于FPGA与MSP430技术的单相数字移相系统的设计方案。实现了直接数字式频率合成(Direct Digital Synthesizer,DDS)两路幅值相位频率可调的正弦信号的产生。完成了幅值相位的自动跟踪校准。最终实现了相位在0 ~ 360°可调,相位差分辨率0.1°;频率在45 ~ 350Hz可调,频率分辨率为0.1Hz;信号幅值在0~5V可调,分辨率为0.05V。

【关键词】数字移相器直接数字式频率合成FPGAMSP430自动跟踪校准

在智能控制与仪表测量等领域,经常需要用到移相技术,对信号频率相位变化进行监测与调整。如在电力系统中,需要检测系统中检测某点的电压与电流的相位差,并自动校准,来保证系统的稳定性!

传统移相技术通常直接对模拟信号进行移相,典型的方法有:阻容移相,变压器移相等。以阻容移相为例,其优点在于电路结构简单可靠,但是缺点也很明显:输出波形受输入波形的影响,移相操作不方便,移相角度随所接负载不同等因素的影响而产生漂移等。

近几年,随着单片机技术和可编程技术的发展,以及直接数字式频率合成技术(Direct Digital Synthesizer,DDS)的日益成熟,数字移相技术得到了越来越广泛的应用。数字移相技术主要是现将信号数字化,使信号具有较好的频率相位分辨率,然后进行移相操作之后再还原成模拟信号。本文首先利用FPGA技术,采用直接数字式频率合成的方法,产生两路幅值频率相位可调的正弦信号,具体的幅值频率相位数据可由MSP430单片机控制。然后利用波形整形电路,鉴频器对两路信号相位进行跟踪校准,利用交直流转换电路(AC/DC)、比较调整电路以及MSP430单片机中的A/D、D/A中对幅值进行跟踪校准

一、系统的整体结构设计。

本系统的结构主要分为三部分:由FPGA产生DDS调频、调相的正弦信号;利用FPGA对模拟的正弦信号相位频率跟踪校准;由MSP430对模拟信号幅值进行测量校准。结构框图如图1所示:

对于DDS信号的产生。首先由直接数字频率合成(DDS)技术的,依据采样定理,生成波形数据的采样值,放入ROM数据表中。然后由波形加法器与寄存器级联构成相位累加器,通过时钟脉冲触发累的加器,从而将频率控制字不断累加,每次累加时就通过查表法输出对应的数值。相位累加器产生一次溢出,就完成一次周期性的动作,这个周期就是DDS合成信号的一个频率周期。用相位累加器输出的数据作为波形存储器的相位取样地址,把存储在波形存储器内的波形抽样值经过正弦函数表查处,从而完成相位幅值的转换。然后将波形存储器的输出送到D/AC,通过D/AC将数字量形式的波形幅值转换成合成频率的模拟波形

对于信号相位的跟踪校准。核心思想是:先将模拟信号数字化,然后对数字信号相位差进行测量,最后反馈至DDS信号源的相位控制字中,进行校准。具体的实现方式,先由方波整形电路将模拟的正弦信号转换为两路方波信号,然后利用鉴相器测量数字信号相位差。因为相位差的值与数据表中数据的总个数及数据地址的偏移量有关,可通过查询ROM数据表将相位差反馈至相位控制字中,实现相位校准

对于信号幅值测量校准。首先通过交直流转换电路(AC/DC)把所要测量的交流信号转换成直流的电平,再对直流电平进行测量,采用均值检波进行幅值测量,最后将测量值反馈给MSP430控制单元,来调整DDS信号源中D/A转换电路的参考电平,从而实现幅值校准

二、FPGA上实现两路DDS信号的发生。

考虑到信号发生器的输出频率相位、幅度等参数的范围及精度要求,以及对于设计成本的控制,采用FPGA技术实现DDS产生两路数字正弦信号

首先由通过接口电路接收来自MSP430单片机频率控制字和相位控制字,然后通过对频率控制字和相位控制字进行累加计数,最后通过查寻ROM表中的数据,送至D/A转换实现正弦信号输出。设计时为了提高频率分辨率,采用32位累加器计数,由于取点时钟采用的是系统时钟50MHz,通过DDS的累加原理,推出频率字的累计系数为86,即频率字的控制范围为50*86~350*86,即可实现正弦信号在50~350Hz频率范围内的输出,且精度达到0.1Hz。另外为了提高相位的分辨率,内部ROM的正弦波的周期表为4096取点,因此相位控制字选用12位计数。通过D/A芯片进行数模转化后,生成模拟信号,其中一路作为信号发生器的参考基准信号f0,另一路作为检测信号f1。对于输出信号频率相位可以通过外部控制电路改变频率控制字和相位控制字来调节。

三、相位差的测量与跟踪。

在FPGA通过D/A转换输出两路模拟正弦波f1,f0,测量f1,f0的相位差时,首先通过方波整形电路,将正弦波转换成方波信号S0、S1,利用方波信号的上升沿作为定时器的触发信号,完成相位差的测量

对于信号相位差数值测量,本文采用了数字鉴相器的技术来实现。具体过程如图2所示。

由于电路中的负载影响,信号之间的相位会发生变化,经过波形整形电路之后,将具有相位差的正弦信号转换为方波信号S1,S0;然后S0作为参考的基准信号不变,将S1进行分频锁相处理。在S1的第一个上升沿t0来临时,同时启动计数器1和计数器2开始计数,并把S1置位“1”,在S0的第一个上升沿t1来临时,使计数器1停止计数,得到计数值为N1;继续对S1进行监测,当S1的第二个上升沿来临时,停止计数器2,得到计数值为N2,同时将标志位FLAG0置位“0”,将S1置位“0”,直到下一次测量时,再将FLAG0复位为“1”。FLAG0为测量的标志位,只有当FLAG0=“1”时,才开始相位差的测量

通过这一方法可得到相位差为:

Δ渍=N1 N2×360°(1)。

从式1可以看出,相差的精度只与N1、N2有关,而与被测信号频率和计数时标频率的精度无关,从而消除了这两者对测量精度的影响。此方案的相位测量精度高且便于控制。在得到相位差Δ渍数据之后,再通过查询ROM表的方法,将Δ渍转换为对象的相位控制字,反馈至DDS信号中进行信号调整。

四、幅值测量与跟踪。

由于输出通道的元件误差和输出内阻的存在,输出正弦信号会受到输出通道和负载两个部分的影响。所以需要具备幅度反馈回路来保证输出正弦波的幅度精度。交流信号幅度的测量一般通过交直流转换电路(AC/DC)来实现,也就是说把所要测量的交流信号转换成直流的电平,再对直流电平进行测量校准

对于信号幅值测量校准,首先将DDS产生的两路正弦信号f1,f0通过交直流转换电路(AC/DC),将交流信号的有效值转换为直流电平值V1,V0,然后通过模数转换电路(A/DC),将电平值转换为12位数字信号。接下来将数字信号值与MSP430单片机内部预先设定的12位幅值控制字VREF进行比较调整。然后再将校准之后的电平值数字值U0通过数模转换电路(D/AC)成模拟电平值V0,最后将模拟电平V0值作为参考电平送至DDS信号源的D/AC电路中,完成对信号幅值校准

五、系统功能测试。

本系统FPGA处理单元采用的是Altera公司的Cyclone_II系列的EP2C5Q208C8芯片,外部晶振频率为50MHz;单片机处理单元采用德州仪器(TI)的MSP430F169芯片,内含12位D/AC转换通道。在对系统的功能进行测试时,分两部分来完成:第一部分,测试单片机幅值校准;第二部分,测试FPGA对相位差的测量校准,用示波器显示实验结果。

第一部分,设置单片机内部的幅值控制字为2V,在输出信号通过负载电路之后,幅值发生了偏移,但是通过幅值反馈的调整,又很快地进行了校准。测试时,信号幅值的分辨率可以达到0.05V。

第二部分,对相位差的测量校准结果如图5所示。设定最初的输入信号为:

S1(t)=S0(t)=2sin(100仔t)(2)。

其中(a)为DDS输出正弦信号没有接负载、也没有接跟踪反馈的情况,两路信号同频同相;(b)在(a)的基础上接上跟踪校准电路,由于没有负载,因此相位差也没有变化;(c)在(a)的基础上加入负载但不加入跟踪校准,由于负载的影响,两路信号相位发生了约90角的偏移;(d)在(c)的基础上添加相位跟踪校准,将负载引入的相位偏移进行了校准

六、小结。

采用FPGA和DDS技术,输出两路频率相同、相位差精确可调的正弦信号,并且通过MSP430能对频率相位能够快速切换,得到频率相位精确可调的信号,并能实现幅度的可调。该方法比传统的模拟移相系统精确度更高,也比一般直接用单片机实现数字移相更为简单快捷,同时信号也更稳定。另外,由于加入了相位跟踪校准幅值校准,使得本系统具有无需手动调节、受外界干扰小的优点,同时也可应用到其他相位补偿系统中,在实际应用中具有很大的优势。

参考文献。

[1]沈维聪,刘义菊.数字移相技术的分析和实现[J].电子产品世界,2001(7):38 — 39.

[2]牛耕,陈思宇.基于DDS技术的正弦交流信号源的设计[A].现代电子技术. 1004—373X(2012)03—0052—05。

[3]张涛,陈亮.现代DDS的研究进展与概述[A].电子科技. 1007—7820(2008)03—073—05。

[4]邹立华,赵巍.基于单片机控制的数字移相器设计[B].自动化与仪器仪表1001—9227(2003)—0046—03。

[5]高士友,胡学深.基于FPGA的DDS信号发生器设计[B].现代电子技术. 1004—373X(2009)16—035—03。

[6]周英平,刘祖望.新型数字移相器的设计[A].计算机工程与设计. 1000—7024(2001)11—2003—12。

[7]李志鹏,郭勇.基于DDS技术实现信号发生器[A].传感器与仪表仪器. 1008—0570(2007)07—1—0175—03。

[8]朱卫华,黄乡佩.基于FPGA的高精度数字移相低频正弦波发生器设计[A].微计算机信息. 1008—0570(2005)07—0106—02。

[9]周绍军.基于DDS技术的高精度双路可移相波形信号发生器设计[A].西南民族大学学报. 1003—2843(2010)05—0822—05。

[10]周群,崔玉龙.基于FPGA技术的相位频率跟踪方法的研究[硕士].北京化工大学. 2009。

2 次访问