FPGA實(shí)現(xiàn)視頻廣播接收系統(tǒng)方案
2.FPGA設(shè)計
由于要使數(shù)據(jù)能在以太網(wǎng)上傳輸,服務(wù)器端的發(fā)送程序應(yīng)該把要傳輸?shù)臄?shù)據(jù)進(jìn)行打包(或封裝)。本系統(tǒng)中所要傳輸?shù)臄?shù)據(jù)為視頻數(shù)據(jù)(VCD數(shù)據(jù)),而VCD數(shù)據(jù)一般是以dat格式存放在光盤中的。因而在接收端應(yīng)對接收到的數(shù)據(jù)包進(jìn)行解包,并同時完成數(shù)據(jù)格式轉(zhuǎn)換的功能,使得送到MPEG-1解碼芯片的數(shù)據(jù)格式為dat格式的數(shù)據(jù),從而進(jìn)行解碼,最后用普通的電視機(jī)就能夠接收。
因而該部分主要要實(shí)現(xiàn)的功能是:先完成對接收到的以太網(wǎng)數(shù)據(jù)幀進(jìn)行解包,取出封裝在以太網(wǎng)數(shù)據(jù)幀中的數(shù)據(jù)部分,然后再分別解IP數(shù)據(jù)包和UDP數(shù)據(jù)包,把真正的具有VCD播放格式的數(shù)據(jù)取出來,經(jīng)過一個先進(jìn)先出(FIFO)緩沖器輸出到MPEG-1解碼芯片進(jìn)行解碼。其中在解包的過程中,要對數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)正確的數(shù)據(jù)包才進(jìn)行傳送,對于校驗(yàn)不正確的數(shù)據(jù)包采用了直接丟棄的方法,所采用的校驗(yàn)算法是循環(huán)冗余校驗(yàn)算法(CRC)。
設(shè)計框圖如圖3所示。
?。?)前導(dǎo)檢測:當(dāng)系統(tǒng)檢測到連續(xù)出現(xiàn)了15個nibble的1010,同時隨后的一個nibble為1011時,說明一個以太網(wǎng)數(shù)據(jù)幀開始了,應(yīng)該對該部分的數(shù)據(jù)作進(jìn)一步的處理。
?。?)組字節(jié):由于從DM9101芯片出來的數(shù)據(jù)信號是以一次四位元組(nibble)的形式傳輸?shù)模蚨獙λM(jìn)行組字節(jié)操作,每2個nibble組成一個字節(jié),具體操作過程依據(jù)的是MII幀結(jié)構(gòu)中的字節(jié)組成格式進(jìn)行。
(3)CRC校驗(yàn):對以太網(wǎng)幀中的目的地址、源地址、長度、數(shù)據(jù)進(jìn)行CRC校驗(yàn),并與幀的最后四個字節(jié)進(jìn)行比較,如果一致,即為正確的以太網(wǎng)數(shù)據(jù);若不一致,則丟棄這一幀。
(4)MPEG-1數(shù)據(jù):取出以太網(wǎng)幀中的長度字節(jié)的值,用這個值來預(yù)置一個計數(shù)器,從而對數(shù)據(jù)進(jìn)
行計數(shù)控制,取出其中的MPEG-1格式的有效數(shù)據(jù)。
?。?)FIFO:由于普通的以太網(wǎng)的數(shù)據(jù)傳輸速率是10
Mbps或100 Mbps,而進(jìn)行MPEG-1解碼時的速率一般為1.5 Mbps左右,因而要對數(shù)據(jù)流進(jìn)行速率調(diào)整。該FIFO直接利用了Spartan II系列芯片內(nèi)部的存儲模塊進(jìn)行緩存。
?。?)同步頭檢測:dat格式的數(shù)據(jù)幀有一個同步頭為:00FFFFFFFFFFFFFFFFFFFF00(十六進(jìn)制),當(dāng)檢測到該同步頭時,表明一個dat數(shù)據(jù)幀開始了,應(yīng)將其后的數(shù)據(jù)連同該同步頭信息一起輸出至解碼芯片。
?。?)串行輸出:把最后得到的數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并以I2S的格式將數(shù)據(jù)和時鐘等信號輸出到 MPEG-1解碼芯片中進(jìn)行解碼?! ?P>四、仿真結(jié)果
1.組字節(jié)仿真結(jié)果
數(shù)據(jù)從2個nibble組成一個字節(jié)的仿真結(jié)果如圖4所示。其中,CLK信號是25 MHz的時鐘信號,DA是由4位數(shù)據(jù)組成的數(shù)據(jù)信號,它們由DM9101芯片輸出;DATA為組成字節(jié)后的8位數(shù)據(jù)信號,CLK—B是由CLK信號二分頻所得到的Byte時鐘信號。
2.I2S格式仿真結(jié)果
以I2S格式輸出的數(shù)據(jù)的仿真結(jié)果如圖5所示。仿真中采用的格式是:32位BCK,MSB最先,右通道為低電平。其中BCK是位時鐘信號,LRCK是左右時鐘選擇時鐘,DATA是VCD格式的MPEG-1視/音頻數(shù)據(jù)。
五、小 結(jié)
本系統(tǒng)所采用的FPGA芯片為Xilinx公司的Spartan II系列芯片,用Foundation軟件工具開發(fā)。設(shè)計輸入完成后,進(jìn)行整體的編譯和邏輯仿真,然后進(jìn)行轉(zhuǎn)換、布局、延時仿真生成配置文件,最后下載至 FPGA器件,實(shí)現(xiàn)其硬件功能。由于系統(tǒng)的很多功能由一塊FPGA實(shí)現(xiàn),外圍器件很少,所以系統(tǒng)體積小、可靠性高,且器件的可編程性使得系統(tǒng)功能易于完善。仿真結(jié)果表明,各信號的邏輯功能和時序配合完全達(dá)到了設(shè)計要求。
評論