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

?

基于單片機與FPGA的等精度頻率計設計

2015-02-02 01:20張國勤
兵器裝備工程學報 2015年12期

張國勤

(四川機電職業(yè)技術學院,四川 攀枝花 617000)

基于單片機與FPGA的等精度頻率計設計

張國勤

(四川機電職業(yè)技術學院,四川 攀枝花617000)

摘要:利用準等精度測頻原理,提出了一種基于單片機與FPGA的等精度頻率計設計方案。該頻率計的測頻范圍可達1Hz~40MHz,測量范圍內頻率測量的精度達到10-7。

關鍵詞:單片機與FPGA;等精度測頻;頻率計

本文引用格式:張國勤.基于單片機與FPGA的等精度頻率計設計[J].四川兵工學報,2015(12):85-88.

Citation format:ZHANG Guo-qin.Design of Equal Precision Frequency Meter with MCU and FPGA[J].Journal of Sichuan Ordnance,2015(12):85-88.

Design of Equal Precision Frequency Meter with MCU and FPGA

ZHANG Guo-qin

(Sichuan Electromechanical Institute of Vocation and Technology, Panzhihua 617000, China)

Abstract:This paper introduced the equal precision frequency measuring principle and put forward design scheme of the equal precision frequency meter based on MCU and FPGA.Its test frequency range is between 1 Hz~40 MHz, and the frequency meter is 10-7within the scope of its measurement precision.

Key words:MCU and FPGA; frequency measurement with equal-precision;frequency meter

頻率是指周期性信號在單位時間(1 s)內的變化次數(shù)。頻率檢測是電子測量領域的最基本測量之一,在工作及生產中有著重要的作用[1-3]。在自動檢測系統(tǒng)中,人們常把壓力、轉速、振動等信號轉換為頻率信號進行測量,因而頻率檢測的精確度也就成了影響檢測結果準確度的一個重要因素[4-5]。介紹了一種采用單片機與FPGA相結合的準等精度測頻電路,從而能夠以較低的成本來實現(xiàn)頻率的高精度測量。

1影響測頻精度的因素

一般常見的影響測頻精度的因素主要有2個方面,一方面是脈沖信號的形狀,另一方面就是測頻方法的選用。在自動檢測中,為了得到比較理想的脈沖形狀,要注意傳感器的初始安裝位置,另外通常也會在信號的輸入端加入脈沖放大整形電路,從而使脈沖的形狀符合要求。而在測頻方式方法上,伴隨著電子技術軟、硬件技術的發(fā)展,在現(xiàn)代測頻技術中應用最多的是電子計數(shù)法。

電子計數(shù)法就是采用電子計數(shù)器對一個周期信號在單位時間內重復變化的次數(shù)進行計數(shù),從而得到信號的頻率值。此方法的測量精度主要取決于基準時間和計數(shù)的量化誤差。電子計數(shù)法中較典型的測頻方法有M法(脈沖數(shù)定時測頻法)測頻、T法(脈沖周期測頻法)測頻。

M法測頻是在確定時間tc內記錄待測脈沖個數(shù)m,然后用所得的脈沖數(shù)m除以測量時間tc,就可得到頻率f。M法測頻適合于頻率較高的場合,影響其測量精度的因素主要是所記錄的脈沖個數(shù)m和tc的大小。例如,若脈沖的頻率f=10 000 Hz,tc=1 s時,此時的測量精度可達0.01%左右;而當頻率較低時,若脈沖的頻率f=100 Hz,tc仍為1 s時,此時的測量精度就降低到1%左右了。另外tc的長短也會影響測量精度。雖然tc取得較長時,測量精度較高,但不能反映被測量(如轉速)的瞬時變化,不適合動態(tài)測量。tc也不能取得太小,太小會導致在tc時間段內得到的脈沖數(shù)太少,從而使測量精度降低。

T法測頻則是在待測信號的一個周期Tx內,記錄標準頻率信號變化次數(shù)n,然后用n除以Tx得到頻率f。T法測頻適合于頻率較低的場合。例如,若脈沖的頻率f=10 Hz,標準頻率信號的頻率為fs=10 kHz時,測量精度可達0.1%左右;但當頻率較高時,若脈沖的頻率f=1 000 Hz,標準頻率信號的頻率fs仍為10 kHz,測量精度則會降低至10%左右。

