趙柏山,王禹衡,劉佳琪
(沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,沈陽110870)
面對(duì)日益增多的數(shù)據(jù)和多媒體服務(wù),以太網(wǎng)的大容量、高速率、多功能模塊能夠很好地滿足市場(chǎng)要求[1]。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,絕大部分信息要通過互聯(lián)網(wǎng)進(jìn)行傳輸,人們對(duì)于網(wǎng)絡(luò)的要求會(huì)更高,比如設(shè)備處理速度、傳輸速度、數(shù)據(jù)的還原度等。以太網(wǎng)已經(jīng)在通信、控制、傳輸領(lǐng)域得到了廣泛應(yīng)用。經(jīng)過十幾年發(fā)展,10G以太網(wǎng)技術(shù)日漸成熟,成本也隨之降低。傳統(tǒng)的基于視頻壓縮的傳輸方案,雖然節(jié)省帶寬,但也增加了系統(tǒng)設(shè)計(jì)復(fù)雜度并且會(huì)產(chǎn)生傳輸延遲,不能滿足實(shí)時(shí)性的要求。采用萬兆以太網(wǎng)傳輸將會(huì)跳過視頻壓縮的處理,直接將攝像頭捕捉到的信號(hào)進(jìn)行傳輸,這樣可降低系統(tǒng)處理延遲,提高處理速度,保證了視頻的實(shí)時(shí)性。
基于FPGA網(wǎng)絡(luò)的應(yīng)用,包含傳輸層協(xié)議、網(wǎng)絡(luò)層協(xié)議、網(wǎng)絡(luò)接口層協(xié)議(MAC協(xié)議)[2]。MAC控制器作為以太網(wǎng)核心部分之一,主要以兩種形式存在,一種是將物理層MAC層集成為以太網(wǎng)卡芯片,另一種是MAC控制器獨(dú)立存在IP核。10G以太網(wǎng)卡產(chǎn)品層出不窮,2012年,Intel公司推出了基于多模光纖傳輸介質(zhì)的萬兆以太網(wǎng)卡Intel X520-SRI以及基于RJ45傳輸?shù)腎ntelX540-T2[3],這些網(wǎng)卡的價(jià)錢很高,達(dá)到了上千元。用FPGA實(shí)現(xiàn)MAC協(xié)議可以在很大程度上降低成本。
在千兆以太網(wǎng)中,MAC層工作在125MHz、8bit位寬中;在萬兆以太網(wǎng)中,MAC層工作在156.25MHz、64bit位寬。協(xié)議規(guī)定只適用于全雙工模式,MAC層不使用CSMA/CD協(xié)議[4],也就是說一個(gè)時(shí)鐘周期可以處理8字節(jié)數(shù)據(jù),幀尾有效字節(jié)長(zhǎng)度不等,在CRC校驗(yàn)中會(huì)產(chǎn)生新的問題。為解決這類問題,以IEEE802.3ae定義了新的介質(zhì)無關(guān)接口:10G介質(zhì)無關(guān)接口 (10 Gigbbit Media Independent Interface,XGMII)[5],同時(shí)對(duì)此接口進(jìn)行設(shè)計(jì),使物理層模塊實(shí)現(xiàn)與FPGA的互連。
本文主要是對(duì)視頻數(shù)據(jù)封裝和解封裝進(jìn)行設(shè)計(jì)。如圖1是以太網(wǎng)視頻傳輸整體原理框圖,視頻采集模塊FPGA通過I2C總線對(duì)攝像頭內(nèi)部寄存器進(jìn)行配置,滿足該攝像頭工作狀態(tài),將采集視頻數(shù)據(jù)寫入SDRAM中進(jìn)行數(shù)據(jù)緩存,選用的方法為乒乓操作[6]。當(dāng)系統(tǒng)配置模塊配置好數(shù)據(jù)后,使能SDRAM讀信號(hào),將緩存信號(hào)發(fā)送至UDP/IP模塊。這個(gè)過程主要是對(duì)視頻信號(hào)的采集,此后數(shù)據(jù)信號(hào)依次經(jīng)過UDP/IP模塊、MAC控制器模塊,將數(shù)據(jù)流按照各層的協(xié)議打包成以太網(wǎng)幀格式,最后通過XGMII接口將數(shù)據(jù)發(fā)送至PHY光模塊接口,完成整個(gè)發(fā)送過程。
圖1 系統(tǒng)整體設(shè)計(jì)
UDP/IP協(xié)議棧設(shè)計(jì)最主要是用來完成UDP頭部和IP頭部的封裝和解封裝。選擇UDP協(xié)議(User Datagram Protocol),是因?yàn)樗欠擎溄拥膮f(xié)議,與TCP/IP[7]處理數(shù)據(jù)包的方式相比,此方案中的數(shù)據(jù)源端和終端不建立連接,這簡(jiǎn)化了該模塊設(shè)計(jì)。攝像頭捕捉到的視頻數(shù)據(jù)經(jīng)過視頻編碼器形成二進(jìn)制數(shù)據(jù)碼,作為數(shù)據(jù)部分,當(dāng)有數(shù)據(jù)進(jìn)入U(xiǎn)DP/IP模塊,會(huì)按照順序依次將UDP/IP頭部封裝好,然后緊接著發(fā)送視頻數(shù)據(jù),將封裝好的數(shù)據(jù)發(fā)送到數(shù)據(jù)鏈路層,交給MAC控制器,完成以太網(wǎng)幀的封裝。UPD/IP協(xié)議棧結(jié)構(gòu)如圖2所示。
圖2 UPD/IP 協(xié)議棧結(jié)構(gòu)設(shè)計(jì)圖
如圖所示,其工作流程是:上層所發(fā)送的視頻數(shù)據(jù),經(jīng)由此協(xié)議棧封裝成所規(guī)定的數(shù)據(jù)幀格式,發(fā)送到MAC控制器模塊;當(dāng)從物理層接收到數(shù)據(jù)時(shí),會(huì)根據(jù)MAC和IP地址與本設(shè)備的匹配及頭部的校驗(yàn),來判斷是否正確,再對(duì)數(shù)據(jù)幀進(jìn)行解封裝操作;最后UDP/IP協(xié)議棧輸出的數(shù)據(jù)為視頻數(shù)據(jù)。整個(gè)過程可在設(shè)計(jì)上分為發(fā)送模塊和接收模塊,各個(gè)模塊功能詳述如下:
(1)發(fā)送模塊
發(fā)送配置模塊是把目的IP地址,源IP地址,目的MAC地址,源MAC地址的值輸入到該模塊,以一個(gè)字節(jié)的周期進(jìn)行數(shù)據(jù)讀取,將數(shù)據(jù)發(fā)送到幀組裝模塊;發(fā)送組裝模塊也是整個(gè)UDP/IP協(xié)議棧設(shè)計(jì)中最重要的部分,雖然發(fā)送配置模塊包含了大部分?jǐn)?shù)據(jù),但是例如IP總長(zhǎng)度、首部校驗(yàn)和數(shù)據(jù)報(bào)長(zhǎng)度,這些數(shù)據(jù)需要在組裝模塊完成,并同時(shí)產(chǎn)生控制信號(hào)、數(shù)據(jù)幀開始和結(jié)束的標(biāo)志位;配置好的數(shù)據(jù)將被發(fā)送到MAC數(shù)據(jù)接口模塊,MAC數(shù)據(jù)接口模塊會(huì)把8位數(shù)據(jù)轉(zhuǎn)換成64位數(shù)據(jù)發(fā)送到MAC控制器,同時(shí)還產(chǎn)生有效數(shù)據(jù)。數(shù)據(jù)經(jīng)過發(fā)送模塊后所要形成的幀頭存儲(chǔ)數(shù)據(jù)如表1。
(2)接收模塊
接收模塊的工作流程是,從MAC層接收數(shù)據(jù),經(jīng)MAC數(shù)據(jù)接口模塊把64位數(shù)據(jù)轉(zhuǎn)換成8位數(shù)據(jù),再通過數(shù)據(jù)解封裝模塊,把數(shù)據(jù)幀IP/UDP頭部去除,把視頻數(shù)據(jù)發(fā)送給用戶層進(jìn)行顯示。此過程需要通過對(duì)數(shù)據(jù)進(jìn)行匹配,匹配成功準(zhǔn)確無誤后才能發(fā)送數(shù)據(jù)。協(xié)議棧整體傳輸位寬為8bit,本研究中所設(shè)計(jì)的為萬兆以太網(wǎng),故此在MAC層數(shù)據(jù),所設(shè)計(jì)位寬為64位,時(shí)鐘為156.25MHz,需要另外設(shè)計(jì)一個(gè)接口緩沖模塊(MAC接口模塊),以滿足發(fā)送和接收所需要的位寬,使MAC控制器和協(xié)議棧之間實(shí)現(xiàn)鏈接。這樣處理增強(qiáng)了靈活性,整個(gè)設(shè)計(jì)是運(yùn)用硬件描述語言來設(shè)計(jì),與運(yùn)用軟件的方式相比,處理速度更快。對(duì)于UDP/IP整個(gè)發(fā)送的幀結(jié)構(gòu)及內(nèi)部所存儲(chǔ)的數(shù)據(jù),運(yùn)用Quartus II軟件IP核設(shè)計(jì)RAM存儲(chǔ)器,對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)讀寫,這樣可以節(jié)省版子的資源,也能節(jié)省占用FPGA邏輯資源。
表1 UDP/IP幀頭數(shù)據(jù)存儲(chǔ)情況
協(xié)議規(guī)定萬兆以太網(wǎng)使用的是全雙工模式[8],因此MAC層不使用千兆CSMA/CD協(xié)議半雙工模式,這樣相對(duì)來說簡(jiǎn)化了MAC控制器設(shè)計(jì)[9]。相比千兆以太網(wǎng)使用的8位數(shù)據(jù)寬、125MHz進(jìn)行傳輸,萬兆以太網(wǎng)使用了156.25MHz和64位寬進(jìn)行傳輸,這就產(chǎn)生了許多新的問題。CRC校驗(yàn)?zāi)K設(shè)計(jì)由8bit并行輸入產(chǎn)生的32bit的校驗(yàn)碼,變成由64bit并行輸入產(chǎn)生32bit校驗(yàn)碼,并且?guī)驳挠行ё止?jié)不同。由于使用的是位寬64bit,所以可以一個(gè)時(shí)鐘同時(shí)處理8個(gè)字節(jié)數(shù)據(jù)。數(shù)據(jù)幀結(jié)尾處數(shù)據(jù)含有有效數(shù)據(jù)或者校驗(yàn)的32位數(shù)據(jù),如何處理結(jié)尾處的數(shù)據(jù)以及32位數(shù)據(jù)校驗(yàn)碼的時(shí)序,使得XGMII接口設(shè)計(jì)成為本設(shè)計(jì)的關(guān)鍵。MAC控制整體設(shè)計(jì),大體分為上層接口模塊、控制器模塊、狀態(tài)機(jī)模塊、流控模塊、XGMII接口模塊這五個(gè)模塊。上層接口模塊主要是把UDP/IP協(xié)議棧8bit數(shù)據(jù)通過該接口生成64bit數(shù)據(jù)位和7bit控制位;控制模塊是判斷發(fā)送暫停幀還是數(shù)據(jù)幀,如果數(shù)據(jù)長(zhǎng)度小于規(guī)定的最小長(zhǎng)度64字節(jié),則進(jìn)行數(shù)據(jù)填充(0字節(jié)),以滿足最小的數(shù)據(jù)要求;狀態(tài)機(jī)模塊是在物理層的數(shù)據(jù)進(jìn)入其中時(shí),把整個(gè)數(shù)據(jù)添加上以太網(wǎng)幀頭部和尾部校驗(yàn)碼,此外狀態(tài)機(jī)還要負(fù)責(zé)去掉前導(dǎo)碼和幀起始定界符(SFD);流量控制模塊是執(zhí)行當(dāng)前數(shù)據(jù)傳輸?shù)牧髁靠刂?;XGMII接口模塊是把經(jīng)過其中的64bit的數(shù)據(jù)位和7bit控制位轉(zhuǎn)換產(chǎn)生32bit數(shù)據(jù)位和4bit控制位,發(fā)送到物理層,當(dāng)接收物理層數(shù)據(jù)時(shí),XGMII接口完成數(shù)據(jù)由32bit到64bit的轉(zhuǎn)換。
萬兆MAC幀控制器的位寬為64bit,所以其校驗(yàn)主要以64bit校驗(yàn)為主,設(shè)計(jì)方法有兩種[10-11]。第一種是,當(dāng)tx_status[7]有效時(shí),表示幀開始傳輸數(shù)據(jù),進(jìn)入狀態(tài)機(jī),同時(shí)進(jìn)入CRC校驗(yàn)?zāi)K,開始進(jìn)行數(shù)據(jù)校驗(yàn)。當(dāng)檢測(cè)到tx_status[6]有效時(shí),檢測(cè)tx_status[3:0]數(shù)值。不同的有效字節(jié)數(shù)有不同的校驗(yàn)?zāi)K,例如檢測(cè)到數(shù)值位4時(shí),觸發(fā)32bit校驗(yàn)?zāi)K,將結(jié)尾32位有效數(shù)據(jù)輸入32bit校驗(yàn)?zāi)K,完成最后的校驗(yàn)。方法一的校驗(yàn)過程如圖3所示。運(yùn)用此種方法,整個(gè)傳輸過程中沒有延遲情況,有效率高的優(yōu)點(diǎn),但是比第二種方法占用了FPGA芯片更多的邏輯資源。
圖3 CRC32無延遲校驗(yàn)?zāi)K
圖4所示即為方法二,它也使用了64bit校驗(yàn)?zāi)K,當(dāng)檢測(cè)到幀結(jié)尾信號(hào)時(shí),只使用8bit校驗(yàn)?zāi)K,而最后8字節(jié)數(shù)據(jù)將根據(jù)有效字節(jié)個(gè)數(shù)逐字節(jié)進(jìn)行處理。例如,當(dāng)有效字節(jié)為4時(shí),將32bit數(shù)據(jù)輸入CRC校驗(yàn)?zāi)K,每個(gè)時(shí)鐘處理一個(gè)字節(jié)數(shù)據(jù),4個(gè)時(shí)鐘過后即得到CRC校驗(yàn)碼,所得值和方法一相同。
圖4 CRC32 8時(shí)鐘延遲校驗(yàn)?zāi)K
這種方法的優(yōu)點(diǎn)是占用的邏輯資源較少,但會(huì)產(chǎn)生數(shù)據(jù)延遲,最多延遲達(dá)8個(gè)時(shí)鐘,同時(shí)為了實(shí)現(xiàn)在數(shù)據(jù)發(fā)送完畢時(shí)緊接著發(fā)送FCS,還需要增加一個(gè)緩沖模塊,才能保證整個(gè)數(shù)據(jù)發(fā)送的完整性。
本研究所使用的FPGA芯片邏輯資源足以滿足整個(gè)系統(tǒng)的設(shè)計(jì),所以綜合考慮使用第一種方法。
以太網(wǎng)幀處理分成接收數(shù)據(jù)和發(fā)送數(shù)據(jù)兩個(gè)部分。發(fā)送數(shù)據(jù)將同步字段和校驗(yàn)位添加到以太網(wǎng)幀,接收數(shù)據(jù)將物理層接收到的數(shù)據(jù)進(jìn)行分解,去除頭部校驗(yàn)部分并判斷是否滿足最小幀長(zhǎng)度要求,如果滿足,則發(fā)送數(shù)據(jù)到UDP/IP協(xié)議棧。圖5為將數(shù)據(jù)封裝成以太網(wǎng)數(shù)據(jù)幀的結(jié)構(gòu)設(shè)計(jì)。
圖5 以太網(wǎng)發(fā)送模塊
完成這些工作的主要模塊是發(fā)送狀態(tài)機(jī)和接收狀態(tài)機(jī)。發(fā)送狀態(tài)機(jī)設(shè)計(jì)的主要功能是把上層數(shù)據(jù)前端加入同步字節(jié)(前導(dǎo)碼,起始定界符)8字節(jié),由于數(shù)據(jù)位寬為64bit,所以只需要一個(gè)時(shí)鐘周期就能把8個(gè)字節(jié)數(shù)據(jù)添加到以太網(wǎng)頭部,與千兆以太網(wǎng)需要8個(gè)時(shí)鐘周期才能完成這一動(dòng)作相比,此方案節(jié)省很多時(shí)間,處理速度大有提高。但在數(shù)據(jù)幀結(jié)尾處,有效字段不定長(zhǎng),數(shù)據(jù)幀結(jié)尾處一個(gè)時(shí)鐘周期需要發(fā)送8個(gè)字節(jié)數(shù)據(jù),其中可能包括有效字節(jié)數(shù)和32位CRC校驗(yàn)數(shù)據(jù),也可能不包括,針對(duì)這一點(diǎn),將幀尾數(shù)據(jù)進(jìn)行統(tǒng)計(jì),把幀尾數(shù)據(jù)的各種情況列出兩個(gè)表。
表2所示是當(dāng)數(shù)據(jù)發(fā)送到幀尾時(shí),幀尾內(nèi)所包含的數(shù)據(jù)種類。表中IDLE、TERMINATE、CRC、data分別表示幀間隔、結(jié)束碼、校驗(yàn)碼、數(shù)據(jù)。由2表可知,不同的有效字節(jié)數(shù),發(fā)送的數(shù)據(jù)不一樣。當(dāng)有效字節(jié)為4~8時(shí)缺少結(jié)束碼和CRC32部分?jǐn)?shù)據(jù),這個(gè)狀態(tài)下,還有部分信息不完整,還需要另一個(gè)時(shí)鐘周期把未發(fā)送完成的數(shù)據(jù)發(fā)送出去。表3即是將剩余的部分發(fā)送出去,這樣才能完成一幀以太網(wǎng)數(shù)據(jù)幀的發(fā)送。由于協(xié)議規(guī)定,每一幀數(shù)據(jù)的起始數(shù)據(jù)必須要在通道next_xgmac_txd[7:0]處,設(shè)計(jì)也保證了幀的每次傳輸?shù)钠鹗嘉恢枚荚趎ext_xgmac_txd[7:0]通道的位置上。
表2 幀尾數(shù)據(jù)
表3 剩余幀尾數(shù)據(jù)
采用ALTERA公司的Cyclone IV系列EP4CE6F17C8N器件,共有6272邏輯單元,6272邏輯門,276480 RAM;使用Verilog語言編程;使用Mentor公司的ModelSim對(duì)設(shè)計(jì)進(jìn)行功能仿真。UPD/IP協(xié)議棧發(fā)送仿真波形如圖6。從圖6可以看出,ram_addr地址計(jì)數(shù)器位13和14是發(fā)送的80兩個(gè)字節(jié),整個(gè)數(shù)據(jù)在UDP/IP協(xié)議棧傳輸,添加數(shù)據(jù)幀頭數(shù)據(jù),整個(gè)過程按照表1的順序進(jìn)行數(shù)據(jù)傳輸。在傳輸過程中,豎線的位置為IP頭部校驗(yàn)和,將IP頭部數(shù)據(jù)進(jìn)行計(jì)算,兩個(gè)數(shù)值相等,與設(shè)計(jì)相符合。
圖6 UDP/IP協(xié)議棧發(fā)送仿真波形
MAC發(fā)送控制器仿真波形如圖7所示,其中next_xgmac_txd為XGMII接口發(fā)送數(shù)據(jù),tx_valid_rs為整個(gè)數(shù)據(jù)傳輸?shù)挠行?shù)據(jù),由圖可以看出當(dāng)檢測(cè)到開始幀數(shù)據(jù)時(shí),開始發(fā)送數(shù)據(jù),但是再發(fā)送數(shù)據(jù)前需要8字節(jié)幀同步信號(hào)。此處加了數(shù)據(jù)緩沖區(qū)的目的是為了緩沖一個(gè)時(shí)鐘輸入同步字段,且數(shù)據(jù)沒有丟失。對(duì)于圖7,當(dāng)檢測(cè)到數(shù)據(jù)幀結(jié)尾處時(shí),此圖的時(shí)序是4個(gè)有效字段,豎線所在位置為對(duì)結(jié)尾處數(shù)據(jù)幀的處理,分別取出CRC校驗(yàn)?zāi)K32位數(shù)據(jù)和數(shù)據(jù)幀前32位數(shù)據(jù),組成幀尾數(shù)據(jù),此狀態(tài)沒有結(jié)束碼,則進(jìn)入下一個(gè)狀態(tài)進(jìn)行結(jié)束碼的輸入,同時(shí)CRC32位校驗(yàn)碼緊跟在數(shù)據(jù)幀后面。仿真波形符合設(shè)計(jì)的預(yù)定目標(biāo)。
圖7 MAC控制器發(fā)送模塊時(shí)序
根據(jù)IEEE802.3-2005和IEEE802.3ae標(biāo)準(zhǔn),使用ALTERA公司的Cyclone IV系列EP4CE6F17C8N,系統(tǒng)地闡述了對(duì)萬兆以太網(wǎng)視頻傳輸系統(tǒng)的設(shè)計(jì),也詳細(xì)介紹了UDP/IP協(xié)議棧設(shè)計(jì)和萬兆MAC控制器設(shè)計(jì)。將傳輸層和網(wǎng)絡(luò)層合并到一個(gè)處理模塊中的思路,簡(jiǎn)化了系統(tǒng)的設(shè)計(jì),同時(shí)節(jié)省了邏輯資源。針對(duì)MAC控制器的幀尾有效字節(jié)的不同,對(duì)以太網(wǎng)幀處理模塊進(jìn)行設(shè)計(jì),并通過ModelSim對(duì)設(shè)計(jì)進(jìn)行功能仿真。由仿真結(jié)果可以看出,協(xié)議規(guī)定的標(biāo)準(zhǔn)格式得到了滿足。對(duì)并行輸入CRC校驗(yàn)?zāi)K也做了設(shè)計(jì),針對(duì)有效字節(jié)不定長(zhǎng)的問題,提出兩種解決方法。對(duì)設(shè)計(jì)模塊進(jìn)行布局布線后仿真,結(jié)果表明,整體傳輸速率可以達(dá)到10Gb/s。本研究對(duì)于攝像頭實(shí)時(shí)監(jiān)控系統(tǒng)的接收數(shù)據(jù)快速處理有著很高的應(yīng)用價(jià)值。
[1]李嘉琛,楊光.基于FPGA的視頻以太網(wǎng)傳輸[J].數(shù)字技術(shù)與應(yīng)用,2017(4):32-35.LI Jiachen,Yang Guang.Video Ethernet transmission based on FPGA[J].Digital Technology and Application,2017(4):32-35.
[2]李修堂.基于FPGA的以太網(wǎng)UDP/IP處理器的設(shè)計(jì)與驗(yàn)證[D].成都:電子科技大學(xué),2015.LI Xiutang.Design andverification of Ethernet UDP/IP processor based on FPGA[D].Chengdu:University of Electronic Science and Technology of China,2015.
[3]楊瑩.10G以太網(wǎng)MAC控制器的設(shè)計(jì)與驗(yàn)證[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2016.YANG Ying.Design and verification of 10G Ethernet MAC controller[D].Hefei:University of Science and Technology of China,2016.
[4]丁鐵夫,劉超,楊磊,等.基于千兆以太網(wǎng)的實(shí)時(shí)視頻傳輸系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(36):132-134.DING Tiefu,LIU Chao,YANG Lei,et al.Design of realtime video transmission system based on Gigabit Ethernet[J].Microcomputer Information,2008,24(36):132-134.
[5]宋國(guó)棟,程偉森,程國(guó)棟.10G以太網(wǎng)光接口及其實(shí)現(xiàn)[J].中興通訊技術(shù),2004(s1):40-43.SONG Guodong,CHENG Weisen,CHENG Guodong.10G Ethernet optical interface and its implementation[J].ZTE Technology Journal,2004(s1):40-43.
[6]段曉晨,何小剛,程永強(qiáng).實(shí)時(shí)視頻SDRAM控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].太原理工大學(xué)學(xué)報(bào),2006(S1):8-11.DUAN Xiaochen,HE Xiaogang,CHENG Yongqiang.FPGA design and implementation of real-time video SDRAM controller[J].Journal of Taiyuan University of Technology,2006(S1):8-11.
[7]MILEVA A,PANAJOTOV B.Covert channels in TCP/IP protocol stack[J].Ext.ed.Central European Journal of Computer Science,2014,4(2):45-66.
[8]張友亮,劉志軍,馬成海,等.萬兆以太網(wǎng)MAC層控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(6):77-79.ZHANG Youliang,LIU Zhijun,MA Chenghai,et al.FPGA design and implementation of 10 Gigabit Ethernet MAC layer controllers[J].Computer Engineering and applications,2012,48(6):77-79.
[9]IEEE.Media Access Control(MAC)Parameters,Physical Layers,and Management Parameters for 10 Gb/s Operation[J].IEEE Stdae,2002.
[10]彭建輝.10G以太網(wǎng)接口并行CRC校驗(yàn)的一種簡(jiǎn)化算法[J].微計(jì)算機(jī)信息,2006,22(20):213-215.PENG Jianhui.A simplified algorithm for parallel CRC check of 10G Ethernet interface[J].Microcomputer Information,2006,22(20):213-215.
[11]劉昭,蘇厲,金德鵬,等.10G以太網(wǎng)系統(tǒng)中的并行CRC編解碼器的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2004,30(4):47-50.LIU Zhao,SU Li,JIN Depeng,et al.Design of parallelCRC codec in 10G Ethernet system[J].Application of Electronic Technique,2004,30(4):47-50.