国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的一種測(cè)頻方法的研究

2014-04-29 05:13唐海斌郭海俠付凱王朝
電子世界 2014年17期
關(guān)鍵詞:仿真

唐海斌 郭海俠 付凱 王朝

【摘要】頻率信號(hào),因其較強(qiáng)的抗干擾能力以及其易于傳輸?shù)奶匦裕沟闷湓趯?shí)際工程中應(yīng)用很廣泛[1]。因此,頻率信號(hào)已經(jīng)成為當(dāng)今電子領(lǐng)域里和工程項(xiàng)目中最主要的測(cè)量參數(shù)之一。頻率的測(cè)量方法有很多種,采用電子計(jì)數(shù)器對(duì)頻率進(jìn)行測(cè)量是測(cè)頻的最常用也是最重要的方式之一[2]。電子計(jì)數(shù)器有很多優(yōu)點(diǎn),如測(cè)量精度高、測(cè)量迅速、方便使用以及易于實(shí)現(xiàn)頻率測(cè)量過程中的自動(dòng)化等。本文將介紹用頻率計(jì)采用多周期同步測(cè)頻法測(cè)頻以及其Verilog HDL的實(shí)現(xiàn)。

【關(guān)鍵詞】測(cè)頻方法;FPGA;Verilog HDL;仿真

引言

頻率的測(cè)量是電子技術(shù)領(lǐng)域中最基本的參數(shù)測(cè)量之一。直接測(cè)頻法為常用的頻率測(cè)量方法之一,其測(cè)量精度很難達(dá)到要求,存在較大局限性,因此其在實(shí)際應(yīng)用中使用的較少。而多周期同步測(cè)頻法具有測(cè)量精度高的優(yōu)點(diǎn),并且結(jié)合現(xiàn)場(chǎng)可編程門陣列(FPGA,F(xiàn)ieldProgrammableGate Array)具有集成度高、可靠性高以及高速的特點(diǎn),使得頻率的測(cè)量范圍能夠達(dá)到0.IHz~100MHz,且測(cè)量的誤差較小[3]。頻率測(cè)量分兩種情況。一種是高頻信號(hào)的測(cè)量,需要采用計(jì)數(shù)測(cè)頻法,測(cè)量過程中需要對(duì)初始信號(hào)分頻,并且要依據(jù)頻率信號(hào)的大致范圍來選擇計(jì)數(shù)周期,計(jì)數(shù)周期隨著信號(hào)頻率的高低而變化,信號(hào)的頻率越高對(duì)應(yīng)的計(jì)數(shù)周期越短[4]。這種做法的目的是為了避免出現(xiàn)測(cè)量錯(cuò)誤,而這種測(cè)量錯(cuò)誤出現(xiàn)的根源在于計(jì)數(shù)值過大且超出計(jì)數(shù)器允許的最大計(jì)數(shù)值。而計(jì)時(shí)測(cè)周法則適用于對(duì)低頻信號(hào)的測(cè)量,即便原始信號(hào)為低頻信號(hào),也要對(duì)其進(jìn)行分頻,然后選擇適當(dāng)?shù)母哳l時(shí)鐘,高頻時(shí)鐘要由所測(cè)信號(hào)的大概頻率范圍來選擇。

一、系統(tǒng)軟件設(shè)計(jì)

相對(duì)于硬件電路,軟件設(shè)計(jì)能適合的信號(hào)頻率范圍更廣。當(dāng)設(shè)計(jì)的信號(hào)的頻率范圍變得更高時(shí),需要對(duì)硬件電路進(jìn)行改善,但是軟件仍然可以繼續(xù)使用。依據(jù)上述原因,軟件設(shè)計(jì)時(shí)選擇的信號(hào)的頻率范圍為:1Hz~20MHz。

