新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于PC104總線和CPLD的測頻模件設(shè)計

基于PC104總線和CPLD的測頻模件設(shè)計

作者: 時間:2010-03-29 來源:網(wǎng)絡(luò) 收藏

摘要:根據(jù)某測試系統(tǒng)的需要,設(shè)計基于l04的高精度測頻模件,采用多周期同步測頻法實現(xiàn)對所測頻段的等精度測量。設(shè)計了該測頻模件的硬件電路,并給出用實現(xiàn)數(shù)字頻率計的詳細(xì)VHDL源代碼。采用原理圖的方式編寫的接口邏輯,并利用Max+P-lusⅡ軟件進(jìn)行仿真。結(jié)果顯示頻率計及接口邏輯均可正確工作。實際應(yīng)用表明,該測頻模件具有精度高,可靠、穩(wěn)定等優(yōu)點。
關(guān)鍵詞:l04;;多周期同步測頻;VHDL

本文引用地址:http://butianyuan.cn/article/191758.htm

隨著科學(xué)技術(shù)的發(fā)展,嵌入式產(chǎn)品在軍事領(lǐng)域的應(yīng)用日益廣泛,特別是在各種系統(tǒng)的自動化測試領(lǐng)域。頻率測試是測試系統(tǒng)中的重要測試項目,在此設(shè)計一種基于PC嵌入式計算機(jī)和CPLD的高精度測頻模件,以滿足對頻率量的測試。

1 測頻原理
傳統(tǒng)的頻率測量方法有兩種:直接測頻法和測周期法。直接測頻法就是在給定的閘門信號中填入被測脈沖,通過必要的計數(shù)線路,得到填充脈沖的個數(shù),從而算出待測信號的周期。它的主要缺點是存在被測脈沖的±1個誤差,難以兼顧低頻和高頻實現(xiàn)等精度測量,所以測量準(zhǔn)確度較低。測周期法是在一個信號周期內(nèi)記錄下基準(zhǔn)定時脈沖的個數(shù),然后換算成頻率f。主要缺點是存在基準(zhǔn)脈沖的±1個誤差,適用于較低頻率的測量。
多周期同步測頻方法是在直接測頻的基礎(chǔ)上發(fā)展而來的,其特點在于測量過程中實際閘門時間不是固定值,而是被測信號周期的整數(shù)倍,即與被測信號是同步的,因此消除了對被測信號計數(shù)產(chǎn)生的±1個誤差,測量精度大大提高,而且達(dá)到了在整個測量頻段的等精度測量。多周期同步測頻法的原理,如圖1所示。


如圖1所示,首先,由控制線路給出閘門開啟信號,計數(shù)器等到被測信號的上升沿到來時,真正開始計數(shù);然后,兩組計數(shù)器分別對被測信號和標(biāo)準(zhǔn)頻率信號計數(shù)。當(dāng)控制線路給出閘門關(guān)閉信號后,計數(shù)器等到被測信號下降沿到來時結(jié)束計數(shù),完成一次測量過程。可以看出,實際閘門與設(shè)定閘門并不嚴(yán)格相等,但最大差值不超過被測信號的一個周期。被測頻率的計算方法為:

式中:Nx為被測信號的計數(shù)值;N0為標(biāo)準(zhǔn)頻率信號的計數(shù)值;f0為標(biāo)準(zhǔn)頻率信號的頻率;τ為閘門時間,計數(shù)器的開閉與被測信號完全同步,即在實際閘門中包含整數(shù)個被測信號的周期,因而不存在對被測信號計數(shù)的±1個誤差。

2 硬件電路設(shè)計
如圖2所示,該模件硬件主要包括PC控制處理模塊、CPLD測試模塊、信號調(diào)理模塊、繼電器驅(qū)動模塊和高精度20 MHz晶振。在該系統(tǒng)中為了實現(xiàn)對多路頻率信號的測量,采用了通過繼電器控制來選擇信號的方案。通過CPLD控制繼電器的動作,接通不同的繼電器開關(guān),被測信號通過繼電器之后,由6N137高速光電隔離器隔離、電平轉(zhuǎn)換之后送入CPLD進(jìn)行測頻。由于CPLD的I/O口驅(qū)動電流較小,所以加了一級ULN2803驅(qū)動器來驅(qū)動繼電器的線包。CPLD主要完成的功能是實現(xiàn)數(shù)字頻率計,采用多周期同步測頻法完成對輸入信號頻率的測量,并通過與PC104的接口邏輯,將測量結(jié)果送給PC104主機(jī),由主機(jī)進(jìn)行頻率值的計算及顯示,從而完成整個測頻模件的功能,CPLD選用Altera公司的EPM7128SQCl00芯片。

