嵌入式頻率計的設計

發(fā)布時(shí)間:2010-9-11 13:45    發(fā)布者:techshare
關(guān)鍵詞: 頻率計 , 嵌入式
1 引言 

本頻率計的設計以AT89C51單片機為核心,利用他內部的定時(shí)/計數器完成待測信號周期/頻率的測量。單片機AT89C51內部具有2個(gè)16位定時(shí)/計數器,定時(shí)/計數器的工作可以由編程來(lái)實(shí)現定時(shí)、計數和產(chǎn)生計數溢出時(shí)中斷要求的功能。在定時(shí)器工作方式下,在被測時(shí)間間隔內,每來(lái)一個(gè)機器周期,計數器自動(dòng)加1(使用12 MHz時(shí)鐘時(shí),每1μs加1),這樣以機器周期為基準可以用來(lái)測量時(shí)間間隔。在計數器工作方式下,加至外部引腳的待測信號發(fā)生從1到0的跳變時(shí)計數器加1,這樣在計數閘門(mén)的控制下可以用來(lái)測量待測信號的頻率。外部輸入在每個(gè)機器周期被采樣一次,這樣檢測一次從1到0的跳變至少需要2個(gè)機器周期(24個(gè)振蕩周期),所以最大計數速率為時(shí)鐘頻率的1/24(使用12 MHz時(shí)鐘時(shí),最大計數速率為500 kHz)。定時(shí)/計數器的工作由運行控制位TR控制,當TR置1,定時(shí)/計數器開(kāi)始計數;當TR清0,停止計數。

本設計綜合考慮了頻率測量精度和測量反應時(shí)間的要求。例如當要求頻率測量結果為3位有效數字,這時(shí)如果待測信號的頻率為1 Hz,則計數閘門(mén)寬度必須大于1 000 s。為了兼顧頻率測量精度和測量反應時(shí)間的要求,把測量工作分為兩種方法:

(1)當待測信號的頻率>100 Hz時(shí),定時(shí)/計數器構成為計數器,以機器周期為基準,由軟件產(chǎn)生計數閘門(mén),計數閘門(mén)寬度>1 s時(shí),即可滿(mǎn)足頻率測量結果為3位有效數字;

(2)當待測信號的頻率<100 Hz時(shí),定時(shí)/計數器構成為定時(shí)器,由頻率計的予處理電路把待測信號變成方波,方波寬度等于待測信號的周期。這時(shí)用方波作計數閘門(mén),當待測信號的頻率=100 Hz,使用12 MHz時(shí)鐘時(shí)的最小計數值為10 000,完全滿(mǎn)足測量精度的要求。

2 頻率計的量程自動(dòng)切換 

使用計數方法實(shí)現頻率測量時(shí),外部的待測信號為單片機定時(shí)/計數器的計數源,利用軟件延時(shí)程序實(shí)現計數閘門(mén)。頻率計的工作過(guò)程為:定時(shí)/計數器的計數寄存器清0,運行控制位TR置1,啟動(dòng)定時(shí)/計數器工作;運行軟件延時(shí)程序,同時(shí)定時(shí)/計數器對外部的待測信號進(jìn)行計數,延時(shí)結束時(shí)TR清0,停止計數。從計數寄存器讀出測量數據,測量數據在完成數據處理后,由顯示電路顯示測量結果。

使用定時(shí)方法實(shí)現頻率測量時(shí),外部的待測信號通過(guò)頻率計的預處理電路變成寬度等于待測信號周期的方波,該方波同樣加至定時(shí)/計數器的輸入腳。工作高電平是否加至定時(shí)/計數器的輸入腳;當判定高電平加至定時(shí)/計數器的輸入腳,運行控制位TR置1,啟動(dòng)定時(shí)/計數器對單片機的機器周期的計數,同時(shí)檢測方波高電平是否結束;當判定高電平結束時(shí)TR清0,停止計數,然后從計數寄存器讀出測量數據。這時(shí)讀出的數據反映的是待測信號的周期,通過(guò)數據處理把周期值變換成頻率值,由顯示電路顯示測量結果。

測量結果的顯示格式采用科學(xué)計數法,即有效數字乘以10為底的冪。這里設計的頻率計用5位數碼管顯示測量結果:前3位為測量結果的有效數字;第4位為指數的符號;第5位為指數的值。采用這種顯示格式既保證了測量結果的顯示精度,又保證了測量結果的顯示范圍(0.100 Hz~9.99 MHz)。