如圖1所示,軟件系統(tǒng)分為分頻、計(jì)數(shù)測(cè)頻、控制以及計(jì)數(shù)測(cè)周4個(gè)模塊,其中計(jì)數(shù)測(cè)頻模塊和計(jì)數(shù)測(cè)周模塊都屬于計(jì)數(shù)模塊。分頻模塊的作用是把輸入信號(hào)進(jìn)行分頻,且分頻模塊的分頻系數(shù)由控制模塊發(fā)出的控制信號(hào)來確定。由控制模塊發(fā)出的信號(hào)來確定計(jì)數(shù)測(cè)頻模塊的計(jì)數(shù)周期,并且計(jì)算在此計(jì)數(shù)周期里信號(hào)經(jīng)過分頻模塊分頻之后的上升沿的數(shù)量值。同樣,計(jì)數(shù)測(cè)周模塊的高頻時(shí)鐘周期也由控制模塊輸出的信號(hào)來確定,類似地,此時(shí)需要計(jì)算高頻時(shí)鐘在輸入信號(hào)的一個(gè)周期里的上升沿的數(shù)量值??刂颇K綜合了接收的來自計(jì)數(shù)模塊輸出的計(jì)數(shù)值以及控制模塊自身的當(dāng)前狀態(tài),然后分別發(fā)出信號(hào)來控制分頻系數(shù),控制計(jì)數(shù)周期以及控制高頻時(shí)鐘周期,并對(duì)頻率加以計(jì)算,然后輸出計(jì)算后的頻率。

圖1 頻率測(cè)量軟件模塊示意圖

模塊的波形仿真使用了Xilinx公司的ise13.1軟件,并結(jié)合硬件描述語言(HDL,hardware description language)來實(shí)現(xiàn)仿真結(jié)果。硬件描述語言是一種用形式化方法來描述數(shù)字電路和系統(tǒng)的語言,其成功地應(yīng)用于設(shè)計(jì)的各個(gè)階段:建模、仿真、驗(yàn)證和綜合等[5]。本文選用Verilog HDL語言。

(一)分頻模塊設(shè)計(jì)

設(shè)計(jì)分頻模塊時(shí)要注意:分頻系數(shù)由控制模塊發(fā)出的控制信號(hào)決定,控制信號(hào)有變化,則分頻系數(shù)也要隨之改變。

分頻模塊包括signal_in、state以及signal_out三個(gè)信號(hào),其中signal_in為初始輸入信號(hào),state為控制信號(hào),該控制信號(hào)連接在控制模塊上,狀態(tài)一旦改變,分頻系數(shù)也要隨之改變。用Verilog HDL進(jìn)行編程時(shí),計(jì)數(shù)器變量用count表示,count的初值設(shè)定為分頻系數(shù)值的1/2,即如果對(duì)信號(hào)1/32分頻,那么count的值則設(shè)為16,然后當(dāng)每個(gè)signal_in的上升沿到來時(shí),應(yīng)當(dāng)先對(duì)state進(jìn)行判斷,若state與前一個(gè)上升沿不相同時(shí),直接將count重新取初值。若state恰好等同于前一個(gè)上升沿,則count減1;當(dāng)count=1且signal_in的后一個(gè)上升沿到來時(shí),輸出信號(hào)signal_out翻轉(zhuǎn),與此同時(shí),將count重新取初值。

圖2 分頻模塊仿真波形圖

該模塊的波形仿真圖如圖2所示,可以清晰看出:當(dāng)state=0時(shí),將初始信號(hào)進(jìn)行1/2分頻,當(dāng)state=1時(shí),對(duì)初始信號(hào)進(jìn)行了1/16分頻,當(dāng)state=2時(shí),對(duì)初始信號(hào)進(jìn)行了1/4分頻,當(dāng)state=3時(shí),同樣對(duì)初始信號(hào)進(jìn)行了1/2分頻。

(二)計(jì)數(shù)模塊設(shè)計(jì)

