FPGA實(shí)現視頻廣播接收系統方案
一、引 言
近年來(lái),現場(chǎng)可編程門(mén)陣列(FPGA)技術(shù)以其獨有的優(yōu)勢,在電子設計領(lǐng)域得到越來(lái)越廣泛的應用。FPGA除具有集成度高、體積小、功耗低、電路簡(jiǎn)單、可靠性高等優(yōu)點(diǎn)外,還有自身突出的優(yōu)點(diǎn),即“現場(chǎng)可編程性”,用戶(hù)可以很方便地通過(guò)相應的軟件,在較短時(shí)間內對FPGA內部邏輯反復設計或修改,直到滿(mǎn)意為止。這就大大縮短了開(kāi)發(fā)周期,提高了最終產(chǎn)品的性能。
以太網(wǎng)是最廣泛使用的網(wǎng)絡(luò )標準。它成為最受歡迎的技術(shù),不僅因為其在市場(chǎng)上最低的NIC(網(wǎng)絡(luò )接口卡)和HUB端口價(jià)格,還因為它具有維護簡(jiǎn)單、易于擴充等優(yōu)點(diǎn)。
本文介紹的視頻廣播接收系統是基于標準以太網(wǎng)(10 Mbps)和快速以太網(wǎng)(100 Mbps)的系統。由于系統的主要部分采用了FPGA設計技術(shù),使得系統的成本較低和開(kāi)發(fā)周期較短,而且由于前端采用的是具有10M/100M兼容的芯片,并同時(shí)支持兩種特性的以太網(wǎng)(全雙工和半雙工),有助于實(shí)現全雙工和半雙工以太網(wǎng)之間的無(wú)縫連接,從而使得該系統具有廣闊的應用前景和實(shí)用性。
二、基本原理
系統實(shí)現中涉及到網(wǎng)絡(luò )方面的許多相關(guān)技術(shù)和各種相關(guān)的協(xié)議、標準,下面作一簡(jiǎn)要介紹。
1.CSMA/CD協(xié)議
以太網(wǎng)用載波偵聽(tīng)多路訪(fǎng)問(wèn)/沖突檢測(CSMA/CD)作為它的媒體訪(fǎng)問(wèn)控制協(xié)議,CSMA/CD定義了以太網(wǎng)節點(diǎn)為傳輸數據如何獲得對網(wǎng)絡(luò )媒體的訪(fǎng)問(wèn)。其工作過(guò)程如下:
(1)如果介質(zhì)空閑,則傳輸數據,否則,轉(2);
(2)如果介質(zhì)忙,則堅持偵聽(tīng),直到介質(zhì)空閑,立即傳送數據;
?。?)如果在傳送過(guò)程中,檢測到?jīng)_突發(fā)生,發(fā)送一個(gè)短的阻塞碼,以確保讓所有終端都檢測到?jīng)_突發(fā)生,然后停止發(fā)送;
?。?)發(fā)送完阻塞碼后,等待一個(gè)隨機時(shí)間,再試圖重新發(fā)送,即轉(1)。
目前,實(shí)際使用較多的沖突檢測方法是終端發(fā)送器把數據發(fā)送到線(xiàn)纜上,終端接收器又把數據接收回來(lái)和發(fā)送的數據比較,判別是否一致,若一致,沒(méi)有沖突;若不一致,表示沖突發(fā)生。
2.以太網(wǎng)幀格式
當應用程序用UDP(TCP)傳送數據時(shí),數據被送入協(xié)議棧中,然后逐個(gè)通過(guò)每一層直到被當作一串比特流送入網(wǎng)絡(luò ),其中每一層對收到的數據都要增加一些首部信息(有時(shí)還要增加尾部信息)。UDP傳給IP的數據單元稱(chēng)作UDP報文段或簡(jiǎn)稱(chēng)為UDP段,IP傳給網(wǎng)絡(luò )接口層的數據單元稱(chēng)作IP數據報。
在OSI模型中,數據鏈路層傳輸的數據單位是幀。同樣,以太網(wǎng)CSMA/CD也是通過(guò)幀來(lái)發(fā)送實(shí)際數據的。以太網(wǎng)802.3u的MAC子層的幀結構中,前導碼用于物理信號的同步,為7個(gè)字節的10101010序列和1個(gè)字節的10101011序列;目的地址和源地址使用的是MAC地址,前3個(gè)字節稱(chēng)為Block ID,它標志生產(chǎn)設備的廠(chǎng)家并由IEEE賦值;后3個(gè)字節稱(chēng)為設備ID,它由廠(chǎng)家賦值,而且總是唯一的;數據長(cháng)度指要傳送的數據的總長(cháng)度;數據和填充字符可以從0到1 500字節不等,若實(shí)際數據小于所需的最小長(cháng)度,MAC將追加一些可變的填充字符(PAD),以維持64字節的最小幀規模。若數據比1 500字節長(cháng),則更高層(一般是第三層)將把數據字段分成不同的幀進(jìn)行傳送;幀校驗用來(lái)確保進(jìn)行正確的傳送,循環(huán)冗余校驗(CRC)用來(lái)進(jìn)行有效幀的檢查。在以太網(wǎng)數據包的數據部分,包含了各種上層協(xié)議的首部。在本文的系統中,包含了IP首部和UDP首部。
3.介質(zhì)無(wú)關(guān)接口(MII)
MII是一個(gè)用于互連控制器和收發(fā)器的全新介質(zhì)無(wú)關(guān)接口,它是100 Mbit/s快速以太網(wǎng)開(kāi)發(fā)工作的一個(gè)組成部分。此接口提供了新的物理連接機制以及控制器和收發(fā)器的功能劃分。該接口主要由以下一些信號組成:
(1)發(fā)送信號
包括半字節寬(Nibble-wide)的發(fā)送數據信號,加上相關(guān)的發(fā)送時(shí)鐘、發(fā)送允許信號和發(fā)送差錯信號。數據用時(shí)鐘同步,時(shí)鐘率是數據率的1/4 (即100 Mbit/s以太網(wǎng)用25 MHz的時(shí)鐘),發(fā)送信號用于將數據從控制器移動(dòng)到收發(fā)器,然后編碼并發(fā)送到LAN上。
(2)接收信號
包括半字節寬的接收數據,加上相關(guān)的接收時(shí)鐘、接收數據有效信號和接收差錯信號。數據用時(shí)鐘同步,時(shí)鐘率是數據率的1/4。接收信號用于將解碼的數據從收發(fā)器移動(dòng)到控制器。
(3)以太網(wǎng)控制信號
這些信號是由收發(fā)器生成的載波偵聽(tīng)和沖突檢測信號,用于控制器做介質(zhì)訪(fǎng)問(wèn)控制。它們只用于半雙工模式,在全雙工模式中被忽略。
(4)管理信號
包括一個(gè)串行管理I/O信號和相關(guān)的時(shí)鐘信號。用于在控制器和收發(fā)器之間雙向交換配置和控制的管理信息。
三、系統設計
該系統實(shí)現的總體框圖如圖2所示。
其中以太網(wǎng)接口采用的是傳統的RJ45接口,10M/100M收發(fā)器可以采用DM9101 單片實(shí)現,FPGA部分采用的是Xilinx公司的Spartan II系列的芯片,MPEG-1解碼芯片采用了C-Cube公司的解碼芯片。10M/100M收發(fā)器到FPGA之間采用MII標準的接口,FPGA到 MPEG-1解碼芯片之間采用I2S形式的接口。
1.DM9101
DM9101是一個(gè)物理層的、單片、低功耗的100Base-TX和10Base-T操作的轉換器。在介質(zhì)這一邊,它既為用于100Base -TX快速以太網(wǎng)的非屏蔽雙絞線(xiàn)對(5類(lèi)同軸電纜)提供一個(gè)直接的接口,也為用于10Base-T以太網(wǎng)的UTP5/UTP3提供直接的接口。通過(guò) IEEE802.3u介質(zhì)無(wú)關(guān)接口(MII),DM9101可以與介質(zhì)接入控制(MAC)層相連接,確保了在不同生產(chǎn)商的產(chǎn)品之間的高度互操作性。
該芯片集成了MII標準接口、100Base-TX發(fā)送/接收器、10Base-T發(fā)送/接收器、自動(dòng)協(xié)商、沖突檢測、載波偵聽(tīng)、4B5B編/解碼器、加/解擾器、串口和并口之間的轉換等功能。
由于采用了MII標準接口,使得設計者可以通過(guò)該接口的管理信號線(xiàn)對該芯片的寄存器進(jìn)行設置,從而完成對10 Mbps和100 Mbps兩種速率的選擇,突出了設計的靈活性。
評論