由以上分析可見,不管是M法測頻或T法測頻都無法使頻率信號在整個測量范圍內得到一個同樣的精度。其精度會隨著輸入頻率的高低不同而發(fā)生變化。要想不論被測信號頻率高低,測頻精度始終保持不變,通常需采用多周期同步測頻法。

2多周期同步測頻法的原理

多周期同步測頻是指由被測信號控制門控信號的開啟,在被測信號的多個時間周期內測量信號頻率。其原理波形圖如圖1所示。

圖1 多周期同步法測頻原理波形

由圖1可看出,這里所介紹的多周期同步測頻只是對被測信號同步,對標準時鐘信號并不同步,因此這只是一種準同步。但由于閘門時間與被測信號同步,因此就消除了對被測信號計數(shù)產生的±1個字誤差,使測頻精度與待測信號的頻率無關,從而可以實現(xiàn)在整個測頻范圍內的等精度測量。設在閘門時間T內,被測信號被計數(shù)為N個脈沖,標準時鐘脈沖被計數(shù)為M個脈沖,那么被測信號的頻率則為

(1)

由式(1)可知影響被測信號頻率fx精確度的因素有N,M, fs3個變量,即

由于門控信號由被測信號開啟,故對被測信號在T內的計數(shù)不會產生誤差,故dN=0,由式(2)可推出

(3)

在式(3)中dM為閘門打開時,由于標準時鐘與閘門時鐘不同步,從而造成計數(shù)器對標準時鐘計數(shù)會產生誤差,其最大誤差為±1,即dM=±1。由于M=T·fs,則式(3)可變?yōu)?/p>

(4)

3基于單片機和FPGA的頻率測量系統(tǒng)

基于多周期同步測頻原理可知,提高fs或增大T可以提高測量精度。如果只選用單片機來設計多周期同步測頻電路,以最常用的MCS—51系列的單片機為例,定時器和計數(shù)器的時間基準是其機器周期,而其機器周期的長短受單片機的晶振頻率影響,目前常用的單片機晶振頻率為12 MHz或24 MHz,由此產生的標準時鐘頻率fs只能是1 MHz或2 MHz,在這種標準時鐘頻率下,使用只是基于對被測信號同步,而與標準時鐘不同步的多周期準同步測頻,不太可能使頻率測量準確度達到10-7。為了獲得100 MHz的標準信號,可采用大規(guī)模的可編程邏輯器件(如CPLD和FPGA)和EDA技術來設計,從而具有設計效率高,設計系統(tǒng)體積小、功耗低、工作可靠等特點,但在沒有IP核的情況下,用FPGA來完成32位除法運算是相當難且占資源的。綜合各種因素考慮,故決定采用由單片機和FPGA來實現(xiàn)多周期測頻電路。其中單片機采用89C51,通過軟件編程實現(xiàn)兩組32位二進制數(shù)的乘除運算,并將結果送輸出口驅動8位數(shù)碼管顯示;而由FPGA內部硬件設計電路來完成對被測信號頻率和標準信號頻率的計數(shù)?;趩纹瑱C與FPGA的頻率測量系統(tǒng)框圖如圖2所示。

圖2 基于單片機與FPGA的頻率測量系統(tǒng)框圖

3.1 FPGA硬件程序設計

FPGA硬件設計電路如圖3所示,電路含有一個鎖相環(huán)、一個秒信號發(fā)生器、一個D觸發(fā)器、兩個32位計數(shù)器和一個8選一的數(shù)據(jù)選擇器。鎖相環(huán)(MYPLL)是利用FPGA內部提供的PLL,通過設置相應參數(shù)將晶體振蕩器產生的40 MHz時鐘信號變?yōu)?00 MHz時鐘信號輸出,由它給計時和計數(shù)電路提供標準時鐘信號。秒信號發(fā)生器(second signal功能塊)用來產生一個1 s的持續(xù)脈沖來作為預置門信號T。D觸發(fā)器作為同步門使用,保證門控時間與被測信號同步。兩個32位計數(shù)器分別完成對被測信號與標準時鐘信號的計數(shù)。8選一數(shù)據(jù)選擇器在單片機的控制下,完成對兩個計數(shù)器數(shù)值的分時傳送。電路中的清零信號(clr)、數(shù)據(jù)選擇器的地址信號sel[2..0]均由單片機給出。等門控時間T(1 s)結束,F(xiàn)PGA通過信號int0的下降沿通知單片機讀取計數(shù)器數(shù)值。

