新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于SDR SDRAM的視頻數(shù)據(jù)邏輯分析存儲(chǔ)器設(shè)計(jì)

一種基于SDR SDRAM的視頻數(shù)據(jù)邏輯分析存儲(chǔ)器設(shè)計(jì)

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

  摘要:針對(duì)傳統(tǒng)硬件測(cè)試軟件的弊端,文章提出一種便攜式視頻數(shù)據(jù)存儲(chǔ)器的設(shè)計(jì)方法,這種分析存儲(chǔ)器能夠針對(duì)網(wǎng)絡(luò)多媒體數(shù)據(jù)進(jìn)行采集、分析和存儲(chǔ)等操作。在不影響網(wǎng)絡(luò)正常傳輸?shù)那疤嵯?,針?duì)TS流進(jìn)行采集、存儲(chǔ)和分析。由于多媒體數(shù)據(jù)網(wǎng)絡(luò)傳輸具有數(shù)據(jù)量大、網(wǎng)絡(luò)帶寬占用量大等特點(diǎn),因此設(shè)計(jì)中根據(jù)系統(tǒng)結(jié)構(gòu)需要,設(shè)計(jì) AM存儲(chǔ)器控制器,采用分層狀態(tài)機(jī)的設(shè)計(jì)模式,可以對(duì)結(jié)構(gòu)較大的網(wǎng)絡(luò)數(shù)據(jù)包或是大量高速傳輸中的數(shù)據(jù)進(jìn)行突發(fā)存儲(chǔ)操作。測(cè)試結(jié)果表明系統(tǒng)工作穩(wěn)定,數(shù)據(jù)處理速度快,精度可達(dá)納秒級(jí),滿足系統(tǒng)設(shè)計(jì)要求。

