下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于FPGA的船舶氣象儀數(shù)據(jù)壓縮與存儲孫 佳 王東明(山東省海洋環(huán)境監(jiān)測技術(shù)重點實驗室,山東省科學院海洋儀器儀表研究所,山東 青島 )摘 要:介紹了高性能Virtex-4 FX20 FPGA芯片在船舶氣象儀數(shù)據(jù)存儲中的應用,根據(jù)船舶氣象儀的數(shù)據(jù)特點,以Virtex-4 FX20 FPGA為核心控制器,結(jié)合LZW數(shù)據(jù)壓縮算法,編寫了數(shù)據(jù)壓縮與存儲的程序。對船舶氣象儀的數(shù)據(jù)壓縮與存儲的仿真結(jié)果表明,該芯片可以對船舶氣象儀的數(shù)據(jù)進行高速壓縮與可靠存儲。關(guān)鍵詞: FPGA;LZW;數(shù)據(jù)壓縮與存儲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 引言船舶氣象儀需要實時的、連續(xù)的測量風速、風向、溫度、相對濕度和氣壓等氣象參數(shù),同時對測量到的數(shù)據(jù)進行實時的、連續(xù)的計算與存儲,并向外發(fā)送傳輸,是艦船航海導航中必不可少的設備1。因此,船舶氣象儀是一個多傳感器
5、的綜合系統(tǒng),不僅需要測量各種氣象參數(shù),通常還要融合計程儀等外部設備的信息,并進行大量的實時數(shù)據(jù)計算,數(shù)據(jù)采集量比較大,因此數(shù)據(jù)存儲占用了大量的空間,對船舶氣象儀的數(shù)據(jù)存儲空間提出了較高的要求。本文針對船舶氣象儀的數(shù)據(jù)格式,結(jié)合高性能FPGA芯片,對船舶氣象儀的數(shù)據(jù)進行壓縮存儲。2 船舶氣象儀的數(shù)據(jù)格式船舶氣象儀的數(shù)據(jù)傳輸協(xié)議:符合RS-422串行通信標準;有效數(shù)據(jù)位8位,起始位1位,奇偶校驗位1位,停止位1位;數(shù)據(jù)更新時間為1s;數(shù)據(jù)傳輸波特率為4800bps。3 壓縮算法的選擇壓縮的理論基礎是信息論,從信息的角度來看,壓縮就是去除掉信息中的冗余,即去除掉確定的或可推知的信息,保留不確定的信息
6、,也就是用一種更接近信息本質(zhì)的描述來代替原有的冗余的描述,這個本質(zhì)的東西就是信息量2。LZW壓縮算法就是通過建立一個字符串表,用較短的代碼來表示較長的字符串來實現(xiàn)壓縮。LZW壓縮算法的基本原理是提取原始文本文件數(shù)據(jù)中的不同字符,基于這些字符創(chuàng)建一個字典,然后用字典中的字符的索引來替代原始文本文件數(shù)據(jù)中的相應字符,減少原始數(shù)據(jù)大小。LZW壓縮算法能有效利用字符出現(xiàn)頻率冗余度進行壓縮,而且字典自適應生成。因此,設計中選擇LZW壓縮算作為船舶氣象儀數(shù)據(jù)壓縮程序設計的理論基礎。4 數(shù)據(jù)壓縮算法的程序設計船舶氣象儀數(shù)據(jù)壓縮程序采用VHDL硬件描述語言編寫,具有設計靈活、易于修改、獨立于器件的設計等優(yōu)點,
7、可以使設計成果在設計人員之間進行交流和共享,減少硬件電路設計的復雜性3。船舶氣象儀數(shù)據(jù)壓縮的程序設計流程圖如圖1所示?;痦椖浚簢腋呒夹g(shù)研究與發(fā)展計劃(863)項目(2012AA)作者簡介:孫佳(1983- ),男,助理工程師,碩士,研究方向為海洋儀器儀表及自動控制;E-mail:圖1 程序設計流程圖在程序設計中,選用256Bytes字典,將輸入設為船舶氣象儀數(shù)據(jù)位的1/2,即4位,輸出為4位,“output”為是否有數(shù)據(jù)輸出標志端口,若為“0”說明沒有數(shù)據(jù)輸出,若為“1”則有數(shù)據(jù)輸出,這主要用于控制下一級的串并轉(zhuǎn)換。為了加快查找速度,設計中將字典的數(shù)據(jù)結(jié)構(gòu)
8、設計為鏈表,分為16個鏈表,凡是后綴相同的字串都加到同一鏈表中。字典總共有256項內(nèi)容,即ram(0)ram(255),每一個ram(n)由ram1(n)和ram2(n)組成,ram1(n)用于存放字串前綴old的內(nèi)容,ram2(n)用于存放鏈表下一元素的地址(即索引)。字典前16項內(nèi)容為單字符,所以它們的前綴和索引是一樣的,就沒有必要存入ram1(n),它們的ram1(n)主要用于存放本鏈表的鏈尾地址,以方便判斷查找是否到了鏈表尾端。查找過程就是先通過new1找到字串屬于16個鏈表中的哪一個鏈表,然后使用指針f沿著鏈表一個一個查找下去,看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,則把找到的索引號賦值給old;如果沒找到,即search=0,則把字串加入到字典,即把新字串連接到鏈尾,當前索引i前移一個位置,并輸出最長匹配串索引。整個程序是在一個進程中完成,每
10、當敏感信號變化一次,進程內(nèi)的語句就順序執(zhí)行一遍,這樣周而復始,實現(xiàn)數(shù)據(jù)的流水壓縮。5 數(shù)據(jù)壓縮仿真分析設計中選用Xilinx公司的Virtex-4 FX20 FPGA芯片為主控制器,綜合軟件為Xilinx公司的ISE9.14,仿真結(jié)果如圖2所示。圖2 仿真結(jié)果經(jīng)過仔細比對仿真結(jié)果發(fā)現(xiàn),輸出數(shù)據(jù)和LZW壓縮算法應有的結(jié)果相吻合,從波形中可以計算壓縮算法對這些仿真數(shù)據(jù)的壓縮比。輸入數(shù)據(jù)為60個,每個數(shù)據(jù)位長為4;輸出數(shù)據(jù)為24個,每個數(shù)據(jù)位長為4;因此得出壓縮比為(604)/(244)=2.5。LZW壓縮算法是基于字典的壓縮,字典是在壓縮過程中逐步建立的,因此字典有一個適應過程,剛開始時的壓縮效果
11、并不明顯,隨著字典的增大,字典中字符串的增多,字符串匹配會變得容易,那樣就會產(chǎn)生明顯的壓縮效果。在此處,由于仿真所用數(shù)據(jù)只有60個輸入,即30字節(jié)的數(shù)據(jù),因此壓縮比只有2.5。如果輸入數(shù)據(jù)足夠多的話,壓縮比可以達到比較理想的水平。6 數(shù)據(jù)存儲由于壓縮之后的船舶氣象儀數(shù)據(jù)是4位,寫入SD卡時采用SPI模式,即串行傳輸模式,需要進行模式轉(zhuǎn)換。在本文中采用FPGA中時鐘的4分頻作為轉(zhuǎn)換器,結(jié)合壓縮模塊中的是否有數(shù)據(jù)輸出標志“output”控制轉(zhuǎn)換的進行。從轉(zhuǎn)換器出來的數(shù)據(jù)是串行傳輸,可以直接寫入SD卡。數(shù)據(jù)經(jīng)過壓縮后存儲在SD卡中,到要用時需要解壓,解壓就是壓縮的逆過程,其流程和壓縮是一樣的,就是在解壓過程中逐步生成256個元素的字典,其數(shù)據(jù)結(jié)構(gòu)和壓縮過程完全一樣,主要的區(qū)別就是壓縮過程是在輸入流中的數(shù)據(jù)形成新串,并加入字典,而解壓過程是解壓后的數(shù)據(jù)即輸出數(shù)據(jù)形成新串。其實這在本質(zhì)上也是沒有區(qū)別的,因為壓縮數(shù)據(jù)的輸入流也就是船舶氣象儀采集的原始數(shù)據(jù)也就是解壓后得到的數(shù)據(jù)。因此,形成的字典和數(shù)據(jù)結(jié)構(gòu)完全一樣,故在此不再重復。7 結(jié)論對船舶氣象儀的數(shù)據(jù)壓縮與存儲的仿真結(jié)果表明,通過VHDL硬件描述語言,采用LZW壓縮算法可以快速實現(xiàn)船舶氣象儀的數(shù)據(jù)壓縮,并對壓縮后的數(shù)據(jù)進行可靠存儲,提高了船舶氣象儀的數(shù)據(jù)存儲空間的利用率,這對于船舶氣象儀的數(shù)據(jù)存取的便捷性具有重要的現(xiàn)實意義。參考文獻
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手車交易過戶協(xié)議范本2024
- 2024年度專項宣傳品訂制協(xié)議
- 2024年項目實施階段服務協(xié)議范本
- 天津市河北區(qū)2024-2025學年高二上學期11月期中英語試題(無答案)
- 2024專業(yè)桃苗采購及種植服務協(xié)議
- 2024商業(yè)地產(chǎn)中介服務協(xié)議樣本
- 河北省保定市順平縣2024-2025學年七年級上學期期中地理試題(含答案)
- 2024-2025學年江蘇省南京市贛榆高級中學、南京市第五中學高一上學期10月月考數(shù)學試卷(含答案)
- 2024企業(yè)培訓服務外包協(xié)議細則
- 2024年適用商鋪租賃協(xié)議綜合模板
- 2023-2024學年全國初一下生物人教版期末考試試卷(含答案解析)
- 2024年甘肅省隴南市武都區(qū)人民法院招聘18人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 2024至2030年中國自動車配件行業(yè)投資前景及策略咨詢研究報告
- 2024-2030年中國虛擬專用網(wǎng)絡(VPN)行業(yè)市場行業(yè)發(fā)展分析及發(fā)展前景研究報告
- 檢驗檢測機構(gòu)內(nèi)審員檢查表
- 2024中煤電力限公司面向中煤集團內(nèi)部招聘15人高頻難、易錯點500題模擬試題附帶答案詳解
- 統(tǒng)編版(2024新版)七年級上冊歷史第二單元 夏商周時期:奴隸制王朝的更替和向封建社會的過渡 單元復習課件
- 第13課《紀念白求恩》課件2024-2025學年統(tǒng)編版語文七年級上冊
- 食品安全的規(guī)章制度和食品操作流程
- 《義務教育體育與健康課程標準(2022年版)》解讀
- 部編版三年級上冊語文第七單元大單元教學設計
評論
0/150
提交評論