《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DDR3-SDRAM 的高速視頻傳輸系統(tǒng)
基于DDR3-SDRAM 的高速視頻傳輸系統(tǒng)
2015年電子技術(shù)應(yīng)用第12期
馬游春1,2,王悅凱1,2,丁 寧1,2
1.中北大學(xué) 電子測試國家重點(diǎn)實(shí)驗(yàn)室,山西 太原030051; 2.中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原030051
摘要: 設(shè)計(jì)了一種基于多片DDR3-SDRAM多BANK存儲(chǔ)技術(shù)的傳輸系統(tǒng),用于高速視頻圖像的傳輸。采用Camera Link總線技術(shù)用來接收視頻圖像數(shù)據(jù),采用DDR3-SDRAM用來轉(zhuǎn)存數(shù)據(jù),對系統(tǒng)軟件進(jìn)行了搭建,對數(shù)據(jù)進(jìn)行編碼,并對DDR3-SDRAM多BANK存儲(chǔ)進(jìn)行仿真及分析。結(jié)果表明,DDR3-SDRAM多BANK存儲(chǔ)技術(shù)可以有效地提高DDR3-SDRAM的工作效率,滿足高速視頻存儲(chǔ)的需求。
中圖分類號: TP919
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.018

中文引用格式: 馬游春,王悅凱,丁寧. 基于DDR3-SDRAM 的高速視頻傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,2015,41(12):69-71,75.
英文引用格式: Ma Youchun,Wang Yuekai,Ding Ning. High-speed video transmission system based on DDR3 SDRAM[J].Application of Electronic Technique,2015,41(12):69-71,75.
High-speed video transmission system based on DDR3 SDRAM
Ma Youchun1,2,Wang Yuekai1,2,Ding Ning1,2
1.National Key laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China; 2.Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education, North University of China,Taiyuan 030051,China
Abstract: Proposed to design a storage system based on multiple pieces DDR3-SDRAM-more BANK transmission technology,used in high speed video image transmission. Camera Link bus technology is used to receive video image data,the DDR3-SDRAM is used to store data,the system software is setup,encode the data,and simulated and analyzed the DDR3-SDRAM- more BANK storage. The results show that the DDR3-SDRAM-more BANK storage technology can effectively improve the work efficiency of DDR3-SDRAM, can meet the requirements of the high-speed video storage.
Key words : DDR3-SDRAM;more BANK;storage;high speed video

    

0 引言

    高速視頻圖像技術(shù)被廣泛應(yīng)用于鐵道鐵路、航空航天、水下、生物運(yùn)動(dòng)捕獲、醫(yī)療器械、遠(yuǎn)程教學(xué)及生產(chǎn)生活的諸多領(lǐng)域。目前,視頻圖像傳輸技術(shù)已經(jīng)日趨成熟,并開始向高清、高速的需求方向發(fā)展。

    針對目前普遍存在的因?yàn)?a class="innerlink" href="http://theprogrammingfactory.com/tags/存儲(chǔ)" title="存儲(chǔ)" target="_blank">存儲(chǔ)速度低而只能采集低分辨率視頻數(shù)據(jù)的缺點(diǎn),利用Camera Link的Full傳輸模式對圖像數(shù)據(jù)進(jìn)行接收并利用多片DDR3-SDRAM多BANK存儲(chǔ)的原理對高帶寬和大容量圖像數(shù)據(jù)實(shí)現(xiàn)高速存儲(chǔ)及傳輸。

1 總體設(shè)計(jì)方案

    視頻圖像傳輸系統(tǒng)的設(shè)計(jì)框圖如圖1所示。系統(tǒng)主要由時(shí)鐘與復(fù)位單元、邏輯控制單元、視頻采集單元、視頻轉(zhuǎn)存單元、實(shí)時(shí)顯示單元組成。

