- PIC18F452的設(shè)計研究
- PIC18F452的測頻原理
- 使用PIC18F452進行頻率測量
- 測頻儀的軟硬件設(shè)計
- 使用PIC18F452的CCP模塊測量外部脈沖信號的頻率
介紹一種測頻儀的設(shè)計方案,并將此儀器應(yīng)用到云南天文臺麗江2.4m望遠鏡圓頂溫度的測量工作中。詳細闡述了PIC18F452自帶的CCP模塊的測頻原理,同時給出了儀器軟硬件的設(shè)計思路,最后在Proteus中對系統(tǒng)進行了仿真測試。測試結(jié)果表明了該方案的可行性。該儀器的研制也為西部望遠鏡的選址工作提供了一種有效的測量工具。
通過頻率的測量來間接地獲取溫度數(shù)據(jù)是檢測天文望遠鏡圓頂溫度的常用方法。頻率信號不但具有較強的抗干擾能力,而且易于傳輸。因此將望遠鏡圓頂附近的溫度傳感器所產(chǎn)生的電信號轉(zhuǎn)換為頻率信號,然后對頻率信號進行測量和采集,最終再通過一些確定的函數(shù)關(guān)系把頻率值轉(zhuǎn)換為溫度值。該方案與直接測量溫度的方法相比,可操作性更強。
1 PIC18F452的測頻原理
PIC18F452是美國Microchip公司生產(chǎn)的一款高性能的8位單片機,其片上資源十分豐富,本文設(shè)計的測頻儀就是使用該單片機的CCP1(捕捉/比較/脈寬調(diào)制)模塊的捕捉功能來實現(xiàn)的,CCP1模塊工作在捕捉模式下的功能框圖如圖1所示。
在捕捉模式下,每當(dāng)CCP引腳上有下列事件之一發(fā)生時:每個下降沿發(fā)生、每個上升沿發(fā)生、每4個上升沿發(fā)生、每16個上升沿發(fā)生,CCP R1H:CCPR1L就會捕捉TMR1或TMR3寄存器的16位計數(shù)值,即記錄下事件發(fā)生的時刻,使用CCP模塊的這個功能就可以實現(xiàn)頻率的測量。
使用PIC18F452進行頻率測量的原理如圖2所示:設(shè)置CCP模塊工作于捕捉模式,并且讓它在每個上升沿捕捉一次數(shù)據(jù),由相鄰兩個上升沿到來的時間差就可以得到被測脈沖的周期,從而也就得到了脈沖的頻率。
[page]
2 測頻儀的軟硬件設(shè)計
2.1 硬件電路設(shè)計
測頻儀的硬件電路主要包括兩個方面:頻率測量電路和數(shù)據(jù)通信電路。頻率測量是指使用PIC18F452的CCP模塊測量外部脈沖信號的頻率;數(shù)據(jù)通信是指將測量得到的數(shù)據(jù)通過串口傳至PC機進行處理。測頻儀的硬件電路如圖3所示。
2.2 軟件設(shè)計
軟件的主要功能就是設(shè)置相關(guān)的功能模塊來配合硬件實現(xiàn)頻率的采集與數(shù)據(jù)的上傳,為了達到實時采集的目的,CCP模塊使用中斷方式進行捕捉。測頻儀與PC機采用主從式通信,PIC18F452根據(jù)PC機發(fā)來的不同指令進行相關(guān)的操作,指令共有兩種:開始采集和停止采集。當(dāng)接收到“開始采集”命令時,PIC18F452就啟動CCP模塊進行頻率的測量并把測量結(jié)果通過串口上傳到PC機;當(dāng)接收到“停止采集”的命令時,PIC18F452就關(guān)閉CCP模塊,同時停止上傳數(shù)據(jù),然后繼續(xù)等待上位機的命令。測頻儀的軟件流程圖如圖4所示。
3 仿真分析
使用軟件仿真的方法不但可以在理論上驗證設(shè)計的可行性,而且也降低了開發(fā)的成本和開發(fā)難度,這種技術(shù)在基于單片機的開發(fā)中是非常有用的。
Proteus是英國Labcenter公司開發(fā)的一款電路分析與實物仿真軟件,可以仿真、分析多種模擬器件和集成電路,功能非常強大,同時該軟件還支持多種型號的單片機,如AVR,PIC,MCS-51等。更可貴的是該軟件可以與Microchip公司的MPLAB集成開發(fā)環(huán)境進行無縫連接,從而也可以進行程序的單步調(diào)試,整個操作也十分簡單,只要用MPLAB將源程序編譯成HEX文件導(dǎo)人到Proteus中的電路圖中即可繼續(xù)仿真測試,測試所用的電路原理圖如圖5所示。
關(guān)于這個仿真原理圖有以下幾點需要說明:
(1)仿真的目的是為了驗證所關(guān)心的CCP模塊的工作情況,所以圖中省略了PIC18F452的晶振電路和復(fù)位電路,其實它們都不會影響程序運行的結(jié)果。
[page]
(2)串口通信部分所使用的仿真元件(COMPIM)不需要進行電平轉(zhuǎn)換,只要安裝上虛擬串口并設(shè)置仿真元件的相關(guān)屬性就可以實現(xiàn)Proteus中的PIC18F452與PC機進行通信,所以圖中省略了MAX232電平轉(zhuǎn)換芯片。
(3)COMPIM僅僅是提供一種物理連接上的映射關(guān)系,所以這里的RxD引腳和TxD引腳的連接方式是按照對應(yīng)關(guān)系連接的,在實際的硬件電路中還是要按照硬件電路圖(見圖3)去連線。
當(dāng)以上工作進行完畢之后,就可以對設(shè)計的電路進行仿真調(diào)試了,程序的仿真結(jié)果如圖6所示。
從圖6可以看出,PIC18F452已經(jīng)測出了設(shè)定的幾個輸入頻率的數(shù)值,仿真結(jié)果表明該方案可行。
4 硬件電路的測試
仿真通過之后,就可以按照圖3搭建硬件電路來進行硬件的運行測試。在此使用VB 6.0來編寫上位機軟件,同時配合Access數(shù)據(jù)庫來存儲PIC18F452上傳的頻率數(shù)據(jù)。系統(tǒng)的運行效果如圖7,圖8所示。
5 結(jié)語
目前,測頻儀已經(jīng)被成功地應(yīng)用到了云南天文臺麗江2.4 m圓頂?shù)臏囟炔杉ぷ髦?。今后還會對儀器進行擴展和完善(例如,在儀器上增加數(shù)據(jù)存儲模塊),到時該儀器將可以適應(yīng)野外的工作環(huán)境,這對于即將開始的西部望遠鏡的選址工作具有非?,F(xiàn)實的意義。