高玉秀
(1. 中國海洋大學,山東 青島 266003;2. 濰坊科技學院,山東 濰坊 262700)
在本設計中,單片機的所有控制信號及數(shù)據(jù)接受和發(fā)送都是通過FPGA完成的,因此首先在FPGA內(nèi)通過兩片74373鎖存芯片構成雙向口電路,為兩者搭建信號通道。根據(jù)題目要求,頻率測量范圍要求從1赫茲到35兆赫茲,采用分段處理的方法,對高低頻分別采用不同的比較整形電路。FPGA內(nèi)部特別設計乘法器與除法器。被測頻率信號與100 M時鐘信號(40 M標準時鐘信號倍頻后所得)計數(shù)所得的兩路32位數(shù)據(jù),經(jīng)過乘除法運算后,將最終獲得的被測信號的頻率值送入單片機內(nèi),單片機控制液晶顯示器顯示。
在測量過程中,被測信號與使能信號接入一個D觸發(fā)器,此時使能信號功能相當于一個閘門,控制計數(shù)器的開始。同時將被測信號與閘門信號一同進入計數(shù)器。當被測信號的第一個上升沿脈沖來時,閘門信號也為上升沿,從而開始計數(shù),當使能信號變?yōu)樘優(yōu)榈碗娖降臅r刻,此時被測信號的上升沿控制閘門信號跳變?yōu)榈碗娖?,這樣就保證了閘門信號內(nèi)所計數(shù)是被測信號周期的整數(shù)倍。
對被測信號頻率的計算公式:Fsin=Na*Fs/Nb。
式中,F(xiàn)sin:被測信號頻率;Na:被測信號所得頻率計數(shù);Fs:100 M;Nb:標準時鐘信號所得頻率計數(shù)。
由于閘門信號時間長正好是被測信號周期的整數(shù)倍,所以Na不存在誤差,而Nb存在±1的誤差,因此系統(tǒng)的相對誤差為:
當T≈1 s,F(xiàn)s=100 M時,△Fsin≈1/100 000 000 Hz;符合題目要求。
但是當?shù)皖l段的頻率低于閘門信號頻率時則無法計算出頻率。
在測量周期的時候,首先將時間單位設置為納秒輸出,這樣,根據(jù)計算公式:Tsin=1/Fsin=Nb/Na*10(ns),可在乘法器,除法器鏈接一個選擇輸出電路。完成由頻率到周期的轉換。
電路設計包括六個主要部分:程控放大電路,比較整形電路,雙向口電路,等精度測量,計算器,按鍵編碼及掃描電路。
由于在測頻率及周期部分沒有寬帶有1Hz-35MHz的比較器,所以采用分段處理的方法實現(xiàn)整個頻帶的測量。為了防止干擾的誤翻轉,我們采用了帶正反饋的滯回比較電路。在反向輸入時,其正向閾值電壓,對應比較后信號的下降沿。負向閾值電平為0V,對應于比較后信號的上升沿。故輸出信號的上升沿仍需過零比較。
2.1.3 雙向口電路
在本設計方案的硬件電路板中,由于單片機并沒有直接與鍵盤,液晶顯示,外界擴展芯片等器件相連接,而是將所有連線均與FPGA連通,單片機不能直接控制這些器件,因此有必要構建雙向口電路。FPGA內(nèi)部的雙向口電路有兩片74373鎖存芯片構成,當單片機進行讀操作時,片選信號選通控制讀入的74373芯片,未被選通的另外一塊74373芯片則阻止數(shù)據(jù)的寫入。
2.1.4 鍵盤編碼及掃描電路
鍵盤電路控制 3*6矩陣鍵盤,3個特殊功能鍵及三個撥動開關。鍵盤控制電路的內(nèi)部時鐘頻率需要較低,因此首先要將標準時鐘做20 000分頻后,再作為其時鐘信號。當有按鍵按下時,進入讀按鍵中斷程序,單片機控制片選按鍵掃描電路并編碼所需各路高低電平輸入該掃描模塊,掃描電路接受數(shù)據(jù)并編碼對照,將確定后的按鍵代碼輸出并發(fā)出中斷信號以便做下一步處理。
2.1.5 等精度測量模塊
等精度測量過程是將被測信號與40 M標準時鐘信號同時輸入該模塊,在閘門信號內(nèi)同時對被測頻率與標準時鐘信號計數(shù)。閘門信號是用于保證被測頻率從其輸入的第一個上升沿開始,最后一個脈沖的下一個上升沿結束。將兩個計數(shù)結果分別以64路二進制數(shù)輸出,其中高32位為被測信號的計數(shù)結果,低32位是40 M標準時鐘信號的計數(shù)結果。
2.1.6 計算器
計算器的主要構成是乘法器,除法器及數(shù)據(jù)切換單元,數(shù)據(jù)切換單元用于選擇計算頻率或周期,當輸入信號 f為高電平是計算器給出頻率計算結果,當 f為低電平時計算器給出周期的計算結果。
程序設計部分包括單片機功能控制和FPGA數(shù)據(jù)處理,單
2.1.1 程控放大電路
以MAX309為模擬開關,用OPA637接成一級同相放大器進行10倍增益放大,用兩級OPA637級聯(lián)進行120倍放大。
2.1.2 比較整形電路片機通過鍵盤對FPGA進行控制,實現(xiàn)對輸入信號的頻率測量,閘門信號的產(chǎn)生,鍵盤按鍵的確定,存儲及液晶的顯示。單片機作為整體控制部分,主要進行供能性控制與設置,并通過液晶顯示器構成人機交互界面;FPGA作為數(shù)據(jù)部分的邏輯控制,主要進行數(shù)據(jù)的采集與處理,其重點部分包括等精度測頻,鍵盤編碼及掃描,時鐘控制,數(shù)據(jù)存儲,數(shù)據(jù)回放,數(shù)據(jù)運算等。