APP下载

基于C8051F410的数字相位测量系统设计

2010-08-11张瑞芳李风光

通信技术 2010年2期
关键词:方波调试编程

刘 平, 张瑞芳, 李风光

(郑州大学 a. 信息工程学院;b. 电气工程学院,河南 郑州 450001)

0 引言

信号相位差的测量在工程上有着重要的意义,在线性系统动态特性分析,电子领域中功率角度测量等都有着重要的应用。有关相位差的测量方法有很多并且不断有新的方法被提出[1]。这些方法各有其特点和应用范围。利用移相原理可以制作校验各种有关相位的仪器仪表、继电保护装置的信号源。两个同频信号之间的移相,是电子行业继电保护领域中模拟、分析事故的一个重要手段,移相技术有着广泛的实用价值。

本文主要基于应用提出一种简单实用的方案,在现场环境中也得到验证,本方案在实际的应用中有着广泛的前景。

1 相位差测量原理

首先针对两个同频信号,以其中的一路为参考,另一路相对于该参考作超前或滞后的移动。由于两路信号的相位不同产生相位差。然后将参考信号整形为方波信号,并以此信号为基准,延时产生另一个同频的方波信号,再通过波形变换电路将方波信号还原成正弦波信号。以延时的长短来决定两信号间的相位值。

这种处理方式的实质是将延时的时间映射为信号间的相位值。即只要能够测量出该延迟时间,就可以推算出其相位差值[2]。

2 系统工作原理

本系统的工作原理如下:被测量信号经过移相网络后输出两路信号,然后由比较器分别对它们整形,再利用相位测量电路鉴相得到两路数字信号。这两路数字信号相与形成新的数字信号,再用C8051F410测量出其波形宽度并计算出要测量的相位差值。最后通过显示电路显示相位差值。

本硬件电路用了 EDA工具,软件设计采用模块化的编程方法。

3 系统硬件设计

本系统由移相整形电路、相位测量电路、数字移相信号发生器以及键盘与显示电路组成。键盘电路与显示电路用来预置初始状态与显示结果。系统框图如图1所示。

3.1 移相网络电路

移相网络电路由相位超前、相位滞后网络及放大电路构成。具体电路如图2所示。

在该电路中相角和电压幅值均可以改变。本电路中第一部分是由741和RC网络所构成的超前移相电路和滞后移相电路。具体相关理论如下:

(1)超前网络电路如图3所示。

令:

相角与频率的关系:

(2)滞后网络电路如图4所示。

令:

相角与频率的关系:

实际应用中在不同情况下具体参数由上述公式计算。具体调试电路时,当输入频率改变时,根据以上公式改变超前,滞后网络中R,C参数,就可以改变相位差。第二部分为TL072运算放大器构成的低噪声高增益放大电路。调节R1,R2可以改变输出电压幅度,R3为调零相位电阻。

3.2 相位测量电路

相位测量电路由单限(过零)比较器,逻辑门电路,单片机C8051F041系统组成。

将经过移相电路的两同频信号由过零比较器整形为方波信号A和B。其电路如图5。

为了使测量相位差更加精确,现将信号A和B相与,A和B’(B取反)相与,如图6所示。

输出波形经单片机记数测量出其波形宽度,即可以计算出周期及相位差[3]。若单片机时钟频率为 f1,T1=1/f1;输入信号频率为 f2,T2=1/f2。一个信号周期对应 360,则单位时间对应的相位值可记为360/T2。如果单片机检测到的波形脉冲宽度为T,则对应的相位差值为:T×360/ T2。

由单片机产生高频率的时钟信号,对输入信号进行扫描,即与输入信号进行逻辑与运算来确定T。输入信号为低电平时,没有时钟脉冲输出;为高电平时输出时钟信号。对其进行记数,假设为N,就可以计算出脉宽,为N×T1,即 T=N×T1。

从上面的波形图可以看出,对 A∩B 信输出信号的脉宽并不是A,B信号的相位差值,而是与相位差相加起来为半个周期(T1/2)的值,因此,由此信号计算出 A,B的相位差为(T1/2-T)×360/ T2。对于A∧B’的输出信号检测的脉宽,则是 A,B信号相位差的直接反应,此时相位差值为T×360/ T2。

3.3 数字移相信号发生器

数字式移相信号发生器由单片机软件编程实现,频率可调并可以步进。此部分电路完全由单片机编程来控制实现。其具体过程如下:将正弦波信号数字化,并形成一张数据表存入ROM芯片中,此后在单片机的控制下连续地循环输出该数据表,就可获得两路正弦波信号,当数据序列完全相同时,则转换所得到的两路正弦波信号无相位差,称为同相。当数据序列不同时,则转换所得到的两路正弦波信号就存在着相位差。相位差的值与数据表中数据的总个数及数据地址的偏移量有关。这种处理方式的实质是将数据地址的偏移量映射为信号间的相位值。

3.4 键盘及显示电路

键盘电路采用 4×4键盘并行输入,每个按键的功能由单片机编程定义。

显示电路采用串行数据输入、六位数码管显示。显示部分应用软件技术,仅使用三根线,即数据线、时钟线及控制线,通过对单片机串口的编程,实现了数码显示与单片机之间的串行接口技术[4],外部硬件使用六片 4094和六个 LED实现六位数据显示,还可以继续扩展。

