数字移相技术的分析和实现

2006-05-07 15:50:01来源: 电子产品世界

两个同频信号之间的移相与实现方式

    所谓移相是指两种同频的信号,以其中的一路为参考,另一路相对于该参考作超前或滞后的移动,即称为是相位的移动。两路信号的相位不同,便存在相位差,简称相差。若我们将一个信号周期看作是3600,则相差的范围就在0°~360°。

    要实现移相,通常有两个途径:

    一是直接对模拟信号进行移相,如阻容移相,变压器移相等,早期的移相通常采用这种方式。采用这种方式制造的移相器有许多不足之处,如:输出波形受输入波形的影响,移相操作不方便,移相角度随所接负载和时间等因素的影响而产生漂移等.在此不予讨论.另一个是随电子技术的发展,特别是单片机技术的发展而兴起的数字移相技术,是目前移相技术的潮流。数字移相技术的核心是:先将模拟信号或移相角数字化,经移相后再还原成模拟信号。

    数字移相主要有两种形式:

    一种是先将正弦波信号数字化成,并形一张数据表存入ROM芯片中,此后可通过两片D/A转换芯片在单片机的控制下连续地循环输出该数据表,就可获得两路正弦波信号,当两片D/A转换芯片所获得的数据序列完全相同时,则转换所得到的两路正弦波信号无相位差,称为同相。当两片D/A转换芯片所获得的数据序列不同时,则转换所得到的两路正弦波信号就存在着相位差。相位差的值与数据表中数据的总个数及数据地址的偏移量有关。这种处理方式的实质是将数据地址的偏移量映射为信号间的相位值。

    另一种是先将参考信号整形为方波信号,并以此信号为基准,延时产生另一个同频的方波信号,再通过波形变换电路将方波信号还原成正弦波信号。以延时的长短来决定两信号间的相位值。这种处理方式的实质是将延时的时间映射为信号间的相位值。

利用D/A转换实现移相

   
图1给出了一个设计实例。单片机为8031,D/A转换芯片采用两片8位字长的DAC0832,由于DAC0832的输出信号为电流型,故需加运算放大器将电流型信号转换成电压型信号。该设计中运算放大器采用双极型双运放4558。转换所用的数据为256个8位字长的数据,随程序一起存入ROM存储器中,即一个信号周期有256个转换值。

    在进行D/A转换的程序中,数据表中数据共有256个,每两个相邻数据之间的相位差为360o÷256=1.4o。我们只需改变R1中的值就可改变两路正弦波的相位差。程序中R1=8,故第一路正弦波滞后第二路正弦波1.4o×8=11.2o。

利用单片机进行方波信号的移相

    利用单片机进行方波信号的移相则是数字移相的另一个途经,已有多种成功之作,有些偏重硬件,有些偏重软件。总体说来,偏重硬件的精度较高,但制造及调试较复杂;偏重软件,的结构简单,成本较低,但往往精度受影响。本文介绍一种己获得较为理想效果的设计。设计的原理框图如图2所示。

    工作原理:作为参考信号的A,经整形后得到方波信号a,再利用锁相技术对a作3600倍频,并将此倍频信号作为单片机中CTC的计数脉冲,以此来产生相移和测量移相的实际值。由于计数脉冲是通过锁相环产生的,在锁相环允许的频率范围内,计数脉冲始终是a信号的3600倍,因此,可以看成是将a信号的一个信号周期分为了3600份,且允许a的频率可在一个小的范围内波动。若一个信号周期为360o,那么在一个信号周期内每个计数脉冲即代表0.1o。我们只需以a信号为参考,延时若干个计数脉冲的时间来产生c信号即可做到移相,改变延时计数脉冲的个数即可改变移相值,亦可记录两个信号的上沿(或下沿)间的脉冲个数来获得两信号的相位差。正是由于锁相环的存在,才使得移相信号B与参考信号A的频率完全相同。比起由软件测得A信号的周期后再来产生B信号的方式来,其精度要高得多。锁相环倍频的频率愈高则移相的最小单位愈小,若作7200倍频,那么在一个信号周期内每个计数脉冲即代表0.05o。

    图3是以上述方式进行移相的时序图,设计数脉冲的频率是a信号的360o倍,那么从a信号的上沿开始经N个计数脉冲后产生c信号的上沿,则有a信号超前c信号 N×0.1o。但我们需要的是A信号与B信号之间的移相。A信号与a信号的相位是相同的,但c信号与B信号的相位,由于波形转换电路的存在而不相同,其相位差视波形转换电路的参数而定。故A信号与B信号之间的实际移相值无法由N×0.1o来计算。要获得A信号与B信号之间的实际移相值,可将B信号整形成b信号(两信号相位相同)后反馈给单片机,由单片机测量出a信号与b信号之间的计数脉冲个数n即可,实际移相值为n×0.10。改变N的值即可改变移相值。

    要实现上述设计,除需要用锁相环产生计数脉冲外,还需要三个16位的计数器,分别用来计N,n及180o的值。笔者将8032中的计数器作如下分配:T0计N的值、T1计n的值、T2计180o的值。T0、T1及T2的启停全部由中断服务程序控制。接线如图2所示。具体是:

    ① a信号的上沿产生INT0中断,其中断服务程序分别将-N及0赋给TH0TL0和TH1TL1;然后使T0、T1开始计数。

    ② T0归零,其中断服务程序关闭T0;置P3.0;-1800赋TH2TL2;使T2开始计数。

    ③ T2归零,其中断服务程序清P3.0;关闭T2。

    ④ b信号的上沿产生INT0中断,其中断服务程序关闭T1;读取TH1TL1的计数值n。

两种移相方式的性能比较

   
通过以上介绍,我们可以看出:以D/A转换方式实现的移相,虽然所用元件少,但输出信号的频率难以细调,特别是移相的最小单位太大(1.4o/步)。在50Hz频率下,要达到0.1o/步移相细度难以办到。因此,该方式只适合于对频率要求不高,且移相角度固定的场合。

    以延时输出方波的方式实现的移相,其硬件电路比较复杂(锁相及波形变换电路)。输出信号的频率以参考信号的频率为准,而参考信号的频率则可以精确给定。移相的最小单位可小于0.1o/步,这就为无级移相提供了基础。因此,该方式可用于对频率要求高,且需360o无级移相的场合。

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

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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