3 軟件設(shè)計
3.1測頻電路程序設(shè)計
對于CPLD的編程,一般有通過電路原理圖的方式和通過硬件描述語言即VHDL語言兩種方式。第一種方式直觀性強(qiáng),較好理解,適用于小規(guī)模數(shù)字電路的設(shè)計;第二種方式具有多層次描述系統(tǒng)硬件功能的能力,可讀性強(qiáng),適用于時序電路及大規(guī)模電路的設(shè)計。本文采用兩者相結(jié)合的方式,用VHDL語言實現(xiàn)數(shù)字頻率計的設(shè)計,用原理圖的方式實現(xiàn)了PC104主機(jī)的接口邏輯,并進(jìn)行仿真。結(jié)果表明完全可以滿足功能需求,編譯環(huán)境為Max+PlusⅡ。
以下為數(shù)字頻率計的VHDL語言源代碼。設(shè)計了兩個32位計數(shù)器,一個8位數(shù)據(jù)選擇器及一個觸發(fā)器控制閘門信號。

以上程序通過軟件編譯后生成數(shù)字頻率計的邏輯功能模塊圖如圖3所示。以下是程序的仿真波形(見圖4),標(biāo)準(zhǔn)頻率為20 MHz,被測信號頻率為O.1 MHz,仿真時間設(shè)為120μs。


從仿真的結(jié)果可以看出,在定時脈沖CL到來時,計數(shù)器并沒有開始計數(shù),而是等到被測信號的上升沿到來時,START信號才開啟,計數(shù)器開始計數(shù),定時脈沖結(jié)束時,計數(shù)器也是等到被測信號的上升沿到來時才結(jié)束計數(shù),實現(xiàn)了多周期同步測頻。圖4中被測信號頻率的計算方法如式(1)所示。與系統(tǒng)預(yù)設(shè)值相同,可以實現(xiàn)所需的功能。
3.2 PC104接口電路實現(xiàn)
該設(shè)計中PC104接口電路部分在Max+PlusⅡ中用原理圖的方式實現(xiàn)。使用的PC104信號有地址線A0~A9、數(shù)據(jù)線D0~D7、讀寫信號線IOR/IOW、復(fù)位信號RESET、中斷信號IRQ3、地址允許線AEN。在PC104總線的接口電路部分遵循一個原則:就是輸出加鎖存,輸入加緩沖驅(qū)動。該接口電路示意如圖5所示,首先地址線的A3~A9位與外部波段開關(guān)設(shè)置地址及AEN信號通過譯碼電路中的比較器進(jìn)行比較,若相同,則說明該模塊被選中,然后根據(jù)A0~A2的譯碼結(jié)果,結(jié)合讀寫信號線產(chǎn)生輸出鎖存器74HC273及輸入緩沖器74HC244的脈沖信號或使能信號,完成對數(shù)字頻率計及外部電路的讀寫及控制。在總線工作方式上采用中斷方式。設(shè)計中,將計數(shù)器的實際計數(shù)結(jié)束信號EEND作為總線的中斷觸發(fā)信號IRQ3,以此來提高PC104總線的工作效率。該接口邏輯的仿真結(jié)果如圖6所示。


從仿真結(jié)果可以看出,接口邏輯可以很好地控制外部繼電器的接通,產(chǎn)生清零及定時脈沖,并能正確地讀取數(shù)字頻率計的計數(shù)結(jié)果,實現(xiàn)模塊預(yù)定的功能。該接口邏輯已在實驗中得到了驗證。
3.3 PC104應(yīng)用程序設(shè)計
在調(diào)試該模件時系統(tǒng)采用Windows。Me操作系統(tǒng),編譯環(huán)境采用TC 3.0。主程序包括系統(tǒng)初始化、中斷初始化、接通繼電器及產(chǎn)生清零和定時脈沖模塊。在中斷服務(wù)程序中主要完成了讀取計數(shù)值、計算頻率值及顯示打印功能。它的程序流程圖如圖7所示,在此不再列出具體代碼列。

4 實驗結(jié)果
實驗采用的方法是將板載的20 MHz的晶振在CPLD內(nèi)部分別進(jìn)行2分頻和20分頻,得到10 MHz和1 MHz的信號,然后再將這兩個頻率信號分別進(jìn)行2.4,6,8分頻,得到共9個被測信號,閘門時間為1 s,測試結(jié)果如表1所示。


由測試結(jié)果可以看出,模件的測頻精度較高,完全能夠滿足一般性測試系統(tǒng)的需要。

5 結(jié)語
采用多周期同步測頻技術(shù)設(shè)計并實現(xiàn)了基于PC104總線和CPLD的測頻模件。給出硬件設(shè)計原理圖和數(shù)字頻率計的VHDL程序源代碼,PC104總線的接口邏輯電路,最后得出仿真結(jié)果,編制了PCl04總線應(yīng)用程序。實際應(yīng)用表明,該模件精度高,穩(wěn)定性好,能夠很好地完成對頻率量測試的任務(wù)。



關(guān)鍵詞: CPLD 104 PC 總線

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