簡易數(shù)字頻率計設計方案(一)
本次設計的數(shù)字頻率計以AT89C52為核心,在軟件編程中采用的是C51語言,測量采用了多周期同步測量法,它避免了直接測量法對精度的不足,同時消除了直接與間接相結合方法,需對被測信號的頻率與中介頻率的關系進行判斷帶來的不便,能實現(xiàn)較高的等精度頻率和周期的測量。
硬件電路設計方案
多周期同步測量法的基本思路是使被測信號與閘門之間實現(xiàn)同步化,從而從根本上消除了在閘門時間內對被測信號進行計數(shù)時的±1量化誤差,使測量精度大大提高。倒數(shù)計數(shù)器就是基于該方法而設計出來的一種具有創(chuàng)新思想的測頻、測周期的儀器。它采用多周期同步測量法,即測量輸入多個(整數(shù)個)周期值,再進行倒數(shù)運算而求得頻率。其優(yōu)點是:可在整個測頻范圍內獲得同樣高的測試精度和分辨率。
1、系統(tǒng)級方案設計
在選擇多周期同步等精度測量法的情況下,按照自頂向下的設計方法,可以畫出該頻率計的系統(tǒng)級框圖,如圖1所示。根據測周期、頻率的原理,可以將總體框圖分為三個子系統(tǒng):輸入通道(即前置整形電路)該部分主要由模擬電路組成的;多周期同步等精度頻率、周期的測量、控制及功能切換(中間部分),該部分基本上由數(shù)字硬件電路組成;單片機及外圍電路,包括單片機、數(shù)碼顯示。
2、子系統(tǒng)設計
1.輸入通道的設計。輸入通道是由前置放大器和整形器組成的,所以要對前置放大器的增益和帶寬指標進行估計。為了能準確測量信號,將輸入信號經過一個放大整形電路。其具體實施方案為:將輸入信號經過LM358運放放大,再通過74LS132整形,此時的信號還不能直接送入單片機,這是因為在硬件上CPU對INT0和INT1引腳的信號不能控制,解決這個問題要通過硬件,再配合軟件來解決。
2.預置閘門時間發(fā)生電路設計。閘門時間的確定,可以先由一個555定時器產生一個脈沖信號,將555產生的脈沖信號送入到74LS90十進制計數(shù)器當中,由于74LS90具有二-五進制混合計數(shù)的功能,所以可以用它來實現(xiàn)五進制計數(shù),將74LS90的輸出接到3—8線譯碼器74LS138的輸入端,再將譯碼器的輸出端接上五個發(fā)光二極管,這樣就可以實現(xiàn)硬件上的閘門時間控制。但是考慮到硬件實現(xiàn)上的復雜性,可以通過軟件上來實現(xiàn),就是將五個發(fā)光二極管直接接到單片機的P1口由軟件上來實現(xiàn),通過按鍵來改變它的閘門時間。
3.數(shù)碼顯示電路的設計。該部分電路是由單向八位移位寄存器74LS164和數(shù)碼管組成的??紤]到精度的問題,取五位計數(shù)值,采用五片74LS164級聯(lián),同時還要顯示頻率和周期的單位,所以還需再級聯(lián)一塊74LS164,在74LS164的輸出端接六個單位指示燈,分別表示周期頻率的三個不同的單位數(shù)量級,即周期單位s,ms,μs和頻率單位Hz,KHz及MHz。移位寄存器的時鐘信號是由單片機的串行輸出口TXD腳控制。
簡易數(shù)字頻率計設計方案(二)
頻率計原理框圖
此頻率計的流程為:被測信號fin輸入到CPLD芯片,在控制信號為1Hz時,在CPLD芯片里完成對被測信號的測頻、計數(shù)、鎖存、譯碼,輸出信號接數(shù)碼管顯示,如圖1所示。
CPLD模塊原理框圖
由于是一種集成度很高并且可進行用戶定制的數(shù)字芯片,因此測試功能都用一塊CPLD芯片來實現(xiàn)。在硬件電路設計時,可先將CPLD的內部電路分為控制、計數(shù)、鎖存及譯碼四個電路模塊分別進行設計,然后再將這四個電路模塊有機地結合成一個能完成測頻功能的整體系統(tǒng)。其CPLD模塊原理框圖如圖2所示。
控制電路模塊
為實現(xiàn)控制功能,控制電路模塊需輸出三個信號:一是允許對被測信號計數(shù)的計數(shù)信號CNT-EN;二是將前1s計數(shù)器的計數(shù)值存入鎖存器的鎖存信號LOAD;三是為下一個周期計數(shù)做準備的計數(shù)器清零信號RST-CNT。上述三個信號產生的順序是:先提供計數(shù)信號,這種信號使計數(shù)器在1s內計數(shù),即周期為2s的信號;接著是提供鎖存信號,這種信號對計數(shù)值進行鎖存,與計數(shù)信號反向;最后是發(fā)出清零信號,這種信號可對計數(shù)器清零。計數(shù)器清零結束后又可重新計數(shù),計數(shù)進入第二個周期。控制電路模塊實際上是一個控制器,它需要一個周期為1s的信號作為產生并控制控制器輸出的時基信號CLKK。控制電路模塊中各信號符號及端口功能如圖3所示。
計數(shù)電路模塊
計數(shù)電路模塊將對被測信號進行十進制計數(shù)。它雖然由6個十進制計數(shù)器組成,但采用CPLD后,設計時只要先制作單個十進制計數(shù)器,然后再將多個結構相同的單個十進制計數(shù)器在CPLD內部進行連接就可組合成一個完整的計數(shù)電路模塊。為實現(xiàn)其功能,十進制計數(shù)器需要設置三個輸入端:即被測信號輸入端CLK、計數(shù)器狀態(tài)清零端RST和計數(shù)器工作使能端ENA。
需要設置四個輸出端,即OUTY[0],OUTY[1],OUTY[2]和OUTY[3],由這四個輸出端輸出4位二進制代碼來表示十進制數(shù)。同時,還需要設置進位輸出端COUNT。需要設置四個輸出端,即OUTY[0],OUTY[1],OUTY[2]和OUTY[3],由這四個輸出端輸出4位二進制代碼來表示十進制數(shù)。同時,還需要設置進位輸出端COUNT。設置進位輸出端COUNT是因為單個十進制計數(shù)器只能表示被測信號頻率在個、十、百、千等位中的一個數(shù)位的數(shù)據。被測信號的頻率是從個位計數(shù)器開始計數(shù)的,被測信號變化一次,個位計數(shù)器輸出加1,當被測信號變化10次時,個位計數(shù)器輸出為0,而十位計數(shù)器輸出加1,當十位計數(shù)器計滿10次時,十位計數(shù)器輸出為0,而百位計數(shù)器輸出加1,依次類推,直至千位、萬位或更高位。上述十進制計數(shù)器都是滿10進1,且進位時計數(shù)器清零并重新計數(shù)。計數(shù)電路模塊中的單個計數(shù)器符號及端口功能如圖4所示。
鎖存電路模塊
鎖存電路模塊可使顯示電路的工作穩(wěn)定而可靠,避免計數(shù)電路模塊清零時引起顯示閃爍的現(xiàn)象。鎖存電路模塊是由多個鎖存器組成。每個鎖存器都是用來鎖存與其單獨相連的計數(shù)器的輸出數(shù)據。由于每個鎖存器鎖存的都是4位二進制代碼表示的十進制數(shù),其功能完全相同,因此只需要設計制作一個鎖存器就可連接組合成一個鎖存電路模塊。為實現(xiàn)其功能,鎖存器需設置一個使鎖存器工作的使能端LOAD,四個數(shù)據輸入端即DIN[0],DIN[1],DIN[2]和DIN[3],并由它們輸入計數(shù)器的計數(shù)值,還需設置四個鎖存數(shù)據的輸出端:即DOUT[0],DOUT[1],DOUT[2]和DOUT[3]。鎖存電路模塊中單個鎖存器的符號及端口功能如圖5所示。
譯碼電路模塊
譯碼電路模塊可對表示十進制數(shù)的4位二進制代碼進行編碼,此模塊可直接連接數(shù)碼管驅動器,從而驅動數(shù)碼管顯示出相應的阿拉伯數(shù)字等字符。與鎖存器電路模塊設計一樣,它也只需要先設計一個單個的譯碼器,然后通過連接組合就可構成譯碼電路模塊,從而實現(xiàn)譯碼功能。為實現(xiàn)其功能,單個譯碼器需要設置4個數(shù)據輸入端:即d[0],d[1],d[2]和d[3],并由這些端口輸入鎖存電路模塊輸出的4位二進制數(shù)據,需要設置7個輸出端:即q[0],q[1],q[2],q[3],q[4],q[5]和q[6],它們分別連接7段數(shù)碼管的7個顯示輸入端。譯碼電路模塊中單個譯碼器符號及端口功能如圖6所示。
簡易數(shù)字頻率計設計方案(三)
頻率計是我們經常會用到的實驗儀器之一,本實驗要使用單片機和計數(shù)電路及液晶器件來設計一個寬頻的頻率計。
期望達到10Hz-1.1G范圍的頻率精確測量。
1)計數(shù)及顯示電路:
2)前置放大及分頻電路:
設計思路
頻率的測量實際上就是在1S時間內對信號進行計數(shù),計數(shù)值就是信號頻率。用單片機設計頻率計通常采用兩種辦法,1)使用單片機自帶的計數(shù)器對輸入脈沖進行計數(shù),或者測量信號的周期;2)單片機外部使用計數(shù)器對脈沖信號進行計數(shù),計數(shù)值再由單片機讀取。
由于單片機自帶計數(shù)器輸入時鐘的頻率通常只能是系統(tǒng)時鐘頻率的幾分之一甚至幾十分之一,因此采用單片機的計數(shù)器直接測量信號頻率就受到了很大的限制。
本實驗電路采用方式2,使用一片74LS393四位雙二進制計數(shù)器和Atmega8的T1計數(shù)器組成了24位計數(shù)器,最大計數(shù)值為16777215。如果輸入信號經過MB501分頻器進行64分頻后再進行測量,則固定1S時基下最高測量頻率為1073.741760Mhz。
為了方便得到準確的1秒鐘測量閘門信號,我們使用了Atmega8的異步實時時鐘功能,采用32.768Khz的晶振由TC2產生1秒鐘的定時信號。
測量原理:
單片機打開測量閘門,即PB1輸出高電平,同時TC2定時器啟動。74LS393開始對輸入脈沖進行計數(shù),74LS393每計數(shù)達256時,Atmega8的T1計數(shù)器也向上計數(shù)1次。當1S定時到達時,單片機產生中斷,PB1輸出低電平關閉測量閘門,然后Atmega8讀取74LS393和T1的計數(shù)值,然后送LCD顯示。
評論
查看更多