DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 118|回复: 0
打印 上一主题 下一主题

用单片机实现数字相位变换器的设计方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 17:02:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

                   

摘 要: 介绍了用单片机实现数字相位变换器(又称脉冲调相器)的一种设计方法。主要描述了数字相位变换器的工作原理,基于AT89C2051单片机的硬件电路的工作原理以及软件设计的基本思想和程序设计方法。
关键词: 数字相位变换器 脉冲调相 AT89C2051单片机
?

数字相位变换器又称脉冲调相器,是鉴相型位置伺服系统中的主要控制线路。它的作用是将脉冲信号转换为相位变化信号。在传统的系统设计中,脉冲调相器是通过纯硬件线路实现的,线路复杂、设计难度大、调试难度也较大。作者在旋转变压器鉴相型位置检测系统中设计脉冲调相器时,改变传统的纯硬件设计方法,采用单片机实现脉冲调相,使硬件设计工作大大简化,易于实现,且电路调试简便。
?
1 脉冲调相器的工作原理

用一个频率为fcp的时钟脉冲去触发一个容量为M的计数器时,如用四位二进制计数器,其容量为16,那么在计数器的最后一级输出端可获得一个频率为1/16fcp的方波信号。如果在时钟脉冲触发计数器的过程中,向计数器加入一个额外的脉冲,则由于计数器提前完成16个数的计数任务,而使得最后一级的输出提前翻转,从而使计数器的输出产生了一个正的相移Δθ,如图1(a)所示。同理,在时钟脉冲触发计数器的过程中,如果扣除一个脉冲,则由于计数器推迟完成16个数的计数任务而使最后一级的输出延时翻转,从而导致其输出产生一个负的相移Δθ,如图1(b)。




Δθ与计数器容量有关,即Δθ=360°/M。如果在时钟脉冲触发计数器的过程中,向计数器加入或扣除的不止是一个脉冲,而是N个脉冲,则计数器输出相移θ=NΔθ。
在上述旋转变压器鉴相型位置检测系统中,要求脉冲调相器输出400Hz的调相信号。一个脉冲产生的相移为Δθ=1.8°,则计数器的容量应为200,触发脉冲的频率应为80kHz。
?
2 硬件电路
硬件电路如图2所示。



2.1 电路实现的功能
(1)产生两个频率为80kHz的异步时钟脉冲信号FA和FB;
(2)在时钟脉冲FA的反相信号作为计数脉冲触发容量为200的计数器过程中,控制FB的反相信号插入计数脉冲,使计数器输出信号相位前移;或阻塞进入计数器,即扣除脉冲,使计数器输出信号相位后移。

2.2 工作原理
频率为160kHz的时钟脉冲源CP160K经二分频器U1A分频后产生两个频率为80kHz的方波信号Q和。Q和再分别与CP160K作与运算,由门U3A和U4A分别输出获得两个频率为80kHz的异步脉冲信号和FB,波形如图3所示。



无调相指令时,89C2051单片机将输出位P1.2和P1.3均置成0。此时门U5A被打开,门U3B被封锁并输出1,打开门U4B,计数脉冲系列通过U4B触发容量为100的计数器U6计数,在二分频器U1B的第9脚输出400Hz方波信号。当单片机接收到正调相指令时,将P1.2置为0,P1.3置为1,门U5A打开,通过门U5A,此时U3B也打开,FB通过门U3B变成,并和同时进入门U4B,形成计数脉冲系列。由于FA和FB是异步信号,因此达到了在计数脉冲系列中插入脉冲的目的,使计数器U6A多计一个数,从而使二分频器U1B输出信号相位前移,工作波形如图4a所示。




当单片机接收到负调相指令时,将P1.2置为1,P1.3置为0。此时门U5A被封锁并输出1,时钟脉冲被阻塞,同时门U3B被封锁并输出1,时钟脉冲FB也被阻塞,达到了在计数脉冲系列中减去脉冲的目的,使计数器U6A少计一个数,从而使U1B输出信号相位后移,波形如图4b所示。
?
3 软件设计
程序设计的主要思路是:执行正方向调相时,根据给定的脉冲数(假设脉冲数为N),控制P1.3的状态,实现插入N个的操作,参见图4(a);执行负方向调相时,根据给定的脉冲数N,控制P1.2的状态,实现阻塞N个的操作,参见图4b。程序框图如图5所示,程序清单见程序1和程序2,其中寄存器B中存放给定脉冲数N。



程序1:正方向调相程序
MA6: MOV A,B
JZ MA4
MA7: JB P1.6 $
JNB P1.6 $
NOP
SETB P1.3
JB P3.1 $
JNB P3.1 $
CLR P1.3
DJNZ B MA7
MA4 RET
程序2: 负方向调相程序

MA8: MOV A, B
JZ MA9
MA10: JB P1.6 $
JNB P1.6 $
NOP
SETB P1.2
JB P1.6 $
JNB P1.6 $
CLR P1.2
DJNZ B MA10
MA9 RET
通过该系统的设计,体会到在一些复杂数字电路的设计中,如果处理速度允许,采用类似AT89C2051的低价位单片机来实现其中的部分硬件电路功能,可降低设计难度、缩短研制时间、提高设计效率。随着微机处理速度的不断提高,这种方法会获得更广泛的应用。
参考文献
1 王润孝,秦现生. 机床数控原理与系统. 西安:西北工业大学出版社,1997
2 电子工程手册编委会.中外集成电路简明速查手册.北京:电子工业出版社,1993
3 张友德,赵志英,涂时亮. 单片微型机原理、应用与实验. 上海:复旦大学出版社,1992

            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-11-7 17:16 , 耗时 0.087426 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表