《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 遙測噪聲數(shù)據(jù)無損壓縮關(guān)鍵技術(shù)實現(xiàn)
遙測噪聲數(shù)據(jù)無損壓縮關(guān)鍵技術(shù)實現(xiàn)
2014年電子技術(shù)應用第10期
崔海波1,2,梁 庭1,2,景俊英1,2,曹翱翔1,2
1.中北大學 儀器科學與動態(tài)測試教育部重點實驗室,山西 太原030051; 2.電子測試技術(shù)重點實驗室,山西 太原030051
摘要: 提出了采用DSP+FPGA架構(gòu)搭建硬件平臺,通過ARC算法實現(xiàn)對多路噪聲數(shù)據(jù)無損壓縮的設計方法。對設計中關(guān)鍵技術(shù)(如模/數(shù)轉(zhuǎn)換、數(shù)據(jù)緩沖設計和DSP程序設計)作了詳細的說明。
關(guān)鍵詞: ARC算法 DSP+FPGA 無損壓縮
中圖分類號: TP274
文獻標識碼: A
文章編號: 0258-7998(2014)10-0076-03
Key technologies of telemetry noise data lossless compression
Cui Haibo1,2,Liang Ting1,2,Jing Junying1,2,Cao Aoxiang1,2
1.Key Laboratory of Instrumentation Science & Dynamic Measurement,Ministry of Education,North University of China,Taiyuan 030051,China;2.Education Science and Technology on Electronic Test & Measurement Laboratory,Taiyuan 030051,China
Abstract: A method to lossless compress multi-channel noise data is proposed by using DSP+FPGA architecture and ARC algorithm. Detailed explanations of the key technologies such as analog to digital conversion, the design of data buffer and how program run in DSP are given. Using a test platform to verify the performance of this design, the results show that the consequent of noise data compression is obviously, the reduction of noise signal is perfect. Thus it realizes lossless compression of noise data and can well meet the needs of the telemetry system.
Key words : ARC algorithm;DSP+FPGA;lossless compress

0 引言

    飛行器的工作狀態(tài)參數(shù)和環(huán)境參數(shù)主要通過無線遙測和回收遙測獲得,是評定飛行器性能和分析飛行器故障的依據(jù)[1]。隨著航天技術(shù)的發(fā)展,飛行器內(nèi)部的工作參數(shù)越發(fā)復雜,遙測數(shù)據(jù)的信息量越來越大,遙測系統(tǒng)現(xiàn)有的存儲能力和信道帶寬已經(jīng)很難滿足如此大數(shù)據(jù)量的存儲、傳輸要求??紤]到技術(shù)、成本等條件的限制,一味增加信道帶寬和存儲器的容量是不現(xiàn)實的。目前,數(shù)據(jù)壓縮技術(shù)被廣泛應用于遙測系統(tǒng)[2]。根據(jù)遙測數(shù)據(jù)的特點,采用合適的算法對大數(shù)據(jù)量的遙測數(shù)據(jù)進行編碼壓縮,不僅減輕了遙測系統(tǒng)數(shù)據(jù)存儲的壓力,也降低了對信道帶寬的要求,提高了通信效率。

    遙測噪聲信號的頻率和幅度變化很大且無規(guī)則,信號的相關(guān)性差,為反映信號的完整特性,需要較高的采樣頻率,這樣就會產(chǎn)生很大的數(shù)據(jù)量。為有效地完成對噪聲信號的測量,這里采用ARC(算術(shù)編碼)算法對噪聲數(shù)據(jù)進行無損壓縮,以DSP+FPGA為硬件平臺[3],充分利用FPGA高速、并行的特性和DSP在算法實現(xiàn)上的優(yōu)勢,很好地實現(xiàn)了對遙測噪聲數(shù)據(jù)的實時、無損壓縮。

1 系統(tǒng)設計

    系統(tǒng)整體設計框圖如圖1所示,由噪聲傳感器采集的噪聲信號經(jīng)調(diào)理電路濾波、放大后,進行A/D轉(zhuǎn)換得到量化噪聲數(shù)據(jù);FPGA將噪聲數(shù)據(jù)寫入內(nèi)部8 KB FIFO,直到FIFO達到半滿[4],DSP才會讀取噪聲數(shù)據(jù)進行算術(shù)編碼;編碼壓縮后的噪聲數(shù)據(jù)先是被DSP緩存至SDRAM,然后通過McBSP串口發(fā)送到FPGA,F(xiàn)PGA通過內(nèi)建的4 KB FIFO對接收的壓縮數(shù)據(jù)進行緩沖;422通信控制模塊會接收讀數(shù)命令并在4 KB FIFO達到半滿時按照HDLC協(xié)議的要求將壓縮數(shù)據(jù)傳輸?shù)酵獠吭O備進行存儲、傳輸和分析等操作。

ck3-t1.gif

