基于單片機(jī)的等精度數(shù)字測頻

發(fā)布日期:2011-11-25    蘭生客服中心    瀏覽:1827

   在電子技術(shù)領(lǐng)域內(nèi),頻率是一個(gè)最基本的參數(shù),頻率與其它許多電參量的測量方案,都有十分密切的關(guān)系。因此,頻率的測量就顯得更為重要,而且,目前在電子測量中,頻率的測量精確度最高。


  1. 電子計(jì)數(shù)測頻原理框圖


1


  首先,被測信號(hào)通過放大整形,形成幅度一致,形狀一致是計(jì)數(shù)脈沖。然后,N將它加到閘門的一個(gè)輸入端,閘門由門控信號(hào)來控制其關(guān)閉時(shí)間。計(jì)得的脈沖送至譯碼,再送顯示器顯示出來。而由晶振產(chǎn)生的1MHz的振蕩信號(hào)經(jīng)放大整形,形成方波,經(jīng)多個(gè)10分頻10s,1s,0.1s,0.01s,1ms,那么有fx=N/T符合測頻定義。根據(jù)f=N/T。不難看出,采用計(jì)數(shù)器測頻的測量誤差,一方面決定于閘門時(shí)間T準(zhǔn)不準(zhǔn)確,即由晶振提供的標(biāo)準(zhǔn)頻率的準(zhǔn)確度△T/T=-(△fo/fo);另一方面決定于計(jì)數(shù)器計(jì)得的數(shù)準(zhǔn)不準(zhǔn),即"±1誤差",△N/N=±1/N=±(1/○XTfx)。所以,計(jì)數(shù)器直接測頻的誤差主要有兩項(xiàng),即±1誤差和標(biāo)準(zhǔn)頻率誤差。測低頻時(shí),由于±1誤差產(chǎn)生的測頻誤差大得驚人,所以不宜采用直接測頻方法。由于fX較低時(shí),利用計(jì)數(shù)器直接測頻,由±1誤差所引起的測頻誤差將會(huì)大到不可允許的程度。所以,為












了提高測量低頻時(shí)的準(zhǔn)確度,即減少±1誤差的影響,可改成先測周期Tx,然后計(jì)算fx=1/Tx。


  2. 電子計(jì)數(shù)器測周期原理


  Tx經(jīng)放大整形控制雙穩(wěn)態(tài)觸發(fā)器形成門控信號(hào),控制閘門的開閉;然后晶搌產(chǎn)生的1MHz的振蕩信號(hào),經(jīng)放大整形形成方波,產(chǎn)生幅度一致,形狀一致是計(jì)數(shù)脈沖。當(dāng)閘門打開時(shí),對(duì)計(jì)數(shù)脈沖進(jìn)行計(jì)數(shù);閘門關(guān)閉時(shí),停止計(jì)數(shù)。計(jì)得的脈沖送譯碼,送顯示。


  3. 單片機(jī)定時(shí)器工作原理


  8XX51單片機(jī)的定時(shí)器T1由TH1,TL1組成,定時(shí)器T0由TH0,TL0組成。它們均為八位寄存器,映射在特殊功能寄存器中,占地址8AH、8BH。它們用于存放定時(shí)或計(jì)數(shù)的初始值。此外,內(nèi)部還有一個(gè)八位的方式選擇寄存器TMOD和一個(gè)八位的控制寄存器TCON,占地址89H和88H,用于選擇定時(shí)器/計(jì)數(shù)器的工作方式,如計(jì)數(shù)還是定時(shí)(C/-T),啟動(dòng)的方式(GATE)及發(fā)啟動(dòng)控制信號(hào)TRx。


  定時(shí)和計(jì)數(shù)實(shí)質(zhì)都是對(duì)脈沖的計(jì)數(shù),只是被計(jì)的脈沖的來源不同,定時(shí)方式的計(jì)數(shù)初值和被計(jì)脈沖的周期有關(guān),而計(jì)數(shù)方式的計(jì)數(shù)初值只和被計(jì)脈沖的個(gè)數(shù)有關(guān)(計(jì)由高到低的邊沿?cái)?shù))。


