基於單片機的等精度數字測頻

   時間:2014-03-14 00:48:42
基於單片機的等精度數字測頻簡介
       在電子技術領域內,頻率是一個最基本的參數,頻率與其它許多電參量的測量方案,都有十分密切的關係。因此,頻率的測量就顯得更為重要,而且,目前……
基於單片機的等精度數字測頻正文

 

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

1. 電子計數測頻原理框圖

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

2. 電子計數器測周期原理

Tx經放大整形控制雙穩態觸發器形成門控信號,控制閘門的開閉;然後晶搌產生的1MHz的振蕩信號,經放大整形形成方波,產生幅度一致,形狀一致是計數脈衝。當閘門打開時,對計數脈衝進行計數;閘門關閉時,停止計數。計得的脈衝送解碼,送顯示。

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

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

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

8031單片機內含有兩個16位可編程定時/計數器。均可編程對內部機器周期計數(定時方式),或對外部引腳輸入的脈衝進行計數(計數方式)。CPU工作於12MHz主頻時,外部最高計數頻率500kHz,內部時鐘計數頻率達1MHz。定時器的基準定時脈衝周期為1μs,當採用測頻方式時,T/C0編程為計數方式,對被測信號頻率計數,產生欲置的檢測時間。由於定時器最長的定時時間為65535s,欲產生更長的檢測時間需使用軟體計數器,中斷多次即可獲得所需檢測時間。被測頻率較低時,則選用測周方式;T/C1編程為定時方式,用來對m個輸入脈衝周期所經歷的時間計時。

4. 等精度測量原理框圖

微處理器的主要優點之一是可以利用微處理器的數據處理能力,減少測量過程中產生的隨機誤差和系統誤差,從而提高測量精度,所以往往把單片機運用在電子測量過程中,來提高測量精度。

實現等精度測量原理,關鍵是使Nx不產生誤差,而No不超過±1誤差。利用PC機匯流排技術,設計了相應的控制門電路,實現對被測頻率信號的計數及相應的精確閘門時間,並使閘門的開啟與關閉和被測信號的有效跳變同步。

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

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

由於單片機的最高計數頻率為500kHz,限制了測頻範圍,必須對高頻進行分頻。擴展n分頻器后,將會產生分頻誤差。這個n分頻最大將導致(n-1)個待測頻率周期的分頻誤差。該誤差量級與"±l"誤差相當,甚至更大。為了提高測頻解析度,我們採用了硬體同步分頻技術,即在閘門開啟的有效上升沿時刻,對74LS591分頻器清零。在閘門關閉時刻,將分頻狀態打入匯流排緩衝器74LS244,8031通過緩衝器讀出其值,從而消除了"分頻誤差"。 

  在本系統中,T/C1編程為定時方式時,在12MHz晶振下其最大定時時間只有65.536ms,需採用軟體來擴展計數器的容量。即計數器每溢出中斷一次,片內RAM的內容加一計數,這樣大大擴了單片機的計數範圍。但同時也引入了中斷響應的時間誤差,我們稱之為"軟體誤差"。頻率計的核心是時間基準的正確性,因此在中斷後重置定時器時間常數時,不能簡單地採用重置辦法。從單片機的中斷響應系統及其響應過程可知:(1)定時器每次溢出中斷時,WAIT語句必須執行完才能響應,該條指令的執行時間為2μs,我們取其平均延遲時間為1μs;(2)CPU響應中斷到執行中斷服務程序首條指令至少需3個完整的機器周期,即延時3μs;(3)中斷服務程序中實際的定時時間是在執行完時間常數的裝載指令后才開始,兩條裝載指令佔用4μs。根據以上分析。每次中斷後,將延遲約8μs后才開始定時。實際獲得的定時時間必須考慮到8μs的延遲,該頻率計採用軟體補償的處理方法來降低其影響。由於軟體修正相當方便在儀器調試中可作進一步的調整,因此基本上可消除軟體誤差。

頻率計根據被測信號頻率的大小,軟體控制自動切換頻率檢測時間,或自動轉換為周期測量,其軟體設計採用模塊化結構設計,程序設計與調試都很方便,功能擴充也很靈活。單片機上電複位后,首先執行主程序,完成有關晶元和定時器的初始化,設置數據緩衝區、顯示方式、數據計數器初值及頻率初測方式等。開中斷後,隨時檢測外部中斷和定時器所發出的中斷請求信號,一旦有則轉入相應的中斷服務程序,否則返回顯示程序,顯示所測的頻率值。

5. 結束語

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

[基於單片機的等精度數字測頻],你可能也喜歡

  • 數字高程模型
  • 數字圖卡教具
  • 數字教具製作
  • 數字磁鐵教具
  • 數字配對教具
  • 基於裝配之設計
  • 加工精度符號
  • nc加工精度
  • 機械加工精度
  • 內孔加工精度
  • 加工精度等級
  • 相片處理超簡單
  • 單片式碟盤
  • 簡單相片組合
  • 單晶片應用分類
  • 單片碟盤雙片碟盤
Bookmark the permalink ,來源:
One thought on “基於單片機的等精度數字測頻