基于MCU的锁相环锁定时间测量系统设计
基于MCU 的锁相环锁定时间测量系统设计 作者:胡天琨 叶建芳
来源:《现代电子技术》2012年第06期
摘要:为测量锁相环锁定时间,通过比较各锁相环芯片的接口特点,设计通用的测量系统。该系统包括上位机、下位机软件以及基于AT89C51的控制电路,上位机和下位机使用串口通信。通用性和实时性是系统最大特点,在软件和硬件的设计上保证系统能兼容大多数常用锁相环芯片;并能根据用户输入的控制参数实时控制锁相环且测量其锁定时间。通过实际应用证明,该系统能准确测量锁定时间,有效减少锁相环设计与调试过程中的工作量与复杂度。 关键词:AT89C51; 锁相环; 锁定时间; 串口
中图分类号:文献标识码:A 文章编号: Design for measurement system of PLL lock time based on MCU
(College of Information Science and Technology, Donghua University, Shanghai 210620, China) Abstract: A universal measurement system was design by comparing the interface
characteristics of each PLL chip to measure the lock time of PLL. This system includes the softwares
for both upper computers and lower computers, and control circuit based on AT89C51. The serial port performance are the primary features of this system to guarantee the compatibility of most common PLL chips in the design of softwares and hardwares. This system can control PLL and measure lock time of it timely according to the control parameter which is input by users. The actual application demonstrates that this system can not only measure the lock time of PLL precisely, but also reduce the work load and complexity during the design and debugging of PLL.
Keywords: AT89C51; PLL; lock time; serial port
收稿日期:锁相环技术是一种频率合成技术,在各类通信和控制系统有着重要应用。其中锁定时间是环路的重要参数。商业的锁相环设计软件仅能在仿真层面上计算出锁定时间的理论值,而本文所设计的锁定时间测量系统包括软件和硬件,可动态控制锁相环并实时测量其锁定时间。 典型的锁相环系统包括分频器、鉴相器、滤波器、压控振荡器。其中鉴相器和分频器往往都集成在一个锁相环芯片中,可使用单片机对其进行编程控制。锁相环芯片控制数据的传输大都采用串行方式,仅在一些细节上有所不同,这给设计通用的锁相环锁定时间测量系统带来可能。
1系统原理
测量系统结构如图1所示。上位机通过串口和单片机通信。上位机负责读取用户输入的控制参数并传递给单片机,单片机负责将控制参数写入锁相环并测量锁定时间,之后交由上位机显示。
通常锁相环芯片与单片机的编程接口电路如图2(a)所示,CLOCK 为芯片和单片机提供同步时钟;DATA 是芯片控制数据的串行输入引脚;LE 是芯片数据寄存器控制引脚,可通过LE 的上升沿触发将存储在芯片移位寄存器中的DATA 串行数据送入芯片内各部件;CE 为使能引脚。以上几个控制信号的时序如图2(b)所示,将以上几个引脚分别接入单片机的I/O口,并按照控制信号的时序向锁相环芯片写控制数据,便可控制锁相环芯片。
图1系统结构MUXOUT 是芯片的复用引脚,可配置成锁定检测输出,即当环路锁定时该引脚便输出高电平或低电平。所以环路锁定时间测量原理为:将MUXOUT 引脚连接到单片机的外部中断引脚,当单片机发送完数据后打开其内部定时器,环路锁定后MUXOUT 引脚便会触发单片机的外部中断,在单片机的中断程序中记录下定时器的值便可准确测量到环路的锁定时间。
图2锁相环芯片编程接口与时序通过比较发现,各类型锁相环芯片的编程接口除了上述共同点以外还存在如下几点差异:输入接口所要求的电平不同;MUXOUT 的锁定指示输出不同,即不同芯片的MUXOUT 有可能输出高电平表示锁定,也有可能输出低电平表示锁定;DATA 输入的顺序不同,例如当控制数据为1011时,某些芯片要求数据逆序输入,即输入顺序为1101;DATA 位数不同,不同芯片的控制数据不尽一致,因此数据位数也不一致。本文中前2点差异通过硬件电路解决,后2点通过上位机和下位机软件解决。
2硬件设计
本系统中的单片机选择AT89C51,主要基于2点考虑:AT89C51内置RS 232串口控制器,系统仅需外接串口驱动器即可完成与上位机的硬件连接;锁相环的锁定时间范围一般位于1 μs~1 ms之间,AT89C51内有两路定时器可选择,若外接12 MHz的晶振,则可实现精度为1 μs范围为65.536 ms的定时器,满足测量要求。
系统使用单片机的外部中端INIT0来检测环路是否锁定,INIT0中断可配置为下降沿触发。串口驱动器采用MAX232,该芯片主要负责将单片机的输出电平转化为差分电平以便与PC 机通信。该芯片中有两路独立的通道,这里使用其中的T2/R2。
3软件设计
3.1上位机设计
系统的整个软件部分包括PC 中的上位机和单片机中的下位机。上位机设计基于VC6.0中的MFC 应用软件框架。上位机流程图如图3所示。