蔡玉輝
(中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng)110032)
隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展,以太網(wǎng)已在通信、控制、傳輸領(lǐng)域得到了普遍的應(yīng)用。目前對(duì)集成網(wǎng)絡(luò)功能的SoC(System on a Chip)芯片的應(yīng)用需求量也在快速增長(zhǎng)。在實(shí)際的科研與應(yīng)用中,F(xiàn)PGA驗(yàn)證被廣為采用,因其可以快速定位SoC芯片的設(shè)計(jì)缺陷,同時(shí)兼能進(jìn)行軟件程序開發(fā),進(jìn)而縮短整個(gè)項(xiàng)目的開發(fā)周期[1-2]。在此,首先介紹基于FPGA的以太網(wǎng)驗(yàn)證平臺(tái)的軟硬件架構(gòu),然后詳細(xì)闡述基于該平臺(tái)的以太網(wǎng)IP核的驗(yàn)證工作過程。
以太網(wǎng)基于TCP/IP協(xié)議[3],其參考模型如圖1所示。其中數(shù)據(jù)鏈路層和物理層由硬件實(shí)現(xiàn);應(yīng)用層、傳輸層、IP層則由軟件實(shí)現(xiàn)。數(shù)據(jù)鏈路層分為邏輯鏈路控制層LLC和媒體訪問控制層MAC。此處需要驗(yàn)證的IP核為MAC層的功能。對(duì)MAC控制器的功能驗(yàn)證采用軟硬件協(xié)調(diào)驗(yàn)證的方法[4]。該驗(yàn)證系統(tǒng)的硬件平臺(tái)及軟件平臺(tái)架構(gòu)簡(jiǎn)介如下:
圖1 TCP/IP協(xié)議參考模型
硬件平臺(tái):該以太網(wǎng)硬件平臺(tái)采用母板+子板的結(jié)構(gòu)。母板采用Xilinx公司的Kintex-7 325T FPGA,最大容量是325萬門。子板主要集成以太網(wǎng)的PHY芯片、JTAG調(diào)試接口、串口、LED、按鍵等功能。PHY芯片選用的是DAVICOM公司的DM9161芯片。子板與母板之間是通過接口FMC-HPC連接,連接結(jié)構(gòu)框圖如圖2所示。
圖2以太網(wǎng)FPGA驗(yàn)證平臺(tái)結(jié)構(gòu)框圖
軟件平臺(tái):該軟件平臺(tái)主要是基于輕量級(jí)的TCP/IP協(xié)議族——LWIP。LWIP的主要目的是減少存儲(chǔ)器利用量和代碼尺寸。LWIP更適合應(yīng)用于小的、資源有限的嵌入式系統(tǒng)。該驗(yàn)證系統(tǒng)是基于LWIP協(xié)議開發(fā)的軟件驗(yàn)證程序,測(cè)試代碼使用嵌入式C語言[5-6]編寫。
系統(tǒng)采用硬件描述語言Verilog HDL實(shí)現(xiàn)邏輯功能[7],以Xilinx Vivado 2016.4為電路開發(fā)運(yùn)行環(huán)境,以VCS為軟件仿真環(huán)境完成系統(tǒng)的功能設(shè)計(jì)。網(wǎng)絡(luò)通信的鏈路一端為Kintex-7 325T FPGA,另一端為PC機(jī)。PC端使用WireShark軟件抓取鏈路上收發(fā)的以太網(wǎng)數(shù)據(jù)。
以太網(wǎng)IP核的功能驗(yàn)證按照以下步驟進(jìn)行調(diào)試驗(yàn)證:
(1)寄存器驗(yàn)證
首先對(duì)MAC控制器所有寄存器進(jìn)行復(fù)位值、讀寫寄存器的驗(yàn)證。
(2)MDIO接口控制
MDIO是MAC控制器和PHY之間的管理接口。該接口是通過時(shí)鐘MDC和數(shù)據(jù)MDIO兩根信號(hào)線來訪問PHY寄存器。驗(yàn)證第一步首先是要保證該接口時(shí)序正確,通過該接口完成對(duì)子板上PHY芯片的控制。通過MDIO接口訪問PHY芯片的總線接口時(shí)序如圖3所示。
圖3 MDIO接口時(shí)序
(3)數(shù)據(jù)鏈路建立
當(dāng)完成PHY寄存器的初始化后,F(xiàn)PGA端與PC端進(jìn)行自協(xié)商,確定通信模式及通信速率,由于設(shè)計(jì)的網(wǎng)卡是10M/100M以太網(wǎng),因此自協(xié)商結(jié)果一般為100MHz、全雙工的工作模式。
(4)RMII接口通信
精簡(jiǎn)獨(dú)立介質(zhì)接口RMII相比于獨(dú)立介質(zhì)接口MII,減少了以太網(wǎng)模塊和外部PHY之間的連接引腳數(shù)。以太網(wǎng)的MAC與PHY通過RMII接口連接,如圖4所示。編寫不含網(wǎng)絡(luò)協(xié)議的軟件測(cè)試程序,其目的是測(cè)試MAC層收發(fā)幀的時(shí)序是否正確。RMII接口的以太網(wǎng)時(shí)鐘信號(hào)頻率為50MHz,數(shù)據(jù)幀通信的波形如圖5所示。
圖4 RMII接口
圖5 RMII接口通信波形
(5)PING程序調(diào)試
在完成MAC幀收發(fā)調(diào)試后,基本可證明MAC IP核硬件平臺(tái)功能正確,基于此,編寫基于LWIP協(xié)議的PING程序,此程序基于ICMP(Internet Control Message Protocol,因特網(wǎng)控制報(bào)文協(xié)議),通過ICMP發(fā)送請(qǐng)求和回送應(yīng)答來驗(yàn)證整個(gè)網(wǎng)絡(luò)的連接性。
(6)UDP收發(fā)測(cè)試[8]
完成IP層測(cè)試后,可證明MAC控制器的功能及硬件板卡的設(shè)計(jì)基本正確?;诖?,開發(fā)UDP的測(cè)試程序,完成傳輸層數(shù)據(jù)的收發(fā)測(cè)試。PC機(jī)使用周立功的TCP&UDP測(cè)試工具,其運(yùn)行結(jié)果如圖6所示。
圖6 UDP測(cè)試結(jié)果界面
(7)典型應(yīng)用協(xié)議調(diào)試
在完成以上所有測(cè)試工作后,編寫基于Telnet、Http、FTP等協(xié)議的應(yīng)用層的程序,最終完成典型的應(yīng)用協(xié)議的測(cè)試。
在網(wǎng)絡(luò)技術(shù)高速發(fā)展和物聯(lián)網(wǎng)興起的背景下,研究了以太網(wǎng)IP核基于FPGA的驗(yàn)證工作,基于該平臺(tái),完成了對(duì)以太網(wǎng)MAC控制器的功能驗(yàn)證,同時(shí)進(jìn)行了軟件程序開發(fā),大大縮短了項(xiàng)目開發(fā)周期。