頻率計測量量程自動(dòng)轉換的過(guò)程由頻率計測量量程的高端開(kāi)始。由于只顯示3位有效數字,測量量程的高端計數閘門(mén)不需要太寬,例如在進(jìn)入計數器的信號頻率范圍在10.0~99.9 kHz,計數閘門(mén)寬度為10 ms即可。頻率計開(kāi)始工作時(shí)使用計數方法實(shí)現頻率測量,并使計數閘門(mén)寬度為最窄,完成測量后判斷測量結果是否具有3位有效數字,如果成立,將結果送去顯示,完成測量工作;否則將計數閘門(mén)寬度擴大10倍,繼續進(jìn)行測量判斷,直到計數閘門(mén)寬度達到1 s,這時(shí)對應的進(jìn)入單片機的待測信號頻率范圍為100~999 Hz。如果測量結果仍不具有3位有效數字,頻率計則使用定時(shí)方法實(shí)現頻率測量!

定時(shí)方法測量的是待測信號的周期,這種方法只設一種量程,測量結果通過(guò)浮點(diǎn)數運算模塊將信號周期轉換成對應的頻率值,再將結果送去顯示。無(wú)論采用何種方式,只要完成一次測量,頻率計自動(dòng)開(kāi)始下一個(gè)測量循環(huán),因此該頻率計具有連續測量的功能,同時(shí)實(shí)現量程的自動(dòng)轉換。

3 信號預處理電路

信號預處理電路如圖1所示,他由4級電路構成。第1級為零偏置放大器,當輸入信號為零或者為負電壓時(shí),三極管截止,輸出高電平;當輸入信號為正電壓時(shí),三極管導通,輸出電壓隨著(zhù)輸入電壓的上升而下降。零偏置放大器可把正負交替波形變換成單向脈沖,這使得頻率計既可以測量脈沖信號的頻率,也可以測量正弦波信號的頻率。放大器的放大能力實(shí)現了對小信號的測量,本電路可以測量幅度≥0.5 V的正弦波或脈沖波待測信號。三極管應采用開(kāi)關(guān)三極管以保證放大器具有良好的高頻響應。第2級采用帶施密特觸發(fā)器的反相器7414,他用于把放大器生成的單向脈沖變換成與TTL/CMOS電平相兼容的方波。第3級采用十進(jìn)制同步計數器74160,第2級輸出的方波加到74160的CLK,當從74160的TC輸出可實(shí)現10分頻(多個(gè)74160的級連可以進(jìn)一步擴展測頻范圍)。第4級同樣采用十進(jìn)制同步計數器74160,第3級輸出的方波加到他的CLK,當從他的Q0輸出既可實(shí)現2分頻,且其輸出為對稱(chēng)方波,方波寬度等于待測信號的周期,從而為測量信號周期提供基礎。




4 系統軟件設計

頻率計開(kāi)始工作或者完成一次頻率測量,系統軟件都進(jìn)行測量初始化。測量初始化模塊設置堆棧指針(SP)、工作寄存器、中斷控制和定時(shí)/計數器的工作方式。定時(shí)/計數器的工作首先被設置為計數器方式,即用來(lái)測量信號頻率。首先定時(shí)/計數器的計數寄存器清0,運行控制位TR置1,啟動(dòng)對待測信號的計數。計數閘門(mén)由軟件延時(shí)程序實(shí)現,從計數閘門(mén)的最小值(即測量頻率的高量程)開(kāi)始測量,計數閘門(mén)結束時(shí)TR清0,停止計數。計數寄存器中的數值經(jīng)過(guò)數制轉換程序從十六進(jìn)制數轉換為十進(jìn)制數。判斷該數的最高位,若該位不為0,滿(mǎn)足測量數據有效位數的要求,測量值和量程信息一起送到顯示模塊;若該位為0,將計數閘門(mén)的寬度擴大10倍,重新對待測信號的計數,直到滿(mǎn)足測量數據有效位數的要求。

當上述測量判斷過(guò)程直到計數閘門(mén)寬度達到1 s(對應的頻率測量范圍為100~999 Hz)時(shí)測量結果仍不具有3位有效數字,頻率計則使用定時(shí)方法測量待測信號的周期。定時(shí)/計數器的工作被設置為定時(shí)器方式,定時(shí)/計數器的計數寄存器清0,在判斷待測信號的上跳沿到來(lái)后,運行控制位TR置為1,以單片機工作周期為單位進(jìn)行計數,直至信號的下跳沿到來(lái),運行控制位TR清0,停止計數。16位定時(shí)/計數器的最高計數值為65 535,當待測信號的頻率較低時(shí),定時(shí)/計數器將發(fā)生溢出。產(chǎn)生溢出時(shí),程序進(jìn)入定時(shí)器中斷服務(wù)程序,對溢出次數進(jìn)行計數。待測信號的周期由3個(gè)字節組成:定時(shí)/計數器溢出次數、定時(shí)/計數器的高8位和低8位。信號的頻率f與信號的周期T之間的關(guān)系為: f=1/T。

