LED顯示屏發(fā)送卡設(shè)計(jì)
在現(xiàn)有LED顯示屏發(fā)送卡的基礎(chǔ)上,這里設(shè)計(jì)了一種無外接存儲體的LED顯示屏發(fā)送卡,如圖1.
本文引用地址:http://m.butianyuan.cn/article/168503.htm該發(fā)送卡由DVI模塊、FPGA控制器、兩路千兆網(wǎng)輸出模塊構(gòu)成。DVl解碼芯片將解碼得到的數(shù)據(jù)和控制信號傳給FPGA控制器,F(xiàn)PGA通過內(nèi)部的RAM 進(jìn)行緩存,并做了更換時(shí)鐘域和位寬變換的操作,然后將處理后的數(shù)據(jù)通過千兆網(wǎng)輸出。對分辨率1280×1024,刷新頻率為60Hz的實(shí)時(shí)視頻源,這里采用垂直分區(qū)的方法,即將滿屏數(shù)據(jù)平均分成兩路千兆網(wǎng)輸出,每一路千兆傳輸640X 1024,如圖2所示。
圖2視頻數(shù)據(jù)分區(qū)圖
實(shí)現(xiàn)方法
由圖1的基本框圖看出,該發(fā)送卡的設(shè)計(jì)除了搭建好硬件平臺外,最重要的是FPGA控制器內(nèi)部程序的設(shè)計(jì)。發(fā)送卡的FPGA控制器內(nèi)部原理框圖如圖3所示。
圖3 FPGA控制器的內(nèi)部原理框圖
FPGA控制器的內(nèi)部邏輯包括數(shù)據(jù)輸入模塊、雙口RAM 及其控制模塊、24bit轉(zhuǎn)8bit模塊、千兆網(wǎng)輸出模塊。數(shù)據(jù)輸入模塊將輸入的DVI信號(包括數(shù)據(jù)、時(shí)鐘、使能、行場同步信號)分配給后端的RAM 和RAM 控制模塊,并控制著整個(gè)系統(tǒng)的同步;RAM控制模塊控制RAM 的讀寫操作,尤其是對開始寫、寫停、開始讀、讀停這4個(gè)狀態(tài)的控制:從RAM 輸出的數(shù)據(jù)經(jīng)過并串轉(zhuǎn)換后傳輸給千兆網(wǎng)輸出模塊,千兆網(wǎng)輸出模塊則按照一定的網(wǎng)絡(luò)格式將接收到的數(shù)據(jù)進(jìn)行打包輸出 。圖2提到的將數(shù)據(jù)分區(qū)發(fā)送,該方法能夠?qū)M屏數(shù)據(jù)平均分成兩路千兆網(wǎng)輸出。以下就以垂直分區(qū)的方法分析其數(shù)據(jù)流向、時(shí)鐘變化和傳輸時(shí)間差。對于一路千兆網(wǎng)數(shù)據(jù)而言,采用1個(gè)雙口RAM設(shè)計(jì),RAM 的深度設(shè)置為640,輸入和輸出字長均設(shè)置為24bit,讀寫時(shí)鐘和使能分別獨(dú)立,如圖4所示。
圖4一路千兆網(wǎng)數(shù)據(jù)傳輸?shù)碾p口RAM 配置
其中,數(shù)據(jù)輸入和寫時(shí)鐘分別為DVI解碼芯片解碼后的24bit圖像數(shù)據(jù)DVI-DATA [23:0]和時(shí)鐘WRAM_CLK,讀RAM 的時(shí)鐘為千兆網(wǎng)時(shí)鐘RMll-CLK (125M) 三分頻后得到的時(shí)鐘RRAM-CLK(41.66MHz),這樣,后端再通過一個(gè)24bit轉(zhuǎn)8bit模塊即可將數(shù)據(jù)進(jìn)行實(shí)時(shí)傳輸。
圖5 24bit轉(zhuǎn)8bit模塊
如圖5所示,通過RRAM-CLK(41.66MHz)時(shí)鐘從RAM 中讀出一個(gè)像素的數(shù)據(jù),然后再通過3個(gè)RMIl-CLK(125M)傳輸給千兆網(wǎng),即做了一個(gè)實(shí)時(shí)的并串轉(zhuǎn)化。如此流水操作下去,當(dāng)從RAM 中讀完640個(gè)像素時(shí),千兆網(wǎng)控制模塊將停止讀RAM操作,等待下一行數(shù)據(jù)的到來。當(dāng)DVI解碼后的下一行數(shù)據(jù)一旦往RAM 中存儲的時(shí)候(至少已經(jīng)往其中存儲了1個(gè)像素),千兆網(wǎng)控制模塊又開始從RAM 中讀取數(shù)據(jù),如此循環(huán),直到第1024行數(shù)據(jù)的640個(gè)像素?cái)?shù)據(jù)被傳輸完。
在這里,實(shí)時(shí)傳輸具有如下特點(diǎn):(1)往RAM中存數(shù)據(jù)和從RAM 中取數(shù)據(jù)同時(shí)進(jìn)行;(2)存RAM 的速度快,讀RAM 的速度慢;(3)對寫RAM操作,先把規(guī)定的數(shù)據(jù)存完,用時(shí)為t ,然后進(jìn)入等待階段 (t=t1-t2為行周期);對讀RAM 操作,把存好數(shù)通過 的時(shí)間傳輸出去,必須滿足t3
標(biāo)準(zhǔn)的分辨率1280 X 1024,刷新頻率為60Hz的行時(shí)鐘為64KHz,周期為t=15.625微秒;而從RAM 中讀完半行像素(640個(gè))數(shù)據(jù)的時(shí)間是:t3=(1/41.66MHz)X640=15.36微秒。顯然,在一個(gè)行周期里,只往外傳出半行的數(shù)據(jù),傳輸時(shí)間差t-t3=265ns>0,且該時(shí)間差滿足千兆網(wǎng)傳輸所必需數(shù)據(jù)包間隔。由于寫RAM 的時(shí)鐘(108MHz)比讀RAM 的時(shí)鐘(41.66MHz)快得多,所以在寫RAM 的同時(shí)可以對RAM 進(jìn)行讀操作(至少已經(jīng)往RAM 存儲了1個(gè)像素),邊寫邊讀,實(shí)現(xiàn)了視頻數(shù)據(jù)的實(shí)時(shí)傳輸。同理,另外一路的千兆網(wǎng)設(shè)計(jì)與此相同。
評論