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