基於FPGA的脈衝信號參數測量方法及系統與流程
2023-10-09 19:13:14 1

本發明涉及一種信號相關參數的測量方法,具體為一種基於fpga的脈衝信號參數測量方法及系統。
背景技術:
對於信號的測量,頻率和佔空比是需要測量的最基本參數。在傳統的電子測量儀器中,示波器在對脈衝信號進行頻率參數測量時,測量精度較低,誤差較大。頻譜儀可以準確的測量脈衝信號的頻率並顯示被測脈衝信號的頻譜,但測量速度較慢,無法實時快速的跟蹤捕捉到被測脈衝信號頻率的變化。正是由於脈衝信號參數測量儀能夠快速準確的捕捉到被測脈衝信號的頻率、佔空比等參數的變化,具有測量精度高、速度快、操作簡便、數字顯示等特點,所以得到廣泛地應用。許多物理量,例如溫度、壓力、流量、液位、ph值、振動、位移、速度等,都可以通過傳感器轉換成信號的頻率以及佔空比等參數,再用脈衝信號參數測量儀來測量。尤其是將脈衝信號參數測量儀與微處理器(fpga,dsp,單片機)相結合,可實現測量儀器的多功能化、程控化和智能化。如果產品變得低功耗且可便攜,將會有很大的市場經濟需求。
在傳統的生產製造企業中,脈衝信號參數測量儀被廣泛的應用在對生產線的生產測試中其能夠快速的捕捉到晶體振蕩器輸出頻率的變化,用戶通過使用脈衝信號參數測量儀能夠迅速的發現有故障的晶振產品,確保產品質量。在計量實驗室中,脈衝信號參數測量儀被用來對各種電子測量設備的本地振蕩器進行校準。在無線通訊測試中,脈衝信號參數測量儀既可以被用來對無線通訊基站的主時鐘進行校準,還可以被用來對無線電臺的跳頻信號和頻率調製信號進行分析。
然而,目前這種功能比較齊全,測量精度較高的測量儀器大多是臺式的,而在可攜式的測量儀器方面,不是功能沒有臺式的那麼完善,就是測量的精度遠沒有臺式的高。如何既滿足測量的便攜性要求,又能有較齊全的功能和較高的精度,需要比較完善的設計方案。
大部分現有技術都是基於單片機來設計脈衝信號參數測量儀,如:
吳雲靖,董恩生,龐宇,等.基於單片機的可攜式脈衝信號參數測試儀[j].國外電子測量技術,2009,28(12):47-50.;
劉竹琴,白澤生.一種基於單片機的數字頻率計的實現[j].現代電子技術,2010,33(1):90-92.;
受制於單片機本身較低的主頻,測量結果的精度不足,且很難測量高達2mhz的脈衝信號,一般為幾十khz。而本作品採用的是單片機+fpga晶片,通過fpga晶片的計算來測量脈衝信號的參數,單片機只是用來做顯示控制,這種方案雖然成本上稍微高些,但是測量精度較高,且可以測量mhz頻段的脈衝信號參數。
也有部分技術基於fpga設計脈衝信號參數測量儀,如:
胡文靜,張國雲,劉翔,等.量程自整定高精度頻率測量的fpga實現[j].電子技術應用,2012(1):73-76.
李莉,熊晶.基於cpld和單片機的等精度數字頻率計設計[j].現代電子技術,2015(10):118-120.
屈寶鵬,張喜鳳,李想.基於vhdl的高精度數字頻率計的設計與實現[j].現代電子技術,2013(18):144-147.
但是有些只是在開發板上進行了測試,給出了系統後仿真波形;有些只是在軟體上做了仿真,如cpld部分的仿真使用max+plusⅱ軟體,單片機部分的仿真使用protues軟體,或者在quartusⅱ9.0軟體開發環境下進行了仿真。他們都未做出最後的實物,可以將測量得到的脈衝信號參數顯示在液晶屏上。
技術實現要素:
本發明旨在克服現有技術的不足,本專利採用低功耗的fpga晶片作為主控晶片,可以測量脈衝信號的頻率、佔空比等參數,再通過51單片機控制的液晶顯示屏顯示出來,能夠在測量範圍和測量誤差方面都很好地滿足系統總體的設計要求,功耗低,體積小,方便攜帶;且成本較低。
本發明提供的基於fpga的脈衝信號參數測量方法,該方法採用fpga晶片作為主控晶片,利用頻率測量法或者周期測量法測量脈衝信號的基本參數,最終通過顯示器將脈衝信號參數顯示出來。
該方法的具體過程為:
步驟一,對所述fpga晶片的自帶時鐘,選擇合適的時間基準信號,即閘門時間;
步驟二,在閘門時間內對被測信號進行計數,所述計數結果即為被測脈衝信號的頻率fo
步驟三,利用計數值、時鐘周期及信號周期的關係,得到被測脈衝信號的佔空比d;
步驟四,再將所得的頻率和佔空比數值傳出到由單片機控制的液晶顯示屏的數據埠顯示出來。
所述脈衝信號的基本參數包括頻率fo和佔空比d。
所述步驟二具體為:
當所述時間基準信號為高電平時,閘門打開,頻率計開始對被測信號進行計數。
所述計數值、時鐘周期及信號周期的關係具體為:
佔空比=高電平計數*時鐘周期/信號周期*100%。
該方法通過對一函數信號發生器設置信號基本參數再與被測信號基本參數進行對比,驗證所測得的信號基本參數是否準確。
該方法還用於產生標準矩形脈衝信號,方法為:
根據基準時鐘頻率,採用鎖相環pll進行分頻得到標準矩形脈衝信號。
針對上述方法,本發明還提供基於fpga的脈衝信號參數測量系統,該系統包括fpga晶片、函數信號發生器、顯示控制器其以及顯示設備;
對所述函數信號發生器設置脈衝信號的基本參數,對所述fpga晶片的自帶時鐘,選擇合適的時間基準信號,即閘門時間,在閘門時間內對被測信號進行計數,所述計數結果即為被測脈衝信號的頻率fo;
利用計數值、時鐘周期及信號周期的關係,得到被測脈衝信號的佔空比d;通過將fpga晶片測量得到的頻率和佔空比數據與所述函數信號發生器中的設置參數進行對比,驗證測得的參數是否準確;再發送到所述顯示控制器,所述顯示控制器將所述數據在顯示設備上顯示出來。
該系統還包括示波器,所述示波器用於產生標準矩形脈衝信號。
所述fpga晶片選用altera公司cycloneiv系列的ep3c25q24c08晶片,外接50mhz有源晶振;
所述顯示設備採用12864液晶顯示模塊,所述顯示控制器為單片機;
所述fpga晶片將im標準矩形脈衝信號發送至示波器上顯示出來。
本發明採用以上技術方案與現有技術相比,具有以下技術效果:
本發明在測量信號的頻率及佔空比時,只需要fpga晶片、51單片機和12864液晶屏三個模塊即可,系統集成度高,重量輕,可以很容易地做成可攜式的信號參數測量儀。
指標要求相對一般的信號參數測量儀,在測量頻率和佔空比的性能指標上較高,測量誤差小,並可以測量頻率最大2mhz的脈衝信號。
在測量脈衝信號的佔空比時,採用高速時鐘計數,即將fpga處理單元自帶的時鐘進行倍頻後作為計數時鐘。該方案相對於不採用倍頻的方法要精度更高。另外,該方案對fpga晶片的要求較低,可以使用性能相對比較弱的fpga晶片,開發成本更低。
在標準矩形脈衝信號發生器設計方面,直接用fpga分頻,實現方法簡單,精度高,容易調試。且不需要外接諸如dds晶片這樣的信號發生電路,節約了硬體成本。
附圖說明
以下將結合附圖對本發明作進一步說明:
圖1為本發明基於fpga的脈衝信號參數測量系統示意圖;
圖2為頻率測量法原理圖;
圖3為周期測量法原理圖。
具體實施方式
本發明的實施提供一種基於fpga的脈衝信號參數測量方法及系統,為使本領域技術人員更好地理解本發明的技術方案,下面結合附圖和具體實施方式對本發明作進一步詳細描述。通過參考附圖描述的實施方式是示例性的,僅用於解釋本發明,而不能解釋為對本發明的限制。
1、本實施例關於主控晶片方案的選擇
方案一:選擇fpga作為主控晶片,fpga(field-programmablegatearray),即現場可編程門陣列,它是在pal、gal、cpld等可編程器件的基礎上發展出來的產物。它是作為專用集成電路(asic)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。以硬體描述語言(verilog或vhdl語言)所完成的電路設計,可以經過簡單的綜合與布局,快速地燒錄至fpga上進行測試,是現代ic設計驗證的技術主流。這些可編輯元件可以被用來實現一些基本的邏輯門電路(比如and、or、xor、not)或者更複雜的組合功能,比如解碼器或數學方程式。在大多數的fpga裡面,這些可編輯的元件裡也包含記憶元件,例如觸發器(flip-flop)或者其他更加完整的記憶塊。
方案二:選擇arm公司的高性能stm32系列微處理器,stm32系列微處理器有一流的外設,擁有12位的adc,4兆位/秒的uart,18兆位/秒的spi,18mhz的i/o翻轉速度,而且它的功耗比較低,在72mhz時會消耗36ma(所有外設處於工作狀態),待機時下降到2μa的功耗。另外stm32系列微處理器有優異的安全時鐘模式和帶喚醒功能的低功耗模式。總之,stm32系列微處理器是一款性能優異的微處理器,可是stm32系列微處理器的成本較高,開發程序複雜,不適合初學者使用。
綜上所述,該方案選用方案一的fpga晶片作為主控晶片。其與單片機以及顯示屏的接線情況如下表所示:
表1、fpga、單片機和顯示屏的接線示意表
2、頻率測量方案的選擇
方案一、如圖2所示的頻率測量法:在一定的時間間隔t內,對輸入的待測信號脈衝計數為n,則信號的頻率為f=n/t。這種方法適合於高頻測量,信號的頻率越高,則相對誤差越小。其原理如下圖所示。但在這種測量方法中由於閘門信號與被測信號不同步,會出現±1個被測信號脈衝個數的誤差。當被測信號頻率較低時,這種測量誤差將導致測量精度大幅下降。
利用計數值、時鐘周期及信號周期的關係,得到被測脈衝信號的佔空比d;所述脈衝信號的基本參數包括頻率fo和佔空比d。
方案二、如圖3所示的周期測量法:該方法是通過計量在被測信號一個周期內頻率為fo的標準信號的脈衝數n來測量被測信號的頻率,f=fo/n。若被測信號的周期越長(頻率越低),測得的標準信號的脈衝數n越大,則相對誤差越小。其原理如下圖所示。當頻率增大時,由於被測信號的測量周期較短,根據周期測量法的測頻原理可知其測量精度將大幅下降。
利用計數值、時鐘周期及信號周期的關係,得到被測脈衝信號的佔空比d;所述脈衝信號的基本參數包括頻率fo和佔空比d。
綜上所述,本設計在低頻測量時選擇方案二,高頻測量時選擇方案一。
3單片機控制顯示模塊的選擇
方案一:選擇數碼管作為顯示,數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極體單元(多一個小數點顯示);按能顯示多少個「8」可分為1位、2位、4位等等數碼管;按發光二極體單元連接方式分為共陽極數碼管和共陰極數碼管。數碼管成本較低,電路簡單,顯示起來也非常方便。但是數碼管只能顯示數字,使用範圍有限。
方案二:選擇1602液晶作為顯示,1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。它由若干個5x7或者5x11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形。1602液晶只能顯示兩行,且每行只有16個字符,使用範圍也是有限。
方案三:選擇12864液晶模塊作為顯示,12864液晶模塊是我們常用的液晶顯示模塊,它價格低廉,使用方便,我們只需對應它的數據手冊找到相應的引腳與單片機連接,輸入程序,就可以完美的進行顯示。它有豐富的字庫,也可以完成圖形顯示,而且只需要在寫指令時寫入相對應的地址即可。
綜上所述,該方案選用12864液晶模塊作為顯示模塊。
三、系統組成
如圖1所示,本專利採用低功耗的fpga晶片作為主控晶片,可以測量脈衝信號的頻率、佔空比等參數,再通過51單片機控制的液晶顯示屏顯示出來,能夠在測量範圍和測量誤差方面都很好地滿足系統總體的設計要求,並且同時外加了脈衝信號發生器的功能,最終製作成可攜式的信號參數測量儀。
系統結構
關鍵技術:測量脈衝信號頻率fo和脈衝信號佔空比d
利用fpga晶片內部自帶的時鐘,通過分頻時鐘、閘門控制電路和計數器的複合使用,選擇合適的時間基準信號,即閘門時間,然後在閘門時間內對被測量信號進行計數,時間基準信號為高電平時,閘門打開,頻率計開始對被測信號進行計數。計數結果即為被測脈衝信號的頻率fo。
利用高電平計數值、時鐘周期及信號周期的關係,得到被測脈衝信號的佔空比d(佔空比=高電平計數*時鐘周期/信號周期*100%)。
接著再將所得的頻率和佔空比數值傳出到由51單片機控制的液晶顯示屏12864的數據埠,顯示出被測脈衝信號的頻率fo和佔空比d。
本實施例還用於產生一個標準矩形脈衝信號
根據基準時鐘頻率50mhz,採用鎖相環(pll)進行了1/50分頻得到1mhz的標準矩形脈衝信號。
主要技術指標:
1.可測量脈衝信號頻率fo,頻率範圍為10hz~2mhz,測量誤差的絕對值不大於1%。
2.可測量脈衝信號佔空比d,測量範圍為10%~90%,測量誤差的絕對值不大於2%。
3.可提供一個標準矩形脈衝信號發生器,要求:
a)頻率fo為1mhz,誤差的絕對值不大於0.1%;
b)脈寬tw為100ns,誤差的絕對值不大於1%;
1系統硬體:
fpga主晶片選用altera公司cycloneiv系列的ep3c25q24c08晶片,串行配置器件為epcs16,外接50mhz有源晶振。
單片機主晶片選用stc89c52單片機。
液晶顯示部分採用12864液晶顯示模塊。
2軟體部分
fpga部分參考代碼:
3.系統io接口配置及連接
*fpga主機模塊的接口定義如下:
clk_1m接pin219io,diffio_t10p,(data4),(dq5t)
clk_50m接pin209clk
rise接pin238io,diffio_t1p
sin接pin232io,diffio_t5n,(data7)
tx232接pin226
io,(data5),(dq5t)
*mcs51單片機模塊的接口定義如下:
p3.0接口接dym004-fpga主機的pin226(tx232)
*12864液晶顯示模塊與dym001-mcs51主機的接口定義如下:
其中:
fpga主機模塊的pin219口可產生頻率為1mhz的標準脈衝信號,可接示波器的ch1口來驗證其正確性。
fpga主機模塊的pin232口和gnd接函數信號發生器的ttl/cmos口。函數信號發生器輸出脈衝信號,其通過fpga主機模塊測量得到的頻率和佔空比則可以在12864液晶顯示模塊上顯示出來。
函數信號發生器給脈衝信號參數測量系統提供被測脈衝信號,通過該測量系統可測量出該被測信號的頻率,佔空比等參數,然後與函數信號發生器設置的參數做對比,以此來驗證該脈衝信號測量系統測量脈衝信號參數方面的正確性,其中,可以測量最大頻率達2mhz的脈衝信號。
另外,測量系統設定埠產生的1mhz標準矩形脈衝信號可以通過示波器來驗證其信號波形是否為標準矩形,以此來驗證該脈衝信號測量系統產生標準矩形脈衝信號方面的正確性。1mhz標準矩形脈衝信號的。