基于Cyclone系列FPGA和片外存儲(chǔ)介質(zhì)的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)_第1頁(yè)
基于Cyclone系列FPGA和片外存儲(chǔ)介質(zhì)的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)_第2頁(yè)
基于Cyclone系列FPGA和片外存儲(chǔ)介質(zhì)的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)_第3頁(yè)
基于Cyclone系列FPGA和片外存儲(chǔ)介質(zhì)的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)_第4頁(yè)
基于Cyclone系列FPGA和片外存儲(chǔ)介質(zhì)的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于Cyclone系列FPGA和片外存儲(chǔ)介質(zhì)的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)1.引言信息時(shí)代的日新月異,催促著各種各樣的數(shù)據(jù)信息快馬加鞭,人們?cè)谝笮畔鬏數(shù)迷絹?lái)越快的同時(shí),還要求信息要來(lái)得更加及時(shí),于是高速實(shí)時(shí)的數(shù)據(jù)傳輸就成為了電子信息領(lǐng)域里一個(gè)永遠(yuǎn)不會(huì)過(guò)時(shí)的主題。但是,可以清楚地看到,當(dāng)今動(dòng)輒成百上千兆的數(shù)據(jù)流一股腦的涌入,任何一個(gè)高速數(shù)據(jù)傳輸系統(tǒng)的穩(wěn)定性和安全性等方方面面的問(wèn)題都面臨著極大的挑戰(zhàn),稍有考慮不周之處就會(huì)引起各種各樣的問(wèn)題,因此如何能安全高效的對(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)可編程門(mén)陣列(FPGA)加片外存儲(chǔ)介質(zhì)(SDRAM、SRAM、DDR等)的組合,于是本次設(shè)計(jì)方案同樣采用這種組合方式,具體為一片F(xiàn)PGA、三片靜態(tài)存儲(chǔ)器(SRAM)和一片高速數(shù)據(jù)傳輸芯片。FPGA具有管腳多、內(nèi)部邏輯資源豐富、足夠的可用IP核等優(yōu)點(diǎn),用作整個(gè)高速數(shù)據(jù)傳輸系統(tǒng)的控制模塊極為合適,此次方案中選用Altera公司的高性?xún)r(jià)比Cyclone系列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ǔ)器,其處理速度和存儲(chǔ)容量滿(mǎn)足系統(tǒng)設(shè)計(jì)的需要;TI公司的TLK1501是此次設(shè)計(jì)選用的高速數(shù)據(jù)傳輸芯片,其傳輸能力十分強(qiáng)大,不僅能滿(mǎn)足當(dāng)前設(shè)計(jì)的傳輸速度需要,還留有充分的帶寬余量,為以后的系統(tǒng)改進(jìn)提供了條件。上述三種芯片是此次高速數(shù)據(jù)傳輸系統(tǒng)所要用到的主要組成部件,其具體連接方式等問(wèn)題不作討論。3.具體設(shè)計(jì)方案實(shí)現(xiàn)整個(gè)數(shù)據(jù)流從接收、存儲(chǔ)、轉(zhuǎn)換直到發(fā)送的過(guò)程由圖一可以看出,在接收端經(jīng)由DVI解碼芯片傳輸?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)部的寫(xiě)緩沖區(qū)控制器則會(huì)根據(jù)以上三個(gè)數(shù)據(jù)同步信號(hào)生成寫(xiě)緩沖區(qū)的寫(xiě)入地址,控制24bit的像素?cái)?shù)據(jù)信號(hào)存入寫(xiě)緩沖區(qū)中,并會(huì)在一段時(shí)間后向內(nèi)存控制器發(fā)送讀請(qǐng)求(wcache_rreq)以讀出寫(xiě)緩沖區(qū)內(nèi)的已寫(xiě)入數(shù)據(jù),寫(xiě)緩沖區(qū)是由fpga自帶的M4K塊配置生成的雙端口RAM結(jié)構(gòu),采用乒乓操作,這樣整個(gè)內(nèi)存讀取和緩沖區(qū)寫(xiě)入過(guò)程是各自獨(dú)立進(jìn)行的,保證所寫(xiě)入數(shù)據(jù)的完整性,內(nèi)存控制器在接收寫(xiě)緩沖區(qū)控制器發(fā)送的讀請(qǐng)求后,按照相應(yīng)的寫(xiě)緩沖區(qū)地址讀取數(shù)據(jù),并將其寫(xiě)入片外靜態(tài)存儲(chǔ)器中,以上為像素?cái)?shù)據(jù)的接收和存儲(chǔ)過(guò)程;在發(fā)送端,幀同步產(chǎn)生及高速數(shù)據(jù)傳輸控制器通過(guò)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ā)送寫(xiě)請(qǐng)求(rcache_wreq)以向被讀過(guò)的讀緩沖區(qū)部分寫(xiě)入新數(shù)據(jù),同樣讀緩沖區(qū)也是雙端口RAM結(jié)構(gòu),采用乒乓操作,保證被發(fā)送數(shù)據(jù)的連續(xù)完整,被讀出的24bit數(shù)據(jù)經(jīng)過(guò)一個(gè)24bit/16bit數(shù)據(jù)轉(zhuǎn)換器轉(zhuǎn)換為16bit并行數(shù)據(jù)之后才能輸出給高速數(shù)據(jù)傳輸芯片,而內(nèi)存控制器在接收讀緩沖區(qū)控制器的寫(xiě)請(qǐng)求后在片外靜態(tài)存儲(chǔ)器中讀出相應(yīng)地址的數(shù)據(jù)寫(xiě)入讀緩沖區(qū)中,這樣整個(gè)數(shù)據(jù)的接收、存儲(chǔ)、轉(zhuǎn)換到發(fā)送的過(guò)程得以實(shí)現(xiàn)。3.1寫(xiě)緩沖區(qū)控制器的設(shè)計(jì)由DVI解碼芯片輸入給fpga的像素時(shí)鐘信號(hào)Pclk、數(shù)據(jù)使能信號(hào)DE以及場(chǎng)同步信號(hào)Vsy表示24bit并行像素?cái)?shù)據(jù)的同步信息。例如:1024×512顯示分辨率的圖像,則在每?jī)蓚€(gè)場(chǎng)同步信號(hào)Vsy脈沖之間有512個(gè)“DE=1”的數(shù)據(jù)有效信號(hào),而在每個(gè)“DE=1”的數(shù)據(jù)有效信號(hào)中有1024個(gè)Pclk像素時(shí)鐘信號(hào),如此可將輸送的像素?cái)?shù)據(jù)同步。寫(xiě)緩沖區(qū)控制器直接接收輸入的DVI數(shù)據(jù)同步信號(hào),在每個(gè)Vsy脈沖來(lái)時(shí)將寫(xiě)緩沖區(qū)寫(xiě)入地址清零,然后在“DE=1”時(shí)寫(xiě)緩沖區(qū)控制器內(nèi)的地址計(jì)數(shù)器計(jì)數(shù)有效,在每個(gè)Pclk上升沿進(jìn)行計(jì)數(shù)加1操作,這樣在每個(gè)DE有效時(shí)會(huì)產(chǎn)生一行的像素?cái)?shù)據(jù)地址,再到下一個(gè)DE有效時(shí)地址計(jì)數(shù)器又會(huì)重新計(jì)數(shù),如此循環(huán),而寫(xiě)緩沖區(qū)會(huì)按照對(duì)應(yīng)的地址將輸入的24bit并行像素?cái)?shù)據(jù)同步寫(xiě)入緩沖區(qū)內(nèi)。寫(xiě)緩沖區(qū)控制器會(huì)在地址計(jì)數(shù)器計(jì)數(shù)到半行數(shù)據(jù)地址的時(shí)候,向內(nèi)存控制器發(fā)送寫(xiě)緩沖區(qū)讀請(qǐng)求信號(hào)(wcache_rreq)和相應(yīng)緩沖區(qū)地址,要求內(nèi)存控制器對(duì)已寫(xiě)入的半行像素?cái)?shù)據(jù)以48bit并行數(shù)據(jù)格式進(jìn)行讀取,由于內(nèi)存控制器的等效操作時(shí)鐘遠(yuǎn)遠(yuǎn)高于寫(xiě)緩沖區(qū)的寫(xiě)入時(shí)鐘,因此內(nèi)存控制器會(huì)迅速的將已寫(xiě)入的半行數(shù)據(jù)讀出并停止讀數(shù),等待下一個(gè)wcache_rreq的到來(lái),如此便形成了對(duì)寫(xiě)緩沖區(qū)的乒乓操作,保證了輸入像素?cái)?shù)據(jù)的正確和連續(xù)接收,避免產(chǎn)生像素?cái)?shù)據(jù)漏接和不同步的現(xiàn)象。讀緩沖區(qū)控制器的設(shè)計(jì)思路同上,不再贅述。3.2內(nèi)存控制器的設(shè)計(jì)內(nèi)存控制器里包含主狀態(tài)機(jī)和內(nèi)存控制模塊,如圖二所示,主狀態(tài)機(jī)負(fù)責(zé)對(duì)兩個(gè)緩沖區(qū)和片外靜態(tài)存儲(chǔ)器的讀寫(xiě)狀態(tài)控制,共有四個(gè)狀態(tài)——空閑狀態(tài)、寫(xiě)緩沖區(qū)讀取狀態(tài)、讀緩沖區(qū)寫(xiě)入狀態(tài)和讀寫(xiě)交替狀態(tài),用于控制狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移的信號(hào)包括:寫(xiě)緩沖區(qū)讀請(qǐng)求信號(hào)(wcache_rreq)、寫(xiě)緩沖區(qū)讀取完成信號(hào)(r_over)、讀緩沖區(qū)寫(xiě)請(qǐng)求信號(hào)(rcache_wreq)以及讀緩沖區(qū)寫(xiě)入完成信號(hào)(w_req)。狀態(tài)機(jī)在沒(méi)有任何操作請(qǐng)求下處于空閑狀態(tài),而當(dāng)其接收到“wcache_rreq”信號(hào)時(shí),狀態(tài)就會(huì)隨之變?yōu)閷?xiě)緩沖區(qū)讀取狀態(tài)并進(jìn)行相應(yīng)操作,而當(dāng)讀取操作完成后會(huì)有“r_over”信號(hào)傳入狀態(tài)機(jī),狀態(tài)機(jī)又會(huì)轉(zhuǎn)入空閑狀態(tài)等待下一信號(hào)進(jìn)入,而當(dāng)狀態(tài)機(jī)處于寫(xiě)緩沖區(qū)讀取狀態(tài)時(shí)接收到了“rcache_wreq”信號(hào),則狀態(tài)機(jī)轉(zhuǎn)入讀寫(xiě)交替狀態(tài),此時(shí)會(huì)對(duì)寫(xiě)緩沖區(qū)和讀緩沖區(qū)進(jìn)行交替操作,一旦有一個(gè)緩沖區(qū)操作完成時(shí)會(huì)輸入相應(yīng)的操作完成信號(hào),此時(shí)狀態(tài)機(jī)即轉(zhuǎn)入對(duì)另一緩沖區(qū)的單獨(dú)操作直至操作完成再次進(jìn)入空閑狀態(tài)。整個(gè)狀態(tài)轉(zhuǎn)移過(guò)程保證了對(duì)讀寫(xiě)緩沖區(qū)操作請(qǐng)求的及時(shí)響應(yīng),杜絕了由于狀態(tài)沖突導(dǎo)致的漏操作現(xiàn)象。系統(tǒng)選用的片外靜態(tài)存儲(chǔ)器的地址總線(xiàn)為19位,數(shù)據(jù)總線(xiàn)為16位,經(jīng)公式(1)計(jì)算可知采用三片內(nèi)存的總?cè)萘空每梢源鎯?chǔ)兩場(chǎng)1024×512顯示分辨率的圖像,這樣可以對(duì)存儲(chǔ)器進(jìn)行乒乓操作,在存儲(chǔ)器內(nèi)寫(xiě)入一場(chǎng)數(shù)據(jù),讀取另一場(chǎng)數(shù)據(jù),兩者交替獨(dú)立進(jìn)行。(1)內(nèi)存控制模塊負(fù)責(zé)對(duì)片外存儲(chǔ)器進(jìn)行控制,其控制信號(hào)是兩個(gè)低電平有效信號(hào):nWE和nCS。nCS為片選信號(hào),當(dāng)為高電平時(shí)存儲(chǔ)器處于非工作狀態(tài),此時(shí)不能對(duì)存儲(chǔ)器進(jìn)行任何操作,低電平時(shí)為正常工作狀態(tài),可以進(jìn)行讀寫(xiě)操作;nWE為存儲(chǔ)器寫(xiě)入信號(hào),當(dāng)置為低電平時(shí)可以對(duì)存儲(chǔ)器執(zhí)行寫(xiě)入操作,置為高電平時(shí)則可以對(duì)存儲(chǔ)器執(zhí)行讀取操作。內(nèi)存控制模塊按照主狀態(tài)機(jī)的當(dāng)前狀態(tài)來(lái)設(shè)定兩個(gè)控制信號(hào)的高低電平對(duì)片外存儲(chǔ)器進(jìn)行控制。圖三為在QuartusII硬件開(kāi)發(fā)平臺(tái)上通過(guò)邏輯分析儀實(shí)際采樣出來(lái)的片外靜態(tài)存儲(chǔ)器工作時(shí)序波形圖,以中圖為例,存儲(chǔ)器由寫(xiě)入狀態(tài)轉(zhuǎn)為讀取狀態(tài),存儲(chǔ)器的地址總線(xiàn)信號(hào)和數(shù)據(jù)總線(xiàn)信號(hào)的變化就可看出存儲(chǔ)器狀態(tài)的變化,在寫(xiě)入狀態(tài)時(shí)地址總線(xiàn)按時(shí)鐘周期發(fā)生變化,同時(shí)會(huì)有48bit并行數(shù)據(jù)寫(xiě)入相應(yīng)內(nèi)存地址中,而在存儲(chǔ)器進(jìn)入讀取狀態(tài)后,地址總線(xiàn)則變?yōu)樽x取地址,存儲(chǔ)器則會(huì)在延遲地址總線(xiàn)一個(gè)時(shí)鐘周期后將48bit數(shù)據(jù)經(jīng)由數(shù)據(jù)總線(xiàn)讀出。3.324bit/16bit數(shù)據(jù)轉(zhuǎn)換器的設(shè)計(jì)片外高速數(shù)據(jù)傳輸芯片為16位輸入數(shù)據(jù)總線(xiàn),而由fpga內(nèi)部讀緩沖區(qū)讀出的是24位并行數(shù)據(jù),因此需要將24bit數(shù)據(jù)轉(zhuǎn)換成16bit數(shù)據(jù)再輸出??紤]到傳送12個(gè)16bit數(shù)據(jù)可以等效為8個(gè)24bit數(shù)據(jù),故將數(shù)據(jù)輸出時(shí)鐘Dclk用一個(gè)0~11的計(jì)數(shù)器進(jìn)行計(jì)數(shù),然后取其中的8個(gè)連續(xù)時(shí)鐘讀取24bit數(shù)據(jù),這樣就解決了16bit數(shù)據(jù)和24bit數(shù)據(jù)在傳輸上時(shí)鐘不匹配的問(wèn)題。讀取的24bit數(shù)據(jù)隨后被分成兩個(gè)12bit數(shù)據(jù)依次裝入16個(gè)12bit移位寄存器中,再由Dclk一位一位打出并拼裝成16bit數(shù)據(jù),發(fā)送給幀同步產(chǎn)生及高速傳輸芯片控制器進(jìn)行碼頭加載,將自己編寫(xiě)的16bit數(shù)據(jù)頭校驗(yàn)碼以及其他一組信息碼插入數(shù)據(jù)流中輸出給高速數(shù)據(jù)傳輸芯片,完成整個(gè)數(shù)據(jù)轉(zhuǎn)換和發(fā)送過(guò)程。4.實(shí)際測(cè)試結(jié)果用TLK1501[4]高速數(shù)據(jù)傳輸芯片集成的數(shù)據(jù)接收端口接收其發(fā)送端傳輸?shù)母咚俅袛?shù)據(jù)流,在芯片內(nèi)部自解碼之后再恢復(fù)成16bit數(shù)據(jù)傳給fpga,通過(guò)比對(duì)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的一致性就可以對(duì)邏輯設(shè)計(jì)、時(shí)序等方面進(jìn)行驗(yàn)證,以保證設(shè)計(jì)正確。在實(shí)際測(cè)試時(shí),用一組設(shè)計(jì)好的24bitDVI數(shù)據(jù)取代實(shí)際傳輸?shù)南袼匦盘?hào),而其他同步信號(hào)則仍為實(shí)際DVI同步信號(hào),這樣做的目的就是可以對(duì)發(fā)送數(shù)據(jù)進(jìn)行控制,方便與接收數(shù)據(jù)進(jìn)行比對(duì),設(shè)計(jì)的發(fā)送數(shù)據(jù)為一串依次加“1”的規(guī)律24bit數(shù),因此如果接收回的數(shù)據(jù)信號(hào)仍為依次加“1”的24bit數(shù),則說(shuō)明邏輯設(shè)計(jì)和時(shí)序方面沒(méi)有問(wèn)題,設(shè)計(jì)方案可以用于實(shí)際操作中。圖四上為發(fā)送數(shù)據(jù)波形圖,圖六下為接收數(shù)據(jù)波形圖。由圖中對(duì)比可以看出,接收數(shù)據(jù)同發(fā)送數(shù)據(jù)均為依次加“1”的24bit數(shù)據(jù),實(shí)際測(cè)試結(jié)果證實(shí)整個(gè)高速實(shí)時(shí)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)滿(mǎn)足設(shè)計(jì)要求,可以用于實(shí)際操作中。5.結(jié)語(yǔ)本系統(tǒng)在實(shí)際測(cè)試中,發(fā)送端數(shù)據(jù)時(shí)鐘為40MHz,由于高速數(shù)據(jù)傳輸芯片——TLK1501[4]可以傳輸20倍頻的串行數(shù)據(jù)流,因此實(shí)際在信道中傳輸?shù)臄?shù)據(jù)速度可以達(dá)到80

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論