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