計(jì)數(shù)模塊由計(jì)數(shù)測(cè)頻和計(jì)數(shù)測(cè)周兩個(gè)模塊組成,兩個(gè)子模塊分別用計(jì)數(shù)測(cè)頻法和計(jì)數(shù)測(cè)周法實(shí)現(xiàn),兩個(gè)模塊用Verilog HDL編程實(shí)現(xiàn)的方法類似,這里只對(duì)計(jì)數(shù)測(cè)頻法進(jìn)行討論。

計(jì)數(shù)測(cè)頻法分為兩個(gè)部分:一是將輸入的原始時(shí)鐘信號(hào)分頻來獲得1/32s,1/16s等信號(hào);二是計(jì)算待測(cè)信號(hào)在計(jì)數(shù)周期信號(hào)的半個(gè)周期(即高電平或者低電平持續(xù)時(shí)間)內(nèi)的上升沿的個(gè)數(shù)。由于FPGA采用50MHz的晶振,因此要的到頻率為16Hz的模塊輸入信號(hào),需先將晶振頻率進(jìn)行1/3125000,分頻后得到的信號(hào)頻率為16Hz,此信號(hào)即為這個(gè)模塊的時(shí)鐘輸入信號(hào)。將該信號(hào)進(jìn)行1/4、1/8、1/16、1/32分頻,得到周期為1/4秒、1/2秒、1秒、2秒的信號(hào)。圖3為計(jì)數(shù)模塊的波形仿真圖,其中clk為輸入時(shí)鐘,頻率為16Hz,signal_in為待測(cè)信號(hào),信號(hào)state的作用是控制計(jì)數(shù)周期,該信號(hào)由控制模塊發(fā)出,period為計(jì)數(shù)周期。State=0時(shí),period的周期為1/8s,每個(gè)周期內(nèi)上升沿和下降沿均持續(xù)1/16s;當(dāng)state=1或2或3時(shí),period的周期也會(huì)隨之改變。data_out為輸出的計(jì)數(shù)器的計(jì)數(shù)值,由圖3可見,data_out若要輸出正確的計(jì)數(shù)值,需要在state與period共同作用下才能實(shí)現(xiàn)。當(dāng)state分別為0、1、2、3時(shí),data_out輸出值分別為4、8、16、1。

圖3 計(jì)數(shù)模塊仿真波形圖

(三)控制模塊設(shè)計(jì)

控制模塊收到來自計(jì)數(shù)模塊的計(jì)數(shù)值,并且結(jié)合自身的當(dāng)前狀態(tài),發(fā)出信號(hào)來控制分頻系數(shù)、計(jì)數(shù)周期以及高頻時(shí)鐘周期。

二、硬件系統(tǒng)設(shè)計(jì)

FPGA是上個(gè)世紀(jì)90年代發(fā)展起來的大規(guī)??删幊踢壿嬈骷?,隨著電子設(shè)計(jì)自動(dòng)化(EDA,Electronic Design Automation)技術(shù)以及微電子技術(shù)的發(fā)展進(jìn)步,F(xiàn)PGA由于其并行的工作方式且具有高可靠性、高集成度的優(yōu)點(diǎn),因此在超高速、實(shí)時(shí)測(cè)控方面的應(yīng)用前景非常廣闊。在快速測(cè)量以及較高精度的測(cè)頻的要求下,單片機(jī)和數(shù)字信號(hào)處理(DSP,Digital Signal Processor)無法滿足高速及高精度的測(cè)頻要求。采用FPGA為實(shí)現(xiàn)高速、高精度的測(cè)頻提供了保證[6]。

(一)FPGA開發(fā)板

采用Xilinx公司的XC6SLX16-2CSG324 Spartan-6的開發(fā)板siga-s16,其工作主頻為50MHz,片內(nèi)集成8MB SPI Flash、14pin雙排2.0mm間距JTAG接口、板載128MB DDR2 SDRAM、10/100M以太網(wǎng)RJ-45接口,采用芯片RTL8201、USB2.0高速通信,CY68013A、音頻接口,支持麥克風(fēng)輸入,音頻輸入及立體音音頻輸出、USB轉(zhuǎn)UART通信、DB9式RS232接口、PS/2鍵盤、鼠標(biāo)接口、一個(gè)標(biāo)準(zhǔn)SD卡座等,此芯片完全滿足設(shè)計(jì)的需求。

