基于FPGA的船舶氣象儀數(shù)據(jù)壓縮與存儲(chǔ)_第1頁
基于FPGA的船舶氣象儀數(shù)據(jù)壓縮與存儲(chǔ)_第2頁
基于FPGA的船舶氣象儀數(shù)據(jù)壓縮與存儲(chǔ)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于FPGA的船舶氣象儀數(shù)據(jù)壓縮與存儲(chǔ)孫 佳 王東明(山東省海洋環(huán)境監(jiān)測(cè)技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東省科學(xué)院海洋儀器儀表研究所,山東 青島 )摘 要:介紹了高性能Virtex-4 FX20 FPGA芯片在船舶氣象儀數(shù)據(jù)存儲(chǔ)中的應(yīng)用,根據(jù)船舶氣象儀的數(shù)據(jù)特點(diǎn),以Virtex-4 FX20 FPGA為核心控制器,結(jié)合LZW數(shù)據(jù)壓縮算法,編寫了數(shù)據(jù)壓縮與存儲(chǔ)的程序。對(duì)船舶氣象儀的數(shù)據(jù)壓縮與存儲(chǔ)的仿真結(jié)果表明,該芯片可以對(duì)船舶氣象儀的數(shù)據(jù)進(jìn)行高速壓縮與可靠存儲(chǔ)。關(guān)鍵詞: FPGA;LZW;數(shù)據(jù)壓縮與存儲(chǔ)Compression and Storage of Ship Meteorological Instrum

2、ents Data Based on FPGASun Jia Wang Dongming(Shandong Provincial Key Laboratory of Ocean Environment Monitoring Technology, Shandong Academy of Sciences Institute of Oceanographic Instrumentation, Qingdao , China)sAbstract: This paper introduces the applications of Virtex-4 FX20 FPGA in the storage

3、of Ship Meteorological Instruments data. According to the characteristics of Ship Meteorological Instruments data, uses Virtex-4 FX20 FPGA as the main controller, combines with LZW data compression algorithm, uses VHDL hardware description language, realizes the compression and independent storage o

4、f Ship Meteorological Instruments data. According to the result of emulator, the chip can realize high speed compression and independent storage.Key Words:FPGA; LZW; Data Compression and Storage1 引言船舶氣象儀需要實(shí)時(shí)的、連續(xù)的測(cè)量風(fēng)速、風(fēng)向、溫度、相對(duì)濕度和氣壓等氣象參數(shù),同時(shí)對(duì)測(cè)量到的數(shù)據(jù)進(jìn)行實(shí)時(shí)的、連續(xù)的計(jì)算與存儲(chǔ),并向外發(fā)送傳輸,是艦船航海導(dǎo)航中必不可少的設(shè)備1。因此,船舶氣象儀是一個(gè)多傳感器

5、的綜合系統(tǒng),不僅需要測(cè)量各種氣象參數(shù),通常還要融合計(jì)程儀等外部設(shè)備的信息,并進(jìn)行大量的實(shí)時(shí)數(shù)據(jù)計(jì)算,數(shù)據(jù)采集量比較大,因此數(shù)據(jù)存儲(chǔ)占用了大量的空間,對(duì)船舶氣象儀的數(shù)據(jù)存儲(chǔ)空間提出了較高的要求。本文針對(duì)船舶氣象儀的數(shù)據(jù)格式,結(jié)合高性能FPGA芯片,對(duì)船舶氣象儀的數(shù)據(jù)進(jìn)行壓縮存儲(chǔ)。2 船舶氣象儀的數(shù)據(jù)格式船舶氣象儀的數(shù)據(jù)傳輸協(xié)議:符合RS-422串行通信標(biāo)準(zhǔn);有效數(shù)據(jù)位8位,起始位1位,奇偶校驗(yàn)位1位,停止位1位;數(shù)據(jù)更新時(shí)間為1s;數(shù)據(jù)傳輸波特率為4800bps。3 壓縮算法的選擇壓縮的理論基礎(chǔ)是信息論,從信息的角度來看,壓縮就是去除掉信息中的冗余,即去除掉確定的或可推知的信息,保留不確定的信息