1


q


  8031單片機(jī)內(nèi)含有兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器。均可編程對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(定時(shí)方式),或?qū)ν獠恳_輸入的脈沖進(jìn)行計(jì)數(shù)(計(jì)數(shù)方式)。CPU工作于12MHz主頻時(shí),外部最高計(jì)數(shù)頻率500kHz,內(nèi)部時(shí)鐘計(jì)數(shù)頻率達(dá)1MHz。定時(shí)器的基準(zhǔn)定時(shí)脈沖周期為1μs,當(dāng)采用測頻方式時(shí),T/C0編程為計(jì)數(shù)方式,對(duì)被測信號(hào)頻率計(jì)數(shù),產(chǎn)生欲置的檢測時(shí)間。由于定時(shí)器最長的定時(shí)時(shí)間為65535s,欲產(chǎn)生更長的檢測時(shí)間需使用軟件計(jì)數(shù)器,中斷多次即可獲得所需檢測時(shí)間。被測頻率較低時(shí),則選用測周方式;T/C1編程為定時(shí)方式,用來對(duì)m個(gè)輸入脈沖周期所經(jīng)歷的時(shí)間計(jì)時(shí)。


  4. 等精度測量原理框圖


  微處理器的主要優(yōu)點(diǎn)之一是可以利用微處理器的數(shù)據(jù)處理能力,減少測量過程中產(chǎn)生的隨機(jī)誤差和系統(tǒng)誤差,從而提高測量精度,所以往往把單片機(jī)運(yùn)用在電子測量過程中,來提高測量精度。


