基于MCU的锁相环锁定时间测量系统设计
3.2 下位机设计
单片机中的下位机负责控制锁相环并测量锁定时间。流程图如图5所示。本文引用地址:https://www.eepw.com.cn/article/171566.htm
下位机也是基于一个前后台系统,在一个死循环内等待各中断响应。在单片机向锁相环发送完控制数据后开启外部中断,若有外部中断响应则在中断服务程序中读取定时器的值,即为锁定时间,中断结束后将定时器清零,以便再次测量;若当定时器溢出时仍未收到外部中断,表明锁相环未能锁定,则发送未锁定信息给上位机。这里设置了3个中断向量分别为外部中断、定时器T0中断、串口中断。在默认情况下它们的中断优先级依次从高到低,为防止不必要的中断嵌套,在响应其中一个中断服务时应将另两个中断关掉,中断服务结束后再开启。
AT89C51有两路定时/计数器T0,T1。本系统中T1用来设置串口的波特率,串口有4种工作方式,本文使用方式1,即8位异步通信接口,一帧数据有10位,1位起始位,一位停止位。T0用来测量锁定时间,T0定时器使用系统时钟的12分频作为时钟源,将T0配置为16位定时器模式,所以环路锁定时间可由下式确定,单位为μs。
T=(TH0×256+TL0)×Tosc×12 (1)
式中:TH0,TL0分别是在外部中断服务程序中读到的定时器T0的数据寄存器高8和低8位;Tosc是单片机外接晶振的振荡周期,本文外接晶振为12 MHz,即为1/12μs,因此本系统可实现精度为1μs的时间测量。根据图2所示的时序图,单片机向锁相环发送控制数据的子程序如下:
4 结语
本文采用MFC、串口、AT89C51所设计的测量系统能准确测量锁相环的锁定时间,精度达到1μs;并且有很强的通用性,能兼容常见的各类锁相环芯片。系统上位机的人机操作界友好,硬件电路结构简单。
接地电阻相关文章:接地电阻测试方法
评论