完成信號的周期測量后,需要做一次倒數運算才能獲得信號的頻率。為提高運算精度,采用浮點(diǎn)數算術(shù)運算。浮點(diǎn)數由3個(gè)字節組成:第1字節最高位為數符,其余7位為階碼;第2字節為尾數的高字節;第3字節為尾數的低字節。待測信號周期的3個(gè)字節定點(diǎn)數通過(guò)截取高16位、設置數符和計算階碼轉換為上述格式的浮點(diǎn)數。然后浮點(diǎn)數算術(shù)運算對其進(jìn)行處理,獲得用浮點(diǎn)數格式表達的信號頻率值。再通過(guò)浮點(diǎn)數到BCD碼轉換模塊把用浮點(diǎn)數格式表達的信號頻率值變換成本頻率計的顯示格式,送到顯示模塊顯示待測信號的頻率值。完成顯示后,頻率計都開(kāi)始下一次信號的頻率測量。系統軟件流程圖如圖2所示。



系統軟件設計采用模塊化設計方法。整個(gè)系統由初始化模塊、顯示模塊和信號頻率頻率測量模塊等各種功能模塊組成。上電后,進(jìn)入系統初始化模塊,系統軟件開(kāi)始運行。在執行過(guò)程中,根據運行流程分別調用各個(gè)功能模塊完成頻率測量、量程自動(dòng)切換、周期測量和測量結果顯示。

5 實(shí)測結果和誤差分析 

為了衡量這次設計的頻率計的工作情況和測量精度,我們對系統進(jìn)行了試驗。以南京電訊儀器廠(chǎng)制造的E312B型通用計數器為基準,用這次設計的頻率計對信號源進(jìn)行了測量,測量數據如表1所示。

如圖1信號預處理電路所示,待測信號在進(jìn)入單片機之前經(jīng)過(guò)了10×2次分頻。頻率計以進(jìn)入單片機時(shí)的信號頻率=100 Hz為基準(即待測信號頻率為2 kHz),大于此頻率采用頻率測量,小于此頻率采用周期測量。由表1頻率測量對比表可以看出,頻率測量的測量精度大于周期測量的測量精度。




采用計數法實(shí)現頻率測量,誤差來(lái)源主要有計數誤差和閘門(mén)誤差2部分。誤差表達式為:



其中:N為計數值,t為閘門(mén)時(shí)間。

閘門(mén)時(shí)間相對誤差dt/t主要取決于單片機晶振的頻率穩定度,選擇合適的石英晶體和振蕩電路,誤差一般可<10-6。當僅顯示3位有效數字時(shí),該項誤差可以忽略。對于dN/N部分,無(wú)論閘門(mén)時(shí)間長(cháng)短,計數法測頻總存在1個(gè)單位的量化誤差。在表1中,待測信號頻率>2 kHz時(shí)的誤差就來(lái)源于計數誤差。增加顯示的有效數字位數可降低該項誤差的影響。

當待測信號頻率<2 kHz時(shí),直接測量的是信號的周期。周期測量的誤差表達式為:



其中:dN/N為量化誤差,dτ0/τ0為單片機晶振的頻率穩定度。

進(jìn)行周期測量時(shí)進(jìn)入單片機的信號頻率<100 Hz,使用12 MHz時(shí)鐘時(shí)的最小計數值為10 000。當僅顯示3位有效數字時(shí),該項誤差現在也可以忽略。待測信號的周期測量值通過(guò)浮點(diǎn)數運算變換成頻率值,這時(shí)的誤差來(lái)源于浮點(diǎn)數運算和數制轉換所帶來(lái)的誤差。

6  語(yǔ) 

介紹了一種基于單片機89C51制作的頻率計的設計方法,所制作的頻率計需要外圍器件較少,適宜用于嵌入式系統。該頻率計應用周期測量和相應的數學(xué)處理實(shí)現低頻段的頻率測量,因此很容易擴展實(shí)現信號的周期測量和占空比測量。該頻率計被應用于筆者設計的“高頻實(shí)驗裝置”之中,用來(lái)對LC振蕩器和RC振蕩器輸出信號的頻率穩定度進(jìn)行測量,取得良好的應用效果。
本文地址:http://selenalain.com/thread-26212-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页