国产精品成人网站,日韩视频二区,亚洲成人手机电影,怡红院国产

產(chǎn)品推薦:水表|流量計(jì)|壓力變送器|熱電偶|液位計(jì)|冷熱沖擊試驗(yàn)箱|水質(zhì)分析|光譜儀|試驗(yàn)機(jī)|試驗(yàn)箱


儀表網(wǎng)>技術(shù)中心>應(yīng)用設(shè)計(jì)>正文

歡迎聯(lián)系我

有什么可以幫您? 在線(xiàn)咨詢(xún)

基于FPGA的同步測(cè)周期高精度數(shù)字頻率計(jì)的設(shè)計(jì)

   2012年03月31日 16:18  
  摘要:本文介紹了一種同步測(cè)周期計(jì)數(shù)器的設(shè)計(jì),并基于該計(jì)數(shù)器設(shè)計(jì)了一個(gè)高精度的數(shù)字頻率計(jì)。文中給出了計(jì)數(shù)器的VHDL編碼,并對(duì)頻率計(jì)的FPGA實(shí)現(xiàn)進(jìn)行了仿真驗(yàn)證,給出了測(cè)試結(jié)果。
  
  在現(xiàn)代數(shù)字電路設(shè)計(jì)中,采用FPGA結(jié)合硬件描述語(yǔ)言VHDL可以設(shè)計(jì)出各種復(fù)雜的時(shí)序和邏輯電路,具有設(shè)計(jì)靈活、可編程、高性能等優(yōu)點(diǎn)。本文將介紹一種基于FPGA,采用同步測(cè)周期的方法來(lái)實(shí)現(xiàn)寬頻段高精度數(shù)字頻率計(jì)的設(shè)計(jì)。
  
  圖1同步測(cè)周期計(jì)數(shù)器
 
  
  同步測(cè)周期頻率計(jì)的原理
  
  在數(shù)字頻率計(jì)中,測(cè)周期計(jì)數(shù)器是主要的電路,其功能是:使用標(biāo)準(zhǔn)時(shí)鐘以被測(cè)頻率信號(hào)的一個(gè)周期為時(shí)限進(jìn)行脈沖計(jì)數(shù)。傳統(tǒng)的測(cè)周期計(jì)數(shù)器采用門(mén)控計(jì)數(shù)器來(lái)實(shí)現(xiàn),即采用一個(gè)同被測(cè)頻率信號(hào)周期寬度相同的門(mén)控脈沖來(lái)控制計(jì)數(shù)器的計(jì)停。其缺點(diǎn)在于無(wú)法實(shí)現(xiàn)對(duì)被測(cè)信號(hào)的連續(xù)測(cè)周期計(jì)數(shù)。
  
  本文設(shè)計(jì)的同步測(cè)周期計(jì)數(shù)器如圖1所示。圖中計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘為clk0,頻率為f0;被測(cè)信號(hào)為clkx,頻率為fx。采用一個(gè)D觸發(fā)器對(duì)輸入的被測(cè)信號(hào)clkx進(jìn)行同步,同步輸出為s0。在clk0的上升沿到來(lái)之前,如果clkx出現(xiàn)了上升跳變,則le信號(hào)變?yōu)楦唠娖?,?jì)數(shù)器ct的重載信號(hào)和鎖存器cout的使能信號(hào)有效。當(dāng)clk0的上升沿到來(lái)時(shí),計(jì)數(shù)器的計(jì)數(shù)值鎖存,同時(shí)計(jì)數(shù)器重載為1,重新開(kāi)始計(jì)數(shù),le變?yōu)榈碗娖健S?jì)數(shù)器在其他時(shí)間里進(jìn)行加1計(jì)數(shù),鎖存器的值則保持不變。該測(cè)周期計(jì)數(shù)器能在clkx的每個(gè)上升沿之后輸出計(jì)數(shù)值,實(shí)現(xiàn)了對(duì)被測(cè)信號(hào)進(jìn)行測(cè)周期計(jì)數(shù),并始終輸出其一個(gè)周期的計(jì)數(shù)值,圖中cint端輸出一個(gè)clk0周期寬度的高脈沖,用于指示新的計(jì)數(shù)值鎖存。
  
  圖2同步測(cè)周期數(shù)字頻率計(jì)
  
  圖3頻率計(jì)cint的改進(jìn)電路
  
  設(shè)該計(jì)數(shù)器的測(cè)周期計(jì)數(shù)值為M0,由于同步測(cè)周期法的分辨率為一個(gè)標(biāo)準(zhǔn)時(shí)鐘周期,因此有:
  
  該同步測(cè)周期計(jì)數(shù)器的測(cè)周期計(jì)數(shù)值z(mì)ui小為2,要求被測(cè)信號(hào)高低電平的寬度大于一個(gè)標(biāo)準(zhǔn)時(shí)鐘周期。
  
  基于上述同步測(cè)周期計(jì)數(shù)器,本文設(shè)計(jì)了如圖2所示的高精度數(shù)字頻率計(jì)。freq_div模塊是一個(gè)分頻器,對(duì)標(biāo)準(zhǔn)時(shí)鐘clk0進(jìn)行系數(shù)為C0的分頻。頻率計(jì)采用了兩個(gè)同步測(cè)周期計(jì)數(shù)器同時(shí)工作,計(jì)數(shù)值輸出端口分別為cout和mout。為了避免由于同步測(cè)周期計(jì)數(shù)器中被測(cè)信號(hào)和標(biāo)準(zhǔn)時(shí)鐘不同步,le信號(hào)高電平的寬度不固定而造成的計(jì)數(shù)出錯(cuò),在實(shí)際應(yīng)用中,采取將被測(cè)信號(hào)先經(jīng)過(guò)一個(gè)D觸發(fā)器同步后再送入計(jì)數(shù)器的方法,以保證計(jì)數(shù)的可靠性,其計(jì)數(shù)值和頻率的關(guān)系仍滿(mǎn)足(1)式。設(shè)cout輸出的值為C,mout輸出的值為M,根據(jù)頻率計(jì)的結(jié)構(gòu),對(duì)于其中以clkx為計(jì)數(shù)時(shí)鐘的計(jì)數(shù)器,由(1)式得:
  
  同理,對(duì)于以clk0為計(jì)數(shù)時(shí)鐘的計(jì)數(shù)器,有:
  
  根據(jù)兩個(gè)測(cè)周期計(jì)數(shù)器的計(jì)數(shù)值M、C,被測(cè)信號(hào)的頻率按下式計(jì)算得到
  
  據(jù)(3)式,計(jì)算結(jié)果的zui大誤差為:
  
  相對(duì)誤差為:
  
  因此,只要使計(jì)數(shù)值C足夠大就可以保證頻率測(cè)量的精度。將(3)和(4)兩式相除并忽略小項(xiàng)得C和C0的關(guān)系如下:
  
  給定C0,測(cè)周期計(jì)數(shù)值C的zui大可變范圍為:。因此,根據(jù)實(shí)際測(cè)量精度的要求,設(shè)定適當(dāng)?shù)姆诸l器分頻系數(shù)C0,即可保證實(shí)際的測(cè)周期計(jì)數(shù)值C的大小在精度要求的范圍內(nèi)。對(duì)于上述的數(shù)字頻率計(jì),如果增大分頻器分頻系數(shù)C0,提高測(cè)周期計(jì)數(shù)器的計(jì)數(shù)范圍,可實(shí)現(xiàn)對(duì)輸入信號(hào)寬頻段高精度的頻率測(cè)量。
  
  圖4輸入被測(cè)信號(hào)周期為156ms時(shí)的仿真波形
  
  數(shù)字頻率計(jì)的VHDL實(shí)現(xiàn)
  
  上述的同步測(cè)周期數(shù)字頻率計(jì)在Altera公司的FPGA開(kāi)發(fā)平臺(tái)QuartusII中實(shí)現(xiàn),模塊采用VHDL語(yǔ)言描述,具有通用性和可重用性。圖1中的同步測(cè)周期計(jì)數(shù)器的VHDL描述如下:
  
  libraryieee;
  
  useieee.std_logic_1164.all;
  
  useieee.std_logic_unsigned.all;
  
  useieee.std_logic_arith.all;
  
  entityfreq_countis--實(shí)體定義
  
  port(reset:instd_logic;
  
  clk0:instd_logic;
  
  clkx:instd_logic;
  
  cint:outstd_logic;
  
  cout:outstd_logic_vector(23downto0));
  
  endentityfreq_count;
  
  architecturearoffreq_countis
  
  signals0:std_logic;
  
  signalct:std_logic_vector(23downto0);
  
  begin
  
  p0:process(reset,clk0)
  
  --計(jì)數(shù)器進(jìn)程
  
  begin
  
  ifreset='0'then
  
  s0<='0';
  
  cint<='1';
  
  cout<=conv_std_logic_vector(0,24);
  
  else
  
  ifclk0'eventandclk0='1'then
  
  s0<=clkx;
  
  ifs0='0'andclkx='1'then
  
  cout<=ct;
  
  cint<='0';
  
  ct<=conv_std_logic_vector(1,24);
  
  else
  
  cint<='1';
  
  ct<=ct+1;
  
  endif;
  
  endif;
  
  endif;
  
  endprocessp0;
  
  endar;
  
  測(cè)周期計(jì)數(shù)值M、C分別由mout和cout端口輸出,通過(guò)一定的接口由微處理器或其他的數(shù)據(jù)處理模塊獲取,進(jìn)行頻率的計(jì)算和顯示,根據(jù)實(shí)際的應(yīng)用情況設(shè)計(jì)輸出接口,這里不再詳述。當(dāng)頻率計(jì)新一輪的測(cè)周期計(jì)數(shù)完成后,計(jì)數(shù)器通過(guò)cint和mint信號(hào)指示處理單元來(lái)獲取數(shù)據(jù),其高電平脈沖的寬度為一個(gè)計(jì)數(shù)時(shí)鐘周期。當(dāng)計(jì)數(shù)時(shí)鐘頻率很高時(shí),一些慢速的單片機(jī)可能無(wú)法捕獲,因此(以cint信號(hào)為例)增加如圖3所示的電路。cint上升沿使D觸發(fā)器輸出引腳cdone置0,通知單片機(jī)取數(shù),單片機(jī)讀結(jié)果時(shí),相應(yīng)的地址信號(hào)和讀信號(hào)有效使圖中的cint_set有效,cdone被復(fù)位為1,等待下一次cint脈沖的出現(xiàn)。通過(guò)該電路,慢速單片機(jī)就可以捕獲頻率計(jì)計(jì)數(shù)完成的指示信號(hào)。
  
  為了使頻率計(jì)的設(shè)計(jì)更加靈活,頻率計(jì)中分頻器的分頻系數(shù)也可改為由外部輸入。在頻率計(jì)運(yùn)行期間,由外部控制器設(shè)置不同的分頻系數(shù)C0,這樣可實(shí)現(xiàn)更寬范圍的頻率測(cè)量。
  
  頻率計(jì)的仿真驗(yàn)證
  
  上述數(shù)字頻率計(jì)的VHDL設(shè)計(jì)在Altera公司的QuartusII開(kāi)發(fā)平臺(tái)下進(jìn)行了編譯和仿真,圖4是在clk0輸入10MHz方波,clkx輸入周期為156ms(頻率為6.41KHz)方波,分頻系數(shù)C0取15000時(shí)的仿真波形。
  
  本文采用Altera公司的FPGAFLEX10K10LC84-4來(lái)實(shí)現(xiàn)上述的頻率計(jì),計(jì)數(shù)器計(jì)數(shù)值的處理和顯示由51單片機(jī)來(lái)完成,同步測(cè)周期數(shù)字頻率計(jì)的參數(shù)和測(cè)試結(jié)果是:計(jì)數(shù)器寬度為24bit;分頻系數(shù)C0取106;計(jì)數(shù)時(shí)鐘頻率f0為1MHz;FPGA邏輯單元的使用比例為41%;測(cè)量的頻率范圍是1Hz<fx<16MHz;測(cè)量誤差小于10-5。
  
  結(jié)語(yǔ)
  
  本文設(shè)計(jì)的同步測(cè)周期計(jì)數(shù)器能夠直接對(duì)被測(cè)信號(hào)進(jìn)行連續(xù)的測(cè)周期計(jì)數(shù),可以在許多頻率測(cè)量的設(shè)計(jì)中取代門(mén)控計(jì)數(shù)器,使設(shè)計(jì)更加靈活。文中采用兩個(gè)同步測(cè)周期計(jì)數(shù)器設(shè)計(jì)的數(shù)字頻率計(jì),無(wú)需選擇量程便可實(shí)現(xiàn)寬頻段高精度的頻率測(cè)量,并在FPGA中實(shí)現(xiàn)了系統(tǒng)集成。

免責(zé)聲明

  • 凡本網(wǎng)注明“來(lái)源:儀表網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-儀表網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來(lái)源:儀表網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源(非儀表網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或和對(duì)其真實(shí)性負(fù)責(zé),不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
  • 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
聯(lián)系我們

客服熱線(xiàn): 15267989561

加盟熱線(xiàn): 15267989561

媒體合作: 0571-87759945

投訴熱線(xiàn): 0571-87759942

關(guān)注我們
  • 下載儀表站APP

  • Ybzhan手機(jī)版

  • Ybzhan公眾號(hào)

  • Ybzhan小程序

企業(yè)未開(kāi)通此功能
詳詢(xún)客服 : 0571-87759942