本文引用地址:http://m.butianyuan.cn/article/249783.htm

  0 引言

  在傳統(tǒng)硬件調(diào)試系統(tǒng)中,通常采用SIGNALTAPII軟件進(jìn)行數(shù)據(jù)抓取和采集,但是這種調(diào)試工具具有一定的弊端,對(duì)高速傳輸?shù)臄?shù)據(jù)中具有某種特征的整段數(shù)據(jù)需要反復(fù)觸發(fā)抓取,同時(shí)很難對(duì)采集的數(shù)據(jù)進(jìn)行實(shí)時(shí)觀測(cè)。音視頻數(shù)據(jù)是一種高速傳輸?shù)臄?shù)據(jù),具有數(shù)據(jù)量大、網(wǎng)絡(luò)帶寬占用量大等特點(diǎn)。要對(duì)這種數(shù)據(jù)進(jìn)行系統(tǒng)調(diào)試,需要系統(tǒng)能夠?qū)?shù)據(jù)進(jìn)行實(shí)時(shí)處理、采集和觀測(cè),采用SIGNALTAPII很難實(shí)現(xiàn)這一功能。同時(shí),在網(wǎng)絡(luò)音視頻數(shù)據(jù)傳輸系統(tǒng)中,接收端除了接收音視頻數(shù)據(jù)外,還會(huì)接收到網(wǎng)絡(luò)中傳輸?shù)囊恍┛刂菩畔⒌葦?shù)據(jù),這些數(shù)據(jù)對(duì)音視頻數(shù)據(jù)的分析無(wú)用,應(yīng)首先進(jìn)行識(shí)別和過(guò)濾。

  針對(duì)音視頻數(shù)據(jù)傳輸采集分析的要求,本文設(shè)計(jì)了一種具有新型結(jié)構(gòu)的音視頻數(shù)據(jù)存儲(chǔ)器,這種系統(tǒng)能夠針對(duì)具有TS數(shù)據(jù)流結(jié)構(gòu)的網(wǎng)絡(luò)多媒體數(shù)據(jù)進(jìn)行實(shí)吋的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)速率的監(jiān)控,能夠通過(guò)程序?qū)W(wǎng)絡(luò)數(shù)據(jù)包的幀頭、協(xié)議號(hào)等信息進(jìn)行分析,監(jiān)控網(wǎng)絡(luò)中音視頻數(shù)據(jù)流量,并針對(duì)這種結(jié)構(gòu)的數(shù)據(jù)包進(jìn)行存儲(chǔ)采集,導(dǎo)入SD卡,或在PC平臺(tái)上進(jìn)行實(shí)時(shí)監(jiān)控、播放或是仿真處理。

  1 視頻數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)和工作原理

  音視頻數(shù)據(jù)邏輯分析存儲(chǔ)器的結(jié)構(gòu)如圖1所示。硬件開發(fā)平臺(tái)接收到的網(wǎng)口測(cè)試數(shù)據(jù)由路由器發(fā)出,同時(shí)由某一臺(tái)PC機(jī)通過(guò)流媒體服務(wù)器向硬件開發(fā)平臺(tái)所連接的PC機(jī)發(fā)送音頻和視頻數(shù)據(jù)。流媒體服務(wù)器發(fā)送的音、視頻數(shù)據(jù)是封裝成UDP數(shù)據(jù)包的TS傳輸流。此時(shí)由MII接口與FPGA進(jìn)行通信的網(wǎng)絡(luò)數(shù)據(jù)協(xié)議類型非常豐富,例如TCP、UDP、DNS、NRP、HTTP等。不同網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包,都具有其特定的數(shù)據(jù)幀結(jié)構(gòu)。對(duì)封裝成UDP數(shù)據(jù)包的TS傳輸流的數(shù)據(jù)幀格式進(jìn)行分析,從而將其過(guò)濾出來(lái),實(shí)現(xiàn)對(duì)音視頻數(shù)據(jù)的提取、監(jiān)控以及存儲(chǔ)功能。UDP/非UDP過(guò)濾模塊實(shí)現(xiàn)TS流的分流和提取,網(wǎng)口數(shù)據(jù)速率監(jiān)控模塊可以對(duì)單位時(shí)間的數(shù)據(jù)量進(jìn)行實(shí)時(shí)監(jiān)控。

  

 

  音視頻數(shù)據(jù)經(jīng)FIFO緩存模塊、鎖存模塊后由AM驅(qū)動(dòng)模塊將數(shù)據(jù)高速地寫入存儲(chǔ)器中,驅(qū)動(dòng)模塊、接口模塊、SDRAM控制器完成數(shù)據(jù)的讀寫、緩存和封裝。經(jīng)過(guò)一段時(shí)間后,根據(jù)UDP幀長(zhǎng)度緩存模塊的輸出值將輸出數(shù)據(jù)打包成幀,轉(zhuǎn)存至SD card中,可保存、攜帶或?qū)D card中的數(shù)據(jù)導(dǎo)入PC平臺(tái),對(duì)采集到的數(shù)據(jù)進(jìn)行各種分析、仿真操作。

  2 視頻數(shù)據(jù)邏輯分析存儲(chǔ)器可編程模塊的設(shè)計(jì)

  2.1 可編程模塊的結(jié)構(gòu)和工作原理

  可編程模塊包括:UDP/非UDP過(guò)濾模塊、雙網(wǎng)口異步傳輸模塊、網(wǎng)口速率監(jiān)控模塊、輸入/輸出FIFO緩存模塊、SDRAM驅(qū)動(dòng)模塊、SDRAM接口模塊、SDRAM控制器、數(shù)據(jù)幀封裝模塊等。在可編程模塊的設(shè)計(jì)中,SDRAM控制器、輸入/輸出FIFO模塊、SDRAM驅(qū)動(dòng)模塊、SDRAM接口模塊是整個(gè)系統(tǒng)的核心處理模塊,該部分采用分層狀態(tài)機(jī)的設(shè)計(jì)模式,實(shí)現(xiàn)主狀態(tài)機(jī)與具體操作控制狀態(tài)機(jī)的分離,能有效提高讀寫操作效率,模塊設(shè)計(jì)結(jié)構(gòu)清晰,提高了系統(tǒng)設(shè)計(jì)的可讀性,也使程序具有更高的通用性。

  SDRAM控制器、輸入/輸出FIFO緩存模塊、SDRAM驅(qū)動(dòng)模塊、SDRAM接口模塊等核心模塊的設(shè)計(jì)原理如圖2所示。

  

 

  在系統(tǒng)上電后,SDRAM控制器模塊首先跳轉(zhuǎn)至初始化進(jìn)程,對(duì)SDRAM發(fā)出初始化命令,分別對(duì)SDRAM的各種參數(shù)進(jìn)行配置。初始化完畢后,SDRAM驅(qū)動(dòng)模塊開始進(jìn)行狀態(tài)跳轉(zhuǎn)判定,判定結(jié)果將使SDRAM控制器由開始的空閑狀態(tài)跳轉(zhuǎn)至其他工作狀態(tài)。在控制器第一次進(jìn)入寫狀態(tài)時(shí),SDRAM驅(qū)動(dòng)模塊對(duì)SDRAM接口模塊發(fā)送命令信號(hào),使SDRAM接口模塊的工作進(jìn)程跳轉(zhuǎn)至寫進(jìn)程。進(jìn)入寫進(jìn)程的SDRAM接口模塊向SDRAM控制器發(fā)送數(shù)據(jù)、地址和寫命令。SDRAM控制器根據(jù)接收到的命令將FIFO中緩存的數(shù)據(jù)以突發(fā)模式寫入SDRAM中。SDRAM完成寫操作后,SDRAM驅(qū)動(dòng)模塊將再一次進(jìn)行狀態(tài)跳轉(zhuǎn)判定,如此反復(fù)。在整個(gè)過(guò)程中,SDRAM驅(qū)動(dòng)模塊根據(jù)判定結(jié)果進(jìn)行狀態(tài)跳轉(zhuǎn),并發(fā)出不同的命令,SDRAM接口模塊根據(jù)接收到的命令,相應(yīng)地進(jìn)入不同的工作進(jìn)程。在不同的工作進(jìn)程中,SDRAM接口模塊對(duì)SDRAM控制器發(fā)送不同的操作命令,從而完成對(duì)SDRAM的初始化、讀、寫、刷新等各種操作。最后將需要分析、存儲(chǔ)的數(shù)據(jù)從輸出FIFO中導(dǎo)入SD卡。這一操作由開關(guān)模塊進(jìn)行控制。

  其中,SDRAM控制器的程序編寫是本系統(tǒng)設(shè)計(jì)的另一個(gè)重要的部分,SDRAM控制器主要包括命令監(jiān)控、命令譯碼以及數(shù)據(jù)傳遞等幾部分,SDRAM控制器根據(jù)接收到的命令,將數(shù)據(jù)和地址分別送入相應(yīng)模塊進(jìn)行處理。

  2.2 SDRAM控制器的實(shí)現(xiàn)

  SDRAM控制器由4個(gè)可編程模塊組成,分別為命令監(jiān)控模塊、命令譯碼模塊、數(shù)據(jù)傳輸模塊和時(shí)鐘模塊等,支持1、2、4、8和全頁(yè)突發(fā)等突發(fā)模式。

  首先需要對(duì)SDRAM進(jìn)行初始化,系統(tǒng)的時(shí)鐘和電源穩(wěn)定后,在發(fā)起讀、寫、預(yù)充電、刷新等命令前,需要100 μs的上電延時(shí)。從100 μs內(nèi)某點(diǎn)開始到100μs結(jié)束的過(guò)程中,需要發(fā)出至少一次NOP或是COMMAND INHIBIT命令。在系統(tǒng)上電結(jié)束后,發(fā)出PRECHARGE命令,對(duì)SDRAM中的所有bank進(jìn)行預(yù)充電,使其至于空閑狀態(tài)中。在完成SDRAM初始化過(guò)程中,還需要接口模塊對(duì)SDRAM控制器里面的配置存儲(chǔ)器進(jìn)行編碼,本設(shè)計(jì)中寫入配置寄存器中的值為0x33,表明SDRAM采用8bit突發(fā)讀寫模式。

存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: SDR SDRAM 邏輯分析

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