圖1所示即為本系統(tǒng)的總體結(jié)構(gòu),除了使用一塊DDR2 SDRAM芯片之外,網(wǎng)絡(luò)模型中物理層的功能由一塊PHY芯片來完成。目前一般PHY芯片均能兼容10Mbit·s-1、100Mbit·s-1、1 000 Mbit·s-13種速率的以太網(wǎng)傳輸,并向上層提供多種接口,如MII、GMII、RGMII和TBI接口等,對于上位機(jī)一側(cè)則直接是普通的RJ45網(wǎng)口插槽。物理層接收數(shù)據(jù)鏈路層的并行數(shù)據(jù),并將其轉(zhuǎn)換為原始的比特流;同時(shí)也將原始比特流轉(zhuǎn)化成并行數(shù)據(jù),提交給數(shù)據(jù)鏈路層。
2 FPGA模塊功能
FPGA模塊通過響應(yīng)上位機(jī)的指令,完成數(shù)據(jù)采集、打包、傳輸、丟包重傳等工作。所有工作的基礎(chǔ)是MAC子層、網(wǎng)絡(luò)層、傳輸層等OSI參考模型各層協(xié)議的可靠實(shí)現(xiàn),每一層都按照標(biāo)準(zhǔn)接口向上一層提供特定服務(wù),而把如何實(shí)現(xiàn)這些服務(wù)的細(xì)節(jié)對上一層加以屏蔽。
圖2顯示了系統(tǒng)FPGA模塊的具體結(jié)構(gòu),以及各個(gè)子模塊之間的關(guān)系。為縮短設(shè)計(jì)周期,提高設(shè)計(jì)質(zhì)量,在模塊中分別調(diào)用了Altera公司現(xiàn)有的以太網(wǎng)控制器IP核和DDR2控制器IP核資源。
2.1 DDR2讀寫控制
若不考慮網(wǎng)絡(luò)中丟包的情況,數(shù)據(jù)一邊采集,一邊打包向上位機(jī)發(fā)送,是不需要外部存儲(chǔ)器來緩存的。但是在實(shí)際測試中發(fā)現(xiàn),目前普通配置的PC機(jī)無法承受千兆以太網(wǎng)的快速傳輸能力,丟包很常見,尤其是增加到多個(gè)通道時(shí),設(shè)備向上位機(jī)的輸出能力加大,丟包率也立即隨之升高。所以,使用一片DDR2 SDRAM緩存各通道的數(shù)據(jù)是必要的。