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

?

基于FPGA的衛(wèi)星數(shù)字頻率信號處理關鍵技術研究與實現(xiàn)

2011-09-19 08:41羅來金曾連蓀
電子設計工程 2011年14期
關鍵詞:浮點數(shù)閘門數(shù)據(jù)處理

羅來金,曾連蓀

(上海海事大學 信息工程學院,上海 200135)

近年來FPGA以其硬件并行處理的高速性和可重配置性,在電子設計中得到了大規(guī)模的應用。伴隨著制作工藝和不斷進步及IP內(nèi)核概念的出現(xiàn),F(xiàn)PGA正在從傳統(tǒng)的系統(tǒng)粘合邏輯應用轉(zhuǎn)移到系統(tǒng)核心處理應用上來。

文中分析了傳統(tǒng)頻率信號處理方法的優(yōu)缺點,采用ALTERA的Cyclone II系列FPGA完成某型衛(wèi)星陀螺組合X、Y、Z軸方向的角速和溫度傳感器發(fā)送來的頻率信號的測量與處理,并通過RS-422串口通信總線實現(xiàn)了與主控計算機的雙向通信。相比于以往采用單片機、DSP等器件實現(xiàn)數(shù)字脈沖頻率的測量及其數(shù)據(jù)處理,采用FPGA以及特定的算法來實現(xiàn)數(shù)字脈沖頻率的測量及其數(shù)據(jù)處理,后者具有高速、高穩(wěn)定度、高精度和高集成度的特點,不會出現(xiàn)程序跑飛的情況,滿足航天系統(tǒng)對頻率信號測量的特定要求。

1 頻率測量方法分析[1]

1.1 測頻法

測頻法就是在確定的時間Tw內(nèi),記錄被測信號的變化周期數(shù)(或脈沖個數(shù))Nx,則被測信號的頻率為:Fx=Nx/Tw。該種測量方法會產(chǎn)生±1的計數(shù)誤差,測試精度與計數(shù)器的記錄值Nx有關,頻率越高精度越大,因此該測量方法適用于高頻信號的測量。

1.2 測周法

測周法需要有標準的數(shù)字基準時鐘頻率Fs,在待測信號的一個周期Tx內(nèi),記錄標準信號的周期數(shù)Ns。則被測信號的頻率為:Fx=Fs/Ns。該種測量方法Ns同樣也會產(chǎn)生±1的計數(shù)誤差,測試精度與計數(shù)器的記錄值Ns及標準頻率穩(wěn)定度有關,適用于低頻信號的測量。

1.3 相檢寬帶測頻

相位檢測法利用兩個頻率之間的周期性規(guī)律來產(chǎn)生計數(shù)閘門,這種周期性規(guī)律就是兩個頻率的最小公倍數(shù)周期,如圖1所示。

圖1 相位檢測法頻率測量原理圖Fig.1 Schematic diagram of phase detection frequency measurement

理論上在這樣一個計數(shù)閘門時間段內(nèi)對標準頻率和被測頻率的計數(shù)都不會存在±1的誤差,沒有時間誤差,因此理論上精度無限高[2]。但實際上“絕對相位重合點”是不可能的,而且外加實際電路器件的延時,計數(shù)閘門也會存在相應的時間誤差,導致實際測量精度與理論有一定的差距。在此基礎上不少學者也提出并實現(xiàn)一些新的相位重合點檢測技術,精度在一定程度上得到提高,但算法復雜。

1.4 等精度測量法

等精度測量原理如下:在預置閘門信號的上升沿時不立即進行計數(shù),而是等到被測信號脈沖的上升沿到來時開始計數(shù),在閘門的下降沿到來時也不立即關閉計數(shù),而是等到被測信號的上升沿到來時停止計數(shù)。等精度測頻的原理圖如圖2所示。

圖2 等精度測量原理Fig.2 Principle of equal precision measuring

誤差分析如下:

假設待測信號頻率是Fx,標準信號頻率是Fs,在實際閘門時間TWS內(nèi)的計數(shù)值分別為Nx和Ns,則可得到下式:

所以

由于待測信號Fx的計數(shù)時間是由它本身的上升沿控制的,所以在閘門時間內(nèi)計數(shù)得到的Nx不存在誤差,而誤差產(chǎn)生只能是Ns帶來的,在TWS內(nèi)對標準信號Fs計數(shù)得到的Ns可能相差 1,即|△Ns|≤1,假設待測信號的準確值為 Fx0,則可得到下式:

所以

采用等精度法進行頻率測量可以使得測量相對誤差在6.25×10-5以內(nèi)。

2 頻率信號測量及處理系統(tǒng)