圖3 FPGA內部程序設計框圖

在本設計中預置門的時間由FPGA內部的秒信號發(fā)生器來產生。這是因為用單片機來完成高精度定時時,要對定時時間準確估算,這樣就要考慮程序運行時間及定時器設置時間,稍不小心會導致門控時間T出現(xiàn)誤差,從而影響測量精度。故在此采用FPGA的硬件模塊定時,既方便且高效準確。同時這樣的結構安排也可以讓單片機的程序更簡單易行。

3.2 單片機電路設計

單片機外圍電路設計如圖4所示,單片機的P3.5腳用做數(shù)據(jù)采集中斷口,F(xiàn)PGA在門控時間T內計數(shù)完畢,向單片機發(fā)出中斷請求。單片機的P0口用做計數(shù)器數(shù)據(jù)輸入口,要讀入8組數(shù)據(jù),數(shù)據(jù)的地址由P2.2~P2.0口給出到FPGA的sel[2..0]管腳上,F(xiàn)PGA的清零復位信號(clr)由單片機的 P3.6給出。P1口用做七段顯示字碼輸出,P2.6~P2.4口用作八位顯示器位碼輸出口。

圖4 單片機電路硬件原理

3.3 單片機程序設計

單片機在此系統(tǒng)中的作用是對FPGA進行清零及在收到中斷信號后對輸入P0口進行讀數(shù),完成運算,并將結果送P1口驅動8位LED數(shù)碼管進行顯示。其主程序流程圖如圖5所示。圖6為中斷讀數(shù)子程序。

圖5 主程序流程

圖6 INT0中斷子程序流程

4結論

采用晶振為12 MHz的AT89C51與Altera公司的Cyclone系列的EP1C12Q240C8的FPGA芯片來進行組裝調試,其最高檢測頻率可達40 MHz,最低檢測頻率為1 Hz。在整個測試頻率范圍內其測量精度為10-7。采用Cyclone系列的FPGA可利用其內部所帶的鎖相環(huán)將標準信號的頻率提高到100 MHz,從而提高測頻精度,但由于FPGA具有易失性,因而需為系統(tǒng)設計配置電路,對其進行上電自動加載。這樣印制板電路會較復雜些,若想讓印制板電路簡單些,可以選用CPLD來實現(xiàn),譬如Altera公司的MAX Ⅱ系列。

參考文獻:

[1]曾繁泰.可編程器件應用導論[M].北京:清華大學出版社,2001.

[2]龔江濤.EDA技術應用[M].北京:高等教育出版社,2012.

[3]賈立新.電子系統(tǒng)設計與實踐[M].北京:清華大學版社,2007.

[4]侯伯亨.VHDL硬件描述語言與數(shù)字邏輯電路設計[M].西安:西安電子科技大學出版社,2004.

[5]吳繼華.Altera FPGA/CPLD設計[M].北京:人民郵電出版社,2009.(責任編輯楊繼森)

【信息科學與控制工程】

中圖分類號:TP391

文獻標識碼:A

文章編號:1006-0707(2015)12-0085-04

doi:10.11809/scbgxb2015.12.021

作者簡介:張國勤(1970—),女,碩士,講師,主要從事自動檢測及電子電路仿真與設計研究。

收稿日期:2015-06-25

乐东| 印江| 五莲县| 沙湾县| 南皮县| 耒阳市| 普格县| 桂林市| 平湖市| 阿城市| 沧源| 垣曲县| 汾西县| 阿鲁科尔沁旗| 延长县| 行唐县| 大连市| 大宁县| 石河子市| 宜君县| 眉山市| 公安县| 泰顺县| 孟村| 曲阜市| 淮北市| 铜川市| 巢湖市| 杂多县| 甘孜县| 奉新县| 工布江达县| 湖南省| 黔西县| 固镇县| 揭阳市| 靖远县| 乌海市| 安平县| 基隆市| 蓝田县|