嵌入式頻率計的設計
發布時間:2007/8/28 0:00:00 訪問次數:680
來源:單片機與嵌入式系統ic網 作者:赫建國 劉立新等
1 引 言
本頻率計的設計以AT89C51單片機為核心,利用他內部的定時/計數器完成待測信號周期/頻率的測量。單片機AT89C51內部具有2個16位定時/計數器,定時/計數器的工作可以由編程來實現定時、計數和產生計數溢出時中斷要求的功能。在定時器工作方式下,在被測時間間隔內,每來一個機器周期,計數器自動加1(使用12 MHz時鐘時,每1μs加1),這樣以機器周期為基準可以用來測量時間間隔。在計數器工作方式下,加至外部引腳的待測信號發生從1到0的跳變時計數器加1,這樣在計數閘門的控制下可以用來測量待測信號的頻率。外部輸入在每個機器周期被采樣一次,這樣檢測一次從1到0的跳變至少需要2個機器周期(24個振蕩周期),所以最大計數速率為時鐘頻率的1/24(使用12 MHz時鐘時,最大計數速率為500 kHz)。定時/計數器的工作由運行控制位TR控制,當TR置1,定時/計數器開始計數;當TR清0,停止計數。
本設計綜合考慮了頻率測量精度和測量反應時間的要求。例如當要求頻率測量結果為3位有效數字,這時如果待測信號的頻率為1 Hz,則計數閘門寬度必須大于1 000 s。為了兼顧頻率測量精度和測量反應時間的要求,把測量工作分為兩種方法:
(1)當待測信號的頻率>100 Hz時,定時/計數器構成為計數器,以機器周期為基準,由軟件產生計數閘門,計數閘門寬度>1 s時,即可滿足頻率測量結果為3位有效數字;
(2)當待測信號的頻率<100 Hz時,定時/計數器構成為定時器,由頻率計的予處理電路把待測信號變成方波,方波寬度等于待測信號的周期。這時用方波作計數閘門,當待測信號的頻率=100 Hz,使用12 MHz時鐘時的最小計數值為10 000,完全滿足測量精度的要求。
2 頻率計的量程自動切換
使用計數方法實現頻率測量時,外部的待測信號為單片機定時/計數器的計數源,利用軟件延時程序實現計數閘門。頻率計的工作過程為:定時/計數器的計數寄存器清0,運行控制位TR置1,啟動定時/計數器工作;運行軟件延時程序,同時定時/計數器對外部的待測信號進行計數,延時結束時TR清0,停止計數。從計數寄存器讀出測量數據,測量數據在完成數據處理后,由顯示電路顯示測量結果。
使用定時方法實現頻率測量時,外部的待測信號通過頻率計的預處理電路變成寬度等于待測信號周期的方波,該方波同樣加至定時/計數器的輸入腳。工作高電平是否加至定時/計數器的輸入腳;當判定高電平加至定時/計數器的輸入腳,運行控制位TR置1,啟動定時/計數器對單片機的機器周期的計數,同時檢測方波高電平是否結束;當判定高電平結束時TR清0,停止計數,然后從計數寄存器讀出測量數據。這時讀出的數據反映的是待測信號的周期,通過數據處理把周期值變換成頻率值,由顯示電路顯示測量結果。
測量結果的顯示格式采用科學計數法,即有效數字乘以10為底的冪。這里設計的頻率計用5位數碼管顯示測量結果:前3位為測量結果的有效數字;第4位為指數的符號;第5位為指數的值。采用這種顯示格式既保證了測量結果的顯示精度,又保證了測量結果的顯示范圍(0.100 Hz~9.99 MHz)。
頻率計測量量程自動轉換的過程由頻率計測量量程的高端開始。由于只顯示3位有效數字,測量量程的高端計數閘門不需要太寬,例如在進入計數器的信號頻率范圍在10.0~99.9 kHz,計數閘門寬度為10 ms即可。頻率計開始工作時使用計數方法實現頻率測量,并使計數閘門寬度為最窄,完成測量后判斷測量結果是否具有3位有效數字,如果成立,將結果送去顯示,完成測量工作;否則將計數閘門寬度擴大10倍,繼續進行測量判斷,直到計數閘門寬度達到1 s,這時對應的進入單片機的待測信號頻率范圍為100~999 Hz。如果測量結果仍不具有3位有效數字,頻率計則使用定時方法實現頻率測量。
定時方法測量的是待測信號的周期,這種方法只設一種量程,測量結果通過浮點數運算模塊將信號周期轉換成對應的頻率值,再將結果送去顯示。無論采用何種方式,只要完成一次測量,頻率計自動開始下一個測量循環,因此該頻率計具有連續測量的功能,同時實現量程的自動轉換。
3 信號預處理電路
信號預處理電路如圖1所示,他由4級電路構成。第1級為零偏置放大器,當輸入信號為零或者為負電壓時,三極管截止,輸出高電平;當輸入信號為正電壓時,三極管導通,輸出電壓隨著輸入電壓的上升而下降。零偏置放大器可把正負交替波形變換成單向脈沖,這使得頻率計既可以測量脈沖信號的頻率,也可以測量正弦波信號的頻率。放大器的放大能力實現了對小信號的測量,本電路可以測量幅度≥0.5 V的正弦波或脈沖波待測信號。三極管應采用開關三極管以保證放大器具有良好的高頻響應。第2級采用帶施密特觸發器的反相器7414,他用于把放大器生成的單向脈沖變換成與TTL/C
來源:單片機與嵌入式系統ic網 作者:赫建國 劉立新等
1 引 言
本頻率計的設計以AT89C51單片機為核心,利用他內部的定時/計數器完成待測信號周期/頻率的測量。單片機AT89C51內部具有2個16位定時/計數器,定時/計數器的工作可以由編程來實現定時、計數和產生計數溢出時中斷要求的功能。在定時器工作方式下,在被測時間間隔內,每來一個機器周期,計數器自動加1(使用12 MHz時鐘時,每1μs加1),這樣以機器周期為基準可以用來測量時間間隔。在計數器工作方式下,加至外部引腳的待測信號發生從1到0的跳變時計數器加1,這樣在計數閘門的控制下可以用來測量待測信號的頻率。外部輸入在每個機器周期被采樣一次,這樣檢測一次從1到0的跳變至少需要2個機器周期(24個振蕩周期),所以最大計數速率為時鐘頻率的1/24(使用12 MHz時鐘時,最大計數速率為500 kHz)。定時/計數器的工作由運行控制位TR控制,當TR置1,定時/計數器開始計數;當TR清0,停止計數。
本設計綜合考慮了頻率測量精度和測量反應時間的要求。例如當要求頻率測量結果為3位有效數字,這時如果待測信號的頻率為1 Hz,則計數閘門寬度必須大于1 000 s。為了兼顧頻率測量精度和測量反應時間的要求,把測量工作分為兩種方法:
(1)當待測信號的頻率>100 Hz時,定時/計數器構成為計數器,以機器周期為基準,由軟件產生計數閘門,計數閘門寬度>1 s時,即可滿足頻率測量結果為3位有效數字;
(2)當待測信號的頻率<100 Hz時,定時/計數器構成為定時器,由頻率計的予處理電路把待測信號變成方波,方波寬度等于待測信號的周期。這時用方波作計數閘門,當待測信號的頻率=100 Hz,使用12 MHz時鐘時的最小計數值為10 000,完全滿足測量精度的要求。
2 頻率計的量程自動切換
使用計數方法實現頻率測量時,外部的待測信號為單片機定時/計數器的計數源,利用軟件延時程序實現計數閘門。頻率計的工作過程為:定時/計數器的計數寄存器清0,運行控制位TR置1,啟動定時/計數器工作;運行軟件延時程序,同時定時/計數器對外部的待測信號進行計數,延時結束時TR清0,停止計數。從計數寄存器讀出測量數據,測量數據在完成數據處理后,由顯示電路顯示測量結果。
使用定時方法實現頻率測量時,外部的待測信號通過頻率計的預處理電路變成寬度等于待測信號周期的方波,該方波同樣加至定時/計數器的輸入腳。工作高電平是否加至定時/計數器的輸入腳;當判定高電平加至定時/計數器的輸入腳,運行控制位TR置1,啟動定時/計數器對單片機的機器周期的計數,同時檢測方波高電平是否結束;當判定高電平結束時TR清0,停止計數,然后從計數寄存器讀出測量數據。這時讀出的數據反映的是待測信號的周期,通過數據處理把周期值變換成頻率值,由顯示電路顯示測量結果。
測量結果的顯示格式采用科學計數法,即有效數字乘以10為底的冪。這里設計的頻率計用5位數碼管顯示測量結果:前3位為測量結果的有效數字;第4位為指數的符號;第5位為指數的值。采用這種顯示格式既保證了測量結果的顯示精度,又保證了測量結果的顯示范圍(0.100 Hz~9.99 MHz)。
頻率計測量量程自動轉換的過程由頻率計測量量程的高端開始。由于只顯示3位有效數字,測量量程的高端計數閘門不需要太寬,例如在進入計數器的信號頻率范圍在10.0~99.9 kHz,計數閘門寬度為10 ms即可。頻率計開始工作時使用計數方法實現頻率測量,并使計數閘門寬度為最窄,完成測量后判斷測量結果是否具有3位有效數字,如果成立,將結果送去顯示,完成測量工作;否則將計數閘門寬度擴大10倍,繼續進行測量判斷,直到計數閘門寬度達到1 s,這時對應的進入單片機的待測信號頻率范圍為100~999 Hz。如果測量結果仍不具有3位有效數字,頻率計則使用定時方法實現頻率測量。
定時方法測量的是待測信號的周期,這種方法只設一種量程,測量結果通過浮點數運算模塊將信號周期轉換成對應的頻率值,再將結果送去顯示。無論采用何種方式,只要完成一次測量,頻率計自動開始下一個測量循環,因此該頻率計具有連續測量的功能,同時實現量程的自動轉換。
3 信號預處理電路
信號預處理電路如圖1所示,他由4級電路構成。第1級為零偏置放大器,當輸入信號為零或者為負電壓時,三極管截止,輸出高電平;當輸入信號為正電壓時,三極管導通,輸出電壓隨著輸入電壓的上升而下降。零偏置放大器可把正負交替波形變換成單向脈沖,這使得頻率計既可以測量脈沖信號的頻率,也可以測量正弦波信號的頻率。放大器的放大能力實現了對小信號的測量,本電路可以測量幅度≥0.5 V的正弦波或脈沖波待測信號。三極管應采用開關三極管以保證放大器具有良好的高頻響應。第2級采用帶施密特觸發器的反相器7414,他用于把放大器生成的單向脈沖變換成與TTL/C