采用FPGA實現(xiàn)數(shù)字頻率信號的測量及處理的系統(tǒng)結(jié)構(gòu)如圖3所示。

圖3 系統(tǒng)框圖Fig.3 Block diagram of system

該系統(tǒng)下位機主要包括:頻率信號的測量、頻率信號的計算、數(shù)據(jù)通信、同步信號的產(chǎn)生4部分,全部在一片F(xiàn)PGA芯片上實現(xiàn)。RS-422串口通信總線采用SN75174和SN75175分別作為傳輸線驅(qū)動器和傳輸線接收器。上位機采用MOXA公司的CP-132UL型RS-422卡,用VC++6.0提供的MScomm控件編寫測試程序,實現(xiàn)了工控機和下位機的高速率雙向通信。

2.1 頻率測量模塊

該部分主要包括預置閘門時間產(chǎn)生、閘門時間同步、計數(shù)器、數(shù)據(jù)鎖存器、清零信號產(chǎn)生模塊。其中關鍵是解決時序問題,為保證計數(shù)的穩(wěn)定輸出,需要在完成計數(shù)后進行鎖存并輸出,同時計數(shù)器清零,重新開始計數(shù)。如圖4所示,在設計中利用預置閘門時間和實際閘門時間的“相位時差”完成清零信號的產(chǎn)生,產(chǎn)生必要的清零信號。

圖4 清零信號的產(chǎn)生Fig.4 Clear signals generated

2.2 數(shù)據(jù)處理模塊

數(shù)據(jù)處理是本系統(tǒng)實現(xiàn)的關鍵之一,本系統(tǒng)需要進行計算的過程比較多,主要包括多位的乘法、除法以及數(shù)值比較、定點數(shù)與32位浮點數(shù)之間的轉(zhuǎn)換、32位浮點乘法,需要實現(xiàn)的數(shù)據(jù)處理過程順序如下:

第一步:待測信號的頻率計算。

其中Fs為標準信號頻率16 MHz,Nx與Ns為計數(shù)器所得值。

第二步:頻率歸一化。

第三步:電壓值計算。

第四步:角速度值計算。

Wx要求為32位單精度浮點數(shù),由于FGGA很難實現(xiàn)小數(shù)的乘法,所以需要轉(zhuǎn)換成定點數(shù)或者浮點數(shù)乘法來實現(xiàn)[3]。在第二步和第三步之間進行定點數(shù)到32位浮點數(shù)轉(zhuǎn)換,采用32位單精度浮點數(shù)實現(xiàn)電壓值和角速度值的轉(zhuǎn)換,實現(xiàn)框圖如圖5所示。

圖5 FPGA數(shù)據(jù)處理方框圖Fig.5 Block diagram of FPGA data processing

伴隨著FPGA的發(fā)展,如今用它來實現(xiàn)定點數(shù)的乘除法是很方便,直接調(diào)用基本宏模塊提供的定點數(shù)乘除法IP核,進行相應參數(shù)的設置即可實現(xiàn)[4]。并且有的FPGA芯片還可以提供32位甚至64位的浮點數(shù)乘法器。方案使用的FPGA芯片是Altera公司提供的CycloneⅡ系列,該系列芯片提供了32位單精度的浮點數(shù)乘法器的基本宏模塊,利用其IP核及硬件乘法器可以加快產(chǎn)品的研發(fā)和提高系統(tǒng)的性能,因此在本模塊中采用了定點乘法器、定點除法器、定點數(shù)到單精度浮點數(shù)轉(zhuǎn)換等實用的IP核來解決系統(tǒng)中關鍵的運算模塊,大大提高了系統(tǒng)數(shù)據(jù)處理的性能[5]。

2.3 RS-422通信模塊

頻率信號采集系統(tǒng)需要與主控計算機進行通信,該系統(tǒng)中采用了RS-422串口通信總線。RS-422總線是一種單機發(fā)送、多機接收的單向、平衡傳輸規(guī)范,將傳輸速率提高到10 Mbit/s,克服了RS-232通信距離短、速率低的缺點,滿足航天系統(tǒng)的特定要求[6]。下位機FPGA實現(xiàn)串口通信框圖如圖6所示。

圖6 串口通信模塊Fig.6 Serial communication module

該部分主要由波特率產(chǎn)生模塊、發(fā)送與接收模塊、數(shù)據(jù)處理模塊組成。數(shù)據(jù)處理模塊完成數(shù)據(jù)發(fā)送和接收緩沖、CRC-16校驗及奇偶校驗。波特率發(fā)生模塊用于產(chǎn)生特定的時鐘信號。接收和發(fā)送模塊則完成數(shù)據(jù)的串行接收和串行發(fā)送。為了提高數(shù)據(jù)判決的準確性,采用16倍于波特率的時鐘信號對接收和發(fā)送波形進行采樣。