3.5 单片机系统

本系统用到的控制器是C8051F410,它的主频是24.5 MHz,内部有一个 12位 SFR ADC,该ADC的最大转换速率是200 ks/s,有三个端口可作为ADC的输入。接口电路,复位电路等电路简单,功能强大,而且体积小,采用电池供电。

3.6 直流电源

将市电降压整流后再加以稳压,获得稳定的12 V或5 V直流电供使用,分别有两路输出。电路原理图如图 7。图 7中把7812换成7805输出为5 V直流。

4 系统的软件部分

本程序的编写和调试的开发环境是Keil 51,采用C语言和汇编语言混合编程,基于 C程序中调用汇编的设计方式[5]。

编程流程图如图8所示。

5 系统测试及结果

5.1 调试方法和过程

先分别调试各个单元模块,然后整机调试,调试成功后将程序写入单片机中再进行调试。经过这样调试结果显示整个系统能够工作。

5.2 测试数据

移相网络的测量结果如下。

5.2.1 相位测量结果

当Vi=5 V; f=1 kHz;c1=c2=0.1µF时:

若R11=10kΩ, R22=0~10kΩ,相位差⊿为50°~0°;

若R22=10kΩ, R11=0~10kΩ,相位差⊿为-90°~0°。

当Vi=5 V;f=10 kHz;c1=c2=0.01µF时:

若R11=10kΩ;R22=0~10kΩ,相位差⊿为50°~0°;

若R22=10kΩ;R11=0~10kΩ,相位差⊿为-90°~0°。

5.2.2 幅度测量结果

当Vi=5 V; f=1 kHz;c1=c2=0.1µF时:

若R1=10~0kΩ,幅度变化⊿为5.6~0 V;

若R2=10~0kΩ,幅度变化⊿为7.2~0 V。

当Vi=5 V; f=10 kHz ; c1=c2=0.01µF时;

若R1=10~0kΩ,幅度变化⊿为5~0V;

若R2=10~0kΩ,幅度变化⊿为7~0V。

本系统中计数脉冲为C8051F410的主频24.5 MHz,若用 0.1o来标度相位差时,即测量相位差精度要求达到 0.1o时 ,则:在半个周期内必须要有f=24.5 MHz的计数脉冲1800个,可推得:

1800×(1/24.5)µs=T/2,

T=2×(1/24.5)µs×1800,

fmax=1/T=6.8 kHz,

由此可知,当要求精度为0.5o时fmax可达34 kHz。

经过实测分析,该测量仪在要求精度为1o时,能够测量的正弦信号的频率范围为20 Hz~68 kHz,连续移相范围达到了-45~45,峰~峰值可以分别在1~7 V范围内变化,而且输入阻抗大于100 kΩ。测量频率可以直接数字显示出来,达到了基本要求。

各个模块单独调试时均能够正常工作,但级连起来时候测试误差较大,不能很好的进行测量。

6 测试误差及精度分析

用时钟信号扫描输入信号时,当时钟信号为高电平时,刚好处于输入信号的上升沿或下降沿,此时输出电平不知道是低电平还是高电平,就会丢失记数脉冲的个数[6]。做最坏的情况分析,即上升沿和下降沿的脉冲都丢失,损失了两个记数值,此时即为最大的误差值。

根据方案实现中的定义,可以计算出对应的最大相位差误差值,即⊿=2×T1×360/T2。此误差不能消除。

将两同频信号移相信号经过过零比较器后整形为方波信号 A、B。为了能够更加精确地测量相位差,本系统分开两种测量方法主要是考虑到减少误差的问题。当A,B信号相位差值很小的时候,测量 A∩B’的输出信号的误差大,不适宜直接测量,此时应测量A∩B 后的信号。当A,B相位差很大时,此时测A∩B’输出信号误差比较小,不适宜测量A∩B 的信号。

7 结语

本文采用高主频微处理器C8051F410作为数字相位测量系统的核心控制部分,相差信号由移相网络产生,经整形相差测量电路测量后由单片机控制输出显示,硬件易实现,软件采用混合编程方式,效率高。经实验验证该方案中相位精度受频率影响小,容易控制,稳定性高,可以实现较高的精度。

[1] 叶林,周弘,张洪,等.相位差的几种测量方法和测量精度分析[J].电测与仪表,2006,43(04):11-14.

[2] 缪晓中,杜伟略.相位差测量方法的研究与应用[J].仪表技术,2004(03):61-62,67.

[3] 俞方炜.单片机在数字示波器设计中的应用[J].通信技术,2009,42(05):269-271.

[4] 侯明,杜奕.基于CAN总线的接口电路[J].通信技术, 2009,42(07) :138-140.

[5] 赵亮,侯国锐.单片机 C语言程序设计与编程实例[M].北京:人民邮电出版社,2003.

[6] 杨灿平,杜宇人.一种高精度相位测量方法[J].现代电子技术,2007(16):142-144.

猜你喜欢

方波调试编程
便携式多功能频率计的设计与实现
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
测绘技术在土地资源管理中的应用
一种基于555定时器的方波产生电路设计
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
无线通信中频线路窄带临界调试法及其应用