《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于單片機的等精度數(shù)字測頻
基于單片機的等精度數(shù)字測頻
摘要: 本文通過比較以往電子計數(shù)測頻原理,、電子計數(shù)測周期原理的分析,,結(jié)合單片機定時/計數(shù)器的工作原理,給出了等精度測量原理以及軟件誤差的消除方法,。實現(xiàn)起來簡單可靠且性能穩(wěn)定,、精度高、性價比低等優(yōu)點,。
Abstract:
Key words :

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

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

電子計數(shù)測頻原理框圖

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

 

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

 

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

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

  3. 單片機定時器工作原理

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

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

 電子計數(shù)器測周期原理

單片機定時器工作原理

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

  4. 等精度測量原理框圖

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

等精度測量原理框圖

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

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

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

  由于單片機的最高計數(shù)頻率為500kHz,,限制了測頻范圍,必須對高頻進行分頻,。擴展n分頻器后,,將會產(chǎn)生分頻誤差。這個n分頻最大將導致(n-1)個待測頻率周期的分頻誤差,。該誤差量級與"±l"誤差相當,,甚至更大。為了提高測頻分辨率,,我們采用了硬件同步分頻技術(shù),,即在閘門開啟的有效上升沿時刻,對74LS591分頻器清零,。在閘門關(guān)閉時刻,將分頻狀態(tài)打入總線緩沖器74LS244,,8031通過緩沖器讀出其值,,從而消除了"分頻誤差"?!?       在本系統(tǒng)中,,T/C1編程為定時方式時,在12MHz晶振下其最大定時時間只有65.536ms,,需采用軟件來擴展計數(shù)器的容量,。即計數(shù)器每溢出中斷一次,片內(nèi)RAM的內(nèi)容加一計數(shù),,這樣大大擴了單片機的計數(shù)范圍,。但同時也引入了中斷響應的時間誤差,我們稱之為"軟件誤差",。頻率計的核心是時間基準的正確性,,因此在中斷后重置定時器時間常數(shù)時,不能簡單地采用重置辦法,。從單片機的中斷響應系統(tǒng)及其響應過程可知:(1)定時器每次溢出中斷時,,WAIT語句必須執(zhí)行完才能響應,,該條指令的執(zhí)行時間為2μs,我們?nèi)∑淦骄舆t時間為1μs,;(2)CPU響應中斷到執(zhí)行中斷服務程序首條指令至少需3個完整的機器周期,,即延時3μs;(3)中斷服務程序中實際的定時時間是在執(zhí)行完時間常數(shù)的裝載指令后才開始,,兩條裝載指令占用4μs,。根據(jù)以上分析。每次中斷后,,將延遲約8μs后才開始定時,。實際獲得的定時時間必須考慮到8μs的延遲,該頻率計采用軟件補償?shù)奶幚矸椒▉斫档推溆绊?。由于軟件修正相當方便在儀器調(diào)試中可作進一步的調(diào)整,,因此基本上可消除軟件誤差。

  頻率計根據(jù)被測信號頻率的大小,,軟件控制自動切換頻率檢測時間,,或自動轉(zhuǎn)換為周期測量,其軟件設計采用模塊化結(jié)構(gòu)設計,,程序設計與調(diào)試都很方便,,功能擴充也很靈活。單片機上電復位后,,首先執(zhí)行主程序,,完成有關(guān)芯片和定時器的初始化,設置數(shù)據(jù)緩沖區(qū),、顯示方式,、數(shù)據(jù)計數(shù)器初值及頻率初測方式等。開中斷后,,隨時檢測外部中斷和定時器所發(fā)出的中斷請求信號,,一旦有則轉(zhuǎn)入相應的中斷服務程序,否則返回顯示程序,,顯示所測的頻率值,。

 

  5. 結(jié)束語

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。