6、,也就是用一種更接近信息本質(zhì)的描述來代替原有的冗余的描述,這個(gè)本質(zhì)的東西就是信息量2。LZW壓縮算法就是通過建立一個(gè)字符串表,用較短的代碼來表示較長(zhǎng)的字符串來實(shí)現(xiàn)壓縮。LZW壓縮算法的基本原理是提取原始文本文件數(shù)據(jù)中的不同字符,基于這些字符創(chuàng)建一個(gè)字典,然后用字典中的字符的索引來替代原始文本文件數(shù)據(jù)中的相應(yīng)字符,減少原始數(shù)據(jù)大小。LZW壓縮算法能有效利用字符出現(xiàn)頻率冗余度進(jìn)行壓縮,而且字典自適應(yīng)生成。因此,設(shè)計(jì)中選擇LZW壓縮算作為船舶氣象儀數(shù)據(jù)壓縮程序設(shè)計(jì)的理論基礎(chǔ)。4 數(shù)據(jù)壓縮算法的程序設(shè)計(jì)船舶氣象儀數(shù)據(jù)壓縮程序采用VHDL硬件描述語言編寫,具有設(shè)計(jì)靈活、易于修改、獨(dú)立于器件的設(shè)計(jì)等優(yōu)點(diǎn),

7、可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間進(jìn)行交流和共享,減少硬件電路設(shè)計(jì)的復(fù)雜性3。船舶氣象儀數(shù)據(jù)壓縮的程序設(shè)計(jì)流程圖如圖1所示。基金項(xiàng)目:國(guó)家高技術(shù)研究與發(fā)展計(jì)劃(863)項(xiàng)目(2012AA)作者簡(jiǎn)介:孫佳(1983- ),男,助理工程師,碩士,研究方向?yàn)楹Q髢x器儀表及自動(dòng)控制;E-mail:圖1 程序設(shè)計(jì)流程圖在程序設(shè)計(jì)中,選用256Bytes字典,將輸入設(shè)為船舶氣象儀數(shù)據(jù)位的1/2,即4位,輸出為4位,“output”為是否有數(shù)據(jù)輸出標(biāo)志端口,若為“0”說明沒有數(shù)據(jù)輸出,若為“1”則有數(shù)據(jù)輸出,這主要用于控制下一級(jí)的串并轉(zhuǎn)換。為了加快查找速度,設(shè)計(jì)中將字典的數(shù)據(jù)結(jié)構(gòu)

8、設(shè)計(jì)為鏈表,分為16個(gè)鏈表,凡是后綴相同的字串都加到同一鏈表中。字典總共有256項(xiàng)內(nèi)容,即ram(0)ram(255),每一個(gè)ram(n)由ram1(n)和ram2(n)組成,ram1(n)用于存放字串前綴old的內(nèi)容,ram2(n)用于存放鏈表下一元素的地址(即索引)。字典前16項(xiàng)內(nèi)容為單字符,所以它們的前綴和索引是一樣的,就沒有必要存入ram1(n),它們的ram1(n)主要用于存放本鏈表的鏈尾地址,以方便判斷查找是否到了鏈表尾端。查找過程就是先通過new1找到字串屬于16個(gè)鏈表中的哪一個(gè)鏈表,然后使用指針f沿著鏈表一個(gè)一個(gè)查找下去,看old中的內(nèi)容是否和ram1(n)相匹配,一直到鏈尾。

9、查找后的操作部分也很重要,它決定了是輸出最大匹配字符的索引還是將字串加入字典,部分程序代碼如下:case search is when 1 =old=f;output ram2(f)= i; ram1(i)=old;output = 1;dout=conv_std_logic_vector(old,4);ram1(new1)=i;i=i+1;oldnull;end case;在上述程序中,若找到,即search=1,則把找到的索引號(hào)賦值給old;如果沒找到,即search=0,則把字串加入到字典,即把新字串連接到鏈尾,當(dāng)前索引i前移一個(gè)位置,并輸出最長(zhǎng)匹配串索引。整個(gè)程序是在一個(gè)進(jìn)程中完成,每