ck6-t1.gif

    系統(tǒng)工作過程為:FPGA通過Camera Link接口將配置信息發(fā)送給CMOS相機(jī),控制CMOS相機(jī)開始進(jìn)行視頻數(shù)據(jù)的采集、編幀并通過Camera Link接口將數(shù)據(jù)傳送至FPGA;視頻數(shù)據(jù)經(jīng)過FPGA的一系列相關(guān)的視頻數(shù)據(jù)處理之后存儲(chǔ)到DDR3-SDRAM中,當(dāng)DDR3-SDRAM中的視頻數(shù)據(jù)存滿后,將存儲(chǔ)的視頻數(shù)據(jù)通過千兆以太網(wǎng)接口傳輸?shù)缴衔粰C(jī),最終在上位機(jī)上進(jìn)行實(shí)時(shí)觀測。

2 高速視頻采集傳輸

2.1 視頻采集單元

    視頻采集單元主要包括COMS相機(jī)及Camera Link接口。采用Camera Link的Full模式進(jìn)行數(shù)據(jù)采集,數(shù)據(jù)傳輸位寬為80 bit。

    設(shè)置圖像采集系統(tǒng)數(shù)據(jù)位寬為8 bit、采樣頻率為250幀/s、分辨率為2 048×1 088 Pixels的彩色視頻圖像。

2.2 圖像數(shù)據(jù)轉(zhuǎn)存單元

    DDR3-SDRAM為第三代雙倍數(shù)據(jù)速率動(dòng)態(tài)同步隨機(jī)存儲(chǔ)器,與上一代產(chǎn)品相比,DDR3-SDRAM擁有兩倍于DDR2的預(yù)取能力;突發(fā)長度固定為8,增加了突發(fā)突變模式及重置功能,極大地降低了系統(tǒng)功耗。

    采用Micron公司的MT41K1G8SN-125內(nèi)存條作為圖像的存儲(chǔ)介質(zhì),其由8個(gè)DDR3-SDRAM的存儲(chǔ)芯片組成,每個(gè)存儲(chǔ)芯片為8 bit,8片組合在一起為64 bit的數(shù)據(jù)位寬,F(xiàn)PGA與DDR3-SDRAM的硬件連接如圖2所示。其中,CK_N與CK_P 為DDR3-SDRAM的差分時(shí)鐘,其頻率為800 MHz;FPGA通過復(fù)位信號(RESET)、行地址選擇信號(RAS)、列地址選擇信號(CAS)、時(shí)鐘使能信號(CKE)和寫使能信號(WE)實(shí)現(xiàn)對DDR3-SDRAM的控制。

ck6-t2.gif

    64 bit數(shù)據(jù)并行地與FPGA的I/O口直接相連, DDR3-SDRAM的工作時(shí)鐘一次能夠傳輸64 bit的數(shù)據(jù),極大地提高了數(shù)據(jù)的傳輸速率。單顆粒DDR3-SDRAM地址線的位寬為16 bit,Bank的位寬為3 bit,F(xiàn)PGA可直接通過控制Bank地址與16 bit的行列地址來選擇數(shù)據(jù)在DDR3-SDRAM中存儲(chǔ)的位置。

