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