10、當(dāng)敏感信號(hào)變化一次,進(jìn)程內(nèi)的語句就順序執(zhí)行一遍,這樣周而復(fù)始,實(shí)現(xiàn)數(shù)據(jù)的流水壓縮。5 數(shù)據(jù)壓縮仿真分析設(shè)計(jì)中選用Xilinx公司的Virtex-4 FX20 FPGA芯片為主控制器,綜合軟件為Xilinx公司的ISE9.14,仿真結(jié)果如圖2所示。圖2 仿真結(jié)果經(jīng)過仔細(xì)比對(duì)仿真結(jié)果發(fā)現(xiàn),輸出數(shù)據(jù)和LZW壓縮算法應(yīng)有的結(jié)果相吻合,從波形中可以計(jì)算壓縮算法對(duì)這些仿真數(shù)據(jù)的壓縮比。輸入數(shù)據(jù)為60個(gè),每個(gè)數(shù)據(jù)位長(zhǎng)為4;輸出數(shù)據(jù)為24個(gè),每個(gè)數(shù)據(jù)位長(zhǎng)為4;因此得出壓縮比為(604)/(244)=2.5。LZW壓縮算法是基于字典的壓縮,字典是在壓縮過程中逐步建立的,因此字典有一個(gè)適應(yīng)過程,剛開始時(shí)的壓縮效果

11、并不明顯,隨著字典的增大,字典中字符串的增多,字符串匹配會(huì)變得容易,那樣就會(huì)產(chǎn)生明顯的壓縮效果。在此處,由于仿真所用數(shù)據(jù)只有60個(gè)輸入,即30字節(jié)的數(shù)據(jù),因此壓縮比只有2.5。如果輸入數(shù)據(jù)足夠多的話,壓縮比可以達(dá)到比較理想的水平。6 數(shù)據(jù)存儲(chǔ)由于壓縮之后的船舶氣象儀數(shù)據(jù)是4位,寫入SD卡時(shí)采用SPI模式,即串行傳輸模式,需要進(jìn)行模式轉(zhuǎn)換。在本文中采用FPGA中時(shí)鐘的4分頻作為轉(zhuǎn)換器,結(jié)合壓縮模塊中的是否有數(shù)據(jù)輸出標(biāo)志“output”控制轉(zhuǎn)換的進(jìn)行。從轉(zhuǎn)換器出來的數(shù)據(jù)是串行傳輸,可以直接寫入SD卡。數(shù)據(jù)經(jīng)過壓縮后存儲(chǔ)在SD卡中,到要用時(shí)需要解壓,解壓就是壓縮的逆過程,其流程和壓縮是一樣的,就是在解壓過程中逐步生成256個(gè)元素的字典,其數(shù)據(jù)結(jié)構(gòu)和壓縮過程完全一樣,主要的區(qū)別就是壓縮過程是在輸入流中的數(shù)據(jù)形成新串,并加入字典,而解壓過程是解壓后的數(shù)據(jù)即輸出數(shù)據(jù)形成新串。其實(shí)這在本質(zhì)上也是沒有區(qū)別的,因?yàn)閴嚎s數(shù)據(jù)的輸入流也就是船舶氣象儀采集的原始數(shù)據(jù)也就是解壓后得到的數(shù)據(jù)。因此,形成的字典和數(shù)據(jù)結(jié)構(gòu)完全一樣,故在此不再重復(fù)。7 結(jié)論對(duì)船舶氣象儀的數(shù)據(jù)壓縮與存儲(chǔ)的仿真結(jié)果表明,通過VHDL硬件描述語言,采用LZW壓縮算法可以快速實(shí)現(xiàn)船舶氣象儀的數(shù)據(jù)壓縮,并對(duì)壓縮后的數(shù)據(jù)進(jìn)行可靠存儲(chǔ),提高了船舶氣象儀的數(shù)據(jù)存儲(chǔ)空間的利用率,這對(duì)于船舶氣象儀的數(shù)據(jù)存取的便捷性具有重要的現(xiàn)實(shí)意義。參考文獻(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論