2 數(shù)模轉(zhuǎn)換電路設計

    噪聲信號的模數(shù)轉(zhuǎn)換采用TI公司的ADS8365芯片實現(xiàn)。它是16位6通道并行A/D,最高采樣率可達250 kS/s,完全滿足對4路噪聲信號進行27 kHz采樣的要求。

    ADS8365的6個模擬輸入通道可分為3組,分別為A、B和C組[5]。每組都有一個保持信號(分別為HOLDA、HOLDB和HOLDC),用于啟動各組的A/D轉(zhuǎn)換。6個通道可以進行同步并行采樣和轉(zhuǎn)換。當ADS8365的HOLDX保持20 ns的低電平后開始轉(zhuǎn)換。當轉(zhuǎn)換結(jié)果被存入輸出寄存器后,引腳EOC的輸出將保持半個時鐘周期的低電平,以提示FPGA進行轉(zhuǎn)換結(jié)果的接收,F(xiàn)PGA通過置RD和CS為低電平使數(shù)據(jù)通過并行輸出總線讀出。

    ADS8365的數(shù)據(jù)的讀出模式有3種,分別是:直接地址讀取、FIFO讀取、循環(huán)讀取,是由地址/模式信號A0、A1和A2來選擇的[6]。本系統(tǒng)FPGA將數(shù)據(jù)讀出配置為FIFO讀取模式。A/D轉(zhuǎn)換電路如圖2所示。

ck3-t2.gif

3 FPGA與DSP通信設計

    FPGA控制ADS8365完成對4路噪聲信號的A/D轉(zhuǎn)換,各路量化數(shù)據(jù)加入通道標志后依次寫入FPGA內(nèi)部FIFO。當FIFO達到半滿后,通知DSP讀取2 048 B數(shù)據(jù)進行編碼,編碼時間最長為40 ms,平均20 ms。DSP在編碼過程中不能與FPGA進行數(shù)據(jù)通信,F(xiàn)PGA要對由A/D產(chǎn)生的量化數(shù)據(jù)進行緩存。按最長耗時40 ms計算,每路27 kHz的采樣率會產(chǎn)生為4.32 K個采樣點。采用16位FIFO,則FIFO的深度應大于4 320,這里為增加可靠性,設計FIFO深度為8 192。

    FPGA內(nèi)部FIFO由Block RAM構(gòu)建,其與DSP EMIF接口的連接如圖3所示。

ck3-t3.gif

    噪聲數(shù)據(jù)經(jīng)DSP壓縮后可以通過并行EMIF總線傳輸至FPGA。但為降低數(shù)據(jù)傳輸誤碼率,提高系統(tǒng)穩(wěn)定性,本設計采用DSP的McBSP0串口將壓縮后的數(shù)據(jù)以串行數(shù)據(jù)流的方式傳送至FPGA。McBSP0傳輸單元的大小設置為48 bit,包括4 bit起始位、32位數(shù)據(jù)位和12 bit停止位。FPGA將串行接收的壓縮數(shù)據(jù)轉(zhuǎn)換成8 bit并行數(shù)據(jù)并將其寫入到內(nèi)部4 KB FIFO中。FPGA通過422接口與外部設備通信,在接收到讀數(shù)命令后判斷4 KB FIFO是否達到半滿。如果FIFO達到半滿,就讀取FIFO中的數(shù)據(jù),并進行HDLC協(xié)議編碼和幀格式編碼后發(fā)送出去;否則采用填充幀技術(shù),將預先定義好的一組固定幀結(jié)構(gòu)數(shù)據(jù)發(fā)送給外部設備。

4 DSP程序設計

    基于C語言的各種常見壓縮算法的開發(fā)都已很成熟,ARC算法的源程序也容易調(diào)研,算法的具體實現(xiàn)過程在此不再贅述。本設計將ARC源程序移植到DSP中實現(xiàn)算法的壓縮功能,DSP上電啟動或者復位后,從 Flash中加載程序,進入主函數(shù)main()完成外部FIFO數(shù)據(jù)讀入、啟動ARC壓縮,讀寫SDRAM和數(shù)據(jù)輸出等工作工作。程序流程如圖4所示。

