基于單片機(jī)的等精度頻率計(jì)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅速發(fā)展,特別是單片微機(jī)的出現(xiàn)和發(fā)展,使傳統(tǒng)的電子測量儀器在原理、功能、精度及自動(dòng)化水平等方面都發(fā)生了巨大的變化,形成一種完全突破傳統(tǒng)概念的新一代測量儀器。頻率計(jì)廣泛采用了高速集成電路和大規(guī)模集成電路,使儀器在小型化、耗電、可靠性等方面都發(fā)生了重大的變化。傳統(tǒng)的頻率計(jì)測量誤差較大,等精度頻率計(jì)以其測量準(zhǔn)確、精度高、方便等優(yōu)勢將得到廣泛的應(yīng)用。
傳統(tǒng)的測頻方法有直接測頻法和測周法[1],在一定的閘門時(shí)間內(nèi)計(jì)數(shù),門控信號(hào)和被測信號(hào)不同步,計(jì)數(shù)值會(huì)產(chǎn)生一個(gè)脈沖的誤差。等精度測頻法采用門控信號(hào)和被測信號(hào)同步,消除對被測信號(hào)計(jì)數(shù)產(chǎn)生的一個(gè)脈沖的誤差。等精度頻率測量方法消除了量化誤差,可以在整個(gè)測試頻段內(nèi)保持高精度不變,其精度不會(huì)因被測信號(hào)頻率的高低而發(fā)生變化。采用單片機(jī)作為控制核心的等精度頻率計(jì),可以充分利用單片機(jī)軟件編程技術(shù)實(shí)現(xiàn)等精度測頻。通過單片機(jī)對同步門的控制,使被測信號(hào)和標(biāo)準(zhǔn)信號(hào)在閘門時(shí)間內(nèi)同步測量,為了提高精度,將電子計(jì)數(shù)功能轉(zhuǎn)為測周期,采用多周期同步測量技術(shù),實(shí)現(xiàn)等精度測量。
1等精度頻率計(jì)的測量原理
1.1等精度頻率計(jì)的測量原理
500)this.style.width=500;" border="0" />
基于傳統(tǒng)測頻原理的頻率計(jì)的測量精度將隨被測信號(hào)頻率的變化而變化。傳統(tǒng)的直接測
頻法其測量精度將隨被測信號(hào)頻率的降低而降低,測周法的測量精度將隨被測信號(hào)頻率的升高而降低,在實(shí)用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測量精度,而且在整個(gè)頻率區(qū)域能保持恒定的測試精度。
等精度頻率的測量原理圖1所示[2]。頻率為fx的被測信號(hào)經(jīng)通道濾波、放大、整形后
輸入到同步門控制電路和主門1(閘門),晶體振蕩器的輸出信號(hào)作為標(biāo)準(zhǔn)信號(hào)(時(shí)基信號(hào))輸入到主門2。被測信號(hào)在同步控制門的作用下,產(chǎn)生一個(gè)與被測信號(hào)同步的閘門信號(hào),被測信號(hào)與標(biāo)準(zhǔn)信號(hào)(時(shí)基信號(hào))在同步門控制信號(hào)的控制下。在同步門打開時(shí)通過同步門分別輸入到事件計(jì)數(shù)器和時(shí)間計(jì)數(shù)器的信號(hào)輸入端,計(jì)數(shù)器開始計(jì)數(shù)。同步門關(guān)閉時(shí)信號(hào)不能通過主門,計(jì)數(shù)器停止計(jì)數(shù),單片機(jī)發(fā)出命令讀入計(jì)數(shù)器的數(shù)值,并進(jìn)行數(shù)據(jù)處理,將處理后的結(jié)果送顯示。
等精度頻率測量方法是采用多周期同步測量。如圖1的測量原理圖所示由單片機(jī)發(fā)出預(yù)置門控信號(hào)GATE,GATE的時(shí)間寬度對測頻精度影響較少,可以在較大的范圍內(nèi)選擇,即在高頻段時(shí),閘門時(shí)間較短;低頻時(shí)閘門時(shí)間較長。實(shí)現(xiàn)了全范圍等精度測量,減少了低頻測量的誤差。
在同步門的控制下,一方面保證了被測信號(hào)和時(shí)基信號(hào)的同步測量;另一方面在同步門打開后計(jì)數(shù)器并不是馬上計(jì)數(shù),而是在被測信號(hào)的下一個(gè)上升沿開始計(jì)數(shù),同步門關(guān)閉后計(jì)數(shù)器也不是馬上停止計(jì)數(shù),而是在被測信號(hào)的下一個(gè)上升沿停止計(jì)數(shù)。即在實(shí)際閘門時(shí)間計(jì)數(shù),從而提高了測量精度。
由于采用D觸發(fā)器實(shí)現(xiàn)的同步門的同步作用,事件計(jì)數(shù)器所記錄的Nx值已不存在誤差的影響,但由于時(shí)鐘信號(hào)與閘門的開和關(guān)無確定的相位關(guān)系,時(shí)間計(jì)數(shù)器所記錄的N0的值仍存在±1誤差的影響,只是由于時(shí)鐘頻率很高,誤差的影響很小。所以在全頻段的測量精度是均衡的,從而實(shí)現(xiàn)等精度頻率測量。
1.2 等精度頻率計(jì)計(jì)數(shù)測量誤差
500)this.style.width=500;" border="0" />
500)this.style.width=500;" border="0" />
2 等精度測頻的硬件電路設(shè)計(jì)及測量過程[!--empirenews.page--]
2.1 硬件電路設(shè)計(jì)
等精度測頻的硬件電路如圖2所示[3] [4],其主要由以下幾部分組成:單片機(jī)控制部分、同步門控制電路、計(jì)數(shù)和鍵盤與顯示電路。單片機(jī)控制部分主要完成測量過程的控制、測量結(jié)果的處理和顯示。單片機(jī)選用AT89C52,其中P1.0用于控制同步門D觸發(fā)器74LS74 產(chǎn)生同步的閘門信號(hào),P1.2用于對74LS393組成的計(jì)數(shù)器清零,一次計(jì)數(shù)完成后單片機(jī)通過控制兩片74LS244讀取被測信號(hào)與標(biāo)準(zhǔn)信號(hào)的低8位計(jì)數(shù)值,高位計(jì)數(shù)值在單片機(jī)的T0、T1中。然后單片機(jī)對計(jì)數(shù)值進(jìn)行運(yùn)算處理,并送出顯示。AT89C52 P1.3、 P1.4、 P1.5和 P1.6用于和串行接口8位LED數(shù)碼管及鍵盤控制芯片HD7279A的連接,控制和管理鍵盤及顯示。同步門控制電路主要由D觸發(fā)器74LS74(同步門控制)、六反相器74LS04和二輸入或非門74LS02組成(主門1、主門2)。主門1控制被測信號(hào)fx的通過,主門2控制時(shí)鐘信號(hào)f0的通過,兩門的啟閉都由同步門控制電路控制。計(jì)數(shù)器包括事件計(jì)數(shù)器和時(shí)間計(jì)數(shù)器兩部分,它們是兩組完全相同的計(jì)數(shù)電路。分別由前后兩級(jí)組成。前級(jí)由雙4位異步計(jì)數(shù)器74LS393級(jí)聯(lián)構(gòu)成八位二進(jìn)制計(jì)數(shù)器;后級(jí)由AT89C52單片機(jī)內(nèi)的定時(shí)/計(jì)數(shù)器構(gòu)成十六位二進(jìn)制計(jì)數(shù)器。標(biāo)準(zhǔn)信號(hào)部分采用10MHz石英晶體振蕩器來提供測量所需要的標(biāo)準(zhǔn)脈沖信號(hào)。鍵盤與數(shù)碼顯示部分采用串行接口方式8位LED數(shù)碼管及64鍵鍵盤管理芯片HD7279A與單片機(jī)連接,驅(qū)動(dòng)八位LED共陰極數(shù)碼管和鍵盤接口,鍵盤與數(shù)碼顯示部分主要完成測量功能的選擇和測量頻率的數(shù)據(jù)顯示。
2.2 測量過程
AT89C52單片機(jī)的P1.3引腳發(fā)出復(fù)位信號(hào),使兩個(gè)計(jì)數(shù)器清零,同時(shí)P1.1也發(fā)出復(fù)位信號(hào),使同步門控制器的500)this.style.width=500;" border="0" />端為低電平,則主門1和主門2都關(guān)閉。這時(shí)P1.0的初始狀態(tài)為“1”,使D觸發(fā)器的D端為高電平。根據(jù)D觸發(fā)器的功能,500)this.style.width=500;" border="0" />端與D端的邏輯狀態(tài)不同,觸發(fā)器處于閉鎖狀態(tài),這時(shí)被測信號(hào)即使到達(dá)CK端,也不能使其觸發(fā)翻轉(zhuǎn),保證了同步門可靠關(guān)閉。AT89C52單片機(jī)的P1.0從高電平跳到低電平,使D觸發(fā)器的D端為“0”,這樣500)this.style.width=500;" border="0" />端與D端的邏輯狀態(tài)相同,觸發(fā)器解除閉鎖,這時(shí)被測信號(hào)一旦到達(dá)CK端,觸發(fā)器立即翻轉(zhuǎn),500)this.style.width=500;" border="0" />由“0”變?yōu)椤?”,于是同步門被打開,被測信號(hào)和時(shí)間信號(hào)分別進(jìn)入到相應(yīng)的計(jì)數(shù)器進(jìn)行計(jì)數(shù)。P1.0從高電平跳到低電平的同時(shí),也啟動(dòng)了計(jì)時(shí)系統(tǒng)開始計(jì)量閘門時(shí)間。當(dāng)預(yù)定的閘門時(shí)間結(jié)束時(shí),使P1.0又從低電平恢復(fù)到高電平,D觸發(fā)器再次解除閉鎖。隨后緊跟而來的被測信號(hào)再次觸發(fā)D觸發(fā)器使之翻轉(zhuǎn),500)this.style.width=500;" border="0" />端由高電平轉(zhuǎn)為低電平,使同步門關(guān)閉,計(jì)數(shù)器停止計(jì)數(shù)。
500)this.style.width=500;" border="0" />
500)this.style.width=500;" border="0" />[!--empirenews.page--]
500)this.style.width=500;" border="0" />
3 軟件設(shè)計(jì)
系統(tǒng)軟件的設(shè)計(jì)主要是和硬件電路相結(jié)合,正確地實(shí)現(xiàn)等精度測量。整個(gè)系統(tǒng)軟件的設(shè)計(jì)采用了自頂向下的模塊化的結(jié)構(gòu)方式,將各個(gè)功能分成獨(dú)立模塊,由系統(tǒng)的程序統(tǒng)一管理執(zhí)行。它主要完成各種功能,如測量、 數(shù)據(jù)運(yùn)算、顯示等。如圖4所示為頻率測量主程序流程圖,在計(jì)數(shù)前對計(jì)數(shù)器清零。然后,發(fā)出命令打開閘門進(jìn)入閘門時(shí)間,計(jì)數(shù)器在閘門時(shí)間內(nèi)計(jì)數(shù)。延時(shí)子程序結(jié)束后,發(fā)出命令關(guān)閉閘門使計(jì)數(shù)器停止計(jì)數(shù);單片機(jī)再依照程序讀取計(jì)數(shù)器的值,并與單片機(jī)內(nèi)部計(jì)數(shù)器所計(jì)的值合并在一起。由公式(1),即被測頻率fx=f0×Nx/N0來進(jìn)行運(yùn)算,由于精度要求,Nx和N0都由24位二進(jìn)制數(shù)來計(jì)數(shù)。因此,要在單片機(jī)內(nèi)部進(jìn)行多字節(jié)無符號(hào)二進(jìn)制數(shù)的乘法和除法運(yùn)算,并將運(yùn)算結(jié)果轉(zhuǎn)換成BCD碼,顯示運(yùn)算結(jié)果。
4 結(jié)束語
本文作者創(chuàng)新點(diǎn):采用單片機(jī)AT89C52作為系統(tǒng)控制單元,輔以適當(dāng)?shù)能洝⒂布Y源完成以單片機(jī)為核心的等精度頻率計(jì)設(shè)計(jì),實(shí)現(xiàn)頻率的等精度測量。設(shè)計(jì)采用標(biāo)準(zhǔn)時(shí)基信號(hào)為10MHz,也可以在晶振部分加一分頻電路,根據(jù)不同的被測頻率調(diào)整不同的標(biāo)準(zhǔn)信號(hào)頻率;等精度頻率計(jì)不僅可以測量頻率,還可以測量周期、相位[5]和用于計(jì)數(shù),只要編寫相應(yīng)的程序變可實(shí)現(xiàn)相應(yīng)的功能。經(jīng)過實(shí)驗(yàn)測試后,等精度頻率計(jì)運(yùn)行可靠;該等精度頻率計(jì)可用于工程領(lǐng)域的高速計(jì)數(shù)場合,預(yù)計(jì)可以產(chǎn)生20萬元左右的經(jīng)濟(jì)效益。