基于MCU的鎖相環(huán)鎖定時(shí)間測量系統設計
3.2 下位機設計
單片機中的下位機負責控制鎖相環(huán)并測量鎖定時(shí)間。流程圖如圖5所示。本文引用地址:http://dyxdggzs.com/article/171566.htm
下位機也是基于一個(gè)前后臺系統,在一個(gè)死循環(huán)內等待各中斷響應。在單片機向鎖相環(huán)發(fā)送完控制數據后開(kāi)啟外部中斷,若有外部中斷響應則在中斷服務(wù)程序中讀取定時(shí)器的值,即為鎖定時(shí)間,中斷結束后將定時(shí)器清零,以便再次測量;若當定時(shí)器溢出時(shí)仍未收到外部中斷,表明鎖相環(huán)未能鎖定,則發(fā)送未鎖定信息給上位機。這里設置了3個(gè)中斷向量分別為外部中斷、定時(shí)器T0中斷、串口中斷。在默認情況下它們的中斷優(yōu)先級依次從高到低,為防止不必要的中斷嵌套,在響應其中一個(gè)中斷服務(wù)時(shí)應將另兩個(gè)中斷關(guān)掉,中斷服務(wù)結束后再開(kāi)啟。
AT89C51有兩路定時(shí)/計數器T0,T1。本系統中T1用來(lái)設置串口的波特率,串口有4種工作方式,本文使用方式1,即8位異步通信接口,一幀數據有10位,1位起始位,一位停止位。T0用來(lái)測量鎖定時(shí)間,T0定時(shí)器使用系統時(shí)鐘的12分頻作為時(shí)鐘源,將T0配置為16位定時(shí)器模式,所以環(huán)路鎖定時(shí)間可由下式確定,單位為μs。
T=(TH0×256+TL0)×Tosc×12 (1)
式中:TH0,TL0分別是在外部中斷服務(wù)程序中讀到的定時(shí)器T0的數據寄存器高8和低8位;Tosc是單片機外接晶振的振蕩周期,本文外接晶振為12 MHz,即為1/12μs,因此本系統可實(shí)現精度為1μs的時(shí)間測量。根據圖2所示的時(shí)序圖,單片機向鎖相環(huán)發(fā)送控制數據的子程序如下:
4 結語(yǔ)
本文采用MFC、串口、AT89C51所設計的測量系統能準確測量鎖相環(huán)的鎖定時(shí)間,精度達到1μs;并且有很強的通用性,能兼容常見(jiàn)的各類(lèi)鎖相環(huán)芯片。系統上位機的人機操作界友好,硬件電路結構簡(jiǎn)單。
接地電阻相關(guān)文章:接地電阻測試方法
評論