基于FPGA高速實(shí)時(shí)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)方案
.引言
本文引用地址:http://butianyuan.cn/article/169485.htm信息時(shí)代的日新月異,催促著各種各樣的數(shù)據(jù)信息快馬加鞭,人們?cè)谝笮畔鬏數(shù)迷絹碓娇斓耐瑫r(shí),還要求信息要來得更加及時(shí),于是高速實(shí)時(shí)的數(shù)據(jù)傳輸就成為了電子信息領(lǐng)域里一個(gè)永遠(yuǎn)不會(huì)過時(shí)的主題。但是,可以清楚地看到,當(dāng)今動(dòng)輒成百上千兆的數(shù)據(jù)流一股腦的涌入,任何一個(gè)高速數(shù)據(jù)傳輸系統(tǒng)的穩(wěn)定性和安全性等方方面面的問題都面臨著極大的挑戰(zhàn),稍有考慮不周之處就會(huì)引起各種各樣的問題,因此如何能安全高效的對(duì)高速數(shù)據(jù)進(jìn)行實(shí)時(shí)接收、存儲(chǔ)、處理和發(fā)送正是此次設(shè)計(jì)方案的目的。
2.設(shè)計(jì)方案的硬件選定
鑒于當(dāng)前高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)方案大多是現(xiàn)場(chǎng)可編程門陣列(FPGA)加片外存儲(chǔ)介質(zhì)( SDRAM、SRAM、DDR等)的組合,于是本次設(shè)計(jì)方案同樣采用這種組合方式,具體為一片 FPGA、三片靜態(tài)存儲(chǔ)器( SRAM)和一片高速數(shù)據(jù)傳輸芯片。 FPGA具有管腳多、內(nèi)部邏輯資源豐富、足夠的可用 IP核等優(yōu)點(diǎn),用作整個(gè)高速數(shù)據(jù)傳輸系統(tǒng)的控制模塊極為合適,此次方案中選用 Altera公司的高性價(jià)比 Cyclone[2]系列 FPGA;靜態(tài)存儲(chǔ)器具有昀大的優(yōu)點(diǎn)就是數(shù)據(jù)讀取速度快,且控制信號(hào)簡(jiǎn)單易操作,昀適用于高速數(shù)據(jù)存儲(chǔ)介質(zhì),方案選用 ISSI公司的 IS61LV51216型號(hào)的靜態(tài)存儲(chǔ)器 [3],其處理速度和存儲(chǔ)容量滿足系統(tǒng)設(shè)計(jì)的需要;TI公司的 TLK1501[4]是此次設(shè)計(jì)選用的高速數(shù)據(jù)傳輸芯片,其傳輸能力十分強(qiáng)大,不僅能滿足當(dāng)前設(shè)計(jì)的傳輸速度需要,還留有充分的帶寬余量,為以后的系統(tǒng)改進(jìn)提供了條件。上述三種芯片是此次高速數(shù)據(jù)傳輸系統(tǒng)所要用到的主要組成部件,其具體連接方式等問題不作討論。
3.具體設(shè)計(jì)方案
實(shí)現(xiàn)整個(gè)數(shù)據(jù)流從接收、存儲(chǔ)、轉(zhuǎn)換直到發(fā)送的過程由圖一可以看出,在接收端經(jīng)由 DVI[1]解碼芯片傳輸?shù)慕獯a數(shù)據(jù)包含 24bit并行像素?cái)?shù)據(jù)和三個(gè)同步信號(hào)――像素時(shí)鐘 Pclk、數(shù)據(jù)使能信號(hào) DE以及場(chǎng)同步信號(hào) Vsy,fpga內(nèi)部的寫緩沖區(qū)控制器則會(huì)根據(jù)以上三個(gè)數(shù)據(jù)同步信號(hào)生成寫緩沖區(qū)的寫入地址,控制 24bit的像素?cái)?shù)據(jù)信號(hào)存入寫緩沖區(qū)中,并會(huì)在一段時(shí)間后向內(nèi)存控制器發(fā)送讀請(qǐng)求( wcache_rreq)以讀出寫緩沖區(qū)內(nèi)的已寫入數(shù)據(jù),寫緩沖區(qū)是由 fpga自帶的 M4K塊配置生成的雙端口 RAM結(jié)構(gòu)[2],采用乒乓操作,這樣整個(gè)內(nèi)存讀取和緩沖區(qū)寫入過程是各自獨(dú)立進(jìn)行的,保證所寫入數(shù)據(jù)的完整性,內(nèi)存控制器在接收寫緩沖區(qū)控制器發(fā)送的讀請(qǐng)求后,按照相應(yīng)的寫緩沖區(qū)地址讀取數(shù)據(jù),并將其寫入片外靜態(tài)存儲(chǔ)器中,以上為像素?cái)?shù)據(jù)的接收和存儲(chǔ)過程;在發(fā)送端,幀同步產(chǎn)生及高速數(shù)據(jù)傳輸控制器通過 fpga自帶的鎖相環(huán)產(chǎn)生數(shù)據(jù)時(shí)鐘 Dclk、幀同步 Fsy等信號(hào),使讀緩沖區(qū)控制器產(chǎn)生對(duì)讀緩沖區(qū)的讀取地址,讀緩沖區(qū)控制器在產(chǎn)生讀地址的同時(shí),還會(huì)在一段時(shí)間間隔后向內(nèi)存控制器發(fā)送寫請(qǐng)求( rcache_wreq)以向被讀過的讀緩沖區(qū)部分寫入新數(shù)據(jù),同樣讀緩沖區(qū)也是雙端口 RAM結(jié)構(gòu),采用乒乓操作,保證被發(fā)送數(shù)據(jù)的連續(xù)完整,被讀出的 24bit數(shù)據(jù)經(jīng)過一個(gè) 24bit/16bit數(shù)據(jù)轉(zhuǎn)換器轉(zhuǎn)換為 16bit并行數(shù)據(jù)之后才能輸出給高速數(shù)據(jù)傳輸芯片,而內(nèi)存控制器在接收讀緩沖區(qū)控制器的寫請(qǐng)求后在片外靜態(tài)存儲(chǔ)器中讀出相應(yīng)地址的數(shù)據(jù)寫入讀緩沖區(qū)中,這樣整個(gè)數(shù)據(jù)的接收、存儲(chǔ)、轉(zhuǎn)換到發(fā)送的過程得以實(shí)現(xiàn)。
3.1 寫緩沖區(qū)控制器的設(shè)計(jì)
評(píng)論