文獻(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.
0 引言
高速視頻圖像技術(shù)被廣泛應(yīng)用于鐵道鐵路,、航空航天,、水下、生物運(yùn)動(dòng)捕獲,、醫(yī)療器械,、遠(yuǎn)程教學(xué)及生產(chǎn)生活的諸多領(lǐng)域。目前,,視頻圖像傳輸技術(shù)已經(jīng)日趨成熟,,并開始向高清、高速的需求方向發(fā)展,。
針對(duì)目前普遍存在的因?yàn)?a class="innerlink" href="http://forexkbc.com/tags/存儲(chǔ)" title="存儲(chǔ)" target="_blank">存儲(chǔ)速度低而只能采集低分辨率視頻數(shù)據(jù)的缺點(diǎn),,利用Camera Link的Full傳輸模式對(duì)圖像數(shù)據(jù)進(jìn)行接收并利用多片DDR3-SDRAM多BANK存儲(chǔ)的原理對(duì)高帶寬和大容量圖像數(shù)據(jù)實(shí)現(xiàn)高速存儲(chǔ)及傳輸。
1 總體設(shè)計(jì)方案
視頻圖像傳輸系統(tǒng)的設(shè)計(jì)框圖如圖1所示,。系統(tǒng)主要由時(shí)鐘與復(fù)位單元,、邏輯控制單元、視頻采集單元,、視頻轉(zhuǎn)存單元,、實(shí)時(shí)顯示單元組成。
系統(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í)觀測(cè),。
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ā)長(zhǎng)度固定為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ù)位信號(hào)(RESET)、行地址選擇信號(hào)(RAS),、列地址選擇信號(hào)(CAS),、時(shí)鐘使能信號(hào)(CKE)和寫使能信號(hào)(WE)實(shí)現(xiàn)對(duì)DDR3-SDRAM的控制。
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ì)及測(cè)試
系統(tǒng)功能主要為對(duì)經(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信號(hào)是否為高電平,,當(dāng)almost_full信號(hào)為高電平則DDR3-SDRAM可以進(jìn)行寫數(shù)據(jù)操作了,然后控制器開始向DDR3-SDRAM發(fā)送寫命令,、寫地址以及寫數(shù)據(jù)操作,,在寫數(shù)據(jù)的過程中控制器通過幀計(jì)數(shù)信號(hào)counter_frame來判斷DDR3-SDRAM是否被寫滿,當(dāng)counter_frame=480時(shí)DDR3-SDRAM已經(jīng)不能夠再接收一幀完整的視頻數(shù)據(jù)了,,此時(shí)start_ddr3信號(hào)拉低,,不再進(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)行顯示,。
3.1 DDR3-SDRAM工作狀態(tài)機(jī)
按JEDEC規(guī)定,,DDR3-SDRAM工作必須遵守一定的規(guī)則,DDR3-SDRAM存儲(chǔ)器工作狀態(tài)如圖4所示,。
圖4中涉及命令及功能如表1所示,。
3.2 DDR3-SDRAM突發(fā)模式下數(shù)據(jù)編碼
系統(tǒng)采用DDR3突發(fā)傳輸模式,一次傳輸數(shù)據(jù)量為512 bit,,而Camera Link接口一次傳輸數(shù)據(jù)為80 bit,;對(duì)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模塊,。
3.3 DDR3-SDRAM多BANK同行切換存儲(chǔ)設(shè)計(jì)與測(cè)試
每片DDR3-SDRAM有8個(gè)BANK用于存儲(chǔ)數(shù)據(jù),,為了最大限度地提高DDR3-SDRAM的存儲(chǔ)速度,選擇最佳的工作模式,,對(duì)單BANK內(nèi)行切換存儲(chǔ)及多BANK同行切換存儲(chǔ)進(jìn)行測(cè)試,,如圖6所示。
單BANK內(nèi)行切換存儲(chǔ)是指在DDR3-SDRAM寫數(shù)據(jù)時(shí)先逐行寫B(tài)ANK0,,待BANK0寫滿之后再寫B(tài)ANK1,,依次寫各個(gè)BANK。在本次測(cè)試中采用的是每行寫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ù)操作,。測(cè)試時(shí)序是在ISE14.3建立的DDR3-SDRAM控制器工程中,添加DDR3-SDRAM模型聯(lián)合進(jìn)行仿真的測(cè)試結(jié)果,仿真工具采用modesim仿真軟件,。
圖6(a)的單BANK內(nèi)行切換測(cè)試時(shí)序,,當(dāng)ddr3_ras_n_fpga信號(hào)和ddr3_cke_n_fpga 信號(hào)均為高電平、ddr3_cas_n_fpga信號(hào)和ddr3_we_n_fpga信號(hào)均為低電平,,DDR3-SDRAM接收寫數(shù)據(jù)命令,,命令接收完畢后,開始往DDR3-SDRAM中寫入位寬為64 bit的數(shù)據(jù),。測(cè)試可得,,在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)行切換測(cè)試得出的寫數(shù)據(jù)的帶寬的利用率大約為8.6%,。理想情況下的帶寬為12.5 GB/s,單BANK內(nèi)行切換測(cè)試得出的帶寬大約為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信號(hào)命令,,還會(huì)消耗一定的DDR3-SDRAM帶寬,因此DDR3-SDRAM的帶寬有必要設(shè)計(jì)的更大一些,。圖5(b)所示的為多BANK同行切換測(cè)試時(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同行切換測(cè)試得出的寫數(shù)據(jù)的帶寬的利用率大約為50.8%,。理想情況下的帶寬為12.5 GB/s,,則多BANK同行切換測(cè)試得出的帶寬大約為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)的信號(hào)完整性設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,,34(2):616-621.