《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于CPLD和89S51的多功能信號測量儀
基于CPLD和89S51的多功能信號測量儀
摘要: 測頻是最基本的電子測量技術(shù),。常用的測頻方法有較大的局限性,,其測量精度是隨被測信號頻率的下降而降低的,,并且被測信號計數(shù)則產(chǎn)生±1個數(shù)字誤差,。而采用等精度頻率測量方法測量精確,,測量精度保持恒定,;并且與CPLD(復(fù)雜可編程邏輯器件)相結(jié)合可使測頻范圍達(dá)到0.1 Hz~100 MHz,,測頻全域相對誤差恒為1/1000,。
Abstract:
Key words :
1 引言

        測頻是最基本的電子測量技術(shù)。常用的測頻方法有較大的局限性,,其測量精度是隨被測信號頻率的下降而降低的,,并且被測信號計數(shù)則產(chǎn)生±1個數(shù)字誤差。而采用等精度頻率測量方法測量精確,,測量精度保持恒定,;并且與CPLD(復(fù)雜可編程邏輯器件)相結(jié)合可使測頻范圍達(dá)到0.1 Hz~100 MHz,測頻全域相對誤差恒為1/1000,。

        智能化儀器通常以單片機(jī)為核心,,而一般單片機(jī)自身計數(shù)器/定時器的計數(shù)/定時范圍或精度有時無法滿足系統(tǒng)要求。以89C51單片機(jī)為例,,當(dāng)其內(nèi)部兩個16位計數(shù)器/定時器T0和T1工作在計數(shù)方式時,,對T0(P3.4)或T1(P3.5)的外部脈沖進(jìn)行計數(shù)。當(dāng)T0或T1引腳上發(fā)生負(fù)跳變時,計數(shù)器加1,。由于識別引腳的負(fù)跳變需2個機(jī)器周期,,即24個時鐘振蕩周期。T0/T1的最高頻率為1/24fosc,,當(dāng)晶體振蕩器頻率為12MHz時,,其最高計數(shù)頻率為500 kHz。要求高測量頻率時,,則需對被測信號預(yù)處理以擴(kuò)展測頻范圍,。

2 測量原理

        要求測量頻率較高時,則需對高頻和低頻采用不同的測量方法,,提高測量精度,。

2.1高頻測量

        采用測頻法測量高頻。在確定的閾值時間Tw內(nèi),,記錄被測信號的變化周期數(shù)(或脈沖數(shù))Nx,,則被測信號的頻率:fx=Nx/Tw。測頻法原理如圖1,。由于被測頻率較高,,單片機(jī)難以測量,8051所測量最高頻率為500 kHz,,因此采用CPLD和8051的內(nèi)部計數(shù)器組成32位計數(shù)器,。CPLD的計數(shù)器為低16位,其進(jìn)位脈沖再向8051計數(shù),。CPLD延時為10 ns,,因此,,CPLD與8051按測頻原理可以精確測量50 Mz的頻率,。

 

2.2低頻測量

        采用測周法測量低頻。測周期法需用標(biāo)準(zhǔn)信號的頻率fs,,待測信號的一個周期Tx內(nèi),,記錄標(biāo)準(zhǔn)頻率的周期數(shù)為Ns,則被測信號的頻率為:fx=fs/Ns,,其原理如圖2所示,。由于被測頻率較低,故可采用8051測量,。首先要將被測信號轉(zhuǎn)換成門控信號,,其轉(zhuǎn)換電路原理如圖3所示。

 

2.3脈寬測量

        由于被測頻率較低,,故可采用8051實現(xiàn),。將脈寬信號直接送人8051計數(shù)器,采用測周法來測量脈寬,標(biāo)準(zhǔn)信號頻率fs記錄標(biāo)準(zhǔn)頻率的周期數(shù)為Ns,,則被測信號的脈寬為:Tx=Ns/fs,。

        3系統(tǒng)硬件電路設(shè)計

3.1單片機(jī)設(shè)計部分

        快速測量的要求必須保證高精度測頻,必須采用高精度的標(biāo)準(zhǔn)頻率信號,。由于單片機(jī)受本身時鐘頻率和指令運算限制,,因此,測頻速度較慢,,無法滿足高速,、高精度測頻要求。采用高集成度,、高速可編程門陣列CPLD可實現(xiàn)快速,、高精度測頻。其硬件電路如圖4所示,。

 

3.2 CPLD設(shè)計部分

        利用CPLD作為計數(shù)器的低16位,,而89S51內(nèi)部計數(shù)器作為計數(shù)器的高16位,在門控時間內(nèi)分別對被測信號和標(biāo)準(zhǔn)信號進(jìn)行計數(shù),。由于單片機(jī)具有程序運算能力,,且頻率為周期的倒數(shù)(f=1/T),則測頻法與測周法互通,。CPLD設(shè)計部分的硬件電路如圖5所示,。

 

4系統(tǒng)軟件設(shè)計

        系統(tǒng)軟件設(shè)計采用Keil C51編寫。由于單片機(jī)能夠完成大量運算,,且包含浮點數(shù)據(jù)處理,。因此,并采用Keil C51便于運行,。并采用Keil C51自帶的軟件仿真器對所編寫的程序進(jìn)行仿真,。

        系統(tǒng)軟件設(shè)計流程為:單片機(jī)初始化、LCD初始化,、計數(shù)器清零,、單片機(jī)發(fā)出啟動脈沖,來啟動CPLD的兩個低16位計數(shù)器和單片機(jī)的兩個高16位計數(shù)器,。此時,,計數(shù)器并不開始計數(shù),直到下一個Tx上升沿到來,,計數(shù)器才開始計數(shù),,軟件延時1 s后,發(fā)出結(jié)束脈沖來結(jié)束CPLD的兩個低16位計數(shù)器計數(shù),,但此時,,計數(shù)器并不停止計數(shù),,而是直到下一個Fx上升沿兩個計數(shù)器才都停止計數(shù),隨后關(guān)閉單片機(jī)的兩個計數(shù)器,。CPLD發(fā)送結(jié)束信號,,單片機(jī)響應(yīng)中斷。中斷函數(shù)分兩次讀取CPLD的兩個計數(shù)器值,。進(jìn)而單片機(jī)處理兩個32位計數(shù)器值,。調(diào)用顯示函數(shù)顯示頻率,從而完成一次測頻,。圖6為系統(tǒng)軟件設(shè)計流程圖,。

 

5 結(jié)語

        本系統(tǒng)設(shè)計經(jīng)系統(tǒng)測試,測試數(shù)據(jù)符合要求,。因此,,該信號測量儀具有電路簡單、體積小巧,、便于攜帶,、功能強(qiáng)大,中文液晶顯示等特點,。其頻率測量范圍可達(dá)0.1 Hz~100MHz,,并可隨意切換被測信號的頻率、周期和脈寬,,具有較強(qiáng)的實用價值,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。