<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 多通道同步數據采集及壓縮系統

多通道同步數據采集及壓縮系統

作者: 時(shí)間:2009-09-03 來(lái)源:網(wǎng)絡(luò ) 收藏

3 CPLD部分設計
3.1 CPLD1控制部分
CPLD1控制ADS8365包括控制A/D轉換器的采樣率以及數據量化輸出模式等,同時(shí)控制CS信號可有效抑制噪聲;系統時(shí)鐘輸入為50 MHz,CPLD1對其分頻產(chǎn)生5 MHz時(shí)鐘以觸發(fā)A/D轉換器。程序通過(guò)控制A/D轉換器的HOLDX來(lái)啟動(dòng)A/D轉換;控制A/D轉換器的ADD來(lái)控制其輸出通道信息,控制A/D轉換器的ADDRESS控制其數據輸出工作模式??紤]DSP內程序算法每次判斷通道信息會(huì )增加DSP運算負擔,故設置A/D轉換無(wú)通道信息,A/D轉換器工作在CYCLE模式下,A/D轉換后的數據按通道號順序循環(huán)輸出,DSP可根據順序性直接判定數據的具體通道。圖2為CPLD1控制ADS8365電路。

CPLD1控制DSP主要包括DSP復位設置,看門(mén)狗設置,DSP控制信號與CE空間組合邏輯控制讀FIFO1等。
3.2 數據幀格式設置
CPLD1將A/D轉換后的數據不斷寫(xiě)入FIFO1,當2 048字節數據寫(xiě)入FIFO1后,CPLD添加16位的幀標志及16位的幀計數,即數據格式為:被采集數據+幀標志+幀計數。
3.3 CPLD2控制接口
接口轉換模塊的核心是CPLD,負責從輸出FIFO2中讀取數據,按照遙測系統的要求時(shí)序編碼后。通過(guò)RS-422總線(xiàn)將壓縮后的數據上傳至遙測系統。

4 DSP部分設計
4.1 DSP程序設計流程
設備上電DSP復位后,由其內部固化的自引導程序(BOOT)將存于Flash存儲器的程序和數據搬移至內部RAM中,然后DSP開(kāi)始讀取壓縮算法的應用程序,繼續運行。DSP的工作流程為:首先初始化DSP的CSL函數庫,然后初始化PLL、GPIO及相關(guān)中斷寄存器,等待中斷。
采集模塊16位數據通過(guò)總線(xiàn)不斷寫(xiě)入。FIFO1中。程序通過(guò)控制其半滿(mǎn)(HF)信號,即當數據超過(guò)半滿(mǎn)時(shí),HF信號低電平有效,將觸發(fā)一次中斷通知 DSP,DSP則進(jìn)入中斷后把2048字節的數據從輸入FIFO1中讀入到DSP所指向的SDRAM的空間中,DSP在處理完中斷的空閑時(shí)間內進(jìn)行高速壓縮。將壓縮數據與原數據相比較,若壓縮數據小于原數據,就把壓縮數據寫(xiě)入DSP的軟FIFO中,否則,就將原數據寫(xiě)入DSP的軟FIFO中。
最終,DSP把軟FIFO中得壓縮數據寫(xiě)入輸出FIFO2中,等待發(fā)送模塊將數據上傳至遙測系統。
4.2 數據壓縮算法選擇
壓縮編碼信源信息在解壓縮時(shí)能夠完全恢復,也即在壓縮和解壓縮過(guò)程中信源信息無(wú)損失,該編碼方法稱(chēng)為無(wú)損壓縮,經(jīng)常使用的無(wú)損壓縮方法有Shannon-Fano編碼,Huffman編碼,游程(Run-length)編碼,IZW (Lempel-Ziv-Welch)編碼和算術(shù)編碼(ARC)等。這里重點(diǎn)討論ARC算法和LZW算法。ARC算法的思想就像查字典。眾所周知.英文詞典的編排方式是按首字母排序,首字母相同的詞繼續按第二字母排序,以此類(lèi)推。實(shí)際應用算術(shù)編碼更巧妙。利用字符出現的概率對0~1區間分割,然后用0~1 之間的一個(gè)小數對數據編碼,原始數據越多,這個(gè)小數點(diǎn)后的位數就越多。
LZW編碼是圍繞稱(chēng)為詞典的轉換表完成的。該轉換表用來(lái)存放稱(chēng)為前綴(Prefix)的字符序列,并且為每個(gè)表項分配一個(gè)碼字(Code word),或稱(chēng)為序號,這張轉換表實(shí)際上是把8位ASCII字符集進(jìn)行擴充。增加的符號用來(lái)表示在文本或圖像中出現的可變長(cháng)度ASCII字符串。擴充后的代碼可用9~12位甚至更多的位表示。12位有4 096個(gè)不同的12位代碼,這就是說(shuō)。轉換表有4 096個(gè)表項,其中256個(gè)表項用于存放已定義的字符,剩下的3 840個(gè)表項用于存放前綴(Prefix)。LZW編碼器(軟件編碼器或硬件編碼器)通過(guò)管理該詞典完成輸入與輸出之間的轉換。LZW編碼器的輸入是字符流(Charstream),字符流是用8位ASCII字符組成的字符串,輸出是用n位(例如12位)表示的碼字流(Codestream),碼字代表單個(gè)字符或多個(gè)字符組成的字符串。LZW編碼器采用一種實(shí)用的分析(parsing)算法,稱(chēng)為貪婪分析算法(greedy parsingalgorithm)。
在貪婪分析算法中,每一次分析都要串行檢查來(lái)自字符流(Charstream)的字符串,從中分解出已識別的最長(cháng)字符串,也就是已在詞典中出現的最長(cháng)的前綴(Prefix)。用已知的前綴(Prefix)加上下一個(gè)輸入字符C也就是當前字符(Currentcharacter)作為該前綴的擴展字符,形成新的擴展字符串――綴一符串(Sning):Prefix.C。這個(gè)新的綴一符串(String)是否要加到詞典中,還要看詞典中是否存有和它相同的綴一符串(String)。
如果有,那么這個(gè)綴一符串(String)就變成前綴(Prefix),繼續輸入新的字符,否則就把這個(gè)綴一符串字符(String)寫(xiě)到詞典中生成一個(gè)新的前綴(Prefix),并給一個(gè)代碼。
一般來(lái)說(shuō),不同的壓縮算法有不同的優(yōu)缺點(diǎn)。不同算法的復雜性對空間的要求以及壓縮率也不同。這不僅依賴(lài)于壓縮方法,也與被壓縮數據的特點(diǎn)有關(guān)。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>