基于STM32和CPLD的等精度測(cè)頻設(shè)計(jì)
在電子工程、資源勘探、儀器儀表等相關(guān)應(yīng)用中,頻率測(cè)量是電子測(cè)量技術(shù)中最基本最常見的測(cè)量之一,頻率計(jì)也是工程技術(shù)人員必不可少的測(cè)量工具。但是,傳統(tǒng)的頻率測(cè)量方法在實(shí)際應(yīng)用中有較大的局限性,基于傳統(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的變化而變化,傳統(tǒng)的直接測(cè)頻法其測(cè)量精度將隨被測(cè)信號(hào)頻率的降低而降低,測(cè)周法的測(cè)量精度將隨被測(cè)信號(hào)頻率的升高而降低。本文中提出一種基于ARM與CPLD寬頻帶的數(shù)字頻率計(jì)的設(shè)計(jì),以微控器STM32作為核心控制芯片,利用CPLD可編程邏輯器件,實(shí)現(xiàn)閘門測(cè)量技術(shù)的等精度測(cè)頻。
本文引用地址:http://www.ex-cimer.com/article/190885.htm本設(shè)計(jì)的技術(shù)指標(biāo):
測(cè)頻范圍:1Hz~200MHz,分辨率為0.1Hz,測(cè)頻相對(duì)誤差百萬(wàn)分之一。
周期測(cè)量:信號(hào)測(cè)量范圍與精度要求與測(cè)頻功能相同。
占空比測(cè)量:準(zhǔn)確度99%。
計(jì)數(shù)范圍:0~1000000000,可手動(dòng)暫停、復(fù)位。
功耗大?。?V×250mA= 1.25W。
常用的直接測(cè)頻方法主要有測(cè)頻法和測(cè)周期法兩種。測(cè)頻法就是在確定的閘門時(shí)間Tw內(nèi),記錄被測(cè)信號(hào)的變化周期數(shù)(或脈沖個(gè)數(shù))Nx,則被測(cè)信號(hào)的頻率為:fx=Nx/Tw。測(cè)周期法需要有標(biāo)準(zhǔn)信號(hào)的頻率fs,在待測(cè)信號(hào)的一個(gè)周期Tx內(nèi),記錄標(biāo)準(zhǔn)頻率的周期數(shù)Ns,則被測(cè)信號(hào)的頻率為:fx=fs/Ns。這兩種方法的計(jì)數(shù)值會(huì)產(chǎn)生±1個(gè)字誤差,并且測(cè)試精度與計(jì)數(shù)器中記錄的數(shù)值Nx或Ns有關(guān)。為了保證測(cè)試精度,一般對(duì)于低頻信號(hào)采用測(cè)周期法,對(duì)于高頻信號(hào)采用測(cè)頻法。但由于測(cè)試時(shí)很不方便,又提出了等精度測(cè)頻方法。等精度測(cè)頻方法是在直接測(cè)頻方法的基礎(chǔ)上發(fā)展起來(lái)的,它的閘門時(shí)間不是固定值,而是被測(cè)信號(hào)周期的整數(shù)倍,即與被測(cè)信號(hào)同步。 等精度測(cè)頻系統(tǒng)的控制時(shí)序圖如圖1所示。
圖1 等精度測(cè)頻系統(tǒng)的控制時(shí)序圖
在測(cè)量過(guò)程中,有兩個(gè)計(jì)數(shù)器分別對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)同時(shí)計(jì)數(shù)。首先給出閘門開啟信號(hào)(預(yù)置閘門上升沿),此時(shí)計(jì)數(shù)器并不開始計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來(lái)時(shí),計(jì)數(shù)器才真正開始計(jì)數(shù)。然后,預(yù)置閘門關(guān)閉信號(hào)(下降沿)到來(lái)時(shí),計(jì)數(shù)器并不立即停止計(jì)數(shù),而是等到被測(cè)號(hào)的上升沿到來(lái)時(shí)才結(jié)束計(jì)數(shù),完成一次測(cè)量過(guò)程??梢钥闯?,實(shí)際閘門時(shí)間r與預(yù)置閘門時(shí)間r1并不嚴(yán)格相等,但差值不超過(guò)被測(cè)信號(hào)的一個(gè)周期。設(shè)在一次實(shí)際閘門時(shí)間r中,計(jì)數(shù)器對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為Ns,標(biāo)準(zhǔn)信號(hào)的頻率為fs,則被測(cè)信號(hào)的頻率如式(1)所示。
圖2為等精度測(cè)頻邏輯框圖,CNT1和CNT2是兩個(gè)可控計(jì)數(shù)器,標(biāo)準(zhǔn)頻率信號(hào)fs信號(hào)從CNT1的時(shí)鐘輸入端CLK輸入,經(jīng)整形后的被測(cè)信號(hào)fx從CNT2的時(shí)鐘輸入端CLK輸入。每個(gè)計(jì)數(shù)器中的CEN輸入端為時(shí)鐘使能端,控制時(shí)鐘輸入。當(dāng)預(yù)置門信號(hào)為高電平(預(yù)置時(shí)間開始)時(shí),被測(cè)信號(hào)的上升沿通過(guò)D觸發(fā)器的輸出端,同時(shí)啟動(dòng)兩個(gè)計(jì)數(shù)器計(jì)數(shù);同樣,當(dāng)預(yù)置門信號(hào)為低電平(預(yù)置時(shí)間結(jié)束)時(shí),被測(cè)信號(hào)的上升沿通過(guò)D觸發(fā)器的輸出端,同時(shí)關(guān)閉計(jì)數(shù)器的計(jì)數(shù)。
圖2 等精度測(cè)頻邏輯框圖
系統(tǒng)硬件設(shè)計(jì)
使用ST公司的32bit處理器STM32F103C8作為主控芯片與高可靠性的可編程邏輯器件EPM240T100C5結(jié)合設(shè)計(jì)成頻率計(jì)。
STM32F103C8的功能特點(diǎn)如下:(1) 最高頻率可達(dá)72MHz,自帶128/64KB的FLASH,1.25DMIPS/MHz,可以訪問0等待周期的存儲(chǔ)器。(2)供電電壓范圍為2.0~3.6V了,內(nèi)嵌8MHz高速晶體振蕩器,也可外部時(shí)鐘供給,本系統(tǒng)采用CPLD時(shí)鐘分頻供給。(3)下載模式可采用串行線調(diào)試(SWD)接口和JTAG接口,本系統(tǒng)采用JTAG下載接口。
EPM240T100C5的功能特點(diǎn)如下:(1)支持內(nèi)部時(shí)鐘頻率300MHz,本系統(tǒng)使用有源晶振50MHz供給。(2)片內(nèi)電壓調(diào)整器支持3.3V、2.5V或1.8V電源輸入,本系統(tǒng)使用3.3V電壓供給。(3)下載模式使用10針JTAG接口。
1 系統(tǒng)硬件結(jié)構(gòu)框圖
系統(tǒng)通過(guò)對(duì)STM32F103C8微控器的控制,經(jīng)SPI總線向CPLD芯片EPM240T100發(fā)送數(shù)據(jù)和命令來(lái)控制內(nèi)部邏輯單元。EPM240T100使用外部有源晶振50MHz供給,經(jīng)4分頻12.5MHz作為CPU的輸入時(shí)鐘。該系統(tǒng)的硬件結(jié)構(gòu)如圖3所示。其包括主控芯片模塊、JTAG下載模塊、復(fù)位電路模塊、上位機(jī)顯示模塊、被測(cè)量輸入模塊。
圖3 系統(tǒng)框圖
2 系統(tǒng)的數(shù)字電路設(shè)計(jì)
微控器原理如圖4所示。本系統(tǒng)處理器使用STM2F103C8,時(shí)鐘由CPLD分頻供給CPU,通過(guò)SPI方式將數(shù)據(jù)和命令傳送給CPLD,而后用串口RS232發(fā)送到上位機(jī)顯示。
圖4 微控器原理圖
評(píng)論