3 實驗結(jié)果及分析

頻率輸入信號采用標準的信號發(fā)生器產(chǎn)生,同步信號輸出用LED燈指示。如圖7所示,將FPGA燒結(jié)文件下載到實驗系統(tǒng)上。每當上位機用串口調(diào)試軟件發(fā)送88請求命令(附帶CRC-16校驗碼),F(xiàn)PGA系統(tǒng)就會以0X55作為幀頭和幀尾,發(fā)送實時采集到的4組48位數(shù)據(jù)到上位機。

圖7 串口通信調(diào)試Fig.7 Debugging of serial communication

該系統(tǒng)經(jīng)過地面衛(wèi)星測試實驗環(huán)境中的長時間實驗,表明基于FPGA的衛(wèi)星數(shù)字頻率處理系統(tǒng)工作穩(wěn)定,成功實現(xiàn)了衛(wèi)星數(shù)字頻率信號的測量、處理、通信過程。

4 結(jié) 論

采用ALTERA公司的Cyclone II系列FPGA,使用VHDL語言編寫FPGA代碼實現(xiàn)了對某型衛(wèi)星4路頻率信號測量、數(shù)據(jù)處理、通信過程,頻率測量精度達到1.562 5×10-5。相對于MCU、DSP,采用單片F(xiàn)PGA完成衛(wèi)星頻率信號的測量、處理和發(fā)送,具有低成本、低功耗、高速、高集成度、抗干擾的特點,具有無可比擬的優(yōu)勢。

隨著FPGA技術和IP核技術的發(fā)展,今后可以采用速率更高,精度更高效的算法來實現(xiàn)頻率信號的測量及處理,將SOC技術應用到現(xiàn)代電子系統(tǒng)中。

[1]National Instruments.Frequency measurements:How-to guide[EB/OL]. (2011-03-18).[2011-04-10].http://zone.ni.com/devzone/cda/tut/p/id/7111.

[2]王海,周渭,宣宗強.高精度頻率測量技術及其實現(xiàn)[J].系統(tǒng)工程與電子技術,2008,30(5):981-983.

WANG Hai, ZHOU Wei, XUAN Zong-qiang.High accuracy frequency measurement scheme and its implementation[J].Systems Engineering and Electronics,2008,30(5):981-983.

[3]Lee B,Burgess N.Parameterisable floating-point operations on FPGA[J].Conference Record of The Thirty-sixth Asilomar Conference on Signals, Systems, and Computers,2002(2):1064-1068.

[4]Altera.CycloneⅡ Device Handbook,Section 1.CycloneⅡdevice family data sheet[EB/OL].(2008-02)[2011-04-23].http://www.altera.com.cn/literature/hb/cyc2/cyc2_cii5v1_01.pdf

[5]Altera.Floating-point megafunction user guide[EB/OL].(2011-05)[2011-05-23].http://www.altera.com.cn/literature/ug/ug_altfp_mfug.pdf.

[6]丁云霞,曾連蓀.基于VC++6.0的RS-422串口通信設計[J].信息技術,2010(9):73-75.

DING Yun-xia,ZENG Lian-sun.RS-422 serial communication based on VC++6.0[J].Information Technology,2010(9):73-75.

猜你喜歡
浮點數(shù)閘門數(shù)據(jù)處理
認知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補與極大似然估計法*
ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
四種Python均勻浮點數(shù)生成方法
水利工程閘門的管理及維護措施
在C語言中雙精度浮點數(shù)線性化相等比較的研究
非精確浮點數(shù)乘法器設計
把住醫(yī)?;鹚亻l門
找準入口,打開思路的閘門
基于希爾伯特- 黃變換的去噪法在外測數(shù)據(jù)處理中的應用
我國專家發(fā)現(xiàn)藥物成癮新機制,找到“閘門”開關
剑阁县| 册亨县| 阿坝县| 光山县| 进贤县| 应用必备| 龙川县| 莒南县| 得荣县| 米泉市| 韶山市| 宁明县| 庆城县| 会昌县| 绥化市| 柳河县| 庆安县| 曲阳县| 怀仁县| 行唐县| SHOW| 沙坪坝区| 苍梧县| 始兴县| 长丰县| 厦门市| 连云港市| 遵化市| 安多县| 石台县| 贺兰县| 开江县| 安达市| 罗田县| 淳安县| 丹巴县| 阜城县| 沧州市| 兰州市| 临泽县| 绥德县|