3 軟件設(shè)計(jì)及測試

    系統(tǒng)功能主要為對經(jīng)過Camer Link接收模塊的串并轉(zhuǎn)換以及經(jīng)過FIFO進(jìn)行數(shù)據(jù)緩存處理之后的視頻進(jìn)行再處理,轉(zhuǎn)化成能夠滿足DDR3-SDRAM存儲(chǔ)條件的時(shí)序控制之后,將視頻數(shù)據(jù)寫入DDR3-SDRAM的內(nèi)部;將存儲(chǔ)DDR3-SDRAM內(nèi)部數(shù)據(jù)讀出,經(jīng)過處理后通過FIFO的處理,再經(jīng)過千兆以太網(wǎng)輸出,經(jīng)上位機(jī)處理后顯示。

    系統(tǒng)的工作流程如圖3所示。上電后系統(tǒng)復(fù)位,各功能模塊進(jìn)行初始化;初始化及DDR3 DQS、Write、Read校驗(yàn)完成后init_done拉高;相機(jī)開始工作,圖像數(shù)據(jù)經(jīng)Camera Link接口進(jìn)入FPGA進(jìn)行數(shù)據(jù)編碼,編碼后數(shù)據(jù)暫存在內(nèi)置FIFO模塊;判斷FIFO的almost_full信號是否為高電平,當(dāng)almost_full信號為高電平則DDR3-SDRAM可以進(jìn)行寫數(shù)據(jù)操作了,然后控制器開始向DDR3-SDRAM發(fā)送寫命令、寫地址以及寫數(shù)據(jù)操作,在寫數(shù)據(jù)的過程中控制器通過幀計(jì)數(shù)信號counter_frame來判斷DDR3-SDRAM是否被寫滿,當(dāng)counter_frame=480時(shí)DDR3-SDRAM已經(jīng)不能夠再接收一幀完整的視頻數(shù)據(jù)了,此時(shí)start_ddr3信號拉低,不再進(jìn)行寫數(shù)據(jù)操作。然后等待千兆以太網(wǎng)模塊使能DDR3-SDRAM的讀數(shù)據(jù)操作,去將寫入DDR3-SDRAM中的數(shù)據(jù)經(jīng)過控制器的控制后,通過FIFO的處理,經(jīng)過千兆以太網(wǎng)模塊將數(shù)據(jù)輸出到上位機(jī)上進(jìn)行顯示。

ck6-t3.gif

3.1 DDR3-SDRAM工作狀態(tài)機(jī)

    按JEDEC規(guī)定,DDR3-SDRAM工作必須遵守一定的規(guī)則,DDR3-SDRAM存儲(chǔ)器工作狀態(tài)如圖4所示。

ck6-t4.gif

    圖4中涉及命令及功能如表1所示。

ck6-b1.gif

3.2 DDR3-SDRAM突發(fā)模式下數(shù)據(jù)編碼

    系統(tǒng)采用DDR3突發(fā)傳輸模式,一次傳輸數(shù)據(jù)量為512 bit,而Camera Link接口一次傳輸數(shù)據(jù)為80 bit;對Camera Link傳來數(shù)據(jù)進(jìn)行如圖5格式的編碼。編碼采用十六進(jìn)制的EB 90作為幀標(biāo)志,并設(shè)計(jì)16 bit的幀計(jì)數(shù),將Camera Link傳來的每六次(480 bit)作為一組數(shù)據(jù),然后緩存至FPGA內(nèi)置FIFO模塊。

ck6-t5.gif

3.3 DDR3-SDRAM多BANK同行切換存儲(chǔ)設(shè)計(jì)與測試

    每片DDR3-SDRAM有8個(gè)BANK用于存儲(chǔ)數(shù)據(jù),為了最大限度地提高DDR3-SDRAM的存儲(chǔ)速度,選擇最佳的工作模式,對單BANK內(nèi)行切換存儲(chǔ)及多BANK同行切換存儲(chǔ)進(jìn)行測試,如圖6所示。

