基于PM3388和FPGA的網(wǎng)絡(luò)接口的研究設(shè)計(jì)
3 硬件設(shè)計(jì)與實(shí)現(xiàn)
經(jīng)過對(duì)十接口千兆以太網(wǎng)線路接口卡功能和性能需求進(jìn)行認(rèn)真分析,按照功能清晰、接口簡(jiǎn)單、實(shí)現(xiàn)容易的原則,設(shè)計(jì)了其實(shí)現(xiàn)方案,并按照設(shè)計(jì)方案對(duì)千兆以太網(wǎng)線路接口卡進(jìn)行了子模塊劃分,共分為光電轉(zhuǎn)換子模塊、MAC層處理子模塊、輸入處理子模塊、輸出處理子模塊、輸入IP地址表子模塊、輸出IP地址表子模塊和協(xié)議報(bào)文緩存子模塊等七個(gè)子模塊。千兆線路接口卡各子模塊和外部接口關(guān)系如圖2所示。
圖 2 十接口千兆以太網(wǎng)線路接口卡模塊結(jié)構(gòu)圖
其中MAC層處理子模塊是千兆線路接口卡設(shè)計(jì)的核心,選用PMC-Sierra公司的PM3388芯片為MAC層處理芯片, PM3388芯片是目前市場(chǎng)上唯一支持十接口的千兆以太網(wǎng)控制器,其功能特性如下:
- 十路千兆以太網(wǎng)控制器(同時(shí)完成PHY層和MAC層功能);
- 通過內(nèi)部十個(gè)SERDES接口直接與光電轉(zhuǎn)換模塊相連。每個(gè)SERDES接口兼容IEEE 802.3-2000 PMA(Physical Medium Attachment)物理層規(guī)范;
- 從網(wǎng)絡(luò)上接收8B/10B格式碼流,完成數(shù)據(jù)及時(shí)鐘恢復(fù);
- 每個(gè)接口提供多播地址過濾及8個(gè)單播地址過濾;
- 提供標(biāo)準(zhǔn)的IEEE 802.3 以太網(wǎng)幀格式完整性檢驗(yàn),并具有過濾功能;
- 內(nèi)部提供224K字節(jié)接收FIFO和64K發(fā)送FIFO,可在十路接口上靈活配置;
- 提供SATURN標(biāo)準(zhǔn)的PL4(POS-PHY Level 4)標(biāo)準(zhǔn)16位LVDS總線接口,速率可達(dá)700Mbps;
- 提供標(biāo)準(zhǔn)IEEE 1149.1 JTAG測(cè)試端口;
- 提供微處理器接口;
- 提供線路側(cè)環(huán)回和系統(tǒng)側(cè)環(huán)回的系統(tǒng)級(jí)調(diào)試功能;
- 提供豐富的配置及統(tǒng)計(jì)寄存器。
PM3388工作流程包括接收處理和發(fā)送處理兩部分。1.接收通路:PM3388從光電轉(zhuǎn)換子模塊接收串行差分電信號(hào),經(jīng)過串/并轉(zhuǎn)換、8B/10B解碼后,進(jìn)行以太網(wǎng)幀完整性檢驗(yàn)和地址過濾,
為了保證PL4接口達(dá)到十路1Gbps的速率,PM3388的參考時(shí)鐘引腳接160MHz時(shí)鐘晶振,輸入輸出接口的采樣時(shí)鐘通過將該時(shí)鐘倍頻獲得320MHz時(shí)鐘,輸入輸出數(shù)據(jù)分別在時(shí)鐘雙沿采樣,可以獲得640Mbps的數(shù)據(jù)數(shù)率,總帶寬達(dá)10.24Gbps,可以滿足0丟包率性能對(duì)帶寬的要求。
此外,輸入處理FPGA是千兆以太網(wǎng)線路接口卡模塊設(shè)計(jì)的重點(diǎn)之一,主要的功能是將各種標(biāo)準(zhǔn)的MAC幀數(shù)據(jù)格式轉(zhuǎn)換為網(wǎng)絡(luò)層統(tǒng)一的數(shù)據(jù)格式,為網(wǎng)絡(luò)層處理屏蔽掉底層物理接口。
輸入處理FPGA采用Altera公司Stratix GX系列的EP1SGX25F芯片,該芯片具有25660個(gè)邏輯單元,16個(gè)高速收發(fā)器通道,39個(gè)源同步IO和總數(shù)為1944576比特的RAM,可以滿足實(shí)現(xiàn)輸出處理功能對(duì)資源的要求。
輸入處理子模塊主要完成輸入處理和配置統(tǒng)計(jì)兩大功能:第一、接收MAC層處理子模塊發(fā)送過來的數(shù)據(jù)片,完成MAC幀重組和十路數(shù)據(jù)合路處理,再根據(jù)MAC幀封裝的三層協(xié)議類型實(shí)現(xiàn)數(shù)據(jù)包的分類處理,按照不同的處理要求把數(shù)據(jù)包分別送B接口、F接口或者同時(shí)送兩個(gè)接口。送往B口的數(shù)據(jù)包經(jīng)過MAC幀格式拆封和B口格式封裝后輸出到轉(zhuǎn)發(fā)模塊,送往F口的數(shù)據(jù)經(jīng)過數(shù)據(jù)寬度和時(shí)鐘頻率的變換后輸出到協(xié)議FIFO。第二、線路接口卡上電初始化時(shí),輸入FPGA通過板級(jí)處理機(jī)獲取本線路接口卡所在的機(jī)架號(hào)和端口號(hào)等信息,并把這些信息插入到送往轉(zhuǎn)發(fā)處理模塊的數(shù)據(jù)包的B口格式字中。輸入處理FPGA還要實(shí)現(xiàn)大量的統(tǒng)計(jì)功能,統(tǒng)計(jì)項(xiàng)包括每個(gè)接口接收到的總幀數(shù)、錯(cuò)誤幀數(shù)、丟棄幀數(shù)、IPv4單組播包數(shù)、IPv6單組播包數(shù)、MPLS單播包數(shù)、送往B口包數(shù)和送往協(xié)議FIFO包數(shù)等,并根據(jù)命令把統(tǒng)計(jì)信息送往板級(jí)處理機(jī)。
合成孔徑雷達(dá)相關(guān)文章:合成孔徑雷達(dá)原理
評(píng)論