1


  實(shí)現(xiàn)等精度測量原理,關(guān)鍵是使Nx不產(chǎn)生誤差,而No不超過±1誤差。利用PC機(jī)總線技術(shù),設(shè)計(jì)了相應(yīng)的控制門電路,實(shí)現(xiàn)對(duì)被測頻率信號(hào)的計(jì)數(shù)及相應(yīng)的精確閘門時(shí)間,并使閘門的開啟與關(guān)閉和被測信號(hào)的有效跳變同步。


  預(yù)置門的打開和關(guān)閉由被測信號(hào)和預(yù)置的測量時(shí)間控制,計(jì)數(shù)器Nx在預(yù)置門的控制下對(duì)被測信號(hào)頻率計(jì)數(shù),控制門根據(jù)預(yù)置門產(chǎn)生一個(gè)與被測信號(hào)同步的同步門;計(jì)數(shù)器No在同步門的控制下對(duì)時(shí)標(biāo)計(jì)數(shù),得到精確的閘門時(shí)間Tg。設(shè)時(shí)標(biāo)周期為To,則被測頻率Fx=Nx/NoTo。


  單片機(jī)采用定時(shí)ls的測頻法先對(duì)信號(hào)進(jìn)行預(yù)測,軟件根據(jù)頻率高低自動(dòng)選擇檢測時(shí)間或周期擴(kuò)展倍數(shù),以保證各檔都有較高測量精度。當(dāng)輸入信號(hào)頻率超過100kHz時(shí),信號(hào)經(jīng)擴(kuò)展計(jì)數(shù)器分頻后送入8031按測頻法測量,頻率檢測時(shí)間設(shè)有三檔,分別為0.01s、0.1s、1s。在轉(zhuǎn)入周期測量后,信號(hào)直接送入單片機(jī),周期擴(kuò)展倍數(shù)有104、103、102、10、1五檔。


  由于單片機(jī)的最高計(jì)數(shù)頻率為500kHz,限制了測頻范圍,必須對(duì)高頻進(jìn)行分頻。擴(kuò)展n分頻器后,將會(huì)產(chǎn)生分頻誤差。這個(gè)n分頻最大將導(dǎo)致(n-1)個(gè)待測頻率周期的分頻誤差。該誤差量級(jí)與"±l"誤差相當(dāng),甚至更大。為了提高測頻分辨率,我們采用了硬件同步分頻技術(shù),即在閘門開啟的有效上升沿時(shí)刻,對(duì)74LS591分頻器清零。在閘門關(guān)閉時(shí)刻,將分頻狀態(tài)打入總線緩沖器74LS244,8031通過緩沖器讀出其值,從而消除了"分頻誤差"!


      在本系統(tǒng)中,T/C1編程為定時(shí)方式時(shí),在12MHz晶振下其最大定時(shí)時(shí)間只有65.536ms,需采用軟件來擴(kuò)展計(jì)數(shù)器的容量。即計(jì)數(shù)器每溢出中斷一次,片內(nèi)RAM的內(nèi)容加一計(jì)數(shù),這樣大大擴(kuò)了單片機(jī)的計(jì)數(shù)范圍。但同時(shí)也引入了中斷響應(yīng)的時(shí)間誤差,我們稱之為"軟件誤差"。頻率計(jì)的核心是時(shí)間基準(zhǔn)的正確性,因此在中斷后重置定時(shí)器時(shí)間常數(shù)時(shí),不能簡單地采用重置辦法。從單片機(jī)的中斷響應(yīng)系統(tǒng)及其響應(yīng)過程可知:(1)定時(shí)器每次溢出中斷時(shí),WAIT語句必須執(zhí)行完才能響應(yīng),該條指令的執(zhí)行時(shí)間為2μs,我們?nèi)∑淦骄舆t時(shí)間為1μs;(2)CPU響應(yīng)中斷到執(zhí)行中斷服務(wù)程序首條指令至少需3個(gè)完整的機(jī)器周期,即延時(shí)3μs;(3)中斷服務(wù)程序中實(shí)際的定時(shí)時(shí)間是在執(zhí)行完時(shí)間常數(shù)的裝載指令后才開始,兩條裝載指令占用4μs。根據(jù)以上分析。每次中斷后,將延遲約8μs后才開始定時(shí)。實(shí)際獲得的定時(shí)時(shí)間必須考慮到8μs的延遲,該頻率計(jì)采用軟件補(bǔ)償?shù)奶幚矸椒▉斫档推溆绊。由于軟件修正相?dāng)方便在儀器調(diào)試中可作進(jìn)一步的調(diào)整,因此基本上可消除軟件誤差。




  頻率計(jì)根據(jù)被測信號(hào)頻率的大小,軟件控制自動(dòng)切換頻率檢測時(shí)間,或自動(dòng)轉(zhuǎn)換為周期測量,其軟件設(shè)計(jì)采用












模塊化結(jié)構(gòu)設(shè)計(jì),程序設(shè)計(jì)與調(diào)試都很方便,功能擴(kuò)充也很靈活。單片機(jī)上電復(fù)位后,首先執(zhí)行主程序,完成有關(guān)芯片和定時(shí)器的初始化,設(shè)置數(shù)據(jù)緩沖區(qū)、顯示方式、數(shù)據(jù)計(jì)數(shù)器初值及頻率初測方式等。開中斷后,隨時(shí)檢測外部中斷和定時(shí)器所發(fā)出的中斷請(qǐng)求信號(hào),一旦有則轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序,否則返回顯示程序,顯示所測的頻率值。


  5. 結(jié)束語


  本文通過比較以往電子計(jì)數(shù)測頻原理、電子計(jì)數(shù)測周期原理的分析,結(jié)合單片機(jī)定時(shí)/計(jì)數(shù)器的工作原理,給出了等精度測量原理以及軟件誤差的消除方法。實(shí)現(xiàn)起來簡單可靠且性能穩(wěn)定、精度高、性價(jià)比低等優(yōu)點(diǎn)。


更多相關(guān)信息