一種基于SoPC的千兆以太網接口卡設計
發(fā)送單元負責將待發(fā)送的數據按照一定時序發(fā)送到MAC核,再通過GTX輸出到數據鏈路中??蛻舳税l(fā)送時序如圖4所示。
本文引用地址:http://www.ex-cimer.com/article/249045.htm
客戶端發(fā)送過程如下:
(1)當客戶端需要發(fā)送數據時,首先將第一個字節(jié)送到數據線(TXD),同時將數據有效信號(TXDVLD)置高;
(2)當EMAC收到第一個字節(jié)后,返回一個應答信號(TXACK);
(3)客戶端收到應答信號后,將剩余數據按照字節(jié)發(fā)送,在數據發(fā)送完成之前,TXDLVD信號一直為高。
接收單元負責根據客戶端接收時序接收來自于MAC的數據。客戶端接收時序如圖5所示。
客戶端接收過程如下:
(1)當EMAC有數據發(fā)送到客戶端時,接收數據信號(RXD)和數據有效信號(RXDVLD)同時有效;
(2)接收單元根據RXD和RXDVLD接收來自EMAC的數據;
(3)當數據接收完成后,如果接收數據正確信號(RXGOODFRAME)有效,表示該幀數據正確,則將數據提交。如果數據錯誤信號(RXBADFRA ME)有效,表示該幀數據錯誤,則將數據丟棄。
2.5 軟件設計
在設計中,軟件負責完成系統(tǒng)的運行、設備的控制、系統(tǒng)各部分功能實現、以太網的TCP/IP協(xié)議的實現等功能。使用Xilinx提供的EDK下集成的工具SDK,使用C語言進行編程。
EDK提供第三方支持庫TRECK,它使用一種簡化的TCP/IP協(xié)議,并向用戶提供上層的API函數,實現了一種高效的、便于與SOPC實現的TCP /IP協(xié)議。
3 仿真與驗證
本論文采用Xilinx Virtex-5 FPGA芯片對千兆以太網接口板進行設計和實現,并采用Modelsim6.5d進行仿真驗證,采用ISE12.1進行綜合、布局布線、生成bit文件。
將生成的bit文件下載到自主設計的板卡中,并開發(fā)測試用例進行測試、驗證。實際測試結果表明:基于SoPC的千兆以太網接口板系統(tǒng)功能正確,傳輸速率達到了線速。
4 結束語
本文研究并設計了一種基于SoPC的千兆以太網接口卡,重點對其組成、工作流程、EMAC、時鐘管理、用戶邏輯設計和軟件設計等關鍵技術進行了描述,并開發(fā)測試用例進行測試驗證。經嚴格測試驗證表明,該千兆以太網接口板功能完全符合系統(tǒng)要求。
本文的研究對基于SoPC實現自主化的千兆以太網產品具有一定的工程參考價值。
評論