(二)系統(tǒng)時(shí)鐘

圖4 Siga-S16時(shí)鐘原理圖

Siga-S16 開發(fā)板提供了一個(gè) 50MHz 的有源晶體振蕩器(Location:X1),振蕩器的輸出連接到FPGA的全局時(shí)鐘(GCLK Pin V10),這個(gè) GCLK可以用來驅(qū)動(dòng)FPGA內(nèi)的用戶邏輯電路,可以通過配置FPGA內(nèi)部的PLLs和DCMs來實(shí)現(xiàn)更高的時(shí)鐘。

(三)USB串口通信

Siga-S16包含了Silicon Labs CP2102GM的USB-UAR芯片(U8),可以用一根USB線將它連接到上PC上(A型USB接口接到PC上,B型接到開發(fā)板的J8上)。可以將Xilinx Uart IP應(yīng)用到Siga-S16開發(fā)板FPGA內(nèi),它可以支持USB-UART轉(zhuǎn)換芯片的4個(gè)信號(hào),Rx,Tx,CTS(清發(fā)送數(shù)據(jù)),RTS(請(qǐng)求發(fā)送數(shù)據(jù))。Silicon Labs免費(fèi)提供了Virtual COM Port(VCP),用戶裝完驅(qū)動(dòng)后,當(dāng)用USB線連上開發(fā)板J8和PC時(shí),PC就把當(dāng)成一個(gè)虛擬串口使用。

圖5 Siga-S16串口連接原理圖

三、結(jié)論

本文結(jié)合了應(yīng)用成熟的硬件和穩(wěn)定性較高的軟件,對(duì)多周期同步測(cè)頻法做了系統(tǒng)的研究,結(jié)合基于FPGA的數(shù)字頻率計(jì),標(biāo)準(zhǔn)時(shí)鐘由50MHz的晶振產(chǎn)生,有效提高了測(cè)量精度,在設(shè)計(jì)實(shí)現(xiàn)的過程中使用了Verilog HDL語言,簡(jiǎn)化了電路,提高了系統(tǒng)的有效性和可靠性。

參考文獻(xiàn)

[1]高銳,張振國.基于FPGA的多周期同步頻率計(jì)設(shè)計(jì)[D].2013,8.

[2]郭祥斌,陳沅濤.基于Verilog HDL數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)[R].2010.12.

[3]楊華,喬鋼.基于FPGA的測(cè)頻技術(shù)研究[D].哈爾濱工程大學(xué)2010,3.

[4]黃國達(dá).基于FPGA的任意整數(shù)分頻器的設(shè)計(jì)[J].仰恩大學(xué)計(jì)算機(jī)與信息學(xué)院福建泉州362014.2013,29(7).

[5]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第3版)[M].北京:北京航空航天大學(xué)出版社,2013,7:10-11.

[6]范亞斌.基于FPGA的頻率計(jì)的設(shè)計(jì)[D].河北科技大學(xué)2009.

作者簡(jiǎn)介:唐海斌(1989—),男,長(zhǎng)春理工大學(xué)電子信息工程學(xué)院碩士研究生,主要研究方向:信號(hào)檢測(cè)與信號(hào)處理理論與技術(shù)。

猜你喜歡
仿真
一種幫助幼兒車內(nèi)脫險(xiǎn)應(yīng)急裝置的仿真分析
Buck開關(guān)變換器的基本參數(shù)設(shè)計(jì)及仿真分析
試析PLC控制下的自動(dòng)化立體倉庫仿真情況分析
基于MADYMO的航空座椅約束系統(tǒng)優(yōu)化設(shè)計(jì)
中國體態(tài)假人模型與FAA Hybrid Ⅲ 型假人模型沖擊差異性分析
機(jī)械加工仿真技術(shù)研究