ck3-t4.gif

    當DSP檢測到外部8 KB FIFO半滿信號后會讀取2 048 B噪聲數(shù)據(jù)到內(nèi)部4個緩存中,由于4路噪聲信號采樣時僅相差一個采樣點,故各路噪聲數(shù)據(jù)相差一個字節(jié)。DSP內(nèi)4路噪聲數(shù)據(jù)對應的緩存幾乎同時達到2 048 B, DSP需要同時對4路噪聲數(shù)據(jù)進行編碼,這會使DSP長時間處于繁忙狀態(tài)而不能進行采樣數(shù)據(jù)的讀入和壓縮數(shù)據(jù)的輸出,容易引起FPGA內(nèi)部8 KB FIFO溢出和4 KB FIFO的讀空。如果采用中斷方式打斷壓縮進程、讀入量化數(shù)據(jù)和輸出壓縮數(shù)據(jù),則可能造成DSP內(nèi)數(shù)據(jù)量過大,超出DSP片內(nèi)RAM容量。這里將DSP內(nèi)的4個緩存預設初值分別設為1 536 B、1 024 B、512 B和0 B,DSP每次從FPGA內(nèi)部FIFO中讀取2 048 B數(shù)據(jù),則DSP內(nèi)每個緩存增加512 B。DAP第一次讀取FIFO,第一路噪聲數(shù)據(jù)對應的緩存達到2 048 B,進行編碼、輸出后,該緩存數(shù)據(jù)量變?yōu)?。此時,4路緩存中的字節(jié)數(shù)變?yōu)?、1 536、1 024和512。DSP第二次讀取FIFO后,第2路數(shù)據(jù)緩存達到2 048 B,完成對第二路噪聲數(shù)據(jù)的編碼、傳輸。如此循環(huán)執(zhí)行,實現(xiàn)每次只對一路噪聲數(shù)據(jù)進行處理,保證了數(shù)據(jù)的連續(xù)均勻流動。

5 測試驗證與分析

    采用測試系統(tǒng)對設計的噪聲壓縮裝置的性能進行了驗證,測試系統(tǒng)的測試臺向噪聲壓縮裝置提供4路信號來模擬噪聲傳感器的輸入,噪聲壓縮裝置對輸入信號完成壓縮后將數(shù)據(jù)回傳給測試臺并由測試臺將壓縮數(shù)據(jù)上傳至上位機。上位機對壓縮數(shù)據(jù)先進行數(shù)據(jù)結(jié)構(gòu)分析,如果數(shù)據(jù)結(jié)構(gòu)正確,就按照HDLC協(xié)議將數(shù)據(jù)解碼并去除填充數(shù)據(jù)和幀標識。之后根據(jù)ARC算法將噪聲數(shù)據(jù)解壓還原并分離得到各路噪聲原始數(shù)據(jù),上位機對各路噪聲原始數(shù)據(jù)進行處理,還原出各路信號的原始波形。

    給噪聲無損壓縮裝置的噪聲信號輸入接口輸入信號,其中第1路為幅值2 V、頻率25 Hz的正弦波,第2路為幅值3 V、頻率25 Hz的正弦波,第3路為幅值2 V、頻率50 Hz的正弦波,第4路為幅值2 V、頻率25 Hz的矩形波。測試結(jié)果如圖5~圖8所示。

ck3-t5.gif

ck3-t6.gif

ck3-t7.gif

ck3-t8.gif

    從測試結(jié)果可以看出,同一種信號幅值、頻率不同,它們的壓縮去除率會存在差異;幅值、頻率相同,不同種類信號的壓縮去除率也會不同。對標準信號源,該壓縮裝置的壓縮去除率接近90%。圖9為噪聲壓縮裝置對實際噪聲信號壓縮后由上位機還原得到的波形,可以看出該壓縮裝置對實際噪聲信號的壓縮去除率能達到50%以上。

ck3-t9.gif

6 結(jié)論

    數(shù)據(jù)壓縮技術(shù)在遙測系統(tǒng)中對包括噪聲信號在內(nèi)的速變參數(shù)的處理已經(jīng)很常見,本文設計的系統(tǒng)以FPGA+DSP為硬件核心,其中,F(xiàn)PGA主要完成對模/數(shù)轉(zhuǎn)換和數(shù)據(jù)通信的控制,噪聲數(shù)據(jù)的編碼無損壓縮則是在DSP中實現(xiàn)的。同時,采用不同信號對設計的噪聲壓縮裝置進行了測試,得到了理想的效果。本文提出的設計思路對其他類型數(shù)據(jù)的壓縮也有一定的借鑒意義。

參考文獻

[1] 謝紅衛(wèi),張明.航天測控系統(tǒng)[M].長沙:國防科技大學出版社,2000.

[2] 劉文怡.遙測速變數(shù)據(jù)無損壓縮時空性能優(yōu)化設計與應用[D].太原:中北大學,2009.

[3] 冷佳鵬,劉文怡.一種遙測數(shù)據(jù)實時壓縮系統(tǒng)[J].電子技術(shù)應用,2013,39(4):72-74.

[4] 孟楠,楊巖飛,劉文怡.遙測速變數(shù)據(jù)實時無損壓縮技術(shù)研究[J].科學技術(shù)與工程,2013,13(33):9983-9986.

[5] 張峰,趙慧昌,石現(xiàn)峰.便攜式多通道振動信號分析儀數(shù)采模塊設計[J].自動化與儀表,2014(1):15-18.

[6] 康偉,路秀芬,詹哲軍.基于ADS8365的高速同步數(shù)據(jù)采集系統(tǒng)[J].電腦開發(fā)與應用,2009,22(4):48-51.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。