ck6-t6.gif

    單BANK內(nèi)行切換存儲(chǔ)是指在DDR3-SDRAM寫數(shù)據(jù)時(shí)先逐行寫B(tài)ANK0,待BANK0寫滿之后再寫B(tài)ANK1,依次寫各個(gè)BANK。在本次測試中采用的是每行寫8個(gè)64 bit的數(shù)據(jù),再依次轉(zhuǎn)入該BANK的下一行。多BANK同行切換存儲(chǔ)是指DDR3-SDRAM寫數(shù)據(jù)時(shí)依次再寫B(tài)ANK0~BANK7的第一行,所有BANK的第一行寫滿之后再依次寫各個(gè)BANK的第二行,以此類推進(jìn)行DDR3-SDRAM的寫數(shù)據(jù)操作。測試時(shí)序是在ISE14.3建立的DDR3-SDRAM控制器工程中,添加DDR3-SDRAM模型聯(lián)合進(jìn)行仿真的測試結(jié)果,仿真工具采用modesim仿真軟件。

    圖6(a)的單BANK內(nèi)行切換測試時(shí)序,當(dāng)ddr3_ras_n_fpga信號和ddr3_cke_n_fpga 信號均為高電平、ddr3_cas_n_fpga信號和ddr3_we_n_fpga信號均為低電平,DDR3-SDRAM接收寫數(shù)據(jù)命令,命令接收完畢后,開始往DDR3-SDRAM中寫入位寬為64 bit的數(shù)據(jù)。測試可得,在BANK0的一行連續(xù)寫完8個(gè)64 bit數(shù)據(jù)大概花費(fèi)的時(shí)間約為6 045 756 fs,寫第一行的數(shù)據(jù)開始到寫入第二行數(shù)據(jù)的開始所花費(fèi)的時(shí)間約為70 050 164 fs,則單BANK內(nèi)行切換測試得出的寫數(shù)據(jù)的帶寬的利用率大約為8.6%。理想情況下的帶寬為12.5 GB/s,單BANK內(nèi)行切換測試得出的帶寬大約為1 100.8 MB/s,系統(tǒng)采用的Camera link接收模塊接收的數(shù)據(jù)流為820 MB/s,則DDR3-SDRAM的帶寬約為1 100.8 MB/s時(shí)能夠滿足緩存的數(shù)據(jù)流條件,但是在實(shí)際處理中DDR3-SDRAM還會(huì)有一些其他的數(shù)據(jù)等待操作,比如等待FIFO的almost_full信號命令,還會(huì)消耗一定的DDR3-SDRAM帶寬,因此DDR3-SDRAM的帶寬有必要設(shè)計(jì)的更大一些。圖5(b)所示的為多BANK同行切換測試時(shí)序,其中ddr3_dq_fpga為寫入DDR3-SDRAM的數(shù)據(jù)。如圖5(b)所示,寫第一個(gè)BANK的一行的8個(gè)64 bit數(shù)據(jù)所花費(fèi)的時(shí)間約為5 079 040 fs,寫第一個(gè)BANK的一行8個(gè)數(shù)據(jù)開始到寫第二個(gè)BANK的一行8個(gè)數(shù)據(jù)開始所花費(fèi)的時(shí)間大約為9 994 240 fs,則多BANK同行切換測試得出的寫數(shù)據(jù)的帶寬的利用率大約為50.8%。理想情況下的帶寬為12.5 GB/s,則多BANK同行切換測試得出的帶寬大約為6 502.4 MB/s,Camera link接收模塊接收的數(shù)據(jù)流為820 MB/s,則DDR3-SDRAM的帶寬約為6 502.4 MB/s,這在很大程度上超過了Camera link接收模塊接收的數(shù)據(jù)流,能夠滿足緩存的數(shù)據(jù)流條件。

4 結(jié)論

    利用系統(tǒng)采集視頻圖像,經(jīng)上位機(jī)還原后視頻圖像清晰完整,設(shè)計(jì)符合預(yù)期。結(jié)果表明:利用Full模式下Camera Link總線接口可滿足高速視頻圖像的采集需求,DDR3-SDRAM多BANK存儲(chǔ)技術(shù)可極大地提高數(shù)據(jù)存儲(chǔ)的速度,解決高速視頻高分辨率轉(zhuǎn)存及傳輸?shù)膯栴}。

參考文獻(xiàn)

[1] BARRERA E,RUIZ M,SANZ D,et al.Test bed for real-time image acquisition and processing systems based on FlexRIO,CameraLink,and EPICS[J].Fusion Engineering and Design,2014,89(5):633-637.

[2] 王正宇.DDR3內(nèi)存控制器的IP核設(shè)計(jì)及FPGA驗(yàn)證[D].蘭州:蘭州交通大學(xué),2012.

[3] 黃云翔.DDR3-SDRAM的控制器設(shè)計(jì)和驗(yàn)證[D].廣州:華南理工大學(xué),2012.

[4] 李輝,岳田.在FPGA設(shè)計(jì)中ChipScope與MATLAB的應(yīng)用[J].無線電工程,2010,40(1):62-64.

[5] 張超,余綜.基于DDR3系統(tǒng)互聯(lián)的信號完整性設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(2):616-621.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。