<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于MIMO技術(shù)的視頻緩存器設(shè)計(jì)

          基于MIMO技術(shù)的視頻緩存器設(shè)計(jì)

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

          隨著高速處理器的不斷發(fā)展,嵌入式系統(tǒng)應(yīng)用的領(lǐng)域越來(lái)越廣泛,高速大容量緩存器被廣泛應(yīng)用于音系統(tǒng)中,然而專用的高速大容量緩存芯片價(jià)格過(guò)于昂貴,傳統(tǒng)SDRAM在帶寬上已經(jīng)逐漸無(wú)法滿足應(yīng)用要求,特別是對(duì)于多路數(shù)據(jù)多進(jìn)多出時(shí),兩者都無(wú)法很好的滿足要求,這里提出一種利用雙沿隨機(jī)動(dòng)態(tài)存儲(chǔ)器(DDR SDRAM)結(jié)合外加專用電路的方案。

          本文引用地址:http://www.ex-cimer.com/article/164985.htm

          應(yīng)用在DVB-C的EOAM調(diào)制器系統(tǒng)中,該系統(tǒng)的基本要求能夠緩存集合多路TS流的千兆IP數(shù)據(jù),并對(duì)IP數(shù)據(jù)進(jìn)行多路高速分發(fā);輸入為2個(gè)千兆網(wǎng)口,輸出至RF射頻接口的數(shù)百個(gè)數(shù)據(jù)分發(fā)通道。

          在以往系統(tǒng)中,有人提出使用普通SDRAM芯片作為物理緩存單元,但是由于該類芯片工作速度限制,在基本位寬條件下,達(dá)不到上述系統(tǒng)的高帶寬要求。若不提高芯片速度,單純提高位寬,由于各位數(shù)據(jù)的延時(shí)不同,且SDRAM采用的3.3 V電壓的上升下降沿過(guò)渡較寬,將導(dǎo)致芯片數(shù)據(jù)采樣的穩(wěn)定時(shí)間窗變窄,數(shù)據(jù)傳輸可靠性下降;同時(shí)由于位寬增大,引腳變多,造成設(shè)計(jì)復(fù)雜度的直線上升。本文使用DDR SDRAM作為存儲(chǔ)單元,在不改變系統(tǒng)時(shí)鐘的情況下,利用時(shí)鐘雙沿傳輸數(shù)據(jù),將同頻率芯片的傳輸帶寬在SDRAM基礎(chǔ)上提高了一倍,很好地滿足了高帶寬緩存的需要。

          1 DDR存儲(chǔ)器簡(jiǎn)介

          DDR存儲(chǔ)器即雙數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器,它和早期的單數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器一樣,內(nèi)部存儲(chǔ)單元采用電容充電來(lái)保存數(shù)據(jù),因此必須不斷地對(duì)電容充電以保持?jǐn)?shù)據(jù),這就是所謂的刷新.SDRAM的數(shù)據(jù)總線在每個(gè)時(shí)鐘的上升沿存取數(shù)據(jù),而DDR SDRAM則在每個(gè)時(shí)鐘的上升沿和下降沿都存取數(shù)據(jù),這樣在數(shù)據(jù)總線寬度和時(shí)鐘頻率不變的條件下數(shù)據(jù)總線帶寬得到了一倍的提升。

          2 系統(tǒng)設(shè)計(jì)

          設(shè)計(jì)采用Xilinx公司的Sptan3a-dsp 1800a作為主控制器,使用Micron公司的MT64V32X16芯片作為存儲(chǔ)介質(zhì),最大存儲(chǔ)容量為512M.本系統(tǒng)的邏輯部分由仲裁模塊、輸入緩存模塊、調(diào)度判決模塊、地址轉(zhuǎn)換模塊和DDR接口控制模塊等部分組成,結(jié)構(gòu)框圖如圖1所示。

          圖1 系統(tǒng)模塊框圖

          核心控制器中的仲裁模塊產(chǎn)生相應(yīng)的控制命令。完成上電后的初始化復(fù)位,并在系統(tǒng)運(yùn)行過(guò)程中,針對(duì)工作優(yōu)先級(jí),發(fā)出刷新指令、寫(xiě)操作指令和讀操作指令;DDR接口控制模塊根據(jù)DDR芯片操作的基本時(shí)序,實(shí)現(xiàn)核心控制器指令的針對(duì)物理芯片的信息傳輸;南于DDR芯片具有不可實(shí)時(shí)操作特性,必須使用內(nèi)部輸入緩存RAM進(jìn)行基本的實(shí)時(shí)數(shù)據(jù)緩沖;而地址轉(zhuǎn)換模塊、調(diào)度判決模塊則和內(nèi)部輸入緩存RAM配合,完成對(duì)DDR芯片內(nèi)部存儲(chǔ)空間的映射工作。

          3 DDR核心控制器設(shè)計(jì)

          DDR存儲(chǔ)器是一種指令相對(duì)復(fù)雜的高速存儲(chǔ)芯片,它在上電后必須完成初始化才能進(jìn)行其它操作;而且不支持單周期讀寫(xiě)操作,只支持周期為2、4、8突發(fā)讀寫(xiě)操作。另外,DDR芯片由于其電容特性,數(shù)據(jù)保存在其中是不穩(wěn)定的,需要在一定時(shí)間周期內(nèi)對(duì)其進(jìn)行刷新操作,以保證數(shù)據(jù)不會(huì)丟失,因此,在DDR操作過(guò)程中有數(shù)十條指令。但在本設(shè)計(jì)中DDR接口控制器采用的是Xilinx提供的DDR IP,這樣核心控制器中的仲裁模塊只需要使用空閑、初始化、讀操作和寫(xiě)操作等4個(gè)指令就可以完成對(duì)DDR-SDRAM的操作,大大降低了設(shè)計(jì)難度。由于設(shè)計(jì)目的在于消除來(lái)自網(wǎng)絡(luò)對(duì)IP數(shù)據(jù)的抖動(dòng),并且最終要將IP數(shù)據(jù)分發(fā)至512個(gè)通道,大大超出了以往設(shè)計(jì)對(duì)DDR的使用需求,因此本文在這里提出圖1所示設(shè)計(jì),即可完成DDR存儲(chǔ)器對(duì)高速大容量多通道的設(shè)計(jì)應(yīng)用:

          (1)輸入緩存模塊

          輸入緩存器由一個(gè)RAM加外部邏輯電路構(gòu)成,緩沖已輸入但還沒(méi)來(lái)得及寫(xiě)到DDR中的TS分組凈荷。待仲裁模塊發(fā)出允許寫(xiě)入的信號(hào)后,再將輸入緩存中的數(shù)據(jù)包傳遞給仲裁模塊,并且釋放相應(yīng)的存儲(chǔ)空間。根據(jù)DDR的工作模式和DVB-C特性,輸入緩存的數(shù)據(jù)傳輸以TS包為單位,實(shí)現(xiàn)192個(gè)字節(jié)連續(xù)突發(fā)傳輸。

          (2)調(diào)度判決模塊

          調(diào)度判決模塊接收讀請(qǐng)求隊(duì)列信息,實(shí)現(xiàn)讀數(shù)據(jù)時(shí)將同一個(gè)bank內(nèi)數(shù)據(jù)量最大的FIFO進(jìn)行調(diào)度出隊(duì)列的判決。該模塊保存各個(gè)通道FIFO當(dāng)前的數(shù)據(jù)包數(shù)量。

          (3)地址轉(zhuǎn)換模塊

          地址轉(zhuǎn)換模塊負(fù)責(zé)實(shí)現(xiàn)通道號(hào)和DDR SDRAM芯片內(nèi)部存儲(chǔ)空間的映射。該模塊中保存的變量包括各個(gè)通道在DDR SDRAM中的塊起始地址、塊終止地址、FIFO頭偏移量、FIFO尾偏移量。

          (4)仲裁模塊

          仲裁模塊產(chǎn)生相應(yīng)控制命令,針對(duì)工作優(yōu)先級(jí),發(fā)出空閑指令、初始化指令、寫(xiě)操作指令和讀操作指令。

          4 資源消耗結(jié)構(gòu)的改進(jìn)

          4.1 標(biāo)準(zhǔn)的結(jié)構(gòu)的緩存器

          針對(duì)多路數(shù)據(jù)的緩存,設(shè)計(jì)了多進(jìn)多出的緩存結(jié)構(gòu),對(duì)物理通道輸入的數(shù)據(jù)流首先進(jìn)行識(shí)別與分發(fā),給每一路節(jié)目流配置一個(gè)輸入緩存FIFO和一個(gè)輸出緩存FIFO,結(jié)構(gòu)如圖2所示。

          圖2 標(biāo)準(zhǔn)的緩存結(jié)構(gòu)

          這種結(jié)構(gòu)的優(yōu)點(diǎn)在于,對(duì)每一路節(jié)目,都有單獨(dú)的緩存空間對(duì)其進(jìn)行緩存,各路節(jié)目相對(duì)獨(dú)立,互不干擾;在節(jié)目路數(shù)較少的情況下,該結(jié)構(gòu)效率較高,便于擴(kuò)展。

          但上述結(jié)構(gòu)存在的問(wèn)題在于,如果節(jié)目路數(shù)過(guò)多,輸入數(shù)據(jù)流量過(guò)大,會(huì)導(dǎo)致FPGA內(nèi)部緩存數(shù)量成幾何上升,極大的消耗FPGA資源,降低運(yùn)行時(shí)鐘頻率,造成系統(tǒng)綜合后速度下降。

          4.2 端口固定的結(jié)構(gòu)緩存器

          由于標(biāo)準(zhǔn)的結(jié)構(gòu)存在的問(wèn)題,難以達(dá)到本文所需的應(yīng)用要求,因此存這里提出的一種改進(jìn)型設(shè)計(jì)。這種設(shè)計(jì)不像標(biāo)準(zhǔn)的MIMO那樣對(duì)DDR進(jìn)行邏輯結(jié)構(gòu)上的緩存,而是通過(guò)固定DDR高位地址,采用物理結(jié)構(gòu)緩存的方式進(jìn)行快速存儲(chǔ),如圖1所示。

          在這種結(jié)構(gòu)中,外部流處理模塊先將數(shù)據(jù)流與該數(shù)據(jù)流存儲(chǔ)的通道號(hào)分發(fā)至緩存RAM和地址轉(zhuǎn)換模塊,再由調(diào)度模塊調(diào)度轉(zhuǎn)換后的對(duì)應(yīng)地址指針,將其發(fā)送到DDR上對(duì)應(yīng)的物理存儲(chǔ)空間而在輸出端口也以同樣的方式只針對(duì)物理輸出端口,這就要求有一個(gè)讀請(qǐng)求隊(duì)列,以便將要讀的目的通道提前發(fā)送。在這里調(diào)度模塊能夠?qū)崟r(shí)檢測(cè)各個(gè)通道使用情況,并將數(shù)據(jù)流快速分發(fā)。這種結(jié)構(gòu)對(duì)于EQAM這種一個(gè)物理IP端口輸入幾百路流的設(shè)備,可以極大地降低FPGA內(nèi)部RAM的消耗,且對(duì)DDR影響也較小,不會(huì)過(guò)多降低系統(tǒng)性能。而且在前端數(shù)據(jù)緩存中直接使用RAM而不使用FIFO更有利于同步數(shù)據(jù)流和對(duì)應(yīng)地址。


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();